2 * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
3 * From ASN.1 module "NR-RRC-Definitions"
4 * found in "/home/labadmin/hlal/rrc_15.3_asn.asn1"
5 * `asn1c -D ./15_3_rrc/ -fcompound-names -fno-include-deps -findirect-choice -gen-PER -no-gen-example`
8 #include "P0-PUSCH-AlphaSet.h"
11 memb_p0_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
12 asn_app_constraint_failed_f *ctfailcb, void *app_key) {
16 ASN__CTFAIL(app_key, td, sptr,
17 "%s: value not given (%s:%d)",
18 td->name, __FILE__, __LINE__);
22 value = *(const long *)sptr;
24 if((value >= -16 && value <= 15)) {
25 /* Constraint check succeeded */
28 ASN__CTFAIL(app_key, td, sptr,
29 "%s: constraint failed (%s:%d)",
30 td->name, __FILE__, __LINE__);
35 static asn_oer_constraints_t asn_OER_memb_p0_constr_3 CC_NOTUSED = {
36 { 1, 0 } /* (-16..15) */,
38 static asn_per_constraints_t asn_PER_memb_p0_constr_3 CC_NOTUSED = {
39 { APC_CONSTRAINED, 5, 5, -16, 15 } /* (-16..15) */,
40 { APC_UNCONSTRAINED, -1, -1, 0, 0 },
41 0, 0 /* No PER value map */
43 asn_TYPE_member_t asn_MBR_P0_PUSCH_AlphaSet_1[] = {
44 { ATF_NOFLAGS, 0, offsetof(struct P0_PUSCH_AlphaSet, p0_PUSCH_AlphaSetId),
45 (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
46 -1, /* IMPLICIT tag at current level */
47 &asn_DEF_P0_PUSCH_AlphaSetId,
50 0, 0, /* No default value */
53 { ATF_POINTER, 2, offsetof(struct P0_PUSCH_AlphaSet, p0),
54 (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
55 -1, /* IMPLICIT tag at current level */
56 &asn_DEF_NativeInteger,
58 { &asn_OER_memb_p0_constr_3, &asn_PER_memb_p0_constr_3, memb_p0_constraint_1 },
59 0, 0, /* No default value */
62 { ATF_POINTER, 1, offsetof(struct P0_PUSCH_AlphaSet, alpha),
63 (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
64 -1, /* IMPLICIT tag at current level */
68 0, 0, /* No default value */
72 static const int asn_MAP_P0_PUSCH_AlphaSet_oms_1[] = { 1, 2 };
73 static const ber_tlv_tag_t asn_DEF_P0_PUSCH_AlphaSet_tags_1[] = {
74 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
76 static const asn_TYPE_tag2member_t asn_MAP_P0_PUSCH_AlphaSet_tag2el_1[] = {
77 { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* p0-PUSCH-AlphaSetId */
78 { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* p0 */
79 { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* alpha */
81 asn_SEQUENCE_specifics_t asn_SPC_P0_PUSCH_AlphaSet_specs_1 = {
82 sizeof(struct P0_PUSCH_AlphaSet),
83 offsetof(struct P0_PUSCH_AlphaSet, _asn_ctx),
84 asn_MAP_P0_PUSCH_AlphaSet_tag2el_1,
85 3, /* Count of tags in the map */
86 asn_MAP_P0_PUSCH_AlphaSet_oms_1, /* Optional members */
87 2, 0, /* Root/Additions */
88 -1, /* First extension addition */
90 asn_TYPE_descriptor_t asn_DEF_P0_PUSCH_AlphaSet = {
94 asn_DEF_P0_PUSCH_AlphaSet_tags_1,
95 sizeof(asn_DEF_P0_PUSCH_AlphaSet_tags_1)
96 /sizeof(asn_DEF_P0_PUSCH_AlphaSet_tags_1[0]), /* 1 */
97 asn_DEF_P0_PUSCH_AlphaSet_tags_1, /* Same as above */
98 sizeof(asn_DEF_P0_PUSCH_AlphaSet_tags_1)
99 /sizeof(asn_DEF_P0_PUSCH_AlphaSet_tags_1[0]), /* 1 */
100 { 0, 0, SEQUENCE_constraint },
101 asn_MBR_P0_PUSCH_AlphaSet_1,
102 3, /* Elements count */
103 &asn_SPC_P0_PUSCH_AlphaSet_specs_1 /* Additional specs */