Wireshark  4.3.0
The Wireshark network protocol analyzer
tap-rtp-analysis.h
Go to the documentation of this file.
1 
19 #ifndef __TAP_RTP_ANALYSIS_H__
20 #define __TAP_RTP_ANALYSIS_H__
21 
22 #include <epan/address.h>
23 #include <epan/packet_info.h>
24 
30 #ifdef __cplusplus
31 extern "C" {
32 #endif /* __cplusplus */
33 
34 /****************************************************************************/
35 /* structure that holds the information about the forward and reversed direction */
36 typedef struct _bw_history_item {
37  double time;
38  guint32 bytes;
40 
41 #define BUFF_BW 300
42 
43 typedef struct _tap_rtp_stat_t {
44  gboolean first_packet;
45  /* use (flags & STAT_FLAG_FIRST) instead */
46  /* all of the following fields will be initialized after
47  * rtppacket_analyse has been called
48  */
49  guint32 flags; /* see STAT_FLAG-defines below */
50  guint16 seq_num;
51  guint32 timestamp;
52  guint32 seq_timestamp;
53  guint32 first_timestamp;
54  double bandwidth;
55  bw_history_item bw_history[BUFF_BW];
56  guint16 bw_start_index;
57  guint16 bw_index;
58  guint32 total_bytes;
59  guint32 clock_rate;
60  double delta;
61  double jitter;
62  double diff;
63  double skew;
64  double sumt;
65  double sumTS;
66  double sumt2;
67  double sumtTS;
68  double time;
69  double start_time;
70  double lastnominaltime;
71  double lastarrivaltime;
72  double min_delta;
73  double max_delta;
74  double mean_delta;
75  double min_jitter;
76  double max_jitter;
77  double max_skew;
78  double mean_jitter;
79  guint32 max_nr;
80  guint16 start_seq_nr;
81  guint16 stop_seq_nr;
82  guint32 total_nr;
83  guint32 sequence;
84  gboolean under;
85  gint seq_cycles;
86  guint16 pt;
87  int reg_pt;
88  guint32 first_packet_num;
89  guint last_payload_len;
91 
92 typedef struct _tap_rtp_save_data_t {
93  guint32 timestamp;
94  unsigned int payload_type;
95  size_t payload_len;
97 
98 #define PT_UNDEFINED -1
99 
100 /* status flags for the flags parameter in tap_rtp_stat_t */
101 #define STAT_FLAG_FIRST 0x001
102 #define STAT_FLAG_MARKER 0x002
103 #define STAT_FLAG_WRONG_SEQ 0x004
104 #define STAT_FLAG_PT_CHANGE 0x008
105 #define STAT_FLAG_PT_CN 0x010
106 #define STAT_FLAG_FOLLOW_PT_CN 0x020
107 #define STAT_FLAG_REG_PT_CHANGE 0x040
108 #define STAT_FLAG_WRONG_TIMESTAMP 0x080
109 #define STAT_FLAG_PT_T_EVENT 0x100
110 #define STAT_FLAG_DUP_PKT 0x200
111 
112 /* forward */
113 struct _rtp_info;
114 
115 /* function for analysing an RTP packet. Called from rtp_analysis and rtp_streams */
116 extern void rtppacket_analyse(tap_rtp_stat_t *statinfo,
117  const packet_info *pinfo,
118  const struct _rtp_info *rtpinfo);
119 
120 #ifdef __cplusplus
121 }
122 #endif /* __cplusplus */
123 
124 #endif /* __TAP_RTP_ANALYSIS_H__ */
Definition: tap-rtp-analysis.h:36
Definition: packet_info.h:44
Definition: packet-rtp.h:29
Definition: tap-rtp-analysis.h:92
Definition: tap-rtp-analysis.h:43
double time
Definition: tap-rtp-analysis.h:68
double start_time
Definition: tap-rtp-analysis.h:69
gboolean first_packet
Definition: tap-rtp-analysis.h:44