blob: c0429ab08af6d6e6d237d90acbe7bde2d1093588 [file] [log] [blame]
Ron Shacham3ebf9322020-07-20 10:44:37 -04001/*
2 * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
3 * From ASN.1 module "E2SM-KPM-IEs"
4 * found in "/home/rshacham/e2sm-kpm-v01.02.asn"
5 * `asn1c -fcompound-names`
6 */
7
8#include "FGC-DU-PM-Container.h"
9
10static int
11memb_slicePerPlmnPerCellList_constraint_1(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 >= 1 && size <= 1024)) {
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
36static asn_oer_constraints_t asn_OER_type_slicePerPlmnPerCellList_constr_2 CC_NOTUSED = {
37 { 0, 0 },
38 -1 /* (SIZE(1..1024)) */};
39static asn_per_constraints_t asn_PER_type_slicePerPlmnPerCellList_constr_2 CC_NOTUSED = {
40 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
41 { APC_CONSTRAINED, 10, 10, 1, 1024 } /* (SIZE(1..1024)) */,
42 0, 0 /* No PER value map */
43};
44static asn_oer_constraints_t asn_OER_memb_slicePerPlmnPerCellList_constr_2 CC_NOTUSED = {
45 { 0, 0 },
46 -1 /* (SIZE(1..1024)) */};
47static asn_per_constraints_t asn_PER_memb_slicePerPlmnPerCellList_constr_2 CC_NOTUSED = {
48 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
49 { APC_CONSTRAINED, 10, 10, 1, 1024 } /* (SIZE(1..1024)) */,
50 0, 0 /* No PER value map */
51};
52static asn_TYPE_member_t asn_MBR_slicePerPlmnPerCellList_2[] = {
53 { ATF_POINTER, 0, 0,
54 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
55 0,
56 &asn_DEF_SlicePerPlmnPerCellListItem,
57 0,
58 { 0, 0, 0 },
59 0, 0, /* No default value */
60 ""
61 },
62};
63static const ber_tlv_tag_t asn_DEF_slicePerPlmnPerCellList_tags_2[] = {
64 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
65 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
66};
67static asn_SET_OF_specifics_t asn_SPC_slicePerPlmnPerCellList_specs_2 = {
68 sizeof(struct FGC_DU_PM_Container__slicePerPlmnPerCellList),
69 offsetof(struct FGC_DU_PM_Container__slicePerPlmnPerCellList, _asn_ctx),
70 0, /* XER encoding is XMLDelimitedItemList */
71};
72static /* Use -fall-defs-global to expose */
73asn_TYPE_descriptor_t asn_DEF_slicePerPlmnPerCellList_2 = {
74 "slicePerPlmnPerCellList",
75 "slicePerPlmnPerCellList",
76 &asn_OP_SEQUENCE_OF,
77 asn_DEF_slicePerPlmnPerCellList_tags_2,
78 sizeof(asn_DEF_slicePerPlmnPerCellList_tags_2)
79 /sizeof(asn_DEF_slicePerPlmnPerCellList_tags_2[0]) - 1, /* 1 */
80 asn_DEF_slicePerPlmnPerCellList_tags_2, /* Same as above */
81 sizeof(asn_DEF_slicePerPlmnPerCellList_tags_2)
82 /sizeof(asn_DEF_slicePerPlmnPerCellList_tags_2[0]), /* 2 */
83 { &asn_OER_type_slicePerPlmnPerCellList_constr_2, &asn_PER_type_slicePerPlmnPerCellList_constr_2, SEQUENCE_OF_constraint },
84 asn_MBR_slicePerPlmnPerCellList_2,
85 1, /* Single element */
86 &asn_SPC_slicePerPlmnPerCellList_specs_2 /* Additional specs */
87};
88
89asn_TYPE_member_t asn_MBR_FGC_DU_PM_Container_1[] = {
90 { ATF_NOFLAGS, 0, offsetof(struct FGC_DU_PM_Container, slicePerPlmnPerCellList),
91 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
92 0,
93 &asn_DEF_slicePerPlmnPerCellList_2,
94 0,
95 { &asn_OER_memb_slicePerPlmnPerCellList_constr_2, &asn_PER_memb_slicePerPlmnPerCellList_constr_2, memb_slicePerPlmnPerCellList_constraint_1 },
96 0, 0, /* No default value */
97 "slicePerPlmnPerCellList"
98 },
99};
100static const ber_tlv_tag_t asn_DEF_FGC_DU_PM_Container_tags_1[] = {
101 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
102};
103static const asn_TYPE_tag2member_t asn_MAP_FGC_DU_PM_Container_tag2el_1[] = {
104 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* slicePerPlmnPerCellList */
105};
106asn_SEQUENCE_specifics_t asn_SPC_FGC_DU_PM_Container_specs_1 = {
107 sizeof(struct FGC_DU_PM_Container),
108 offsetof(struct FGC_DU_PM_Container, _asn_ctx),
109 asn_MAP_FGC_DU_PM_Container_tag2el_1,
110 1, /* Count of tags in the map */
111 0, 0, 0, /* Optional elements (not needed) */
112 1, /* First extension addition */
113};
114asn_TYPE_descriptor_t asn_DEF_FGC_DU_PM_Container = {
115 "FGC-DU-PM-Container",
116 "FGC-DU-PM-Container",
117 &asn_OP_SEQUENCE,
118 asn_DEF_FGC_DU_PM_Container_tags_1,
119 sizeof(asn_DEF_FGC_DU_PM_Container_tags_1)
120 /sizeof(asn_DEF_FGC_DU_PM_Container_tags_1[0]), /* 1 */
121 asn_DEF_FGC_DU_PM_Container_tags_1, /* Same as above */
122 sizeof(asn_DEF_FGC_DU_PM_Container_tags_1)
123 /sizeof(asn_DEF_FGC_DU_PM_Container_tags_1[0]), /* 1 */
124 { 0, 0, SEQUENCE_constraint },
125 asn_MBR_FGC_DU_PM_Container_1,
126 1, /* Elements count */
127 &asn_SPC_FGC_DU_PM_Container_specs_1 /* Additional specs */
128};
129