blob: f02a3aa18a68f47eb823fe7dc1a233409edd7470 [file] [log] [blame]
Lev Walkin4696c742005-08-22 12:23:54 +00001
2/*** <<< INCLUDES [Sequence] >>> ***/
3
4#include <INTEGER.h>
5#include <constr_SEQUENCE.h>
6
7/*** <<< TYPE-DECLS [Sequence] >>> ***/
8
9typedef struct Sequence {
10 INTEGER_t ainl;
11 INTEGER_t *aptr;
12
13 /* Context for parsing across buffer boundaries */
14 asn_struct_ctx_t _asn_ctx;
15} Sequence_t;
16
17/*** <<< FUNC-DECLS [Sequence] >>> ***/
18
19extern asn_TYPE_descriptor_t asn_DEF_Sequence;
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +080020extern asn_SEQUENCE_specifics_t asn_SPC_Sequence_specs_1;
21extern asn_TYPE_member_t asn_MBR_Sequence_1[2];
Lev Walkin4696c742005-08-22 12:23:54 +000022
23/*** <<< STAT-DEFS [Sequence] >>> ***/
24
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +080025asn_TYPE_member_t asn_MBR_Sequence_1[] = {
Lev Walkin4696c742005-08-22 12:23:54 +000026 { ATF_NOFLAGS, 0, offsetof(struct Sequence, ainl),
27 .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
28 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +000029 .type = &asn_DEF_INTEGER,
Lev Walkin67a30122017-08-10 05:48:54 -070030 .type_selector = 0,
Lev Walkin0bfea562017-09-29 23:16:48 -070031 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
Lev Walkin20696a42017-10-17 21:27:33 -070032 0, 0, /* No default value */
Lev Walkin4696c742005-08-22 12:23:54 +000033 .name = "ainl"
34 },
35 { ATF_POINTER, 0, offsetof(struct Sequence, aptr),
36 .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
37 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +000038 .type = &asn_DEF_INTEGER,
Lev Walkin67a30122017-08-10 05:48:54 -070039 .type_selector = 0,
Lev Walkin0bfea562017-09-29 23:16:48 -070040 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
Lev Walkin20696a42017-10-17 21:27:33 -070041 0, 0, /* No default value */
Lev Walkin4696c742005-08-22 12:23:54 +000042 .name = "aptr"
43 },
44};
Lev Walkina7591b52014-10-12 18:37:35 -070045static const ber_tlv_tag_t asn_DEF_Sequence_tags_1[] = {
Lev Walkin4696c742005-08-22 12:23:54 +000046 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
47};
Lev Walkina7591b52014-10-12 18:37:35 -070048static const asn_TYPE_tag2member_t asn_MAP_Sequence_tag2el_1[] = {
Lev Walkin4062b012013-10-11 14:29:38 -070049 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* ainl */
50 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* aptr */
Lev Walkin4696c742005-08-22 12:23:54 +000051};
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +080052asn_SEQUENCE_specifics_t asn_SPC_Sequence_specs_1 = {
Lev Walkin4696c742005-08-22 12:23:54 +000053 sizeof(struct Sequence),
54 offsetof(struct Sequence, _asn_ctx),
Lev Walkine3917082017-08-23 10:29:38 -070055 .tag2el = asn_MAP_Sequence_tag2el_1,
56 .tag2el_count = 2, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +000057 0, 0, 0, /* Optional elements (not needed) */
Lev Walkindf2edbb2017-10-21 13:40:07 -070058 -1, /* First extension addition */
Lev Walkin4696c742005-08-22 12:23:54 +000059};
60asn_TYPE_descriptor_t asn_DEF_Sequence = {
61 "Sequence",
62 "Sequence",
Bi-Ruei, Chiu1f87ac02017-08-20 01:25:45 +080063 &asn_OP_SEQUENCE,
Lev Walkin59b176e2005-11-26 11:25:14 +000064 asn_DEF_Sequence_tags_1,
65 sizeof(asn_DEF_Sequence_tags_1)
66 /sizeof(asn_DEF_Sequence_tags_1[0]), /* 1 */
67 asn_DEF_Sequence_tags_1, /* Same as above */
68 sizeof(asn_DEF_Sequence_tags_1)
69 /sizeof(asn_DEF_Sequence_tags_1[0]), /* 1 */
Lev Walkin0bfea562017-09-29 23:16:48 -070070 { 0, 0, SEQUENCE_constraint },
Lev Walkin4696c742005-08-22 12:23:54 +000071 asn_MBR_Sequence_1,
72 2, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +000073 &asn_SPC_Sequence_specs_1 /* Additional specs */
Lev Walkin4696c742005-08-22 12:23:54 +000074};
75
76
77/*** <<< INCLUDES [Set] >>> ***/
78
Lev Walkin22b5ed42006-09-13 02:51:20 +000079#include "Sequence.h"
Lev Walkin4696c742005-08-22 12:23:54 +000080#include <constr_SET.h>
81
82/*** <<< DEPS [Set] >>> ***/
83
84
85/*
86 * Method of determining the components presence
87 */
88typedef enum Set_PR {
89 Set_PR_ainl, /* Member ainl is present */
90 Set_PR_aptr, /* Member aptr is present */
91} Set_PR;
92
93/*** <<< FWD-DECLS [Set] >>> ***/
94
95struct Sequence;
96
97/*** <<< TYPE-DECLS [Set] >>> ***/
98
99typedef struct Set {
100 Sequence_t ainl;
101 struct Sequence *aptr;
102
103 /* Presence bitmask: ASN_SET_ISPRESENT(pSet, Set_PR_x) */
104 unsigned int _presence_map
105 [((2+(8*sizeof(unsigned int))-1)/(8*sizeof(unsigned int)))];
106
107 /* Context for parsing across buffer boundaries */
108 asn_struct_ctx_t _asn_ctx;
109} Set_t;
110
111/*** <<< FUNC-DECLS [Set] >>> ***/
112
113extern asn_TYPE_descriptor_t asn_DEF_Set;
114
115/*** <<< POST-INCLUDE [Set] >>> ***/
116
Lev Walkin22b5ed42006-09-13 02:51:20 +0000117#include "Sequence.h"
Lev Walkin4696c742005-08-22 12:23:54 +0000118
119/*** <<< STAT-DEFS [Set] >>> ***/
120
121static asn_TYPE_member_t asn_MBR_Set_1[] = {
122 { ATF_NOFLAGS, 0, offsetof(struct Set, ainl),
123 .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
124 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000125 .type = &asn_DEF_Sequence,
Lev Walkin67a30122017-08-10 05:48:54 -0700126 .type_selector = 0,
Lev Walkin0bfea562017-09-29 23:16:48 -0700127 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
Lev Walkin20696a42017-10-17 21:27:33 -0700128 0, 0, /* No default value */
Lev Walkin4696c742005-08-22 12:23:54 +0000129 .name = "ainl"
130 },
131 { ATF_POINTER, 0, offsetof(struct Set, aptr),
132 .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
133 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000134 .type = &asn_DEF_Sequence,
Lev Walkin67a30122017-08-10 05:48:54 -0700135 .type_selector = 0,
Lev Walkin0bfea562017-09-29 23:16:48 -0700136 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
Lev Walkin20696a42017-10-17 21:27:33 -0700137 0, 0, /* No default value */
Lev Walkin4696c742005-08-22 12:23:54 +0000138 .name = "aptr"
139 },
140};
Lev Walkina7591b52014-10-12 18:37:35 -0700141static const ber_tlv_tag_t asn_DEF_Set_tags_1[] = {
Lev Walkin4696c742005-08-22 12:23:54 +0000142 (ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
143};
Lev Walkina7591b52014-10-12 18:37:35 -0700144static const asn_TYPE_tag2member_t asn_MAP_Set_tag2el_1[] = {
Lev Walkin4062b012013-10-11 14:29:38 -0700145 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* ainl */
146 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* aptr */
Lev Walkin4696c742005-08-22 12:23:54 +0000147};
Lev Walkina7591b52014-10-12 18:37:35 -0700148static const uint8_t asn_MAP_Set_mmap_1[(2 + (8 * sizeof(unsigned int)) - 1) / 8] = {
Lev Walkin4696c742005-08-22 12:23:54 +0000149 (1 << 7) | (1 << 6)
150};
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +0800151static
152asn_SET_specifics_t asn_SPC_Set_specs_1 = {
Lev Walkin4696c742005-08-22 12:23:54 +0000153 sizeof(struct Set),
154 offsetof(struct Set, _asn_ctx),
155 offsetof(struct Set, _presence_map),
Lev Walkine3917082017-08-23 10:29:38 -0700156 .tag2el = asn_MAP_Set_tag2el_1,
157 .tag2el_count = 2, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +0000158 asn_MAP_Set_tag2el_1, /* Same as above */
Lev Walkin4696c742005-08-22 12:23:54 +0000159 2, /* Count of tags in the CXER map */
160 0, /* Whether extensible */
Lev Walkin46ef3f32017-07-06 08:47:53 -0700161 (const unsigned int *)asn_MAP_Set_mmap_1 /* Mandatory elements map */
Lev Walkin4696c742005-08-22 12:23:54 +0000162};
163asn_TYPE_descriptor_t asn_DEF_Set = {
164 "Set",
165 "Set",
Bi-Ruei, Chiu1f87ac02017-08-20 01:25:45 +0800166 &asn_OP_SET,
Lev Walkin59b176e2005-11-26 11:25:14 +0000167 asn_DEF_Set_tags_1,
168 sizeof(asn_DEF_Set_tags_1)
169 /sizeof(asn_DEF_Set_tags_1[0]), /* 1 */
170 asn_DEF_Set_tags_1, /* Same as above */
171 sizeof(asn_DEF_Set_tags_1)
172 /sizeof(asn_DEF_Set_tags_1[0]), /* 1 */
Lev Walkin0bfea562017-09-29 23:16:48 -0700173 { 0, 0, SET_constraint },
Lev Walkin4696c742005-08-22 12:23:54 +0000174 asn_MBR_Set_1,
175 2, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +0000176 &asn_SPC_Set_specs_1 /* Additional specs */
Lev Walkin4696c742005-08-22 12:23:54 +0000177};
178
179
180/*** <<< INCLUDES [Choice] >>> ***/
181
Lev Walkin22b5ed42006-09-13 02:51:20 +0000182#include "Sequence.h"
Lev Walkin4696c742005-08-22 12:23:54 +0000183#include <INTEGER.h>
184#include <asn_SET_OF.h>
185#include <constr_SET_OF.h>
186#include <constr_CHOICE.h>
187
188/*** <<< DEPS [Choice] >>> ***/
189
190typedef enum Choice_PR {
191 Choice_PR_NOTHING, /* No components present */
192 Choice_PR_setof,
193 Choice_PR_aptr,
Lev Walkin9f5bb3a2006-08-18 01:46:46 +0000194 Choice_PR_ainl
Lev Walkin4696c742005-08-22 12:23:54 +0000195} Choice_PR;
196
197/*** <<< FWD-DECLS [Choice] >>> ***/
198
199struct Sequence;
200
201/*** <<< TYPE-DECLS [Choice] >>> ***/
202
203typedef struct Choice {
204 Choice_PR present;
205 union Choice_u {
206 struct setof {
207 A_SET_OF(INTEGER_t) list;
208
209 /* Context for parsing across buffer boundaries */
210 asn_struct_ctx_t _asn_ctx;
211 } *setof;
212 struct Sequence *aptr;
213 Sequence_t ainl;
214 } choice;
215
216 /* Context for parsing across buffer boundaries */
217 asn_struct_ctx_t _asn_ctx;
218} Choice_t;
219
220/*** <<< FUNC-DECLS [Choice] >>> ***/
221
222extern asn_TYPE_descriptor_t asn_DEF_Choice;
223
224/*** <<< POST-INCLUDE [Choice] >>> ***/
225
Lev Walkin22b5ed42006-09-13 02:51:20 +0000226#include "Sequence.h"
Lev Walkin4696c742005-08-22 12:23:54 +0000227
228/*** <<< STAT-DEFS [Choice] >>> ***/
229
230static asn_TYPE_member_t asn_MBR_setof_2[] = {
231 { ATF_POINTER, 0, 0,
232 .tag = (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
233 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000234 .type = &asn_DEF_INTEGER,
Lev Walkin67a30122017-08-10 05:48:54 -0700235 .type_selector = 0,
Lev Walkin0bfea562017-09-29 23:16:48 -0700236 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
Lev Walkin20696a42017-10-17 21:27:33 -0700237 0, 0, /* No default value */
Lev Walkin4696c742005-08-22 12:23:54 +0000238 .name = ""
239 },
240};
Lev Walkina7591b52014-10-12 18:37:35 -0700241static const ber_tlv_tag_t asn_DEF_setof_tags_2[] = {
Lev Walkin4696c742005-08-22 12:23:54 +0000242 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
243 (ASN_TAG_CLASS_UNIVERSAL | (17 << 2))
244};
Lev Walkin59b176e2005-11-26 11:25:14 +0000245static asn_SET_OF_specifics_t asn_SPC_setof_specs_2 = {
Lev Walkin4696c742005-08-22 12:23:54 +0000246 sizeof(struct setof),
247 offsetof(struct setof, _asn_ctx),
248 0, /* XER encoding is XMLDelimitedItemList */
249};
250static /* Use -fall-defs-global to expose */
251asn_TYPE_descriptor_t asn_DEF_setof_2 = {
252 "setof",
253 "setof",
Bi-Ruei, Chiu1f87ac02017-08-20 01:25:45 +0800254 &asn_OP_SET_OF,
Lev Walkin59b176e2005-11-26 11:25:14 +0000255 asn_DEF_setof_tags_2,
256 sizeof(asn_DEF_setof_tags_2)
257 /sizeof(asn_DEF_setof_tags_2[0]) - 1, /* 1 */
258 asn_DEF_setof_tags_2, /* Same as above */
259 sizeof(asn_DEF_setof_tags_2)
260 /sizeof(asn_DEF_setof_tags_2[0]), /* 2 */
Lev Walkin0bfea562017-09-29 23:16:48 -0700261 { 0, 0, SET_OF_constraint },
Lev Walkin4696c742005-08-22 12:23:54 +0000262 asn_MBR_setof_2,
263 1, /* Single element */
Lev Walkin59b176e2005-11-26 11:25:14 +0000264 &asn_SPC_setof_specs_2 /* Additional specs */
Lev Walkin4696c742005-08-22 12:23:54 +0000265};
266
267static asn_TYPE_member_t asn_MBR_Choice_1[] = {
268 { ATF_POINTER, 0, offsetof(struct Choice, choice.setof),
269 .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
Lev Walkin9ab21b82006-10-19 02:46:01 +0000270 .tag_mode = 0,
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000271 .type = &asn_DEF_setof_2,
Lev Walkin67a30122017-08-10 05:48:54 -0700272 .type_selector = 0,
Lev Walkin0bfea562017-09-29 23:16:48 -0700273 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
Lev Walkin20696a42017-10-17 21:27:33 -0700274 0, 0, /* No default value */
Lev Walkin4696c742005-08-22 12:23:54 +0000275 .name = "setof"
276 },
277 { ATF_POINTER, 0, offsetof(struct Choice, choice.aptr),
278 .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
279 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000280 .type = &asn_DEF_Sequence,
Lev Walkin67a30122017-08-10 05:48:54 -0700281 .type_selector = 0,
Lev Walkin0bfea562017-09-29 23:16:48 -0700282 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
Lev Walkin20696a42017-10-17 21:27:33 -0700283 0, 0, /* No default value */
Lev Walkin4696c742005-08-22 12:23:54 +0000284 .name = "aptr"
285 },
286 { ATF_NOFLAGS, 0, offsetof(struct Choice, choice.ainl),
287 .tag = (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
288 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +0000289 .type = &asn_DEF_Sequence,
Lev Walkin67a30122017-08-10 05:48:54 -0700290 .type_selector = 0,
Lev Walkin0bfea562017-09-29 23:16:48 -0700291 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
Lev Walkin20696a42017-10-17 21:27:33 -0700292 0, 0, /* No default value */
Lev Walkin4696c742005-08-22 12:23:54 +0000293 .name = "ainl"
294 },
295};
Lev Walkina7591b52014-10-12 18:37:35 -0700296static const asn_TYPE_tag2member_t asn_MAP_Choice_tag2el_1[] = {
Lev Walkin4062b012013-10-11 14:29:38 -0700297 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* setof */
298 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* aptr */
299 { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* ainl */
Lev Walkin4696c742005-08-22 12:23:54 +0000300};
Lev Walkin59b176e2005-11-26 11:25:14 +0000301static asn_CHOICE_specifics_t asn_SPC_Choice_specs_1 = {
Lev Walkin4696c742005-08-22 12:23:54 +0000302 sizeof(struct Choice),
303 offsetof(struct Choice, _asn_ctx),
304 offsetof(struct Choice, present),
305 sizeof(((struct Choice *)0)->present),
Lev Walkine3917082017-08-23 10:29:38 -0700306 .tag2el = asn_MAP_Choice_tag2el_1,
307 .tag2el_count = 3, /* Count of tags in the map */
Lev Walkin20696a42017-10-17 21:27:33 -0700308 0, 0,
Lev Walkindf2edbb2017-10-21 13:40:07 -0700309 .first_extension = -1 /* Extensions start */
Lev Walkin4696c742005-08-22 12:23:54 +0000310};
311asn_TYPE_descriptor_t asn_DEF_Choice = {
312 "Choice",
313 "Choice",
Bi-Ruei, Chiu1f87ac02017-08-20 01:25:45 +0800314 &asn_OP_CHOICE,
Lev Walkin4696c742005-08-22 12:23:54 +0000315 0, /* No effective tags (pointer) */
316 0, /* No effective tags (count) */
317 0, /* No tags (pointer) */
318 0, /* No tags (count) */
Lev Walkin0bfea562017-09-29 23:16:48 -0700319 { 0, 0, CHOICE_constraint },
Lev Walkin4696c742005-08-22 12:23:54 +0000320 asn_MBR_Choice_1,
321 3, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +0000322 &asn_SPC_Choice_specs_1 /* Additional specs */
Lev Walkin4696c742005-08-22 12:23:54 +0000323};
324