ranap: Add more manual definitions to RANAP-PDUs
It seems that individual IEs contain nested containers, and asn1c is not generating code for that unless we help it by some hand-crafted additional definitions. *sigh*daniel/wip
parent
68fcff219f
commit
ac9c024432
|
@ -467,4 +467,125 @@ IE ::= SEQUENCE {
|
|||
value ANY
|
||||
}
|
||||
|
||||
DataVolumeReportList ::= SEQUENCE {
|
||||
dataVolumeReportListe-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
RAB-ReleasedList-IuRelComp ::= SEQUENCE {
|
||||
rabReleasedListIuRelComp-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
RAB-RelocationReleaseList ::= SEQUENCE {
|
||||
rabRelocationReleaseList-ies SEQUENCE (SIZE(0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
RAB-DataForwardingList ::= SEQUENCE {
|
||||
rabDataForwardingList-ies SEQUENCE (SIZE(0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
RAB-SetupList-RelocReq ::= SEQUENCE {
|
||||
rabSetupListRelocReq-ies SEQUENCE (SIZE(0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
RAB-SetupList-RelocReqAck ::= SEQUENCE {
|
||||
rabSetupListRelocReqAck-ies SEQUENCE (SIZE(0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
RAB-FailedList ::= SEQUENCE {
|
||||
rabFailedList-ies SEQUENCE (SIZE(0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
RAB-DataForwardingList-SRNS-CtxReq ::= SEQUENCE {
|
||||
rabDataForwardingListSRNSCtxReq-ies SEQUENCE (SIZE(0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
RAB-ContextList ::= SEQUENCE {
|
||||
rabContextList-ies SEQUENCE (SIZE(0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
RAB-ContextFailedtoTransferList ::= SEQUENCE {
|
||||
rabContextFailedtoTransferList-ies SEQUENCE (SIZE(0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
RAB-DataVolumeReportRequestList ::= SEQUENCE {
|
||||
rabDataVolumeReportRequestList-ies SEQUENCE (SIZE(0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
RAB-FailedtoReportList ::= SEQUENCE {
|
||||
rabFailedtoReportList-ies SEQUENCE (SIZE(0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
RAB-SetupList-EnhancedRelocCompleteReq ::= SEQUENCE {
|
||||
rabSetupListEnhancedRElocCompleteReq-ies SEQUENCE (SIZE(0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
RAB-SetupList-EnhancedRelocCompleteRes ::= SEQUENCE {
|
||||
rabSetupListEnhancedRelocCompleteRes-ies SEQUENCE (SIZE(0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
RAB-ToBeReleasedList-EnhancedRelocCompleteRes ::= SEQUENCE {
|
||||
rabToBeReleasedListEnhancedRelocCompleteRes-ies SEQUENCE (SIZE(0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
RAB-SetupOrModifiedList ::= SEQUENCE {
|
||||
rabSetupOrModifiedList-ies SEQUENCE (SIZE(0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
RAB-ReleasedList ::= SEQUENCE {
|
||||
rabReleaesdList-ies SEQUENCE (SIZE(0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
RAB-QueuedList ::= SEQUENCE {
|
||||
rabQueuedList-ies SEQUENCE (SIZE(0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
GERAN-Iumode-RAB-FailedList-RABAssgntResponse ::= SEQUENCE {
|
||||
foo-ies SEQUENCE (SIZE(0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
RAB-ContextList-RANAP-RelocInf ::= SEQUENCE {
|
||||
rabContextListRANAPRelocInf-ies SEQUENCE (SIZE(0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
RAB-SetupList-EnhRelocInfoReq ::= SEQUENCE {
|
||||
rabSetupListEnhRelocInfoReq-ies SEQUENCE (SIZE(0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
RAB-SetupList-EnhRelocInfoRes ::= SEQUENCE {
|
||||
rabSetupListEnhRelocInfoRes-ies SEQUENCE (SIZE(0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
RAB-FailedList-EnhRelocInfoRes ::= SEQUENCE {
|
||||
rabFailedListEnhRelocInfoRes-ies SEQUENCE (SIZE(0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
RAB-ModifyList ::= SEQUENCE {
|
||||
rabModifyList-ies SEQUENCE (SIZE(0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
|
||||
END
|
||||
|
|
|
@ -494,7 +494,27 @@ ASN_MODULE_SOURCES= \
|
|||
RANAP_SRVCC-CSKeysResponse.c \
|
||||
RANAP_UeRadioCapabilityMatchRequest.c \
|
||||
RANAP_UeRadioCapabilityMatchResponse.c \
|
||||
RANAP_IE.c
|
||||
RANAP_IE.c \
|
||||
RANAP_DataVolumeReportList.c \
|
||||
RANAP_RAB-ReleasedList-IuRelComp.c \
|
||||
RANAP_RAB-RelocationReleaseList.c \
|
||||
RANAP_RAB-DataForwardingList.c \
|
||||
RANAP_RAB-SetupList-RelocReq.c \
|
||||
RANAP_RAB-SetupList-RelocReqAck.c \
|
||||
RANAP_RAB-FailedList.c \
|
||||
RANAP_RAB-DataForwardingList-SRNS-CtxReq.c \
|
||||
RANAP_RAB-ContextList.c \
|
||||
RANAP_RAB-ContextFailedtoTransferList.c \
|
||||
RANAP_RAB-DataVolumeReportRequestList.c \
|
||||
RANAP_RAB-FailedtoReportList.c \
|
||||
RANAP_RAB-SetupList-EnhancedRelocCompleteReq.c \
|
||||
RANAP_RAB-SetupList-EnhancedRelocCompleteRes.c \
|
||||
RANAP_RAB-ToBeReleasedList-EnhancedRelocCompleteRes.c \
|
||||
RANAP_RAB-SetupOrModifiedList.c \
|
||||
RANAP_RAB-ReleasedList.c \
|
||||
RANAP_RAB-QueuedList.c \
|
||||
RANAP_GERAN-Iumode-RAB-FailedList-RABAssgntResponse.c \
|
||||
RANAP_RAB-ContextList-RANAP-RelocInf.c
|
||||
|
||||
ASN_MODULE_HEADERS= \
|
||||
RANAP_Criticality.h \
|
||||
|
@ -992,7 +1012,31 @@ ASN_MODULE_HEADERS= \
|
|||
RANAP_SRVCC-CSKeysResponse.h \
|
||||
RANAP_UeRadioCapabilityMatchRequest.h \
|
||||
RANAP_UeRadioCapabilityMatchResponse.h \
|
||||
RANAP_IE.h
|
||||
RANAP_IE.h \
|
||||
RANAP_DataVolumeReportList.h \
|
||||
RANAP_RAB-ReleasedList-IuRelComp.h \
|
||||
RANAP_RAB-RelocationReleaseList.h \
|
||||
RANAP_RAB-DataForwardingList.h \
|
||||
RANAP_RAB-SetupList-RelocReq.h \
|
||||
RANAP_RAB-SetupList-RelocReqAck.h \
|
||||
RANAP_RAB-FailedList.h \
|
||||
RANAP_RAB-DataForwardingList-SRNS-CtxReq.h \
|
||||
RANAP_RAB-ContextList.h \
|
||||
RANAP_RAB-ContextFailedtoTransferList.h \
|
||||
RANAP_RAB-DataVolumeReportRequestList.h \
|
||||
RANAP_RAB-FailedtoReportList.h \
|
||||
RANAP_RAB-SetupList-EnhancedRelocCompleteReq.h \
|
||||
RANAP_RAB-SetupList-EnhancedRelocCompleteRes.h \
|
||||
RANAP_RAB-ToBeReleasedList-EnhancedRelocCompleteRes.h \
|
||||
RANAP_RAB-SetupOrModifiedList.h \
|
||||
RANAP_RAB-ReleasedList.h \
|
||||
RANAP_RAB-QueuedList.h \
|
||||
RANAP_GERAN-Iumode-RAB-FailedList-RABAssgntResponse.h \
|
||||
RANAP_RAB-ContextList-RANAP-RelocInf.h \
|
||||
RANAP_RAB-SetupList-EnhRelocInfoReq.h \
|
||||
RANAP_RAB-SetupList-EnhRelocInfoRes.h \
|
||||
RANAP_RAB-FailedList-EnhRelocInfoRes.h \
|
||||
RANAP_RAB-ModifyList.h
|
||||
|
||||
|
||||
lib_LTLIBRARIES=libosmo-asn1-ranap.la
|
||||
|
|
|
@ -0,0 +1,145 @@
|
|||
/*
|
||||
* Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
|
||||
* From ASN.1 module "RANAP-PDU"
|
||||
* found in "../../asn1/ranap/RANAP-PDU.asn"
|
||||
*/
|
||||
|
||||
#include "RANAP_DataVolumeReportList.h"
|
||||
|
||||
static int
|
||||
memb_dataVolumeReportListe_ies_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr,
|
||||
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
|
||||
size_t size;
|
||||
|
||||
if(!sptr) {
|
||||
_ASN_CTFAIL(app_key, td, sptr,
|
||||
"%s: value not given (%s:%d)",
|
||||
td->name, __FILE__, __LINE__);
|
||||
return -1;
|
||||
}
|
||||
|
||||
/* Determine the number of elements */
|
||||
size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
|
||||
|
||||
if((size <= 65535l)) {
|
||||
/* Perform validation of the inner elements */
|
||||
return td->check_constraints(td, sptr, ctfailcb, app_key);
|
||||
} else {
|
||||
_ASN_CTFAIL(app_key, td, sptr,
|
||||
"%s: constraint failed (%s:%d)",
|
||||
td->name, __FILE__, __LINE__);
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
||||
static asn_per_constraints_t asn_PER_type_dataVolumeReportListe_ies_constr_2 GCC_NOTUSED = {
|
||||
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
|
||||
{ APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */,
|
||||
0, 0 /* No PER value map */
|
||||
};
|
||||
static asn_per_constraints_t asn_PER_memb_dataVolumeReportListe_ies_constr_2 GCC_NOTUSED = {
|
||||
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
|
||||
{ APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */,
|
||||
0, 0 /* No PER value map */
|
||||
};
|
||||
static asn_TYPE_member_t asn_MBR_dataVolumeReportListe_ies_2[] = {
|
||||
{ ATF_POINTER, 0, 0,
|
||||
-1 /* Ambiguous tag (CHOICE?) */,
|
||||
0,
|
||||
&asn_DEF_RANAP_IE,
|
||||
0, /* Defer constraints checking to the member type */
|
||||
0, /* No PER visible constraints */
|
||||
0,
|
||||
""
|
||||
},
|
||||
};
|
||||
static const ber_tlv_tag_t asn_DEF_dataVolumeReportListe_ies_tags_2[] = {
|
||||
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
|
||||
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
|
||||
};
|
||||
static asn_SET_OF_specifics_t asn_SPC_dataVolumeReportListe_ies_specs_2 = {
|
||||
sizeof(struct dataVolumeReportListe_ies),
|
||||
offsetof(struct dataVolumeReportListe_ies, _asn_ctx),
|
||||
0, /* XER encoding is XMLDelimitedItemList */
|
||||
};
|
||||
static /* Use -fall-defs-global to expose */
|
||||
asn_TYPE_descriptor_t asn_DEF_dataVolumeReportListe_ies_2 = {
|
||||
"dataVolumeReportListe-ies",
|
||||
"dataVolumeReportListe-ies",
|
||||
SEQUENCE_OF_free,
|
||||
SEQUENCE_OF_print,
|
||||
SEQUENCE_OF_constraint,
|
||||
SEQUENCE_OF_decode_ber,
|
||||
SEQUENCE_OF_encode_der,
|
||||
SEQUENCE_OF_decode_xer,
|
||||
SEQUENCE_OF_encode_xer,
|
||||
SEQUENCE_OF_decode_uper,
|
||||
SEQUENCE_OF_encode_uper,
|
||||
SEQUENCE_OF_decode_aper,
|
||||
SEQUENCE_OF_encode_aper,
|
||||
0, /* Use generic outmost tag fetcher */
|
||||
asn_DEF_dataVolumeReportListe_ies_tags_2,
|
||||
sizeof(asn_DEF_dataVolumeReportListe_ies_tags_2)
|
||||
/sizeof(asn_DEF_dataVolumeReportListe_ies_tags_2[0]) - 1, /* 1 */
|
||||
asn_DEF_dataVolumeReportListe_ies_tags_2, /* Same as above */
|
||||
sizeof(asn_DEF_dataVolumeReportListe_ies_tags_2)
|
||||
/sizeof(asn_DEF_dataVolumeReportListe_ies_tags_2[0]), /* 2 */
|
||||
&asn_PER_type_dataVolumeReportListe_ies_constr_2,
|
||||
asn_MBR_dataVolumeReportListe_ies_2,
|
||||
1, /* Single element */
|
||||
&asn_SPC_dataVolumeReportListe_ies_specs_2 /* Additional specs */
|
||||
};
|
||||
|
||||
static asn_TYPE_member_t asn_MBR_RANAP_DataVolumeReportList_1[] = {
|
||||
{ ATF_NOFLAGS, 0, offsetof(struct RANAP_DataVolumeReportList, dataVolumeReportListe_ies),
|
||||
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
|
||||
0,
|
||||
&asn_DEF_dataVolumeReportListe_ies_2,
|
||||
memb_dataVolumeReportListe_ies_constraint_1,
|
||||
&asn_PER_memb_dataVolumeReportListe_ies_constr_2,
|
||||
0,
|
||||
"dataVolumeReportListe-ies"
|
||||
},
|
||||
};
|
||||
static const ber_tlv_tag_t asn_DEF_RANAP_DataVolumeReportList_tags_1[] = {
|
||||
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
|
||||
};
|
||||
static const asn_TYPE_tag2member_t asn_MAP_RANAP_DataVolumeReportList_tag2el_1[] = {
|
||||
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* dataVolumeReportListe-ies */
|
||||
};
|
||||
static asn_SEQUENCE_specifics_t asn_SPC_RANAP_DataVolumeReportList_specs_1 = {
|
||||
sizeof(struct RANAP_DataVolumeReportList),
|
||||
offsetof(struct RANAP_DataVolumeReportList, _asn_ctx),
|
||||
asn_MAP_RANAP_DataVolumeReportList_tag2el_1,
|
||||
1, /* Count of tags in the map */
|
||||
0, 0, 0, /* Optional elements (not needed) */
|
||||
0, /* Start extensions */
|
||||
2 /* Stop extensions */
|
||||
};
|
||||
asn_TYPE_descriptor_t asn_DEF_RANAP_DataVolumeReportList = {
|
||||
"RANAP_DataVolumeReportList",
|
||||
"RANAP_DataVolumeReportList",
|
||||
SEQUENCE_free,
|
||||
SEQUENCE_print,
|
||||
SEQUENCE_constraint,
|
||||
SEQUENCE_decode_ber,
|
||||
SEQUENCE_encode_der,
|
||||
SEQUENCE_decode_xer,
|
||||
SEQUENCE_encode_xer,
|
||||
SEQUENCE_decode_uper,
|
||||
SEQUENCE_encode_uper,
|
||||
SEQUENCE_decode_aper,
|
||||
SEQUENCE_encode_aper,
|
||||
0, /* Use generic outmost tag fetcher */
|
||||
asn_DEF_RANAP_DataVolumeReportList_tags_1,
|
||||
sizeof(asn_DEF_RANAP_DataVolumeReportList_tags_1)
|
||||
/sizeof(asn_DEF_RANAP_DataVolumeReportList_tags_1[0]), /* 1 */
|
||||
asn_DEF_RANAP_DataVolumeReportList_tags_1, /* Same as above */
|
||||
sizeof(asn_DEF_RANAP_DataVolumeReportList_tags_1)
|
||||
/sizeof(asn_DEF_RANAP_DataVolumeReportList_tags_1[0]), /* 1 */
|
||||
0, /* No PER visible constraints */
|
||||
asn_MBR_RANAP_DataVolumeReportList_1,
|
||||
1, /* Elements count */
|
||||
&asn_SPC_RANAP_DataVolumeReportList_specs_1 /* Additional specs */
|
||||
};
|
||||
|
|
@ -0,0 +1,48 @@
|
|||
/*
|
||||
* Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
|
||||
* From ASN.1 module "RANAP-PDU"
|
||||
* found in "../../asn1/ranap/RANAP-PDU.asn"
|
||||
*/
|
||||
|
||||
#ifndef _RANAP_DataVolumeReportList_H_
|
||||
#define _RANAP_DataVolumeReportList_H_
|
||||
|
||||
|
||||
#include <asn_application.h>
|
||||
|
||||
/* Including external dependencies */
|
||||
#include "RANAP_IE.h"
|
||||
#include <asn_SEQUENCE_OF.h>
|
||||
#include <constr_SEQUENCE_OF.h>
|
||||
#include <constr_SEQUENCE.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/* RANAP_DataVolumeReportList */
|
||||
typedef struct RANAP_DataVolumeReportList {
|
||||
struct dataVolumeReportListe_ies {
|
||||
A_SEQUENCE_OF(RANAP_IE_t) list;
|
||||
|
||||
/* Context for parsing across buffer boundaries */
|
||||
asn_struct_ctx_t _asn_ctx;
|
||||
} dataVolumeReportListe_ies;
|
||||
/*
|
||||
* This type is extensible,
|
||||
* possible extensions are below.
|
||||
*/
|
||||
|
||||
/* Context for parsing across buffer boundaries */
|
||||
asn_struct_ctx_t _asn_ctx;
|
||||
} RANAP_DataVolumeReportList_t;
|
||||
|
||||
/* Implementation */
|
||||
extern asn_TYPE_descriptor_t asn_DEF_RANAP_DataVolumeReportList;
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* _RANAP_DataVolumeReportList_H_ */
|
||||
#include <asn_internal.h>
|
|
@ -0,0 +1,145 @@
|
|||
/*
|
||||
* Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
|
||||
* From ASN.1 module "RANAP-PDU"
|
||||
* found in "../../asn1/ranap/RANAP-PDU.asn"
|
||||
*/
|
||||
|
||||
#include "RANAP_GERAN-Iumode-RAB-FailedList-RABAssgntResponse.h"
|
||||
|
||||
static int
|
||||
memb_foo_ies_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr,
|
||||
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
|
||||
size_t size;
|
||||
|
||||
if(!sptr) {
|
||||
_ASN_CTFAIL(app_key, td, sptr,
|
||||
"%s: value not given (%s:%d)",
|
||||
td->name, __FILE__, __LINE__);
|
||||
return -1;
|
||||
}
|
||||
|
||||
/* Determine the number of elements */
|
||||
size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
|
||||
|
||||
if((size <= 65535l)) {
|
||||
/* Perform validation of the inner elements */
|
||||
return td->check_constraints(td, sptr, ctfailcb, app_key);
|
||||
} else {
|
||||
_ASN_CTFAIL(app_key, td, sptr,
|
||||
"%s: constraint failed (%s:%d)",
|
||||
td->name, __FILE__, __LINE__);
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
||||
static asn_per_constraints_t asn_PER_type_foo_ies_constr_2 GCC_NOTUSED = {
|
||||
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
|
||||
{ APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */,
|
||||
0, 0 /* No PER value map */
|
||||
};
|
||||
static asn_per_constraints_t asn_PER_memb_foo_ies_constr_2 GCC_NOTUSED = {
|
||||
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
|
||||
{ APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */,
|
||||
0, 0 /* No PER value map */
|
||||
};
|
||||
static asn_TYPE_member_t asn_MBR_foo_ies_2[] = {
|
||||
{ ATF_POINTER, 0, 0,
|
||||
-1 /* Ambiguous tag (CHOICE?) */,
|
||||
0,
|
||||
&asn_DEF_RANAP_IE,
|
||||
0, /* Defer constraints checking to the member type */
|
||||
0, /* No PER visible constraints */
|
||||
0,
|
||||
""
|
||||
},
|
||||
};
|
||||
static const ber_tlv_tag_t asn_DEF_foo_ies_tags_2[] = {
|
||||
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
|
||||
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
|
||||
};
|
||||
static asn_SET_OF_specifics_t asn_SPC_foo_ies_specs_2 = {
|
||||
sizeof(struct foo_ies),
|
||||
offsetof(struct foo_ies, _asn_ctx),
|
||||
0, /* XER encoding is XMLDelimitedItemList */
|
||||
};
|
||||
static /* Use -fall-defs-global to expose */
|
||||
asn_TYPE_descriptor_t asn_DEF_foo_ies_2 = {
|
||||
"foo-ies",
|
||||
"foo-ies",
|
||||
SEQUENCE_OF_free,
|
||||
SEQUENCE_OF_print,
|
||||
SEQUENCE_OF_constraint,
|
||||
SEQUENCE_OF_decode_ber,
|
||||
SEQUENCE_OF_encode_der,
|
||||
SEQUENCE_OF_decode_xer,
|
||||
SEQUENCE_OF_encode_xer,
|
||||
SEQUENCE_OF_decode_uper,
|
||||
SEQUENCE_OF_encode_uper,
|
||||
SEQUENCE_OF_decode_aper,
|
||||
SEQUENCE_OF_encode_aper,
|
||||
0, /* Use generic outmost tag fetcher */
|
||||
asn_DEF_foo_ies_tags_2,
|
||||
sizeof(asn_DEF_foo_ies_tags_2)
|
||||
/sizeof(asn_DEF_foo_ies_tags_2[0]) - 1, /* 1 */
|
||||
asn_DEF_foo_ies_tags_2, /* Same as above */
|
||||
sizeof(asn_DEF_foo_ies_tags_2)
|
||||
/sizeof(asn_DEF_foo_ies_tags_2[0]), /* 2 */
|
||||
&asn_PER_type_foo_ies_constr_2,
|
||||
asn_MBR_foo_ies_2,
|
||||
1, /* Single element */
|
||||
&asn_SPC_foo_ies_specs_2 /* Additional specs */
|
||||
};
|
||||
|
||||
static asn_TYPE_member_t asn_MBR_RANAP_GERAN_Iumode_RAB_FailedList_RABAssgntResponse_1[] = {
|
||||
{ ATF_NOFLAGS, 0, offsetof(struct RANAP_GERAN_Iumode_RAB_FailedList_RABAssgntResponse, foo_ies),
|
||||
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
|
||||
0,
|
||||
&asn_DEF_foo_ies_2,
|
||||
memb_foo_ies_constraint_1,
|
||||
&asn_PER_memb_foo_ies_constr_2,
|
||||
0,
|
||||
"foo-ies"
|
||||
},
|
||||
};
|
||||
static const ber_tlv_tag_t asn_DEF_RANAP_GERAN_Iumode_RAB_FailedList_RABAssgntResponse_tags_1[] = {
|
||||
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
|
||||
};
|
||||
static const asn_TYPE_tag2member_t asn_MAP_RANAP_GERAN_Iumode_RAB_FailedList_RABAssgntResponse_tag2el_1[] = {
|
||||
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* foo-ies */
|
||||
};
|
||||
static asn_SEQUENCE_specifics_t asn_SPC_RANAP_GERAN_Iumode_RAB_FailedList_RABAssgntResponse_specs_1 = {
|
||||
sizeof(struct RANAP_GERAN_Iumode_RAB_FailedList_RABAssgntResponse),
|
||||
offsetof(struct RANAP_GERAN_Iumode_RAB_FailedList_RABAssgntResponse, _asn_ctx),
|
||||
asn_MAP_RANAP_GERAN_Iumode_RAB_FailedList_RABAssgntResponse_tag2el_1,
|
||||
1, /* Count of tags in the map */
|
||||
0, 0, 0, /* Optional elements (not needed) */
|
||||
0, /* Start extensions */
|
||||
2 /* Stop extensions */
|
||||
};
|
||||
asn_TYPE_descriptor_t asn_DEF_RANAP_GERAN_Iumode_RAB_FailedList_RABAssgntResponse = {
|
||||
"RANAP_GERAN-Iumode-RAB-FailedList-RABAssgntResponse",
|
||||
"RANAP_GERAN-Iumode-RAB-FailedList-RABAssgntResponse",
|
||||
SEQUENCE_free,
|
||||
SEQUENCE_print,
|
||||
SEQUENCE_constraint,
|
||||
SEQUENCE_decode_ber,
|
||||
SEQUENCE_encode_der,
|
||||
SEQUENCE_decode_xer,
|
||||
SEQUENCE_encode_xer,
|
||||
SEQUENCE_decode_uper,
|
||||
SEQUENCE_encode_uper,
|
||||
SEQUENCE_decode_aper,
|
||||
SEQUENCE_encode_aper,
|
||||
0, /* Use generic outmost tag fetcher */
|
||||
asn_DEF_RANAP_GERAN_Iumode_RAB_FailedList_RABAssgntResponse_tags_1,
|
||||
sizeof(asn_DEF_RANAP_GERAN_Iumode_RAB_FailedList_RABAssgntResponse_tags_1)
|
||||
/sizeof(asn_DEF_RANAP_GERAN_Iumode_RAB_FailedList_RABAssgntResponse_tags_1[0]), /* 1 */
|
||||
asn_DEF_RANAP_GERAN_Iumode_RAB_FailedList_RABAssgntResponse_tags_1, /* Same as above */
|
||||
sizeof(asn_DEF_RANAP_GERAN_Iumode_RAB_FailedList_RABAssgntResponse_tags_1)
|
||||
/sizeof(asn_DEF_RANAP_GERAN_Iumode_RAB_FailedList_RABAssgntResponse_tags_1[0]), /* 1 */
|
||||
0, /* No PER visible constraints */
|
||||
asn_MBR_RANAP_GERAN_Iumode_RAB_FailedList_RABAssgntResponse_1,
|
||||
1, /* Elements count */
|
||||
&asn_SPC_RANAP_GERAN_Iumode_RAB_FailedList_RABAssgntResponse_specs_1 /* Additional specs */
|
||||
};
|
||||
|
|
@ -0,0 +1,48 @@
|
|||
/*
|
||||
* Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
|
||||
* From ASN.1 module "RANAP-PDU"
|
||||
* found in "../../asn1/ranap/RANAP-PDU.asn"
|
||||
*/
|
||||
|
||||
#ifndef _RANAP_GERAN_Iumode_RAB_FailedList_RABAssgntResponse_H_
|
||||
#define _RANAP_GERAN_Iumode_RAB_FailedList_RABAssgntResponse_H_
|
||||
|
||||
|
||||
#include <asn_application.h>
|
||||
|
||||
/* Including external dependencies */
|
||||
#include "RANAP_IE.h"
|
||||
#include <asn_SEQUENCE_OF.h>
|
||||
#include <constr_SEQUENCE_OF.h>
|
||||
#include <constr_SEQUENCE.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/* RANAP_GERAN-Iumode-RAB-FailedList-RABAssgntResponse */
|
||||
typedef struct RANAP_GERAN_Iumode_RAB_FailedList_RABAssgntResponse {
|
||||
struct foo_ies {
|
||||
A_SEQUENCE_OF(RANAP_IE_t) list;
|
||||
|
||||
/* Context for parsing across buffer boundaries */
|
||||
asn_struct_ctx_t _asn_ctx;
|
||||
} foo_ies;
|
||||
/*
|
||||
* This type is extensible,
|
||||
* possible extensions are below.
|
||||
*/
|
||||
|
||||
/* Context for parsing across buffer boundaries */
|
||||
asn_struct_ctx_t _asn_ctx;
|
||||
} RANAP_GERAN_Iumode_RAB_FailedList_RABAssgntResponse_t;
|
||||
|
||||
/* Implementation */
|
||||
extern asn_TYPE_descriptor_t asn_DEF_RANAP_GERAN_Iumode_RAB_FailedList_RABAssgntResponse;
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* _RANAP_GERAN_Iumode_RAB_FailedList_RABAssgntResponse_H_ */
|
||||
#include <asn_internal.h>
|
|
@ -0,0 +1,145 @@
|
|||
/*
|
||||
* Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
|
||||
* From ASN.1 module "RANAP-PDU"
|
||||
* found in "../../asn1/ranap/RANAP-PDU.asn"
|
||||
*/
|
||||
|
||||
#include "RANAP_RAB-ContextFailedtoTransferList.h"
|
||||
|
||||
static int
|
||||
memb_rabContextFailedtoTransferList_ies_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr,
|
||||
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
|
||||
size_t size;
|
||||
|
||||
if(!sptr) {
|
||||
_ASN_CTFAIL(app_key, td, sptr,
|
||||
"%s: value not given (%s:%d)",
|
||||
td->name, __FILE__, __LINE__);
|
||||
return -1;
|
||||
}
|
||||
|
||||
/* Determine the number of elements */
|
||||
size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
|
||||
|
||||
if((size <= 65535l)) {
|
||||
/* Perform validation of the inner elements */
|
||||
return td->check_constraints(td, sptr, ctfailcb, app_key);
|
||||
} else {
|
||||
_ASN_CTFAIL(app_key, td, sptr,
|
||||
"%s: constraint failed (%s:%d)",
|
||||
td->name, __FILE__, __LINE__);
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
||||
static asn_per_constraints_t asn_PER_type_rabContextFailedtoTransferList_ies_constr_2 GCC_NOTUSED = {
|
||||
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
|
||||
{ APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */,
|
||||
0, 0 /* No PER value map */
|
||||
};
|
||||
static asn_per_constraints_t asn_PER_memb_rabContextFailedtoTransferList_ies_constr_2 GCC_NOTUSED = {
|
||||
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
|
||||
{ APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */,
|
||||
0, 0 /* No PER value map */
|
||||
};
|
||||
static asn_TYPE_member_t asn_MBR_rabContextFailedtoTransferList_ies_2[] = {
|
||||
{ ATF_POINTER, 0, 0,
|
||||
-1 /* Ambiguous tag (CHOICE?) */,
|
||||
0,
|
||||
&asn_DEF_RANAP_IE,
|
||||
0, /* Defer constraints checking to the member type */
|
||||
0, /* No PER visible constraints */
|
||||
0,
|
||||
""
|
||||
},
|
||||
};
|
||||
static const ber_tlv_tag_t asn_DEF_rabContextFailedtoTransferList_ies_tags_2[] = {
|
||||
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
|
||||
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
|
||||
};
|
||||
static asn_SET_OF_specifics_t asn_SPC_rabContextFailedtoTransferList_ies_specs_2 = {
|
||||
sizeof(struct rabContextFailedtoTransferList_ies),
|
||||
offsetof(struct rabContextFailedtoTransferList_ies, _asn_ctx),
|
||||
0, /* XER encoding is XMLDelimitedItemList */
|
||||
};
|
||||
static /* Use -fall-defs-global to expose */
|
||||
asn_TYPE_descriptor_t asn_DEF_rabContextFailedtoTransferList_ies_2 = {
|
||||
"rabContextFailedtoTransferList-ies",
|
||||
"rabContextFailedtoTransferList-ies",
|
||||
SEQUENCE_OF_free,
|
||||
SEQUENCE_OF_print,
|
||||
SEQUENCE_OF_constraint,
|
||||
SEQUENCE_OF_decode_ber,
|
||||
SEQUENCE_OF_encode_der,
|
||||
SEQUENCE_OF_decode_xer,
|
||||
SEQUENCE_OF_encode_xer,
|
||||
SEQUENCE_OF_decode_uper,
|
||||
SEQUENCE_OF_encode_uper,
|
||||
SEQUENCE_OF_decode_aper,
|
||||
SEQUENCE_OF_encode_aper,
|
||||
0, /* Use generic outmost tag fetcher */
|
||||
asn_DEF_rabContextFailedtoTransferList_ies_tags_2,
|
||||
sizeof(asn_DEF_rabContextFailedtoTransferList_ies_tags_2)
|
||||
/sizeof(asn_DEF_rabContextFailedtoTransferList_ies_tags_2[0]) - 1, /* 1 */
|
||||
asn_DEF_rabContextFailedtoTransferList_ies_tags_2, /* Same as above */
|
||||
sizeof(asn_DEF_rabContextFailedtoTransferList_ies_tags_2)
|
||||
/sizeof(asn_DEF_rabContextFailedtoTransferList_ies_tags_2[0]), /* 2 */
|
||||
&asn_PER_type_rabContextFailedtoTransferList_ies_constr_2,
|
||||
asn_MBR_rabContextFailedtoTransferList_ies_2,
|
||||
1, /* Single element */
|
||||
&asn_SPC_rabContextFailedtoTransferList_ies_specs_2 /* Additional specs */
|
||||
};
|
||||
|
||||
static asn_TYPE_member_t asn_MBR_RANAP_RAB_ContextFailedtoTransferList_1[] = {
|
||||
{ ATF_NOFLAGS, 0, offsetof(struct RANAP_RAB_ContextFailedtoTransferList, rabContextFailedtoTransferList_ies),
|
||||
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
|
||||
0,
|
||||
&asn_DEF_rabContextFailedtoTransferList_ies_2,
|
||||
memb_rabContextFailedtoTransferList_ies_constraint_1,
|
||||
&asn_PER_memb_rabContextFailedtoTransferList_ies_constr_2,
|
||||
0,
|
||||
"rabContextFailedtoTransferList-ies"
|
||||
},
|
||||
};
|
||||
static const ber_tlv_tag_t asn_DEF_RANAP_RAB_ContextFailedtoTransferList_tags_1[] = {
|
||||
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
|
||||
};
|
||||
static const asn_TYPE_tag2member_t asn_MAP_RANAP_RAB_ContextFailedtoTransferList_tag2el_1[] = {
|
||||
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* rabContextFailedtoTransferList-ies */
|
||||
};
|
||||
static asn_SEQUENCE_specifics_t asn_SPC_RANAP_RAB_ContextFailedtoTransferList_specs_1 = {
|
||||
sizeof(struct RANAP_RAB_ContextFailedtoTransferList),
|
||||
offsetof(struct RANAP_RAB_ContextFailedtoTransferList, _asn_ctx),
|
||||
asn_MAP_RANAP_RAB_ContextFailedtoTransferList_tag2el_1,
|
||||
1, /* Count of tags in the map */
|
||||
0, 0, 0, /* Optional elements (not needed) */
|
||||
0, /* Start extensions */
|
||||
2 /* Stop extensions */
|
||||
};
|
||||
asn_TYPE_descriptor_t asn_DEF_RANAP_RAB_ContextFailedtoTransferList = {
|
||||
"RANAP_RAB-ContextFailedtoTransferList",
|
||||
"RANAP_RAB-ContextFailedtoTransferList",
|
||||
SEQUENCE_free,
|
||||
SEQUENCE_print,
|
||||
SEQUENCE_constraint,
|
||||
SEQUENCE_decode_ber,
|
||||
SEQUENCE_encode_der,
|
||||
SEQUENCE_decode_xer,
|
||||
SEQUENCE_encode_xer,
|
||||
SEQUENCE_decode_uper,
|
||||
SEQUENCE_encode_uper,
|
||||
SEQUENCE_decode_aper,
|
||||
SEQUENCE_encode_aper,
|
||||
0, /* Use generic outmost tag fetcher */
|
||||
asn_DEF_RANAP_RAB_ContextFailedtoTransferList_tags_1,
|
||||
sizeof(asn_DEF_RANAP_RAB_ContextFailedtoTransferList_tags_1)
|
||||
/sizeof(asn_DEF_RANAP_RAB_ContextFailedtoTransferList_tags_1[0]), /* 1 */
|
||||
asn_DEF_RANAP_RAB_ContextFailedtoTransferList_tags_1, /* Same as above */
|
||||
sizeof(asn_DEF_RANAP_RAB_ContextFailedtoTransferList_tags_1)
|
||||
/sizeof(asn_DEF_RANAP_RAB_ContextFailedtoTransferList_tags_1[0]), /* 1 */
|
||||
0, /* No PER visible constraints */
|
||||
asn_MBR_RANAP_RAB_ContextFailedtoTransferList_1,
|
||||
1, /* Elements count */
|
||||
&asn_SPC_RANAP_RAB_ContextFailedtoTransferList_specs_1 /* Additional specs */
|
||||
};
|
||||
|
|
@ -0,0 +1,48 @@
|
|||
/*
|
||||
* Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
|
||||
* From ASN.1 module "RANAP-PDU"
|
||||
* found in "../../asn1/ranap/RANAP-PDU.asn"
|
||||
*/
|
||||
|
||||
#ifndef _RANAP_RAB_ContextFailedtoTransferList_H_
|
||||
#define _RANAP_RAB_ContextFailedtoTransferList_H_
|
||||
|
||||
|
||||
#include <asn_application.h>
|
||||
|
||||
/* Including external dependencies */
|
||||
#include "RANAP_IE.h"
|
||||
#include <asn_SEQUENCE_OF.h>
|
||||
#include <constr_SEQUENCE_OF.h>
|
||||
#include <constr_SEQUENCE.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/* RANAP_RAB-ContextFailedtoTransferList */
|
||||
typedef struct RANAP_RAB_ContextFailedtoTransferList {
|
||||
struct rabContextFailedtoTransferList_ies {
|
||||
A_SEQUENCE_OF(RANAP_IE_t) list;
|
||||
|
||||
/* Context for parsing across buffer boundaries */
|
||||
asn_struct_ctx_t _asn_ctx;
|
||||
} rabContextFailedtoTransferList_ies;
|
||||
/*
|
||||
* This type is extensible,
|
||||
* possible extensions are below.
|
||||
*/
|
||||
|
||||
/* Context for parsing across buffer boundaries */
|
||||
asn_struct_ctx_t _asn_ctx;
|
||||
} RANAP_RAB_ContextFailedtoTransferList_t;
|
||||
|
||||
/* Implementation */
|
||||
extern asn_TYPE_descriptor_t asn_DEF_RANAP_RAB_ContextFailedtoTransferList;
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* _RANAP_RAB_ContextFailedtoTransferList_H_ */
|
||||
#include <asn_internal.h>
|
|
@ -0,0 +1,145 @@
|
|||
/*
|
||||
* Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
|
||||
* From ASN.1 module "RANAP-PDU"
|
||||
* found in "../../asn1/ranap/RANAP-PDU.asn"
|
||||
*/
|
||||
|
||||
#include "RANAP_RAB-ContextList-RANAP-RelocInf.h"
|
||||
|
||||
static int
|
||||
memb_rabContextListRANAPRelocInf_ies_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr,
|
||||
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
|
||||
size_t size;
|
||||
|
||||
if(!sptr) {
|
||||
_ASN_CTFAIL(app_key, td, sptr,
|
||||
"%s: value not given (%s:%d)",
|
||||
td->name, __FILE__, __LINE__);
|
||||
return -1;
|
||||
}
|
||||
|
||||
/* Determine the number of elements */
|
||||
size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
|
||||
|
||||
if((size <= 65535l)) {
|
||||
/* Perform validation of the inner elements */
|
||||
return td->check_constraints(td, sptr, ctfailcb, app_key);
|
||||
} else {
|
||||
_ASN_CTFAIL(app_key, td, sptr,
|
||||
"%s: constraint failed (%s:%d)",
|
||||
td->name, __FILE__, __LINE__);
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
||||
static asn_per_constraints_t asn_PER_type_rabContextListRANAPRelocInf_ies_constr_2 GCC_NOTUSED = {
|
||||
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
|
||||
{ APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */,
|
||||
0, 0 /* No PER value map */
|
||||
};
|
||||
static asn_per_constraints_t asn_PER_memb_rabContextListRANAPRelocInf_ies_constr_2 GCC_NOTUSED = {
|
||||
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
|
||||
{ APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */,
|
||||
0, 0 /* No PER value map */
|
||||
};
|
||||
static asn_TYPE_member_t asn_MBR_rabContextListRANAPRelocInf_ies_2[] = {
|
||||
{ ATF_POINTER, 0, 0,
|
||||
-1 /* Ambiguous tag (CHOICE?) */,
|
||||
0,
|
||||
&asn_DEF_RANAP_IE,
|
||||
0, /* Defer constraints checking to the member type */
|
||||
0, /* No PER visible constraints */
|
||||
0,
|
||||
""
|
||||
},
|
||||
};
|
||||
static const ber_tlv_tag_t asn_DEF_rabContextListRANAPRelocInf_ies_tags_2[] = {
|
||||
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
|
||||
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
|
||||
};
|
||||
static asn_SET_OF_specifics_t asn_SPC_rabContextListRANAPRelocInf_ies_specs_2 = {
|
||||
sizeof(struct rabContextListRANAPRelocInf_ies),
|
||||
offsetof(struct rabContextListRANAPRelocInf_ies, _asn_ctx),
|
||||
0, /* XER encoding is XMLDelimitedItemList */
|
||||
};
|
||||
static /* Use -fall-defs-global to expose */
|
||||
asn_TYPE_descriptor_t asn_DEF_rabContextListRANAPRelocInf_ies_2 = {
|
||||
"rabContextListRANAPRelocInf-ies",
|
||||
"rabContextListRANAPRelocInf-ies",
|
||||
SEQUENCE_OF_free,
|
||||
SEQUENCE_OF_print,
|
||||
SEQUENCE_OF_constraint,
|
||||
SEQUENCE_OF_decode_ber,
|
||||
SEQUENCE_OF_encode_der,
|
||||
SEQUENCE_OF_decode_xer,
|
||||
SEQUENCE_OF_encode_xer,
|
||||
SEQUENCE_OF_decode_uper,
|
||||
SEQUENCE_OF_encode_uper,
|
||||
SEQUENCE_OF_decode_aper,
|
||||
SEQUENCE_OF_encode_aper,
|
||||
0, /* Use generic outmost tag fetcher */
|
||||
asn_DEF_rabContextListRANAPRelocInf_ies_tags_2,
|
||||
sizeof(asn_DEF_rabContextListRANAPRelocInf_ies_tags_2)
|
||||
/sizeof(asn_DEF_rabContextListRANAPRelocInf_ies_tags_2[0]) - 1, /* 1 */
|
||||
asn_DEF_rabContextListRANAPRelocInf_ies_tags_2, /* Same as above */
|
||||
sizeof(asn_DEF_rabContextListRANAPRelocInf_ies_tags_2)
|
||||
/sizeof(asn_DEF_rabContextListRANAPRelocInf_ies_tags_2[0]), /* 2 */
|
||||
&asn_PER_type_rabContextListRANAPRelocInf_ies_constr_2,
|
||||
asn_MBR_rabContextListRANAPRelocInf_ies_2,
|
||||
1, /* Single element */
|
||||
&asn_SPC_rabContextListRANAPRelocInf_ies_specs_2 /* Additional specs */
|
||||
};
|
||||
|
||||
static asn_TYPE_member_t asn_MBR_RANAP_RAB_ContextList_RANAP_RelocInf_1[] = {
|
||||
{ ATF_NOFLAGS, 0, offsetof(struct RANAP_RAB_ContextList_RANAP_RelocInf, rabContextListRANAPRelocInf_ies),
|
||||
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
|
||||
0,
|
||||
&asn_DEF_rabContextListRANAPRelocInf_ies_2,
|
||||
memb_rabContextListRANAPRelocInf_ies_constraint_1,
|
||||
&asn_PER_memb_rabContextListRANAPRelocInf_ies_constr_2,
|
||||
0,
|
||||
"rabContextListRANAPRelocInf-ies"
|
||||
},
|
||||
};
|
||||
static const ber_tlv_tag_t asn_DEF_RANAP_RAB_ContextList_RANAP_RelocInf_tags_1[] = {
|
||||
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
|
||||
};
|
||||
static const asn_TYPE_tag2member_t asn_MAP_RANAP_RAB_ContextList_RANAP_RelocInf_tag2el_1[] = {
|
||||
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* rabContextListRANAPRelocInf-ies */
|
||||
};
|
||||
static asn_SEQUENCE_specifics_t asn_SPC_RANAP_RAB_ContextList_RANAP_RelocInf_specs_1 = {
|
||||
sizeof(struct RANAP_RAB_ContextList_RANAP_RelocInf),
|
||||
offsetof(struct RANAP_RAB_ContextList_RANAP_RelocInf, _asn_ctx),
|
||||
asn_MAP_RANAP_RAB_ContextList_RANAP_RelocInf_tag2el_1,
|
||||
1, /* Count of tags in the map */
|
||||
0, 0, 0, /* Optional elements (not needed) */
|
||||
0, /* Start extensions */
|
||||
2 /* Stop extensions */
|
||||
};
|
||||
asn_TYPE_descriptor_t asn_DEF_RANAP_RAB_ContextList_RANAP_RelocInf = {
|
||||
"RANAP_RAB-ContextList-RANAP-RelocInf",
|
||||
"RANAP_RAB-ContextList-RANAP-RelocInf",
|
||||
SEQUENCE_free,
|
||||
SEQUENCE_print,
|
||||
SEQUENCE_constraint,
|
||||
SEQUENCE_decode_ber,
|
||||
SEQUENCE_encode_der,
|
||||
SEQUENCE_decode_xer,
|
||||
SEQUENCE_encode_xer,
|
||||
SEQUENCE_decode_uper,
|
||||
SEQUENCE_encode_uper,
|
||||
SEQUENCE_decode_aper,
|
||||
SEQUENCE_encode_aper,
|
||||
0, /* Use generic outmost tag fetcher */
|
||||
asn_DEF_RANAP_RAB_ContextList_RANAP_RelocInf_tags_1,
|
||||
sizeof(asn_DEF_RANAP_RAB_ContextList_RANAP_RelocInf_tags_1)
|
||||
/sizeof(asn_DEF_RANAP_RAB_ContextList_RANAP_RelocInf_tags_1[0]), /* 1 */
|
||||
asn_DEF_RANAP_RAB_ContextList_RANAP_RelocInf_tags_1, /* Same as above */
|
||||
sizeof(asn_DEF_RANAP_RAB_ContextList_RANAP_RelocInf_tags_1)
|
||||
/sizeof(asn_DEF_RANAP_RAB_ContextList_RANAP_RelocInf_tags_1[0]), /* 1 */
|
||||
0, /* No PER visible constraints */
|
||||
asn_MBR_RANAP_RAB_ContextList_RANAP_RelocInf_1,
|
||||
1, /* Elements count */
|
||||
&asn_SPC_RANAP_RAB_ContextList_RANAP_RelocInf_specs_1 /* Additional specs */
|
||||
};
|
||||
|
|
@ -0,0 +1,48 @@
|
|||
/*
|
||||
* Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
|
||||
* From ASN.1 module "RANAP-PDU"
|
||||
* found in "../../asn1/ranap/RANAP-PDU.asn"
|
||||
*/
|
||||
|
||||
#ifndef _RANAP_RAB_ContextList_RANAP_RelocInf_H_
|
||||
#define _RANAP_RAB_ContextList_RANAP_RelocInf_H_
|
||||
|
||||
|
||||
#include <asn_application.h>
|
||||
|
||||
/* Including external dependencies */
|
||||
#include "RANAP_IE.h"
|
||||
#include <asn_SEQUENCE_OF.h>
|
||||
#include <constr_SEQUENCE_OF.h>
|
||||
#include <constr_SEQUENCE.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/* RANAP_RAB-ContextList-RANAP-RelocInf */
|
||||
typedef struct RANAP_RAB_ContextList_RANAP_RelocInf {
|
||||
struct rabContextListRANAPRelocInf_ies {
|
||||
A_SEQUENCE_OF(RANAP_IE_t) list;
|
||||
|
||||
/* Context for parsing across buffer boundaries */
|
||||
asn_struct_ctx_t _asn_ctx;
|
||||
} rabContextListRANAPRelocInf_ies;
|
||||
/*
|
||||
* This type is extensible,
|
||||
* possible extensions are below.
|
||||
*/
|
||||
|
||||
/* Context for parsing across buffer boundaries */
|
||||
asn_struct_ctx_t _asn_ctx;
|
||||
} RANAP_RAB_ContextList_RANAP_RelocInf_t;
|
||||
|
||||
/* Implementation */
|
||||
extern asn_TYPE_descriptor_t asn_DEF_RANAP_RAB_ContextList_RANAP_RelocInf;
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* _RANAP_RAB_ContextList_RANAP_RelocInf_H_ */
|
||||
#include <asn_internal.h>
|
|
@ -0,0 +1,145 @@
|
|||
/*
|
||||
* Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
|
||||
* From ASN.1 module "RANAP-PDU"
|
||||
* found in "../../asn1/ranap/RANAP-PDU.asn"
|
||||
*/
|
||||
|
||||
#include "RANAP_RAB-ContextList.h"
|
||||
|
||||
static int
|
||||
memb_rabContextList_ies_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr,
|
||||
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
|
||||
size_t size;
|
||||
|
||||
if(!sptr) {
|
||||
_ASN_CTFAIL(app_key, td, sptr,
|
||||
"%s: value not given (%s:%d)",
|
||||
td->name, __FILE__, __LINE__);
|
||||
return -1;
|
||||
}
|
||||
|
||||
/* Determine the number of elements */
|
||||
size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
|
||||
|
||||
if((size <= 65535l)) {
|
||||
/* Perform validation of the inner elements */
|
||||
return td->check_constraints(td, sptr, ctfailcb, app_key);
|
||||
} else {
|
||||
_ASN_CTFAIL(app_key, td, sptr,
|
||||
"%s: constraint failed (%s:%d)",
|
||||
td->name, __FILE__, __LINE__);
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
||||
static asn_per_constraints_t asn_PER_type_rabContextList_ies_constr_2 GCC_NOTUSED = {
|
||||
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
|
||||
{ APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */,
|
||||
0, 0 /* No PER value map */
|
||||
};
|
||||
static asn_per_constraints_t asn_PER_memb_rabContextList_ies_constr_2 GCC_NOTUSED = {
|
||||
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
|
||||
{ APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */,
|
||||
0, 0 /* No PER value map */
|
||||
};
|
||||
static asn_TYPE_member_t asn_MBR_rabContextList_ies_2[] = {
|
||||
{ ATF_POINTER, 0, 0,
|
||||
-1 /* Ambiguous tag (CHOICE?) */,
|
||||
0,
|
||||
&asn_DEF_RANAP_IE,
|
||||
0, /* Defer constraints checking to the member type */
|
||||
0, /* No PER visible constraints */
|
||||
0,
|
||||
""
|
||||
},
|
||||
};
|
||||
static const ber_tlv_tag_t asn_DEF_rabContextList_ies_tags_2[] = {
|
||||
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
|
||||
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
|
||||
};
|
||||
static asn_SET_OF_specifics_t asn_SPC_rabContextList_ies_specs_2 = {
|
||||
sizeof(struct rabContextList_ies),
|
||||
offsetof(struct rabContextList_ies, _asn_ctx),
|
||||
0, /* XER encoding is XMLDelimitedItemList */
|
||||
};
|
||||
static /* Use -fall-defs-global to expose */
|
||||
asn_TYPE_descriptor_t asn_DEF_rabContextList_ies_2 = {
|
||||
"rabContextList-ies",
|
||||
"rabContextList-ies",
|
||||
SEQUENCE_OF_free,
|
||||
SEQUENCE_OF_print,
|
||||
SEQUENCE_OF_constraint,
|
||||
SEQUENCE_OF_decode_ber,
|
||||
SEQUENCE_OF_encode_der,
|
||||
SEQUENCE_OF_decode_xer,
|
||||
SEQUENCE_OF_encode_xer,
|
||||
SEQUENCE_OF_decode_uper,
|
||||
SEQUENCE_OF_encode_uper,
|
||||
SEQUENCE_OF_decode_aper,
|
||||
SEQUENCE_OF_encode_aper,
|
||||
0, /* Use generic outmost tag fetcher */
|
||||
asn_DEF_rabContextList_ies_tags_2,
|
||||
sizeof(asn_DEF_rabContextList_ies_tags_2)
|
||||
/sizeof(asn_DEF_rabContextList_ies_tags_2[0]) - 1, /* 1 */
|
||||
asn_DEF_rabContextList_ies_tags_2, /* Same as above */
|
||||
sizeof(asn_DEF_rabContextList_ies_tags_2)
|
||||
/sizeof(asn_DEF_rabContextList_ies_tags_2[0]), /* 2 */
|
||||
&asn_PER_type_rabContextList_ies_constr_2,
|
||||
asn_MBR_rabContextList_ies_2,
|
||||
1, /* Single element */
|
||||
&asn_SPC_rabContextList_ies_specs_2 /* Additional specs */
|
||||
};
|
||||
|
||||
static asn_TYPE_member_t asn_MBR_RANAP_RAB_ContextList_1[] = {
|
||||
{ ATF_NOFLAGS, 0, offsetof(struct RANAP_RAB_ContextList, rabContextList_ies),
|
||||
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
|
||||
0,
|
||||
&asn_DEF_rabContextList_ies_2,
|
||||
memb_rabContextList_ies_constraint_1,
|
||||
&asn_PER_memb_rabContextList_ies_constr_2,
|
||||
0,
|
||||
"rabContextList-ies"
|
||||
},
|
||||
};
|
||||
static const ber_tlv_tag_t asn_DEF_RANAP_RAB_ContextList_tags_1[] = {
|
||||
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
|
||||
};
|
||||
static const asn_TYPE_tag2member_t asn_MAP_RANAP_RAB_ContextList_tag2el_1[] = {
|
||||
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* rabContextList-ies */
|
||||
};
|
||||
static asn_SEQUENCE_specifics_t asn_SPC_RANAP_RAB_ContextList_specs_1 = {
|
||||
sizeof(struct RANAP_RAB_ContextList),
|
||||
offsetof(struct RANAP_RAB_ContextList, _asn_ctx),
|
||||
asn_MAP_RANAP_RAB_ContextList_tag2el_1,
|
||||
1, /* Count of tags in the map */
|
||||
0, 0, 0, /* Optional elements (not needed) */
|
||||
0, /* Start extensions */
|
||||
2 /* Stop extensions */
|
||||
};
|
||||
asn_TYPE_descriptor_t asn_DEF_RANAP_RAB_ContextList = {
|
||||
"RANAP_RAB-ContextList",
|
||||
"RANAP_RAB-ContextList",
|
||||
SEQUENCE_free,
|
||||
SEQUENCE_print,
|
||||
SEQUENCE_constraint,
|
||||
SEQUENCE_decode_ber,
|
||||
SEQUENCE_encode_der,
|
||||
SEQUENCE_decode_xer,
|
||||
SEQUENCE_encode_xer,
|
||||
SEQUENCE_decode_uper,
|
||||
SEQUENCE_encode_uper,
|
||||
SEQUENCE_decode_aper,
|
||||
SEQUENCE_encode_aper,
|
||||
0, /* Use generic outmost tag fetcher */
|
||||
asn_DEF_RANAP_RAB_ContextList_tags_1,
|
||||
sizeof(asn_DEF_RANAP_RAB_ContextList_tags_1)
|
||||
/sizeof(asn_DEF_RANAP_RAB_ContextList_tags_1[0]), /* 1 */
|
||||
asn_DEF_RANAP_RAB_ContextList_tags_1, /* Same as above */
|
||||
sizeof(asn_DEF_RANAP_RAB_ContextList_tags_1)
|
||||
/sizeof(asn_DEF_RANAP_RAB_ContextList_tags_1[0]), /* 1 */
|
||||
0, /* No PER visible constraints */
|
||||
asn_MBR_RANAP_RAB_ContextList_1,
|
||||
1, /* Elements count */
|
||||
&asn_SPC_RANAP_RAB_ContextList_specs_1 /* Additional specs */
|
||||
};
|
||||
|
|
@ -0,0 +1,48 @@
|
|||
/*
|
||||
* Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
|
||||
* From ASN.1 module "RANAP-PDU"
|
||||
* found in "../../asn1/ranap/RANAP-PDU.asn"
|
||||
*/
|
||||
|
||||
#ifndef _RANAP_RAB_ContextList_H_
|
||||
#define _RANAP_RAB_ContextList_H_
|
||||
|
||||
|
||||
#include <asn_application.h>
|
||||
|
||||
/* Including external dependencies */
|
||||
#include "RANAP_IE.h"
|
||||
#include <asn_SEQUENCE_OF.h>
|
||||
#include <constr_SEQUENCE_OF.h>
|
||||
#include <constr_SEQUENCE.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/* RANAP_RAB-ContextList */
|
||||
typedef struct RANAP_RAB_ContextList {
|
||||
struct rabContextList_ies {
|
||||
A_SEQUENCE_OF(RANAP_IE_t) list;
|
||||
|
||||
/* Context for parsing across buffer boundaries */
|
||||
asn_struct_ctx_t _asn_ctx;
|
||||
} rabContextList_ies;
|
||||
/*
|
||||
* This type is extensible,
|
||||
* possible extensions are below.
|
||||
*/
|
||||
|
||||
/* Context for parsing across buffer boundaries */
|
||||
asn_struct_ctx_t _asn_ctx;
|
||||
} RANAP_RAB_ContextList_t;
|
||||
|
||||
/* Implementation */
|
||||
extern asn_TYPE_descriptor_t asn_DEF_RANAP_RAB_ContextList;
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* _RANAP_RAB_ContextList_H_ */
|
||||
#include <asn_internal.h>
|
|
@ -0,0 +1,145 @@
|
|||
/*
|
||||
* Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
|
||||
* From ASN.1 module "RANAP-PDU"
|
||||
* found in "../../asn1/ranap/RANAP-PDU.asn"
|
||||
*/
|
||||
|
||||
#include "RANAP_RAB-DataForwardingList-SRNS-CtxReq.h"
|
||||
|
||||
static int
|
||||
memb_rabDataForwardingListSRNSCtxReq_ies_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr,
|
||||
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
|
||||
size_t size;
|
||||
|
||||
if(!sptr) {
|
||||
_ASN_CTFAIL(app_key, td, sptr,
|
||||
"%s: value not given (%s:%d)",
|
||||
td->name, __FILE__, __LINE__);
|
||||
return -1;
|
||||
}
|
||||
|
||||
/* Determine the number of elements */
|
||||
size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
|
||||
|
||||
if((size <= 65535l)) {
|
||||
/* Perform validation of the inner elements */
|
||||
return td->check_constraints(td, sptr, ctfailcb, app_key);
|
||||
} else {
|
||||
_ASN_CTFAIL(app_key, td, sptr,
|
||||
"%s: constraint failed (%s:%d)",
|
||||
td->name, __FILE__, __LINE__);
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
||||
static asn_per_constraints_t asn_PER_type_rabDataForwardingListSRNSCtxReq_ies_constr_2 GCC_NOTUSED = {
|
||||
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
|
||||
{ APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */,
|
||||
0, 0 /* No PER value map */
|
||||
};
|
||||
static asn_per_constraints_t asn_PER_memb_rabDataForwardingListSRNSCtxReq_ies_constr_2 GCC_NOTUSED = {
|
||||
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
|
||||
{ APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */,
|
||||
0, 0 /* No PER value map */
|
||||
};
|
||||
static asn_TYPE_member_t asn_MBR_rabDataForwardingListSRNSCtxReq_ies_2[] = {
|
||||
{ ATF_POINTER, 0, 0,
|
||||
-1 /* Ambiguous tag (CHOICE?) */,
|
||||
0,
|
||||
&asn_DEF_RANAP_IE,
|
||||
0, /* Defer constraints checking to the member type */
|
||||
0, /* No PER visible constraints */
|
||||
0,
|
||||
""
|
||||
},
|
||||
};
|
||||
static const ber_tlv_tag_t asn_DEF_rabDataForwardingListSRNSCtxReq_ies_tags_2[] = {
|
||||
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
|
||||
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
|
||||
};
|
||||
static asn_SET_OF_specifics_t asn_SPC_rabDataForwardingListSRNSCtxReq_ies_specs_2 = {
|
||||
sizeof(struct rabDataForwardingListSRNSCtxReq_ies),
|
||||
offsetof(struct rabDataForwardingListSRNSCtxReq_ies, _asn_ctx),
|
||||
0, /* XER encoding is XMLDelimitedItemList */
|
||||
};
|
||||
static /* Use -fall-defs-global to expose */
|
||||
asn_TYPE_descriptor_t asn_DEF_rabDataForwardingListSRNSCtxReq_ies_2 = {
|
||||
"rabDataForwardingListSRNSCtxReq-ies",
|
||||
"rabDataForwardingListSRNSCtxReq-ies",
|
||||
SEQUENCE_OF_free,
|
||||
SEQUENCE_OF_print,
|
||||
SEQUENCE_OF_constraint,
|
||||
SEQUENCE_OF_decode_ber,
|
||||
SEQUENCE_OF_encode_der,
|
||||
SEQUENCE_OF_decode_xer,
|
||||
SEQUENCE_OF_encode_xer,
|
||||
SEQUENCE_OF_decode_uper,
|
||||
SEQUENCE_OF_encode_uper,
|
||||
SEQUENCE_OF_decode_aper,
|
||||
SEQUENCE_OF_encode_aper,
|
||||
0, /* Use generic outmost tag fetcher */
|
||||
asn_DEF_rabDataForwardingListSRNSCtxReq_ies_tags_2,
|
||||
sizeof(asn_DEF_rabDataForwardingListSRNSCtxReq_ies_tags_2)
|
||||
/sizeof(asn_DEF_rabDataForwardingListSRNSCtxReq_ies_tags_2[0]) - 1, /* 1 */
|
||||
asn_DEF_rabDataForwardingListSRNSCtxReq_ies_tags_2, /* Same as above */
|
||||
sizeof(asn_DEF_rabDataForwardingListSRNSCtxReq_ies_tags_2)
|
||||
/sizeof(asn_DEF_rabDataForwardingListSRNSCtxReq_ies_tags_2[0]), /* 2 */
|
||||
&asn_PER_type_rabDataForwardingListSRNSCtxReq_ies_constr_2,
|
||||
asn_MBR_rabDataForwardingListSRNSCtxReq_ies_2,
|
||||
1, /* Single element */
|
||||
&asn_SPC_rabDataForwardingListSRNSCtxReq_ies_specs_2 /* Additional specs */
|
||||
};
|
||||
|
||||
static asn_TYPE_member_t asn_MBR_RANAP_RAB_DataForwardingList_SRNS_CtxReq_1[] = {
|
||||
{ ATF_NOFLAGS, 0, offsetof(struct RANAP_RAB_DataForwardingList_SRNS_CtxReq, rabDataForwardingListSRNSCtxReq_ies),
|
||||
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
|
||||
0,
|
||||
&asn_DEF_rabDataForwardingListSRNSCtxReq_ies_2,
|
||||
memb_rabDataForwardingListSRNSCtxReq_ies_constraint_1,
|
||||
&asn_PER_memb_rabDataForwardingListSRNSCtxReq_ies_constr_2,
|
||||
0,
|
||||
"rabDataForwardingListSRNSCtxReq-ies"
|
||||
},
|
||||
};
|
||||
static const ber_tlv_tag_t asn_DEF_RANAP_RAB_DataForwardingList_SRNS_CtxReq_tags_1[] = {
|
||||
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
|
||||
};
|
||||
static const asn_TYPE_tag2member_t asn_MAP_RANAP_RAB_DataForwardingList_SRNS_CtxReq_tag2el_1[] = {
|
||||
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* rabDataForwardingListSRNSCtxReq-ies */
|
||||
};
|
||||
static asn_SEQUENCE_specifics_t asn_SPC_RANAP_RAB_DataForwardingList_SRNS_CtxReq_specs_1 = {
|
||||
sizeof(struct RANAP_RAB_DataForwardingList_SRNS_CtxReq),
|
||||
offsetof(struct RANAP_RAB_DataForwardingList_SRNS_CtxReq, _asn_ctx),
|
||||
asn_MAP_RANAP_RAB_DataForwardingList_SRNS_CtxReq_tag2el_1,
|
||||
1, /* Count of tags in the map */
|
||||
0, 0, 0, /* Optional elements (not needed) */
|
||||
0, /* Start extensions */
|
||||
2 /* Stop extensions */
|
||||
};
|
||||
asn_TYPE_descriptor_t asn_DEF_RANAP_RAB_DataForwardingList_SRNS_CtxReq = {
|
||||
"RANAP_RAB-DataForwardingList-SRNS-CtxReq",
|
||||
"RANAP_RAB-DataForwardingList-SRNS-CtxReq",
|
||||
SEQUENCE_free,
|
||||
SEQUENCE_print,
|
||||
SEQUENCE_constraint,
|
||||
SEQUENCE_decode_ber,
|
||||
SEQUENCE_encode_der,
|
||||
SEQUENCE_decode_xer,
|
||||
SEQUENCE_encode_xer,
|
||||
SEQUENCE_decode_uper,
|
||||
SEQUENCE_encode_uper,
|
||||
SEQUENCE_decode_aper,
|
||||
SEQUENCE_encode_aper,
|
||||
0, /* Use generic outmost tag fetcher */
|
||||
asn_DEF_RANAP_RAB_DataForwardingList_SRNS_CtxReq_tags_1,
|
||||
sizeof(asn_DEF_RANAP_RAB_DataForwardingList_SRNS_CtxReq_tags_1)
|
||||
/sizeof(asn_DEF_RANAP_RAB_DataForwardingList_SRNS_CtxReq_tags_1[0]), /* 1 */
|
||||
asn_DEF_RANAP_RAB_DataForwardingList_SRNS_CtxReq_tags_1, /* Same as above */
|
||||
sizeof(asn_DEF_RANAP_RAB_DataForwardingList_SRNS_CtxReq_tags_1)
|
||||
/sizeof(asn_DEF_RANAP_RAB_DataForwardingList_SRNS_CtxReq_tags_1[0]), /* 1 */
|
||||
0, /* No PER visible constraints */
|
||||
asn_MBR_RANAP_RAB_DataForwardingList_SRNS_CtxReq_1,
|
||||
1, /* Elements count */
|
||||
&asn_SPC_RANAP_RAB_DataForwardingList_SRNS_CtxReq_specs_1 /* Additional specs */
|
||||
};
|
||||
|
|
@ -0,0 +1,48 @@
|
|||
/*
|
||||
* Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
|
||||
* From ASN.1 module "RANAP-PDU"
|
||||
* found in "../../asn1/ranap/RANAP-PDU.asn"
|
||||
*/
|
||||
|
||||
#ifndef _RANAP_RAB_DataForwardingList_SRNS_CtxReq_H_
|
||||
#define _RANAP_RAB_DataForwardingList_SRNS_CtxReq_H_
|
||||
|
||||
|
||||
#include <asn_application.h>
|
||||
|
||||
/* Including external dependencies */
|
||||
#include "RANAP_IE.h"
|
||||
#include <asn_SEQUENCE_OF.h>
|
||||
#include <constr_SEQUENCE_OF.h>
|
||||
#include <constr_SEQUENCE.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/* RANAP_RAB-DataForwardingList-SRNS-CtxReq */
|
||||
typedef struct RANAP_RAB_DataForwardingList_SRNS_CtxReq {
|
||||
struct rabDataForwardingListSRNSCtxReq_ies {
|
||||
A_SEQUENCE_OF(RANAP_IE_t) list;
|
||||
|
||||
/* Context for parsing across buffer boundaries */
|
||||
asn_struct_ctx_t _asn_ctx;
|
||||
} rabDataForwardingListSRNSCtxReq_ies;
|
||||
/*
|
||||
* This type is extensible,
|
||||
* possible extensions are below.
|
||||
*/
|
||||
|
||||
/* Context for parsing across buffer boundaries */
|
||||
asn_struct_ctx_t _asn_ctx;
|
||||
} RANAP_RAB_DataForwardingList_SRNS_CtxReq_t;
|
||||
|
||||
/* Implementation */
|
||||
extern asn_TYPE_descriptor_t asn_DEF_RANAP_RAB_DataForwardingList_SRNS_CtxReq;
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* _RANAP_RAB_DataForwardingList_SRNS_CtxReq_H_ */
|
||||
#include <asn_internal.h>
|
|
@ -0,0 +1,145 @@
|
|||
/*
|
||||
* Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
|
||||
* From ASN.1 module "RANAP-PDU"
|
||||
* found in "../../asn1/ranap/RANAP-PDU.asn"
|
||||
*/
|
||||
|
||||
#include "RANAP_RAB-DataForwardingList.h"
|
||||
|
||||
static int
|
||||
memb_rabDataForwardingList_ies_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr,
|
||||
asn_app_constraint_failed_f *ctfailcb, void *app_key) {
|
||||
size_t size;
|
||||
|
||||
if(!sptr) {
|
||||
_ASN_CTFAIL(app_key, td, sptr,
|
||||
"%s: value not given (%s:%d)",
|
||||
td->name, __FILE__, __LINE__);
|
||||
return -1;
|
||||
}
|
||||
|
||||
/* Determine the number of elements */
|
||||
size = _A_CSEQUENCE_FROM_VOID(sptr)->count;
|
||||
|
||||
if((size <= 65535l)) {
|
||||
/* Perform validation of the inner elements */
|
||||
return td->check_constraints(td, sptr, ctfailcb, app_key);
|
||||
} else {
|
||||
_ASN_CTFAIL(app_key, td, sptr,
|
||||
"%s: constraint failed (%s:%d)",
|
||||
td->name, __FILE__, __LINE__);
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
||||
static asn_per_constraints_t asn_PER_type_rabDataForwardingList_ies_constr_2 GCC_NOTUSED = {
|
||||
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
|
||||
{ APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */,
|
||||
0, 0 /* No PER value map */
|
||||
};
|
||||
static asn_per_constraints_t asn_PER_memb_rabDataForwardingList_ies_constr_2 GCC_NOTUSED = {
|
||||
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
|
||||
{ APC_CONSTRAINED, 16, 16, 0l, 65535l } /* (SIZE(0..65535)) */,
|
||||
0, 0 /* No PER value map */
|
||||
};
|
||||
static asn_TYPE_member_t asn_MBR_rabDataForwardingList_ies_2[] = {
|
||||
{ ATF_POINTER, 0, 0,
|
||||
-1 /* Ambiguous tag (CHOICE?) */,
|
||||
0,
|
||||
&asn_DEF_RANAP_IE,
|
||||
0, /* Defer constraints checking to the member type */
|
||||
0, /* No PER visible constraints */
|
||||
0,
|
||||
""
|
||||
},
|
||||
};
|
||||
static const ber_tlv_tag_t asn_DEF_rabDataForwardingList_ies_tags_2[] = {
|
||||
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
|
||||
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
|
||||
};
|
||||
static asn_SET_OF_specifics_t asn_SPC_rabDataForwardingList_ies_specs_2 = {
|
||||
sizeof(struct rabDataForwardingList_ies),
|
||||
offsetof(struct rabDataForwardingList_ies, _asn_ctx),
|
||||
0, /* XER encoding is XMLDelimitedItemList */
|
||||
};
|
||||
static /* Use -fall-defs-global to expose */
|
||||
asn_TYPE_descriptor_t asn_DEF_rabDataForwardingList_ies_2 = {
|
||||
"rabDataForwardingList-ies",
|
||||
"rabDataForwardingList-ies",
|
||||
SEQUENCE_OF_free,
|
||||
SEQUENCE_OF_print,
|
||||
SEQUENCE_OF_constraint,
|
||||
SEQUENCE_OF_decode_ber,
|
||||
SEQUENCE_OF_encode_der,
|
||||
SEQUENCE_OF_decode_xer,
|
||||
SEQUENCE_OF_encode_xer,
|
||||
SEQUENCE_OF_decode_uper,
|
||||
SEQUENCE_OF_encode_uper,
|
||||
SEQUENCE_OF_decode_aper,
|
||||
SEQUENCE_OF_encode_aper,
|
||||
0, /* Use generic outmost tag fetcher */
|
||||
asn_DEF_rabDataForwardingList_ies_tags_2,
|
||||
sizeof(asn_DEF_rabDataForwardingList_ies_tags_2)
|
||||
/sizeof(asn_DEF_rabDataForwardingList_ies_tags_2[0]) - 1, /* 1 */
|
||||
asn_DEF_rabDataForwardingList_ies_tags_2, /* Same as above */
|
||||
sizeof(asn_DEF_rabDataForwardingList_ies_tags_2)
|
||||
/sizeof(asn_DEF_rabDataForwardingList_ies_tags_2[0]), /* 2 */
|
||||
&asn_PER_type_rabDataForwardingList_ies_constr_2,
|
||||
asn_MBR_rabDataForwardingList_ies_2,
|
||||
1, /* Single element */
|
||||
&asn_SPC_rabDataForwardingList_ies_specs_2 /* Additional specs */
|
||||
};
|
||||
|
||||
static asn_TYPE_member_t asn_MBR_RANAP_RAB_DataForwardingList_1[] = {
|
||||
{ ATF_NOFLAGS, 0, offsetof(struct RANAP_RAB_DataForwardingList, rabDataForwardingList_ies),
|
||||
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
|
||||
0,
|
||||
&asn_DEF_rabDataForwardingList_ies_2,
|
||||
memb_rabDataForwardingList_ies_constraint_1,
|
||||
&asn_PER_memb_rabDataForwardingList_ies_constr_2,
|
||||
0,
|
||||
"rabDataForwardingList-ies"
|
||||
},
|
||||
};
|
||||
static const ber_tlv_tag_t asn_DEF_RANAP_RAB_DataForwardingList_tags_1[] = {
|
||||
(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
|
||||
};
|
||||
static const asn_TYPE_tag2member_t asn_MAP_RANAP_RAB_DataForwardingList_tag2el_1[] = {
|
||||
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* rabDataForwardingList-ies */
|
||||
};
|
||||
static asn_SEQUENCE_specifics_t asn_SPC_RANAP_RAB_DataForwardingList_specs_1 = {
|
||||
sizeof(struct RANAP_RAB_DataForwardingList),
|
||||
offsetof(struct RANAP_RAB_DataForwardingList, _asn_ctx),
|
||||
asn_MAP_RANAP_RAB_DataForwardingList_tag2el_1,
|
||||
1, /* Count of tags in the map */
|
||||
0, 0, 0, /* Optional elements (not needed) */
|
||||
0, /* Start extensions */
|
||||
2 /* Stop extensions */
|
||||
};
|
||||
asn_TYPE_descriptor_t asn_DEF_RANAP_RAB_DataForwardingList = {
|
||||
"RANAP_RAB-DataForwardingList",
|
||||
"RANAP_RAB-DataForwardingList",
|
||||
SEQUENCE_free,
|
||||
SEQUENCE_print,
|
||||
SEQUENCE_constraint,
|
||||
SEQUENCE_decode_ber,
|
||||
SEQUENCE_encode_der,
|
||||
SEQUENCE_decode_xer,
|
||||
SEQUENCE_encode_xer,
|
||||
SEQUENCE_decode_uper,
|
||||
SEQUENCE_encode_uper,
|
||||
SEQUENCE_decode_aper,
|
||||
SEQUENCE_encode_aper,
|
||||
0, /* Use generic outmost tag fetcher */
|
||||
asn_DEF_RANAP_RAB_DataForwardingList_tags_1,
|
||||
sizeof(asn_DEF_RANAP_RAB_DataForwardingList_tags_1)
|
||||
/sizeof(asn_DEF_RANAP_RAB_DataForwardingList_tags_1[0]), /* 1 */
|
||||
asn_DEF_RANAP_RAB_DataForwardingList_tags_1, /* Same as above */
|
||||
sizeof(asn_DEF_RANAP_RAB_DataForwardingList_tags_1)
|
||||
/sizeof(asn_DEF_RANAP_RAB_DataForwardingList_tags_1[0]), /* 1 */
|
||||
0, /* No PER visible constraints */
|
||||
asn_MBR_RANAP_RAB_DataForwardingList_1,
|
||||
1, /* Elements count */
|
||||
&asn_SPC_RANAP_RAB_DataForwardingList_specs_1 /* Additional specs */
|
||||
};
|
||||
|
|
@ -0,0 +1,48 @@
|
|||
/*
|
||||
* Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
|
||||
* From ASN.1 module "RANAP-PDU"
|
||||
* found in "../../asn1/ranap/RANAP-PDU.asn"
|
||||
*/
|
||||
|
||||
#ifndef _RANAP_RAB_DataForwardingList_H_
|
||||
#define _RANAP_RAB_DataForwardingList_H_
|
||||
|
||||
|
||||
#include <asn_application.h>
|
||||
|
||||
/* Including external dependencies */
|
||||
#include "RANAP_IE.h"
|
||||
#include <asn_SEQUENCE_OF.h>
|
||||
#include <constr_SEQUENCE_OF.h>
|
||||
#include <constr_SEQUENCE.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/* RANAP_RAB-DataForwardingList */
|
||||
typedef struct RANAP_RAB_DataForwardingList {
|
||||
struct rabDataForwardingList_ies {
|
||||
A_SEQUENCE_OF(RANAP_IE_t) list;
|
||||
|
||||
/* Context for parsing across buffer boundaries */
|
||||
asn_struct_ctx_t _asn_ctx;
|
||||
} rabDataForwardingList_ies;
|
||||
/*
|
||||
* This type is extensible,
|
||||
* possible extensions are below.
|
||||
*/
|
||||
|
||||
/* Context for parsing across buffer boundaries */
|
||||
asn_struct_ctx_t _asn_ctx;
|
||||
} RANAP_RAB_DataForwardingList_t;
|
||||
|
||||
/* Implementation */
|
||||
extern asn_TYPE_descriptor_t asn_DEF_RANAP_RAB_DataForwardingList;
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* _RANAP_RAB_DataForwardingList_H_ */
|
||||
#include <asn_internal.h>
|
|
@ -0,0 +1,145 @@
|
|||
/*
|
||||
* |