353ea4a45a40525dcc98089b8be18984164495e3
[ric-plt/resource-status-manager.git] / RSM / 3rdparty / asn1codec / e2ap_engine / SuccessfulOutcome.c
1 /*
2  *
3  * Copyright 2019 AT&T Intellectual Property
4  *
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
8  *
9  *      http://www.apache.org/licenses/LICENSE-2.0
10  *
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.
16  *
17  */
18
19
20 /*
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.`
25  */
26
27 #include "SuccessfulOutcome.h"
28
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 }
142 };
143 static const asn_ioc_set_t asn_IOS_E2AP_ELEMENTARY_PROCEDURES_1[] = {
144         { 16, 5, asn_IOS_E2AP_ELEMENTARY_PROCEDURES_1_rows }
145 };
146 static int
147 memb_procedureCode_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
148                         asn_app_constraint_failed_f *ctfailcb, void *app_key) {
149         long value;
150         
151         if(!sptr) {
152                 ASN__CTFAIL(app_key, td, sptr,
153                         "%s: value not given (%s:%d)",
154                         td->name, __FILE__, __LINE__);
155                 return -1;
156         }
157         
158         value = *(const long *)sptr;
159         
160         if((value >= 0 && value <= 255)) {
161                 /* Constraint check succeeded */
162                 return 0;
163         } else {
164                 ASN__CTFAIL(app_key, td, sptr,
165                         "%s: constraint failed (%s:%d)",
166                         td->name, __FILE__, __LINE__);
167                 return -1;
168         }
169 }
170
171 static asn_type_selector_result_t
172 select_SuccessfulOutcome_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 SuccessfulOutcome, procedureCode));
179         
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];
183         
184             if(type_cell->cell_kind == aioc__undefined)
185                 continue;
186         
187             presence_index++;
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;
191                 break;
192             }
193         }
194         
195         return result;
196 }
197
198 static int
199 memb_criticality_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
200                         asn_app_constraint_failed_f *ctfailcb, void *app_key) {
201         
202         if(!sptr) {
203                 ASN__CTFAIL(app_key, td, sptr,
204                         "%s: value not given (%s:%d)",
205                         td->name, __FILE__, __LINE__);
206                 return -1;
207         }
208         
209         
210         if(1 /* No applicable constraints whatsoever */) {
211                 /* Nothing is here. See below */
212         }
213         
214         return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
215 }
216
217 static asn_type_selector_result_t
218 select_SuccessfulOutcome_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 = 1; /* &SuccessfulOutcome */
223         size_t row, presence_index = 0;
224         const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct SuccessfulOutcome, procedureCode));
225         
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];
229         
230             if(type_cell->cell_kind == aioc__undefined)
231                 continue;
232         
233             presence_index++;
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;
237                 break;
238             }
239         }
240         
241         return result;
242 }
243
244 static int
245 memb_value_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
246                         asn_app_constraint_failed_f *ctfailcb, void *app_key) {
247         
248         if(!sptr) {
249                 ASN__CTFAIL(app_key, td, sptr,
250                         "%s: value not given (%s:%d)",
251                         td->name, __FILE__, __LINE__);
252                 return -1;
253         }
254         
255         
256         if(1 /* No applicable constraints whatsoever */) {
257                 /* Nothing is here. See below */
258         }
259         
260         return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key);
261 }
262
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 */
267 };
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 */
272 };
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 */
277 };
278 static asn_TYPE_member_t asn_MBR_value_4[] = {
279         { ATF_NOFLAGS, 0, offsetof(struct SuccessfulOutcome__value, choice.RICsubscriptionResponse),
280                 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
281                 0,
282                 &asn_DEF_RICsubscriptionResponse,
283                 0,
284                 { 0, 0, 0 },
285                 0, 0, /* No default value */
286                 "RICsubscriptionResponse"
287                 },
288         { ATF_NOFLAGS, 0, offsetof(struct SuccessfulOutcome__value, choice.RICsubscriptionDeleteResponse),
289                 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
290                 0,
291                 &asn_DEF_RICsubscriptionDeleteResponse,
292                 0,
293                 { 0, 0, 0 },
294                 0, 0, /* No default value */
295                 "RICsubscriptionDeleteResponse"
296                 },
297         { ATF_NOFLAGS, 0, offsetof(struct SuccessfulOutcome__value, choice.RICserviceUpdateAcknowledge),
298                 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
299                 0,
300                 &asn_DEF_RICserviceUpdateAcknowledge,
301                 0,
302                 { 0, 0, 0 },
303                 0, 0, /* No default value */
304                 "RICserviceUpdateAcknowledge"
305                 },
306         { ATF_NOFLAGS, 0, offsetof(struct SuccessfulOutcome__value, choice.RICcontrolAcknowledge),
307                 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
308                 0,
309                 &asn_DEF_RICcontrolAcknowledge,
310                 0,
311                 { 0, 0, 0 },
312                 0, 0, /* No default value */
313                 "RICcontrolAcknowledge"
314                 },
315         { ATF_NOFLAGS, 0, offsetof(struct SuccessfulOutcome__value, choice.X2SetupResponse),
316                 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
317                 0,
318                 &asn_DEF_X2SetupResponse,
319                 0,
320                 { 0, 0, 0 },
321                 0, 0, /* No default value */
322                 "X2SetupResponse"
323                 },
324         { ATF_NOFLAGS, 0, offsetof(struct SuccessfulOutcome__value, choice.ENDCX2SetupResponse),
325                 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
326                 0,
327                 &asn_DEF_ENDCX2SetupResponse,
328                 0,
329                 { 0, 0, 0 },
330                 0, 0, /* No default value */
331                 "ENDCX2SetupResponse"
332                 },
333         { ATF_NOFLAGS, 0, offsetof(struct SuccessfulOutcome__value, choice.ResourceStatusResponse),
334                 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
335                 0,
336                 &asn_DEF_ResourceStatusResponse,
337                 0,
338                 { 0, 0, 0 },
339                 0, 0, /* No default value */
340                 "ResourceStatusResponse"
341                 },
342         { ATF_NOFLAGS, 0, offsetof(struct SuccessfulOutcome__value, choice.ENBConfigurationUpdateAcknowledge),
343                 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
344                 0,
345                 &asn_DEF_ENBConfigurationUpdateAcknowledge,
346                 0,
347                 { 0, 0, 0 },
348                 0, 0, /* No default value */
349                 "ENBConfigurationUpdateAcknowledge"
350                 },
351         { ATF_NOFLAGS, 0, offsetof(struct SuccessfulOutcome__value, choice.ENDCConfigurationUpdateAcknowledge),
352                 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
353                 0,
354                 &asn_DEF_ENDCConfigurationUpdateAcknowledge,
355                 0,
356                 { 0, 0, 0 },
357                 0, 0, /* No default value */
358                 "ENDCConfigurationUpdateAcknowledge"
359                 },
360         { ATF_NOFLAGS, 0, offsetof(struct SuccessfulOutcome__value, choice.ResetResponse),
361                 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
362                 0,
363                 &asn_DEF_ResetResponse,
364                 0,
365                 { 0, 0, 0 },
366                 0, 0, /* No default value */
367                 "ResetResponse"
368                 },
369 };
370 static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_4[] = {
371     { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 9 }, /* RICsubscriptionResponse */
372     { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 1, -1, 8 }, /* RICsubscriptionDeleteResponse */
373     { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 2, -2, 7 }, /* RICserviceUpdateAcknowledge */
374     { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 3, -3, 6 }, /* RICcontrolAcknowledge */
375     { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 4, -4, 5 }, /* X2SetupResponse */
376     { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 5, -5, 4 }, /* ENDCX2SetupResponse */
377     { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 6, -6, 3 }, /* ResourceStatusResponse */
378     { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 7, -7, 2 }, /* ENBConfigurationUpdateAcknowledge */
379     { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 8, -8, 1 }, /* ENDCConfigurationUpdateAcknowledge */
380     { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 9, -9, 0 } /* ResetResponse */
381 };
382 static asn_CHOICE_specifics_t asn_SPC_value_specs_4 = {
383         sizeof(struct SuccessfulOutcome__value),
384         offsetof(struct SuccessfulOutcome__value, _asn_ctx),
385         offsetof(struct SuccessfulOutcome__value, present),
386         sizeof(((struct SuccessfulOutcome__value *)0)->present),
387         asn_MAP_value_tag2el_4,
388         10,     /* Count of tags in the map */
389         0, 0,
390         -1      /* Extensions start */
391 };
392 static /* Use -fall-defs-global to expose */
393 asn_TYPE_descriptor_t asn_DEF_value_4 = {
394         "value",
395         "value",
396         &asn_OP_OPEN_TYPE,
397         0,      /* No effective tags (pointer) */
398         0,      /* No effective tags (count) */
399         0,      /* No tags (pointer) */
400         0,      /* No tags (count) */
401         { 0, 0, OPEN_TYPE_constraint },
402         asn_MBR_value_4,
403         10,     /* Elements count */
404         &asn_SPC_value_specs_4  /* Additional specs */
405 };
406
407 asn_TYPE_member_t asn_MBR_SuccessfulOutcome_1[] = {
408         { ATF_NOFLAGS, 0, offsetof(struct SuccessfulOutcome, procedureCode),
409                 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
410                 -1,     /* IMPLICIT tag at current level */
411                 &asn_DEF_ProcedureCode,
412                 0,
413                 { 0, &asn_PER_memb_procedureCode_constr_2,  memb_procedureCode_constraint_1 },
414                 0, 0, /* No default value */
415                 "procedureCode"
416                 },
417         { ATF_NOFLAGS, 0, offsetof(struct SuccessfulOutcome, criticality),
418                 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
419                 -1,     /* IMPLICIT tag at current level */
420                 &asn_DEF_Criticality,
421                 select_SuccessfulOutcome_criticality_type,
422                 { 0, &asn_PER_memb_criticality_constr_3,  memb_criticality_constraint_1 },
423                 0, 0, /* No default value */
424                 "criticality"
425                 },
426         { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct SuccessfulOutcome, value),
427                 (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
428                 +1,     /* EXPLICIT tag at current level */
429                 &asn_DEF_value_4,
430                 select_SuccessfulOutcome_value_type,
431                 { 0, &asn_PER_memb_value_constr_4,  memb_value_constraint_1 },
432                 0, 0, /* No default value */
433                 "value"
434                 },
435 };
436 static const ber_tlv_tag_t asn_DEF_SuccessfulOutcome_tags_1[] = {
437         (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
438 };
439 static const asn_TYPE_tag2member_t asn_MAP_SuccessfulOutcome_tag2el_1[] = {
440     { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* procedureCode */
441     { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* criticality */
442     { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* value */
443 };
444 asn_SEQUENCE_specifics_t asn_SPC_SuccessfulOutcome_specs_1 = {
445         sizeof(struct SuccessfulOutcome),
446         offsetof(struct SuccessfulOutcome, _asn_ctx),
447         asn_MAP_SuccessfulOutcome_tag2el_1,
448         3,      /* Count of tags in the map */
449         0, 0, 0,        /* Optional elements (not needed) */
450         -1,     /* First extension addition */
451 };
452 asn_TYPE_descriptor_t asn_DEF_SuccessfulOutcome = {
453         "SuccessfulOutcome",
454         "SuccessfulOutcome",
455         &asn_OP_SEQUENCE,
456         asn_DEF_SuccessfulOutcome_tags_1,
457         sizeof(asn_DEF_SuccessfulOutcome_tags_1)
458                 /sizeof(asn_DEF_SuccessfulOutcome_tags_1[0]), /* 1 */
459         asn_DEF_SuccessfulOutcome_tags_1,       /* Same as above */
460         sizeof(asn_DEF_SuccessfulOutcome_tags_1)
461                 /sizeof(asn_DEF_SuccessfulOutcome_tags_1[0]), /* 1 */
462         { 0, 0, SEQUENCE_constraint },
463         asn_MBR_SuccessfulOutcome_1,
464         3,      /* Elements count */
465         &asn_SPC_SuccessfulOutcome_specs_1      /* Additional specs */
466 };
467