blob: 4d8510548601006856d1309ae819754725cd70e8 [file] [log] [blame]
Lev Walkin171487e2006-03-21 07:25:18 +00001
2/*** <<< INCLUDES [Flag] >>> ***/
3
4#include <INTEGER.h>
5#include <constr_SEQUENCE.h>
6#include <ENUMERATED.h>
7
8/*** <<< DEPS [Flag] >>> ***/
9
10typedef enum field {
11 field_red = 0,
12 field_green = 1,
13 field_blue = 5
14} e_field;
15typedef enum field {
16 field_red = 3,
17 field_green = 4,
18 field_blue = 5
19} e_field;
20
21/*** <<< TYPE-DECLS [Flag] >>> ***/
22
23typedef struct Flag_16P0 {
24 INTEGER_t *field /* DEFAULT 5 */;
25
26 /* Context for parsing across buffer boundaries */
27 asn_struct_ctx_t _asn_ctx;
28} Flag_16P0_t;
29typedef struct Flag_16P1 {
30 ENUMERATED_t *field /* DEFAULT 5 */;
31
32 /* Context for parsing across buffer boundaries */
33 asn_struct_ctx_t _asn_ctx;
34} Flag_16P1_t;
35
36/*** <<< FUNC-DECLS [Flag] >>> ***/
37
38extern asn_TYPE_descriptor_t asn_DEF_Flag_16P0;
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +080039extern asn_SEQUENCE_specifics_t asn_SPC_Flag_16P0_specs_1;
40extern asn_TYPE_member_t asn_MBR_Flag_16P0_1[1];
Lev Walkin171487e2006-03-21 07:25:18 +000041/* extern asn_TYPE_descriptor_t asn_DEF_field_7; // (Use -fall-defs-global to expose) */
42extern asn_TYPE_descriptor_t asn_DEF_Flag_16P1;
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +080043extern asn_SEQUENCE_specifics_t asn_SPC_Flag_16P1_specs_6;
44extern asn_TYPE_member_t asn_MBR_Flag_16P1_6[1];
Lev Walkin171487e2006-03-21 07:25:18 +000045
46/*** <<< CODE [Flag] >>> ***/
47
Lev Walkin171487e2006-03-21 07:25:18 +000048/*
49 * This type is implemented using ENUMERATED,
50 * so here we adjust the DEF accordingly.
51 */
Lev Walkin171487e2006-03-21 07:25:18 +000052
53/*** <<< STAT-DEFS [Flag] >>> ***/
54
Lev Walkin9f5bb3a2006-08-18 01:46:46 +000055static int asn_DFL_2_set_5(int set_value, void **sptr) {
Lev Walkin171487e2006-03-21 07:25:18 +000056 INTEGER_t *st = *sptr;
57
58 if(!st) {
Lev Walkin9f5bb3a2006-08-18 01:46:46 +000059 if(!set_value) return -1; /* Not a default value */
Lev Walkin171487e2006-03-21 07:25:18 +000060 st = (*sptr = CALLOC(1, sizeof(*st)));
61 if(!st) return -1;
62 }
63
Lev Walkin9f5bb3a2006-08-18 01:46:46 +000064 if(set_value) {
65 /* Install default value 5 */
66 return asn_long2INTEGER(st, 5);
67 } else {
68 /* Test default value 5 */
69 long value;
70 if(asn_INTEGER2long(st, &value))
71 return -1;
72 return (value == 5);
73 }
Lev Walkin171487e2006-03-21 07:25:18 +000074}
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +080075asn_TYPE_member_t asn_MBR_Flag_16P0_1[] = {
Lev Walkin171487e2006-03-21 07:25:18 +000076 { ATF_POINTER, 1, offsetof(struct Flag_16P0, field),
77 .tag = (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
78 .tag_mode = 0,
79 .type = &asn_DEF_INTEGER,
Lev Walkin67a30122017-08-10 05:48:54 -070080 .type_selector = 0,
Lev Walkin171487e2006-03-21 07:25:18 +000081 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkinb33425f2017-07-14 14:59:52 +040082 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin171487e2006-03-21 07:25:18 +000083 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
84 .default_value = asn_DFL_2_set_5, /* DEFAULT 5 */
85 .name = "field"
86 },
87};
Lev Walkina7591b52014-10-12 18:37:35 -070088static const ber_tlv_tag_t asn_DEF_Flag_16P0_tags_1[] = {
Lev Walkin171487e2006-03-21 07:25:18 +000089 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
90};
Lev Walkina7591b52014-10-12 18:37:35 -070091static const asn_TYPE_tag2member_t asn_MAP_Flag_16P0_tag2el_1[] = {
Lev Walkin4062b012013-10-11 14:29:38 -070092 { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 0 } /* field */
Lev Walkin171487e2006-03-21 07:25:18 +000093};
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +080094asn_SEQUENCE_specifics_t asn_SPC_Flag_16P0_specs_1 = {
Lev Walkin171487e2006-03-21 07:25:18 +000095 sizeof(struct Flag_16P0),
96 offsetof(struct Flag_16P0, _asn_ctx),
Lev Walkine3917082017-08-23 10:29:38 -070097 .tag2el = asn_MAP_Flag_16P0_tag2el_1,
98 .tag2el_count = 1, /* Count of tags in the map */
Lev Walkin171487e2006-03-21 07:25:18 +000099 0, 0, 0, /* Optional elements (not needed) */
100 -1, /* Start extensions */
101 -1 /* Stop extensions */
102};
103asn_TYPE_descriptor_t asn_DEF_Flag_16P0 = {
104 "Flag",
105 "Flag",
106 SEQUENCE_free,
107 SEQUENCE_print,
Lev Walkincd2f48e2017-08-10 02:14:59 -0700108 SEQUENCE_compare,
Lev Walkin171487e2006-03-21 07:25:18 +0000109 SEQUENCE_constraint,
110 SEQUENCE_decode_ber,
111 SEQUENCE_encode_der,
112 SEQUENCE_decode_xer,
113 SEQUENCE_encode_xer,
Lev Walkinba68c912017-07-06 07:52:39 -0700114 0, 0, /* No OER support, use "-gen-OER" to enable */
Lev Walkinb33425f2017-07-14 14:59:52 +0400115 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkin171487e2006-03-21 07:25:18 +0000116 0, /* Use generic outmost tag fetcher */
117 asn_DEF_Flag_16P0_tags_1,
118 sizeof(asn_DEF_Flag_16P0_tags_1)
119 /sizeof(asn_DEF_Flag_16P0_tags_1[0]), /* 1 */
120 asn_DEF_Flag_16P0_tags_1, /* Same as above */
121 sizeof(asn_DEF_Flag_16P0_tags_1)
122 /sizeof(asn_DEF_Flag_16P0_tags_1[0]), /* 1 */
Lev Walkinb33425f2017-07-14 14:59:52 +0400123 0, /* No OER visible constraints */
Lev Walkin171487e2006-03-21 07:25:18 +0000124 0, /* No PER visible constraints */
125 asn_MBR_Flag_16P0_1,
126 1, /* Elements count */
127 &asn_SPC_Flag_16P0_specs_1 /* Additional specs */
128};
129
Lev Walkin9f5bb3a2006-08-18 01:46:46 +0000130static int asn_DFL_7_set_5(int set_value, void **sptr) {
Lev Walkin171487e2006-03-21 07:25:18 +0000131 ENUMERATED_t *st = *sptr;
132
133 if(!st) {
Lev Walkin9f5bb3a2006-08-18 01:46:46 +0000134 if(!set_value) return -1; /* Not a default value */
Lev Walkin171487e2006-03-21 07:25:18 +0000135 st = (*sptr = CALLOC(1, sizeof(*st)));
136 if(!st) return -1;
137 }
138
Lev Walkin9f5bb3a2006-08-18 01:46:46 +0000139 if(set_value) {
140 /* Install default value 5 */
141 return asn_long2INTEGER(st, 5);
142 } else {
143 /* Test default value 5 */
144 long value;
145 if(asn_INTEGER2long(st, &value))
146 return -1;
147 return (value == 5);
148 }
Lev Walkin171487e2006-03-21 07:25:18 +0000149}
Lev Walkina7591b52014-10-12 18:37:35 -0700150static const asn_INTEGER_enum_map_t asn_MAP_field_value2enum_7[] = {
Lev Walkin171487e2006-03-21 07:25:18 +0000151 { 3, 3, "red" },
152 { 4, 5, "green" },
153 { 5, 4, "blue" }
154};
Lev Walkina7591b52014-10-12 18:37:35 -0700155static const unsigned int asn_MAP_field_enum2value_7[] = {
Lev Walkin171487e2006-03-21 07:25:18 +0000156 2, /* blue(5) */
157 1, /* green(4) */
158 0 /* red(3) */
159};
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +0800160static const asn_INTEGER_specifics_t asn_SPC_field_specs_7 = {
Lev Walkin171487e2006-03-21 07:25:18 +0000161 asn_MAP_field_value2enum_7, /* "tag" => N; sorted by tag */
162 asn_MAP_field_enum2value_7, /* N => "tag"; sorted by N */
163 3, /* Number of elements in the maps */
164 0, /* Enumeration is not extensible */
Lev Walkin8bb57a22007-12-03 13:41:36 +0000165 1, /* Strict enumeration */
166 0, /* Native long size */
167 0
Lev Walkin171487e2006-03-21 07:25:18 +0000168};
Lev Walkina7591b52014-10-12 18:37:35 -0700169static const ber_tlv_tag_t asn_DEF_field_tags_7[] = {
Lev Walkin171487e2006-03-21 07:25:18 +0000170 (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
171};
172static /* Use -fall-defs-global to expose */
173asn_TYPE_descriptor_t asn_DEF_field_7 = {
174 "field",
175 "field",
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +0800176 ENUMERATED_free,
177 ENUMERATED_print,
Lev Walkincd2f48e2017-08-10 02:14:59 -0700178 ENUMERATED_compare,
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +0800179 ENUMERATED_constraint,
180 ENUMERATED_decode_ber,
181 ENUMERATED_encode_der,
182 ENUMERATED_decode_xer,
183 ENUMERATED_encode_xer,
Lev Walkinba68c912017-07-06 07:52:39 -0700184 0, 0, /* No OER support, use "-gen-OER" to enable */
Lev Walkinb33425f2017-07-14 14:59:52 +0400185 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkin171487e2006-03-21 07:25:18 +0000186 0, /* Use generic outmost tag fetcher */
187 asn_DEF_field_tags_7,
188 sizeof(asn_DEF_field_tags_7)
189 /sizeof(asn_DEF_field_tags_7[0]), /* 1 */
190 asn_DEF_field_tags_7, /* Same as above */
191 sizeof(asn_DEF_field_tags_7)
192 /sizeof(asn_DEF_field_tags_7[0]), /* 1 */
Lev Walkinb33425f2017-07-14 14:59:52 +0400193 0, /* No OER visible constraints */
Lev Walkin171487e2006-03-21 07:25:18 +0000194 0, /* No PER visible constraints */
195 0, 0, /* Defined elsewhere */
196 &asn_SPC_field_specs_7 /* Additional specs */
197};
198
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +0800199asn_TYPE_member_t asn_MBR_Flag_16P1_6[] = {
Lev Walkin171487e2006-03-21 07:25:18 +0000200 { ATF_POINTER, 1, offsetof(struct Flag_16P1, field),
201 .tag = (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)),
202 .tag_mode = 0,
203 .type = &asn_DEF_field_7,
Lev Walkin67a30122017-08-10 05:48:54 -0700204 .type_selector = 0,
Lev Walkin171487e2006-03-21 07:25:18 +0000205 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkinb33425f2017-07-14 14:59:52 +0400206 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin171487e2006-03-21 07:25:18 +0000207 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
208 .default_value = asn_DFL_7_set_5, /* DEFAULT 5 */
209 .name = "field"
210 },
211};
Lev Walkina7591b52014-10-12 18:37:35 -0700212static const ber_tlv_tag_t asn_DEF_Flag_16P1_tags_6[] = {
Lev Walkin171487e2006-03-21 07:25:18 +0000213 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
214};
Lev Walkina7591b52014-10-12 18:37:35 -0700215static const asn_TYPE_tag2member_t asn_MAP_Flag_16P1_tag2el_6[] = {
Lev Walkin4062b012013-10-11 14:29:38 -0700216 { (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), 0, 0, 0 } /* field */
Lev Walkin171487e2006-03-21 07:25:18 +0000217};
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +0800218asn_SEQUENCE_specifics_t asn_SPC_Flag_16P1_specs_6 = {
Lev Walkin171487e2006-03-21 07:25:18 +0000219 sizeof(struct Flag_16P1),
220 offsetof(struct Flag_16P1, _asn_ctx),
Lev Walkine3917082017-08-23 10:29:38 -0700221 .tag2el = asn_MAP_Flag_16P1_tag2el_6,
222 .tag2el_count = 1, /* Count of tags in the map */
Lev Walkin171487e2006-03-21 07:25:18 +0000223 0, 0, 0, /* Optional elements (not needed) */
224 -1, /* Start extensions */
225 -1 /* Stop extensions */
226};
227asn_TYPE_descriptor_t asn_DEF_Flag_16P1 = {
228 "Flag",
229 "Flag",
230 SEQUENCE_free,
231 SEQUENCE_print,
Lev Walkincd2f48e2017-08-10 02:14:59 -0700232 SEQUENCE_compare,
Lev Walkin171487e2006-03-21 07:25:18 +0000233 SEQUENCE_constraint,
234 SEQUENCE_decode_ber,
235 SEQUENCE_encode_der,
236 SEQUENCE_decode_xer,
237 SEQUENCE_encode_xer,
Lev Walkinba68c912017-07-06 07:52:39 -0700238 0, 0, /* No OER support, use "-gen-OER" to enable */
Lev Walkinb33425f2017-07-14 14:59:52 +0400239 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkin171487e2006-03-21 07:25:18 +0000240 0, /* Use generic outmost tag fetcher */
241 asn_DEF_Flag_16P1_tags_6,
242 sizeof(asn_DEF_Flag_16P1_tags_6)
243 /sizeof(asn_DEF_Flag_16P1_tags_6[0]), /* 1 */
244 asn_DEF_Flag_16P1_tags_6, /* Same as above */
245 sizeof(asn_DEF_Flag_16P1_tags_6)
246 /sizeof(asn_DEF_Flag_16P1_tags_6[0]), /* 1 */
Lev Walkinb33425f2017-07-14 14:59:52 +0400247 0, /* No OER visible constraints */
Lev Walkin171487e2006-03-21 07:25:18 +0000248 0, /* No PER visible constraints */
249 asn_MBR_Flag_16P1_6,
250 1, /* Elements count */
251 &asn_SPC_Flag_16P1_specs_6 /* Additional specs */
252};
253
254
255/*** <<< INCLUDES [IntegerColorFlag] >>> ***/
256
Lev Walkin22b5ed42006-09-13 02:51:20 +0000257#include "Flag.h"
Lev Walkin171487e2006-03-21 07:25:18 +0000258
259/*** <<< TYPE-DECLS [IntegerColorFlag] >>> ***/
260
261typedef Flag_16P0_t IntegerColorFlag_t;
262
263/*** <<< FUNC-DECLS [IntegerColorFlag] >>> ***/
264
265extern asn_TYPE_descriptor_t asn_DEF_IntegerColorFlag;
266asn_struct_free_f IntegerColorFlag_free;
267asn_struct_print_f IntegerColorFlag_print;
268asn_constr_check_f IntegerColorFlag_constraint;
269ber_type_decoder_f IntegerColorFlag_decode_ber;
270der_type_encoder_f IntegerColorFlag_encode_der;
271xer_type_decoder_f IntegerColorFlag_decode_xer;
272xer_type_encoder_f IntegerColorFlag_encode_xer;
273
274/*** <<< CODE [IntegerColorFlag] >>> ***/
275
Lev Walkin171487e2006-03-21 07:25:18 +0000276/*
277 * This type is implemented using Flag_16P0,
278 * so here we adjust the DEF accordingly.
279 */
Lev Walkin171487e2006-03-21 07:25:18 +0000280
281/*** <<< STAT-DEFS [IntegerColorFlag] >>> ***/
282
Lev Walkina7591b52014-10-12 18:37:35 -0700283static const ber_tlv_tag_t asn_DEF_IntegerColorFlag_tags_1[] = {
Lev Walkin171487e2006-03-21 07:25:18 +0000284 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
285};
286asn_TYPE_descriptor_t asn_DEF_IntegerColorFlag = {
287 "IntegerColorFlag",
288 "IntegerColorFlag",
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +0800289 SEQUENCE_free,
290 SEQUENCE_print,
Lev Walkincd2f48e2017-08-10 02:14:59 -0700291 SEQUENCE_compare,
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +0800292 SEQUENCE_constraint,
293 SEQUENCE_decode_ber,
294 SEQUENCE_encode_der,
295 SEQUENCE_decode_xer,
296 SEQUENCE_encode_xer,
Lev Walkinba68c912017-07-06 07:52:39 -0700297 0, 0, /* No OER support, use "-gen-OER" to enable */
Lev Walkinb33425f2017-07-14 14:59:52 +0400298 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkin171487e2006-03-21 07:25:18 +0000299 0, /* Use generic outmost tag fetcher */
300 asn_DEF_IntegerColorFlag_tags_1,
301 sizeof(asn_DEF_IntegerColorFlag_tags_1)
302 /sizeof(asn_DEF_IntegerColorFlag_tags_1[0]), /* 1 */
303 asn_DEF_IntegerColorFlag_tags_1, /* Same as above */
304 sizeof(asn_DEF_IntegerColorFlag_tags_1)
305 /sizeof(asn_DEF_IntegerColorFlag_tags_1[0]), /* 1 */
Lev Walkinb33425f2017-07-14 14:59:52 +0400306 0, /* No OER visible constraints */
Lev Walkin171487e2006-03-21 07:25:18 +0000307 0, /* No PER visible constraints */
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +0800308 asn_MBR_Flag_16P0_1,
309 1, /* Elements count */
310 &asn_SPC_Flag_16P0_specs_1 /* Additional specs */
Lev Walkin171487e2006-03-21 07:25:18 +0000311};
312
313
314/*** <<< INCLUDES [EnumeratedColorFlag] >>> ***/
315
Lev Walkin22b5ed42006-09-13 02:51:20 +0000316#include "Flag.h"
Lev Walkin171487e2006-03-21 07:25:18 +0000317
318/*** <<< TYPE-DECLS [EnumeratedColorFlag] >>> ***/
319
320typedef Flag_16P1_t EnumeratedColorFlag_t;
321
322/*** <<< FUNC-DECLS [EnumeratedColorFlag] >>> ***/
323
324extern asn_TYPE_descriptor_t asn_DEF_EnumeratedColorFlag;
325asn_struct_free_f EnumeratedColorFlag_free;
326asn_struct_print_f EnumeratedColorFlag_print;
327asn_constr_check_f EnumeratedColorFlag_constraint;
328ber_type_decoder_f EnumeratedColorFlag_decode_ber;
329der_type_encoder_f EnumeratedColorFlag_encode_der;
330xer_type_decoder_f EnumeratedColorFlag_decode_xer;
331xer_type_encoder_f EnumeratedColorFlag_encode_xer;
332
333/*** <<< CODE [EnumeratedColorFlag] >>> ***/
334
Lev Walkin171487e2006-03-21 07:25:18 +0000335/*
336 * This type is implemented using Flag_16P1,
337 * so here we adjust the DEF accordingly.
338 */
Lev Walkin171487e2006-03-21 07:25:18 +0000339
340/*** <<< STAT-DEFS [EnumeratedColorFlag] >>> ***/
341
Lev Walkina7591b52014-10-12 18:37:35 -0700342static const ber_tlv_tag_t asn_DEF_EnumeratedColorFlag_tags_1[] = {
Lev Walkin171487e2006-03-21 07:25:18 +0000343 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
344};
345asn_TYPE_descriptor_t asn_DEF_EnumeratedColorFlag = {
346 "EnumeratedColorFlag",
347 "EnumeratedColorFlag",
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +0800348 SEQUENCE_free,
349 SEQUENCE_print,
Lev Walkincd2f48e2017-08-10 02:14:59 -0700350 SEQUENCE_compare,
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +0800351 SEQUENCE_constraint,
352 SEQUENCE_decode_ber,
353 SEQUENCE_encode_der,
354 SEQUENCE_decode_xer,
355 SEQUENCE_encode_xer,
Lev Walkinba68c912017-07-06 07:52:39 -0700356 0, 0, /* No OER support, use "-gen-OER" to enable */
Lev Walkinb33425f2017-07-14 14:59:52 +0400357 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkin171487e2006-03-21 07:25:18 +0000358 0, /* Use generic outmost tag fetcher */
359 asn_DEF_EnumeratedColorFlag_tags_1,
360 sizeof(asn_DEF_EnumeratedColorFlag_tags_1)
361 /sizeof(asn_DEF_EnumeratedColorFlag_tags_1[0]), /* 1 */
362 asn_DEF_EnumeratedColorFlag_tags_1, /* Same as above */
363 sizeof(asn_DEF_EnumeratedColorFlag_tags_1)
364 /sizeof(asn_DEF_EnumeratedColorFlag_tags_1[0]), /* 1 */
Lev Walkinb33425f2017-07-14 14:59:52 +0400365 0, /* No OER visible constraints */
Lev Walkin171487e2006-03-21 07:25:18 +0000366 0, /* No PER visible constraints */
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +0800367 asn_MBR_Flag_16P1_6,
368 1, /* Elements count */
369 &asn_SPC_Flag_16P1_specs_6 /* Additional specs */
Lev Walkin171487e2006-03-21 07:25:18 +0000370};
371