/src/open5gs/lib/asn1c/s1ap/S1AP_Subscription-Based-UE-DifferentiationInfo.c
Line | Count | Source |
1 | | /* |
2 | | * Generated by asn1c-v1.4-43-gb7926896-2026-05-03 (https://github.com/mouse07410/asn1c) |
3 | | * From ASN.1 module "S1AP-IEs" |
4 | | * found in "../support/s1ap-r19.1.0/36413-j10.asn" |
5 | | * `asn1c -pdu=all -fprefix=S1AP_ -fcompound-names -findirect-choice -fno-include-deps -no-gen-BER -no-gen-XER -no-gen-JER -no-gen-CBOR -no-gen-OER -no-gen-UPER` |
6 | | */ |
7 | | |
8 | | #include "S1AP_Subscription-Based-UE-DifferentiationInfo.h" |
9 | | |
10 | | #include "S1AP_ScheduledCommunicationTime.h" |
11 | | #include "S1AP_ProtocolExtensionContainer.h" |
12 | | #ifndef ASN1C_NO_UNSUFFIXED_PDU_ALIAS |
13 | | #if defined(__ELF__) && (defined(__GNUC__) || defined(__clang__)) |
14 | | extern asn_TYPE_descriptor_t asn_DEF_S1AP_periodicCommunicationIndicator __attribute__((weak, alias("asn_DEF_S1AP_periodicCommunicationIndicator_2"))); |
15 | | #else |
16 | | static asn_TYPE_descriptor_t asn_DEF_S1AP_periodicCommunicationIndicator_2; |
17 | | static asn_TYPE_descriptor_t asn_DEF_S1AP_periodicCommunicationIndicator; |
18 | | __attribute__((constructor)) static void asn_DEF_S1AP_periodicCommunicationIndicator_2_alias_init(void) { |
19 | | asn_DEF_S1AP_periodicCommunicationIndicator = asn_DEF_S1AP_periodicCommunicationIndicator_2; |
20 | | } |
21 | | #endif |
22 | | #endif /* ASN1C_NO_UNSUFFIXED_PDU_ALIAS */ |
23 | | /* |
24 | | * This type is implemented using NativeEnumerated, |
25 | | * so here we adjust the DEF accordingly. |
26 | | */ |
27 | | #ifndef ASN1C_NO_UNSUFFIXED_PDU_ALIAS |
28 | | #if defined(__ELF__) && (defined(__GNUC__) || defined(__clang__)) |
29 | | extern asn_TYPE_descriptor_t asn_DEF_S1AP_stationaryIndication __attribute__((weak, alias("asn_DEF_S1AP_stationaryIndication_8"))); |
30 | | #else |
31 | | static asn_TYPE_descriptor_t asn_DEF_S1AP_stationaryIndication_8; |
32 | | static asn_TYPE_descriptor_t asn_DEF_S1AP_stationaryIndication; |
33 | | __attribute__((constructor)) static void asn_DEF_S1AP_stationaryIndication_8_alias_init(void) { |
34 | | asn_DEF_S1AP_stationaryIndication = asn_DEF_S1AP_stationaryIndication_8; |
35 | | } |
36 | | #endif |
37 | | #endif /* ASN1C_NO_UNSUFFIXED_PDU_ALIAS */ |
38 | | /* |
39 | | * This type is implemented using NativeEnumerated, |
40 | | * so here we adjust the DEF accordingly. |
41 | | */ |
42 | | #ifndef ASN1C_NO_UNSUFFIXED_PDU_ALIAS |
43 | | #if defined(__ELF__) && (defined(__GNUC__) || defined(__clang__)) |
44 | | extern asn_TYPE_descriptor_t asn_DEF_S1AP_trafficProfile __attribute__((weak, alias("asn_DEF_S1AP_trafficProfile_12"))); |
45 | | #else |
46 | | static asn_TYPE_descriptor_t asn_DEF_S1AP_trafficProfile_12; |
47 | | static asn_TYPE_descriptor_t asn_DEF_S1AP_trafficProfile; |
48 | | __attribute__((constructor)) static void asn_DEF_S1AP_trafficProfile_12_alias_init(void) { |
49 | | asn_DEF_S1AP_trafficProfile = asn_DEF_S1AP_trafficProfile_12; |
50 | | } |
51 | | #endif |
52 | | #endif /* ASN1C_NO_UNSUFFIXED_PDU_ALIAS */ |
53 | | /* |
54 | | * This type is implemented using NativeEnumerated, |
55 | | * so here we adjust the DEF accordingly. |
56 | | */ |
57 | | #ifndef ASN1C_NO_UNSUFFIXED_PDU_ALIAS |
58 | | #if defined(__ELF__) && (defined(__GNUC__) || defined(__clang__)) |
59 | | extern asn_TYPE_descriptor_t asn_DEF_S1AP_batteryIndication __attribute__((weak, alias("asn_DEF_S1AP_batteryIndication_17"))); |
60 | | #else |
61 | | static asn_TYPE_descriptor_t asn_DEF_S1AP_batteryIndication_17; |
62 | | static asn_TYPE_descriptor_t asn_DEF_S1AP_batteryIndication; |
63 | | __attribute__((constructor)) static void asn_DEF_S1AP_batteryIndication_17_alias_init(void) { |
64 | | asn_DEF_S1AP_batteryIndication = asn_DEF_S1AP_batteryIndication_17; |
65 | | } |
66 | | #endif |
67 | | #endif /* ASN1C_NO_UNSUFFIXED_PDU_ALIAS */ |
68 | | /* |
69 | | * This type is implemented using NativeEnumerated, |
70 | | * so here we adjust the DEF accordingly. |
71 | | */ |
72 | | static int |
73 | | memb_S1AP_periodicTime_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, |
74 | 0 | asn_app_constraint_failed_f *ctfailcb, void *app_key) { |
75 | 0 | long value; |
76 | | |
77 | 0 | if(!sptr) { |
78 | 0 | ASN__CTFAIL(app_key, td, sptr, |
79 | 0 | "%s: value not given (%s:%d)", |
80 | 0 | td->name, __FILE__, __LINE__); |
81 | 0 | return -1; |
82 | 0 | } |
83 | | |
84 | 0 | value = *(const long *)sptr; |
85 | | |
86 | 0 | if((value >= 1L && value <= 3600L)) { |
87 | | /* Constraint check succeeded */ |
88 | 0 | return 0; |
89 | 0 | } else { |
90 | 0 | ASN__CTFAIL(app_key, td, sptr, |
91 | 0 | "%s: constraint failed (%s:%d)", |
92 | 0 | td->name, __FILE__, __LINE__); |
93 | 0 | return -1; |
94 | 0 | } |
95 | 0 | } |
96 | | |
97 | | #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) |
98 | | static asn_per_constraints_t asn_PER_type_S1AP_periodicCommunicationIndicator_constr_2 CC_NOTUSED = { |
99 | | { APC_CONSTRAINED | APC_EXTENSIBLE, 1, 1, 0, 1 } /* (0..1,...) */, |
100 | | { APC_UNCONSTRAINED, -1, -1, 0, 0 }, |
101 | | 0, 0 /* No PER value map */ |
102 | | }; |
103 | | #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ |
104 | | #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) |
105 | | static asn_per_constraints_t asn_PER_type_S1AP_stationaryIndication_constr_8 CC_NOTUSED = { |
106 | | { APC_CONSTRAINED | APC_EXTENSIBLE, 1, 1, 0, 1 } /* (0..1,...) */, |
107 | | { APC_UNCONSTRAINED, -1, -1, 0, 0 }, |
108 | | 0, 0 /* No PER value map */ |
109 | | }; |
110 | | #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ |
111 | | #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) |
112 | | static asn_per_constraints_t asn_PER_type_S1AP_trafficProfile_constr_12 CC_NOTUSED = { |
113 | | { APC_CONSTRAINED | APC_EXTENSIBLE, 2, 2, 0, 2 } /* (0..2,...) */, |
114 | | { APC_UNCONSTRAINED, -1, -1, 0, 0 }, |
115 | | 0, 0 /* No PER value map */ |
116 | | }; |
117 | | #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ |
118 | | #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) |
119 | | static asn_per_constraints_t asn_PER_type_S1AP_batteryIndication_constr_17 CC_NOTUSED = { |
120 | | { APC_CONSTRAINED | APC_EXTENSIBLE, 2, 2, 0, 2 } /* (0..2,...) */, |
121 | | { APC_UNCONSTRAINED, -1, -1, 0, 0 }, |
122 | | 0, 0 /* No PER value map */ |
123 | | }; |
124 | | #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ |
125 | | #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) |
126 | | static asn_per_constraints_t asn_PER_memb_S1AP_periodicTime_constr_6 CC_NOTUSED = { |
127 | | { APC_CONSTRAINED | APC_EXTENSIBLE, 12, 12, 1, 3600 } /* (1..3600,...) */, |
128 | | { APC_UNCONSTRAINED, -1, -1, 0, 0 }, |
129 | | 0, 0 /* No PER value map */ |
130 | | }; |
131 | | #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ |
132 | | static const asn_INTEGER_enum_map_t asn_MAP_S1AP_periodicCommunicationIndicator_value2enum_2[] = { |
133 | | { 0, 12, "periodically" }, |
134 | | { 1, 8, "ondemand" } |
135 | | /* This list is extensible */ |
136 | | }; |
137 | | static int asn_validate_S1AP_periodicCommunicationIndicator_2(const asn_TYPE_descriptor_t *td, |
138 | | const void *sptr, |
139 | | asn_app_constraint_failed_f *ctfailcb, |
140 | 0 | void* app_key) { |
141 | 0 | if(! sptr) { return -1; } |
142 | 0 | e_S1AP_Subscription_Based_UE_DifferentiationInfo__periodicCommunicationIndicator value = *(e_S1AP_Subscription_Based_UE_DifferentiationInfo__periodicCommunicationIndicator*)sptr; |
143 | 0 | switch(value) { |
144 | 0 | case S1AP_Subscription_Based_UE_DifferentiationInfo__periodicCommunicationIndicator_periodically: |
145 | 0 | case S1AP_Subscription_Based_UE_DifferentiationInfo__periodicCommunicationIndicator_ondemand: |
146 | 0 | return 0; |
147 | 0 | } |
148 | 0 | return -1; |
149 | 0 | } |
150 | | static const unsigned int asn_MAP_S1AP_periodicCommunicationIndicator_enum2value_2[] = { |
151 | | 1, /* ondemand(1) */ |
152 | | 0 /* periodically(0) */ |
153 | | /* This list is extensible */ |
154 | | }; |
155 | | static const asn_INTEGER_specifics_t asn_SPC_S1AP_periodicCommunicationIndicator_specs_2 = { |
156 | | asn_MAP_S1AP_periodicCommunicationIndicator_value2enum_2, /* "tag" => N; sorted by tag */ |
157 | | asn_MAP_S1AP_periodicCommunicationIndicator_enum2value_2, /* N => "tag"; sorted by N */ |
158 | | 2, /* Number of elements in the maps */ |
159 | | 3, /* Extensions before this member */ |
160 | | 1, /* Strict enumeration */ |
161 | | 0, /* Native long size */ |
162 | | 0 |
163 | | }; |
164 | | static const ber_tlv_tag_t asn_DEF_S1AP_periodicCommunicationIndicator_tags_2[] = { |
165 | | (ASN_TAG_CLASS_CONTEXT | (0 << 2)), |
166 | | (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) |
167 | | }; |
168 | | static /* Use -fall-defs-global to expose */ |
169 | | asn_TYPE_descriptor_t asn_DEF_S1AP_periodicCommunicationIndicator_2 = { |
170 | | "periodicCommunicationIndicator", |
171 | | "periodicCommunicationIndicator", |
172 | | &asn_OP_NativeEnumerated, |
173 | | asn_DEF_S1AP_periodicCommunicationIndicator_tags_2, |
174 | | sizeof(asn_DEF_S1AP_periodicCommunicationIndicator_tags_2) |
175 | | /sizeof(asn_DEF_S1AP_periodicCommunicationIndicator_tags_2[0]) - 1, /* 1 */ |
176 | | asn_DEF_S1AP_periodicCommunicationIndicator_tags_2, /* Same as above */ |
177 | | sizeof(asn_DEF_S1AP_periodicCommunicationIndicator_tags_2) |
178 | | /sizeof(asn_DEF_S1AP_periodicCommunicationIndicator_tags_2[0]), /* 2 */ |
179 | | { |
180 | | #if !defined(ASN_DISABLE_OER_SUPPORT) |
181 | | 0, |
182 | | #endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ |
183 | | #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) |
184 | | &asn_PER_type_S1AP_periodicCommunicationIndicator_constr_2, |
185 | | #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ |
186 | | #if !defined(ASN_DISABLE_JER_SUPPORT) |
187 | | 0, |
188 | | #endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ |
189 | | asn_validate_S1AP_periodicCommunicationIndicator_2 |
190 | | }, |
191 | | 0, 0, /* Defined elsewhere */ |
192 | | &asn_SPC_S1AP_periodicCommunicationIndicator_specs_2 /* Additional specs */ |
193 | | }; |
194 | | |
195 | | static const asn_INTEGER_enum_map_t asn_MAP_S1AP_stationaryIndication_value2enum_8[] = { |
196 | | { 0, 10, "stationary" }, |
197 | | { 1, 6, "mobile" } |
198 | | /* This list is extensible */ |
199 | | }; |
200 | | static int asn_validate_S1AP_stationaryIndication_8(const asn_TYPE_descriptor_t *td, |
201 | | const void *sptr, |
202 | | asn_app_constraint_failed_f *ctfailcb, |
203 | 0 | void* app_key) { |
204 | 0 | if(! sptr) { return -1; } |
205 | 0 | e_S1AP_Subscription_Based_UE_DifferentiationInfo__stationaryIndication value = *(e_S1AP_Subscription_Based_UE_DifferentiationInfo__stationaryIndication*)sptr; |
206 | 0 | switch(value) { |
207 | 0 | case S1AP_Subscription_Based_UE_DifferentiationInfo__stationaryIndication_stationary: |
208 | 0 | case S1AP_Subscription_Based_UE_DifferentiationInfo__stationaryIndication_mobile: |
209 | 0 | return 0; |
210 | 0 | } |
211 | 0 | return -1; |
212 | 0 | } |
213 | | static const unsigned int asn_MAP_S1AP_stationaryIndication_enum2value_8[] = { |
214 | | 1, /* mobile(1) */ |
215 | | 0 /* stationary(0) */ |
216 | | /* This list is extensible */ |
217 | | }; |
218 | | static const asn_INTEGER_specifics_t asn_SPC_S1AP_stationaryIndication_specs_8 = { |
219 | | asn_MAP_S1AP_stationaryIndication_value2enum_8, /* "tag" => N; sorted by tag */ |
220 | | asn_MAP_S1AP_stationaryIndication_enum2value_8, /* N => "tag"; sorted by N */ |
221 | | 2, /* Number of elements in the maps */ |
222 | | 3, /* Extensions before this member */ |
223 | | 1, /* Strict enumeration */ |
224 | | 0, /* Native long size */ |
225 | | 0 |
226 | | }; |
227 | | static const ber_tlv_tag_t asn_DEF_S1AP_stationaryIndication_tags_8[] = { |
228 | | (ASN_TAG_CLASS_CONTEXT | (3 << 2)), |
229 | | (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) |
230 | | }; |
231 | | static /* Use -fall-defs-global to expose */ |
232 | | asn_TYPE_descriptor_t asn_DEF_S1AP_stationaryIndication_8 = { |
233 | | "stationaryIndication", |
234 | | "stationaryIndication", |
235 | | &asn_OP_NativeEnumerated, |
236 | | asn_DEF_S1AP_stationaryIndication_tags_8, |
237 | | sizeof(asn_DEF_S1AP_stationaryIndication_tags_8) |
238 | | /sizeof(asn_DEF_S1AP_stationaryIndication_tags_8[0]) - 1, /* 1 */ |
239 | | asn_DEF_S1AP_stationaryIndication_tags_8, /* Same as above */ |
240 | | sizeof(asn_DEF_S1AP_stationaryIndication_tags_8) |
241 | | /sizeof(asn_DEF_S1AP_stationaryIndication_tags_8[0]), /* 2 */ |
242 | | { |
243 | | #if !defined(ASN_DISABLE_OER_SUPPORT) |
244 | | 0, |
245 | | #endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ |
246 | | #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) |
247 | | &asn_PER_type_S1AP_stationaryIndication_constr_8, |
248 | | #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ |
249 | | #if !defined(ASN_DISABLE_JER_SUPPORT) |
250 | | 0, |
251 | | #endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ |
252 | | asn_validate_S1AP_stationaryIndication_8 |
253 | | }, |
254 | | 0, 0, /* Defined elsewhere */ |
255 | | &asn_SPC_S1AP_stationaryIndication_specs_8 /* Additional specs */ |
256 | | }; |
257 | | |
258 | | static const asn_INTEGER_enum_map_t asn_MAP_S1AP_trafficProfile_value2enum_12[] = { |
259 | | { 0, 13, "single-packet" }, |
260 | | { 1, 12, "dual-packets" }, |
261 | | { 2, 16, "multiple-packets" } |
262 | | /* This list is extensible */ |
263 | | }; |
264 | | static int asn_validate_S1AP_trafficProfile_12(const asn_TYPE_descriptor_t *td, |
265 | | const void *sptr, |
266 | | asn_app_constraint_failed_f *ctfailcb, |
267 | 0 | void* app_key) { |
268 | 0 | if(! sptr) { return -1; } |
269 | 0 | e_S1AP_Subscription_Based_UE_DifferentiationInfo__trafficProfile value = *(e_S1AP_Subscription_Based_UE_DifferentiationInfo__trafficProfile*)sptr; |
270 | 0 | switch(value) { |
271 | 0 | case S1AP_Subscription_Based_UE_DifferentiationInfo__trafficProfile_single_packet: |
272 | 0 | case S1AP_Subscription_Based_UE_DifferentiationInfo__trafficProfile_dual_packets: |
273 | 0 | case S1AP_Subscription_Based_UE_DifferentiationInfo__trafficProfile_multiple_packets: |
274 | 0 | return 0; |
275 | 0 | } |
276 | 0 | return -1; |
277 | 0 | } |
278 | | static const unsigned int asn_MAP_S1AP_trafficProfile_enum2value_12[] = { |
279 | | 1, /* dual-packets(1) */ |
280 | | 2, /* multiple-packets(2) */ |
281 | | 0 /* single-packet(0) */ |
282 | | /* This list is extensible */ |
283 | | }; |
284 | | static const asn_INTEGER_specifics_t asn_SPC_S1AP_trafficProfile_specs_12 = { |
285 | | asn_MAP_S1AP_trafficProfile_value2enum_12, /* "tag" => N; sorted by tag */ |
286 | | asn_MAP_S1AP_trafficProfile_enum2value_12, /* N => "tag"; sorted by N */ |
287 | | 3, /* Number of elements in the maps */ |
288 | | 4, /* Extensions before this member */ |
289 | | 1, /* Strict enumeration */ |
290 | | 0, /* Native long size */ |
291 | | 0 |
292 | | }; |
293 | | static const ber_tlv_tag_t asn_DEF_S1AP_trafficProfile_tags_12[] = { |
294 | | (ASN_TAG_CLASS_CONTEXT | (4 << 2)), |
295 | | (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) |
296 | | }; |
297 | | static /* Use -fall-defs-global to expose */ |
298 | | asn_TYPE_descriptor_t asn_DEF_S1AP_trafficProfile_12 = { |
299 | | "trafficProfile", |
300 | | "trafficProfile", |
301 | | &asn_OP_NativeEnumerated, |
302 | | asn_DEF_S1AP_trafficProfile_tags_12, |
303 | | sizeof(asn_DEF_S1AP_trafficProfile_tags_12) |
304 | | /sizeof(asn_DEF_S1AP_trafficProfile_tags_12[0]) - 1, /* 1 */ |
305 | | asn_DEF_S1AP_trafficProfile_tags_12, /* Same as above */ |
306 | | sizeof(asn_DEF_S1AP_trafficProfile_tags_12) |
307 | | /sizeof(asn_DEF_S1AP_trafficProfile_tags_12[0]), /* 2 */ |
308 | | { |
309 | | #if !defined(ASN_DISABLE_OER_SUPPORT) |
310 | | 0, |
311 | | #endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ |
312 | | #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) |
313 | | &asn_PER_type_S1AP_trafficProfile_constr_12, |
314 | | #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ |
315 | | #if !defined(ASN_DISABLE_JER_SUPPORT) |
316 | | 0, |
317 | | #endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ |
318 | | asn_validate_S1AP_trafficProfile_12 |
319 | | }, |
320 | | 0, 0, /* Defined elsewhere */ |
321 | | &asn_SPC_S1AP_trafficProfile_specs_12 /* Additional specs */ |
322 | | }; |
323 | | |
324 | | static const asn_INTEGER_enum_map_t asn_MAP_S1AP_batteryIndication_value2enum_17[] = { |
325 | | { 0, 15, "battery-powered" }, |
326 | | { 1, 47, "battery-powered-not-rechargeable-or-replaceable" }, |
327 | | { 2, 19, "not-battery-powered" } |
328 | | /* This list is extensible */ |
329 | | }; |
330 | | static int asn_validate_S1AP_batteryIndication_17(const asn_TYPE_descriptor_t *td, |
331 | | const void *sptr, |
332 | | asn_app_constraint_failed_f *ctfailcb, |
333 | 0 | void* app_key) { |
334 | 0 | if(! sptr) { return -1; } |
335 | 0 | e_S1AP_Subscription_Based_UE_DifferentiationInfo__batteryIndication value = *(e_S1AP_Subscription_Based_UE_DifferentiationInfo__batteryIndication*)sptr; |
336 | 0 | switch(value) { |
337 | 0 | case S1AP_Subscription_Based_UE_DifferentiationInfo__batteryIndication_battery_powered: |
338 | 0 | case S1AP_Subscription_Based_UE_DifferentiationInfo__batteryIndication_battery_powered_not_rechargeable_or_replaceable: |
339 | 0 | case S1AP_Subscription_Based_UE_DifferentiationInfo__batteryIndication_not_battery_powered: |
340 | 0 | return 0; |
341 | 0 | } |
342 | 0 | return -1; |
343 | 0 | } |
344 | | static const unsigned int asn_MAP_S1AP_batteryIndication_enum2value_17[] = { |
345 | | 0, /* battery-powered(0) */ |
346 | | 1, /* battery-powered-not-rechargeable-or-replaceable(1) */ |
347 | | 2 /* not-battery-powered(2) */ |
348 | | /* This list is extensible */ |
349 | | }; |
350 | | static const asn_INTEGER_specifics_t asn_SPC_S1AP_batteryIndication_specs_17 = { |
351 | | asn_MAP_S1AP_batteryIndication_value2enum_17, /* "tag" => N; sorted by tag */ |
352 | | asn_MAP_S1AP_batteryIndication_enum2value_17, /* N => "tag"; sorted by N */ |
353 | | 3, /* Number of elements in the maps */ |
354 | | 4, /* Extensions before this member */ |
355 | | 1, /* Strict enumeration */ |
356 | | 0, /* Native long size */ |
357 | | 0 |
358 | | }; |
359 | | static const ber_tlv_tag_t asn_DEF_S1AP_batteryIndication_tags_17[] = { |
360 | | (ASN_TAG_CLASS_CONTEXT | (5 << 2)), |
361 | | (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) |
362 | | }; |
363 | | static /* Use -fall-defs-global to expose */ |
364 | | asn_TYPE_descriptor_t asn_DEF_S1AP_batteryIndication_17 = { |
365 | | "batteryIndication", |
366 | | "batteryIndication", |
367 | | &asn_OP_NativeEnumerated, |
368 | | asn_DEF_S1AP_batteryIndication_tags_17, |
369 | | sizeof(asn_DEF_S1AP_batteryIndication_tags_17) |
370 | | /sizeof(asn_DEF_S1AP_batteryIndication_tags_17[0]) - 1, /* 1 */ |
371 | | asn_DEF_S1AP_batteryIndication_tags_17, /* Same as above */ |
372 | | sizeof(asn_DEF_S1AP_batteryIndication_tags_17) |
373 | | /sizeof(asn_DEF_S1AP_batteryIndication_tags_17[0]), /* 2 */ |
374 | | { |
375 | | #if !defined(ASN_DISABLE_OER_SUPPORT) |
376 | | 0, |
377 | | #endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ |
378 | | #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) |
379 | | &asn_PER_type_S1AP_batteryIndication_constr_17, |
380 | | #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ |
381 | | #if !defined(ASN_DISABLE_JER_SUPPORT) |
382 | | 0, |
383 | | #endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ |
384 | | asn_validate_S1AP_batteryIndication_17 |
385 | | }, |
386 | | 0, 0, /* Defined elsewhere */ |
387 | | &asn_SPC_S1AP_batteryIndication_specs_17 /* Additional specs */ |
388 | | }; |
389 | | |
390 | | asn_TYPE_member_t asn_MBR_S1AP_Subscription_Based_UE_DifferentiationInfo_1[] = { |
391 | | { ATF_POINTER, 7, offsetof(struct S1AP_Subscription_Based_UE_DifferentiationInfo, periodicCommunicationIndicator), |
392 | | (ASN_TAG_CLASS_CONTEXT | (0 << 2)), |
393 | | -1, /* IMPLICIT tag at current level */ |
394 | | &asn_DEF_S1AP_periodicCommunicationIndicator_2, |
395 | | 0, |
396 | | { |
397 | | #if !defined(ASN_DISABLE_OER_SUPPORT) |
398 | | 0, |
399 | | #endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ |
400 | | #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) |
401 | | 0, |
402 | | #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ |
403 | | #if !defined(ASN_DISABLE_JER_SUPPORT) |
404 | | 0, |
405 | | #endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ |
406 | | 0 |
407 | | }, |
408 | | 0, 0, /* No default value */ |
409 | | "periodicCommunicationIndicator" |
410 | | }, |
411 | | { ATF_POINTER, 6, offsetof(struct S1AP_Subscription_Based_UE_DifferentiationInfo, periodicTime), |
412 | | (ASN_TAG_CLASS_CONTEXT | (1 << 2)), |
413 | | -1, /* IMPLICIT tag at current level */ |
414 | | &asn_DEF_NativeInteger, |
415 | | 0, |
416 | | { |
417 | | #if !defined(ASN_DISABLE_OER_SUPPORT) |
418 | | 0, |
419 | | #endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ |
420 | | #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) |
421 | | &asn_PER_memb_S1AP_periodicTime_constr_6, |
422 | | #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ |
423 | | #if !defined(ASN_DISABLE_JER_SUPPORT) |
424 | | 0, |
425 | | #endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ |
426 | | memb_S1AP_periodicTime_constraint_1 |
427 | | }, |
428 | | 0, 0, /* No default value */ |
429 | | "periodicTime" |
430 | | }, |
431 | | { ATF_POINTER, 5, offsetof(struct S1AP_Subscription_Based_UE_DifferentiationInfo, scheduledCommunicationTime), |
432 | | (ASN_TAG_CLASS_CONTEXT | (2 << 2)), |
433 | | -1, /* IMPLICIT tag at current level */ |
434 | | &asn_DEF_S1AP_ScheduledCommunicationTime, |
435 | | 0, |
436 | | { |
437 | | #if !defined(ASN_DISABLE_OER_SUPPORT) |
438 | | 0, |
439 | | #endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ |
440 | | #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) |
441 | | 0, |
442 | | #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ |
443 | | #if !defined(ASN_DISABLE_JER_SUPPORT) |
444 | | 0, |
445 | | #endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ |
446 | | 0 |
447 | | }, |
448 | | 0, 0, /* No default value */ |
449 | | "scheduledCommunicationTime" |
450 | | }, |
451 | | { ATF_POINTER, 4, offsetof(struct S1AP_Subscription_Based_UE_DifferentiationInfo, stationaryIndication), |
452 | | (ASN_TAG_CLASS_CONTEXT | (3 << 2)), |
453 | | -1, /* IMPLICIT tag at current level */ |
454 | | &asn_DEF_S1AP_stationaryIndication_8, |
455 | | 0, |
456 | | { |
457 | | #if !defined(ASN_DISABLE_OER_SUPPORT) |
458 | | 0, |
459 | | #endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ |
460 | | #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) |
461 | | 0, |
462 | | #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ |
463 | | #if !defined(ASN_DISABLE_JER_SUPPORT) |
464 | | 0, |
465 | | #endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ |
466 | | 0 |
467 | | }, |
468 | | 0, 0, /* No default value */ |
469 | | "stationaryIndication" |
470 | | }, |
471 | | { ATF_POINTER, 3, offsetof(struct S1AP_Subscription_Based_UE_DifferentiationInfo, trafficProfile), |
472 | | (ASN_TAG_CLASS_CONTEXT | (4 << 2)), |
473 | | -1, /* IMPLICIT tag at current level */ |
474 | | &asn_DEF_S1AP_trafficProfile_12, |
475 | | 0, |
476 | | { |
477 | | #if !defined(ASN_DISABLE_OER_SUPPORT) |
478 | | 0, |
479 | | #endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ |
480 | | #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) |
481 | | 0, |
482 | | #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ |
483 | | #if !defined(ASN_DISABLE_JER_SUPPORT) |
484 | | 0, |
485 | | #endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ |
486 | | 0 |
487 | | }, |
488 | | 0, 0, /* No default value */ |
489 | | "trafficProfile" |
490 | | }, |
491 | | { ATF_POINTER, 2, offsetof(struct S1AP_Subscription_Based_UE_DifferentiationInfo, batteryIndication), |
492 | | (ASN_TAG_CLASS_CONTEXT | (5 << 2)), |
493 | | -1, /* IMPLICIT tag at current level */ |
494 | | &asn_DEF_S1AP_batteryIndication_17, |
495 | | 0, |
496 | | { |
497 | | #if !defined(ASN_DISABLE_OER_SUPPORT) |
498 | | 0, |
499 | | #endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ |
500 | | #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) |
501 | | 0, |
502 | | #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ |
503 | | #if !defined(ASN_DISABLE_JER_SUPPORT) |
504 | | 0, |
505 | | #endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ |
506 | | 0 |
507 | | }, |
508 | | 0, 0, /* No default value */ |
509 | | "batteryIndication" |
510 | | }, |
511 | | { ATF_POINTER, 1, offsetof(struct S1AP_Subscription_Based_UE_DifferentiationInfo, iE_Extensions), |
512 | | (ASN_TAG_CLASS_CONTEXT | (6 << 2)), |
513 | | -1, /* IMPLICIT tag at current level */ |
514 | | &asn_DEF_S1AP_ProtocolExtensionContainer_8386P138, |
515 | | 0, |
516 | | { |
517 | | #if !defined(ASN_DISABLE_OER_SUPPORT) |
518 | | 0, |
519 | | #endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ |
520 | | #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) |
521 | | 0, |
522 | | #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ |
523 | | #if !defined(ASN_DISABLE_JER_SUPPORT) |
524 | | 0, |
525 | | #endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ |
526 | | 0 |
527 | | }, |
528 | | 0, 0, /* No default value */ |
529 | | "iE-Extensions" |
530 | | }, |
531 | | }; |
532 | | static const int asn_MAP_S1AP_Subscription_Based_UE_DifferentiationInfo_oms_1[] = { 0, 1, 2, 3, 4, 5, 6 }; |
533 | | static const ber_tlv_tag_t asn_DEF_S1AP_Subscription_Based_UE_DifferentiationInfo_tags_1[] = { |
534 | | (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) |
535 | | }; |
536 | | static const asn_TYPE_tag2member_t asn_MAP_S1AP_Subscription_Based_UE_DifferentiationInfo_tag2el_1[] = { |
537 | | { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* periodicCommunicationIndicator */ |
538 | | { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* periodicTime */ |
539 | | { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* scheduledCommunicationTime */ |
540 | | { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* stationaryIndication */ |
541 | | { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* trafficProfile */ |
542 | | { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* batteryIndication */ |
543 | | { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 } /* iE-Extensions */ |
544 | | }; |
545 | | asn_SEQUENCE_specifics_t asn_SPC_S1AP_Subscription_Based_UE_DifferentiationInfo_specs_1 = { |
546 | | sizeof(struct S1AP_Subscription_Based_UE_DifferentiationInfo), |
547 | | offsetof(struct S1AP_Subscription_Based_UE_DifferentiationInfo, _asn_ctx), |
548 | | asn_MAP_S1AP_Subscription_Based_UE_DifferentiationInfo_tag2el_1, |
549 | | 7, /* Count of tags in the map */ |
550 | | asn_MAP_S1AP_Subscription_Based_UE_DifferentiationInfo_oms_1, /* Optional members */ |
551 | | 7, 0, /* Root/Additions */ |
552 | | 7, /* First extension addition */ |
553 | | }; |
554 | | asn_TYPE_descriptor_t asn_DEF_S1AP_Subscription_Based_UE_DifferentiationInfo = { |
555 | | "Subscription-Based-UE-DifferentiationInfo", |
556 | | "Subscription-Based-UE-DifferentiationInfo", |
557 | | &asn_OP_SEQUENCE, |
558 | | asn_DEF_S1AP_Subscription_Based_UE_DifferentiationInfo_tags_1, |
559 | | sizeof(asn_DEF_S1AP_Subscription_Based_UE_DifferentiationInfo_tags_1) |
560 | | /sizeof(asn_DEF_S1AP_Subscription_Based_UE_DifferentiationInfo_tags_1[0]), /* 1 */ |
561 | | asn_DEF_S1AP_Subscription_Based_UE_DifferentiationInfo_tags_1, /* Same as above */ |
562 | | sizeof(asn_DEF_S1AP_Subscription_Based_UE_DifferentiationInfo_tags_1) |
563 | | /sizeof(asn_DEF_S1AP_Subscription_Based_UE_DifferentiationInfo_tags_1[0]), /* 1 */ |
564 | | { |
565 | | #if !defined(ASN_DISABLE_OER_SUPPORT) |
566 | | 0, |
567 | | #endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ |
568 | | #if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) |
569 | | 0, |
570 | | #endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ |
571 | | #if !defined(ASN_DISABLE_JER_SUPPORT) |
572 | | 0, |
573 | | #endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ |
574 | | SEQUENCE_constraint |
575 | | }, |
576 | | asn_MBR_S1AP_Subscription_Based_UE_DifferentiationInfo_1, |
577 | | 7, /* Elements count */ |
578 | | &asn_SPC_S1AP_Subscription_Based_UE_DifferentiationInfo_specs_1 /* Additional specs */ |
579 | | }; |
580 | | |