blob: d8258ffa25c8bfb1e0c7602e56a79c7c120b1959 [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,
107 SEQUENCE_constraint,
108 SEQUENCE_decode_ber,
109 SEQUENCE_encode_der,
110 SEQUENCE_decode_xer,
111 SEQUENCE_encode_xer,
Lev Walkinba68c912017-07-06 07:52:39 -0700112 0, 0, /* No OER support, use "-gen-OER" to enable */
Lev Walkinb33425f2017-07-14 14:59:52 +0400113 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkin171487e2006-03-21 07:25:18 +0000114 0, /* Use generic outmost tag fetcher */
115 asn_DEF_Flag_16P0_tags_1,
116 sizeof(asn_DEF_Flag_16P0_tags_1)
117 /sizeof(asn_DEF_Flag_16P0_tags_1[0]), /* 1 */
118 asn_DEF_Flag_16P0_tags_1, /* Same as above */
119 sizeof(asn_DEF_Flag_16P0_tags_1)
120 /sizeof(asn_DEF_Flag_16P0_tags_1[0]), /* 1 */
Lev Walkinb33425f2017-07-14 14:59:52 +0400121 0, /* No OER visible constraints */
Lev Walkin171487e2006-03-21 07:25:18 +0000122 0, /* No PER visible constraints */
123 asn_MBR_Flag_16P0_1,
124 1, /* Elements count */
125 &asn_SPC_Flag_16P0_specs_1 /* Additional specs */
126};
127
Lev Walkin9f5bb3a2006-08-18 01:46:46 +0000128static int asn_DFL_7_set_5(int set_value, void **sptr) {
Lev Walkin171487e2006-03-21 07:25:18 +0000129 ENUMERATED_t *st = *sptr;
130
131 if(!st) {
Lev Walkin9f5bb3a2006-08-18 01:46:46 +0000132 if(!set_value) return -1; /* Not a default value */
Lev Walkin171487e2006-03-21 07:25:18 +0000133 st = (*sptr = CALLOC(1, sizeof(*st)));
134 if(!st) return -1;
135 }
136
Lev Walkin9f5bb3a2006-08-18 01:46:46 +0000137 if(set_value) {
138 /* Install default value 5 */
139 return asn_long2INTEGER(st, 5);
140 } else {
141 /* Test default value 5 */
142 long value;
143 if(asn_INTEGER2long(st, &value))
144 return -1;
145 return (value == 5);
146 }
Lev Walkin171487e2006-03-21 07:25:18 +0000147}
Lev Walkina7591b52014-10-12 18:37:35 -0700148static const asn_INTEGER_enum_map_t asn_MAP_field_value2enum_7[] = {
Lev Walkin171487e2006-03-21 07:25:18 +0000149 { 3, 3, "red" },
150 { 4, 5, "green" },
151 { 5, 4, "blue" }
152};
Lev Walkina7591b52014-10-12 18:37:35 -0700153static const unsigned int asn_MAP_field_enum2value_7[] = {
Lev Walkin171487e2006-03-21 07:25:18 +0000154 2, /* blue(5) */
155 1, /* green(4) */
156 0 /* red(3) */
157};
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +0800158static const asn_INTEGER_specifics_t asn_SPC_field_specs_7 = {
Lev Walkin171487e2006-03-21 07:25:18 +0000159 asn_MAP_field_value2enum_7, /* "tag" => N; sorted by tag */
160 asn_MAP_field_enum2value_7, /* N => "tag"; sorted by N */
161 3, /* Number of elements in the maps */
162 0, /* Enumeration is not extensible */
Lev Walkin8bb57a22007-12-03 13:41:36 +0000163 1, /* Strict enumeration */
164 0, /* Native long size */
165 0
Lev Walkin171487e2006-03-21 07:25:18 +0000166};
Lev Walkina7591b52014-10-12 18:37:35 -0700167static const ber_tlv_tag_t asn_DEF_field_tags_7[] = {
Lev Walkin171487e2006-03-21 07:25:18 +0000168 (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
169};
170static /* Use -fall-defs-global to expose */
171asn_TYPE_descriptor_t asn_DEF_field_7 = {
172 "field",
173 "field",
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +0800174 ENUMERATED_free,
175 ENUMERATED_print,
176 ENUMERATED_constraint,
177 ENUMERATED_decode_ber,
178 ENUMERATED_encode_der,
179 ENUMERATED_decode_xer,
180 ENUMERATED_encode_xer,
Lev Walkinba68c912017-07-06 07:52:39 -0700181 0, 0, /* No OER support, use "-gen-OER" to enable */
Lev Walkinb33425f2017-07-14 14:59:52 +0400182 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkin171487e2006-03-21 07:25:18 +0000183 0, /* Use generic outmost tag fetcher */
184 asn_DEF_field_tags_7,
185 sizeof(asn_DEF_field_tags_7)
186 /sizeof(asn_DEF_field_tags_7[0]), /* 1 */
187 asn_DEF_field_tags_7, /* Same as above */
188 sizeof(asn_DEF_field_tags_7)
189 /sizeof(asn_DEF_field_tags_7[0]), /* 1 */
Lev Walkinb33425f2017-07-14 14:59:52 +0400190 0, /* No OER visible constraints */
Lev Walkin171487e2006-03-21 07:25:18 +0000191 0, /* No PER visible constraints */
192 0, 0, /* Defined elsewhere */
193 &asn_SPC_field_specs_7 /* Additional specs */
194};
195
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +0800196asn_TYPE_member_t asn_MBR_Flag_16P1_6[] = {
Lev Walkin171487e2006-03-21 07:25:18 +0000197 { ATF_POINTER, 1, offsetof(struct Flag_16P1, field),
198 .tag = (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)),
199 .tag_mode = 0,
200 .type = &asn_DEF_field_7,
201 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkinb33425f2017-07-14 14:59:52 +0400202 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin171487e2006-03-21 07:25:18 +0000203 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
204 .default_value = asn_DFL_7_set_5, /* DEFAULT 5 */
205 .name = "field"
206 },
207};
Lev Walkina7591b52014-10-12 18:37:35 -0700208static const ber_tlv_tag_t asn_DEF_Flag_16P1_tags_6[] = {
Lev Walkin171487e2006-03-21 07:25:18 +0000209 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
210};
Lev Walkina7591b52014-10-12 18:37:35 -0700211static const asn_TYPE_tag2member_t asn_MAP_Flag_16P1_tag2el_6[] = {
Lev Walkin4062b012013-10-11 14:29:38 -0700212 { (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), 0, 0, 0 } /* field */
Lev Walkin171487e2006-03-21 07:25:18 +0000213};
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +0800214asn_SEQUENCE_specifics_t asn_SPC_Flag_16P1_specs_6 = {
Lev Walkin171487e2006-03-21 07:25:18 +0000215 sizeof(struct Flag_16P1),
216 offsetof(struct Flag_16P1, _asn_ctx),
217 asn_MAP_Flag_16P1_tag2el_6,
218 1, /* Count of tags in the map */
219 0, 0, 0, /* Optional elements (not needed) */
220 -1, /* Start extensions */
221 -1 /* Stop extensions */
222};
223asn_TYPE_descriptor_t asn_DEF_Flag_16P1 = {
224 "Flag",
225 "Flag",
226 SEQUENCE_free,
227 SEQUENCE_print,
228 SEQUENCE_constraint,
229 SEQUENCE_decode_ber,
230 SEQUENCE_encode_der,
231 SEQUENCE_decode_xer,
232 SEQUENCE_encode_xer,
Lev Walkinba68c912017-07-06 07:52:39 -0700233 0, 0, /* No OER support, use "-gen-OER" to enable */
Lev Walkinb33425f2017-07-14 14:59:52 +0400234 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkin171487e2006-03-21 07:25:18 +0000235 0, /* Use generic outmost tag fetcher */
236 asn_DEF_Flag_16P1_tags_6,
237 sizeof(asn_DEF_Flag_16P1_tags_6)
238 /sizeof(asn_DEF_Flag_16P1_tags_6[0]), /* 1 */
239 asn_DEF_Flag_16P1_tags_6, /* Same as above */
240 sizeof(asn_DEF_Flag_16P1_tags_6)
241 /sizeof(asn_DEF_Flag_16P1_tags_6[0]), /* 1 */
Lev Walkinb33425f2017-07-14 14:59:52 +0400242 0, /* No OER visible constraints */
Lev Walkin171487e2006-03-21 07:25:18 +0000243 0, /* No PER visible constraints */
244 asn_MBR_Flag_16P1_6,
245 1, /* Elements count */
246 &asn_SPC_Flag_16P1_specs_6 /* Additional specs */
247};
248
249
250/*** <<< INCLUDES [IntegerColorFlag] >>> ***/
251
Lev Walkin22b5ed42006-09-13 02:51:20 +0000252#include "Flag.h"
Lev Walkin171487e2006-03-21 07:25:18 +0000253
254/*** <<< TYPE-DECLS [IntegerColorFlag] >>> ***/
255
256typedef Flag_16P0_t IntegerColorFlag_t;
257
258/*** <<< FUNC-DECLS [IntegerColorFlag] >>> ***/
259
260extern asn_TYPE_descriptor_t asn_DEF_IntegerColorFlag;
261asn_struct_free_f IntegerColorFlag_free;
262asn_struct_print_f IntegerColorFlag_print;
263asn_constr_check_f IntegerColorFlag_constraint;
264ber_type_decoder_f IntegerColorFlag_decode_ber;
265der_type_encoder_f IntegerColorFlag_encode_der;
266xer_type_decoder_f IntegerColorFlag_decode_xer;
267xer_type_encoder_f IntegerColorFlag_encode_xer;
268
269/*** <<< CODE [IntegerColorFlag] >>> ***/
270
Lev Walkin171487e2006-03-21 07:25:18 +0000271/*
272 * This type is implemented using Flag_16P0,
273 * so here we adjust the DEF accordingly.
274 */
Lev Walkin171487e2006-03-21 07:25:18 +0000275
276/*** <<< STAT-DEFS [IntegerColorFlag] >>> ***/
277
Lev Walkina7591b52014-10-12 18:37:35 -0700278static const ber_tlv_tag_t asn_DEF_IntegerColorFlag_tags_1[] = {
Lev Walkin171487e2006-03-21 07:25:18 +0000279 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
280};
281asn_TYPE_descriptor_t asn_DEF_IntegerColorFlag = {
282 "IntegerColorFlag",
283 "IntegerColorFlag",
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +0800284 SEQUENCE_free,
285 SEQUENCE_print,
286 SEQUENCE_constraint,
287 SEQUENCE_decode_ber,
288 SEQUENCE_encode_der,
289 SEQUENCE_decode_xer,
290 SEQUENCE_encode_xer,
Lev Walkinba68c912017-07-06 07:52:39 -0700291 0, 0, /* No OER support, use "-gen-OER" to enable */
Lev Walkinb33425f2017-07-14 14:59:52 +0400292 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkin171487e2006-03-21 07:25:18 +0000293 0, /* Use generic outmost tag fetcher */
294 asn_DEF_IntegerColorFlag_tags_1,
295 sizeof(asn_DEF_IntegerColorFlag_tags_1)
296 /sizeof(asn_DEF_IntegerColorFlag_tags_1[0]), /* 1 */
297 asn_DEF_IntegerColorFlag_tags_1, /* Same as above */
298 sizeof(asn_DEF_IntegerColorFlag_tags_1)
299 /sizeof(asn_DEF_IntegerColorFlag_tags_1[0]), /* 1 */
Lev Walkinb33425f2017-07-14 14:59:52 +0400300 0, /* No OER visible constraints */
Lev Walkin171487e2006-03-21 07:25:18 +0000301 0, /* No PER visible constraints */
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +0800302 asn_MBR_Flag_16P0_1,
303 1, /* Elements count */
304 &asn_SPC_Flag_16P0_specs_1 /* Additional specs */
Lev Walkin171487e2006-03-21 07:25:18 +0000305};
306
307
308/*** <<< INCLUDES [EnumeratedColorFlag] >>> ***/
309
Lev Walkin22b5ed42006-09-13 02:51:20 +0000310#include "Flag.h"
Lev Walkin171487e2006-03-21 07:25:18 +0000311
312/*** <<< TYPE-DECLS [EnumeratedColorFlag] >>> ***/
313
314typedef Flag_16P1_t EnumeratedColorFlag_t;
315
316/*** <<< FUNC-DECLS [EnumeratedColorFlag] >>> ***/
317
318extern asn_TYPE_descriptor_t asn_DEF_EnumeratedColorFlag;
319asn_struct_free_f EnumeratedColorFlag_free;
320asn_struct_print_f EnumeratedColorFlag_print;
321asn_constr_check_f EnumeratedColorFlag_constraint;
322ber_type_decoder_f EnumeratedColorFlag_decode_ber;
323der_type_encoder_f EnumeratedColorFlag_encode_der;
324xer_type_decoder_f EnumeratedColorFlag_decode_xer;
325xer_type_encoder_f EnumeratedColorFlag_encode_xer;
326
327/*** <<< CODE [EnumeratedColorFlag] >>> ***/
328
Lev Walkin171487e2006-03-21 07:25:18 +0000329/*
330 * This type is implemented using Flag_16P1,
331 * so here we adjust the DEF accordingly.
332 */
Lev Walkin171487e2006-03-21 07:25:18 +0000333
334/*** <<< STAT-DEFS [EnumeratedColorFlag] >>> ***/
335
Lev Walkina7591b52014-10-12 18:37:35 -0700336static const ber_tlv_tag_t asn_DEF_EnumeratedColorFlag_tags_1[] = {
Lev Walkin171487e2006-03-21 07:25:18 +0000337 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
338};
339asn_TYPE_descriptor_t asn_DEF_EnumeratedColorFlag = {
340 "EnumeratedColorFlag",
341 "EnumeratedColorFlag",
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +0800342 SEQUENCE_free,
343 SEQUENCE_print,
344 SEQUENCE_constraint,
345 SEQUENCE_decode_ber,
346 SEQUENCE_encode_der,
347 SEQUENCE_decode_xer,
348 SEQUENCE_encode_xer,
Lev Walkinba68c912017-07-06 07:52:39 -0700349 0, 0, /* No OER support, use "-gen-OER" to enable */
Lev Walkinb33425f2017-07-14 14:59:52 +0400350 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkin171487e2006-03-21 07:25:18 +0000351 0, /* Use generic outmost tag fetcher */
352 asn_DEF_EnumeratedColorFlag_tags_1,
353 sizeof(asn_DEF_EnumeratedColorFlag_tags_1)
354 /sizeof(asn_DEF_EnumeratedColorFlag_tags_1[0]), /* 1 */
355 asn_DEF_EnumeratedColorFlag_tags_1, /* Same as above */
356 sizeof(asn_DEF_EnumeratedColorFlag_tags_1)
357 /sizeof(asn_DEF_EnumeratedColorFlag_tags_1[0]), /* 1 */
Lev Walkinb33425f2017-07-14 14:59:52 +0400358 0, /* No OER visible constraints */
Lev Walkin171487e2006-03-21 07:25:18 +0000359 0, /* No PER visible constraints */
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +0800360 asn_MBR_Flag_16P1_6,
361 1, /* Elements count */
362 &asn_SPC_Flag_16P1_specs_6 /* Additional specs */
Lev Walkin171487e2006-03-21 07:25:18 +0000363};
364