blob: e75aec4b7adc150455ced7276e6131963d927bfa [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"
4 * found in "/home/rshacham/e2sm_kpm_approved.asn"
5 * `asn1c -fcompound-names`
6 */
7
8#include "E2SM-KPM-IndicationMessage-Format1.h"
9
10static int
11memb_pm_Containers_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 <= 512)) {
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_pm_Containers_constr_2 CC_NOTUSED = {
37 { 0, 0 },
38 -1 /* (SIZE(1..512)) */};
39static asn_per_constraints_t asn_PER_type_pm_Containers_constr_2 CC_NOTUSED = {
40 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
41 { APC_CONSTRAINED, 9, 9, 1, 512 } /* (SIZE(1..512)) */,
42 0, 0 /* No PER value map */
43};
44static asn_oer_constraints_t asn_OER_memb_pm_Containers_constr_2 CC_NOTUSED = {
45 { 0, 0 },
46 -1 /* (SIZE(1..512)) */};
47static asn_per_constraints_t asn_PER_memb_pm_Containers_constr_2 CC_NOTUSED = {
48 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
49 { APC_CONSTRAINED, 9, 9, 1, 512 } /* (SIZE(1..512)) */,
50 0, 0 /* No PER value map */
51};
52static asn_TYPE_member_t asn_MBR_pm_Containers_2[] = {
53 { ATF_POINTER, 0, 0,
54 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
55 0,
56 &asn_DEF_PM_Containers_List,
57 0,
58 { 0, 0, 0 },
59 0, 0, /* No default value */
60 ""
61 },
62};
63static const ber_tlv_tag_t asn_DEF_pm_Containers_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_pm_Containers_specs_2 = {
68 sizeof(struct E2SM_KPM_IndicationMessage_Format1__pm_Containers),
69 offsetof(struct E2SM_KPM_IndicationMessage_Format1__pm_Containers, _asn_ctx),
70 0, /* XER encoding is XMLDelimitedItemList */
71};
72static /* Use -fall-defs-global to expose */
73asn_TYPE_descriptor_t asn_DEF_pm_Containers_2 = {
74 "pm-Containers",
75 "pm-Containers",
76 &asn_OP_SEQUENCE_OF,
77 asn_DEF_pm_Containers_tags_2,
78 sizeof(asn_DEF_pm_Containers_tags_2)
79 /sizeof(asn_DEF_pm_Containers_tags_2[0]) - 1, /* 1 */
80 asn_DEF_pm_Containers_tags_2, /* Same as above */
81 sizeof(asn_DEF_pm_Containers_tags_2)
82 /sizeof(asn_DEF_pm_Containers_tags_2[0]), /* 2 */
83 { &asn_OER_type_pm_Containers_constr_2, &asn_PER_type_pm_Containers_constr_2, SEQUENCE_OF_constraint },
84 asn_MBR_pm_Containers_2,
85 1, /* Single element */
86 &asn_SPC_pm_Containers_specs_2 /* Additional specs */
87};
88
89asn_TYPE_member_t asn_MBR_E2SM_KPM_IndicationMessage_Format1_1[] = {
90 { ATF_NOFLAGS, 0, offsetof(struct E2SM_KPM_IndicationMessage_Format1, pm_Containers),
91 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
92 0,
93 &asn_DEF_pm_Containers_2,
94 0,
95 { &asn_OER_memb_pm_Containers_constr_2, &asn_PER_memb_pm_Containers_constr_2, memb_pm_Containers_constraint_1 },
96 0, 0, /* No default value */
97 "pm-Containers"
98 },
99};
100static const ber_tlv_tag_t asn_DEF_E2SM_KPM_IndicationMessage_Format1_tags_1[] = {
101 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
102};
103static const asn_TYPE_tag2member_t asn_MAP_E2SM_KPM_IndicationMessage_Format1_tag2el_1[] = {
104 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* pm-Containers */
105};
106asn_SEQUENCE_specifics_t asn_SPC_E2SM_KPM_IndicationMessage_Format1_specs_1 = {
107 sizeof(struct E2SM_KPM_IndicationMessage_Format1),
108 offsetof(struct E2SM_KPM_IndicationMessage_Format1, _asn_ctx),
109 asn_MAP_E2SM_KPM_IndicationMessage_Format1_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_E2SM_KPM_IndicationMessage_Format1 = {
115 "E2SM-KPM-IndicationMessage-Format1",
116 "E2SM-KPM-IndicationMessage-Format1",
117 &asn_OP_SEQUENCE,
118 asn_DEF_E2SM_KPM_IndicationMessage_Format1_tags_1,
119 sizeof(asn_DEF_E2SM_KPM_IndicationMessage_Format1_tags_1)
120 /sizeof(asn_DEF_E2SM_KPM_IndicationMessage_Format1_tags_1[0]), /* 1 */
121 asn_DEF_E2SM_KPM_IndicationMessage_Format1_tags_1, /* Same as above */
122 sizeof(asn_DEF_E2SM_KPM_IndicationMessage_Format1_tags_1)
123 /sizeof(asn_DEF_E2SM_KPM_IndicationMessage_Format1_tags_1[0]), /* 1 */
124 { 0, 0, SEQUENCE_constraint },
125 asn_MBR_E2SM_KPM_IndicationMessage_Format1_1,
126 1, /* Elements count */
127 &asn_SPC_E2SM_KPM_IndicationMessage_Format1_specs_1 /* Additional specs */
128};
129