3 * Copyright 2019 AT&T Intellectual Property
5 * Licensed under the Apache License, Version 2.0 (the "License");
6 * you may not use this file except in compliance with the License.
7 * You may obtain a copy of the License at
9 * http://www.apache.org/licenses/LICENSE-2.0
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
21 * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
22 * From ASN.1 module "E2AP-PDU-Descriptions"
23 * found in "../../asnFiles/e2ap-v031.asn"
24 * `asn1c -fcompound-names -fincludes-quoted -fno-include-deps -findirect-choice -gen-PER -no-gen-OER -D.`
27 #include "InitiatingMessage.h"
29 static const long asn_VAL_1_id_ricSubscription = 201;
30 static const long asn_VAL_1_reject = 0;
31 static const long asn_VAL_2_id_ricSubscriptionDelete = 202;
32 static const long asn_VAL_2_reject = 0;
33 static const long asn_VAL_3_id_ricServiceUpdate = 203;
34 static const long asn_VAL_3_reject = 0;
35 static const long asn_VAL_4_id_ricControl = 204;
36 static const long asn_VAL_4_reject = 0;
37 static const long asn_VAL_5_id_x2Setup = 6;
38 static const long asn_VAL_5_reject = 0;
39 static const long asn_VAL_6_id_endcX2Setup = 36;
40 static const long asn_VAL_6_reject = 0;
41 static const long asn_VAL_7_id_resourceStatusReportingInitiation = 9;
42 static const long asn_VAL_7_reject = 0;
43 static const long asn_VAL_8_id_eNBConfigurationUpdate = 8;
44 static const long asn_VAL_8_reject = 0;
45 static const long asn_VAL_9_id_endcConfigurationUpdate = 37;
46 static const long asn_VAL_9_reject = 0;
47 static const long asn_VAL_10_id_reset = 7;
48 static const long asn_VAL_10_reject = 0;
49 static const long asn_VAL_11_id_ricIndication = 205;
50 static const long asn_VAL_11_ignore = 1;
51 static const long asn_VAL_12_id_ricServiceQuery = 206;
52 static const long asn_VAL_12_ignore = 1;
53 static const long asn_VAL_13_id_loadIndication = 2;
54 static const long asn_VAL_13_ignore = 1;
55 static const long asn_VAL_14_id_gNBStatusIndication = 45;
56 static const long asn_VAL_14_ignore = 1;
57 static const long asn_VAL_15_id_resourceStatusReporting = 10;
58 static const long asn_VAL_15_ignore = 1;
59 static const long asn_VAL_16_id_errorIndication = 3;
60 static const long asn_VAL_16_ignore = 1;
61 static const asn_ioc_cell_t asn_IOS_E2AP_ELEMENTARY_PROCEDURES_1_rows[] = {
62 { "&InitiatingMessage", aioc__type, &asn_DEF_RICsubscriptionRequest },
63 { "&SuccessfulOutcome", aioc__type, &asn_DEF_RICsubscriptionResponse },
64 { "&UnsuccessfulOutcome", aioc__type, &asn_DEF_RICsubscriptionFailure },
65 { "&procedureCode", aioc__value, &asn_DEF_ProcedureCode, &asn_VAL_1_id_ricSubscription },
66 { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_1_reject },
67 { "&InitiatingMessage", aioc__type, &asn_DEF_RICsubscriptionDeleteRequest },
68 { "&SuccessfulOutcome", aioc__type, &asn_DEF_RICsubscriptionDeleteResponse },
69 { "&UnsuccessfulOutcome", aioc__type, &asn_DEF_RICsubscriptionDeleteFailure },
70 { "&procedureCode", aioc__value, &asn_DEF_ProcedureCode, &asn_VAL_2_id_ricSubscriptionDelete },
71 { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_2_reject },
72 { "&InitiatingMessage", aioc__type, &asn_DEF_RICserviceUpdate },
73 { "&SuccessfulOutcome", aioc__type, &asn_DEF_RICserviceUpdateAcknowledge },
74 { "&UnsuccessfulOutcome", aioc__type, &asn_DEF_RICserviceUpdateFailure },
75 { "&procedureCode", aioc__value, &asn_DEF_ProcedureCode, &asn_VAL_3_id_ricServiceUpdate },
76 { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_3_reject },
77 { "&InitiatingMessage", aioc__type, &asn_DEF_RICcontrolRequest },
78 { "&SuccessfulOutcome", aioc__type, &asn_DEF_RICcontrolAcknowledge },
79 { "&UnsuccessfulOutcome", aioc__type, &asn_DEF_RICcontrolFailure },
80 { "&procedureCode", aioc__value, &asn_DEF_ProcedureCode, &asn_VAL_4_id_ricControl },
81 { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_4_reject },
82 { "&InitiatingMessage", aioc__type, &asn_DEF_X2SetupRequest },
83 { "&SuccessfulOutcome", aioc__type, &asn_DEF_X2SetupResponse },
84 { "&UnsuccessfulOutcome", aioc__type, &asn_DEF_X2SetupFailure },
85 { "&procedureCode", aioc__value, &asn_DEF_ProcedureCode, &asn_VAL_5_id_x2Setup },
86 { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_5_reject },
87 { "&InitiatingMessage", aioc__type, &asn_DEF_ENDCX2SetupRequest },
88 { "&SuccessfulOutcome", aioc__type, &asn_DEF_ENDCX2SetupResponse },
89 { "&UnsuccessfulOutcome", aioc__type, &asn_DEF_ENDCX2SetupFailure },
90 { "&procedureCode", aioc__value, &asn_DEF_ProcedureCode, &asn_VAL_6_id_endcX2Setup },
91 { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_6_reject },
92 { "&InitiatingMessage", aioc__type, &asn_DEF_ResourceStatusRequest },
93 { "&SuccessfulOutcome", aioc__type, &asn_DEF_ResourceStatusResponse },
94 { "&UnsuccessfulOutcome", aioc__type, &asn_DEF_ResourceStatusFailure },
95 { "&procedureCode", aioc__value, &asn_DEF_ProcedureCode, &asn_VAL_7_id_resourceStatusReportingInitiation },
96 { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_7_reject },
97 { "&InitiatingMessage", aioc__type, &asn_DEF_ENBConfigurationUpdate },
98 { "&SuccessfulOutcome", aioc__type, &asn_DEF_ENBConfigurationUpdateAcknowledge },
99 { "&UnsuccessfulOutcome", aioc__type, &asn_DEF_ENBConfigurationUpdateFailure },
100 { "&procedureCode", aioc__value, &asn_DEF_ProcedureCode, &asn_VAL_8_id_eNBConfigurationUpdate },
101 { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_8_reject },
102 { "&InitiatingMessage", aioc__type, &asn_DEF_ENDCConfigurationUpdate },
103 { "&SuccessfulOutcome", aioc__type, &asn_DEF_ENDCConfigurationUpdateAcknowledge },
104 { "&UnsuccessfulOutcome", aioc__type, &asn_DEF_ENDCConfigurationUpdateFailure },
105 { "&procedureCode", aioc__value, &asn_DEF_ProcedureCode, &asn_VAL_9_id_endcConfigurationUpdate },
106 { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_9_reject },
107 { "&InitiatingMessage", aioc__type, &asn_DEF_ResetRequest },
108 { "&SuccessfulOutcome", aioc__type, &asn_DEF_ResetResponse },
109 { "&UnsuccessfulOutcome", },
110 { "&procedureCode", aioc__value, &asn_DEF_ProcedureCode, &asn_VAL_10_id_reset },
111 { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_10_reject },
112 { "&InitiatingMessage", aioc__type, &asn_DEF_RICindication },
113 { "&SuccessfulOutcome", },
114 { "&UnsuccessfulOutcome", },
115 { "&procedureCode", aioc__value, &asn_DEF_ProcedureCode, &asn_VAL_11_id_ricIndication },
116 { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_11_ignore },
117 { "&InitiatingMessage", aioc__type, &asn_DEF_RICserviceQuery },
118 { "&SuccessfulOutcome", },
119 { "&UnsuccessfulOutcome", },
120 { "&procedureCode", aioc__value, &asn_DEF_ProcedureCode, &asn_VAL_12_id_ricServiceQuery },
121 { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_12_ignore },
122 { "&InitiatingMessage", aioc__type, &asn_DEF_LoadInformation },
123 { "&SuccessfulOutcome", },
124 { "&UnsuccessfulOutcome", },
125 { "&procedureCode", aioc__value, &asn_DEF_ProcedureCode, &asn_VAL_13_id_loadIndication },
126 { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_13_ignore },
127 { "&InitiatingMessage", aioc__type, &asn_DEF_GNBStatusIndication },
128 { "&SuccessfulOutcome", },
129 { "&UnsuccessfulOutcome", },
130 { "&procedureCode", aioc__value, &asn_DEF_ProcedureCode, &asn_VAL_14_id_gNBStatusIndication },
131 { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_14_ignore },
132 { "&InitiatingMessage", aioc__type, &asn_DEF_ResourceStatusUpdate },
133 { "&SuccessfulOutcome", },
134 { "&UnsuccessfulOutcome", },
135 { "&procedureCode", aioc__value, &asn_DEF_ProcedureCode, &asn_VAL_15_id_resourceStatusReporting },
136 { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_15_ignore },
137 { "&InitiatingMessage", aioc__type, &asn_DEF_ErrorIndication },
138 { "&SuccessfulOutcome", },
139 { "&UnsuccessfulOutcome", },
140 { "&procedureCode", aioc__value, &asn_DEF_ProcedureCode, &asn_VAL_16_id_errorIndication },
141 { "&criticality", aioc__value, &asn_DEF_Criticality, &asn_VAL_16_ignore }
143 static const asn_ioc_set_t asn_IOS_E2AP_ELEMENTARY_PROCEDURES_1[] = {
144 { 16, 5, asn_IOS_E2AP_ELEMENTARY_PROCEDURES_1_rows }
147 memb_procedureCode_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
148 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
152 ASN__CTFAIL(app_key, td, sptr,
153 "%s: value not given (%s:%d)",
154 td->name, __FILE__, __LINE__);
158 value = *(const long *)sptr;
160 if((value >= 0 && value <= 255)) {
161 /* Constraint check succeeded */
164 ASN__CTFAIL(app_key, td, sptr,
165 "%s: constraint failed (%s:%d)",
166 td->name, __FILE__, __LINE__);
171 static asn_type_selector_result_t
172 select_InitiatingMessage_criticality_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
173 asn_type_selector_result_t result = {0, 0};
174 const asn_ioc_set_t *itable = asn_IOS_E2AP_ELEMENTARY_PROCEDURES_1;
175 size_t constraining_column = 3; /* &procedureCode */
176 size_t for_column = 4; /* &criticality */
177 size_t row, presence_index = 0;
178 const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct InitiatingMessage, procedureCode));
180 for(row=0; row < itable->rows_count; row++) {
181 const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column];
182 const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column];
184 if(type_cell->cell_kind == aioc__undefined)
188 if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) {
189 result.type_descriptor = type_cell->type_descriptor;
190 result.presence_index = presence_index;
199 memb_criticality_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
200 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
203 ASN__CTFAIL(app_key, td, sptr,
204 "%s: value not given (%s:%d)",
205 td->name, __FILE__, __LINE__);
210 if(1 /* No applicable constraints whatsoever */) {
211 /* Nothing is here. See below */
214 return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
217 static asn_type_selector_result_t
218 select_InitiatingMessage_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) {
219 asn_type_selector_result_t result = {0, 0};
220 const asn_ioc_set_t *itable = asn_IOS_E2AP_ELEMENTARY_PROCEDURES_1;
221 size_t constraining_column = 3; /* &procedureCode */
222 size_t for_column = 0; /* &InitiatingMessage */
223 size_t row, presence_index = 0;
224 const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct InitiatingMessage, procedureCode));
226 for(row=0; row < itable->rows_count; row++) {
227 const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column];
228 const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column];
230 if(type_cell->cell_kind == aioc__undefined)
234 if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) {
235 result.type_descriptor = type_cell->type_descriptor;
236 result.presence_index = presence_index;
245 memb_value_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
246 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
249 ASN__CTFAIL(app_key, td, sptr,
250 "%s: value not given (%s:%d)",
251 td->name, __FILE__, __LINE__);
256 if(1 /* No applicable constraints whatsoever */) {
257 /* Nothing is here. See below */
260 return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
263 static asn_per_constraints_t asn_PER_memb_procedureCode_constr_2 CC_NOTUSED = {
264 { APC_CONSTRAINED, 8, 8, 0, 255 } /* (0..255) */,
265 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
266 0, 0 /* No PER value map */
268 static asn_per_constraints_t asn_PER_memb_criticality_constr_3 CC_NOTUSED = {
269 { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */,
270 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
271 0, 0 /* No PER value map */
273 static asn_per_constraints_t asn_PER_memb_value_constr_4 CC_NOTUSED = {
274 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
275 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
276 0, 0 /* No PER value map */
278 static asn_TYPE_member_t asn_MBR_value_4[] = {
279 { ATF_NOFLAGS, 0, offsetof(struct InitiatingMessage__value, choice.RICsubscriptionRequest),
280 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
282 &asn_DEF_RICsubscriptionRequest,
285 0, 0, /* No default value */
286 "RICsubscriptionRequest"
288 { ATF_NOFLAGS, 0, offsetof(struct InitiatingMessage__value, choice.RICsubscriptionDeleteRequest),
289 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
291 &asn_DEF_RICsubscriptionDeleteRequest,
294 0, 0, /* No default value */
295 "RICsubscriptionDeleteRequest"
297 { ATF_NOFLAGS, 0, offsetof(struct InitiatingMessage__value, choice.RICserviceUpdate),
298 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
300 &asn_DEF_RICserviceUpdate,
303 0, 0, /* No default value */
306 { ATF_NOFLAGS, 0, offsetof(struct InitiatingMessage__value, choice.RICcontrolRequest),
307 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
309 &asn_DEF_RICcontrolRequest,
312 0, 0, /* No default value */
315 { ATF_NOFLAGS, 0, offsetof(struct InitiatingMessage__value, choice.X2SetupRequest),
316 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
318 &asn_DEF_X2SetupRequest,
321 0, 0, /* No default value */
324 { ATF_NOFLAGS, 0, offsetof(struct InitiatingMessage__value, choice.ENDCX2SetupRequest),
325 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
327 &asn_DEF_ENDCX2SetupRequest,
330 0, 0, /* No default value */
333 { ATF_NOFLAGS, 0, offsetof(struct InitiatingMessage__value, choice.ResourceStatusRequest),
334 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
336 &asn_DEF_ResourceStatusRequest,
339 0, 0, /* No default value */
340 "ResourceStatusRequest"
342 { ATF_NOFLAGS, 0, offsetof(struct InitiatingMessage__value, choice.ENBConfigurationUpdate),
343 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
345 &asn_DEF_ENBConfigurationUpdate,
348 0, 0, /* No default value */
349 "ENBConfigurationUpdate"
351 { ATF_NOFLAGS, 0, offsetof(struct InitiatingMessage__value, choice.ENDCConfigurationUpdate),
352 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
354 &asn_DEF_ENDCConfigurationUpdate,
357 0, 0, /* No default value */
358 "ENDCConfigurationUpdate"
360 { ATF_NOFLAGS, 0, offsetof(struct InitiatingMessage__value, choice.ResetRequest),
361 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
363 &asn_DEF_ResetRequest,
366 0, 0, /* No default value */
369 { ATF_NOFLAGS, 0, offsetof(struct InitiatingMessage__value, choice.RICindication),
370 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
372 &asn_DEF_RICindication,
375 0, 0, /* No default value */
378 { ATF_NOFLAGS, 0, offsetof(struct InitiatingMessage__value, choice.RICserviceQuery),
379 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
381 &asn_DEF_RICserviceQuery,
384 0, 0, /* No default value */
387 { ATF_NOFLAGS, 0, offsetof(struct InitiatingMessage__value, choice.LoadInformation),
388 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
390 &asn_DEF_LoadInformation,
393 0, 0, /* No default value */
396 { ATF_NOFLAGS, 0, offsetof(struct InitiatingMessage__value, choice.GNBStatusIndication),
397 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
399 &asn_DEF_GNBStatusIndication,
402 0, 0, /* No default value */
403 "GNBStatusIndication"
405 { ATF_NOFLAGS, 0, offsetof(struct InitiatingMessage__value, choice.ResourceStatusUpdate),
406 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
408 &asn_DEF_ResourceStatusUpdate,
411 0, 0, /* No default value */
412 "ResourceStatusUpdate"
414 { ATF_NOFLAGS, 0, offsetof(struct InitiatingMessage__value, choice.ErrorIndication),
415 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
417 &asn_DEF_ErrorIndication,
420 0, 0, /* No default value */
424 static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_4[] = {
425 { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 15 }, /* RICsubscriptionRequest */
426 { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 1, -1, 14 }, /* RICsubscriptionDeleteRequest */
427 { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 2, -2, 13 }, /* RICserviceUpdate */
428 { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 3, -3, 12 }, /* RICcontrolRequest */
429 { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 4, -4, 11 }, /* X2SetupRequest */
430 { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 5, -5, 10 }, /* ENDCX2SetupRequest */
431 { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 6, -6, 9 }, /* ResourceStatusRequest */
432 { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 7, -7, 8 }, /* ENBConfigurationUpdate */
433 { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 8, -8, 7 }, /* ENDCConfigurationUpdate */
434 { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 9, -9, 6 }, /* ResetRequest */
435 { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 10, -10, 5 }, /* RICindication */
436 { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 11, -11, 4 }, /* RICserviceQuery */
437 { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 12, -12, 3 }, /* LoadInformation */
438 { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 13, -13, 2 }, /* GNBStatusIndication */
439 { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 14, -14, 1 }, /* ResourceStatusUpdate */
440 { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 15, -15, 0 } /* ErrorIndication */
442 static asn_CHOICE_specifics_t asn_SPC_value_specs_4 = {
443 sizeof(struct InitiatingMessage__value),
444 offsetof(struct InitiatingMessage__value, _asn_ctx),
445 offsetof(struct InitiatingMessage__value, present),
446 sizeof(((struct InitiatingMessage__value *)0)->present),
447 asn_MAP_value_tag2el_4,
448 16, /* Count of tags in the map */
450 -1 /* Extensions start */
452 static /* Use -fall-defs-global to expose */
453 asn_TYPE_descriptor_t asn_DEF_value_4 = {
457 0, /* No effective tags (pointer) */
458 0, /* No effective tags (count) */
459 0, /* No tags (pointer) */
460 0, /* No tags (count) */
461 { 0, 0, OPEN_TYPE_constraint },
463 16, /* Elements count */
464 &asn_SPC_value_specs_4 /* Additional specs */
467 asn_TYPE_member_t asn_MBR_InitiatingMessage_1[] = {
468 { ATF_NOFLAGS, 0, offsetof(struct InitiatingMessage, procedureCode),
469 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
470 -1, /* IMPLICIT tag at current level */
471 &asn_DEF_ProcedureCode,
473 { 0, &asn_PER_memb_procedureCode_constr_2, memb_procedureCode_constraint_1 },
474 0, 0, /* No default value */
477 { ATF_NOFLAGS, 0, offsetof(struct InitiatingMessage, criticality),
478 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
479 -1, /* IMPLICIT tag at current level */
480 &asn_DEF_Criticality,
481 select_InitiatingMessage_criticality_type,
482 { 0, &asn_PER_memb_criticality_constr_3, memb_criticality_constraint_1 },
483 0, 0, /* No default value */
486 { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct InitiatingMessage, value),
487 (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
488 +1, /* EXPLICIT tag at current level */
490 select_InitiatingMessage_value_type,
491 { 0, &asn_PER_memb_value_constr_4, memb_value_constraint_1 },
492 0, 0, /* No default value */
496 static const ber_tlv_tag_t asn_DEF_InitiatingMessage_tags_1[] = {
497 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
499 static const asn_TYPE_tag2member_t asn_MAP_InitiatingMessage_tag2el_1[] = {
500 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* procedureCode */
501 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */
502 { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */
504 asn_SEQUENCE_specifics_t asn_SPC_InitiatingMessage_specs_1 = {
505 sizeof(struct InitiatingMessage),
506 offsetof(struct InitiatingMessage, _asn_ctx),
507 asn_MAP_InitiatingMessage_tag2el_1,
508 3, /* Count of tags in the map */
509 0, 0, 0, /* Optional elements (not needed) */
510 -1, /* First extension addition */
512 asn_TYPE_descriptor_t asn_DEF_InitiatingMessage = {
516 asn_DEF_InitiatingMessage_tags_1,
517 sizeof(asn_DEF_InitiatingMessage_tags_1)
518 /sizeof(asn_DEF_InitiatingMessage_tags_1[0]), /* 1 */
519 asn_DEF_InitiatingMessage_tags_1, /* Same as above */
520 sizeof(asn_DEF_InitiatingMessage_tags_1)
521 /sizeof(asn_DEF_InitiatingMessage_tags_1[0]), /* 1 */
522 { 0, 0, SEQUENCE_constraint },
523 asn_MBR_InitiatingMessage_1,
524 3, /* Elements count */
525 &asn_SPC_InitiatingMessage_specs_1 /* Additional specs */