[Epic-ID: ODUHIGH-475][Task-ID: ODUHIGH-476]F1AP codec update
[o-du/l2.git] / src / codec_utils / F1AP / QoSFlowLevelQoSParameters.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 ../F1_output/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER`
6  */
7
8 #include "QoSFlowLevelQoSParameters.h"
9
10 #include "GBR-QoSFlowInformation.h"
11 #include "ProtocolExtensionContainer.h"
12 /*
13  * This type is implemented using NativeEnumerated,
14  * so here we adjust the DEF accordingly.
15  */
16 static asn_oer_constraints_t asn_OER_type_reflective_QoS_Attribute_constr_5 CC_NOTUSED = {
17         { 0, 0 },
18         -1};
19 static asn_per_constraints_t asn_PER_type_reflective_QoS_Attribute_constr_5 CC_NOTUSED = {
20         { APC_CONSTRAINED | APC_EXTENSIBLE,  0,  0,  0,  0 }    /* (0..0,...) */,
21         { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
22         0, 0    /* No PER value map */
23 };
24 static const asn_INTEGER_enum_map_t asn_MAP_reflective_QoS_Attribute_value2enum_5[] = {
25         { 0,    10,     "subject-to" }
26         /* This list is extensible */
27 };
28 static const unsigned int asn_MAP_reflective_QoS_Attribute_enum2value_5[] = {
29         0       /* subject-to(0) */
30         /* This list is extensible */
31 };
32 static const asn_INTEGER_specifics_t asn_SPC_reflective_QoS_Attribute_specs_5 = {
33         asn_MAP_reflective_QoS_Attribute_value2enum_5,  /* "tag" => N; sorted by tag */
34         asn_MAP_reflective_QoS_Attribute_enum2value_5,  /* N => "tag"; sorted by N */
35         1,      /* Number of elements in the maps */
36         2,      /* Extensions before this member */
37         1,      /* Strict enumeration */
38         0,      /* Native long size */
39         0
40 };
41 static const ber_tlv_tag_t asn_DEF_reflective_QoS_Attribute_tags_5[] = {
42         (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
43         (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
44 };
45 static /* Use -fall-defs-global to expose */
46 asn_TYPE_descriptor_t asn_DEF_reflective_QoS_Attribute_5 = {
47         "reflective-QoS-Attribute",
48         "reflective-QoS-Attribute",
49         &asn_OP_NativeEnumerated,
50         asn_DEF_reflective_QoS_Attribute_tags_5,
51         sizeof(asn_DEF_reflective_QoS_Attribute_tags_5)
52                 /sizeof(asn_DEF_reflective_QoS_Attribute_tags_5[0]) - 1, /* 1 */
53         asn_DEF_reflective_QoS_Attribute_tags_5,        /* Same as above */
54         sizeof(asn_DEF_reflective_QoS_Attribute_tags_5)
55                 /sizeof(asn_DEF_reflective_QoS_Attribute_tags_5[0]), /* 2 */
56         { &asn_OER_type_reflective_QoS_Attribute_constr_5, &asn_PER_type_reflective_QoS_Attribute_constr_5, NativeEnumerated_constraint },
57         0, 0,   /* Defined elsewhere */
58         &asn_SPC_reflective_QoS_Attribute_specs_5       /* Additional specs */
59 };
60
61 asn_TYPE_member_t asn_MBR_QoSFlowLevelQoSParameters_1[] = {
62         { ATF_NOFLAGS, 0, offsetof(struct QoSFlowLevelQoSParameters, qoS_Characteristics),
63                 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
64                 +1,     /* EXPLICIT tag at current level */
65                 &asn_DEF_QoS_Characteristics,
66                 0,
67                 { 0, 0, 0 },
68                 0, 0, /* No default value */
69                 "qoS-Characteristics"
70                 },
71         { ATF_NOFLAGS, 0, offsetof(struct QoSFlowLevelQoSParameters, nGRANallocationRetentionPriority),
72                 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
73                 -1,     /* IMPLICIT tag at current level */
74                 &asn_DEF_NGRANAllocationAndRetentionPriority,
75                 0,
76                 { 0, 0, 0 },
77                 0, 0, /* No default value */
78                 "nGRANallocationRetentionPriority"
79                 },
80         { ATF_POINTER, 3, offsetof(struct QoSFlowLevelQoSParameters, gBR_QoS_Flow_Information),
81                 (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
82                 -1,     /* IMPLICIT tag at current level */
83                 &asn_DEF_GBR_QoSFlowInformation,
84                 0,
85                 { 0, 0, 0 },
86                 0, 0, /* No default value */
87                 "gBR-QoS-Flow-Information"
88                 },
89         { ATF_POINTER, 2, offsetof(struct QoSFlowLevelQoSParameters, reflective_QoS_Attribute),
90                 (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
91                 -1,     /* IMPLICIT tag at current level */
92                 &asn_DEF_reflective_QoS_Attribute_5,
93                 0,
94                 { 0, 0, 0 },
95                 0, 0, /* No default value */
96                 "reflective-QoS-Attribute"
97                 },
98         { ATF_POINTER, 1, offsetof(struct QoSFlowLevelQoSParameters, iE_Extensions),
99                 (ASN_TAG_CLASS_CONTEXT | (4 << 2)),
100                 -1,     /* IMPLICIT tag at current level */
101                 &asn_DEF_ProtocolExtensionContainer_4624P74,
102                 0,
103                 { 0, 0, 0 },
104                 0, 0, /* No default value */
105                 "iE-Extensions"
106                 },
107 };
108 static const int asn_MAP_QoSFlowLevelQoSParameters_oms_1[] = { 2, 3, 4 };
109 static const ber_tlv_tag_t asn_DEF_QoSFlowLevelQoSParameters_tags_1[] = {
110         (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
111 };
112 static const asn_TYPE_tag2member_t asn_MAP_QoSFlowLevelQoSParameters_tag2el_1[] = {
113     { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* qoS-Characteristics */
114     { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* nGRANallocationRetentionPriority */
115     { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* gBR-QoS-Flow-Information */
116     { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* reflective-QoS-Attribute */
117     { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 } /* iE-Extensions */
118 };
119 asn_SEQUENCE_specifics_t asn_SPC_QoSFlowLevelQoSParameters_specs_1 = {
120         sizeof(struct QoSFlowLevelQoSParameters),
121         offsetof(struct QoSFlowLevelQoSParameters, _asn_ctx),
122         asn_MAP_QoSFlowLevelQoSParameters_tag2el_1,
123         5,      /* Count of tags in the map */
124         asn_MAP_QoSFlowLevelQoSParameters_oms_1,        /* Optional members */
125         3, 0,   /* Root/Additions */
126         -1,     /* First extension addition */
127 };
128 asn_TYPE_descriptor_t asn_DEF_QoSFlowLevelQoSParameters = {
129         "QoSFlowLevelQoSParameters",
130         "QoSFlowLevelQoSParameters",
131         &asn_OP_SEQUENCE,
132         asn_DEF_QoSFlowLevelQoSParameters_tags_1,
133         sizeof(asn_DEF_QoSFlowLevelQoSParameters_tags_1)
134                 /sizeof(asn_DEF_QoSFlowLevelQoSParameters_tags_1[0]), /* 1 */
135         asn_DEF_QoSFlowLevelQoSParameters_tags_1,       /* Same as above */
136         sizeof(asn_DEF_QoSFlowLevelQoSParameters_tags_1)
137                 /sizeof(asn_DEF_QoSFlowLevelQoSParameters_tags_1[0]), /* 1 */
138         { 0, 0, SEQUENCE_constraint },
139         asn_MBR_QoSFlowLevelQoSParameters_1,
140         5,      /* Elements count */
141         &asn_SPC_QoSFlowLevelQoSParameters_specs_1      /* Additional specs */
142 };
143