blob: dff2b80474c4bf1083d09820f04dd91f58695dd6 [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,
80 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkinb33425f2017-07-14 14:59:52 +040081 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin171487e2006-03-21 07:25:18 +000082 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
83 .default_value = asn_DFL_2_set_5, /* DEFAULT 5 */
84 .name = "field"
85 },
86};
Lev Walkina7591b52014-10-12 18:37:35 -070087static const ber_tlv_tag_t asn_DEF_Flag_16P0_tags_1[] = {
Lev Walkin171487e2006-03-21 07:25:18 +000088 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
89};
Lev Walkina7591b52014-10-12 18:37:35 -070090static const asn_TYPE_tag2member_t asn_MAP_Flag_16P0_tag2el_1[] = {
Lev Walkin4062b012013-10-11 14:29:38 -070091 { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 0 } /* field */
Lev Walkin171487e2006-03-21 07:25:18 +000092};
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +080093asn_SEQUENCE_specifics_t asn_SPC_Flag_16P0_specs_1 = {
Lev Walkin171487e2006-03-21 07:25:18 +000094 sizeof(struct Flag_16P0),
95 offsetof(struct Flag_16P0, _asn_ctx),
96 asn_MAP_Flag_16P0_tag2el_1,
97 1, /* Count of tags in the map */
98 0, 0, 0, /* Optional elements (not needed) */
99 -1, /* Start extensions */
100 -1 /* Stop extensions */
101};
102asn_TYPE_descriptor_t asn_DEF_Flag_16P0 = {
103 "Flag",
104 "Flag",
105 SEQUENCE_free,
106 SEQUENCE_print,
Lev Walkincd2f48e2017-08-10 02:14:59 -0700107 SEQUENCE_compare,
Lev Walkin171487e2006-03-21 07:25:18 +0000108 SEQUENCE_constraint,
109 SEQUENCE_decode_ber,
110 SEQUENCE_encode_der,
111 SEQUENCE_decode_xer,
112 SEQUENCE_encode_xer,
Lev Walkinba68c912017-07-06 07:52:39 -0700113 0, 0, /* No OER support, use "-gen-OER" to enable */
Lev Walkinb33425f2017-07-14 14:59:52 +0400114 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkin171487e2006-03-21 07:25:18 +0000115 0, /* Use generic outmost tag fetcher */
116 asn_DEF_Flag_16P0_tags_1,
117 sizeof(asn_DEF_Flag_16P0_tags_1)
118 /sizeof(asn_DEF_Flag_16P0_tags_1[0]), /* 1 */
119 asn_DEF_Flag_16P0_tags_1, /* Same as above */
120 sizeof(asn_DEF_Flag_16P0_tags_1)
121 /sizeof(asn_DEF_Flag_16P0_tags_1[0]), /* 1 */
Lev Walkinb33425f2017-07-14 14:59:52 +0400122 0, /* No OER visible constraints */
Lev Walkin171487e2006-03-21 07:25:18 +0000123 0, /* No PER visible constraints */
124 asn_MBR_Flag_16P0_1,
125 1, /* Elements count */
126 &asn_SPC_Flag_16P0_specs_1 /* Additional specs */
127};
128
Lev Walkin9f5bb3a2006-08-18 01:46:46 +0000129static int asn_DFL_7_set_5(int set_value, void **sptr) {
Lev Walkin171487e2006-03-21 07:25:18 +0000130 ENUMERATED_t *st = *sptr;
131
132 if(!st) {
Lev Walkin9f5bb3a2006-08-18 01:46:46 +0000133 if(!set_value) return -1; /* Not a default value */
Lev Walkin171487e2006-03-21 07:25:18 +0000134 st = (*sptr = CALLOC(1, sizeof(*st)));
135 if(!st) return -1;
136 }
137
Lev Walkin9f5bb3a2006-08-18 01:46:46 +0000138 if(set_value) {
139 /* Install default value 5 */
140 return asn_long2INTEGER(st, 5);
141 } else {
142 /* Test default value 5 */
143 long value;
144 if(asn_INTEGER2long(st, &value))
145 return -1;
146 return (value == 5);
147 }
Lev Walkin171487e2006-03-21 07:25:18 +0000148}
Lev Walkina7591b52014-10-12 18:37:35 -0700149static const asn_INTEGER_enum_map_t asn_MAP_field_value2enum_7[] = {
Lev Walkin171487e2006-03-21 07:25:18 +0000150 { 3, 3, "red" },
151 { 4, 5, "green" },
152 { 5, 4, "blue" }
153};
Lev Walkina7591b52014-10-12 18:37:35 -0700154static const unsigned int asn_MAP_field_enum2value_7[] = {
Lev Walkin171487e2006-03-21 07:25:18 +0000155 2, /* blue(5) */
156 1, /* green(4) */
157 0 /* red(3) */
158};
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +0800159static const asn_INTEGER_specifics_t asn_SPC_field_specs_7 = {
Lev Walkin171487e2006-03-21 07:25:18 +0000160 asn_MAP_field_value2enum_7, /* "tag" => N; sorted by tag */
161 asn_MAP_field_enum2value_7, /* N => "tag"; sorted by N */
162 3, /* Number of elements in the maps */
163 0, /* Enumeration is not extensible */
Lev Walkin8bb57a22007-12-03 13:41:36 +0000164 1, /* Strict enumeration */
165 0, /* Native long size */
166 0
Lev Walkin171487e2006-03-21 07:25:18 +0000167};
Lev Walkina7591b52014-10-12 18:37:35 -0700168static const ber_tlv_tag_t asn_DEF_field_tags_7[] = {
Lev Walkin171487e2006-03-21 07:25:18 +0000169 (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
170};
171static /* Use -fall-defs-global to expose */
172asn_TYPE_descriptor_t asn_DEF_field_7 = {
173 "field",
174 "field",
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +0800175 ENUMERATED_free,
176 ENUMERATED_print,
Lev Walkincd2f48e2017-08-10 02:14:59 -0700177 ENUMERATED_compare,
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +0800178 ENUMERATED_constraint,
179 ENUMERATED_decode_ber,
180 ENUMERATED_encode_der,
181 ENUMERATED_decode_xer,
182 ENUMERATED_encode_xer,
Lev Walkinba68c912017-07-06 07:52:39 -0700183 0, 0, /* No OER support, use "-gen-OER" to enable */
Lev Walkinb33425f2017-07-14 14:59:52 +0400184 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkin171487e2006-03-21 07:25:18 +0000185 0, /* Use generic outmost tag fetcher */
186 asn_DEF_field_tags_7,
187 sizeof(asn_DEF_field_tags_7)
188 /sizeof(asn_DEF_field_tags_7[0]), /* 1 */
189 asn_DEF_field_tags_7, /* Same as above */
190 sizeof(asn_DEF_field_tags_7)
191 /sizeof(asn_DEF_field_tags_7[0]), /* 1 */
Lev Walkinb33425f2017-07-14 14:59:52 +0400192 0, /* No OER visible constraints */
Lev Walkin171487e2006-03-21 07:25:18 +0000193 0, /* No PER visible constraints */
194 0, 0, /* Defined elsewhere */
195 &asn_SPC_field_specs_7 /* Additional specs */
196};
197
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +0800198asn_TYPE_member_t asn_MBR_Flag_16P1_6[] = {
Lev Walkin171487e2006-03-21 07:25:18 +0000199 { ATF_POINTER, 1, offsetof(struct Flag_16P1, field),
200 .tag = (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)),
201 .tag_mode = 0,
202 .type = &asn_DEF_field_7,
203 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkinb33425f2017-07-14 14:59:52 +0400204 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin171487e2006-03-21 07:25:18 +0000205 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
206 .default_value = asn_DFL_7_set_5, /* DEFAULT 5 */
207 .name = "field"
208 },
209};
Lev Walkina7591b52014-10-12 18:37:35 -0700210static const ber_tlv_tag_t asn_DEF_Flag_16P1_tags_6[] = {
Lev Walkin171487e2006-03-21 07:25:18 +0000211 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
212};
Lev Walkina7591b52014-10-12 18:37:35 -0700213static const asn_TYPE_tag2member_t asn_MAP_Flag_16P1_tag2el_6[] = {
Lev Walkin4062b012013-10-11 14:29:38 -0700214 { (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), 0, 0, 0 } /* field */
Lev Walkin171487e2006-03-21 07:25:18 +0000215};
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +0800216asn_SEQUENCE_specifics_t asn_SPC_Flag_16P1_specs_6 = {
Lev Walkin171487e2006-03-21 07:25:18 +0000217 sizeof(struct Flag_16P1),
218 offsetof(struct Flag_16P1, _asn_ctx),
219 asn_MAP_Flag_16P1_tag2el_6,
220 1, /* Count of tags in the map */
221 0, 0, 0, /* Optional elements (not needed) */
222 -1, /* Start extensions */
223 -1 /* Stop extensions */
224};
225asn_TYPE_descriptor_t asn_DEF_Flag_16P1 = {
226 "Flag",
227 "Flag",
228 SEQUENCE_free,
229 SEQUENCE_print,
Lev Walkincd2f48e2017-08-10 02:14:59 -0700230 SEQUENCE_compare,
Lev Walkin171487e2006-03-21 07:25:18 +0000231 SEQUENCE_constraint,
232 SEQUENCE_decode_ber,
233 SEQUENCE_encode_der,
234 SEQUENCE_decode_xer,
235 SEQUENCE_encode_xer,
Lev Walkinba68c912017-07-06 07:52:39 -0700236 0, 0, /* No OER support, use "-gen-OER" to enable */
Lev Walkinb33425f2017-07-14 14:59:52 +0400237 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkin171487e2006-03-21 07:25:18 +0000238 0, /* Use generic outmost tag fetcher */
239 asn_DEF_Flag_16P1_tags_6,
240 sizeof(asn_DEF_Flag_16P1_tags_6)
241 /sizeof(asn_DEF_Flag_16P1_tags_6[0]), /* 1 */
242 asn_DEF_Flag_16P1_tags_6, /* Same as above */
243 sizeof(asn_DEF_Flag_16P1_tags_6)
244 /sizeof(asn_DEF_Flag_16P1_tags_6[0]), /* 1 */
Lev Walkinb33425f2017-07-14 14:59:52 +0400245 0, /* No OER visible constraints */
Lev Walkin171487e2006-03-21 07:25:18 +0000246 0, /* No PER visible constraints */
247 asn_MBR_Flag_16P1_6,
248 1, /* Elements count */
249 &asn_SPC_Flag_16P1_specs_6 /* Additional specs */
250};
251
252
253/*** <<< INCLUDES [IntegerColorFlag] >>> ***/
254
Lev Walkin22b5ed42006-09-13 02:51:20 +0000255#include "Flag.h"
Lev Walkin171487e2006-03-21 07:25:18 +0000256
257/*** <<< TYPE-DECLS [IntegerColorFlag] >>> ***/
258
259typedef Flag_16P0_t IntegerColorFlag_t;
260
261/*** <<< FUNC-DECLS [IntegerColorFlag] >>> ***/
262
263extern asn_TYPE_descriptor_t asn_DEF_IntegerColorFlag;
264asn_struct_free_f IntegerColorFlag_free;
265asn_struct_print_f IntegerColorFlag_print;
266asn_constr_check_f IntegerColorFlag_constraint;
267ber_type_decoder_f IntegerColorFlag_decode_ber;
268der_type_encoder_f IntegerColorFlag_encode_der;
269xer_type_decoder_f IntegerColorFlag_decode_xer;
270xer_type_encoder_f IntegerColorFlag_encode_xer;
271
272/*** <<< CODE [IntegerColorFlag] >>> ***/
273
Lev Walkin171487e2006-03-21 07:25:18 +0000274/*
275 * This type is implemented using Flag_16P0,
276 * so here we adjust the DEF accordingly.
277 */
Lev Walkin171487e2006-03-21 07:25:18 +0000278
279/*** <<< STAT-DEFS [IntegerColorFlag] >>> ***/
280
Lev Walkina7591b52014-10-12 18:37:35 -0700281static const ber_tlv_tag_t asn_DEF_IntegerColorFlag_tags_1[] = {
Lev Walkin171487e2006-03-21 07:25:18 +0000282 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
283};
284asn_TYPE_descriptor_t asn_DEF_IntegerColorFlag = {
285 "IntegerColorFlag",
286 "IntegerColorFlag",
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +0800287 SEQUENCE_free,
288 SEQUENCE_print,
Lev Walkincd2f48e2017-08-10 02:14:59 -0700289 SEQUENCE_compare,
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +0800290 SEQUENCE_constraint,
291 SEQUENCE_decode_ber,
292 SEQUENCE_encode_der,
293 SEQUENCE_decode_xer,
294 SEQUENCE_encode_xer,
Lev Walkinba68c912017-07-06 07:52:39 -0700295 0, 0, /* No OER support, use "-gen-OER" to enable */
Lev Walkinb33425f2017-07-14 14:59:52 +0400296 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkin171487e2006-03-21 07:25:18 +0000297 0, /* Use generic outmost tag fetcher */
298 asn_DEF_IntegerColorFlag_tags_1,
299 sizeof(asn_DEF_IntegerColorFlag_tags_1)
300 /sizeof(asn_DEF_IntegerColorFlag_tags_1[0]), /* 1 */
301 asn_DEF_IntegerColorFlag_tags_1, /* Same as above */
302 sizeof(asn_DEF_IntegerColorFlag_tags_1)
303 /sizeof(asn_DEF_IntegerColorFlag_tags_1[0]), /* 1 */
Lev Walkinb33425f2017-07-14 14:59:52 +0400304 0, /* No OER visible constraints */
Lev Walkin171487e2006-03-21 07:25:18 +0000305 0, /* No PER visible constraints */
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +0800306 asn_MBR_Flag_16P0_1,
307 1, /* Elements count */
308 &asn_SPC_Flag_16P0_specs_1 /* Additional specs */
Lev Walkin171487e2006-03-21 07:25:18 +0000309};
310
311
312/*** <<< INCLUDES [EnumeratedColorFlag] >>> ***/
313
Lev Walkin22b5ed42006-09-13 02:51:20 +0000314#include "Flag.h"
Lev Walkin171487e2006-03-21 07:25:18 +0000315
316/*** <<< TYPE-DECLS [EnumeratedColorFlag] >>> ***/
317
318typedef Flag_16P1_t EnumeratedColorFlag_t;
319
320/*** <<< FUNC-DECLS [EnumeratedColorFlag] >>> ***/
321
322extern asn_TYPE_descriptor_t asn_DEF_EnumeratedColorFlag;
323asn_struct_free_f EnumeratedColorFlag_free;
324asn_struct_print_f EnumeratedColorFlag_print;
325asn_constr_check_f EnumeratedColorFlag_constraint;
326ber_type_decoder_f EnumeratedColorFlag_decode_ber;
327der_type_encoder_f EnumeratedColorFlag_encode_der;
328xer_type_decoder_f EnumeratedColorFlag_decode_xer;
329xer_type_encoder_f EnumeratedColorFlag_encode_xer;
330
331/*** <<< CODE [EnumeratedColorFlag] >>> ***/
332
Lev Walkin171487e2006-03-21 07:25:18 +0000333/*
334 * This type is implemented using Flag_16P1,
335 * so here we adjust the DEF accordingly.
336 */
Lev Walkin171487e2006-03-21 07:25:18 +0000337
338/*** <<< STAT-DEFS [EnumeratedColorFlag] >>> ***/
339
Lev Walkina7591b52014-10-12 18:37:35 -0700340static const ber_tlv_tag_t asn_DEF_EnumeratedColorFlag_tags_1[] = {
Lev Walkin171487e2006-03-21 07:25:18 +0000341 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
342};
343asn_TYPE_descriptor_t asn_DEF_EnumeratedColorFlag = {
344 "EnumeratedColorFlag",
345 "EnumeratedColorFlag",
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +0800346 SEQUENCE_free,
347 SEQUENCE_print,
Lev Walkincd2f48e2017-08-10 02:14:59 -0700348 SEQUENCE_compare,
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +0800349 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 Walkin171487e2006-03-21 07:25:18 +0000356 0, /* Use generic outmost tag fetcher */
357 asn_DEF_EnumeratedColorFlag_tags_1,
358 sizeof(asn_DEF_EnumeratedColorFlag_tags_1)
359 /sizeof(asn_DEF_EnumeratedColorFlag_tags_1[0]), /* 1 */
360 asn_DEF_EnumeratedColorFlag_tags_1, /* Same as above */
361 sizeof(asn_DEF_EnumeratedColorFlag_tags_1)
362 /sizeof(asn_DEF_EnumeratedColorFlag_tags_1[0]), /* 1 */
Lev Walkinb33425f2017-07-14 14:59:52 +0400363 0, /* No OER visible constraints */
Lev Walkin171487e2006-03-21 07:25:18 +0000364 0, /* No PER visible constraints */
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +0800365 asn_MBR_Flag_16P1_6,
366 1, /* Elements count */
367 &asn_SPC_Flag_16P1_specs_6 /* Additional specs */
Lev Walkin171487e2006-03-21 07:25:18 +0000368};
369