blob: 548e666af4571011f50aa5caeb688cd272d17769 [file] [log] [blame]
Harry Tran1f1098a2020-03-10 10:40:10 -04001/*****************************************************************************
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 * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
21 * From ASN.1 module "X2AP-IEs"
22 * found in "../../asnFiles/X2AP-IEs.asn"
23 * `asn1c -fcompound-names -fincludes-quoted -fno-include-deps -findirect-choice -gen-PER -no-gen-OER -D.`
24 */
25
26#include "UEAppLayerMeasConfig.h"
27
28#include "ProtocolExtensionContainer.h"
29static int
30memb_containerForAppLayerMeasConfig_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
31 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
32 const OCTET_STRING_t *st = (const OCTET_STRING_t *)sptr;
33 size_t size;
34
35 if(!sptr) {
36 ASN__CTFAIL(app_key, td, sptr,
37 "%s: value not given (%s:%d)",
38 td->name, __FILE__, __LINE__);
39 return -1;
40 }
41
42 size = st->size;
43
44 if((size >= 1 && size <= 1000)) {
45 /* Constraint check succeeded */
46 return 0;
47 } else {
48 ASN__CTFAIL(app_key, td, sptr,
49 "%s: constraint failed (%s:%d)",
50 td->name, __FILE__, __LINE__);
51 return -1;
52 }
53}
54
55static asn_per_constraints_t asn_PER_memb_containerForAppLayerMeasConfig_constr_2 CC_NOTUSED = {
56 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
57 { APC_CONSTRAINED, 10, 10, 1, 1000 } /* (SIZE(1..1000)) */,
58 0, 0 /* No PER value map */
59};
60asn_TYPE_member_t asn_MBR_UEAppLayerMeasConfig_1[] = {
61 { ATF_NOFLAGS, 0, offsetof(struct UEAppLayerMeasConfig, containerForAppLayerMeasConfig),
62 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
63 -1, /* IMPLICIT tag at current level */
64 &asn_DEF_OCTET_STRING,
65 0,
66 { 0, &asn_PER_memb_containerForAppLayerMeasConfig_constr_2, memb_containerForAppLayerMeasConfig_constraint_1 },
67 0, 0, /* No default value */
68 "containerForAppLayerMeasConfig"
69 },
70 { ATF_NOFLAGS, 0, offsetof(struct UEAppLayerMeasConfig, areaScopeOfQMC),
71 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
72 +1, /* EXPLICIT tag at current level */
73 &asn_DEF_AreaScopeOfQMC,
74 0,
75 { 0, 0, 0 },
76 0, 0, /* No default value */
77 "areaScopeOfQMC"
78 },
79 { ATF_POINTER, 1, offsetof(struct UEAppLayerMeasConfig, iE_Extensions),
80 (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
81 -1, /* IMPLICIT tag at current level */
82 &asn_DEF_ProtocolExtensionContainer_170P210,
83 0,
84 { 0, 0, 0 },
85 0, 0, /* No default value */
86 "iE-Extensions"
87 },
88};
89static const int asn_MAP_UEAppLayerMeasConfig_oms_1[] = { 2 };
90static const ber_tlv_tag_t asn_DEF_UEAppLayerMeasConfig_tags_1[] = {
91 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
92};
93static const asn_TYPE_tag2member_t asn_MAP_UEAppLayerMeasConfig_tag2el_1[] = {
94 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* containerForAppLayerMeasConfig */
95 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* areaScopeOfQMC */
96 { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* iE-Extensions */
97};
98asn_SEQUENCE_specifics_t asn_SPC_UEAppLayerMeasConfig_specs_1 = {
99 sizeof(struct UEAppLayerMeasConfig),
100 offsetof(struct UEAppLayerMeasConfig, _asn_ctx),
101 asn_MAP_UEAppLayerMeasConfig_tag2el_1,
102 3, /* Count of tags in the map */
103 asn_MAP_UEAppLayerMeasConfig_oms_1, /* Optional members */
104 1, 0, /* Root/Additions */
105 3, /* First extension addition */
106};
107asn_TYPE_descriptor_t asn_DEF_UEAppLayerMeasConfig = {
108 "UEAppLayerMeasConfig",
109 "UEAppLayerMeasConfig",
110 &asn_OP_SEQUENCE,
111 asn_DEF_UEAppLayerMeasConfig_tags_1,
112 sizeof(asn_DEF_UEAppLayerMeasConfig_tags_1)
113 /sizeof(asn_DEF_UEAppLayerMeasConfig_tags_1[0]), /* 1 */
114 asn_DEF_UEAppLayerMeasConfig_tags_1, /* Same as above */
115 sizeof(asn_DEF_UEAppLayerMeasConfig_tags_1)
116 /sizeof(asn_DEF_UEAppLayerMeasConfig_tags_1[0]), /* 1 */
117 { 0, 0, SEQUENCE_constraint },
118 asn_MBR_UEAppLayerMeasConfig_1,
119 3, /* Elements count */
120 &asn_SPC_UEAppLayerMeasConfig_specs_1 /* Additional specs */
121};
122