Wireshark  4.3.0
The Wireshark network protocol analyzer
packet-h245.h
1 /* Do not modify this file. Changes will be overwritten. */
2 /* Generated automatically by the ASN.1 to Wireshark dissector compiler */
3 /* packet-h245.h */
4 /* asn2wrs.py -q -L -p h245 -c ./h245.cnf -s ./packet-h245-template -D . -O ../.. MULTIMEDIA-SYSTEM-CONTROL.asn */
5 
6 /* packet-h245.h
7  * Routines for h245 packet dissection
8  * Copyright 2005, Anders Broman <anders.broman@ericsson.com>
9  *
10  * Wireshark - Network traffic analyzer
11  * By Gerald Combs <gerald@wireshark.org>
12  * Copyright 1998 Gerald Combs
13  *
14  * SPDX-License-Identifier: GPL-2.0-or-later
15  */
16 
17 #ifndef PACKET_H245_H
18 #define PACKET_H245_H
19 
20 #include "ws_symbol_export.h"
21 
22 typedef enum _h245_msg_type {
23  H245_TermCapSet,
24  H245_TermCapSetAck,
25  H245_TermCapSetRjc,
26  H245_TermCapSetRls,
27  H245_OpenLogChn,
28  H245_OpenLogChnCnf,
29  H245_OpenLogChnAck,
30  H245_OpenLogChnRjc,
31  H245_CloseLogChn,
32  H245_CloseLogChnAck,
33  H245_MastSlvDet,
34  H245_MastSlvDetAck,
35  H245_MastSlvDetRjc,
36  H245_MastSlvDetRls,
37  H245_OTHER
38 } h245_msg_type;
39 
40 typedef struct _h245_packet_info {
41  h245_msg_type msg_type; /* type of message */
42  gchar frame_label[50]; /* the Frame label used by graph_analysis, what is an abbreviation of cinfo */
43  gchar comment[50]; /* the Frame Comment used by graph_analysis, what is a message desc */
45 
46 /*
47  * h223 LC info
48  */
49 
50 typedef enum {
51  al_nonStandard,
52  al1Framed,
53  al1NotFramed,
54  al2WithoutSequenceNumbers,
55  al2WithSequenceNumbers,
56  al3,
57  /*...*/
58  /* al?M: unimplemented annex C adaptation layers */
59  al1M,
60  al2M,
61  al3M
62 } h223_al_type;
63 
64 typedef struct {
65  guint8 control_field_octets;
66  guint32 send_buffer_size;
68 
69 typedef struct {
70  h223_al_type al_type;
71  gpointer al_params;
72  gboolean segmentable;
73  dissector_handle_t subdissector;
75 
76 typedef enum {
77  H245_nonStandardDataType,
78  H245_nullData,
79  H245_videoData,
80  H245_audioData,
81  H245_data,
82  H245_encryptionData,
83  /*...,*/
84  H245_h235Control,
85  H245_h235Media,
86  H245_multiplexedStream,
87  H245_redundancyEncoding,
88  H245_multiplePayloadStream,
89  H245_fec
90 } h245_lc_data_type_enum;
91 
92 typedef struct {
93  h245_lc_data_type_enum data_type;
94  gpointer params;
96 
97 /*
98  * h223 MUX info
99  */
100 
101 typedef struct _h223_mux_element h223_mux_element;
103  h223_mux_element* sublist; /* if NULL, use vc instead */
104  guint16 vc;
105  guint16 repeat_count; /* 0 == untilClosingFlag */
106  h223_mux_element* next;
107 };
108 
109 #include <epan/packet_info.h>
110 #include "packet-per.h"
111 
112 typedef void (*h223_set_mc_handle_t) ( packet_info* pinfo, guint8 mc, h223_mux_element* me);
113 WS_DLL_PUBLIC void h245_set_h223_set_mc_handle( h223_set_mc_handle_t handle );
114 
115 typedef void (*h223_add_lc_handle_t) ( packet_info* pinfo, guint16 lc, h223_lc_params* params);
116 WS_DLL_PUBLIC void h245_set_h223_add_lc_handle( h223_add_lc_handle_t handle );
117 
118 extern const value_string h245_Capability_vals[];
119 extern const value_string DataProtocolCapability_vals[];
120 extern const value_string h245_TransportAddress_vals[];
121 extern const value_string h245_UnicastAddress_vals[];
122 extern const value_string h245_MulticastAddress_vals[];
123 int dissect_h245_Capability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
124 WS_DLL_PUBLIC int dissect_h245_H223Capability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
125 int dissect_h245_QOSCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
126 int dissect_h245_DataProtocolCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
127 int dissect_h245_T38FaxProfile(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
128 int dissect_h245_OpenLogicalChannel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
129 int dissect_h245_H223LogicalChannelParameters(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
130 int dissect_h245_TransportAddress(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
131 int dissect_h245_UnicastAddress(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
132 int dissect_h245_MulticastAddress(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
133 void dissect_h245_FastStart_OLC(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, char *codec_str);
134 
135 
136 #endif /* PACKET_H245_H */
137 
138 
Definition: asn1.h:65
Definition: packet-h245.h:102
Definition: packet-h245.h:40
Definition: packet_info.h:44
Definition: proto.h:904
Definition: value_string.h:26
Definition: packet.c:763
Definition: packet-h245.h:64
Definition: packet-h245.h:69
Definition: packet-h245.h:92
Definition: tvbuff-int.h:35