2
/*** <<< INCLUDES [Int1] >>> ***/
6
/*** <<< TYPE-DECLS [Int1] >>> ***/
8
typedef INTEGER_t Int1_t;
10
/*** <<< FUNC-DECLS [Int1] >>> ***/
12
extern asn_TYPE_descriptor_t asn_DEF_Int1;
13
asn_struct_free_f Int1_free;
14
asn_struct_print_f Int1_print;
15
asn_constr_check_f Int1_constraint;
16
ber_type_decoder_f Int1_decode_ber;
17
der_type_encoder_f Int1_encode_der;
18
xer_type_decoder_f Int1_decode_xer;
19
xer_type_encoder_f Int1_encode_xer;
21
/*** <<< CODE [Int1] >>> ***/
24
Int1_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
25
asn_app_consume_bytes_f *app_errlog, void *app_key) {
26
/* Replace with underlying type checker */
27
td->check_constraints = asn_DEF_INTEGER.check_constraints;
28
return td->check_constraints(td, sptr, app_errlog, app_key);
32
* This type is implemented using INTEGER,
33
* so here we adjust the DEF accordingly.
36
Int1_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
37
td->free_struct = asn_DEF_INTEGER.free_struct;
38
td->print_struct = asn_DEF_INTEGER.print_struct;
39
td->ber_decoder = asn_DEF_INTEGER.ber_decoder;
40
td->der_encoder = asn_DEF_INTEGER.der_encoder;
41
td->xer_decoder = asn_DEF_INTEGER.xer_decoder;
42
td->xer_encoder = asn_DEF_INTEGER.xer_encoder;
43
td->elements = asn_DEF_INTEGER.elements;
44
td->elements_count = asn_DEF_INTEGER.elements_count;
45
td->specifics = asn_DEF_INTEGER.specifics;
49
Int1_free(asn_TYPE_descriptor_t *td,
50
void *struct_ptr, int contents_only) {
51
Int1_1_inherit_TYPE_descriptor(td);
52
td->free_struct(td, struct_ptr, contents_only);
56
Int1_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
57
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
58
Int1_1_inherit_TYPE_descriptor(td);
59
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
63
Int1_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
64
void **structure, const void *bufptr, size_t size, int tag_mode) {
65
Int1_1_inherit_TYPE_descriptor(td);
66
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
70
Int1_encode_der(asn_TYPE_descriptor_t *td,
71
void *structure, int tag_mode, ber_tlv_tag_t tag,
72
asn_app_consume_bytes_f *cb, void *app_key) {
73
Int1_1_inherit_TYPE_descriptor(td);
74
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
78
Int1_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
79
void **structure, const char *opt_mname, const void *bufptr, size_t size) {
80
Int1_1_inherit_TYPE_descriptor(td);
81
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
85
Int1_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
86
int ilevel, enum xer_encoder_flags_e flags,
87
asn_app_consume_bytes_f *cb, void *app_key) {
88
Int1_1_inherit_TYPE_descriptor(td);
89
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
93
/*** <<< STAT-DEFS [Int1] >>> ***/
95
static ber_tlv_tag_t asn_DEF_Int1_1_tags[] = {
96
(ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
98
asn_TYPE_descriptor_t asn_DEF_Int1 = {
108
0, /* Use generic outmost tag fetcher */
110
sizeof(asn_DEF_Int1_1_tags)
111
/sizeof(asn_DEF_Int1_1_tags[0]), /* 1 */
112
asn_DEF_Int1_1_tags, /* Same as above */
113
sizeof(asn_DEF_Int1_1_tags)
114
/sizeof(asn_DEF_Int1_1_tags[0]), /* 1 */
115
0, 0, /* No members */
120
/*** <<< INCLUDES [Int2] >>> ***/
124
/*** <<< TYPE-DECLS [Int2] >>> ***/
126
typedef Int1_t Int2_t;
128
/*** <<< FUNC-DECLS [Int2] >>> ***/
130
extern asn_TYPE_descriptor_t asn_DEF_Int2;
131
asn_struct_free_f Int2_free;
132
asn_struct_print_f Int2_print;
133
asn_constr_check_f Int2_constraint;
134
ber_type_decoder_f Int2_decode_ber;
135
der_type_encoder_f Int2_encode_der;
136
xer_type_decoder_f Int2_decode_xer;
137
xer_type_encoder_f Int2_encode_xer;
139
/*** <<< CODE [Int2] >>> ***/
142
Int2_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
143
asn_app_consume_bytes_f *app_errlog, void *app_key) {
144
const Int1_t *st = (const Int1_t *)sptr;
148
_ASN_ERRLOG(app_errlog, app_key,
149
"%s: value not given (%s:%d)",
150
td->name, __FILE__, __LINE__);
154
/* Check if the sign bit is present */
155
value = st->buf ? ((st->buf[0] & 0x80) ? -1 : 1) : 0;
158
/* Constraint check succeeded */
161
_ASN_ERRLOG(app_errlog, app_key,
162
"%s: constraint failed (%s:%d)",
163
td->name, __FILE__, __LINE__);
169
* This type is implemented using Int1,
170
* so here we adjust the DEF accordingly.
173
Int2_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
174
td->free_struct = asn_DEF_Int1.free_struct;
175
td->print_struct = asn_DEF_Int1.print_struct;
176
td->ber_decoder = asn_DEF_Int1.ber_decoder;
177
td->der_encoder = asn_DEF_Int1.der_encoder;
178
td->xer_decoder = asn_DEF_Int1.xer_decoder;
179
td->xer_encoder = asn_DEF_Int1.xer_encoder;
180
td->elements = asn_DEF_Int1.elements;
181
td->elements_count = asn_DEF_Int1.elements_count;
182
td->specifics = asn_DEF_Int1.specifics;
186
Int2_free(asn_TYPE_descriptor_t *td,
187
void *struct_ptr, int contents_only) {
188
Int2_1_inherit_TYPE_descriptor(td);
189
td->free_struct(td, struct_ptr, contents_only);
193
Int2_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
194
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
195
Int2_1_inherit_TYPE_descriptor(td);
196
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
200
Int2_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
201
void **structure, const void *bufptr, size_t size, int tag_mode) {
202
Int2_1_inherit_TYPE_descriptor(td);
203
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
207
Int2_encode_der(asn_TYPE_descriptor_t *td,
208
void *structure, int tag_mode, ber_tlv_tag_t tag,
209
asn_app_consume_bytes_f *cb, void *app_key) {
210
Int2_1_inherit_TYPE_descriptor(td);
211
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
215
Int2_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
216
void **structure, const char *opt_mname, const void *bufptr, size_t size) {
217
Int2_1_inherit_TYPE_descriptor(td);
218
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
222
Int2_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
223
int ilevel, enum xer_encoder_flags_e flags,
224
asn_app_consume_bytes_f *cb, void *app_key) {
225
Int2_1_inherit_TYPE_descriptor(td);
226
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
230
/*** <<< STAT-DEFS [Int2] >>> ***/
232
static ber_tlv_tag_t asn_DEF_Int2_1_tags[] = {
233
(ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
235
asn_TYPE_descriptor_t asn_DEF_Int2 = {
245
0, /* Use generic outmost tag fetcher */
247
sizeof(asn_DEF_Int2_1_tags)
248
/sizeof(asn_DEF_Int2_1_tags[0]), /* 1 */
249
asn_DEF_Int2_1_tags, /* Same as above */
250
sizeof(asn_DEF_Int2_1_tags)
251
/sizeof(asn_DEF_Int2_1_tags[0]), /* 1 */
252
0, 0, /* No members */
257
/*** <<< INCLUDES [Int3] >>> ***/
261
/*** <<< TYPE-DECLS [Int3] >>> ***/
263
typedef Int2_t Int3_t;
265
/*** <<< FUNC-DECLS [Int3] >>> ***/
267
extern asn_TYPE_descriptor_t asn_DEF_Int3;
268
asn_struct_free_f Int3_free;
269
asn_struct_print_f Int3_print;
270
asn_constr_check_f Int3_constraint;
271
ber_type_decoder_f Int3_decode_ber;
272
der_type_encoder_f Int3_encode_der;
273
xer_type_decoder_f Int3_decode_xer;
274
xer_type_encoder_f Int3_encode_xer;
276
/*** <<< CODE [Int3] >>> ***/
279
Int3_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
280
asn_app_consume_bytes_f *app_errlog, void *app_key) {
281
const Int2_t *st = (const Int2_t *)sptr;
285
_ASN_ERRLOG(app_errlog, app_key,
286
"%s: value not given (%s:%d)",
287
td->name, __FILE__, __LINE__);
291
if(asn_INTEGER2long(st, &value)) {
292
_ASN_ERRLOG(app_errlog, app_key,
293
"%s: value too large (%s:%d)",
294
td->name, __FILE__, __LINE__);
298
if((value >= 0 && value <= 10)) {
299
/* Constraint check succeeded */
302
_ASN_ERRLOG(app_errlog, app_key,
303
"%s: constraint failed (%s:%d)",
304
td->name, __FILE__, __LINE__);
310
* This type is implemented using Int2,
311
* so here we adjust the DEF accordingly.
314
Int3_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
315
td->free_struct = asn_DEF_Int2.free_struct;
316
td->print_struct = asn_DEF_Int2.print_struct;
317
td->ber_decoder = asn_DEF_Int2.ber_decoder;
318
td->der_encoder = asn_DEF_Int2.der_encoder;
319
td->xer_decoder = asn_DEF_Int2.xer_decoder;
320
td->xer_encoder = asn_DEF_Int2.xer_encoder;
321
td->elements = asn_DEF_Int2.elements;
322
td->elements_count = asn_DEF_Int2.elements_count;
323
td->specifics = asn_DEF_Int2.specifics;
327
Int3_free(asn_TYPE_descriptor_t *td,
328
void *struct_ptr, int contents_only) {
329
Int3_1_inherit_TYPE_descriptor(td);
330
td->free_struct(td, struct_ptr, contents_only);
334
Int3_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
335
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
336
Int3_1_inherit_TYPE_descriptor(td);
337
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
341
Int3_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
342
void **structure, const void *bufptr, size_t size, int tag_mode) {
343
Int3_1_inherit_TYPE_descriptor(td);
344
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
348
Int3_encode_der(asn_TYPE_descriptor_t *td,
349
void *structure, int tag_mode, ber_tlv_tag_t tag,
350
asn_app_consume_bytes_f *cb, void *app_key) {
351
Int3_1_inherit_TYPE_descriptor(td);
352
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
356
Int3_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
357
void **structure, const char *opt_mname, const void *bufptr, size_t size) {
358
Int3_1_inherit_TYPE_descriptor(td);
359
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
363
Int3_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
364
int ilevel, enum xer_encoder_flags_e flags,
365
asn_app_consume_bytes_f *cb, void *app_key) {
366
Int3_1_inherit_TYPE_descriptor(td);
367
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
371
/*** <<< STAT-DEFS [Int3] >>> ***/
373
static ber_tlv_tag_t asn_DEF_Int3_1_tags[] = {
374
(ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
376
asn_TYPE_descriptor_t asn_DEF_Int3 = {
386
0, /* Use generic outmost tag fetcher */
388
sizeof(asn_DEF_Int3_1_tags)
389
/sizeof(asn_DEF_Int3_1_tags[0]), /* 1 */
390
asn_DEF_Int3_1_tags, /* Same as above */
391
sizeof(asn_DEF_Int3_1_tags)
392
/sizeof(asn_DEF_Int3_1_tags[0]), /* 1 */
393
0, 0, /* No members */
398
/*** <<< INCLUDES [Int4] >>> ***/
402
/*** <<< TYPE-DECLS [Int4] >>> ***/
404
typedef Int3_t Int4_t;
406
/*** <<< FUNC-DECLS [Int4] >>> ***/
408
extern asn_TYPE_descriptor_t asn_DEF_Int4;
409
asn_struct_free_f Int4_free;
410
asn_struct_print_f Int4_print;
411
asn_constr_check_f Int4_constraint;
412
ber_type_decoder_f Int4_decode_ber;
413
der_type_encoder_f Int4_encode_der;
414
xer_type_decoder_f Int4_decode_xer;
415
xer_type_encoder_f Int4_encode_xer;
417
/*** <<< CODE [Int4] >>> ***/
420
Int4_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
421
asn_app_consume_bytes_f *app_errlog, void *app_key) {
422
const Int3_t *st = (const Int3_t *)sptr;
426
_ASN_ERRLOG(app_errlog, app_key,
427
"%s: value not given (%s:%d)",
428
td->name, __FILE__, __LINE__);
432
if(asn_INTEGER2long(st, &value)) {
433
_ASN_ERRLOG(app_errlog, app_key,
434
"%s: value too large (%s:%d)",
435
td->name, __FILE__, __LINE__);
439
if((value >= 1 && value <= 10)) {
440
/* Constraint check succeeded */
443
_ASN_ERRLOG(app_errlog, app_key,
444
"%s: constraint failed (%s:%d)",
445
td->name, __FILE__, __LINE__);
451
* This type is implemented using Int3,
452
* so here we adjust the DEF accordingly.
455
Int4_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
456
td->free_struct = asn_DEF_Int3.free_struct;
457
td->print_struct = asn_DEF_Int3.print_struct;
458
td->ber_decoder = asn_DEF_Int3.ber_decoder;
459
td->der_encoder = asn_DEF_Int3.der_encoder;
460
td->xer_decoder = asn_DEF_Int3.xer_decoder;
461
td->xer_encoder = asn_DEF_Int3.xer_encoder;
462
td->elements = asn_DEF_Int3.elements;
463
td->elements_count = asn_DEF_Int3.elements_count;
464
td->specifics = asn_DEF_Int3.specifics;
468
Int4_free(asn_TYPE_descriptor_t *td,
469
void *struct_ptr, int contents_only) {
470
Int4_1_inherit_TYPE_descriptor(td);
471
td->free_struct(td, struct_ptr, contents_only);
475
Int4_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
476
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
477
Int4_1_inherit_TYPE_descriptor(td);
478
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
482
Int4_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
483
void **structure, const void *bufptr, size_t size, int tag_mode) {
484
Int4_1_inherit_TYPE_descriptor(td);
485
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
489
Int4_encode_der(asn_TYPE_descriptor_t *td,
490
void *structure, int tag_mode, ber_tlv_tag_t tag,
491
asn_app_consume_bytes_f *cb, void *app_key) {
492
Int4_1_inherit_TYPE_descriptor(td);
493
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
497
Int4_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
498
void **structure, const char *opt_mname, const void *bufptr, size_t size) {
499
Int4_1_inherit_TYPE_descriptor(td);
500
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
504
Int4_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
505
int ilevel, enum xer_encoder_flags_e flags,
506
asn_app_consume_bytes_f *cb, void *app_key) {
507
Int4_1_inherit_TYPE_descriptor(td);
508
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
512
/*** <<< STAT-DEFS [Int4] >>> ***/
514
static ber_tlv_tag_t asn_DEF_Int4_1_tags[] = {
515
(ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
517
asn_TYPE_descriptor_t asn_DEF_Int4 = {
527
0, /* Use generic outmost tag fetcher */
529
sizeof(asn_DEF_Int4_1_tags)
530
/sizeof(asn_DEF_Int4_1_tags[0]), /* 1 */
531
asn_DEF_Int4_1_tags, /* Same as above */
532
sizeof(asn_DEF_Int4_1_tags)
533
/sizeof(asn_DEF_Int4_1_tags[0]), /* 1 */
534
0, 0, /* No members */
539
/*** <<< INCLUDES [Int5] >>> ***/
543
/*** <<< TYPE-DECLS [Int5] >>> ***/
545
typedef Int4_t Int5_t;
547
/*** <<< FUNC-DECLS [Int5] >>> ***/
549
extern asn_TYPE_descriptor_t asn_DEF_Int5;
550
asn_struct_free_f Int5_free;
551
asn_struct_print_f Int5_print;
552
asn_constr_check_f Int5_constraint;
553
ber_type_decoder_f Int5_decode_ber;
554
der_type_encoder_f Int5_encode_der;
555
xer_type_decoder_f Int5_decode_xer;
556
xer_type_encoder_f Int5_encode_xer;
558
/*** <<< CODE [Int5] >>> ***/
561
Int5_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
562
asn_app_consume_bytes_f *app_errlog, void *app_key) {
563
const Int4_t *st = (const Int4_t *)sptr;
567
_ASN_ERRLOG(app_errlog, app_key,
568
"%s: value not given (%s:%d)",
569
td->name, __FILE__, __LINE__);
573
if(asn_INTEGER2long(st, &value)) {
574
_ASN_ERRLOG(app_errlog, app_key,
575
"%s: value too large (%s:%d)",
576
td->name, __FILE__, __LINE__);
581
/* Constraint check succeeded */
584
_ASN_ERRLOG(app_errlog, app_key,
585
"%s: constraint failed (%s:%d)",
586
td->name, __FILE__, __LINE__);
592
* This type is implemented using Int4,
593
* so here we adjust the DEF accordingly.
596
Int5_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
597
td->free_struct = asn_DEF_Int4.free_struct;
598
td->print_struct = asn_DEF_Int4.print_struct;
599
td->ber_decoder = asn_DEF_Int4.ber_decoder;
600
td->der_encoder = asn_DEF_Int4.der_encoder;
601
td->xer_decoder = asn_DEF_Int4.xer_decoder;
602
td->xer_encoder = asn_DEF_Int4.xer_encoder;
603
td->elements = asn_DEF_Int4.elements;
604
td->elements_count = asn_DEF_Int4.elements_count;
605
td->specifics = asn_DEF_Int4.specifics;
609
Int5_free(asn_TYPE_descriptor_t *td,
610
void *struct_ptr, int contents_only) {
611
Int5_1_inherit_TYPE_descriptor(td);
612
td->free_struct(td, struct_ptr, contents_only);
616
Int5_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
617
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
618
Int5_1_inherit_TYPE_descriptor(td);
619
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
623
Int5_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
624
void **structure, const void *bufptr, size_t size, int tag_mode) {
625
Int5_1_inherit_TYPE_descriptor(td);
626
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
630
Int5_encode_der(asn_TYPE_descriptor_t *td,
631
void *structure, int tag_mode, ber_tlv_tag_t tag,
632
asn_app_consume_bytes_f *cb, void *app_key) {
633
Int5_1_inherit_TYPE_descriptor(td);
634
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
638
Int5_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
639
void **structure, const char *opt_mname, const void *bufptr, size_t size) {
640
Int5_1_inherit_TYPE_descriptor(td);
641
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
645
Int5_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
646
int ilevel, enum xer_encoder_flags_e flags,
647
asn_app_consume_bytes_f *cb, void *app_key) {
648
Int5_1_inherit_TYPE_descriptor(td);
649
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
653
/*** <<< STAT-DEFS [Int5] >>> ***/
655
static ber_tlv_tag_t asn_DEF_Int5_1_tags[] = {
656
(ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
658
asn_TYPE_descriptor_t asn_DEF_Int5 = {
668
0, /* Use generic outmost tag fetcher */
670
sizeof(asn_DEF_Int5_1_tags)
671
/sizeof(asn_DEF_Int5_1_tags[0]), /* 1 */
672
asn_DEF_Int5_1_tags, /* Same as above */
673
sizeof(asn_DEF_Int5_1_tags)
674
/sizeof(asn_DEF_Int5_1_tags[0]), /* 1 */
675
0, 0, /* No members */
680
/*** <<< INCLUDES [ExtensibleExtensions] >>> ***/
684
/*** <<< TYPE-DECLS [ExtensibleExtensions] >>> ***/
686
typedef INTEGER_t ExtensibleExtensions_t;
688
/*** <<< FUNC-DECLS [ExtensibleExtensions] >>> ***/
690
extern asn_TYPE_descriptor_t asn_DEF_ExtensibleExtensions;
691
asn_struct_free_f ExtensibleExtensions_free;
692
asn_struct_print_f ExtensibleExtensions_print;
693
asn_constr_check_f ExtensibleExtensions_constraint;
694
ber_type_decoder_f ExtensibleExtensions_decode_ber;
695
der_type_encoder_f ExtensibleExtensions_encode_der;
696
xer_type_decoder_f ExtensibleExtensions_decode_xer;
697
xer_type_encoder_f ExtensibleExtensions_encode_xer;
699
/*** <<< CODE [ExtensibleExtensions] >>> ***/
702
ExtensibleExtensions_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
703
asn_app_consume_bytes_f *app_errlog, void *app_key) {
704
const INTEGER_t *st = (const INTEGER_t *)sptr;
708
_ASN_ERRLOG(app_errlog, app_key,
709
"%s: value not given (%s:%d)",
710
td->name, __FILE__, __LINE__);
714
if(asn_INTEGER2long(st, &value)) {
715
_ASN_ERRLOG(app_errlog, app_key,
716
"%s: value too large (%s:%d)",
717
td->name, __FILE__, __LINE__);
721
if((value >= 1 && value <= 256)) {
722
/* Constraint check succeeded */
725
_ASN_ERRLOG(app_errlog, app_key,
726
"%s: constraint failed (%s:%d)",
727
td->name, __FILE__, __LINE__);
733
* This type is implemented using INTEGER,
734
* so here we adjust the DEF accordingly.
737
ExtensibleExtensions_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
738
td->free_struct = asn_DEF_INTEGER.free_struct;
739
td->print_struct = asn_DEF_INTEGER.print_struct;
740
td->ber_decoder = asn_DEF_INTEGER.ber_decoder;
741
td->der_encoder = asn_DEF_INTEGER.der_encoder;
742
td->xer_decoder = asn_DEF_INTEGER.xer_decoder;
743
td->xer_encoder = asn_DEF_INTEGER.xer_encoder;
744
td->elements = asn_DEF_INTEGER.elements;
745
td->elements_count = asn_DEF_INTEGER.elements_count;
746
td->specifics = asn_DEF_INTEGER.specifics;
750
ExtensibleExtensions_free(asn_TYPE_descriptor_t *td,
751
void *struct_ptr, int contents_only) {
752
ExtensibleExtensions_1_inherit_TYPE_descriptor(td);
753
td->free_struct(td, struct_ptr, contents_only);
757
ExtensibleExtensions_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
758
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
759
ExtensibleExtensions_1_inherit_TYPE_descriptor(td);
760
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
764
ExtensibleExtensions_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
765
void **structure, const void *bufptr, size_t size, int tag_mode) {
766
ExtensibleExtensions_1_inherit_TYPE_descriptor(td);
767
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
771
ExtensibleExtensions_encode_der(asn_TYPE_descriptor_t *td,
772
void *structure, int tag_mode, ber_tlv_tag_t tag,
773
asn_app_consume_bytes_f *cb, void *app_key) {
774
ExtensibleExtensions_1_inherit_TYPE_descriptor(td);
775
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
779
ExtensibleExtensions_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
780
void **structure, const char *opt_mname, const void *bufptr, size_t size) {
781
ExtensibleExtensions_1_inherit_TYPE_descriptor(td);
782
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
786
ExtensibleExtensions_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
787
int ilevel, enum xer_encoder_flags_e flags,
788
asn_app_consume_bytes_f *cb, void *app_key) {
789
ExtensibleExtensions_1_inherit_TYPE_descriptor(td);
790
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
794
/*** <<< STAT-DEFS [ExtensibleExtensions] >>> ***/
796
static ber_tlv_tag_t asn_DEF_ExtensibleExtensions_1_tags[] = {
797
(ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
799
asn_TYPE_descriptor_t asn_DEF_ExtensibleExtensions = {
800
"ExtensibleExtensions",
801
"ExtensibleExtensions",
802
ExtensibleExtensions_free,
803
ExtensibleExtensions_print,
804
ExtensibleExtensions_constraint,
805
ExtensibleExtensions_decode_ber,
806
ExtensibleExtensions_encode_der,
807
ExtensibleExtensions_decode_xer,
808
ExtensibleExtensions_encode_xer,
809
0, /* Use generic outmost tag fetcher */
810
asn_DEF_ExtensibleExtensions_1_tags,
811
sizeof(asn_DEF_ExtensibleExtensions_1_tags)
812
/sizeof(asn_DEF_ExtensibleExtensions_1_tags[0]), /* 1 */
813
asn_DEF_ExtensibleExtensions_1_tags, /* Same as above */
814
sizeof(asn_DEF_ExtensibleExtensions_1_tags)
815
/sizeof(asn_DEF_ExtensibleExtensions_1_tags[0]), /* 1 */
816
0, 0, /* No members */
821
/*** <<< INCLUDES [Str1] >>> ***/
823
#include <IA5String.h>
825
/*** <<< TYPE-DECLS [Str1] >>> ***/
827
typedef IA5String_t Str1_t;
829
/*** <<< FUNC-DECLS [Str1] >>> ***/
831
extern asn_TYPE_descriptor_t asn_DEF_Str1;
832
asn_struct_free_f Str1_free;
833
asn_struct_print_f Str1_print;
834
asn_constr_check_f Str1_constraint;
835
ber_type_decoder_f Str1_decode_ber;
836
der_type_encoder_f Str1_encode_der;
837
xer_type_decoder_f Str1_decode_xer;
838
xer_type_encoder_f Str1_encode_xer;
840
/*** <<< CODE [Str1] >>> ***/
843
Str1_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
844
asn_app_consume_bytes_f *app_errlog, void *app_key) {
845
/* Replace with underlying type checker */
846
td->check_constraints = asn_DEF_IA5String.check_constraints;
847
return td->check_constraints(td, sptr, app_errlog, app_key);
851
* This type is implemented using IA5String,
852
* so here we adjust the DEF accordingly.
855
Str1_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
856
td->free_struct = asn_DEF_IA5String.free_struct;
857
td->print_struct = asn_DEF_IA5String.print_struct;
858
td->ber_decoder = asn_DEF_IA5String.ber_decoder;
859
td->der_encoder = asn_DEF_IA5String.der_encoder;
860
td->xer_decoder = asn_DEF_IA5String.xer_decoder;
861
td->xer_encoder = asn_DEF_IA5String.xer_encoder;
862
td->elements = asn_DEF_IA5String.elements;
863
td->elements_count = asn_DEF_IA5String.elements_count;
864
td->specifics = asn_DEF_IA5String.specifics;
868
Str1_free(asn_TYPE_descriptor_t *td,
869
void *struct_ptr, int contents_only) {
870
Str1_1_inherit_TYPE_descriptor(td);
871
td->free_struct(td, struct_ptr, contents_only);
875
Str1_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
876
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
877
Str1_1_inherit_TYPE_descriptor(td);
878
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
882
Str1_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
883
void **structure, const void *bufptr, size_t size, int tag_mode) {
884
Str1_1_inherit_TYPE_descriptor(td);
885
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
889
Str1_encode_der(asn_TYPE_descriptor_t *td,
890
void *structure, int tag_mode, ber_tlv_tag_t tag,
891
asn_app_consume_bytes_f *cb, void *app_key) {
892
Str1_1_inherit_TYPE_descriptor(td);
893
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
897
Str1_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
898
void **structure, const char *opt_mname, const void *bufptr, size_t size) {
899
Str1_1_inherit_TYPE_descriptor(td);
900
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
904
Str1_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
905
int ilevel, enum xer_encoder_flags_e flags,
906
asn_app_consume_bytes_f *cb, void *app_key) {
907
Str1_1_inherit_TYPE_descriptor(td);
908
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
912
/*** <<< STAT-DEFS [Str1] >>> ***/
914
static ber_tlv_tag_t asn_DEF_Str1_1_tags[] = {
915
(ASN_TAG_CLASS_UNIVERSAL | (22 << 2))
917
asn_TYPE_descriptor_t asn_DEF_Str1 = {
927
0, /* Use generic outmost tag fetcher */
929
sizeof(asn_DEF_Str1_1_tags)
930
/sizeof(asn_DEF_Str1_1_tags[0]), /* 1 */
931
asn_DEF_Str1_1_tags, /* Same as above */
932
sizeof(asn_DEF_Str1_1_tags)
933
/sizeof(asn_DEF_Str1_1_tags[0]), /* 1 */
934
0, 0, /* No members */
939
/*** <<< INCLUDES [Str2] >>> ***/
943
/*** <<< TYPE-DECLS [Str2] >>> ***/
945
typedef Str1_t Str2_t;
947
/*** <<< FUNC-DECLS [Str2] >>> ***/
949
extern asn_TYPE_descriptor_t asn_DEF_Str2;
950
asn_struct_free_f Str2_free;
951
asn_struct_print_f Str2_print;
952
asn_constr_check_f Str2_constraint;
953
ber_type_decoder_f Str2_decode_ber;
954
der_type_encoder_f Str2_encode_der;
955
xer_type_decoder_f Str2_decode_xer;
956
xer_type_encoder_f Str2_encode_xer;
958
/*** <<< CTABLES [Str2] >>> ***/
960
static int check_permitted_alphabet_1(const void *sptr) {
961
/* The underlying type is IA5String */
962
const IA5String_t *st = (const IA5String_t *)sptr;
963
const uint8_t *ch = st->buf;
964
const uint8_t *end = ch + st->size;
966
for(; ch < end; ch++) {
968
if(!(cv <= 127)) return -1;
974
/*** <<< CODE [Str2] >>> ***/
977
Str2_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
978
asn_app_consume_bytes_f *app_errlog, void *app_key) {
979
const Str1_t *st = (const Str1_t *)sptr;
983
_ASN_ERRLOG(app_errlog, app_key,
984
"%s: value not given (%s:%d)",
985
td->name, __FILE__, __LINE__);
991
if(((size <= 20) || (size >= 25 && size <= 30))
992
&& !check_permitted_alphabet_1(st)) {
993
/* Constraint check succeeded */
996
_ASN_ERRLOG(app_errlog, app_key,
997
"%s: constraint failed (%s:%d)",
998
td->name, __FILE__, __LINE__);
1004
* This type is implemented using Str1,
1005
* so here we adjust the DEF accordingly.
1008
Str2_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
1009
td->free_struct = asn_DEF_Str1.free_struct;
1010
td->print_struct = asn_DEF_Str1.print_struct;
1011
td->ber_decoder = asn_DEF_Str1.ber_decoder;
1012
td->der_encoder = asn_DEF_Str1.der_encoder;
1013
td->xer_decoder = asn_DEF_Str1.xer_decoder;
1014
td->xer_encoder = asn_DEF_Str1.xer_encoder;
1015
td->elements = asn_DEF_Str1.elements;
1016
td->elements_count = asn_DEF_Str1.elements_count;
1017
td->specifics = asn_DEF_Str1.specifics;
1021
Str2_free(asn_TYPE_descriptor_t *td,
1022
void *struct_ptr, int contents_only) {
1023
Str2_1_inherit_TYPE_descriptor(td);
1024
td->free_struct(td, struct_ptr, contents_only);
1028
Str2_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
1029
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
1030
Str2_1_inherit_TYPE_descriptor(td);
1031
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
1035
Str2_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
1036
void **structure, const void *bufptr, size_t size, int tag_mode) {
1037
Str2_1_inherit_TYPE_descriptor(td);
1038
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
1042
Str2_encode_der(asn_TYPE_descriptor_t *td,
1043
void *structure, int tag_mode, ber_tlv_tag_t tag,
1044
asn_app_consume_bytes_f *cb, void *app_key) {
1045
Str2_1_inherit_TYPE_descriptor(td);
1046
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
1050
Str2_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
1051
void **structure, const char *opt_mname, const void *bufptr, size_t size) {
1052
Str2_1_inherit_TYPE_descriptor(td);
1053
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
1057
Str2_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
1058
int ilevel, enum xer_encoder_flags_e flags,
1059
asn_app_consume_bytes_f *cb, void *app_key) {
1060
Str2_1_inherit_TYPE_descriptor(td);
1061
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
1065
/*** <<< STAT-DEFS [Str2] >>> ***/
1067
static ber_tlv_tag_t asn_DEF_Str2_1_tags[] = {
1068
(ASN_TAG_CLASS_UNIVERSAL | (22 << 2))
1070
asn_TYPE_descriptor_t asn_DEF_Str2 = {
1080
0, /* Use generic outmost tag fetcher */
1081
asn_DEF_Str2_1_tags,
1082
sizeof(asn_DEF_Str2_1_tags)
1083
/sizeof(asn_DEF_Str2_1_tags[0]), /* 1 */
1084
asn_DEF_Str2_1_tags, /* Same as above */
1085
sizeof(asn_DEF_Str2_1_tags)
1086
/sizeof(asn_DEF_Str2_1_tags[0]), /* 1 */
1087
0, 0, /* No members */
1088
0 /* No specifics */
1092
/*** <<< INCLUDES [Str3] >>> ***/
1096
/*** <<< TYPE-DECLS [Str3] >>> ***/
1098
typedef Str2_t Str3_t;
1100
/*** <<< FUNC-DECLS [Str3] >>> ***/
1102
extern asn_TYPE_descriptor_t asn_DEF_Str3;
1103
asn_struct_free_f Str3_free;
1104
asn_struct_print_f Str3_print;
1105
asn_constr_check_f Str3_constraint;
1106
ber_type_decoder_f Str3_decode_ber;
1107
der_type_encoder_f Str3_encode_der;
1108
xer_type_decoder_f Str3_decode_xer;
1109
xer_type_encoder_f Str3_encode_xer;
1111
/*** <<< CTABLES [Str3] >>> ***/
1113
static int permitted_alphabet_table_1[256] = {
1114
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* */
1115
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* */
1116
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* */
1117
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* */
1118
0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0, /* ABC */
1119
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* */
1120
0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0, /* def */
1123
static int check_permitted_alphabet_1(const void *sptr) {
1124
int *table = permitted_alphabet_table_1;
1125
/* The underlying type is IA5String */
1126
const IA5String_t *st = (const IA5String_t *)sptr;
1127
const uint8_t *ch = st->buf;
1128
const uint8_t *end = ch + st->size;
1130
for(; ch < end; ch++) {
1132
if(!table[cv]) return -1;
1138
/*** <<< CODE [Str3] >>> ***/
1141
Str3_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
1142
asn_app_consume_bytes_f *app_errlog, void *app_key) {
1143
const Str2_t *st = (const Str2_t *)sptr;
1147
_ASN_ERRLOG(app_errlog, app_key,
1148
"%s: value not given (%s:%d)",
1149
td->name, __FILE__, __LINE__);
1155
if(((size >= 10 && size <= 20) || (size >= 25 && size <= 27))
1156
&& !check_permitted_alphabet_1(st)) {
1157
/* Constraint check succeeded */
1160
_ASN_ERRLOG(app_errlog, app_key,
1161
"%s: constraint failed (%s:%d)",
1162
td->name, __FILE__, __LINE__);
1168
* This type is implemented using Str2,
1169
* so here we adjust the DEF accordingly.
1172
Str3_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
1173
td->free_struct = asn_DEF_Str2.free_struct;
1174
td->print_struct = asn_DEF_Str2.print_struct;
1175
td->ber_decoder = asn_DEF_Str2.ber_decoder;
1176
td->der_encoder = asn_DEF_Str2.der_encoder;
1177
td->xer_decoder = asn_DEF_Str2.xer_decoder;
1178
td->xer_encoder = asn_DEF_Str2.xer_encoder;
1179
td->elements = asn_DEF_Str2.elements;
1180
td->elements_count = asn_DEF_Str2.elements_count;
1181
td->specifics = asn_DEF_Str2.specifics;
1185
Str3_free(asn_TYPE_descriptor_t *td,
1186
void *struct_ptr, int contents_only) {
1187
Str3_1_inherit_TYPE_descriptor(td);
1188
td->free_struct(td, struct_ptr, contents_only);
1192
Str3_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
1193
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
1194
Str3_1_inherit_TYPE_descriptor(td);
1195
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
1199
Str3_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
1200
void **structure, const void *bufptr, size_t size, int tag_mode) {
1201
Str3_1_inherit_TYPE_descriptor(td);
1202
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
1206
Str3_encode_der(asn_TYPE_descriptor_t *td,
1207
void *structure, int tag_mode, ber_tlv_tag_t tag,
1208
asn_app_consume_bytes_f *cb, void *app_key) {
1209
Str3_1_inherit_TYPE_descriptor(td);
1210
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
1214
Str3_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
1215
void **structure, const char *opt_mname, const void *bufptr, size_t size) {
1216
Str3_1_inherit_TYPE_descriptor(td);
1217
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
1221
Str3_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
1222
int ilevel, enum xer_encoder_flags_e flags,
1223
asn_app_consume_bytes_f *cb, void *app_key) {
1224
Str3_1_inherit_TYPE_descriptor(td);
1225
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
1229
/*** <<< STAT-DEFS [Str3] >>> ***/
1231
static ber_tlv_tag_t asn_DEF_Str3_1_tags[] = {
1232
(ASN_TAG_CLASS_UNIVERSAL | (22 << 2))
1234
asn_TYPE_descriptor_t asn_DEF_Str3 = {
1244
0, /* Use generic outmost tag fetcher */
1245
asn_DEF_Str3_1_tags,
1246
sizeof(asn_DEF_Str3_1_tags)
1247
/sizeof(asn_DEF_Str3_1_tags[0]), /* 1 */
1248
asn_DEF_Str3_1_tags, /* Same as above */
1249
sizeof(asn_DEF_Str3_1_tags)
1250
/sizeof(asn_DEF_Str3_1_tags[0]), /* 1 */
1251
0, 0, /* No members */
1252
0 /* No specifics */
1256
/*** <<< INCLUDES [Str4] >>> ***/
1258
#include <IA5String.h>
1260
/*** <<< TYPE-DECLS [Str4] >>> ***/
1262
typedef IA5String_t Str4_t;
1264
/*** <<< FUNC-DECLS [Str4] >>> ***/
1266
extern asn_TYPE_descriptor_t asn_DEF_Str4;
1267
asn_struct_free_f Str4_free;
1268
asn_struct_print_f Str4_print;
1269
asn_constr_check_f Str4_constraint;
1270
ber_type_decoder_f Str4_decode_ber;
1271
der_type_encoder_f Str4_encode_der;
1272
xer_type_decoder_f Str4_decode_xer;
1273
xer_type_encoder_f Str4_encode_xer;
1275
/*** <<< CTABLES [Str4] >>> ***/
1277
static int check_permitted_alphabet_1(const void *sptr) {
1278
/* The underlying type is IA5String */
1279
const IA5String_t *st = (const IA5String_t *)sptr;
1280
const uint8_t *ch = st->buf;
1281
const uint8_t *end = ch + st->size;
1283
for(; ch < end; ch++) {
1285
if(!(cv <= 127)) return -1;
1291
/*** <<< CODE [Str4] >>> ***/
1294
Str4_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
1295
asn_app_consume_bytes_f *app_errlog, void *app_key) {
1296
const IA5String_t *st = (const IA5String_t *)sptr;
1299
_ASN_ERRLOG(app_errlog, app_key,
1300
"%s: value not given (%s:%d)",
1301
td->name, __FILE__, __LINE__);
1306
if(!check_permitted_alphabet_1(st)) {
1307
/* Constraint check succeeded */
1310
_ASN_ERRLOG(app_errlog, app_key,
1311
"%s: constraint failed (%s:%d)",
1312
td->name, __FILE__, __LINE__);
1318
* This type is implemented using IA5String,
1319
* so here we adjust the DEF accordingly.
1322
Str4_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
1323
td->free_struct = asn_DEF_IA5String.free_struct;
1324
td->print_struct = asn_DEF_IA5String.print_struct;
1325
td->ber_decoder = asn_DEF_IA5String.ber_decoder;
1326
td->der_encoder = asn_DEF_IA5String.der_encoder;
1327
td->xer_decoder = asn_DEF_IA5String.xer_decoder;
1328
td->xer_encoder = asn_DEF_IA5String.xer_encoder;
1329
td->elements = asn_DEF_IA5String.elements;
1330
td->elements_count = asn_DEF_IA5String.elements_count;
1331
td->specifics = asn_DEF_IA5String.specifics;
1335
Str4_free(asn_TYPE_descriptor_t *td,
1336
void *struct_ptr, int contents_only) {
1337
Str4_1_inherit_TYPE_descriptor(td);
1338
td->free_struct(td, struct_ptr, contents_only);
1342
Str4_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
1343
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
1344
Str4_1_inherit_TYPE_descriptor(td);
1345
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
1349
Str4_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
1350
void **structure, const void *bufptr, size_t size, int tag_mode) {
1351
Str4_1_inherit_TYPE_descriptor(td);
1352
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
1356
Str4_encode_der(asn_TYPE_descriptor_t *td,
1357
void *structure, int tag_mode, ber_tlv_tag_t tag,
1358
asn_app_consume_bytes_f *cb, void *app_key) {
1359
Str4_1_inherit_TYPE_descriptor(td);
1360
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
1364
Str4_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
1365
void **structure, const char *opt_mname, const void *bufptr, size_t size) {
1366
Str4_1_inherit_TYPE_descriptor(td);
1367
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
1371
Str4_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
1372
int ilevel, enum xer_encoder_flags_e flags,
1373
asn_app_consume_bytes_f *cb, void *app_key) {
1374
Str4_1_inherit_TYPE_descriptor(td);
1375
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
1379
/*** <<< STAT-DEFS [Str4] >>> ***/
1381
static ber_tlv_tag_t asn_DEF_Str4_1_tags[] = {
1382
(ASN_TAG_CLASS_UNIVERSAL | (22 << 2))
1384
asn_TYPE_descriptor_t asn_DEF_Str4 = {
1394
0, /* Use generic outmost tag fetcher */
1395
asn_DEF_Str4_1_tags,
1396
sizeof(asn_DEF_Str4_1_tags)
1397
/sizeof(asn_DEF_Str4_1_tags[0]), /* 1 */
1398
asn_DEF_Str4_1_tags, /* Same as above */
1399
sizeof(asn_DEF_Str4_1_tags)
1400
/sizeof(asn_DEF_Str4_1_tags[0]), /* 1 */
1401
0, 0, /* No members */
1402
0 /* No specifics */
1406
/*** <<< INCLUDES [PER-Visible] >>> ***/
1408
#include <IA5String.h>
1410
/*** <<< TYPE-DECLS [PER-Visible] >>> ***/
1412
typedef IA5String_t PER_Visible_t;
1414
/*** <<< FUNC-DECLS [PER-Visible] >>> ***/
1416
extern asn_TYPE_descriptor_t asn_DEF_PER_Visible;
1417
asn_struct_free_f PER_Visible_free;
1418
asn_struct_print_f PER_Visible_print;
1419
asn_constr_check_f PER_Visible_constraint;
1420
ber_type_decoder_f PER_Visible_decode_ber;
1421
der_type_encoder_f PER_Visible_encode_der;
1422
xer_type_decoder_f PER_Visible_decode_xer;
1423
xer_type_encoder_f PER_Visible_encode_xer;
1425
/*** <<< CTABLES [PER-Visible] >>> ***/
1427
static int check_permitted_alphabet_1(const void *sptr) {
1428
/* The underlying type is IA5String */
1429
const IA5String_t *st = (const IA5String_t *)sptr;
1430
const uint8_t *ch = st->buf;
1431
const uint8_t *end = ch + st->size;
1433
for(; ch < end; ch++) {
1435
if(!(cv >= 65 && cv <= 70)) return -1;
1441
/*** <<< CODE [PER-Visible] >>> ***/
1444
PER_Visible_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
1445
asn_app_consume_bytes_f *app_errlog, void *app_key) {
1446
const IA5String_t *st = (const IA5String_t *)sptr;
1449
_ASN_ERRLOG(app_errlog, app_key,
1450
"%s: value not given (%s:%d)",
1451
td->name, __FILE__, __LINE__);
1456
if(!check_permitted_alphabet_1(st)) {
1457
/* Constraint check succeeded */
1460
_ASN_ERRLOG(app_errlog, app_key,
1461
"%s: constraint failed (%s:%d)",
1462
td->name, __FILE__, __LINE__);
1468
* This type is implemented using IA5String,
1469
* so here we adjust the DEF accordingly.
1472
PER_Visible_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
1473
td->free_struct = asn_DEF_IA5String.free_struct;
1474
td->print_struct = asn_DEF_IA5String.print_struct;
1475
td->ber_decoder = asn_DEF_IA5String.ber_decoder;
1476
td->der_encoder = asn_DEF_IA5String.der_encoder;
1477
td->xer_decoder = asn_DEF_IA5String.xer_decoder;
1478
td->xer_encoder = asn_DEF_IA5String.xer_encoder;
1479
td->elements = asn_DEF_IA5String.elements;
1480
td->elements_count = asn_DEF_IA5String.elements_count;
1481
td->specifics = asn_DEF_IA5String.specifics;
1485
PER_Visible_free(asn_TYPE_descriptor_t *td,
1486
void *struct_ptr, int contents_only) {
1487
PER_Visible_1_inherit_TYPE_descriptor(td);
1488
td->free_struct(td, struct_ptr, contents_only);
1492
PER_Visible_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
1493
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
1494
PER_Visible_1_inherit_TYPE_descriptor(td);
1495
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
1499
PER_Visible_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
1500
void **structure, const void *bufptr, size_t size, int tag_mode) {
1501
PER_Visible_1_inherit_TYPE_descriptor(td);
1502
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
1506
PER_Visible_encode_der(asn_TYPE_descriptor_t *td,
1507
void *structure, int tag_mode, ber_tlv_tag_t tag,
1508
asn_app_consume_bytes_f *cb, void *app_key) {
1509
PER_Visible_1_inherit_TYPE_descriptor(td);
1510
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
1514
PER_Visible_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
1515
void **structure, const char *opt_mname, const void *bufptr, size_t size) {
1516
PER_Visible_1_inherit_TYPE_descriptor(td);
1517
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
1521
PER_Visible_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
1522
int ilevel, enum xer_encoder_flags_e flags,
1523
asn_app_consume_bytes_f *cb, void *app_key) {
1524
PER_Visible_1_inherit_TYPE_descriptor(td);
1525
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
1529
/*** <<< STAT-DEFS [PER-Visible] >>> ***/
1531
static ber_tlv_tag_t asn_DEF_PER_Visible_1_tags[] = {
1532
(ASN_TAG_CLASS_UNIVERSAL | (22 << 2))
1534
asn_TYPE_descriptor_t asn_DEF_PER_Visible = {
1539
PER_Visible_constraint,
1540
PER_Visible_decode_ber,
1541
PER_Visible_encode_der,
1542
PER_Visible_decode_xer,
1543
PER_Visible_encode_xer,
1544
0, /* Use generic outmost tag fetcher */
1545
asn_DEF_PER_Visible_1_tags,
1546
sizeof(asn_DEF_PER_Visible_1_tags)
1547
/sizeof(asn_DEF_PER_Visible_1_tags[0]), /* 1 */
1548
asn_DEF_PER_Visible_1_tags, /* Same as above */
1549
sizeof(asn_DEF_PER_Visible_1_tags)
1550
/sizeof(asn_DEF_PER_Visible_1_tags[0]), /* 1 */
1551
0, 0, /* No members */
1552
0 /* No specifics */
1556
/*** <<< INCLUDES [PER-Visible-2] >>> ***/
1558
#include <PER-Visible.h>
1560
/*** <<< TYPE-DECLS [PER-Visible-2] >>> ***/
1562
typedef PER_Visible_t PER_Visible_2_t;
1564
/*** <<< FUNC-DECLS [PER-Visible-2] >>> ***/
1566
extern asn_TYPE_descriptor_t asn_DEF_PER_Visible_2;
1567
asn_struct_free_f PER_Visible_2_free;
1568
asn_struct_print_f PER_Visible_2_print;
1569
asn_constr_check_f PER_Visible_2_constraint;
1570
ber_type_decoder_f PER_Visible_2_decode_ber;
1571
der_type_encoder_f PER_Visible_2_encode_der;
1572
xer_type_decoder_f PER_Visible_2_decode_xer;
1573
xer_type_encoder_f PER_Visible_2_encode_xer;
1575
/*** <<< CTABLES [PER-Visible-2] >>> ***/
1577
static int check_permitted_alphabet_1(const void *sptr) {
1578
/* The underlying type is IA5String */
1579
const IA5String_t *st = (const IA5String_t *)sptr;
1580
const uint8_t *ch = st->buf;
1581
const uint8_t *end = ch + st->size;
1583
for(; ch < end; ch++) {
1585
if(!(cv >= 69 && cv <= 70)) return -1;
1591
/*** <<< CODE [PER-Visible-2] >>> ***/
1594
PER_Visible_2_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
1595
asn_app_consume_bytes_f *app_errlog, void *app_key) {
1596
const PER_Visible_t *st = (const PER_Visible_t *)sptr;
1599
_ASN_ERRLOG(app_errlog, app_key,
1600
"%s: value not given (%s:%d)",
1601
td->name, __FILE__, __LINE__);
1606
if(!check_permitted_alphabet_1(st)) {
1607
/* Constraint check succeeded */
1610
_ASN_ERRLOG(app_errlog, app_key,
1611
"%s: constraint failed (%s:%d)",
1612
td->name, __FILE__, __LINE__);
1618
* This type is implemented using PER_Visible,
1619
* so here we adjust the DEF accordingly.
1622
PER_Visible_2_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
1623
td->free_struct = asn_DEF_PER_Visible.free_struct;
1624
td->print_struct = asn_DEF_PER_Visible.print_struct;
1625
td->ber_decoder = asn_DEF_PER_Visible.ber_decoder;
1626
td->der_encoder = asn_DEF_PER_Visible.der_encoder;
1627
td->xer_decoder = asn_DEF_PER_Visible.xer_decoder;
1628
td->xer_encoder = asn_DEF_PER_Visible.xer_encoder;
1629
td->elements = asn_DEF_PER_Visible.elements;
1630
td->elements_count = asn_DEF_PER_Visible.elements_count;
1631
td->specifics = asn_DEF_PER_Visible.specifics;
1635
PER_Visible_2_free(asn_TYPE_descriptor_t *td,
1636
void *struct_ptr, int contents_only) {
1637
PER_Visible_2_1_inherit_TYPE_descriptor(td);
1638
td->free_struct(td, struct_ptr, contents_only);
1642
PER_Visible_2_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
1643
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
1644
PER_Visible_2_1_inherit_TYPE_descriptor(td);
1645
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
1649
PER_Visible_2_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
1650
void **structure, const void *bufptr, size_t size, int tag_mode) {
1651
PER_Visible_2_1_inherit_TYPE_descriptor(td);
1652
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
1656
PER_Visible_2_encode_der(asn_TYPE_descriptor_t *td,
1657
void *structure, int tag_mode, ber_tlv_tag_t tag,
1658
asn_app_consume_bytes_f *cb, void *app_key) {
1659
PER_Visible_2_1_inherit_TYPE_descriptor(td);
1660
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
1664
PER_Visible_2_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
1665
void **structure, const char *opt_mname, const void *bufptr, size_t size) {
1666
PER_Visible_2_1_inherit_TYPE_descriptor(td);
1667
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
1671
PER_Visible_2_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
1672
int ilevel, enum xer_encoder_flags_e flags,
1673
asn_app_consume_bytes_f *cb, void *app_key) {
1674
PER_Visible_2_1_inherit_TYPE_descriptor(td);
1675
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
1679
/*** <<< STAT-DEFS [PER-Visible-2] >>> ***/
1681
static ber_tlv_tag_t asn_DEF_PER_Visible_2_1_tags[] = {
1682
(ASN_TAG_CLASS_UNIVERSAL | (22 << 2))
1684
asn_TYPE_descriptor_t asn_DEF_PER_Visible_2 = {
1688
PER_Visible_2_print,
1689
PER_Visible_2_constraint,
1690
PER_Visible_2_decode_ber,
1691
PER_Visible_2_encode_der,
1692
PER_Visible_2_decode_xer,
1693
PER_Visible_2_encode_xer,
1694
0, /* Use generic outmost tag fetcher */
1695
asn_DEF_PER_Visible_2_1_tags,
1696
sizeof(asn_DEF_PER_Visible_2_1_tags)
1697
/sizeof(asn_DEF_PER_Visible_2_1_tags[0]), /* 1 */
1698
asn_DEF_PER_Visible_2_1_tags, /* Same as above */
1699
sizeof(asn_DEF_PER_Visible_2_1_tags)
1700
/sizeof(asn_DEF_PER_Visible_2_1_tags[0]), /* 1 */
1701
0, 0, /* No members */
1702
0 /* No specifics */
1706
/*** <<< INCLUDES [Not-PER-Visible-1] >>> ***/
1708
#include <PER-Visible.h>
1710
/*** <<< TYPE-DECLS [Not-PER-Visible-1] >>> ***/
1712
typedef PER_Visible_t Not_PER_Visible_1_t;
1714
/*** <<< FUNC-DECLS [Not-PER-Visible-1] >>> ***/
1716
extern asn_TYPE_descriptor_t asn_DEF_Not_PER_Visible_1;
1717
asn_struct_free_f Not_PER_Visible_1_free;
1718
asn_struct_print_f Not_PER_Visible_1_print;
1719
asn_constr_check_f Not_PER_Visible_1_constraint;
1720
ber_type_decoder_f Not_PER_Visible_1_decode_ber;
1721
der_type_encoder_f Not_PER_Visible_1_encode_der;
1722
xer_type_decoder_f Not_PER_Visible_1_decode_xer;
1723
xer_type_encoder_f Not_PER_Visible_1_encode_xer;
1725
/*** <<< CTABLES [Not-PER-Visible-1] >>> ***/
1727
static int check_permitted_alphabet_1(const void *sptr) {
1728
/* The underlying type is IA5String */
1729
const IA5String_t *st = (const IA5String_t *)sptr;
1730
const uint8_t *ch = st->buf;
1731
const uint8_t *end = ch + st->size;
1733
for(; ch < end; ch++) {
1735
if(!(cv >= 65 && cv <= 70)) return -1;
1741
/*** <<< CODE [Not-PER-Visible-1] >>> ***/
1744
Not_PER_Visible_1_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
1745
asn_app_consume_bytes_f *app_errlog, void *app_key) {
1746
const PER_Visible_t *st = (const PER_Visible_t *)sptr;
1749
_ASN_ERRLOG(app_errlog, app_key,
1750
"%s: value not given (%s:%d)",
1751
td->name, __FILE__, __LINE__);
1756
if(!check_permitted_alphabet_1(st)) {
1757
/* Constraint check succeeded */
1760
_ASN_ERRLOG(app_errlog, app_key,
1761
"%s: constraint failed (%s:%d)",
1762
td->name, __FILE__, __LINE__);
1768
* This type is implemented using PER_Visible,
1769
* so here we adjust the DEF accordingly.
1772
Not_PER_Visible_1_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
1773
td->free_struct = asn_DEF_PER_Visible.free_struct;
1774
td->print_struct = asn_DEF_PER_Visible.print_struct;
1775
td->ber_decoder = asn_DEF_PER_Visible.ber_decoder;
1776
td->der_encoder = asn_DEF_PER_Visible.der_encoder;
1777
td->xer_decoder = asn_DEF_PER_Visible.xer_decoder;
1778
td->xer_encoder = asn_DEF_PER_Visible.xer_encoder;
1779
td->elements = asn_DEF_PER_Visible.elements;
1780
td->elements_count = asn_DEF_PER_Visible.elements_count;
1781
td->specifics = asn_DEF_PER_Visible.specifics;
1785
Not_PER_Visible_1_free(asn_TYPE_descriptor_t *td,
1786
void *struct_ptr, int contents_only) {
1787
Not_PER_Visible_1_1_inherit_TYPE_descriptor(td);
1788
td->free_struct(td, struct_ptr, contents_only);
1792
Not_PER_Visible_1_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
1793
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
1794
Not_PER_Visible_1_1_inherit_TYPE_descriptor(td);
1795
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
1799
Not_PER_Visible_1_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
1800
void **structure, const void *bufptr, size_t size, int tag_mode) {
1801
Not_PER_Visible_1_1_inherit_TYPE_descriptor(td);
1802
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
1806
Not_PER_Visible_1_encode_der(asn_TYPE_descriptor_t *td,
1807
void *structure, int tag_mode, ber_tlv_tag_t tag,
1808
asn_app_consume_bytes_f *cb, void *app_key) {
1809
Not_PER_Visible_1_1_inherit_TYPE_descriptor(td);
1810
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
1814
Not_PER_Visible_1_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
1815
void **structure, const char *opt_mname, const void *bufptr, size_t size) {
1816
Not_PER_Visible_1_1_inherit_TYPE_descriptor(td);
1817
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
1821
Not_PER_Visible_1_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
1822
int ilevel, enum xer_encoder_flags_e flags,
1823
asn_app_consume_bytes_f *cb, void *app_key) {
1824
Not_PER_Visible_1_1_inherit_TYPE_descriptor(td);
1825
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
1829
/*** <<< STAT-DEFS [Not-PER-Visible-1] >>> ***/
1831
static ber_tlv_tag_t asn_DEF_Not_PER_Visible_1_1_tags[] = {
1832
(ASN_TAG_CLASS_UNIVERSAL | (22 << 2))
1834
asn_TYPE_descriptor_t asn_DEF_Not_PER_Visible_1 = {
1835
"Not-PER-Visible-1",
1836
"Not-PER-Visible-1",
1837
Not_PER_Visible_1_free,
1838
Not_PER_Visible_1_print,
1839
Not_PER_Visible_1_constraint,
1840
Not_PER_Visible_1_decode_ber,
1841
Not_PER_Visible_1_encode_der,
1842
Not_PER_Visible_1_decode_xer,
1843
Not_PER_Visible_1_encode_xer,
1844
0, /* Use generic outmost tag fetcher */
1845
asn_DEF_Not_PER_Visible_1_1_tags,
1846
sizeof(asn_DEF_Not_PER_Visible_1_1_tags)
1847
/sizeof(asn_DEF_Not_PER_Visible_1_1_tags[0]), /* 1 */
1848
asn_DEF_Not_PER_Visible_1_1_tags, /* Same as above */
1849
sizeof(asn_DEF_Not_PER_Visible_1_1_tags)
1850
/sizeof(asn_DEF_Not_PER_Visible_1_1_tags[0]), /* 1 */
1851
0, 0, /* No members */
1852
0 /* No specifics */
1856
/*** <<< INCLUDES [Not-PER-Visible-2] >>> ***/
1858
#include <PER-Visible.h>
1860
/*** <<< TYPE-DECLS [Not-PER-Visible-2] >>> ***/
1862
typedef PER_Visible_t Not_PER_Visible_2_t;
1864
/*** <<< FUNC-DECLS [Not-PER-Visible-2] >>> ***/
1866
extern asn_TYPE_descriptor_t asn_DEF_Not_PER_Visible_2;
1867
asn_struct_free_f Not_PER_Visible_2_free;
1868
asn_struct_print_f Not_PER_Visible_2_print;
1869
asn_constr_check_f Not_PER_Visible_2_constraint;
1870
ber_type_decoder_f Not_PER_Visible_2_decode_ber;
1871
der_type_encoder_f Not_PER_Visible_2_encode_der;
1872
xer_type_decoder_f Not_PER_Visible_2_decode_xer;
1873
xer_type_encoder_f Not_PER_Visible_2_encode_xer;
1875
/*** <<< CTABLES [Not-PER-Visible-2] >>> ***/
1877
static int check_permitted_alphabet_1(const void *sptr) {
1878
/* The underlying type is IA5String */
1879
const IA5String_t *st = (const IA5String_t *)sptr;
1880
const uint8_t *ch = st->buf;
1881
const uint8_t *end = ch + st->size;
1883
for(; ch < end; ch++) {
1885
if(!(cv >= 65 && cv <= 66)) return -1;
1891
/*** <<< CODE [Not-PER-Visible-2] >>> ***/
1894
Not_PER_Visible_2_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
1895
asn_app_consume_bytes_f *app_errlog, void *app_key) {
1896
const PER_Visible_t *st = (const PER_Visible_t *)sptr;
1899
_ASN_ERRLOG(app_errlog, app_key,
1900
"%s: value not given (%s:%d)",
1901
td->name, __FILE__, __LINE__);
1906
if(!check_permitted_alphabet_1(st)) {
1907
/* Constraint check succeeded */
1910
_ASN_ERRLOG(app_errlog, app_key,
1911
"%s: constraint failed (%s:%d)",
1912
td->name, __FILE__, __LINE__);
1918
* This type is implemented using PER_Visible,
1919
* so here we adjust the DEF accordingly.
1922
Not_PER_Visible_2_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
1923
td->free_struct = asn_DEF_PER_Visible.free_struct;
1924
td->print_struct = asn_DEF_PER_Visible.print_struct;
1925
td->ber_decoder = asn_DEF_PER_Visible.ber_decoder;
1926
td->der_encoder = asn_DEF_PER_Visible.der_encoder;
1927
td->xer_decoder = asn_DEF_PER_Visible.xer_decoder;
1928
td->xer_encoder = asn_DEF_PER_Visible.xer_encoder;
1929
td->elements = asn_DEF_PER_Visible.elements;
1930
td->elements_count = asn_DEF_PER_Visible.elements_count;
1931
td->specifics = asn_DEF_PER_Visible.specifics;
1935
Not_PER_Visible_2_free(asn_TYPE_descriptor_t *td,
1936
void *struct_ptr, int contents_only) {
1937
Not_PER_Visible_2_1_inherit_TYPE_descriptor(td);
1938
td->free_struct(td, struct_ptr, contents_only);
1942
Not_PER_Visible_2_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
1943
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
1944
Not_PER_Visible_2_1_inherit_TYPE_descriptor(td);
1945
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
1949
Not_PER_Visible_2_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
1950
void **structure, const void *bufptr, size_t size, int tag_mode) {
1951
Not_PER_Visible_2_1_inherit_TYPE_descriptor(td);
1952
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
1956
Not_PER_Visible_2_encode_der(asn_TYPE_descriptor_t *td,
1957
void *structure, int tag_mode, ber_tlv_tag_t tag,
1958
asn_app_consume_bytes_f *cb, void *app_key) {
1959
Not_PER_Visible_2_1_inherit_TYPE_descriptor(td);
1960
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
1964
Not_PER_Visible_2_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
1965
void **structure, const char *opt_mname, const void *bufptr, size_t size) {
1966
Not_PER_Visible_2_1_inherit_TYPE_descriptor(td);
1967
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
1971
Not_PER_Visible_2_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
1972
int ilevel, enum xer_encoder_flags_e flags,
1973
asn_app_consume_bytes_f *cb, void *app_key) {
1974
Not_PER_Visible_2_1_inherit_TYPE_descriptor(td);
1975
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
1979
/*** <<< STAT-DEFS [Not-PER-Visible-2] >>> ***/
1981
static ber_tlv_tag_t asn_DEF_Not_PER_Visible_2_1_tags[] = {
1982
(ASN_TAG_CLASS_UNIVERSAL | (22 << 2))
1984
asn_TYPE_descriptor_t asn_DEF_Not_PER_Visible_2 = {
1985
"Not-PER-Visible-2",
1986
"Not-PER-Visible-2",
1987
Not_PER_Visible_2_free,
1988
Not_PER_Visible_2_print,
1989
Not_PER_Visible_2_constraint,
1990
Not_PER_Visible_2_decode_ber,
1991
Not_PER_Visible_2_encode_der,
1992
Not_PER_Visible_2_decode_xer,
1993
Not_PER_Visible_2_encode_xer,
1994
0, /* Use generic outmost tag fetcher */
1995
asn_DEF_Not_PER_Visible_2_1_tags,
1996
sizeof(asn_DEF_Not_PER_Visible_2_1_tags)
1997
/sizeof(asn_DEF_Not_PER_Visible_2_1_tags[0]), /* 1 */
1998
asn_DEF_Not_PER_Visible_2_1_tags, /* Same as above */
1999
sizeof(asn_DEF_Not_PER_Visible_2_1_tags)
2000
/sizeof(asn_DEF_Not_PER_Visible_2_1_tags[0]), /* 1 */
2001
0, 0, /* No members */
2002
0 /* No specifics */
2006
/*** <<< INCLUDES [Not-PER-Visible-3] >>> ***/
2008
#include <PER-Visible.h>
2010
/*** <<< TYPE-DECLS [Not-PER-Visible-3] >>> ***/
2012
typedef PER_Visible_t Not_PER_Visible_3_t;
2014
/*** <<< FUNC-DECLS [Not-PER-Visible-3] >>> ***/
2016
extern asn_TYPE_descriptor_t asn_DEF_Not_PER_Visible_3;
2017
asn_struct_free_f Not_PER_Visible_3_free;
2018
asn_struct_print_f Not_PER_Visible_3_print;
2019
asn_constr_check_f Not_PER_Visible_3_constraint;
2020
ber_type_decoder_f Not_PER_Visible_3_decode_ber;
2021
der_type_encoder_f Not_PER_Visible_3_encode_der;
2022
xer_type_decoder_f Not_PER_Visible_3_decode_xer;
2023
xer_type_encoder_f Not_PER_Visible_3_encode_xer;
2025
/*** <<< CTABLES [Not-PER-Visible-3] >>> ***/
2027
static int check_permitted_alphabet_1(const void *sptr) {
2028
/* The underlying type is IA5String */
2029
const IA5String_t *st = (const IA5String_t *)sptr;
2030
const uint8_t *ch = st->buf;
2031
const uint8_t *end = ch + st->size;
2033
for(; ch < end; ch++) {
2035
if(!(cv >= 65 && cv <= 66)) return -1;
2041
/*** <<< CODE [Not-PER-Visible-3] >>> ***/
2044
Not_PER_Visible_3_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
2045
asn_app_consume_bytes_f *app_errlog, void *app_key) {
2046
const PER_Visible_t *st = (const PER_Visible_t *)sptr;
2049
_ASN_ERRLOG(app_errlog, app_key,
2050
"%s: value not given (%s:%d)",
2051
td->name, __FILE__, __LINE__);
2056
if(!check_permitted_alphabet_1(st)) {
2057
/* Constraint check succeeded */
2060
_ASN_ERRLOG(app_errlog, app_key,
2061
"%s: constraint failed (%s:%d)",
2062
td->name, __FILE__, __LINE__);
2068
* This type is implemented using PER_Visible,
2069
* so here we adjust the DEF accordingly.
2072
Not_PER_Visible_3_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
2073
td->free_struct = asn_DEF_PER_Visible.free_struct;
2074
td->print_struct = asn_DEF_PER_Visible.print_struct;
2075
td->ber_decoder = asn_DEF_PER_Visible.ber_decoder;
2076
td->der_encoder = asn_DEF_PER_Visible.der_encoder;
2077
td->xer_decoder = asn_DEF_PER_Visible.xer_decoder;
2078
td->xer_encoder = asn_DEF_PER_Visible.xer_encoder;
2079
td->elements = asn_DEF_PER_Visible.elements;
2080
td->elements_count = asn_DEF_PER_Visible.elements_count;
2081
td->specifics = asn_DEF_PER_Visible.specifics;
2085
Not_PER_Visible_3_free(asn_TYPE_descriptor_t *td,
2086
void *struct_ptr, int contents_only) {
2087
Not_PER_Visible_3_1_inherit_TYPE_descriptor(td);
2088
td->free_struct(td, struct_ptr, contents_only);
2092
Not_PER_Visible_3_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
2093
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
2094
Not_PER_Visible_3_1_inherit_TYPE_descriptor(td);
2095
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
2099
Not_PER_Visible_3_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
2100
void **structure, const void *bufptr, size_t size, int tag_mode) {
2101
Not_PER_Visible_3_1_inherit_TYPE_descriptor(td);
2102
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
2106
Not_PER_Visible_3_encode_der(asn_TYPE_descriptor_t *td,
2107
void *structure, int tag_mode, ber_tlv_tag_t tag,
2108
asn_app_consume_bytes_f *cb, void *app_key) {
2109
Not_PER_Visible_3_1_inherit_TYPE_descriptor(td);
2110
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
2114
Not_PER_Visible_3_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
2115
void **structure, const char *opt_mname, const void *bufptr, size_t size) {
2116
Not_PER_Visible_3_1_inherit_TYPE_descriptor(td);
2117
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
2121
Not_PER_Visible_3_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
2122
int ilevel, enum xer_encoder_flags_e flags,
2123
asn_app_consume_bytes_f *cb, void *app_key) {
2124
Not_PER_Visible_3_1_inherit_TYPE_descriptor(td);
2125
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
2129
/*** <<< STAT-DEFS [Not-PER-Visible-3] >>> ***/
2131
static ber_tlv_tag_t asn_DEF_Not_PER_Visible_3_1_tags[] = {
2132
(ASN_TAG_CLASS_UNIVERSAL | (22 << 2))
2134
asn_TYPE_descriptor_t asn_DEF_Not_PER_Visible_3 = {
2135
"Not-PER-Visible-3",
2136
"Not-PER-Visible-3",
2137
Not_PER_Visible_3_free,
2138
Not_PER_Visible_3_print,
2139
Not_PER_Visible_3_constraint,
2140
Not_PER_Visible_3_decode_ber,
2141
Not_PER_Visible_3_encode_der,
2142
Not_PER_Visible_3_decode_xer,
2143
Not_PER_Visible_3_encode_xer,
2144
0, /* Use generic outmost tag fetcher */
2145
asn_DEF_Not_PER_Visible_3_1_tags,
2146
sizeof(asn_DEF_Not_PER_Visible_3_1_tags)
2147
/sizeof(asn_DEF_Not_PER_Visible_3_1_tags[0]), /* 1 */
2148
asn_DEF_Not_PER_Visible_3_1_tags, /* Same as above */
2149
sizeof(asn_DEF_Not_PER_Visible_3_1_tags)
2150
/sizeof(asn_DEF_Not_PER_Visible_3_1_tags[0]), /* 1 */
2151
0, 0, /* No members */
2152
0 /* No specifics */
2156
/*** <<< INCLUDES [SIZE-but-not-FROM] >>> ***/
2158
#include <PER-Visible.h>
2160
/*** <<< TYPE-DECLS [SIZE-but-not-FROM] >>> ***/
2162
typedef PER_Visible_t SIZE_but_not_FROM_t;
2164
/*** <<< FUNC-DECLS [SIZE-but-not-FROM] >>> ***/
2166
extern asn_TYPE_descriptor_t asn_DEF_SIZE_but_not_FROM;
2167
asn_struct_free_f SIZE_but_not_FROM_free;
2168
asn_struct_print_f SIZE_but_not_FROM_print;
2169
asn_constr_check_f SIZE_but_not_FROM_constraint;
2170
ber_type_decoder_f SIZE_but_not_FROM_decode_ber;
2171
der_type_encoder_f SIZE_but_not_FROM_encode_der;
2172
xer_type_decoder_f SIZE_but_not_FROM_decode_xer;
2173
xer_type_encoder_f SIZE_but_not_FROM_encode_xer;
2175
/*** <<< CTABLES [SIZE-but-not-FROM] >>> ***/
2177
static int check_permitted_alphabet_1(const void *sptr) {
2178
/* The underlying type is IA5String */
2179
const IA5String_t *st = (const IA5String_t *)sptr;
2180
const uint8_t *ch = st->buf;
2181
const uint8_t *end = ch + st->size;
2183
for(; ch < end; ch++) {
2185
if(!(cv >= 65 && cv <= 68)) return -1;
2191
/*** <<< CODE [SIZE-but-not-FROM] >>> ***/
2194
SIZE_but_not_FROM_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
2195
asn_app_consume_bytes_f *app_errlog, void *app_key) {
2196
const PER_Visible_t *st = (const PER_Visible_t *)sptr;
2200
_ASN_ERRLOG(app_errlog, app_key,
2201
"%s: value not given (%s:%d)",
2202
td->name, __FILE__, __LINE__);
2208
if((size >= 1 && size <= 4)
2209
&& !check_permitted_alphabet_1(st)) {
2210
/* Constraint check succeeded */
2213
_ASN_ERRLOG(app_errlog, app_key,
2214
"%s: constraint failed (%s:%d)",
2215
td->name, __FILE__, __LINE__);
2221
* This type is implemented using PER_Visible,
2222
* so here we adjust the DEF accordingly.
2225
SIZE_but_not_FROM_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
2226
td->free_struct = asn_DEF_PER_Visible.free_struct;
2227
td->print_struct = asn_DEF_PER_Visible.print_struct;
2228
td->ber_decoder = asn_DEF_PER_Visible.ber_decoder;
2229
td->der_encoder = asn_DEF_PER_Visible.der_encoder;
2230
td->xer_decoder = asn_DEF_PER_Visible.xer_decoder;
2231
td->xer_encoder = asn_DEF_PER_Visible.xer_encoder;
2232
td->elements = asn_DEF_PER_Visible.elements;
2233
td->elements_count = asn_DEF_PER_Visible.elements_count;
2234
td->specifics = asn_DEF_PER_Visible.specifics;
2238
SIZE_but_not_FROM_free(asn_TYPE_descriptor_t *td,
2239
void *struct_ptr, int contents_only) {
2240
SIZE_but_not_FROM_1_inherit_TYPE_descriptor(td);
2241
td->free_struct(td, struct_ptr, contents_only);
2245
SIZE_but_not_FROM_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
2246
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
2247
SIZE_but_not_FROM_1_inherit_TYPE_descriptor(td);
2248
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
2252
SIZE_but_not_FROM_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
2253
void **structure, const void *bufptr, size_t size, int tag_mode) {
2254
SIZE_but_not_FROM_1_inherit_TYPE_descriptor(td);
2255
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
2259
SIZE_but_not_FROM_encode_der(asn_TYPE_descriptor_t *td,
2260
void *structure, int tag_mode, ber_tlv_tag_t tag,
2261
asn_app_consume_bytes_f *cb, void *app_key) {
2262
SIZE_but_not_FROM_1_inherit_TYPE_descriptor(td);
2263
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
2267
SIZE_but_not_FROM_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
2268
void **structure, const char *opt_mname, const void *bufptr, size_t size) {
2269
SIZE_but_not_FROM_1_inherit_TYPE_descriptor(td);
2270
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
2274
SIZE_but_not_FROM_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
2275
int ilevel, enum xer_encoder_flags_e flags,
2276
asn_app_consume_bytes_f *cb, void *app_key) {
2277
SIZE_but_not_FROM_1_inherit_TYPE_descriptor(td);
2278
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
2282
/*** <<< STAT-DEFS [SIZE-but-not-FROM] >>> ***/
2284
static ber_tlv_tag_t asn_DEF_SIZE_but_not_FROM_1_tags[] = {
2285
(ASN_TAG_CLASS_UNIVERSAL | (22 << 2))
2287
asn_TYPE_descriptor_t asn_DEF_SIZE_but_not_FROM = {
2288
"SIZE-but-not-FROM",
2289
"SIZE-but-not-FROM",
2290
SIZE_but_not_FROM_free,
2291
SIZE_but_not_FROM_print,
2292
SIZE_but_not_FROM_constraint,
2293
SIZE_but_not_FROM_decode_ber,
2294
SIZE_but_not_FROM_encode_der,
2295
SIZE_but_not_FROM_decode_xer,
2296
SIZE_but_not_FROM_encode_xer,
2297
0, /* Use generic outmost tag fetcher */
2298
asn_DEF_SIZE_but_not_FROM_1_tags,
2299
sizeof(asn_DEF_SIZE_but_not_FROM_1_tags)
2300
/sizeof(asn_DEF_SIZE_but_not_FROM_1_tags[0]), /* 1 */
2301
asn_DEF_SIZE_but_not_FROM_1_tags, /* Same as above */
2302
sizeof(asn_DEF_SIZE_but_not_FROM_1_tags)
2303
/sizeof(asn_DEF_SIZE_but_not_FROM_1_tags[0]), /* 1 */
2304
0, 0, /* No members */
2305
0 /* No specifics */
2309
/*** <<< INCLUDES [SIZE-and-FROM] >>> ***/
2311
#include <PER-Visible.h>
2313
/*** <<< TYPE-DECLS [SIZE-and-FROM] >>> ***/
2315
typedef PER_Visible_t SIZE_and_FROM_t;
2317
/*** <<< FUNC-DECLS [SIZE-and-FROM] >>> ***/
2319
extern asn_TYPE_descriptor_t asn_DEF_SIZE_and_FROM;
2320
asn_struct_free_f SIZE_and_FROM_free;
2321
asn_struct_print_f SIZE_and_FROM_print;
2322
asn_constr_check_f SIZE_and_FROM_constraint;
2323
ber_type_decoder_f SIZE_and_FROM_decode_ber;
2324
der_type_encoder_f SIZE_and_FROM_encode_der;
2325
xer_type_decoder_f SIZE_and_FROM_decode_xer;
2326
xer_type_encoder_f SIZE_and_FROM_encode_xer;
2328
/*** <<< CTABLES [SIZE-and-FROM] >>> ***/
2330
static int check_permitted_alphabet_1(const void *sptr) {
2331
/* The underlying type is IA5String */
2332
const IA5String_t *st = (const IA5String_t *)sptr;
2333
const uint8_t *ch = st->buf;
2334
const uint8_t *end = ch + st->size;
2336
for(; ch < end; ch++) {
2338
if(!(cv >= 65 && cv <= 68)) return -1;
2344
/*** <<< CODE [SIZE-and-FROM] >>> ***/
2347
SIZE_and_FROM_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
2348
asn_app_consume_bytes_f *app_errlog, void *app_key) {
2349
const PER_Visible_t *st = (const PER_Visible_t *)sptr;
2353
_ASN_ERRLOG(app_errlog, app_key,
2354
"%s: value not given (%s:%d)",
2355
td->name, __FILE__, __LINE__);
2361
if((size >= 1 && size <= 4)
2362
&& !check_permitted_alphabet_1(st)) {
2363
/* Constraint check succeeded */
2366
_ASN_ERRLOG(app_errlog, app_key,
2367
"%s: constraint failed (%s:%d)",
2368
td->name, __FILE__, __LINE__);
2374
* This type is implemented using PER_Visible,
2375
* so here we adjust the DEF accordingly.
2378
SIZE_and_FROM_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
2379
td->free_struct = asn_DEF_PER_Visible.free_struct;
2380
td->print_struct = asn_DEF_PER_Visible.print_struct;
2381
td->ber_decoder = asn_DEF_PER_Visible.ber_decoder;
2382
td->der_encoder = asn_DEF_PER_Visible.der_encoder;
2383
td->xer_decoder = asn_DEF_PER_Visible.xer_decoder;
2384
td->xer_encoder = asn_DEF_PER_Visible.xer_encoder;
2385
td->elements = asn_DEF_PER_Visible.elements;
2386
td->elements_count = asn_DEF_PER_Visible.elements_count;
2387
td->specifics = asn_DEF_PER_Visible.specifics;
2391
SIZE_and_FROM_free(asn_TYPE_descriptor_t *td,
2392
void *struct_ptr, int contents_only) {
2393
SIZE_and_FROM_1_inherit_TYPE_descriptor(td);
2394
td->free_struct(td, struct_ptr, contents_only);
2398
SIZE_and_FROM_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
2399
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
2400
SIZE_and_FROM_1_inherit_TYPE_descriptor(td);
2401
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
2405
SIZE_and_FROM_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
2406
void **structure, const void *bufptr, size_t size, int tag_mode) {
2407
SIZE_and_FROM_1_inherit_TYPE_descriptor(td);
2408
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
2412
SIZE_and_FROM_encode_der(asn_TYPE_descriptor_t *td,
2413
void *structure, int tag_mode, ber_tlv_tag_t tag,
2414
asn_app_consume_bytes_f *cb, void *app_key) {
2415
SIZE_and_FROM_1_inherit_TYPE_descriptor(td);
2416
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
2420
SIZE_and_FROM_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
2421
void **structure, const char *opt_mname, const void *bufptr, size_t size) {
2422
SIZE_and_FROM_1_inherit_TYPE_descriptor(td);
2423
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
2427
SIZE_and_FROM_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
2428
int ilevel, enum xer_encoder_flags_e flags,
2429
asn_app_consume_bytes_f *cb, void *app_key) {
2430
SIZE_and_FROM_1_inherit_TYPE_descriptor(td);
2431
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
2435
/*** <<< STAT-DEFS [SIZE-and-FROM] >>> ***/
2437
static ber_tlv_tag_t asn_DEF_SIZE_and_FROM_1_tags[] = {
2438
(ASN_TAG_CLASS_UNIVERSAL | (22 << 2))
2440
asn_TYPE_descriptor_t asn_DEF_SIZE_and_FROM = {
2444
SIZE_and_FROM_print,
2445
SIZE_and_FROM_constraint,
2446
SIZE_and_FROM_decode_ber,
2447
SIZE_and_FROM_encode_der,
2448
SIZE_and_FROM_decode_xer,
2449
SIZE_and_FROM_encode_xer,
2450
0, /* Use generic outmost tag fetcher */
2451
asn_DEF_SIZE_and_FROM_1_tags,
2452
sizeof(asn_DEF_SIZE_and_FROM_1_tags)
2453
/sizeof(asn_DEF_SIZE_and_FROM_1_tags[0]), /* 1 */
2454
asn_DEF_SIZE_and_FROM_1_tags, /* Same as above */
2455
sizeof(asn_DEF_SIZE_and_FROM_1_tags)
2456
/sizeof(asn_DEF_SIZE_and_FROM_1_tags[0]), /* 1 */
2457
0, 0, /* No members */
2458
0 /* No specifics */
2462
/*** <<< INCLUDES [Neither-SIZE-nor-FROM] >>> ***/
2464
#include <PER-Visible.h>
2466
/*** <<< TYPE-DECLS [Neither-SIZE-nor-FROM] >>> ***/
2468
typedef PER_Visible_t Neither_SIZE_nor_FROM_t;
2470
/*** <<< FUNC-DECLS [Neither-SIZE-nor-FROM] >>> ***/
2472
extern asn_TYPE_descriptor_t asn_DEF_Neither_SIZE_nor_FROM;
2473
asn_struct_free_f Neither_SIZE_nor_FROM_free;
2474
asn_struct_print_f Neither_SIZE_nor_FROM_print;
2475
asn_constr_check_f Neither_SIZE_nor_FROM_constraint;
2476
ber_type_decoder_f Neither_SIZE_nor_FROM_decode_ber;
2477
der_type_encoder_f Neither_SIZE_nor_FROM_encode_der;
2478
xer_type_decoder_f Neither_SIZE_nor_FROM_decode_xer;
2479
xer_type_encoder_f Neither_SIZE_nor_FROM_encode_xer;
2481
/*** <<< CTABLES [Neither-SIZE-nor-FROM] >>> ***/
2483
static int check_permitted_alphabet_1(const void *sptr) {
2484
/* The underlying type is IA5String */
2485
const IA5String_t *st = (const IA5String_t *)sptr;
2486
const uint8_t *ch = st->buf;
2487
const uint8_t *end = ch + st->size;
2489
for(; ch < end; ch++) {
2491
if(!(cv >= 65 && cv <= 70)) return -1;
2497
/*** <<< CODE [Neither-SIZE-nor-FROM] >>> ***/
2500
Neither_SIZE_nor_FROM_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
2501
asn_app_consume_bytes_f *app_errlog, void *app_key) {
2502
const PER_Visible_t *st = (const PER_Visible_t *)sptr;
2505
_ASN_ERRLOG(app_errlog, app_key,
2506
"%s: value not given (%s:%d)",
2507
td->name, __FILE__, __LINE__);
2512
if(!check_permitted_alphabet_1(st)) {
2513
/* Constraint check succeeded */
2516
_ASN_ERRLOG(app_errlog, app_key,
2517
"%s: constraint failed (%s:%d)",
2518
td->name, __FILE__, __LINE__);
2524
* This type is implemented using PER_Visible,
2525
* so here we adjust the DEF accordingly.
2528
Neither_SIZE_nor_FROM_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
2529
td->free_struct = asn_DEF_PER_Visible.free_struct;
2530
td->print_struct = asn_DEF_PER_Visible.print_struct;
2531
td->ber_decoder = asn_DEF_PER_Visible.ber_decoder;
2532
td->der_encoder = asn_DEF_PER_Visible.der_encoder;
2533
td->xer_decoder = asn_DEF_PER_Visible.xer_decoder;
2534
td->xer_encoder = asn_DEF_PER_Visible.xer_encoder;
2535
td->elements = asn_DEF_PER_Visible.elements;
2536
td->elements_count = asn_DEF_PER_Visible.elements_count;
2537
td->specifics = asn_DEF_PER_Visible.specifics;
2541
Neither_SIZE_nor_FROM_free(asn_TYPE_descriptor_t *td,
2542
void *struct_ptr, int contents_only) {
2543
Neither_SIZE_nor_FROM_1_inherit_TYPE_descriptor(td);
2544
td->free_struct(td, struct_ptr, contents_only);
2548
Neither_SIZE_nor_FROM_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
2549
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
2550
Neither_SIZE_nor_FROM_1_inherit_TYPE_descriptor(td);
2551
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
2555
Neither_SIZE_nor_FROM_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
2556
void **structure, const void *bufptr, size_t size, int tag_mode) {
2557
Neither_SIZE_nor_FROM_1_inherit_TYPE_descriptor(td);
2558
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
2562
Neither_SIZE_nor_FROM_encode_der(asn_TYPE_descriptor_t *td,
2563
void *structure, int tag_mode, ber_tlv_tag_t tag,
2564
asn_app_consume_bytes_f *cb, void *app_key) {
2565
Neither_SIZE_nor_FROM_1_inherit_TYPE_descriptor(td);
2566
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
2570
Neither_SIZE_nor_FROM_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
2571
void **structure, const char *opt_mname, const void *bufptr, size_t size) {
2572
Neither_SIZE_nor_FROM_1_inherit_TYPE_descriptor(td);
2573
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
2577
Neither_SIZE_nor_FROM_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
2578
int ilevel, enum xer_encoder_flags_e flags,
2579
asn_app_consume_bytes_f *cb, void *app_key) {
2580
Neither_SIZE_nor_FROM_1_inherit_TYPE_descriptor(td);
2581
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
2585
/*** <<< STAT-DEFS [Neither-SIZE-nor-FROM] >>> ***/
2587
static ber_tlv_tag_t asn_DEF_Neither_SIZE_nor_FROM_1_tags[] = {
2588
(ASN_TAG_CLASS_UNIVERSAL | (22 << 2))
2590
asn_TYPE_descriptor_t asn_DEF_Neither_SIZE_nor_FROM = {
2591
"Neither-SIZE-nor-FROM",
2592
"Neither-SIZE-nor-FROM",
2593
Neither_SIZE_nor_FROM_free,
2594
Neither_SIZE_nor_FROM_print,
2595
Neither_SIZE_nor_FROM_constraint,
2596
Neither_SIZE_nor_FROM_decode_ber,
2597
Neither_SIZE_nor_FROM_encode_der,
2598
Neither_SIZE_nor_FROM_decode_xer,
2599
Neither_SIZE_nor_FROM_encode_xer,
2600
0, /* Use generic outmost tag fetcher */
2601
asn_DEF_Neither_SIZE_nor_FROM_1_tags,
2602
sizeof(asn_DEF_Neither_SIZE_nor_FROM_1_tags)
2603
/sizeof(asn_DEF_Neither_SIZE_nor_FROM_1_tags[0]), /* 1 */
2604
asn_DEF_Neither_SIZE_nor_FROM_1_tags, /* Same as above */
2605
sizeof(asn_DEF_Neither_SIZE_nor_FROM_1_tags)
2606
/sizeof(asn_DEF_Neither_SIZE_nor_FROM_1_tags[0]), /* 1 */
2607
0, 0, /* No members */
2608
0 /* No specifics */
2612
/*** <<< INCLUDES [Utf8-4] >>> ***/
2614
#include <UTF8String.h>
2616
/*** <<< TYPE-DECLS [Utf8-4] >>> ***/
2618
typedef UTF8String_t Utf8_4_t;
2620
/*** <<< FUNC-DECLS [Utf8-4] >>> ***/
2622
extern asn_TYPE_descriptor_t asn_DEF_Utf8_4;
2623
asn_struct_free_f Utf8_4_free;
2624
asn_struct_print_f Utf8_4_print;
2625
asn_constr_check_f Utf8_4_constraint;
2626
ber_type_decoder_f Utf8_4_decode_ber;
2627
der_type_encoder_f Utf8_4_encode_der;
2628
xer_type_decoder_f Utf8_4_decode_xer;
2629
xer_type_encoder_f Utf8_4_encode_xer;
2631
/*** <<< CTABLES [Utf8-4] >>> ***/
2633
static int check_permitted_alphabet_1(const void *sptr) {
2634
if(UTF8String_length((const UTF8String_t *)sptr) < 0)
2635
return -1; /* Alphabet (sic!) test failed. */
2641
/*** <<< CODE [Utf8-4] >>> ***/
2644
Utf8_4_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
2645
asn_app_consume_bytes_f *app_errlog, void *app_key) {
2646
const UTF8String_t *st = (const UTF8String_t *)sptr;
2649
_ASN_ERRLOG(app_errlog, app_key,
2650
"%s: value not given (%s:%d)",
2651
td->name, __FILE__, __LINE__);
2656
if(!check_permitted_alphabet_1(st)) {
2657
/* Constraint check succeeded */
2660
_ASN_ERRLOG(app_errlog, app_key,
2661
"%s: constraint failed (%s:%d)",
2662
td->name, __FILE__, __LINE__);
2668
* This type is implemented using UTF8String,
2669
* so here we adjust the DEF accordingly.
2672
Utf8_4_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
2673
td->free_struct = asn_DEF_UTF8String.free_struct;
2674
td->print_struct = asn_DEF_UTF8String.print_struct;
2675
td->ber_decoder = asn_DEF_UTF8String.ber_decoder;
2676
td->der_encoder = asn_DEF_UTF8String.der_encoder;
2677
td->xer_decoder = asn_DEF_UTF8String.xer_decoder;
2678
td->xer_encoder = asn_DEF_UTF8String.xer_encoder;
2679
td->elements = asn_DEF_UTF8String.elements;
2680
td->elements_count = asn_DEF_UTF8String.elements_count;
2681
td->specifics = asn_DEF_UTF8String.specifics;
2685
Utf8_4_free(asn_TYPE_descriptor_t *td,
2686
void *struct_ptr, int contents_only) {
2687
Utf8_4_1_inherit_TYPE_descriptor(td);
2688
td->free_struct(td, struct_ptr, contents_only);
2692
Utf8_4_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
2693
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
2694
Utf8_4_1_inherit_TYPE_descriptor(td);
2695
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
2699
Utf8_4_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
2700
void **structure, const void *bufptr, size_t size, int tag_mode) {
2701
Utf8_4_1_inherit_TYPE_descriptor(td);
2702
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
2706
Utf8_4_encode_der(asn_TYPE_descriptor_t *td,
2707
void *structure, int tag_mode, ber_tlv_tag_t tag,
2708
asn_app_consume_bytes_f *cb, void *app_key) {
2709
Utf8_4_1_inherit_TYPE_descriptor(td);
2710
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
2714
Utf8_4_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
2715
void **structure, const char *opt_mname, const void *bufptr, size_t size) {
2716
Utf8_4_1_inherit_TYPE_descriptor(td);
2717
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
2721
Utf8_4_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
2722
int ilevel, enum xer_encoder_flags_e flags,
2723
asn_app_consume_bytes_f *cb, void *app_key) {
2724
Utf8_4_1_inherit_TYPE_descriptor(td);
2725
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
2729
/*** <<< STAT-DEFS [Utf8-4] >>> ***/
2731
static ber_tlv_tag_t asn_DEF_Utf8_4_1_tags[] = {
2732
(ASN_TAG_CLASS_UNIVERSAL | (12 << 2))
2734
asn_TYPE_descriptor_t asn_DEF_Utf8_4 = {
2744
0, /* Use generic outmost tag fetcher */
2745
asn_DEF_Utf8_4_1_tags,
2746
sizeof(asn_DEF_Utf8_4_1_tags)
2747
/sizeof(asn_DEF_Utf8_4_1_tags[0]), /* 1 */
2748
asn_DEF_Utf8_4_1_tags, /* Same as above */
2749
sizeof(asn_DEF_Utf8_4_1_tags)
2750
/sizeof(asn_DEF_Utf8_4_1_tags[0]), /* 1 */
2751
0, 0, /* No members */
2752
0 /* No specifics */
2756
/*** <<< INCLUDES [Utf8-3] >>> ***/
2760
/*** <<< TYPE-DECLS [Utf8-3] >>> ***/
2762
typedef Utf8_2_t Utf8_3_t;
2764
/*** <<< FUNC-DECLS [Utf8-3] >>> ***/
2766
extern asn_TYPE_descriptor_t asn_DEF_Utf8_3;
2767
asn_struct_free_f Utf8_3_free;
2768
asn_struct_print_f Utf8_3_print;
2769
asn_constr_check_f Utf8_3_constraint;
2770
ber_type_decoder_f Utf8_3_decode_ber;
2771
der_type_encoder_f Utf8_3_encode_der;
2772
xer_type_decoder_f Utf8_3_decode_xer;
2773
xer_type_encoder_f Utf8_3_encode_xer;
2775
/*** <<< CTABLES [Utf8-3] >>> ***/
2777
static int permitted_alphabet_table_1[128] = {
2778
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* */
2779
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* */
2780
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* */
2781
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* */
2782
0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, /* ABCDEFGHIJKLMNO */
2783
1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0, /* PQRSTUVWXYZ */
2784
0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, /* abcdefghijklmno */
2785
1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0, /* pqrstuvwxyz */
2788
static int check_permitted_alphabet_1(const void *sptr) {
2789
int *table = permitted_alphabet_table_1;
2790
/* The underlying type is UTF8String */
2791
const UTF8String_t *st = (const UTF8String_t *)sptr;
2792
const uint8_t *ch = st->buf;
2793
const uint8_t *end = ch + st->size;
2795
for(; ch < end; ch++) {
2797
if(cv >= 0x80) return -1;
2798
if(!table[cv]) return -1;
2804
/*** <<< CODE [Utf8-3] >>> ***/
2807
Utf8_3_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
2808
asn_app_consume_bytes_f *app_errlog, void *app_key) {
2809
const Utf8_2_t *st = (const Utf8_2_t *)sptr;
2813
_ASN_ERRLOG(app_errlog, app_key,
2814
"%s: value not given (%s:%d)",
2815
td->name, __FILE__, __LINE__);
2819
size = UTF8String_length(st);
2820
if((ssize_t)size < 0) {
2821
_ASN_ERRLOG(app_errlog, app_key,
2822
"%s: UTF-8: broken encoding (%s:%d)",
2823
td->name, __FILE__, __LINE__);
2827
if((size >= 1 && size <= 2)
2828
&& !check_permitted_alphabet_1(st)) {
2829
/* Constraint check succeeded */
2832
_ASN_ERRLOG(app_errlog, app_key,
2833
"%s: constraint failed (%s:%d)",
2834
td->name, __FILE__, __LINE__);
2840
* This type is implemented using Utf8_2,
2841
* so here we adjust the DEF accordingly.
2844
Utf8_3_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
2845
td->free_struct = asn_DEF_Utf8_2.free_struct;
2846
td->print_struct = asn_DEF_Utf8_2.print_struct;
2847
td->ber_decoder = asn_DEF_Utf8_2.ber_decoder;
2848
td->der_encoder = asn_DEF_Utf8_2.der_encoder;
2849
td->xer_decoder = asn_DEF_Utf8_2.xer_decoder;
2850
td->xer_encoder = asn_DEF_Utf8_2.xer_encoder;
2851
td->elements = asn_DEF_Utf8_2.elements;
2852
td->elements_count = asn_DEF_Utf8_2.elements_count;
2853
td->specifics = asn_DEF_Utf8_2.specifics;
2857
Utf8_3_free(asn_TYPE_descriptor_t *td,
2858
void *struct_ptr, int contents_only) {
2859
Utf8_3_1_inherit_TYPE_descriptor(td);
2860
td->free_struct(td, struct_ptr, contents_only);
2864
Utf8_3_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
2865
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
2866
Utf8_3_1_inherit_TYPE_descriptor(td);
2867
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
2871
Utf8_3_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
2872
void **structure, const void *bufptr, size_t size, int tag_mode) {
2873
Utf8_3_1_inherit_TYPE_descriptor(td);
2874
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
2878
Utf8_3_encode_der(asn_TYPE_descriptor_t *td,
2879
void *structure, int tag_mode, ber_tlv_tag_t tag,
2880
asn_app_consume_bytes_f *cb, void *app_key) {
2881
Utf8_3_1_inherit_TYPE_descriptor(td);
2882
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
2886
Utf8_3_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
2887
void **structure, const char *opt_mname, const void *bufptr, size_t size) {
2888
Utf8_3_1_inherit_TYPE_descriptor(td);
2889
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
2893
Utf8_3_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
2894
int ilevel, enum xer_encoder_flags_e flags,
2895
asn_app_consume_bytes_f *cb, void *app_key) {
2896
Utf8_3_1_inherit_TYPE_descriptor(td);
2897
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
2901
/*** <<< STAT-DEFS [Utf8-3] >>> ***/
2903
static ber_tlv_tag_t asn_DEF_Utf8_3_1_tags[] = {
2904
(ASN_TAG_CLASS_UNIVERSAL | (12 << 2))
2906
asn_TYPE_descriptor_t asn_DEF_Utf8_3 = {
2916
0, /* Use generic outmost tag fetcher */
2917
asn_DEF_Utf8_3_1_tags,
2918
sizeof(asn_DEF_Utf8_3_1_tags)
2919
/sizeof(asn_DEF_Utf8_3_1_tags[0]), /* 1 */
2920
asn_DEF_Utf8_3_1_tags, /* Same as above */
2921
sizeof(asn_DEF_Utf8_3_1_tags)
2922
/sizeof(asn_DEF_Utf8_3_1_tags[0]), /* 1 */
2923
0, 0, /* No members */
2924
0 /* No specifics */
2928
/*** <<< INCLUDES [Utf8-2] >>> ***/
2932
/*** <<< TYPE-DECLS [Utf8-2] >>> ***/
2934
typedef Utf8_1_t Utf8_2_t;
2936
/*** <<< FUNC-DECLS [Utf8-2] >>> ***/
2938
extern asn_TYPE_descriptor_t asn_DEF_Utf8_2;
2939
asn_struct_free_f Utf8_2_free;
2940
asn_struct_print_f Utf8_2_print;
2941
asn_constr_check_f Utf8_2_constraint;
2942
ber_type_decoder_f Utf8_2_decode_ber;
2943
der_type_encoder_f Utf8_2_encode_der;
2944
xer_type_decoder_f Utf8_2_decode_xer;
2945
xer_type_encoder_f Utf8_2_encode_xer;
2947
/*** <<< CODE [Utf8-2] >>> ***/
2950
Utf8_2_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
2951
asn_app_consume_bytes_f *app_errlog, void *app_key) {
2952
const Utf8_1_t *st = (const Utf8_1_t *)sptr;
2956
_ASN_ERRLOG(app_errlog, app_key,
2957
"%s: value not given (%s:%d)",
2958
td->name, __FILE__, __LINE__);
2962
size = UTF8String_length(st);
2963
if((ssize_t)size < 0) {
2964
_ASN_ERRLOG(app_errlog, app_key,
2965
"%s: UTF-8: broken encoding (%s:%d)",
2966
td->name, __FILE__, __LINE__);
2970
if((size >= 1 && size <= 2)) {
2971
/* Constraint check succeeded */
2974
_ASN_ERRLOG(app_errlog, app_key,
2975
"%s: constraint failed (%s:%d)",
2976
td->name, __FILE__, __LINE__);
2982
* This type is implemented using Utf8_1,
2983
* so here we adjust the DEF accordingly.
2986
Utf8_2_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
2987
td->free_struct = asn_DEF_Utf8_1.free_struct;
2988
td->print_struct = asn_DEF_Utf8_1.print_struct;
2989
td->ber_decoder = asn_DEF_Utf8_1.ber_decoder;
2990
td->der_encoder = asn_DEF_Utf8_1.der_encoder;
2991
td->xer_decoder = asn_DEF_Utf8_1.xer_decoder;
2992
td->xer_encoder = asn_DEF_Utf8_1.xer_encoder;
2993
td->elements = asn_DEF_Utf8_1.elements;
2994
td->elements_count = asn_DEF_Utf8_1.elements_count;
2995
td->specifics = asn_DEF_Utf8_1.specifics;
2999
Utf8_2_free(asn_TYPE_descriptor_t *td,
3000
void *struct_ptr, int contents_only) {
3001
Utf8_2_1_inherit_TYPE_descriptor(td);
3002
td->free_struct(td, struct_ptr, contents_only);
3006
Utf8_2_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
3007
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
3008
Utf8_2_1_inherit_TYPE_descriptor(td);
3009
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
3013
Utf8_2_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
3014
void **structure, const void *bufptr, size_t size, int tag_mode) {
3015
Utf8_2_1_inherit_TYPE_descriptor(td);
3016
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
3020
Utf8_2_encode_der(asn_TYPE_descriptor_t *td,
3021
void *structure, int tag_mode, ber_tlv_tag_t tag,
3022
asn_app_consume_bytes_f *cb, void *app_key) {
3023
Utf8_2_1_inherit_TYPE_descriptor(td);
3024
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
3028
Utf8_2_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
3029
void **structure, const char *opt_mname, const void *bufptr, size_t size) {
3030
Utf8_2_1_inherit_TYPE_descriptor(td);
3031
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
3035
Utf8_2_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
3036
int ilevel, enum xer_encoder_flags_e flags,
3037
asn_app_consume_bytes_f *cb, void *app_key) {
3038
Utf8_2_1_inherit_TYPE_descriptor(td);
3039
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
3043
/*** <<< STAT-DEFS [Utf8-2] >>> ***/
3045
static ber_tlv_tag_t asn_DEF_Utf8_2_1_tags[] = {
3046
(ASN_TAG_CLASS_UNIVERSAL | (12 << 2))
3048
asn_TYPE_descriptor_t asn_DEF_Utf8_2 = {
3058
0, /* Use generic outmost tag fetcher */
3059
asn_DEF_Utf8_2_1_tags,
3060
sizeof(asn_DEF_Utf8_2_1_tags)
3061
/sizeof(asn_DEF_Utf8_2_1_tags[0]), /* 1 */
3062
asn_DEF_Utf8_2_1_tags, /* Same as above */
3063
sizeof(asn_DEF_Utf8_2_1_tags)
3064
/sizeof(asn_DEF_Utf8_2_1_tags[0]), /* 1 */
3065
0, 0, /* No members */
3066
0 /* No specifics */
3070
/*** <<< INCLUDES [Utf8-1] >>> ***/
3072
#include <UTF8String.h>
3074
/*** <<< TYPE-DECLS [Utf8-1] >>> ***/
3076
typedef UTF8String_t Utf8_1_t;
3078
/*** <<< FUNC-DECLS [Utf8-1] >>> ***/
3080
extern asn_TYPE_descriptor_t asn_DEF_Utf8_1;
3081
asn_struct_free_f Utf8_1_free;
3082
asn_struct_print_f Utf8_1_print;
3083
asn_constr_check_f Utf8_1_constraint;
3084
ber_type_decoder_f Utf8_1_decode_ber;
3085
der_type_encoder_f Utf8_1_encode_der;
3086
xer_type_decoder_f Utf8_1_decode_xer;
3087
xer_type_encoder_f Utf8_1_encode_xer;
3089
/*** <<< CODE [Utf8-1] >>> ***/
3092
Utf8_1_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
3093
asn_app_consume_bytes_f *app_errlog, void *app_key) {
3094
/* Replace with underlying type checker */
3095
td->check_constraints = asn_DEF_UTF8String.check_constraints;
3096
return td->check_constraints(td, sptr, app_errlog, app_key);
3100
* This type is implemented using UTF8String,
3101
* so here we adjust the DEF accordingly.
3104
Utf8_1_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
3105
td->free_struct = asn_DEF_UTF8String.free_struct;
3106
td->print_struct = asn_DEF_UTF8String.print_struct;
3107
td->ber_decoder = asn_DEF_UTF8String.ber_decoder;
3108
td->der_encoder = asn_DEF_UTF8String.der_encoder;
3109
td->xer_decoder = asn_DEF_UTF8String.xer_decoder;
3110
td->xer_encoder = asn_DEF_UTF8String.xer_encoder;
3111
td->elements = asn_DEF_UTF8String.elements;
3112
td->elements_count = asn_DEF_UTF8String.elements_count;
3113
td->specifics = asn_DEF_UTF8String.specifics;
3117
Utf8_1_free(asn_TYPE_descriptor_t *td,
3118
void *struct_ptr, int contents_only) {
3119
Utf8_1_1_inherit_TYPE_descriptor(td);
3120
td->free_struct(td, struct_ptr, contents_only);
3124
Utf8_1_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
3125
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
3126
Utf8_1_1_inherit_TYPE_descriptor(td);
3127
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
3131
Utf8_1_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
3132
void **structure, const void *bufptr, size_t size, int tag_mode) {
3133
Utf8_1_1_inherit_TYPE_descriptor(td);
3134
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
3138
Utf8_1_encode_der(asn_TYPE_descriptor_t *td,
3139
void *structure, int tag_mode, ber_tlv_tag_t tag,
3140
asn_app_consume_bytes_f *cb, void *app_key) {
3141
Utf8_1_1_inherit_TYPE_descriptor(td);
3142
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
3146
Utf8_1_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
3147
void **structure, const char *opt_mname, const void *bufptr, size_t size) {
3148
Utf8_1_1_inherit_TYPE_descriptor(td);
3149
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
3153
Utf8_1_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
3154
int ilevel, enum xer_encoder_flags_e flags,
3155
asn_app_consume_bytes_f *cb, void *app_key) {
3156
Utf8_1_1_inherit_TYPE_descriptor(td);
3157
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
3161
/*** <<< STAT-DEFS [Utf8-1] >>> ***/
3163
static ber_tlv_tag_t asn_DEF_Utf8_1_1_tags[] = {
3164
(ASN_TAG_CLASS_UNIVERSAL | (12 << 2))
3166
asn_TYPE_descriptor_t asn_DEF_Utf8_1 = {
3176
0, /* Use generic outmost tag fetcher */
3177
asn_DEF_Utf8_1_1_tags,
3178
sizeof(asn_DEF_Utf8_1_1_tags)
3179
/sizeof(asn_DEF_Utf8_1_1_tags[0]), /* 1 */
3180
asn_DEF_Utf8_1_1_tags, /* Same as above */
3181
sizeof(asn_DEF_Utf8_1_1_tags)
3182
/sizeof(asn_DEF_Utf8_1_1_tags[0]), /* 1 */
3183
0, 0, /* No members */
3184
0 /* No specifics */
3188
/*** <<< INCLUDES [VisibleIdentifier] >>> ***/
3190
#include <Identifier.h>
3192
/*** <<< TYPE-DECLS [VisibleIdentifier] >>> ***/
3194
typedef Identifier_t VisibleIdentifier_t;
3196
/*** <<< FUNC-DECLS [VisibleIdentifier] >>> ***/
3198
extern asn_TYPE_descriptor_t asn_DEF_VisibleIdentifier;
3199
asn_struct_free_f VisibleIdentifier_free;
3200
asn_struct_print_f VisibleIdentifier_print;
3201
asn_constr_check_f VisibleIdentifier_constraint;
3202
ber_type_decoder_f VisibleIdentifier_decode_ber;
3203
der_type_encoder_f VisibleIdentifier_encode_der;
3204
xer_type_decoder_f VisibleIdentifier_decode_xer;
3205
xer_type_encoder_f VisibleIdentifier_encode_xer;
3207
/*** <<< CTABLES [VisibleIdentifier] >>> ***/
3209
static int permitted_alphabet_table_1[256] = {
3210
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* */
3211
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* */
3212
0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0, /* $ */
3213
1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0, /* 0123456789 */
3214
0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, /* ABCDEFGHIJKLMNO */
3215
1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1, /* PQRSTUVWXYZ _ */
3216
0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, /* abcdefghijklmno */
3217
1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0, /* pqrstuvwxyz */
3220
static int check_permitted_alphabet_1(const void *sptr) {
3221
int *table = permitted_alphabet_table_1;
3222
/* The underlying type is VisibleString */
3223
const VisibleString_t *st = (const VisibleString_t *)sptr;
3224
const uint8_t *ch = st->buf;
3225
const uint8_t *end = ch + st->size;
3227
for(; ch < end; ch++) {
3229
if(!table[cv]) return -1;
3235
/*** <<< CODE [VisibleIdentifier] >>> ***/
3238
VisibleIdentifier_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
3239
asn_app_consume_bytes_f *app_errlog, void *app_key) {
3240
const Identifier_t *st = (const Identifier_t *)sptr;
3244
_ASN_ERRLOG(app_errlog, app_key,
3245
"%s: value not given (%s:%d)",
3246
td->name, __FILE__, __LINE__);
3252
if((size >= 1 && size <= 32)
3253
&& !check_permitted_alphabet_1(st)) {
3254
/* Constraint check succeeded */
3257
_ASN_ERRLOG(app_errlog, app_key,
3258
"%s: constraint failed (%s:%d)",
3259
td->name, __FILE__, __LINE__);
3265
* This type is implemented using Identifier,
3266
* so here we adjust the DEF accordingly.
3269
VisibleIdentifier_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
3270
td->free_struct = asn_DEF_Identifier.free_struct;
3271
td->print_struct = asn_DEF_Identifier.print_struct;
3272
td->ber_decoder = asn_DEF_Identifier.ber_decoder;
3273
td->der_encoder = asn_DEF_Identifier.der_encoder;
3274
td->xer_decoder = asn_DEF_Identifier.xer_decoder;
3275
td->xer_encoder = asn_DEF_Identifier.xer_encoder;
3276
td->elements = asn_DEF_Identifier.elements;
3277
td->elements_count = asn_DEF_Identifier.elements_count;
3278
td->specifics = asn_DEF_Identifier.specifics;
3282
VisibleIdentifier_free(asn_TYPE_descriptor_t *td,
3283
void *struct_ptr, int contents_only) {
3284
VisibleIdentifier_1_inherit_TYPE_descriptor(td);
3285
td->free_struct(td, struct_ptr, contents_only);
3289
VisibleIdentifier_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
3290
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
3291
VisibleIdentifier_1_inherit_TYPE_descriptor(td);
3292
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
3296
VisibleIdentifier_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
3297
void **structure, const void *bufptr, size_t size, int tag_mode) {
3298
VisibleIdentifier_1_inherit_TYPE_descriptor(td);
3299
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
3303
VisibleIdentifier_encode_der(asn_TYPE_descriptor_t *td,
3304
void *structure, int tag_mode, ber_tlv_tag_t tag,
3305
asn_app_consume_bytes_f *cb, void *app_key) {
3306
VisibleIdentifier_1_inherit_TYPE_descriptor(td);
3307
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
3311
VisibleIdentifier_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
3312
void **structure, const char *opt_mname, const void *bufptr, size_t size) {
3313
VisibleIdentifier_1_inherit_TYPE_descriptor(td);
3314
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
3318
VisibleIdentifier_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
3319
int ilevel, enum xer_encoder_flags_e flags,
3320
asn_app_consume_bytes_f *cb, void *app_key) {
3321
VisibleIdentifier_1_inherit_TYPE_descriptor(td);
3322
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
3326
/*** <<< STAT-DEFS [VisibleIdentifier] >>> ***/
3328
static ber_tlv_tag_t asn_DEF_VisibleIdentifier_1_tags[] = {
3329
(ASN_TAG_CLASS_UNIVERSAL | (26 << 2))
3331
asn_TYPE_descriptor_t asn_DEF_VisibleIdentifier = {
3332
"VisibleIdentifier",
3333
"VisibleIdentifier",
3334
VisibleIdentifier_free,
3335
VisibleIdentifier_print,
3336
VisibleIdentifier_constraint,
3337
VisibleIdentifier_decode_ber,
3338
VisibleIdentifier_encode_der,
3339
VisibleIdentifier_decode_xer,
3340
VisibleIdentifier_encode_xer,
3341
0, /* Use generic outmost tag fetcher */
3342
asn_DEF_VisibleIdentifier_1_tags,
3343
sizeof(asn_DEF_VisibleIdentifier_1_tags)
3344
/sizeof(asn_DEF_VisibleIdentifier_1_tags[0]), /* 1 */
3345
asn_DEF_VisibleIdentifier_1_tags, /* Same as above */
3346
sizeof(asn_DEF_VisibleIdentifier_1_tags)
3347
/sizeof(asn_DEF_VisibleIdentifier_1_tags[0]), /* 1 */
3348
0, 0, /* No members */
3349
0 /* No specifics */
3353
/*** <<< INCLUDES [Identifier] >>> ***/
3355
#include <VisibleString.h>
3357
/*** <<< TYPE-DECLS [Identifier] >>> ***/
3359
typedef VisibleString_t Identifier_t;
3361
/*** <<< FUNC-DECLS [Identifier] >>> ***/
3363
extern asn_TYPE_descriptor_t asn_DEF_Identifier;
3364
asn_struct_free_f Identifier_free;
3365
asn_struct_print_f Identifier_print;
3366
asn_constr_check_f Identifier_constraint;
3367
ber_type_decoder_f Identifier_decode_ber;
3368
der_type_encoder_f Identifier_encode_der;
3369
xer_type_decoder_f Identifier_decode_xer;
3370
xer_type_encoder_f Identifier_encode_xer;
3372
/*** <<< CTABLES [Identifier] >>> ***/
3374
static int permitted_alphabet_table_1[256] = {
3375
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* */
3376
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* */
3377
0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0, /* $ */
3378
1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0, /* 0123456789 */
3379
0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, /* ABCDEFGHIJKLMNO */
3380
1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1, /* PQRSTUVWXYZ _ */
3381
0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, /* abcdefghijklmno */
3382
1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0, /* pqrstuvwxyz */
3385
static int check_permitted_alphabet_1(const void *sptr) {
3386
int *table = permitted_alphabet_table_1;
3387
/* The underlying type is VisibleString */
3388
const VisibleString_t *st = (const VisibleString_t *)sptr;
3389
const uint8_t *ch = st->buf;
3390
const uint8_t *end = ch + st->size;
3392
for(; ch < end; ch++) {
3394
if(!table[cv]) return -1;
3400
/*** <<< CODE [Identifier] >>> ***/
3403
Identifier_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
3404
asn_app_consume_bytes_f *app_errlog, void *app_key) {
3405
const VisibleString_t *st = (const VisibleString_t *)sptr;
3409
_ASN_ERRLOG(app_errlog, app_key,
3410
"%s: value not given (%s:%d)",
3411
td->name, __FILE__, __LINE__);
3417
if((size >= 1 && size <= 32)
3418
&& !check_permitted_alphabet_1(st)) {
3419
/* Constraint check succeeded */
3422
_ASN_ERRLOG(app_errlog, app_key,
3423
"%s: constraint failed (%s:%d)",
3424
td->name, __FILE__, __LINE__);
3430
* This type is implemented using VisibleString,
3431
* so here we adjust the DEF accordingly.
3434
Identifier_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
3435
td->free_struct = asn_DEF_VisibleString.free_struct;
3436
td->print_struct = asn_DEF_VisibleString.print_struct;
3437
td->ber_decoder = asn_DEF_VisibleString.ber_decoder;
3438
td->der_encoder = asn_DEF_VisibleString.der_encoder;
3439
td->xer_decoder = asn_DEF_VisibleString.xer_decoder;
3440
td->xer_encoder = asn_DEF_VisibleString.xer_encoder;
3441
td->elements = asn_DEF_VisibleString.elements;
3442
td->elements_count = asn_DEF_VisibleString.elements_count;
3443
td->specifics = asn_DEF_VisibleString.specifics;
3447
Identifier_free(asn_TYPE_descriptor_t *td,
3448
void *struct_ptr, int contents_only) {
3449
Identifier_1_inherit_TYPE_descriptor(td);
3450
td->free_struct(td, struct_ptr, contents_only);
3454
Identifier_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
3455
int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
3456
Identifier_1_inherit_TYPE_descriptor(td);
3457
return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
3461
Identifier_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
3462
void **structure, const void *bufptr, size_t size, int tag_mode) {
3463
Identifier_1_inherit_TYPE_descriptor(td);
3464
return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
3468
Identifier_encode_der(asn_TYPE_descriptor_t *td,
3469
void *structure, int tag_mode, ber_tlv_tag_t tag,
3470
asn_app_consume_bytes_f *cb, void *app_key) {
3471
Identifier_1_inherit_TYPE_descriptor(td);
3472
return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
3476
Identifier_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
3477
void **structure, const char *opt_mname, const void *bufptr, size_t size) {
3478
Identifier_1_inherit_TYPE_descriptor(td);
3479
return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
3483
Identifier_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
3484
int ilevel, enum xer_encoder_flags_e flags,
3485
asn_app_consume_bytes_f *cb, void *app_key) {
3486
Identifier_1_inherit_TYPE_descriptor(td);
3487
return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
3491
/*** <<< STAT-DEFS [Identifier] >>> ***/
3493
static ber_tlv_tag_t asn_DEF_Identifier_1_tags[] = {
3494
(ASN_TAG_CLASS_UNIVERSAL | (26 << 2))
3496
asn_TYPE_descriptor_t asn_DEF_Identifier = {
3501
Identifier_constraint,
3502
Identifier_decode_ber,
3503
Identifier_encode_der,
3504
Identifier_decode_xer,
3505
Identifier_encode_xer,
3506
0, /* Use generic outmost tag fetcher */
3507
asn_DEF_Identifier_1_tags,
3508
sizeof(asn_DEF_Identifier_1_tags)
3509
/sizeof(asn_DEF_Identifier_1_tags[0]), /* 1 */
3510
asn_DEF_Identifier_1_tags, /* Same as above */
3511
sizeof(asn_DEF_Identifier_1_tags)
3512
/sizeof(asn_DEF_Identifier_1_tags[0]), /* 1 */
3513
0, 0, /* No members */
3514
0 /* No specifics */