Wireshark  4.3.0
The Wireshark network protocol analyzer
packet-rmt-common.h
1 /* packet-rmt-common.h
2  * Reliable Multicast Transport (RMT)
3  * Common RMT function definitions
4  * Copyright 2005, Stefano Pettini <spettini@users.sourceforge.net>
5  *
6  * Wireshark - Network traffic analyzer
7  * By Gerald Combs <gerald@wireshark.org>
8  * Copyright 1998 Gerald Combs
9  *
10  * SPDX-License-Identifier: GPL-2.0-or-later
11  */
12 
13 #ifndef __PACKET_RMT_COMMON__
14 #define __PACKET_RMT_COMMON__
15 
16 #include <epan/params.h>
17 
18 /* LCT preferences */
19 
20 #define LCT_PREFS_EXT_192_NONE 0
21 #define LCT_PREFS_EXT_192_FLUTE 1
22 
23 #define LCT_PREFS_EXT_193_NONE 0
24 #define LCT_PREFS_EXT_193_FLUTE 1
25 
26 #define LCT_ATSC3_MODE_DISABLED 0
27 #define LCT_ATSC3_MODE_AUTO 1
28 #define LCT_ATSC3_MODE_FORCE 2
29 
30 extern const enum_val_t enum_lct_ext_192[];
31 extern const enum_val_t enum_lct_ext_193[];
32 extern const enum_val_t enum_lct_atsc3_mode[];
33 
34 /* String tables external references */
35 extern const value_string string_fec_encoding_id[];
36 
37 
38 /* Structures to exchange data between RMT dissectors */
39 /* ============================= */
40 typedef struct lct_data_exchange
41 {
42  /* inputs */
43  gint ext_192;
44  gint ext_193;
45  gboolean is_atsc3;
46 
47  /* outputs */
48  guint8 codepoint;
49  gboolean is_flute;
50  gboolean is_sp; /* is Source Packet? Source Packet Indicator is defined in RFC 5775 */
51 
53 
54 typedef struct fec_data_exchange
55 {
56  /* inputs */
57  guint8 encoding_id;
58 
60 
61 
62 /* Common RMT exported functions */
63 /* ============================= */
64 extern int lct_ext_decode(proto_tree *tree, tvbuff_t *tvb, packet_info *pinfo, guint offset, guint offset_max, lct_data_exchange_t *data_exchange,
65  int hfext, int ettext);
66 extern void fec_decode_ext_fti(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, int offset, guint8 encoding_id);
67 
68 extern double rmt_decode_send_rate(guint16 send_rate );
69 
70 #endif
71 
72 /*
73  * Editor modelines - https://www.wireshark.org/tools/modelines.html
74  *
75  * Local variables:
76  * c-basic-offset: 8
77  * tab-width: 8
78  * indent-tabs-mode: t
79  * End:
80  *
81  * vi: set shiftwidth=8 tabstop=8 noexpandtab:
82  * :indentSize=8:tabSize=8:noTabs=false:
83  */
Definition: packet_info.h:44
Definition: proto.h:904
Definition: value_string.h:26
Definition: params.h:23
Definition: packet-rmt-common.h:55
Definition: packet-rmt-common.h:41
Definition: tvbuff-int.h:35