initial
This commit is contained in:
commit
e0d160cbc7
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,519 @@
|
||||||
|
/*******************************************************************************
|
||||||
|
* This file had been created by asn1tostruct.py script v0.5osmo1
|
||||||
|
* Please do not modify this file but regenerate it via script.
|
||||||
|
* Created on: 2022-11-14 12:36:56
|
||||||
|
* from ['../../../src/osmo-iuh/asn1/hnbap/HNBAP-PDU-Contents.asn']
|
||||||
|
******************************************************************************/
|
||||||
|
#include <osmocom/hnbap/hnbap_common.h>
|
||||||
|
#include <osmocom/hnbap/hnbap_ies_defs.h>
|
||||||
|
|
||||||
|
int hnbap_encode_hnbregisterrequesties(
|
||||||
|
HNBAP_HNBRegisterRequest_t *hnbRegisterRequest,
|
||||||
|
HNBAP_HNBRegisterRequestIEs_t *hnbRegisterRequestIEs) {
|
||||||
|
|
||||||
|
HNBAP_IE_t *ie;
|
||||||
|
|
||||||
|
if ((ie = hnbap_new_ie(HNBAP_ProtocolIE_ID_id_HNB_Identity,
|
||||||
|
HNBAP_Criticality_reject,
|
||||||
|
&asn_DEF_HNBAP_HNB_Identity,
|
||||||
|
&hnbRegisterRequestIEs->hnB_Identity)) == NULL) {
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
ASN_SEQUENCE_ADD(&hnbRegisterRequest->hnbRegisterRequest_ies.list, ie);
|
||||||
|
|
||||||
|
if ((ie = hnbap_new_ie(HNBAP_ProtocolIE_ID_id_HNB_Location_Information,
|
||||||
|
HNBAP_Criticality_reject,
|
||||||
|
&asn_DEF_HNBAP_HNB_Location_Information,
|
||||||
|
&hnbRegisterRequestIEs->hnB_Location_Information)) == NULL) {
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
ASN_SEQUENCE_ADD(&hnbRegisterRequest->hnbRegisterRequest_ies.list, ie);
|
||||||
|
|
||||||
|
if ((ie = hnbap_new_ie(HNBAP_ProtocolIE_ID_id_PLMNidentity,
|
||||||
|
HNBAP_Criticality_reject,
|
||||||
|
&asn_DEF_HNBAP_PLMNidentity,
|
||||||
|
&hnbRegisterRequestIEs->plmNidentity)) == NULL) {
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
ASN_SEQUENCE_ADD(&hnbRegisterRequest->hnbRegisterRequest_ies.list, ie);
|
||||||
|
|
||||||
|
if ((ie = hnbap_new_ie(HNBAP_ProtocolIE_ID_id_CellIdentity,
|
||||||
|
HNBAP_Criticality_reject,
|
||||||
|
&asn_DEF_HNBAP_CellIdentity,
|
||||||
|
&hnbRegisterRequestIEs->cellIdentity)) == NULL) {
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
ASN_SEQUENCE_ADD(&hnbRegisterRequest->hnbRegisterRequest_ies.list, ie);
|
||||||
|
|
||||||
|
if ((ie = hnbap_new_ie(HNBAP_ProtocolIE_ID_id_LAC,
|
||||||
|
HNBAP_Criticality_reject,
|
||||||
|
&asn_DEF_HNBAP_LAC,
|
||||||
|
&hnbRegisterRequestIEs->lac)) == NULL) {
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
ASN_SEQUENCE_ADD(&hnbRegisterRequest->hnbRegisterRequest_ies.list, ie);
|
||||||
|
|
||||||
|
if ((ie = hnbap_new_ie(HNBAP_ProtocolIE_ID_id_RAC,
|
||||||
|
HNBAP_Criticality_reject,
|
||||||
|
&asn_DEF_HNBAP_RAC,
|
||||||
|
&hnbRegisterRequestIEs->rac)) == NULL) {
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
ASN_SEQUENCE_ADD(&hnbRegisterRequest->hnbRegisterRequest_ies.list, ie);
|
||||||
|
|
||||||
|
if ((ie = hnbap_new_ie(HNBAP_ProtocolIE_ID_id_SAC,
|
||||||
|
HNBAP_Criticality_reject,
|
||||||
|
&asn_DEF_HNBAP_SAC,
|
||||||
|
&hnbRegisterRequestIEs->sac)) == NULL) {
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
ASN_SEQUENCE_ADD(&hnbRegisterRequest->hnbRegisterRequest_ies.list, ie);
|
||||||
|
|
||||||
|
/* Optional field */
|
||||||
|
if ((hnbRegisterRequestIEs->presenceMask & HNBREGISTERREQUESTIES_HNBAP_CSG_ID_PRESENT)
|
||||||
|
== HNBREGISTERREQUESTIES_HNBAP_CSG_ID_PRESENT) {
|
||||||
|
if ((ie = hnbap_new_ie(HNBAP_ProtocolIE_ID_id_CSG_ID,
|
||||||
|
HNBAP_Criticality_reject,
|
||||||
|
&asn_DEF_HNBAP_CSG_ID,
|
||||||
|
&hnbRegisterRequestIEs->csg_id)) == NULL) {
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
ASN_SEQUENCE_ADD(&hnbRegisterRequest->hnbRegisterRequest_ies.list, ie);
|
||||||
|
}
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
int hnbap_encode_hnbregisteraccepties(
|
||||||
|
HNBAP_HNBRegisterAccept_t *hnbRegisterAccept,
|
||||||
|
HNBAP_HNBRegisterAcceptIEs_t *hnbRegisterAcceptIEs) {
|
||||||
|
|
||||||
|
HNBAP_IE_t *ie;
|
||||||
|
|
||||||
|
if ((ie = hnbap_new_ie(HNBAP_ProtocolIE_ID_id_RNC_ID,
|
||||||
|
HNBAP_Criticality_reject,
|
||||||
|
&asn_DEF_HNBAP_RNC_ID,
|
||||||
|
&hnbRegisterAcceptIEs->rnc_id)) == NULL) {
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
ASN_SEQUENCE_ADD(&hnbRegisterAccept->hnbRegisterAccept_ies.list, ie);
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
int hnbap_encode_hnbregisterrejecties(
|
||||||
|
HNBAP_HNBRegisterReject_t *hnbRegisterReject,
|
||||||
|
HNBAP_HNBRegisterRejectIEs_t *hnbRegisterRejectIEs) {
|
||||||
|
|
||||||
|
HNBAP_IE_t *ie;
|
||||||
|
|
||||||
|
if ((ie = hnbap_new_ie(HNBAP_ProtocolIE_ID_id_Cause,
|
||||||
|
HNBAP_Criticality_ignore,
|
||||||
|
&asn_DEF_HNBAP_Cause,
|
||||||
|
&hnbRegisterRejectIEs->cause)) == NULL) {
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
ASN_SEQUENCE_ADD(&hnbRegisterReject->hnbRegisterReject_ies.list, ie);
|
||||||
|
|
||||||
|
/* Optional field */
|
||||||
|
if ((hnbRegisterRejectIEs->presenceMask & HNBREGISTERREJECTIES_HNBAP_CRITICALITYDIAGNOSTICS_PRESENT)
|
||||||
|
== HNBREGISTERREJECTIES_HNBAP_CRITICALITYDIAGNOSTICS_PRESENT) {
|
||||||
|
if ((ie = hnbap_new_ie(HNBAP_ProtocolIE_ID_id_CriticalityDiagnostics,
|
||||||
|
HNBAP_Criticality_ignore,
|
||||||
|
&asn_DEF_HNBAP_CriticalityDiagnostics,
|
||||||
|
&hnbRegisterRejectIEs->criticalityDiagnostics)) == NULL) {
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
ASN_SEQUENCE_ADD(&hnbRegisterReject->hnbRegisterReject_ies.list, ie);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Conditional field */
|
||||||
|
if ((hnbRegisterRejectIEs->presenceMask & HNBREGISTERREJECTIES_HNBAP_BACKOFFTIMER_PRESENT)
|
||||||
|
== HNBREGISTERREJECTIES_HNBAP_BACKOFFTIMER_PRESENT) {
|
||||||
|
if ((ie = hnbap_new_ie(HNBAP_ProtocolIE_ID_id_BackoffTimer,
|
||||||
|
HNBAP_Criticality_reject,
|
||||||
|
&asn_DEF_HNBAP_BackoffTimer,
|
||||||
|
&hnbRegisterRejectIEs->backoffTimer)) == NULL) {
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
ASN_SEQUENCE_ADD(&hnbRegisterReject->hnbRegisterReject_ies.list, ie);
|
||||||
|
}
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
int hnbap_encode_hnbde_registeries(
|
||||||
|
HNBAP_HNBDe_Register_t *hnbDe_Register,
|
||||||
|
HNBAP_HNBDe_RegisterIEs_t *hnbDe_RegisterIEs) {
|
||||||
|
|
||||||
|
HNBAP_IE_t *ie;
|
||||||
|
|
||||||
|
if ((ie = hnbap_new_ie(HNBAP_ProtocolIE_ID_id_Cause,
|
||||||
|
HNBAP_Criticality_ignore,
|
||||||
|
&asn_DEF_HNBAP_Cause,
|
||||||
|
&hnbDe_RegisterIEs->cause)) == NULL) {
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
ASN_SEQUENCE_ADD(&hnbDe_Register->hnbDe_Register_ies.list, ie);
|
||||||
|
|
||||||
|
/* Conditional field */
|
||||||
|
if ((hnbDe_RegisterIEs->presenceMask & HNBDE_REGISTERIES_HNBAP_BACKOFFTIMER_PRESENT)
|
||||||
|
== HNBDE_REGISTERIES_HNBAP_BACKOFFTIMER_PRESENT) {
|
||||||
|
if ((ie = hnbap_new_ie(HNBAP_ProtocolIE_ID_id_BackoffTimer,
|
||||||
|
HNBAP_Criticality_reject,
|
||||||
|
&asn_DEF_HNBAP_BackoffTimer,
|
||||||
|
&hnbDe_RegisterIEs->backoffTimer)) == NULL) {
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
ASN_SEQUENCE_ADD(&hnbDe_Register->hnbDe_Register_ies.list, ie);
|
||||||
|
}
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
int hnbap_encode_ueregisterrequesties(
|
||||||
|
HNBAP_UERegisterRequest_t *ueRegisterRequest,
|
||||||
|
HNBAP_UERegisterRequestIEs_t *ueRegisterRequestIEs) {
|
||||||
|
|
||||||
|
HNBAP_IE_t *ie;
|
||||||
|
|
||||||
|
if ((ie = hnbap_new_ie(HNBAP_ProtocolIE_ID_id_UE_Identity,
|
||||||
|
HNBAP_Criticality_reject,
|
||||||
|
&asn_DEF_HNBAP_UE_Identity,
|
||||||
|
&ueRegisterRequestIEs->uE_Identity)) == NULL) {
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
ASN_SEQUENCE_ADD(&ueRegisterRequest->ueRegisterRequest_ies.list, ie);
|
||||||
|
|
||||||
|
if ((ie = hnbap_new_ie(HNBAP_ProtocolIE_ID_id_Registration_Cause,
|
||||||
|
HNBAP_Criticality_ignore,
|
||||||
|
&asn_DEF_HNBAP_Registration_Cause,
|
||||||
|
&ueRegisterRequestIEs->registration_Cause)) == NULL) {
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
ASN_SEQUENCE_ADD(&ueRegisterRequest->ueRegisterRequest_ies.list, ie);
|
||||||
|
|
||||||
|
if ((ie = hnbap_new_ie(HNBAP_ProtocolIE_ID_id_UE_Capabilities,
|
||||||
|
HNBAP_Criticality_reject,
|
||||||
|
&asn_DEF_HNBAP_UE_Capabilities,
|
||||||
|
&ueRegisterRequestIEs->uE_Capabilities)) == NULL) {
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
ASN_SEQUENCE_ADD(&ueRegisterRequest->ueRegisterRequest_ies.list, ie);
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
int hnbap_encode_ueregisteraccepties(
|
||||||
|
HNBAP_UERegisterAccept_t *ueRegisterAccept,
|
||||||
|
HNBAP_UERegisterAcceptIEs_t *ueRegisterAcceptIEs) {
|
||||||
|
|
||||||
|
HNBAP_IE_t *ie;
|
||||||
|
|
||||||
|
if ((ie = hnbap_new_ie(HNBAP_ProtocolIE_ID_id_UE_Identity,
|
||||||
|
HNBAP_Criticality_reject,
|
||||||
|
&asn_DEF_HNBAP_UE_Identity,
|
||||||
|
&ueRegisterAcceptIEs->uE_Identity)) == NULL) {
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
ASN_SEQUENCE_ADD(&ueRegisterAccept->ueRegisterAccept_ies.list, ie);
|
||||||
|
|
||||||
|
if ((ie = hnbap_new_ie(HNBAP_ProtocolIE_ID_id_Context_ID,
|
||||||
|
HNBAP_Criticality_reject,
|
||||||
|
&asn_DEF_HNBAP_Context_ID,
|
||||||
|
&ueRegisterAcceptIEs->context_ID)) == NULL) {
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
ASN_SEQUENCE_ADD(&ueRegisterAccept->ueRegisterAccept_ies.list, ie);
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
int hnbap_encode_ueregisterrejecties(
|
||||||
|
HNBAP_UERegisterReject_t *ueRegisterReject,
|
||||||
|
HNBAP_UERegisterRejectIEs_t *ueRegisterRejectIEs) {
|
||||||
|
|
||||||
|
HNBAP_IE_t *ie;
|
||||||
|
|
||||||
|
if ((ie = hnbap_new_ie(HNBAP_ProtocolIE_ID_id_UE_Identity,
|
||||||
|
HNBAP_Criticality_reject,
|
||||||
|
&asn_DEF_HNBAP_UE_Identity,
|
||||||
|
&ueRegisterRejectIEs->uE_Identity)) == NULL) {
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
ASN_SEQUENCE_ADD(&ueRegisterReject->ueRegisterReject_ies.list, ie);
|
||||||
|
|
||||||
|
if ((ie = hnbap_new_ie(HNBAP_ProtocolIE_ID_id_Cause,
|
||||||
|
HNBAP_Criticality_ignore,
|
||||||
|
&asn_DEF_HNBAP_Cause,
|
||||||
|
&ueRegisterRejectIEs->cause)) == NULL) {
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
ASN_SEQUENCE_ADD(&ueRegisterReject->ueRegisterReject_ies.list, ie);
|
||||||
|
|
||||||
|
/* Optional field */
|
||||||
|
if ((ueRegisterRejectIEs->presenceMask & UEREGISTERREJECTIES_HNBAP_CRITICALITYDIAGNOSTICS_PRESENT)
|
||||||
|
== UEREGISTERREJECTIES_HNBAP_CRITICALITYDIAGNOSTICS_PRESENT) {
|
||||||
|
if ((ie = hnbap_new_ie(HNBAP_ProtocolIE_ID_id_CriticalityDiagnostics,
|
||||||
|
HNBAP_Criticality_ignore,
|
||||||
|
&asn_DEF_HNBAP_CriticalityDiagnostics,
|
||||||
|
&ueRegisterRejectIEs->criticalityDiagnostics)) == NULL) {
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
ASN_SEQUENCE_ADD(&ueRegisterReject->ueRegisterReject_ies.list, ie);
|
||||||
|
}
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
int hnbap_encode_uede_registeries(
|
||||||
|
HNBAP_UEDe_Register_t *ueDe_Register,
|
||||||
|
HNBAP_UEDe_RegisterIEs_t *ueDe_RegisterIEs) {
|
||||||
|
|
||||||
|
HNBAP_IE_t *ie;
|
||||||
|
|
||||||
|
if ((ie = hnbap_new_ie(HNBAP_ProtocolIE_ID_id_Context_ID,
|
||||||
|
HNBAP_Criticality_reject,
|
||||||
|
&asn_DEF_HNBAP_Context_ID,
|
||||||
|
&ueDe_RegisterIEs->context_ID)) == NULL) {
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
ASN_SEQUENCE_ADD(&ueDe_Register->ueDe_Register_ies.list, ie);
|
||||||
|
|
||||||
|
if ((ie = hnbap_new_ie(HNBAP_ProtocolIE_ID_id_Cause,
|
||||||
|
HNBAP_Criticality_ignore,
|
||||||
|
&asn_DEF_HNBAP_Cause,
|
||||||
|
&ueDe_RegisterIEs->cause)) == NULL) {
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
ASN_SEQUENCE_ADD(&ueDe_Register->ueDe_Register_ies.list, ie);
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
int hnbap_encode_csgmembershipupdateies(
|
||||||
|
HNBAP_CSGMembershipUpdate_t *csgMembershipUpdate,
|
||||||
|
HNBAP_CSGMembershipUpdateIEs_t *csgMembershipUpdateIEs) {
|
||||||
|
|
||||||
|
HNBAP_IE_t *ie;
|
||||||
|
|
||||||
|
if ((ie = hnbap_new_ie(HNBAP_ProtocolIE_ID_id_Context_ID,
|
||||||
|
HNBAP_Criticality_reject,
|
||||||
|
&asn_DEF_HNBAP_Context_ID,
|
||||||
|
&csgMembershipUpdateIEs->context_ID)) == NULL) {
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
ASN_SEQUENCE_ADD(&csgMembershipUpdate->csgMembershipUpdate_ies.list, ie);
|
||||||
|
|
||||||
|
if ((ie = hnbap_new_ie(HNBAP_ProtocolIE_ID_id_CSGMembershipStatus,
|
||||||
|
HNBAP_Criticality_reject,
|
||||||
|
&asn_DEF_HNBAP_CSGMembershipStatus,
|
||||||
|
&csgMembershipUpdateIEs->csgMembershipStatus)) == NULL) {
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
ASN_SEQUENCE_ADD(&csgMembershipUpdate->csgMembershipUpdate_ies.list, ie);
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
int hnbap_encode_tnlupdaterequesties(
|
||||||
|
HNBAP_TNLUpdateRequest_t *tnlUpdateRequest,
|
||||||
|
HNBAP_TNLUpdateRequestIEs_t *tnlUpdateRequestIEs) {
|
||||||
|
|
||||||
|
HNBAP_IE_t *ie;
|
||||||
|
|
||||||
|
if ((ie = hnbap_new_ie(HNBAP_ProtocolIE_ID_id_Context_ID,
|
||||||
|
HNBAP_Criticality_reject,
|
||||||
|
&asn_DEF_HNBAP_Context_ID,
|
||||||
|
&tnlUpdateRequestIEs->context_ID)) == NULL) {
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
ASN_SEQUENCE_ADD(&tnlUpdateRequest->tnlUpdateRequest_ies.list, ie);
|
||||||
|
|
||||||
|
if ((ie = hnbap_new_ie(HNBAP_ProtocolIE_ID_id_RABList,
|
||||||
|
HNBAP_Criticality_reject,
|
||||||
|
&asn_DEF_HNBAP_RABList,
|
||||||
|
&tnlUpdateRequestIEs->rabList)) == NULL) {
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
ASN_SEQUENCE_ADD(&tnlUpdateRequest->tnlUpdateRequest_ies.list, ie);
|
||||||
|
|
||||||
|
if ((ie = hnbap_new_ie(HNBAP_ProtocolIE_ID_id_Update_cause,
|
||||||
|
HNBAP_Criticality_reject,
|
||||||
|
&asn_DEF_HNBAP_Update_cause,
|
||||||
|
&tnlUpdateRequestIEs->update_cause)) == NULL) {
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
ASN_SEQUENCE_ADD(&tnlUpdateRequest->tnlUpdateRequest_ies.list, ie);
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
int hnbap_encode_tnlupdateresponseies(
|
||||||
|
HNBAP_TNLUpdateResponse_t *tnlUpdateResponse,
|
||||||
|
HNBAP_TNLUpdateResponseIEs_t *tnlUpdateResponseIEs) {
|
||||||
|
|
||||||
|
HNBAP_IE_t *ie;
|
||||||
|
|
||||||
|
if ((ie = hnbap_new_ie(HNBAP_ProtocolIE_ID_id_Context_ID,
|
||||||
|
HNBAP_Criticality_reject,
|
||||||
|
&asn_DEF_HNBAP_Context_ID,
|
||||||
|
&tnlUpdateResponseIEs->context_ID)) == NULL) {
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
ASN_SEQUENCE_ADD(&tnlUpdateResponse->tnlUpdateResponse_ies.list, ie);
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
int hnbap_encode_tnlupdatefailureies(
|
||||||
|
HNBAP_TNLUpdateFailure_t *tnlUpdateFailure,
|
||||||
|
HNBAP_TNLUpdateFailureIEs_t *tnlUpdateFailureIEs) {
|
||||||
|
|
||||||
|
HNBAP_IE_t *ie;
|
||||||
|
|
||||||
|
if ((ie = hnbap_new_ie(HNBAP_ProtocolIE_ID_id_Context_ID,
|
||||||
|
HNBAP_Criticality_reject,
|
||||||
|
&asn_DEF_HNBAP_Context_ID,
|
||||||
|
&tnlUpdateFailureIEs->context_ID)) == NULL) {
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
ASN_SEQUENCE_ADD(&tnlUpdateFailure->tnlUpdateFailure_ies.list, ie);
|
||||||
|
|
||||||
|
if ((ie = hnbap_new_ie(HNBAP_ProtocolIE_ID_id_Cause,
|
||||||
|
HNBAP_Criticality_ignore,
|
||||||
|
&asn_DEF_HNBAP_Cause,
|
||||||
|
&tnlUpdateFailureIEs->cause)) == NULL) {
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
ASN_SEQUENCE_ADD(&tnlUpdateFailure->tnlUpdateFailure_ies.list, ie);
|
||||||
|
|
||||||
|
/* Optional field */
|
||||||
|
if ((tnlUpdateFailureIEs->presenceMask & TNLUPDATEFAILUREIES_HNBAP_CRITICALITYDIAGNOSTICS_PRESENT)
|
||||||
|
== TNLUPDATEFAILUREIES_HNBAP_CRITICALITYDIAGNOSTICS_PRESENT) {
|
||||||
|
if ((ie = hnbap_new_ie(HNBAP_ProtocolIE_ID_id_CriticalityDiagnostics,
|
||||||
|
HNBAP_Criticality_ignore,
|
||||||
|
&asn_DEF_HNBAP_CriticalityDiagnostics,
|
||||||
|
&tnlUpdateFailureIEs->criticalityDiagnostics)) == NULL) {
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
ASN_SEQUENCE_ADD(&tnlUpdateFailure->tnlUpdateFailure_ies.list, ie);
|
||||||
|
}
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
int hnbap_encode_hnbconfigtransferrequesties(
|
||||||
|
HNBAP_HNBConfigTransferRequest_t *hnbConfigTransferRequest,
|
||||||
|
HNBAP_HNBConfigTransferRequestIEs_t *hnbConfigTransferRequestIEs) {
|
||||||
|
|
||||||
|
HNBAP_IE_t *ie;
|
||||||
|
|
||||||
|
if ((ie = hnbap_new_ie(HNBAP_ProtocolIE_ID_id_NeighbourInfoRequestList,
|
||||||
|
HNBAP_Criticality_reject,
|
||||||
|
&asn_DEF_HNBAP_NeighbourInfoRequestList,
|
||||||
|
&hnbConfigTransferRequestIEs->neighbourInfoRequestList)) == NULL) {
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
ASN_SEQUENCE_ADD(&hnbConfigTransferRequest->hnbConfigTransferRequest_ies.list, ie);
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
int hnbap_encode_hnbconfigtransferresponseies(
|
||||||
|
HNBAP_HNBConfigTransferResponse_t *hnbConfigTransferResponse,
|
||||||
|
HNBAP_HNBConfigTransferResponseIEs_t *hnbConfigTransferResponseIEs) {
|
||||||
|
|
||||||
|
HNBAP_IE_t *ie;
|
||||||
|
|
||||||
|
if ((ie = hnbap_new_ie(HNBAP_ProtocolIE_ID_id_NeighbourInfoList,
|
||||||
|
HNBAP_Criticality_reject,
|
||||||
|
&asn_DEF_HNBAP_NeighbourInfoList,
|
||||||
|
&hnbConfigTransferResponseIEs->neighbourInfoList)) == NULL) {
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
ASN_SEQUENCE_ADD(&hnbConfigTransferResponse->hnbConfigTransferResponse_ies.list, ie);
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
int hnbap_encode_relocationcompleteies(
|
||||||
|
HNBAP_RelocationComplete_t *relocationComplete,
|
||||||
|
HNBAP_RelocationCompleteIEs_t *relocationCompleteIEs) {
|
||||||
|
|
||||||
|
HNBAP_IE_t *ie;
|
||||||
|
|
||||||
|
if ((ie = hnbap_new_ie(HNBAP_ProtocolIE_ID_id_Context_ID,
|
||||||
|
HNBAP_Criticality_ignore,
|
||||||
|
&asn_DEF_HNBAP_Context_ID,
|
||||||
|
&relocationCompleteIEs->context_ID)) == NULL) {
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
ASN_SEQUENCE_ADD(&relocationComplete->relocationComplete_ies.list, ie);
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
int hnbap_encode_errorindicationies(
|
||||||
|
HNBAP_ErrorIndication_t *errorIndication,
|
||||||
|
HNBAP_ErrorIndicationIEs_t *errorIndicationIEs) {
|
||||||
|
|
||||||
|
HNBAP_IE_t *ie;
|
||||||
|
|
||||||
|
if ((ie = hnbap_new_ie(HNBAP_ProtocolIE_ID_id_Cause,
|
||||||
|
HNBAP_Criticality_ignore,
|
||||||
|
&asn_DEF_HNBAP_Cause,
|
||||||
|
&errorIndicationIEs->cause)) == NULL) {
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
ASN_SEQUENCE_ADD(&errorIndication->errorIndication_ies.list, ie);
|
||||||
|
|
||||||
|
/* Optional field */
|
||||||
|
if ((errorIndicationIEs->presenceMask & ERRORINDICATIONIES_HNBAP_CRITICALITYDIAGNOSTICS_PRESENT)
|
||||||
|
== ERRORINDICATIONIES_HNBAP_CRITICALITYDIAGNOSTICS_PRESENT) {
|
||||||
|
if ((ie = hnbap_new_ie(HNBAP_ProtocolIE_ID_id_CriticalityDiagnostics,
|
||||||
|
HNBAP_Criticality_ignore,
|
||||||
|
&asn_DEF_HNBAP_CriticalityDiagnostics,
|
||||||
|
&errorIndicationIEs->criticalityDiagnostics)) == NULL) {
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
ASN_SEQUENCE_ADD(&errorIndication->errorIndication_ies.list, ie);
|
||||||
|
}
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
int hnbap_encode_u_rntiqueryrequesties(
|
||||||
|
HNBAP_U_RNTIQueryRequest_t *u_RNTIQueryRequest,
|
||||||
|
HNBAP_U_RNTIQueryRequestIEs_t *u_RNTIQueryRequestIEs) {
|
||||||
|
|
||||||
|
HNBAP_IE_t *ie;
|
||||||
|
|
||||||
|
if ((ie = hnbap_new_ie(HNBAP_ProtocolIE_ID_id_U_RNTI,
|
||||||
|
HNBAP_Criticality_reject,
|
||||||
|
&asn_DEF_HNBAP_U_RNTI,
|
||||||
|
&u_RNTIQueryRequestIEs->u_rnti)) == NULL) {
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
ASN_SEQUENCE_ADD(&u_RNTIQueryRequest->u_RNTIQueryRequest_ies.list, ie);
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
int hnbap_encode_u_rntiqueryresponseies(
|
||||||
|
HNBAP_U_RNTIQueryResponse_t *u_RNTIQueryResponse,
|
||||||
|
HNBAP_U_RNTIQueryResponseIEs_t *u_RNTIQueryResponseIEs) {
|
||||||
|
|
||||||
|
HNBAP_IE_t *ie;
|
||||||
|
|
||||||
|
if ((ie = hnbap_new_ie(HNBAP_ProtocolIE_ID_id_HNB_GWResponse,
|
||||||
|
HNBAP_Criticality_reject,
|
||||||
|
&asn_DEF_HNBAP_HNB_GWResponse,
|
||||||
|
&u_RNTIQueryResponseIEs->hnB_GWResponse)) == NULL) {
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
ASN_SEQUENCE_ADD(&u_RNTIQueryResponse->u_RNTIQueryResponse_ies.list, ie);
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
|
@ -0,0 +1,494 @@
|
||||||
|
/*******************************************************************************
|
||||||
|
* This file had been created by asn1tostruct.py script v0.5osmo1
|
||||||
|
* Please do not modify this file but regenerate it via script.
|
||||||
|
* Created on: 2022-11-14 12:36:56
|
||||||
|
* from ['../../../src/osmo-iuh/asn1/hnbap/HNBAP-PDU-Contents.asn']
|
||||||
|
******************************************************************************/
|
||||||
|
#include <osmocom/hnbap/hnbap_common.h>
|
||||||
|
|
||||||
|
#ifndef HNBAP_IES_DEFS_H_
|
||||||
|
#define HNBAP_IES_DEFS_H_
|
||||||
|
|
||||||
|
#define HNBREGISTERREQUESTIES_HNBAP_CSG_ID_PRESENT (1 << 0)
|
||||||
|
|
||||||
|
typedef struct HNBAP_HNBRegisterRequestIEs_s {
|
||||||
|
uint16_t presenceMask;
|
||||||
|
HNBAP_HNB_Identity_t hnB_Identity;
|
||||||
|
HNBAP_HNB_Location_Information_t hnB_Location_Information;
|
||||||
|
HNBAP_PLMNidentity_t plmNidentity;
|
||||||
|
HNBAP_CellIdentity_t cellIdentity;
|
||||||
|
HNBAP_LAC_t lac;
|
||||||
|
HNBAP_RAC_t rac;
|
||||||
|
HNBAP_SAC_t sac;
|
||||||
|
HNBAP_CSG_ID_t csg_id; ///< Optional field
|
||||||
|
} HNBAP_HNBRegisterRequestIEs_t;
|
||||||
|
|
||||||
|
typedef struct HNBAP_HNBRegisterAcceptIEs_s {
|
||||||
|
HNBAP_RNC_ID_t rnc_id;
|
||||||
|
} HNBAP_HNBRegisterAcceptIEs_t;
|
||||||
|
|
||||||
|
#define HNBREGISTERREJECTIES_HNBAP_CRITICALITYDIAGNOSTICS_PRESENT (1 << 0)
|
||||||
|
#define HNBREGISTERREJECTIES_HNBAP_BACKOFFTIMER_PRESENT (1 << 1)
|
||||||
|
|
||||||
|
typedef struct HNBAP_HNBRegisterRejectIEs_s {
|
||||||
|
uint16_t presenceMask;
|
||||||
|
HNBAP_Cause_t cause;
|
||||||
|
HNBAP_CriticalityDiagnostics_t criticalityDiagnostics; ///< Optional field
|
||||||
|
HNBAP_BackoffTimer_t backoffTimer; ///< Conditional field
|
||||||
|
} HNBAP_HNBRegisterRejectIEs_t;
|
||||||
|
|
||||||
|
#define HNBDE_REGISTERIES_HNBAP_BACKOFFTIMER_PRESENT (1 << 0)
|
||||||
|
|
||||||
|
typedef struct HNBAP_HNBDe_RegisterIEs_s {
|
||||||
|
uint16_t presenceMask;
|
||||||
|
HNBAP_Cause_t cause;
|
||||||
|
HNBAP_BackoffTimer_t backoffTimer; ///< Conditional field
|
||||||
|
} HNBAP_HNBDe_RegisterIEs_t;
|
||||||
|
|
||||||
|
typedef struct HNBAP_UERegisterRequestIEs_s {
|
||||||
|
HNBAP_UE_Identity_t uE_Identity;
|
||||||
|
HNBAP_Registration_Cause_t registration_Cause;
|
||||||
|
HNBAP_UE_Capabilities_t uE_Capabilities;
|
||||||
|
} HNBAP_UERegisterRequestIEs_t;
|
||||||
|
|
||||||
|
typedef struct HNBAP_UERegisterAcceptIEs_s {
|
||||||
|
HNBAP_UE_Identity_t uE_Identity;
|
||||||
|
HNBAP_Context_ID_t context_ID;
|
||||||
|
} HNBAP_UERegisterAcceptIEs_t;
|
||||||
|
|
||||||
|
#define UEREGISTERREJECTIES_HNBAP_CRITICALITYDIAGNOSTICS_PRESENT (1 << 0)
|
||||||
|
|
||||||
|
typedef struct HNBAP_UERegisterRejectIEs_s {
|
||||||
|
uint16_t presenceMask;
|
||||||
|
HNBAP_UE_Identity_t uE_Identity;
|
||||||
|
HNBAP_Cause_t cause;
|
||||||
|
HNBAP_CriticalityDiagnostics_t criticalityDiagnostics; ///< Optional field
|
||||||
|
} HNBAP_UERegisterRejectIEs_t;
|
||||||
|
|
||||||
|
typedef struct HNBAP_UEDe_RegisterIEs_s {
|
||||||
|
HNBAP_Context_ID_t context_ID;
|
||||||
|
HNBAP_Cause_t cause;
|
||||||
|
} HNBAP_UEDe_RegisterIEs_t;
|
||||||
|
|
||||||
|
typedef struct HNBAP_CSGMembershipUpdateIEs_s {
|
||||||
|
HNBAP_Context_ID_t context_ID;
|
||||||
|
HNBAP_CSGMembershipStatus_t csgMembershipStatus;
|
||||||
|
} HNBAP_CSGMembershipUpdateIEs_t;
|
||||||
|
|
||||||
|
typedef struct HNBAP_TNLUpdateRequestIEs_s {
|
||||||
|
HNBAP_Context_ID_t context_ID;
|
||||||
|
HNBAP_RABList_t rabList;
|
||||||
|
HNBAP_Update_cause_t update_cause;
|
||||||
|
} HNBAP_TNLUpdateRequestIEs_t;
|
||||||
|
|
||||||
|
typedef struct HNBAP_TNLUpdateResponseIEs_s {
|
||||||
|
HNBAP_Context_ID_t context_ID;
|
||||||
|
} HNBAP_TNLUpdateResponseIEs_t;
|
||||||
|
|
||||||
|
#define TNLUPDATEFAILUREIES_HNBAP_CRITICALITYDIAGNOSTICS_PRESENT (1 << 0)
|
||||||
|
|
||||||
|
typedef struct HNBAP_TNLUpdateFailureIEs_s {
|
||||||
|
uint16_t presenceMask;
|
||||||
|
HNBAP_Context_ID_t context_ID;
|
||||||
|
HNBAP_Cause_t cause;
|
||||||
|
HNBAP_CriticalityDiagnostics_t criticalityDiagnostics; ///< Optional field
|
||||||
|
} HNBAP_TNLUpdateFailureIEs_t;
|
||||||
|
|
||||||
|
typedef struct HNBAP_HNBConfigTransferRequestIEs_s {
|
||||||
|
HNBAP_NeighbourInfoRequestList_t neighbourInfoRequestList;
|
||||||
|
} HNBAP_HNBConfigTransferRequestIEs_t;
|
||||||
|
|
||||||
|
typedef struct HNBAP_HNBConfigTransferResponseIEs_s {
|
||||||
|
HNBAP_NeighbourInfoList_t neighbourInfoList;
|
||||||
|
} HNBAP_HNBConfigTransferResponseIEs_t;
|
||||||
|
|
||||||
|
typedef struct HNBAP_RelocationCompleteIEs_s {
|
||||||
|
HNBAP_Context_ID_t context_ID;
|
||||||
|
} HNBAP_RelocationCompleteIEs_t;
|
||||||
|
|
||||||
|
#define ERRORINDICATIONIES_HNBAP_CRITICALITYDIAGNOSTICS_PRESENT (1 << 0)
|
||||||
|
|
||||||
|
typedef struct HNBAP_ErrorIndicationIEs_s {
|
||||||
|
uint16_t presenceMask;
|
||||||
|
HNBAP_Cause_t cause;
|
||||||
|
HNBAP_CriticalityDiagnostics_t criticalityDiagnostics; ///< Optional field
|
||||||
|
} HNBAP_ErrorIndicationIEs_t;
|
||||||
|
|
||||||
|
typedef struct HNBAP_U_RNTIQueryRequestIEs_s {
|
||||||
|
HNBAP_U_RNTI_t u_rnti;
|
||||||
|
} HNBAP_U_RNTIQueryRequestIEs_t;
|
||||||
|
|
||||||
|
typedef struct HNBAP_U_RNTIQueryResponseIEs_s {
|
||||||
|
HNBAP_HNB_GWResponse_t hnB_GWResponse;
|
||||||
|
} HNBAP_U_RNTIQueryResponseIEs_t;
|
||||||
|
|
||||||
|
typedef struct hnbap_message_s {
|
||||||
|
uint8_t procedureCode;
|
||||||
|
uint8_t criticality;
|
||||||
|
uint8_t direction;
|
||||||
|
union {
|
||||||
|
HNBAP_CSGMembershipUpdateIEs_t csgMembershipUpdateIEs;
|
||||||
|
HNBAP_ErrorIndicationIEs_t errorIndicationIEs;
|
||||||
|
HNBAP_HNBConfigTransferRequestIEs_t hnbConfigTransferRequestIEs;
|
||||||
|
HNBAP_HNBConfigTransferResponseIEs_t hnbConfigTransferResponseIEs;
|
||||||
|
HNBAP_HNBDe_RegisterIEs_t hnbDe_RegisterIEs;
|
||||||
|
HNBAP_HNBRegisterAcceptIEs_t hnbRegisterAcceptIEs;
|
||||||
|
HNBAP_HNBRegisterRejectIEs_t hnbRegisterRejectIEs;
|
||||||
|
HNBAP_HNBRegisterRequestIEs_t hnbRegisterRequestIEs;
|
||||||
|
HNBAP_RelocationCompleteIEs_t relocationCompleteIEs;
|
||||||
|
HNBAP_TNLUpdateFailureIEs_t tnlUpdateFailureIEs;
|
||||||
|
HNBAP_TNLUpdateRequestIEs_t tnlUpdateRequestIEs;
|
||||||
|
HNBAP_TNLUpdateResponseIEs_t tnlUpdateResponseIEs;
|
||||||
|
HNBAP_U_RNTIQueryRequestIEs_t u_RNTIQueryRequestIEs;
|
||||||
|
HNBAP_U_RNTIQueryResponseIEs_t u_RNTIQueryResponseIEs;
|
||||||
|
HNBAP_UEDe_RegisterIEs_t ueDe_RegisterIEs;
|
||||||
|
HNBAP_UERegisterAcceptIEs_t ueRegisterAcceptIEs;
|
||||||
|
HNBAP_UERegisterRejectIEs_t ueRegisterRejectIEs;
|
||||||
|
HNBAP_UERegisterRequestIEs_t ueRegisterRequestIEs;
|
||||||
|
} msg;
|
||||||
|
} hnbap_message;
|
||||||
|
|
||||||
|
/** \brief Decode function for HNBRegisterRequestIEs ies.
|
||||||
|
* \param hnbRegisterRequestIEs Pointer to ASN1 structure in which data will be stored
|
||||||
|
* \param any_p Pointer to the ANY value to decode.
|
||||||
|
**/
|
||||||
|
int hnbap_decode_hnbregisterrequesties(
|
||||||
|
HNBAP_HNBRegisterRequestIEs_t *hnbRegisterRequestIEs,
|
||||||
|
ANY_t *any_p);
|
||||||
|
|
||||||
|
/** \brief Encode function for HNBRegisterRequestIEs ies.
|
||||||
|
* \param hnbaP_HNBRegisterRequest Pointer to the ASN1 structure.
|
||||||
|
* \param hnbRegisterRequestIEs Pointer to the IES structure.
|
||||||
|
**/
|
||||||
|
int hnbap_encode_hnbregisterrequesties(
|
||||||
|
HNBAP_HNBRegisterRequest_t *hnbaP_HNBRegisterRequest,
|
||||||
|
HNBAP_HNBRegisterRequestIEs_t *hnbRegisterRequestIEs);
|
||||||
|
|
||||||
|
/** \brief Decode function for HNBRegisterAcceptIEs ies.
|
||||||
|
* \param hnbRegisterAcceptIEs Pointer to ASN1 structure in which data will be stored
|
||||||
|
* \param any_p Pointer to the ANY value to decode.
|
||||||
|
**/
|
||||||
|
int hnbap_decode_hnbregisteraccepties(
|
||||||
|
HNBAP_HNBRegisterAcceptIEs_t *hnbRegisterAcceptIEs,
|
||||||
|
ANY_t *any_p);
|
||||||
|
|
||||||
|
/** \brief Encode function for HNBRegisterAcceptIEs ies.
|
||||||
|
* \param hnbaP_HNBRegisterAccept Pointer to the ASN1 structure.
|
||||||
|
* \param hnbRegisterAcceptIEs Pointer to the IES structure.
|
||||||
|
**/
|
||||||
|
int hnbap_encode_hnbregisteraccepties(
|
||||||
|
HNBAP_HNBRegisterAccept_t *hnbaP_HNBRegisterAccept,
|
||||||
|
HNBAP_HNBRegisterAcceptIEs_t *hnbRegisterAcceptIEs);
|
||||||
|
|
||||||
|
/** \brief Decode function for HNBRegisterRejectIEs ies.
|
||||||
|
* \param hnbRegisterRejectIEs Pointer to ASN1 structure in which data will be stored
|
||||||
|
* \param any_p Pointer to the ANY value to decode.
|
||||||
|
**/
|
||||||
|
int hnbap_decode_hnbregisterrejecties(
|
||||||
|
HNBAP_HNBRegisterRejectIEs_t *hnbRegisterRejectIEs,
|
||||||
|
ANY_t *any_p);
|
||||||
|
|
||||||
|
/** \brief Encode function for HNBRegisterRejectIEs ies.
|
||||||
|
* \param hnbaP_HNBRegisterReject Pointer to the ASN1 structure.
|
||||||
|
* \param hnbRegisterRejectIEs Pointer to the IES structure.
|
||||||
|
**/
|
||||||
|
int hnbap_encode_hnbregisterrejecties(
|
||||||
|
HNBAP_HNBRegisterReject_t *hnbaP_HNBRegisterReject,
|
||||||
|
HNBAP_HNBRegisterRejectIEs_t *hnbRegisterRejectIEs);
|
||||||
|
|
||||||
|
/** \brief Decode function for HNBDe-RegisterIEs ies.
|
||||||
|
* \param hnbDe_RegisterIEs Pointer to ASN1 structure in which data will be stored
|
||||||
|
* \param any_p Pointer to the ANY value to decode.
|
||||||
|
**/
|
||||||
|
int hnbap_decode_hnbde_registeries(
|
||||||
|
HNBAP_HNBDe_RegisterIEs_t *hnbDe_RegisterIEs,
|
||||||
|
ANY_t *any_p);
|
||||||
|
|
||||||
|
/** \brief Encode function for HNBDe-RegisterIEs ies.
|
||||||
|
* \param hnbaP_HNBDe_Register Pointer to the ASN1 structure.
|
||||||
|
* \param hnbDe_RegisterIEs Pointer to the IES structure.
|
||||||
|
**/
|
||||||
|
int hnbap_encode_hnbde_registeries(
|
||||||
|
HNBAP_HNBDe_Register_t *hnbaP_HNBDe_Register,
|
||||||
|
HNBAP_HNBDe_RegisterIEs_t *hnbDe_RegisterIEs);
|
||||||
|
|
||||||
|
/** \brief Decode function for UERegisterRequestIEs ies.
|
||||||
|
* \param ueRegisterRequestIEs Pointer to ASN1 structure in which data will be stored
|
||||||
|
* \param any_p Pointer to the ANY value to decode.
|
||||||
|
**/
|
||||||
|
int hnbap_decode_ueregisterrequesties(
|
||||||
|
HNBAP_UERegisterRequestIEs_t *ueRegisterRequestIEs,
|
||||||
|
ANY_t *any_p);
|
||||||
|
|
||||||
|
/** \brief Encode function for UERegisterRequestIEs ies.
|
||||||
|
* \param hnbaP_UERegisterRequest Pointer to the ASN1 structure.
|
||||||
|
* \param ueRegisterRequestIEs Pointer to the IES structure.
|
||||||
|
**/
|
||||||
|
int hnbap_encode_ueregisterrequesties(
|
||||||
|
HNBAP_UERegisterRequest_t *hnbaP_UERegisterRequest,
|
||||||
|
HNBAP_UERegisterRequestIEs_t *ueRegisterRequestIEs);
|
||||||
|
|
||||||
|
/** \brief Decode function for UERegisterAcceptIEs ies.
|
||||||
|
* \param ueRegisterAcceptIEs Pointer to ASN1 structure in which data will be stored
|
||||||
|
* \param any_p Pointer to the ANY value to decode.
|
||||||
|
**/
|
||||||
|
int hnbap_decode_ueregisteraccepties(
|
||||||
|
HNBAP_UERegisterAcceptIEs_t *ueRegisterAcceptIEs,
|
||||||
|
ANY_t *any_p);
|
||||||
|
|
||||||
|
/** \brief Encode function for UERegisterAcceptIEs ies.
|
||||||
|
* \param hnbaP_UERegisterAccept Pointer to the ASN1 structure.
|
||||||
|
* \param ueRegisterAcceptIEs Pointer to the IES structure.
|
||||||
|
**/
|
||||||
|
int hnbap_encode_ueregisteraccepties(
|
||||||
|
HNBAP_UERegisterAccept_t *hnbaP_UERegisterAccept,
|
||||||
|
HNBAP_UERegisterAcceptIEs_t *ueRegisterAcceptIEs);
|
||||||
|
|
||||||
|
/** \brief Decode function for UERegisterRejectIEs ies.
|
||||||
|
* \param ueRegisterRejectIEs Pointer to ASN1 structure in which data will be stored
|
||||||
|
* \param any_p Pointer to the ANY value to decode.
|
||||||
|
**/
|
||||||
|
int hnbap_decode_ueregisterrejecties(
|
||||||
|
HNBAP_UERegisterRejectIEs_t *ueRegisterRejectIEs,
|
||||||
|
ANY_t *any_p);
|
||||||
|
|
||||||
|
/** \brief Encode function for UERegisterRejectIEs ies.
|
||||||
|
* \param hnbaP_UERegisterReject Pointer to the ASN1 structure.
|
||||||
|
* \param ueRegisterRejectIEs Pointer to the IES structure.
|
||||||
|
**/
|
||||||
|
int hnbap_encode_ueregisterrejecties(
|
||||||
|
HNBAP_UERegisterReject_t *hnbaP_UERegisterReject,
|
||||||
|
HNBAP_UERegisterRejectIEs_t *ueRegisterRejectIEs);
|
||||||
|
|
||||||
|
/** \brief Decode function for UEDe-RegisterIEs ies.
|
||||||
|
* \param ueDe_RegisterIEs Pointer to ASN1 structure in which data will be stored
|
||||||
|
* \param any_p Pointer to the ANY value to decode.
|
||||||
|
**/
|
||||||
|
int hnbap_decode_uede_registeries(
|
||||||
|
HNBAP_UEDe_RegisterIEs_t *ueDe_RegisterIEs,
|
||||||
|
ANY_t *any_p);
|
||||||
|
|
||||||
|
/** \brief Encode function for UEDe-RegisterIEs ies.
|
||||||
|
* \param hnbaP_UEDe_Register Pointer to the ASN1 structure.
|
||||||
|
* \param ueDe_RegisterIEs Pointer to the IES structure.
|
||||||
|
**/
|
||||||
|
int hnbap_encode_uede_registeries(
|
||||||
|
HNBAP_UEDe_Register_t *hnbaP_UEDe_Register,
|
||||||
|
HNBAP_UEDe_RegisterIEs_t *ueDe_RegisterIEs);
|
||||||
|
|
||||||
|
/** \brief Decode function for CSGMembershipUpdateIEs ies.
|
||||||
|
* \param csgMembershipUpdateIEs Pointer to ASN1 structure in which data will be stored
|
||||||
|
* \param any_p Pointer to the ANY value to decode.
|
||||||
|
**/
|
||||||
|
int hnbap_decode_csgmembershipupdateies(
|
||||||
|
HNBAP_CSGMembershipUpdateIEs_t *csgMembershipUpdateIEs,
|
||||||
|
ANY_t *any_p);
|
||||||
|
|
||||||
|
/** \brief Encode function for CSGMembershipUpdateIEs ies.
|
||||||
|
* \param hnbaP_CSGMembershipUpdate Pointer to the ASN1 structure.
|
||||||
|
* \param csgMembershipUpdateIEs Pointer to the IES structure.
|
||||||
|
**/
|
||||||
|
int hnbap_encode_csgmembershipupdateies(
|
||||||
|
HNBAP_CSGMembershipUpdate_t *hnbaP_CSGMembershipUpdate,
|
||||||
|
HNBAP_CSGMembershipUpdateIEs_t *csgMembershipUpdateIEs);
|
||||||
|
|
||||||
|
/** \brief Decode function for TNLUpdateRequestIEs ies.
|
||||||
|
* \param tnlUpdateRequestIEs Pointer to ASN1 structure in which data will be stored
|
||||||
|
* \param any_p Pointer to the ANY value to decode.
|
||||||
|
**/
|
||||||
|
int hnbap_decode_tnlupdaterequesties(
|
||||||
|
HNBAP_TNLUpdateRequestIEs_t *tnlUpdateRequestIEs,
|
||||||
|
ANY_t *any_p);
|
||||||
|
|
||||||
|
/** \brief Encode function for TNLUpdateRequestIEs ies.
|
||||||
|
* \param hnbaP_TNLUpdateRequest Pointer to the ASN1 structure.
|
||||||
|
* \param tnlUpdateRequestIEs Pointer to the IES structure.
|
||||||
|
**/
|
||||||
|
int hnbap_encode_tnlupdaterequesties(
|
||||||
|
HNBAP_TNLUpdateRequest_t *hnbaP_TNLUpdateRequest,
|
||||||
|
HNBAP_TNLUpdateRequestIEs_t *tnlUpdateRequestIEs);
|
||||||
|
|
||||||
|
/** \brief Decode function for TNLUpdateResponseIEs ies.
|
||||||
|
* \param tnlUpdateResponseIEs Pointer to ASN1 structure in which data will be stored
|
||||||
|
* \param any_p Pointer to the ANY value to decode.
|
||||||
|
**/
|
||||||
|
int hnbap_decode_tnlupdateresponseies(
|
||||||
|
HNBAP_TNLUpdateResponseIEs_t *tnlUpdateResponseIEs,
|
||||||
|
ANY_t *any_p);
|
||||||
|
|
||||||
|
/** \brief Encode function for TNLUpdateResponseIEs ies.
|
||||||
|
* \param hnbaP_TNLUpdateResponse Pointer to the ASN1 structure.
|
||||||
|
* \param tnlUpdateResponseIEs Pointer to the IES structure.
|
||||||
|
**/
|
||||||
|
int hnbap_encode_tnlupdateresponseies(
|
||||||
|
HNBAP_TNLUpdateResponse_t *hnbaP_TNLUpdateResponse,
|
||||||
|
HNBAP_TNLUpdateResponseIEs_t *tnlUpdateResponseIEs);
|
||||||
|
|
||||||
|
/** \brief Decode function for TNLUpdateFailureIEs ies.
|
||||||
|
* \param tnlUpdateFailureIEs Pointer to ASN1 structure in which data will be stored
|
||||||
|
* \param any_p Pointer to the ANY value to decode.
|
||||||
|
**/
|
||||||
|
int hnbap_decode_tnlupdatefailureies(
|
||||||
|
HNBAP_TNLUpdateFailureIEs_t *tnlUpdateFailureIEs,
|
||||||
|
ANY_t *any_p);
|
||||||
|
|
||||||
|
/** \brief Encode function for TNLUpdateFailureIEs ies.
|
||||||
|
* \param hnbaP_TNLUpdateFailure Pointer to the ASN1 structure.
|
||||||
|
* \param tnlUpdateFailureIEs Pointer to the IES structure.
|
||||||
|
**/
|
||||||
|
int hnbap_encode_tnlupdatefailureies(
|
||||||
|
HNBAP_TNLUpdateFailure_t *hnbaP_TNLUpdateFailure,
|
||||||
|
HNBAP_TNLUpdateFailureIEs_t *tnlUpdateFailureIEs);
|
||||||
|
|
||||||
|
/** \brief Decode function for HNBConfigTransferRequestIEs ies.
|
||||||
|
* \param hnbConfigTransferRequestIEs Pointer to ASN1 structure in which data will be stored
|
||||||
|
* \param any_p Pointer to the ANY value to decode.
|
||||||
|
**/
|
||||||
|
int hnbap_decode_hnbconfigtransferrequesties(
|
||||||
|
HNBAP_HNBConfigTransferRequestIEs_t *hnbConfigTransferRequestIEs,
|
||||||
|
ANY_t *any_p);
|
||||||
|
|
||||||
|
/** \brief Encode function for HNBConfigTransferRequestIEs ies.
|
||||||
|
* \param hnbaP_HNBConfigTransferRequest Pointer to the ASN1 structure.
|
||||||
|
* \param hnbConfigTransferRequestIEs Pointer to the IES structure.
|
||||||
|
**/
|
||||||
|
int hnbap_encode_hnbconfigtransferrequesties(
|
||||||
|
HNBAP_HNBConfigTransferRequest_t *hnbaP_HNBConfigTransferRequest,
|
||||||
|
HNBAP_HNBConfigTransferRequestIEs_t *hnbConfigTransferRequestIEs);
|
||||||
|
|
||||||
|
/** \brief Decode function for HNBConfigTransferResponseIEs ies.
|
||||||
|
* \param hnbConfigTransferResponseIEs Pointer to ASN1 structure in which data will be stored
|
||||||
|
* \param any_p Pointer to the ANY value to decode.
|
||||||
|
**/
|
||||||
|
int hnbap_decode_hnbconfigtransferresponseies(
|
||||||
|
HNBAP_HNBConfigTransferResponseIEs_t *hnbConfigTransferResponseIEs,
|
||||||
|
ANY_t *any_p);
|
||||||
|
|
||||||
|
/** \brief Encode function for HNBConfigTransferResponseIEs ies.
|
||||||
|
* \param hnbaP_HNBConfigTransferResponse Pointer to the ASN1 structure.
|
||||||
|
* \param hnbConfigTransferResponseIEs Pointer to the IES structure.
|
||||||
|
**/
|
||||||
|
int hnbap_encode_hnbconfigtransferresponseies(
|
||||||
|
HNBAP_HNBConfigTransferResponse_t *hnbaP_HNBConfigTransferResponse,
|
||||||
|
HNBAP_HNBConfigTransferResponseIEs_t *hnbConfigTransferResponseIEs);
|
||||||
|
|
||||||
|
/** \brief Decode function for RelocationCompleteIEs ies.
|
||||||
|
* \param relocationCompleteIEs Pointer to ASN1 structure in which data will be stored
|
||||||
|
* \param any_p Pointer to the ANY value to decode.
|
||||||
|
**/
|
||||||
|
int hnbap_decode_relocationcompleteies(
|
||||||
|
HNBAP_RelocationCompleteIEs_t *relocationCompleteIEs,
|
||||||
|
ANY_t *any_p);
|
||||||
|
|
||||||
|
/** \brief Encode function for RelocationCompleteIEs ies.
|
||||||
|
* \param hnbaP_RelocationComplete Pointer to the ASN1 structure.
|
||||||
|
* \param relocationCompleteIEs Pointer to the IES structure.
|
||||||
|
**/
|
||||||
|
int hnbap_encode_relocationcompleteies(
|
||||||
|
HNBAP_RelocationComplete_t *hnbaP_RelocationComplete,
|
||||||
|
HNBAP_RelocationCompleteIEs_t *relocationCompleteIEs);
|
||||||
|
|
||||||
|
/** \brief Decode function for ErrorIndicationIEs ies.
|
||||||
|
* \param errorIndicationIEs Pointer to ASN1 structure in which data will be stored
|
||||||
|
* \param any_p Pointer to the ANY value to decode.
|
||||||
|
**/
|
||||||
|
int hnbap_decode_errorindicationies(
|
||||||
|
HNBAP_ErrorIndicationIEs_t *errorIndicationIEs,
|
||||||
|
ANY_t *any_p);
|
||||||
|
|
||||||
|
/** \brief Encode function for ErrorIndicationIEs ies.
|
||||||
|
* \param hnbaP_ErrorIndication Pointer to the ASN1 structure.
|
||||||
|
* \param errorIndicationIEs Pointer to the IES structure.
|
||||||
|
**/
|
||||||
|
int hnbap_encode_errorindicationies(
|
||||||
|
HNBAP_ErrorIndication_t *hnbaP_ErrorIndication,
|
||||||
|
HNBAP_ErrorIndicationIEs_t *errorIndicationIEs);
|
||||||
|
|
||||||
|
/** \brief Decode function for U-RNTIQueryRequestIEs ies.
|
||||||
|
* \param u_RNTIQueryRequestIEs Pointer to ASN1 structure in which data will be stored
|
||||||
|
* \param any_p Pointer to the ANY value to decode.
|
||||||
|
**/
|
||||||
|
int hnbap_decode_u_rntiqueryrequesties(
|
||||||
|
HNBAP_U_RNTIQueryRequestIEs_t *u_RNTIQueryRequestIEs,
|
||||||
|
ANY_t *any_p);
|
||||||
|
|
||||||
|
/** \brief Encode function for U-RNTIQueryRequestIEs ies.
|
||||||
|
* \param hnbaP_U_RNTIQueryRequest Pointer to the ASN1 structure.
|
||||||
|
* \param u_RNTIQueryRequestIEs Pointer to the IES structure.
|
||||||
|
**/
|
||||||
|
int hnbap_encode_u_rntiqueryrequesties(
|
||||||
|
HNBAP_U_RNTIQueryRequest_t *hnbaP_U_RNTIQueryRequest,
|
||||||
|
HNBAP_U_RNTIQueryRequestIEs_t *u_RNTIQueryRequestIEs);
|
||||||
|
|
||||||
|
/** \brief Decode function for U-RNTIQueryResponseIEs ies.
|
||||||
|
* \param u_RNTIQueryResponseIEs Pointer to ASN1 structure in which data will be stored
|
||||||
|
* \param any_p Pointer to the ANY value to decode.
|
||||||
|
**/
|
||||||
|
int hnbap_decode_u_rntiqueryresponseies(
|
||||||
|
HNBAP_U_RNTIQueryResponseIEs_t *u_RNTIQueryResponseIEs,
|
||||||
|
ANY_t *any_p);
|
||||||
|
|
||||||
|
/** \brief Encode function for U-RNTIQueryResponseIEs ies.
|
||||||
|
* \param hnbaP_U_RNTIQueryResponse Pointer to the ASN1 structure.
|
||||||
|
* \param u_RNTIQueryResponseIEs Pointer to the IES structure.
|
||||||
|
**/
|
||||||
|
int hnbap_encode_u_rntiqueryresponseies(
|
||||||
|
HNBAP_U_RNTIQueryResponse_t *hnbaP_U_RNTIQueryResponse,
|
||||||
|
HNBAP_U_RNTIQueryResponseIEs_t *u_RNTIQueryResponseIEs);
|
||||||
|
|
||||||
|
int hnbap_free_hnbregisterrequesties(
|
||||||
|
HNBAP_HNBRegisterRequestIEs_t *hnbRegisterRequestIEs);
|
||||||
|
|
||||||
|
int hnbap_free_hnbregisteraccepties(
|
||||||
|
HNBAP_HNBRegisterAcceptIEs_t *hnbRegisterAcceptIEs);
|
||||||
|
|
||||||
|
int hnbap_free_hnbregisterrejecties(
|
||||||
|
HNBAP_HNBRegisterRejectIEs_t *hnbRegisterRejectIEs);
|
||||||
|
|
||||||
|
int hnbap_free_hnbde_registeries(
|
||||||
|
HNBAP_HNBDe_RegisterIEs_t *hnbDe_RegisterIEs);
|
||||||
|
|
||||||
|
int hnbap_free_ueregisterrequesties(
|
||||||
|
HNBAP_UERegisterRequestIEs_t *ueRegisterRequestIEs);
|
||||||
|
|
||||||
|
int hnbap_free_ueregisteraccepties(
|
||||||
|
HNBAP_UERegisterAcceptIEs_t *ueRegisterAcceptIEs);
|
||||||
|
|
||||||
|
int hnbap_free_ueregisterrejecties(
|
||||||
|
HNBAP_UERegisterRejectIEs_t *ueRegisterRejectIEs);
|
||||||
|
|
||||||
|
int hnbap_free_uede_registeries(
|
||||||
|
HNBAP_UEDe_RegisterIEs_t *ueDe_RegisterIEs);
|
||||||
|
|
||||||
|
int hnbap_free_csgmembershipupdateies(
|
||||||
|
HNBAP_CSGMembershipUpdateIEs_t *csgMembershipUpdateIEs);
|
||||||
|
|
||||||
|
int hnbap_free_tnlupdaterequesties(
|
||||||
|
HNBAP_TNLUpdateRequestIEs_t *tnlUpdateRequestIEs);
|
||||||
|
|
||||||
|
int hnbap_free_tnlupdateresponseies(
|
||||||
|
HNBAP_TNLUpdateResponseIEs_t *tnlUpdateResponseIEs);
|
||||||
|
|
||||||
|
int hnbap_free_tnlupdatefailureies(
|
||||||
|
HNBAP_TNLUpdateFailureIEs_t *tnlUpdateFailureIEs);
|
||||||
|
|
||||||
|
int hnbap_free_hnbconfigtransferrequesties(
|
||||||
|
HNBAP_HNBConfigTransferRequestIEs_t *hnbConfigTransferRequestIEs);
|
||||||
|
|
||||||
|
int hnbap_free_hnbconfigtransferresponseies(
|
||||||
|
HNBAP_HNBConfigTransferResponseIEs_t *hnbConfigTransferResponseIEs);
|
||||||
|
|
||||||
|
int hnbap_free_relocationcompleteies(
|
||||||
|
HNBAP_RelocationCompleteIEs_t *relocationCompleteIEs);
|
||||||
|
|
||||||
|
int hnbap_free_errorindicationies(
|
||||||
|
HNBAP_ErrorIndicationIEs_t *errorIndicationIEs);
|
||||||
|
|
||||||
|
int hnbap_free_u_rntiqueryrequesties(
|
||||||
|
HNBAP_U_RNTIQueryRequestIEs_t *u_RNTIQueryRequestIEs);
|
||||||
|
|
||||||
|
int hnbap_free_u_rntiqueryresponseies(
|
||||||
|
HNBAP_U_RNTIQueryResponseIEs_t *u_RNTIQueryResponseIEs);
|
||||||
|
|
||||||
|
#endif /* HNBAP_IES_DEFS_H_ */
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,444 @@
|
||||||
|
/*******************************************************************************
|
||||||
|
* This file had been created by asn1tostruct.py script v0.5osmo1
|
||||||
|
* Please do not modify this file but regenerate it via script.
|
||||||
|
* Created on: 2022-11-14 12:36:56
|
||||||
|
* from ['../../../src/osmo-iuh/asn1/rua/RUA-PDU-Contents.asn']
|
||||||
|
******************************************************************************/
|
||||||
|
#include <osmocom/rua/rua_common.h>
|
||||||
|
#include <osmocom/rua/rua_ies_defs.h>
|
||||||
|
|
||||||
|
int rua_decode_connecties(
|
||||||
|
RUA_ConnectIEs_t *connectIEs,
|
||||||
|
ANY_t *any_p) {
|
||||||
|
|
||||||
|
RUA_Connect_t *connect_p = NULL;
|
||||||
|
int i, decoded = 0;
|
||||||
|
int tempDecoded = 0;
|
||||||
|
assert(any_p != NULL);
|
||||||
|
assert(connectIEs != NULL);
|
||||||
|
|
||||||
|
memset(connectIEs, 0, sizeof(RUA_ConnectIEs_t));
|
||||||
|
RUA_DEBUG("Decoding message RUA_ConnectIEs (%s:%d)\n", __FILE__, __LINE__);
|
||||||
|
|
||||||
|
tempDecoded = ANY_to_type_aper(any_p, &asn_DEF_RUA_Connect, (void**)&connect_p);
|
||||||
|
|
||||||
|
if (tempDecoded < 0 || connect_p == NULL) {
|
||||||
|
RUA_DEBUG("Decoding of message RUA_ConnectIEs failed\n");
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
for (i = 0; i < connect_p->connect_ies.list.count; i++) {
|
||||||
|
RUA_IE_t *ie_p;
|
||||||
|
ie_p = connect_p->connect_ies.list.array[i];
|
||||||
|
switch(ie_p->id) {
|
||||||
|
case RUA_ProtocolIE_ID_id_CN_DomainIndicator:
|
||||||
|
{
|
||||||
|
RUA_CN_DomainIndicator_t *ruA_CNDomainIndicator_p = NULL;
|
||||||
|
tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_RUA_CN_DomainIndicator, (void**)&ruA_CNDomainIndicator_p);
|
||||||
|
if (tempDecoded < 0) {
|
||||||
|
RUA_DEBUG("Decoding of IE cN_DomainIndicator failed\n");
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
decoded += tempDecoded;
|
||||||
|
if (asn1_xer_print)
|
||||||
|
xer_fprint(stdout, &asn_DEF_RUA_CN_DomainIndicator, ruA_CNDomainIndicator_p);
|
||||||
|
memcpy(&connectIEs->cN_DomainIndicator, ruA_CNDomainIndicator_p, sizeof(RUA_CN_DomainIndicator_t));
|
||||||
|
FREEMEM(ruA_CNDomainIndicator_p);
|
||||||
|
} break;
|
||||||
|
case RUA_ProtocolIE_ID_id_Context_ID:
|
||||||
|
{
|
||||||
|
RUA_Context_ID_t *ruA_ContextID_p = NULL;
|
||||||
|
tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_RUA_Context_ID, (void**)&ruA_ContextID_p);
|
||||||
|
if (tempDecoded < 0) {
|
||||||
|
RUA_DEBUG("Decoding of IE context_ID failed\n");
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
decoded += tempDecoded;
|
||||||
|
if (asn1_xer_print)
|
||||||
|
xer_fprint(stdout, &asn_DEF_RUA_Context_ID, ruA_ContextID_p);
|
||||||
|
memcpy(&connectIEs->context_ID, ruA_ContextID_p, sizeof(RUA_Context_ID_t));
|
||||||
|
FREEMEM(ruA_ContextID_p);
|
||||||
|
} break;
|
||||||
|
/* Optional field */
|
||||||
|
case RUA_ProtocolIE_ID_id_IntraDomainNasNodeSelector:
|
||||||
|
{
|
||||||
|
RUA_IntraDomainNasNodeSelector_t *ruA_IntraDomainNasNodeSelector_p = NULL;
|
||||||
|
connectIEs->presenceMask |= CONNECTIES_RUA_INTRADOMAINNASNODESELECTOR_PRESENT;
|
||||||
|
tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_RUA_IntraDomainNasNodeSelector, (void**)&ruA_IntraDomainNasNodeSelector_p);
|
||||||
|
if (tempDecoded < 0) {
|
||||||
|
RUA_DEBUG("Decoding of IE intraDomainNasNodeSelector failed\n");
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
decoded += tempDecoded;
|
||||||
|
if (asn1_xer_print)
|
||||||
|
xer_fprint(stdout, &asn_DEF_RUA_IntraDomainNasNodeSelector, ruA_IntraDomainNasNodeSelector_p);
|
||||||
|
memcpy(&connectIEs->intraDomainNasNodeSelector, ruA_IntraDomainNasNodeSelector_p, sizeof(RUA_IntraDomainNasNodeSelector_t));
|
||||||
|
FREEMEM(ruA_IntraDomainNasNodeSelector_p);
|
||||||
|
} break;
|
||||||
|
case RUA_ProtocolIE_ID_id_Establishment_Cause:
|
||||||
|
{
|
||||||
|
RUA_Establishment_Cause_t *ruA_EstablishmentCause_p = NULL;
|
||||||
|
tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_RUA_Establishment_Cause, (void**)&ruA_EstablishmentCause_p);
|
||||||
|
if (tempDecoded < 0) {
|
||||||
|
RUA_DEBUG("Decoding of IE establishment_Cause failed\n");
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
decoded += tempDecoded;
|
||||||
|
if (asn1_xer_print)
|
||||||
|
xer_fprint(stdout, &asn_DEF_RUA_Establishment_Cause, ruA_EstablishmentCause_p);
|
||||||
|
memcpy(&connectIEs->establishment_Cause, ruA_EstablishmentCause_p, sizeof(RUA_Establishment_Cause_t));
|
||||||
|
FREEMEM(ruA_EstablishmentCause_p);
|
||||||
|
} break;
|
||||||
|
case RUA_ProtocolIE_ID_id_RANAP_Message:
|
||||||
|
{
|
||||||
|
RUA_RANAP_Message_t *ruA_RANAPMessage_p = NULL;
|
||||||
|
tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_RUA_RANAP_Message, (void**)&ruA_RANAPMessage_p);
|
||||||
|
if (tempDecoded < 0) {
|
||||||
|
RUA_DEBUG("Decoding of IE ranaP_Message failed\n");
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
decoded += tempDecoded;
|
||||||
|
if (asn1_xer_print)
|
||||||
|
xer_fprint(stdout, &asn_DEF_RUA_RANAP_Message, ruA_RANAPMessage_p);
|
||||||
|
memcpy(&connectIEs->ranaP_Message, ruA_RANAPMessage_p, sizeof(RUA_RANAP_Message_t));
|
||||||
|
FREEMEM(ruA_RANAPMessage_p);
|
||||||
|
} break;
|
||||||
|
default:
|
||||||
|
RUA_DEBUG("Unknown protocol IE id (%d) for message connecties\n", (int)ie_p->id);
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
ASN_STRUCT_FREE(asn_DEF_RUA_Connect, connect_p);
|
||||||
|
return decoded;
|
||||||
|
}
|
||||||
|
|
||||||
|
int rua_decode_directtransferies(
|
||||||
|
RUA_DirectTransferIEs_t *directTransferIEs,
|
||||||
|
ANY_t *any_p) {
|
||||||
|
|
||||||
|
RUA_DirectTransfer_t *directTransfer_p = NULL;
|
||||||
|
int i, decoded = 0;
|
||||||
|
int tempDecoded = 0;
|
||||||
|
assert(any_p != NULL);
|
||||||
|
assert(directTransferIEs != NULL);
|
||||||
|
|
||||||
|
memset(directTransferIEs, 0, sizeof(RUA_DirectTransferIEs_t));
|
||||||
|
RUA_DEBUG("Decoding message RUA_DirectTransferIEs (%s:%d)\n", __FILE__, __LINE__);
|
||||||
|
|
||||||
|
tempDecoded = ANY_to_type_aper(any_p, &asn_DEF_RUA_DirectTransfer, (void**)&directTransfer_p);
|
||||||
|
|
||||||
|
if (tempDecoded < 0 || directTransfer_p == NULL) {
|
||||||
|
RUA_DEBUG("Decoding of message RUA_DirectTransferIEs failed\n");
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
for (i = 0; i < directTransfer_p->directTransfer_ies.list.count; i++) {
|
||||||
|
RUA_IE_t *ie_p;
|
||||||
|
ie_p = directTransfer_p->directTransfer_ies.list.array[i];
|
||||||
|
switch(ie_p->id) {
|
||||||
|
case RUA_ProtocolIE_ID_id_CN_DomainIndicator:
|
||||||
|
{
|
||||||
|
RUA_CN_DomainIndicator_t *ruA_CNDomainIndicator_p = NULL;
|
||||||
|
tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_RUA_CN_DomainIndicator, (void**)&ruA_CNDomainIndicator_p);
|
||||||
|
if (tempDecoded < 0) {
|
||||||
|
RUA_DEBUG("Decoding of IE cN_DomainIndicator failed\n");
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
decoded += tempDecoded;
|
||||||
|
if (asn1_xer_print)
|
||||||
|
xer_fprint(stdout, &asn_DEF_RUA_CN_DomainIndicator, ruA_CNDomainIndicator_p);
|
||||||
|
memcpy(&directTransferIEs->cN_DomainIndicator, ruA_CNDomainIndicator_p, sizeof(RUA_CN_DomainIndicator_t));
|
||||||
|
FREEMEM(ruA_CNDomainIndicator_p);
|
||||||
|
} break;
|
||||||
|
case RUA_ProtocolIE_ID_id_Context_ID:
|
||||||
|
{
|
||||||
|
RUA_Context_ID_t *ruA_ContextID_p = NULL;
|
||||||
|
tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_RUA_Context_ID, (void**)&ruA_ContextID_p);
|
||||||
|
if (tempDecoded < 0) {
|
||||||
|
RUA_DEBUG("Decoding of IE context_ID failed\n");
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
decoded += tempDecoded;
|
||||||
|
if (asn1_xer_print)
|
||||||
|
xer_fprint(stdout, &asn_DEF_RUA_Context_ID, ruA_ContextID_p);
|
||||||
|
memcpy(&directTransferIEs->context_ID, ruA_ContextID_p, sizeof(RUA_Context_ID_t));
|
||||||
|
FREEMEM(ruA_ContextID_p);
|
||||||
|
} break;
|
||||||
|
case RUA_ProtocolIE_ID_id_RANAP_Message:
|
||||||
|
{
|
||||||
|
RUA_RANAP_Message_t *ruA_RANAPMessage_p = NULL;
|
||||||
|
tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_RUA_RANAP_Message, (void**)&ruA_RANAPMessage_p);
|
||||||
|
if (tempDecoded < 0) {
|
||||||
|
RUA_DEBUG("Decoding of IE ranaP_Message failed\n");
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
decoded += tempDecoded;
|
||||||
|
if (asn1_xer_print)
|
||||||
|
xer_fprint(stdout, &asn_DEF_RUA_RANAP_Message, ruA_RANAPMessage_p);
|
||||||
|
memcpy(&directTransferIEs->ranaP_Message, ruA_RANAPMessage_p, sizeof(RUA_RANAP_Message_t));
|
||||||
|
FREEMEM(ruA_RANAPMessage_p);
|
||||||
|
} break;
|
||||||
|
default:
|
||||||
|
RUA_DEBUG("Unknown protocol IE id (%d) for message directtransferies\n", (int)ie_p->id);
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
ASN_STRUCT_FREE(asn_DEF_RUA_DirectTransfer, directTransfer_p);
|
||||||
|
return decoded;
|
||||||
|
}
|
||||||
|
|
||||||
|
int rua_decode_disconnecties(
|
||||||
|
RUA_DisconnectIEs_t *disconnectIEs,
|
||||||
|
ANY_t *any_p) {
|
||||||
|
|
||||||
|
RUA_Disconnect_t *disconnect_p = NULL;
|
||||||
|
int i, decoded = 0;
|
||||||
|
int tempDecoded = 0;
|
||||||
|
assert(any_p != NULL);
|
||||||
|
assert(disconnectIEs != NULL);
|
||||||
|
|
||||||
|
memset(disconnectIEs, 0, sizeof(RUA_DisconnectIEs_t));
|
||||||
|
RUA_DEBUG("Decoding message RUA_DisconnectIEs (%s:%d)\n", __FILE__, __LINE__);
|
||||||
|
|
||||||
|
tempDecoded = ANY_to_type_aper(any_p, &asn_DEF_RUA_Disconnect, (void**)&disconnect_p);
|
||||||
|
|
||||||
|
if (tempDecoded < 0 || disconnect_p == NULL) {
|
||||||
|
RUA_DEBUG("Decoding of message RUA_DisconnectIEs failed\n");
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
for (i = 0; i < disconnect_p->disconnect_ies.list.count; i++) {
|
||||||
|
RUA_IE_t *ie_p;
|
||||||
|
ie_p = disconnect_p->disconnect_ies.list.array[i];
|
||||||
|
switch(ie_p->id) {
|
||||||
|
case RUA_ProtocolIE_ID_id_CN_DomainIndicator:
|
||||||
|
{
|
||||||
|
RUA_CN_DomainIndicator_t *ruA_CNDomainIndicator_p = NULL;
|
||||||
|
tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_RUA_CN_DomainIndicator, (void**)&ruA_CNDomainIndicator_p);
|
||||||
|
if (tempDecoded < 0) {
|
||||||
|
RUA_DEBUG("Decoding of IE cN_DomainIndicator failed\n");
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
decoded += tempDecoded;
|
||||||
|
if (asn1_xer_print)
|
||||||
|
xer_fprint(stdout, &asn_DEF_RUA_CN_DomainIndicator, ruA_CNDomainIndicator_p);
|
||||||
|
memcpy(&disconnectIEs->cN_DomainIndicator, ruA_CNDomainIndicator_p, sizeof(RUA_CN_DomainIndicator_t));
|
||||||
|
FREEMEM(ruA_CNDomainIndicator_p);
|
||||||
|
} break;
|
||||||
|
case RUA_ProtocolIE_ID_id_Context_ID:
|
||||||
|
{
|
||||||
|
RUA_Context_ID_t *ruA_ContextID_p = NULL;
|
||||||
|
tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_RUA_Context_ID, (void**)&ruA_ContextID_p);
|
||||||
|
if (tempDecoded < 0) {
|
||||||
|
RUA_DEBUG("Decoding of IE context_ID failed\n");
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
decoded += tempDecoded;
|
||||||
|
if (asn1_xer_print)
|
||||||
|
xer_fprint(stdout, &asn_DEF_RUA_Context_ID, ruA_ContextID_p);
|
||||||
|
memcpy(&disconnectIEs->context_ID, ruA_ContextID_p, sizeof(RUA_Context_ID_t));
|
||||||
|
FREEMEM(ruA_ContextID_p);
|
||||||
|
} break;
|
||||||
|
case RUA_ProtocolIE_ID_id_Cause:
|
||||||
|
{
|
||||||
|
RUA_Cause_t *ruA_Cause_p = NULL;
|
||||||
|
tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_RUA_Cause, (void**)&ruA_Cause_p);
|
||||||
|
if (tempDecoded < 0) {
|
||||||
|
RUA_DEBUG("Decoding of IE cause failed\n");
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
decoded += tempDecoded;
|
||||||
|
if (asn1_xer_print)
|
||||||
|
xer_fprint(stdout, &asn_DEF_RUA_Cause, ruA_Cause_p);
|
||||||
|
memcpy(&disconnectIEs->cause, ruA_Cause_p, sizeof(RUA_Cause_t));
|
||||||
|
FREEMEM(ruA_Cause_p);
|
||||||
|
} break;
|
||||||
|
/* Conditional field */
|
||||||
|
case RUA_ProtocolIE_ID_id_RANAP_Message:
|
||||||
|
{
|
||||||
|
RUA_RANAP_Message_t *ruA_RANAPMessage_p = NULL;
|
||||||
|
disconnectIEs->presenceMask |= DISCONNECTIES_RUA_RANAP_MESSAGE_PRESENT;
|
||||||
|
tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_RUA_RANAP_Message, (void**)&ruA_RANAPMessage_p);
|
||||||
|
if (tempDecoded < 0) {
|
||||||
|
RUA_DEBUG("Decoding of IE ranaP_Message failed\n");
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
decoded += tempDecoded;
|
||||||
|
if (asn1_xer_print)
|
||||||
|
xer_fprint(stdout, &asn_DEF_RUA_RANAP_Message, ruA_RANAPMessage_p);
|
||||||
|
memcpy(&disconnectIEs->ranaP_Message, ruA_RANAPMessage_p, sizeof(RUA_RANAP_Message_t));
|
||||||
|
FREEMEM(ruA_RANAPMessage_p);
|
||||||
|
} break;
|
||||||
|
default:
|
||||||
|
RUA_DEBUG("Unknown protocol IE id (%d) for message disconnecties\n", (int)ie_p->id);
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
ASN_STRUCT_FREE(asn_DEF_RUA_Disconnect, disconnect_p);
|
||||||
|
return decoded;
|
||||||
|
}
|
||||||
|
|
||||||
|
int rua_decode_connectionlesstransferies(
|
||||||
|
RUA_ConnectionlessTransferIEs_t *connectionlessTransferIEs,
|
||||||
|
ANY_t *any_p) {
|
||||||
|
|
||||||
|
RUA_ConnectionlessTransfer_t *connectionlessTransfer_p = NULL;
|
||||||
|
int i, decoded = 0;
|
||||||
|
int tempDecoded = 0;
|
||||||
|
assert(any_p != NULL);
|
||||||
|
assert(connectionlessTransferIEs != NULL);
|
||||||
|
|
||||||
|
memset(connectionlessTransferIEs, 0, sizeof(RUA_ConnectionlessTransferIEs_t));
|
||||||
|
RUA_DEBUG("Decoding message RUA_ConnectionlessTransferIEs (%s:%d)\n", __FILE__, __LINE__);
|
||||||
|
|
||||||
|
tempDecoded = ANY_to_type_aper(any_p, &asn_DEF_RUA_ConnectionlessTransfer, (void**)&connectionlessTransfer_p);
|
||||||
|
|
||||||
|
if (tempDecoded < 0 || connectionlessTransfer_p == NULL) {
|
||||||
|
RUA_DEBUG("Decoding of message RUA_ConnectionlessTransferIEs failed\n");
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
for (i = 0; i < connectionlessTransfer_p->connectionlessTransfer_ies.list.count; i++) {
|
||||||
|
RUA_IE_t *ie_p;
|
||||||
|
ie_p = connectionlessTransfer_p->connectionlessTransfer_ies.list.array[i];
|
||||||
|
switch(ie_p->id) {
|
||||||
|
case RUA_ProtocolIE_ID_id_RANAP_Message:
|
||||||
|
{
|
||||||
|
RUA_RANAP_Message_t *ruA_RANAPMessage_p = NULL;
|
||||||
|
tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_RUA_RANAP_Message, (void**)&ruA_RANAPMessage_p);
|
||||||
|
if (tempDecoded < 0) {
|
||||||
|
RUA_DEBUG("Decoding of IE ranaP_Message failed\n");
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
decoded += tempDecoded;
|
||||||
|
if (asn1_xer_print)
|
||||||
|
xer_fprint(stdout, &asn_DEF_RUA_RANAP_Message, ruA_RANAPMessage_p);
|
||||||
|
memcpy(&connectionlessTransferIEs->ranaP_Message, ruA_RANAPMessage_p, sizeof(RUA_RANAP_Message_t));
|
||||||
|
FREEMEM(ruA_RANAPMessage_p);
|
||||||
|
} break;
|
||||||
|
default:
|
||||||
|
RUA_DEBUG("Unknown protocol IE id (%d) for message connectionlesstransferies\n", (int)ie_p->id);
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
ASN_STRUCT_FREE(asn_DEF_RUA_ConnectionlessTransfer, connectionlessTransfer_p);
|
||||||
|
return decoded;
|
||||||
|
}
|
||||||
|
|
||||||
|
int rua_decode_errorindicationies(
|
||||||
|
RUA_ErrorIndicationIEs_t *errorIndicationIEs,
|
||||||
|
ANY_t *any_p) {
|
||||||
|
|
||||||
|
RUA_ErrorIndication_t *errorIndication_p = NULL;
|
||||||
|
int i, decoded = 0;
|
||||||
|
int tempDecoded = 0;
|
||||||
|
assert(any_p != NULL);
|
||||||
|
assert(errorIndicationIEs != NULL);
|
||||||
|
|
||||||
|
memset(errorIndicationIEs, 0, sizeof(RUA_ErrorIndicationIEs_t));
|
||||||
|
RUA_DEBUG("Decoding message RUA_ErrorIndicationIEs (%s:%d)\n", __FILE__, __LINE__);
|
||||||
|
|
||||||
|
tempDecoded = ANY_to_type_aper(any_p, &asn_DEF_RUA_ErrorIndication, (void**)&errorIndication_p);
|
||||||
|
|
||||||
|
if (tempDecoded < 0 || errorIndication_p == NULL) {
|
||||||
|
RUA_DEBUG("Decoding of message RUA_ErrorIndicationIEs failed\n");
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
for (i = 0; i < errorIndication_p->errorIndication_ies.list.count; i++) {
|
||||||
|
RUA_IE_t *ie_p;
|
||||||
|
ie_p = errorIndication_p->errorIndication_ies.list.array[i];
|
||||||
|
switch(ie_p->id) {
|
||||||
|
case RUA_ProtocolIE_ID_id_Cause:
|
||||||
|
{
|
||||||
|
RUA_Cause_t *ruA_Cause_p = NULL;
|
||||||
|
tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_RUA_Cause, (void**)&ruA_Cause_p);
|
||||||
|
if (tempDecoded < 0) {
|
||||||
|
RUA_DEBUG("Decoding of IE cause failed\n");
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
decoded += tempDecoded;
|
||||||
|
if (asn1_xer_print)
|
||||||
|
xer_fprint(stdout, &asn_DEF_RUA_Cause, ruA_Cause_p);
|
||||||
|
memcpy(&errorIndicationIEs->cause, ruA_Cause_p, sizeof(RUA_Cause_t));
|
||||||
|
FREEMEM(ruA_Cause_p);
|
||||||
|
} break;
|
||||||
|
/* Optional field */
|
||||||
|
case RUA_ProtocolIE_ID_id_CriticalityDiagnostics:
|
||||||
|
{
|
||||||
|
RUA_CriticalityDiagnostics_t *ruA_CriticalityDiagnostics_p = NULL;
|
||||||
|
errorIndicationIEs->presenceMask |= ERRORINDICATIONIES_RUA_CRITICALITYDIAGNOSTICS_PRESENT;
|
||||||
|
tempDecoded = ANY_to_type_aper(&ie_p->value, &asn_DEF_RUA_CriticalityDiagnostics, (void**)&ruA_CriticalityDiagnostics_p);
|
||||||
|
if (tempDecoded < 0) {
|
||||||
|
RUA_DEBUG("Decoding of IE criticalityDiagnostics failed\n");
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
decoded += tempDecoded;
|
||||||
|
if (asn1_xer_print)
|
||||||
|
xer_fprint(stdout, &asn_DEF_RUA_CriticalityDiagnostics, ruA_CriticalityDiagnostics_p);
|
||||||
|
memcpy(&errorIndicationIEs->criticalityDiagnostics, ruA_CriticalityDiagnostics_p, sizeof(RUA_CriticalityDiagnostics_t));
|
||||||
|
FREEMEM(ruA_CriticalityDiagnostics_p);
|
||||||
|
} break;
|
||||||
|
default:
|
||||||
|
RUA_DEBUG("Unknown protocol IE id (%d) for message errorindicationies\n", (int)ie_p->id);
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
ASN_STRUCT_FREE(asn_DEF_RUA_ErrorIndication, errorIndication_p);
|
||||||
|
return decoded;
|
||||||
|
}
|
||||||
|
|
||||||
|
int rua_free_connecties(
|
||||||
|
RUA_ConnectIEs_t *connectIEs) {
|
||||||
|
|
||||||
|
ASN_STRUCT_FREE_CONTENTS_ONLY(asn_DEF_RUA_CN_DomainIndicator, &connectIEs->cN_DomainIndicator);
|
||||||
|
ASN_STRUCT_FREE_CONTENTS_ONLY(asn_DEF_RUA_Context_ID, &connectIEs->context_ID);
|
||||||
|
/* Optional field */
|
||||||
|
if ((connectIEs->presenceMask & CONNECTIES_RUA_INTRADOMAINNASNODESELECTOR_PRESENT)
|
||||||
|
== CONNECTIES_RUA_INTRADOMAINNASNODESELECTOR_PRESENT)
|
||||||
|
ASN_STRUCT_FREE_CONTENTS_ONLY(asn_DEF_RUA_IntraDomainNasNodeSelector, &connectIEs->intraDomainNasNodeSelector);
|
||||||
|
ASN_STRUCT_FREE_CONTENTS_ONLY(asn_DEF_RUA_Establishment_Cause, &connectIEs->establishment_Cause);
|
||||||
|
ASN_STRUCT_FREE_CONTENTS_ONLY(asn_DEF_RUA_RANAP_Message, &connectIEs->ranaP_Message);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
int rua_free_directtransferies(
|
||||||
|
RUA_DirectTransferIEs_t *directTransferIEs) {
|
||||||
|
|
||||||
|
ASN_STRUCT_FREE_CONTENTS_ONLY(asn_DEF_RUA_CN_DomainIndicator, &directTransferIEs->cN_DomainIndicator);
|
||||||
|
ASN_STRUCT_FREE_CONTENTS_ONLY(asn_DEF_RUA_Context_ID, &directTransferIEs->context_ID);
|
||||||
|
ASN_STRUCT_FREE_CONTENTS_ONLY(asn_DEF_RUA_RANAP_Message, &directTransferIEs->ranaP_Message);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
int rua_free_disconnecties(
|
||||||
|
RUA_DisconnectIEs_t *disconnectIEs) {
|
||||||
|
|
||||||
|
ASN_STRUCT_FREE_CONTENTS_ONLY(asn_DEF_RUA_CN_DomainIndicator, &disconnectIEs->cN_DomainIndicator);
|
||||||
|
ASN_STRUCT_FREE_CONTENTS_ONLY(asn_DEF_RUA_Context_ID, &disconnectIEs->context_ID);
|
||||||
|
ASN_STRUCT_FREE_CONTENTS_ONLY(asn_DEF_RUA_Cause, &disconnectIEs->cause);
|
||||||
|
/* Conditional field */
|
||||||
|
if ((disconnectIEs->presenceMask & DISCONNECTIES_RUA_RANAP_MESSAGE_PRESENT)
|
||||||
|
== DISCONNECTIES_RUA_RANAP_MESSAGE_PRESENT)
|
||||||
|
ASN_STRUCT_FREE_CONTENTS_ONLY(asn_DEF_RUA_RANAP_Message, &disconnectIEs->ranaP_Message);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
int rua_free_connectionlesstransferies(
|
||||||
|
RUA_ConnectionlessTransferIEs_t *connectionlessTransferIEs) {
|
||||||
|
|
||||||
|
ASN_STRUCT_FREE_CONTENTS_ONLY(asn_DEF_RUA_RANAP_Message, &connectionlessTransferIEs->ranaP_Message);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
int rua_free_errorindicationies(
|
||||||
|
RUA_ErrorIndicationIEs_t *errorIndicationIEs) {
|
||||||
|
|
||||||
|
ASN_STRUCT_FREE_CONTENTS_ONLY(asn_DEF_RUA_Cause, &errorIndicationIEs->cause);
|
||||||
|
/* Optional field */
|
||||||
|
if ((errorIndicationIEs->presenceMask & ERRORINDICATIONIES_RUA_CRITICALITYDIAGNOSTICS_PRESENT)
|
||||||
|
== ERRORINDICATIONIES_RUA_CRITICALITYDIAGNOSTICS_PRESENT)
|
||||||
|
ASN_STRUCT_FREE_CONTENTS_ONLY(asn_DEF_RUA_CriticalityDiagnostics, &errorIndicationIEs->criticalityDiagnostics);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
|
@ -0,0 +1,186 @@
|
||||||
|
/*******************************************************************************
|
||||||
|
* This file had been created by asn1tostruct.py script v0.5osmo1
|
||||||
|
* Please do not modify this file but regenerate it via script.
|
||||||
|
* Created on: 2022-11-14 12:36:56
|
||||||
|
* from ['../../../src/osmo-iuh/asn1/rua/RUA-PDU-Contents.asn']
|
||||||
|
******************************************************************************/
|
||||||
|
#include <osmocom/rua/rua_common.h>
|
||||||
|
#include <osmocom/rua/rua_ies_defs.h>
|
||||||
|
|
||||||
|
int rua_encode_connecties(
|
||||||
|
RUA_Connect_t *connect,
|
||||||
|
RUA_ConnectIEs_t *connectIEs) {
|
||||||
|
|
||||||
|
RUA_IE_t *ie;
|
||||||
|
|
||||||
|
if ((ie = rua_new_ie(RUA_ProtocolIE_ID_id_CN_DomainIndicator,
|
||||||
|
RUA_Criticality_reject,
|
||||||
|
&asn_DEF_RUA_CN_DomainIndicator,
|
||||||
|
&connectIEs->cN_DomainIndicator)) == NULL) {
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
ASN_SEQUENCE_ADD(&connect->connect_ies.list, ie);
|
||||||
|
|
||||||
|
if ((ie = rua_new_ie(RUA_ProtocolIE_ID_id_Context_ID,
|
||||||
|
RUA_Criticality_reject,
|
||||||
|
&asn_DEF_RUA_Context_ID,
|
||||||
|
&connectIEs->context_ID)) == NULL) {
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
ASN_SEQUENCE_ADD(&connect->connect_ies.list, ie);
|
||||||
|
|
||||||
|
/* Optional field */
|
||||||
|
if ((connectIEs->presenceMask & CONNECTIES_RUA_INTRADOMAINNASNODESELECTOR_PRESENT)
|
||||||
|
== CONNECTIES_RUA_INTRADOMAINNASNODESELECTOR_PRESENT) {
|
||||||
|
if ((ie = rua_new_ie(RUA_ProtocolIE_ID_id_IntraDomainNasNodeSelector,
|
||||||
|
RUA_Criticality_ignore,
|
||||||
|
&asn_DEF_RUA_IntraDomainNasNodeSelector,
|
||||||
|
&connectIEs->intraDomainNasNodeSelector)) == NULL) {
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
ASN_SEQUENCE_ADD(&connect->connect_ies.list, ie);
|
||||||
|
}
|
||||||
|
|
||||||
|
if ((ie = rua_new_ie(RUA_ProtocolIE_ID_id_Establishment_Cause,
|
||||||
|
RUA_Criticality_reject,
|
||||||
|
&asn_DEF_RUA_Establishment_Cause,
|
||||||
|
&connectIEs->establishment_Cause)) == NULL) {
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
ASN_SEQUENCE_ADD(&connect->connect_ies.list, ie);
|
||||||
|
|
||||||
|
if ((ie = rua_new_ie(RUA_ProtocolIE_ID_id_RANAP_Message,
|
||||||
|
RUA_Criticality_reject,
|
||||||
|
&asn_DEF_RUA_RANAP_Message,
|
||||||
|
&connectIEs->ranaP_Message)) == NULL) {
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
ASN_SEQUENCE_ADD(&connect->connect_ies.list, ie);
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
int rua_encode_directtransferies(
|
||||||
|
RUA_DirectTransfer_t *directTransfer,
|
||||||
|
RUA_DirectTransferIEs_t *directTransferIEs) {
|
||||||
|
|
||||||
|
RUA_IE_t *ie;
|
||||||
|
|
||||||
|
if ((ie = rua_new_ie(RUA_ProtocolIE_ID_id_CN_DomainIndicator,
|
||||||
|
RUA_Criticality_reject,
|
||||||
|
&asn_DEF_RUA_CN_DomainIndicator,
|
||||||
|
&directTransferIEs->cN_DomainIndicator)) == NULL) {
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
ASN_SEQUENCE_ADD(&directTransfer->directTransfer_ies.list, ie);
|
||||||
|
|
||||||
|
if ((ie = rua_new_ie(RUA_ProtocolIE_ID_id_Context_ID,
|
||||||
|
RUA_Criticality_reject,
|
||||||
|
&asn_DEF_RUA_Context_ID,
|
||||||
|
&directTransferIEs->context_ID)) == NULL) {
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
ASN_SEQUENCE_ADD(&directTransfer->directTransfer_ies.list, ie);
|
||||||
|
|
||||||
|
if ((ie = rua_new_ie(RUA_ProtocolIE_ID_id_RANAP_Message,
|
||||||
|
RUA_Criticality_reject,
|
||||||
|
&asn_DEF_RUA_RANAP_Message,
|
||||||
|
&directTransferIEs->ranaP_Message)) == NULL) {
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
ASN_SEQUENCE_ADD(&directTransfer->directTransfer_ies.list, ie);
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
int rua_encode_disconnecties(
|
||||||
|
RUA_Disconnect_t *disconnect,
|
||||||
|
RUA_DisconnectIEs_t *disconnectIEs) {
|
||||||
|
|
||||||
|
RUA_IE_t *ie;
|
||||||
|
|
||||||
|
if ((ie = rua_new_ie(RUA_ProtocolIE_ID_id_CN_DomainIndicator,
|
||||||
|
RUA_Criticality_reject,
|
||||||
|
&asn_DEF_RUA_CN_DomainIndicator,
|
||||||
|
&disconnectIEs->cN_DomainIndicator)) == NULL) {
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
ASN_SEQUENCE_ADD(&disconnect->disconnect_ies.list, ie);
|
||||||
|
|
||||||
|
if ((ie = rua_new_ie(RUA_ProtocolIE_ID_id_Context_ID,
|
||||||
|
RUA_Criticality_reject,
|
||||||
|
&asn_DEF_RUA_Context_ID,
|
||||||
|
&disconnectIEs->context_ID)) == NULL) {
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
ASN_SEQUENCE_ADD(&disconnect->disconnect_ies.list, ie);
|
||||||
|
|
||||||
|
if ((ie = rua_new_ie(RUA_ProtocolIE_ID_id_Cause,
|
||||||
|
RUA_Criticality_reject,
|
||||||
|
&asn_DEF_RUA_Cause,
|
||||||
|
&disconnectIEs->cause)) == NULL) {
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
ASN_SEQUENCE_ADD(&disconnect->disconnect_ies.list, ie);
|
||||||
|
|
||||||
|
/* Conditional field */
|
||||||
|
if ((disconnectIEs->presenceMask & DISCONNECTIES_RUA_RANAP_MESSAGE_PRESENT)
|
||||||
|
== DISCONNECTIES_RUA_RANAP_MESSAGE_PRESENT) {
|
||||||
|
if ((ie = rua_new_ie(RUA_ProtocolIE_ID_id_RANAP_Message,
|
||||||
|
RUA_Criticality_reject,
|
||||||
|
&asn_DEF_RUA_RANAP_Message,
|
||||||
|
&disconnectIEs->ranaP_Message)) == NULL) {
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
ASN_SEQUENCE_ADD(&disconnect->disconnect_ies.list, ie);
|
||||||
|
}
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
int rua_encode_connectionlesstransferies(
|
||||||
|
RUA_ConnectionlessTransfer_t *connectionlessTransfer,
|
||||||
|
RUA_ConnectionlessTransferIEs_t *connectionlessTransferIEs) {
|
||||||
|
|
||||||
|
RUA_IE_t *ie;
|
||||||
|
|
||||||
|
if ((ie = rua_new_ie(RUA_ProtocolIE_ID_id_RANAP_Message,
|
||||||
|
RUA_Criticality_reject,
|
||||||
|
&asn_DEF_RUA_RANAP_Message,
|
||||||
|
&connectionlessTransferIEs->ranaP_Message)) == NULL) {
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
ASN_SEQUENCE_ADD(&connectionlessTransfer->connectionlessTransfer_ies.list, ie);
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
int rua_encode_errorindicationies(
|
||||||
|
RUA_ErrorIndication_t *errorIndication,
|
||||||
|
RUA_ErrorIndicationIEs_t *errorIndicationIEs) {
|
||||||
|
|
||||||
|
RUA_IE_t *ie;
|
||||||
|
|
||||||
|
if ((ie = rua_new_ie(RUA_ProtocolIE_ID_id_Cause,
|
||||||
|
RUA_Criticality_ignore,
|
||||||
|
&asn_DEF_RUA_Cause,
|
||||||
|
&errorIndicationIEs->cause)) == NULL) {
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
ASN_SEQUENCE_ADD(&errorIndication->errorIndication_ies.list, ie);
|
||||||
|
|
||||||
|
/* Optional field */
|
||||||
|
if ((errorIndicationIEs->presenceMask & ERRORINDICATIONIES_RUA_CRITICALITYDIAGNOSTICS_PRESENT)
|
||||||
|
== ERRORINDICATIONIES_RUA_CRITICALITYDIAGNOSTICS_PRESENT) {
|
||||||
|
if ((ie = rua_new_ie(RUA_ProtocolIE_ID_id_CriticalityDiagnostics,
|
||||||
|
RUA_Criticality_ignore,
|
||||||
|
&asn_DEF_RUA_CriticalityDiagnostics,
|
||||||
|
&errorIndicationIEs->criticalityDiagnostics)) == NULL) {
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
ASN_SEQUENCE_ADD(&errorIndication->errorIndication_ies.list, ie);
|
||||||
|
}
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
|
@ -0,0 +1,160 @@
|
||||||
|
/*******************************************************************************
|
||||||
|
* This file had been created by asn1tostruct.py script v0.5osmo1
|
||||||
|
* Please do not modify this file but regenerate it via script.
|
||||||
|
* Created on: 2022-11-14 12:36:56
|
||||||
|
* from ['../../../src/osmo-iuh/asn1/rua/RUA-PDU-Contents.asn']
|
||||||
|
******************************************************************************/
|
||||||
|
#include <osmocom/rua/rua_common.h>
|
||||||
|
|
||||||
|
#ifndef RUA_IES_DEFS_H_
|
||||||
|
#define RUA_IES_DEFS_H_
|
||||||
|
|
||||||
|
#define CONNECTIES_RUA_INTRADOMAINNASNODESELECTOR_PRESENT (1 << 0)
|
||||||
|
|
||||||
|
typedef struct RUA_ConnectIEs_s {
|
||||||
|
uint16_t presenceMask;
|
||||||
|
RUA_CN_DomainIndicator_t cN_DomainIndicator;
|
||||||
|
RUA_Context_ID_t context_ID;
|
||||||
|
RUA_IntraDomainNasNodeSelector_t intraDomainNasNodeSelector; ///< Optional field
|
||||||
|
RUA_Establishment_Cause_t establishment_Cause;
|
||||||
|
RUA_RANAP_Message_t ranaP_Message;
|
||||||
|
} RUA_ConnectIEs_t;
|
||||||
|
|
||||||
|
typedef struct RUA_DirectTransferIEs_s {
|
||||||
|
RUA_CN_DomainIndicator_t cN_DomainIndicator;
|
||||||
|
RUA_Context_ID_t context_ID;
|
||||||
|
RUA_RANAP_Message_t ranaP_Message;
|
||||||
|
} RUA_DirectTransferIEs_t;
|
||||||
|
|
||||||
|
#define DISCONNECTIES_RUA_RANAP_MESSAGE_PRESENT (1 << 0)
|
||||||
|
|
||||||
|
typedef struct RUA_DisconnectIEs_s {
|
||||||
|
uint16_t presenceMask;
|
||||||
|
RUA_CN_DomainIndicator_t cN_DomainIndicator;
|
||||||
|
RUA_Context_ID_t context_ID;
|
||||||
|
RUA_Cause_t cause;
|
||||||
|
RUA_RANAP_Message_t ranaP_Message; ///< Conditional field
|
||||||
|
} RUA_DisconnectIEs_t;
|
||||||
|
|
||||||
|
typedef struct RUA_ConnectionlessTransferIEs_s {
|
||||||
|
RUA_RANAP_Message_t ranaP_Message;
|
||||||
|
} RUA_ConnectionlessTransferIEs_t;
|
||||||
|
|
||||||
|
#define ERRORINDICATIONIES_RUA_CRITICALITYDIAGNOSTICS_PRESENT (1 << 0)
|
||||||
|
|
||||||
|
typedef struct RUA_ErrorIndicationIEs_s {
|
||||||
|
uint16_t presenceMask;
|
||||||
|
RUA_Cause_t cause;
|
||||||
|
RUA_CriticalityDiagnostics_t criticalityDiagnostics; ///< Optional field
|
||||||
|
} RUA_ErrorIndicationIEs_t;
|
||||||
|
|
||||||
|
typedef struct rua_message_s {
|
||||||
|
uint8_t procedureCode;
|
||||||
|
uint8_t criticality;
|
||||||
|
uint8_t direction;
|
||||||
|
union {
|
||||||
|
RUA_ConnectIEs_t connectIEs;
|
||||||
|
RUA_ConnectionlessTransferIEs_t connectionlessTransferIEs;
|
||||||
|
RUA_DirectTransferIEs_t directTransferIEs;
|
||||||
|
RUA_DisconnectIEs_t disconnectIEs;
|
||||||
|
RUA_ErrorIndicationIEs_t errorIndicationIEs;
|
||||||
|
} msg;
|
||||||
|
} rua_message;
|
||||||
|
|
||||||
|
/** \brief Decode function for ConnectIEs ies.
|
||||||
|
* \param connectIEs Pointer to ASN1 structure in which data will be stored
|
||||||
|
* \param any_p Pointer to the ANY value to decode.
|
||||||
|
**/
|
||||||
|
int rua_decode_connecties(
|
||||||
|
RUA_ConnectIEs_t *connectIEs,
|
||||||
|
ANY_t *any_p);
|
||||||
|
|
||||||
|
/** \brief Encode function for ConnectIEs ies.
|
||||||
|
* \param ruA_Connect Pointer to the ASN1 structure.
|
||||||
|
* \param connectIEs Pointer to the IES structure.
|
||||||
|
**/
|
||||||
|
int rua_encode_connecties(
|
||||||
|
RUA_Connect_t *ruA_Connect,
|
||||||
|
RUA_ConnectIEs_t *connectIEs);
|
||||||
|
|
||||||
|
/** \brief Decode function for DirectTransferIEs ies.
|
||||||
|
* \param directTransferIEs Pointer to ASN1 structure in which data will be stored
|
||||||
|
* \param any_p Pointer to the ANY value to decode.
|
||||||
|
**/
|
||||||
|
int rua_decode_directtransferies(
|
||||||
|
RUA_DirectTransferIEs_t *directTransferIEs,
|
||||||
|
ANY_t *any_p);
|
||||||
|
|
||||||
|
/** \brief Encode function for DirectTransferIEs ies.
|
||||||
|
* \param ruA_DirectTransfer Pointer to the ASN1 structure.
|
||||||
|
* \param directTransferIEs Pointer to the IES structure.
|
||||||
|
**/
|
||||||
|
int rua_encode_directtransferies(
|
||||||
|
RUA_DirectTransfer_t *ruA_DirectTransfer,
|
||||||
|
RUA_DirectTransferIEs_t *directTransferIEs);
|
||||||
|
|
||||||
|
/** \brief Decode function for DisconnectIEs ies.
|
||||||
|
* \param disconnectIEs Pointer to ASN1 structure in which data will be stored
|
||||||
|
* \param any_p Pointer to the ANY value to decode.
|
||||||
|
**/
|
||||||
|
int rua_decode_disconnecties(
|
||||||
|
RUA_DisconnectIEs_t *disconnectIEs,
|
||||||
|
ANY_t *any_p);
|
||||||
|
|
||||||
|
/** \brief Encode function for DisconnectIEs ies.
|
||||||
|
* \param ruA_Disconnect Pointer to the ASN1 structure.
|
||||||
|
* \param disconnectIEs Pointer to the IES structure.
|
||||||
|
**/
|
||||||
|
int rua_encode_disconnecties(
|
||||||
|
RUA_Disconnect_t *ruA_Disconnect,
|
||||||
|
RUA_DisconnectIEs_t *disconnectIEs);
|
||||||
|
|
||||||
|
/** \brief Decode function for ConnectionlessTransferIEs ies.
|
||||||
|
* \param connectionlessTransferIEs Pointer to ASN1 structure in which data will be stored
|
||||||
|
* \param any_p Pointer to the ANY value to decode.
|
||||||
|
**/
|
||||||
|
int rua_decode_connectionlesstransferies(
|
||||||
|
RUA_ConnectionlessTransferIEs_t *connectionlessTransferIEs,
|
||||||
|
ANY_t *any_p);
|
||||||
|
|
||||||
|
/** \brief Encode function for ConnectionlessTransferIEs ies.
|
||||||
|
* \param ruA_ConnectionlessTransfer Pointer to the ASN1 structure.
|
||||||
|
* \param connectionlessTransferIEs Pointer to the IES structure.
|
||||||
|
**/
|
||||||
|
int rua_encode_connectionlesstransferies(
|
||||||
|
RUA_ConnectionlessTransfer_t *ruA_ConnectionlessTransfer,
|
||||||
|
RUA_ConnectionlessTransferIEs_t *connectionlessTransferIEs);
|
||||||
|
|
||||||
|
/** \brief Decode function for ErrorIndicationIEs ies.
|
||||||
|
* \param errorIndicationIEs Pointer to ASN1 structure in which data will be stored
|
||||||
|
* \param any_p Pointer to the ANY value to decode.
|
||||||
|
**/
|
||||||
|
int rua_decode_errorindicationies(
|
||||||
|
RUA_ErrorIndicationIEs_t *errorIndicationIEs,
|
||||||
|
ANY_t *any_p);
|
||||||
|
|
||||||
|
/** \brief Encode function for ErrorIndicationIEs ies.
|
||||||
|
* \param ruA_ErrorIndication Pointer to the ASN1 structure.
|
||||||
|
* \param errorIndicationIEs Pointer to the IES structure.
|
||||||
|
**/
|
||||||
|
int rua_encode_errorindicationies(
|
||||||
|
RUA_ErrorIndication_t *ruA_ErrorIndication,
|
||||||
|
RUA_ErrorIndicationIEs_t *errorIndicationIEs);
|
||||||
|
|
||||||
|
int rua_free_connecties(
|
||||||
|
RUA_ConnectIEs_t *connectIEs);
|
||||||
|
|
||||||
|
int rua_free_directtransferies(
|
||||||
|
RUA_DirectTransferIEs_t *directTransferIEs);
|
||||||
|
|
||||||
|
int rua_free_disconnecties(
|
||||||
|
RUA_DisconnectIEs_t *disconnectIEs);
|
||||||
|
|
||||||
|
int rua_free_connectionlesstransferies(
|
||||||
|
RUA_ConnectionlessTransferIEs_t *connectionlessTransferIEs);
|
||||||
|
|
||||||
|
int rua_free_errorindicationies(
|
||||||
|
RUA_ErrorIndicationIEs_t *errorIndicationIEs);
|
||||||
|
|
||||||
|
#endif /* RUA_IES_DEFS_H_ */
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,493 @@
|
||||||
|
/*******************************************************************************
|
||||||
|
* This file had been created by asn1tostruct.py script v0.5osmo1
|
||||||
|
* Please do not modify this file but regenerate it via script.
|
||||||
|
* Created on: 2022-11-14 12:36:56
|
||||||
|
* from ['../../../src/osmo-iuh/asn1/sabp/SABP-PDU-Contents.asn']
|
||||||
|
******************************************************************************/
|
||||||
|
#include <osmocom/sabp/sabp_common.h>
|
||||||
|
#include <osmocom/sabp/sabp_ies_defs.h>
|
||||||
|
|
||||||
|
int sabp_encode_write_replace_ies(
|
||||||
|
SABP_Write_Replace_t *write_Replace,
|
||||||
|
SABP_Write_Replace_IEs_t *write_Replace_IEs) {
|
||||||
|
|
||||||
|
SABP_IE_t *ie;
|
||||||
|
|
||||||
|
if ((ie = sabp_new_ie(SABP_ProtocolIE_ID_id_Message_Identifier,
|
||||||
|
SABP_Criticality_reject,
|
||||||
|
&asn_DEF_SABP_Message_Identifier,
|
||||||
|
&write_Replace_IEs->message_Identifier)) == NULL) {
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
ASN_SEQUENCE_ADD(&write_Replace->write_Replace_ies.list, ie);
|
||||||
|
|
||||||
|
if ((ie = sabp_new_ie(SABP_ProtocolIE_ID_id_New_Serial_Number,
|
||||||
|
SABP_Criticality_reject,
|
||||||
|
&asn_DEF_SABP_New_Serial_Number,
|
||||||
|
&write_Replace_IEs->new_Serial_Number)) == NULL) {
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
ASN_SEQUENCE_ADD(&write_Replace->write_Replace_ies.list, ie);
|
||||||
|
|
||||||
|
/* Optional field */
|
||||||
|
if ((write_Replace_IEs->presenceMask & WRITE_REPLACE_IES_SABP_OLD_SERIAL_NUMBER_PRESENT)
|
||||||
|
== WRITE_REPLACE_IES_SABP_OLD_SERIAL_NUMBER_PRESENT) {
|
||||||
|
if ((ie = sabp_new_ie(SABP_ProtocolIE_ID_id_Old_Serial_Number,
|
||||||
|
SABP_Criticality_ignore,
|
||||||
|
&asn_DEF_SABP_Old_Serial_Number,
|
||||||
|
&write_Replace_IEs->old_Serial_Number)) == NULL) {
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
ASN_SEQUENCE_ADD(&write_Replace->write_Replace_ies.list, ie);
|
||||||
|
}
|
||||||
|
|
||||||
|
if ((ie = sabp_new_ie(SABP_ProtocolIE_ID_id_Service_Areas_List,
|
||||||
|
SABP_Criticality_reject,
|
||||||
|
&asn_DEF_SABP_Service_Areas_List,
|
||||||
|
&write_Replace_IEs->service_Areas_List)) == NULL) {
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
ASN_SEQUENCE_ADD(&write_Replace->write_Replace_ies.list, ie);
|
||||||
|
|
||||||
|
/* Optional field */
|
||||||
|
if ((write_Replace_IEs->presenceMask & WRITE_REPLACE_IES_SABP_CATEGORY_PRESENT)
|
||||||
|
== WRITE_REPLACE_IES_SABP_CATEGORY_PRESENT) {
|
||||||
|
if ((ie = sabp_new_ie(SABP_ProtocolIE_ID_id_Category,
|
||||||
|
SABP_Criticality_ignore,
|
||||||
|
&asn_DEF_SABP_Category,
|
||||||
|
&write_Replace_IEs->category)) == NULL) {
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
ASN_SEQUENCE_ADD(&write_Replace->write_Replace_ies.list, ie);
|
||||||
|
}
|
||||||
|
|
||||||
|
if ((ie = sabp_new_ie(SABP_ProtocolIE_ID_id_Repetition_Period,
|
||||||
|
SABP_Criticality_reject,
|
||||||
|
&asn_DEF_SABP_Repetition_Period,
|
||||||
|
&write_Replace_IEs->repetition_Period)) == NULL) {
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
ASN_SEQUENCE_ADD(&write_Replace->write_Replace_ies.list, ie);
|
||||||
|
|
||||||
|
if ((ie = sabp_new_ie(SABP_ProtocolIE_ID_id_Data_Coding_Scheme,
|
||||||
|
SABP_Criticality_reject,
|
||||||
|
&asn_DEF_SABP_Data_Coding_Scheme,
|
||||||
|
&write_Replace_IEs->data_Coding_Scheme)) == NULL) {
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
ASN_SEQUENCE_ADD(&write_Replace->write_Replace_ies.list, ie);
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
int sabp_encode_write_replace_complete_ies(
|
||||||
|
SABP_Write_Replace_Complete_t *write_Replace_Complete,
|
||||||
|
SABP_Write_Replace_Complete_IEs_t *write_Replace_Complete_IEs) {
|
||||||
|
|
||||||
|
SABP_IE_t *ie;
|
||||||
|
|
||||||
|
if ((ie = sabp_new_ie(SABP_ProtocolIE_ID_id_Message_Identifier,
|
||||||
|
SABP_Criticality_reject,
|
||||||
|
&asn_DEF_SABP_Message_Identifier,
|
||||||
|
&write_Replace_Complete_IEs->message_Identifier)) == NULL) {
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
ASN_SEQUENCE_ADD(&write_Replace_Complete->write_Replace_Complete_ies.list, ie);
|
||||||
|
|
||||||
|
if ((ie = sabp_new_ie(SABP_ProtocolIE_ID_id_New_Serial_Number,
|
||||||
|
SABP_Criticality_reject,
|
||||||
|
&asn_DEF_SABP_New_Serial_Number,
|
||||||
|
&write_Replace_Complete_IEs->new_Serial_Number)) == NULL) {
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
ASN_SEQUENCE_ADD(&write_Replace_Complete->write_Replace_Complete_ies.list, ie);
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
int sabp_encode_write_replace_failure_ies(
|
||||||
|
SABP_Write_Replace_Failure_t *write_Replace_Failure,
|
||||||
|
SABP_Write_Replace_Failure_IEs_t *write_Replace_Failure_IEs) {
|
||||||
|
|
||||||
|
SABP_IE_t *ie;
|
||||||
|
|
||||||
|
if ((ie = sabp_new_ie(SABP_ProtocolIE_ID_id_Message_Identifier,
|
||||||
|
SABP_Criticality_reject,
|
||||||
|
&asn_DEF_SABP_Message_Identifier,
|
||||||
|
&write_Replace_Failure_IEs->message_Identifier)) == NULL) {
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
ASN_SEQUENCE_ADD(&write_Replace_Failure->write_Replace_Failure_ies.list, ie);
|
||||||
|
|
||||||
|
if ((ie = sabp_new_ie(SABP_ProtocolIE_ID_id_New_Serial_Number,
|
||||||
|
SABP_Criticality_reject,
|
||||||
|
&asn_DEF_SABP_New_Serial_Number,
|
||||||
|
&write_Replace_Failure_IEs->new_Serial_Number)) == NULL) {
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
ASN_SEQUENCE_ADD(&write_Replace_Failure->write_Replace_Failure_ies.list, ie);
|
||||||
|
|
||||||
|
if ((ie = sabp_new_ie(SABP_ProtocolIE_ID_id_Failure_List,
|
||||||
|
SABP_Criticality_reject,
|
||||||
|
&asn_DEF_SABP_Failure_List,
|
||||||
|
&write_Replace_Failure_IEs->failure_List)) == NULL) {
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
ASN_SEQUENCE_ADD(&write_Replace_Failure->write_Replace_Failure_ies.list, ie);
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
int sabp_encode_kill_ies(
|
||||||
|
SABP_Kill_t *kill,
|
||||||
|
SABP_Kill_IEs_t *kill_IEs) {
|
||||||
|
|
||||||
|
SABP_IE_t *ie;
|
||||||
|
|
||||||
|
if ((ie = sabp_new_ie(SABP_ProtocolIE_ID_id_Message_Identifier,
|
||||||
|
SABP_Criticality_reject,
|
||||||
|
&asn_DEF_SABP_Message_Identifier,
|
||||||
|
&kill_IEs->message_Identifier)) == NULL) {
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
ASN_SEQUENCE_ADD(&kill->kill_ies.list, ie);
|
||||||
|
|
||||||
|
if ((ie = sabp_new_ie(SABP_ProtocolIE_ID_id_Old_Serial_Number,
|
||||||
|
SABP_Criticality_reject,
|
||||||
|
&asn_DEF_SABP_Old_Serial_Number,
|
||||||
|
&kill_IEs->old_Serial_Number)) == NULL) {
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
ASN_SEQUENCE_ADD(&kill->kill_ies.list, ie);
|
||||||
|
|
||||||
|
if ((ie = sabp_new_ie(SABP_ProtocolIE_ID_id_Service_Areas_List,
|
||||||
|
SABP_Criticality_reject,
|
||||||
|
&asn_DEF_SABP_Service_Areas_List,
|
||||||
|
&kill_IEs->service_Areas_List)) == NULL) {
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
ASN_SEQUENCE_ADD(&kill->kill_ies.list, ie);
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
int sabp_encode_kill_complete_ies(
|
||||||
|
SABP_Kill_Complete_t *kill_Complete,
|
||||||
|
SABP_Kill_Complete_IEs_t *kill_Complete_IEs) {
|
||||||
|
|
||||||
|
SABP_IE_t *ie;
|
||||||
|
|
||||||
|
if ((ie = sabp_new_ie(SABP_ProtocolIE_ID_id_Message_Identifier,
|
||||||
|
SABP_Criticality_reject,
|
||||||
|
&asn_DEF_SABP_Message_Identifier,
|
||||||
|
&kill_Complete_IEs->message_Identifier)) == NULL) {
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
ASN_SEQUENCE_ADD(&kill_Complete->kill_Complete_ies.list, ie);
|
||||||
|
|
||||||
|
if ((ie = sabp_new_ie(SABP_ProtocolIE_ID_id_Old_Serial_Number,
|
||||||
|
SABP_Criticality_reject,
|
||||||
|
&asn_DEF_SABP_Old_Serial_Number,
|
||||||
|
&kill_Complete_IEs->old_Serial_Number)) == NULL) {
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
ASN_SEQUENCE_ADD(&kill_Complete->kill_Complete_ies.list, ie);
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
int sabp_encode_kill_failure_ies(
|
||||||
|
SABP_Kill_Failure_t *kill_Failure,
|
||||||
|
SABP_Kill_Failure_IEs_t *kill_Failure_IEs) {
|
||||||
|
|
||||||
|
SABP_IE_t *ie;
|
||||||
|
|
||||||
|
if ((ie = sabp_new_ie(SABP_ProtocolIE_ID_id_Message_Identifier,
|
||||||
|
SABP_Criticality_reject,
|
||||||
|
&asn_DEF_SABP_Message_Identifier,
|
||||||
|
&kill_Failure_IEs->message_Identifier)) == NULL) {
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
ASN_SEQUENCE_ADD(&kill_Failure->kill_Failure_ies.list, ie);
|
||||||
|
|
||||||
|
if ((ie = sabp_new_ie(SABP_ProtocolIE_ID_id_Old_Serial_Number,
|
||||||
|
SABP_Criticality_reject,
|
||||||
|
&asn_DEF_SABP_Old_Serial_Number,
|
||||||
|
&kill_Failure_IEs->old_Serial_Number)) == NULL) {
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
ASN_SEQUENCE_ADD(&kill_Failure->kill_Failure_ies.list, ie);
|
||||||
|
|
||||||
|
if ((ie = sabp_new_ie(SABP_ProtocolIE_ID_id_Failure_List,
|
||||||
|
SABP_Criticality_reject,
|
||||||
|
&asn_DEF_SABP_Failure_List,
|
||||||
|
&kill_Failure_IEs->failure_List)) == NULL) {
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
ASN_SEQUENCE_ADD(&kill_Failure->kill_Failure_ies.list, ie);
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
int sabp_encode_load_query_ies(
|
||||||
|
SABP_Load_Query_t *load_Query,
|
||||||
|
SABP_Load_Query_IEs_t *load_Query_IEs) {
|
||||||
|
|
||||||
|
SABP_IE_t *ie;
|
||||||
|
|
||||||
|
if ((ie = sabp_new_ie(SABP_ProtocolIE_ID_id_Service_Areas_List,
|
||||||
|
SABP_Criticality_reject,
|
||||||
|
&asn_DEF_SABP_Service_Areas_List,
|
||||||
|
&load_Query_IEs->service_Areas_List)) == NULL) {
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
ASN_SEQUENCE_ADD(&load_Query->load_Query_ies.list, ie);
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
int sabp_encode_load_query_failure_ies(
|
||||||
|
SABP_Load_Query_Failure_t *load_Query_Failure,
|
||||||
|
SABP_Load_Query_Failure_IEs_t *load_Query_Failure_IEs) {
|
||||||
|
|
||||||
|
SABP_IE_t *ie;
|
||||||
|
|
||||||
|
if ((ie = sabp_new_ie(SABP_ProtocolIE_ID_id_Failure_List,
|
||||||
|
SABP_Criticality_reject,
|
||||||
|
&asn_DEF_SABP_Failure_List,
|
||||||
|
&load_Query_Failure_IEs->failure_List)) == NULL) {
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
ASN_SEQUENCE_ADD(&load_Query_Failure->load_Query_Failure_ies.list, ie);
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
int sabp_encode_message_status_query_ies(
|
||||||
|
SABP_Message_Status_Query_t *message_Status_Query,
|
||||||
|
SABP_Message_Status_Query_IEs_t *message_Status_Query_IEs) {
|
||||||
|
|
||||||
|
SABP_IE_t *ie;
|
||||||
|
|
||||||
|
if ((ie = sabp_new_ie(SABP_ProtocolIE_ID_id_Message_Identifier,
|
||||||
|
SABP_Criticality_reject,
|
||||||
|
&asn_DEF_SABP_Message_Identifier,
|
||||||
|
&message_Status_Query_IEs->message_Identifier)) == NULL) {
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
ASN_SEQUENCE_ADD(&message_Status_Query->message_Status_Query_ies.list, ie);
|
||||||
|
|
||||||
|
if ((ie = sabp_new_ie(SABP_ProtocolIE_ID_id_Old_Serial_Number,
|
||||||
|
SABP_Criticality_reject,
|
||||||
|
&asn_DEF_SABP_Old_Serial_Number,
|
||||||
|
&message_Status_Query_IEs->old_Serial_Number)) == NULL) {
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
ASN_SEQUENCE_ADD(&message_Status_Query->message_Status_Query_ies.list, ie);
|
||||||
|
|
||||||
|
if ((ie = sabp_new_ie(SABP_ProtocolIE_ID_id_Service_Areas_List,
|
||||||
|
SABP_Criticality_reject,
|
||||||
|
&asn_DEF_SABP_Service_Areas_List,
|
||||||
|
&message_Status_Query_IEs->service_Areas_List)) == NULL) {
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
ASN_SEQUENCE_ADD(&message_Status_Query->message_Status_Query_ies.list, ie);
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
int sabp_encode_message_status_query_complete_ies(
|
||||||
|
SABP_Message_Status_Query_Complete_t *message_Status_Query_Complete,
|
||||||
|
SABP_Message_Status_Query_Complete_IEs_t *message_Status_Query_Complete_IEs) {
|
||||||
|
|
||||||
|
SABP_IE_t *ie;
|
||||||
|
|
||||||
|
if ((ie = sabp_new_ie(SABP_ProtocolIE_ID_id_Message_Identifier,
|
||||||
|
SABP_Criticality_reject,
|
||||||
|
&asn_DEF_SABP_Message_Identifier,
|
||||||
|
&message_Status_Query_Complete_IEs->message_Identifier)) == NULL) {
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
ASN_SEQUENCE_ADD(&message_Status_Query_Complete->message_Status_Query_Complete_ies.list, ie);
|
||||||
|
|
||||||
|
if ((ie = sabp_new_ie(SABP_ProtocolIE_ID_id_Old_Serial_Number,
|
||||||
|
SABP_Criticality_reject,
|
||||||
|
&asn_DEF_SABP_Old_Serial_Number,
|
||||||
|
&message_Status_Query_Complete_IEs->old_Serial_Number)) == NULL) {
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
ASN_SEQUENCE_ADD(&message_Status_Query_Complete->message_Status_Query_Complete_ies.list, ie);
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
int sabp_encode_message_status_query_failure_ies(
|
||||||
|
SABP_Message_Status_Query_Failure_t *message_Status_Query_Failure,
|
||||||
|
SABP_Message_Status_Query_Failure_IEs_t *message_Status_Query_Failure_IEs) {
|
||||||
|
|
||||||
|
SABP_IE_t *ie;
|
||||||
|
|
||||||
|
if ((ie = sabp_new_ie(SABP_ProtocolIE_ID_id_Message_Identifier,
|
||||||
|
SABP_Criticality_reject,
|
||||||
|
&asn_DEF_SABP_Message_Identifier,
|
||||||
|
&message_Status_Query_Failure_IEs->message_Identifier)) == NULL) {
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
ASN_SEQUENCE_ADD(&message_Status_Query_Failure->message_Status_Query_Failure_ies.list, ie);
|
||||||
|
|
||||||
|
if ((ie = sabp_new_ie(SABP_ProtocolIE_ID_id_Failure_List,
|
||||||
|
SABP_Criticality_reject,
|
||||||
|
&asn_DEF_SABP_Failure_List,
|
||||||
|
&message_Status_Query_Failure_IEs->failure_List)) == NULL) {
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
ASN_SEQUENCE_ADD(&message_Status_Query_Failure->message_Status_Query_Failure_ies.list, ie);
|
||||||
|
|
||||||
|
if ((ie = sabp_new_ie(SABP_ProtocolIE_ID_id_Old_Serial_Number,
|
||||||
|
SABP_Criticality_reject,
|
||||||
|
&asn_DEF_SABP_Old_Serial_Number,
|
||||||
|
&message_Status_Query_Failure_IEs->old_Serial_Number)) == NULL) {
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
ASN_SEQUENCE_ADD(&message_Status_Query_Failure->message_Status_Query_Failure_ies.list, ie);
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
int sabp_encode_reset_ies(
|
||||||
|
SABP_Reset_t *reset,
|
||||||
|
SABP_Reset_IEs_t *reset_IEs) {
|
||||||
|
|
||||||
|
SABP_IE_t *ie;
|
||||||
|
|
||||||
|
if ((ie = sabp_new_ie(SABP_ProtocolIE_ID_id_Service_Areas_List,
|
||||||
|
SABP_Criticality_reject,
|
||||||
|
&asn_DEF_SABP_Service_Areas_List,
|
||||||
|
&reset_IEs->service_Areas_List)) == NULL) {
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
ASN_SEQUENCE_ADD(&reset->reset_ies.list, ie);
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
int sabp_encode_reset_complete_ies(
|
||||||
|
SABP_Reset_Complete_t *reset_Complete,
|
||||||
|
SABP_Reset_Complete_IEs_t *reset_Complete_IEs) {
|
||||||
|
|
||||||
|
SABP_IE_t *ie;
|
||||||
|
|
||||||
|
if ((ie = sabp_new_ie(SABP_ProtocolIE_ID_id_Service_Areas_List,
|
||||||
|
SABP_Criticality_reject,
|
||||||
|
&asn_DEF_SABP_Service_Areas_List,
|
||||||
|
&reset_Complete_IEs->service_Areas_List)) == NULL) {
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
ASN_SEQUENCE_ADD(&reset_Complete->reset_Complete_ies.list, ie);
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
int sabp_encode_reset_failure_ies(
|
||||||
|
SABP_Reset_Failure_t *reset_Failure,
|
||||||
|
SABP_Reset_Failure_IEs_t *reset_Failure_IEs) {
|
||||||
|
|
||||||
|
SABP_IE_t *ie;
|
||||||
|
|
||||||
|
if ((ie = sabp_new_ie(SABP_ProtocolIE_ID_id_Failure_List,
|
||||||
|
SABP_Criticality_reject,
|
||||||
|
&asn_DEF_SABP_Failure_List,
|
||||||
|
&reset_Failure_IEs->failure_List)) == NULL) {
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
ASN_SEQUENCE_ADD(&reset_Failure->reset_Failure_ies.list, ie);
|
||||||
|
|
||||||
|
/* Optional field */
|
||||||
|
if ((reset_Failure_IEs->presenceMask & RESET_FAILURE_IES_SABP_SERVICE_AREAS_LIST_PRESENT)
|
||||||
|
== RESET_FAILURE_IES_SABP_SERVICE_AREAS_LIST_PRESENT) {
|
||||||
|
if ((ie = sabp_new_ie(SABP_ProtocolIE_ID_id_Service_Areas_List,
|
||||||
|
SABP_Criticality_reject,
|
||||||
|
&asn_DEF_SABP_Service_Areas_List,
|
||||||
|
&reset_Failure_IEs->service_Areas_List)) == NULL) {
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
ASN_SEQUENCE_ADD(&reset_Failure->reset_Failure_ies.list, ie);
|
||||||
|
}
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
int sabp_encode_restart_ies(
|
||||||
|
SABP_Restart_t *restart,
|
||||||
|
SABP_Restart_IEs_t *restart_IEs) {
|
||||||
|
|
||||||
|
SABP_IE_t *ie;
|
||||||
|
|
||||||
|
if ((ie = sabp_new_ie(SABP_ProtocolIE_ID_id_Service_Areas_List,
|
||||||
|
SABP_Criticality_ignore,
|
||||||
|
&asn_DEF_SABP_Service_Areas_List,
|
||||||
|
&restart_IEs->service_Areas_List)) == NULL) {
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
ASN_SEQUENCE_ADD(&restart->restart_ies.list, ie);
|
||||||
|
|
||||||
|
/* Optional field */
|
||||||
|
if ((restart_IEs->presenceMask & RESTART_IES_SABP_RECOVERY_INDICATION_PRESENT)
|
||||||
|
== RESTART_IES_SABP_RECOVERY_INDICATION_PRESENT) {
|
||||||
|
if ((ie = sabp_new_ie(SABP_ProtocolIE_ID_id_Recovery_Indication,
|
||||||
|
SABP_Criticality_ignore,
|
||||||
|
&asn_DEF_SABP_Recovery_Indication,
|
||||||
|
&restart_IEs->recovery_Indication)) == NULL) {
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
ASN_SEQUENCE_ADD(&restart->restart_ies.list, ie);
|
||||||
|
}
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
int sabp_encode_error_indication_ies(
|
||||||
|
SABP_Error_Indication_t *error_Indication,
|
||||||
|
SABP_Error_Indication_IEs_t *error_Indication_IEs) {
|
||||||
|
|
||||||
|
SABP_IE_t *ie;
|
||||||
|
|
||||||
|
/* Optional field */
|
||||||
|
if ((error_Indication_IEs->presenceMask & ERROR_INDICATION_IES_SABP_MESSAGE_IDENTIFIER_PRESENT)
|
||||||
|
== ERROR_INDICATION_IES_SABP_MESSAGE_IDENTIFIER_PRESENT) {
|
||||||
|
if ((ie = sabp_new_ie(SABP_ProtocolIE_ID_id_Message_Identifier,
|
||||||
|
SABP_Criticality_ignore,
|
||||||
|
&asn_DEF_SABP_Message_Identifier,
|
||||||
|
&error_Indication_IEs->message_Identifier)) == NULL) {
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
ASN_SEQUENCE_ADD(&error_Indication->error_Indication_ies.list, ie);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Optional field */
|
||||||
|
if ((error_Indication_IEs->presenceMask & ERROR_INDICATION_IES_SABP_SERIAL_NUMBER_PRESENT)
|
||||||
|
== ERROR_INDICATION_IES_SABP_SERIAL_NUMBER_PRESENT) {
|
||||||
|
if ((ie = sabp_new_ie(SABP_ProtocolIE_ID_id_Serial_Number,
|
||||||
|
SABP_Criticality_ignore,
|
||||||
|
&asn_DEF_SABP_Serial_Number,
|
||||||
|
&error_Indication_IEs->serial_Number)) == NULL) {
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
ASN_SEQUENCE_ADD(&error_Indication->error_Indication_ies.list, ie);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Optional field */
|
||||||
|
if ((error_Indication_IEs->presenceMask & ERROR_INDICATION_IES_SABP_CAUSE_PRESENT)
|
||||||
|
== ERROR_INDICATION_IES_SABP_CAUSE_PRESENT) {
|
||||||
|
if ((ie = sabp_new_ie(SABP_ProtocolIE_ID_id_Cause,
|
||||||
|
SABP_Criticality_ignore,
|
||||||
|
&asn_DEF_SABP_Cause,
|
||||||
|
&error_Indication_IEs->cause)) == NULL) {
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
ASN_SEQUENCE_ADD(&error_Indication->error_Indication_ies.list, ie);
|
||||||
|
}
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
|
@ -0,0 +1,443 @@
|
||||||
|
/*******************************************************************************
|
||||||
|
* This file had been created by asn1tostruct.py script v0.5osmo1
|
||||||
|
* Please do not modify this file but regenerate it via script.
|
||||||
|
* Created on: 2022-11-14 12:36:56
|
||||||
|
* from ['../../../src/osmo-iuh/asn1/sabp/SABP-PDU-Contents.asn']
|
||||||
|
******************************************************************************/
|
||||||
|
#include <osmocom/sabp/sabp_common.h>
|
||||||
|
|
||||||
|
#ifndef SABP_IES_DEFS_H_
|
||||||
|
#define SABP_IES_DEFS_H_
|
||||||
|
|
||||||
|
#define WRITE_REPLACE_IES_SABP_OLD_SERIAL_NUMBER_PRESENT (1 << 0)
|
||||||
|
#define WRITE_REPLACE_IES_SABP_CATEGORY_PRESENT (1 << 1)
|
||||||
|
|
||||||
|
typedef struct SABP_Write_Replace_IEs_s {
|
||||||
|
uint16_t presenceMask;
|
||||||
|
SABP_Message_Identifier_t message_Identifier;
|
||||||
|
SABP_New_Serial_Number_t new_Serial_Number;
|
||||||
|
SABP_Old_Serial_Number_t old_Serial_Number; ///< Optional field
|
||||||
|
SABP_Service_Areas_List_t service_Areas_List;
|
||||||
|
SABP_Category_t category; ///< Optional field
|
||||||
|
SABP_Repetition_Period_t repetition_Period;
|
||||||
|
SABP_Data_Coding_Scheme_t data_Coding_Scheme;
|
||||||
|
} SABP_Write_Replace_IEs_t;
|
||||||
|
|
||||||
|
typedef struct SABP_Write_Replace_Complete_IEs_s {
|
||||||
|
SABP_Message_Identifier_t message_Identifier;
|
||||||
|
SABP_New_Serial_Number_t new_Serial_Number;
|
||||||
|
} SABP_Write_Replace_Complete_IEs_t;
|
||||||
|
|
||||||
|
typedef struct SABP_Write_Replace_Failure_IEs_s {
|
||||||
|
SABP_Message_Identifier_t message_Identifier;
|
||||||
|
SABP_New_Serial_Number_t new_Serial_Number;
|
||||||
|
SABP_Failure_List_t failure_List;
|
||||||
|
} SABP_Write_Replace_Failure_IEs_t;
|
||||||
|
|
||||||
|
typedef struct SABP_Kill_IEs_s {
|
||||||
|
SABP_Message_Identifier_t message_Identifier;
|
||||||
|
SABP_Old_Serial_Number_t old_Serial_Number;
|
||||||
|
SABP_Service_Areas_List_t service_Areas_List;
|
||||||
|
} SABP_Kill_IEs_t;
|
||||||
|
|
||||||
|
typedef struct SABP_Kill_Complete_IEs_s {
|
||||||
|
SABP_Message_Identifier_t message_Identifier;
|
||||||
|
SABP_Old_Serial_Number_t old_Serial_Number;
|
||||||
|
} SABP_Kill_Complete_IEs_t;
|
||||||
|
|
||||||
|
typedef struct SABP_Kill_Failure_IEs_s {
|
||||||
|
SABP_Message_Identifier_t message_Identifier;
|
||||||
|
SABP_Old_Serial_Number_t old_Serial_Number;
|
||||||
|
SABP_Failure_List_t failure_List;
|
||||||
|
} SABP_Kill_Failure_IEs_t;
|
||||||
|
|
||||||
|
typedef struct SABP_Load_Query_IEs_s {
|
||||||
|
SABP_Service_Areas_List_t service_Areas_List;
|
||||||
|
} SABP_Load_Query_IEs_t;
|
||||||
|
|
||||||
|
typedef struct SABP_Load_Query_Failure_IEs_s {
|
||||||
|
SABP_Failure_List_t failure_List;
|
||||||
|
} SABP_Load_Query_Failure_IEs_t;
|
||||||
|
|
||||||
|
typedef struct SABP_Message_Status_Query_IEs_s {
|
||||||
|
SABP_Message_Identifier_t message_Identifier;
|
||||||
|
SABP_Old_Serial_Number_t old_Serial_Number;
|
||||||
|
SABP_Service_Areas_List_t service_Areas_List;
|
||||||
|
} SABP_Message_Status_Query_IEs_t;
|
||||||
|
|
||||||
|
typedef struct SABP_Message_Status_Query_Complete_IEs_s {
|
||||||
|
SABP_Message_Identifier_t message_Identifier;
|
||||||
|
SABP_Old_Serial_Number_t old_Serial_Number;
|
||||||
|
} SABP_Message_Status_Query_Complete_IEs_t;
|
||||||
|
|
||||||
|
typedef struct SABP_Message_Status_Query_Failure_IEs_s {
|
||||||
|
SABP_Message_Identifier_t message_Identifier;
|
||||||
|
SABP_Failure_List_t failure_List;
|
||||||
|
SABP_Old_Serial_Number_t old_Serial_Number;
|
||||||
|
} SABP_Message_Status_Query_Failure_IEs_t;
|
||||||
|
|
||||||
|
typedef struct SABP_Reset_IEs_s {
|
||||||
|
SABP_Service_Areas_List_t service_Areas_List;
|
||||||
|
} SABP_Reset_IEs_t;
|
||||||
|
|
||||||
|
typedef struct SABP_Reset_Complete_IEs_s {
|
||||||
|
SABP_Service_Areas_List_t service_Areas_List;
|
||||||
|
} SABP_Reset_Complete_IEs_t;
|
||||||
|
|
||||||
|
#define RESET_FAILURE_IES_SABP_SERVICE_AREAS_LIST_PRESENT (1 << 0)
|
||||||
|
|
||||||
|
typedef struct SABP_Reset_Failure_IEs_s {
|
||||||
|
uint16_t presenceMask;
|
||||||
|
SABP_Failure_List_t failure_List;
|
||||||
|
SABP_Service_Areas_List_t service_Areas_List; ///< Optional field
|
||||||
|
} SABP_Reset_Failure_IEs_t;
|
||||||
|
|
||||||
|
#define RESTART_IES_SABP_RECOVERY_INDICATION_PRESENT (1 << 0)
|
||||||
|
|
||||||
|
typedef struct SABP_Restart_IEs_s {
|
||||||
|
uint16_t presenceMask;
|
||||||
|
SABP_Service_Areas_List_t service_Areas_List;
|
||||||
|
SABP_Recovery_Indication_t recovery_Indication; ///< Optional field
|
||||||
|
} SABP_Restart_IEs_t;
|
||||||
|
|
||||||
|
#define ERROR_INDICATION_IES_SABP_MESSAGE_IDENTIFIER_PRESENT (1 << 0)
|
||||||
|
#define ERROR_INDICATION_IES_SABP_SERIAL_NUMBER_PRESENT (1 << 1)
|
||||||
|
#define ERROR_INDICATION_IES_SABP_CAUSE_PRESENT (1 << 2)
|
||||||
|
|
||||||
|
typedef struct SABP_Error_Indication_IEs_s {
|
||||||
|
uint16_t presenceMask;
|
||||||
|
SABP_Message_Identifier_t message_Identifier; ///< Optional field
|
||||||
|
SABP_Serial_Number_t serial_Number; ///< Optional field
|
||||||
|
SABP_Cause_t cause; ///< Optional field
|
||||||
|
} SABP_Error_Indication_IEs_t;
|
||||||
|
|
||||||
|
typedef struct sabp_message_s {
|
||||||
|
uint8_t procedureCode;
|
||||||
|
uint8_t criticality;
|
||||||
|
uint8_t direction;
|
||||||
|
union {
|
||||||
|
SABP_Error_Indication_IEs_t error_Indication_IEs;
|
||||||
|
SABP_Kill_Complete_IEs_t kill_Complete_IEs;
|
||||||
|
SABP_Kill_Failure_IEs_t kill_Failure_IEs;
|
||||||
|
SABP_Kill_IEs_t kill_IEs;
|
||||||
|
SABP_Load_Query_Failure_IEs_t load_Query_Failure_IEs;
|
||||||
|
SABP_Load_Query_IEs_t load_Query_IEs;
|
||||||
|
SABP_Message_Status_Query_Complete_IEs_t message_Status_Query_Complete_IEs;
|
||||||
|
SABP_Message_Status_Query_Failure_IEs_t message_Status_Query_Failure_IEs;
|
||||||
|
SABP_Message_Status_Query_IEs_t message_Status_Query_IEs;
|
||||||
|
SABP_Reset_Complete_IEs_t reset_Complete_IEs;
|
||||||
|
SABP_Reset_Failure_IEs_t reset_Failure_IEs;
|
||||||
|
SABP_Reset_IEs_t reset_IEs;
|
||||||
|
SABP_Restart_IEs_t restart_IEs;
|
||||||
|
SABP_Write_Replace_Complete_IEs_t write_Replace_Complete_IEs;
|
||||||
|
SABP_Write_Replace_Failure_IEs_t write_Replace_Failure_IEs;
|
||||||
|
SABP_Write_Replace_IEs_t write_Replace_IEs;
|
||||||
|
} msg;
|
||||||
|
} sabp_message;
|
||||||
|
|
||||||
|
/** \brief Decode function for Write-Replace-IEs ies.
|
||||||
|
* \param write_Replace_IEs Pointer to ASN1 structure in which data will be stored
|
||||||
|
* \param any_p Pointer to the ANY value to decode.
|
||||||
|
**/
|
||||||
|
int sabp_decode_write_replace_ies(
|
||||||
|
SABP_Write_Replace_IEs_t *write_Replace_IEs,
|
||||||
|
ANY_t *any_p);
|
||||||
|
|
||||||
|
/** \brief Encode function for Write-Replace-IEs ies.
|
||||||
|
* \param sabP_Write_Replace Pointer to the ASN1 structure.
|
||||||
|
* \param write_Replace_IEs Pointer to the IES structure.
|
||||||
|
**/
|
||||||
|
int sabp_encode_write_replace_ies(
|
||||||
|
SABP_Write_Replace_t *sabP_Write_Replace,
|
||||||
|
SABP_Write_Replace_IEs_t *write_Replace_IEs);
|
||||||
|
|
||||||
|
/** \brief Decode function for Write-Replace-Complete-IEs ies.
|
||||||
|
* \param write_Replace_Complete_IEs Pointer to ASN1 structure in which data will be stored
|
||||||
|
* \param any_p Pointer to the ANY value to decode.
|
||||||
|
**/
|
||||||
|
int sabp_decode_write_replace_complete_ies(
|
||||||
|
SABP_Write_Replace_Complete_IEs_t *write_Replace_Complete_IEs,
|
||||||
|
ANY_t *any_p);
|
||||||
|
|
||||||
|
/** \brief Encode function for Write-Replace-Complete-IEs ies.
|
||||||
|
* \param sabP_Write_Replace_Complete Pointer to the ASN1 structure.
|
||||||
|
* \param write_Replace_Complete_IEs Pointer to the IES structure.
|
||||||
|
**/
|
||||||
|
int sabp_encode_write_replace_complete_ies(
|
||||||
|
SABP_Write_Replace_Complete_t *sabP_Write_Replace_Complete,
|
||||||
|
SABP_Write_Replace_Complete_IEs_t *write_Replace_Complete_IEs);
|
||||||
|
|
||||||
|
/** \brief Decode function for Write-Replace-Failure-IEs ies.
|
||||||
|
* \param write_Replace_Failure_IEs Pointer to ASN1 structure in which data will be stored
|
||||||
|
* \param any_p Pointer to the ANY value to decode.
|
||||||
|
**/
|
||||||
|
int sabp_decode_write_replace_failure_ies(
|
||||||
|
SABP_Write_Replace_Failure_IEs_t *write_Replace_Failure_IEs,
|
||||||
|
ANY_t *any_p);
|
||||||
|
|
||||||
|
/** \brief Encode function for Write-Replace-Failure-IEs ies.
|
||||||
|
* \param sabP_Write_Replace_Failure Pointer to the ASN1 structure.
|
||||||
|
* \param write_Replace_Failure_IEs Pointer to the IES structure.
|
||||||
|
**/
|
||||||
|
int sabp_encode_write_replace_failure_ies(
|
||||||
|
SABP_Write_Replace_Failure_t *sabP_Write_Replace_Failure,
|
||||||
|
SABP_Write_Replace_Failure_IEs_t *write_Replace_Failure_IEs);
|
||||||
|
|
||||||
|
/** \brief Decode function for Kill-IEs ies.
|
||||||
|
* \param kill_IEs Pointer to ASN1 structure in which data will be stored
|
||||||
|
* \param any_p Pointer to the ANY value to decode.
|
||||||
|
**/
|
||||||
|
int sabp_decode_kill_ies(
|
||||||
|
SABP_Kill_IEs_t *kill_IEs,
|
||||||
|
ANY_t *any_p);
|
||||||
|
|
||||||
|
/** \brief Encode function for Kill-IEs ies.
|
||||||
|
* \param sabP_Kill Pointer to the ASN1 structure.
|
||||||
|
* \param kill_IEs Pointer to the IES structure.
|
||||||
|
**/
|
||||||
|
int sabp_encode_kill_ies(
|
||||||
|
SABP_Kill_t *sabP_Kill,
|
||||||
|
SABP_Kill_IEs_t *kill_IEs);
|
||||||
|
|
||||||
|
/** \brief Decode function for Kill-Complete-IEs ies.
|
||||||
|
* \param kill_Complete_IEs Pointer to ASN1 structure in which data will be stored
|
||||||
|
* \param any_p Pointer to the ANY value to decode.
|
||||||
|
**/
|
||||||
|
int sabp_decode_kill_complete_ies(
|
||||||
|
SABP_Kill_Complete_IEs_t *kill_Complete_IEs,
|
||||||
|
ANY_t *any_p);
|
||||||
|
|
||||||
|
/** \brief Encode function for Kill-Complete-IEs ies.
|
||||||
|
* \param sabP_Kill_Complete Pointer to the ASN1 structure.
|
||||||
|
* \param kill_Complete_IEs Pointer to the IES structure.
|
||||||
|
**/
|
||||||
|
int sabp_encode_kill_complete_ies(
|
||||||
|
SABP_Kill_Complete_t *sabP_Kill_Complete,
|
||||||
|
SABP_Kill_Complete_IEs_t *kill_Complete_IEs);
|
||||||
|
|
||||||
|
/** \brief Decode function for Kill-Failure-IEs ies.
|
||||||
|
* \param kill_Failure_IEs Pointer to ASN1 structure in which data will be stored
|
||||||
|
* \param any_p Pointer to the ANY value to decode.
|
||||||
|
**/
|
||||||
|
int sabp_decode_kill_failure_ies(
|
||||||
|
SABP_Kill_Failure_IEs_t *kill_Failure_IEs,
|
||||||
|
ANY_t *any_p);
|
||||||
|
|
||||||
|
/** \brief Encode function for Kill-Failure-IEs ies.
|
||||||
|
* \param sabP_Kill_Failure Pointer to the ASN1 structure.
|
||||||
|
* \param kill_Failure_IEs Pointer to the IES structure.
|
||||||
|
**/
|
||||||
|
int sabp_encode_kill_failure_ies(
|
||||||
|
SABP_Kill_Failure_t *sabP_Kill_Failure,
|
||||||
|
SABP_Kill_Failure_IEs_t *kill_Failure_IEs);
|
||||||
|
|
||||||
|
/** \brief Decode function for Load-Query-IEs ies.
|
||||||
|
* \param load_Query_IEs Pointer to ASN1 structure in which data will be stored
|
||||||
|
* \param any_p Pointer to the ANY value to decode.
|
||||||
|
**/
|
||||||
|
int sabp_decode_load_query_ies(
|
||||||
|
SABP_Load_Query_IEs_t *load_Query_IEs,
|
||||||
|
ANY_t *any_p);
|
||||||
|
|
||||||
|
/** \brief Encode function for Load-Query-IEs ies.
|
||||||
|
* \param sabP_Load_Query Pointer to the ASN1 structure.
|
||||||
|
* \param load_Query_IEs Pointer to the IES structure.
|
||||||
|
**/
|
||||||
|
int sabp_encode_load_query_ies(
|
||||||
|
SABP_Load_Query_t *sabP_Load_Query,
|
||||||
|
SABP_Load_Query_IEs_t *load_Query_IEs);
|
||||||
|
|
||||||
|
/** \brief Decode function for Load-Query-Failure-IEs ies.
|
||||||
|
* \param load_Query_Failure_IEs Pointer to ASN1 structure in which data will be stored
|
||||||
|
* \param any_p Pointer to the ANY value to decode.
|
||||||
|
**/
|
||||||
|
int sabp_decode_load_query_failure_ies(
|
||||||
|
SABP_Load_Query_Failure_IEs_t *load_Query_Failure_IEs,
|
||||||
|
ANY_t *any_p);
|
||||||
|
|
||||||
|
/** \brief Encode function for Load-Query-Failure-IEs ies.
|
||||||
|
* \param sabP_Load_Query_Failure Pointer to the ASN1 structure.
|
||||||
|
* \param load_Query_Failure_IEs Pointer to the IES structure.
|
||||||
|
**/
|
||||||
|
int sabp_encode_load_query_failure_ies(
|
||||||
|
SABP_Load_Query_Failure_t *sabP_Load_Query_Failure,
|
||||||
|
SABP_Load_Query_Failure_IEs_t *load_Query_Failure_IEs);
|
||||||
|
|
||||||
|
/** \brief Decode function for Message-Status-Query-IEs ies.
|
||||||
|
* \param message_Status_Query_IEs Pointer to ASN1 structure in which data will be stored
|
||||||
|
* \param any_p Pointer to the ANY value to decode.
|
||||||
|
**/
|
||||||
|
int sabp_decode_message_status_query_ies(
|
||||||
|
SABP_Message_Status_Query_IEs_t *message_Status_Query_IEs,
|
||||||
|
ANY_t *any_p);
|
||||||
|
|
||||||
|
/** \brief Encode function for Message-Status-Query-IEs ies.
|
||||||
|
* \param sabP_Message_Status_Query Pointer to the ASN1 structure.
|
||||||
|
* \param message_Status_Query_IEs Pointer to the IES structure.
|
||||||
|
**/
|
||||||
|
int sabp_encode_message_status_query_ies(
|
||||||
|
SABP_Message_Status_Query_t *sabP_Message_Status_Query,
|
||||||
|
SABP_Message_Status_Query_IEs_t *message_Status_Query_IEs);
|
||||||
|
|
||||||
|
/** \brief Decode function for Message-Status-Query-Complete-IEs ies.
|
||||||
|
* \param message_Status_Query_Complete_IEs Pointer to ASN1 structure in which data will be stored
|
||||||
|
* \param any_p Pointer to the ANY value to decode.
|
||||||
|
**/
|
||||||
|
int sabp_decode_message_status_query_complete_ies(
|
||||||
|
SABP_Message_Status_Query_Complete_IEs_t *message_Status_Query_Complete_IEs,
|
||||||
|
ANY_t *any_p);
|
||||||
|
|
||||||
|
/** \brief Encode function for Message-Status-Query-Complete-IEs ies.
|
||||||
|
* \param sabP_Message_Status_Query_Complete Pointer to the ASN1 structure.
|
||||||
|
* \param message_Status_Query_Complete_IEs Pointer to the IES structure.
|
||||||
|
**/
|
||||||
|
int sabp_encode_message_status_query_complete_ies(
|
||||||
|
SABP_Message_Status_Query_Complete_t *sabP_Message_Status_Query_Complete,
|
||||||
|
SABP_Message_Status_Query_Complete_IEs_t *message_Status_Query_Complete_IEs);
|
||||||
|
|
||||||
|
/** \brief Decode function for Message-Status-Query-Failure-IEs ies.
|
||||||
|
* \param message_Status_Query_Failure_IEs Pointer to ASN1 structure in which data will be stored
|
||||||
|
* \param any_p Pointer to the ANY value to decode.
|
||||||
|
**/
|
||||||
|
int sabp_decode_message_status_query_failure_ies(
|
||||||
|
SABP_Message_Status_Query_Failure_IEs_t *message_Status_Query_Failure_IEs,
|
||||||
|
ANY_t *any_p);
|
||||||
|
|
||||||
|
/** \brief Encode function for Message-Status-Query-Failure-IEs ies.
|
||||||
|
* \param sabP_Message_Status_Query_Failure Pointer to the ASN1 structure.
|
||||||
|
* \param message_Status_Query_Failure_IEs Pointer to the IES structure.
|
||||||
|
**/
|
||||||
|
int sabp_encode_message_status_query_failure_ies(
|
||||||
|
SABP_Message_Status_Query_Failure_t *sabP_Message_Status_Query_Failure,
|
||||||
|
SABP_Message_Status_Query_Failure_IEs_t *message_Status_Query_Failure_IEs);
|
||||||
|
|
||||||
|
/** \brief Decode function for Reset-IEs ies.
|
||||||
|
* \param reset_IEs Pointer to ASN1 structure in which data will be stored
|
||||||
|
* \param any_p Pointer to the ANY value to decode.
|
||||||
|
**/
|
||||||
|
int sabp_decode_reset_ies(
|
||||||
|
SABP_Reset_IEs_t *reset_IEs,
|
||||||
|
ANY_t *any_p);
|
||||||
|
|
||||||
|
/** \brief Encode function for Reset-IEs ies.
|
||||||
|
* \param sabP_Reset Pointer to the ASN1 structure.
|
||||||
|
* \param reset_IEs Pointer to the IES structure.
|
||||||
|
**/
|
||||||
|
int sabp_encode_reset_ies(
|
||||||
|
SABP_Reset_t *sabP_Reset,
|
||||||
|
SABP_Reset_IEs_t *reset_IEs);
|
||||||
|
|
||||||
|
/** \brief Decode function for Reset-Complete-IEs ies.
|
||||||
|
* \param reset_Complete_IEs Pointer to ASN1 structure in which data will be stored
|
||||||
|
* \param any_p Pointer to the ANY value to decode.
|
||||||
|
**/
|
||||||
|
int sabp_decode_reset_complete_ies(
|
||||||
|
SABP_Reset_Complete_IEs_t *reset_Complete_IEs,
|
||||||
|
ANY_t *any_p);
|
||||||
|
|
||||||
|
/** \brief Encode function for Reset-Complete-IEs ies.
|
||||||
|
* \param sabP_Reset_Complete Pointer to the ASN1 structure.
|
||||||
|
* \param reset_Complete_IEs Pointer to the IES structure.
|
||||||
|
**/
|
||||||
|
int sabp_encode_reset_complete_ies(
|
||||||
|
SABP_Reset_Complete_t *sabP_Reset_Complete,
|
||||||
|
SABP_Reset_Complete_IEs_t *reset_Complete_IEs);
|
||||||
|
|
||||||
|
/** \brief Decode function for Reset-Failure-IEs ies.
|
||||||
|
* \param reset_Failure_IEs Pointer to ASN1 structure in which data will be stored
|
||||||
|
* \param any_p Pointer to the ANY value to decode.
|
||||||
|
**/
|
||||||
|
int sabp_decode_reset_failure_ies(
|
||||||
|
SABP_Reset_Failure_IEs_t *reset_Failure_IEs,
|
||||||
|
ANY_t *any_p);
|
||||||
|
|
||||||
|
/** \brief Encode function for Reset-Failure-IEs ies.
|
||||||
|
* \param sabP_Reset_Failure Pointer to the ASN1 structure.
|
||||||
|
* \param reset_Failure_IEs Pointer to the IES structure.
|
||||||
|
**/
|
||||||
|
int sabp_encode_reset_failure_ies(
|
||||||
|
SABP_Reset_Failure_t *sabP_Reset_Failure,
|
||||||
|
SABP_Reset_Failure_IEs_t *reset_Failure_IEs);
|
||||||
|
|
||||||
|
/** \brief Decode function for Restart-IEs ies.
|
||||||
|
* \param restart_IEs Pointer to ASN1 structure in which data will be stored
|
||||||
|
* \param any_p Pointer to the ANY value to decode.
|
||||||
|
**/
|
||||||
|
int sabp_decode_restart_ies(
|
||||||
|
SABP_Restart_IEs_t *restart_IEs,
|
||||||
|
ANY_t *any_p);
|
||||||
|
|
||||||
|
/** \brief Encode function for Restart-IEs ies.
|
||||||
|
* \param sabP_Restart Pointer to the ASN1 structure.
|
||||||
|
* \param restart_IEs Pointer to the IES structure.
|
||||||
|
**/
|
||||||
|
int sabp_encode_restart_ies(
|
||||||
|
SABP_Restart_t *sabP_Restart,
|
||||||
|
SABP_Restart_IEs_t *restart_IEs);
|
||||||
|
|
||||||
|
/** \brief Decode function for Error-Indication-IEs ies.
|
||||||
|
* \param error_Indication_IEs Pointer to ASN1 structure in which data will be stored
|
||||||
|
* \param any_p Pointer to the ANY value to decode.
|
||||||
|
**/
|
||||||
|
int sabp_decode_error_indication_ies(
|
||||||
|
SABP_Error_Indication_IEs_t *error_Indication_IEs,
|
||||||
|
ANY_t *any_p);
|
||||||
|
|
||||||
|
/** \brief Encode function for Error-Indication-IEs ies.
|
||||||
|
* \param sabP_Error_Indication Pointer to the ASN1 structure.
|
||||||
|
* \param error_Indication_IEs Pointer to the IES structure.
|
||||||
|
**/
|
||||||
|
int sabp_encode_error_indication_ies(
|
||||||
|
SABP_Error_Indication_t *sabP_Error_Indication,
|
||||||
|
SABP_Error_Indication_IEs_t *error_Indication_IEs);
|
||||||
|
|
||||||
|
int sabp_free_write_replace_ies(
|
||||||
|
SABP_Write_Replace_IEs_t *write_Replace_IEs);
|
||||||
|
|
||||||
|
int sabp_free_write_replace_complete_ies(
|
||||||
|
SABP_Write_Replace_Complete_IEs_t *write_Replace_Complete_IEs);
|
||||||
|
|
||||||
|
int sabp_free_write_replace_failure_ies(
|
||||||
|
SABP_Write_Replace_Failure_IEs_t *write_Replace_Failure_IEs);
|
||||||
|
|
||||||
|
int sabp_free_kill_ies(
|
||||||
|
SABP_Kill_IEs_t *kill_IEs);
|
||||||
|
|
||||||
|
int sabp_free_kill_complete_ies(
|
||||||
|
SABP_Kill_Complete_IEs_t *kill_Complete_IEs);
|
||||||
|
|
||||||
|
int sabp_free_kill_failure_ies(
|
||||||
|
SABP_Kill_Failure_IEs_t *kill_Failure_IEs);
|
||||||
|
|
||||||
|
int sabp_free_load_query_ies(
|
||||||
|
SABP_Load_Query_IEs_t *load_Query_IEs);
|
||||||
|
|
||||||
|
int sabp_free_load_query_failure_ies(
|
||||||
|
SABP_Load_Query_Failure_IEs_t *load_Query_Failure_IEs);
|
||||||
|
|
||||||
|
int sabp_free_message_status_query_ies(
|
||||||
|
SABP_Message_Status_Query_IEs_t *message_Status_Query_IEs);
|
||||||
|
|
||||||
|
int sabp_free_message_status_query_complete_ies(
|
||||||
|
SABP_Message_Status_Query_Complete_IEs_t *message_Status_Query_Complete_IEs);
|
||||||
|
|
||||||
|
int sabp_free_message_status_query_failure_ies(
|
||||||
|
SABP_Message_Status_Query_Failure_IEs_t *message_Status_Query_Failure_IEs);
|
||||||
|
|
||||||
|
int sabp_free_reset_ies(
|
||||||
|
SABP_Reset_IEs_t *reset_IEs);
|
||||||
|
|
||||||
|
int sabp_free_reset_complete_ies(
|
||||||
|
SABP_Reset_Complete_IEs_t *reset_Complete_IEs);
|
||||||
|
|
||||||
|
int sabp_free_reset_failure_ies(
|
||||||
|
SABP_Reset_Failure_IEs_t *reset_Failure_IEs);
|
||||||
|
|
||||||
|
int sabp_free_restart_ies(
|
||||||
|
SABP_Restart_IEs_t *restart_IEs);
|
||||||
|
|
||||||
|
int sabp_free_error_indication_ies(
|
||||||
|
SABP_Error_Indication_IEs_t *error_Indication_IEs);
|
||||||
|
|
||||||
|
#endif /* SABP_IES_DEFS_H_ */
|
||||||
|
|
Loading…
Reference in New Issue