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
Harald Welte 2015-09-10 21:18:16 +02:00
parent 68fcff219f
commit ac9c024432
53 changed files with 4963 additions and 3 deletions

View File

@ -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

View File

@ -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

View File

@ -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 */
};

View File

@ -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>

View File

@ -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 */
};

View File

@ -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>

View File

@ -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 */
};

View File

@ -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>

View File

@ -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 */
};

View File

@ -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>

View File

@ -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 */
};

View File

@ -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>

View File

@ -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 */
};

View File

@ -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>

View File

@ -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 */
};

View File

@ -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>

View File

@ -0,0 +1,145 @@
/*
*