blob: 04afb3c81b1798e7f2a4f929b99467e94ab82985 [file] [log] [blame]
Lev Walkinc8285712005-03-04 22:18:20 +00001
2/*** <<< INCLUDES [Type] >>> ***/
3
4#include <asn_SEQUENCE_OF.h>
5#include <constr_SEQUENCE_OF.h>
6#include <constr_SEQUENCE.h>
7
8/*** <<< FWD-DECLS [Type] >>> ***/
9
Lev Walkinbf56d542005-03-04 23:50:56 +000010struct Epyt;
Lev Walkinc8285712005-03-04 22:18:20 +000011
12/*** <<< TYPE-DECLS [Type] >>> ***/
13
14typedef struct Type {
15 struct data {
16 A_SEQUENCE_OF(struct Epyt) list;
17
18 /* Context for parsing across buffer boundaries */
19 asn_struct_ctx_t _asn_ctx;
20 } data;
21
22 /* Context for parsing across buffer boundaries */
23 asn_struct_ctx_t _asn_ctx;
24} Type_t;
25
26/*** <<< FUNC-DECLS [Type] >>> ***/
27
28extern asn_TYPE_descriptor_t asn_DEF_Type;
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +080029extern asn_SEQUENCE_specifics_t asn_SPC_Type_specs_1;
30extern asn_TYPE_member_t asn_MBR_Type_1[1];
Lev Walkinc8285712005-03-04 22:18:20 +000031
32/*** <<< POST-INCLUDE [Type] >>> ***/
33
Lev Walkin22b5ed42006-09-13 02:51:20 +000034#include "EpytRef.h"
Lev Walkinc8285712005-03-04 22:18:20 +000035
36/*** <<< STAT-DEFS [Type] >>> ***/
37
38static asn_TYPE_member_t asn_MBR_data_2[] = {
Lev Walkin8eb4b572005-08-16 16:57:17 +000039 { ATF_POINTER, 0, 0,
Lev Walkinc8285712005-03-04 22:18:20 +000040 .tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
41 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +000042 .type = &asn_DEF_EpytRef,
Lev Walkin67a30122017-08-10 05:48:54 -070043 .type_selector = 0,
Lev Walkinc8285712005-03-04 22:18:20 +000044 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkinb33425f2017-07-14 14:59:52 +040045 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin59b176e2005-11-26 11:25:14 +000046 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
47 .default_value = 0,
Lev Walkinc8285712005-03-04 22:18:20 +000048 .name = ""
49 },
50};
Lev Walkina7591b52014-10-12 18:37:35 -070051static const ber_tlv_tag_t asn_DEF_data_tags_2[] = {
Lev Walkinc8285712005-03-04 22:18:20 +000052 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
53};
Lev Walkin59b176e2005-11-26 11:25:14 +000054static asn_SET_OF_specifics_t asn_SPC_data_specs_2 = {
Lev Walkinc8285712005-03-04 22:18:20 +000055 sizeof(struct data),
56 offsetof(struct data, _asn_ctx),
57 0, /* XER encoding is XMLDelimitedItemList */
58};
59static /* Use -fall-defs-global to expose */
60asn_TYPE_descriptor_t asn_DEF_data_2 = {
61 "data",
62 "data",
63 SEQUENCE_OF_free,
64 SEQUENCE_OF_print,
Lev Walkincd2f48e2017-08-10 02:14:59 -070065 SEQUENCE_OF_compare,
Lev Walkinc8285712005-03-04 22:18:20 +000066 SEQUENCE_OF_constraint,
67 SEQUENCE_OF_decode_ber,
68 SEQUENCE_OF_encode_der,
69 SEQUENCE_OF_decode_xer,
70 SEQUENCE_OF_encode_xer,
Lev Walkinba68c912017-07-06 07:52:39 -070071 0, 0, /* No OER support, use "-gen-OER" to enable */
Lev Walkinb33425f2017-07-14 14:59:52 +040072 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkinc8285712005-03-04 22:18:20 +000073 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +000074 asn_DEF_data_tags_2,
75 sizeof(asn_DEF_data_tags_2)
76 /sizeof(asn_DEF_data_tags_2[0]), /* 1 */
77 asn_DEF_data_tags_2, /* Same as above */
78 sizeof(asn_DEF_data_tags_2)
79 /sizeof(asn_DEF_data_tags_2[0]), /* 1 */
Lev Walkinb33425f2017-07-14 14:59:52 +040080 0, /* No OER visible constraints */
Lev Walkin59b176e2005-11-26 11:25:14 +000081 0, /* No PER visible constraints */
Lev Walkinc8285712005-03-04 22:18:20 +000082 asn_MBR_data_2,
83 1, /* Single element */
Lev Walkin59b176e2005-11-26 11:25:14 +000084 &asn_SPC_data_specs_2 /* Additional specs */
Lev Walkinc8285712005-03-04 22:18:20 +000085};
86
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +080087asn_TYPE_member_t asn_MBR_Type_1[] = {
Lev Walkinc8285712005-03-04 22:18:20 +000088 { ATF_NOFLAGS, 0, offsetof(struct Type, data),
89 .tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
90 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +000091 .type = &asn_DEF_data_2,
Lev Walkin67a30122017-08-10 05:48:54 -070092 .type_selector = 0,
Lev Walkinc8285712005-03-04 22:18:20 +000093 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkinb33425f2017-07-14 14:59:52 +040094 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin59b176e2005-11-26 11:25:14 +000095 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
96 .default_value = 0,
Lev Walkinc8285712005-03-04 22:18:20 +000097 .name = "data"
98 },
99};
Lev Walkina7591b52014-10-12 18:37:35 -0700100static const ber_tlv_tag_t asn_DEF_Type_tags_1[] = {
Lev Walkinc8285712005-03-04 22:18:20 +0000101 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
102};
Lev Walkina7591b52014-10-12 18:37:35 -0700103static const asn_TYPE_tag2member_t asn_MAP_Type_tag2el_1[] = {
Lev Walkin4062b012013-10-11 14:29:38 -0700104 { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 } /* data */
Lev Walkinc8285712005-03-04 22:18:20 +0000105};
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +0800106asn_SEQUENCE_specifics_t asn_SPC_Type_specs_1 = {
Lev Walkinc8285712005-03-04 22:18:20 +0000107 sizeof(struct Type),
108 offsetof(struct Type, _asn_ctx),
Lev Walkine3917082017-08-23 10:29:38 -0700109 .tag2el = asn_MAP_Type_tag2el_1,
110 .tag2el_count = 1, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +0000111 0, 0, 0, /* Optional elements (not needed) */
Lev Walkinc8285712005-03-04 22:18:20 +0000112 -1, /* Start extensions */
113 -1 /* Stop extensions */
114};
115asn_TYPE_descriptor_t asn_DEF_Type = {
116 "Type",
117 "Type",
118 SEQUENCE_free,
119 SEQUENCE_print,
Lev Walkincd2f48e2017-08-10 02:14:59 -0700120 SEQUENCE_compare,
Lev Walkinc8285712005-03-04 22:18:20 +0000121 SEQUENCE_constraint,
122 SEQUENCE_decode_ber,
123 SEQUENCE_encode_der,
124 SEQUENCE_decode_xer,
125 SEQUENCE_encode_xer,
Lev Walkinba68c912017-07-06 07:52:39 -0700126 0, 0, /* No OER support, use "-gen-OER" to enable */
Lev Walkinb33425f2017-07-14 14:59:52 +0400127 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkinc8285712005-03-04 22:18:20 +0000128 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +0000129 asn_DEF_Type_tags_1,
130 sizeof(asn_DEF_Type_tags_1)
131 /sizeof(asn_DEF_Type_tags_1[0]), /* 1 */
132 asn_DEF_Type_tags_1, /* Same as above */
133 sizeof(asn_DEF_Type_tags_1)
134 /sizeof(asn_DEF_Type_tags_1[0]), /* 1 */
Lev Walkinb33425f2017-07-14 14:59:52 +0400135 0, /* No OER visible constraints */
Lev Walkin59b176e2005-11-26 11:25:14 +0000136 0, /* No PER visible constraints */
Lev Walkinc8285712005-03-04 22:18:20 +0000137 asn_MBR_Type_1,
138 1, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +0000139 &asn_SPC_Type_specs_1 /* Additional specs */
Lev Walkinc8285712005-03-04 22:18:20 +0000140};
141
142
Lev Walkincaf0d5a2005-03-04 23:48:19 +0000143/*** <<< INCLUDES [EpytRef] >>> ***/
144
Lev Walkin22b5ed42006-09-13 02:51:20 +0000145#include "Epyt.h"
Lev Walkincaf0d5a2005-03-04 23:48:19 +0000146
147/*** <<< TYPE-DECLS [EpytRef] >>> ***/
148
149typedef Epyt_t EpytRef_t;
150
151/*** <<< FUNC-DECLS [EpytRef] >>> ***/
152
153extern asn_TYPE_descriptor_t asn_DEF_EpytRef;
154asn_struct_free_f EpytRef_free;
155asn_struct_print_f EpytRef_print;
156asn_constr_check_f EpytRef_constraint;
157ber_type_decoder_f EpytRef_decode_ber;
158der_type_encoder_f EpytRef_encode_der;
159xer_type_decoder_f EpytRef_decode_xer;
160xer_type_encoder_f EpytRef_encode_xer;
161
162/*** <<< CODE [EpytRef] >>> ***/
163
Lev Walkincaf0d5a2005-03-04 23:48:19 +0000164/*
165 * This type is implemented using Epyt,
166 * so here we adjust the DEF accordingly.
167 */
Lev Walkincaf0d5a2005-03-04 23:48:19 +0000168
169/*** <<< STAT-DEFS [EpytRef] >>> ***/
170
Lev Walkina7591b52014-10-12 18:37:35 -0700171static const ber_tlv_tag_t asn_DEF_EpytRef_tags_1[] = {
Lev Walkincaf0d5a2005-03-04 23:48:19 +0000172 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
173};
174asn_TYPE_descriptor_t asn_DEF_EpytRef = {
175 "EpytRef",
176 "EpytRef",
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +0800177 SEQUENCE_free,
178 SEQUENCE_print,
Lev Walkincd2f48e2017-08-10 02:14:59 -0700179 SEQUENCE_compare,
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +0800180 SEQUENCE_constraint,
181 SEQUENCE_decode_ber,
182 SEQUENCE_encode_der,
183 SEQUENCE_decode_xer,
184 SEQUENCE_encode_xer,
Lev Walkinba68c912017-07-06 07:52:39 -0700185 0, 0, /* No OER support, use "-gen-OER" to enable */
Lev Walkinb33425f2017-07-14 14:59:52 +0400186 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkincaf0d5a2005-03-04 23:48:19 +0000187 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +0000188 asn_DEF_EpytRef_tags_1,
189 sizeof(asn_DEF_EpytRef_tags_1)
190 /sizeof(asn_DEF_EpytRef_tags_1[0]), /* 1 */
191 asn_DEF_EpytRef_tags_1, /* Same as above */
192 sizeof(asn_DEF_EpytRef_tags_1)
193 /sizeof(asn_DEF_EpytRef_tags_1[0]), /* 1 */
Lev Walkinb33425f2017-07-14 14:59:52 +0400194 0, /* No OER visible constraints */
Lev Walkin59b176e2005-11-26 11:25:14 +0000195 0, /* No PER visible constraints */
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +0800196 asn_MBR_Epyt_1,
197 3, /* Elements count */
198 &asn_SPC_Epyt_specs_1 /* Additional specs */
Lev Walkincaf0d5a2005-03-04 23:48:19 +0000199};
200
201
Lev Walkinc8285712005-03-04 22:18:20 +0000202/*** <<< INCLUDES [Epyt] >>> ***/
203
204#include <asn_SET_OF.h>
205#include <constr_SET_OF.h>
206#include <constr_SEQUENCE.h>
207
208/*** <<< FWD-DECLS [Epyt] >>> ***/
209
Lev Walkinbf56d542005-03-04 23:50:56 +0000210struct Type;
211struct Ypet;
Lev Walkinc8285712005-03-04 22:18:20 +0000212
213/*** <<< TYPE-DECLS [Epyt] >>> ***/
214
215typedef struct Epyt {
216 struct stype {
217 A_SET_OF(struct Type) list;
218
219 /* Context for parsing across buffer boundaries */
220 asn_struct_ctx_t _asn_ctx;
221 } stype;
222 struct Type *type /* OPTIONAL */;
223 struct Ypet *ypet /* OPTIONAL */;
224
225 /* Context for parsing across buffer boundaries */
226 asn_struct_ctx_t _asn_ctx;
227} Epyt_t;
228
229/*** <<< FUNC-DECLS [Epyt] >>> ***/
230
231extern asn_TYPE_descriptor_t asn_DEF_Epyt;
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +0800232extern asn_SEQUENCE_specifics_t asn_SPC_Epyt_specs_1;
233extern asn_TYPE_member_t asn_MBR_Epyt_1[3];
Lev Walkinc8285712005-03-04 22:18:20 +0000234
235/*** <<< POST-INCLUDE [Epyt] >>> ***/
236
Lev Walkin22b5ed42006-09-13 02:51:20 +0000237#include "Type.h"
238#include "Ypet.h"
Lev Walkinc8285712005-03-04 22:18:20 +0000239
240/*** <<< STAT-DEFS [Epyt] >>> ***/
241
242static asn_TYPE_member_t asn_MBR_stype_2[] = {
Lev Walkin8eb4b572005-08-16 16:57:17 +0000243 { ATF_POINTER, 0, 0,
Lev Walkinc8285712005-03-04 22:18:20 +0000244 .tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
245 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000246 .type = &asn_DEF_Type,
Lev Walkin67a30122017-08-10 05:48:54 -0700247 .type_selector = 0,
Lev Walkinc8285712005-03-04 22:18:20 +0000248 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkinb33425f2017-07-14 14:59:52 +0400249 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin59b176e2005-11-26 11:25:14 +0000250 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
251 .default_value = 0,
Lev Walkinc8285712005-03-04 22:18:20 +0000252 .name = ""
253 },
254};
Lev Walkina7591b52014-10-12 18:37:35 -0700255static const ber_tlv_tag_t asn_DEF_stype_tags_2[] = {
Lev Walkinc8285712005-03-04 22:18:20 +0000256 (ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
257};
Lev Walkin59b176e2005-11-26 11:25:14 +0000258static asn_SET_OF_specifics_t asn_SPC_stype_specs_2 = {
Lev Walkinc8285712005-03-04 22:18:20 +0000259 sizeof(struct stype),
260 offsetof(struct stype, _asn_ctx),
261 0, /* XER encoding is XMLDelimitedItemList */
262};
263static /* Use -fall-defs-global to expose */
264asn_TYPE_descriptor_t asn_DEF_stype_2 = {
265 "stype",
266 "stype",
267 SET_OF_free,
268 SET_OF_print,
Lev Walkincd2f48e2017-08-10 02:14:59 -0700269 SET_OF_compare,
Lev Walkinc8285712005-03-04 22:18:20 +0000270 SET_OF_constraint,
271 SET_OF_decode_ber,
272 SET_OF_encode_der,
273 SET_OF_decode_xer,
274 SET_OF_encode_xer,
Lev Walkinba68c912017-07-06 07:52:39 -0700275 0, 0, /* No OER support, use "-gen-OER" to enable */
Lev Walkinb33425f2017-07-14 14:59:52 +0400276 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkinc8285712005-03-04 22:18:20 +0000277 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +0000278 asn_DEF_stype_tags_2,
279 sizeof(asn_DEF_stype_tags_2)
280 /sizeof(asn_DEF_stype_tags_2[0]), /* 1 */
281 asn_DEF_stype_tags_2, /* Same as above */
282 sizeof(asn_DEF_stype_tags_2)
283 /sizeof(asn_DEF_stype_tags_2[0]), /* 1 */
Lev Walkinb33425f2017-07-14 14:59:52 +0400284 0, /* No OER visible constraints */
Lev Walkin59b176e2005-11-26 11:25:14 +0000285 0, /* No PER visible constraints */
Lev Walkinc8285712005-03-04 22:18:20 +0000286 asn_MBR_stype_2,
287 1, /* Single element */
Lev Walkin59b176e2005-11-26 11:25:14 +0000288 &asn_SPC_stype_specs_2 /* Additional specs */
Lev Walkinc8285712005-03-04 22:18:20 +0000289};
290
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +0800291asn_TYPE_member_t asn_MBR_Epyt_1[] = {
Lev Walkinc8285712005-03-04 22:18:20 +0000292 { ATF_NOFLAGS, 0, offsetof(struct Epyt, stype),
293 .tag = (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)),
294 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000295 .type = &asn_DEF_stype_2,
Lev Walkin67a30122017-08-10 05:48:54 -0700296 .type_selector = 0,
Lev Walkinc8285712005-03-04 22:18:20 +0000297 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkinb33425f2017-07-14 14:59:52 +0400298 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin59b176e2005-11-26 11:25:14 +0000299 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
300 .default_value = 0,
Lev Walkinc8285712005-03-04 22:18:20 +0000301 .name = "stype"
302 },
303 { ATF_POINTER, 2, offsetof(struct Epyt, type),
304 .tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
305 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000306 .type = &asn_DEF_Type,
Lev Walkin67a30122017-08-10 05:48:54 -0700307 .type_selector = 0,
Lev Walkinc8285712005-03-04 22:18:20 +0000308 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkinb33425f2017-07-14 14:59:52 +0400309 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin59b176e2005-11-26 11:25:14 +0000310 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
311 .default_value = 0,
Lev Walkinc8285712005-03-04 22:18:20 +0000312 .name = "type"
313 },
314 { ATF_POINTER, 1, offsetof(struct Epyt, ypet),
315 .tag = (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)),
316 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000317 .type = &asn_DEF_Ypet,
Lev Walkin67a30122017-08-10 05:48:54 -0700318 .type_selector = 0,
Lev Walkinc8285712005-03-04 22:18:20 +0000319 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkinb33425f2017-07-14 14:59:52 +0400320 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin59b176e2005-11-26 11:25:14 +0000321 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
322 .default_value = 0,
Lev Walkinc8285712005-03-04 22:18:20 +0000323 .name = "ypet"
324 },
325};
Lev Walkina7591b52014-10-12 18:37:35 -0700326static const ber_tlv_tag_t asn_DEF_Epyt_tags_1[] = {
Lev Walkinc8285712005-03-04 22:18:20 +0000327 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
328};
Lev Walkina7591b52014-10-12 18:37:35 -0700329static const asn_TYPE_tag2member_t asn_MAP_Epyt_tag2el_1[] = {
Lev Walkin4062b012013-10-11 14:29:38 -0700330 { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 1, 0, 0 }, /* type */
331 { (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)), 0, 0, 1 }, /* stype */
332 { (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)), 2, -1, 0 } /* ypet */
Lev Walkinc8285712005-03-04 22:18:20 +0000333};
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +0800334asn_SEQUENCE_specifics_t asn_SPC_Epyt_specs_1 = {
Lev Walkinc8285712005-03-04 22:18:20 +0000335 sizeof(struct Epyt),
336 offsetof(struct Epyt, _asn_ctx),
Lev Walkine3917082017-08-23 10:29:38 -0700337 .tag2el = asn_MAP_Epyt_tag2el_1,
338 .tag2el_count = 3, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +0000339 0, 0, 0, /* Optional elements (not needed) */
Lev Walkinc8285712005-03-04 22:18:20 +0000340 -1, /* Start extensions */
341 -1 /* Stop extensions */
342};
343asn_TYPE_descriptor_t asn_DEF_Epyt = {
344 "Epyt",
345 "Epyt",
346 SEQUENCE_free,
347 SEQUENCE_print,
Lev Walkincd2f48e2017-08-10 02:14:59 -0700348 SEQUENCE_compare,
Lev Walkinc8285712005-03-04 22:18:20 +0000349 SEQUENCE_constraint,
350 SEQUENCE_decode_ber,
351 SEQUENCE_encode_der,
352 SEQUENCE_decode_xer,
353 SEQUENCE_encode_xer,
Lev Walkinba68c912017-07-06 07:52:39 -0700354 0, 0, /* No OER support, use "-gen-OER" to enable */
Lev Walkinb33425f2017-07-14 14:59:52 +0400355 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkinc8285712005-03-04 22:18:20 +0000356 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +0000357 asn_DEF_Epyt_tags_1,
358 sizeof(asn_DEF_Epyt_tags_1)
359 /sizeof(asn_DEF_Epyt_tags_1[0]), /* 1 */
360 asn_DEF_Epyt_tags_1, /* Same as above */
361 sizeof(asn_DEF_Epyt_tags_1)
362 /sizeof(asn_DEF_Epyt_tags_1[0]), /* 1 */
Lev Walkinb33425f2017-07-14 14:59:52 +0400363 0, /* No OER visible constraints */
Lev Walkin59b176e2005-11-26 11:25:14 +0000364 0, /* No PER visible constraints */
Lev Walkinc8285712005-03-04 22:18:20 +0000365 asn_MBR_Epyt_1,
366 3, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +0000367 &asn_SPC_Epyt_specs_1 /* Additional specs */
Lev Walkinc8285712005-03-04 22:18:20 +0000368};
369
370
371/*** <<< INCLUDES [Ypet] >>> ***/
372
Lev Walkinc8285712005-03-04 22:18:20 +0000373#include <INTEGER.h>
Lev Walkine8318b82005-03-06 09:29:03 +0000374#include <IA5String.h>
Lev Walkin22b5ed42006-09-13 02:51:20 +0000375#include "EnumType.h"
Lev Walkinfe7f6ec2005-03-04 22:38:22 +0000376#include <asn_SET_OF.h>
377#include <constr_SET_OF.h>
Lev Walkinc8285712005-03-04 22:18:20 +0000378#include <constr_SET.h>
379
380/*** <<< DEPS [Ypet] >>> ***/
381
382
383/*
384 * Method of determining the components presence
385 */
386typedef enum Ypet_PR {
387 Ypet_PR_epyt, /* Member epyt is present */
388 Ypet_PR_plain, /* Member plain is present */
Lev Walkinfe7f6ec2005-03-04 22:38:22 +0000389 Ypet_PR_senums, /* Member senums is present */
Lev Walkine8318b82005-03-06 09:29:03 +0000390 Ypet_PR_patest1, /* Member patest1 is present */
391 Ypet_PR_patest2, /* Member patest2 is present */
Lev Walkinc8285712005-03-04 22:18:20 +0000392} Ypet_PR;
393
Lev Walkinb85a8132005-08-18 13:38:19 +0000394/*** <<< FWD-DECLS [Ypet] >>> ***/
395
396struct Epyt;
397
Lev Walkinc8285712005-03-04 22:18:20 +0000398/*** <<< TYPE-DECLS [Ypet] >>> ***/
399
400typedef struct Ypet {
Lev Walkinb85a8132005-08-18 13:38:19 +0000401 struct Epyt *epyt;
Lev Walkinc8285712005-03-04 22:18:20 +0000402 INTEGER_t *plain /* DEFAULT 7 */;
Lev Walkinfe7f6ec2005-03-04 22:38:22 +0000403 struct senums {
404 A_SET_OF(EnumType_t) list;
405
406 /* Context for parsing across buffer boundaries */
407 asn_struct_ctx_t _asn_ctx;
408 } senums;
Lev Walkine8318b82005-03-06 09:29:03 +0000409 IA5String_t patest1;
410 IA5String_t patest2;
Lev Walkinc8285712005-03-04 22:18:20 +0000411
412 /* Presence bitmask: ASN_SET_ISPRESENT(pYpet, Ypet_PR_x) */
413 unsigned int _presence_map
Lev Walkine8318b82005-03-06 09:29:03 +0000414 [((5+(8*sizeof(unsigned int))-1)/(8*sizeof(unsigned int)))];
Lev Walkinc8285712005-03-04 22:18:20 +0000415
416 /* Context for parsing across buffer boundaries */
417 asn_struct_ctx_t _asn_ctx;
418} Ypet_t;
419
420/*** <<< FUNC-DECLS [Ypet] >>> ***/
421
422extern asn_TYPE_descriptor_t asn_DEF_Ypet;
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +0800423extern asn_SET_specifics_t asn_SPC_Ypet_specs_1;
424extern asn_TYPE_member_t asn_MBR_Ypet_1[5];
Lev Walkinc8285712005-03-04 22:18:20 +0000425
Lev Walkinb85a8132005-08-18 13:38:19 +0000426/*** <<< POST-INCLUDE [Ypet] >>> ***/
427
Lev Walkin22b5ed42006-09-13 02:51:20 +0000428#include "Epyt.h"
Lev Walkinb85a8132005-08-18 13:38:19 +0000429
Lev Walkine8318b82005-03-06 09:29:03 +0000430/*** <<< CTABLES [Ypet] >>> ***/
431
432static int check_permitted_alphabet_6(const void *sptr) {
433 /* The underlying type is IA5String */
434 const IA5String_t *st = (const IA5String_t *)sptr;
435 const uint8_t *ch = st->buf;
436 const uint8_t *end = ch + st->size;
437
438 for(; ch < end; ch++) {
439 uint8_t cv = *ch;
440 if(!(cv >= 65 && cv <= 90)) return -1;
441 }
442 return 0;
443}
444
445static int check_permitted_alphabet_7(const void *sptr) {
446 /* The underlying type is IA5String */
447 const IA5String_t *st = (const IA5String_t *)sptr;
448 const uint8_t *ch = st->buf;
449 const uint8_t *end = ch + st->size;
450
451 for(; ch < end; ch++) {
452 uint8_t cv = *ch;
453 if(!(cv >= 97 && cv <= 122)) return -1;
454 }
455 return 0;
456}
457
458
459/*** <<< CODE [Ypet] >>> ***/
460
461static int
Lev Walkin59b176e2005-11-26 11:25:14 +0000462memb_patest1_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr,
Lev Walkin1eded352006-07-13 11:19:01 +0000463 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
Lev Walkine8318b82005-03-06 09:29:03 +0000464 const IA5String_t *st = (const IA5String_t *)sptr;
465
466 if(!sptr) {
Lev Walkin7c1dc052016-03-14 03:08:15 -0700467 ASN__CTFAIL(app_key, td, sptr,
Lev Walkine8318b82005-03-06 09:29:03 +0000468 "%s: value not given (%s:%d)",
469 td->name, __FILE__, __LINE__);
470 return -1;
471 }
472
473
474 if(!check_permitted_alphabet_6(st)) {
475 /* Constraint check succeeded */
476 return 0;
477 } else {
Lev Walkin7c1dc052016-03-14 03:08:15 -0700478 ASN__CTFAIL(app_key, td, sptr,
Lev Walkine8318b82005-03-06 09:29:03 +0000479 "%s: constraint failed (%s:%d)",
480 td->name, __FILE__, __LINE__);
481 return -1;
482 }
483}
484
485static int
Lev Walkin59b176e2005-11-26 11:25:14 +0000486memb_patest2_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr,
Lev Walkin1eded352006-07-13 11:19:01 +0000487 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
Lev Walkine8318b82005-03-06 09:29:03 +0000488 const IA5String_t *st = (const IA5String_t *)sptr;
489
490 if(!sptr) {
Lev Walkin7c1dc052016-03-14 03:08:15 -0700491 ASN__CTFAIL(app_key, td, sptr,
Lev Walkine8318b82005-03-06 09:29:03 +0000492 "%s: value not given (%s:%d)",
493 td->name, __FILE__, __LINE__);
494 return -1;
495 }
496
497
498 if(!check_permitted_alphabet_7(st)) {
499 /* Constraint check succeeded */
500 return 0;
501 } else {
Lev Walkin7c1dc052016-03-14 03:08:15 -0700502 ASN__CTFAIL(app_key, td, sptr,
Lev Walkine8318b82005-03-06 09:29:03 +0000503 "%s: constraint failed (%s:%d)",
504 td->name, __FILE__, __LINE__);
505 return -1;
506 }
507}
508
509
Lev Walkinc8285712005-03-04 22:18:20 +0000510/*** <<< STAT-DEFS [Ypet] >>> ***/
511
Lev Walkin9f5bb3a2006-08-18 01:46:46 +0000512static int asn_DFL_3_set_7(int set_value, void **sptr) {
Lev Walkin59b176e2005-11-26 11:25:14 +0000513 INTEGER_t *st = *sptr;
514
515 if(!st) {
Lev Walkin9f5bb3a2006-08-18 01:46:46 +0000516 if(!set_value) return -1; /* Not a default value */
Lev Walkin59b176e2005-11-26 11:25:14 +0000517 st = (*sptr = CALLOC(1, sizeof(*st)));
518 if(!st) return -1;
519 }
520
Lev Walkin9f5bb3a2006-08-18 01:46:46 +0000521 if(set_value) {
522 /* Install default value 7 */
523 return asn_long2INTEGER(st, 7);
524 } else {
525 /* Test default value 7 */
526 long value;
527 if(asn_INTEGER2long(st, &value))
528 return -1;
529 return (value == 7);
530 }
Lev Walkin59b176e2005-11-26 11:25:14 +0000531}
Lev Walkine8318b82005-03-06 09:29:03 +0000532static asn_TYPE_member_t asn_MBR_senums_4[] = {
Lev Walkin8eb4b572005-08-16 16:57:17 +0000533 { ATF_POINTER, 0, 0,
Lev Walkinfe7f6ec2005-03-04 22:38:22 +0000534 .tag = (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)),
535 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000536 .type = &asn_DEF_EnumType,
Lev Walkin67a30122017-08-10 05:48:54 -0700537 .type_selector = 0,
Lev Walkinfe7f6ec2005-03-04 22:38:22 +0000538 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkinb33425f2017-07-14 14:59:52 +0400539 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin59b176e2005-11-26 11:25:14 +0000540 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
541 .default_value = 0,
Lev Walkinfe7f6ec2005-03-04 22:38:22 +0000542 .name = ""
543 },
544};
Lev Walkina7591b52014-10-12 18:37:35 -0700545static const ber_tlv_tag_t asn_DEF_senums_tags_4[] = {
Lev Walkinfe7f6ec2005-03-04 22:38:22 +0000546 (ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
547};
Lev Walkin59b176e2005-11-26 11:25:14 +0000548static asn_SET_OF_specifics_t asn_SPC_senums_specs_4 = {
Lev Walkinfe7f6ec2005-03-04 22:38:22 +0000549 sizeof(struct senums),
550 offsetof(struct senums, _asn_ctx),
551 1, /* XER encoding is XMLValueList */
552};
553static /* Use -fall-defs-global to expose */
Lev Walkine8318b82005-03-06 09:29:03 +0000554asn_TYPE_descriptor_t asn_DEF_senums_4 = {
Lev Walkinfe7f6ec2005-03-04 22:38:22 +0000555 "senums",
556 "senums",
557 SET_OF_free,
558 SET_OF_print,
Lev Walkincd2f48e2017-08-10 02:14:59 -0700559 SET_OF_compare,
Lev Walkinfe7f6ec2005-03-04 22:38:22 +0000560 SET_OF_constraint,
561 SET_OF_decode_ber,
562 SET_OF_encode_der,
563 SET_OF_decode_xer,
564 SET_OF_encode_xer,
Lev Walkinba68c912017-07-06 07:52:39 -0700565 0, 0, /* No OER support, use "-gen-OER" to enable */
Lev Walkinb33425f2017-07-14 14:59:52 +0400566 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkinfe7f6ec2005-03-04 22:38:22 +0000567 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +0000568 asn_DEF_senums_tags_4,
569 sizeof(asn_DEF_senums_tags_4)
570 /sizeof(asn_DEF_senums_tags_4[0]), /* 1 */
571 asn_DEF_senums_tags_4, /* Same as above */
572 sizeof(asn_DEF_senums_tags_4)
573 /sizeof(asn_DEF_senums_tags_4[0]), /* 1 */
Lev Walkinb33425f2017-07-14 14:59:52 +0400574 0, /* No OER visible constraints */
Lev Walkin59b176e2005-11-26 11:25:14 +0000575 0, /* No PER visible constraints */
Lev Walkine8318b82005-03-06 09:29:03 +0000576 asn_MBR_senums_4,
Lev Walkinfe7f6ec2005-03-04 22:38:22 +0000577 1, /* Single element */
Lev Walkin59b176e2005-11-26 11:25:14 +0000578 &asn_SPC_senums_specs_4 /* Additional specs */
Lev Walkinfe7f6ec2005-03-04 22:38:22 +0000579};
580
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +0800581asn_TYPE_member_t asn_MBR_Ypet_1[] = {
Lev Walkinb85a8132005-08-18 13:38:19 +0000582 { ATF_POINTER, 0, offsetof(struct Ypet, epyt),
Lev Walkinc8285712005-03-04 22:18:20 +0000583 .tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
584 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000585 .type = &asn_DEF_Epyt,
Lev Walkin67a30122017-08-10 05:48:54 -0700586 .type_selector = 0,
Lev Walkinc8285712005-03-04 22:18:20 +0000587 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkinb33425f2017-07-14 14:59:52 +0400588 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin59b176e2005-11-26 11:25:14 +0000589 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
590 .default_value = 0,
Lev Walkinc8285712005-03-04 22:18:20 +0000591 .name = "epyt"
592 },
593 { ATF_POINTER, 1, offsetof(struct Ypet, plain),
594 .tag = (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
595 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000596 .type = &asn_DEF_INTEGER,
Lev Walkin67a30122017-08-10 05:48:54 -0700597 .type_selector = 0,
Lev Walkinc8285712005-03-04 22:18:20 +0000598 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkinb33425f2017-07-14 14:59:52 +0400599 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin59b176e2005-11-26 11:25:14 +0000600 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
601 .default_value = asn_DFL_3_set_7, /* DEFAULT 7 */
Lev Walkinc8285712005-03-04 22:18:20 +0000602 .name = "plain"
603 },
Lev Walkinfe7f6ec2005-03-04 22:38:22 +0000604 { ATF_NOFLAGS, 0, offsetof(struct Ypet, senums),
605 .tag = (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)),
606 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000607 .type = &asn_DEF_senums_4,
Lev Walkin67a30122017-08-10 05:48:54 -0700608 .type_selector = 0,
Lev Walkinfe7f6ec2005-03-04 22:38:22 +0000609 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkinb33425f2017-07-14 14:59:52 +0400610 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin59b176e2005-11-26 11:25:14 +0000611 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
612 .default_value = 0,
Lev Walkinfe7f6ec2005-03-04 22:38:22 +0000613 .name = "senums"
614 },
Lev Walkine8318b82005-03-06 09:29:03 +0000615 { ATF_NOFLAGS, 0, offsetof(struct Ypet, patest1),
616 .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
617 .tag_mode = +1, /* EXPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000618 .type = &asn_DEF_IA5String,
Lev Walkin67a30122017-08-10 05:48:54 -0700619 .type_selector = 0,
Lev Walkin59b176e2005-11-26 11:25:14 +0000620 .memb_constraints = memb_patest1_constraint_1,
Lev Walkinb33425f2017-07-14 14:59:52 +0400621 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin59b176e2005-11-26 11:25:14 +0000622 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
623 .default_value = 0,
Lev Walkine8318b82005-03-06 09:29:03 +0000624 .name = "patest1"
625 },
626 { ATF_NOFLAGS, 0, offsetof(struct Ypet, patest2),
627 .tag = (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
628 .tag_mode = +1, /* EXPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000629 .type = &asn_DEF_IA5String,
Lev Walkin67a30122017-08-10 05:48:54 -0700630 .type_selector = 0,
Lev Walkin59b176e2005-11-26 11:25:14 +0000631 .memb_constraints = memb_patest2_constraint_1,
Lev Walkinb33425f2017-07-14 14:59:52 +0400632 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin59b176e2005-11-26 11:25:14 +0000633 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
634 .default_value = 0,
Lev Walkine8318b82005-03-06 09:29:03 +0000635 .name = "patest2"
636 },
Lev Walkinc8285712005-03-04 22:18:20 +0000637};
Lev Walkina7591b52014-10-12 18:37:35 -0700638static const ber_tlv_tag_t asn_DEF_Ypet_tags_1[] = {
Lev Walkinc8285712005-03-04 22:18:20 +0000639 (ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
640};
Lev Walkina7591b52014-10-12 18:37:35 -0700641static const asn_TYPE_tag2member_t asn_MAP_Ypet_tag2el_1[] = {
Lev Walkin4062b012013-10-11 14:29:38 -0700642 { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 1, 0, 0 }, /* plain */
643 { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 }, /* epyt */
644 { (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)), 2, 0, 0 }, /* senums */
645 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 3, 0, 0 }, /* patest1 */
646 { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 4, 0, 0 } /* patest2 */
Lev Walkinc8285712005-03-04 22:18:20 +0000647};
Lev Walkina7591b52014-10-12 18:37:35 -0700648static const uint8_t asn_MAP_Ypet_mmap_1[(5 + (8 * sizeof(unsigned int)) - 1) / 8] = {
Lev Walkine8318b82005-03-06 09:29:03 +0000649 (1 << 7) | (0 << 6) | (1 << 5) | (1 << 4) | (1 << 3)
Lev Walkinc8285712005-03-04 22:18:20 +0000650};
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +0800651asn_SET_specifics_t asn_SPC_Ypet_specs_1 = {
Lev Walkinc8285712005-03-04 22:18:20 +0000652 sizeof(struct Ypet),
653 offsetof(struct Ypet, _asn_ctx),
654 offsetof(struct Ypet, _presence_map),
Lev Walkine3917082017-08-23 10:29:38 -0700655 .tag2el = asn_MAP_Ypet_tag2el_1,
656 .tag2el_count = 5, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +0000657 asn_MAP_Ypet_tag2el_1, /* Same as above */
Lev Walkine8318b82005-03-06 09:29:03 +0000658 5, /* Count of tags in the CXER map */
Lev Walkinc8285712005-03-04 22:18:20 +0000659 0, /* Whether extensible */
Lev Walkin46ef3f32017-07-06 08:47:53 -0700660 (const unsigned int *)asn_MAP_Ypet_mmap_1 /* Mandatory elements map */
Lev Walkinc8285712005-03-04 22:18:20 +0000661};
662asn_TYPE_descriptor_t asn_DEF_Ypet = {
663 "Ypet",
664 "Ypet",
665 SET_free,
666 SET_print,
Lev Walkincd2f48e2017-08-10 02:14:59 -0700667 SET_compare,
Lev Walkinc8285712005-03-04 22:18:20 +0000668 SET_constraint,
669 SET_decode_ber,
670 SET_encode_der,
671 SET_decode_xer,
672 SET_encode_xer,
Lev Walkinba68c912017-07-06 07:52:39 -0700673 0, 0, /* No OER support, use "-gen-OER" to enable */
Lev Walkinb33425f2017-07-14 14:59:52 +0400674 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkinc8285712005-03-04 22:18:20 +0000675 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +0000676 asn_DEF_Ypet_tags_1,
677 sizeof(asn_DEF_Ypet_tags_1)
678 /sizeof(asn_DEF_Ypet_tags_1[0]), /* 1 */
679 asn_DEF_Ypet_tags_1, /* Same as above */
680 sizeof(asn_DEF_Ypet_tags_1)
681 /sizeof(asn_DEF_Ypet_tags_1[0]), /* 1 */
Lev Walkinb33425f2017-07-14 14:59:52 +0400682 0, /* No OER visible constraints */
Lev Walkin59b176e2005-11-26 11:25:14 +0000683 0, /* No PER visible constraints */
Lev Walkinc8285712005-03-04 22:18:20 +0000684 asn_MBR_Ypet_1,
Lev Walkine8318b82005-03-06 09:29:03 +0000685 5, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +0000686 &asn_SPC_Ypet_specs_1 /* Additional specs */
Lev Walkinc8285712005-03-04 22:18:20 +0000687};
688
Lev Walkinfe7f6ec2005-03-04 22:38:22 +0000689
690/*** <<< INCLUDES [EnumType] >>> ***/
691
692#include <ENUMERATED.h>
693
694/*** <<< DEPS [EnumType] >>> ***/
695
696typedef enum EnumType {
697 EnumType_one = 0,
698 EnumType_two = 1
Lev Walkin171487e2006-03-21 07:25:18 +0000699} e_EnumType;
Lev Walkinfe7f6ec2005-03-04 22:38:22 +0000700
701/*** <<< TYPE-DECLS [EnumType] >>> ***/
702
703typedef ENUMERATED_t EnumType_t;
704
705/*** <<< FUNC-DECLS [EnumType] >>> ***/
706
707extern asn_TYPE_descriptor_t asn_DEF_EnumType;
Lev Walkin9ded96c2017-08-23 04:38:31 -0700708extern const asn_INTEGER_specifics_t asn_SPC_EnumType_specs_1;
Lev Walkinfe7f6ec2005-03-04 22:38:22 +0000709asn_struct_free_f EnumType_free;
710asn_struct_print_f EnumType_print;
711asn_constr_check_f EnumType_constraint;
712ber_type_decoder_f EnumType_decode_ber;
713der_type_encoder_f EnumType_encode_der;
714xer_type_decoder_f EnumType_decode_xer;
715xer_type_encoder_f EnumType_encode_xer;
716
717/*** <<< CODE [EnumType] >>> ***/
718
Lev Walkinfe7f6ec2005-03-04 22:38:22 +0000719/*
720 * This type is implemented using ENUMERATED,
721 * so here we adjust the DEF accordingly.
722 */
Lev Walkinfe7f6ec2005-03-04 22:38:22 +0000723
724/*** <<< STAT-DEFS [EnumType] >>> ***/
725
Lev Walkina7591b52014-10-12 18:37:35 -0700726static const asn_INTEGER_enum_map_t asn_MAP_EnumType_value2enum_1[] = {
Lev Walkinfe7f6ec2005-03-04 22:38:22 +0000727 { 0, 3, "one" },
728 { 1, 3, "two" }
729};
Lev Walkina7591b52014-10-12 18:37:35 -0700730static const unsigned int asn_MAP_EnumType_enum2value_1[] = {
Lev Walkinfe7f6ec2005-03-04 22:38:22 +0000731 0, /* one(0) */
732 1 /* two(1) */
733};
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +0800734const asn_INTEGER_specifics_t asn_SPC_EnumType_specs_1 = {
Lev Walkin59b176e2005-11-26 11:25:14 +0000735 asn_MAP_EnumType_value2enum_1, /* "tag" => N; sorted by tag */
736 asn_MAP_EnumType_enum2value_1, /* N => "tag"; sorted by N */
Lev Walkinfe7f6ec2005-03-04 22:38:22 +0000737 2, /* Number of elements in the maps */
738 0, /* Enumeration is not extensible */
Lev Walkin8bb57a22007-12-03 13:41:36 +0000739 1, /* Strict enumeration */
740 0, /* Native long size */
741 0
Lev Walkinfe7f6ec2005-03-04 22:38:22 +0000742};
Lev Walkina7591b52014-10-12 18:37:35 -0700743static const ber_tlv_tag_t asn_DEF_EnumType_tags_1[] = {
Lev Walkinfe7f6ec2005-03-04 22:38:22 +0000744 (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
745};
746asn_TYPE_descriptor_t asn_DEF_EnumType = {
747 "EnumType",
748 "EnumType",
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +0800749 ENUMERATED_free,
750 ENUMERATED_print,
Lev Walkincd2f48e2017-08-10 02:14:59 -0700751 ENUMERATED_compare,
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +0800752 ENUMERATED_constraint,
753 ENUMERATED_decode_ber,
754 ENUMERATED_encode_der,
755 ENUMERATED_decode_xer,
756 ENUMERATED_encode_xer,
Lev Walkinba68c912017-07-06 07:52:39 -0700757 0, 0, /* No OER support, use "-gen-OER" to enable */
Lev Walkinb33425f2017-07-14 14:59:52 +0400758 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkinfe7f6ec2005-03-04 22:38:22 +0000759 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +0000760 asn_DEF_EnumType_tags_1,
761 sizeof(asn_DEF_EnumType_tags_1)
762 /sizeof(asn_DEF_EnumType_tags_1[0]), /* 1 */
763 asn_DEF_EnumType_tags_1, /* Same as above */
764 sizeof(asn_DEF_EnumType_tags_1)
765 /sizeof(asn_DEF_EnumType_tags_1[0]), /* 1 */
Lev Walkinb33425f2017-07-14 14:59:52 +0400766 0, /* No OER visible constraints */
Lev Walkin59b176e2005-11-26 11:25:14 +0000767 0, /* No PER visible constraints */
Lev Walkinfe7f6ec2005-03-04 22:38:22 +0000768 0, 0, /* Defined elsewhere */
Lev Walkin59b176e2005-11-26 11:25:14 +0000769 &asn_SPC_EnumType_specs_1 /* Additional specs */
Lev Walkinfe7f6ec2005-03-04 22:38:22 +0000770};
771