blob: e1f754e43a078123b15cdd37753e3625f0545dc1 [file] [log] [blame]
Ron Shacham0eba05c2020-05-08 15:13:19 -04001/*
2 * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
3 * From ASN.1 module "E2SM-KPM-IEs"
Ron Shachamb57063d2020-07-06 16:12:24 -04004 * found in "/home/rshacham/e2sm-kpm-v01.02.asn"
Ron Shacham0eba05c2020-05-08 15:13:19 -04005 * `asn1c -fcompound-names`
6 */
7
8#include "OCUUP-PF-Container.h"
9
10static int
11memb_pf_ContainerList_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 <= 3)) {
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_pf_ContainerList_constr_3 CC_NOTUSED = {
37 { 0, 0 },
38 -1 /* (SIZE(1..3)) */};
39static asn_per_constraints_t asn_PER_type_pf_ContainerList_constr_3 CC_NOTUSED = {
40 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
41 { APC_CONSTRAINED, 2, 2, 1, 3 } /* (SIZE(1..3)) */,
42 0, 0 /* No PER value map */
43};
44static asn_oer_constraints_t asn_OER_memb_pf_ContainerList_constr_3 CC_NOTUSED = {
45 { 0, 0 },
46 -1 /* (SIZE(1..3)) */};
47static asn_per_constraints_t asn_PER_memb_pf_ContainerList_constr_3 CC_NOTUSED = {
48 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
49 { APC_CONSTRAINED, 2, 2, 1, 3 } /* (SIZE(1..3)) */,
50 0, 0 /* No PER value map */
51};
52static asn_TYPE_member_t asn_MBR_pf_ContainerList_3[] = {
53 { ATF_POINTER, 0, 0,
54 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
55 0,
56 &asn_DEF_PF_ContainerListItem,
57 0,
58 { 0, 0, 0 },
59 0, 0, /* No default value */
60 ""
61 },
62};
63static const ber_tlv_tag_t asn_DEF_pf_ContainerList_tags_3[] = {
64 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
65 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
66};
67static asn_SET_OF_specifics_t asn_SPC_pf_ContainerList_specs_3 = {
68 sizeof(struct OCUUP_PF_Container__pf_ContainerList),
69 offsetof(struct OCUUP_PF_Container__pf_ContainerList, _asn_ctx),
70 0, /* XER encoding is XMLDelimitedItemList */
71};
72static /* Use -fall-defs-global to expose */
73asn_TYPE_descriptor_t asn_DEF_pf_ContainerList_3 = {
74 "pf-ContainerList",
75 "pf-ContainerList",
76 &asn_OP_SEQUENCE_OF,
77 asn_DEF_pf_ContainerList_tags_3,
78 sizeof(asn_DEF_pf_ContainerList_tags_3)
79 /sizeof(asn_DEF_pf_ContainerList_tags_3[0]) - 1, /* 1 */
80 asn_DEF_pf_ContainerList_tags_3, /* Same as above */
81 sizeof(asn_DEF_pf_ContainerList_tags_3)
82 /sizeof(asn_DEF_pf_ContainerList_tags_3[0]), /* 2 */
83 { &asn_OER_type_pf_ContainerList_constr_3, &asn_PER_type_pf_ContainerList_constr_3, SEQUENCE_OF_constraint },
84 asn_MBR_pf_ContainerList_3,
85 1, /* Single element */
86 &asn_SPC_pf_ContainerList_specs_3 /* Additional specs */
87};
88
89asn_TYPE_member_t asn_MBR_OCUUP_PF_Container_1[] = {
90 { ATF_POINTER, 1, offsetof(struct OCUUP_PF_Container, gNB_CU_UP_Name),
91 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
92 -1, /* IMPLICIT tag at current level */
93 &asn_DEF_GNB_CU_UP_Name,
94 0,
95 { 0, 0, 0 },
96 0, 0, /* No default value */
97 "gNB-CU-UP-Name"
98 },
99 { ATF_NOFLAGS, 0, offsetof(struct OCUUP_PF_Container, pf_ContainerList),
100 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
101 0,
102 &asn_DEF_pf_ContainerList_3,
103 0,
104 { &asn_OER_memb_pf_ContainerList_constr_3, &asn_PER_memb_pf_ContainerList_constr_3, memb_pf_ContainerList_constraint_1 },
105 0, 0, /* No default value */
106 "pf-ContainerList"
107 },
108};
109static const int asn_MAP_OCUUP_PF_Container_oms_1[] = { 0 };
110static const ber_tlv_tag_t asn_DEF_OCUUP_PF_Container_tags_1[] = {
111 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
112};
113static const asn_TYPE_tag2member_t asn_MAP_OCUUP_PF_Container_tag2el_1[] = {
114 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* gNB-CU-UP-Name */
115 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* pf-ContainerList */
116};
117asn_SEQUENCE_specifics_t asn_SPC_OCUUP_PF_Container_specs_1 = {
118 sizeof(struct OCUUP_PF_Container),
119 offsetof(struct OCUUP_PF_Container, _asn_ctx),
120 asn_MAP_OCUUP_PF_Container_tag2el_1,
121 2, /* Count of tags in the map */
122 asn_MAP_OCUUP_PF_Container_oms_1, /* Optional members */
123 1, 0, /* Root/Additions */
124 2, /* First extension addition */
125};
126asn_TYPE_descriptor_t asn_DEF_OCUUP_PF_Container = {
127 "OCUUP-PF-Container",
128 "OCUUP-PF-Container",
129 &asn_OP_SEQUENCE,
130 asn_DEF_OCUUP_PF_Container_tags_1,
131 sizeof(asn_DEF_OCUUP_PF_Container_tags_1)
132 /sizeof(asn_DEF_OCUUP_PF_Container_tags_1[0]), /* 1 */
133 asn_DEF_OCUUP_PF_Container_tags_1, /* Same as above */
134 sizeof(asn_DEF_OCUUP_PF_Container_tags_1)
135 /sizeof(asn_DEF_OCUUP_PF_Container_tags_1[0]), /* 1 */
136 { 0, 0, SEQUENCE_constraint },
137 asn_MBR_OCUUP_PF_Container_1,
138 2, /* Elements count */
139 &asn_SPC_OCUUP_PF_Container_specs_1 /* Additional specs */
140};
141