blob: 5c3c98ce2e2bfeada7f4eadfff377811513c5d85 [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",
Bi-Ruei, Chiu1f87ac02017-08-20 01:25:45 +0800106 &asn_OP_SEQUENCE,
Lev Walkin171487e2006-03-21 07:25:18 +0000107 SEQUENCE_constraint,
Lev Walkin171487e2006-03-21 07:25:18 +0000108 asn_DEF_Flag_16P0_tags_1,
109 sizeof(asn_DEF_Flag_16P0_tags_1)
110 /sizeof(asn_DEF_Flag_16P0_tags_1[0]), /* 1 */
111 asn_DEF_Flag_16P0_tags_1, /* Same as above */
112 sizeof(asn_DEF_Flag_16P0_tags_1)
113 /sizeof(asn_DEF_Flag_16P0_tags_1[0]), /* 1 */
Lev Walkinb33425f2017-07-14 14:59:52 +0400114 0, /* No OER visible constraints */
Lev Walkin171487e2006-03-21 07:25:18 +0000115 0, /* No PER visible constraints */
116 asn_MBR_Flag_16P0_1,
117 1, /* Elements count */
118 &asn_SPC_Flag_16P0_specs_1 /* Additional specs */
119};
120
Lev Walkin9f5bb3a2006-08-18 01:46:46 +0000121static int asn_DFL_7_set_5(int set_value, void **sptr) {
Lev Walkin171487e2006-03-21 07:25:18 +0000122 ENUMERATED_t *st = *sptr;
123
124 if(!st) {
Lev Walkin9f5bb3a2006-08-18 01:46:46 +0000125 if(!set_value) return -1; /* Not a default value */
Lev Walkin171487e2006-03-21 07:25:18 +0000126 st = (*sptr = CALLOC(1, sizeof(*st)));
127 if(!st) return -1;
128 }
129
Lev Walkin9f5bb3a2006-08-18 01:46:46 +0000130 if(set_value) {
131 /* Install default value 5 */
132 return asn_long2INTEGER(st, 5);
133 } else {
134 /* Test default value 5 */
135 long value;
136 if(asn_INTEGER2long(st, &value))
137 return -1;
138 return (value == 5);
139 }
Lev Walkin171487e2006-03-21 07:25:18 +0000140}
Lev Walkina7591b52014-10-12 18:37:35 -0700141static const asn_INTEGER_enum_map_t asn_MAP_field_value2enum_7[] = {
Lev Walkin171487e2006-03-21 07:25:18 +0000142 { 3, 3, "red" },
143 { 4, 5, "green" },
144 { 5, 4, "blue" }
145};
Lev Walkina7591b52014-10-12 18:37:35 -0700146static const unsigned int asn_MAP_field_enum2value_7[] = {
Lev Walkin171487e2006-03-21 07:25:18 +0000147 2, /* blue(5) */
148 1, /* green(4) */
149 0 /* red(3) */
150};
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +0800151static const asn_INTEGER_specifics_t asn_SPC_field_specs_7 = {
Lev Walkin171487e2006-03-21 07:25:18 +0000152 asn_MAP_field_value2enum_7, /* "tag" => N; sorted by tag */
153 asn_MAP_field_enum2value_7, /* N => "tag"; sorted by N */
154 3, /* Number of elements in the maps */
155 0, /* Enumeration is not extensible */
Lev Walkin8bb57a22007-12-03 13:41:36 +0000156 1, /* Strict enumeration */
157 0, /* Native long size */
158 0
Lev Walkin171487e2006-03-21 07:25:18 +0000159};
Lev Walkina7591b52014-10-12 18:37:35 -0700160static const ber_tlv_tag_t asn_DEF_field_tags_7[] = {
Lev Walkin171487e2006-03-21 07:25:18 +0000161 (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
162};
163static /* Use -fall-defs-global to expose */
164asn_TYPE_descriptor_t asn_DEF_field_7 = {
165 "field",
166 "field",
Bi-Ruei, Chiu1f87ac02017-08-20 01:25:45 +0800167 &asn_OP_ENUMERATED,
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +0800168 ENUMERATED_constraint,
Lev Walkin171487e2006-03-21 07:25:18 +0000169 asn_DEF_field_tags_7,
170 sizeof(asn_DEF_field_tags_7)
171 /sizeof(asn_DEF_field_tags_7[0]), /* 1 */
172 asn_DEF_field_tags_7, /* Same as above */
173 sizeof(asn_DEF_field_tags_7)
174 /sizeof(asn_DEF_field_tags_7[0]), /* 1 */
Lev Walkinb33425f2017-07-14 14:59:52 +0400175 0, /* No OER visible constraints */
Lev Walkin171487e2006-03-21 07:25:18 +0000176 0, /* No PER visible constraints */
177 0, 0, /* Defined elsewhere */
178 &asn_SPC_field_specs_7 /* Additional specs */
179};
180
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +0800181asn_TYPE_member_t asn_MBR_Flag_16P1_6[] = {
Lev Walkin171487e2006-03-21 07:25:18 +0000182 { ATF_POINTER, 1, offsetof(struct Flag_16P1, field),
183 .tag = (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)),
184 .tag_mode = 0,
185 .type = &asn_DEF_field_7,
Lev Walkin67a30122017-08-10 05:48:54 -0700186 .type_selector = 0,
Lev Walkin171487e2006-03-21 07:25:18 +0000187 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkinb33425f2017-07-14 14:59:52 +0400188 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin171487e2006-03-21 07:25:18 +0000189 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
190 .default_value = asn_DFL_7_set_5, /* DEFAULT 5 */
191 .name = "field"
192 },
193};
Lev Walkina7591b52014-10-12 18:37:35 -0700194static const ber_tlv_tag_t asn_DEF_Flag_16P1_tags_6[] = {
Lev Walkin171487e2006-03-21 07:25:18 +0000195 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
196};
Lev Walkina7591b52014-10-12 18:37:35 -0700197static const asn_TYPE_tag2member_t asn_MAP_Flag_16P1_tag2el_6[] = {
Lev Walkin4062b012013-10-11 14:29:38 -0700198 { (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), 0, 0, 0 } /* field */
Lev Walkin171487e2006-03-21 07:25:18 +0000199};
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +0800200asn_SEQUENCE_specifics_t asn_SPC_Flag_16P1_specs_6 = {
Lev Walkin171487e2006-03-21 07:25:18 +0000201 sizeof(struct Flag_16P1),
202 offsetof(struct Flag_16P1, _asn_ctx),
Lev Walkine3917082017-08-23 10:29:38 -0700203 .tag2el = asn_MAP_Flag_16P1_tag2el_6,
204 .tag2el_count = 1, /* Count of tags in the map */
Lev Walkin171487e2006-03-21 07:25:18 +0000205 0, 0, 0, /* Optional elements (not needed) */
206 -1, /* Start extensions */
207 -1 /* Stop extensions */
208};
209asn_TYPE_descriptor_t asn_DEF_Flag_16P1 = {
210 "Flag",
211 "Flag",
Bi-Ruei, Chiu1f87ac02017-08-20 01:25:45 +0800212 &asn_OP_SEQUENCE,
Lev Walkin171487e2006-03-21 07:25:18 +0000213 SEQUENCE_constraint,
Lev Walkin171487e2006-03-21 07:25:18 +0000214 asn_DEF_Flag_16P1_tags_6,
215 sizeof(asn_DEF_Flag_16P1_tags_6)
216 /sizeof(asn_DEF_Flag_16P1_tags_6[0]), /* 1 */
217 asn_DEF_Flag_16P1_tags_6, /* Same as above */
218 sizeof(asn_DEF_Flag_16P1_tags_6)
219 /sizeof(asn_DEF_Flag_16P1_tags_6[0]), /* 1 */
Lev Walkinb33425f2017-07-14 14:59:52 +0400220 0, /* No OER visible constraints */
Lev Walkin171487e2006-03-21 07:25:18 +0000221 0, /* No PER visible constraints */
222 asn_MBR_Flag_16P1_6,
223 1, /* Elements count */
224 &asn_SPC_Flag_16P1_specs_6 /* Additional specs */
225};
226
227
228/*** <<< INCLUDES [IntegerColorFlag] >>> ***/
229
Lev Walkin22b5ed42006-09-13 02:51:20 +0000230#include "Flag.h"
Lev Walkin171487e2006-03-21 07:25:18 +0000231
232/*** <<< TYPE-DECLS [IntegerColorFlag] >>> ***/
233
234typedef Flag_16P0_t IntegerColorFlag_t;
235
236/*** <<< FUNC-DECLS [IntegerColorFlag] >>> ***/
237
238extern asn_TYPE_descriptor_t asn_DEF_IntegerColorFlag;
239asn_struct_free_f IntegerColorFlag_free;
240asn_struct_print_f IntegerColorFlag_print;
241asn_constr_check_f IntegerColorFlag_constraint;
242ber_type_decoder_f IntegerColorFlag_decode_ber;
243der_type_encoder_f IntegerColorFlag_encode_der;
244xer_type_decoder_f IntegerColorFlag_decode_xer;
245xer_type_encoder_f IntegerColorFlag_encode_xer;
246
247/*** <<< CODE [IntegerColorFlag] >>> ***/
248
Lev Walkin171487e2006-03-21 07:25:18 +0000249/*
250 * This type is implemented using Flag_16P0,
251 * so here we adjust the DEF accordingly.
252 */
Lev Walkin171487e2006-03-21 07:25:18 +0000253
254/*** <<< STAT-DEFS [IntegerColorFlag] >>> ***/
255
Lev Walkina7591b52014-10-12 18:37:35 -0700256static const ber_tlv_tag_t asn_DEF_IntegerColorFlag_tags_1[] = {
Lev Walkin171487e2006-03-21 07:25:18 +0000257 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
258};
259asn_TYPE_descriptor_t asn_DEF_IntegerColorFlag = {
260 "IntegerColorFlag",
261 "IntegerColorFlag",
Bi-Ruei, Chiu1f87ac02017-08-20 01:25:45 +0800262 &asn_OP_SEQUENCE,
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +0800263 SEQUENCE_constraint,
Lev Walkin171487e2006-03-21 07:25:18 +0000264 asn_DEF_IntegerColorFlag_tags_1,
265 sizeof(asn_DEF_IntegerColorFlag_tags_1)
266 /sizeof(asn_DEF_IntegerColorFlag_tags_1[0]), /* 1 */
267 asn_DEF_IntegerColorFlag_tags_1, /* Same as above */
268 sizeof(asn_DEF_IntegerColorFlag_tags_1)
269 /sizeof(asn_DEF_IntegerColorFlag_tags_1[0]), /* 1 */
Lev Walkinb33425f2017-07-14 14:59:52 +0400270 0, /* No OER visible constraints */
Lev Walkin171487e2006-03-21 07:25:18 +0000271 0, /* No PER visible constraints */
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +0800272 asn_MBR_Flag_16P0_1,
273 1, /* Elements count */
274 &asn_SPC_Flag_16P0_specs_1 /* Additional specs */
Lev Walkin171487e2006-03-21 07:25:18 +0000275};
276
277
278/*** <<< INCLUDES [EnumeratedColorFlag] >>> ***/
279
Lev Walkin22b5ed42006-09-13 02:51:20 +0000280#include "Flag.h"
Lev Walkin171487e2006-03-21 07:25:18 +0000281
282/*** <<< TYPE-DECLS [EnumeratedColorFlag] >>> ***/
283
284typedef Flag_16P1_t EnumeratedColorFlag_t;
285
286/*** <<< FUNC-DECLS [EnumeratedColorFlag] >>> ***/
287
288extern asn_TYPE_descriptor_t asn_DEF_EnumeratedColorFlag;
289asn_struct_free_f EnumeratedColorFlag_free;
290asn_struct_print_f EnumeratedColorFlag_print;
291asn_constr_check_f EnumeratedColorFlag_constraint;
292ber_type_decoder_f EnumeratedColorFlag_decode_ber;
293der_type_encoder_f EnumeratedColorFlag_encode_der;
294xer_type_decoder_f EnumeratedColorFlag_decode_xer;
295xer_type_encoder_f EnumeratedColorFlag_encode_xer;
296
297/*** <<< CODE [EnumeratedColorFlag] >>> ***/
298
Lev Walkin171487e2006-03-21 07:25:18 +0000299/*
300 * This type is implemented using Flag_16P1,
301 * so here we adjust the DEF accordingly.
302 */
Lev Walkin171487e2006-03-21 07:25:18 +0000303
304/*** <<< STAT-DEFS [EnumeratedColorFlag] >>> ***/
305
Lev Walkina7591b52014-10-12 18:37:35 -0700306static const ber_tlv_tag_t asn_DEF_EnumeratedColorFlag_tags_1[] = {
Lev Walkin171487e2006-03-21 07:25:18 +0000307 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
308};
309asn_TYPE_descriptor_t asn_DEF_EnumeratedColorFlag = {
310 "EnumeratedColorFlag",
311 "EnumeratedColorFlag",
Bi-Ruei, Chiu1f87ac02017-08-20 01:25:45 +0800312 &asn_OP_SEQUENCE,
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +0800313 SEQUENCE_constraint,
Lev Walkin171487e2006-03-21 07:25:18 +0000314 asn_DEF_EnumeratedColorFlag_tags_1,
315 sizeof(asn_DEF_EnumeratedColorFlag_tags_1)
316 /sizeof(asn_DEF_EnumeratedColorFlag_tags_1[0]), /* 1 */
317 asn_DEF_EnumeratedColorFlag_tags_1, /* Same as above */
318 sizeof(asn_DEF_EnumeratedColorFlag_tags_1)
319 /sizeof(asn_DEF_EnumeratedColorFlag_tags_1[0]), /* 1 */
Lev Walkinb33425f2017-07-14 14:59:52 +0400320 0, /* No OER visible constraints */
Lev Walkin171487e2006-03-21 07:25:18 +0000321 0, /* No PER visible constraints */
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +0800322 asn_MBR_Flag_16P1_6,
323 1, /* Elements count */
324 &asn_SPC_Flag_16P1_specs_6 /* Additional specs */
Lev Walkin171487e2006-03-21 07:25:18 +0000325};
326