One further RANAP hacking session
This is not development, it is random trial and error hacking. I really
hate the fact that we have no useful asn.1 code generator and need to
work with hacks like asn1tostruct.py and asn1c without information
object classes :/
This commit is a one-day-long iteration of trial+error, manually editing
and adding the .asn source of RANAP until we get something that in the
end at least compiles and links. Do I trust the resulting code? No.
But we have no alternative :(
diff --git a/src/ranap/RANAP_RABDataVolumeReport.c b/src/ranap/RANAP_RABDataVolumeReport.c
index 06d21b6..966b4db 100644
--- a/src/ranap/RANAP_RABDataVolumeReport.c
+++ b/src/ranap/RANAP_RABDataVolumeReport.c
@@ -11,8 +11,8 @@
{ APC_CONSTRAINED, 1, 1, 1l, 2l } /* (SIZE(1..2)) */,
0, 0 /* No PER value map */
};
-static asn_TYPE_member_t asn_MBR_Member_2[] = {
- { ATF_NOFLAGS, 0, offsetof(struct Member, dl_UnsuccessfullyTransmittedDataVolume),
+static asn_TYPE_member_t asn_MBR_MemberN_2[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct MemberN, dl_UnsuccessfullyTransmittedDataVolume),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_RANAP_UnsuccessfullyTransmittedDataVolume,
@@ -21,7 +21,7 @@
0,
"dl-UnsuccessfullyTransmittedDataVolume"
},
- { ATF_POINTER, 2, offsetof(struct Member, dataVolumeReference),
+ { ATF_POINTER, 2, offsetof(struct MemberN, dataVolumeReference),
(ASN_TAG_CLASS_CONTEXT | (1 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_RANAP_DataVolumeReference,
@@ -30,7 +30,7 @@
0,
"dataVolumeReference"
},
- { ATF_POINTER, 1, offsetof(struct Member, iE_Extensions),
+ { ATF_POINTER, 1, offsetof(struct MemberN, iE_Extensions),
(ASN_TAG_CLASS_CONTEXT | (2 << 2)),
-1, /* IMPLICIT tag at current level */
&asn_DEF_RANAP_IE_Extensions,
@@ -40,27 +40,27 @@
"iE-Extensions"
},
};
-static const int asn_MAP_Member_oms_2[] = { 1, 2 };
-static const ber_tlv_tag_t asn_DEF_Member_tags_2[] = {
+static const int asn_MAP_MemberN_oms_2[] = { 1, 2 };
+static const ber_tlv_tag_t asn_DEF_MemberN_tags_2[] = {
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
};
-static const asn_TYPE_tag2member_t asn_MAP_Member_tag2el_2[] = {
+static const asn_TYPE_tag2member_t asn_MAP_MemberN_tag2el_2[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* dl-UnsuccessfullyTransmittedDataVolume */
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* dataVolumeReference */
{ (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* iE-Extensions */
};
-static asn_SEQUENCE_specifics_t asn_SPC_Member_specs_2 = {
- sizeof(struct Member),
- offsetof(struct Member, _asn_ctx),
- asn_MAP_Member_tag2el_2,
+static asn_SEQUENCE_specifics_t asn_SPC_MemberN_specs_2 = {
+ sizeof(struct MemberN),
+ offsetof(struct MemberN, _asn_ctx),
+ asn_MAP_MemberN_tag2el_2,
3, /* Count of tags in the map */
- asn_MAP_Member_oms_2, /* Optional members */
+ asn_MAP_MemberN_oms_2, /* Optional members */
2, 0, /* Root/Additions */
2, /* Start extensions */
4 /* Stop extensions */
};
static /* Use -fall-defs-global to expose */
-asn_TYPE_descriptor_t asn_DEF_Member_2 = {
+asn_TYPE_descriptor_t asn_DEF_MemberN_2 = {
"SEQUENCE",
"SEQUENCE",
SEQUENCE_free,
@@ -75,23 +75,23 @@
SEQUENCE_decode_aper,
SEQUENCE_encode_aper,
0, /* Use generic outmost tag fetcher */
- asn_DEF_Member_tags_2,
- sizeof(asn_DEF_Member_tags_2)
- /sizeof(asn_DEF_Member_tags_2[0]), /* 1 */
- asn_DEF_Member_tags_2, /* Same as above */
- sizeof(asn_DEF_Member_tags_2)
- /sizeof(asn_DEF_Member_tags_2[0]), /* 1 */
+ asn_DEF_MemberN_tags_2,
+ sizeof(asn_DEF_MemberN_tags_2)
+ /sizeof(asn_DEF_MemberN_tags_2[0]), /* 1 */
+ asn_DEF_MemberN_tags_2, /* Same as above */
+ sizeof(asn_DEF_MemberN_tags_2)
+ /sizeof(asn_DEF_MemberN_tags_2[0]), /* 1 */
0, /* No PER visible constraints */
- asn_MBR_Member_2,
+ asn_MBR_MemberN_2,
3, /* Elements count */
- &asn_SPC_Member_specs_2 /* Additional specs */
+ &asn_SPC_MemberN_specs_2 /* Additional specs */
};
static asn_TYPE_member_t asn_MBR_RANAP_RABDataVolumeReport_1[] = {
{ ATF_POINTER, 0, 0,
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
0,
- &asn_DEF_Member_2,
+ &asn_DEF_MemberN_2,
0, /* Defer constraints checking to the member type */
0, /* No PER visible constraints */
0,