[Epic-ID: ODUHIGH-406][Task-ID: ODUHIGH-441]: Update name of Paging RRC Codec
[o-du/l2.git] / src / codec_utils / RRC / CSI-RS-Resource-Mobility.c
1 /*
2  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
3  * From ASN.1 module "NR-RRC-Definitions"
4  *      found in "./22April22_Paging/rrc_15.3_asn.asn1"
5  *      `asn1c -D ./22April22_Paging -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
6  */
7
8 #include "CSI-RS-Resource-Mobility.h"
9
10 static int
11 memb_ms4_constraint_3(const asn_TYPE_descriptor_t *td, const void *sptr,
12                         asn_app_constraint_failed_f *ctfailcb, void *app_key) {
13         long value;
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         value = *(const long *)sptr;
23         
24         if((value >= 0 && value <= 31)) {
25                 /* Constraint check succeeded */
26                 return 0;
27         } else {
28                 ASN__CTFAIL(app_key, td, sptr,
29                         "%s: constraint failed (%s:%d)",
30                         td->name, __FILE__, __LINE__);
31                 return -1;
32         }
33 }
34
35 static int
36 memb_ms5_constraint_3(const asn_TYPE_descriptor_t *td, const void *sptr,
37                         asn_app_constraint_failed_f *ctfailcb, void *app_key) {
38         long value;
39         
40         if(!sptr) {
41                 ASN__CTFAIL(app_key, td, sptr,
42                         "%s: value not given (%s:%d)",
43                         td->name, __FILE__, __LINE__);
44                 return -1;
45         }
46         
47         value = *(const long *)sptr;
48         
49         if((value >= 0 && value <= 39)) {
50                 /* Constraint check succeeded */
51                 return 0;
52         } else {
53                 ASN__CTFAIL(app_key, td, sptr,
54                         "%s: constraint failed (%s:%d)",
55                         td->name, __FILE__, __LINE__);
56                 return -1;
57         }
58 }
59
60 static int
61 memb_ms10_constraint_3(const asn_TYPE_descriptor_t *td, const void *sptr,
62                         asn_app_constraint_failed_f *ctfailcb, void *app_key) {
63         long value;
64         
65         if(!sptr) {
66                 ASN__CTFAIL(app_key, td, sptr,
67                         "%s: value not given (%s:%d)",
68                         td->name, __FILE__, __LINE__);
69                 return -1;
70         }
71         
72         value = *(const long *)sptr;
73         
74         if((value >= 0 && value <= 79)) {
75                 /* Constraint check succeeded */
76                 return 0;
77         } else {
78                 ASN__CTFAIL(app_key, td, sptr,
79                         "%s: constraint failed (%s:%d)",
80                         td->name, __FILE__, __LINE__);
81                 return -1;
82         }
83 }
84
85 static int
86 memb_ms20_constraint_3(const asn_TYPE_descriptor_t *td, const void *sptr,
87                         asn_app_constraint_failed_f *ctfailcb, void *app_key) {
88         long value;
89         
90         if(!sptr) {
91                 ASN__CTFAIL(app_key, td, sptr,
92                         "%s: value not given (%s:%d)",
93                         td->name, __FILE__, __LINE__);
94                 return -1;
95         }
96         
97         value = *(const long *)sptr;
98         
99         if((value >= 0 && value <= 159)) {
100                 /* Constraint check succeeded */
101                 return 0;
102         } else {
103                 ASN__CTFAIL(app_key, td, sptr,
104                         "%s: constraint failed (%s:%d)",
105                         td->name, __FILE__, __LINE__);
106                 return -1;
107         }
108 }
109
110 static int
111 memb_ms40_constraint_3(const asn_TYPE_descriptor_t *td, const void *sptr,
112                         asn_app_constraint_failed_f *ctfailcb, void *app_key) {
113         long value;
114         
115         if(!sptr) {
116                 ASN__CTFAIL(app_key, td, sptr,
117                         "%s: value not given (%s:%d)",
118                         td->name, __FILE__, __LINE__);
119                 return -1;
120         }
121         
122         value = *(const long *)sptr;
123         
124         if((value >= 0 && value <= 319)) {
125                 /* Constraint check succeeded */
126                 return 0;
127         } else {
128                 ASN__CTFAIL(app_key, td, sptr,
129                         "%s: constraint failed (%s:%d)",
130                         td->name, __FILE__, __LINE__);
131                 return -1;
132         }
133 }
134
135 static int
136 memb_row1_constraint_12(const asn_TYPE_descriptor_t *td, const void *sptr,
137                         asn_app_constraint_failed_f *ctfailcb, void *app_key) {
138         const BIT_STRING_t *st = (const BIT_STRING_t *)sptr;
139         size_t size;
140         
141         if(!sptr) {
142                 ASN__CTFAIL(app_key, td, sptr,
143                         "%s: value not given (%s:%d)",
144                         td->name, __FILE__, __LINE__);
145                 return -1;
146         }
147         
148         if(st->size > 0) {
149                 /* Size in bits */
150                 size = 8 * st->size - (st->bits_unused & 0x07);
151         } else {
152                 size = 0;
153         }
154         
155         if((size == 4)) {
156                 /* Constraint check succeeded */
157                 return 0;
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_row2_constraint_12(const asn_TYPE_descriptor_t *td, const void *sptr,
168                         asn_app_constraint_failed_f *ctfailcb, void *app_key) {
169         const BIT_STRING_t *st = (const BIT_STRING_t *)sptr;
170         size_t size;
171         
172         if(!sptr) {
173                 ASN__CTFAIL(app_key, td, sptr,
174                         "%s: value not given (%s:%d)",
175                         td->name, __FILE__, __LINE__);
176                 return -1;
177         }
178         
179         if(st->size > 0) {
180                 /* Size in bits */
181                 size = 8 * st->size - (st->bits_unused & 0x07);
182         } else {
183                 size = 0;
184         }
185         
186         if((size == 12)) {
187                 /* Constraint check succeeded */
188                 return 0;
189         } else {
190                 ASN__CTFAIL(app_key, td, sptr,
191                         "%s: constraint failed (%s:%d)",
192                         td->name, __FILE__, __LINE__);
193                 return -1;
194         }
195 }
196
197 static int
198 memb_firstOFDMSymbolInTimeDomain_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
199                         asn_app_constraint_failed_f *ctfailcb, void *app_key) {
200         long value;
201         
202         if(!sptr) {
203                 ASN__CTFAIL(app_key, td, sptr,
204                         "%s: value not given (%s:%d)",
205                         td->name, __FILE__, __LINE__);
206                 return -1;
207         }
208         
209         value = *(const long *)sptr;
210         
211         if((value >= 0 && value <= 13)) {
212                 /* Constraint check succeeded */
213                 return 0;
214         } else {
215                 ASN__CTFAIL(app_key, td, sptr,
216                         "%s: constraint failed (%s:%d)",
217                         td->name, __FILE__, __LINE__);
218                 return -1;
219         }
220 }
221
222 static int
223 memb_sequenceGenerationConfig_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
224                         asn_app_constraint_failed_f *ctfailcb, void *app_key) {
225         long value;
226         
227         if(!sptr) {
228                 ASN__CTFAIL(app_key, td, sptr,
229                         "%s: value not given (%s:%d)",
230                         td->name, __FILE__, __LINE__);
231                 return -1;
232         }
233         
234         value = *(const long *)sptr;
235         
236         if((value >= 0 && value <= 1023)) {
237                 /* Constraint check succeeded */
238                 return 0;
239         } else {
240                 ASN__CTFAIL(app_key, td, sptr,
241                         "%s: constraint failed (%s:%d)",
242                         td->name, __FILE__, __LINE__);
243                 return -1;
244         }
245 }
246
247 static asn_oer_constraints_t asn_OER_memb_ms4_constr_4 CC_NOTUSED = {
248         { 1, 1 }        /* (0..31) */,
249         -1};
250 static asn_per_constraints_t asn_PER_memb_ms4_constr_4 CC_NOTUSED = {
251         { APC_CONSTRAINED,       5,  5,  0,  31 }       /* (0..31) */,
252         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
253         0, 0    /* No PER value map */
254 };
255 static asn_oer_constraints_t asn_OER_memb_ms5_constr_5 CC_NOTUSED = {
256         { 1, 1 }        /* (0..39) */,
257         -1};
258 static asn_per_constraints_t asn_PER_memb_ms5_constr_5 CC_NOTUSED = {
259         { APC_CONSTRAINED,       6,  6,  0,  39 }       /* (0..39) */,
260         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
261         0, 0    /* No PER value map */
262 };
263 static asn_oer_constraints_t asn_OER_memb_ms10_constr_6 CC_NOTUSED = {
264         { 1, 1 }        /* (0..79) */,
265         -1};
266 static asn_per_constraints_t asn_PER_memb_ms10_constr_6 CC_NOTUSED = {
267         { APC_CONSTRAINED,       7,  7,  0,  79 }       /* (0..79) */,
268         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
269         0, 0    /* No PER value map */
270 };
271 static asn_oer_constraints_t asn_OER_memb_ms20_constr_7 CC_NOTUSED = {
272         { 1, 1 }        /* (0..159) */,
273         -1};
274 static asn_per_constraints_t asn_PER_memb_ms20_constr_7 CC_NOTUSED = {
275         { APC_CONSTRAINED,       8,  8,  0,  159 }      /* (0..159) */,
276         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
277         0, 0    /* No PER value map */
278 };
279 static asn_oer_constraints_t asn_OER_memb_ms40_constr_8 CC_NOTUSED = {
280         { 2, 1 }        /* (0..319) */,
281         -1};
282 static asn_per_constraints_t asn_PER_memb_ms40_constr_8 CC_NOTUSED = {
283         { APC_CONSTRAINED,       9,  9,  0,  319 }      /* (0..319) */,
284         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
285         0, 0    /* No PER value map */
286 };
287 static asn_oer_constraints_t asn_OER_type_slotConfig_constr_3 CC_NOTUSED = {
288         { 0, 0 },
289         -1};
290 static asn_per_constraints_t asn_PER_type_slotConfig_constr_3 CC_NOTUSED = {
291         { APC_CONSTRAINED,       3,  3,  0,  4 }        /* (0..4) */,
292         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
293         0, 0    /* No PER value map */
294 };
295 static asn_oer_constraints_t asn_OER_memb_row1_constr_13 CC_NOTUSED = {
296         { 0, 0 },
297         4       /* (SIZE(4..4)) */};
298 static asn_per_constraints_t asn_PER_memb_row1_constr_13 CC_NOTUSED = {
299         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
300         { APC_CONSTRAINED,       0,  0,  4,  4 }        /* (SIZE(4..4)) */,
301         0, 0    /* No PER value map */
302 };
303 static asn_oer_constraints_t asn_OER_memb_row2_constr_14 CC_NOTUSED = {
304         { 0, 0 },
305         12      /* (SIZE(12..12)) */};
306 static asn_per_constraints_t asn_PER_memb_row2_constr_14 CC_NOTUSED = {
307         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
308         { APC_CONSTRAINED,       0,  0,  12,  12 }      /* (SIZE(12..12)) */,
309         0, 0    /* No PER value map */
310 };
311 static asn_oer_constraints_t asn_OER_type_frequencyDomainAllocation_constr_12 CC_NOTUSED = {
312         { 0, 0 },
313         -1};
314 static asn_per_constraints_t asn_PER_type_frequencyDomainAllocation_constr_12 CC_NOTUSED = {
315         { APC_CONSTRAINED,       1,  1,  0,  1 }        /* (0..1) */,
316         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
317         0, 0    /* No PER value map */
318 };
319 static asn_oer_constraints_t asn_OER_memb_firstOFDMSymbolInTimeDomain_constr_15 CC_NOTUSED = {
320         { 1, 1 }        /* (0..13) */,
321         -1};
322 static asn_per_constraints_t asn_PER_memb_firstOFDMSymbolInTimeDomain_constr_15 CC_NOTUSED = {
323         { APC_CONSTRAINED,       4,  4,  0,  13 }       /* (0..13) */,
324         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
325         0, 0    /* No PER value map */
326 };
327 static asn_oer_constraints_t asn_OER_memb_sequenceGenerationConfig_constr_16 CC_NOTUSED = {
328         { 2, 1 }        /* (0..1023) */,
329         -1};
330 static asn_per_constraints_t asn_PER_memb_sequenceGenerationConfig_constr_16 CC_NOTUSED = {
331         { APC_CONSTRAINED,       10,  10,  0,  1023 }   /* (0..1023) */,
332         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
333         0, 0    /* No PER value map */
334 };
335 static asn_TYPE_member_t asn_MBR_slotConfig_3[] = {
336         { ATF_NOFLAGS, 0, offsetof(struct CSI_RS_Resource_Mobility__slotConfig, choice.ms4),
337                 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
338                 -1,     /* IMPLICIT tag at current level */
339                 &asn_DEF_NativeInteger,
340                 0,
341                 { &asn_OER_memb_ms4_constr_4, &asn_PER_memb_ms4_constr_4,  memb_ms4_constraint_3 },
342                 0, 0, /* No default value */
343                 "ms4"
344                 },
345         { ATF_NOFLAGS, 0, offsetof(struct CSI_RS_Resource_Mobility__slotConfig, choice.ms5),
346                 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
347                 -1,     /* IMPLICIT tag at current level */
348                 &asn_DEF_NativeInteger,
349                 0,
350                 { &asn_OER_memb_ms5_constr_5, &asn_PER_memb_ms5_constr_5,  memb_ms5_constraint_3 },
351                 0, 0, /* No default value */
352                 "ms5"
353                 },
354         { ATF_NOFLAGS, 0, offsetof(struct CSI_RS_Resource_Mobility__slotConfig, choice.ms10),
355                 (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
356                 -1,     /* IMPLICIT tag at current level */
357                 &asn_DEF_NativeInteger,
358                 0,
359                 { &asn_OER_memb_ms10_constr_6, &asn_PER_memb_ms10_constr_6,  memb_ms10_constraint_3 },
360                 0, 0, /* No default value */
361                 "ms10"
362                 },
363         { ATF_NOFLAGS, 0, offsetof(struct CSI_RS_Resource_Mobility__slotConfig, choice.ms20),
364                 (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
365                 -1,     /* IMPLICIT tag at current level */
366                 &asn_DEF_NativeInteger,
367                 0,
368                 { &asn_OER_memb_ms20_constr_7, &asn_PER_memb_ms20_constr_7,  memb_ms20_constraint_3 },
369                 0, 0, /* No default value */
370                 "ms20"
371                 },
372         { ATF_NOFLAGS, 0, offsetof(struct CSI_RS_Resource_Mobility__slotConfig, choice.ms40),
373                 (ASN_TAG_CLASS_CONTEXT | (4 << 2)),
374                 -1,     /* IMPLICIT tag at current level */
375                 &asn_DEF_NativeInteger,
376                 0,
377                 { &asn_OER_memb_ms40_constr_8, &asn_PER_memb_ms40_constr_8,  memb_ms40_constraint_3 },
378                 0, 0, /* No default value */
379                 "ms40"
380                 },
381 };
382 static const asn_TYPE_tag2member_t asn_MAP_slotConfig_tag2el_3[] = {
383     { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* ms4 */
384     { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* ms5 */
385     { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* ms10 */
386     { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* ms20 */
387     { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 } /* ms40 */
388 };
389 static asn_CHOICE_specifics_t asn_SPC_slotConfig_specs_3 = {
390         sizeof(struct CSI_RS_Resource_Mobility__slotConfig),
391         offsetof(struct CSI_RS_Resource_Mobility__slotConfig, _asn_ctx),
392         offsetof(struct CSI_RS_Resource_Mobility__slotConfig, present),
393         sizeof(((struct CSI_RS_Resource_Mobility__slotConfig *)0)->present),
394         asn_MAP_slotConfig_tag2el_3,
395         5,      /* Count of tags in the map */
396         0, 0,
397         -1      /* Extensions start */
398 };
399 static /* Use -fall-defs-global to expose */
400 asn_TYPE_descriptor_t asn_DEF_slotConfig_3 = {
401         "slotConfig",
402         "slotConfig",
403         &asn_OP_CHOICE,
404         0,      /* No effective tags (pointer) */
405         0,      /* No effective tags (count) */
406         0,      /* No tags (pointer) */
407         0,      /* No tags (count) */
408         { &asn_OER_type_slotConfig_constr_3, &asn_PER_type_slotConfig_constr_3, CHOICE_constraint },
409         asn_MBR_slotConfig_3,
410         5,      /* Elements count */
411         &asn_SPC_slotConfig_specs_3     /* Additional specs */
412 };
413
414 static asn_TYPE_member_t asn_MBR_associatedSSB_9[] = {
415         { ATF_NOFLAGS, 0, offsetof(struct CSI_RS_Resource_Mobility__associatedSSB, ssb_Index),
416                 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
417                 -1,     /* IMPLICIT tag at current level */
418                 &asn_DEF_SSB_Index,
419                 0,
420                 { 0, 0, 0 },
421                 0, 0, /* No default value */
422                 "ssb-Index"
423                 },
424         { ATF_NOFLAGS, 0, offsetof(struct CSI_RS_Resource_Mobility__associatedSSB, isQuasiColocated),
425                 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
426                 -1,     /* IMPLICIT tag at current level */
427                 &asn_DEF_BOOLEAN,
428                 0,
429                 { 0, 0, 0 },
430                 0, 0, /* No default value */
431                 "isQuasiColocated"
432                 },
433 };
434 static const ber_tlv_tag_t asn_DEF_associatedSSB_tags_9[] = {
435         (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
436         (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
437 };
438 static const asn_TYPE_tag2member_t asn_MAP_associatedSSB_tag2el_9[] = {
439     { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* ssb-Index */
440     { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* isQuasiColocated */
441 };
442 static asn_SEQUENCE_specifics_t asn_SPC_associatedSSB_specs_9 = {
443         sizeof(struct CSI_RS_Resource_Mobility__associatedSSB),
444         offsetof(struct CSI_RS_Resource_Mobility__associatedSSB, _asn_ctx),
445         asn_MAP_associatedSSB_tag2el_9,
446         2,      /* Count of tags in the map */
447         0, 0, 0,        /* Optional elements (not needed) */
448         -1,     /* First extension addition */
449 };
450 static /* Use -fall-defs-global to expose */
451 asn_TYPE_descriptor_t asn_DEF_associatedSSB_9 = {
452         "associatedSSB",
453         "associatedSSB",
454         &asn_OP_SEQUENCE,
455         asn_DEF_associatedSSB_tags_9,
456         sizeof(asn_DEF_associatedSSB_tags_9)
457                 /sizeof(asn_DEF_associatedSSB_tags_9[0]) - 1, /* 1 */
458         asn_DEF_associatedSSB_tags_9,   /* Same as above */
459         sizeof(asn_DEF_associatedSSB_tags_9)
460                 /sizeof(asn_DEF_associatedSSB_tags_9[0]), /* 2 */
461         { 0, 0, SEQUENCE_constraint },
462         asn_MBR_associatedSSB_9,
463         2,      /* Elements count */
464         &asn_SPC_associatedSSB_specs_9  /* Additional specs */
465 };
466
467 static asn_TYPE_member_t asn_MBR_frequencyDomainAllocation_12[] = {
468         { ATF_NOFLAGS, 0, offsetof(struct CSI_RS_Resource_Mobility__frequencyDomainAllocation, choice.row1),
469                 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
470                 -1,     /* IMPLICIT tag at current level */
471                 &asn_DEF_BIT_STRING,
472                 0,
473                 { &asn_OER_memb_row1_constr_13, &asn_PER_memb_row1_constr_13,  memb_row1_constraint_12 },
474                 0, 0, /* No default value */
475                 "row1"
476                 },
477         { ATF_NOFLAGS, 0, offsetof(struct CSI_RS_Resource_Mobility__frequencyDomainAllocation, choice.row2),
478                 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
479                 -1,     /* IMPLICIT tag at current level */
480                 &asn_DEF_BIT_STRING,
481                 0,
482                 { &asn_OER_memb_row2_constr_14, &asn_PER_memb_row2_constr_14,  memb_row2_constraint_12 },
483                 0, 0, /* No default value */
484                 "row2"
485                 },
486 };
487 static const asn_TYPE_tag2member_t asn_MAP_frequencyDomainAllocation_tag2el_12[] = {
488     { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* row1 */
489     { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* row2 */
490 };
491 static asn_CHOICE_specifics_t asn_SPC_frequencyDomainAllocation_specs_12 = {
492         sizeof(struct CSI_RS_Resource_Mobility__frequencyDomainAllocation),
493         offsetof(struct CSI_RS_Resource_Mobility__frequencyDomainAllocation, _asn_ctx),
494         offsetof(struct CSI_RS_Resource_Mobility__frequencyDomainAllocation, present),
495         sizeof(((struct CSI_RS_Resource_Mobility__frequencyDomainAllocation *)0)->present),
496         asn_MAP_frequencyDomainAllocation_tag2el_12,
497         2,      /* Count of tags in the map */
498         0, 0,
499         -1      /* Extensions start */
500 };
501 static /* Use -fall-defs-global to expose */
502 asn_TYPE_descriptor_t asn_DEF_frequencyDomainAllocation_12 = {
503         "frequencyDomainAllocation",
504         "frequencyDomainAllocation",
505         &asn_OP_CHOICE,
506         0,      /* No effective tags (pointer) */
507         0,      /* No effective tags (count) */
508         0,      /* No tags (pointer) */
509         0,      /* No tags (count) */
510         { &asn_OER_type_frequencyDomainAllocation_constr_12, &asn_PER_type_frequencyDomainAllocation_constr_12, CHOICE_constraint },
511         asn_MBR_frequencyDomainAllocation_12,
512         2,      /* Elements count */
513         &asn_SPC_frequencyDomainAllocation_specs_12     /* Additional specs */
514 };
515
516 asn_TYPE_member_t asn_MBR_CSI_RS_Resource_Mobility_1[] = {
517         { ATF_NOFLAGS, 0, offsetof(struct CSI_RS_Resource_Mobility, csi_RS_Index),
518                 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
519                 -1,     /* IMPLICIT tag at current level */
520                 &asn_DEF_CSI_RS_Index,
521                 0,
522                 { 0, 0, 0 },
523                 0, 0, /* No default value */
524                 "csi-RS-Index"
525                 },
526         { ATF_NOFLAGS, 0, offsetof(struct CSI_RS_Resource_Mobility, slotConfig),
527                 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
528                 +1,     /* EXPLICIT tag at current level */
529                 &asn_DEF_slotConfig_3,
530                 0,
531                 { 0, 0, 0 },
532                 0, 0, /* No default value */
533                 "slotConfig"
534                 },
535         { ATF_POINTER, 1, offsetof(struct CSI_RS_Resource_Mobility, associatedSSB),
536                 (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
537                 0,
538                 &asn_DEF_associatedSSB_9,
539                 0,
540                 { 0, 0, 0 },
541                 0, 0, /* No default value */
542                 "associatedSSB"
543                 },
544         { ATF_NOFLAGS, 0, offsetof(struct CSI_RS_Resource_Mobility, frequencyDomainAllocation),
545                 (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
546                 +1,     /* EXPLICIT tag at current level */
547                 &asn_DEF_frequencyDomainAllocation_12,
548                 0,
549                 { 0, 0, 0 },
550                 0, 0, /* No default value */
551                 "frequencyDomainAllocation"
552                 },
553         { ATF_NOFLAGS, 0, offsetof(struct CSI_RS_Resource_Mobility, firstOFDMSymbolInTimeDomain),
554                 (ASN_TAG_CLASS_CONTEXT | (4 << 2)),
555                 -1,     /* IMPLICIT tag at current level */
556                 &asn_DEF_NativeInteger,
557                 0,
558                 { &asn_OER_memb_firstOFDMSymbolInTimeDomain_constr_15, &asn_PER_memb_firstOFDMSymbolInTimeDomain_constr_15,  memb_firstOFDMSymbolInTimeDomain_constraint_1 },
559                 0, 0, /* No default value */
560                 "firstOFDMSymbolInTimeDomain"
561                 },
562         { ATF_NOFLAGS, 0, offsetof(struct CSI_RS_Resource_Mobility, sequenceGenerationConfig),
563                 (ASN_TAG_CLASS_CONTEXT | (5 << 2)),
564                 -1,     /* IMPLICIT tag at current level */
565                 &asn_DEF_NativeInteger,
566                 0,
567                 { &asn_OER_memb_sequenceGenerationConfig_constr_16, &asn_PER_memb_sequenceGenerationConfig_constr_16,  memb_sequenceGenerationConfig_constraint_1 },
568                 0, 0, /* No default value */
569                 "sequenceGenerationConfig"
570                 },
571 };
572 static const int asn_MAP_CSI_RS_Resource_Mobility_oms_1[] = { 2 };
573 static const ber_tlv_tag_t asn_DEF_CSI_RS_Resource_Mobility_tags_1[] = {
574         (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
575 };
576 static const asn_TYPE_tag2member_t asn_MAP_CSI_RS_Resource_Mobility_tag2el_1[] = {
577     { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* csi-RS-Index */
578     { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* slotConfig */
579     { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* associatedSSB */
580     { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* frequencyDomainAllocation */
581     { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* firstOFDMSymbolInTimeDomain */
582     { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 } /* sequenceGenerationConfig */
583 };
584 asn_SEQUENCE_specifics_t asn_SPC_CSI_RS_Resource_Mobility_specs_1 = {
585         sizeof(struct CSI_RS_Resource_Mobility),
586         offsetof(struct CSI_RS_Resource_Mobility, _asn_ctx),
587         asn_MAP_CSI_RS_Resource_Mobility_tag2el_1,
588         6,      /* Count of tags in the map */
589         asn_MAP_CSI_RS_Resource_Mobility_oms_1, /* Optional members */
590         1, 0,   /* Root/Additions */
591         6,      /* First extension addition */
592 };
593 asn_TYPE_descriptor_t asn_DEF_CSI_RS_Resource_Mobility = {
594         "CSI-RS-Resource-Mobility",
595         "CSI-RS-Resource-Mobility",
596         &asn_OP_SEQUENCE,
597         asn_DEF_CSI_RS_Resource_Mobility_tags_1,
598         sizeof(asn_DEF_CSI_RS_Resource_Mobility_tags_1)
599                 /sizeof(asn_DEF_CSI_RS_Resource_Mobility_tags_1[0]), /* 1 */
600         asn_DEF_CSI_RS_Resource_Mobility_tags_1,        /* Same as above */
601         sizeof(asn_DEF_CSI_RS_Resource_Mobility_tags_1)
602                 /sizeof(asn_DEF_CSI_RS_Resource_Mobility_tags_1[0]), /* 1 */
603         { 0, 0, SEQUENCE_constraint },
604         asn_MBR_CSI_RS_Resource_Mobility_1,
605         6,      /* Elements count */
606         &asn_SPC_CSI_RS_Resource_Mobility_specs_1       /* Additional specs */
607 };
608