blob: e60729e9b654ad9f64faedb859d5bedfb9e14c97 [file] [log] [blame]
Lev Walkin59b176e2005-11-26 11:25:14 +00001
2/*** <<< INCLUDES [Int1] >>> ***/
3
Lev Walkin2a744a72013-03-27 01:56:23 -07004#include <NativeInteger.h>
Lev Walkin59b176e2005-11-26 11:25:14 +00005
6/*** <<< TYPE-DECLS [Int1] >>> ***/
7
Lev Walkin2a744a72013-03-27 01:56:23 -07008typedef long Int1_t;
Lev Walkin59b176e2005-11-26 11:25:14 +00009
10/*** <<< FUNC-DECLS [Int1] >>> ***/
11
12extern asn_TYPE_descriptor_t asn_DEF_Int1;
13asn_struct_free_f Int1_free;
14asn_struct_print_f Int1_print;
15asn_constr_check_f Int1_constraint;
16ber_type_decoder_f Int1_decode_ber;
17der_type_encoder_f Int1_encode_der;
18xer_type_decoder_f Int1_decode_xer;
19xer_type_encoder_f Int1_encode_xer;
20per_type_decoder_f Int1_decode_uper;
Lev Walkin9f5bb3a2006-08-18 01:46:46 +000021per_type_encoder_f Int1_encode_uper;
Lev Walkin59b176e2005-11-26 11:25:14 +000022
23/*** <<< CODE [Int1] >>> ***/
24
Lev Walkin59b176e2005-11-26 11:25:14 +000025/*
Lev Walkin2a744a72013-03-27 01:56:23 -070026 * This type is implemented using NativeInteger,
Lev Walkin59b176e2005-11-26 11:25:14 +000027 * so here we adjust the DEF accordingly.
28 */
Lev Walkin59b176e2005-11-26 11:25:14 +000029
30/*** <<< STAT-DEFS [Int1] >>> ***/
31
Lev Walkina7591b52014-10-12 18:37:35 -070032static const ber_tlv_tag_t asn_DEF_Int1_tags_1[] = {
Lev Walkin59b176e2005-11-26 11:25:14 +000033 (ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
34};
35asn_TYPE_descriptor_t asn_DEF_Int1 = {
36 "Int1",
37 "Int1",
Bi-Ruei, Chiu1f87ac02017-08-20 01:25:45 +080038 &asn_OP_NativeInteger,
Lev Walkin59b176e2005-11-26 11:25:14 +000039 asn_DEF_Int1_tags_1,
40 sizeof(asn_DEF_Int1_tags_1)
41 /sizeof(asn_DEF_Int1_tags_1[0]), /* 1 */
42 asn_DEF_Int1_tags_1, /* Same as above */
43 sizeof(asn_DEF_Int1_tags_1)
44 /sizeof(asn_DEF_Int1_tags_1[0]), /* 1 */
Lev Walkin0bfea562017-09-29 23:16:48 -070045 { 0, 0, NativeInteger_constraint },
Lev Walkin59b176e2005-11-26 11:25:14 +000046 0, 0, /* No members */
47 0 /* No specifics */
48};
49
50
51/*** <<< INCLUDES [Int2] >>> ***/
52
Lev Walkin22b5ed42006-09-13 02:51:20 +000053#include "Int1.h"
Lev Walkin59b176e2005-11-26 11:25:14 +000054
55/*** <<< TYPE-DECLS [Int2] >>> ***/
56
57typedef Int1_t Int2_t;
58
59/*** <<< FUNC-DECLS [Int2] >>> ***/
60
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +080061extern asn_per_constraints_t asn_PER_type_Int2_constr_1;
Lev Walkin59b176e2005-11-26 11:25:14 +000062extern asn_TYPE_descriptor_t asn_DEF_Int2;
63asn_struct_free_f Int2_free;
64asn_struct_print_f Int2_print;
65asn_constr_check_f Int2_constraint;
66ber_type_decoder_f Int2_decode_ber;
67der_type_encoder_f Int2_encode_der;
68xer_type_decoder_f Int2_decode_xer;
69xer_type_encoder_f Int2_encode_xer;
70per_type_decoder_f Int2_decode_uper;
Lev Walkin9f5bb3a2006-08-18 01:46:46 +000071per_type_encoder_f Int2_encode_uper;
Lev Walkin59b176e2005-11-26 11:25:14 +000072
73/*** <<< CODE [Int2] >>> ***/
74
75int
Lev Walkin20696a42017-10-17 21:27:33 -070076Int2_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
Lev Walkin1eded352006-07-13 11:19:01 +000077 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
Lev Walkine0f2a5b2017-08-30 20:02:29 -070078 unsigned long value;
Lev Walkin59b176e2005-11-26 11:25:14 +000079
80 if(!sptr) {
Lev Walkin7c1dc052016-03-14 03:08:15 -070081 ASN__CTFAIL(app_key, td, sptr,
Lev Walkin59b176e2005-11-26 11:25:14 +000082 "%s: value not given (%s:%d)",
83 td->name, __FILE__, __LINE__);
84 return -1;
85 }
86
Lev Walkin2a744a72013-03-27 01:56:23 -070087 value = *(const long *)sptr;
Lev Walkin59b176e2005-11-26 11:25:14 +000088
89 if((value >= 0)) {
90 /* Constraint check succeeded */
91 return 0;
92 } else {
Lev Walkin7c1dc052016-03-14 03:08:15 -070093 ASN__CTFAIL(app_key, td, sptr,
Lev Walkin59b176e2005-11-26 11:25:14 +000094 "%s: constraint failed (%s:%d)",
95 td->name, __FILE__, __LINE__);
96 return -1;
97 }
98}
99
100/*
101 * This type is implemented using Int1,
102 * so here we adjust the DEF accordingly.
103 */
Lev Walkin59b176e2005-11-26 11:25:14 +0000104
Lev Walkin725883b2006-10-09 12:07:58 +0000105/*** <<< CTDEFS [Int2] >>> ***/
106
Lev Walkin0479e042017-09-26 18:39:58 -0700107asn_per_constraints_t asn_PER_type_Int2_constr_1 CC_NOTUSED = {
Lev Walkin725883b2006-10-09 12:07:58 +0000108 { APC_SEMI_CONSTRAINED, -1, -1, 0, 0 } /* (0..MAX) */,
109 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
110 0, 0 /* No PER value map */
111};
112
Lev Walkin59b176e2005-11-26 11:25:14 +0000113/*** <<< STAT-DEFS [Int2] >>> ***/
114
Lev Walkina7591b52014-10-12 18:37:35 -0700115static const ber_tlv_tag_t asn_DEF_Int2_tags_1[] = {
Lev Walkin59b176e2005-11-26 11:25:14 +0000116 (ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
117};
Lev Walkin59b176e2005-11-26 11:25:14 +0000118asn_TYPE_descriptor_t asn_DEF_Int2 = {
119 "Int2",
120 "Int2",
Bi-Ruei, Chiu1f87ac02017-08-20 01:25:45 +0800121 &asn_OP_NativeInteger,
Lev Walkin59b176e2005-11-26 11:25:14 +0000122 asn_DEF_Int2_tags_1,
123 sizeof(asn_DEF_Int2_tags_1)
124 /sizeof(asn_DEF_Int2_tags_1[0]), /* 1 */
125 asn_DEF_Int2_tags_1, /* Same as above */
126 sizeof(asn_DEF_Int2_tags_1)
127 /sizeof(asn_DEF_Int2_tags_1[0]), /* 1 */
Lev Walkin0bfea562017-09-29 23:16:48 -0700128 { 0, &asn_PER_type_Int2_constr_1, Int2_constraint },
Lev Walkin59b176e2005-11-26 11:25:14 +0000129 0, 0, /* No members */
130 0 /* No specifics */
131};
132
133
134/*** <<< INCLUDES [Int3] >>> ***/
135
Lev Walkin22b5ed42006-09-13 02:51:20 +0000136#include "Int2.h"
Lev Walkin59b176e2005-11-26 11:25:14 +0000137
138/*** <<< TYPE-DECLS [Int3] >>> ***/
139
140typedef Int2_t Int3_t;
141
142/*** <<< FUNC-DECLS [Int3] >>> ***/
143
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +0800144extern asn_per_constraints_t asn_PER_type_Int3_constr_1;
Lev Walkin59b176e2005-11-26 11:25:14 +0000145extern asn_TYPE_descriptor_t asn_DEF_Int3;
146asn_struct_free_f Int3_free;
147asn_struct_print_f Int3_print;
148asn_constr_check_f Int3_constraint;
149ber_type_decoder_f Int3_decode_ber;
150der_type_encoder_f Int3_encode_der;
151xer_type_decoder_f Int3_decode_xer;
152xer_type_encoder_f Int3_encode_xer;
153per_type_decoder_f Int3_decode_uper;
Lev Walkin9f5bb3a2006-08-18 01:46:46 +0000154per_type_encoder_f Int3_encode_uper;
Lev Walkin59b176e2005-11-26 11:25:14 +0000155
156/*** <<< CODE [Int3] >>> ***/
157
158int
Lev Walkin20696a42017-10-17 21:27:33 -0700159Int3_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
Lev Walkin1eded352006-07-13 11:19:01 +0000160 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
Lev Walkin59b176e2005-11-26 11:25:14 +0000161 long value;
162
163 if(!sptr) {
Lev Walkin7c1dc052016-03-14 03:08:15 -0700164 ASN__CTFAIL(app_key, td, sptr,
Lev Walkin59b176e2005-11-26 11:25:14 +0000165 "%s: value not given (%s:%d)",
166 td->name, __FILE__, __LINE__);
167 return -1;
168 }
169
Lev Walkin2a744a72013-03-27 01:56:23 -0700170 value = *(const long *)sptr;
Lev Walkin59b176e2005-11-26 11:25:14 +0000171
172 if((value >= 0 && value <= 10)) {
173 /* Constraint check succeeded */
174 return 0;
175 } else {
Lev Walkin7c1dc052016-03-14 03:08:15 -0700176 ASN__CTFAIL(app_key, td, sptr,
Lev Walkin59b176e2005-11-26 11:25:14 +0000177 "%s: constraint failed (%s:%d)",
178 td->name, __FILE__, __LINE__);
179 return -1;
180 }
181}
182
183/*
184 * This type is implemented using Int2,
185 * so here we adjust the DEF accordingly.
186 */
Lev Walkin59b176e2005-11-26 11:25:14 +0000187
Lev Walkin725883b2006-10-09 12:07:58 +0000188/*** <<< CTDEFS [Int3] >>> ***/
189
Lev Walkin0479e042017-09-26 18:39:58 -0700190asn_per_constraints_t asn_PER_type_Int3_constr_1 CC_NOTUSED = {
Lev Walkin725883b2006-10-09 12:07:58 +0000191 { APC_CONSTRAINED, 4, 4, 0, 10 } /* (0..10) */,
192 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
193 0, 0 /* No PER value map */
194};
195
Lev Walkin59b176e2005-11-26 11:25:14 +0000196/*** <<< STAT-DEFS [Int3] >>> ***/
197
Lev Walkina7591b52014-10-12 18:37:35 -0700198static const ber_tlv_tag_t asn_DEF_Int3_tags_1[] = {
Lev Walkin59b176e2005-11-26 11:25:14 +0000199 (ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
200};
Lev Walkin59b176e2005-11-26 11:25:14 +0000201asn_TYPE_descriptor_t asn_DEF_Int3 = {
202 "Int3",
203 "Int3",
Bi-Ruei, Chiu1f87ac02017-08-20 01:25:45 +0800204 &asn_OP_NativeInteger,
Lev Walkin59b176e2005-11-26 11:25:14 +0000205 asn_DEF_Int3_tags_1,
206 sizeof(asn_DEF_Int3_tags_1)
207 /sizeof(asn_DEF_Int3_tags_1[0]), /* 1 */
208 asn_DEF_Int3_tags_1, /* Same as above */
209 sizeof(asn_DEF_Int3_tags_1)
210 /sizeof(asn_DEF_Int3_tags_1[0]), /* 1 */
Lev Walkin0bfea562017-09-29 23:16:48 -0700211 { 0, &asn_PER_type_Int3_constr_1, Int3_constraint },
Lev Walkin59b176e2005-11-26 11:25:14 +0000212 0, 0, /* No members */
213 0 /* No specifics */
214};
215
216
217/*** <<< INCLUDES [Int4] >>> ***/
218
Lev Walkin22b5ed42006-09-13 02:51:20 +0000219#include "Int3.h"
Lev Walkin59b176e2005-11-26 11:25:14 +0000220
221/*** <<< TYPE-DECLS [Int4] >>> ***/
222
223typedef Int3_t Int4_t;
224
225/*** <<< FUNC-DECLS [Int4] >>> ***/
226
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +0800227extern asn_per_constraints_t asn_PER_type_Int4_constr_1;
Lev Walkin59b176e2005-11-26 11:25:14 +0000228extern asn_TYPE_descriptor_t asn_DEF_Int4;
229asn_struct_free_f Int4_free;
230asn_struct_print_f Int4_print;
231asn_constr_check_f Int4_constraint;
232ber_type_decoder_f Int4_decode_ber;
233der_type_encoder_f Int4_encode_der;
234xer_type_decoder_f Int4_decode_xer;
235xer_type_encoder_f Int4_encode_xer;
236per_type_decoder_f Int4_decode_uper;
Lev Walkin9f5bb3a2006-08-18 01:46:46 +0000237per_type_encoder_f Int4_encode_uper;
Lev Walkin59b176e2005-11-26 11:25:14 +0000238
239/*** <<< CODE [Int4] >>> ***/
240
241int
Lev Walkin20696a42017-10-17 21:27:33 -0700242Int4_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
Lev Walkin1eded352006-07-13 11:19:01 +0000243 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
Lev Walkin59b176e2005-11-26 11:25:14 +0000244 long value;
245
246 if(!sptr) {
Lev Walkin7c1dc052016-03-14 03:08:15 -0700247 ASN__CTFAIL(app_key, td, sptr,
Lev Walkin59b176e2005-11-26 11:25:14 +0000248 "%s: value not given (%s:%d)",
249 td->name, __FILE__, __LINE__);
250 return -1;
251 }
252
Lev Walkin2a744a72013-03-27 01:56:23 -0700253 value = *(const long *)sptr;
Lev Walkin59b176e2005-11-26 11:25:14 +0000254
255 if((value >= 1 && value <= 10)) {
256 /* Constraint check succeeded */
257 return 0;
258 } else {
Lev Walkin7c1dc052016-03-14 03:08:15 -0700259 ASN__CTFAIL(app_key, td, sptr,
Lev Walkin59b176e2005-11-26 11:25:14 +0000260 "%s: constraint failed (%s:%d)",
261 td->name, __FILE__, __LINE__);
262 return -1;
263 }
264}
265
266/*
267 * This type is implemented using Int3,
268 * so here we adjust the DEF accordingly.
269 */
Lev Walkin59b176e2005-11-26 11:25:14 +0000270
Lev Walkin725883b2006-10-09 12:07:58 +0000271/*** <<< CTDEFS [Int4] >>> ***/
272
Lev Walkin0479e042017-09-26 18:39:58 -0700273asn_per_constraints_t asn_PER_type_Int4_constr_1 CC_NOTUSED = {
Lev Walkin725883b2006-10-09 12:07:58 +0000274 { APC_CONSTRAINED | APC_EXTENSIBLE, 4, 4, 1, 10 } /* (1..10,...) */,
275 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
276 0, 0 /* No PER value map */
277};
278
Lev Walkin59b176e2005-11-26 11:25:14 +0000279/*** <<< STAT-DEFS [Int4] >>> ***/
280
Lev Walkina7591b52014-10-12 18:37:35 -0700281static const ber_tlv_tag_t asn_DEF_Int4_tags_1[] = {
Lev Walkin59b176e2005-11-26 11:25:14 +0000282 (ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
283};
Lev Walkin59b176e2005-11-26 11:25:14 +0000284asn_TYPE_descriptor_t asn_DEF_Int4 = {
285 "Int4",
286 "Int4",
Bi-Ruei, Chiu1f87ac02017-08-20 01:25:45 +0800287 &asn_OP_NativeInteger,
Lev Walkin59b176e2005-11-26 11:25:14 +0000288 asn_DEF_Int4_tags_1,
289 sizeof(asn_DEF_Int4_tags_1)
290 /sizeof(asn_DEF_Int4_tags_1[0]), /* 1 */
291 asn_DEF_Int4_tags_1, /* Same as above */
292 sizeof(asn_DEF_Int4_tags_1)
293 /sizeof(asn_DEF_Int4_tags_1[0]), /* 1 */
Lev Walkin0bfea562017-09-29 23:16:48 -0700294 { 0, &asn_PER_type_Int4_constr_1, Int4_constraint },
Lev Walkin59b176e2005-11-26 11:25:14 +0000295 0, 0, /* No members */
296 0 /* No specifics */
297};
298
299
300/*** <<< INCLUDES [Int5] >>> ***/
301
Lev Walkin22b5ed42006-09-13 02:51:20 +0000302#include "Int4.h"
Lev Walkin59b176e2005-11-26 11:25:14 +0000303
304/*** <<< TYPE-DECLS [Int5] >>> ***/
305
306typedef Int4_t Int5_t;
307
308/*** <<< FUNC-DECLS [Int5] >>> ***/
309
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +0800310extern asn_per_constraints_t asn_PER_type_Int5_constr_1;
Lev Walkin59b176e2005-11-26 11:25:14 +0000311extern asn_TYPE_descriptor_t asn_DEF_Int5;
312asn_struct_free_f Int5_free;
313asn_struct_print_f Int5_print;
314asn_constr_check_f Int5_constraint;
315ber_type_decoder_f Int5_decode_ber;
316der_type_encoder_f Int5_encode_der;
317xer_type_decoder_f Int5_decode_xer;
318xer_type_encoder_f Int5_encode_xer;
319per_type_decoder_f Int5_decode_uper;
Lev Walkin9f5bb3a2006-08-18 01:46:46 +0000320per_type_encoder_f Int5_encode_uper;
Lev Walkin59b176e2005-11-26 11:25:14 +0000321
322/*** <<< CODE [Int5] >>> ***/
323
324int
Lev Walkin20696a42017-10-17 21:27:33 -0700325Int5_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
Lev Walkin1eded352006-07-13 11:19:01 +0000326 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
Lev Walkin59b176e2005-11-26 11:25:14 +0000327 long value;
328
329 if(!sptr) {
Lev Walkin7c1dc052016-03-14 03:08:15 -0700330 ASN__CTFAIL(app_key, td, sptr,
Lev Walkin59b176e2005-11-26 11:25:14 +0000331 "%s: value not given (%s:%d)",
332 td->name, __FILE__, __LINE__);
333 return -1;
334 }
335
Lev Walkin2a744a72013-03-27 01:56:23 -0700336 value = *(const long *)sptr;
Lev Walkin59b176e2005-11-26 11:25:14 +0000337
338 if((value == 5)) {
339 /* Constraint check succeeded */
340 return 0;
341 } else {
Lev Walkin7c1dc052016-03-14 03:08:15 -0700342 ASN__CTFAIL(app_key, td, sptr,
Lev Walkin59b176e2005-11-26 11:25:14 +0000343 "%s: constraint failed (%s:%d)",
344 td->name, __FILE__, __LINE__);
345 return -1;
346 }
347}
348
349/*
350 * This type is implemented using Int4,
351 * so here we adjust the DEF accordingly.
352 */
Lev Walkin59b176e2005-11-26 11:25:14 +0000353
Lev Walkin725883b2006-10-09 12:07:58 +0000354/*** <<< CTDEFS [Int5] >>> ***/
355
Lev Walkin0479e042017-09-26 18:39:58 -0700356asn_per_constraints_t asn_PER_type_Int5_constr_1 CC_NOTUSED = {
Lev Walkin725883b2006-10-09 12:07:58 +0000357 { APC_CONSTRAINED, 0, 0, 5, 5 } /* (5..5) */,
358 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
359 0, 0 /* No PER value map */
360};
361
Lev Walkin59b176e2005-11-26 11:25:14 +0000362/*** <<< STAT-DEFS [Int5] >>> ***/
363
Lev Walkina7591b52014-10-12 18:37:35 -0700364static const ber_tlv_tag_t asn_DEF_Int5_tags_1[] = {
Lev Walkin59b176e2005-11-26 11:25:14 +0000365 (ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
366};
Lev Walkin59b176e2005-11-26 11:25:14 +0000367asn_TYPE_descriptor_t asn_DEF_Int5 = {
368 "Int5",
369 "Int5",
Bi-Ruei, Chiu1f87ac02017-08-20 01:25:45 +0800370 &asn_OP_NativeInteger,
Lev Walkin59b176e2005-11-26 11:25:14 +0000371 asn_DEF_Int5_tags_1,
372 sizeof(asn_DEF_Int5_tags_1)
373 /sizeof(asn_DEF_Int5_tags_1[0]), /* 1 */
374 asn_DEF_Int5_tags_1, /* Same as above */
375 sizeof(asn_DEF_Int5_tags_1)
376 /sizeof(asn_DEF_Int5_tags_1[0]), /* 1 */
Lev Walkin0bfea562017-09-29 23:16:48 -0700377 { 0, &asn_PER_type_Int5_constr_1, Int5_constraint },
Lev Walkin59b176e2005-11-26 11:25:14 +0000378 0, 0, /* No members */
379 0 /* No specifics */
380};
381
382
383/*** <<< INCLUDES [ExtensibleExtensions] >>> ***/
384
Lev Walkin2a744a72013-03-27 01:56:23 -0700385#include <NativeInteger.h>
Lev Walkin59b176e2005-11-26 11:25:14 +0000386
387/*** <<< TYPE-DECLS [ExtensibleExtensions] >>> ***/
388
Lev Walkin2a744a72013-03-27 01:56:23 -0700389typedef long ExtensibleExtensions_t;
Lev Walkin59b176e2005-11-26 11:25:14 +0000390
391/*** <<< FUNC-DECLS [ExtensibleExtensions] >>> ***/
392
393extern asn_TYPE_descriptor_t asn_DEF_ExtensibleExtensions;
394asn_struct_free_f ExtensibleExtensions_free;
395asn_struct_print_f ExtensibleExtensions_print;
396asn_constr_check_f ExtensibleExtensions_constraint;
397ber_type_decoder_f ExtensibleExtensions_decode_ber;
398der_type_encoder_f ExtensibleExtensions_encode_der;
399xer_type_decoder_f ExtensibleExtensions_decode_xer;
400xer_type_encoder_f ExtensibleExtensions_encode_xer;
401per_type_decoder_f ExtensibleExtensions_decode_uper;
Lev Walkin9f5bb3a2006-08-18 01:46:46 +0000402per_type_encoder_f ExtensibleExtensions_encode_uper;
Lev Walkin59b176e2005-11-26 11:25:14 +0000403
404/*** <<< CODE [ExtensibleExtensions] >>> ***/
405
406int
Lev Walkin20696a42017-10-17 21:27:33 -0700407ExtensibleExtensions_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
Lev Walkin1eded352006-07-13 11:19:01 +0000408 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
Lev Walkin59b176e2005-11-26 11:25:14 +0000409 long value;
410
411 if(!sptr) {
Lev Walkin7c1dc052016-03-14 03:08:15 -0700412 ASN__CTFAIL(app_key, td, sptr,
Lev Walkin59b176e2005-11-26 11:25:14 +0000413 "%s: value not given (%s:%d)",
414 td->name, __FILE__, __LINE__);
415 return -1;
416 }
417
Lev Walkin2a744a72013-03-27 01:56:23 -0700418 value = *(const long *)sptr;
Lev Walkin59b176e2005-11-26 11:25:14 +0000419
Lev Walkin0c686452017-09-07 22:59:36 -0700420 if((value >= 1 && value <= 255)) {
Lev Walkin59b176e2005-11-26 11:25:14 +0000421 /* Constraint check succeeded */
422 return 0;
423 } else {
Lev Walkin7c1dc052016-03-14 03:08:15 -0700424 ASN__CTFAIL(app_key, td, sptr,
Lev Walkin59b176e2005-11-26 11:25:14 +0000425 "%s: constraint failed (%s:%d)",
426 td->name, __FILE__, __LINE__);
427 return -1;
428 }
429}
430
431/*
Lev Walkin2a744a72013-03-27 01:56:23 -0700432 * This type is implemented using NativeInteger,
Lev Walkin59b176e2005-11-26 11:25:14 +0000433 * so here we adjust the DEF accordingly.
434 */
Lev Walkin59b176e2005-11-26 11:25:14 +0000435
Lev Walkin725883b2006-10-09 12:07:58 +0000436/*** <<< CTDEFS [ExtensibleExtensions] >>> ***/
437
Lev Walkin0479e042017-09-26 18:39:58 -0700438static asn_per_constraints_t asn_PER_type_ExtensibleExtensions_constr_1 CC_NOTUSED = {
Lev Walkin0c686452017-09-07 22:59:36 -0700439 { APC_CONSTRAINED | APC_EXTENSIBLE, 8, 8, 1, 255 } /* (1..255,...) */,
Lev Walkin725883b2006-10-09 12:07:58 +0000440 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
441 0, 0 /* No PER value map */
442};
443
Lev Walkin59b176e2005-11-26 11:25:14 +0000444/*** <<< STAT-DEFS [ExtensibleExtensions] >>> ***/
445
Lev Walkina7591b52014-10-12 18:37:35 -0700446static const ber_tlv_tag_t asn_DEF_ExtensibleExtensions_tags_1[] = {
Lev Walkin59b176e2005-11-26 11:25:14 +0000447 (ASN_TAG_CLASS_UNIVERSAL | (2 << 2))
448};
Lev Walkin59b176e2005-11-26 11:25:14 +0000449asn_TYPE_descriptor_t asn_DEF_ExtensibleExtensions = {
450 "ExtensibleExtensions",
451 "ExtensibleExtensions",
Bi-Ruei, Chiu1f87ac02017-08-20 01:25:45 +0800452 &asn_OP_NativeInteger,
Lev Walkin59b176e2005-11-26 11:25:14 +0000453 asn_DEF_ExtensibleExtensions_tags_1,
454 sizeof(asn_DEF_ExtensibleExtensions_tags_1)
455 /sizeof(asn_DEF_ExtensibleExtensions_tags_1[0]), /* 1 */
456 asn_DEF_ExtensibleExtensions_tags_1, /* Same as above */
457 sizeof(asn_DEF_ExtensibleExtensions_tags_1)
458 /sizeof(asn_DEF_ExtensibleExtensions_tags_1[0]), /* 1 */
Lev Walkin0bfea562017-09-29 23:16:48 -0700459 { 0, &asn_PER_type_ExtensibleExtensions_constr_1, ExtensibleExtensions_constraint },
Lev Walkin59b176e2005-11-26 11:25:14 +0000460 0, 0, /* No members */
461 0 /* No specifics */
462};
463
464
465/*** <<< INCLUDES [Str1] >>> ***/
466
467#include <IA5String.h>
468
469/*** <<< TYPE-DECLS [Str1] >>> ***/
470
471typedef IA5String_t Str1_t;
472
473/*** <<< FUNC-DECLS [Str1] >>> ***/
474
Lev Walkin22cef6c2017-10-16 20:33:07 -0700475extern asn_per_constraints_t asn_PER_type_Str1_constr_1;
Lev Walkin59b176e2005-11-26 11:25:14 +0000476extern asn_TYPE_descriptor_t asn_DEF_Str1;
477asn_struct_free_f Str1_free;
478asn_struct_print_f Str1_print;
479asn_constr_check_f Str1_constraint;
480ber_type_decoder_f Str1_decode_ber;
481der_type_encoder_f Str1_encode_der;
482xer_type_decoder_f Str1_decode_xer;
483xer_type_encoder_f Str1_encode_xer;
484per_type_decoder_f Str1_decode_uper;
Lev Walkin9f5bb3a2006-08-18 01:46:46 +0000485per_type_encoder_f Str1_encode_uper;
Lev Walkin59b176e2005-11-26 11:25:14 +0000486
487/*** <<< CODE [Str1] >>> ***/
488
Lev Walkin59b176e2005-11-26 11:25:14 +0000489/*
490 * This type is implemented using IA5String,
491 * so here we adjust the DEF accordingly.
492 */
Lev Walkin59b176e2005-11-26 11:25:14 +0000493
Lev Walkin22cef6c2017-10-16 20:33:07 -0700494/*** <<< CTDEFS [Str1] >>> ***/
495
496asn_per_constraints_t asn_PER_type_Str1_constr_1 CC_NOTUSED = {
497 { APC_CONSTRAINED, 7, 7, 0, 127 } /* (0..127) */,
498 { APC_SEMI_CONSTRAINED, -1, -1, 0, 0 } /* (SIZE(0..MAX)) */,
499 0, 0 /* No PER character map necessary */
500};
501
Lev Walkin59b176e2005-11-26 11:25:14 +0000502/*** <<< STAT-DEFS [Str1] >>> ***/
503
Lev Walkina7591b52014-10-12 18:37:35 -0700504static const ber_tlv_tag_t asn_DEF_Str1_tags_1[] = {
Lev Walkin59b176e2005-11-26 11:25:14 +0000505 (ASN_TAG_CLASS_UNIVERSAL | (22 << 2))
506};
507asn_TYPE_descriptor_t asn_DEF_Str1 = {
508 "Str1",
509 "Str1",
Bi-Ruei, Chiu1f87ac02017-08-20 01:25:45 +0800510 &asn_OP_IA5String,
Lev Walkin59b176e2005-11-26 11:25:14 +0000511 asn_DEF_Str1_tags_1,
512 sizeof(asn_DEF_Str1_tags_1)
513 /sizeof(asn_DEF_Str1_tags_1[0]), /* 1 */
514 asn_DEF_Str1_tags_1, /* Same as above */
515 sizeof(asn_DEF_Str1_tags_1)
516 /sizeof(asn_DEF_Str1_tags_1[0]), /* 1 */
Lev Walkin22cef6c2017-10-16 20:33:07 -0700517 { 0, &asn_PER_type_Str1_constr_1, IA5String_constraint },
Lev Walkin59b176e2005-11-26 11:25:14 +0000518 0, 0, /* No members */
519 0 /* No specifics */
520};
521
522
523/*** <<< INCLUDES [Str2] >>> ***/
524
Lev Walkin22b5ed42006-09-13 02:51:20 +0000525#include "Str1.h"
Lev Walkin59b176e2005-11-26 11:25:14 +0000526
527/*** <<< TYPE-DECLS [Str2] >>> ***/
528
529typedef Str1_t Str2_t;
530
531/*** <<< FUNC-DECLS [Str2] >>> ***/
532
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +0800533extern asn_per_constraints_t asn_PER_type_Str2_constr_1;
Lev Walkin59b176e2005-11-26 11:25:14 +0000534extern asn_TYPE_descriptor_t asn_DEF_Str2;
535asn_struct_free_f Str2_free;
536asn_struct_print_f Str2_print;
537asn_constr_check_f Str2_constraint;
538ber_type_decoder_f Str2_decode_ber;
539der_type_encoder_f Str2_encode_der;
540xer_type_decoder_f Str2_decode_xer;
541xer_type_encoder_f Str2_encode_xer;
542per_type_decoder_f Str2_decode_uper;
Lev Walkin9f5bb3a2006-08-18 01:46:46 +0000543per_type_encoder_f Str2_encode_uper;
Lev Walkin59b176e2005-11-26 11:25:14 +0000544
545/*** <<< CTABLES [Str2] >>> ***/
546
547static int check_permitted_alphabet_1(const void *sptr) {
548 /* The underlying type is IA5String */
549 const IA5String_t *st = (const IA5String_t *)sptr;
550 const uint8_t *ch = st->buf;
551 const uint8_t *end = ch + st->size;
552
553 for(; ch < end; ch++) {
554 uint8_t cv = *ch;
555 if(!(cv <= 127)) return -1;
556 }
557 return 0;
558}
559
560
561/*** <<< CODE [Str2] >>> ***/
562
563int
Lev Walkin20696a42017-10-17 21:27:33 -0700564Str2_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
Lev Walkin1eded352006-07-13 11:19:01 +0000565 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
Lev Walkin59b176e2005-11-26 11:25:14 +0000566 const Str1_t *st = (const Str1_t *)sptr;
567 size_t size;
568
569 if(!sptr) {
Lev Walkin7c1dc052016-03-14 03:08:15 -0700570 ASN__CTFAIL(app_key, td, sptr,
Lev Walkin59b176e2005-11-26 11:25:14 +0000571 "%s: value not given (%s:%d)",
572 td->name, __FILE__, __LINE__);
573 return -1;
574 }
575
576 size = st->size;
577
578 if(((size <= 20) || (size >= 25 && size <= 30))
579 && !check_permitted_alphabet_1(st)) {
580 /* Constraint check succeeded */
581 return 0;
582 } else {
Lev Walkin7c1dc052016-03-14 03:08:15 -0700583 ASN__CTFAIL(app_key, td, sptr,
Lev Walkin59b176e2005-11-26 11:25:14 +0000584 "%s: constraint failed (%s:%d)",
585 td->name, __FILE__, __LINE__);
586 return -1;
587 }
588}
589
590/*
591 * This type is implemented using Str1,
592 * so here we adjust the DEF accordingly.
593 */
Lev Walkin59b176e2005-11-26 11:25:14 +0000594
Lev Walkin725883b2006-10-09 12:07:58 +0000595/*** <<< CTDEFS [Str2] >>> ***/
596
Lev Walkin0479e042017-09-26 18:39:58 -0700597asn_per_constraints_t asn_PER_type_Str2_constr_1 CC_NOTUSED = {
Lev Walkin725883b2006-10-09 12:07:58 +0000598 { APC_CONSTRAINED, 7, 7, 0, 127 } /* (0..127) */,
599 { APC_CONSTRAINED, 5, 5, 0, 30 } /* (SIZE(0..30)) */,
600 0, 0 /* No PER character map necessary */
601};
602
Lev Walkin59b176e2005-11-26 11:25:14 +0000603/*** <<< STAT-DEFS [Str2] >>> ***/
604
Lev Walkina7591b52014-10-12 18:37:35 -0700605static const ber_tlv_tag_t asn_DEF_Str2_tags_1[] = {
Lev Walkin59b176e2005-11-26 11:25:14 +0000606 (ASN_TAG_CLASS_UNIVERSAL | (22 << 2))
607};
Lev Walkin59b176e2005-11-26 11:25:14 +0000608asn_TYPE_descriptor_t asn_DEF_Str2 = {
609 "Str2",
610 "Str2",
Bi-Ruei, Chiu1f87ac02017-08-20 01:25:45 +0800611 &asn_OP_IA5String,
Lev Walkin59b176e2005-11-26 11:25:14 +0000612 asn_DEF_Str2_tags_1,
613 sizeof(asn_DEF_Str2_tags_1)
614 /sizeof(asn_DEF_Str2_tags_1[0]), /* 1 */
615 asn_DEF_Str2_tags_1, /* Same as above */
616 sizeof(asn_DEF_Str2_tags_1)
617 /sizeof(asn_DEF_Str2_tags_1[0]), /* 1 */
Lev Walkin0bfea562017-09-29 23:16:48 -0700618 { 0, &asn_PER_type_Str2_constr_1, Str2_constraint },
Lev Walkin59b176e2005-11-26 11:25:14 +0000619 0, 0, /* No members */
620 0 /* No specifics */
621};
622
623
624/*** <<< INCLUDES [Str3] >>> ***/
625
Lev Walkin22b5ed42006-09-13 02:51:20 +0000626#include "Str2.h"
Lev Walkin59b176e2005-11-26 11:25:14 +0000627
628/*** <<< TYPE-DECLS [Str3] >>> ***/
629
630typedef Str2_t Str3_t;
631
632/*** <<< FUNC-DECLS [Str3] >>> ***/
633
634extern asn_TYPE_descriptor_t asn_DEF_Str3;
635asn_struct_free_f Str3_free;
636asn_struct_print_f Str3_print;
637asn_constr_check_f Str3_constraint;
638ber_type_decoder_f Str3_decode_ber;
639der_type_encoder_f Str3_encode_der;
640xer_type_decoder_f Str3_decode_xer;
641xer_type_encoder_f Str3_encode_xer;
642per_type_decoder_f Str3_decode_uper;
Lev Walkin9f5bb3a2006-08-18 01:46:46 +0000643per_type_encoder_f Str3_encode_uper;
Lev Walkin59b176e2005-11-26 11:25:14 +0000644
645/*** <<< CTABLES [Str3] >>> ***/
646
Lev Walkina7591b52014-10-12 18:37:35 -0700647static const int permitted_alphabet_table_1[256] = {
Lev Walkin5b62ca82006-09-21 01:52:07 +0000648 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* */
649 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* */
650 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* */
651 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* */
652 0, 1, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* ABC */
653 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* */
654 0, 0, 0, 0, 4, 5, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* def */
Lev Walkin59b176e2005-11-26 11:25:14 +0000655};
Lev Walkina7591b52014-10-12 18:37:35 -0700656static const int permitted_alphabet_code2value_1[6] = {
Lev Walkin5b62ca82006-09-21 01:52:07 +000065765,66,67,100,101,102,};
658
Lev Walkin59b176e2005-11-26 11:25:14 +0000659
660static int check_permitted_alphabet_1(const void *sptr) {
Lev Walkina7591b52014-10-12 18:37:35 -0700661 const int *table = permitted_alphabet_table_1;
Lev Walkin59b176e2005-11-26 11:25:14 +0000662 /* The underlying type is IA5String */
663 const IA5String_t *st = (const IA5String_t *)sptr;
664 const uint8_t *ch = st->buf;
665 const uint8_t *end = ch + st->size;
666
667 for(; ch < end; ch++) {
668 uint8_t cv = *ch;
669 if(!table[cv]) return -1;
670 }
671 return 0;
672}
673
674
675/*** <<< CODE [Str3] >>> ***/
676
677int
Lev Walkin20696a42017-10-17 21:27:33 -0700678Str3_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
Lev Walkin1eded352006-07-13 11:19:01 +0000679 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
Lev Walkin59b176e2005-11-26 11:25:14 +0000680 const Str2_t *st = (const Str2_t *)sptr;
681 size_t size;
682
683 if(!sptr) {
Lev Walkin7c1dc052016-03-14 03:08:15 -0700684 ASN__CTFAIL(app_key, td, sptr,
Lev Walkin59b176e2005-11-26 11:25:14 +0000685 "%s: value not given (%s:%d)",
686 td->name, __FILE__, __LINE__);
687 return -1;
688 }
689
690 size = st->size;
691
692 if(((size >= 10 && size <= 20) || (size >= 25 && size <= 27))
693 && !check_permitted_alphabet_1(st)) {
694 /* Constraint check succeeded */
695 return 0;
696 } else {
Lev Walkin7c1dc052016-03-14 03:08:15 -0700697 ASN__CTFAIL(app_key, td, sptr,
Lev Walkin59b176e2005-11-26 11:25:14 +0000698 "%s: constraint failed (%s:%d)",
699 td->name, __FILE__, __LINE__);
700 return -1;
701 }
702}
703
Lev Walkin725883b2006-10-09 12:07:58 +0000704static int asn_PER_MAP_Str3_1_v2c(unsigned int value) {
705 if(value >= sizeof(permitted_alphabet_table_1)/sizeof(permitted_alphabet_table_1[0]))
706 return -1;
707 return permitted_alphabet_table_1[value] - 1;
708}
709static int asn_PER_MAP_Str3_1_c2v(unsigned int code) {
710 if(code >= sizeof(permitted_alphabet_code2value_1)/sizeof(permitted_alphabet_code2value_1[0]))
711 return -1;
712 return permitted_alphabet_code2value_1[code];
713}
Lev Walkin59b176e2005-11-26 11:25:14 +0000714/*
715 * This type is implemented using Str2,
716 * so here we adjust the DEF accordingly.
717 */
Lev Walkin59b176e2005-11-26 11:25:14 +0000718
Lev Walkin725883b2006-10-09 12:07:58 +0000719/*** <<< CTDEFS [Str3] >>> ***/
720
Lev Walkin0479e042017-09-26 18:39:58 -0700721static asn_per_constraints_t asn_PER_type_Str3_constr_1 CC_NOTUSED = {
Lev Walkin725883b2006-10-09 12:07:58 +0000722 { APC_CONSTRAINED, 3, 3, 65, 102 } /* (65..102) */,
723 { APC_CONSTRAINED, 5, 5, 10, 27 } /* (SIZE(10..27)) */,
724 asn_PER_MAP_Str3_1_v2c, /* Value to PER code map */
725 asn_PER_MAP_Str3_1_c2v /* PER code to value map */
726};
727
Lev Walkin59b176e2005-11-26 11:25:14 +0000728/*** <<< STAT-DEFS [Str3] >>> ***/
729
Lev Walkina7591b52014-10-12 18:37:35 -0700730static const ber_tlv_tag_t asn_DEF_Str3_tags_1[] = {
Lev Walkin59b176e2005-11-26 11:25:14 +0000731 (ASN_TAG_CLASS_UNIVERSAL | (22 << 2))
732};
Lev Walkin59b176e2005-11-26 11:25:14 +0000733asn_TYPE_descriptor_t asn_DEF_Str3 = {
734 "Str3",
735 "Str3",
Bi-Ruei, Chiu1f87ac02017-08-20 01:25:45 +0800736 &asn_OP_IA5String,
Lev Walkin59b176e2005-11-26 11:25:14 +0000737 asn_DEF_Str3_tags_1,
738 sizeof(asn_DEF_Str3_tags_1)
739 /sizeof(asn_DEF_Str3_tags_1[0]), /* 1 */
740 asn_DEF_Str3_tags_1, /* Same as above */
741 sizeof(asn_DEF_Str3_tags_1)
742 /sizeof(asn_DEF_Str3_tags_1[0]), /* 1 */
Lev Walkin0bfea562017-09-29 23:16:48 -0700743 { 0, &asn_PER_type_Str3_constr_1, Str3_constraint },
Lev Walkin59b176e2005-11-26 11:25:14 +0000744 0, 0, /* No members */
745 0 /* No specifics */
746};
747
748
749/*** <<< INCLUDES [Str4] >>> ***/
750
751#include <IA5String.h>
752
753/*** <<< TYPE-DECLS [Str4] >>> ***/
754
755typedef IA5String_t Str4_t;
756
757/*** <<< FUNC-DECLS [Str4] >>> ***/
758
759extern asn_TYPE_descriptor_t asn_DEF_Str4;
760asn_struct_free_f Str4_free;
761asn_struct_print_f Str4_print;
762asn_constr_check_f Str4_constraint;
763ber_type_decoder_f Str4_decode_ber;
764der_type_encoder_f Str4_encode_der;
765xer_type_decoder_f Str4_decode_xer;
766xer_type_encoder_f Str4_encode_xer;
767per_type_decoder_f Str4_decode_uper;
Lev Walkin9f5bb3a2006-08-18 01:46:46 +0000768per_type_encoder_f Str4_encode_uper;
Lev Walkin59b176e2005-11-26 11:25:14 +0000769
770/*** <<< CTABLES [Str4] >>> ***/
771
772static int check_permitted_alphabet_1(const void *sptr) {
773 /* The underlying type is IA5String */
774 const IA5String_t *st = (const IA5String_t *)sptr;
775 const uint8_t *ch = st->buf;
776 const uint8_t *end = ch + st->size;
777
778 for(; ch < end; ch++) {
779 uint8_t cv = *ch;
780 if(!(cv <= 127)) return -1;
781 }
782 return 0;
783}
784
785
786/*** <<< CODE [Str4] >>> ***/
787
788int
Lev Walkin20696a42017-10-17 21:27:33 -0700789Str4_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
Lev Walkin1eded352006-07-13 11:19:01 +0000790 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
Lev Walkin59b176e2005-11-26 11:25:14 +0000791 const IA5String_t *st = (const IA5String_t *)sptr;
792
793 if(!sptr) {
Lev Walkin7c1dc052016-03-14 03:08:15 -0700794 ASN__CTFAIL(app_key, td, sptr,
Lev Walkin59b176e2005-11-26 11:25:14 +0000795 "%s: value not given (%s:%d)",
796 td->name, __FILE__, __LINE__);
797 return -1;
798 }
799
800
801 if(!check_permitted_alphabet_1(st)) {
802 /* Constraint check succeeded */
803 return 0;
804 } else {
Lev Walkin7c1dc052016-03-14 03:08:15 -0700805 ASN__CTFAIL(app_key, td, sptr,
Lev Walkin59b176e2005-11-26 11:25:14 +0000806 "%s: constraint failed (%s:%d)",
807 td->name, __FILE__, __LINE__);
808 return -1;
809 }
810}
811
812/*
813 * This type is implemented using IA5String,
814 * so here we adjust the DEF accordingly.
815 */
Lev Walkin59b176e2005-11-26 11:25:14 +0000816
Lev Walkin725883b2006-10-09 12:07:58 +0000817/*** <<< CTDEFS [Str4] >>> ***/
818
Lev Walkin0479e042017-09-26 18:39:58 -0700819static asn_per_constraints_t asn_PER_type_Str4_constr_1 CC_NOTUSED = {
Lev Walkin725883b2006-10-09 12:07:58 +0000820 { APC_CONSTRAINED, 7, 7, 0, 127 } /* (0..127) */,
821 { APC_SEMI_CONSTRAINED, -1, -1, 0, 0 } /* (SIZE(0..MAX)) */,
822 0, 0 /* No PER character map necessary */
823};
824
Lev Walkin59b176e2005-11-26 11:25:14 +0000825/*** <<< STAT-DEFS [Str4] >>> ***/
826
Lev Walkina7591b52014-10-12 18:37:35 -0700827static const ber_tlv_tag_t asn_DEF_Str4_tags_1[] = {
Lev Walkin59b176e2005-11-26 11:25:14 +0000828 (ASN_TAG_CLASS_UNIVERSAL | (22 << 2))
829};
Lev Walkin59b176e2005-11-26 11:25:14 +0000830asn_TYPE_descriptor_t asn_DEF_Str4 = {
831 "Str4",
832 "Str4",
Bi-Ruei, Chiu1f87ac02017-08-20 01:25:45 +0800833 &asn_OP_IA5String,
Lev Walkin59b176e2005-11-26 11:25:14 +0000834 asn_DEF_Str4_tags_1,
835 sizeof(asn_DEF_Str4_tags_1)
836 /sizeof(asn_DEF_Str4_tags_1[0]), /* 1 */
837 asn_DEF_Str4_tags_1, /* Same as above */
838 sizeof(asn_DEF_Str4_tags_1)
839 /sizeof(asn_DEF_Str4_tags_1[0]), /* 1 */
Lev Walkin0bfea562017-09-29 23:16:48 -0700840 { 0, &asn_PER_type_Str4_constr_1, Str4_constraint },
Lev Walkin59b176e2005-11-26 11:25:14 +0000841 0, 0, /* No members */
842 0 /* No specifics */
843};
844
845
846/*** <<< INCLUDES [PER-Visible] >>> ***/
847
848#include <IA5String.h>
849
850/*** <<< TYPE-DECLS [PER-Visible] >>> ***/
851
852typedef IA5String_t PER_Visible_t;
853
854/*** <<< FUNC-DECLS [PER-Visible] >>> ***/
855
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +0800856extern asn_per_constraints_t asn_PER_type_PER_Visible_constr_1;
Lev Walkin59b176e2005-11-26 11:25:14 +0000857extern asn_TYPE_descriptor_t asn_DEF_PER_Visible;
858asn_struct_free_f PER_Visible_free;
859asn_struct_print_f PER_Visible_print;
860asn_constr_check_f PER_Visible_constraint;
861ber_type_decoder_f PER_Visible_decode_ber;
862der_type_encoder_f PER_Visible_encode_der;
863xer_type_decoder_f PER_Visible_decode_xer;
864xer_type_encoder_f PER_Visible_encode_xer;
865per_type_decoder_f PER_Visible_decode_uper;
Lev Walkin9f5bb3a2006-08-18 01:46:46 +0000866per_type_encoder_f PER_Visible_encode_uper;
Lev Walkin59b176e2005-11-26 11:25:14 +0000867
868/*** <<< CTABLES [PER-Visible] >>> ***/
869
870static int check_permitted_alphabet_1(const void *sptr) {
871 /* The underlying type is IA5String */
872 const IA5String_t *st = (const IA5String_t *)sptr;
873 const uint8_t *ch = st->buf;
874 const uint8_t *end = ch + st->size;
875
876 for(; ch < end; ch++) {
877 uint8_t cv = *ch;
878 if(!(cv >= 65 && cv <= 70)) return -1;
879 }
880 return 0;
881}
882
883
884/*** <<< CODE [PER-Visible] >>> ***/
885
886int
Lev Walkin20696a42017-10-17 21:27:33 -0700887PER_Visible_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
Lev Walkin1eded352006-07-13 11:19:01 +0000888 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
Lev Walkin59b176e2005-11-26 11:25:14 +0000889 const IA5String_t *st = (const IA5String_t *)sptr;
890
891 if(!sptr) {
Lev Walkin7c1dc052016-03-14 03:08:15 -0700892 ASN__CTFAIL(app_key, td, sptr,
Lev Walkin59b176e2005-11-26 11:25:14 +0000893 "%s: value not given (%s:%d)",
894 td->name, __FILE__, __LINE__);
895 return -1;
896 }
897
898
899 if(!check_permitted_alphabet_1(st)) {
900 /* Constraint check succeeded */
901 return 0;
902 } else {
Lev Walkin7c1dc052016-03-14 03:08:15 -0700903 ASN__CTFAIL(app_key, td, sptr,
Lev Walkin59b176e2005-11-26 11:25:14 +0000904 "%s: constraint failed (%s:%d)",
905 td->name, __FILE__, __LINE__);
906 return -1;
907 }
908}
909
910/*
911 * This type is implemented using IA5String,
912 * so here we adjust the DEF accordingly.
913 */
Lev Walkin59b176e2005-11-26 11:25:14 +0000914
Lev Walkin725883b2006-10-09 12:07:58 +0000915/*** <<< CTDEFS [PER-Visible] >>> ***/
916
Lev Walkin0479e042017-09-26 18:39:58 -0700917asn_per_constraints_t asn_PER_type_PER_Visible_constr_1 CC_NOTUSED = {
Lev Walkin725883b2006-10-09 12:07:58 +0000918 { APC_CONSTRAINED, 3, 3, 65, 70 } /* (65..70) */,
919 { APC_SEMI_CONSTRAINED, -1, -1, 0, 0 } /* (SIZE(0..MAX)) */,
920 0, 0 /* No PER character map necessary */
921};
922
Lev Walkin59b176e2005-11-26 11:25:14 +0000923/*** <<< STAT-DEFS [PER-Visible] >>> ***/
924
Lev Walkina7591b52014-10-12 18:37:35 -0700925static const ber_tlv_tag_t asn_DEF_PER_Visible_tags_1[] = {
Lev Walkin59b176e2005-11-26 11:25:14 +0000926 (ASN_TAG_CLASS_UNIVERSAL | (22 << 2))
927};
Lev Walkin59b176e2005-11-26 11:25:14 +0000928asn_TYPE_descriptor_t asn_DEF_PER_Visible = {
929 "PER-Visible",
930 "PER-Visible",
Bi-Ruei, Chiu1f87ac02017-08-20 01:25:45 +0800931 &asn_OP_IA5String,
Lev Walkin59b176e2005-11-26 11:25:14 +0000932 asn_DEF_PER_Visible_tags_1,
933 sizeof(asn_DEF_PER_Visible_tags_1)
934 /sizeof(asn_DEF_PER_Visible_tags_1[0]), /* 1 */
935 asn_DEF_PER_Visible_tags_1, /* Same as above */
936 sizeof(asn_DEF_PER_Visible_tags_1)
937 /sizeof(asn_DEF_PER_Visible_tags_1[0]), /* 1 */
Lev Walkin0bfea562017-09-29 23:16:48 -0700938 { 0, &asn_PER_type_PER_Visible_constr_1, PER_Visible_constraint },
Lev Walkin59b176e2005-11-26 11:25:14 +0000939 0, 0, /* No members */
940 0 /* No specifics */
941};
942
943
944/*** <<< INCLUDES [PER-Visible-2] >>> ***/
945
Lev Walkin22b5ed42006-09-13 02:51:20 +0000946#include "PER-Visible.h"
Lev Walkin59b176e2005-11-26 11:25:14 +0000947
948/*** <<< TYPE-DECLS [PER-Visible-2] >>> ***/
949
950typedef PER_Visible_t PER_Visible_2_t;
951
952/*** <<< FUNC-DECLS [PER-Visible-2] >>> ***/
953
954extern asn_TYPE_descriptor_t asn_DEF_PER_Visible_2;
955asn_struct_free_f PER_Visible_2_free;
956asn_struct_print_f PER_Visible_2_print;
957asn_constr_check_f PER_Visible_2_constraint;
958ber_type_decoder_f PER_Visible_2_decode_ber;
959der_type_encoder_f PER_Visible_2_encode_der;
960xer_type_decoder_f PER_Visible_2_decode_xer;
961xer_type_encoder_f PER_Visible_2_encode_xer;
962per_type_decoder_f PER_Visible_2_decode_uper;
Lev Walkin9f5bb3a2006-08-18 01:46:46 +0000963per_type_encoder_f PER_Visible_2_encode_uper;
Lev Walkin59b176e2005-11-26 11:25:14 +0000964
965/*** <<< CTABLES [PER-Visible-2] >>> ***/
966
967static int check_permitted_alphabet_1(const void *sptr) {
968 /* The underlying type is IA5String */
969 const IA5String_t *st = (const IA5String_t *)sptr;
970 const uint8_t *ch = st->buf;
971 const uint8_t *end = ch + st->size;
972
973 for(; ch < end; ch++) {
974 uint8_t cv = *ch;
975 if(!(cv >= 69 && cv <= 70)) return -1;
976 }
977 return 0;
978}
979
980
981/*** <<< CODE [PER-Visible-2] >>> ***/
982
983int
Lev Walkin20696a42017-10-17 21:27:33 -0700984PER_Visible_2_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
Lev Walkin1eded352006-07-13 11:19:01 +0000985 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
Lev Walkin59b176e2005-11-26 11:25:14 +0000986 const PER_Visible_t *st = (const PER_Visible_t *)sptr;
987
988 if(!sptr) {
Lev Walkin7c1dc052016-03-14 03:08:15 -0700989 ASN__CTFAIL(app_key, td, sptr,
Lev Walkin59b176e2005-11-26 11:25:14 +0000990 "%s: value not given (%s:%d)",
991 td->name, __FILE__, __LINE__);
992 return -1;
993 }
994
995
996 if(!check_permitted_alphabet_1(st)) {
997 /* Constraint check succeeded */
998 return 0;
999 } else {
Lev Walkin7c1dc052016-03-14 03:08:15 -07001000 ASN__CTFAIL(app_key, td, sptr,
Lev Walkin59b176e2005-11-26 11:25:14 +00001001 "%s: constraint failed (%s:%d)",
1002 td->name, __FILE__, __LINE__);
1003 return -1;
1004 }
1005}
1006
1007/*
1008 * This type is implemented using PER_Visible,
1009 * so here we adjust the DEF accordingly.
1010 */
Lev Walkin59b176e2005-11-26 11:25:14 +00001011
Lev Walkin725883b2006-10-09 12:07:58 +00001012/*** <<< CTDEFS [PER-Visible-2] >>> ***/
1013
Lev Walkin0479e042017-09-26 18:39:58 -07001014static asn_per_constraints_t asn_PER_type_PER_Visible_2_constr_1 CC_NOTUSED = {
Lev Walkin725883b2006-10-09 12:07:58 +00001015 { APC_CONSTRAINED, 1, 1, 69, 70 } /* (69..70) */,
1016 { APC_SEMI_CONSTRAINED, -1, -1, 0, 0 } /* (SIZE(0..MAX)) */,
1017 0, 0 /* No PER character map necessary */
1018};
1019
Lev Walkin59b176e2005-11-26 11:25:14 +00001020/*** <<< STAT-DEFS [PER-Visible-2] >>> ***/
1021
Lev Walkina7591b52014-10-12 18:37:35 -07001022static const ber_tlv_tag_t asn_DEF_PER_Visible_2_tags_1[] = {
Lev Walkin59b176e2005-11-26 11:25:14 +00001023 (ASN_TAG_CLASS_UNIVERSAL | (22 << 2))
1024};
Lev Walkin59b176e2005-11-26 11:25:14 +00001025asn_TYPE_descriptor_t asn_DEF_PER_Visible_2 = {
1026 "PER-Visible-2",
1027 "PER-Visible-2",
Bi-Ruei, Chiu1f87ac02017-08-20 01:25:45 +08001028 &asn_OP_IA5String,
Lev Walkin59b176e2005-11-26 11:25:14 +00001029 asn_DEF_PER_Visible_2_tags_1,
1030 sizeof(asn_DEF_PER_Visible_2_tags_1)
1031 /sizeof(asn_DEF_PER_Visible_2_tags_1[0]), /* 1 */
1032 asn_DEF_PER_Visible_2_tags_1, /* Same as above */
1033 sizeof(asn_DEF_PER_Visible_2_tags_1)
1034 /sizeof(asn_DEF_PER_Visible_2_tags_1[0]), /* 1 */
Lev Walkin0bfea562017-09-29 23:16:48 -07001035 { 0, &asn_PER_type_PER_Visible_2_constr_1, PER_Visible_2_constraint },
Lev Walkin59b176e2005-11-26 11:25:14 +00001036 0, 0, /* No members */
1037 0 /* No specifics */
1038};
1039
1040
1041/*** <<< INCLUDES [Not-PER-Visible-1] >>> ***/
1042
Lev Walkin22b5ed42006-09-13 02:51:20 +00001043#include "PER-Visible.h"
Lev Walkin59b176e2005-11-26 11:25:14 +00001044
1045/*** <<< TYPE-DECLS [Not-PER-Visible-1] >>> ***/
1046
1047typedef PER_Visible_t Not_PER_Visible_1_t;
1048
1049/*** <<< FUNC-DECLS [Not-PER-Visible-1] >>> ***/
1050
1051extern asn_TYPE_descriptor_t asn_DEF_Not_PER_Visible_1;
1052asn_struct_free_f Not_PER_Visible_1_free;
1053asn_struct_print_f Not_PER_Visible_1_print;
1054asn_constr_check_f Not_PER_Visible_1_constraint;
1055ber_type_decoder_f Not_PER_Visible_1_decode_ber;
1056der_type_encoder_f Not_PER_Visible_1_encode_der;
1057xer_type_decoder_f Not_PER_Visible_1_decode_xer;
1058xer_type_encoder_f Not_PER_Visible_1_encode_xer;
1059per_type_decoder_f Not_PER_Visible_1_decode_uper;
Lev Walkin9f5bb3a2006-08-18 01:46:46 +00001060per_type_encoder_f Not_PER_Visible_1_encode_uper;
Lev Walkin59b176e2005-11-26 11:25:14 +00001061
1062/*** <<< CTABLES [Not-PER-Visible-1] >>> ***/
1063
1064static int check_permitted_alphabet_1(const void *sptr) {
1065 /* The underlying type is IA5String */
1066 const IA5String_t *st = (const IA5String_t *)sptr;
1067 const uint8_t *ch = st->buf;
1068 const uint8_t *end = ch + st->size;
1069
1070 for(; ch < end; ch++) {
1071 uint8_t cv = *ch;
1072 if(!(cv >= 65 && cv <= 70)) return -1;
1073 }
1074 return 0;
1075}
1076
1077
1078/*** <<< CODE [Not-PER-Visible-1] >>> ***/
1079
1080int
Lev Walkin20696a42017-10-17 21:27:33 -07001081Not_PER_Visible_1_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
Lev Walkin1eded352006-07-13 11:19:01 +00001082 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
Lev Walkin59b176e2005-11-26 11:25:14 +00001083 const PER_Visible_t *st = (const PER_Visible_t *)sptr;
1084
1085 if(!sptr) {
Lev Walkin7c1dc052016-03-14 03:08:15 -07001086 ASN__CTFAIL(app_key, td, sptr,
Lev Walkin59b176e2005-11-26 11:25:14 +00001087 "%s: value not given (%s:%d)",
1088 td->name, __FILE__, __LINE__);
1089 return -1;
1090 }
1091
1092
1093 if(!check_permitted_alphabet_1(st)) {
1094 /* Constraint check succeeded */
1095 return 0;
1096 } else {
Lev Walkin7c1dc052016-03-14 03:08:15 -07001097 ASN__CTFAIL(app_key, td, sptr,
Lev Walkin59b176e2005-11-26 11:25:14 +00001098 "%s: constraint failed (%s:%d)",
1099 td->name, __FILE__, __LINE__);
1100 return -1;
1101 }
1102}
1103
1104/*
1105 * This type is implemented using PER_Visible,
1106 * so here we adjust the DEF accordingly.
1107 */
Lev Walkin59b176e2005-11-26 11:25:14 +00001108
Lev Walkin725883b2006-10-09 12:07:58 +00001109/*** <<< CTDEFS [Not-PER-Visible-1] >>> ***/
1110
Lev Walkin0479e042017-09-26 18:39:58 -07001111static asn_per_constraints_t asn_PER_type_Not_PER_Visible_1_constr_1 CC_NOTUSED = {
Lev Walkin725883b2006-10-09 12:07:58 +00001112 { APC_CONSTRAINED, 3, 3, 65, 70 } /* (65..70) */,
1113 { APC_SEMI_CONSTRAINED, -1, -1, 0, 0 } /* (SIZE(0..MAX)) */,
1114 0, 0 /* No PER character map necessary */
1115};
1116
Lev Walkin59b176e2005-11-26 11:25:14 +00001117/*** <<< STAT-DEFS [Not-PER-Visible-1] >>> ***/
1118
Lev Walkina7591b52014-10-12 18:37:35 -07001119static const ber_tlv_tag_t asn_DEF_Not_PER_Visible_1_tags_1[] = {
Lev Walkin59b176e2005-11-26 11:25:14 +00001120 (ASN_TAG_CLASS_UNIVERSAL | (22 << 2))
1121};
Lev Walkin59b176e2005-11-26 11:25:14 +00001122asn_TYPE_descriptor_t asn_DEF_Not_PER_Visible_1 = {
1123 "Not-PER-Visible-1",
1124 "Not-PER-Visible-1",
Bi-Ruei, Chiu1f87ac02017-08-20 01:25:45 +08001125 &asn_OP_IA5String,
Lev Walkin59b176e2005-11-26 11:25:14 +00001126 asn_DEF_Not_PER_Visible_1_tags_1,
1127 sizeof(asn_DEF_Not_PER_Visible_1_tags_1)
1128 /sizeof(asn_DEF_Not_PER_Visible_1_tags_1[0]), /* 1 */
1129 asn_DEF_Not_PER_Visible_1_tags_1, /* Same as above */
1130 sizeof(asn_DEF_Not_PER_Visible_1_tags_1)
1131 /sizeof(asn_DEF_Not_PER_Visible_1_tags_1[0]), /* 1 */
Lev Walkin0bfea562017-09-29 23:16:48 -07001132 { 0, &asn_PER_type_Not_PER_Visible_1_constr_1, Not_PER_Visible_1_constraint },
Lev Walkin59b176e2005-11-26 11:25:14 +00001133 0, 0, /* No members */
1134 0 /* No specifics */
1135};
1136
1137
1138/*** <<< INCLUDES [Not-PER-Visible-2] >>> ***/
1139
Lev Walkin22b5ed42006-09-13 02:51:20 +00001140#include "PER-Visible.h"
Lev Walkin59b176e2005-11-26 11:25:14 +00001141
1142/*** <<< TYPE-DECLS [Not-PER-Visible-2] >>> ***/
1143
1144typedef PER_Visible_t Not_PER_Visible_2_t;
1145
1146/*** <<< FUNC-DECLS [Not-PER-Visible-2] >>> ***/
1147
1148extern asn_TYPE_descriptor_t asn_DEF_Not_PER_Visible_2;
1149asn_struct_free_f Not_PER_Visible_2_free;
1150asn_struct_print_f Not_PER_Visible_2_print;
1151asn_constr_check_f Not_PER_Visible_2_constraint;
1152ber_type_decoder_f Not_PER_Visible_2_decode_ber;
1153der_type_encoder_f Not_PER_Visible_2_encode_der;
1154xer_type_decoder_f Not_PER_Visible_2_decode_xer;
1155xer_type_encoder_f Not_PER_Visible_2_encode_xer;
1156per_type_decoder_f Not_PER_Visible_2_decode_uper;
Lev Walkin9f5bb3a2006-08-18 01:46:46 +00001157per_type_encoder_f Not_PER_Visible_2_encode_uper;
Lev Walkin59b176e2005-11-26 11:25:14 +00001158
1159/*** <<< CTABLES [Not-PER-Visible-2] >>> ***/
1160
1161static int check_permitted_alphabet_1(const void *sptr) {
1162 /* The underlying type is IA5String */
1163 const IA5String_t *st = (const IA5String_t *)sptr;
1164 const uint8_t *ch = st->buf;
1165 const uint8_t *end = ch + st->size;
1166
1167 for(; ch < end; ch++) {
1168 uint8_t cv = *ch;
1169 if(!(cv >= 65 && cv <= 66)) return -1;
1170 }
1171 return 0;
1172}
1173
1174
1175/*** <<< CODE [Not-PER-Visible-2] >>> ***/
1176
1177int
Lev Walkin20696a42017-10-17 21:27:33 -07001178Not_PER_Visible_2_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
Lev Walkin1eded352006-07-13 11:19:01 +00001179 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
Lev Walkin59b176e2005-11-26 11:25:14 +00001180 const PER_Visible_t *st = (const PER_Visible_t *)sptr;
1181
1182 if(!sptr) {
Lev Walkin7c1dc052016-03-14 03:08:15 -07001183 ASN__CTFAIL(app_key, td, sptr,
Lev Walkin59b176e2005-11-26 11:25:14 +00001184 "%s: value not given (%s:%d)",
1185 td->name, __FILE__, __LINE__);
1186 return -1;
1187 }
1188
1189
1190 if(!check_permitted_alphabet_1(st)) {
1191 /* Constraint check succeeded */
1192 return 0;
1193 } else {
Lev Walkin7c1dc052016-03-14 03:08:15 -07001194 ASN__CTFAIL(app_key, td, sptr,
Lev Walkin59b176e2005-11-26 11:25:14 +00001195 "%s: constraint failed (%s:%d)",
1196 td->name, __FILE__, __LINE__);
1197 return -1;
1198 }
1199}
1200
1201/*
1202 * This type is implemented using PER_Visible,
1203 * so here we adjust the DEF accordingly.
1204 */
Lev Walkin59b176e2005-11-26 11:25:14 +00001205
Lev Walkin725883b2006-10-09 12:07:58 +00001206/*** <<< CTDEFS [Not-PER-Visible-2] >>> ***/
1207
Lev Walkin0479e042017-09-26 18:39:58 -07001208static asn_per_constraints_t asn_PER_type_Not_PER_Visible_2_constr_1 CC_NOTUSED = {
Lev Walkin725883b2006-10-09 12:07:58 +00001209 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
1210 { APC_SEMI_CONSTRAINED, -1, -1, 0, 0 } /* (SIZE(0..MAX)) */,
1211 0, 0 /* No PER character map necessary */
1212};
1213
Lev Walkin59b176e2005-11-26 11:25:14 +00001214/*** <<< STAT-DEFS [Not-PER-Visible-2] >>> ***/
1215
Lev Walkina7591b52014-10-12 18:37:35 -07001216static const ber_tlv_tag_t asn_DEF_Not_PER_Visible_2_tags_1[] = {
Lev Walkin59b176e2005-11-26 11:25:14 +00001217 (ASN_TAG_CLASS_UNIVERSAL | (22 << 2))
1218};
Lev Walkin59b176e2005-11-26 11:25:14 +00001219asn_TYPE_descriptor_t asn_DEF_Not_PER_Visible_2 = {
1220 "Not-PER-Visible-2",
1221 "Not-PER-Visible-2",
Bi-Ruei, Chiu1f87ac02017-08-20 01:25:45 +08001222 &asn_OP_IA5String,
Lev Walkin59b176e2005-11-26 11:25:14 +00001223 asn_DEF_Not_PER_Visible_2_tags_1,
1224 sizeof(asn_DEF_Not_PER_Visible_2_tags_1)
1225 /sizeof(asn_DEF_Not_PER_Visible_2_tags_1[0]), /* 1 */
1226 asn_DEF_Not_PER_Visible_2_tags_1, /* Same as above */
1227 sizeof(asn_DEF_Not_PER_Visible_2_tags_1)
1228 /sizeof(asn_DEF_Not_PER_Visible_2_tags_1[0]), /* 1 */
Lev Walkin0bfea562017-09-29 23:16:48 -07001229 { 0, &asn_PER_type_Not_PER_Visible_2_constr_1, Not_PER_Visible_2_constraint },
Lev Walkin59b176e2005-11-26 11:25:14 +00001230 0, 0, /* No members */
1231 0 /* No specifics */
1232};
1233
1234
1235/*** <<< INCLUDES [Not-PER-Visible-3] >>> ***/
1236
Lev Walkin22b5ed42006-09-13 02:51:20 +00001237#include "PER-Visible.h"
Lev Walkin59b176e2005-11-26 11:25:14 +00001238
1239/*** <<< TYPE-DECLS [Not-PER-Visible-3] >>> ***/
1240
1241typedef PER_Visible_t Not_PER_Visible_3_t;
1242
1243/*** <<< FUNC-DECLS [Not-PER-Visible-3] >>> ***/
1244
1245extern asn_TYPE_descriptor_t asn_DEF_Not_PER_Visible_3;
1246asn_struct_free_f Not_PER_Visible_3_free;
1247asn_struct_print_f Not_PER_Visible_3_print;
1248asn_constr_check_f Not_PER_Visible_3_constraint;
1249ber_type_decoder_f Not_PER_Visible_3_decode_ber;
1250der_type_encoder_f Not_PER_Visible_3_encode_der;
1251xer_type_decoder_f Not_PER_Visible_3_decode_xer;
1252xer_type_encoder_f Not_PER_Visible_3_encode_xer;
1253per_type_decoder_f Not_PER_Visible_3_decode_uper;
Lev Walkin9f5bb3a2006-08-18 01:46:46 +00001254per_type_encoder_f Not_PER_Visible_3_encode_uper;
Lev Walkin59b176e2005-11-26 11:25:14 +00001255
1256/*** <<< CTABLES [Not-PER-Visible-3] >>> ***/
1257
1258static int check_permitted_alphabet_1(const void *sptr) {
1259 /* The underlying type is IA5String */
1260 const IA5String_t *st = (const IA5String_t *)sptr;
1261 const uint8_t *ch = st->buf;
1262 const uint8_t *end = ch + st->size;
1263
1264 for(; ch < end; ch++) {
1265 uint8_t cv = *ch;
1266 if(!(cv >= 65 && cv <= 66)) return -1;
1267 }
1268 return 0;
1269}
1270
1271
1272/*** <<< CODE [Not-PER-Visible-3] >>> ***/
1273
1274int
Lev Walkin20696a42017-10-17 21:27:33 -07001275Not_PER_Visible_3_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
Lev Walkin1eded352006-07-13 11:19:01 +00001276 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
Lev Walkin59b176e2005-11-26 11:25:14 +00001277 const PER_Visible_t *st = (const PER_Visible_t *)sptr;
1278
1279 if(!sptr) {
Lev Walkin7c1dc052016-03-14 03:08:15 -07001280 ASN__CTFAIL(app_key, td, sptr,
Lev Walkin59b176e2005-11-26 11:25:14 +00001281 "%s: value not given (%s:%d)",
1282 td->name, __FILE__, __LINE__);
1283 return -1;
1284 }
1285
1286
1287 if(!check_permitted_alphabet_1(st)) {
1288 /* Constraint check succeeded */
1289 return 0;
1290 } else {
Lev Walkin7c1dc052016-03-14 03:08:15 -07001291 ASN__CTFAIL(app_key, td, sptr,
Lev Walkin59b176e2005-11-26 11:25:14 +00001292 "%s: constraint failed (%s:%d)",
1293 td->name, __FILE__, __LINE__);
1294 return -1;
1295 }
1296}
1297
1298/*
1299 * This type is implemented using PER_Visible,
1300 * so here we adjust the DEF accordingly.
1301 */
Lev Walkin59b176e2005-11-26 11:25:14 +00001302
Lev Walkin725883b2006-10-09 12:07:58 +00001303/*** <<< CTDEFS [Not-PER-Visible-3] >>> ***/
1304
Lev Walkin0479e042017-09-26 18:39:58 -07001305static asn_per_constraints_t asn_PER_type_Not_PER_Visible_3_constr_1 CC_NOTUSED = {
Lev Walkin725883b2006-10-09 12:07:58 +00001306 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
1307 { APC_SEMI_CONSTRAINED, -1, -1, 0, 0 } /* (SIZE(0..MAX)) */,
1308 0, 0 /* No PER character map necessary */
1309};
1310
Lev Walkin59b176e2005-11-26 11:25:14 +00001311/*** <<< STAT-DEFS [Not-PER-Visible-3] >>> ***/
1312
Lev Walkina7591b52014-10-12 18:37:35 -07001313static const ber_tlv_tag_t asn_DEF_Not_PER_Visible_3_tags_1[] = {
Lev Walkin59b176e2005-11-26 11:25:14 +00001314 (ASN_TAG_CLASS_UNIVERSAL | (22 << 2))
1315};
Lev Walkin59b176e2005-11-26 11:25:14 +00001316asn_TYPE_descriptor_t asn_DEF_Not_PER_Visible_3 = {
1317 "Not-PER-Visible-3",
1318 "Not-PER-Visible-3",
Bi-Ruei, Chiu1f87ac02017-08-20 01:25:45 +08001319 &asn_OP_IA5String,
Lev Walkin59b176e2005-11-26 11:25:14 +00001320 asn_DEF_Not_PER_Visible_3_tags_1,
1321 sizeof(asn_DEF_Not_PER_Visible_3_tags_1)
1322 /sizeof(asn_DEF_Not_PER_Visible_3_tags_1[0]), /* 1 */
1323 asn_DEF_Not_PER_Visible_3_tags_1, /* Same as above */
1324 sizeof(asn_DEF_Not_PER_Visible_3_tags_1)
1325 /sizeof(asn_DEF_Not_PER_Visible_3_tags_1[0]), /* 1 */
Lev Walkin0bfea562017-09-29 23:16:48 -07001326 { 0, &asn_PER_type_Not_PER_Visible_3_constr_1, Not_PER_Visible_3_constraint },
Lev Walkin59b176e2005-11-26 11:25:14 +00001327 0, 0, /* No members */
1328 0 /* No specifics */
1329};
1330
1331
1332/*** <<< INCLUDES [SIZE-but-not-FROM] >>> ***/
1333
Lev Walkin22b5ed42006-09-13 02:51:20 +00001334#include "PER-Visible.h"
Lev Walkin59b176e2005-11-26 11:25:14 +00001335
1336/*** <<< TYPE-DECLS [SIZE-but-not-FROM] >>> ***/
1337
1338typedef PER_Visible_t SIZE_but_not_FROM_t;
1339
1340/*** <<< FUNC-DECLS [SIZE-but-not-FROM] >>> ***/
1341
1342extern asn_TYPE_descriptor_t asn_DEF_SIZE_but_not_FROM;
1343asn_struct_free_f SIZE_but_not_FROM_free;
1344asn_struct_print_f SIZE_but_not_FROM_print;
1345asn_constr_check_f SIZE_but_not_FROM_constraint;
1346ber_type_decoder_f SIZE_but_not_FROM_decode_ber;
1347der_type_encoder_f SIZE_but_not_FROM_encode_der;
1348xer_type_decoder_f SIZE_but_not_FROM_decode_xer;
1349xer_type_encoder_f SIZE_but_not_FROM_encode_xer;
1350per_type_decoder_f SIZE_but_not_FROM_decode_uper;
Lev Walkin9f5bb3a2006-08-18 01:46:46 +00001351per_type_encoder_f SIZE_but_not_FROM_encode_uper;
Lev Walkin59b176e2005-11-26 11:25:14 +00001352
1353/*** <<< CTABLES [SIZE-but-not-FROM] >>> ***/
1354
1355static int check_permitted_alphabet_1(const void *sptr) {
1356 /* The underlying type is IA5String */
1357 const IA5String_t *st = (const IA5String_t *)sptr;
1358 const uint8_t *ch = st->buf;
1359 const uint8_t *end = ch + st->size;
1360
1361 for(; ch < end; ch++) {
1362 uint8_t cv = *ch;
1363 if(!(cv >= 65 && cv <= 68)) return -1;
1364 }
1365 return 0;
1366}
1367
1368
1369/*** <<< CODE [SIZE-but-not-FROM] >>> ***/
1370
1371int
Lev Walkin20696a42017-10-17 21:27:33 -07001372SIZE_but_not_FROM_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
Lev Walkin1eded352006-07-13 11:19:01 +00001373 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
Lev Walkin59b176e2005-11-26 11:25:14 +00001374 const PER_Visible_t *st = (const PER_Visible_t *)sptr;
1375 size_t size;
1376
1377 if(!sptr) {
Lev Walkin7c1dc052016-03-14 03:08:15 -07001378 ASN__CTFAIL(app_key, td, sptr,
Lev Walkin59b176e2005-11-26 11:25:14 +00001379 "%s: value not given (%s:%d)",
1380 td->name, __FILE__, __LINE__);
1381 return -1;
1382 }
1383
1384 size = st->size;
1385
1386 if((size >= 1 && size <= 4)
1387 && !check_permitted_alphabet_1(st)) {
1388 /* Constraint check succeeded */
1389 return 0;
1390 } else {
Lev Walkin7c1dc052016-03-14 03:08:15 -07001391 ASN__CTFAIL(app_key, td, sptr,
Lev Walkin59b176e2005-11-26 11:25:14 +00001392 "%s: constraint failed (%s:%d)",
1393 td->name, __FILE__, __LINE__);
1394 return -1;
1395 }
1396}
1397
1398/*
1399 * This type is implemented using PER_Visible,
1400 * so here we adjust the DEF accordingly.
1401 */
Lev Walkin59b176e2005-11-26 11:25:14 +00001402
Lev Walkin725883b2006-10-09 12:07:58 +00001403/*** <<< CTDEFS [SIZE-but-not-FROM] >>> ***/
1404
Lev Walkin0479e042017-09-26 18:39:58 -07001405static asn_per_constraints_t asn_PER_type_SIZE_but_not_FROM_constr_1 CC_NOTUSED = {
Lev Walkin725883b2006-10-09 12:07:58 +00001406 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
1407 { APC_CONSTRAINED, 2, 2, 1, 4 } /* (SIZE(1..4)) */,
1408 0, 0 /* No PER character map necessary */
1409};
1410
Lev Walkin59b176e2005-11-26 11:25:14 +00001411/*** <<< STAT-DEFS [SIZE-but-not-FROM] >>> ***/
1412
Lev Walkina7591b52014-10-12 18:37:35 -07001413static const ber_tlv_tag_t asn_DEF_SIZE_but_not_FROM_tags_1[] = {
Lev Walkin59b176e2005-11-26 11:25:14 +00001414 (ASN_TAG_CLASS_UNIVERSAL | (22 << 2))
1415};
Lev Walkin59b176e2005-11-26 11:25:14 +00001416asn_TYPE_descriptor_t asn_DEF_SIZE_but_not_FROM = {
1417 "SIZE-but-not-FROM",
1418 "SIZE-but-not-FROM",
Bi-Ruei, Chiu1f87ac02017-08-20 01:25:45 +08001419 &asn_OP_IA5String,
Lev Walkin59b176e2005-11-26 11:25:14 +00001420 asn_DEF_SIZE_but_not_FROM_tags_1,
1421 sizeof(asn_DEF_SIZE_but_not_FROM_tags_1)
1422 /sizeof(asn_DEF_SIZE_but_not_FROM_tags_1[0]), /* 1 */
1423 asn_DEF_SIZE_but_not_FROM_tags_1, /* Same as above */
1424 sizeof(asn_DEF_SIZE_but_not_FROM_tags_1)
1425 /sizeof(asn_DEF_SIZE_but_not_FROM_tags_1[0]), /* 1 */
Lev Walkin0bfea562017-09-29 23:16:48 -07001426 { 0, &asn_PER_type_SIZE_but_not_FROM_constr_1, SIZE_but_not_FROM_constraint },
Lev Walkin59b176e2005-11-26 11:25:14 +00001427 0, 0, /* No members */
1428 0 /* No specifics */
1429};
1430
1431
1432/*** <<< INCLUDES [SIZE-and-FROM] >>> ***/
1433
Lev Walkin22b5ed42006-09-13 02:51:20 +00001434#include "PER-Visible.h"
Lev Walkin59b176e2005-11-26 11:25:14 +00001435
1436/*** <<< TYPE-DECLS [SIZE-and-FROM] >>> ***/
1437
1438typedef PER_Visible_t SIZE_and_FROM_t;
1439
1440/*** <<< FUNC-DECLS [SIZE-and-FROM] >>> ***/
1441
1442extern asn_TYPE_descriptor_t asn_DEF_SIZE_and_FROM;
1443asn_struct_free_f SIZE_and_FROM_free;
1444asn_struct_print_f SIZE_and_FROM_print;
1445asn_constr_check_f SIZE_and_FROM_constraint;
1446ber_type_decoder_f SIZE_and_FROM_decode_ber;
1447der_type_encoder_f SIZE_and_FROM_encode_der;
1448xer_type_decoder_f SIZE_and_FROM_decode_xer;
1449xer_type_encoder_f SIZE_and_FROM_encode_xer;
1450per_type_decoder_f SIZE_and_FROM_decode_uper;
Lev Walkin9f5bb3a2006-08-18 01:46:46 +00001451per_type_encoder_f SIZE_and_FROM_encode_uper;
Lev Walkin59b176e2005-11-26 11:25:14 +00001452
1453/*** <<< CTABLES [SIZE-and-FROM] >>> ***/
1454
1455static int check_permitted_alphabet_1(const void *sptr) {
1456 /* The underlying type is IA5String */
1457 const IA5String_t *st = (const IA5String_t *)sptr;
1458 const uint8_t *ch = st->buf;
1459 const uint8_t *end = ch + st->size;
1460
1461 for(; ch < end; ch++) {
1462 uint8_t cv = *ch;
1463 if(!(cv >= 65 && cv <= 68)) return -1;
1464 }
1465 return 0;
1466}
1467
1468
1469/*** <<< CODE [SIZE-and-FROM] >>> ***/
1470
1471int
Lev Walkin20696a42017-10-17 21:27:33 -07001472SIZE_and_FROM_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
Lev Walkin1eded352006-07-13 11:19:01 +00001473 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
Lev Walkin59b176e2005-11-26 11:25:14 +00001474 const PER_Visible_t *st = (const PER_Visible_t *)sptr;
1475 size_t size;
1476
1477 if(!sptr) {
Lev Walkin7c1dc052016-03-14 03:08:15 -07001478 ASN__CTFAIL(app_key, td, sptr,
Lev Walkin59b176e2005-11-26 11:25:14 +00001479 "%s: value not given (%s:%d)",
1480 td->name, __FILE__, __LINE__);
1481 return -1;
1482 }
1483
1484 size = st->size;
1485
1486 if((size >= 1 && size <= 4)
1487 && !check_permitted_alphabet_1(st)) {
1488 /* Constraint check succeeded */
1489 return 0;
1490 } else {
Lev Walkin7c1dc052016-03-14 03:08:15 -07001491 ASN__CTFAIL(app_key, td, sptr,
Lev Walkin59b176e2005-11-26 11:25:14 +00001492 "%s: constraint failed (%s:%d)",
1493 td->name, __FILE__, __LINE__);
1494 return -1;
1495 }
1496}
1497
1498/*
1499 * This type is implemented using PER_Visible,
1500 * so here we adjust the DEF accordingly.
1501 */
Lev Walkin59b176e2005-11-26 11:25:14 +00001502
Lev Walkin725883b2006-10-09 12:07:58 +00001503/*** <<< CTDEFS [SIZE-and-FROM] >>> ***/
1504
Lev Walkin0479e042017-09-26 18:39:58 -07001505static asn_per_constraints_t asn_PER_type_SIZE_and_FROM_constr_1 CC_NOTUSED = {
Lev Walkin725883b2006-10-09 12:07:58 +00001506 { APC_CONSTRAINED, 2, 2, 65, 68 } /* (65..68) */,
1507 { APC_CONSTRAINED, 2, 2, 1, 4 } /* (SIZE(1..4)) */,
1508 0, 0 /* No PER character map necessary */
1509};
1510
Lev Walkin59b176e2005-11-26 11:25:14 +00001511/*** <<< STAT-DEFS [SIZE-and-FROM] >>> ***/
1512
Lev Walkina7591b52014-10-12 18:37:35 -07001513static const ber_tlv_tag_t asn_DEF_SIZE_and_FROM_tags_1[] = {
Lev Walkin59b176e2005-11-26 11:25:14 +00001514 (ASN_TAG_CLASS_UNIVERSAL | (22 << 2))
1515};
Lev Walkin59b176e2005-11-26 11:25:14 +00001516asn_TYPE_descriptor_t asn_DEF_SIZE_and_FROM = {
1517 "SIZE-and-FROM",
1518 "SIZE-and-FROM",
Bi-Ruei, Chiu1f87ac02017-08-20 01:25:45 +08001519 &asn_OP_IA5String,
Lev Walkin59b176e2005-11-26 11:25:14 +00001520 asn_DEF_SIZE_and_FROM_tags_1,
1521 sizeof(asn_DEF_SIZE_and_FROM_tags_1)
1522 /sizeof(asn_DEF_SIZE_and_FROM_tags_1[0]), /* 1 */
1523 asn_DEF_SIZE_and_FROM_tags_1, /* Same as above */
1524 sizeof(asn_DEF_SIZE_and_FROM_tags_1)
1525 /sizeof(asn_DEF_SIZE_and_FROM_tags_1[0]), /* 1 */
Lev Walkin0bfea562017-09-29 23:16:48 -07001526 { 0, &asn_PER_type_SIZE_and_FROM_constr_1, SIZE_and_FROM_constraint },
Lev Walkin59b176e2005-11-26 11:25:14 +00001527 0, 0, /* No members */
1528 0 /* No specifics */
1529};
1530
1531
1532/*** <<< INCLUDES [Neither-SIZE-nor-FROM] >>> ***/
1533
Lev Walkin22b5ed42006-09-13 02:51:20 +00001534#include "PER-Visible.h"
Lev Walkin59b176e2005-11-26 11:25:14 +00001535
1536/*** <<< TYPE-DECLS [Neither-SIZE-nor-FROM] >>> ***/
1537
1538typedef PER_Visible_t Neither_SIZE_nor_FROM_t;
1539
1540/*** <<< FUNC-DECLS [Neither-SIZE-nor-FROM] >>> ***/
1541
1542extern asn_TYPE_descriptor_t asn_DEF_Neither_SIZE_nor_FROM;
1543asn_struct_free_f Neither_SIZE_nor_FROM_free;
1544asn_struct_print_f Neither_SIZE_nor_FROM_print;
1545asn_constr_check_f Neither_SIZE_nor_FROM_constraint;
1546ber_type_decoder_f Neither_SIZE_nor_FROM_decode_ber;
1547der_type_encoder_f Neither_SIZE_nor_FROM_encode_der;
1548xer_type_decoder_f Neither_SIZE_nor_FROM_decode_xer;
1549xer_type_encoder_f Neither_SIZE_nor_FROM_encode_xer;
1550per_type_decoder_f Neither_SIZE_nor_FROM_decode_uper;
Lev Walkin9f5bb3a2006-08-18 01:46:46 +00001551per_type_encoder_f Neither_SIZE_nor_FROM_encode_uper;
Lev Walkin59b176e2005-11-26 11:25:14 +00001552
1553/*** <<< CTABLES [Neither-SIZE-nor-FROM] >>> ***/
1554
1555static int check_permitted_alphabet_1(const void *sptr) {
1556 /* The underlying type is IA5String */
1557 const IA5String_t *st = (const IA5String_t *)sptr;
1558 const uint8_t *ch = st->buf;
1559 const uint8_t *end = ch + st->size;
1560
1561 for(; ch < end; ch++) {
1562 uint8_t cv = *ch;
1563 if(!(cv >= 65 && cv <= 70)) return -1;
1564 }
1565 return 0;
1566}
1567
1568
1569/*** <<< CODE [Neither-SIZE-nor-FROM] >>> ***/
1570
1571int
Lev Walkin20696a42017-10-17 21:27:33 -07001572Neither_SIZE_nor_FROM_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
Lev Walkin1eded352006-07-13 11:19:01 +00001573 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
Lev Walkin59b176e2005-11-26 11:25:14 +00001574 const PER_Visible_t *st = (const PER_Visible_t *)sptr;
1575
1576 if(!sptr) {
Lev Walkin7c1dc052016-03-14 03:08:15 -07001577 ASN__CTFAIL(app_key, td, sptr,
Lev Walkin59b176e2005-11-26 11:25:14 +00001578 "%s: value not given (%s:%d)",
1579 td->name, __FILE__, __LINE__);
1580 return -1;
1581 }
1582
1583
1584 if(!check_permitted_alphabet_1(st)) {
1585 /* Constraint check succeeded */
1586 return 0;
1587 } else {
Lev Walkin7c1dc052016-03-14 03:08:15 -07001588 ASN__CTFAIL(app_key, td, sptr,
Lev Walkin59b176e2005-11-26 11:25:14 +00001589 "%s: constraint failed (%s:%d)",
1590 td->name, __FILE__, __LINE__);
1591 return -1;
1592 }
1593}
1594
1595/*
1596 * This type is implemented using PER_Visible,
1597 * so here we adjust the DEF accordingly.
1598 */
Lev Walkin59b176e2005-11-26 11:25:14 +00001599
Lev Walkin725883b2006-10-09 12:07:58 +00001600/*** <<< CTDEFS [Neither-SIZE-nor-FROM] >>> ***/
1601
Lev Walkin0479e042017-09-26 18:39:58 -07001602static asn_per_constraints_t asn_PER_type_Neither_SIZE_nor_FROM_constr_1 CC_NOTUSED = {
Lev Walkin725883b2006-10-09 12:07:58 +00001603 { APC_CONSTRAINED, 3, 3, 65, 70 } /* (65..70) */,
1604 { APC_SEMI_CONSTRAINED, -1, -1, 0, 0 } /* (SIZE(0..MAX)) */,
1605 0, 0 /* No PER character map necessary */
1606};
1607
Lev Walkin59b176e2005-11-26 11:25:14 +00001608/*** <<< STAT-DEFS [Neither-SIZE-nor-FROM] >>> ***/
1609
Lev Walkina7591b52014-10-12 18:37:35 -07001610static const ber_tlv_tag_t asn_DEF_Neither_SIZE_nor_FROM_tags_1[] = {
Lev Walkin59b176e2005-11-26 11:25:14 +00001611 (ASN_TAG_CLASS_UNIVERSAL | (22 << 2))
1612};
Lev Walkin59b176e2005-11-26 11:25:14 +00001613asn_TYPE_descriptor_t asn_DEF_Neither_SIZE_nor_FROM = {
1614 "Neither-SIZE-nor-FROM",
1615 "Neither-SIZE-nor-FROM",
Bi-Ruei, Chiu1f87ac02017-08-20 01:25:45 +08001616 &asn_OP_IA5String,
Lev Walkin59b176e2005-11-26 11:25:14 +00001617 asn_DEF_Neither_SIZE_nor_FROM_tags_1,
1618 sizeof(asn_DEF_Neither_SIZE_nor_FROM_tags_1)
1619 /sizeof(asn_DEF_Neither_SIZE_nor_FROM_tags_1[0]), /* 1 */
1620 asn_DEF_Neither_SIZE_nor_FROM_tags_1, /* Same as above */
1621 sizeof(asn_DEF_Neither_SIZE_nor_FROM_tags_1)
1622 /sizeof(asn_DEF_Neither_SIZE_nor_FROM_tags_1[0]), /* 1 */
Lev Walkin0bfea562017-09-29 23:16:48 -07001623 { 0, &asn_PER_type_Neither_SIZE_nor_FROM_constr_1, Neither_SIZE_nor_FROM_constraint },
Lev Walkin59b176e2005-11-26 11:25:14 +00001624 0, 0, /* No members */
1625 0 /* No specifics */
1626};
1627
1628
1629/*** <<< INCLUDES [Utf8-4] >>> ***/
1630
1631#include <UTF8String.h>
1632
1633/*** <<< TYPE-DECLS [Utf8-4] >>> ***/
1634
1635typedef UTF8String_t Utf8_4_t;
1636
1637/*** <<< FUNC-DECLS [Utf8-4] >>> ***/
1638
1639extern asn_TYPE_descriptor_t asn_DEF_Utf8_4;
1640asn_struct_free_f Utf8_4_free;
1641asn_struct_print_f Utf8_4_print;
1642asn_constr_check_f Utf8_4_constraint;
1643ber_type_decoder_f Utf8_4_decode_ber;
1644der_type_encoder_f Utf8_4_encode_der;
1645xer_type_decoder_f Utf8_4_decode_xer;
1646xer_type_encoder_f Utf8_4_encode_xer;
1647per_type_decoder_f Utf8_4_decode_uper;
Lev Walkin9f5bb3a2006-08-18 01:46:46 +00001648per_type_encoder_f Utf8_4_encode_uper;
Lev Walkin59b176e2005-11-26 11:25:14 +00001649
1650/*** <<< CTABLES [Utf8-4] >>> ***/
1651
1652static int check_permitted_alphabet_1(const void *sptr) {
1653 if(UTF8String_length((const UTF8String_t *)sptr) < 0)
1654 return -1; /* Alphabet (sic!) test failed. */
1655
1656 return 0;
1657}
1658
1659
1660/*** <<< CODE [Utf8-4] >>> ***/
1661
1662int
Lev Walkin20696a42017-10-17 21:27:33 -07001663Utf8_4_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
Lev Walkin1eded352006-07-13 11:19:01 +00001664 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
Lev Walkin59b176e2005-11-26 11:25:14 +00001665 const UTF8String_t *st = (const UTF8String_t *)sptr;
1666
1667 if(!sptr) {
Lev Walkin7c1dc052016-03-14 03:08:15 -07001668 ASN__CTFAIL(app_key, td, sptr,
Lev Walkin59b176e2005-11-26 11:25:14 +00001669 "%s: value not given (%s:%d)",
1670 td->name, __FILE__, __LINE__);
1671 return -1;
1672 }
1673
1674
1675 if(!check_permitted_alphabet_1(st)) {
1676 /* Constraint check succeeded */
1677 return 0;
1678 } else {
Lev Walkin7c1dc052016-03-14 03:08:15 -07001679 ASN__CTFAIL(app_key, td, sptr,
Lev Walkin59b176e2005-11-26 11:25:14 +00001680 "%s: constraint failed (%s:%d)",
1681 td->name, __FILE__, __LINE__);
1682 return -1;
1683 }
1684}
1685
1686/*
1687 * This type is implemented using UTF8String,
1688 * so here we adjust the DEF accordingly.
1689 */
Lev Walkin59b176e2005-11-26 11:25:14 +00001690
Lev Walkin725883b2006-10-09 12:07:58 +00001691/*** <<< CTDEFS [Utf8-4] >>> ***/
1692
Lev Walkin0479e042017-09-26 18:39:58 -07001693static asn_per_constraints_t asn_PER_type_Utf8_4_constr_1 CC_NOTUSED = {
Lev Walkin725883b2006-10-09 12:07:58 +00001694 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
1695 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
1696 0, 0 /* No PER value map */
1697};
1698
Lev Walkin59b176e2005-11-26 11:25:14 +00001699/*** <<< STAT-DEFS [Utf8-4] >>> ***/
1700
Lev Walkina7591b52014-10-12 18:37:35 -07001701static const ber_tlv_tag_t asn_DEF_Utf8_4_tags_1[] = {
Lev Walkin59b176e2005-11-26 11:25:14 +00001702 (ASN_TAG_CLASS_UNIVERSAL | (12 << 2))
1703};
Lev Walkin59b176e2005-11-26 11:25:14 +00001704asn_TYPE_descriptor_t asn_DEF_Utf8_4 = {
1705 "Utf8-4",
1706 "Utf8-4",
Bi-Ruei, Chiu1f87ac02017-08-20 01:25:45 +08001707 &asn_OP_UTF8String,
Lev Walkin59b176e2005-11-26 11:25:14 +00001708 asn_DEF_Utf8_4_tags_1,
1709 sizeof(asn_DEF_Utf8_4_tags_1)
1710 /sizeof(asn_DEF_Utf8_4_tags_1[0]), /* 1 */
1711 asn_DEF_Utf8_4_tags_1, /* Same as above */
1712 sizeof(asn_DEF_Utf8_4_tags_1)
1713 /sizeof(asn_DEF_Utf8_4_tags_1[0]), /* 1 */
Lev Walkin0bfea562017-09-29 23:16:48 -07001714 { 0, &asn_PER_type_Utf8_4_constr_1, Utf8_4_constraint },
Lev Walkin59b176e2005-11-26 11:25:14 +00001715 0, 0, /* No members */
1716 0 /* No specifics */
1717};
1718
1719
1720/*** <<< INCLUDES [Utf8-3] >>> ***/
1721
Lev Walkin22b5ed42006-09-13 02:51:20 +00001722#include "Utf8-2.h"
Lev Walkin59b176e2005-11-26 11:25:14 +00001723
1724/*** <<< TYPE-DECLS [Utf8-3] >>> ***/
1725
1726typedef Utf8_2_t Utf8_3_t;
1727
1728/*** <<< FUNC-DECLS [Utf8-3] >>> ***/
1729
1730extern asn_TYPE_descriptor_t asn_DEF_Utf8_3;
1731asn_struct_free_f Utf8_3_free;
1732asn_struct_print_f Utf8_3_print;
1733asn_constr_check_f Utf8_3_constraint;
1734ber_type_decoder_f Utf8_3_decode_ber;
1735der_type_encoder_f Utf8_3_encode_der;
1736xer_type_decoder_f Utf8_3_decode_xer;
1737xer_type_encoder_f Utf8_3_encode_xer;
1738per_type_decoder_f Utf8_3_decode_uper;
Lev Walkin9f5bb3a2006-08-18 01:46:46 +00001739per_type_encoder_f Utf8_3_encode_uper;
Lev Walkin59b176e2005-11-26 11:25:14 +00001740
1741/*** <<< CTABLES [Utf8-3] >>> ***/
1742
Lev Walkina7591b52014-10-12 18:37:35 -07001743static const int permitted_alphabet_table_1[128] = {
Lev Walkin5b62ca82006-09-21 01:52:07 +00001744 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* */
1745 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* */
1746 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* */
1747 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* */
1748 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,10,11,12,13,14,15, /* ABCDEFGHIJKLMNO */
174916,17,18,19,20,21,22,23,24,25,26, 0, 0, 0, 0, 0, /* PQRSTUVWXYZ */
1750 0,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41, /* abcdefghijklmno */
175142,43,44,45,46,47,48,49,50,51,52, 0, 0, 0, 0, 0, /* pqrstuvwxyz */
Lev Walkin59b176e2005-11-26 11:25:14 +00001752};
1753
1754static int check_permitted_alphabet_1(const void *sptr) {
Lev Walkina7591b52014-10-12 18:37:35 -07001755 const int *table = permitted_alphabet_table_1;
Lev Walkin59b176e2005-11-26 11:25:14 +00001756 /* The underlying type is UTF8String */
1757 const UTF8String_t *st = (const UTF8String_t *)sptr;
1758 const uint8_t *ch = st->buf;
1759 const uint8_t *end = ch + st->size;
1760
1761 for(; ch < end; ch++) {
1762 uint8_t cv = *ch;
1763 if(cv >= 0x80) return -1;
1764 if(!table[cv]) return -1;
1765 }
1766 return 0;
1767}
1768
1769
1770/*** <<< CODE [Utf8-3] >>> ***/
1771
1772int
Lev Walkin20696a42017-10-17 21:27:33 -07001773Utf8_3_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
Lev Walkin1eded352006-07-13 11:19:01 +00001774 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
Lev Walkin59b176e2005-11-26 11:25:14 +00001775 const Utf8_2_t *st = (const Utf8_2_t *)sptr;
1776 size_t size;
1777
1778 if(!sptr) {
Lev Walkin7c1dc052016-03-14 03:08:15 -07001779 ASN__CTFAIL(app_key, td, sptr,
Lev Walkin59b176e2005-11-26 11:25:14 +00001780 "%s: value not given (%s:%d)",
1781 td->name, __FILE__, __LINE__);
1782 return -1;
1783 }
1784
1785 size = UTF8String_length(st);
1786 if((ssize_t)size < 0) {
Lev Walkin7c1dc052016-03-14 03:08:15 -07001787 ASN__CTFAIL(app_key, td, sptr,
Lev Walkin59b176e2005-11-26 11:25:14 +00001788 "%s: UTF-8: broken encoding (%s:%d)",
1789 td->name, __FILE__, __LINE__);
1790 return -1;
1791 }
1792
1793 if((size >= 1 && size <= 2)
1794 && !check_permitted_alphabet_1(st)) {
1795 /* Constraint check succeeded */
1796 return 0;
1797 } else {
Lev Walkin7c1dc052016-03-14 03:08:15 -07001798 ASN__CTFAIL(app_key, td, sptr,
Lev Walkin59b176e2005-11-26 11:25:14 +00001799 "%s: constraint failed (%s:%d)",
1800 td->name, __FILE__, __LINE__);
1801 return -1;
1802 }
1803}
1804
1805/*
1806 * This type is implemented using Utf8_2,
1807 * so here we adjust the DEF accordingly.
1808 */
Lev Walkin59b176e2005-11-26 11:25:14 +00001809
Lev Walkin725883b2006-10-09 12:07:58 +00001810/*** <<< CTDEFS [Utf8-3] >>> ***/
1811
Lev Walkin0479e042017-09-26 18:39:58 -07001812static asn_per_constraints_t asn_PER_type_Utf8_3_constr_1 CC_NOTUSED = {
Lev Walkin725883b2006-10-09 12:07:58 +00001813 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
1814 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
1815 0, 0 /* No PER value map */
1816};
1817
Lev Walkin59b176e2005-11-26 11:25:14 +00001818/*** <<< STAT-DEFS [Utf8-3] >>> ***/
1819
Lev Walkina7591b52014-10-12 18:37:35 -07001820static const ber_tlv_tag_t asn_DEF_Utf8_3_tags_1[] = {
Lev Walkin59b176e2005-11-26 11:25:14 +00001821 (ASN_TAG_CLASS_UNIVERSAL | (12 << 2))
1822};
Lev Walkin59b176e2005-11-26 11:25:14 +00001823asn_TYPE_descriptor_t asn_DEF_Utf8_3 = {
1824 "Utf8-3",
1825 "Utf8-3",
Bi-Ruei, Chiu1f87ac02017-08-20 01:25:45 +08001826 &asn_OP_UTF8String,
Lev Walkin59b176e2005-11-26 11:25:14 +00001827 asn_DEF_Utf8_3_tags_1,
1828 sizeof(asn_DEF_Utf8_3_tags_1)
1829 /sizeof(asn_DEF_Utf8_3_tags_1[0]), /* 1 */
1830 asn_DEF_Utf8_3_tags_1, /* Same as above */
1831 sizeof(asn_DEF_Utf8_3_tags_1)
1832 /sizeof(asn_DEF_Utf8_3_tags_1[0]), /* 1 */
Lev Walkin0bfea562017-09-29 23:16:48 -07001833 { 0, &asn_PER_type_Utf8_3_constr_1, Utf8_3_constraint },
Lev Walkin59b176e2005-11-26 11:25:14 +00001834 0, 0, /* No members */
1835 0 /* No specifics */
1836};
1837
1838
1839/*** <<< INCLUDES [Utf8-2] >>> ***/
1840
Lev Walkin22b5ed42006-09-13 02:51:20 +00001841#include "Utf8-1.h"
Lev Walkin59b176e2005-11-26 11:25:14 +00001842
1843/*** <<< TYPE-DECLS [Utf8-2] >>> ***/
1844
1845typedef Utf8_1_t Utf8_2_t;
1846
1847/*** <<< FUNC-DECLS [Utf8-2] >>> ***/
1848
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +08001849extern asn_per_constraints_t asn_PER_type_Utf8_2_constr_1;
Lev Walkin59b176e2005-11-26 11:25:14 +00001850extern asn_TYPE_descriptor_t asn_DEF_Utf8_2;
1851asn_struct_free_f Utf8_2_free;
1852asn_struct_print_f Utf8_2_print;
1853asn_constr_check_f Utf8_2_constraint;
1854ber_type_decoder_f Utf8_2_decode_ber;
1855der_type_encoder_f Utf8_2_encode_der;
1856xer_type_decoder_f Utf8_2_decode_xer;
1857xer_type_encoder_f Utf8_2_encode_xer;
1858per_type_decoder_f Utf8_2_decode_uper;
Lev Walkin9f5bb3a2006-08-18 01:46:46 +00001859per_type_encoder_f Utf8_2_encode_uper;
Lev Walkin59b176e2005-11-26 11:25:14 +00001860
1861/*** <<< CODE [Utf8-2] >>> ***/
1862
1863int
Lev Walkin20696a42017-10-17 21:27:33 -07001864Utf8_2_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
Lev Walkin1eded352006-07-13 11:19:01 +00001865 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
Lev Walkin59b176e2005-11-26 11:25:14 +00001866 const Utf8_1_t *st = (const Utf8_1_t *)sptr;
1867 size_t size;
1868
1869 if(!sptr) {
Lev Walkin7c1dc052016-03-14 03:08:15 -07001870 ASN__CTFAIL(app_key, td, sptr,
Lev Walkin59b176e2005-11-26 11:25:14 +00001871 "%s: value not given (%s:%d)",
1872 td->name, __FILE__, __LINE__);
1873 return -1;
1874 }
1875
1876 size = UTF8String_length(st);
1877 if((ssize_t)size < 0) {
Lev Walkin7c1dc052016-03-14 03:08:15 -07001878 ASN__CTFAIL(app_key, td, sptr,
Lev Walkin59b176e2005-11-26 11:25:14 +00001879 "%s: UTF-8: broken encoding (%s:%d)",
1880 td->name, __FILE__, __LINE__);
1881 return -1;
1882 }
1883
1884 if((size >= 1 && size <= 2)) {
1885 /* Constraint check succeeded */
1886 return 0;
1887 } else {
Lev Walkin7c1dc052016-03-14 03:08:15 -07001888 ASN__CTFAIL(app_key, td, sptr,
Lev Walkin59b176e2005-11-26 11:25:14 +00001889 "%s: constraint failed (%s:%d)",
1890 td->name, __FILE__, __LINE__);
1891 return -1;
1892 }
1893}
1894
1895/*
1896 * This type is implemented using Utf8_1,
1897 * so here we adjust the DEF accordingly.
1898 */
Lev Walkin59b176e2005-11-26 11:25:14 +00001899
Lev Walkin725883b2006-10-09 12:07:58 +00001900/*** <<< CTDEFS [Utf8-2] >>> ***/
1901
Lev Walkin0479e042017-09-26 18:39:58 -07001902asn_per_constraints_t asn_PER_type_Utf8_2_constr_1 CC_NOTUSED = {
Lev Walkin725883b2006-10-09 12:07:58 +00001903 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
1904 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
1905 0, 0 /* No PER value map */
1906};
1907
Lev Walkin59b176e2005-11-26 11:25:14 +00001908/*** <<< STAT-DEFS [Utf8-2] >>> ***/
1909
Lev Walkina7591b52014-10-12 18:37:35 -07001910static const ber_tlv_tag_t asn_DEF_Utf8_2_tags_1[] = {
Lev Walkin59b176e2005-11-26 11:25:14 +00001911 (ASN_TAG_CLASS_UNIVERSAL | (12 << 2))
1912};
Lev Walkin59b176e2005-11-26 11:25:14 +00001913asn_TYPE_descriptor_t asn_DEF_Utf8_2 = {
1914 "Utf8-2",
1915 "Utf8-2",
Bi-Ruei, Chiu1f87ac02017-08-20 01:25:45 +08001916 &asn_OP_UTF8String,
Lev Walkin59b176e2005-11-26 11:25:14 +00001917 asn_DEF_Utf8_2_tags_1,
1918 sizeof(asn_DEF_Utf8_2_tags_1)
1919 /sizeof(asn_DEF_Utf8_2_tags_1[0]), /* 1 */
1920 asn_DEF_Utf8_2_tags_1, /* Same as above */
1921 sizeof(asn_DEF_Utf8_2_tags_1)
1922 /sizeof(asn_DEF_Utf8_2_tags_1[0]), /* 1 */
Lev Walkin0bfea562017-09-29 23:16:48 -07001923 { 0, &asn_PER_type_Utf8_2_constr_1, Utf8_2_constraint },
Lev Walkin59b176e2005-11-26 11:25:14 +00001924 0, 0, /* No members */
1925 0 /* No specifics */
1926};
1927
1928
1929/*** <<< INCLUDES [Utf8-1] >>> ***/
1930
1931#include <UTF8String.h>
1932
1933/*** <<< TYPE-DECLS [Utf8-1] >>> ***/
1934
1935typedef UTF8String_t Utf8_1_t;
1936
1937/*** <<< FUNC-DECLS [Utf8-1] >>> ***/
1938
1939extern asn_TYPE_descriptor_t asn_DEF_Utf8_1;
1940asn_struct_free_f Utf8_1_free;
1941asn_struct_print_f Utf8_1_print;
1942asn_constr_check_f Utf8_1_constraint;
1943ber_type_decoder_f Utf8_1_decode_ber;
1944der_type_encoder_f Utf8_1_encode_der;
1945xer_type_decoder_f Utf8_1_decode_xer;
1946xer_type_encoder_f Utf8_1_encode_xer;
1947per_type_decoder_f Utf8_1_decode_uper;
Lev Walkin9f5bb3a2006-08-18 01:46:46 +00001948per_type_encoder_f Utf8_1_encode_uper;
Lev Walkin59b176e2005-11-26 11:25:14 +00001949
1950/*** <<< CODE [Utf8-1] >>> ***/
1951
Lev Walkin59b176e2005-11-26 11:25:14 +00001952/*
1953 * This type is implemented using UTF8String,
1954 * so here we adjust the DEF accordingly.
1955 */
Lev Walkin59b176e2005-11-26 11:25:14 +00001956
1957/*** <<< STAT-DEFS [Utf8-1] >>> ***/
1958
Lev Walkina7591b52014-10-12 18:37:35 -07001959static const ber_tlv_tag_t asn_DEF_Utf8_1_tags_1[] = {
Lev Walkin59b176e2005-11-26 11:25:14 +00001960 (ASN_TAG_CLASS_UNIVERSAL | (12 << 2))
1961};
1962asn_TYPE_descriptor_t asn_DEF_Utf8_1 = {
1963 "Utf8-1",
1964 "Utf8-1",
Bi-Ruei, Chiu1f87ac02017-08-20 01:25:45 +08001965 &asn_OP_UTF8String,
Lev Walkin59b176e2005-11-26 11:25:14 +00001966 asn_DEF_Utf8_1_tags_1,
1967 sizeof(asn_DEF_Utf8_1_tags_1)
1968 /sizeof(asn_DEF_Utf8_1_tags_1[0]), /* 1 */
1969 asn_DEF_Utf8_1_tags_1, /* Same as above */
1970 sizeof(asn_DEF_Utf8_1_tags_1)
1971 /sizeof(asn_DEF_Utf8_1_tags_1[0]), /* 1 */
Lev Walkin0bfea562017-09-29 23:16:48 -07001972 { 0, 0, UTF8String_constraint },
Lev Walkin59b176e2005-11-26 11:25:14 +00001973 0, 0, /* No members */
1974 0 /* No specifics */
1975};
1976
1977
1978/*** <<< INCLUDES [VisibleIdentifier] >>> ***/
1979
Lev Walkin22b5ed42006-09-13 02:51:20 +00001980#include "Identifier.h"
Lev Walkin59b176e2005-11-26 11:25:14 +00001981
1982/*** <<< TYPE-DECLS [VisibleIdentifier] >>> ***/
1983
1984typedef Identifier_t VisibleIdentifier_t;
1985
1986/*** <<< FUNC-DECLS [VisibleIdentifier] >>> ***/
1987
1988extern asn_TYPE_descriptor_t asn_DEF_VisibleIdentifier;
1989asn_struct_free_f VisibleIdentifier_free;
1990asn_struct_print_f VisibleIdentifier_print;
1991asn_constr_check_f VisibleIdentifier_constraint;
1992ber_type_decoder_f VisibleIdentifier_decode_ber;
1993der_type_encoder_f VisibleIdentifier_encode_der;
1994xer_type_decoder_f VisibleIdentifier_decode_xer;
1995xer_type_encoder_f VisibleIdentifier_encode_xer;
1996per_type_decoder_f VisibleIdentifier_decode_uper;
Lev Walkin9f5bb3a2006-08-18 01:46:46 +00001997per_type_encoder_f VisibleIdentifier_encode_uper;
Lev Walkin59b176e2005-11-26 11:25:14 +00001998
1999/*** <<< CTABLES [VisibleIdentifier] >>> ***/
2000
Lev Walkina7591b52014-10-12 18:37:35 -07002001static const int permitted_alphabet_table_1[256] = {
Lev Walkin5b62ca82006-09-21 01:52:07 +00002002 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* */
2003 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* */
2004 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* $ */
2005 2, 3, 4, 5, 6, 7, 8, 9,10,11, 0, 0, 0, 0, 0, 0, /* 0123456789 */
2006 0,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26, /* ABCDEFGHIJKLMNO */
200727,28,29,30,31,32,33,34,35,36,37, 0, 0, 0, 0,38, /* PQRSTUVWXYZ _ */
2008 0,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53, /* abcdefghijklmno */
200954,55,56,57,58,59,60,61,62,63,64, 0, 0, 0, 0, 0, /* pqrstuvwxyz */
Lev Walkin59b176e2005-11-26 11:25:14 +00002010};
Lev Walkina7591b52014-10-12 18:37:35 -07002011static const int permitted_alphabet_code2value_1[64] = {
Lev Walkin5b62ca82006-09-21 01:52:07 +0000201236,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,
201370,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,
201486,87,88,89,90,95,97,98,99,100,101,102,103,104,105,106,
2015107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,
2016};
2017
Lev Walkin59b176e2005-11-26 11:25:14 +00002018
2019static int check_permitted_alphabet_1(const void *sptr) {
Lev Walkina7591b52014-10-12 18:37:35 -07002020 const int *table = permitted_alphabet_table_1;
Lev Walkin59b176e2005-11-26 11:25:14 +00002021 /* The underlying type is VisibleString */
2022 const VisibleString_t *st = (const VisibleString_t *)sptr;
2023 const uint8_t *ch = st->buf;
2024 const uint8_t *end = ch + st->size;
2025
2026 for(; ch < end; ch++) {
2027 uint8_t cv = *ch;
2028 if(!table[cv]) return -1;
2029 }
2030 return 0;
2031}
2032
2033
2034/*** <<< CODE [VisibleIdentifier] >>> ***/
2035
2036int
Lev Walkin20696a42017-10-17 21:27:33 -07002037VisibleIdentifier_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
Lev Walkin1eded352006-07-13 11:19:01 +00002038 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
Lev Walkin59b176e2005-11-26 11:25:14 +00002039 const Identifier_t *st = (const Identifier_t *)sptr;
2040 size_t size;
2041
2042 if(!sptr) {
Lev Walkin7c1dc052016-03-14 03:08:15 -07002043 ASN__CTFAIL(app_key, td, sptr,
Lev Walkin59b176e2005-11-26 11:25:14 +00002044 "%s: value not given (%s:%d)",
2045 td->name, __FILE__, __LINE__);
2046 return -1;
2047 }
2048
2049 size = st->size;
2050
2051 if((size >= 1 && size <= 32)
2052 && !check_permitted_alphabet_1(st)) {
2053 /* Constraint check succeeded */
2054 return 0;
2055 } else {
Lev Walkin7c1dc052016-03-14 03:08:15 -07002056 ASN__CTFAIL(app_key, td, sptr,
Lev Walkin59b176e2005-11-26 11:25:14 +00002057 "%s: constraint failed (%s:%d)",
2058 td->name, __FILE__, __LINE__);
2059 return -1;
2060 }
2061}
2062
Lev Walkin135d7dd2017-08-28 00:21:38 -07002063static int asn_PER_MAP_VisibleIdentifier_1_v2c(unsigned int value) {
2064 if(value >= sizeof(permitted_alphabet_table_1)/sizeof(permitted_alphabet_table_1[0]))
2065 return -1;
2066 return permitted_alphabet_table_1[value] - 1;
2067}
2068static int asn_PER_MAP_VisibleIdentifier_1_c2v(unsigned int code) {
2069 if(code >= sizeof(permitted_alphabet_code2value_1)/sizeof(permitted_alphabet_code2value_1[0]))
2070 return -1;
2071 return permitted_alphabet_code2value_1[code];
2072}
Lev Walkin59b176e2005-11-26 11:25:14 +00002073/*
2074 * This type is implemented using Identifier,
2075 * so here we adjust the DEF accordingly.
2076 */
Lev Walkin59b176e2005-11-26 11:25:14 +00002077
Lev Walkin135d7dd2017-08-28 00:21:38 -07002078/*** <<< CTDEFS [VisibleIdentifier] >>> ***/
2079
Lev Walkin0479e042017-09-26 18:39:58 -07002080static asn_per_constraints_t asn_PER_type_VisibleIdentifier_constr_1 CC_NOTUSED = {
Lev Walkin135d7dd2017-08-28 00:21:38 -07002081 { APC_CONSTRAINED, 6, 6, 36, 122 } /* (36..122) */,
2082 { APC_CONSTRAINED, 5, 5, 1, 32 } /* (SIZE(1..32)) */,
2083 asn_PER_MAP_VisibleIdentifier_1_v2c, /* Value to PER code map */
2084 asn_PER_MAP_VisibleIdentifier_1_c2v /* PER code to value map */
2085};
2086
Lev Walkin59b176e2005-11-26 11:25:14 +00002087/*** <<< STAT-DEFS [VisibleIdentifier] >>> ***/
2088
Lev Walkina7591b52014-10-12 18:37:35 -07002089static const ber_tlv_tag_t asn_DEF_VisibleIdentifier_tags_1[] = {
Lev Walkin59b176e2005-11-26 11:25:14 +00002090 (ASN_TAG_CLASS_UNIVERSAL | (26 << 2))
2091};
2092asn_TYPE_descriptor_t asn_DEF_VisibleIdentifier = {
2093 "VisibleIdentifier",
2094 "VisibleIdentifier",
Bi-Ruei, Chiu1f87ac02017-08-20 01:25:45 +08002095 &asn_OP_VisibleString,
Lev Walkin59b176e2005-11-26 11:25:14 +00002096 asn_DEF_VisibleIdentifier_tags_1,
2097 sizeof(asn_DEF_VisibleIdentifier_tags_1)
2098 /sizeof(asn_DEF_VisibleIdentifier_tags_1[0]), /* 1 */
2099 asn_DEF_VisibleIdentifier_tags_1, /* Same as above */
2100 sizeof(asn_DEF_VisibleIdentifier_tags_1)
2101 /sizeof(asn_DEF_VisibleIdentifier_tags_1[0]), /* 1 */
Lev Walkin0bfea562017-09-29 23:16:48 -07002102 { 0, &asn_PER_type_VisibleIdentifier_constr_1, VisibleIdentifier_constraint },
Lev Walkin59b176e2005-11-26 11:25:14 +00002103 0, 0, /* No members */
2104 0 /* No specifics */
2105};
2106
2107
2108/*** <<< INCLUDES [Sequence] >>> ***/
2109
Lev Walkin22b5ed42006-09-13 02:51:20 +00002110#include "Int1.h"
2111#include "Int4.h"
Lev Walkin59b176e2005-11-26 11:25:14 +00002112#include <BOOLEAN.h>
Lev Walkin2a744a72013-03-27 01:56:23 -07002113#include <NativeEnumerated.h>
Lev Walkin59b176e2005-11-26 11:25:14 +00002114#include <NULL.h>
Lev Walkin22b5ed42006-09-13 02:51:20 +00002115#include "Int5.h"
Lev Walkin59b176e2005-11-26 11:25:14 +00002116#include <constr_SEQUENCE.h>
2117
2118/*** <<< DEPS [Sequence] >>> ***/
2119
2120typedef enum enum_c {
2121 enum_c_one = 1,
2122 enum_c_two = 2,
2123 /*
2124 * Enumeration is extensible
2125 */
2126 enum_c_three = 3
Lev Walkin171487e2006-03-21 07:25:18 +00002127} e_enum_c;
Lev Walkin59b176e2005-11-26 11:25:14 +00002128
2129/*** <<< TYPE-DECLS [Sequence] >>> ***/
2130
2131typedef struct Sequence {
2132 Int1_t *int1_c /* DEFAULT 3 */;
2133 Int4_t int4;
2134 Int4_t int4_c;
Lev Walkin2a744a72013-03-27 01:56:23 -07002135 BOOLEAN_t *Bool /* DEFAULT 1 */;
2136 long enum_c;
Lev Walkin59b176e2005-11-26 11:25:14 +00002137 NULL_t *null /* OPTIONAL */;
2138 /*
2139 * This type is extensible,
2140 * possible extensions are below.
2141 */
2142 Int5_t *int5_c /* OPTIONAL */;
2143
2144 /* Context for parsing across buffer boundaries */
2145 asn_struct_ctx_t _asn_ctx;
2146} Sequence_t;
2147
2148/*** <<< FUNC-DECLS [Sequence] >>> ***/
2149
2150/* extern asn_TYPE_descriptor_t asn_DEF_enum_c_6; // (Use -fall-defs-global to expose) */
2151extern asn_TYPE_descriptor_t asn_DEF_Sequence;
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +08002152extern asn_SEQUENCE_specifics_t asn_SPC_Sequence_specs_1;
2153extern asn_TYPE_member_t asn_MBR_Sequence_1[7];
Lev Walkin59b176e2005-11-26 11:25:14 +00002154
2155/*** <<< CODE [Sequence] >>> ***/
2156
Lev Walkin59b176e2005-11-26 11:25:14 +00002157/*
Lev Walkin2a744a72013-03-27 01:56:23 -07002158 * This type is implemented using NativeEnumerated,
Lev Walkin59b176e2005-11-26 11:25:14 +00002159 * so here we adjust the DEF accordingly.
2160 */
Lev Walkin59b176e2005-11-26 11:25:14 +00002161static int
Lev Walkin20696a42017-10-17 21:27:33 -07002162memb_int1_c_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
Lev Walkin1eded352006-07-13 11:19:01 +00002163 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
Lev Walkin59b176e2005-11-26 11:25:14 +00002164 long value;
2165
2166 if(!sptr) {
Lev Walkin7c1dc052016-03-14 03:08:15 -07002167 ASN__CTFAIL(app_key, td, sptr,
Lev Walkin59b176e2005-11-26 11:25:14 +00002168 "%s: value not given (%s:%d)",
2169 td->name, __FILE__, __LINE__);
2170 return -1;
2171 }
2172
Lev Walkin2a744a72013-03-27 01:56:23 -07002173 value = *(const long *)sptr;
Lev Walkin59b176e2005-11-26 11:25:14 +00002174
2175 if((value >= -2)) {
2176 /* Constraint check succeeded */
2177 return 0;
2178 } else {
Lev Walkin7c1dc052016-03-14 03:08:15 -07002179 ASN__CTFAIL(app_key, td, sptr,
Lev Walkin59b176e2005-11-26 11:25:14 +00002180 "%s: constraint failed (%s:%d)",
2181 td->name, __FILE__, __LINE__);
2182 return -1;
2183 }
2184}
2185
2186static int
Lev Walkin20696a42017-10-17 21:27:33 -07002187memb_int4_c_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
Lev Walkin1eded352006-07-13 11:19:01 +00002188 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
Lev Walkin59b176e2005-11-26 11:25:14 +00002189 long value;
2190
2191 if(!sptr) {
Lev Walkin7c1dc052016-03-14 03:08:15 -07002192 ASN__CTFAIL(app_key, td, sptr,
Lev Walkin59b176e2005-11-26 11:25:14 +00002193 "%s: value not given (%s:%d)",
2194 td->name, __FILE__, __LINE__);
2195 return -1;
2196 }
2197
Lev Walkin2a744a72013-03-27 01:56:23 -07002198 value = *(const long *)sptr;
Lev Walkin59b176e2005-11-26 11:25:14 +00002199
2200 if((value >= 5 && value <= 7)) {
2201 /* Constraint check succeeded */
2202 return 0;
2203 } else {
Lev Walkin7c1dc052016-03-14 03:08:15 -07002204 ASN__CTFAIL(app_key, td, sptr,
Lev Walkin59b176e2005-11-26 11:25:14 +00002205 "%s: constraint failed (%s:%d)",
2206 td->name, __FILE__, __LINE__);
2207 return -1;
2208 }
2209}
2210
2211static int
Lev Walkin20696a42017-10-17 21:27:33 -07002212memb_int5_c_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
Lev Walkin1eded352006-07-13 11:19:01 +00002213 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
Lev Walkin59b176e2005-11-26 11:25:14 +00002214 long value;
2215
2216 if(!sptr) {
Lev Walkin7c1dc052016-03-14 03:08:15 -07002217 ASN__CTFAIL(app_key, td, sptr,
Lev Walkin59b176e2005-11-26 11:25:14 +00002218 "%s: value not given (%s:%d)",
2219 td->name, __FILE__, __LINE__);
2220 return -1;
2221 }
2222
Lev Walkin2a744a72013-03-27 01:56:23 -07002223 value = *(const long *)sptr;
Lev Walkin59b176e2005-11-26 11:25:14 +00002224
2225 if((value == 5)) {
2226 /* Constraint check succeeded */
2227 return 0;
2228 } else {
Lev Walkin7c1dc052016-03-14 03:08:15 -07002229 ASN__CTFAIL(app_key, td, sptr,
Lev Walkin59b176e2005-11-26 11:25:14 +00002230 "%s: constraint failed (%s:%d)",
2231 td->name, __FILE__, __LINE__);
2232 return -1;
2233 }
2234}
2235
2236
Lev Walkin725883b2006-10-09 12:07:58 +00002237/*** <<< CTDEFS [Sequence] >>> ***/
2238
Lev Walkin0479e042017-09-26 18:39:58 -07002239static asn_per_constraints_t asn_PER_type_enum_c_constr_6 CC_NOTUSED = {
Lev Walkin725883b2006-10-09 12:07:58 +00002240 { APC_CONSTRAINED | APC_EXTENSIBLE, 1, 1, 0, 1 } /* (0..1,...) */,
2241 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
2242 0, 0 /* No PER value map */
2243};
Lev Walkin0479e042017-09-26 18:39:58 -07002244static asn_per_constraints_t asn_PER_memb_int1_c_constr_2 CC_NOTUSED = {
Lev Walkin725883b2006-10-09 12:07:58 +00002245 { APC_SEMI_CONSTRAINED, -1, -1, -2, 0 } /* (-2..MAX) */,
2246 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
2247 0, 0 /* No PER value map */
2248};
Lev Walkin0479e042017-09-26 18:39:58 -07002249static asn_per_constraints_t asn_PER_memb_int4_c_constr_4 CC_NOTUSED = {
Lev Walkin725883b2006-10-09 12:07:58 +00002250 { APC_CONSTRAINED, 2, 2, 5, 7 } /* (5..7) */,
2251 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
2252 0, 0 /* No PER value map */
2253};
Lev Walkin0479e042017-09-26 18:39:58 -07002254static asn_per_constraints_t asn_PER_memb_int5_c_constr_13 CC_NOTUSED = {
Lev Walkin725883b2006-10-09 12:07:58 +00002255 { APC_CONSTRAINED, 0, 0, 5, 5 } /* (5..5) */,
2256 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
2257 0, 0 /* No PER value map */
2258};
2259
Lev Walkin59b176e2005-11-26 11:25:14 +00002260/*** <<< STAT-DEFS [Sequence] >>> ***/
2261
Lev Walkin20696a42017-10-17 21:27:33 -07002262static int asn_DFL_2_cmp_3(const void *sptr) {
2263 const Int1_t *st = sptr;
2264
2265 if(!st) {
2266 return -1; /* No value is not a default value */
2267 }
2268
2269 /* Test default value 3 */
2270 return (*st != 3);
2271}
2272static int asn_DFL_2_set_3(void **sptr) {
Lev Walkin59b176e2005-11-26 11:25:14 +00002273 Int1_t *st = *sptr;
2274
2275 if(!st) {
2276 st = (*sptr = CALLOC(1, sizeof(*st)));
2277 if(!st) return -1;
2278 }
2279
Lev Walkin20696a42017-10-17 21:27:33 -07002280 /* Install default value 3 */
2281 *st = 3;
2282 return 0;
Lev Walkin59b176e2005-11-26 11:25:14 +00002283}
Lev Walkin20696a42017-10-17 21:27:33 -07002284static int asn_DFL_5_cmp_1(const void *sptr) {
2285 const BOOLEAN_t *st = sptr;
2286
2287 if(!st) {
2288 return -1; /* No value is not a default value */
2289 }
2290
2291 /* Test default value 1 */
2292 return (*st != 1);
2293}
2294static int asn_DFL_5_set_1(void **sptr) {
Lev Walkin59b176e2005-11-26 11:25:14 +00002295 BOOLEAN_t *st = *sptr;
2296
2297 if(!st) {
2298 st = (*sptr = CALLOC(1, sizeof(*st)));
2299 if(!st) return -1;
2300 }
2301
Lev Walkin20696a42017-10-17 21:27:33 -07002302 /* Install default value 1 */
2303 *st = 1;
2304 return 0;
Lev Walkin59b176e2005-11-26 11:25:14 +00002305}
Lev Walkina7591b52014-10-12 18:37:35 -07002306static const asn_INTEGER_enum_map_t asn_MAP_enum_c_value2enum_6[] = {
Lev Walkin59b176e2005-11-26 11:25:14 +00002307 { 1, 3, "one" },
2308 { 2, 3, "two" },
2309 { 3, 5, "three" }
2310 /* This list is extensible */
2311};
Lev Walkina7591b52014-10-12 18:37:35 -07002312static const unsigned int asn_MAP_enum_c_enum2value_6[] = {
Lev Walkin59b176e2005-11-26 11:25:14 +00002313 0, /* one(1) */
2314 2, /* three(3) */
2315 1 /* two(2) */
2316 /* This list is extensible */
2317};
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +08002318static const asn_INTEGER_specifics_t asn_SPC_enum_c_specs_6 = {
Lev Walkin59b176e2005-11-26 11:25:14 +00002319 asn_MAP_enum_c_value2enum_6, /* "tag" => N; sorted by tag */
2320 asn_MAP_enum_c_enum2value_6, /* N => "tag"; sorted by N */
2321 3, /* Number of elements in the maps */
2322 3, /* Extensions before this member */
Lev Walkin8bb57a22007-12-03 13:41:36 +00002323 1, /* Strict enumeration */
2324 0, /* Native long size */
2325 0
Lev Walkin59b176e2005-11-26 11:25:14 +00002326};
Lev Walkina7591b52014-10-12 18:37:35 -07002327static const ber_tlv_tag_t asn_DEF_enum_c_tags_6[] = {
Lev Walkin59b176e2005-11-26 11:25:14 +00002328 (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
2329};
Lev Walkin59b176e2005-11-26 11:25:14 +00002330static /* Use -fall-defs-global to expose */
2331asn_TYPE_descriptor_t asn_DEF_enum_c_6 = {
2332 "enum-c",
2333 "enum-c",
Bi-Ruei, Chiu1f87ac02017-08-20 01:25:45 +08002334 &asn_OP_NativeEnumerated,
Lev Walkin59b176e2005-11-26 11:25:14 +00002335 asn_DEF_enum_c_tags_6,
2336 sizeof(asn_DEF_enum_c_tags_6)
2337 /sizeof(asn_DEF_enum_c_tags_6[0]), /* 1 */
2338 asn_DEF_enum_c_tags_6, /* Same as above */
2339 sizeof(asn_DEF_enum_c_tags_6)
2340 /sizeof(asn_DEF_enum_c_tags_6[0]), /* 1 */
Lev Walkin0bfea562017-09-29 23:16:48 -07002341 { 0, &asn_PER_type_enum_c_constr_6, NativeEnumerated_constraint },
Lev Walkin59b176e2005-11-26 11:25:14 +00002342 0, 0, /* Defined elsewhere */
2343 &asn_SPC_enum_c_specs_6 /* Additional specs */
2344};
2345
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +08002346asn_TYPE_member_t asn_MBR_Sequence_1[] = {
Lev Walkin59b176e2005-11-26 11:25:14 +00002347 { ATF_POINTER, 1, offsetof(struct Sequence, int1_c),
2348 .tag = (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
2349 .tag_mode = 0,
2350 .type = &asn_DEF_Int1,
Lev Walkin67a30122017-08-10 05:48:54 -07002351 .type_selector = 0,
Lev Walkin0bfea562017-09-29 23:16:48 -07002352 { .oer_constraints = 0, .per_constraints = &asn_PER_memb_int1_c_constr_2, .general_constraints = memb_int1_c_constraint_1 },
Lev Walkinb37ee632017-10-18 16:52:18 -07002353 .default_value_cmp = &asn_DFL_2_cmp_3, /* Compare DEFAULT 3 */
2354 .default_value_set = &asn_DFL_2_set_3, /* Set DEFAULT 3 */
Lev Walkin59b176e2005-11-26 11:25:14 +00002355 .name = "int1-c"
2356 },
2357 { ATF_NOFLAGS, 0, offsetof(struct Sequence, int4),
2358 .tag = (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
2359 .tag_mode = +1, /* EXPLICIT tag at current level */
2360 .type = &asn_DEF_Int4,
Lev Walkin67a30122017-08-10 05:48:54 -07002361 .type_selector = 0,
Lev Walkin0bfea562017-09-29 23:16:48 -07002362 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
Lev Walkin20696a42017-10-17 21:27:33 -07002363 0, 0, /* No default value */
Lev Walkin59b176e2005-11-26 11:25:14 +00002364 .name = "int4"
2365 },
2366 { ATF_NOFLAGS, 0, offsetof(struct Sequence, int4_c),
2367 .tag = (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
2368 .tag_mode = 0,
2369 .type = &asn_DEF_Int4,
Lev Walkin67a30122017-08-10 05:48:54 -07002370 .type_selector = 0,
Lev Walkin0bfea562017-09-29 23:16:48 -07002371 { .oer_constraints = 0, .per_constraints = &asn_PER_memb_int4_c_constr_4, .general_constraints = memb_int4_c_constraint_1 },
Lev Walkin20696a42017-10-17 21:27:33 -07002372 0, 0, /* No default value */
Lev Walkin59b176e2005-11-26 11:25:14 +00002373 .name = "int4-c"
2374 },
Lev Walkin2a744a72013-03-27 01:56:23 -07002375 { ATF_POINTER, 1, offsetof(struct Sequence, Bool),
Lev Walkin59b176e2005-11-26 11:25:14 +00002376 .tag = (ASN_TAG_CLASS_UNIVERSAL | (1 << 2)),
2377 .tag_mode = 0,
2378 .type = &asn_DEF_BOOLEAN,
Lev Walkin67a30122017-08-10 05:48:54 -07002379 .type_selector = 0,
Lev Walkin0bfea562017-09-29 23:16:48 -07002380 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
Lev Walkinb37ee632017-10-18 16:52:18 -07002381 .default_value_cmp = &asn_DFL_5_cmp_1, /* Compare DEFAULT 1 */
2382 .default_value_set = &asn_DFL_5_set_1, /* Set DEFAULT 1 */
Lev Walkin59b176e2005-11-26 11:25:14 +00002383 .name = "bool"
2384 },
2385 { ATF_NOFLAGS, 0, offsetof(struct Sequence, enum_c),
2386 .tag = (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)),
2387 .tag_mode = 0,
2388 .type = &asn_DEF_enum_c_6,
Lev Walkin67a30122017-08-10 05:48:54 -07002389 .type_selector = 0,
Lev Walkin0bfea562017-09-29 23:16:48 -07002390 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
Lev Walkin20696a42017-10-17 21:27:33 -07002391 0, 0, /* No default value */
Lev Walkin59b176e2005-11-26 11:25:14 +00002392 .name = "enum-c"
2393 },
2394 { ATF_POINTER, 2, offsetof(struct Sequence, null),
2395 .tag = (ASN_TAG_CLASS_UNIVERSAL | (5 << 2)),
2396 .tag_mode = 0,
2397 .type = &asn_DEF_NULL,
Lev Walkin67a30122017-08-10 05:48:54 -07002398 .type_selector = 0,
Lev Walkin0bfea562017-09-29 23:16:48 -07002399 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
Lev Walkin20696a42017-10-17 21:27:33 -07002400 0, 0, /* No default value */
Lev Walkin59b176e2005-11-26 11:25:14 +00002401 .name = "null"
2402 },
2403 { ATF_POINTER, 1, offsetof(struct Sequence, int5_c),
2404 .tag = (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
2405 .tag_mode = 0,
2406 .type = &asn_DEF_Int5,
Lev Walkin67a30122017-08-10 05:48:54 -07002407 .type_selector = 0,
Lev Walkin0bfea562017-09-29 23:16:48 -07002408 { .oer_constraints = 0, .per_constraints = &asn_PER_memb_int5_c_constr_13, .general_constraints = memb_int5_c_constraint_1 },
Lev Walkin20696a42017-10-17 21:27:33 -07002409 0, 0, /* No default value */
Lev Walkin59b176e2005-11-26 11:25:14 +00002410 .name = "int5-c"
2411 },
2412};
Lev Walkina7591b52014-10-12 18:37:35 -07002413static const int asn_MAP_Sequence_oms_1[] = { 0, 3, 5, 6 };
2414static const ber_tlv_tag_t asn_DEF_Sequence_tags_1[] = {
Lev Walkin59b176e2005-11-26 11:25:14 +00002415 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
2416};
Lev Walkina7591b52014-10-12 18:37:35 -07002417static const asn_TYPE_tag2member_t asn_MAP_Sequence_tag2el_1[] = {
Lev Walkin4062b012013-10-11 14:29:38 -07002418 { (ASN_TAG_CLASS_UNIVERSAL | (1 << 2)), 3, 0, 0 }, /* bool */
2419 { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 2 }, /* int1-c */
2420 { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 2, -1, 1 }, /* int4-c */
2421 { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 6, -2, 0 }, /* int5-c */
2422 { (ASN_TAG_CLASS_UNIVERSAL | (5 << 2)), 5, 0, 0 }, /* null */
2423 { (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), 4, 0, 0 }, /* enum-c */
2424 { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 1, 0, 0 } /* int4 */
Lev Walkin59b176e2005-11-26 11:25:14 +00002425};
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +08002426asn_SEQUENCE_specifics_t asn_SPC_Sequence_specs_1 = {
Lev Walkin59b176e2005-11-26 11:25:14 +00002427 sizeof(struct Sequence),
2428 offsetof(struct Sequence, _asn_ctx),
Lev Walkine3917082017-08-23 10:29:38 -07002429 .tag2el = asn_MAP_Sequence_tag2el_1,
2430 .tag2el_count = 7, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +00002431 asn_MAP_Sequence_oms_1, /* Optional members */
2432 3, 1, /* Root/Additions */
2433 5, /* Start extensions */
2434 8 /* Stop extensions */
2435};
2436asn_TYPE_descriptor_t asn_DEF_Sequence = {
2437 "Sequence",
2438 "Sequence",
Bi-Ruei, Chiu1f87ac02017-08-20 01:25:45 +08002439 &asn_OP_SEQUENCE,
Lev Walkin59b176e2005-11-26 11:25:14 +00002440 asn_DEF_Sequence_tags_1,
2441 sizeof(asn_DEF_Sequence_tags_1)
2442 /sizeof(asn_DEF_Sequence_tags_1[0]), /* 1 */
2443 asn_DEF_Sequence_tags_1, /* Same as above */
2444 sizeof(asn_DEF_Sequence_tags_1)
2445 /sizeof(asn_DEF_Sequence_tags_1[0]), /* 1 */
Lev Walkin0bfea562017-09-29 23:16:48 -07002446 { 0, 0, SEQUENCE_constraint },
Lev Walkin59b176e2005-11-26 11:25:14 +00002447 asn_MBR_Sequence_1,
2448 7, /* Elements count */
2449 &asn_SPC_Sequence_specs_1 /* Additional specs */
2450};
2451
2452
2453/*** <<< INCLUDES [SequenceOf] >>> ***/
2454
2455#include <asn_SEQUENCE_OF.h>
2456#include <constr_SEQUENCE_OF.h>
2457
2458/*** <<< FWD-DECLS [SequenceOf] >>> ***/
2459
2460struct Sequence;
2461
2462/*** <<< TYPE-DECLS [SequenceOf] >>> ***/
2463
2464typedef struct SequenceOf {
2465 A_SEQUENCE_OF(struct Sequence) list;
2466
2467 /* Context for parsing across buffer boundaries */
2468 asn_struct_ctx_t _asn_ctx;
2469} SequenceOf_t;
2470
2471/*** <<< FUNC-DECLS [SequenceOf] >>> ***/
2472
2473extern asn_TYPE_descriptor_t asn_DEF_SequenceOf;
2474
2475/*** <<< POST-INCLUDE [SequenceOf] >>> ***/
2476
Lev Walkin22b5ed42006-09-13 02:51:20 +00002477#include "Sequence.h"
Lev Walkin59b176e2005-11-26 11:25:14 +00002478
Lev Walkin725883b2006-10-09 12:07:58 +00002479/*** <<< CTDEFS [SequenceOf] >>> ***/
2480
Lev Walkin0479e042017-09-26 18:39:58 -07002481static asn_per_constraints_t asn_PER_type_SequenceOf_constr_1 CC_NOTUSED = {
Lev Walkin725883b2006-10-09 12:07:58 +00002482 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
2483 { APC_CONSTRAINED, 1, 1, 1, 2 } /* (SIZE(1..2)) */,
2484 0, 0 /* No PER value map */
2485};
2486
Lev Walkin59b176e2005-11-26 11:25:14 +00002487/*** <<< STAT-DEFS [SequenceOf] >>> ***/
2488
2489static asn_TYPE_member_t asn_MBR_SequenceOf_1[] = {
2490 { ATF_POINTER, 0, 0,
2491 .tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
2492 .tag_mode = 0,
2493 .type = &asn_DEF_Sequence,
Lev Walkin67a30122017-08-10 05:48:54 -07002494 .type_selector = 0,
Lev Walkin0bfea562017-09-29 23:16:48 -07002495 { .oer_constraints = 0, .per_constraints = 0, .general_constraints = 0 },
Lev Walkin20696a42017-10-17 21:27:33 -07002496 0, 0, /* No default value */
Lev Walkin59b176e2005-11-26 11:25:14 +00002497 .name = ""
2498 },
2499};
Lev Walkina7591b52014-10-12 18:37:35 -07002500static const ber_tlv_tag_t asn_DEF_SequenceOf_tags_1[] = {
Lev Walkin59b176e2005-11-26 11:25:14 +00002501 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
2502};
2503static asn_SET_OF_specifics_t asn_SPC_SequenceOf_specs_1 = {
2504 sizeof(struct SequenceOf),
2505 offsetof(struct SequenceOf, _asn_ctx),
2506 0, /* XER encoding is XMLDelimitedItemList */
2507};
Lev Walkin59b176e2005-11-26 11:25:14 +00002508asn_TYPE_descriptor_t asn_DEF_SequenceOf = {
2509 "SequenceOf",
2510 "SequenceOf",
Bi-Ruei, Chiu1f87ac02017-08-20 01:25:45 +08002511 &asn_OP_SEQUENCE_OF,
Lev Walkin59b176e2005-11-26 11:25:14 +00002512 asn_DEF_SequenceOf_tags_1,
2513 sizeof(asn_DEF_SequenceOf_tags_1)
2514 /sizeof(asn_DEF_SequenceOf_tags_1[0]), /* 1 */
2515 asn_DEF_SequenceOf_tags_1, /* Same as above */
2516 sizeof(asn_DEF_SequenceOf_tags_1)
2517 /sizeof(asn_DEF_SequenceOf_tags_1[0]), /* 1 */
Lev Walkin0bfea562017-09-29 23:16:48 -07002518 { 0, &asn_PER_type_SequenceOf_constr_1, SEQUENCE_OF_constraint },
Lev Walkin59b176e2005-11-26 11:25:14 +00002519 asn_MBR_SequenceOf_1,
2520 1, /* Single element */
2521 &asn_SPC_SequenceOf_specs_1 /* Additional specs */
2522};
2523
2524
2525/*** <<< INCLUDES [Enum0] >>> ***/
2526
Lev Walkin2a744a72013-03-27 01:56:23 -07002527#include <NativeEnumerated.h>
Lev Walkin59b176e2005-11-26 11:25:14 +00002528
2529/*** <<< DEPS [Enum0] >>> ***/
2530
2531typedef enum Enum0 {
2532 Enum0_one = 0,
2533 Enum0_two = 1
Lev Walkin171487e2006-03-21 07:25:18 +00002534} e_Enum0;
Lev Walkin59b176e2005-11-26 11:25:14 +00002535
2536/*** <<< TYPE-DECLS [Enum0] >>> ***/
2537
Lev Walkin2a744a72013-03-27 01:56:23 -07002538typedef long Enum0_t;
Lev Walkin59b176e2005-11-26 11:25:14 +00002539
2540/*** <<< FUNC-DECLS [Enum0] >>> ***/
2541
2542extern asn_TYPE_descriptor_t asn_DEF_Enum0;
2543asn_struct_free_f Enum0_free;
2544asn_struct_print_f Enum0_print;
2545asn_constr_check_f Enum0_constraint;
2546ber_type_decoder_f Enum0_decode_ber;
2547der_type_encoder_f Enum0_encode_der;
2548xer_type_decoder_f Enum0_decode_xer;
2549xer_type_encoder_f Enum0_encode_xer;
2550per_type_decoder_f Enum0_decode_uper;
Lev Walkin9f5bb3a2006-08-18 01:46:46 +00002551per_type_encoder_f Enum0_encode_uper;
Lev Walkin59b176e2005-11-26 11:25:14 +00002552
2553/*** <<< CODE [Enum0] >>> ***/
2554
Lev Walkin59b176e2005-11-26 11:25:14 +00002555/*
Lev Walkin2a744a72013-03-27 01:56:23 -07002556 * This type is implemented using NativeEnumerated,
Lev Walkin59b176e2005-11-26 11:25:14 +00002557 * so here we adjust the DEF accordingly.
2558 */
Lev Walkin59b176e2005-11-26 11:25:14 +00002559
Lev Walkin725883b2006-10-09 12:07:58 +00002560/*** <<< CTDEFS [Enum0] >>> ***/
2561
Lev Walkin0479e042017-09-26 18:39:58 -07002562static asn_per_constraints_t asn_PER_type_Enum0_constr_1 CC_NOTUSED = {
Lev Walkin725883b2006-10-09 12:07:58 +00002563 { APC_CONSTRAINED, 1, 1, 0, 1 } /* (0..1) */,
2564 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
2565 0, 0 /* No PER value map */
2566};
2567
Lev Walkin59b176e2005-11-26 11:25:14 +00002568/*** <<< STAT-DEFS [Enum0] >>> ***/
2569
Lev Walkina7591b52014-10-12 18:37:35 -07002570static const asn_INTEGER_enum_map_t asn_MAP_Enum0_value2enum_1[] = {
Lev Walkin59b176e2005-11-26 11:25:14 +00002571 { 0, 3, "one" },
2572 { 1, 3, "two" }
2573};
Lev Walkina7591b52014-10-12 18:37:35 -07002574static const unsigned int asn_MAP_Enum0_enum2value_1[] = {
Lev Walkin59b176e2005-11-26 11:25:14 +00002575 0, /* one(0) */
2576 1 /* two(1) */
2577};
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +08002578static const asn_INTEGER_specifics_t asn_SPC_Enum0_specs_1 = {
Lev Walkin59b176e2005-11-26 11:25:14 +00002579 asn_MAP_Enum0_value2enum_1, /* "tag" => N; sorted by tag */
2580 asn_MAP_Enum0_enum2value_1, /* N => "tag"; sorted by N */
2581 2, /* Number of elements in the maps */
2582 0, /* Enumeration is not extensible */
Lev Walkin8bb57a22007-12-03 13:41:36 +00002583 1, /* Strict enumeration */
2584 0, /* Native long size */
2585 0
Lev Walkin59b176e2005-11-26 11:25:14 +00002586};
Lev Walkina7591b52014-10-12 18:37:35 -07002587static const ber_tlv_tag_t asn_DEF_Enum0_tags_1[] = {
Lev Walkin59b176e2005-11-26 11:25:14 +00002588 (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
2589};
Lev Walkin59b176e2005-11-26 11:25:14 +00002590asn_TYPE_descriptor_t asn_DEF_Enum0 = {
2591 "Enum0",
2592 "Enum0",
Bi-Ruei, Chiu1f87ac02017-08-20 01:25:45 +08002593 &asn_OP_NativeEnumerated,
Lev Walkin59b176e2005-11-26 11:25:14 +00002594 asn_DEF_Enum0_tags_1,
2595 sizeof(asn_DEF_Enum0_tags_1)
2596 /sizeof(asn_DEF_Enum0_tags_1[0]), /* 1 */
2597 asn_DEF_Enum0_tags_1, /* Same as above */
2598 sizeof(asn_DEF_Enum0_tags_1)
2599 /sizeof(asn_DEF_Enum0_tags_1[0]), /* 1 */
Lev Walkin0bfea562017-09-29 23:16:48 -07002600 { 0, &asn_PER_type_Enum0_constr_1, NativeEnumerated_constraint },
Lev Walkin59b176e2005-11-26 11:25:14 +00002601 0, 0, /* Defined elsewhere */
2602 &asn_SPC_Enum0_specs_1 /* Additional specs */
2603};
2604
2605
2606/*** <<< INCLUDES [Enum1] >>> ***/
2607
2608#include <NativeEnumerated.h>
2609
2610/*** <<< DEPS [Enum1] >>> ***/
2611
2612typedef enum Enum1 {
2613 Enum1_one = 0,
2614 Enum1_two = 1
Lev Walkin171487e2006-03-21 07:25:18 +00002615} e_Enum1;
Lev Walkin59b176e2005-11-26 11:25:14 +00002616
2617/*** <<< TYPE-DECLS [Enum1] >>> ***/
2618
2619typedef long Enum1_t;
2620
2621/*** <<< FUNC-DECLS [Enum1] >>> ***/
2622
2623extern asn_TYPE_descriptor_t asn_DEF_Enum1;
2624asn_struct_free_f Enum1_free;
2625asn_struct_print_f Enum1_print;
2626asn_constr_check_f Enum1_constraint;
2627ber_type_decoder_f Enum1_decode_ber;
2628der_type_encoder_f Enum1_encode_der;
2629xer_type_decoder_f Enum1_decode_xer;
2630xer_type_encoder_f Enum1_encode_xer;
2631per_type_decoder_f Enum1_decode_uper;
Lev Walkin9f5bb3a2006-08-18 01:46:46 +00002632per_type_encoder_f Enum1_encode_uper;
Lev Walkin59b176e2005-11-26 11:25:14 +00002633
2634/*** <<< CODE [Enum1] >>> ***/
2635
2636int
Lev Walkin20696a42017-10-17 21:27:33 -07002637Enum1_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
Lev Walkin1eded352006-07-13 11:19:01 +00002638 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
Lev Walkin59b176e2005-11-26 11:25:14 +00002639 long value;
2640
2641 if(!sptr) {
Lev Walkin7c1dc052016-03-14 03:08:15 -07002642 ASN__CTFAIL(app_key, td, sptr,
Lev Walkin59b176e2005-11-26 11:25:14 +00002643 "%s: value not given (%s:%d)",
2644 td->name, __FILE__, __LINE__);
2645 return -1;
2646 }
2647
2648 value = *(const long *)sptr;
2649
2650 if((value == 0)) {
2651 /* Constraint check succeeded */
2652 return 0;
2653 } else {
Lev Walkin7c1dc052016-03-14 03:08:15 -07002654 ASN__CTFAIL(app_key, td, sptr,
Lev Walkin59b176e2005-11-26 11:25:14 +00002655 "%s: constraint failed (%s:%d)",
2656 td->name, __FILE__, __LINE__);
2657 return -1;
2658 }
2659}
2660
2661/*
2662 * This type is implemented using NativeEnumerated,
2663 * so here we adjust the DEF accordingly.
2664 */
Lev Walkin59b176e2005-11-26 11:25:14 +00002665
Lev Walkin725883b2006-10-09 12:07:58 +00002666/*** <<< CTDEFS [Enum1] >>> ***/
2667
Lev Walkin0479e042017-09-26 18:39:58 -07002668static asn_per_constraints_t asn_PER_type_Enum1_constr_1 CC_NOTUSED = {
Lev Walkin725883b2006-10-09 12:07:58 +00002669 { APC_CONSTRAINED, 1, 1, 0, 1 } /* (0..1) */,
2670 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
2671 0, 0 /* No PER value map */
2672};
2673
Lev Walkin59b176e2005-11-26 11:25:14 +00002674/*** <<< STAT-DEFS [Enum1] >>> ***/
2675
Lev Walkina7591b52014-10-12 18:37:35 -07002676static const asn_INTEGER_enum_map_t asn_MAP_Enum1_value2enum_1[] = {
Lev Walkin59b176e2005-11-26 11:25:14 +00002677 { 0, 3, "one" },
2678 { 1, 3, "two" }
2679};
Lev Walkina7591b52014-10-12 18:37:35 -07002680static const unsigned int asn_MAP_Enum1_enum2value_1[] = {
Lev Walkin59b176e2005-11-26 11:25:14 +00002681 0, /* one(0) */
2682 1 /* two(1) */
2683};
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +08002684static const asn_INTEGER_specifics_t asn_SPC_Enum1_specs_1 = {
Lev Walkin59b176e2005-11-26 11:25:14 +00002685 asn_MAP_Enum1_value2enum_1, /* "tag" => N; sorted by tag */
2686 asn_MAP_Enum1_enum2value_1, /* N => "tag"; sorted by N */
2687 2, /* Number of elements in the maps */
2688 0, /* Enumeration is not extensible */
Lev Walkin8bb57a22007-12-03 13:41:36 +00002689 1, /* Strict enumeration */
2690 0, /* Native long size */
2691 0
Lev Walkin59b176e2005-11-26 11:25:14 +00002692};
Lev Walkina7591b52014-10-12 18:37:35 -07002693static const ber_tlv_tag_t asn_DEF_Enum1_tags_1[] = {
Lev Walkin59b176e2005-11-26 11:25:14 +00002694 (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
2695};
Lev Walkin59b176e2005-11-26 11:25:14 +00002696asn_TYPE_descriptor_t asn_DEF_Enum1 = {
2697 "Enum1",
2698 "Enum1",
Bi-Ruei, Chiu1f87ac02017-08-20 01:25:45 +08002699 &asn_OP_NativeEnumerated,
Lev Walkin59b176e2005-11-26 11:25:14 +00002700 asn_DEF_Enum1_tags_1,
2701 sizeof(asn_DEF_Enum1_tags_1)
2702 /sizeof(asn_DEF_Enum1_tags_1[0]), /* 1 */
2703 asn_DEF_Enum1_tags_1, /* Same as above */
2704 sizeof(asn_DEF_Enum1_tags_1)
2705 /sizeof(asn_DEF_Enum1_tags_1[0]), /* 1 */
Lev Walkin0bfea562017-09-29 23:16:48 -07002706 { 0, &asn_PER_type_Enum1_constr_1, Enum1_constraint },
Lev Walkin59b176e2005-11-26 11:25:14 +00002707 0, 0, /* Defined elsewhere */
2708 &asn_SPC_Enum1_specs_1 /* Additional specs */
2709};
2710
2711
2712/*** <<< INCLUDES [Identifier] >>> ***/
2713
2714#include <VisibleString.h>
2715
2716/*** <<< TYPE-DECLS [Identifier] >>> ***/
2717
2718typedef VisibleString_t Identifier_t;
2719
2720/*** <<< FUNC-DECLS [Identifier] >>> ***/
2721
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +08002722extern asn_per_constraints_t asn_PER_type_Identifier_constr_1;
Lev Walkin59b176e2005-11-26 11:25:14 +00002723extern asn_TYPE_descriptor_t asn_DEF_Identifier;
2724asn_struct_free_f Identifier_free;
2725asn_struct_print_f Identifier_print;
2726asn_constr_check_f Identifier_constraint;
2727ber_type_decoder_f Identifier_decode_ber;
2728der_type_encoder_f Identifier_encode_der;
2729xer_type_decoder_f Identifier_decode_xer;
2730xer_type_encoder_f Identifier_encode_xer;
2731per_type_decoder_f Identifier_decode_uper;
Lev Walkin9f5bb3a2006-08-18 01:46:46 +00002732per_type_encoder_f Identifier_encode_uper;
Lev Walkin59b176e2005-11-26 11:25:14 +00002733
2734/*** <<< CTABLES [Identifier] >>> ***/
2735
Lev Walkina7591b52014-10-12 18:37:35 -07002736static const int permitted_alphabet_table_1[256] = {
Lev Walkin5b62ca82006-09-21 01:52:07 +00002737 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* */
2738 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* */
2739 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* $ */
2740 2, 3, 4, 5, 6, 7, 8, 9,10,11, 0, 0, 0, 0, 0, 0, /* 0123456789 */
2741 0,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26, /* ABCDEFGHIJKLMNO */
274227,28,29,30,31,32,33,34,35,36,37, 0, 0, 0, 0,38, /* PQRSTUVWXYZ _ */
2743 0,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53, /* abcdefghijklmno */
274454,55,56,57,58,59,60,61,62,63,64, 0, 0, 0, 0, 0, /* pqrstuvwxyz */
Lev Walkin59b176e2005-11-26 11:25:14 +00002745};
Lev Walkina7591b52014-10-12 18:37:35 -07002746static const int permitted_alphabet_code2value_1[64] = {
Lev Walkin5b62ca82006-09-21 01:52:07 +0000274736,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,
274870,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,
274986,87,88,89,90,95,97,98,99,100,101,102,103,104,105,106,
2750107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,
2751};
2752
Lev Walkin59b176e2005-11-26 11:25:14 +00002753
2754static int check_permitted_alphabet_1(const void *sptr) {
Lev Walkina7591b52014-10-12 18:37:35 -07002755 const int *table = permitted_alphabet_table_1;
Lev Walkin59b176e2005-11-26 11:25:14 +00002756 /* The underlying type is VisibleString */
2757 const VisibleString_t *st = (const VisibleString_t *)sptr;
2758 const uint8_t *ch = st->buf;
2759 const uint8_t *end = ch + st->size;
2760
2761 for(; ch < end; ch++) {
2762 uint8_t cv = *ch;
2763 if(!table[cv]) return -1;
2764 }
2765 return 0;
2766}
2767
2768
2769/*** <<< CODE [Identifier] >>> ***/
2770
2771int
Lev Walkin20696a42017-10-17 21:27:33 -07002772Identifier_constraint(const asn_TYPE_descriptor_t *td, const void *sptr,
Lev Walkin1eded352006-07-13 11:19:01 +00002773 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
Lev Walkin59b176e2005-11-26 11:25:14 +00002774 const VisibleString_t *st = (const VisibleString_t *)sptr;
2775 size_t size;
2776
2777 if(!sptr) {
Lev Walkin7c1dc052016-03-14 03:08:15 -07002778 ASN__CTFAIL(app_key, td, sptr,
Lev Walkin59b176e2005-11-26 11:25:14 +00002779 "%s: value not given (%s:%d)",
2780 td->name, __FILE__, __LINE__);
2781 return -1;
2782 }
2783
2784 size = st->size;
2785
2786 if((size >= 1 && size <= 32)
2787 && !check_permitted_alphabet_1(st)) {
2788 /* Constraint check succeeded */
2789 return 0;
2790 } else {
Lev Walkin7c1dc052016-03-14 03:08:15 -07002791 ASN__CTFAIL(app_key, td, sptr,
Lev Walkin59b176e2005-11-26 11:25:14 +00002792 "%s: constraint failed (%s:%d)",
2793 td->name, __FILE__, __LINE__);
2794 return -1;
2795 }
2796}
2797
Lev Walkin725883b2006-10-09 12:07:58 +00002798static int asn_PER_MAP_Identifier_1_v2c(unsigned int value) {
2799 if(value >= sizeof(permitted_alphabet_table_1)/sizeof(permitted_alphabet_table_1[0]))
2800 return -1;
2801 return permitted_alphabet_table_1[value] - 1;
2802}
2803static int asn_PER_MAP_Identifier_1_c2v(unsigned int code) {
2804 if(code >= sizeof(permitted_alphabet_code2value_1)/sizeof(permitted_alphabet_code2value_1[0]))
2805 return -1;
2806 return permitted_alphabet_code2value_1[code];
2807}
Lev Walkin59b176e2005-11-26 11:25:14 +00002808/*
2809 * This type is implemented using VisibleString,
2810 * so here we adjust the DEF accordingly.
2811 */
Lev Walkin59b176e2005-11-26 11:25:14 +00002812
Lev Walkin725883b2006-10-09 12:07:58 +00002813/*** <<< CTDEFS [Identifier] >>> ***/
2814
Lev Walkin0479e042017-09-26 18:39:58 -07002815asn_per_constraints_t asn_PER_type_Identifier_constr_1 CC_NOTUSED = {
Lev Walkin725883b2006-10-09 12:07:58 +00002816 { APC_CONSTRAINED, 6, 6, 36, 122 } /* (36..122) */,
2817 { APC_CONSTRAINED, 5, 5, 1, 32 } /* (SIZE(1..32)) */,
2818 asn_PER_MAP_Identifier_1_v2c, /* Value to PER code map */
2819 asn_PER_MAP_Identifier_1_c2v /* PER code to value map */
2820};
2821
Lev Walkin59b176e2005-11-26 11:25:14 +00002822/*** <<< STAT-DEFS [Identifier] >>> ***/
2823
Lev Walkina7591b52014-10-12 18:37:35 -07002824static const ber_tlv_tag_t asn_DEF_Identifier_tags_1[] = {
Lev Walkin59b176e2005-11-26 11:25:14 +00002825 (ASN_TAG_CLASS_UNIVERSAL | (26 << 2))
2826};
Lev Walkin59b176e2005-11-26 11:25:14 +00002827asn_TYPE_descriptor_t asn_DEF_Identifier = {
2828 "Identifier",
2829 "Identifier",
Bi-Ruei, Chiu1f87ac02017-08-20 01:25:45 +08002830 &asn_OP_VisibleString,
Lev Walkin59b176e2005-11-26 11:25:14 +00002831 asn_DEF_Identifier_tags_1,
2832 sizeof(asn_DEF_Identifier_tags_1)
2833 /sizeof(asn_DEF_Identifier_tags_1[0]), /* 1 */
2834 asn_DEF_Identifier_tags_1, /* Same as above */
2835 sizeof(asn_DEF_Identifier_tags_1)
2836 /sizeof(asn_DEF_Identifier_tags_1[0]), /* 1 */
Lev Walkin0bfea562017-09-29 23:16:48 -07002837 { 0, &asn_PER_type_Identifier_constr_1, Identifier_constraint },
Lev Walkin59b176e2005-11-26 11:25:14 +00002838 0, 0, /* No members */
2839 0 /* No specifics */
2840};
2841