[Epic-ID: ODUHIGH-405][Task-ID: ODUHIGH-423] Modified RRC asn structures
[o-du/l2.git] / src / codec_utils / RRC / PortIndexFor8Ranks.c
1 /*
2  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
3  * From ASN.1 module "NR-RRC-Definitions"
4  *      found in "../../../rrc_15.3_asn.asn1"
5  *      `asn1c -D ./25_02_2022_RRC/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
6  */
7
8 #include "PortIndexFor8Ranks.h"
9
10 static int
11 memb_rank2_8_constraint_2(const asn_TYPE_descriptor_t *td, const void *sptr,
12                         asn_app_constraint_failed_f *ctfailcb, void *app_key) {
13         size_t size;
14         
15         if(!sptr) {
16                 ASN__CTFAIL(app_key, td, sptr,
17                         "%s: value not given (%s:%d)",
18                         td->name, __FILE__, __LINE__);
19                 return -1;
20         }
21         
22         /* Determine the number of elements */
23         size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
24         
25         if((size == 2)) {
26                 /* Perform validation of the inner elements */
27                 return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
28         } else {
29                 ASN__CTFAIL(app_key, td, sptr,
30                         "%s: constraint failed (%s:%d)",
31                         td->name, __FILE__, __LINE__);
32                 return -1;
33         }
34 }
35
36 static int
37 memb_rank3_8_constraint_2(const asn_TYPE_descriptor_t *td, const void *sptr,
38                         asn_app_constraint_failed_f *ctfailcb, void *app_key) {
39         size_t size;
40         
41         if(!sptr) {
42                 ASN__CTFAIL(app_key, td, sptr,
43                         "%s: value not given (%s:%d)",
44                         td->name, __FILE__, __LINE__);
45                 return -1;
46         }
47         
48         /* Determine the number of elements */
49         size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
50         
51         if((size == 3)) {
52                 /* Perform validation of the inner elements */
53                 return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
54         } else {
55                 ASN__CTFAIL(app_key, td, sptr,
56                         "%s: constraint failed (%s:%d)",
57                         td->name, __FILE__, __LINE__);
58                 return -1;
59         }
60 }
61
62 static int
63 memb_rank4_8_constraint_2(const asn_TYPE_descriptor_t *td, const void *sptr,
64                         asn_app_constraint_failed_f *ctfailcb, void *app_key) {
65         size_t size;
66         
67         if(!sptr) {
68                 ASN__CTFAIL(app_key, td, sptr,
69                         "%s: value not given (%s:%d)",
70                         td->name, __FILE__, __LINE__);
71                 return -1;
72         }
73         
74         /* Determine the number of elements */
75         size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
76         
77         if((size == 4)) {
78                 /* Perform validation of the inner elements */
79                 return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
80         } else {
81                 ASN__CTFAIL(app_key, td, sptr,
82                         "%s: constraint failed (%s:%d)",
83                         td->name, __FILE__, __LINE__);
84                 return -1;
85         }
86 }
87
88 static int
89 memb_rank5_8_constraint_2(const asn_TYPE_descriptor_t *td, const void *sptr,
90                         asn_app_constraint_failed_f *ctfailcb, void *app_key) {
91         size_t size;
92         
93         if(!sptr) {
94                 ASN__CTFAIL(app_key, td, sptr,
95                         "%s: value not given (%s:%d)",
96                         td->name, __FILE__, __LINE__);
97                 return -1;
98         }
99         
100         /* Determine the number of elements */
101         size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
102         
103         if((size == 5)) {
104                 /* Perform validation of the inner elements */
105                 return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
106         } else {
107                 ASN__CTFAIL(app_key, td, sptr,
108                         "%s: constraint failed (%s:%d)",
109                         td->name, __FILE__, __LINE__);
110                 return -1;
111         }
112 }
113
114 static int
115 memb_rank6_8_constraint_2(const asn_TYPE_descriptor_t *td, const void *sptr,
116                         asn_app_constraint_failed_f *ctfailcb, void *app_key) {
117         size_t size;
118         
119         if(!sptr) {
120                 ASN__CTFAIL(app_key, td, sptr,
121                         "%s: value not given (%s:%d)",
122                         td->name, __FILE__, __LINE__);
123                 return -1;
124         }
125         
126         /* Determine the number of elements */
127         size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
128         
129         if((size == 6)) {
130                 /* Perform validation of the inner elements */
131                 return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
132         } else {
133                 ASN__CTFAIL(app_key, td, sptr,
134                         "%s: constraint failed (%s:%d)",
135                         td->name, __FILE__, __LINE__);
136                 return -1;
137         }
138 }
139
140 static int
141 memb_rank7_8_constraint_2(const asn_TYPE_descriptor_t *td, const void *sptr,
142                         asn_app_constraint_failed_f *ctfailcb, void *app_key) {
143         size_t size;
144         
145         if(!sptr) {
146                 ASN__CTFAIL(app_key, td, sptr,
147                         "%s: value not given (%s:%d)",
148                         td->name, __FILE__, __LINE__);
149                 return -1;
150         }
151         
152         /* Determine the number of elements */
153         size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
154         
155         if((size == 7)) {
156                 /* Perform validation of the inner elements */
157                 return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
158         } else {
159                 ASN__CTFAIL(app_key, td, sptr,
160                         "%s: constraint failed (%s:%d)",
161                         td->name, __FILE__, __LINE__);
162                 return -1;
163         }
164 }
165
166 static int
167 memb_rank8_8_constraint_2(const asn_TYPE_descriptor_t *td, const void *sptr,
168                         asn_app_constraint_failed_f *ctfailcb, void *app_key) {
169         size_t size;
170         
171         if(!sptr) {
172                 ASN__CTFAIL(app_key, td, sptr,
173                         "%s: value not given (%s:%d)",
174                         td->name, __FILE__, __LINE__);
175                 return -1;
176         }
177         
178         /* Determine the number of elements */
179         size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
180         
181         if((size == 8)) {
182                 /* Perform validation of the inner elements */
183                 return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
184         } else {
185                 ASN__CTFAIL(app_key, td, sptr,
186                         "%s: constraint failed (%s:%d)",
187                         td->name, __FILE__, __LINE__);
188                 return -1;
189         }
190 }
191
192 static int
193 memb_rank2_4_constraint_18(const asn_TYPE_descriptor_t *td, const void *sptr,
194                         asn_app_constraint_failed_f *ctfailcb, void *app_key) {
195         size_t size;
196         
197         if(!sptr) {
198                 ASN__CTFAIL(app_key, td, sptr,
199                         "%s: value not given (%s:%d)",
200                         td->name, __FILE__, __LINE__);
201                 return -1;
202         }
203         
204         /* Determine the number of elements */
205         size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
206         
207         if((size == 2)) {
208                 /* Perform validation of the inner elements */
209                 return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
210         } else {
211                 ASN__CTFAIL(app_key, td, sptr,
212                         "%s: constraint failed (%s:%d)",
213                         td->name, __FILE__, __LINE__);
214                 return -1;
215         }
216 }
217
218 static int
219 memb_rank3_4_constraint_18(const asn_TYPE_descriptor_t *td, const void *sptr,
220                         asn_app_constraint_failed_f *ctfailcb, void *app_key) {
221         size_t size;
222         
223         if(!sptr) {
224                 ASN__CTFAIL(app_key, td, sptr,
225                         "%s: value not given (%s:%d)",
226                         td->name, __FILE__, __LINE__);
227                 return -1;
228         }
229         
230         /* Determine the number of elements */
231         size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
232         
233         if((size == 3)) {
234                 /* Perform validation of the inner elements */
235                 return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
236         } else {
237                 ASN__CTFAIL(app_key, td, sptr,
238                         "%s: constraint failed (%s:%d)",
239                         td->name, __FILE__, __LINE__);
240                 return -1;
241         }
242 }
243
244 static int
245 memb_rank4_4_constraint_18(const asn_TYPE_descriptor_t *td, const void *sptr,
246                         asn_app_constraint_failed_f *ctfailcb, void *app_key) {
247         size_t size;
248         
249         if(!sptr) {
250                 ASN__CTFAIL(app_key, td, sptr,
251                         "%s: value not given (%s:%d)",
252                         td->name, __FILE__, __LINE__);
253                 return -1;
254         }
255         
256         /* Determine the number of elements */
257         size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
258         
259         if((size == 4)) {
260                 /* Perform validation of the inner elements */
261                 return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
262         } else {
263                 ASN__CTFAIL(app_key, td, sptr,
264                         "%s: constraint failed (%s:%d)",
265                         td->name, __FILE__, __LINE__);
266                 return -1;
267         }
268 }
269
270 static int
271 memb_rank2_2_constraint_26(const asn_TYPE_descriptor_t *td, const void *sptr,
272                         asn_app_constraint_failed_f *ctfailcb, void *app_key) {
273         size_t size;
274         
275         if(!sptr) {
276                 ASN__CTFAIL(app_key, td, sptr,
277                         "%s: value not given (%s:%d)",
278                         td->name, __FILE__, __LINE__);
279                 return -1;
280         }
281         
282         /* Determine the number of elements */
283         size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
284         
285         if((size == 2)) {
286                 /* Perform validation of the inner elements */
287                 return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
288         } else {
289                 ASN__CTFAIL(app_key, td, sptr,
290                         "%s: constraint failed (%s:%d)",
291                         td->name, __FILE__, __LINE__);
292                 return -1;
293         }
294 }
295
296 static asn_oer_constraints_t asn_OER_type_rank2_8_constr_4 CC_NOTUSED = {
297         { 0, 0 },
298         2       /* (SIZE(2..2)) */};
299 static asn_per_constraints_t asn_PER_type_rank2_8_constr_4 CC_NOTUSED = {
300         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
301         { APC_CONSTRAINED,       0,  0,  2,  2 }        /* (SIZE(2..2)) */,
302         0, 0    /* No PER value map */
303 };
304 static asn_oer_constraints_t asn_OER_type_rank3_8_constr_6 CC_NOTUSED = {
305         { 0, 0 },
306         3       /* (SIZE(3..3)) */};
307 static asn_per_constraints_t asn_PER_type_rank3_8_constr_6 CC_NOTUSED = {
308         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
309         { APC_CONSTRAINED,       0,  0,  3,  3 }        /* (SIZE(3..3)) */,
310         0, 0    /* No PER value map */
311 };
312 static asn_oer_constraints_t asn_OER_type_rank4_8_constr_8 CC_NOTUSED = {
313         { 0, 0 },
314         4       /* (SIZE(4..4)) */};
315 static asn_per_constraints_t asn_PER_type_rank4_8_constr_8 CC_NOTUSED = {
316         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
317         { APC_CONSTRAINED,       0,  0,  4,  4 }        /* (SIZE(4..4)) */,
318         0, 0    /* No PER value map */
319 };
320 static asn_oer_constraints_t asn_OER_type_rank5_8_constr_10 CC_NOTUSED = {
321         { 0, 0 },
322         5       /* (SIZE(5..5)) */};
323 static asn_per_constraints_t asn_PER_type_rank5_8_constr_10 CC_NOTUSED = {
324         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
325         { APC_CONSTRAINED,       0,  0,  5,  5 }        /* (SIZE(5..5)) */,
326         0, 0    /* No PER value map */
327 };
328 static asn_oer_constraints_t asn_OER_type_rank6_8_constr_12 CC_NOTUSED = {
329         { 0, 0 },
330         6       /* (SIZE(6..6)) */};
331 static asn_per_constraints_t asn_PER_type_rank6_8_constr_12 CC_NOTUSED = {
332         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
333         { APC_CONSTRAINED,       0,  0,  6,  6 }        /* (SIZE(6..6)) */,
334         0, 0    /* No PER value map */
335 };
336 static asn_oer_constraints_t asn_OER_type_rank7_8_constr_14 CC_NOTUSED = {
337         { 0, 0 },
338         7       /* (SIZE(7..7)) */};
339 static asn_per_constraints_t asn_PER_type_rank7_8_constr_14 CC_NOTUSED = {
340         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
341         { APC_CONSTRAINED,       0,  0,  7,  7 }        /* (SIZE(7..7)) */,
342         0, 0    /* No PER value map */
343 };
344 static asn_oer_constraints_t asn_OER_type_rank8_8_constr_16 CC_NOTUSED = {
345         { 0, 0 },
346         8       /* (SIZE(8..8)) */};
347 static asn_per_constraints_t asn_PER_type_rank8_8_constr_16 CC_NOTUSED = {
348         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
349         { APC_CONSTRAINED,       0,  0,  8,  8 }        /* (SIZE(8..8)) */,
350         0, 0    /* No PER value map */
351 };
352 static asn_oer_constraints_t asn_OER_memb_rank2_8_constr_4 CC_NOTUSED = {
353         { 0, 0 },
354         2       /* (SIZE(2..2)) */};
355 static asn_per_constraints_t asn_PER_memb_rank2_8_constr_4 CC_NOTUSED = {
356         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
357         { APC_CONSTRAINED,       0,  0,  2,  2 }        /* (SIZE(2..2)) */,
358         0, 0    /* No PER value map */
359 };
360 static asn_oer_constraints_t asn_OER_memb_rank3_8_constr_6 CC_NOTUSED = {
361         { 0, 0 },
362         3       /* (SIZE(3..3)) */};
363 static asn_per_constraints_t asn_PER_memb_rank3_8_constr_6 CC_NOTUSED = {
364         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
365         { APC_CONSTRAINED,       0,  0,  3,  3 }        /* (SIZE(3..3)) */,
366         0, 0    /* No PER value map */
367 };
368 static asn_oer_constraints_t asn_OER_memb_rank4_8_constr_8 CC_NOTUSED = {
369         { 0, 0 },
370         4       /* (SIZE(4..4)) */};
371 static asn_per_constraints_t asn_PER_memb_rank4_8_constr_8 CC_NOTUSED = {
372         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
373         { APC_CONSTRAINED,       0,  0,  4,  4 }        /* (SIZE(4..4)) */,
374         0, 0    /* No PER value map */
375 };
376 static asn_oer_constraints_t asn_OER_memb_rank5_8_constr_10 CC_NOTUSED = {
377         { 0, 0 },
378         5       /* (SIZE(5..5)) */};
379 static asn_per_constraints_t asn_PER_memb_rank5_8_constr_10 CC_NOTUSED = {
380         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
381         { APC_CONSTRAINED,       0,  0,  5,  5 }        /* (SIZE(5..5)) */,
382         0, 0    /* No PER value map */
383 };
384 static asn_oer_constraints_t asn_OER_memb_rank6_8_constr_12 CC_NOTUSED = {
385         { 0, 0 },
386         6       /* (SIZE(6..6)) */};
387 static asn_per_constraints_t asn_PER_memb_rank6_8_constr_12 CC_NOTUSED = {
388         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
389         { APC_CONSTRAINED,       0,  0,  6,  6 }        /* (SIZE(6..6)) */,
390         0, 0    /* No PER value map */
391 };
392 static asn_oer_constraints_t asn_OER_memb_rank7_8_constr_14 CC_NOTUSED = {
393         { 0, 0 },
394         7       /* (SIZE(7..7)) */};
395 static asn_per_constraints_t asn_PER_memb_rank7_8_constr_14 CC_NOTUSED = {
396         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
397         { APC_CONSTRAINED,       0,  0,  7,  7 }        /* (SIZE(7..7)) */,
398         0, 0    /* No PER value map */
399 };
400 static asn_oer_constraints_t asn_OER_memb_rank8_8_constr_16 CC_NOTUSED = {
401         { 0, 0 },
402         8       /* (SIZE(8..8)) */};
403 static asn_per_constraints_t asn_PER_memb_rank8_8_constr_16 CC_NOTUSED = {
404         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
405         { APC_CONSTRAINED,       0,  0,  8,  8 }        /* (SIZE(8..8)) */,
406         0, 0    /* No PER value map */
407 };
408 static asn_oer_constraints_t asn_OER_type_rank2_4_constr_20 CC_NOTUSED = {
409         { 0, 0 },
410         2       /* (SIZE(2..2)) */};
411 static asn_per_constraints_t asn_PER_type_rank2_4_constr_20 CC_NOTUSED = {
412         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
413         { APC_CONSTRAINED,       0,  0,  2,  2 }        /* (SIZE(2..2)) */,
414         0, 0    /* No PER value map */
415 };
416 static asn_oer_constraints_t asn_OER_type_rank3_4_constr_22 CC_NOTUSED = {
417         { 0, 0 },
418         3       /* (SIZE(3..3)) */};
419 static asn_per_constraints_t asn_PER_type_rank3_4_constr_22 CC_NOTUSED = {
420         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
421         { APC_CONSTRAINED,       0,  0,  3,  3 }        /* (SIZE(3..3)) */,
422         0, 0    /* No PER value map */
423 };
424 static asn_oer_constraints_t asn_OER_type_rank4_4_constr_24 CC_NOTUSED = {
425         { 0, 0 },
426         4       /* (SIZE(4..4)) */};
427 static asn_per_constraints_t asn_PER_type_rank4_4_constr_24 CC_NOTUSED = {
428         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
429         { APC_CONSTRAINED,       0,  0,  4,  4 }        /* (SIZE(4..4)) */,
430         0, 0    /* No PER value map */
431 };
432 static asn_oer_constraints_t asn_OER_memb_rank2_4_constr_20 CC_NOTUSED = {
433         { 0, 0 },
434         2       /* (SIZE(2..2)) */};
435 static asn_per_constraints_t asn_PER_memb_rank2_4_constr_20 CC_NOTUSED = {
436         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
437         { APC_CONSTRAINED,       0,  0,  2,  2 }        /* (SIZE(2..2)) */,
438         0, 0    /* No PER value map */
439 };
440 static asn_oer_constraints_t asn_OER_memb_rank3_4_constr_22 CC_NOTUSED = {
441         { 0, 0 },
442         3       /* (SIZE(3..3)) */};
443 static asn_per_constraints_t asn_PER_memb_rank3_4_constr_22 CC_NOTUSED = {
444         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
445         { APC_CONSTRAINED,       0,  0,  3,  3 }        /* (SIZE(3..3)) */,
446         0, 0    /* No PER value map */
447 };
448 static asn_oer_constraints_t asn_OER_memb_rank4_4_constr_24 CC_NOTUSED = {
449         { 0, 0 },
450         4       /* (SIZE(4..4)) */};
451 static asn_per_constraints_t asn_PER_memb_rank4_4_constr_24 CC_NOTUSED = {
452         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
453         { APC_CONSTRAINED,       0,  0,  4,  4 }        /* (SIZE(4..4)) */,
454         0, 0    /* No PER value map */
455 };
456 static asn_oer_constraints_t asn_OER_type_rank2_2_constr_28 CC_NOTUSED = {
457         { 0, 0 },
458         2       /* (SIZE(2..2)) */};
459 static asn_per_constraints_t asn_PER_type_rank2_2_constr_28 CC_NOTUSED = {
460         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
461         { APC_CONSTRAINED,       0,  0,  2,  2 }        /* (SIZE(2..2)) */,
462         0, 0    /* No PER value map */
463 };
464 static asn_oer_constraints_t asn_OER_memb_rank2_2_constr_28 CC_NOTUSED = {
465         { 0, 0 },
466         2       /* (SIZE(2..2)) */};
467 static asn_per_constraints_t asn_PER_memb_rank2_2_constr_28 CC_NOTUSED = {
468         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
469         { APC_CONSTRAINED,       0,  0,  2,  2 }        /* (SIZE(2..2)) */,
470         0, 0    /* No PER value map */
471 };
472 static asn_oer_constraints_t asn_OER_type_PortIndexFor8Ranks_constr_1 CC_NOTUSED = {
473         { 0, 0 },
474         -1};
475 asn_per_constraints_t asn_PER_type_PortIndexFor8Ranks_constr_1 CC_NOTUSED = {
476         { APC_CONSTRAINED,       2,  2,  0,  3 }        /* (0..3) */,
477         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
478         0, 0    /* No PER value map */
479 };
480 static asn_TYPE_member_t asn_MBR_rank2_8_4[] = {
481         { ATF_POINTER, 0, 0,
482                 (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
483                 0,
484                 &asn_DEF_PortIndex8,
485                 0,
486                 { 0, 0, 0 },
487                 0, 0, /* No default value */
488                 ""
489                 },
490 };
491 static const ber_tlv_tag_t asn_DEF_rank2_8_tags_4[] = {
492         (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
493         (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
494 };
495 static asn_SET_OF_specifics_t asn_SPC_rank2_8_specs_4 = {
496         sizeof(struct PortIndexFor8Ranks__portIndex8__rank2_8),
497         offsetof(struct PortIndexFor8Ranks__portIndex8__rank2_8, _asn_ctx),
498         0,      /* XER encoding is XMLDelimitedItemList */
499 };
500 static /* Use -fall-defs-global to expose */
501 asn_TYPE_descriptor_t asn_DEF_rank2_8_4 = {
502         "rank2-8",
503         "rank2-8",
504         &asn_OP_SEQUENCE_OF,
505         asn_DEF_rank2_8_tags_4,
506         sizeof(asn_DEF_rank2_8_tags_4)
507                 /sizeof(asn_DEF_rank2_8_tags_4[0]) - 1, /* 1 */
508         asn_DEF_rank2_8_tags_4, /* Same as above */
509         sizeof(asn_DEF_rank2_8_tags_4)
510                 /sizeof(asn_DEF_rank2_8_tags_4[0]), /* 2 */
511         { &asn_OER_type_rank2_8_constr_4, &asn_PER_type_rank2_8_constr_4, SEQUENCE_OF_constraint },
512         asn_MBR_rank2_8_4,
513         1,      /* Single element */
514         &asn_SPC_rank2_8_specs_4        /* Additional specs */
515 };
516
517 static asn_TYPE_member_t asn_MBR_rank3_8_6[] = {
518         { ATF_POINTER, 0, 0,
519                 (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
520                 0,
521                 &asn_DEF_PortIndex8,
522                 0,
523                 { 0, 0, 0 },
524                 0, 0, /* No default value */
525                 ""
526                 },
527 };
528 static const ber_tlv_tag_t asn_DEF_rank3_8_tags_6[] = {
529         (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
530         (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
531 };
532 static asn_SET_OF_specifics_t asn_SPC_rank3_8_specs_6 = {
533         sizeof(struct PortIndexFor8Ranks__portIndex8__rank3_8),
534         offsetof(struct PortIndexFor8Ranks__portIndex8__rank3_8, _asn_ctx),
535         0,      /* XER encoding is XMLDelimitedItemList */
536 };
537 static /* Use -fall-defs-global to expose */
538 asn_TYPE_descriptor_t asn_DEF_rank3_8_6 = {
539         "rank3-8",
540         "rank3-8",
541         &asn_OP_SEQUENCE_OF,
542         asn_DEF_rank3_8_tags_6,
543         sizeof(asn_DEF_rank3_8_tags_6)
544                 /sizeof(asn_DEF_rank3_8_tags_6[0]) - 1, /* 1 */
545         asn_DEF_rank3_8_tags_6, /* Same as above */
546         sizeof(asn_DEF_rank3_8_tags_6)
547                 /sizeof(asn_DEF_rank3_8_tags_6[0]), /* 2 */
548         { &asn_OER_type_rank3_8_constr_6, &asn_PER_type_rank3_8_constr_6, SEQUENCE_OF_constraint },
549         asn_MBR_rank3_8_6,
550         1,      /* Single element */
551         &asn_SPC_rank3_8_specs_6        /* Additional specs */
552 };
553
554 static asn_TYPE_member_t asn_MBR_rank4_8_8[] = {
555         { ATF_POINTER, 0, 0,
556                 (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
557                 0,
558                 &asn_DEF_PortIndex8,
559                 0,
560                 { 0, 0, 0 },
561                 0, 0, /* No default value */
562                 ""
563                 },
564 };
565 static const ber_tlv_tag_t asn_DEF_rank4_8_tags_8[] = {
566         (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
567         (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
568 };
569 static asn_SET_OF_specifics_t asn_SPC_rank4_8_specs_8 = {
570         sizeof(struct PortIndexFor8Ranks__portIndex8__rank4_8),
571         offsetof(struct PortIndexFor8Ranks__portIndex8__rank4_8, _asn_ctx),
572         0,      /* XER encoding is XMLDelimitedItemList */
573 };
574 static /* Use -fall-defs-global to expose */
575 asn_TYPE_descriptor_t asn_DEF_rank4_8_8 = {
576         "rank4-8",
577         "rank4-8",
578         &asn_OP_SEQUENCE_OF,
579         asn_DEF_rank4_8_tags_8,
580         sizeof(asn_DEF_rank4_8_tags_8)
581                 /sizeof(asn_DEF_rank4_8_tags_8[0]) - 1, /* 1 */
582         asn_DEF_rank4_8_tags_8, /* Same as above */
583         sizeof(asn_DEF_rank4_8_tags_8)
584                 /sizeof(asn_DEF_rank4_8_tags_8[0]), /* 2 */
585         { &asn_OER_type_rank4_8_constr_8, &asn_PER_type_rank4_8_constr_8, SEQUENCE_OF_constraint },
586         asn_MBR_rank4_8_8,
587         1,      /* Single element */
588         &asn_SPC_rank4_8_specs_8        /* Additional specs */
589 };
590
591 static asn_TYPE_member_t asn_MBR_rank5_8_10[] = {
592         { ATF_POINTER, 0, 0,
593                 (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
594                 0,
595                 &asn_DEF_PortIndex8,
596                 0,
597                 { 0, 0, 0 },
598                 0, 0, /* No default value */
599                 ""
600                 },
601 };
602 static const ber_tlv_tag_t asn_DEF_rank5_8_tags_10[] = {
603         (ASN_TAG_CLASS_CONTEXT | (4 << 2)),
604         (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
605 };
606 static asn_SET_OF_specifics_t asn_SPC_rank5_8_specs_10 = {
607         sizeof(struct PortIndexFor8Ranks__portIndex8__rank5_8),
608         offsetof(struct PortIndexFor8Ranks__portIndex8__rank5_8, _asn_ctx),
609         0,      /* XER encoding is XMLDelimitedItemList */
610 };
611 static /* Use -fall-defs-global to expose */
612 asn_TYPE_descriptor_t asn_DEF_rank5_8_10 = {
613         "rank5-8",
614         "rank5-8",
615         &asn_OP_SEQUENCE_OF,
616         asn_DEF_rank5_8_tags_10,
617         sizeof(asn_DEF_rank5_8_tags_10)
618                 /sizeof(asn_DEF_rank5_8_tags_10[0]) - 1, /* 1 */
619         asn_DEF_rank5_8_tags_10,        /* Same as above */
620         sizeof(asn_DEF_rank5_8_tags_10)
621                 /sizeof(asn_DEF_rank5_8_tags_10[0]), /* 2 */
622         { &asn_OER_type_rank5_8_constr_10, &asn_PER_type_rank5_8_constr_10, SEQUENCE_OF_constraint },
623         asn_MBR_rank5_8_10,
624         1,      /* Single element */
625         &asn_SPC_rank5_8_specs_10       /* Additional specs */
626 };
627
628 static asn_TYPE_member_t asn_MBR_rank6_8_12[] = {
629         { ATF_POINTER, 0, 0,
630                 (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
631                 0,
632                 &asn_DEF_PortIndex8,
633                 0,
634                 { 0, 0, 0 },
635                 0, 0, /* No default value */
636                 ""
637                 },
638 };
639 static const ber_tlv_tag_t asn_DEF_rank6_8_tags_12[] = {
640         (ASN_TAG_CLASS_CONTEXT | (5 << 2)),
641         (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
642 };
643 static asn_SET_OF_specifics_t asn_SPC_rank6_8_specs_12 = {
644         sizeof(struct PortIndexFor8Ranks__portIndex8__rank6_8),
645         offsetof(struct PortIndexFor8Ranks__portIndex8__rank6_8, _asn_ctx),
646         0,      /* XER encoding is XMLDelimitedItemList */
647 };
648 static /* Use -fall-defs-global to expose */
649 asn_TYPE_descriptor_t asn_DEF_rank6_8_12 = {
650         "rank6-8",
651         "rank6-8",
652         &asn_OP_SEQUENCE_OF,
653         asn_DEF_rank6_8_tags_12,
654         sizeof(asn_DEF_rank6_8_tags_12)
655                 /sizeof(asn_DEF_rank6_8_tags_12[0]) - 1, /* 1 */
656         asn_DEF_rank6_8_tags_12,        /* Same as above */
657         sizeof(asn_DEF_rank6_8_tags_12)
658                 /sizeof(asn_DEF_rank6_8_tags_12[0]), /* 2 */
659         { &asn_OER_type_rank6_8_constr_12, &asn_PER_type_rank6_8_constr_12, SEQUENCE_OF_constraint },
660         asn_MBR_rank6_8_12,
661         1,      /* Single element */
662         &asn_SPC_rank6_8_specs_12       /* Additional specs */
663 };
664
665 static asn_TYPE_member_t asn_MBR_rank7_8_14[] = {
666         { ATF_POINTER, 0, 0,
667                 (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
668                 0,
669                 &asn_DEF_PortIndex8,
670                 0,
671                 { 0, 0, 0 },
672                 0, 0, /* No default value */
673                 ""
674                 },
675 };
676 static const ber_tlv_tag_t asn_DEF_rank7_8_tags_14[] = {
677         (ASN_TAG_CLASS_CONTEXT | (6 << 2)),
678         (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
679 };
680 static asn_SET_OF_specifics_t asn_SPC_rank7_8_specs_14 = {
681         sizeof(struct PortIndexFor8Ranks__portIndex8__rank7_8),
682         offsetof(struct PortIndexFor8Ranks__portIndex8__rank7_8, _asn_ctx),
683         0,      /* XER encoding is XMLDelimitedItemList */
684 };
685 static /* Use -fall-defs-global to expose */
686 asn_TYPE_descriptor_t asn_DEF_rank7_8_14 = {
687         "rank7-8",
688         "rank7-8",
689         &asn_OP_SEQUENCE_OF,
690         asn_DEF_rank7_8_tags_14,
691         sizeof(asn_DEF_rank7_8_tags_14)
692                 /sizeof(asn_DEF_rank7_8_tags_14[0]) - 1, /* 1 */
693         asn_DEF_rank7_8_tags_14,        /* Same as above */
694         sizeof(asn_DEF_rank7_8_tags_14)
695                 /sizeof(asn_DEF_rank7_8_tags_14[0]), /* 2 */
696         { &asn_OER_type_rank7_8_constr_14, &asn_PER_type_rank7_8_constr_14, SEQUENCE_OF_constraint },
697         asn_MBR_rank7_8_14,
698         1,      /* Single element */
699         &asn_SPC_rank7_8_specs_14       /* Additional specs */
700 };
701
702 static asn_TYPE_member_t asn_MBR_rank8_8_16[] = {
703         { ATF_POINTER, 0, 0,
704                 (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
705                 0,
706                 &asn_DEF_PortIndex8,
707                 0,
708                 { 0, 0, 0 },
709                 0, 0, /* No default value */
710                 ""
711                 },
712 };
713 static const ber_tlv_tag_t asn_DEF_rank8_8_tags_16[] = {
714         (ASN_TAG_CLASS_CONTEXT | (7 << 2)),
715         (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
716 };
717 static asn_SET_OF_specifics_t asn_SPC_rank8_8_specs_16 = {
718         sizeof(struct PortIndexFor8Ranks__portIndex8__rank8_8),
719         offsetof(struct PortIndexFor8Ranks__portIndex8__rank8_8, _asn_ctx),
720         0,      /* XER encoding is XMLDelimitedItemList */
721 };
722 static /* Use -fall-defs-global to expose */
723 asn_TYPE_descriptor_t asn_DEF_rank8_8_16 = {
724         "rank8-8",
725         "rank8-8",
726         &asn_OP_SEQUENCE_OF,
727         asn_DEF_rank8_8_tags_16,
728         sizeof(asn_DEF_rank8_8_tags_16)
729                 /sizeof(asn_DEF_rank8_8_tags_16[0]) - 1, /* 1 */
730         asn_DEF_rank8_8_tags_16,        /* Same as above */
731         sizeof(asn_DEF_rank8_8_tags_16)
732                 /sizeof(asn_DEF_rank8_8_tags_16[0]), /* 2 */
733         { &asn_OER_type_rank8_8_constr_16, &asn_PER_type_rank8_8_constr_16, SEQUENCE_OF_constraint },
734         asn_MBR_rank8_8_16,
735         1,      /* Single element */
736         &asn_SPC_rank8_8_specs_16       /* Additional specs */
737 };
738
739 static asn_TYPE_member_t asn_MBR_portIndex8_2[] = {
740         { ATF_POINTER, 8, offsetof(struct PortIndexFor8Ranks__portIndex8, rank1_8),
741                 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
742                 -1,     /* IMPLICIT tag at current level */
743                 &asn_DEF_PortIndex8,
744                 0,
745                 { 0, 0, 0 },
746                 0, 0, /* No default value */
747                 "rank1-8"
748                 },
749         { ATF_POINTER, 7, offsetof(struct PortIndexFor8Ranks__portIndex8, rank2_8),
750                 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
751                 0,
752                 &asn_DEF_rank2_8_4,
753                 0,
754                 { &asn_OER_memb_rank2_8_constr_4, &asn_PER_memb_rank2_8_constr_4,  memb_rank2_8_constraint_2 },
755                 0, 0, /* No default value */
756                 "rank2-8"
757                 },
758         { ATF_POINTER, 6, offsetof(struct PortIndexFor8Ranks__portIndex8, rank3_8),
759                 (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
760                 0,
761                 &asn_DEF_rank3_8_6,
762                 0,
763                 { &asn_OER_memb_rank3_8_constr_6, &asn_PER_memb_rank3_8_constr_6,  memb_rank3_8_constraint_2 },
764                 0, 0, /* No default value */
765                 "rank3-8"
766                 },
767         { ATF_POINTER, 5, offsetof(struct PortIndexFor8Ranks__portIndex8, rank4_8),
768                 (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
769                 0,
770                 &asn_DEF_rank4_8_8,
771                 0,
772                 { &asn_OER_memb_rank4_8_constr_8, &asn_PER_memb_rank4_8_constr_8,  memb_rank4_8_constraint_2 },
773                 0, 0, /* No default value */
774                 "rank4-8"
775                 },
776         { ATF_POINTER, 4, offsetof(struct PortIndexFor8Ranks__portIndex8, rank5_8),
777                 (ASN_TAG_CLASS_CONTEXT | (4 << 2)),
778                 0,
779                 &asn_DEF_rank5_8_10,
780                 0,
781                 { &asn_OER_memb_rank5_8_constr_10, &asn_PER_memb_rank5_8_constr_10,  memb_rank5_8_constraint_2 },
782                 0, 0, /* No default value */
783                 "rank5-8"
784                 },
785         { ATF_POINTER, 3, offsetof(struct PortIndexFor8Ranks__portIndex8, rank6_8),
786                 (ASN_TAG_CLASS_CONTEXT | (5 << 2)),
787                 0,
788                 &asn_DEF_rank6_8_12,
789                 0,
790                 { &asn_OER_memb_rank6_8_constr_12, &asn_PER_memb_rank6_8_constr_12,  memb_rank6_8_constraint_2 },
791                 0, 0, /* No default value */
792                 "rank6-8"
793                 },
794         { ATF_POINTER, 2, offsetof(struct PortIndexFor8Ranks__portIndex8, rank7_8),
795                 (ASN_TAG_CLASS_CONTEXT | (6 << 2)),
796                 0,
797                 &asn_DEF_rank7_8_14,
798                 0,
799                 { &asn_OER_memb_rank7_8_constr_14, &asn_PER_memb_rank7_8_constr_14,  memb_rank7_8_constraint_2 },
800                 0, 0, /* No default value */
801                 "rank7-8"
802                 },
803         { ATF_POINTER, 1, offsetof(struct PortIndexFor8Ranks__portIndex8, rank8_8),
804                 (ASN_TAG_CLASS_CONTEXT | (7 << 2)),
805                 0,
806                 &asn_DEF_rank8_8_16,
807                 0,
808                 { &asn_OER_memb_rank8_8_constr_16, &asn_PER_memb_rank8_8_constr_16,  memb_rank8_8_constraint_2 },
809                 0, 0, /* No default value */
810                 "rank8-8"
811                 },
812 };
813 static const int asn_MAP_portIndex8_oms_2[] = { 0, 1, 2, 3, 4, 5, 6, 7 };
814 static const ber_tlv_tag_t asn_DEF_portIndex8_tags_2[] = {
815         (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
816         (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
817 };
818 static const asn_TYPE_tag2member_t asn_MAP_portIndex8_tag2el_2[] = {
819     { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* rank1-8 */
820     { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* rank2-8 */
821     { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* rank3-8 */
822     { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* rank4-8 */
823     { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* rank5-8 */
824     { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* rank6-8 */
825     { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 }, /* rank7-8 */
826     { (ASN_TAG_CLASS_CONTEXT | (7 << 2)), 7, 0, 0 } /* rank8-8 */
827 };
828 static asn_SEQUENCE_specifics_t asn_SPC_portIndex8_specs_2 = {
829         sizeof(struct PortIndexFor8Ranks__portIndex8),
830         offsetof(struct PortIndexFor8Ranks__portIndex8, _asn_ctx),
831         asn_MAP_portIndex8_tag2el_2,
832         8,      /* Count of tags in the map */
833         asn_MAP_portIndex8_oms_2,       /* Optional members */
834         8, 0,   /* Root/Additions */
835         -1,     /* First extension addition */
836 };
837 static /* Use -fall-defs-global to expose */
838 asn_TYPE_descriptor_t asn_DEF_portIndex8_2 = {
839         "portIndex8",
840         "portIndex8",
841         &asn_OP_SEQUENCE,
842         asn_DEF_portIndex8_tags_2,
843         sizeof(asn_DEF_portIndex8_tags_2)
844                 /sizeof(asn_DEF_portIndex8_tags_2[0]) - 1, /* 1 */
845         asn_DEF_portIndex8_tags_2,      /* Same as above */
846         sizeof(asn_DEF_portIndex8_tags_2)
847                 /sizeof(asn_DEF_portIndex8_tags_2[0]), /* 2 */
848         { 0, 0, SEQUENCE_constraint },
849         asn_MBR_portIndex8_2,
850         8,      /* Elements count */
851         &asn_SPC_portIndex8_specs_2     /* Additional specs */
852 };
853
854 static asn_TYPE_member_t asn_MBR_rank2_4_20[] = {
855         { ATF_POINTER, 0, 0,
856                 (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
857                 0,
858                 &asn_DEF_PortIndex4,
859                 0,
860                 { 0, 0, 0 },
861                 0, 0, /* No default value */
862                 ""
863                 },
864 };
865 static const ber_tlv_tag_t asn_DEF_rank2_4_tags_20[] = {
866         (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
867         (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
868 };
869 static asn_SET_OF_specifics_t asn_SPC_rank2_4_specs_20 = {
870         sizeof(struct PortIndexFor8Ranks__portIndex4__rank2_4),
871         offsetof(struct PortIndexFor8Ranks__portIndex4__rank2_4, _asn_ctx),
872         0,      /* XER encoding is XMLDelimitedItemList */
873 };
874 static /* Use -fall-defs-global to expose */
875 asn_TYPE_descriptor_t asn_DEF_rank2_4_20 = {
876         "rank2-4",
877         "rank2-4",
878         &asn_OP_SEQUENCE_OF,
879         asn_DEF_rank2_4_tags_20,
880         sizeof(asn_DEF_rank2_4_tags_20)
881                 /sizeof(asn_DEF_rank2_4_tags_20[0]) - 1, /* 1 */
882         asn_DEF_rank2_4_tags_20,        /* Same as above */
883         sizeof(asn_DEF_rank2_4_tags_20)
884                 /sizeof(asn_DEF_rank2_4_tags_20[0]), /* 2 */
885         { &asn_OER_type_rank2_4_constr_20, &asn_PER_type_rank2_4_constr_20, SEQUENCE_OF_constraint },
886         asn_MBR_rank2_4_20,
887         1,      /* Single element */
888         &asn_SPC_rank2_4_specs_20       /* Additional specs */
889 };
890
891 static asn_TYPE_member_t asn_MBR_rank3_4_22[] = {
892         { ATF_POINTER, 0, 0,
893                 (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
894                 0,
895                 &asn_DEF_PortIndex4,
896                 0,
897                 { 0, 0, 0 },
898                 0, 0, /* No default value */
899                 ""
900                 },
901 };
902 static const ber_tlv_tag_t asn_DEF_rank3_4_tags_22[] = {
903         (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
904         (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
905 };
906 static asn_SET_OF_specifics_t asn_SPC_rank3_4_specs_22 = {
907         sizeof(struct PortIndexFor8Ranks__portIndex4__rank3_4),
908         offsetof(struct PortIndexFor8Ranks__portIndex4__rank3_4, _asn_ctx),
909         0,      /* XER encoding is XMLDelimitedItemList */
910 };
911 static /* Use -fall-defs-global to expose */
912 asn_TYPE_descriptor_t asn_DEF_rank3_4_22 = {
913         "rank3-4",
914         "rank3-4",
915         &asn_OP_SEQUENCE_OF,
916         asn_DEF_rank3_4_tags_22,
917         sizeof(asn_DEF_rank3_4_tags_22)
918                 /sizeof(asn_DEF_rank3_4_tags_22[0]) - 1, /* 1 */
919         asn_DEF_rank3_4_tags_22,        /* Same as above */
920         sizeof(asn_DEF_rank3_4_tags_22)
921                 /sizeof(asn_DEF_rank3_4_tags_22[0]), /* 2 */
922         { &asn_OER_type_rank3_4_constr_22, &asn_PER_type_rank3_4_constr_22, SEQUENCE_OF_constraint },
923         asn_MBR_rank3_4_22,
924         1,      /* Single element */
925         &asn_SPC_rank3_4_specs_22       /* Additional specs */
926 };
927
928 static asn_TYPE_member_t asn_MBR_rank4_4_24[] = {
929         { ATF_POINTER, 0, 0,
930                 (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
931                 0,
932                 &asn_DEF_PortIndex4,
933                 0,
934                 { 0, 0, 0 },
935                 0, 0, /* No default value */
936                 ""
937                 },
938 };
939 static const ber_tlv_tag_t asn_DEF_rank4_4_tags_24[] = {
940         (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
941         (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
942 };
943 static asn_SET_OF_specifics_t asn_SPC_rank4_4_specs_24 = {
944         sizeof(struct PortIndexFor8Ranks__portIndex4__rank4_4),
945         offsetof(struct PortIndexFor8Ranks__portIndex4__rank4_4, _asn_ctx),
946         0,      /* XER encoding is XMLDelimitedItemList */
947 };
948 static /* Use -fall-defs-global to expose */
949 asn_TYPE_descriptor_t asn_DEF_rank4_4_24 = {
950         "rank4-4",
951         "rank4-4",
952         &asn_OP_SEQUENCE_OF,
953         asn_DEF_rank4_4_tags_24,
954         sizeof(asn_DEF_rank4_4_tags_24)
955                 /sizeof(asn_DEF_rank4_4_tags_24[0]) - 1, /* 1 */
956         asn_DEF_rank4_4_tags_24,        /* Same as above */
957         sizeof(asn_DEF_rank4_4_tags_24)
958                 /sizeof(asn_DEF_rank4_4_tags_24[0]), /* 2 */
959         { &asn_OER_type_rank4_4_constr_24, &asn_PER_type_rank4_4_constr_24, SEQUENCE_OF_constraint },
960         asn_MBR_rank4_4_24,
961         1,      /* Single element */
962         &asn_SPC_rank4_4_specs_24       /* Additional specs */
963 };
964
965 static asn_TYPE_member_t asn_MBR_portIndex4_18[] = {
966         { ATF_POINTER, 4, offsetof(struct PortIndexFor8Ranks__portIndex4, rank1_4),
967                 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
968                 -1,     /* IMPLICIT tag at current level */
969                 &asn_DEF_PortIndex4,
970                 0,
971                 { 0, 0, 0 },
972                 0, 0, /* No default value */
973                 "rank1-4"
974                 },
975         { ATF_POINTER, 3, offsetof(struct PortIndexFor8Ranks__portIndex4, rank2_4),
976                 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
977                 0,
978                 &asn_DEF_rank2_4_20,
979                 0,
980                 { &asn_OER_memb_rank2_4_constr_20, &asn_PER_memb_rank2_4_constr_20,  memb_rank2_4_constraint_18 },
981                 0, 0, /* No default value */
982                 "rank2-4"
983                 },
984         { ATF_POINTER, 2, offsetof(struct PortIndexFor8Ranks__portIndex4, rank3_4),
985                 (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
986                 0,
987                 &asn_DEF_rank3_4_22,
988                 0,
989                 { &asn_OER_memb_rank3_4_constr_22, &asn_PER_memb_rank3_4_constr_22,  memb_rank3_4_constraint_18 },
990                 0, 0, /* No default value */
991                 "rank3-4"
992                 },
993         { ATF_POINTER, 1, offsetof(struct PortIndexFor8Ranks__portIndex4, rank4_4),
994                 (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
995                 0,
996                 &asn_DEF_rank4_4_24,
997                 0,
998                 { &asn_OER_memb_rank4_4_constr_24, &asn_PER_memb_rank4_4_constr_24,  memb_rank4_4_constraint_18 },
999                 0, 0, /* No default value */
1000                 "rank4-4"
1001                 },
1002 };
1003 static const int asn_MAP_portIndex4_oms_18[] = { 0, 1, 2, 3 };
1004 static const ber_tlv_tag_t asn_DEF_portIndex4_tags_18[] = {
1005         (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
1006         (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
1007 };
1008 static const asn_TYPE_tag2member_t asn_MAP_portIndex4_tag2el_18[] = {
1009     { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* rank1-4 */
1010     { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* rank2-4 */
1011     { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* rank3-4 */
1012     { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* rank4-4 */
1013 };
1014 static asn_SEQUENCE_specifics_t asn_SPC_portIndex4_specs_18 = {
1015         sizeof(struct PortIndexFor8Ranks__portIndex4),
1016         offsetof(struct PortIndexFor8Ranks__portIndex4, _asn_ctx),
1017         asn_MAP_portIndex4_tag2el_18,
1018         4,      /* Count of tags in the map */
1019         asn_MAP_portIndex4_oms_18,      /* Optional members */
1020         4, 0,   /* Root/Additions */
1021         -1,     /* First extension addition */
1022 };
1023 static /* Use -fall-defs-global to expose */
1024 asn_TYPE_descriptor_t asn_DEF_portIndex4_18 = {
1025         "portIndex4",
1026         "portIndex4",
1027         &asn_OP_SEQUENCE,
1028         asn_DEF_portIndex4_tags_18,
1029         sizeof(asn_DEF_portIndex4_tags_18)
1030                 /sizeof(asn_DEF_portIndex4_tags_18[0]) - 1, /* 1 */
1031         asn_DEF_portIndex4_tags_18,     /* Same as above */
1032         sizeof(asn_DEF_portIndex4_tags_18)
1033                 /sizeof(asn_DEF_portIndex4_tags_18[0]), /* 2 */
1034         { 0, 0, SEQUENCE_constraint },
1035         asn_MBR_portIndex4_18,
1036         4,      /* Elements count */
1037         &asn_SPC_portIndex4_specs_18    /* Additional specs */
1038 };
1039
1040 static asn_TYPE_member_t asn_MBR_rank2_2_28[] = {
1041         { ATF_POINTER, 0, 0,
1042                 (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
1043                 0,
1044                 &asn_DEF_PortIndex2,
1045                 0,
1046                 { 0, 0, 0 },
1047                 0, 0, /* No default value */
1048                 ""
1049                 },
1050 };
1051 static const ber_tlv_tag_t asn_DEF_rank2_2_tags_28[] = {
1052         (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
1053         (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
1054 };
1055 static asn_SET_OF_specifics_t asn_SPC_rank2_2_specs_28 = {
1056         sizeof(struct PortIndexFor8Ranks__portIndex2__rank2_2),
1057         offsetof(struct PortIndexFor8Ranks__portIndex2__rank2_2, _asn_ctx),
1058         0,      /* XER encoding is XMLDelimitedItemList */
1059 };
1060 static /* Use -fall-defs-global to expose */
1061 asn_TYPE_descriptor_t asn_DEF_rank2_2_28 = {
1062         "rank2-2",
1063         "rank2-2",
1064         &asn_OP_SEQUENCE_OF,
1065         asn_DEF_rank2_2_tags_28,
1066         sizeof(asn_DEF_rank2_2_tags_28)
1067                 /sizeof(asn_DEF_rank2_2_tags_28[0]) - 1, /* 1 */
1068         asn_DEF_rank2_2_tags_28,        /* Same as above */
1069         sizeof(asn_DEF_rank2_2_tags_28)
1070                 /sizeof(asn_DEF_rank2_2_tags_28[0]), /* 2 */
1071         { &asn_OER_type_rank2_2_constr_28, &asn_PER_type_rank2_2_constr_28, SEQUENCE_OF_constraint },
1072         asn_MBR_rank2_2_28,
1073         1,      /* Single element */
1074         &asn_SPC_rank2_2_specs_28       /* Additional specs */
1075 };
1076
1077 static asn_TYPE_member_t asn_MBR_portIndex2_26[] = {
1078         { ATF_POINTER, 2, offsetof(struct PortIndexFor8Ranks__portIndex2, rank1_2),
1079                 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
1080                 -1,     /* IMPLICIT tag at current level */
1081                 &asn_DEF_PortIndex2,
1082                 0,
1083                 { 0, 0, 0 },
1084                 0, 0, /* No default value */
1085                 "rank1-2"
1086                 },
1087         { ATF_POINTER, 1, offsetof(struct PortIndexFor8Ranks__portIndex2, rank2_2),
1088                 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
1089                 0,
1090                 &asn_DEF_rank2_2_28,
1091                 0,
1092                 { &asn_OER_memb_rank2_2_constr_28, &asn_PER_memb_rank2_2_constr_28,  memb_rank2_2_constraint_26 },
1093                 0, 0, /* No default value */
1094                 "rank2-2"
1095                 },
1096 };
1097 static const int asn_MAP_portIndex2_oms_26[] = { 0, 1 };
1098 static const ber_tlv_tag_t asn_DEF_portIndex2_tags_26[] = {
1099         (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
1100         (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
1101 };
1102 static const asn_TYPE_tag2member_t asn_MAP_portIndex2_tag2el_26[] = {
1103     { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* rank1-2 */
1104     { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* rank2-2 */
1105 };
1106 static asn_SEQUENCE_specifics_t asn_SPC_portIndex2_specs_26 = {
1107         sizeof(struct PortIndexFor8Ranks__portIndex2),
1108         offsetof(struct PortIndexFor8Ranks__portIndex2, _asn_ctx),
1109         asn_MAP_portIndex2_tag2el_26,
1110         2,      /* Count of tags in the map */
1111         asn_MAP_portIndex2_oms_26,      /* Optional members */
1112         2, 0,   /* Root/Additions */
1113         -1,     /* First extension addition */
1114 };
1115 static /* Use -fall-defs-global to expose */
1116 asn_TYPE_descriptor_t asn_DEF_portIndex2_26 = {
1117         "portIndex2",
1118         "portIndex2",
1119         &asn_OP_SEQUENCE,
1120         asn_DEF_portIndex2_tags_26,
1121         sizeof(asn_DEF_portIndex2_tags_26)
1122                 /sizeof(asn_DEF_portIndex2_tags_26[0]) - 1, /* 1 */
1123         asn_DEF_portIndex2_tags_26,     /* Same as above */
1124         sizeof(asn_DEF_portIndex2_tags_26)
1125                 /sizeof(asn_DEF_portIndex2_tags_26[0]), /* 2 */
1126         { 0, 0, SEQUENCE_constraint },
1127         asn_MBR_portIndex2_26,
1128         2,      /* Elements count */
1129         &asn_SPC_portIndex2_specs_26    /* Additional specs */
1130 };
1131
1132 asn_TYPE_member_t asn_MBR_PortIndexFor8Ranks_1[] = {
1133         { ATF_POINTER, 0, offsetof(struct PortIndexFor8Ranks, choice.portIndex8),
1134                 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
1135                 0,
1136                 &asn_DEF_portIndex8_2,
1137                 0,
1138                 { 0, 0, 0 },
1139                 0, 0, /* No default value */
1140                 "portIndex8"
1141                 },
1142         { ATF_POINTER, 0, offsetof(struct PortIndexFor8Ranks, choice.portIndex4),
1143                 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
1144                 0,
1145                 &asn_DEF_portIndex4_18,
1146                 0,
1147                 { 0, 0, 0 },
1148                 0, 0, /* No default value */
1149                 "portIndex4"
1150                 },
1151         { ATF_POINTER, 0, offsetof(struct PortIndexFor8Ranks, choice.portIndex2),
1152                 (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
1153                 0,
1154                 &asn_DEF_portIndex2_26,
1155                 0,
1156                 { 0, 0, 0 },
1157                 0, 0, /* No default value */
1158                 "portIndex2"
1159                 },
1160         { ATF_NOFLAGS, 0, offsetof(struct PortIndexFor8Ranks, choice.portIndex1),
1161                 (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
1162                 -1,     /* IMPLICIT tag at current level */
1163                 &asn_DEF_NULL,
1164                 0,
1165                 { 0, 0, 0 },
1166                 0, 0, /* No default value */
1167                 "portIndex1"
1168                 },
1169 };
1170 static const asn_TYPE_tag2member_t asn_MAP_PortIndexFor8Ranks_tag2el_1[] = {
1171     { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* portIndex8 */
1172     { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* portIndex4 */
1173     { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* portIndex2 */
1174     { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* portIndex1 */
1175 };
1176 asn_CHOICE_specifics_t asn_SPC_PortIndexFor8Ranks_specs_1 = {
1177         sizeof(struct PortIndexFor8Ranks),
1178         offsetof(struct PortIndexFor8Ranks, _asn_ctx),
1179         offsetof(struct PortIndexFor8Ranks, present),
1180         sizeof(((struct PortIndexFor8Ranks *)0)->present),
1181         asn_MAP_PortIndexFor8Ranks_tag2el_1,
1182         4,      /* Count of tags in the map */
1183         0, 0,
1184         -1      /* Extensions start */
1185 };
1186 asn_TYPE_descriptor_t asn_DEF_PortIndexFor8Ranks = {
1187         "PortIndexFor8Ranks",
1188         "PortIndexFor8Ranks",
1189         &asn_OP_CHOICE,
1190         0,      /* No effective tags (pointer) */
1191         0,      /* No effective tags (count) */
1192         0,      /* No tags (pointer) */
1193         0,      /* No tags (count) */
1194         { &asn_OER_type_PortIndexFor8Ranks_constr_1, &asn_PER_type_PortIndexFor8Ranks_constr_1, CHOICE_constraint },
1195         asn_MBR_PortIndexFor8Ranks_1,
1196         4,      /* Elements count */
1197         &asn_SPC_PortIndexFor8Ranks_specs_1     /* Additional specs */
1198 };
1199