Wireshark 4.5.0
The Wireshark network protocol analyzer
Loading...
Searching...
No Matches
Classes | Typedefs | Enumerations | Functions
tap-rtp-common.h File Reference
#include "ui/rtp_stream.h"

Go to the source code of this file.

Classes

struct  _tap_rtp_save_info_t
 
struct  _rtpstream_info_calc
 

Typedefs

typedef struct _tap_rtp_save_info_t tap_rtp_save_info_t
 
typedef struct _rtpstream_info_calc rtpstream_info_calc_t
 

Enumerations

enum  tap_rtp_error_type_t {
  TAP_RTP_NO_ERROR , TAP_RTP_WRONG_CODEC , TAP_RTP_WRONG_LENGTH , TAP_RTP_PADDING_ERROR ,
  TAP_RTP_SHORT_FRAME , TAP_RTP_FILE_OPEN_ERROR , TAP_RTP_FILE_WRITE_ERROR , TAP_RTP_NO_DATA
}
 

Functions

void rtpstream_info_init (rtpstream_info_t *info)
 
rtpstream_info_trtpstream_info_malloc_and_init (void)
 
void rtpstream_info_copy_deep (rtpstream_info_t *dest, const rtpstream_info_t *src)
 
rtpstream_info_trtpstream_info_malloc_and_copy_deep (const rtpstream_info_t *src)
 
void rtpstream_info_free_data (rtpstream_info_t *info)
 
void rtpstream_info_free_all (rtpstream_info_t *info)
 
int rtpstream_info_cmp (const void *aa, const void *bb)
 
bool rtpstream_info_is_reverse (const rtpstream_info_t *stream_a, rtpstream_info_t *stream_b)
 
bool rtpstream_is_payload_used (const rtpstream_info_t *stream_info, const uint8_t payload_type)
 
void register_tap_listener_rtpstream (rtpstream_tapinfo_t *tapinfo, const char *fstring, rtpstream_tap_error_cb tap_error)
 
void remove_tap_listener_rtpstream (rtpstream_tapinfo_t *tapinfo)
 
void rtpstream_reset (rtpstream_tapinfo_t *tapinfo)
 
void rtpstream_reset_cb (void *)
 
void rtp_write_header (rtpstream_info_t *, FILE *)
 
tap_packet_status rtpstream_packet_cb (void *, packet_info *, epan_dissect_t *, const void *, tap_flags_t)
 
void rtpstream_info_calculate (const rtpstream_info_t *strinfo, rtpstream_info_calc_t *calc)
 
void rtpstream_info_calc_free (rtpstream_info_calc_t *calc)
 
void rtpstream_info_analyse_init (rtpstream_info_t *stream_info, const packet_info *pinfo, const struct _rtp_info *rtpinfo)
 
void rtpstream_info_analyse_process (rtpstream_info_t *stream_info, const packet_info *pinfo, const struct _rtp_info *rtpinfo)
 
unsigned rtpstream_to_hash (const void *key)
 
void rtpstream_info_multihash_insert (GHashTable *multihash, rtpstream_info_t *new_stream_info)
 
rtpstream_info_trtpstream_info_multihash_lookup (GHashTable *multihash, rtpstream_id_t *stream_id)
 
void rtpstream_info_multihash_destroy_value (void *key, void *value, void *user_data)
 

Detailed Description

RTP streams handler functions used by tshark and wireshark

Copyright 2008, Ericsson AB By Balint Reczey balin.nosp@m.t.re.nosp@m.czey@.nosp@m.eric.nosp@m.sson..nosp@m.com

most functions are copied from ui/gtk/rtp_stream.c and ui/gtk/rtp_analisys.c Copyright 2003, Alcatel Business Systems By Lars Ruoff lars..nosp@m.ruof.nosp@m.f@gmx.nosp@m..net

Wireshark - Network traffic analyzer By Gerald Combs geral.nosp@m.d@wi.nosp@m.resha.nosp@m.rk.o.nosp@m.rg Copyright 1998 Gerald Combs

SPDX-License-Identifier: GPL-2.0-or-later

Function Documentation

◆ register_tap_listener_rtpstream()

void register_tap_listener_rtpstream ( rtpstream_tapinfo_t tapinfo,
const char *  fstring,
rtpstream_tap_error_cb  tap_error 
)

Registers the rtp_streams tap listener (if not already done). From that point on, the RTP streams list will be updated with every redissection. This function is also the entry point for the initialization routine of the tap system. So whenever rtp_stream.c is added to the list of WIRESHARK_TAP_SRCs, the tap will be registered on startup. If not, it will be registered on demand by the rtp_streams and rtp_analysis functions that need it.

◆ remove_tap_listener_rtpstream()

void remove_tap_listener_rtpstream ( rtpstream_tapinfo_t tapinfo)

Removes the rtp_streams tap listener (if not already done) From that point on, the RTP streams list won't be updated any more.

◆ rtpstream_info_analyse_init()

void rtpstream_info_analyse_init ( rtpstream_info_t stream_info,
const packet_info pinfo,
const struct _rtp_info rtpinfo 
)

Init analyse counters in rtpstream_info_t from pinfo

◆ rtpstream_info_analyse_process()

void rtpstream_info_analyse_process ( rtpstream_info_t stream_info,
const packet_info pinfo,
const struct _rtp_info rtpinfo 
)

Update analyse counters in rtpstream_info_t from pinfo

◆ rtpstream_info_calc_free()

void rtpstream_info_calc_free ( rtpstream_info_calc_t calc)

Free rtpstream_info_calc_t structure (internal items)

◆ rtpstream_info_calculate()

void rtpstream_info_calculate ( const rtpstream_info_t strinfo,
rtpstream_info_calc_t calc 
)

Evaluate rtpstream_info_t calculations

◆ rtpstream_info_cmp()

int rtpstream_info_cmp ( const void *  aa,
const void *  bb 
)

Compares two RTP stream infos (GCompareFunc style comparison function)

Returns
-1,0,1

◆ rtpstream_info_init()

void rtpstream_info_init ( rtpstream_info_t info)

Functions for init and destroy of rtpstream_info_t and attached structures

◆ rtpstream_info_is_reverse()

bool rtpstream_info_is_reverse ( const rtpstream_info_t stream_a,
rtpstream_info_t stream_b 
)

Compares the endpoints of two RTP streams.

Returns
true if the

◆ rtpstream_info_multihash_destroy_value()

void rtpstream_info_multihash_destroy_value ( void *  key,
void *  value,
void *  user_data 
)

GHFunc () for destroying GList in multihash

◆ rtpstream_info_multihash_insert()

void rtpstream_info_multihash_insert ( GHashTable *  multihash,
rtpstream_info_t new_stream_info 
)

Insert new_stream_info into multihash

◆ rtpstream_info_multihash_lookup()

rtpstream_info_t * rtpstream_info_multihash_lookup ( GHashTable *  multihash,
rtpstream_id_t stream_id 
)

Lookup stream_info in stream_info multihash

◆ rtpstream_is_payload_used()

bool rtpstream_is_payload_used ( const rtpstream_info_t stream_info,
const uint8_t  payload_type 
)

Checks if payload_type is used in rtpstream.

Returns
true if is used

◆ rtpstream_reset()

void rtpstream_reset ( rtpstream_tapinfo_t tapinfo)

Cleans up memory of rtp streams tap.

◆ rtpstream_to_hash()

unsigned rtpstream_to_hash ( const void *  key)

Get hash key for rtpstream_info_t