blob: c09c605e63dce030085d88dffb38498389597b45 [file] [log] [blame]
Lev Walkin07aaa342006-10-09 12:52:15 +00001
2/*** <<< INCLUDES [PDU] >>> ***/
3
4#include <IA5String.h>
5#include <VisibleString.h>
6#include <PrintableString.h>
7#include <NumericString.h>
8#include <UTF8String.h>
Lev Walkin3a4689a2006-11-24 11:20:27 +00009#include <BMPString.h>
10#include <UniversalString.h>
Lev Walkin2a744a72013-03-27 01:56:23 -070011#include <NativeReal.h>
Lev Walkin07aaa342006-10-09 12:52:15 +000012#include <OBJECT_IDENTIFIER.h>
13#include <asn_SEQUENCE_OF.h>
14#include <constr_SEQUENCE_OF.h>
15#include <constr_SEQUENCE.h>
16
17/*** <<< FWD-DECLS [PDU] >>> ***/
18
19struct PDU;
20
21/*** <<< TYPE-DECLS [PDU] >>> ***/
22
23typedef struct PDU {
24 struct many {
25 A_SEQUENCE_OF(struct PDU) list;
26
27 /* Context for parsing across buffer boundaries */
28 asn_struct_ctx_t _asn_ctx;
29 } *many;
30 IA5String_t *ia5 /* OPTIONAL */;
31 IA5String_t *ia5_c /* OPTIONAL */;
32 IA5String_t *ia5_ce /* OPTIONAL */;
33 IA5String_t *ia5_ir /* OPTIONAL */;
34 VisibleString_t *vs /* OPTIONAL */;
35 VisibleString_t *vs_c /* OPTIONAL */;
36 VisibleString_t *vs_ce /* OPTIONAL */;
37 VisibleString_t *vs_ir /* OPTIONAL */;
38 PrintableString_t *pr /* OPTIONAL */;
39 PrintableString_t *pr_c /* OPTIONAL */;
40 PrintableString_t *pr_ir /* OPTIONAL */;
41 NumericString_t *ns /* OPTIONAL */;
42 NumericString_t *ns_c /* OPTIONAL */;
43 NumericString_t *ns_ce /* OPTIONAL */;
44 NumericString_t *ns_ir /* OPTIONAL */;
45 UTF8String_t *ut_c /* OPTIONAL */;
46 UTF8String_t *ut_ce /* OPTIONAL */;
47 UTF8String_t *ut_ir /* OPTIONAL */;
Lev Walkin3a4689a2006-11-24 11:20:27 +000048 BMPString_t *bm /* OPTIONAL */;
49 BMPString_t *bm_c /* OPTIONAL */;
50 BMPString_t *bm_cs /* OPTIONAL */;
51 BMPString_t *bm_ce /* OPTIONAL */;
52 BMPString_t *bm_ir /* OPTIONAL */;
53 UniversalString_t *us /* OPTIONAL */;
54 UniversalString_t *us_c /* OPTIONAL */;
55 UniversalString_t *us_cs /* OPTIONAL */;
56 UniversalString_t *us_ce /* OPTIONAL */;
57 UniversalString_t *us_ir /* OPTIONAL */;
Lev Walkin2a744a72013-03-27 01:56:23 -070058 double *real /* OPTIONAL */;
Lev Walkin07aaa342006-10-09 12:52:15 +000059 OBJECT_IDENTIFIER_t *oid /* OPTIONAL */;
60
61 /* Context for parsing across buffer boundaries */
62 asn_struct_ctx_t _asn_ctx;
63} PDU_t;
64
65/*** <<< FUNC-DECLS [PDU] >>> ***/
66
67extern asn_TYPE_descriptor_t asn_DEF_PDU;
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +080068extern asn_SEQUENCE_specifics_t asn_SPC_PDU_specs_1;
69extern asn_TYPE_member_t asn_MBR_PDU_1[31];
Lev Walkin07aaa342006-10-09 12:52:15 +000070
71/*** <<< POST-INCLUDE [PDU] >>> ***/
72
73#include "PDU.h"
74
75/*** <<< CTABLES [PDU] >>> ***/
76
77static int check_permitted_alphabet_5(const void *sptr) {
78 /* The underlying type is IA5String */
79 const IA5String_t *st = (const IA5String_t *)sptr;
80 const uint8_t *ch = st->buf;
81 const uint8_t *end = ch + st->size;
82
83 for(; ch < end; ch++) {
84 uint8_t cv = *ch;
85 if(!(cv >= 65 && cv <= 90)) return -1;
86 }
87 return 0;
88}
89
90static int check_permitted_alphabet_6(const void *sptr) {
91 /* The underlying type is IA5String */
92 const IA5String_t *st = (const IA5String_t *)sptr;
93 const uint8_t *ch = st->buf;
94 const uint8_t *end = ch + st->size;
95
96 for(; ch < end; ch++) {
97 uint8_t cv = *ch;
98 if(!(cv >= 65 && cv <= 90)) return -1;
99 }
100 return 0;
101}
102
Lev Walkina7591b52014-10-12 18:37:35 -0700103static const int permitted_alphabet_table_7[256] = {
Lev Walkin07aaa342006-10-09 12:52:15 +0000104 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* */
105 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* */
106 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* */
107 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* */
108 0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* AB */
109 0, 0, 0, 0, 0, 0, 0, 0, 3, 4, 5, 0, 0, 0, 0, 0, /* XYZ */
110};
Lev Walkina7591b52014-10-12 18:37:35 -0700111static const int permitted_alphabet_code2value_7[5] = {
Lev Walkin07aaa342006-10-09 12:52:15 +000011265,66,88,89,90,};
113
114
115static int check_permitted_alphabet_7(const void *sptr) {
Lev Walkina7591b52014-10-12 18:37:35 -0700116 const int *table = permitted_alphabet_table_7;
Lev Walkin07aaa342006-10-09 12:52:15 +0000117 /* The underlying type is IA5String */
118 const IA5String_t *st = (const IA5String_t *)sptr;
119 const uint8_t *ch = st->buf;
120 const uint8_t *end = ch + st->size;
121
122 for(; ch < end; ch++) {
123 uint8_t cv = *ch;
124 if(!table[cv]) return -1;
125 }
126 return 0;
127}
128
129static int check_permitted_alphabet_9(const void *sptr) {
130 /* The underlying type is VisibleString */
131 const VisibleString_t *st = (const VisibleString_t *)sptr;
132 const uint8_t *ch = st->buf;
133 const uint8_t *end = ch + st->size;
134
135 for(; ch < end; ch++) {
136 uint8_t cv = *ch;
137 if(!(cv >= 65 && cv <= 90)) return -1;
138 }
139 return 0;
140}
141
142static int check_permitted_alphabet_10(const void *sptr) {
143 /* The underlying type is VisibleString */
144 const VisibleString_t *st = (const VisibleString_t *)sptr;
145 const uint8_t *ch = st->buf;
146 const uint8_t *end = ch + st->size;
147
148 for(; ch < end; ch++) {
149 uint8_t cv = *ch;
150 if(!(cv >= 65 && cv <= 90)) return -1;
151 }
152 return 0;
153}
154
Lev Walkina7591b52014-10-12 18:37:35 -0700155static const int permitted_alphabet_table_11[256] = {
Lev Walkin07aaa342006-10-09 12:52:15 +0000156 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* */
157 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* */
158 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* */
159 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* */
160 0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* AB */
161 0, 0, 0, 0, 0, 0, 0, 0, 3, 4, 5, 0, 0, 0, 0, 0, /* XYZ */
162};
Lev Walkina7591b52014-10-12 18:37:35 -0700163static const int permitted_alphabet_code2value_11[5] = {
Lev Walkin07aaa342006-10-09 12:52:15 +000016465,66,88,89,90,};
165
166
167static int check_permitted_alphabet_11(const void *sptr) {
Lev Walkina7591b52014-10-12 18:37:35 -0700168 const int *table = permitted_alphabet_table_11;
Lev Walkin07aaa342006-10-09 12:52:15 +0000169 /* The underlying type is VisibleString */
170 const VisibleString_t *st = (const VisibleString_t *)sptr;
171 const uint8_t *ch = st->buf;
172 const uint8_t *end = ch + st->size;
173
174 for(; ch < end; ch++) {
175 uint8_t cv = *ch;
176 if(!table[cv]) return -1;
177 }
178 return 0;
179}
180
181static int check_permitted_alphabet_13(const void *sptr) {
182 /* The underlying type is PrintableString */
183 const PrintableString_t *st = (const PrintableString_t *)sptr;
184 const uint8_t *ch = st->buf;
185 const uint8_t *end = ch + st->size;
186
187 for(; ch < end; ch++) {
188 uint8_t cv = *ch;
189 if(!(cv >= 65 && cv <= 90)) return -1;
190 }
191 return 0;
192}
193
Lev Walkina7591b52014-10-12 18:37:35 -0700194static const int permitted_alphabet_table_14[256] = {
Lev Walkin07aaa342006-10-09 12:52:15 +0000195 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* */
196 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* */
197 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* */
198 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* */
199 0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* AB */
200 0, 0, 0, 0, 0, 0, 0, 0, 3, 4, 5, 0, 0, 0, 0, 0, /* XYZ */
201};
Lev Walkina7591b52014-10-12 18:37:35 -0700202static const int permitted_alphabet_code2value_14[5] = {
Lev Walkin07aaa342006-10-09 12:52:15 +000020365,66,88,89,90,};
204
205
206static int check_permitted_alphabet_14(const void *sptr) {
Lev Walkina7591b52014-10-12 18:37:35 -0700207 const int *table = permitted_alphabet_table_14;
Lev Walkin07aaa342006-10-09 12:52:15 +0000208 /* The underlying type is PrintableString */
209 const PrintableString_t *st = (const PrintableString_t *)sptr;
210 const uint8_t *ch = st->buf;
211 const uint8_t *end = ch + st->size;
212
213 for(; ch < end; ch++) {
214 uint8_t cv = *ch;
215 if(!table[cv]) return -1;
216 }
217 return 0;
218}
219
220static int check_permitted_alphabet_16(const void *sptr) {
221 /* The underlying type is NumericString */
222 const NumericString_t *st = (const NumericString_t *)sptr;
223 const uint8_t *ch = st->buf;
224 const uint8_t *end = ch + st->size;
225
226 for(; ch < end; ch++) {
227 uint8_t cv = *ch;
228 if(!(cv >= 53 && cv <= 57)) return -1;
229 }
230 return 0;
231}
232
233static int check_permitted_alphabet_17(const void *sptr) {
234 /* The underlying type is NumericString */
235 const NumericString_t *st = (const NumericString_t *)sptr;
236 const uint8_t *ch = st->buf;
237 const uint8_t *end = ch + st->size;
238
239 for(; ch < end; ch++) {
240 uint8_t cv = *ch;
241 if(!(cv >= 53 && cv <= 57)) return -1;
242 }
243 return 0;
244}
245
Lev Walkina7591b52014-10-12 18:37:35 -0700246static const int permitted_alphabet_table_18[256] = {
Lev Walkin07aaa342006-10-09 12:52:15 +0000247 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* */
248 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* */
249 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* */
250 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, /* 1 9 */
251};
Lev Walkina7591b52014-10-12 18:37:35 -0700252static const int permitted_alphabet_code2value_18[2] = {
Lev Walkin07aaa342006-10-09 12:52:15 +000025349,57,};
254
255
256static int check_permitted_alphabet_18(const void *sptr) {
Lev Walkina7591b52014-10-12 18:37:35 -0700257 const int *table = permitted_alphabet_table_18;
Lev Walkin07aaa342006-10-09 12:52:15 +0000258 /* The underlying type is NumericString */
259 const NumericString_t *st = (const NumericString_t *)sptr;
260 const uint8_t *ch = st->buf;
261 const uint8_t *end = ch + st->size;
262
263 for(; ch < end; ch++) {
264 uint8_t cv = *ch;
265 if(!table[cv]) return -1;
266 }
267 return 0;
268}
269
Lev Walkina7591b52014-10-12 18:37:35 -0700270static const int permitted_alphabet_table_21[128] = {
Lev Walkin07aaa342006-10-09 12:52:15 +0000271 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* */
272 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* */
273 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* */
274 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* */
275 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* A */
276 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, /* Z */
277};
278
279static int check_permitted_alphabet_21(const void *sptr) {
Lev Walkina7591b52014-10-12 18:37:35 -0700280 const int *table = permitted_alphabet_table_21;
Lev Walkin07aaa342006-10-09 12:52:15 +0000281 /* The underlying type is UTF8String */
282 const UTF8String_t *st = (const UTF8String_t *)sptr;
283 const uint8_t *ch = st->buf;
284 const uint8_t *end = ch + st->size;
285
286 for(; ch < end; ch++) {
287 uint8_t cv = *ch;
288 if(cv >= 0x80) return -1;
289 if(!table[cv]) return -1;
290 }
291 return 0;
292}
293
Lev Walkin3a4689a2006-11-24 11:20:27 +0000294static int check_permitted_alphabet_23(const void *sptr) {
295 /* The underlying type is BMPString */
296 const BMPString_t *st = (const BMPString_t *)sptr;
297 const uint8_t *ch = st->buf;
298 const uint8_t *end = ch + st->size;
299
300 if(st->size % 2) return -1; /* (size%2)! */
301 for(; ch < end; ch += 2) {
302 uint16_t cv = (ch[0] << 8)
303 | ch[1];
304 if(!(cv >= 65 && cv <= 90)) return -1;
305 }
306 return 0;
307}
308
309static int check_permitted_alphabet_24(const void *sptr) {
310 /* The underlying type is BMPString */
311 const BMPString_t *st = (const BMPString_t *)sptr;
312 const uint8_t *ch = st->buf;
313 const uint8_t *end = ch + st->size;
314
315 if(st->size % 2) return -1; /* (size%2)! */
316 for(; ch < end; ch += 2) {
317 uint16_t cv = (ch[0] << 8)
318 | ch[1];
319 if(!(cv <= 65533)) return -1;
320 }
321 return 0;
322}
323
324static int check_permitted_alphabet_25(const void *sptr) {
325 /* The underlying type is BMPString */
326 const BMPString_t *st = (const BMPString_t *)sptr;
327 const uint8_t *ch = st->buf;
328 const uint8_t *end = ch + st->size;
329
330 if(st->size % 2) return -1; /* (size%2)! */
331 for(; ch < end; ch += 2) {
332 uint16_t cv = (ch[0] << 8)
333 | ch[1];
334 if(!(cv >= 65 && cv <= 90)) return -1;
335 }
336 return 0;
337}
338
Lev Walkina7591b52014-10-12 18:37:35 -0700339static const int permitted_alphabet_table_26[256] = {
Lev Walkin3a4689a2006-11-24 11:20:27 +0000340 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* */
341 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* */
342 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* */
343 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* */
344 0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* AB */
345 0, 0, 0, 0, 0, 0, 0, 0, 3, 4, 5, 0, 0, 0, 0, 0, /* XYZ */
346};
Lev Walkina7591b52014-10-12 18:37:35 -0700347static const int permitted_alphabet_code2value_26[5] = {
Lev Walkin3a4689a2006-11-24 11:20:27 +000034865,66,88,89,90,};
349
350
351static int check_permitted_alphabet_26(const void *sptr) {
Lev Walkina7591b52014-10-12 18:37:35 -0700352 const int *table = permitted_alphabet_table_26;
Lev Walkin3a4689a2006-11-24 11:20:27 +0000353 /* The underlying type is BMPString */
354 const BMPString_t *st = (const BMPString_t *)sptr;
355 const uint8_t *ch = st->buf;
356 const uint8_t *end = ch + st->size;
357
358 if(st->size % 2) return -1; /* (size%2)! */
359 for(; ch < end; ch += 2) {
360 uint16_t cv = (ch[0] << 8)
361 | ch[1];
362 if(cv > 255) return -1;
363 if(!table[cv]) return -1;
364 }
365 return 0;
366}
367
368static int check_permitted_alphabet_28(const void *sptr) {
369 /* The underlying type is UniversalString */
370 const UniversalString_t *st = (const UniversalString_t *)sptr;
371 const uint8_t *ch = st->buf;
372 const uint8_t *end = ch + st->size;
373
374 if(st->size % 4) return -1; /* (size%4)! */
375 for(; ch < end; ch += 4) {
376 uint32_t cv = (ch[0] << 24)
377 | (ch[1] << 16)
378 | (ch[2] << 8)
379 | ch[3];
380 if(!(cv >= 65 && cv <= 90)) return -1;
381 }
382 return 0;
383}
384
385static int check_permitted_alphabet_29(const void *sptr) {
386 /* The underlying type is UniversalString */
387 const UniversalString_t *st = (const UniversalString_t *)sptr;
388 const uint8_t *ch = st->buf;
389 const uint8_t *end = ch + st->size;
390
391 if(st->size % 4) return -1; /* (size%4)! */
392 for(; ch < end; ch += 4) {
393 uint32_t cv = (ch[0] << 24)
394 | (ch[1] << 16)
395 | (ch[2] << 8)
396 | ch[3];
397 if(!(1 /* Constraint matches natural range of cv */)) return -1;
398 }
399 return 0;
400}
401
402static int check_permitted_alphabet_30(const void *sptr) {
403 /* The underlying type is UniversalString */
404 const UniversalString_t *st = (const UniversalString_t *)sptr;
405 const uint8_t *ch = st->buf;
406 const uint8_t *end = ch + st->size;
407
408 if(st->size % 4) return -1; /* (size%4)! */
409 for(; ch < end; ch += 4) {
410 uint32_t cv = (ch[0] << 24)
411 | (ch[1] << 16)
412 | (ch[2] << 8)
413 | ch[3];
414 if(!(cv >= 65 && cv <= 90)) return -1;
415 }
416 return 0;
417}
418
Lev Walkina7591b52014-10-12 18:37:35 -0700419static const int permitted_alphabet_table_31[256] = {
Lev Walkin3a4689a2006-11-24 11:20:27 +0000420 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* */
421 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* */
422 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* */
423 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* */
424 0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* AB */
425 0, 0, 0, 0, 0, 0, 0, 0, 3, 4, 5, 0, 0, 0, 0, 0, /* XYZ */
426};
Lev Walkina7591b52014-10-12 18:37:35 -0700427static const int permitted_alphabet_code2value_31[5] = {
Lev Walkin3a4689a2006-11-24 11:20:27 +000042865,66,88,89,90,};
429
430
431static int check_permitted_alphabet_31(const void *sptr) {
Lev Walkina7591b52014-10-12 18:37:35 -0700432 const int *table = permitted_alphabet_table_31;
Lev Walkin3a4689a2006-11-24 11:20:27 +0000433 /* The underlying type is UniversalString */
434 const UniversalString_t *st = (const UniversalString_t *)sptr;
435 const uint8_t *ch = st->buf;
436 const uint8_t *end = ch + st->size;
437
438 if(st->size % 4) return -1; /* (size%4)! */
439 for(; ch < end; ch += 4) {
440 uint32_t cv = (ch[0] << 24)
441 | (ch[1] << 16)
442 | (ch[2] << 8)
443 | ch[3];
444 if(cv > 255) return -1;
445 if(!table[cv]) return -1;
446 }
447 return 0;
448}
449
Lev Walkin07aaa342006-10-09 12:52:15 +0000450
451/*** <<< CODE [PDU] >>> ***/
452
453static int
454memb_ia5_c_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr,
455 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
456 const IA5String_t *st = (const IA5String_t *)sptr;
457
458 if(!sptr) {
Lev Walkin7c1dc052016-03-14 03:08:15 -0700459 ASN__CTFAIL(app_key, td, sptr,
Lev Walkin07aaa342006-10-09 12:52:15 +0000460 "%s: value not given (%s:%d)",
461 td->name, __FILE__, __LINE__);
462 return -1;
463 }
464
465
466 if(!check_permitted_alphabet_5(st)) {
467 /* Constraint check succeeded */
468 return 0;
469 } else {
Lev Walkin7c1dc052016-03-14 03:08:15 -0700470 ASN__CTFAIL(app_key, td, sptr,
Lev Walkin07aaa342006-10-09 12:52:15 +0000471 "%s: constraint failed (%s:%d)",
472 td->name, __FILE__, __LINE__);
473 return -1;
474 }
475}
476
477static int
478memb_ia5_ce_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr,
479 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
480 const IA5String_t *st = (const IA5String_t *)sptr;
481
482 if(!sptr) {
Lev Walkin7c1dc052016-03-14 03:08:15 -0700483 ASN__CTFAIL(app_key, td, sptr,
Lev Walkin07aaa342006-10-09 12:52:15 +0000484 "%s: value not given (%s:%d)",
485 td->name, __FILE__, __LINE__);
486 return -1;
487 }
488
489
490 if(!check_permitted_alphabet_6(st)) {
491 /* Constraint check succeeded */
492 return 0;
493 } else {
Lev Walkin7c1dc052016-03-14 03:08:15 -0700494 ASN__CTFAIL(app_key, td, sptr,
Lev Walkin07aaa342006-10-09 12:52:15 +0000495 "%s: constraint failed (%s:%d)",
496 td->name, __FILE__, __LINE__);
497 return -1;
498 }
499}
500
501static int
502memb_ia5_ir_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr,
503 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
504 const IA5String_t *st = (const IA5String_t *)sptr;
505
506 if(!sptr) {
Lev Walkin7c1dc052016-03-14 03:08:15 -0700507 ASN__CTFAIL(app_key, td, sptr,
Lev Walkin07aaa342006-10-09 12:52:15 +0000508 "%s: value not given (%s:%d)",
509 td->name, __FILE__, __LINE__);
510 return -1;
511 }
512
513
514 if(!check_permitted_alphabet_7(st)) {
515 /* Constraint check succeeded */
516 return 0;
517 } else {
Lev Walkin7c1dc052016-03-14 03:08:15 -0700518 ASN__CTFAIL(app_key, td, sptr,
Lev Walkin07aaa342006-10-09 12:52:15 +0000519 "%s: constraint failed (%s:%d)",
520 td->name, __FILE__, __LINE__);
521 return -1;
522 }
523}
524
525static int asn_PER_MAP_ia5_ir_7_v2c(unsigned int value) {
526 if(value >= sizeof(permitted_alphabet_table_7)/sizeof(permitted_alphabet_table_7[0]))
527 return -1;
528 return permitted_alphabet_table_7[value] - 1;
529}
530static int asn_PER_MAP_ia5_ir_7_c2v(unsigned int code) {
531 if(code >= sizeof(permitted_alphabet_code2value_7)/sizeof(permitted_alphabet_code2value_7[0]))
532 return -1;
533 return permitted_alphabet_code2value_7[code];
534}
535static int
536memb_vs_c_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr,
537 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
538 const VisibleString_t *st = (const VisibleString_t *)sptr;
539
540 if(!sptr) {
Lev Walkin7c1dc052016-03-14 03:08:15 -0700541 ASN__CTFAIL(app_key, td, sptr,
Lev Walkin07aaa342006-10-09 12:52:15 +0000542 "%s: value not given (%s:%d)",
543 td->name, __FILE__, __LINE__);
544 return -1;
545 }
546
547
548 if(!check_permitted_alphabet_9(st)) {
549 /* Constraint check succeeded */
550 return 0;
551 } else {
Lev Walkin7c1dc052016-03-14 03:08:15 -0700552 ASN__CTFAIL(app_key, td, sptr,
Lev Walkin07aaa342006-10-09 12:52:15 +0000553 "%s: constraint failed (%s:%d)",
554 td->name, __FILE__, __LINE__);
555 return -1;
556 }
557}
558
559static int
560memb_vs_ce_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr,
561 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
562 const VisibleString_t *st = (const VisibleString_t *)sptr;
563
564 if(!sptr) {
Lev Walkin7c1dc052016-03-14 03:08:15 -0700565 ASN__CTFAIL(app_key, td, sptr,
Lev Walkin07aaa342006-10-09 12:52:15 +0000566 "%s: value not given (%s:%d)",
567 td->name, __FILE__, __LINE__);
568 return -1;
569 }
570
571
572 if(!check_permitted_alphabet_10(st)) {
573 /* Constraint check succeeded */
574 return 0;
575 } else {
Lev Walkin7c1dc052016-03-14 03:08:15 -0700576 ASN__CTFAIL(app_key, td, sptr,
Lev Walkin07aaa342006-10-09 12:52:15 +0000577 "%s: constraint failed (%s:%d)",
578 td->name, __FILE__, __LINE__);
579 return -1;
580 }
581}
582
583static int
584memb_vs_ir_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr,
585 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
586 const VisibleString_t *st = (const VisibleString_t *)sptr;
587
588 if(!sptr) {
Lev Walkin7c1dc052016-03-14 03:08:15 -0700589 ASN__CTFAIL(app_key, td, sptr,
Lev Walkin07aaa342006-10-09 12:52:15 +0000590 "%s: value not given (%s:%d)",
591 td->name, __FILE__, __LINE__);
592 return -1;
593 }
594
595
596 if(!check_permitted_alphabet_11(st)) {
597 /* Constraint check succeeded */
598 return 0;
599 } else {
Lev Walkin7c1dc052016-03-14 03:08:15 -0700600 ASN__CTFAIL(app_key, td, sptr,
Lev Walkin07aaa342006-10-09 12:52:15 +0000601 "%s: constraint failed (%s:%d)",
602 td->name, __FILE__, __LINE__);
603 return -1;
604 }
605}
606
607static int asn_PER_MAP_vs_ir_11_v2c(unsigned int value) {
608 if(value >= sizeof(permitted_alphabet_table_11)/sizeof(permitted_alphabet_table_11[0]))
609 return -1;
610 return permitted_alphabet_table_11[value] - 1;
611}
612static int asn_PER_MAP_vs_ir_11_c2v(unsigned int code) {
613 if(code >= sizeof(permitted_alphabet_code2value_11)/sizeof(permitted_alphabet_code2value_11[0]))
614 return -1;
615 return permitted_alphabet_code2value_11[code];
616}
617static int
618memb_pr_c_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr,
619 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
620 const PrintableString_t *st = (const PrintableString_t *)sptr;
621
622 if(!sptr) {
Lev Walkin7c1dc052016-03-14 03:08:15 -0700623 ASN__CTFAIL(app_key, td, sptr,
Lev Walkin07aaa342006-10-09 12:52:15 +0000624 "%s: value not given (%s:%d)",
625 td->name, __FILE__, __LINE__);
626 return -1;
627 }
628
629
630 if(!check_permitted_alphabet_13(st)) {
631 /* Constraint check succeeded */
632 return 0;
633 } else {
Lev Walkin7c1dc052016-03-14 03:08:15 -0700634 ASN__CTFAIL(app_key, td, sptr,
Lev Walkin07aaa342006-10-09 12:52:15 +0000635 "%s: constraint failed (%s:%d)",
636 td->name, __FILE__, __LINE__);
637 return -1;
638 }
639}
640
641static int
642memb_pr_ir_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr,
643 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
644 const PrintableString_t *st = (const PrintableString_t *)sptr;
645
646 if(!sptr) {
Lev Walkin7c1dc052016-03-14 03:08:15 -0700647 ASN__CTFAIL(app_key, td, sptr,
Lev Walkin07aaa342006-10-09 12:52:15 +0000648 "%s: value not given (%s:%d)",
649 td->name, __FILE__, __LINE__);
650 return -1;
651 }
652
653
654 if(!check_permitted_alphabet_14(st)) {
655 /* Constraint check succeeded */
656 return 0;
657 } else {
Lev Walkin7c1dc052016-03-14 03:08:15 -0700658 ASN__CTFAIL(app_key, td, sptr,
Lev Walkin07aaa342006-10-09 12:52:15 +0000659 "%s: constraint failed (%s:%d)",
660 td->name, __FILE__, __LINE__);
661 return -1;
662 }
663}
664
665static int asn_PER_MAP_pr_ir_14_v2c(unsigned int value) {
666 if(value >= sizeof(permitted_alphabet_table_14)/sizeof(permitted_alphabet_table_14[0]))
667 return -1;
668 return permitted_alphabet_table_14[value] - 1;
669}
670static int asn_PER_MAP_pr_ir_14_c2v(unsigned int code) {
671 if(code >= sizeof(permitted_alphabet_code2value_14)/sizeof(permitted_alphabet_code2value_14[0]))
672 return -1;
673 return permitted_alphabet_code2value_14[code];
674}
675static int
676memb_ns_c_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr,
677 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
678 const NumericString_t *st = (const NumericString_t *)sptr;
679
680 if(!sptr) {
Lev Walkin7c1dc052016-03-14 03:08:15 -0700681 ASN__CTFAIL(app_key, td, sptr,
Lev Walkin07aaa342006-10-09 12:52:15 +0000682 "%s: value not given (%s:%d)",
683 td->name, __FILE__, __LINE__);
684 return -1;
685 }
686
687
688 if(!check_permitted_alphabet_16(st)) {
689 /* Constraint check succeeded */
690 return 0;
691 } else {
Lev Walkin7c1dc052016-03-14 03:08:15 -0700692 ASN__CTFAIL(app_key, td, sptr,
Lev Walkin07aaa342006-10-09 12:52:15 +0000693 "%s: constraint failed (%s:%d)",
694 td->name, __FILE__, __LINE__);
695 return -1;
696 }
697}
698
699static int
700memb_ns_ce_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr,
701 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
702 const NumericString_t *st = (const NumericString_t *)sptr;
703
704 if(!sptr) {
Lev Walkin7c1dc052016-03-14 03:08:15 -0700705 ASN__CTFAIL(app_key, td, sptr,
Lev Walkin07aaa342006-10-09 12:52:15 +0000706 "%s: value not given (%s:%d)",
707 td->name, __FILE__, __LINE__);
708 return -1;
709 }
710
711
712 if(!check_permitted_alphabet_17(st)) {
713 /* Constraint check succeeded */
714 return 0;
715 } else {
Lev Walkin7c1dc052016-03-14 03:08:15 -0700716 ASN__CTFAIL(app_key, td, sptr,
Lev Walkin07aaa342006-10-09 12:52:15 +0000717 "%s: constraint failed (%s:%d)",
718 td->name, __FILE__, __LINE__);
719 return -1;
720 }
721}
722
723static int
724memb_ns_ir_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr,
725 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
726 const NumericString_t *st = (const NumericString_t *)sptr;
727
728 if(!sptr) {
Lev Walkin7c1dc052016-03-14 03:08:15 -0700729 ASN__CTFAIL(app_key, td, sptr,
Lev Walkin07aaa342006-10-09 12:52:15 +0000730 "%s: value not given (%s:%d)",
731 td->name, __FILE__, __LINE__);
732 return -1;
733 }
734
735
736 if(!check_permitted_alphabet_18(st)) {
737 /* Constraint check succeeded */
738 return 0;
739 } else {
Lev Walkin7c1dc052016-03-14 03:08:15 -0700740 ASN__CTFAIL(app_key, td, sptr,
Lev Walkin07aaa342006-10-09 12:52:15 +0000741 "%s: constraint failed (%s:%d)",
742 td->name, __FILE__, __LINE__);
743 return -1;
744 }
745}
746
747static int asn_PER_MAP_ns_ir_18_v2c(unsigned int value) {
748 if(value >= sizeof(permitted_alphabet_table_18)/sizeof(permitted_alphabet_table_18[0]))
749 return -1;
750 return permitted_alphabet_table_18[value] - 1;
751}
752static int asn_PER_MAP_ns_ir_18_c2v(unsigned int code) {
753 if(code >= sizeof(permitted_alphabet_code2value_18)/sizeof(permitted_alphabet_code2value_18[0]))
754 return -1;
755 return permitted_alphabet_code2value_18[code];
756}
757static int
758memb_ut_c_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr,
759 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
760 const UTF8String_t *st = (const UTF8String_t *)sptr;
761 size_t size;
762
763 if(!sptr) {
Lev Walkin7c1dc052016-03-14 03:08:15 -0700764 ASN__CTFAIL(app_key, td, sptr,
Lev Walkin07aaa342006-10-09 12:52:15 +0000765 "%s: value not given (%s:%d)",
766 td->name, __FILE__, __LINE__);
767 return -1;
768 }
769
770 size = UTF8String_length(st);
771 if((ssize_t)size < 0) {
Lev Walkin7c1dc052016-03-14 03:08:15 -0700772 ASN__CTFAIL(app_key, td, sptr,
Lev Walkin07aaa342006-10-09 12:52:15 +0000773 "%s: UTF-8: broken encoding (%s:%d)",
774 td->name, __FILE__, __LINE__);
775 return -1;
776 }
777
778 if((size == 6)) {
779 /* Constraint check succeeded */
780 return 0;
781 } else {
Lev Walkin7c1dc052016-03-14 03:08:15 -0700782 ASN__CTFAIL(app_key, td, sptr,
Lev Walkin07aaa342006-10-09 12:52:15 +0000783 "%s: constraint failed (%s:%d)",
784 td->name, __FILE__, __LINE__);
785 return -1;
786 }
787}
788
789static int
790memb_ut_ce_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr,
791 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
792 const UTF8String_t *st = (const UTF8String_t *)sptr;
793 size_t size;
794
795 if(!sptr) {
Lev Walkin7c1dc052016-03-14 03:08:15 -0700796 ASN__CTFAIL(app_key, td, sptr,
Lev Walkin07aaa342006-10-09 12:52:15 +0000797 "%s: value not given (%s:%d)",
798 td->name, __FILE__, __LINE__);
799 return -1;
800 }
801
802 size = UTF8String_length(st);
803 if((ssize_t)size < 0) {
Lev Walkin7c1dc052016-03-14 03:08:15 -0700804 ASN__CTFAIL(app_key, td, sptr,
Lev Walkin07aaa342006-10-09 12:52:15 +0000805 "%s: UTF-8: broken encoding (%s:%d)",
806 td->name, __FILE__, __LINE__);
807 return -1;
808 }
809
810 if((size == 6)) {
811 /* Constraint check succeeded */
812 return 0;
813 } else {
Lev Walkin7c1dc052016-03-14 03:08:15 -0700814 ASN__CTFAIL(app_key, td, sptr,
Lev Walkin07aaa342006-10-09 12:52:15 +0000815 "%s: constraint failed (%s:%d)",
816 td->name, __FILE__, __LINE__);
817 return -1;
818 }
819}
820
821static int
822memb_ut_ir_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr,
823 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
824 const UTF8String_t *st = (const UTF8String_t *)sptr;
825
826 if(!sptr) {
Lev Walkin7c1dc052016-03-14 03:08:15 -0700827 ASN__CTFAIL(app_key, td, sptr,
Lev Walkin07aaa342006-10-09 12:52:15 +0000828 "%s: value not given (%s:%d)",
829 td->name, __FILE__, __LINE__);
830 return -1;
831 }
832
833
834 if(!check_permitted_alphabet_21(st)) {
835 /* Constraint check succeeded */
836 return 0;
837 } else {
Lev Walkin7c1dc052016-03-14 03:08:15 -0700838 ASN__CTFAIL(app_key, td, sptr,
Lev Walkin07aaa342006-10-09 12:52:15 +0000839 "%s: constraint failed (%s:%d)",
840 td->name, __FILE__, __LINE__);
841 return -1;
842 }
843}
844
Lev Walkin3a4689a2006-11-24 11:20:27 +0000845static int
846memb_bm_c_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr,
847 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
848 const BMPString_t *st = (const BMPString_t *)sptr;
849
850 if(!sptr) {
Lev Walkin7c1dc052016-03-14 03:08:15 -0700851 ASN__CTFAIL(app_key, td, sptr,
Lev Walkin3a4689a2006-11-24 11:20:27 +0000852 "%s: value not given (%s:%d)",
853 td->name, __FILE__, __LINE__);
854 return -1;
855 }
856
857
858 if(!check_permitted_alphabet_23(st)) {
859 /* Constraint check succeeded */
860 return 0;
861 } else {
Lev Walkin7c1dc052016-03-14 03:08:15 -0700862 ASN__CTFAIL(app_key, td, sptr,
Lev Walkin3a4689a2006-11-24 11:20:27 +0000863 "%s: constraint failed (%s:%d)",
864 td->name, __FILE__, __LINE__);
865 return -1;
866 }
867}
868
869static int
870memb_bm_cs_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr,
871 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
872 const BMPString_t *st = (const BMPString_t *)sptr;
873 size_t size;
874
875 if(!sptr) {
Lev Walkin7c1dc052016-03-14 03:08:15 -0700876 ASN__CTFAIL(app_key, td, sptr,
Lev Walkin3a4689a2006-11-24 11:20:27 +0000877 "%s: value not given (%s:%d)",
878 td->name, __FILE__, __LINE__);
879 return -1;
880 }
881
882 size = st->size >> 1; /* 2 byte per character */
883
884 if((size == 6)
885 && !check_permitted_alphabet_24(st)) {
886 /* Constraint check succeeded */
887 return 0;
888 } else {
Lev Walkin7c1dc052016-03-14 03:08:15 -0700889 ASN__CTFAIL(app_key, td, sptr,
Lev Walkin3a4689a2006-11-24 11:20:27 +0000890 "%s: constraint failed (%s:%d)",
891 td->name, __FILE__, __LINE__);
892 return -1;
893 }
894}
895
896static int
897memb_bm_ce_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr,
898 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
899 const BMPString_t *st = (const BMPString_t *)sptr;
900
901 if(!sptr) {
Lev Walkin7c1dc052016-03-14 03:08:15 -0700902 ASN__CTFAIL(app_key, td, sptr,
Lev Walkin3a4689a2006-11-24 11:20:27 +0000903 "%s: value not given (%s:%d)",
904 td->name, __FILE__, __LINE__);
905 return -1;
906 }
907
908
909 if(!check_permitted_alphabet_25(st)) {
910 /* Constraint check succeeded */
911 return 0;
912 } else {
Lev Walkin7c1dc052016-03-14 03:08:15 -0700913 ASN__CTFAIL(app_key, td, sptr,
Lev Walkin3a4689a2006-11-24 11:20:27 +0000914 "%s: constraint failed (%s:%d)",
915 td->name, __FILE__, __LINE__);
916 return -1;
917 }
918}
919
920static int
921memb_bm_ir_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr,
922 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
923 const BMPString_t *st = (const BMPString_t *)sptr;
924
925 if(!sptr) {
Lev Walkin7c1dc052016-03-14 03:08:15 -0700926 ASN__CTFAIL(app_key, td, sptr,
Lev Walkin3a4689a2006-11-24 11:20:27 +0000927 "%s: value not given (%s:%d)",
928 td->name, __FILE__, __LINE__);
929 return -1;
930 }
931
932
933 if(!check_permitted_alphabet_26(st)) {
934 /* Constraint check succeeded */
935 return 0;
936 } else {
Lev Walkin7c1dc052016-03-14 03:08:15 -0700937 ASN__CTFAIL(app_key, td, sptr,
Lev Walkin3a4689a2006-11-24 11:20:27 +0000938 "%s: constraint failed (%s:%d)",
939 td->name, __FILE__, __LINE__);
940 return -1;
941 }
942}
943
944static int asn_PER_MAP_bm_ir_26_v2c(unsigned int value) {
945 if(value >= sizeof(permitted_alphabet_table_26)/sizeof(permitted_alphabet_table_26[0]))
946 return -1;
947 return permitted_alphabet_table_26[value] - 1;
948}
949static int asn_PER_MAP_bm_ir_26_c2v(unsigned int code) {
950 if(code >= sizeof(permitted_alphabet_code2value_26)/sizeof(permitted_alphabet_code2value_26[0]))
951 return -1;
952 return permitted_alphabet_code2value_26[code];
953}
954static int
955memb_us_c_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr,
956 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
957 const UniversalString_t *st = (const UniversalString_t *)sptr;
958
959 if(!sptr) {
Lev Walkin7c1dc052016-03-14 03:08:15 -0700960 ASN__CTFAIL(app_key, td, sptr,
Lev Walkin3a4689a2006-11-24 11:20:27 +0000961 "%s: value not given (%s:%d)",
962 td->name, __FILE__, __LINE__);
963 return -1;
964 }
965
966
967 if(!check_permitted_alphabet_28(st)) {
968 /* Constraint check succeeded */
969 return 0;
970 } else {
Lev Walkin7c1dc052016-03-14 03:08:15 -0700971 ASN__CTFAIL(app_key, td, sptr,
Lev Walkin3a4689a2006-11-24 11:20:27 +0000972 "%s: constraint failed (%s:%d)",
973 td->name, __FILE__, __LINE__);
974 return -1;
975 }
976}
977
978static int
979memb_us_cs_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr,
980 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
981 const UniversalString_t *st = (const UniversalString_t *)sptr;
982 size_t size;
983
984 if(!sptr) {
Lev Walkin7c1dc052016-03-14 03:08:15 -0700985 ASN__CTFAIL(app_key, td, sptr,
Lev Walkin3a4689a2006-11-24 11:20:27 +0000986 "%s: value not given (%s:%d)",
987 td->name, __FILE__, __LINE__);
988 return -1;
989 }
990
991 size = st->size >> 2; /* 4 byte per character */
992
993 if((size == 6)
994 && !check_permitted_alphabet_29(st)) {
995 /* Constraint check succeeded */
996 return 0;
997 } else {
Lev Walkin7c1dc052016-03-14 03:08:15 -0700998 ASN__CTFAIL(app_key, td, sptr,
Lev Walkin3a4689a2006-11-24 11:20:27 +0000999 "%s: constraint failed (%s:%d)",
1000 td->name, __FILE__, __LINE__);
1001 return -1;
1002 }
1003}
1004
1005static int
1006memb_us_ce_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr,
1007 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
1008 const UniversalString_t *st = (const UniversalString_t *)sptr;
1009
1010 if(!sptr) {
Lev Walkin7c1dc052016-03-14 03:08:15 -07001011 ASN__CTFAIL(app_key, td, sptr,
Lev Walkin3a4689a2006-11-24 11:20:27 +00001012 "%s: value not given (%s:%d)",
1013 td->name, __FILE__, __LINE__);
1014 return -1;
1015 }
1016
1017
1018 if(!check_permitted_alphabet_30(st)) {
1019 /* Constraint check succeeded */
1020 return 0;
1021 } else {
Lev Walkin7c1dc052016-03-14 03:08:15 -07001022 ASN__CTFAIL(app_key, td, sptr,
Lev Walkin3a4689a2006-11-24 11:20:27 +00001023 "%s: constraint failed (%s:%d)",
1024 td->name, __FILE__, __LINE__);
1025 return -1;
1026 }
1027}
1028
1029static int
1030memb_us_ir_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr,
1031 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
1032 const UniversalString_t *st = (const UniversalString_t *)sptr;
1033
1034 if(!sptr) {
Lev Walkin7c1dc052016-03-14 03:08:15 -07001035 ASN__CTFAIL(app_key, td, sptr,
Lev Walkin3a4689a2006-11-24 11:20:27 +00001036 "%s: value not given (%s:%d)",
1037 td->name, __FILE__, __LINE__);
1038 return -1;
1039 }
1040
1041
1042 if(!check_permitted_alphabet_31(st)) {
1043 /* Constraint check succeeded */
1044 return 0;
1045 } else {
Lev Walkin7c1dc052016-03-14 03:08:15 -07001046 ASN__CTFAIL(app_key, td, sptr,
Lev Walkin3a4689a2006-11-24 11:20:27 +00001047 "%s: constraint failed (%s:%d)",
1048 td->name, __FILE__, __LINE__);
1049 return -1;
1050 }
1051}
1052
1053static int asn_PER_MAP_us_ir_31_v2c(unsigned int value) {
1054 if(value >= sizeof(permitted_alphabet_table_31)/sizeof(permitted_alphabet_table_31[0]))
1055 return -1;
1056 return permitted_alphabet_table_31[value] - 1;
1057}
1058static int asn_PER_MAP_us_ir_31_c2v(unsigned int code) {
1059 if(code >= sizeof(permitted_alphabet_code2value_31)/sizeof(permitted_alphabet_code2value_31[0]))
1060 return -1;
1061 return permitted_alphabet_code2value_31[code];
1062}
Lev Walkin07aaa342006-10-09 12:52:15 +00001063
1064/*** <<< CTDEFS [PDU] >>> ***/
1065
Lev Walkin2fce55d2013-03-28 05:00:39 -07001066static asn_per_constraints_t asn_PER_memb_ia5_c_constr_5 GCC_NOTUSED = {
Lev Walkin07aaa342006-10-09 12:52:15 +00001067 { APC_CONSTRAINED, 5, 5, 65, 90 } /* (65..90) */,
1068 { APC_SEMI_CONSTRAINED, -1, -1, 0, 0 } /* (SIZE(0..MAX)) */,
1069 0, 0 /* No PER character map necessary */
1070};
Lev Walkin2fce55d2013-03-28 05:00:39 -07001071static asn_per_constraints_t asn_PER_memb_ia5_ce_constr_6 GCC_NOTUSED = {
Lev Walkin07aaa342006-10-09 12:52:15 +00001072 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
1073 { APC_SEMI_CONSTRAINED, -1, -1, 0, 0 } /* (SIZE(0..MAX)) */,
1074 0, 0 /* No PER character map necessary */
1075};
Lev Walkin2fce55d2013-03-28 05:00:39 -07001076static asn_per_constraints_t asn_PER_memb_ia5_ir_constr_7 GCC_NOTUSED = {
Lev Walkin07aaa342006-10-09 12:52:15 +00001077 { APC_CONSTRAINED, 3, 3, 65, 90 } /* (65..90) */,
1078 { APC_SEMI_CONSTRAINED, -1, -1, 0, 0 } /* (SIZE(0..MAX)) */,
1079 asn_PER_MAP_ia5_ir_7_v2c, /* Value to PER code map */
1080 asn_PER_MAP_ia5_ir_7_c2v /* PER code to value map */
1081};
Lev Walkin2fce55d2013-03-28 05:00:39 -07001082static asn_per_constraints_t asn_PER_memb_vs_c_constr_9 GCC_NOTUSED = {
Lev Walkin07aaa342006-10-09 12:52:15 +00001083 { APC_CONSTRAINED, 5, 5, 65, 90 } /* (65..90) */,
1084 { APC_SEMI_CONSTRAINED, -1, -1, 0, 0 } /* (SIZE(0..MAX)) */,
1085 0, 0 /* No PER character map necessary */
1086};
Lev Walkin2fce55d2013-03-28 05:00:39 -07001087static asn_per_constraints_t asn_PER_memb_vs_ce_constr_10 GCC_NOTUSED = {
Lev Walkin07aaa342006-10-09 12:52:15 +00001088 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
1089 { APC_SEMI_CONSTRAINED, -1, -1, 0, 0 } /* (SIZE(0..MAX)) */,
1090 0, 0 /* No PER character map necessary */
1091};
Lev Walkin2fce55d2013-03-28 05:00:39 -07001092static asn_per_constraints_t asn_PER_memb_vs_ir_constr_11 GCC_NOTUSED = {
Lev Walkin07aaa342006-10-09 12:52:15 +00001093 { APC_CONSTRAINED, 3, 3, 65, 90 } /* (65..90) */,
1094 { APC_SEMI_CONSTRAINED, -1, -1, 0, 0 } /* (SIZE(0..MAX)) */,
1095 asn_PER_MAP_vs_ir_11_v2c, /* Value to PER code map */
1096 asn_PER_MAP_vs_ir_11_c2v /* PER code to value map */
1097};
Lev Walkin2fce55d2013-03-28 05:00:39 -07001098static asn_per_constraints_t asn_PER_memb_pr_c_constr_13 GCC_NOTUSED = {
Lev Walkin07aaa342006-10-09 12:52:15 +00001099 { APC_CONSTRAINED, 5, 5, 65, 90 } /* (65..90) */,
1100 { APC_SEMI_CONSTRAINED, -1, -1, 0, 0 } /* (SIZE(0..MAX)) */,
1101 0, 0 /* No PER character map necessary */
1102};
Lev Walkin2fce55d2013-03-28 05:00:39 -07001103static asn_per_constraints_t asn_PER_memb_pr_ir_constr_14 GCC_NOTUSED = {
Lev Walkin07aaa342006-10-09 12:52:15 +00001104 { APC_CONSTRAINED, 3, 3, 65, 90 } /* (65..90) */,
1105 { APC_SEMI_CONSTRAINED, -1, -1, 0, 0 } /* (SIZE(0..MAX)) */,
1106 asn_PER_MAP_pr_ir_14_v2c, /* Value to PER code map */
1107 asn_PER_MAP_pr_ir_14_c2v /* PER code to value map */
1108};
Lev Walkin2fce55d2013-03-28 05:00:39 -07001109static asn_per_constraints_t asn_PER_memb_ns_c_constr_16 GCC_NOTUSED = {
Lev Walkin07aaa342006-10-09 12:52:15 +00001110 { APC_CONSTRAINED, 3, 3, 53, 57 } /* (53..57) */,
1111 { APC_SEMI_CONSTRAINED, -1, -1, 0, 0 } /* (SIZE(0..MAX)) */,
1112 0, 0 /* No PER character map necessary */
1113};
Lev Walkin2fce55d2013-03-28 05:00:39 -07001114static asn_per_constraints_t asn_PER_memb_ns_ce_constr_17 GCC_NOTUSED = {
Lev Walkin07aaa342006-10-09 12:52:15 +00001115 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
1116 { APC_SEMI_CONSTRAINED, -1, -1, 0, 0 } /* (SIZE(0..MAX)) */,
1117 0, 0 /* No PER character map necessary */
1118};
Lev Walkin2fce55d2013-03-28 05:00:39 -07001119static asn_per_constraints_t asn_PER_memb_ns_ir_constr_18 GCC_NOTUSED = {
Lev Walkin07aaa342006-10-09 12:52:15 +00001120 { APC_CONSTRAINED, 1, 1, 49, 57 } /* (49..57) */,
1121 { APC_SEMI_CONSTRAINED, -1, -1, 0, 0 } /* (SIZE(0..MAX)) */,
1122 asn_PER_MAP_ns_ir_18_v2c, /* Value to PER code map */
1123 asn_PER_MAP_ns_ir_18_c2v /* PER code to value map */
1124};
Lev Walkin2fce55d2013-03-28 05:00:39 -07001125static asn_per_constraints_t asn_PER_memb_ut_c_constr_19 GCC_NOTUSED = {
Lev Walkin07aaa342006-10-09 12:52:15 +00001126 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
1127 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
1128 0, 0 /* No PER value map */
1129};
Lev Walkin2fce55d2013-03-28 05:00:39 -07001130static asn_per_constraints_t asn_PER_memb_ut_ce_constr_20 GCC_NOTUSED = {
Lev Walkin07aaa342006-10-09 12:52:15 +00001131 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
1132 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
1133 0, 0 /* No PER value map */
1134};
Lev Walkin2fce55d2013-03-28 05:00:39 -07001135static asn_per_constraints_t asn_PER_memb_ut_ir_constr_21 GCC_NOTUSED = {
Lev Walkin07aaa342006-10-09 12:52:15 +00001136 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
1137 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
1138 0, 0 /* No PER value map */
1139};
Lev Walkin2fce55d2013-03-28 05:00:39 -07001140static asn_per_constraints_t asn_PER_memb_bm_c_constr_23 GCC_NOTUSED = {
Lev Walkin3a4689a2006-11-24 11:20:27 +00001141 { APC_CONSTRAINED, 5, 5, 65, 90 } /* (65..90) */,
1142 { APC_SEMI_CONSTRAINED, -1, -1, 0, 0 } /* (SIZE(0..MAX)) */,
1143 0, 0 /* No PER character map necessary */
1144};
Lev Walkin2fce55d2013-03-28 05:00:39 -07001145static asn_per_constraints_t asn_PER_memb_bm_cs_constr_24 GCC_NOTUSED = {
Lev Walkin3a4689a2006-11-24 11:20:27 +00001146 { APC_CONSTRAINED, 16, 16, 0, 65533 } /* (0..65533) */,
1147 { APC_CONSTRAINED, 0, 0, 6, 6 } /* (SIZE(6..6)) */,
1148 0, 0 /* No PER character map necessary */
1149};
Lev Walkin2fce55d2013-03-28 05:00:39 -07001150static asn_per_constraints_t asn_PER_memb_bm_ce_constr_25 GCC_NOTUSED = {
Lev Walkin3a4689a2006-11-24 11:20:27 +00001151 { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */,
1152 { APC_SEMI_CONSTRAINED, -1, -1, 0, 0 } /* (SIZE(0..MAX)) */,
1153 0, 0 /* No PER character map necessary */
1154};
Lev Walkin2fce55d2013-03-28 05:00:39 -07001155static asn_per_constraints_t asn_PER_memb_bm_ir_constr_26 GCC_NOTUSED = {
Lev Walkin3a4689a2006-11-24 11:20:27 +00001156 { APC_CONSTRAINED, 3, 3, 65, 90 } /* (65..90) */,
1157 { APC_SEMI_CONSTRAINED, -1, -1, 0, 0 } /* (SIZE(0..MAX)) */,
1158 asn_PER_MAP_bm_ir_26_v2c, /* Value to PER code map */
1159 asn_PER_MAP_bm_ir_26_c2v /* PER code to value map */
1160};
Lev Walkin2fce55d2013-03-28 05:00:39 -07001161static asn_per_constraints_t asn_PER_memb_us_c_constr_28 GCC_NOTUSED = {
Lev Walkin3a4689a2006-11-24 11:20:27 +00001162 { APC_CONSTRAINED, 5, 5, 65, 90 } /* (65..90) */,
1163 { APC_SEMI_CONSTRAINED, -1, -1, 0, 0 } /* (SIZE(0..MAX)) */,
1164 0, 0 /* No PER character map necessary */
1165};
Lev Walkin2fce55d2013-03-28 05:00:39 -07001166static asn_per_constraints_t asn_PER_memb_us_cs_constr_29 GCC_NOTUSED = {
Lev Walkin3a4689a2006-11-24 11:20:27 +00001167 { APC_CONSTRAINED, 32, 32, 0, 2147483647 } /* (0..4294967295) */,
1168 { APC_CONSTRAINED, 0, 0, 6, 6 } /* (SIZE(6..6)) */,
1169 0, 0 /* No PER character map necessary */
1170};
Lev Walkin2fce55d2013-03-28 05:00:39 -07001171static asn_per_constraints_t asn_PER_memb_us_ce_constr_30 GCC_NOTUSED = {
Lev Walkin3a4689a2006-11-24 11:20:27 +00001172 { APC_CONSTRAINED, 32, 32, 0, 2147483647 } /* special case 1 */
1173 ,
1174 { APC_SEMI_CONSTRAINED, -1, -1, 0, 0 } /* (SIZE(0..MAX)) */,
1175 0, 0 /* No PER character map necessary */
1176};
Lev Walkin2fce55d2013-03-28 05:00:39 -07001177static asn_per_constraints_t asn_PER_memb_us_ir_constr_31 GCC_NOTUSED = {
Lev Walkin3a4689a2006-11-24 11:20:27 +00001178 { APC_CONSTRAINED, 3, 3, 65, 90 } /* (65..90) */,
1179 { APC_SEMI_CONSTRAINED, -1, -1, 0, 0 } /* (SIZE(0..MAX)) */,
1180 asn_PER_MAP_us_ir_31_v2c, /* Value to PER code map */
1181 asn_PER_MAP_us_ir_31_c2v /* PER code to value map */
1182};
Lev Walkin07aaa342006-10-09 12:52:15 +00001183
1184/*** <<< STAT-DEFS [PDU] >>> ***/
1185
1186static asn_TYPE_member_t asn_MBR_many_2[] = {
1187 { ATF_POINTER, 0, 0,
1188 .tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
1189 .tag_mode = 0,
1190 .type = &asn_DEF_PDU,
Lev Walkin67a30122017-08-10 05:48:54 -07001191 .type_selector = 0,
Lev Walkin07aaa342006-10-09 12:52:15 +00001192 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkinb33425f2017-07-14 14:59:52 +04001193 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin07aaa342006-10-09 12:52:15 +00001194 .per_constraints = 0, /* No PER visible constraints */
1195 .default_value = 0,
1196 .name = ""
1197 },
1198};
Lev Walkina7591b52014-10-12 18:37:35 -07001199static const ber_tlv_tag_t asn_DEF_many_tags_2[] = {
Lev Walkin07aaa342006-10-09 12:52:15 +00001200 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
1201 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
1202};
1203static asn_SET_OF_specifics_t asn_SPC_many_specs_2 = {
1204 sizeof(struct many),
1205 offsetof(struct many, _asn_ctx),
1206 0, /* XER encoding is XMLDelimitedItemList */
1207};
1208static /* Use -fall-defs-global to expose */
1209asn_TYPE_descriptor_t asn_DEF_many_2 = {
1210 "many",
1211 "many",
1212 SEQUENCE_OF_free,
1213 SEQUENCE_OF_print,
Lev Walkincd2f48e2017-08-10 02:14:59 -07001214 SEQUENCE_OF_compare,
Lev Walkin07aaa342006-10-09 12:52:15 +00001215 SEQUENCE_OF_constraint,
1216 SEQUENCE_OF_decode_ber,
1217 SEQUENCE_OF_encode_der,
1218 SEQUENCE_OF_decode_xer,
1219 SEQUENCE_OF_encode_xer,
Lev Walkinb33425f2017-07-14 14:59:52 +04001220 0, 0, /* No OER support, use "-gen-OER" to enable */
Lev Walkin07aaa342006-10-09 12:52:15 +00001221 SEQUENCE_OF_decode_uper,
1222 SEQUENCE_OF_encode_uper,
1223 0, /* Use generic outmost tag fetcher */
1224 asn_DEF_many_tags_2,
1225 sizeof(asn_DEF_many_tags_2)
1226 /sizeof(asn_DEF_many_tags_2[0]) - 1, /* 1 */
1227 asn_DEF_many_tags_2, /* Same as above */
1228 sizeof(asn_DEF_many_tags_2)
1229 /sizeof(asn_DEF_many_tags_2[0]), /* 2 */
Lev Walkinb33425f2017-07-14 14:59:52 +04001230 0, /* No OER visible constraints */
Lev Walkin07aaa342006-10-09 12:52:15 +00001231 0, /* No PER visible constraints */
1232 asn_MBR_many_2,
1233 1, /* Single element */
1234 &asn_SPC_many_specs_2 /* Additional specs */
1235};
1236
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +08001237asn_TYPE_member_t asn_MBR_PDU_1[] = {
Lev Walkin3a4689a2006-11-24 11:20:27 +00001238 { ATF_POINTER, 31, offsetof(struct PDU, many),
Lev Walkin07aaa342006-10-09 12:52:15 +00001239 .tag = (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
Lev Walkin9ab21b82006-10-19 02:46:01 +00001240 .tag_mode = 0,
Lev Walkin07aaa342006-10-09 12:52:15 +00001241 .type = &asn_DEF_many_2,
Lev Walkin67a30122017-08-10 05:48:54 -07001242 .type_selector = 0,
Lev Walkin07aaa342006-10-09 12:52:15 +00001243 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkinb33425f2017-07-14 14:59:52 +04001244 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin07aaa342006-10-09 12:52:15 +00001245 .per_constraints = 0, /* No PER visible constraints */
1246 .default_value = 0,
1247 .name = "many"
1248 },
Lev Walkin3a4689a2006-11-24 11:20:27 +00001249 { ATF_POINTER, 30, offsetof(struct PDU, ia5),
Lev Walkin07aaa342006-10-09 12:52:15 +00001250 .tag = (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
1251 .tag_mode = -1, /* IMPLICIT tag at current level */
1252 .type = &asn_DEF_IA5String,
Lev Walkin67a30122017-08-10 05:48:54 -07001253 .type_selector = 0,
Lev Walkin07aaa342006-10-09 12:52:15 +00001254 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkinb33425f2017-07-14 14:59:52 +04001255 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin07aaa342006-10-09 12:52:15 +00001256 .per_constraints = 0, /* No PER visible constraints */
1257 .default_value = 0,
1258 .name = "ia5"
1259 },
Lev Walkin3a4689a2006-11-24 11:20:27 +00001260 { ATF_POINTER, 29, offsetof(struct PDU, ia5_c),
Lev Walkin07aaa342006-10-09 12:52:15 +00001261 .tag = (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
1262 .tag_mode = -1, /* IMPLICIT tag at current level */
1263 .type = &asn_DEF_IA5String,
Lev Walkin67a30122017-08-10 05:48:54 -07001264 .type_selector = 0,
Lev Walkin07aaa342006-10-09 12:52:15 +00001265 .memb_constraints = memb_ia5_c_constraint_1,
Lev Walkinb33425f2017-07-14 14:59:52 +04001266 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin07aaa342006-10-09 12:52:15 +00001267 .per_constraints = &asn_PER_memb_ia5_c_constr_5,
1268 .default_value = 0,
1269 .name = "ia5-c"
1270 },
Lev Walkin3a4689a2006-11-24 11:20:27 +00001271 { ATF_POINTER, 28, offsetof(struct PDU, ia5_ce),
Lev Walkin07aaa342006-10-09 12:52:15 +00001272 .tag = (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
1273 .tag_mode = -1, /* IMPLICIT tag at current level */
1274 .type = &asn_DEF_IA5String,
Lev Walkin67a30122017-08-10 05:48:54 -07001275 .type_selector = 0,
Lev Walkin07aaa342006-10-09 12:52:15 +00001276 .memb_constraints = memb_ia5_ce_constraint_1,
Lev Walkinb33425f2017-07-14 14:59:52 +04001277 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin07aaa342006-10-09 12:52:15 +00001278 .per_constraints = &asn_PER_memb_ia5_ce_constr_6,
1279 .default_value = 0,
1280 .name = "ia5-ce"
1281 },
Lev Walkin3a4689a2006-11-24 11:20:27 +00001282 { ATF_POINTER, 27, offsetof(struct PDU, ia5_ir),
Lev Walkin07aaa342006-10-09 12:52:15 +00001283 .tag = (ASN_TAG_CLASS_CONTEXT | (4 << 2)),
1284 .tag_mode = -1, /* IMPLICIT tag at current level */
1285 .type = &asn_DEF_IA5String,
Lev Walkin67a30122017-08-10 05:48:54 -07001286 .type_selector = 0,
Lev Walkin07aaa342006-10-09 12:52:15 +00001287 .memb_constraints = memb_ia5_ir_constraint_1,
Lev Walkinb33425f2017-07-14 14:59:52 +04001288 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin07aaa342006-10-09 12:52:15 +00001289 .per_constraints = &asn_PER_memb_ia5_ir_constr_7,
1290 .default_value = 0,
1291 .name = "ia5-ir"
1292 },
Lev Walkin3a4689a2006-11-24 11:20:27 +00001293 { ATF_POINTER, 26, offsetof(struct PDU, vs),
Lev Walkin07aaa342006-10-09 12:52:15 +00001294 .tag = (ASN_TAG_CLASS_CONTEXT | (5 << 2)),
1295 .tag_mode = -1, /* IMPLICIT tag at current level */
1296 .type = &asn_DEF_VisibleString,
Lev Walkin67a30122017-08-10 05:48:54 -07001297 .type_selector = 0,
Lev Walkin07aaa342006-10-09 12:52:15 +00001298 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkinb33425f2017-07-14 14:59:52 +04001299 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin07aaa342006-10-09 12:52:15 +00001300 .per_constraints = 0, /* No PER visible constraints */
1301 .default_value = 0,
1302 .name = "vs"
1303 },
Lev Walkin3a4689a2006-11-24 11:20:27 +00001304 { ATF_POINTER, 25, offsetof(struct PDU, vs_c),
Lev Walkin07aaa342006-10-09 12:52:15 +00001305 .tag = (ASN_TAG_CLASS_CONTEXT | (6 << 2)),
1306 .tag_mode = -1, /* IMPLICIT tag at current level */
1307 .type = &asn_DEF_VisibleString,
Lev Walkin67a30122017-08-10 05:48:54 -07001308 .type_selector = 0,
Lev Walkin07aaa342006-10-09 12:52:15 +00001309 .memb_constraints = memb_vs_c_constraint_1,
Lev Walkinb33425f2017-07-14 14:59:52 +04001310 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin07aaa342006-10-09 12:52:15 +00001311 .per_constraints = &asn_PER_memb_vs_c_constr_9,
1312 .default_value = 0,
1313 .name = "vs-c"
1314 },
Lev Walkin3a4689a2006-11-24 11:20:27 +00001315 { ATF_POINTER, 24, offsetof(struct PDU, vs_ce),
Lev Walkin07aaa342006-10-09 12:52:15 +00001316 .tag = (ASN_TAG_CLASS_CONTEXT | (7 << 2)),
1317 .tag_mode = -1, /* IMPLICIT tag at current level */
1318 .type = &asn_DEF_VisibleString,
Lev Walkin67a30122017-08-10 05:48:54 -07001319 .type_selector = 0,
Lev Walkin07aaa342006-10-09 12:52:15 +00001320 .memb_constraints = memb_vs_ce_constraint_1,
Lev Walkinb33425f2017-07-14 14:59:52 +04001321 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin07aaa342006-10-09 12:52:15 +00001322 .per_constraints = &asn_PER_memb_vs_ce_constr_10,
1323 .default_value = 0,
1324 .name = "vs-ce"
1325 },
Lev Walkin3a4689a2006-11-24 11:20:27 +00001326 { ATF_POINTER, 23, offsetof(struct PDU, vs_ir),
Lev Walkin07aaa342006-10-09 12:52:15 +00001327 .tag = (ASN_TAG_CLASS_CONTEXT | (8 << 2)),
1328 .tag_mode = -1, /* IMPLICIT tag at current level */
1329 .type = &asn_DEF_VisibleString,
Lev Walkin67a30122017-08-10 05:48:54 -07001330 .type_selector = 0,
Lev Walkin07aaa342006-10-09 12:52:15 +00001331 .memb_constraints = memb_vs_ir_constraint_1,
Lev Walkinb33425f2017-07-14 14:59:52 +04001332 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin07aaa342006-10-09 12:52:15 +00001333 .per_constraints = &asn_PER_memb_vs_ir_constr_11,
1334 .default_value = 0,
1335 .name = "vs-ir"
1336 },
Lev Walkin3a4689a2006-11-24 11:20:27 +00001337 { ATF_POINTER, 22, offsetof(struct PDU, pr),
Lev Walkin07aaa342006-10-09 12:52:15 +00001338 .tag = (ASN_TAG_CLASS_CONTEXT | (9 << 2)),
1339 .tag_mode = -1, /* IMPLICIT tag at current level */
1340 .type = &asn_DEF_PrintableString,
Lev Walkin67a30122017-08-10 05:48:54 -07001341 .type_selector = 0,
Lev Walkin07aaa342006-10-09 12:52:15 +00001342 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkinb33425f2017-07-14 14:59:52 +04001343 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin07aaa342006-10-09 12:52:15 +00001344 .per_constraints = 0, /* No PER visible constraints */
1345 .default_value = 0,
1346 .name = "pr"
1347 },
Lev Walkin3a4689a2006-11-24 11:20:27 +00001348 { ATF_POINTER, 21, offsetof(struct PDU, pr_c),
Lev Walkin07aaa342006-10-09 12:52:15 +00001349 .tag = (ASN_TAG_CLASS_CONTEXT | (10 << 2)),
1350 .tag_mode = -1, /* IMPLICIT tag at current level */
1351 .type = &asn_DEF_PrintableString,
Lev Walkin67a30122017-08-10 05:48:54 -07001352 .type_selector = 0,
Lev Walkin07aaa342006-10-09 12:52:15 +00001353 .memb_constraints = memb_pr_c_constraint_1,
Lev Walkinb33425f2017-07-14 14:59:52 +04001354 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin07aaa342006-10-09 12:52:15 +00001355 .per_constraints = &asn_PER_memb_pr_c_constr_13,
1356 .default_value = 0,
1357 .name = "pr-c"
1358 },
Lev Walkin3a4689a2006-11-24 11:20:27 +00001359 { ATF_POINTER, 20, offsetof(struct PDU, pr_ir),
Lev Walkin07aaa342006-10-09 12:52:15 +00001360 .tag = (ASN_TAG_CLASS_CONTEXT | (11 << 2)),
1361 .tag_mode = -1, /* IMPLICIT tag at current level */
1362 .type = &asn_DEF_PrintableString,
Lev Walkin67a30122017-08-10 05:48:54 -07001363 .type_selector = 0,
Lev Walkin07aaa342006-10-09 12:52:15 +00001364 .memb_constraints = memb_pr_ir_constraint_1,
Lev Walkinb33425f2017-07-14 14:59:52 +04001365 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin07aaa342006-10-09 12:52:15 +00001366 .per_constraints = &asn_PER_memb_pr_ir_constr_14,
1367 .default_value = 0,
1368 .name = "pr-ir"
1369 },
Lev Walkin3a4689a2006-11-24 11:20:27 +00001370 { ATF_POINTER, 19, offsetof(struct PDU, ns),
Lev Walkin07aaa342006-10-09 12:52:15 +00001371 .tag = (ASN_TAG_CLASS_CONTEXT | (12 << 2)),
1372 .tag_mode = -1, /* IMPLICIT tag at current level */
1373 .type = &asn_DEF_NumericString,
Lev Walkin67a30122017-08-10 05:48:54 -07001374 .type_selector = 0,
Lev Walkin07aaa342006-10-09 12:52:15 +00001375 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkinb33425f2017-07-14 14:59:52 +04001376 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin07aaa342006-10-09 12:52:15 +00001377 .per_constraints = 0, /* No PER visible constraints */
1378 .default_value = 0,
1379 .name = "ns"
1380 },
Lev Walkin3a4689a2006-11-24 11:20:27 +00001381 { ATF_POINTER, 18, offsetof(struct PDU, ns_c),
Lev Walkin07aaa342006-10-09 12:52:15 +00001382 .tag = (ASN_TAG_CLASS_CONTEXT | (13 << 2)),
1383 .tag_mode = -1, /* IMPLICIT tag at current level */
1384 .type = &asn_DEF_NumericString,
Lev Walkin67a30122017-08-10 05:48:54 -07001385 .type_selector = 0,
Lev Walkin07aaa342006-10-09 12:52:15 +00001386 .memb_constraints = memb_ns_c_constraint_1,
Lev Walkinb33425f2017-07-14 14:59:52 +04001387 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin07aaa342006-10-09 12:52:15 +00001388 .per_constraints = &asn_PER_memb_ns_c_constr_16,
1389 .default_value = 0,
1390 .name = "ns-c"
1391 },
Lev Walkin3a4689a2006-11-24 11:20:27 +00001392 { ATF_POINTER, 17, offsetof(struct PDU, ns_ce),
Lev Walkin07aaa342006-10-09 12:52:15 +00001393 .tag = (ASN_TAG_CLASS_CONTEXT | (14 << 2)),
1394 .tag_mode = -1, /* IMPLICIT tag at current level */
1395 .type = &asn_DEF_NumericString,
Lev Walkin67a30122017-08-10 05:48:54 -07001396 .type_selector = 0,
Lev Walkin07aaa342006-10-09 12:52:15 +00001397 .memb_constraints = memb_ns_ce_constraint_1,
Lev Walkinb33425f2017-07-14 14:59:52 +04001398 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin07aaa342006-10-09 12:52:15 +00001399 .per_constraints = &asn_PER_memb_ns_ce_constr_17,
1400 .default_value = 0,
1401 .name = "ns-ce"
1402 },
Lev Walkin3a4689a2006-11-24 11:20:27 +00001403 { ATF_POINTER, 16, offsetof(struct PDU, ns_ir),
Lev Walkin07aaa342006-10-09 12:52:15 +00001404 .tag = (ASN_TAG_CLASS_CONTEXT | (15 << 2)),
1405 .tag_mode = -1, /* IMPLICIT tag at current level */
1406 .type = &asn_DEF_NumericString,
Lev Walkin67a30122017-08-10 05:48:54 -07001407 .type_selector = 0,
Lev Walkin07aaa342006-10-09 12:52:15 +00001408 .memb_constraints = memb_ns_ir_constraint_1,
Lev Walkinb33425f2017-07-14 14:59:52 +04001409 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin07aaa342006-10-09 12:52:15 +00001410 .per_constraints = &asn_PER_memb_ns_ir_constr_18,
1411 .default_value = 0,
1412 .name = "ns-ir"
1413 },
Lev Walkin3a4689a2006-11-24 11:20:27 +00001414 { ATF_POINTER, 15, offsetof(struct PDU, ut_c),
Lev Walkin07aaa342006-10-09 12:52:15 +00001415 .tag = (ASN_TAG_CLASS_CONTEXT | (16 << 2)),
1416 .tag_mode = -1, /* IMPLICIT tag at current level */
1417 .type = &asn_DEF_UTF8String,
Lev Walkin67a30122017-08-10 05:48:54 -07001418 .type_selector = 0,
Lev Walkin07aaa342006-10-09 12:52:15 +00001419 .memb_constraints = memb_ut_c_constraint_1,
Lev Walkinb33425f2017-07-14 14:59:52 +04001420 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin07aaa342006-10-09 12:52:15 +00001421 .per_constraints = &asn_PER_memb_ut_c_constr_19,
1422 .default_value = 0,
1423 .name = "ut-c"
1424 },
Lev Walkin3a4689a2006-11-24 11:20:27 +00001425 { ATF_POINTER, 14, offsetof(struct PDU, ut_ce),
Lev Walkin07aaa342006-10-09 12:52:15 +00001426 .tag = (ASN_TAG_CLASS_CONTEXT | (17 << 2)),
1427 .tag_mode = -1, /* IMPLICIT tag at current level */
1428 .type = &asn_DEF_UTF8String,
Lev Walkin67a30122017-08-10 05:48:54 -07001429 .type_selector = 0,
Lev Walkin07aaa342006-10-09 12:52:15 +00001430 .memb_constraints = memb_ut_ce_constraint_1,
Lev Walkinb33425f2017-07-14 14:59:52 +04001431 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin07aaa342006-10-09 12:52:15 +00001432 .per_constraints = &asn_PER_memb_ut_ce_constr_20,
1433 .default_value = 0,
1434 .name = "ut-ce"
1435 },
Lev Walkin3a4689a2006-11-24 11:20:27 +00001436 { ATF_POINTER, 13, offsetof(struct PDU, ut_ir),
Lev Walkin07aaa342006-10-09 12:52:15 +00001437 .tag = (ASN_TAG_CLASS_CONTEXT | (18 << 2)),
1438 .tag_mode = -1, /* IMPLICIT tag at current level */
1439 .type = &asn_DEF_UTF8String,
Lev Walkin67a30122017-08-10 05:48:54 -07001440 .type_selector = 0,
Lev Walkin07aaa342006-10-09 12:52:15 +00001441 .memb_constraints = memb_ut_ir_constraint_1,
Lev Walkinb33425f2017-07-14 14:59:52 +04001442 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin07aaa342006-10-09 12:52:15 +00001443 .per_constraints = &asn_PER_memb_ut_ir_constr_21,
1444 .default_value = 0,
1445 .name = "ut-ir"
1446 },
Lev Walkin3a4689a2006-11-24 11:20:27 +00001447 { ATF_POINTER, 12, offsetof(struct PDU, bm),
Lev Walkin07aaa342006-10-09 12:52:15 +00001448 .tag = (ASN_TAG_CLASS_CONTEXT | (19 << 2)),
1449 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkin3a4689a2006-11-24 11:20:27 +00001450 .type = &asn_DEF_BMPString,
Lev Walkin67a30122017-08-10 05:48:54 -07001451 .type_selector = 0,
Lev Walkin3a4689a2006-11-24 11:20:27 +00001452 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkinb33425f2017-07-14 14:59:52 +04001453 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin3a4689a2006-11-24 11:20:27 +00001454 .per_constraints = 0, /* No PER visible constraints */
1455 .default_value = 0,
1456 .name = "bm"
1457 },
1458 { ATF_POINTER, 11, offsetof(struct PDU, bm_c),
1459 .tag = (ASN_TAG_CLASS_CONTEXT | (20 << 2)),
1460 .tag_mode = -1, /* IMPLICIT tag at current level */
1461 .type = &asn_DEF_BMPString,
Lev Walkin67a30122017-08-10 05:48:54 -07001462 .type_selector = 0,
Lev Walkin3a4689a2006-11-24 11:20:27 +00001463 .memb_constraints = memb_bm_c_constraint_1,
Lev Walkinb33425f2017-07-14 14:59:52 +04001464 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin3a4689a2006-11-24 11:20:27 +00001465 .per_constraints = &asn_PER_memb_bm_c_constr_23,
1466 .default_value = 0,
1467 .name = "bm-c"
1468 },
1469 { ATF_POINTER, 10, offsetof(struct PDU, bm_cs),
1470 .tag = (ASN_TAG_CLASS_CONTEXT | (21 << 2)),
1471 .tag_mode = -1, /* IMPLICIT tag at current level */
1472 .type = &asn_DEF_BMPString,
Lev Walkin67a30122017-08-10 05:48:54 -07001473 .type_selector = 0,
Lev Walkin3a4689a2006-11-24 11:20:27 +00001474 .memb_constraints = memb_bm_cs_constraint_1,
Lev Walkinb33425f2017-07-14 14:59:52 +04001475 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin3a4689a2006-11-24 11:20:27 +00001476 .per_constraints = &asn_PER_memb_bm_cs_constr_24,
1477 .default_value = 0,
1478 .name = "bm-cs"
1479 },
1480 { ATF_POINTER, 9, offsetof(struct PDU, bm_ce),
1481 .tag = (ASN_TAG_CLASS_CONTEXT | (22 << 2)),
1482 .tag_mode = -1, /* IMPLICIT tag at current level */
1483 .type = &asn_DEF_BMPString,
Lev Walkin67a30122017-08-10 05:48:54 -07001484 .type_selector = 0,
Lev Walkin3a4689a2006-11-24 11:20:27 +00001485 .memb_constraints = memb_bm_ce_constraint_1,
Lev Walkinb33425f2017-07-14 14:59:52 +04001486 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin3a4689a2006-11-24 11:20:27 +00001487 .per_constraints = &asn_PER_memb_bm_ce_constr_25,
1488 .default_value = 0,
1489 .name = "bm-ce"
1490 },
1491 { ATF_POINTER, 8, offsetof(struct PDU, bm_ir),
1492 .tag = (ASN_TAG_CLASS_CONTEXT | (23 << 2)),
1493 .tag_mode = -1, /* IMPLICIT tag at current level */
1494 .type = &asn_DEF_BMPString,
Lev Walkin67a30122017-08-10 05:48:54 -07001495 .type_selector = 0,
Lev Walkin3a4689a2006-11-24 11:20:27 +00001496 .memb_constraints = memb_bm_ir_constraint_1,
Lev Walkinb33425f2017-07-14 14:59:52 +04001497 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin3a4689a2006-11-24 11:20:27 +00001498 .per_constraints = &asn_PER_memb_bm_ir_constr_26,
1499 .default_value = 0,
1500 .name = "bm-ir"
1501 },
1502 { ATF_POINTER, 7, offsetof(struct PDU, us),
1503 .tag = (ASN_TAG_CLASS_CONTEXT | (24 << 2)),
1504 .tag_mode = -1, /* IMPLICIT tag at current level */
1505 .type = &asn_DEF_UniversalString,
Lev Walkin67a30122017-08-10 05:48:54 -07001506 .type_selector = 0,
Lev Walkin3a4689a2006-11-24 11:20:27 +00001507 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkinb33425f2017-07-14 14:59:52 +04001508 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin3a4689a2006-11-24 11:20:27 +00001509 .per_constraints = 0, /* No PER visible constraints */
1510 .default_value = 0,
1511 .name = "us"
1512 },
1513 { ATF_POINTER, 6, offsetof(struct PDU, us_c),
1514 .tag = (ASN_TAG_CLASS_CONTEXT | (25 << 2)),
1515 .tag_mode = -1, /* IMPLICIT tag at current level */
1516 .type = &asn_DEF_UniversalString,
Lev Walkin67a30122017-08-10 05:48:54 -07001517 .type_selector = 0,
Lev Walkin3a4689a2006-11-24 11:20:27 +00001518 .memb_constraints = memb_us_c_constraint_1,
Lev Walkinb33425f2017-07-14 14:59:52 +04001519 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin3a4689a2006-11-24 11:20:27 +00001520 .per_constraints = &asn_PER_memb_us_c_constr_28,
1521 .default_value = 0,
1522 .name = "us-c"
1523 },
1524 { ATF_POINTER, 5, offsetof(struct PDU, us_cs),
1525 .tag = (ASN_TAG_CLASS_CONTEXT | (26 << 2)),
1526 .tag_mode = -1, /* IMPLICIT tag at current level */
1527 .type = &asn_DEF_UniversalString,
Lev Walkin67a30122017-08-10 05:48:54 -07001528 .type_selector = 0,
Lev Walkin3a4689a2006-11-24 11:20:27 +00001529 .memb_constraints = memb_us_cs_constraint_1,
Lev Walkinb33425f2017-07-14 14:59:52 +04001530 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin3a4689a2006-11-24 11:20:27 +00001531 .per_constraints = &asn_PER_memb_us_cs_constr_29,
1532 .default_value = 0,
1533 .name = "us-cs"
1534 },
1535 { ATF_POINTER, 4, offsetof(struct PDU, us_ce),
1536 .tag = (ASN_TAG_CLASS_CONTEXT | (27 << 2)),
1537 .tag_mode = -1, /* IMPLICIT tag at current level */
1538 .type = &asn_DEF_UniversalString,
Lev Walkin67a30122017-08-10 05:48:54 -07001539 .type_selector = 0,
Lev Walkin3a4689a2006-11-24 11:20:27 +00001540 .memb_constraints = memb_us_ce_constraint_1,
Lev Walkinb33425f2017-07-14 14:59:52 +04001541 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin3a4689a2006-11-24 11:20:27 +00001542 .per_constraints = &asn_PER_memb_us_ce_constr_30,
1543 .default_value = 0,
1544 .name = "us-ce"
1545 },
1546 { ATF_POINTER, 3, offsetof(struct PDU, us_ir),
1547 .tag = (ASN_TAG_CLASS_CONTEXT | (28 << 2)),
1548 .tag_mode = -1, /* IMPLICIT tag at current level */
1549 .type = &asn_DEF_UniversalString,
Lev Walkin67a30122017-08-10 05:48:54 -07001550 .type_selector = 0,
Lev Walkin3a4689a2006-11-24 11:20:27 +00001551 .memb_constraints = memb_us_ir_constraint_1,
Lev Walkinb33425f2017-07-14 14:59:52 +04001552 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin3a4689a2006-11-24 11:20:27 +00001553 .per_constraints = &asn_PER_memb_us_ir_constr_31,
1554 .default_value = 0,
1555 .name = "us-ir"
1556 },
1557 { ATF_POINTER, 2, offsetof(struct PDU, real),
1558 .tag = (ASN_TAG_CLASS_CONTEXT | (29 << 2)),
1559 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkin2a744a72013-03-27 01:56:23 -07001560 .type = &asn_DEF_NativeReal,
Lev Walkin67a30122017-08-10 05:48:54 -07001561 .type_selector = 0,
Lev Walkin07aaa342006-10-09 12:52:15 +00001562 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkinb33425f2017-07-14 14:59:52 +04001563 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin07aaa342006-10-09 12:52:15 +00001564 .per_constraints = 0, /* No PER visible constraints */
1565 .default_value = 0,
1566 .name = "real"
1567 },
1568 { ATF_POINTER, 1, offsetof(struct PDU, oid),
Lev Walkin3a4689a2006-11-24 11:20:27 +00001569 .tag = (ASN_TAG_CLASS_CONTEXT | (30 << 2)),
Lev Walkin07aaa342006-10-09 12:52:15 +00001570 .tag_mode = -1, /* IMPLICIT tag at current level */
1571 .type = &asn_DEF_OBJECT_IDENTIFIER,
Lev Walkin67a30122017-08-10 05:48:54 -07001572 .type_selector = 0,
Lev Walkin07aaa342006-10-09 12:52:15 +00001573 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkinb33425f2017-07-14 14:59:52 +04001574 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin07aaa342006-10-09 12:52:15 +00001575 .per_constraints = 0, /* No PER visible constraints */
1576 .default_value = 0,
1577 .name = "oid"
1578 },
1579};
Lev Walkina7591b52014-10-12 18:37:35 -07001580static const int asn_MAP_PDU_oms_1[] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30 };
1581static const ber_tlv_tag_t asn_DEF_PDU_tags_1[] = {
Lev Walkin07aaa342006-10-09 12:52:15 +00001582 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
1583};
Lev Walkina7591b52014-10-12 18:37:35 -07001584static const asn_TYPE_tag2member_t asn_MAP_PDU_tag2el_1[] = {
Lev Walkin4062b012013-10-11 14:29:38 -07001585 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* many */
1586 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* ia5 */
1587 { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* ia5-c */
1588 { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* ia5-ce */
1589 { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* ia5-ir */
1590 { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* vs */
1591 { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 }, /* vs-c */
1592 { (ASN_TAG_CLASS_CONTEXT | (7 << 2)), 7, 0, 0 }, /* vs-ce */
1593 { (ASN_TAG_CLASS_CONTEXT | (8 << 2)), 8, 0, 0 }, /* vs-ir */
1594 { (ASN_TAG_CLASS_CONTEXT | (9 << 2)), 9, 0, 0 }, /* pr */
1595 { (ASN_TAG_CLASS_CONTEXT | (10 << 2)), 10, 0, 0 }, /* pr-c */
1596 { (ASN_TAG_CLASS_CONTEXT | (11 << 2)), 11, 0, 0 }, /* pr-ir */
1597 { (ASN_TAG_CLASS_CONTEXT | (12 << 2)), 12, 0, 0 }, /* ns */
1598 { (ASN_TAG_CLASS_CONTEXT | (13 << 2)), 13, 0, 0 }, /* ns-c */
1599 { (ASN_TAG_CLASS_CONTEXT | (14 << 2)), 14, 0, 0 }, /* ns-ce */
1600 { (ASN_TAG_CLASS_CONTEXT | (15 << 2)), 15, 0, 0 }, /* ns-ir */
1601 { (ASN_TAG_CLASS_CONTEXT | (16 << 2)), 16, 0, 0 }, /* ut-c */
1602 { (ASN_TAG_CLASS_CONTEXT | (17 << 2)), 17, 0, 0 }, /* ut-ce */
1603 { (ASN_TAG_CLASS_CONTEXT | (18 << 2)), 18, 0, 0 }, /* ut-ir */
1604 { (ASN_TAG_CLASS_CONTEXT | (19 << 2)), 19, 0, 0 }, /* bm */
1605 { (ASN_TAG_CLASS_CONTEXT | (20 << 2)), 20, 0, 0 }, /* bm-c */
1606 { (ASN_TAG_CLASS_CONTEXT | (21 << 2)), 21, 0, 0 }, /* bm-cs */
1607 { (ASN_TAG_CLASS_CONTEXT | (22 << 2)), 22, 0, 0 }, /* bm-ce */
1608 { (ASN_TAG_CLASS_CONTEXT | (23 << 2)), 23, 0, 0 }, /* bm-ir */
1609 { (ASN_TAG_CLASS_CONTEXT | (24 << 2)), 24, 0, 0 }, /* us */
1610 { (ASN_TAG_CLASS_CONTEXT | (25 << 2)), 25, 0, 0 }, /* us-c */
1611 { (ASN_TAG_CLASS_CONTEXT | (26 << 2)), 26, 0, 0 }, /* us-cs */
1612 { (ASN_TAG_CLASS_CONTEXT | (27 << 2)), 27, 0, 0 }, /* us-ce */
1613 { (ASN_TAG_CLASS_CONTEXT | (28 << 2)), 28, 0, 0 }, /* us-ir */
1614 { (ASN_TAG_CLASS_CONTEXT | (29 << 2)), 29, 0, 0 }, /* real */
1615 { (ASN_TAG_CLASS_CONTEXT | (30 << 2)), 30, 0, 0 } /* oid */
Lev Walkin07aaa342006-10-09 12:52:15 +00001616};
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +08001617asn_SEQUENCE_specifics_t asn_SPC_PDU_specs_1 = {
Lev Walkin07aaa342006-10-09 12:52:15 +00001618 sizeof(struct PDU),
1619 offsetof(struct PDU, _asn_ctx),
Lev Walkine3917082017-08-23 10:29:38 -07001620 .tag2el = asn_MAP_PDU_tag2el_1,
1621 .tag2el_count = 31, /* Count of tags in the map */
Lev Walkin07aaa342006-10-09 12:52:15 +00001622 asn_MAP_PDU_oms_1, /* Optional members */
Lev Walkin3a4689a2006-11-24 11:20:27 +00001623 31, 0, /* Root/Additions */
Lev Walkin07aaa342006-10-09 12:52:15 +00001624 -1, /* Start extensions */
1625 -1 /* Stop extensions */
1626};
1627asn_TYPE_descriptor_t asn_DEF_PDU = {
1628 "PDU",
1629 "PDU",
1630 SEQUENCE_free,
1631 SEQUENCE_print,
Lev Walkincd2f48e2017-08-10 02:14:59 -07001632 SEQUENCE_compare,
Lev Walkin07aaa342006-10-09 12:52:15 +00001633 SEQUENCE_constraint,
1634 SEQUENCE_decode_ber,
1635 SEQUENCE_encode_der,
1636 SEQUENCE_decode_xer,
1637 SEQUENCE_encode_xer,
Lev Walkinb33425f2017-07-14 14:59:52 +04001638 0, 0, /* No OER support, use "-gen-OER" to enable */
Lev Walkin07aaa342006-10-09 12:52:15 +00001639 SEQUENCE_decode_uper,
1640 SEQUENCE_encode_uper,
1641 0, /* Use generic outmost tag fetcher */
1642 asn_DEF_PDU_tags_1,
1643 sizeof(asn_DEF_PDU_tags_1)
1644 /sizeof(asn_DEF_PDU_tags_1[0]), /* 1 */
1645 asn_DEF_PDU_tags_1, /* Same as above */
1646 sizeof(asn_DEF_PDU_tags_1)
1647 /sizeof(asn_DEF_PDU_tags_1[0]), /* 1 */
Lev Walkinb33425f2017-07-14 14:59:52 +04001648 0, /* No OER visible constraints */
Lev Walkin07aaa342006-10-09 12:52:15 +00001649 0, /* No PER visible constraints */
1650 asn_MBR_PDU_1,
Lev Walkin3a4689a2006-11-24 11:20:27 +00001651 31, /* Elements count */
Lev Walkin07aaa342006-10-09 12:52:15 +00001652 &asn_SPC_PDU_specs_1 /* Additional specs */
1653};
1654