2 * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
3 * From ASN.1 module "E2SM-KPM-IEs"
4 * found in "../../ASN1_Input/E2SM_KPM_V_3_0.asn1"
5 * `asn1c -D ./../../E2_output/E2SM_KPM_v3.0_output -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
8 #include "MatchingUEidPerGP-Item.h"
10 #include "MatchingUEidList-PerGP.h"
12 * This type is implemented using NativeEnumerated,
13 * so here we adjust the DEF accordingly.
15 static asn_oer_constraints_t asn_OER_type_noUEmatched_constr_3 CC_NOTUSED = {
18 static asn_per_constraints_t asn_PER_type_noUEmatched_constr_3 CC_NOTUSED = {
19 { APC_CONSTRAINED | APC_EXTENSIBLE, 0, 0, 0, 0 } /* (0..0,...) */,
20 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
21 0, 0 /* No PER value map */
23 static asn_oer_constraints_t asn_OER_type_matchedPerGP_constr_2 CC_NOTUSED = {
26 static asn_per_constraints_t asn_PER_type_matchedPerGP_constr_2 CC_NOTUSED = {
27 { APC_CONSTRAINED | APC_EXTENSIBLE, 1, 1, 0, 1 } /* (0..1,...) */,
28 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
29 0, 0 /* No PER value map */
31 static const asn_INTEGER_enum_map_t asn_MAP_noUEmatched_value2enum_3[] = {
33 /* This list is extensible */
35 static const unsigned int asn_MAP_noUEmatched_enum2value_3[] = {
37 /* This list is extensible */
39 static const asn_INTEGER_specifics_t asn_SPC_noUEmatched_specs_3 = {
40 asn_MAP_noUEmatched_value2enum_3, /* "tag" => N; sorted by tag */
41 asn_MAP_noUEmatched_enum2value_3, /* N => "tag"; sorted by N */
42 1, /* Number of elements in the maps */
43 2, /* Extensions before this member */
44 1, /* Strict enumeration */
45 0, /* Native long size */
48 static const ber_tlv_tag_t asn_DEF_noUEmatched_tags_3[] = {
49 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
50 (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
52 static /* Use -fall-defs-global to expose */
53 asn_TYPE_descriptor_t asn_DEF_noUEmatched_3 = {
56 &asn_OP_NativeEnumerated,
57 asn_DEF_noUEmatched_tags_3,
58 sizeof(asn_DEF_noUEmatched_tags_3)
59 /sizeof(asn_DEF_noUEmatched_tags_3[0]) - 1, /* 1 */
60 asn_DEF_noUEmatched_tags_3, /* Same as above */
61 sizeof(asn_DEF_noUEmatched_tags_3)
62 /sizeof(asn_DEF_noUEmatched_tags_3[0]), /* 2 */
63 { &asn_OER_type_noUEmatched_constr_3, &asn_PER_type_noUEmatched_constr_3, NativeEnumerated_constraint },
64 0, 0, /* Defined elsewhere */
65 &asn_SPC_noUEmatched_specs_3 /* Additional specs */
68 static asn_TYPE_member_t asn_MBR_matchedPerGP_2[] = {
69 { ATF_NOFLAGS, 0, offsetof(struct MatchingUEidPerGP_Item__matchedPerGP, choice.noUEmatched),
70 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
71 -1, /* IMPLICIT tag at current level */
72 &asn_DEF_noUEmatched_3,
75 0, 0, /* No default value */
78 { ATF_POINTER, 0, offsetof(struct MatchingUEidPerGP_Item__matchedPerGP, choice.oneOrMoreUEmatched),
79 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
80 -1, /* IMPLICIT tag at current level */
81 &asn_DEF_MatchingUEidList_PerGP,
84 0, 0, /* No default value */
88 static const asn_TYPE_tag2member_t asn_MAP_matchedPerGP_tag2el_2[] = {
89 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* noUEmatched */
90 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* oneOrMoreUEmatched */
92 static asn_CHOICE_specifics_t asn_SPC_matchedPerGP_specs_2 = {
93 sizeof(struct MatchingUEidPerGP_Item__matchedPerGP),
94 offsetof(struct MatchingUEidPerGP_Item__matchedPerGP, _asn_ctx),
95 offsetof(struct MatchingUEidPerGP_Item__matchedPerGP, present),
96 sizeof(((struct MatchingUEidPerGP_Item__matchedPerGP *)0)->present),
97 asn_MAP_matchedPerGP_tag2el_2,
98 2, /* Count of tags in the map */
100 2 /* Extensions start */
102 static /* Use -fall-defs-global to expose */
103 asn_TYPE_descriptor_t asn_DEF_matchedPerGP_2 = {
107 0, /* No effective tags (pointer) */
108 0, /* No effective tags (count) */
109 0, /* No tags (pointer) */
110 0, /* No tags (count) */
111 { &asn_OER_type_matchedPerGP_constr_2, &asn_PER_type_matchedPerGP_constr_2, CHOICE_constraint },
112 asn_MBR_matchedPerGP_2,
113 2, /* Elements count */
114 &asn_SPC_matchedPerGP_specs_2 /* Additional specs */
117 asn_TYPE_member_t asn_MBR_MatchingUEidPerGP_Item_1[] = {
118 { ATF_NOFLAGS, 0, offsetof(struct MatchingUEidPerGP_Item, matchedPerGP),
119 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
120 +1, /* EXPLICIT tag at current level */
121 &asn_DEF_matchedPerGP_2,
124 0, 0, /* No default value */
128 static const ber_tlv_tag_t asn_DEF_MatchingUEidPerGP_Item_tags_1[] = {
129 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
131 static const asn_TYPE_tag2member_t asn_MAP_MatchingUEidPerGP_Item_tag2el_1[] = {
132 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* matchedPerGP */
134 asn_SEQUENCE_specifics_t asn_SPC_MatchingUEidPerGP_Item_specs_1 = {
135 sizeof(struct MatchingUEidPerGP_Item),
136 offsetof(struct MatchingUEidPerGP_Item, _asn_ctx),
137 asn_MAP_MatchingUEidPerGP_Item_tag2el_1,
138 1, /* Count of tags in the map */
139 0, 0, 0, /* Optional elements (not needed) */
140 1, /* First extension addition */
142 asn_TYPE_descriptor_t asn_DEF_MatchingUEidPerGP_Item = {
143 "MatchingUEidPerGP-Item",
144 "MatchingUEidPerGP-Item",
146 asn_DEF_MatchingUEidPerGP_Item_tags_1,
147 sizeof(asn_DEF_MatchingUEidPerGP_Item_tags_1)
148 /sizeof(asn_DEF_MatchingUEidPerGP_Item_tags_1[0]), /* 1 */
149 asn_DEF_MatchingUEidPerGP_Item_tags_1, /* Same as above */
150 sizeof(asn_DEF_MatchingUEidPerGP_Item_tags_1)
151 /sizeof(asn_DEF_MatchingUEidPerGP_Item_tags_1[0]), /* 1 */
152 { 0, 0, SEQUENCE_constraint },
153 asn_MBR_MatchingUEidPerGP_Item_1,
154 1, /* Elements count */
155 &asn_SPC_MatchingUEidPerGP_Item_specs_1 /* Additional specs */