1 /* Do not modify this file. Changes will be overwritten. */
2 /* Generated automatically by the ASN.1 to Wireshark dissector compiler */
3 /* packet-logotypecertextn.c */
4 /* asn2wrs.py -b -p logotypecertextn -c ./logotypecertextn.cnf -s ./packet-logotypecertextn-template -D . -O ../.. LogotypeCertExtn.asn */
5
6 /* Input file: packet-logotypecertextn-template.c */
7
8 #line 1 "./asn1/logotypecertextn/packet-logotypecertextn-template.c"
9 /* packet-logotypecertextn.c
10 * Routines for RFC3709 Logotype Certificate Extensions packet dissection
11 * Ronnie Sahlberg 2004
12 *
13 * Wireshark - Network traffic analyzer
setup() -> io::Result<()>14 * By Gerald Combs <gerald@wireshark.org>
15 * Copyright 1998 Gerald Combs
16 *
17 * SPDX-License-Identifier: GPL-2.0-or-later
18 */
19
20 #include "config.h"
21
22 #include <epan/packet.h>
23
24 #include "packet-ber.h"
25 #include "packet-logotypecertextn.h"
26 #include "packet-x509af.h"
27
28 #define PNAME "Logotype Certificate Extensions"
29 #define PSNAME "LogotypeCertExtn"
30 #define PFNAME "logotypecertextn"
31
32 void proto_register_logotypecertextn(void);
33 void proto_reg_handoff_logotypecertextn(void);
34
35 /* Initialize the protocol and registered fields */
36 static int proto_logotypecertextn = -1;
37
38 /*--- Included file: packet-logotypecertextn-hf.c ---*/
39 #line 1 "./asn1/logotypecertextn/packet-logotypecertextn-hf.c"
40 static int hf_logotypecertextn_LogotypeExtn_PDU = -1; /* LogotypeExtn */
41 static int hf_logotypecertextn_communityLogos = -1; /* SEQUENCE_OF_LogotypeInfo */
42 static int hf_logotypecertextn_communityLogos_item = -1; /* LogotypeInfo */
43 static int hf_logotypecertextn_issuerLogo = -1; /* LogotypeInfo */
44 static int hf_logotypecertextn_subjectLogo = -1; /* LogotypeInfo */
45 static int hf_logotypecertextn_otherLogos = -1; /* SEQUENCE_OF_OtherLogotypeInfo */
46 static int hf_logotypecertextn_otherLogos_item = -1; /* OtherLogotypeInfo */
47 static int hf_logotypecertextn_direct = -1; /* LogotypeData */
48 static int hf_logotypecertextn_indirect = -1; /* LogotypeReference */
49 static int hf_logotypecertextn_image = -1; /* SEQUENCE_OF_LogotypeImage */
50 static int hf_logotypecertextn_image_item = -1; /* LogotypeImage */
51 static int hf_logotypecertextn_audio = -1; /* SEQUENCE_OF_LogotypeAudio */
52 static int hf_logotypecertextn_audio_item = -1; /* LogotypeAudio */
53 static int hf_logotypecertextn_imageDetails = -1; /* LogotypeDetails */
54 static int hf_logotypecertextn_imageInfo = -1; /* LogotypeImageInfo */
55 static int hf_logotypecertextn_audioDetails = -1; /* LogotypeDetails */
56 static int hf_logotypecertextn_audioInfo = -1; /* LogotypeAudioInfo */
write(&mut self, buf: &[u8]) -> io::Result<usize>57 static int hf_logotypecertextn_mediaType = -1; /* IA5String */
58 static int hf_logotypecertextn_logotypeHash = -1; /* SEQUENCE_SIZE_1_MAX_OF_HashAlgAndValue */
59 static int hf_logotypecertextn_logotypeHash_item = -1; /* HashAlgAndValue */
60 static int hf_logotypecertextn_logotypeURI = -1; /* T_logotypeURI */
61 static int hf_logotypecertextn_logotypeURI_item = -1; /* T_logotypeURI_item */
62 static int hf_logotypecertextn_type = -1; /* LogotypeImageType */
63 static int hf_logotypecertextn_fileSize = -1; /* INTEGER */
64 static int hf_logotypecertextn_xSize = -1; /* INTEGER */
65 static int hf_logotypecertextn_ySize = -1; /* INTEGER */
66 static int hf_logotypecertextn_resolution = -1; /* LogotypeImageResolution */
67 static int hf_logotypecertextn_language = -1; /* IA5String */
68 static int hf_logotypecertextn_numBits = -1; /* INTEGER */
69 static int hf_logotypecertextn_tableSize = -1; /* INTEGER */
70 static int hf_logotypecertextn_playTime = -1; /* INTEGER */
71 static int hf_logotypecertextn_channels = -1; /* INTEGER */
72 static int hf_logotypecertextn_sampleRate = -1; /* INTEGER */
73 static int hf_logotypecertextn_logotypeType = -1; /* OBJECT_IDENTIFIER */
74 static int hf_logotypecertextn_info = -1; /* LogotypeInfo */
75 static int hf_logotypecertextn_refStructHash = -1; /* SEQUENCE_SIZE_1_MAX_OF_HashAlgAndValue */
76 static int hf_logotypecertextn_refStructHash_item = -1; /* HashAlgAndValue */
77 static int hf_logotypecertextn_refStructURI = -1; /* T_refStructURI */
78 static int hf_logotypecertextn_refStructURI_item = -1; /* T_refStructURI_item */
79 static int hf_logotypecertextn_hashAlg = -1; /* AlgorithmIdentifier */
flush(&mut self) -> io::Result<()>80 static int hf_logotypecertextn_hashValue = -1; /* OCTET_STRING */
81
82 /*--- End of included file: packet-logotypecertextn-hf.c ---*/
83 #line 30 "./asn1/logotypecertextn/packet-logotypecertextn-template.c"
84
85 /* Initialize the subtree pointers */
86
87 /*--- Included file: packet-logotypecertextn-ett.c ---*/
new() -> io::Result<Output>88 #line 1 "./asn1/logotypecertextn/packet-logotypecertextn-ett.c"
89 static gint ett_logotypecertextn_LogotypeExtn = -1;
90 static gint ett_logotypecertextn_SEQUENCE_OF_LogotypeInfo = -1;
91 static gint ett_logotypecertextn_SEQUENCE_OF_OtherLogotypeInfo = -1;
92 static gint ett_logotypecertextn_LogotypeInfo = -1;
93 static gint ett_logotypecertextn_LogotypeData = -1;
94 static gint ett_logotypecertextn_SEQUENCE_OF_LogotypeImage = -1;
95 static gint ett_logotypecertextn_SEQUENCE_OF_LogotypeAudio = -1;
96 static gint ett_logotypecertextn_LogotypeImage = -1;
97 static gint ett_logotypecertextn_LogotypeAudio = -1;
98 static gint ett_logotypecertextn_LogotypeDetails = -1;
99 static gint ett_logotypecertextn_SEQUENCE_SIZE_1_MAX_OF_HashAlgAndValue = -1;
100 static gint ett_logotypecertextn_T_logotypeURI = -1;
101 static gint ett_logotypecertextn_LogotypeImageInfo = -1;
102 static gint ett_logotypecertextn_LogotypeImageResolution = -1;
103 static gint ett_logotypecertextn_LogotypeAudioInfo = -1;
set_as_std(self) -> io::Result<()>104 static gint ett_logotypecertextn_OtherLogotypeInfo = -1;
105 static gint ett_logotypecertextn_LogotypeReference = -1;
106 static gint ett_logotypecertextn_T_refStructURI = -1;
107 static gint ett_logotypecertextn_HashAlgAndValue = -1;
108
109 /*--- End of included file: packet-logotypecertextn-ett.c ---*/
110 #line 33 "./asn1/logotypecertextn/packet-logotypecertextn-template.c"
111
112
113
114 /*--- Included file: packet-logotypecertextn-fn.c ---*/
115 #line 1 "./asn1/logotypecertextn/packet-logotypecertextn-fn.c"
116
117
118 static int
119 dissect_logotypecertextn_IA5String(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
120 offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_IA5String,
121 actx, tree, tvb, offset, hf_index,
122 NULL);
123
124 return offset;
125 }
126
127
128
129 static int
130 dissect_logotypecertextn_OCTET_STRING(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
get_stdout() -> io::Result<HANDLE>131 offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
132 NULL);
133
134 return offset;
135 }
136
137
138 static const ber_sequence_t HashAlgAndValue_sequence[] = {
139 { &hf_logotypecertextn_hashAlg, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x509af_AlgorithmIdentifier },
140 { &hf_logotypecertextn_hashValue, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_logotypecertextn_OCTET_STRING },
141 { NULL, 0, 0, 0, NULL }
142 };
143
144 static int
145 dissect_logotypecertextn_HashAlgAndValue(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
146 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
147 HashAlgAndValue_sequence, hf_index, ett_logotypecertextn_HashAlgAndValue);
148
149 return offset;
150 }
151
152
153 static const ber_sequence_t SEQUENCE_SIZE_1_MAX_OF_HashAlgAndValue_sequence_of[1] = {
154 { &hf_logotypecertextn_logotypeHash_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_logotypecertextn_HashAlgAndValue },
155 };
156
157 static int
158 dissect_logotypecertextn_SEQUENCE_SIZE_1_MAX_OF_HashAlgAndValue(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
159 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
160 SEQUENCE_SIZE_1_MAX_OF_HashAlgAndValue_sequence_of, hf_index, ett_logotypecertextn_SEQUENCE_SIZE_1_MAX_OF_HashAlgAndValue);
setup() -> io::Result<()>161
162 return offset;
163 }
164
165
166
167 static int
168 dissect_logotypecertextn_T_logotypeURI_item(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
169 offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_IA5String,
170 actx, tree, tvb, offset, hf_index,
171 NULL);
172
173 #line 16 "./asn1/logotypecertextn/logotypecertextn.cnf"
174 proto_item_set_url(actx->created_item);
175
176
177 return offset;
178 }
179
180
181 static const ber_sequence_t T_logotypeURI_sequence_of[1] = {
182 { &hf_logotypecertextn_logotypeURI_item, BER_CLASS_UNI, BER_UNI_TAG_IA5String, BER_FLAGS_NOOWNTAG, dissect_logotypecertextn_T_logotypeURI_item },
183 };
184
185 static int
186 dissect_logotypecertextn_T_logotypeURI(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
187 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
188 T_logotypeURI_sequence_of, hf_index, ett_logotypecertextn_T_logotypeURI);
189
cleanup() -> io::Result<()>190 return offset;
191 }
192
193
194 static const ber_sequence_t LogotypeDetails_sequence[] = {
195 { &hf_logotypecertextn_mediaType, BER_CLASS_UNI, BER_UNI_TAG_IA5String, BER_FLAGS_NOOWNTAG, dissect_logotypecertextn_IA5String },
196 { &hf_logotypecertextn_logotypeHash, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_logotypecertextn_SEQUENCE_SIZE_1_MAX_OF_HashAlgAndValue },
197 { &hf_logotypecertextn_logotypeURI, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_logotypecertextn_T_logotypeURI },
198 { NULL, 0, 0, 0, NULL }
199 };
200
201 static int
202 dissect_logotypecertextn_LogotypeDetails(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
203 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
204 LogotypeDetails_sequence, hf_index, ett_logotypecertextn_LogotypeDetails);
raise_ctrl_c()205
206 return offset;
207 }
208
209
print(fmt: ::std::fmt::Arguments)210 static const value_string logotypecertextn_LogotypeImageType_vals[] = {
211 { 0, "grayScale" },
212 { 1, "color" },
213 { 0, NULL }
214 };
215
216
217 static int
218 dissect_logotypecertextn_LogotypeImageType(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
219 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
220 NULL);
221
222 return offset;
test_set_handler()223 }
224
225
226
227 static int
228 dissect_logotypecertextn_INTEGER(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
229 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
230 NULL);
231
232 return offset;
233 }
234
235
236 static const value_string logotypecertextn_LogotypeImageResolution_vals[] = {
237 { 1, "numBits" },
238 { 2, "tableSize" },
239 { 0, NULL }
240 };
241
242 static const ber_choice_t LogotypeImageResolution_choice[] = {
243 { 1, &hf_logotypecertextn_numBits, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_logotypecertextn_INTEGER },
244 { 2, &hf_logotypecertextn_tableSize, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_logotypecertextn_INTEGER },
245 { 0, NULL, 0, 0, 0, NULL }
246 };
247
248 static int
249 dissect_logotypecertextn_LogotypeImageResolution(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
250 offset = dissect_ber_choice(actx, tree, tvb, offset,
251 LogotypeImageResolution_choice, hf_index, ett_logotypecertextn_LogotypeImageResolution,
252 NULL);
253
254 return offset;
255 }
256
main()257
258 static const ber_sequence_t LogotypeImageInfo_sequence[] = {
259 { &hf_logotypecertextn_type, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_logotypecertextn_LogotypeImageType },
260 { &hf_logotypecertextn_fileSize, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_logotypecertextn_INTEGER },
261 { &hf_logotypecertextn_xSize, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_logotypecertextn_INTEGER },
262 { &hf_logotypecertextn_ySize, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_logotypecertextn_INTEGER },
263 { &hf_logotypecertextn_resolution, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_logotypecertextn_LogotypeImageResolution },
264 { &hf_logotypecertextn_language, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_logotypecertextn_IA5String },
265 { NULL, 0, 0, 0, NULL }
266 };
267
268 static int
269 dissect_logotypecertextn_LogotypeImageInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
270 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
271 LogotypeImageInfo_sequence, hf_index, ett_logotypecertextn_LogotypeImageInfo);
272
273 return offset;
274 }
275
276
277 static const ber_sequence_t LogotypeImage_sequence[] = {
278 { &hf_logotypecertextn_imageDetails, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_logotypecertextn_LogotypeDetails },
279 { &hf_logotypecertextn_imageInfo, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_logotypecertextn_LogotypeImageInfo },
280 { NULL, 0, 0, 0, NULL }
281 };
282
283 static int
284 dissect_logotypecertextn_LogotypeImage(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
285 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
286 LogotypeImage_sequence, hf_index, ett_logotypecertextn_LogotypeImage);
287
288 return offset;
289 }
290
291
292 static const ber_sequence_t SEQUENCE_OF_LogotypeImage_sequence_of[1] = {
293 { &hf_logotypecertextn_image_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_logotypecertextn_LogotypeImage },
294 };
295
296 static int
297 dissect_logotypecertextn_SEQUENCE_OF_LogotypeImage(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
298 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
299 SEQUENCE_OF_LogotypeImage_sequence_of, hf_index, ett_logotypecertextn_SEQUENCE_OF_LogotypeImage);
300
301 return offset;
302 }
303
304
305 static const ber_sequence_t LogotypeAudioInfo_sequence[] = {
306 { &hf_logotypecertextn_fileSize, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_logotypecertextn_INTEGER },
307 { &hf_logotypecertextn_playTime, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_logotypecertextn_INTEGER },
308 { &hf_logotypecertextn_channels, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_logotypecertextn_INTEGER },
309 { &hf_logotypecertextn_sampleRate, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_logotypecertextn_INTEGER },
310 { &hf_logotypecertextn_language, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_logotypecertextn_IA5String },
311 { NULL, 0, 0, 0, NULL }
312 };
313
314 static int
315 dissect_logotypecertextn_LogotypeAudioInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
316 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
317 LogotypeAudioInfo_sequence, hf_index, ett_logotypecertextn_LogotypeAudioInfo);
318
319 return offset;
320 }
321
322
323 static const ber_sequence_t LogotypeAudio_sequence[] = {
324 { &hf_logotypecertextn_audioDetails, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_logotypecertextn_LogotypeDetails },
325 { &hf_logotypecertextn_audioInfo, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_logotypecertextn_LogotypeAudioInfo },
326 { NULL, 0, 0, 0, NULL }
327 };
328
329 static int
330 dissect_logotypecertextn_LogotypeAudio(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
331 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
332 LogotypeAudio_sequence, hf_index, ett_logotypecertextn_LogotypeAudio);
333
334 return offset;
335 }
336
337
338 static const ber_sequence_t SEQUENCE_OF_LogotypeAudio_sequence_of[1] = {
339 { &hf_logotypecertextn_audio_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_logotypecertextn_LogotypeAudio },
340 };
341
342 static int
343 dissect_logotypecertextn_SEQUENCE_OF_LogotypeAudio(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
344 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
345 SEQUENCE_OF_LogotypeAudio_sequence_of, hf_index, ett_logotypecertextn_SEQUENCE_OF_LogotypeAudio);
346
347 return offset;
348 }
349
350
351 static const ber_sequence_t LogotypeData_sequence[] = {
352 { &hf_logotypecertextn_image, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_logotypecertextn_SEQUENCE_OF_LogotypeImage },
353 { &hf_logotypecertextn_audio, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_logotypecertextn_SEQUENCE_OF_LogotypeAudio },
354 { NULL, 0, 0, 0, NULL }
355 };
356
357 static int
358 dissect_logotypecertextn_LogotypeData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
359 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
360 LogotypeData_sequence, hf_index, ett_logotypecertextn_LogotypeData);
361
362 return offset;
363 }
364
365
366
367 static int
368 dissect_logotypecertextn_T_refStructURI_item(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
369 offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_IA5String,
370 actx, tree, tvb, offset, hf_index,
371 NULL);
372
373 #line 19 "./asn1/logotypecertextn/logotypecertextn.cnf"
374 proto_item_set_url(actx->created_item);
375
376
377 return offset;
378 }
379
380
381 static const ber_sequence_t T_refStructURI_sequence_of[1] = {
382 { &hf_logotypecertextn_refStructURI_item, BER_CLASS_UNI, BER_UNI_TAG_IA5String, BER_FLAGS_NOOWNTAG, dissect_logotypecertextn_T_refStructURI_item },
383 };
384
385 static int
386 dissect_logotypecertextn_T_refStructURI(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
387 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
388 T_refStructURI_sequence_of, hf_index, ett_logotypecertextn_T_refStructURI);
389
390 return offset;
391 }
392
393
394 static const ber_sequence_t LogotypeReference_sequence[] = {
395 { &hf_logotypecertextn_refStructHash, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_logotypecertextn_SEQUENCE_SIZE_1_MAX_OF_HashAlgAndValue },
396 { &hf_logotypecertextn_refStructURI, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_logotypecertextn_T_refStructURI },
397 { NULL, 0, 0, 0, NULL }
398 };
399
400 static int
401 dissect_logotypecertextn_LogotypeReference(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
402 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
403 LogotypeReference_sequence, hf_index, ett_logotypecertextn_LogotypeReference);
404
405 return offset;
406 }
407
408
409 static const value_string logotypecertextn_LogotypeInfo_vals[] = {
410 { 0, "direct" },
411 { 1, "indirect" },
412 { 0, NULL }
413 };
414
415 static const ber_choice_t LogotypeInfo_choice[] = {
416 { 0, &hf_logotypecertextn_direct, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_logotypecertextn_LogotypeData },
417 { 1, &hf_logotypecertextn_indirect, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_logotypecertextn_LogotypeReference },
418 { 0, NULL, 0, 0, 0, NULL }
419 };
420
421 static int
422 dissect_logotypecertextn_LogotypeInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
423 offset = dissect_ber_choice(actx, tree, tvb, offset,
424 LogotypeInfo_choice, hf_index, ett_logotypecertextn_LogotypeInfo,
425 NULL);
426
427 return offset;
428 }
429
430
431 static const ber_sequence_t SEQUENCE_OF_LogotypeInfo_sequence_of[1] = {
432 { &hf_logotypecertextn_communityLogos_item, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_logotypecertextn_LogotypeInfo },
433 };
434
435 static int
436 dissect_logotypecertextn_SEQUENCE_OF_LogotypeInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
437 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
438 SEQUENCE_OF_LogotypeInfo_sequence_of, hf_index, ett_logotypecertextn_SEQUENCE_OF_LogotypeInfo);
439
440 return offset;
441 }
442
443
444
445 static int
446 dissect_logotypecertextn_OBJECT_IDENTIFIER(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
447 offset = dissect_ber_object_identifier(implicit_tag, actx, tree, tvb, offset, hf_index, NULL);
448
449 return offset;
450 }
451
452
453 static const ber_sequence_t OtherLogotypeInfo_sequence[] = {
454 { &hf_logotypecertextn_logotypeType, BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_logotypecertextn_OBJECT_IDENTIFIER },
455 { &hf_logotypecertextn_info, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_logotypecertextn_LogotypeInfo },
456 { NULL, 0, 0, 0, NULL }
457 };
458
459 static int
460 dissect_logotypecertextn_OtherLogotypeInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
461 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
462 OtherLogotypeInfo_sequence, hf_index, ett_logotypecertextn_OtherLogotypeInfo);
463
464 return offset;
465 }
466
467
468 static const ber_sequence_t SEQUENCE_OF_OtherLogotypeInfo_sequence_of[1] = {
469 { &hf_logotypecertextn_otherLogos_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_logotypecertextn_OtherLogotypeInfo },
470 };
471
472 static int
473 dissect_logotypecertextn_SEQUENCE_OF_OtherLogotypeInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
474 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
475 SEQUENCE_OF_OtherLogotypeInfo_sequence_of, hf_index, ett_logotypecertextn_SEQUENCE_OF_OtherLogotypeInfo);
476
477 return offset;
478 }
479
480
481 static const ber_sequence_t LogotypeExtn_sequence[] = {
482 { &hf_logotypecertextn_communityLogos, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL, dissect_logotypecertextn_SEQUENCE_OF_LogotypeInfo },
483 { &hf_logotypecertextn_issuerLogo, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_logotypecertextn_LogotypeInfo },
484 { &hf_logotypecertextn_subjectLogo, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_logotypecertextn_LogotypeInfo },
485 { &hf_logotypecertextn_otherLogos, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL, dissect_logotypecertextn_SEQUENCE_OF_OtherLogotypeInfo },
486 { NULL, 0, 0, 0, NULL }
487 };
488
489 static int
490 dissect_logotypecertextn_LogotypeExtn(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
491 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
492 LogotypeExtn_sequence, hf_index, ett_logotypecertextn_LogotypeExtn);
493
494 return offset;
495 }
496
497 /*--- PDUs ---*/
498
499 static int dissect_LogotypeExtn_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
500 int offset = 0;
501 asn1_ctx_t asn1_ctx;
502 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
503 offset = dissect_logotypecertextn_LogotypeExtn(FALSE, tvb, offset, &asn1_ctx, tree, hf_logotypecertextn_LogotypeExtn_PDU);
504 return offset;
505 }
506
507
508 /*--- End of included file: packet-logotypecertextn-fn.c ---*/
509 #line 36 "./asn1/logotypecertextn/packet-logotypecertextn-template.c"
510
511
512 /*--- proto_register_logotypecertextn ----------------------------------------------*/
513 void proto_register_logotypecertextn(void) {
514
515 /* List of fields */
516 static hf_register_info hf[] = {
517
518 /*--- Included file: packet-logotypecertextn-hfarr.c ---*/
519 #line 1 "./asn1/logotypecertextn/packet-logotypecertextn-hfarr.c"
520 { &hf_logotypecertextn_LogotypeExtn_PDU,
521 { "LogotypeExtn", "logotypecertextn.LogotypeExtn_element",
522 FT_NONE, BASE_NONE, NULL, 0,
523 NULL, HFILL }},
524 { &hf_logotypecertextn_communityLogos,
525 { "communityLogos", "logotypecertextn.communityLogos",
526 FT_UINT32, BASE_DEC, NULL, 0,
527 "SEQUENCE_OF_LogotypeInfo", HFILL }},
528 { &hf_logotypecertextn_communityLogos_item,
529 { "LogotypeInfo", "logotypecertextn.LogotypeInfo",
530 FT_UINT32, BASE_DEC, VALS(logotypecertextn_LogotypeInfo_vals), 0,
531 NULL, HFILL }},
532 { &hf_logotypecertextn_issuerLogo,
533 { "issuerLogo", "logotypecertextn.issuerLogo",
534 FT_UINT32, BASE_DEC, VALS(logotypecertextn_LogotypeInfo_vals), 0,
535 "LogotypeInfo", HFILL }},
536 { &hf_logotypecertextn_subjectLogo,
537 { "subjectLogo", "logotypecertextn.subjectLogo",
538 FT_UINT32, BASE_DEC, VALS(logotypecertextn_LogotypeInfo_vals), 0,
539 "LogotypeInfo", HFILL }},
540 { &hf_logotypecertextn_otherLogos,
541 { "otherLogos", "logotypecertextn.otherLogos",
542 FT_UINT32, BASE_DEC, NULL, 0,
543 "SEQUENCE_OF_OtherLogotypeInfo", HFILL }},
544 { &hf_logotypecertextn_otherLogos_item,
545 { "OtherLogotypeInfo", "logotypecertextn.OtherLogotypeInfo_element",
546 FT_NONE, BASE_NONE, NULL, 0,
547 NULL, HFILL }},
548 { &hf_logotypecertextn_direct,
549 { "direct", "logotypecertextn.direct_element",
550 FT_NONE, BASE_NONE, NULL, 0,
551 "LogotypeData", HFILL }},
552 { &hf_logotypecertextn_indirect,
553 { "indirect", "logotypecertextn.indirect_element",
554 FT_NONE, BASE_NONE, NULL, 0,
555 "LogotypeReference", HFILL }},
556 { &hf_logotypecertextn_image,
557 { "image", "logotypecertextn.image",
558 FT_UINT32, BASE_DEC, NULL, 0,
559 "SEQUENCE_OF_LogotypeImage", HFILL }},
560 { &hf_logotypecertextn_image_item,
561 { "LogotypeImage", "logotypecertextn.LogotypeImage_element",
562 FT_NONE, BASE_NONE, NULL, 0,
563 NULL, HFILL }},
564 { &hf_logotypecertextn_audio,
565 { "audio", "logotypecertextn.audio",
566 FT_UINT32, BASE_DEC, NULL, 0,
567 "SEQUENCE_OF_LogotypeAudio", HFILL }},
568 { &hf_logotypecertextn_audio_item,
569 { "LogotypeAudio", "logotypecertextn.LogotypeAudio_element",
570 FT_NONE, BASE_NONE, NULL, 0,
571 NULL, HFILL }},
572 { &hf_logotypecertextn_imageDetails,
573 { "imageDetails", "logotypecertextn.imageDetails_element",
574 FT_NONE, BASE_NONE, NULL, 0,
575 "LogotypeDetails", HFILL }},
576 { &hf_logotypecertextn_imageInfo,
577 { "imageInfo", "logotypecertextn.imageInfo_element",
578 FT_NONE, BASE_NONE, NULL, 0,
579 "LogotypeImageInfo", HFILL }},
580 { &hf_logotypecertextn_audioDetails,
581 { "audioDetails", "logotypecertextn.audioDetails_element",
582 FT_NONE, BASE_NONE, NULL, 0,
583 "LogotypeDetails", HFILL }},
584 { &hf_logotypecertextn_audioInfo,
585 { "audioInfo", "logotypecertextn.audioInfo_element",
586 FT_NONE, BASE_NONE, NULL, 0,
587 "LogotypeAudioInfo", HFILL }},
588 { &hf_logotypecertextn_mediaType,
589 { "mediaType", "logotypecertextn.mediaType",
590 FT_STRING, BASE_NONE, NULL, 0,
591 "IA5String", HFILL }},
592 { &hf_logotypecertextn_logotypeHash,
593 { "logotypeHash", "logotypecertextn.logotypeHash",
594 FT_UINT32, BASE_DEC, NULL, 0,
595 "SEQUENCE_SIZE_1_MAX_OF_HashAlgAndValue", HFILL }},
596 { &hf_logotypecertextn_logotypeHash_item,
597 { "HashAlgAndValue", "logotypecertextn.HashAlgAndValue_element",
598 FT_NONE, BASE_NONE, NULL, 0,
599 NULL, HFILL }},
600 { &hf_logotypecertextn_logotypeURI,
601 { "logotypeURI", "logotypecertextn.logotypeURI",
602 FT_UINT32, BASE_DEC, NULL, 0,
603 NULL, HFILL }},
604 { &hf_logotypecertextn_logotypeURI_item,
605 { "logotypeURI item", "logotypecertextn.logotypeURI_item",
606 FT_STRING, BASE_NONE, NULL, 0,
607 NULL, HFILL }},
608 { &hf_logotypecertextn_type,
609 { "type", "logotypecertextn.type",
610 FT_INT32, BASE_DEC, VALS(logotypecertextn_LogotypeImageType_vals), 0,
611 "LogotypeImageType", HFILL }},
612 { &hf_logotypecertextn_fileSize,
613 { "fileSize", "logotypecertextn.fileSize",
614 FT_INT32, BASE_DEC, NULL, 0,
615 "INTEGER", HFILL }},
616 { &hf_logotypecertextn_xSize,
617 { "xSize", "logotypecertextn.xSize",
618 FT_INT32, BASE_DEC, NULL, 0,
619 "INTEGER", HFILL }},
620 { &hf_logotypecertextn_ySize,
621 { "ySize", "logotypecertextn.ySize",
622 FT_INT32, BASE_DEC, NULL, 0,
623 "INTEGER", HFILL }},
624 { &hf_logotypecertextn_resolution,
625 { "resolution", "logotypecertextn.resolution",
626 FT_UINT32, BASE_DEC, VALS(logotypecertextn_LogotypeImageResolution_vals), 0,
627 "LogotypeImageResolution", HFILL }},
628 { &hf_logotypecertextn_language,
629 { "language", "logotypecertextn.language",
630 FT_STRING, BASE_NONE, NULL, 0,
631 "IA5String", HFILL }},
632 { &hf_logotypecertextn_numBits,
633 { "numBits", "logotypecertextn.numBits",
634 FT_INT32, BASE_DEC, NULL, 0,
635 "INTEGER", HFILL }},
636 { &hf_logotypecertextn_tableSize,
637 { "tableSize", "logotypecertextn.tableSize",
638 FT_INT32, BASE_DEC, NULL, 0,
639 "INTEGER", HFILL }},
640 { &hf_logotypecertextn_playTime,
641 { "playTime", "logotypecertextn.playTime",
642 FT_INT32, BASE_DEC, NULL, 0,
643 "INTEGER", HFILL }},
644 { &hf_logotypecertextn_channels,
645 { "channels", "logotypecertextn.channels",
646 FT_INT32, BASE_DEC, NULL, 0,
647 "INTEGER", HFILL }},
648 { &hf_logotypecertextn_sampleRate,
649 { "sampleRate", "logotypecertextn.sampleRate",
650 FT_INT32, BASE_DEC, NULL, 0,
651 "INTEGER", HFILL }},
652 { &hf_logotypecertextn_logotypeType,
653 { "logotypeType", "logotypecertextn.logotypeType",
654 FT_OID, BASE_NONE, NULL, 0,
655 "OBJECT_IDENTIFIER", HFILL }},
656 { &hf_logotypecertextn_info,
657 { "info", "logotypecertextn.info",
658 FT_UINT32, BASE_DEC, VALS(logotypecertextn_LogotypeInfo_vals), 0,
659 "LogotypeInfo", HFILL }},
660 { &hf_logotypecertextn_refStructHash,
661 { "refStructHash", "logotypecertextn.refStructHash",
662 FT_UINT32, BASE_DEC, NULL, 0,
663 "SEQUENCE_SIZE_1_MAX_OF_HashAlgAndValue", HFILL }},
664 { &hf_logotypecertextn_refStructHash_item,
665 { "HashAlgAndValue", "logotypecertextn.HashAlgAndValue_element",
666 FT_NONE, BASE_NONE, NULL, 0,
667 NULL, HFILL }},
668 { &hf_logotypecertextn_refStructURI,
669 { "refStructURI", "logotypecertextn.refStructURI",
670 FT_UINT32, BASE_DEC, NULL, 0,
671 NULL, HFILL }},
672 { &hf_logotypecertextn_refStructURI_item,
673 { "refStructURI item", "logotypecertextn.refStructURI_item",
674 FT_STRING, BASE_NONE, NULL, 0,
675 NULL, HFILL }},
676 { &hf_logotypecertextn_hashAlg,
677 { "hashAlg", "logotypecertextn.hashAlg_element",
678 FT_NONE, BASE_NONE, NULL, 0,
679 "AlgorithmIdentifier", HFILL }},
680 { &hf_logotypecertextn_hashValue,
681 { "hashValue", "logotypecertextn.hashValue",
682 FT_BYTES, BASE_NONE, NULL, 0,
683 "OCTET_STRING", HFILL }},
684
685 /*--- End of included file: packet-logotypecertextn-hfarr.c ---*/
686 #line 44 "./asn1/logotypecertextn/packet-logotypecertextn-template.c"
687 };
688
689 /* List of subtrees */
690 static gint *ett[] = {
691
692 /*--- Included file: packet-logotypecertextn-ettarr.c ---*/
693 #line 1 "./asn1/logotypecertextn/packet-logotypecertextn-ettarr.c"
694 &ett_logotypecertextn_LogotypeExtn,
695 &ett_logotypecertextn_SEQUENCE_OF_LogotypeInfo,
696 &ett_logotypecertextn_SEQUENCE_OF_OtherLogotypeInfo,
697 &ett_logotypecertextn_LogotypeInfo,
698 &ett_logotypecertextn_LogotypeData,
699 &ett_logotypecertextn_SEQUENCE_OF_LogotypeImage,
700 &ett_logotypecertextn_SEQUENCE_OF_LogotypeAudio,
701 &ett_logotypecertextn_LogotypeImage,
702 &ett_logotypecertextn_LogotypeAudio,
703 &ett_logotypecertextn_LogotypeDetails,
704 &ett_logotypecertextn_SEQUENCE_SIZE_1_MAX_OF_HashAlgAndValue,
705 &ett_logotypecertextn_T_logotypeURI,
706 &ett_logotypecertextn_LogotypeImageInfo,
707 &ett_logotypecertextn_LogotypeImageResolution,
708 &ett_logotypecertextn_LogotypeAudioInfo,
709 &ett_logotypecertextn_OtherLogotypeInfo,
710 &ett_logotypecertextn_LogotypeReference,
711 &ett_logotypecertextn_T_refStructURI,
712 &ett_logotypecertextn_HashAlgAndValue,
713
714 /*--- End of included file: packet-logotypecertextn-ettarr.c ---*/
715 #line 49 "./asn1/logotypecertextn/packet-logotypecertextn-template.c"
716 };
717
718 /* Register protocol */
719 proto_logotypecertextn = proto_register_protocol(PNAME, PSNAME, PFNAME);
720
721 /* Register fields and subtrees */
722 proto_register_field_array(proto_logotypecertextn, hf, array_length(hf));
723 proto_register_subtree_array(ett, array_length(ett));
724
725 }
726
727
728 /*--- proto_reg_handoff_logotypecertextn -------------------------------------------*/
729 void proto_reg_handoff_logotypecertextn(void) {
730
731 /*--- Included file: packet-logotypecertextn-dis-tab.c ---*/
732 #line 1 "./asn1/logotypecertextn/packet-logotypecertextn-dis-tab.c"
733 register_ber_oid_dissector("1.3.6.1.5.5.7.1.12", dissect_LogotypeExtn_PDU, proto_logotypecertextn, "id-pe-logotype");
734 register_ber_oid_dissector("1.3.6.1.5.5.7.20.1", dissect_LogotypeExtn_PDU, proto_logotypecertextn, "id-pe-logo-loyalty");
735 register_ber_oid_dissector("1.3.6.1.5.5.7.20.2", dissect_LogotypeExtn_PDU, proto_logotypecertextn, "id-pe-logo-background");
736
737
738 /*--- End of included file: packet-logotypecertextn-dis-tab.c ---*/
739 #line 64 "./asn1/logotypecertextn/packet-logotypecertextn-template.c"
740 }
741
742