2 * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
3 * From ASN.1 module "NR-RRC-Definitions"
4 * found in "../../../rrc_15.5.1_asn.asn1"
5 * `asn1c -D ./rrc_out -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
8 #include "PLMN-RAN-AreaConfig.h"
10 #include "PLMN-IdentitY.h"
11 #include "RAN-AreaConfig.h"
13 memb_ran_Area_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
14 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
18 ASN__CTFAIL(app_key, td, sptr,
19 "%s: value not given (%s:%d)",
20 td->name, __FILE__, __LINE__);
24 /* Determine the number of elements */
25 size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
27 if((size >= 1 && size <= 16)) {
28 /* Perform validation of the inner elements */
29 return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
31 ASN__CTFAIL(app_key, td, sptr,
32 "%s: constraint failed (%s:%d)",
33 td->name, __FILE__, __LINE__);
38 static asn_oer_constraints_t asn_OER_type_ran_Area_constr_3 CC_NOTUSED = {
40 -1 /* (SIZE(1..16)) */};
41 static asn_per_constraints_t asn_PER_type_ran_Area_constr_3 CC_NOTUSED = {
42 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
43 { APC_CONSTRAINED, 4, 4, 1, 16 } /* (SIZE(1..16)) */,
44 0, 0 /* No PER value map */
46 static asn_oer_constraints_t asn_OER_memb_ran_Area_constr_3 CC_NOTUSED = {
48 -1 /* (SIZE(1..16)) */};
49 static asn_per_constraints_t asn_PER_memb_ran_Area_constr_3 CC_NOTUSED = {
50 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
51 { APC_CONSTRAINED, 4, 4, 1, 16 } /* (SIZE(1..16)) */,
52 0, 0 /* No PER value map */
54 static asn_TYPE_member_t asn_MBR_ran_Area_3[] = {
56 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
58 &asn_DEF_RAN_AreaConfig,
61 0, 0, /* No default value */
65 static const ber_tlv_tag_t asn_DEF_ran_Area_tags_3[] = {
66 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
67 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
69 static asn_SET_OF_specifics_t asn_SPC_ran_Area_specs_3 = {
70 sizeof(struct PLMN_RAN_AreaConfig__ran_Area),
71 offsetof(struct PLMN_RAN_AreaConfig__ran_Area, _asn_ctx),
72 0, /* XER encoding is XMLDelimitedItemList */
74 static /* Use -fall-defs-global to expose */
75 asn_TYPE_descriptor_t asn_DEF_ran_Area_3 = {
79 asn_DEF_ran_Area_tags_3,
80 sizeof(asn_DEF_ran_Area_tags_3)
81 /sizeof(asn_DEF_ran_Area_tags_3[0]) - 1, /* 1 */
82 asn_DEF_ran_Area_tags_3, /* Same as above */
83 sizeof(asn_DEF_ran_Area_tags_3)
84 /sizeof(asn_DEF_ran_Area_tags_3[0]), /* 2 */
85 { &asn_OER_type_ran_Area_constr_3, &asn_PER_type_ran_Area_constr_3, SEQUENCE_OF_constraint },
87 1, /* Single element */
88 &asn_SPC_ran_Area_specs_3 /* Additional specs */
91 asn_TYPE_member_t asn_MBR_PLMN_RAN_AreaConfig_1[] = {
92 { ATF_POINTER, 1, offsetof(struct PLMN_RAN_AreaConfig, plmn_Identity),
93 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
94 -1, /* IMPLICIT tag at current level */
95 &asn_DEF_PLMN_IdentitY,
98 0, 0, /* No default value */
101 { ATF_NOFLAGS, 0, offsetof(struct PLMN_RAN_AreaConfig, ran_Area),
102 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
106 { &asn_OER_memb_ran_Area_constr_3, &asn_PER_memb_ran_Area_constr_3, memb_ran_Area_constraint_1 },
107 0, 0, /* No default value */
111 static const int asn_MAP_PLMN_RAN_AreaConfig_oms_1[] = { 0 };
112 static const ber_tlv_tag_t asn_DEF_PLMN_RAN_AreaConfig_tags_1[] = {
113 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
115 static const asn_TYPE_tag2member_t asn_MAP_PLMN_RAN_AreaConfig_tag2el_1[] = {
116 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* plmn-Identity */
117 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* ran-Area */
119 asn_SEQUENCE_specifics_t asn_SPC_PLMN_RAN_AreaConfig_specs_1 = {
120 sizeof(struct PLMN_RAN_AreaConfig),
121 offsetof(struct PLMN_RAN_AreaConfig, _asn_ctx),
122 asn_MAP_PLMN_RAN_AreaConfig_tag2el_1,
123 2, /* Count of tags in the map */
124 asn_MAP_PLMN_RAN_AreaConfig_oms_1, /* Optional members */
125 1, 0, /* Root/Additions */
126 -1, /* First extension addition */
128 asn_TYPE_descriptor_t asn_DEF_PLMN_RAN_AreaConfig = {
129 "PLMN-RAN-AreaConfig",
130 "PLMN-RAN-AreaConfig",
132 asn_DEF_PLMN_RAN_AreaConfig_tags_1,
133 sizeof(asn_DEF_PLMN_RAN_AreaConfig_tags_1)
134 /sizeof(asn_DEF_PLMN_RAN_AreaConfig_tags_1[0]), /* 1 */
135 asn_DEF_PLMN_RAN_AreaConfig_tags_1, /* Same as above */
136 sizeof(asn_DEF_PLMN_RAN_AreaConfig_tags_1)
137 /sizeof(asn_DEF_PLMN_RAN_AreaConfig_tags_1[0]), /* 1 */
138 { 0, 0, SEQUENCE_constraint },
139 asn_MBR_PLMN_RAN_AreaConfig_1,
140 2, /* Elements count */
141 &asn_SPC_PLMN_RAN_AreaConfig_specs_1 /* Additional specs */