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 /* ../../tools/asn2wrs.py -b -p logotypecertextn -c ./logotypecertextn.cnf -s ./packet-logotypecertextn-template -D . -O ../../epan/dissectors LogotypeCertExtn.asn */
6 /* Input file: packet-logotypecertextn-template.c */
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
15 * Wireshark - Network traffic analyzer
16 * By Gerald Combs <gerald@wireshark.org>
17 * Copyright 1998 Gerald Combs
19 * This program is free software; you can redistribute it and/or
20 * modify it under the terms of the GNU General Public License
21 * as published by the Free Software Foundation; either version 2
22 * of the License, or (at your option) any later version.
24 * This program is distributed in the hope that it will be useful,
25 * but WITHOUT ANY WARRANTY; without even the implied warranty of
26 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
27 * GNU General Public License for more details.
29 * You should have received a copy of the GNU General Public License
30 * along with this program; if not, write to the Free Software
31 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
37 #include <epan/packet.h>
39 #include "packet-ber.h"
40 #include "packet-logotypecertextn.h"
41 #include "packet-x509af.h"
43 #define PNAME "Logotype Certificate Extensions"
44 #define PSNAME "LogotypeCertExtn"
45 #define PFNAME "logotypecertextn"
47 /* Initialize the protocol and registered fields */
48 static int proto_logotypecertextn
= -1;
50 /*--- Included file: packet-logotypecertextn-hf.c ---*/
51 #line 1 "../../asn1/logotypecertextn/packet-logotypecertextn-hf.c"
52 static int hf_logotypecertextn_LogotypeExtn_PDU
= -1; /* LogotypeExtn */
53 static int hf_logotypecertextn_communityLogos
= -1; /* SEQUENCE_OF_LogotypeInfo */
54 static int hf_logotypecertextn_communityLogos_item
= -1; /* LogotypeInfo */
55 static int hf_logotypecertextn_issuerLogo
= -1; /* LogotypeInfo */
56 static int hf_logotypecertextn_subjectLogo
= -1; /* LogotypeInfo */
57 static int hf_logotypecertextn_otherLogos
= -1; /* SEQUENCE_OF_OtherLogotypeInfo */
58 static int hf_logotypecertextn_otherLogos_item
= -1; /* OtherLogotypeInfo */
59 static int hf_logotypecertextn_direct
= -1; /* LogotypeData */
60 static int hf_logotypecertextn_indirect
= -1; /* LogotypeReference */
61 static int hf_logotypecertextn_image
= -1; /* SEQUENCE_OF_LogotypeImage */
62 static int hf_logotypecertextn_image_item
= -1; /* LogotypeImage */
63 static int hf_logotypecertextn_audio
= -1; /* SEQUENCE_OF_LogotypeAudio */
64 static int hf_logotypecertextn_audio_item
= -1; /* LogotypeAudio */
65 static int hf_logotypecertextn_imageDetails
= -1; /* LogotypeDetails */
66 static int hf_logotypecertextn_imageInfo
= -1; /* LogotypeImageInfo */
67 static int hf_logotypecertextn_audioDetails
= -1; /* LogotypeDetails */
68 static int hf_logotypecertextn_audioInfo
= -1; /* LogotypeAudioInfo */
69 static int hf_logotypecertextn_mediaType
= -1; /* IA5String */
70 static int hf_logotypecertextn_logotypeHash
= -1; /* SEQUENCE_SIZE_1_MAX_OF_HashAlgAndValue */
71 static int hf_logotypecertextn_logotypeHash_item
= -1; /* HashAlgAndValue */
72 static int hf_logotypecertextn_logotypeURI
= -1; /* T_logotypeURI */
73 static int hf_logotypecertextn_logotypeURI_item
= -1; /* T_logotypeURI_item */
74 static int hf_logotypecertextn_type
= -1; /* LogotypeImageType */
75 static int hf_logotypecertextn_fileSize
= -1; /* INTEGER */
76 static int hf_logotypecertextn_xSize
= -1; /* INTEGER */
77 static int hf_logotypecertextn_ySize
= -1; /* INTEGER */
78 static int hf_logotypecertextn_resolution
= -1; /* LogotypeImageResolution */
79 static int hf_logotypecertextn_language
= -1; /* IA5String */
80 static int hf_logotypecertextn_numBits
= -1; /* INTEGER */
81 static int hf_logotypecertextn_tableSize
= -1; /* INTEGER */
82 static int hf_logotypecertextn_playTime
= -1; /* INTEGER */
83 static int hf_logotypecertextn_channels
= -1; /* INTEGER */
84 static int hf_logotypecertextn_sampleRate
= -1; /* INTEGER */
85 static int hf_logotypecertextn_logotypeType
= -1; /* OBJECT_IDENTIFIER */
86 static int hf_logotypecertextn_info
= -1; /* LogotypeInfo */
87 static int hf_logotypecertextn_refStructHash
= -1; /* SEQUENCE_SIZE_1_MAX_OF_HashAlgAndValue */
88 static int hf_logotypecertextn_refStructHash_item
= -1; /* HashAlgAndValue */
89 static int hf_logotypecertextn_refStructURI
= -1; /* T_refStructURI */
90 static int hf_logotypecertextn_refStructURI_item
= -1; /* T_refStructURI_item */
91 static int hf_logotypecertextn_hashAlg
= -1; /* AlgorithmIdentifier */
92 static int hf_logotypecertextn_hashValue
= -1; /* OCTET_STRING */
94 /*--- End of included file: packet-logotypecertextn-hf.c ---*/
95 #line 42 "../../asn1/logotypecertextn/packet-logotypecertextn-template.c"
97 /* Initialize the subtree pointers */
99 /*--- Included file: packet-logotypecertextn-ett.c ---*/
100 #line 1 "../../asn1/logotypecertextn/packet-logotypecertextn-ett.c"
101 static gint ett_logotypecertextn_LogotypeExtn
= -1;
102 static gint ett_logotypecertextn_SEQUENCE_OF_LogotypeInfo
= -1;
103 static gint ett_logotypecertextn_SEQUENCE_OF_OtherLogotypeInfo
= -1;
104 static gint ett_logotypecertextn_LogotypeInfo
= -1;
105 static gint ett_logotypecertextn_LogotypeData
= -1;
106 static gint ett_logotypecertextn_SEQUENCE_OF_LogotypeImage
= -1;
107 static gint ett_logotypecertextn_SEQUENCE_OF_LogotypeAudio
= -1;
108 static gint ett_logotypecertextn_LogotypeImage
= -1;
109 static gint ett_logotypecertextn_LogotypeAudio
= -1;
110 static gint ett_logotypecertextn_LogotypeDetails
= -1;
111 static gint ett_logotypecertextn_SEQUENCE_SIZE_1_MAX_OF_HashAlgAndValue
= -1;
112 static gint ett_logotypecertextn_T_logotypeURI
= -1;
113 static gint ett_logotypecertextn_LogotypeImageInfo
= -1;
114 static gint ett_logotypecertextn_LogotypeImageResolution
= -1;
115 static gint ett_logotypecertextn_LogotypeAudioInfo
= -1;
116 static gint ett_logotypecertextn_OtherLogotypeInfo
= -1;
117 static gint ett_logotypecertextn_LogotypeReference
= -1;
118 static gint ett_logotypecertextn_T_refStructURI
= -1;
119 static gint ett_logotypecertextn_HashAlgAndValue
= -1;
121 /*--- End of included file: packet-logotypecertextn-ett.c ---*/
122 #line 45 "../../asn1/logotypecertextn/packet-logotypecertextn-template.c"
126 /*--- Included file: packet-logotypecertextn-fn.c ---*/
127 #line 1 "../../asn1/logotypecertextn/packet-logotypecertextn-fn.c"
131 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_
) {
132 offset
= dissect_ber_restricted_string(implicit_tag
, BER_UNI_TAG_IA5String
,
133 actx
, tree
, tvb
, offset
, hf_index
,
142 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_
) {
143 offset
= dissect_ber_octet_string(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
150 static const ber_sequence_t HashAlgAndValue_sequence
[] = {
151 { &hf_logotypecertextn_hashAlg
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_x509af_AlgorithmIdentifier
},
152 { &hf_logotypecertextn_hashValue
, BER_CLASS_UNI
, BER_UNI_TAG_OCTETSTRING
, BER_FLAGS_NOOWNTAG
, dissect_logotypecertextn_OCTET_STRING
},
153 { NULL
, 0, 0, 0, NULL
}
157 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_
) {
158 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
159 HashAlgAndValue_sequence
, hf_index
, ett_logotypecertextn_HashAlgAndValue
);
165 static const ber_sequence_t SEQUENCE_SIZE_1_MAX_OF_HashAlgAndValue_sequence_of
[1] = {
166 { &hf_logotypecertextn_logotypeHash_item
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_logotypecertextn_HashAlgAndValue
},
170 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_
) {
171 offset
= dissect_ber_sequence_of(implicit_tag
, actx
, tree
, tvb
, offset
,
172 SEQUENCE_SIZE_1_MAX_OF_HashAlgAndValue_sequence_of
, hf_index
, ett_logotypecertextn_SEQUENCE_SIZE_1_MAX_OF_HashAlgAndValue
);
180 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_
) {
181 offset
= dissect_ber_restricted_string(implicit_tag
, BER_UNI_TAG_IA5String
,
182 actx
, tree
, tvb
, offset
, hf_index
,
185 #line 18 "../../asn1/logotypecertextn/logotypecertextn.cnf"
186 PROTO_ITEM_SET_URL(actx
->created_item
);
193 static const ber_sequence_t T_logotypeURI_sequence_of
[1] = {
194 { &hf_logotypecertextn_logotypeURI_item
, BER_CLASS_UNI
, BER_UNI_TAG_IA5String
, BER_FLAGS_NOOWNTAG
, dissect_logotypecertextn_T_logotypeURI_item
},
198 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_
) {
199 offset
= dissect_ber_sequence_of(implicit_tag
, actx
, tree
, tvb
, offset
,
200 T_logotypeURI_sequence_of
, hf_index
, ett_logotypecertextn_T_logotypeURI
);
206 static const ber_sequence_t LogotypeDetails_sequence
[] = {
207 { &hf_logotypecertextn_mediaType
, BER_CLASS_UNI
, BER_UNI_TAG_IA5String
, BER_FLAGS_NOOWNTAG
, dissect_logotypecertextn_IA5String
},
208 { &hf_logotypecertextn_logotypeHash
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_logotypecertextn_SEQUENCE_SIZE_1_MAX_OF_HashAlgAndValue
},
209 { &hf_logotypecertextn_logotypeURI
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_logotypecertextn_T_logotypeURI
},
210 { NULL
, 0, 0, 0, NULL
}
214 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_
) {
215 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
216 LogotypeDetails_sequence
, hf_index
, ett_logotypecertextn_LogotypeDetails
);
222 static const value_string logotypecertextn_LogotypeImageType_vals
[] = {
230 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_
) {
231 offset
= dissect_ber_integer(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
240 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_
) {
241 offset
= dissect_ber_integer(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
248 static const value_string logotypecertextn_LogotypeImageResolution_vals
[] = {
254 static const ber_choice_t LogotypeImageResolution_choice
[] = {
255 { 1, &hf_logotypecertextn_numBits
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_logotypecertextn_INTEGER
},
256 { 2, &hf_logotypecertextn_tableSize
, BER_CLASS_CON
, 2, BER_FLAGS_IMPLTAG
, dissect_logotypecertextn_INTEGER
},
257 { 0, NULL
, 0, 0, 0, NULL
}
261 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_
) {
262 offset
= dissect_ber_choice(actx
, tree
, tvb
, offset
,
263 LogotypeImageResolution_choice
, hf_index
, ett_logotypecertextn_LogotypeImageResolution
,
270 static const ber_sequence_t LogotypeImageInfo_sequence
[] = {
271 { &hf_logotypecertextn_type
, BER_CLASS_CON
, 0, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_logotypecertextn_LogotypeImageType
},
272 { &hf_logotypecertextn_fileSize
, BER_CLASS_UNI
, BER_UNI_TAG_INTEGER
, BER_FLAGS_NOOWNTAG
, dissect_logotypecertextn_INTEGER
},
273 { &hf_logotypecertextn_xSize
, BER_CLASS_UNI
, BER_UNI_TAG_INTEGER
, BER_FLAGS_NOOWNTAG
, dissect_logotypecertextn_INTEGER
},
274 { &hf_logotypecertextn_ySize
, BER_CLASS_UNI
, BER_UNI_TAG_INTEGER
, BER_FLAGS_NOOWNTAG
, dissect_logotypecertextn_INTEGER
},
275 { &hf_logotypecertextn_resolution
, BER_CLASS_ANY
/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL
|BER_FLAGS_NOOWNTAG
|BER_FLAGS_NOTCHKTAG
, dissect_logotypecertextn_LogotypeImageResolution
},
276 { &hf_logotypecertextn_language
, BER_CLASS_CON
, 4, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_logotypecertextn_IA5String
},
277 { NULL
, 0, 0, 0, NULL
}
281 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_
) {
282 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
283 LogotypeImageInfo_sequence
, hf_index
, ett_logotypecertextn_LogotypeImageInfo
);
289 static const ber_sequence_t LogotypeImage_sequence
[] = {
290 { &hf_logotypecertextn_imageDetails
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_logotypecertextn_LogotypeDetails
},
291 { &hf_logotypecertextn_imageInfo
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_OPTIONAL
|BER_FLAGS_NOOWNTAG
, dissect_logotypecertextn_LogotypeImageInfo
},
292 { NULL
, 0, 0, 0, NULL
}
296 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_
) {
297 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
298 LogotypeImage_sequence
, hf_index
, ett_logotypecertextn_LogotypeImage
);
304 static const ber_sequence_t SEQUENCE_OF_LogotypeImage_sequence_of
[1] = {
305 { &hf_logotypecertextn_image_item
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_logotypecertextn_LogotypeImage
},
309 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_
) {
310 offset
= dissect_ber_sequence_of(implicit_tag
, actx
, tree
, tvb
, offset
,
311 SEQUENCE_OF_LogotypeImage_sequence_of
, hf_index
, ett_logotypecertextn_SEQUENCE_OF_LogotypeImage
);
317 static const ber_sequence_t LogotypeAudioInfo_sequence
[] = {
318 { &hf_logotypecertextn_fileSize
, BER_CLASS_UNI
, BER_UNI_TAG_INTEGER
, BER_FLAGS_NOOWNTAG
, dissect_logotypecertextn_INTEGER
},
319 { &hf_logotypecertextn_playTime
, BER_CLASS_UNI
, BER_UNI_TAG_INTEGER
, BER_FLAGS_NOOWNTAG
, dissect_logotypecertextn_INTEGER
},
320 { &hf_logotypecertextn_channels
, BER_CLASS_UNI
, BER_UNI_TAG_INTEGER
, BER_FLAGS_NOOWNTAG
, dissect_logotypecertextn_INTEGER
},
321 { &hf_logotypecertextn_sampleRate
, BER_CLASS_CON
, 3, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_logotypecertextn_INTEGER
},
322 { &hf_logotypecertextn_language
, BER_CLASS_CON
, 4, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_logotypecertextn_IA5String
},
323 { NULL
, 0, 0, 0, NULL
}
327 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_
) {
328 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
329 LogotypeAudioInfo_sequence
, hf_index
, ett_logotypecertextn_LogotypeAudioInfo
);
335 static const ber_sequence_t LogotypeAudio_sequence
[] = {
336 { &hf_logotypecertextn_audioDetails
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_logotypecertextn_LogotypeDetails
},
337 { &hf_logotypecertextn_audioInfo
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_OPTIONAL
|BER_FLAGS_NOOWNTAG
, dissect_logotypecertextn_LogotypeAudioInfo
},
338 { NULL
, 0, 0, 0, NULL
}
342 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_
) {
343 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
344 LogotypeAudio_sequence
, hf_index
, ett_logotypecertextn_LogotypeAudio
);
350 static const ber_sequence_t SEQUENCE_OF_LogotypeAudio_sequence_of
[1] = {
351 { &hf_logotypecertextn_audio_item
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_logotypecertextn_LogotypeAudio
},
355 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_
) {
356 offset
= dissect_ber_sequence_of(implicit_tag
, actx
, tree
, tvb
, offset
,
357 SEQUENCE_OF_LogotypeAudio_sequence_of
, hf_index
, ett_logotypecertextn_SEQUENCE_OF_LogotypeAudio
);
363 static const ber_sequence_t LogotypeData_sequence
[] = {
364 { &hf_logotypecertextn_image
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_OPTIONAL
|BER_FLAGS_NOOWNTAG
, dissect_logotypecertextn_SEQUENCE_OF_LogotypeImage
},
365 { &hf_logotypecertextn_audio
, BER_CLASS_CON
, 1, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_logotypecertextn_SEQUENCE_OF_LogotypeAudio
},
366 { NULL
, 0, 0, 0, NULL
}
370 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_
) {
371 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
372 LogotypeData_sequence
, hf_index
, ett_logotypecertextn_LogotypeData
);
380 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_
) {
381 offset
= dissect_ber_restricted_string(implicit_tag
, BER_UNI_TAG_IA5String
,
382 actx
, tree
, tvb
, offset
, hf_index
,
385 #line 21 "../../asn1/logotypecertextn/logotypecertextn.cnf"
386 PROTO_ITEM_SET_URL(actx
->created_item
);
393 static const ber_sequence_t T_refStructURI_sequence_of
[1] = {
394 { &hf_logotypecertextn_refStructURI_item
, BER_CLASS_UNI
, BER_UNI_TAG_IA5String
, BER_FLAGS_NOOWNTAG
, dissect_logotypecertextn_T_refStructURI_item
},
398 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_
) {
399 offset
= dissect_ber_sequence_of(implicit_tag
, actx
, tree
, tvb
, offset
,
400 T_refStructURI_sequence_of
, hf_index
, ett_logotypecertextn_T_refStructURI
);
406 static const ber_sequence_t LogotypeReference_sequence
[] = {
407 { &hf_logotypecertextn_refStructHash
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_logotypecertextn_SEQUENCE_SIZE_1_MAX_OF_HashAlgAndValue
},
408 { &hf_logotypecertextn_refStructURI
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_logotypecertextn_T_refStructURI
},
409 { NULL
, 0, 0, 0, NULL
}
413 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_
) {
414 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
415 LogotypeReference_sequence
, hf_index
, ett_logotypecertextn_LogotypeReference
);
421 static const value_string logotypecertextn_LogotypeInfo_vals
[] = {
427 static const ber_choice_t LogotypeInfo_choice
[] = {
428 { 0, &hf_logotypecertextn_direct
, BER_CLASS_CON
, 0, BER_FLAGS_IMPLTAG
, dissect_logotypecertextn_LogotypeData
},
429 { 1, &hf_logotypecertextn_indirect
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_logotypecertextn_LogotypeReference
},
430 { 0, NULL
, 0, 0, 0, NULL
}
434 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_
) {
435 offset
= dissect_ber_choice(actx
, tree
, tvb
, offset
,
436 LogotypeInfo_choice
, hf_index
, ett_logotypecertextn_LogotypeInfo
,
443 static const ber_sequence_t SEQUENCE_OF_LogotypeInfo_sequence_of
[1] = {
444 { &hf_logotypecertextn_communityLogos_item
, BER_CLASS_ANY
/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG
|BER_FLAGS_NOTCHKTAG
, dissect_logotypecertextn_LogotypeInfo
},
448 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_
) {
449 offset
= dissect_ber_sequence_of(implicit_tag
, actx
, tree
, tvb
, offset
,
450 SEQUENCE_OF_LogotypeInfo_sequence_of
, hf_index
, ett_logotypecertextn_SEQUENCE_OF_LogotypeInfo
);
458 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_
) {
459 offset
= dissect_ber_object_identifier(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
, NULL
);
465 static const ber_sequence_t OtherLogotypeInfo_sequence
[] = {
466 { &hf_logotypecertextn_logotypeType
, BER_CLASS_UNI
, BER_UNI_TAG_OID
, BER_FLAGS_NOOWNTAG
, dissect_logotypecertextn_OBJECT_IDENTIFIER
},
467 { &hf_logotypecertextn_info
, BER_CLASS_ANY
/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG
|BER_FLAGS_NOTCHKTAG
, dissect_logotypecertextn_LogotypeInfo
},
468 { NULL
, 0, 0, 0, NULL
}
472 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_
) {
473 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
474 OtherLogotypeInfo_sequence
, hf_index
, ett_logotypecertextn_OtherLogotypeInfo
);
480 static const ber_sequence_t SEQUENCE_OF_OtherLogotypeInfo_sequence_of
[1] = {
481 { &hf_logotypecertextn_otherLogos_item
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_logotypecertextn_OtherLogotypeInfo
},
485 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_
) {
486 offset
= dissect_ber_sequence_of(implicit_tag
, actx
, tree
, tvb
, offset
,
487 SEQUENCE_OF_OtherLogotypeInfo_sequence_of
, hf_index
, ett_logotypecertextn_SEQUENCE_OF_OtherLogotypeInfo
);
493 static const ber_sequence_t LogotypeExtn_sequence
[] = {
494 { &hf_logotypecertextn_communityLogos
, BER_CLASS_CON
, 0, BER_FLAGS_OPTIONAL
, dissect_logotypecertextn_SEQUENCE_OF_LogotypeInfo
},
495 { &hf_logotypecertextn_issuerLogo
, BER_CLASS_CON
, 1, BER_FLAGS_OPTIONAL
|BER_FLAGS_NOTCHKTAG
, dissect_logotypecertextn_LogotypeInfo
},
496 { &hf_logotypecertextn_subjectLogo
, BER_CLASS_CON
, 2, BER_FLAGS_OPTIONAL
|BER_FLAGS_NOTCHKTAG
, dissect_logotypecertextn_LogotypeInfo
},
497 { &hf_logotypecertextn_otherLogos
, BER_CLASS_CON
, 3, BER_FLAGS_OPTIONAL
, dissect_logotypecertextn_SEQUENCE_OF_OtherLogotypeInfo
},
498 { NULL
, 0, 0, 0, NULL
}
502 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_
) {
503 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
504 LogotypeExtn_sequence
, hf_index
, ett_logotypecertextn_LogotypeExtn
);
511 static void dissect_LogotypeExtn_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
) {
513 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_BER
, TRUE
, pinfo
);
514 dissect_logotypecertextn_LogotypeExtn(FALSE
, tvb
, 0, &asn1_ctx
, tree
, hf_logotypecertextn_LogotypeExtn_PDU
);
518 /*--- End of included file: packet-logotypecertextn-fn.c ---*/
519 #line 48 "../../asn1/logotypecertextn/packet-logotypecertextn-template.c"
522 /*--- proto_register_logotypecertextn ----------------------------------------------*/
523 void proto_register_logotypecertextn(void) {
526 static hf_register_info hf
[] = {
528 /*--- Included file: packet-logotypecertextn-hfarr.c ---*/
529 #line 1 "../../asn1/logotypecertextn/packet-logotypecertextn-hfarr.c"
530 { &hf_logotypecertextn_LogotypeExtn_PDU
,
531 { "LogotypeExtn", "logotypecertextn.LogotypeExtn_element",
532 FT_NONE
, BASE_NONE
, NULL
, 0,
534 { &hf_logotypecertextn_communityLogos
,
535 { "communityLogos", "logotypecertextn.communityLogos",
536 FT_UINT32
, BASE_DEC
, NULL
, 0,
537 "SEQUENCE_OF_LogotypeInfo", HFILL
}},
538 { &hf_logotypecertextn_communityLogos_item
,
539 { "LogotypeInfo", "logotypecertextn.LogotypeInfo",
540 FT_UINT32
, BASE_DEC
, VALS(logotypecertextn_LogotypeInfo_vals
), 0,
542 { &hf_logotypecertextn_issuerLogo
,
543 { "issuerLogo", "logotypecertextn.issuerLogo",
544 FT_UINT32
, BASE_DEC
, VALS(logotypecertextn_LogotypeInfo_vals
), 0,
545 "LogotypeInfo", HFILL
}},
546 { &hf_logotypecertextn_subjectLogo
,
547 { "subjectLogo", "logotypecertextn.subjectLogo",
548 FT_UINT32
, BASE_DEC
, VALS(logotypecertextn_LogotypeInfo_vals
), 0,
549 "LogotypeInfo", HFILL
}},
550 { &hf_logotypecertextn_otherLogos
,
551 { "otherLogos", "logotypecertextn.otherLogos",
552 FT_UINT32
, BASE_DEC
, NULL
, 0,
553 "SEQUENCE_OF_OtherLogotypeInfo", HFILL
}},
554 { &hf_logotypecertextn_otherLogos_item
,
555 { "OtherLogotypeInfo", "logotypecertextn.OtherLogotypeInfo_element",
556 FT_NONE
, BASE_NONE
, NULL
, 0,
558 { &hf_logotypecertextn_direct
,
559 { "direct", "logotypecertextn.direct_element",
560 FT_NONE
, BASE_NONE
, NULL
, 0,
561 "LogotypeData", HFILL
}},
562 { &hf_logotypecertextn_indirect
,
563 { "indirect", "logotypecertextn.indirect_element",
564 FT_NONE
, BASE_NONE
, NULL
, 0,
565 "LogotypeReference", HFILL
}},
566 { &hf_logotypecertextn_image
,
567 { "image", "logotypecertextn.image",
568 FT_UINT32
, BASE_DEC
, NULL
, 0,
569 "SEQUENCE_OF_LogotypeImage", HFILL
}},
570 { &hf_logotypecertextn_image_item
,
571 { "LogotypeImage", "logotypecertextn.LogotypeImage_element",
572 FT_NONE
, BASE_NONE
, NULL
, 0,
574 { &hf_logotypecertextn_audio
,
575 { "audio", "logotypecertextn.audio",
576 FT_UINT32
, BASE_DEC
, NULL
, 0,
577 "SEQUENCE_OF_LogotypeAudio", HFILL
}},
578 { &hf_logotypecertextn_audio_item
,
579 { "LogotypeAudio", "logotypecertextn.LogotypeAudio_element",
580 FT_NONE
, BASE_NONE
, NULL
, 0,
582 { &hf_logotypecertextn_imageDetails
,
583 { "imageDetails", "logotypecertextn.imageDetails_element",
584 FT_NONE
, BASE_NONE
, NULL
, 0,
585 "LogotypeDetails", HFILL
}},
586 { &hf_logotypecertextn_imageInfo
,
587 { "imageInfo", "logotypecertextn.imageInfo_element",
588 FT_NONE
, BASE_NONE
, NULL
, 0,
589 "LogotypeImageInfo", HFILL
}},
590 { &hf_logotypecertextn_audioDetails
,
591 { "audioDetails", "logotypecertextn.audioDetails_element",
592 FT_NONE
, BASE_NONE
, NULL
, 0,
593 "LogotypeDetails", HFILL
}},
594 { &hf_logotypecertextn_audioInfo
,
595 { "audioInfo", "logotypecertextn.audioInfo_element",
596 FT_NONE
, BASE_NONE
, NULL
, 0,
597 "LogotypeAudioInfo", HFILL
}},
598 { &hf_logotypecertextn_mediaType
,
599 { "mediaType", "logotypecertextn.mediaType",
600 FT_STRING
, BASE_NONE
, NULL
, 0,
601 "IA5String", HFILL
}},
602 { &hf_logotypecertextn_logotypeHash
,
603 { "logotypeHash", "logotypecertextn.logotypeHash",
604 FT_UINT32
, BASE_DEC
, NULL
, 0,
605 "SEQUENCE_SIZE_1_MAX_OF_HashAlgAndValue", HFILL
}},
606 { &hf_logotypecertextn_logotypeHash_item
,
607 { "HashAlgAndValue", "logotypecertextn.HashAlgAndValue_element",
608 FT_NONE
, BASE_NONE
, NULL
, 0,
610 { &hf_logotypecertextn_logotypeURI
,
611 { "logotypeURI", "logotypecertextn.logotypeURI",
612 FT_UINT32
, BASE_DEC
, NULL
, 0,
614 { &hf_logotypecertextn_logotypeURI_item
,
615 { "logotypeURI item", "logotypecertextn.logotypeURI_item",
616 FT_STRING
, BASE_NONE
, NULL
, 0,
618 { &hf_logotypecertextn_type
,
619 { "type", "logotypecertextn.type",
620 FT_INT32
, BASE_DEC
, VALS(logotypecertextn_LogotypeImageType_vals
), 0,
621 "LogotypeImageType", HFILL
}},
622 { &hf_logotypecertextn_fileSize
,
623 { "fileSize", "logotypecertextn.fileSize",
624 FT_INT32
, BASE_DEC
, NULL
, 0,
626 { &hf_logotypecertextn_xSize
,
627 { "xSize", "logotypecertextn.xSize",
628 FT_INT32
, BASE_DEC
, NULL
, 0,
630 { &hf_logotypecertextn_ySize
,
631 { "ySize", "logotypecertextn.ySize",
632 FT_INT32
, BASE_DEC
, NULL
, 0,
634 { &hf_logotypecertextn_resolution
,
635 { "resolution", "logotypecertextn.resolution",
636 FT_UINT32
, BASE_DEC
, VALS(logotypecertextn_LogotypeImageResolution_vals
), 0,
637 "LogotypeImageResolution", HFILL
}},
638 { &hf_logotypecertextn_language
,
639 { "language", "logotypecertextn.language",
640 FT_STRING
, BASE_NONE
, NULL
, 0,
641 "IA5String", HFILL
}},
642 { &hf_logotypecertextn_numBits
,
643 { "numBits", "logotypecertextn.numBits",
644 FT_INT32
, BASE_DEC
, NULL
, 0,
646 { &hf_logotypecertextn_tableSize
,
647 { "tableSize", "logotypecertextn.tableSize",
648 FT_INT32
, BASE_DEC
, NULL
, 0,
650 { &hf_logotypecertextn_playTime
,
651 { "playTime", "logotypecertextn.playTime",
652 FT_INT32
, BASE_DEC
, NULL
, 0,
654 { &hf_logotypecertextn_channels
,
655 { "channels", "logotypecertextn.channels",
656 FT_INT32
, BASE_DEC
, NULL
, 0,
658 { &hf_logotypecertextn_sampleRate
,
659 { "sampleRate", "logotypecertextn.sampleRate",
660 FT_INT32
, BASE_DEC
, NULL
, 0,
662 { &hf_logotypecertextn_logotypeType
,
663 { "logotypeType", "logotypecertextn.logotypeType",
664 FT_OID
, BASE_NONE
, NULL
, 0,
665 "OBJECT_IDENTIFIER", HFILL
}},
666 { &hf_logotypecertextn_info
,
667 { "info", "logotypecertextn.info",
668 FT_UINT32
, BASE_DEC
, VALS(logotypecertextn_LogotypeInfo_vals
), 0,
669 "LogotypeInfo", HFILL
}},
670 { &hf_logotypecertextn_refStructHash
,
671 { "refStructHash", "logotypecertextn.refStructHash",
672 FT_UINT32
, BASE_DEC
, NULL
, 0,
673 "SEQUENCE_SIZE_1_MAX_OF_HashAlgAndValue", HFILL
}},
674 { &hf_logotypecertextn_refStructHash_item
,
675 { "HashAlgAndValue", "logotypecertextn.HashAlgAndValue_element",
676 FT_NONE
, BASE_NONE
, NULL
, 0,
678 { &hf_logotypecertextn_refStructURI
,
679 { "refStructURI", "logotypecertextn.refStructURI",
680 FT_UINT32
, BASE_DEC
, NULL
, 0,
682 { &hf_logotypecertextn_refStructURI_item
,
683 { "refStructURI item", "logotypecertextn.refStructURI_item",
684 FT_STRING
, BASE_NONE
, NULL
, 0,
686 { &hf_logotypecertextn_hashAlg
,
687 { "hashAlg", "logotypecertextn.hashAlg_element",
688 FT_NONE
, BASE_NONE
, NULL
, 0,
689 "AlgorithmIdentifier", HFILL
}},
690 { &hf_logotypecertextn_hashValue
,
691 { "hashValue", "logotypecertextn.hashValue",
692 FT_BYTES
, BASE_NONE
, NULL
, 0,
693 "OCTET_STRING", HFILL
}},
695 /*--- End of included file: packet-logotypecertextn-hfarr.c ---*/
696 #line 56 "../../asn1/logotypecertextn/packet-logotypecertextn-template.c"
699 /* List of subtrees */
700 static gint
*ett
[] = {
702 /*--- Included file: packet-logotypecertextn-ettarr.c ---*/
703 #line 1 "../../asn1/logotypecertextn/packet-logotypecertextn-ettarr.c"
704 &ett_logotypecertextn_LogotypeExtn
,
705 &ett_logotypecertextn_SEQUENCE_OF_LogotypeInfo
,
706 &ett_logotypecertextn_SEQUENCE_OF_OtherLogotypeInfo
,
707 &ett_logotypecertextn_LogotypeInfo
,
708 &ett_logotypecertextn_LogotypeData
,
709 &ett_logotypecertextn_SEQUENCE_OF_LogotypeImage
,
710 &ett_logotypecertextn_SEQUENCE_OF_LogotypeAudio
,
711 &ett_logotypecertextn_LogotypeImage
,
712 &ett_logotypecertextn_LogotypeAudio
,
713 &ett_logotypecertextn_LogotypeDetails
,
714 &ett_logotypecertextn_SEQUENCE_SIZE_1_MAX_OF_HashAlgAndValue
,
715 &ett_logotypecertextn_T_logotypeURI
,
716 &ett_logotypecertextn_LogotypeImageInfo
,
717 &ett_logotypecertextn_LogotypeImageResolution
,
718 &ett_logotypecertextn_LogotypeAudioInfo
,
719 &ett_logotypecertextn_OtherLogotypeInfo
,
720 &ett_logotypecertextn_LogotypeReference
,
721 &ett_logotypecertextn_T_refStructURI
,
722 &ett_logotypecertextn_HashAlgAndValue
,
724 /*--- End of included file: packet-logotypecertextn-ettarr.c ---*/
725 #line 61 "../../asn1/logotypecertextn/packet-logotypecertextn-template.c"
728 /* Register protocol */
729 proto_logotypecertextn
= proto_register_protocol(PNAME
, PSNAME
, PFNAME
);
731 /* Register fields and subtrees */
732 proto_register_field_array(proto_logotypecertextn
, hf
, array_length(hf
));
733 proto_register_subtree_array(ett
, array_length(ett
));
738 /*--- proto_reg_handoff_logotypecertextn -------------------------------------------*/
739 void proto_reg_handoff_logotypecertextn(void) {
741 /*--- Included file: packet-logotypecertextn-dis-tab.c ---*/
742 #line 1 "../../asn1/logotypecertextn/packet-logotypecertextn-dis-tab.c"
743 register_ber_oid_dissector("1.3.6.1.5.5.7.1.12", dissect_LogotypeExtn_PDU
, proto_logotypecertextn
, "id-pe-logotype");
744 register_ber_oid_dissector("1.3.6.1.5.5.7.20.1", dissect_LogotypeExtn_PDU
, proto_logotypecertextn
, "id-pe-logo-loyalty");
745 register_ber_oid_dissector("1.3.6.1.5.5.7.20.2", dissect_LogotypeExtn_PDU
, proto_logotypecertextn
, "id-pe-logo-background");
748 /*--- End of included file: packet-logotypecertextn-dis-tab.c ---*/
749 #line 76 "../../asn1/logotypecertextn/packet-logotypecertextn-template.c"