dbae6e54413cf0aa6e99ecf00f07c9cccc1c8bd4
[o-du/l2.git] / src / codec_utils / F1AP / NonDynamic5QIDescriptor.c
1 /*
2  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
3  * From ASN.1 module "F1AP-IEs"
4  *      found in "F1.asn1"
5  *      `asn1c -D ./out -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
6  */
7
8 #include "NonDynamic5QIDescriptor.h"
9
10 #include "ProtocolExtensionContainer.h"
11 static int
12 memb_fiveQI_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
13                         asn_app_constraint_failed_f *ctfailcb, void *app_key) {
14         long value;
15         
16         if(!sptr) {
17                 ASN__CTFAIL(app_key, td, sptr,
18                         "%s: value not given (%s:%d)",
19                         td->name, __FILE__, __LINE__);
20                 return -1;
21         }
22         
23         value = *(const long *)sptr;
24         
25         if((value >= 0 && value <= 255)) {
26                 /* Constraint check succeeded */
27                 return 0;
28         } else {
29                 ASN__CTFAIL(app_key, td, sptr,
30                         "%s: constraint failed (%s:%d)",
31                         td->name, __FILE__, __LINE__);
32                 return -1;
33         }
34 }
35
36 static int
37 memb_qoSPriorityLevel_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
38                         asn_app_constraint_failed_f *ctfailcb, void *app_key) {
39         long value;
40         
41         if(!sptr) {
42                 ASN__CTFAIL(app_key, td, sptr,
43                         "%s: value not given (%s:%d)",
44                         td->name, __FILE__, __LINE__);
45                 return -1;
46         }
47         
48         value = *(const long *)sptr;
49         
50         if((value >= 1 && value <= 127)) {
51                 /* Constraint check succeeded */
52                 return 0;
53         } else {
54                 ASN__CTFAIL(app_key, td, sptr,
55                         "%s: constraint failed (%s:%d)",
56                         td->name, __FILE__, __LINE__);
57                 return -1;
58         }
59 }
60
61 static asn_oer_constraints_t asn_OER_memb_fiveQI_constr_2 CC_NOTUSED = {
62         { 0, 0 },
63         -1};
64 static asn_per_constraints_t asn_PER_memb_fiveQI_constr_2 CC_NOTUSED = {
65         { APC_CONSTRAINED | APC_EXTENSIBLE,  8,  8,  0,  255 }  /* (0..255,...) */,
66         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
67         0, 0    /* No PER value map */
68 };
69 static asn_oer_constraints_t asn_OER_memb_qoSPriorityLevel_constr_3 CC_NOTUSED = {
70         { 1, 1 }        /* (1..127) */,
71         -1};
72 static asn_per_constraints_t asn_PER_memb_qoSPriorityLevel_constr_3 CC_NOTUSED = {
73         { APC_CONSTRAINED,       7,  7,  1,  127 }      /* (1..127) */,
74         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
75         0, 0    /* No PER value map */
76 };
77 asn_TYPE_member_t asn_MBR_NonDynamic5QIDescriptor_1[] = {
78         { ATF_NOFLAGS, 0, offsetof(struct NonDynamic5QIDescriptor, fiveQI),
79                 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
80                 -1,     /* IMPLICIT tag at current level */
81                 &asn_DEF_NativeInteger,
82                 0,
83                 { &asn_OER_memb_fiveQI_constr_2, &asn_PER_memb_fiveQI_constr_2,  memb_fiveQI_constraint_1 },
84                 0, 0, /* No default value */
85                 "fiveQI"
86                 },
87         { ATF_POINTER, 4, offsetof(struct NonDynamic5QIDescriptor, qoSPriorityLevel),
88                 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
89                 -1,     /* IMPLICIT tag at current level */
90                 &asn_DEF_NativeInteger,
91                 0,
92                 { &asn_OER_memb_qoSPriorityLevel_constr_3, &asn_PER_memb_qoSPriorityLevel_constr_3,  memb_qoSPriorityLevel_constraint_1 },
93                 0, 0, /* No default value */
94                 "qoSPriorityLevel"
95                 },
96         { ATF_POINTER, 3, offsetof(struct NonDynamic5QIDescriptor, averagingWindow),
97                 (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
98                 -1,     /* IMPLICIT tag at current level */
99                 &asn_DEF_AveragingWindow,
100                 0,
101                 { 0, 0, 0 },
102                 0, 0, /* No default value */
103                 "averagingWindow"
104                 },
105         { ATF_POINTER, 2, offsetof(struct NonDynamic5QIDescriptor, maxDataBurstVolume),
106                 (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
107                 -1,     /* IMPLICIT tag at current level */
108                 &asn_DEF_MaxDataBurstVolume,
109                 0,
110                 { 0, 0, 0 },
111                 0, 0, /* No default value */
112                 "maxDataBurstVolume"
113                 },
114         { ATF_POINTER, 1, offsetof(struct NonDynamic5QIDescriptor, iE_Extensions),
115                 (ASN_TAG_CLASS_CONTEXT | (4 << 2)),
116                 -1,     /* IMPLICIT tag at current level */
117                 &asn_DEF_ProtocolExtensionContainer_4624P65,
118                 0,
119                 { 0, 0, 0 },
120                 0, 0, /* No default value */
121                 "iE-Extensions"
122                 },
123 };
124 static const int asn_MAP_NonDynamic5QIDescriptor_oms_1[] = { 1, 2, 3, 4 };
125 static const ber_tlv_tag_t asn_DEF_NonDynamic5QIDescriptor_tags_1[] = {
126         (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
127 };
128 static const asn_TYPE_tag2member_t asn_MAP_NonDynamic5QIDescriptor_tag2el_1[] = {
129     { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* fiveQI */
130     { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* qoSPriorityLevel */
131     { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* averagingWindow */
132     { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* maxDataBurstVolume */
133     { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 } /* iE-Extensions */
134 };
135 asn_SEQUENCE_specifics_t asn_SPC_NonDynamic5QIDescriptor_specs_1 = {
136         sizeof(struct NonDynamic5QIDescriptor),
137         offsetof(struct NonDynamic5QIDescriptor, _asn_ctx),
138         asn_MAP_NonDynamic5QIDescriptor_tag2el_1,
139         5,      /* Count of tags in the map */
140         asn_MAP_NonDynamic5QIDescriptor_oms_1,  /* Optional members */
141         4, 0,   /* Root/Additions */
142         -1,     /* First extension addition */
143 };
144 asn_TYPE_descriptor_t asn_DEF_NonDynamic5QIDescriptor = {
145         "NonDynamic5QIDescriptor",
146         "NonDynamic5QIDescriptor",
147         &asn_OP_SEQUENCE,
148         asn_DEF_NonDynamic5QIDescriptor_tags_1,
149         sizeof(asn_DEF_NonDynamic5QIDescriptor_tags_1)
150                 /sizeof(asn_DEF_NonDynamic5QIDescriptor_tags_1[0]), /* 1 */
151         asn_DEF_NonDynamic5QIDescriptor_tags_1, /* Same as above */
152         sizeof(asn_DEF_NonDynamic5QIDescriptor_tags_1)
153                 /sizeof(asn_DEF_NonDynamic5QIDescriptor_tags_1[0]), /* 1 */
154         { 0, 0, SEQUENCE_constraint },
155         asn_MBR_NonDynamic5QIDescriptor_1,
156         5,      /* Elements count */
157         &asn_SPC_NonDynamic5QIDescriptor_specs_1        /* Additional specs */
158 };
159