From 0ba59af7abf245861fe322b6f94c8b4bd4a0cbd8 Mon Sep 17 00:00:00 2001 From: Sukchan Lee Date: Sun, 26 Apr 2026 18:16:10 +0900 Subject: [PATCH] update it --- lib/s1ap/build.c | 42 +++-- src/mme/s1ap-build.c | 350 +++++++++++++++++++++++++++--------- tests/common/s1ap-build.c | 308 +++++++++++++++++++++++-------- tests/common/s1ap-handler.c | 16 +- 4 files changed, 536 insertions(+), 180 deletions(-) diff --git a/lib/s1ap/build.c b/lib/s1ap/build.c index 66789f941..b3fdf88d8 100644 --- a/lib/s1ap/build.c +++ b/lib/s1ap/build.c @@ -52,16 +52,22 @@ ogs_pkbuf_t *ogs_s1ap_build_error_indication( ogs_assert(initiatingMessage->value.choice.ErrorIndication); ErrorIndication = initiatingMessage->value.choice.ErrorIndication; + ErrorIndication->protocolIEs = + ogs_asn_calloc_type_member(&asn_DEF_S1AP_ErrorIndication, 0); + ogs_assert(ErrorIndication->protocolIEs); + if (mme_ue_s1ap_id) { ie = CALLOC(1, sizeof(S1AP_ErrorIndicationIEs_t)); - ASN_SEQUENCE_ADD(&ErrorIndication->protocolIEs, ie); + ASN_SEQUENCE_ADD( + (asn_anonymous_sequence_ *)ErrorIndication->protocolIEs, + ie); ie->id = S1AP_ProtocolIE_ID_id_MME_UE_S1AP_ID; ie->criticality = S1AP_Criticality_ignore; ie->value.present = S1AP_ErrorIndicationIEs__value_PR_MME_UE_S1AP_ID; ie->value.choice.MME_UE_S1AP_ID = - CALLOC(1, sizeof(S1AP_MME_UE_S1AP_ID_t)); + CALLOC(1, sizeof(*MME_UE_S1AP_ID)); MME_UE_S1AP_ID = ie->value.choice.MME_UE_S1AP_ID; *MME_UE_S1AP_ID = *mme_ue_s1ap_id; @@ -70,14 +76,16 @@ ogs_pkbuf_t *ogs_s1ap_build_error_indication( if (enb_ue_s1ap_id) { ie = CALLOC(1, sizeof(S1AP_ErrorIndicationIEs_t)); - ASN_SEQUENCE_ADD(&ErrorIndication->protocolIEs, ie); + ASN_SEQUENCE_ADD( + (asn_anonymous_sequence_ *)ErrorIndication->protocolIEs, + ie); ie->id = S1AP_ProtocolIE_ID_id_eNB_UE_S1AP_ID; ie->criticality = S1AP_Criticality_ignore; ie->value.present = S1AP_ErrorIndicationIEs__value_PR_ENB_UE_S1AP_ID; ie->value.choice.ENB_UE_S1AP_ID = - CALLOC(1, sizeof(S1AP_ENB_UE_S1AP_ID_t)); + CALLOC(1, sizeof(*ENB_UE_S1AP_ID)); ENB_UE_S1AP_ID = ie->value.choice.ENB_UE_S1AP_ID; *ENB_UE_S1AP_ID = *enb_ue_s1ap_id; @@ -85,7 +93,9 @@ ogs_pkbuf_t *ogs_s1ap_build_error_indication( } ie = CALLOC(1, sizeof(S1AP_ErrorIndicationIEs_t)); - ASN_SEQUENCE_ADD(&ErrorIndication->protocolIEs, ie); + ASN_SEQUENCE_ADD( + (asn_anonymous_sequence_ *)ErrorIndication->protocolIEs, + ie); ie->id = S1AP_ProtocolIE_ID_id_Cause; ie->criticality = S1AP_Criticality_ignore; @@ -131,8 +141,13 @@ ogs_pkbuf_t *ogs_s1ap_build_s1_reset( ogs_assert(initiatingMessage->value.choice.Reset); Reset = initiatingMessage->value.choice.Reset; + Reset->protocolIEs = + ogs_asn_calloc_type_member(&asn_DEF_S1AP_Reset, 0); + ogs_assert(Reset->protocolIEs); + ie = CALLOC(1, sizeof(S1AP_ResetIEs_t)); - ASN_SEQUENCE_ADD(&Reset->protocolIEs, ie); + ASN_SEQUENCE_ADD( + (asn_anonymous_sequence_ *)Reset->protocolIEs, ie); ie->id = S1AP_ProtocolIE_ID_id_Cause; ie->criticality = S1AP_Criticality_ignore; @@ -142,7 +157,8 @@ ogs_pkbuf_t *ogs_s1ap_build_s1_reset( Cause = ie->value.choice.Cause; ie = CALLOC(1, sizeof(S1AP_ResetIEs_t)); - ASN_SEQUENCE_ADD(&Reset->protocolIEs, ie); + ASN_SEQUENCE_ADD( + (asn_anonymous_sequence_ *)Reset->protocolIEs, ie); ie->id = S1AP_ProtocolIE_ID_id_ResetType; ie->criticality = S1AP_Criticality_reject; @@ -237,12 +253,18 @@ ogs_pkbuf_t *ogs_s1ap_build_s1_reset_ack( ogs_assert(successfulOutcome->value.choice.ResetAcknowledge); ResetAcknowledge = successfulOutcome->value.choice.ResetAcknowledge; + ResetAcknowledge->protocolIEs = + ogs_asn_calloc_type_member(&asn_DEF_S1AP_ResetAcknowledge, 0); + ogs_assert(ResetAcknowledge->protocolIEs); + if (partOfS1_Interface && partOfS1_Interface->list.count) { int i; S1AP_UE_associatedLogicalS1_ConnectionListResAck_t *list = NULL; ie = CALLOC(1, sizeof(S1AP_ResetAcknowledgeIEs_t)); - ASN_SEQUENCE_ADD(&ResetAcknowledge->protocolIEs, ie); + ASN_SEQUENCE_ADD( + (asn_anonymous_sequence_ *)ResetAcknowledge->protocolIEs, + ie); ie->id = S1AP_ProtocolIE_ID_id_UE_associatedLogicalS1_ConnectionListResAck; @@ -292,14 +314,14 @@ ogs_pkbuf_t *ogs_s1ap_build_s1_reset_ack( if (item1->mME_UE_S1AP_ID) { item2->mME_UE_S1AP_ID = - CALLOC(1, sizeof(S1AP_MME_UE_S1AP_ID_t)); + CALLOC(1, sizeof(*item2->mME_UE_S1AP_ID)); ogs_assert(item2->mME_UE_S1AP_ID); *item2->mME_UE_S1AP_ID = *item1->mME_UE_S1AP_ID; } if (item1->eNB_UE_S1AP_ID) { item2->eNB_UE_S1AP_ID = - CALLOC(1, sizeof(S1AP_ENB_UE_S1AP_ID_t)); + CALLOC(1, sizeof(*item2->eNB_UE_S1AP_ID)); ogs_assert(item2->eNB_UE_S1AP_ID); *item2->eNB_UE_S1AP_ID = *item1->eNB_UE_S1AP_ID; } diff --git a/src/mme/s1ap-build.c b/src/mme/s1ap-build.c index 629cfd82a..1e098338a 100644 --- a/src/mme/s1ap-build.c +++ b/src/mme/s1ap-build.c @@ -53,9 +53,14 @@ ogs_pkbuf_t *s1ap_build_setup_rsp(void) successfulOutcome->value.choice.S1SetupResponse = CALLOC(1, sizeof(*S1SetupResponse)); S1SetupResponse = successfulOutcome->value.choice.S1SetupResponse; + S1SetupResponse->protocolIEs = + ogs_asn_calloc_type_member(&asn_DEF_S1AP_S1SetupResponse, 0); + ogs_assert(S1SetupResponse->protocolIEs); + if (mme_self()->mme_name) { ie = CALLOC(1, sizeof(S1AP_S1SetupResponseIEs_t)); - ASN_SEQUENCE_ADD(&S1SetupResponse->protocolIEs, ie); + ASN_SEQUENCE_ADD( + (asn_anonymous_sequence_ *)S1SetupResponse->protocolIEs, ie); ie->id = S1AP_ProtocolIE_ID_id_MMEname; ie->criticality = S1AP_Criticality_ignore; @@ -66,7 +71,8 @@ ogs_pkbuf_t *s1ap_build_setup_rsp(void) } ie = CALLOC(1, sizeof(S1AP_S1SetupResponseIEs_t)); - ASN_SEQUENCE_ADD(&S1SetupResponse->protocolIEs, ie); + ASN_SEQUENCE_ADD( + (asn_anonymous_sequence_ *)S1SetupResponse->protocolIEs, ie); ie->id = S1AP_ProtocolIE_ID_id_ServedGUMMEIs; ie->criticality = S1AP_Criticality_reject; @@ -76,7 +82,8 @@ ogs_pkbuf_t *s1ap_build_setup_rsp(void) ServedGUMMEIs = ie->value.choice.ServedGUMMEIs; ie = CALLOC(1, sizeof(S1AP_S1SetupResponseIEs_t)); - ASN_SEQUENCE_ADD(&S1SetupResponse->protocolIEs, ie); + ASN_SEQUENCE_ADD( + (asn_anonymous_sequence_ *)S1SetupResponse->protocolIEs, ie); ie->id = S1AP_ProtocolIE_ID_id_RelativeMMECapacity; ie->criticality = S1AP_Criticality_ignore; @@ -173,8 +180,13 @@ ogs_pkbuf_t *s1ap_build_setup_failure( unsuccessfulOutcome->value.choice.S1SetupFailure = CALLOC(1, sizeof(*S1SetupFailure)); S1SetupFailure = unsuccessfulOutcome->value.choice.S1SetupFailure; + S1SetupFailure->protocolIEs = + ogs_asn_calloc_type_member(&asn_DEF_S1AP_S1SetupFailure, 0); + ogs_assert(S1SetupFailure->protocolIEs); + ie = CALLOC(1, sizeof(S1AP_S1SetupFailureIEs_t)); - ASN_SEQUENCE_ADD(&S1SetupFailure->protocolIEs, ie); + ASN_SEQUENCE_ADD( + (asn_anonymous_sequence_ *)S1SetupFailure->protocolIEs, ie); ie->id = S1AP_ProtocolIE_ID_id_Cause; ie->criticality = S1AP_Criticality_ignore; @@ -185,7 +197,8 @@ ogs_pkbuf_t *s1ap_build_setup_failure( if (time_to_wait > -1) { ie = CALLOC(1, sizeof(S1AP_S1SetupFailureIEs_t)); - ASN_SEQUENCE_ADD(&S1SetupFailure->protocolIEs, ie); + ASN_SEQUENCE_ADD( + (asn_anonymous_sequence_ *)S1SetupFailure->protocolIEs, ie); ie->id = S1AP_ProtocolIE_ID_id_TimeToWait; ie->criticality = S1AP_Criticality_ignore; @@ -256,8 +269,13 @@ ogs_pkbuf_t *s1ap_build_enb_configuration_update_failure( unsuccessfulOutcome->value.choice.ENBConfigurationUpdateFailure = CALLOC(1, sizeof(*ENBConfigurationUpdateFailure)); ENBConfigurationUpdateFailure = unsuccessfulOutcome->value.choice.ENBConfigurationUpdateFailure; + ENBConfigurationUpdateFailure->protocolIEs = + ogs_asn_calloc_type_member(&asn_DEF_S1AP_ENBConfigurationUpdateFailure, 0); + ogs_assert(ENBConfigurationUpdateFailure->protocolIEs); + ie = CALLOC(1, sizeof(S1AP_ENBConfigurationUpdateFailureIEs_t)); - ASN_SEQUENCE_ADD(&ENBConfigurationUpdateFailure->protocolIEs, ie); + ASN_SEQUENCE_ADD( + (asn_anonymous_sequence_ *)ENBConfigurationUpdateFailure->protocolIEs, ie); ie->id = S1AP_ProtocolIE_ID_id_Cause; ie->criticality = S1AP_Criticality_ignore; @@ -268,7 +286,8 @@ ogs_pkbuf_t *s1ap_build_enb_configuration_update_failure( if (time_to_wait > -1) { ie = CALLOC(1, sizeof(S1AP_ENBConfigurationUpdateFailureIEs_t)); - ASN_SEQUENCE_ADD(&ENBConfigurationUpdateFailure->protocolIEs, ie); + ASN_SEQUENCE_ADD( + (asn_anonymous_sequence_ *)ENBConfigurationUpdateFailure->protocolIEs, ie); ie->id = S1AP_ProtocolIE_ID_id_TimeToWait; ie->criticality = S1AP_Criticality_ignore; @@ -319,8 +338,13 @@ ogs_pkbuf_t *s1ap_build_downlink_nas_transport( initiatingMessage->value.choice.DownlinkNASTransport = CALLOC(1, sizeof(*DownlinkNASTransport)); DownlinkNASTransport = initiatingMessage->value.choice.DownlinkNASTransport; + DownlinkNASTransport->protocolIEs = + ogs_asn_calloc_type_member(&asn_DEF_S1AP_DownlinkNASTransport, 0); + ogs_assert(DownlinkNASTransport->protocolIEs); + ie = CALLOC(1, sizeof(S1AP_DownlinkNASTransport_IEs_t)); - ASN_SEQUENCE_ADD(&DownlinkNASTransport->protocolIEs, ie); + ASN_SEQUENCE_ADD( + (asn_anonymous_sequence_ *)DownlinkNASTransport->protocolIEs, ie); ie->id = S1AP_ProtocolIE_ID_id_MME_UE_S1AP_ID; ie->criticality = S1AP_Criticality_reject; @@ -330,7 +354,8 @@ ogs_pkbuf_t *s1ap_build_downlink_nas_transport( MME_UE_S1AP_ID = ie->value.choice.MME_UE_S1AP_ID; ie = CALLOC(1, sizeof(S1AP_DownlinkNASTransport_IEs_t)); - ASN_SEQUENCE_ADD(&DownlinkNASTransport->protocolIEs, ie); + ASN_SEQUENCE_ADD( + (asn_anonymous_sequence_ *)DownlinkNASTransport->protocolIEs, ie); ie->id = S1AP_ProtocolIE_ID_id_eNB_UE_S1AP_ID; ie->criticality = S1AP_Criticality_reject; @@ -340,7 +365,8 @@ ogs_pkbuf_t *s1ap_build_downlink_nas_transport( ENB_UE_S1AP_ID = ie->value.choice.ENB_UE_S1AP_ID; ie = CALLOC(1, sizeof(S1AP_DownlinkNASTransport_IEs_t)); - ASN_SEQUENCE_ADD(&DownlinkNASTransport->protocolIEs, ie); + ASN_SEQUENCE_ADD( + (asn_anonymous_sequence_ *)DownlinkNASTransport->protocolIEs, ie); ie->id = S1AP_ProtocolIE_ID_id_NAS_PDU; ie->criticality = S1AP_Criticality_reject; @@ -485,8 +511,13 @@ ogs_pkbuf_t *s1ap_build_initial_context_setup_request( initiatingMessage->value.choice.InitialContextSetupRequest = CALLOC(1, sizeof(*InitialContextSetupRequest)); InitialContextSetupRequest = initiatingMessage->value.choice.InitialContextSetupRequest; + InitialContextSetupRequest->protocolIEs = + ogs_asn_calloc_type_member(&asn_DEF_S1AP_InitialContextSetupRequest, 0); + ogs_assert(InitialContextSetupRequest->protocolIEs); + ie = CALLOC(1, sizeof(S1AP_InitialContextSetupRequestIEs_t)); - ASN_SEQUENCE_ADD(&InitialContextSetupRequest->protocolIEs, ie); + ASN_SEQUENCE_ADD( + (asn_anonymous_sequence_ *)InitialContextSetupRequest->protocolIEs, ie); ie->id = S1AP_ProtocolIE_ID_id_MME_UE_S1AP_ID; ie->criticality = S1AP_Criticality_reject; @@ -497,7 +528,8 @@ ogs_pkbuf_t *s1ap_build_initial_context_setup_request( MME_UE_S1AP_ID = ie->value.choice.MME_UE_S1AP_ID; ie = CALLOC(1, sizeof(S1AP_InitialContextSetupRequestIEs_t)); - ASN_SEQUENCE_ADD(&InitialContextSetupRequest->protocolIEs, ie); + ASN_SEQUENCE_ADD( + (asn_anonymous_sequence_ *)InitialContextSetupRequest->protocolIEs, ie); ie->id = S1AP_ProtocolIE_ID_id_eNB_UE_S1AP_ID; ie->criticality = S1AP_Criticality_reject; @@ -508,7 +540,8 @@ ogs_pkbuf_t *s1ap_build_initial_context_setup_request( ENB_UE_S1AP_ID = ie->value.choice.ENB_UE_S1AP_ID; ie = CALLOC(1, sizeof(S1AP_InitialContextSetupRequestIEs_t)); - ASN_SEQUENCE_ADD(&InitialContextSetupRequest->protocolIEs, ie); + ASN_SEQUENCE_ADD( + (asn_anonymous_sequence_ *)InitialContextSetupRequest->protocolIEs, ie); ie->id = S1AP_ProtocolIE_ID_id_uEaggregateMaximumBitrate; ie->criticality = S1AP_Criticality_reject; @@ -519,7 +552,8 @@ ogs_pkbuf_t *s1ap_build_initial_context_setup_request( UEAggregateMaximumBitrate = ie->value.choice.UEAggregateMaximumBitrate; ie = CALLOC(1, sizeof(S1AP_InitialContextSetupRequestIEs_t)); - ASN_SEQUENCE_ADD(&InitialContextSetupRequest->protocolIEs, ie); + ASN_SEQUENCE_ADD( + (asn_anonymous_sequence_ *)InitialContextSetupRequest->protocolIEs, ie); ie->id = S1AP_ProtocolIE_ID_id_E_RABToBeSetupListCtxtSUReq; ie->criticality = S1AP_Criticality_reject; @@ -689,7 +723,8 @@ ogs_pkbuf_t *s1ap_build_initial_context_setup_request( } ie = CALLOC(1, sizeof(S1AP_InitialContextSetupRequestIEs_t)); - ASN_SEQUENCE_ADD(&InitialContextSetupRequest->protocolIEs, ie); + ASN_SEQUENCE_ADD( + (asn_anonymous_sequence_ *)InitialContextSetupRequest->protocolIEs, ie); ie->id = S1AP_ProtocolIE_ID_id_UESecurityCapabilities; ie->criticality = S1AP_Criticality_reject; @@ -725,7 +760,8 @@ ogs_pkbuf_t *s1ap_build_initial_context_setup_request( UESecurityCapabilities->integrityProtectionAlgorithms.size); ie = CALLOC(1, sizeof(S1AP_InitialContextSetupRequestIEs_t)); - ASN_SEQUENCE_ADD(&InitialContextSetupRequest->protocolIEs, ie); + ASN_SEQUENCE_ADD( + (asn_anonymous_sequence_ *)InitialContextSetupRequest->protocolIEs, ie); ie->id = S1AP_ProtocolIE_ID_id_SecurityKey; ie->criticality = S1AP_Criticality_reject; @@ -752,7 +788,8 @@ ogs_pkbuf_t *s1ap_build_initial_context_setup_request( S1AP_LAI_t *LAI = NULL; ie = CALLOC(1, sizeof(S1AP_InitialContextSetupRequestIEs_t)); - ASN_SEQUENCE_ADD(&InitialContextSetupRequest->protocolIEs, ie); + ASN_SEQUENCE_ADD( + (asn_anonymous_sequence_ *)InitialContextSetupRequest->protocolIEs, ie); ie->id = S1AP_ProtocolIE_ID_id_CSFallbackIndicator; ie->criticality = S1AP_Criticality_reject; @@ -767,7 +804,8 @@ ogs_pkbuf_t *s1ap_build_initial_context_setup_request( *CSFallbackIndicator = S1AP_CSFallbackIndicator_cs_fallback_required; ie = CALLOC(1, sizeof(S1AP_InitialContextSetupRequestIEs_t)); - ASN_SEQUENCE_ADD(&InitialContextSetupRequest->protocolIEs, ie); + ASN_SEQUENCE_ADD( + (asn_anonymous_sequence_ *)InitialContextSetupRequest->protocolIEs, ie); ie->id = S1AP_ProtocolIE_ID_id_RegisteredLAI; ie->criticality = S1AP_Criticality_ignore; @@ -796,7 +834,8 @@ ogs_pkbuf_t *s1ap_build_initial_context_setup_request( (int)mme_ue->ueRadioCapability.size); ie = CALLOC(1, sizeof(S1AP_InitialContextSetupRequestIEs_t)); - ASN_SEQUENCE_ADD(&InitialContextSetupRequest->protocolIEs, ie); + ASN_SEQUENCE_ADD( + (asn_anonymous_sequence_ *)InitialContextSetupRequest->protocolIEs, ie); ie->id = S1AP_ProtocolIE_ID_id_UERadioCapability; ie->criticality = S1AP_Criticality_ignore; @@ -825,7 +864,8 @@ ogs_pkbuf_t *s1ap_build_initial_context_setup_request( */ if (mme_ue->imeisv_len == OGS_MAX_IMEISV_LEN) { ie = CALLOC(1, sizeof(S1AP_InitialContextSetupRequestIEs_t)); - ASN_SEQUENCE_ADD(&InitialContextSetupRequest->protocolIEs, ie); + ASN_SEQUENCE_ADD( + (asn_anonymous_sequence_ *)InitialContextSetupRequest->protocolIEs, ie); ie->id = S1AP_ProtocolIE_ID_id_Masked_IMEISV; ie->criticality = S1AP_Criticality_ignore; @@ -846,7 +886,8 @@ ogs_pkbuf_t *s1ap_build_initial_context_setup_request( if (mme_ue->ue_additional_security_capability.length) { ie = CALLOC(1, sizeof(S1AP_InitialContextSetupRequestIEs_t)); - ASN_SEQUENCE_ADD(&InitialContextSetupRequest->protocolIEs, ie); + ASN_SEQUENCE_ADD( + (asn_anonymous_sequence_ *)InitialContextSetupRequest->protocolIEs, ie); ie->id = S1AP_ProtocolIE_ID_id_NRUESecurityCapabilities; ie->criticality = S1AP_Criticality_ignore; @@ -922,8 +963,13 @@ ogs_pkbuf_t *s1ap_build_ue_context_modification_request(mme_ue_t *mme_ue) initiatingMessage->value.choice.UEContextModificationRequest = CALLOC(1, sizeof(*UEContextModificationRequest)); UEContextModificationRequest = initiatingMessage->value.choice.UEContextModificationRequest; + UEContextModificationRequest->protocolIEs = + ogs_asn_calloc_type_member(&asn_DEF_S1AP_UEContextModificationRequest, 0); + ogs_assert(UEContextModificationRequest->protocolIEs); + ie = CALLOC(1, sizeof(S1AP_UEContextModificationRequestIEs_t)); - ASN_SEQUENCE_ADD(&UEContextModificationRequest->protocolIEs, ie); + ASN_SEQUENCE_ADD( + (asn_anonymous_sequence_ *)UEContextModificationRequest->protocolIEs, ie); ie->id = S1AP_ProtocolIE_ID_id_MME_UE_S1AP_ID; ie->criticality = S1AP_Criticality_reject; @@ -934,7 +980,8 @@ ogs_pkbuf_t *s1ap_build_ue_context_modification_request(mme_ue_t *mme_ue) MME_UE_S1AP_ID = ie->value.choice.MME_UE_S1AP_ID; ie = CALLOC(1, sizeof(S1AP_UEContextModificationRequestIEs_t)); - ASN_SEQUENCE_ADD(&UEContextModificationRequest->protocolIEs, ie); + ASN_SEQUENCE_ADD( + (asn_anonymous_sequence_ *)UEContextModificationRequest->protocolIEs, ie); ie->id = S1AP_ProtocolIE_ID_id_eNB_UE_S1AP_ID; ie->criticality = S1AP_Criticality_reject; @@ -953,7 +1000,8 @@ ogs_pkbuf_t *s1ap_build_ue_context_modification_request(mme_ue_t *mme_ue) if (mme_ue->nas_eps.type == MME_EPS_TYPE_EXTENDED_SERVICE_REQUEST && MME_CURRENT_P_TMSI_IS_AVAILABLE(mme_ue)) { ie = CALLOC(1, sizeof(S1AP_UEContextModificationRequestIEs_t)); - ASN_SEQUENCE_ADD(&UEContextModificationRequest->protocolIEs, ie); + ASN_SEQUENCE_ADD( + (asn_anonymous_sequence_ *)UEContextModificationRequest->protocolIEs, ie); ie->id = S1AP_ProtocolIE_ID_id_CSFallbackIndicator; ie->criticality = S1AP_Criticality_reject; @@ -967,7 +1015,8 @@ ogs_pkbuf_t *s1ap_build_ue_context_modification_request(mme_ue_t *mme_ue) *CSFallbackIndicator = S1AP_CSFallbackIndicator_cs_fallback_required; ie = CALLOC(1, sizeof(S1AP_UEContextModificationRequestIEs_t)); - ASN_SEQUENCE_ADD(&UEContextModificationRequest->protocolIEs, ie); + ASN_SEQUENCE_ADD( + (asn_anonymous_sequence_ *)UEContextModificationRequest->protocolIEs, ie); ie->id = S1AP_ProtocolIE_ID_id_RegisteredLAI; ie->criticality = S1AP_Criticality_ignore; @@ -986,7 +1035,8 @@ ogs_pkbuf_t *s1ap_build_ue_context_modification_request(mme_ue_t *mme_ue) } else { ie = CALLOC(1, sizeof(S1AP_UEContextModificationRequestIEs_t)); - ASN_SEQUENCE_ADD(&UEContextModificationRequest->protocolIEs, ie); + ASN_SEQUENCE_ADD( + (asn_anonymous_sequence_ *)UEContextModificationRequest->protocolIEs, ie); ie->id = S1AP_ProtocolIE_ID_id_UESecurityCapabilities; ie->criticality = S1AP_Criticality_reject; @@ -1012,7 +1062,8 @@ ogs_pkbuf_t *s1ap_build_ue_context_modification_request(mme_ue_t *mme_ue) (mme_ue->ue_network_capability.eia << 1); ie = CALLOC(1, sizeof(S1AP_UEContextModificationRequestIEs_t)); - ASN_SEQUENCE_ADD(&UEContextModificationRequest->protocolIEs, ie); + ASN_SEQUENCE_ADD( + (asn_anonymous_sequence_ *)UEContextModificationRequest->protocolIEs, ie); ie->id = S1AP_ProtocolIE_ID_id_SecurityKey; ie->criticality = S1AP_Criticality_reject; @@ -1065,8 +1116,13 @@ ogs_pkbuf_t *s1ap_build_ue_context_release_command( initiatingMessage->value.choice.UEContextReleaseCommand = CALLOC(1, sizeof(*UEContextReleaseCommand)); UEContextReleaseCommand = initiatingMessage->value.choice.UEContextReleaseCommand; + UEContextReleaseCommand->protocolIEs = + ogs_asn_calloc_type_member(&asn_DEF_S1AP_UEContextReleaseCommand, 0); + ogs_assert(UEContextReleaseCommand->protocolIEs); + ie = CALLOC(1, sizeof(S1AP_UEContextReleaseCommand_IEs_t)); - ASN_SEQUENCE_ADD(&UEContextReleaseCommand->protocolIEs, ie); + ASN_SEQUENCE_ADD( + (asn_anonymous_sequence_ *)UEContextReleaseCommand->protocolIEs, ie); ie->id = S1AP_ProtocolIE_ID_id_UE_S1AP_IDs; ie->criticality = S1AP_Criticality_reject; @@ -1076,7 +1132,8 @@ ogs_pkbuf_t *s1ap_build_ue_context_release_command( UE_S1AP_IDs = ie->value.choice.UE_S1AP_IDs; ie = CALLOC(1, sizeof(S1AP_UEContextReleaseCommand_IEs_t)); - ASN_SEQUENCE_ADD(&UEContextReleaseCommand->protocolIEs, ie); + ASN_SEQUENCE_ADD( + (asn_anonymous_sequence_ *)UEContextReleaseCommand->protocolIEs, ie); ie->id = S1AP_ProtocolIE_ID_id_Cause; ie->criticality = S1AP_Criticality_ignore; @@ -1150,8 +1207,13 @@ ogs_pkbuf_t *s1ap_build_e_rab_setup_request( initiatingMessage->value.choice.E_RABSetupRequest = CALLOC(1, sizeof(*E_RABSetupRequest)); E_RABSetupRequest = initiatingMessage->value.choice.E_RABSetupRequest; + E_RABSetupRequest->protocolIEs = + ogs_asn_calloc_type_member(&asn_DEF_S1AP_E_RABSetupRequest, 0); + ogs_assert(E_RABSetupRequest->protocolIEs); + ie = CALLOC(1, sizeof(S1AP_E_RABSetupRequestIEs_t)); - ASN_SEQUENCE_ADD(&E_RABSetupRequest->protocolIEs, ie); + ASN_SEQUENCE_ADD( + (asn_anonymous_sequence_ *)E_RABSetupRequest->protocolIEs, ie); ie->id = S1AP_ProtocolIE_ID_id_MME_UE_S1AP_ID; ie->criticality = S1AP_Criticality_reject; @@ -1161,7 +1223,8 @@ ogs_pkbuf_t *s1ap_build_e_rab_setup_request( MME_UE_S1AP_ID = ie->value.choice.MME_UE_S1AP_ID; ie = CALLOC(1, sizeof(S1AP_E_RABSetupRequestIEs_t)); - ASN_SEQUENCE_ADD(&E_RABSetupRequest->protocolIEs, ie); + ASN_SEQUENCE_ADD( + (asn_anonymous_sequence_ *)E_RABSetupRequest->protocolIEs, ie); ie->id = S1AP_ProtocolIE_ID_id_eNB_UE_S1AP_ID; ie->criticality = S1AP_Criticality_reject; @@ -1171,7 +1234,8 @@ ogs_pkbuf_t *s1ap_build_e_rab_setup_request( ENB_UE_S1AP_ID = ie->value.choice.ENB_UE_S1AP_ID; ie = CALLOC(1, sizeof(S1AP_E_RABSetupRequestIEs_t)); - ASN_SEQUENCE_ADD(&E_RABSetupRequest->protocolIEs, ie); + ASN_SEQUENCE_ADD( + (asn_anonymous_sequence_ *)E_RABSetupRequest->protocolIEs, ie); ie->id = S1AP_ProtocolIE_ID_id_E_RABToBeSetupListBearerSUReq; ie->criticality = S1AP_Criticality_reject; @@ -1306,8 +1370,13 @@ ogs_pkbuf_t *s1ap_build_e_rab_modify_request( initiatingMessage->value.choice.E_RABModifyRequest = CALLOC(1, sizeof(*E_RABModifyRequest)); E_RABModifyRequest = initiatingMessage->value.choice.E_RABModifyRequest; + E_RABModifyRequest->protocolIEs = + ogs_asn_calloc_type_member(&asn_DEF_S1AP_E_RABModifyRequest, 0); + ogs_assert(E_RABModifyRequest->protocolIEs); + ie = CALLOC(1, sizeof(S1AP_E_RABModifyRequestIEs_t)); - ASN_SEQUENCE_ADD(&E_RABModifyRequest->protocolIEs, ie); + ASN_SEQUENCE_ADD( + (asn_anonymous_sequence_ *)E_RABModifyRequest->protocolIEs, ie); ie->id = S1AP_ProtocolIE_ID_id_MME_UE_S1AP_ID; ie->criticality = S1AP_Criticality_reject; @@ -1317,7 +1386,8 @@ ogs_pkbuf_t *s1ap_build_e_rab_modify_request( MME_UE_S1AP_ID = ie->value.choice.MME_UE_S1AP_ID; ie = CALLOC(1, sizeof(S1AP_E_RABModifyRequestIEs_t)); - ASN_SEQUENCE_ADD(&E_RABModifyRequest->protocolIEs, ie); + ASN_SEQUENCE_ADD( + (asn_anonymous_sequence_ *)E_RABModifyRequest->protocolIEs, ie); ie->id = S1AP_ProtocolIE_ID_id_eNB_UE_S1AP_ID; ie->criticality = S1AP_Criticality_reject; @@ -1327,7 +1397,8 @@ ogs_pkbuf_t *s1ap_build_e_rab_modify_request( ENB_UE_S1AP_ID = ie->value.choice.ENB_UE_S1AP_ID; ie = CALLOC(1, sizeof(S1AP_E_RABModifyRequestIEs_t)); - ASN_SEQUENCE_ADD(&E_RABModifyRequest->protocolIEs, ie); + ASN_SEQUENCE_ADD( + (asn_anonymous_sequence_ *)E_RABModifyRequest->protocolIEs, ie); ie->id = S1AP_ProtocolIE_ID_id_E_RABToBeModifiedListBearerModReq; ie->criticality = S1AP_Criticality_reject; @@ -1446,8 +1517,13 @@ ogs_pkbuf_t *s1ap_build_e_rab_release_command( initiatingMessage->value.choice.E_RABReleaseCommand = CALLOC(1, sizeof(*E_RABReleaseCommand)); E_RABReleaseCommand = initiatingMessage->value.choice.E_RABReleaseCommand; + E_RABReleaseCommand->protocolIEs = + ogs_asn_calloc_type_member(&asn_DEF_S1AP_E_RABReleaseCommand, 0); + ogs_assert(E_RABReleaseCommand->protocolIEs); + ie = CALLOC(1, sizeof(S1AP_E_RABReleaseCommandIEs_t)); - ASN_SEQUENCE_ADD(&E_RABReleaseCommand->protocolIEs, ie); + ASN_SEQUENCE_ADD( + (asn_anonymous_sequence_ *)E_RABReleaseCommand->protocolIEs, ie); ie->id = S1AP_ProtocolIE_ID_id_MME_UE_S1AP_ID; ie->criticality = S1AP_Criticality_reject; @@ -1457,7 +1533,8 @@ ogs_pkbuf_t *s1ap_build_e_rab_release_command( MME_UE_S1AP_ID = ie->value.choice.MME_UE_S1AP_ID; ie = CALLOC(1, sizeof(S1AP_E_RABReleaseCommandIEs_t)); - ASN_SEQUENCE_ADD(&E_RABReleaseCommand->protocolIEs, ie); + ASN_SEQUENCE_ADD( + (asn_anonymous_sequence_ *)E_RABReleaseCommand->protocolIEs, ie); ie->id = S1AP_ProtocolIE_ID_id_eNB_UE_S1AP_ID; ie->criticality = S1AP_Criticality_reject; @@ -1468,7 +1545,8 @@ ogs_pkbuf_t *s1ap_build_e_rab_release_command( #if 0 /* It's redundant */ ie = CALLOC(1, sizeof(S1AP_E_RABReleaseCommandIEs_t)); - ASN_SEQUENCE_ADD(&E_RABReleaseCommand->protocolIEs, ie); + ASN_SEQUENCE_ADD( + (asn_anonymous_sequence_ *)E_RABReleaseCommand->protocolIEs, ie); ie->id = S1AP_ProtocolIE_ID_id_uEaggregateMaximumBitrate; ie->criticality = S1AP_Criticality_reject; @@ -1480,7 +1558,8 @@ ogs_pkbuf_t *s1ap_build_e_rab_release_command( #endif ie = CALLOC(1, sizeof(S1AP_E_RABReleaseCommandIEs_t)); - ASN_SEQUENCE_ADD(&E_RABReleaseCommand->protocolIEs, ie); + ASN_SEQUENCE_ADD( + (asn_anonymous_sequence_ *)E_RABReleaseCommand->protocolIEs, ie); ie->id = S1AP_ProtocolIE_ID_id_E_RABToBeReleasedList; ie->criticality = S1AP_Criticality_ignore; @@ -1490,7 +1569,8 @@ ogs_pkbuf_t *s1ap_build_e_rab_release_command( E_RABList = ie->value.choice.E_RABList; ie = CALLOC(1, sizeof(S1AP_E_RABReleaseCommandIEs_t)); - ASN_SEQUENCE_ADD(&E_RABReleaseCommand->protocolIEs, ie); + ASN_SEQUENCE_ADD( + (asn_anonymous_sequence_ *)E_RABReleaseCommand->protocolIEs, ie); ie->id = S1AP_ProtocolIE_ID_id_NAS_PDU; ie->criticality = S1AP_Criticality_ignore; @@ -1575,8 +1655,13 @@ ogs_pkbuf_t *s1ap_build_e_rab_modification_confirm(mme_ue_t *mme_ue) successfulOutcome->value.choice.E_RABModificationConfirm = CALLOC(1, sizeof(*E_RABModificationConfirm)); E_RABModificationConfirm = successfulOutcome->value.choice.E_RABModificationConfirm; + E_RABModificationConfirm->protocolIEs = + ogs_asn_calloc_type_member(&asn_DEF_S1AP_E_RABModificationConfirm, 0); + ogs_assert(E_RABModificationConfirm->protocolIEs); + ie = CALLOC(1, sizeof(S1AP_E_RABModificationConfirmIEs_t)); - ASN_SEQUENCE_ADD(&E_RABModificationConfirm->protocolIEs, ie); + ASN_SEQUENCE_ADD( + (asn_anonymous_sequence_ *)E_RABModificationConfirm->protocolIEs, ie); ie->id = S1AP_ProtocolIE_ID_id_MME_UE_S1AP_ID; ie->criticality = S1AP_Criticality_ignore; @@ -1587,7 +1672,8 @@ ogs_pkbuf_t *s1ap_build_e_rab_modification_confirm(mme_ue_t *mme_ue) MME_UE_S1AP_ID = ie->value.choice.MME_UE_S1AP_ID; ie = CALLOC(1, sizeof(S1AP_E_RABModificationConfirmIEs_t)); - ASN_SEQUENCE_ADD(&E_RABModificationConfirm->protocolIEs, ie); + ASN_SEQUENCE_ADD( + (asn_anonymous_sequence_ *)E_RABModificationConfirm->protocolIEs, ie); ie->id = S1AP_ProtocolIE_ID_id_eNB_UE_S1AP_ID; ie->criticality = S1AP_Criticality_ignore; @@ -1598,7 +1684,8 @@ ogs_pkbuf_t *s1ap_build_e_rab_modification_confirm(mme_ue_t *mme_ue) ENB_UE_S1AP_ID = ie->value.choice.ENB_UE_S1AP_ID; ie = CALLOC(1, sizeof(S1AP_E_RABModificationConfirmIEs_t)); - ASN_SEQUENCE_ADD(&E_RABModificationConfirm->protocolIEs, ie); + ASN_SEQUENCE_ADD( + (asn_anonymous_sequence_ *)E_RABModificationConfirm->protocolIEs, ie); ie->id = S1AP_ProtocolIE_ID_id_E_RABModifyListBearerModConf; ie->criticality = S1AP_Criticality_ignore; @@ -1675,8 +1762,13 @@ ogs_pkbuf_t *s1ap_build_paging( initiatingMessage->value.choice.Paging = CALLOC(1, sizeof(*Paging)); Paging = initiatingMessage->value.choice.Paging; + Paging->protocolIEs = + ogs_asn_calloc_type_member(&asn_DEF_S1AP_Paging, 0); + ogs_assert(Paging->protocolIEs); + ie = CALLOC(1, sizeof(S1AP_PagingIEs_t)); - ASN_SEQUENCE_ADD(&Paging->protocolIEs, ie); + ASN_SEQUENCE_ADD( + (asn_anonymous_sequence_ *)Paging->protocolIEs, ie); ie->id = S1AP_ProtocolIE_ID_id_UEIdentityIndexValue; ie->criticality = S1AP_Criticality_ignore; @@ -1686,7 +1778,8 @@ ogs_pkbuf_t *s1ap_build_paging( UEIdentityIndexValue = ie->value.choice.UEIdentityIndexValue; ie = CALLOC(1, sizeof(S1AP_PagingIEs_t)); - ASN_SEQUENCE_ADD(&Paging->protocolIEs, ie); + ASN_SEQUENCE_ADD( + (asn_anonymous_sequence_ *)Paging->protocolIEs, ie); ie->id = S1AP_ProtocolIE_ID_id_UEPagingID; ie->criticality = S1AP_Criticality_ignore; @@ -1696,7 +1789,8 @@ ogs_pkbuf_t *s1ap_build_paging( UEPagingID = ie->value.choice.UEPagingID; ie = CALLOC(1, sizeof(S1AP_PagingIEs_t)); - ASN_SEQUENCE_ADD(&Paging->protocolIEs, ie); + ASN_SEQUENCE_ADD( + (asn_anonymous_sequence_ *)Paging->protocolIEs, ie); ie->id = S1AP_ProtocolIE_ID_id_CNDomain; ie->criticality = S1AP_Criticality_ignore; @@ -1706,7 +1800,8 @@ ogs_pkbuf_t *s1ap_build_paging( CNDomain = ie->value.choice.CNDomain; ie = CALLOC(1, sizeof(S1AP_PagingIEs_t)); - ASN_SEQUENCE_ADD(&Paging->protocolIEs, ie); + ASN_SEQUENCE_ADD( + (asn_anonymous_sequence_ *)Paging->protocolIEs, ie); ie->id = S1AP_ProtocolIE_ID_id_TAIList; ie->criticality = S1AP_Criticality_ignore; @@ -1796,8 +1891,13 @@ ogs_pkbuf_t *s1ap_build_mme_configuration_transfer( initiatingMessage->value.choice.MMEConfigurationTransfer = CALLOC(1, sizeof(*MMEConfigurationTransfer)); MMEConfigurationTransfer = initiatingMessage->value.choice.MMEConfigurationTransfer; + MMEConfigurationTransfer->protocolIEs = + ogs_asn_calloc_type_member(&asn_DEF_S1AP_MMEConfigurationTransfer, 0); + ogs_assert(MMEConfigurationTransfer->protocolIEs); + ie = CALLOC(1, sizeof(S1AP_MMEConfigurationTransferIEs_t)); - ASN_SEQUENCE_ADD(&MMEConfigurationTransfer->protocolIEs, ie); + ASN_SEQUENCE_ADD( + (asn_anonymous_sequence_ *)MMEConfigurationTransfer->protocolIEs, ie); ie->id = S1AP_ProtocolIE_ID_id_SONConfigurationTransferMCT; ie->criticality = S1AP_Criticality_ignore; @@ -1848,8 +1948,13 @@ ogs_pkbuf_t *s1ap_build_direct_information_transfer(const uint8_t *buf, size_t b initiatingMessage->value.choice.MMEDirectInformationTransfer = CALLOC(1, sizeof(*MMEDirectInformationTransfer)); MMEDirectInformationTransfer = initiatingMessage->value.choice.MMEDirectInformationTransfer; + MMEDirectInformationTransfer->protocolIEs = + ogs_asn_calloc_type_member(&asn_DEF_S1AP_MMEDirectInformationTransfer, 0); + ogs_assert(MMEDirectInformationTransfer->protocolIEs); + ie = CALLOC(1, sizeof(S1AP_MMEDirectInformationTransferIEs_t)); - ASN_SEQUENCE_ADD(&MMEDirectInformationTransfer->protocolIEs, ie); + ASN_SEQUENCE_ADD( + (asn_anonymous_sequence_ *)MMEDirectInformationTransfer->protocolIEs, ie); ie->id = S1AP_ProtocolIE_ID_id_Inter_SystemInformationTransferTypeMDT; ie->criticality = S1AP_Criticality_reject; @@ -1909,8 +2014,13 @@ ogs_pkbuf_t *s1ap_build_path_switch_ack( successfulOutcome->value.choice.PathSwitchRequestAcknowledge = CALLOC(1, sizeof(*PathSwitchRequestAcknowledge)); PathSwitchRequestAcknowledge = successfulOutcome->value.choice.PathSwitchRequestAcknowledge; + PathSwitchRequestAcknowledge->protocolIEs = + ogs_asn_calloc_type_member(&asn_DEF_S1AP_PathSwitchRequestAcknowledge, 0); + ogs_assert(PathSwitchRequestAcknowledge->protocolIEs); + ie = CALLOC(1, sizeof(S1AP_PathSwitchRequestAcknowledgeIEs_t)); - ASN_SEQUENCE_ADD(&PathSwitchRequestAcknowledge->protocolIEs, ie); + ASN_SEQUENCE_ADD( + (asn_anonymous_sequence_ *)PathSwitchRequestAcknowledge->protocolIEs, ie); ie->id = S1AP_ProtocolIE_ID_id_MME_UE_S1AP_ID; ie->criticality = S1AP_Criticality_ignore; @@ -1921,7 +2031,8 @@ ogs_pkbuf_t *s1ap_build_path_switch_ack( MME_UE_S1AP_ID = ie->value.choice.MME_UE_S1AP_ID; ie = CALLOC(1, sizeof(S1AP_PathSwitchRequestAcknowledgeIEs_t)); - ASN_SEQUENCE_ADD(&PathSwitchRequestAcknowledge->protocolIEs, ie); + ASN_SEQUENCE_ADD( + (asn_anonymous_sequence_ *)PathSwitchRequestAcknowledge->protocolIEs, ie); ie->id = S1AP_ProtocolIE_ID_id_eNB_UE_S1AP_ID; ie->criticality = S1AP_Criticality_ignore; @@ -1933,7 +2044,8 @@ ogs_pkbuf_t *s1ap_build_path_switch_ack( if (e_rab_to_switched_in_uplink_list == true) { ie = CALLOC(1, sizeof(S1AP_PathSwitchRequestAcknowledgeIEs_t)); - ASN_SEQUENCE_ADD(&PathSwitchRequestAcknowledge->protocolIEs, ie); + ASN_SEQUENCE_ADD( + (asn_anonymous_sequence_ *)PathSwitchRequestAcknowledge->protocolIEs, ie); ie->id = S1AP_ProtocolIE_ID_id_E_RABToBeSwitchedULList; ie->criticality = S1AP_Criticality_ignore; @@ -1949,7 +2061,8 @@ ogs_pkbuf_t *s1ap_build_path_switch_ack( } ie = CALLOC(1, sizeof(S1AP_PathSwitchRequestAcknowledgeIEs_t)); - ASN_SEQUENCE_ADD(&PathSwitchRequestAcknowledge->protocolIEs, ie); + ASN_SEQUENCE_ADD( + (asn_anonymous_sequence_ *)PathSwitchRequestAcknowledge->protocolIEs, ie); ie->id = S1AP_ProtocolIE_ID_id_SecurityContext; ie->criticality = S1AP_Criticality_reject; @@ -2033,8 +2146,13 @@ ogs_pkbuf_t *s1ap_build_path_switch_failure( unsuccessfulOutcome->value.choice.PathSwitchRequestFailure = CALLOC(1, sizeof(*PathSwitchRequestFailure)); PathSwitchRequestFailure = unsuccessfulOutcome->value.choice.PathSwitchRequestFailure; + PathSwitchRequestFailure->protocolIEs = + ogs_asn_calloc_type_member(&asn_DEF_S1AP_PathSwitchRequestFailure, 0); + ogs_assert(PathSwitchRequestFailure->protocolIEs); + ie = CALLOC(1, sizeof(S1AP_PathSwitchRequestFailureIEs_t)); - ASN_SEQUENCE_ADD(&PathSwitchRequestFailure->protocolIEs, ie); + ASN_SEQUENCE_ADD( + (asn_anonymous_sequence_ *)PathSwitchRequestFailure->protocolIEs, ie); ie->id = S1AP_ProtocolIE_ID_id_MME_UE_S1AP_ID; ie->criticality = S1AP_Criticality_ignore; @@ -2045,7 +2163,8 @@ ogs_pkbuf_t *s1ap_build_path_switch_failure( MME_UE_S1AP_ID = ie->value.choice.MME_UE_S1AP_ID; ie = CALLOC(1, sizeof(S1AP_PathSwitchRequestFailureIEs_t)); - ASN_SEQUENCE_ADD(&PathSwitchRequestFailure->protocolIEs, ie); + ASN_SEQUENCE_ADD( + (asn_anonymous_sequence_ *)PathSwitchRequestFailure->protocolIEs, ie); ie->id = S1AP_ProtocolIE_ID_id_eNB_UE_S1AP_ID; ie->criticality = S1AP_Criticality_ignore; @@ -2056,7 +2175,8 @@ ogs_pkbuf_t *s1ap_build_path_switch_failure( ENB_UE_S1AP_ID = ie->value.choice.ENB_UE_S1AP_ID; ie = CALLOC(1, sizeof(S1AP_PathSwitchRequestFailureIEs_t)); - ASN_SEQUENCE_ADD(&PathSwitchRequestFailure->protocolIEs, ie); + ASN_SEQUENCE_ADD( + (asn_anonymous_sequence_ *)PathSwitchRequestFailure->protocolIEs, ie); ie->id = S1AP_ProtocolIE_ID_id_Cause; ie->criticality = S1AP_Criticality_ignore; @@ -2117,10 +2237,15 @@ ogs_pkbuf_t *s1ap_build_handover_command(enb_ue_t *source_ue) successfulOutcome->value.choice.HandoverCommand = CALLOC(1, sizeof(*HandoverCommand)); HandoverCommand = successfulOutcome->value.choice.HandoverCommand; + + HandoverCommand->protocolIEs = + ogs_asn_calloc_type_member(&asn_DEF_S1AP_HandoverCommand, 0); + ogs_assert(HandoverCommand->protocolIEs); ogs_assert(HandoverCommand); ie = CALLOC(1, sizeof(S1AP_HandoverCommandIEs_t)); - ASN_SEQUENCE_ADD(&HandoverCommand->protocolIEs, ie); + ASN_SEQUENCE_ADD( + (asn_anonymous_sequence_ *)HandoverCommand->protocolIEs, ie); ie->id = S1AP_ProtocolIE_ID_id_MME_UE_S1AP_ID; ie->criticality = S1AP_Criticality_reject; @@ -2130,7 +2255,8 @@ ogs_pkbuf_t *s1ap_build_handover_command(enb_ue_t *source_ue) MME_UE_S1AP_ID = ie->value.choice.MME_UE_S1AP_ID; ie = CALLOC(1, sizeof(S1AP_HandoverCommandIEs_t)); - ASN_SEQUENCE_ADD(&HandoverCommand->protocolIEs, ie); + ASN_SEQUENCE_ADD( + (asn_anonymous_sequence_ *)HandoverCommand->protocolIEs, ie); ie->id = S1AP_ProtocolIE_ID_id_eNB_UE_S1AP_ID; ie->criticality = S1AP_Criticality_reject; @@ -2140,7 +2266,8 @@ ogs_pkbuf_t *s1ap_build_handover_command(enb_ue_t *source_ue) ENB_UE_S1AP_ID = ie->value.choice.ENB_UE_S1AP_ID; ie = CALLOC(1, sizeof(S1AP_HandoverCommandIEs_t)); - ASN_SEQUENCE_ADD(&HandoverCommand->protocolIEs, ie); + ASN_SEQUENCE_ADD( + (asn_anonymous_sequence_ *)HandoverCommand->protocolIEs, ie); ie->id = S1AP_ProtocolIE_ID_id_HandoverType; ie->criticality = S1AP_Criticality_reject; @@ -2168,7 +2295,8 @@ ogs_pkbuf_t *s1ap_build_handover_command(enb_ue_t *source_ue) if (E_RABSubjecttoDataForwardingList == NULL) { ie = CALLOC(1, sizeof(S1AP_HandoverCommandIEs_t)); ogs_assert(ie); - ASN_SEQUENCE_ADD(&HandoverCommand->protocolIEs, ie); + ASN_SEQUENCE_ADD( + (asn_anonymous_sequence_ *)HandoverCommand->protocolIEs, ie); ie->id = S1AP_ProtocolIE_ID_id_E_RABSubjecttoDataForwardingList; @@ -2238,7 +2366,8 @@ ogs_pkbuf_t *s1ap_build_handover_command(enb_ue_t *source_ue) } ie = CALLOC(1, sizeof(S1AP_HandoverCommandIEs_t)); - ASN_SEQUENCE_ADD(&HandoverCommand->protocolIEs, ie); + ASN_SEQUENCE_ADD( + (asn_anonymous_sequence_ *)HandoverCommand->protocolIEs, ie); ie->id = S1AP_ProtocolIE_ID_id_Target_ToSource_TransparentContainer; ie->criticality = S1AP_Criticality_reject; @@ -2286,8 +2415,13 @@ ogs_pkbuf_t *s1ap_build_handover_preparation_failure( unsuccessfulOutcome->value.choice.HandoverPreparationFailure = CALLOC(1, sizeof(*HandoverPreparationFailure)); HandoverPreparationFailure = unsuccessfulOutcome->value.choice.HandoverPreparationFailure; + HandoverPreparationFailure->protocolIEs = + ogs_asn_calloc_type_member(&asn_DEF_S1AP_HandoverPreparationFailure, 0); + ogs_assert(HandoverPreparationFailure->protocolIEs); + ie = CALLOC(1, sizeof(S1AP_HandoverPreparationFailureIEs_t)); - ASN_SEQUENCE_ADD(&HandoverPreparationFailure->protocolIEs, ie); + ASN_SEQUENCE_ADD( + (asn_anonymous_sequence_ *)HandoverPreparationFailure->protocolIEs, ie); ie->id = S1AP_ProtocolIE_ID_id_MME_UE_S1AP_ID; ie->criticality = S1AP_Criticality_ignore; @@ -2298,7 +2432,8 @@ ogs_pkbuf_t *s1ap_build_handover_preparation_failure( MME_UE_S1AP_ID = ie->value.choice.MME_UE_S1AP_ID; ie = CALLOC(1, sizeof(S1AP_HandoverPreparationFailureIEs_t)); - ASN_SEQUENCE_ADD(&HandoverPreparationFailure->protocolIEs, ie); + ASN_SEQUENCE_ADD( + (asn_anonymous_sequence_ *)HandoverPreparationFailure->protocolIEs, ie); ie->id = S1AP_ProtocolIE_ID_id_eNB_UE_S1AP_ID; ie->criticality = S1AP_Criticality_ignore; @@ -2309,7 +2444,8 @@ ogs_pkbuf_t *s1ap_build_handover_preparation_failure( ENB_UE_S1AP_ID = ie->value.choice.ENB_UE_S1AP_ID; ie = CALLOC(1, sizeof(S1AP_HandoverPreparationFailureIEs_t)); - ASN_SEQUENCE_ADD(&HandoverPreparationFailure->protocolIEs, ie); + ASN_SEQUENCE_ADD( + (asn_anonymous_sequence_ *)HandoverPreparationFailure->protocolIEs, ie); ie->id = S1AP_ProtocolIE_ID_id_Cause; ie->criticality = S1AP_Criticality_ignore; @@ -2381,8 +2517,13 @@ ogs_pkbuf_t *s1ap_build_handover_request( initiatingMessage->value.choice.HandoverRequest = CALLOC(1, sizeof(*HandoverRequest)); HandoverRequest = initiatingMessage->value.choice.HandoverRequest; + HandoverRequest->protocolIEs = + ogs_asn_calloc_type_member(&asn_DEF_S1AP_HandoverRequest, 0); + ogs_assert(HandoverRequest->protocolIEs); + ie = CALLOC(1, sizeof(S1AP_HandoverRequestIEs_t)); - ASN_SEQUENCE_ADD(&HandoverRequest->protocolIEs, ie); + ASN_SEQUENCE_ADD( + (asn_anonymous_sequence_ *)HandoverRequest->protocolIEs, ie); ie->id = S1AP_ProtocolIE_ID_id_MME_UE_S1AP_ID; ie->criticality = S1AP_Criticality_reject; @@ -2392,7 +2533,8 @@ ogs_pkbuf_t *s1ap_build_handover_request( MME_UE_S1AP_ID = ie->value.choice.MME_UE_S1AP_ID; ie = CALLOC(1, sizeof(S1AP_HandoverRequestIEs_t)); - ASN_SEQUENCE_ADD(&HandoverRequest->protocolIEs, ie); + ASN_SEQUENCE_ADD( + (asn_anonymous_sequence_ *)HandoverRequest->protocolIEs, ie); ie->id = S1AP_ProtocolIE_ID_id_HandoverType; ie->criticality = S1AP_Criticality_reject; @@ -2402,7 +2544,8 @@ ogs_pkbuf_t *s1ap_build_handover_request( HandoverType = ie->value.choice.HandoverType; ie = CALLOC(1, sizeof(S1AP_HandoverRequestIEs_t)); - ASN_SEQUENCE_ADD(&HandoverRequest->protocolIEs, ie); + ASN_SEQUENCE_ADD( + (asn_anonymous_sequence_ *)HandoverRequest->protocolIEs, ie); ie->id = S1AP_ProtocolIE_ID_id_Cause; ie->criticality = S1AP_Criticality_ignore; @@ -2412,7 +2555,8 @@ ogs_pkbuf_t *s1ap_build_handover_request( Cause = ie->value.choice.Cause; ie = CALLOC(1, sizeof(S1AP_HandoverRequestIEs_t)); - ASN_SEQUENCE_ADD(&HandoverRequest->protocolIEs, ie); + ASN_SEQUENCE_ADD( + (asn_anonymous_sequence_ *)HandoverRequest->protocolIEs, ie); ie->id = S1AP_ProtocolIE_ID_id_uEaggregateMaximumBitrate; ie->criticality = S1AP_Criticality_reject; @@ -2423,7 +2567,8 @@ ogs_pkbuf_t *s1ap_build_handover_request( UEAggregateMaximumBitrate = ie->value.choice.UEAggregateMaximumBitrate; ie = CALLOC(1, sizeof(S1AP_HandoverRequestIEs_t)); - ASN_SEQUENCE_ADD(&HandoverRequest->protocolIEs, ie); + ASN_SEQUENCE_ADD( + (asn_anonymous_sequence_ *)HandoverRequest->protocolIEs, ie); ie->id = S1AP_ProtocolIE_ID_id_E_RABToBeSetupListHOReq; ie->criticality = S1AP_Criticality_reject; @@ -2438,7 +2583,8 @@ ogs_pkbuf_t *s1ap_build_handover_request( ie->value.choice.E_RABToBeSetupListHOReq; ie = CALLOC(1, sizeof(S1AP_HandoverRequestIEs_t)); - ASN_SEQUENCE_ADD(&HandoverRequest->protocolIEs, ie); + ASN_SEQUENCE_ADD( + (asn_anonymous_sequence_ *)HandoverRequest->protocolIEs, ie); ie->id = S1AP_ProtocolIE_ID_id_Source_ToTarget_TransparentContainer; ie->criticality = S1AP_Criticality_reject; @@ -2449,7 +2595,8 @@ ogs_pkbuf_t *s1ap_build_handover_request( Source_ToTarget_TransparentContainer = ie->value.choice.Source_ToTarget_TransparentContainer; ie = CALLOC(1, sizeof(S1AP_HandoverRequestIEs_t)); - ASN_SEQUENCE_ADD(&HandoverRequest->protocolIEs, ie); + ASN_SEQUENCE_ADD( + (asn_anonymous_sequence_ *)HandoverRequest->protocolIEs, ie); ie->id = S1AP_ProtocolIE_ID_id_UESecurityCapabilities; ie->criticality = S1AP_Criticality_reject; @@ -2460,7 +2607,8 @@ ogs_pkbuf_t *s1ap_build_handover_request( UESecurityCapabilities = ie->value.choice.UESecurityCapabilities; ie = CALLOC(1, sizeof(S1AP_HandoverRequestIEs_t)); - ASN_SEQUENCE_ADD(&HandoverRequest->protocolIEs, ie); + ASN_SEQUENCE_ADD( + (asn_anonymous_sequence_ *)HandoverRequest->protocolIEs, ie); ie->id = S1AP_ProtocolIE_ID_id_SecurityContext; ie->criticality = S1AP_Criticality_reject; @@ -2623,7 +2771,8 @@ ogs_pkbuf_t *s1ap_build_handover_request( */ if (mme_ue->imeisv_len == OGS_MAX_IMEISV_LEN) { ie = CALLOC(1, sizeof(S1AP_HandoverRequestIEs_t)); - ASN_SEQUENCE_ADD(&HandoverRequest->protocolIEs, ie); + ASN_SEQUENCE_ADD( + (asn_anonymous_sequence_ *)HandoverRequest->protocolIEs, ie); ie->id = S1AP_ProtocolIE_ID_id_Masked_IMEISV; ie->criticality = S1AP_Criticality_ignore; @@ -2668,8 +2817,13 @@ ogs_pkbuf_t *s1ap_build_handover_cancel_ack(enb_ue_t *source_ue) successfulOutcome->value.choice.HandoverCancelAcknowledge = CALLOC(1, sizeof(*HandoverCancelAcknowledge)); HandoverCancelAcknowledge = successfulOutcome->value.choice.HandoverCancelAcknowledge; + HandoverCancelAcknowledge->protocolIEs = + ogs_asn_calloc_type_member(&asn_DEF_S1AP_HandoverCancelAcknowledge, 0); + ogs_assert(HandoverCancelAcknowledge->protocolIEs); + ie = CALLOC(1, sizeof(S1AP_HandoverCancelAcknowledgeIEs_t)); - ASN_SEQUENCE_ADD(&HandoverCancelAcknowledge->protocolIEs, ie); + ASN_SEQUENCE_ADD( + (asn_anonymous_sequence_ *)HandoverCancelAcknowledge->protocolIEs, ie); ie->id = S1AP_ProtocolIE_ID_id_MME_UE_S1AP_ID; ie->criticality = S1AP_Criticality_ignore; @@ -2680,7 +2834,8 @@ ogs_pkbuf_t *s1ap_build_handover_cancel_ack(enb_ue_t *source_ue) MME_UE_S1AP_ID = ie->value.choice.MME_UE_S1AP_ID; ie = CALLOC(1, sizeof(S1AP_HandoverCancelAcknowledgeIEs_t)); - ASN_SEQUENCE_ADD(&HandoverCancelAcknowledge->protocolIEs, ie); + ASN_SEQUENCE_ADD( + (asn_anonymous_sequence_ *)HandoverCancelAcknowledge->protocolIEs, ie); ie->id = S1AP_ProtocolIE_ID_id_eNB_UE_S1AP_ID; ie->criticality = S1AP_Criticality_ignore; @@ -2734,8 +2889,13 @@ ogs_pkbuf_t *s1ap_build_mme_status_transfer( initiatingMessage->value.choice.MMEStatusTransfer = CALLOC(1, sizeof(*MMEStatusTransfer)); MMEStatusTransfer = initiatingMessage->value.choice.MMEStatusTransfer; + MMEStatusTransfer->protocolIEs = + ogs_asn_calloc_type_member(&asn_DEF_S1AP_MMEStatusTransfer, 0); + ogs_assert(MMEStatusTransfer->protocolIEs); + ie = CALLOC(1, sizeof(S1AP_MMEStatusTransferIEs_t)); - ASN_SEQUENCE_ADD(&MMEStatusTransfer->protocolIEs, ie); + ASN_SEQUENCE_ADD( + (asn_anonymous_sequence_ *)MMEStatusTransfer->protocolIEs, ie); ie->id = S1AP_ProtocolIE_ID_id_MME_UE_S1AP_ID; ie->criticality = S1AP_Criticality_reject; @@ -2745,7 +2905,8 @@ ogs_pkbuf_t *s1ap_build_mme_status_transfer( MME_UE_S1AP_ID = ie->value.choice.MME_UE_S1AP_ID; ie = CALLOC(1, sizeof(S1AP_MMEStatusTransferIEs_t)); - ASN_SEQUENCE_ADD(&MMEStatusTransfer->protocolIEs, ie); + ASN_SEQUENCE_ADD( + (asn_anonymous_sequence_ *)MMEStatusTransfer->protocolIEs, ie); ie->id = S1AP_ProtocolIE_ID_id_eNB_UE_S1AP_ID; ie->criticality = S1AP_Criticality_reject; @@ -2755,7 +2916,8 @@ ogs_pkbuf_t *s1ap_build_mme_status_transfer( ENB_UE_S1AP_ID = ie->value.choice.ENB_UE_S1AP_ID; ie = CALLOC(1, sizeof(S1AP_MMEStatusTransferIEs_t)); - ASN_SEQUENCE_ADD(&MMEStatusTransfer->protocolIEs, ie); + ASN_SEQUENCE_ADD( + (asn_anonymous_sequence_ *)MMEStatusTransfer->protocolIEs, ie); ie->id = S1AP_ProtocolIE_ID_id_eNB_StatusTransfer_TransparentContainer; ie->criticality = S1AP_Criticality_reject; @@ -2816,8 +2978,13 @@ ogs_pkbuf_t *s1ap_build_write_replace_warning_request(sbc_pws_data_t *sbc_pws) initiatingMessage->value.choice.WriteReplaceWarningRequest = CALLOC(1, sizeof(*WriteReplaceWarningRequest)); WriteReplaceWarningRequest = initiatingMessage->value.choice.WriteReplaceWarningRequest; + WriteReplaceWarningRequest->protocolIEs = + ogs_asn_calloc_type_member(&asn_DEF_S1AP_WriteReplaceWarningRequest, 0); + ogs_assert(WriteReplaceWarningRequest->protocolIEs); + ie = CALLOC(1, sizeof(S1AP_WriteReplaceWarningRequestIEs_t)); - ASN_SEQUENCE_ADD(&WriteReplaceWarningRequest->protocolIEs, ie); + ASN_SEQUENCE_ADD( + (asn_anonymous_sequence_ *)WriteReplaceWarningRequest->protocolIEs, ie); ie->id = S1AP_ProtocolIE_ID_id_MessageIdentifier; ie->criticality = S1AP_Criticality_reject; @@ -2835,7 +3002,8 @@ ogs_pkbuf_t *s1ap_build_write_replace_warning_request(sbc_pws_data_t *sbc_pws) MessageIdentifier->buf[1] = sbc_pws->message_id & 0xFF; ie = CALLOC(1, sizeof(S1AP_WriteReplaceWarningRequestIEs_t)); - ASN_SEQUENCE_ADD(&WriteReplaceWarningRequest->protocolIEs, ie); + ASN_SEQUENCE_ADD( + (asn_anonymous_sequence_ *)WriteReplaceWarningRequest->protocolIEs, ie); ie->id = S1AP_ProtocolIE_ID_id_SerialNumber; ie->criticality = S1AP_Criticality_reject; @@ -2855,7 +3023,8 @@ ogs_pkbuf_t *s1ap_build_write_replace_warning_request(sbc_pws_data_t *sbc_pws) /* TODO: optional Warning Area List */ ie = CALLOC(1, sizeof(S1AP_WriteReplaceWarningRequestIEs_t)); - ASN_SEQUENCE_ADD(&WriteReplaceWarningRequest->protocolIEs, ie); + ASN_SEQUENCE_ADD( + (asn_anonymous_sequence_ *)WriteReplaceWarningRequest->protocolIEs, ie); ie->id = S1AP_ProtocolIE_ID_id_RepetitionPeriod; ie->criticality = S1AP_Criticality_reject; @@ -2870,7 +3039,8 @@ ogs_pkbuf_t *s1ap_build_write_replace_warning_request(sbc_pws_data_t *sbc_pws) /* TODO: optional Extended Repetition Period */ ie = CALLOC(1, sizeof(S1AP_WriteReplaceWarningRequestIEs_t)); - ASN_SEQUENCE_ADD(&WriteReplaceWarningRequest->protocolIEs, ie); + ASN_SEQUENCE_ADD( + (asn_anonymous_sequence_ *)WriteReplaceWarningRequest->protocolIEs, ie); ie->id = S1AP_ProtocolIE_ID_id_NumberofBroadcastRequest; ie->criticality = S1AP_Criticality_reject; @@ -2887,7 +3057,8 @@ ogs_pkbuf_t *s1ap_build_write_replace_warning_request(sbc_pws_data_t *sbc_pws) /* TODO: optional Warning Security Information */ ie = CALLOC(1, sizeof(S1AP_WriteReplaceWarningRequestIEs_t)); - ASN_SEQUENCE_ADD(&WriteReplaceWarningRequest->protocolIEs, ie); + ASN_SEQUENCE_ADD( + (asn_anonymous_sequence_ *)WriteReplaceWarningRequest->protocolIEs, ie); ie->id = S1AP_ProtocolIE_ID_id_DataCodingScheme; ie->criticality = S1AP_Criticality_reject; @@ -2904,7 +3075,8 @@ ogs_pkbuf_t *s1ap_build_write_replace_warning_request(sbc_pws_data_t *sbc_pws) DataCodingScheme->buf[0] = sbc_pws->data_coding_scheme & 0xFF; ie = CALLOC(1, sizeof(S1AP_WriteReplaceWarningRequestIEs_t)); - ASN_SEQUENCE_ADD(&WriteReplaceWarningRequest->protocolIEs, ie); + ASN_SEQUENCE_ADD( + (asn_anonymous_sequence_ *)WriteReplaceWarningRequest->protocolIEs, ie); ie->id = S1AP_ProtocolIE_ID_id_WarningMessageContents; ie->criticality = S1AP_Criticality_reject; @@ -2958,8 +3130,13 @@ ogs_pkbuf_t *s1ap_build_kill_request(sbc_pws_data_t *sbc_pws) initiatingMessage->value.choice.KillRequest = CALLOC(1, sizeof(*KillRequest)); KillRequest = initiatingMessage->value.choice.KillRequest; + KillRequest->protocolIEs = + ogs_asn_calloc_type_member(&asn_DEF_S1AP_KillRequest, 0); + ogs_assert(KillRequest->protocolIEs); + ie = CALLOC(1, sizeof(S1AP_KillRequestIEs_t)); - ASN_SEQUENCE_ADD(&KillRequest->protocolIEs, ie); + ASN_SEQUENCE_ADD( + (asn_anonymous_sequence_ *)KillRequest->protocolIEs, ie); ie->id = S1AP_ProtocolIE_ID_id_MessageIdentifier; ie->criticality = S1AP_Criticality_reject; @@ -2976,7 +3153,8 @@ ogs_pkbuf_t *s1ap_build_kill_request(sbc_pws_data_t *sbc_pws) MessageIdentifier->buf[1] = sbc_pws->message_id & 0xFF; ie = CALLOC(1, sizeof(S1AP_KillRequestIEs_t)); - ASN_SEQUENCE_ADD(&KillRequest->protocolIEs, ie); + ASN_SEQUENCE_ADD( + (asn_anonymous_sequence_ *)KillRequest->protocolIEs, ie); ie->id = S1AP_ProtocolIE_ID_id_SerialNumber; ie->criticality = S1AP_Criticality_reject; diff --git a/tests/common/s1ap-build.c b/tests/common/s1ap-build.c index 1284db191..d686ce4f5 100644 --- a/tests/common/s1ap-build.c +++ b/tests/common/s1ap-build.c @@ -46,8 +46,13 @@ ogs_pkbuf_t *test_s1ap_build_s1_setup_request( initiatingMessage->value.choice.S1SetupRequest = CALLOC(1, sizeof(*S1SetupRequest)); S1SetupRequest = (S1AP_S1SetupRequest_t *)initiatingMessage->value.choice.S1SetupRequest; + S1SetupRequest->protocolIEs = + ogs_asn_calloc_type_member(&asn_DEF_S1AP_S1SetupRequest, 0); + ogs_assert(S1SetupRequest->protocolIEs); + ie = CALLOC(1, sizeof(S1AP_S1SetupRequestIEs_t)); - ASN_SEQUENCE_ADD(&S1SetupRequest->protocolIEs, ie); + ASN_SEQUENCE_ADD( + (asn_anonymous_sequence_ *)S1SetupRequest->protocolIEs, ie); ie->id = S1AP_ProtocolIE_ID_id_Global_ENB_ID; ie->criticality = S1AP_Criticality_reject; @@ -57,7 +62,8 @@ ogs_pkbuf_t *test_s1ap_build_s1_setup_request( Global_ENB_ID = (S1AP_Global_ENB_ID_t *)ie->value.choice.Global_ENB_ID; ie = CALLOC(1, sizeof(S1AP_S1SetupRequestIEs_t)); - ASN_SEQUENCE_ADD(&S1SetupRequest->protocolIEs, ie); + ASN_SEQUENCE_ADD( + (asn_anonymous_sequence_ *)S1SetupRequest->protocolIEs, ie); ie->id = S1AP_ProtocolIE_ID_id_SupportedTAs; ie->criticality = S1AP_Criticality_reject; @@ -67,7 +73,8 @@ ogs_pkbuf_t *test_s1ap_build_s1_setup_request( SupportedTAs = (S1AP_SupportedTAs_t *)ie->value.choice.SupportedTAs; ie = CALLOC(1, sizeof(S1AP_S1SetupRequestIEs_t)); - ASN_SEQUENCE_ADD(&S1SetupRequest->protocolIEs, ie); + ASN_SEQUENCE_ADD( + (asn_anonymous_sequence_ *)S1SetupRequest->protocolIEs, ie); ie->id = S1AP_ProtocolIE_ID_id_DefaultPagingDRX; ie->criticality = S1AP_Criticality_ignore; @@ -136,8 +143,13 @@ ogs_pkbuf_t *test_s1ap_build_initial_ue_message( initiatingMessage->value.choice.InitialUEMessage = CALLOC(1, sizeof(*InitialUEMessage)); InitialUEMessage = (S1AP_InitialUEMessage_t *)initiatingMessage->value.choice.InitialUEMessage; + InitialUEMessage->protocolIEs = + ogs_asn_calloc_type_member(&asn_DEF_S1AP_InitialUEMessage, 0); + ogs_assert(InitialUEMessage->protocolIEs); + ie = CALLOC(1, sizeof(S1AP_InitialUEMessage_IEs_t)); - ASN_SEQUENCE_ADD(&InitialUEMessage->protocolIEs, ie); + ASN_SEQUENCE_ADD( + (asn_anonymous_sequence_ *)InitialUEMessage->protocolIEs, ie); ie->id = S1AP_ProtocolIE_ID_id_eNB_UE_S1AP_ID; ie->criticality = S1AP_Criticality_reject; @@ -150,7 +162,8 @@ ogs_pkbuf_t *test_s1ap_build_initial_ue_message( *ENB_UE_S1AP_ID = test_ue->enb_ue_s1ap_id; ie = CALLOC(1, sizeof(S1AP_InitialUEMessage_IEs_t)); - ASN_SEQUENCE_ADD(&InitialUEMessage->protocolIEs, ie); + ASN_SEQUENCE_ADD( + (asn_anonymous_sequence_ *)InitialUEMessage->protocolIEs, ie); ie->id = S1AP_ProtocolIE_ID_id_NAS_PDU; ie->criticality = S1AP_Criticality_reject; @@ -165,7 +178,8 @@ ogs_pkbuf_t *test_s1ap_build_initial_ue_message( ogs_pkbuf_free(emmbuf); ie = CALLOC(1, sizeof(S1AP_InitialUEMessage_IEs_t)); - ASN_SEQUENCE_ADD(&InitialUEMessage->protocolIEs, ie); + ASN_SEQUENCE_ADD( + (asn_anonymous_sequence_ *)InitialUEMessage->protocolIEs, ie); ie->id = S1AP_ProtocolIE_ID_id_TAI; ie->criticality = S1AP_Criticality_reject; @@ -179,7 +193,8 @@ ogs_pkbuf_t *test_s1ap_build_initial_ue_message( &test_ue->e_tai.plmn_id, OGS_PLMN_ID_LEN, &TAI->pLMNidentity); ie = CALLOC(1, sizeof(S1AP_InitialUEMessage_IEs_t)); - ASN_SEQUENCE_ADD(&InitialUEMessage->protocolIEs, ie); + ASN_SEQUENCE_ADD( + (asn_anonymous_sequence_ *)InitialUEMessage->protocolIEs, ie); ie->id = S1AP_ProtocolIE_ID_id_EUTRAN_CGI; ie->criticality = S1AP_Criticality_ignore; @@ -202,7 +217,8 @@ ogs_pkbuf_t *test_s1ap_build_initial_ue_message( EUTRAN_CGI->cell_ID.bits_unused = 4; ie = CALLOC(1, sizeof(S1AP_InitialUEMessage_IEs_t)); - ASN_SEQUENCE_ADD(&InitialUEMessage->protocolIEs, ie); + ASN_SEQUENCE_ADD( + (asn_anonymous_sequence_ *)InitialUEMessage->protocolIEs, ie); ie->id = S1AP_ProtocolIE_ID_id_RRC_Establishment_Cause; ie->criticality = S1AP_Criticality_ignore; @@ -220,7 +236,8 @@ ogs_pkbuf_t *test_s1ap_build_initial_ue_message( S1AP_S_TMSI_t *S_TMSI = NULL; ie = CALLOC(1, sizeof(S1AP_InitialUEMessage_IEs_t)); - ASN_SEQUENCE_ADD(&InitialUEMessage->protocolIEs, ie); + ASN_SEQUENCE_ADD( + (asn_anonymous_sequence_ *)InitialUEMessage->protocolIEs, ie); ie->id = S1AP_ProtocolIE_ID_id_S_TMSI; ie->criticality = S1AP_Criticality_reject; @@ -238,7 +255,8 @@ ogs_pkbuf_t *test_s1ap_build_initial_ue_message( if (test_ue->initial_ue_param.gummei_id) { ie = CALLOC(1, sizeof(S1AP_InitialUEMessage_IEs_t)); - ASN_SEQUENCE_ADD(&InitialUEMessage->protocolIEs, ie); + ASN_SEQUENCE_ADD( + (asn_anonymous_sequence_ *)InitialUEMessage->protocolIEs, ie); ie->id = S1AP_ProtocolIE_ID_id_GUMMEI_ID; ie->criticality = S1AP_Criticality_reject; @@ -259,7 +277,8 @@ ogs_pkbuf_t *test_s1ap_build_initial_ue_message( if (test_ue->initial_ue_param.gummei_type) { ie = CALLOC(1, sizeof(S1AP_InitialUEMessage_IEs_t)); - ASN_SEQUENCE_ADD(&InitialUEMessage->protocolIEs, ie); + ASN_SEQUENCE_ADD( + (asn_anonymous_sequence_ *)InitialUEMessage->protocolIEs, ie); ie->id = S1AP_ProtocolIE_ID_id_GUMMEIType; ie->criticality = S1AP_Criticality_reject; @@ -309,8 +328,13 @@ ogs_pkbuf_t *test_s1ap_build_uplink_nas_transport( initiatingMessage->value.choice.UplinkNASTransport = CALLOC(1, sizeof(*UplinkNASTransport)); UplinkNASTransport = (S1AP_UplinkNASTransport_t *)initiatingMessage->value.choice.UplinkNASTransport; + UplinkNASTransport->protocolIEs = + ogs_asn_calloc_type_member(&asn_DEF_S1AP_UplinkNASTransport, 0); + ogs_assert(UplinkNASTransport->protocolIEs); + ie = CALLOC(1, sizeof(S1AP_UplinkNASTransport_IEs_t)); - ASN_SEQUENCE_ADD(&UplinkNASTransport->protocolIEs, ie); + ASN_SEQUENCE_ADD( + (asn_anonymous_sequence_ *)UplinkNASTransport->protocolIEs, ie); ie->id = S1AP_ProtocolIE_ID_id_MME_UE_S1AP_ID; ie->criticality = S1AP_Criticality_reject; @@ -323,7 +347,8 @@ ogs_pkbuf_t *test_s1ap_build_uplink_nas_transport( *MME_UE_S1AP_ID = test_ue->mme_ue_s1ap_id; ie = CALLOC(1, sizeof(S1AP_UplinkNASTransport_IEs_t)); - ASN_SEQUENCE_ADD(&UplinkNASTransport->protocolIEs, ie); + ASN_SEQUENCE_ADD( + (asn_anonymous_sequence_ *)UplinkNASTransport->protocolIEs, ie); ie->id = S1AP_ProtocolIE_ID_id_eNB_UE_S1AP_ID; ie->criticality = S1AP_Criticality_reject; @@ -336,7 +361,8 @@ ogs_pkbuf_t *test_s1ap_build_uplink_nas_transport( *ENB_UE_S1AP_ID = test_ue->enb_ue_s1ap_id; ie = CALLOC(1, sizeof(S1AP_UplinkNASTransport_IEs_t)); - ASN_SEQUENCE_ADD(&UplinkNASTransport->protocolIEs, ie); + ASN_SEQUENCE_ADD( + (asn_anonymous_sequence_ *)UplinkNASTransport->protocolIEs, ie); ie->id = S1AP_ProtocolIE_ID_id_NAS_PDU; ie->criticality = S1AP_Criticality_reject; @@ -351,7 +377,8 @@ ogs_pkbuf_t *test_s1ap_build_uplink_nas_transport( ogs_pkbuf_free(nasbuf); ie = CALLOC(1, sizeof(S1AP_UplinkNASTransport_IEs_t)); - ASN_SEQUENCE_ADD(&UplinkNASTransport->protocolIEs, ie); + ASN_SEQUENCE_ADD( + (asn_anonymous_sequence_ *)UplinkNASTransport->protocolIEs, ie); ie->id = S1AP_ProtocolIE_ID_id_EUTRAN_CGI; ie->criticality = S1AP_Criticality_ignore; @@ -374,7 +401,8 @@ ogs_pkbuf_t *test_s1ap_build_uplink_nas_transport( EUTRAN_CGI->cell_ID.bits_unused = 4; ie = CALLOC(1, sizeof(S1AP_UplinkNASTransport_IEs_t)); - ASN_SEQUENCE_ADD(&UplinkNASTransport->protocolIEs, ie); + ASN_SEQUENCE_ADD( + (asn_anonymous_sequence_ *)UplinkNASTransport->protocolIEs, ie); ie->id = S1AP_ProtocolIE_ID_id_TAI; ie->criticality = S1AP_Criticality_ignore; @@ -389,7 +417,8 @@ ogs_pkbuf_t *test_s1ap_build_uplink_nas_transport( if (test_ue->nr_cgi.cell_id) { ie = CALLOC(1, sizeof(S1AP_UplinkNASTransport_IEs_t)); - ASN_SEQUENCE_ADD(&UplinkNASTransport->protocolIEs, ie); + ASN_SEQUENCE_ADD( + (asn_anonymous_sequence_ *)UplinkNASTransport->protocolIEs, ie); ie->id = S1AP_ProtocolIE_ID_id_PSCellInformation; ie->criticality = S1AP_Criticality_ignore; @@ -445,8 +474,13 @@ ogs_pkbuf_t *tests1ap_build_ue_radio_capability_info_indication( UECapabilityInfoIndication = (S1AP_UECapabilityInfoIndication_t *)initiatingMessage->value.choice.UECapabilityInfoIndication; + UECapabilityInfoIndication->protocolIEs = + ogs_asn_calloc_type_member(&asn_DEF_S1AP_UECapabilityInfoIndication, 0); + ogs_assert(UECapabilityInfoIndication->protocolIEs); + ie = CALLOC(1, sizeof(S1AP_UECapabilityInfoIndicationIEs_t)); - ASN_SEQUENCE_ADD(&UECapabilityInfoIndication->protocolIEs, ie); + ASN_SEQUENCE_ADD( + (asn_anonymous_sequence_ *)UECapabilityInfoIndication->protocolIEs, ie); ie->id = S1AP_ProtocolIE_ID_id_MME_UE_S1AP_ID; ie->criticality = S1AP_Criticality_reject; @@ -459,7 +493,8 @@ ogs_pkbuf_t *tests1ap_build_ue_radio_capability_info_indication( *MME_UE_S1AP_ID = test_ue->mme_ue_s1ap_id; ie = CALLOC(1, sizeof(S1AP_UECapabilityInfoIndicationIEs_t)); - ASN_SEQUENCE_ADD(&UECapabilityInfoIndication->protocolIEs, ie); + ASN_SEQUENCE_ADD( + (asn_anonymous_sequence_ *)UECapabilityInfoIndication->protocolIEs, ie); ie->id = S1AP_ProtocolIE_ID_id_eNB_UE_S1AP_ID; ie->criticality = S1AP_Criticality_reject; @@ -472,7 +507,8 @@ ogs_pkbuf_t *tests1ap_build_ue_radio_capability_info_indication( *ENB_UE_S1AP_ID = test_ue->enb_ue_s1ap_id; ie = CALLOC(1, sizeof(S1AP_UECapabilityInfoIndicationIEs_t)); - ASN_SEQUENCE_ADD(&UECapabilityInfoIndication->protocolIEs, ie); + ASN_SEQUENCE_ADD( + (asn_anonymous_sequence_ *)UECapabilityInfoIndication->protocolIEs, ie); ie->id = S1AP_ProtocolIE_ID_id_UERadioCapability; ie->criticality = S1AP_Criticality_ignore; @@ -532,8 +568,13 @@ ogs_pkbuf_t *test_s1ap_build_initial_context_setup_response(test_ue_t *test_ue) InitialContextSetupResponse = (S1AP_InitialContextSetupResponse_t *)successfulOutcome->value.choice.InitialContextSetupResponse; + InitialContextSetupResponse->protocolIEs = + ogs_asn_calloc_type_member(&asn_DEF_S1AP_InitialContextSetupResponse, 0); + ogs_assert(InitialContextSetupResponse->protocolIEs); + ie = CALLOC(1, sizeof(S1AP_InitialContextSetupResponseIEs_t)); - ASN_SEQUENCE_ADD(&InitialContextSetupResponse->protocolIEs, ie); + ASN_SEQUENCE_ADD( + (asn_anonymous_sequence_ *)InitialContextSetupResponse->protocolIEs, ie); ie->id = S1AP_ProtocolIE_ID_id_MME_UE_S1AP_ID; ie->criticality = S1AP_Criticality_ignore; @@ -546,7 +587,8 @@ ogs_pkbuf_t *test_s1ap_build_initial_context_setup_response(test_ue_t *test_ue) *MME_UE_S1AP_ID = test_ue->mme_ue_s1ap_id; ie = CALLOC(1, sizeof(S1AP_InitialContextSetupResponseIEs_t)); - ASN_SEQUENCE_ADD(&InitialContextSetupResponse->protocolIEs, ie); + ASN_SEQUENCE_ADD( + (asn_anonymous_sequence_ *)InitialContextSetupResponse->protocolIEs, ie); ie->id = S1AP_ProtocolIE_ID_id_eNB_UE_S1AP_ID; ie->criticality = S1AP_Criticality_ignore; @@ -559,7 +601,8 @@ ogs_pkbuf_t *test_s1ap_build_initial_context_setup_response(test_ue_t *test_ue) *ENB_UE_S1AP_ID = test_ue->enb_ue_s1ap_id; ie = CALLOC(1, sizeof(S1AP_InitialContextSetupResponseIEs_t)); - ASN_SEQUENCE_ADD(&InitialContextSetupResponse->protocolIEs, ie); + ASN_SEQUENCE_ADD( + (asn_anonymous_sequence_ *)InitialContextSetupResponse->protocolIEs, ie); ie->id = S1AP_ProtocolIE_ID_id_E_RABSetupListCtxtSURes; ie->criticality = S1AP_Criticality_ignore; @@ -630,8 +673,13 @@ ogs_pkbuf_t *test_s1ap_build_initial_context_setup_failure(test_ue_t *test_ue, InitialContextSetupFailure = (S1AP_InitialContextSetupFailure_t *)unsuccessfulOutcome->value.choice.InitialContextSetupFailure; + InitialContextSetupFailure->protocolIEs = + ogs_asn_calloc_type_member(&asn_DEF_S1AP_InitialContextSetupFailure, 0); + ogs_assert(InitialContextSetupFailure->protocolIEs); + ie = CALLOC(1, sizeof(S1AP_InitialContextSetupFailureIEs_t)); - ASN_SEQUENCE_ADD(&InitialContextSetupFailure->protocolIEs, ie); + ASN_SEQUENCE_ADD( + (asn_anonymous_sequence_ *)InitialContextSetupFailure->protocolIEs, ie); ie->id = S1AP_ProtocolIE_ID_id_MME_UE_S1AP_ID; ie->criticality = S1AP_Criticality_ignore; @@ -644,7 +692,8 @@ ogs_pkbuf_t *test_s1ap_build_initial_context_setup_failure(test_ue_t *test_ue, *MME_UE_S1AP_ID = test_ue->mme_ue_s1ap_id; ie = CALLOC(1, sizeof(S1AP_InitialContextSetupFailureIEs_t)); - ASN_SEQUENCE_ADD(&InitialContextSetupFailure->protocolIEs, ie); + ASN_SEQUENCE_ADD( + (asn_anonymous_sequence_ *)InitialContextSetupFailure->protocolIEs, ie); ie->id = S1AP_ProtocolIE_ID_id_eNB_UE_S1AP_ID; ie->criticality = S1AP_Criticality_ignore; @@ -657,7 +706,8 @@ ogs_pkbuf_t *test_s1ap_build_initial_context_setup_failure(test_ue_t *test_ue, *ENB_UE_S1AP_ID = test_ue->enb_ue_s1ap_id; ie = CALLOC(1, sizeof(S1AP_InitialContextSetupFailureIEs_t)); - ASN_SEQUENCE_ADD(&InitialContextSetupFailure->protocolIEs, ie); + ASN_SEQUENCE_ADD( + (asn_anonymous_sequence_ *)InitialContextSetupFailure->protocolIEs, ie); ie->id = S1AP_ProtocolIE_ID_id_Cause; ie->criticality = S1AP_Criticality_ignore; @@ -699,8 +749,13 @@ ogs_pkbuf_t *test_s1ap_build_ue_context_modification_response( UEContextModificationResponse = (S1AP_UEContextModificationResponse_t *)successfulOutcome->value.choice.UEContextModificationResponse; + UEContextModificationResponse->protocolIEs = + ogs_asn_calloc_type_member(&asn_DEF_S1AP_UEContextModificationResponse, 0); + ogs_assert(UEContextModificationResponse->protocolIEs); + ie = CALLOC(1, sizeof(S1AP_UEContextModificationResponseIEs_t)); - ASN_SEQUENCE_ADD(&UEContextModificationResponse->protocolIEs, ie); + ASN_SEQUENCE_ADD( + (asn_anonymous_sequence_ *)UEContextModificationResponse->protocolIEs, ie); ie->id = S1AP_ProtocolIE_ID_id_MME_UE_S1AP_ID; ie->criticality = S1AP_Criticality_ignore; @@ -713,7 +768,8 @@ ogs_pkbuf_t *test_s1ap_build_ue_context_modification_response( *MME_UE_S1AP_ID = test_ue->mme_ue_s1ap_id; ie = CALLOC(1, sizeof(S1AP_UEContextModificationResponseIEs_t)); - ASN_SEQUENCE_ADD(&UEContextModificationResponse->protocolIEs, ie); + ASN_SEQUENCE_ADD( + (asn_anonymous_sequence_ *)UEContextModificationResponse->protocolIEs, ie); ie->id = S1AP_ProtocolIE_ID_id_eNB_UE_S1AP_ID; ie->criticality = S1AP_Criticality_ignore; @@ -757,8 +813,13 @@ ogs_pkbuf_t *test_s1ap_build_ue_context_release_request(test_ue_t *test_ue, UEContextReleaseRequest = (S1AP_UEContextReleaseRequest_t *)initiatingMessage->value.choice.UEContextReleaseRequest; + UEContextReleaseRequest->protocolIEs = + ogs_asn_calloc_type_member(&asn_DEF_S1AP_UEContextReleaseRequest, 0); + ogs_assert(UEContextReleaseRequest->protocolIEs); + ie = CALLOC(1, sizeof(S1AP_UEContextReleaseRequest_IEs_t)); - ASN_SEQUENCE_ADD(&UEContextReleaseRequest->protocolIEs, ie); + ASN_SEQUENCE_ADD( + (asn_anonymous_sequence_ *)UEContextReleaseRequest->protocolIEs, ie); ie->id = S1AP_ProtocolIE_ID_id_MME_UE_S1AP_ID; ie->criticality = S1AP_Criticality_reject; @@ -771,7 +832,8 @@ ogs_pkbuf_t *test_s1ap_build_ue_context_release_request(test_ue_t *test_ue, *MME_UE_S1AP_ID = test_ue->mme_ue_s1ap_id; ie = CALLOC(1, sizeof(S1AP_UEContextReleaseRequest_IEs_t)); - ASN_SEQUENCE_ADD(&UEContextReleaseRequest->protocolIEs, ie); + ASN_SEQUENCE_ADD( + (asn_anonymous_sequence_ *)UEContextReleaseRequest->protocolIEs, ie); ie->id = S1AP_ProtocolIE_ID_id_eNB_UE_S1AP_ID; ie->criticality = S1AP_Criticality_reject; @@ -784,7 +846,8 @@ ogs_pkbuf_t *test_s1ap_build_ue_context_release_request(test_ue_t *test_ue, *ENB_UE_S1AP_ID = test_ue->enb_ue_s1ap_id; ie = CALLOC(1, sizeof(S1AP_UEContextReleaseRequest_IEs_t)); - ASN_SEQUENCE_ADD(&UEContextReleaseRequest->protocolIEs, ie); + ASN_SEQUENCE_ADD( + (asn_anonymous_sequence_ *)UEContextReleaseRequest->protocolIEs, ie); ie->id = S1AP_ProtocolIE_ID_id_Cause; ie->criticality = S1AP_Criticality_ignore; @@ -826,8 +889,13 @@ ogs_pkbuf_t *test_s1ap_build_ue_context_release_complete(test_ue_t *test_ue) UEContextReleaseComplete = (S1AP_UEContextReleaseComplete_t *)successfulOutcome->value.choice.UEContextReleaseComplete; + UEContextReleaseComplete->protocolIEs = + ogs_asn_calloc_type_member(&asn_DEF_S1AP_UEContextReleaseComplete, 0); + ogs_assert(UEContextReleaseComplete->protocolIEs); + ie = CALLOC(1, sizeof(S1AP_UEContextReleaseComplete_IEs_t)); - ASN_SEQUENCE_ADD(&UEContextReleaseComplete->protocolIEs, ie); + ASN_SEQUENCE_ADD( + (asn_anonymous_sequence_ *)UEContextReleaseComplete->protocolIEs, ie); ie->id = S1AP_ProtocolIE_ID_id_MME_UE_S1AP_ID; ie->criticality = S1AP_Criticality_ignore; @@ -839,7 +907,8 @@ ogs_pkbuf_t *test_s1ap_build_ue_context_release_complete(test_ue_t *test_ue) *MME_UE_S1AP_ID = test_ue->mme_ue_s1ap_id; ie = CALLOC(1, sizeof(S1AP_UEContextReleaseComplete_IEs_t)); - ASN_SEQUENCE_ADD(&UEContextReleaseComplete->protocolIEs, ie); + ASN_SEQUENCE_ADD( + (asn_anonymous_sequence_ *)UEContextReleaseComplete->protocolIEs, ie); ie->id = S1AP_ProtocolIE_ID_id_eNB_UE_S1AP_ID; ie->criticality = S1AP_Criticality_ignore; @@ -895,8 +964,13 @@ ogs_pkbuf_t *test_s1ap_build_e_rab_setup_response(test_bearer_t *bearer) successfulOutcome->value.choice.E_RABSetupResponse = CALLOC(1, sizeof(*E_RABSetupResponse)); E_RABSetupResponse = (S1AP_E_RABSetupResponse_t *)successfulOutcome->value.choice.E_RABSetupResponse; + E_RABSetupResponse->protocolIEs = + ogs_asn_calloc_type_member(&asn_DEF_S1AP_E_RABSetupResponse, 0); + ogs_assert(E_RABSetupResponse->protocolIEs); + ie = CALLOC(1, sizeof(S1AP_E_RABSetupResponseIEs_t)); - ASN_SEQUENCE_ADD(&E_RABSetupResponse->protocolIEs, ie); + ASN_SEQUENCE_ADD( + (asn_anonymous_sequence_ *)E_RABSetupResponse->protocolIEs, ie); ie->id = S1AP_ProtocolIE_ID_id_MME_UE_S1AP_ID; ie->criticality = S1AP_Criticality_ignore; @@ -908,7 +982,8 @@ ogs_pkbuf_t *test_s1ap_build_e_rab_setup_response(test_bearer_t *bearer) *MME_UE_S1AP_ID = test_ue->mme_ue_s1ap_id; ie = CALLOC(1, sizeof(S1AP_E_RABSetupResponseIEs_t)); - ASN_SEQUENCE_ADD(&E_RABSetupResponse->protocolIEs, ie); + ASN_SEQUENCE_ADD( + (asn_anonymous_sequence_ *)E_RABSetupResponse->protocolIEs, ie); ie->id = S1AP_ProtocolIE_ID_id_eNB_UE_S1AP_ID; ie->criticality = S1AP_Criticality_ignore; @@ -920,7 +995,8 @@ ogs_pkbuf_t *test_s1ap_build_e_rab_setup_response(test_bearer_t *bearer) *ENB_UE_S1AP_ID = test_ue->enb_ue_s1ap_id; ie = CALLOC(1, sizeof(S1AP_E_RABSetupResponseIEs_t)); - ASN_SEQUENCE_ADD(&E_RABSetupResponse->protocolIEs, ie); + ASN_SEQUENCE_ADD( + (asn_anonymous_sequence_ *)E_RABSetupResponse->protocolIEs, ie); ie->id = S1AP_ProtocolIE_ID_id_E_RABSetupListBearerSURes; ie->criticality = S1AP_Criticality_ignore; @@ -997,7 +1073,8 @@ ogs_pkbuf_t *test_s1ap_build_e_rab_failed_setup_response( E_RABSetupResponse = (S1AP_E_RABSetupResponse_t *)successfulOutcome->value.choice.E_RABSetupResponse; ie = CALLOC(1, sizeof(S1AP_E_RABSetupResponseIEs_t)); - ASN_SEQUENCE_ADD(&E_RABSetupResponse->protocolIEs, ie); + ASN_SEQUENCE_ADD( + (asn_anonymous_sequence_ *)E_RABSetupResponse->protocolIEs, ie); ie->id = S1AP_ProtocolIE_ID_id_MME_UE_S1AP_ID; ie->criticality = S1AP_Criticality_ignore; @@ -1009,7 +1086,8 @@ ogs_pkbuf_t *test_s1ap_build_e_rab_failed_setup_response( *MME_UE_S1AP_ID = test_ue->mme_ue_s1ap_id; ie = CALLOC(1, sizeof(S1AP_E_RABSetupResponseIEs_t)); - ASN_SEQUENCE_ADD(&E_RABSetupResponse->protocolIEs, ie); + ASN_SEQUENCE_ADD( + (asn_anonymous_sequence_ *)E_RABSetupResponse->protocolIEs, ie); ie->id = S1AP_ProtocolIE_ID_id_eNB_UE_S1AP_ID; ie->criticality = S1AP_Criticality_ignore; @@ -1021,7 +1099,8 @@ ogs_pkbuf_t *test_s1ap_build_e_rab_failed_setup_response( *ENB_UE_S1AP_ID = test_ue->enb_ue_s1ap_id; ie = CALLOC(1, sizeof(S1AP_E_RABSetupResponseIEs_t)); - ASN_SEQUENCE_ADD(&E_RABSetupResponse->protocolIEs, ie); + ASN_SEQUENCE_ADD( + (asn_anonymous_sequence_ *)E_RABSetupResponse->protocolIEs, ie); ie->id = S1AP_ProtocolIE_ID_id_E_RABFailedToSetupListBearerSURes; ie->criticality = S1AP_Criticality_ignore; @@ -1086,8 +1165,13 @@ ogs_pkbuf_t *test_s1ap_build_e_rab_modify_response(test_bearer_t *bearer) successfulOutcome->value.choice.E_RABModifyResponse = CALLOC(1, sizeof(*E_RABModifyResponse)); E_RABModifyResponse = (S1AP_E_RABModifyResponse_t *)successfulOutcome->value.choice.E_RABModifyResponse; + E_RABModifyResponse->protocolIEs = + ogs_asn_calloc_type_member(&asn_DEF_S1AP_E_RABModifyResponse, 0); + ogs_assert(E_RABModifyResponse->protocolIEs); + ie = CALLOC(1, sizeof(S1AP_E_RABModifyResponseIEs_t)); - ASN_SEQUENCE_ADD(&E_RABModifyResponse->protocolIEs, ie); + ASN_SEQUENCE_ADD( + (asn_anonymous_sequence_ *)E_RABModifyResponse->protocolIEs, ie); ie->id = S1AP_ProtocolIE_ID_id_MME_UE_S1AP_ID; ie->criticality = S1AP_Criticality_ignore; @@ -1099,7 +1183,8 @@ ogs_pkbuf_t *test_s1ap_build_e_rab_modify_response(test_bearer_t *bearer) *MME_UE_S1AP_ID = test_ue->mme_ue_s1ap_id; ie = CALLOC(1, sizeof(S1AP_E_RABModifyResponseIEs_t)); - ASN_SEQUENCE_ADD(&E_RABModifyResponse->protocolIEs, ie); + ASN_SEQUENCE_ADD( + (asn_anonymous_sequence_ *)E_RABModifyResponse->protocolIEs, ie); ie->id = S1AP_ProtocolIE_ID_id_eNB_UE_S1AP_ID; ie->criticality = S1AP_Criticality_ignore; @@ -1111,7 +1196,8 @@ ogs_pkbuf_t *test_s1ap_build_e_rab_modify_response(test_bearer_t *bearer) *ENB_UE_S1AP_ID = test_ue->enb_ue_s1ap_id; ie = CALLOC(1, sizeof(S1AP_E_RABModifyResponseIEs_t)); - ASN_SEQUENCE_ADD(&E_RABModifyResponse->protocolIEs, ie); + ASN_SEQUENCE_ADD( + (asn_anonymous_sequence_ *)E_RABModifyResponse->protocolIEs, ie); ie->id = S1AP_ProtocolIE_ID_id_E_RABModifyListBearerModRes; ie->criticality = S1AP_Criticality_ignore; @@ -1175,8 +1261,13 @@ ogs_pkbuf_t *test_s1ap_build_e_rab_release_response(test_bearer_t *bearer) E_RABReleaseResponse = (S1AP_E_RABReleaseResponse_t *)successfulOutcome->value.choice.E_RABReleaseResponse; + E_RABReleaseResponse->protocolIEs = + ogs_asn_calloc_type_member(&asn_DEF_S1AP_E_RABReleaseResponse, 0); + ogs_assert(E_RABReleaseResponse->protocolIEs); + ie = CALLOC(1, sizeof(S1AP_E_RABReleaseResponseIEs_t)); - ASN_SEQUENCE_ADD(&E_RABReleaseResponse->protocolIEs, ie); + ASN_SEQUENCE_ADD( + (asn_anonymous_sequence_ *)E_RABReleaseResponse->protocolIEs, ie); ie->id = S1AP_ProtocolIE_ID_id_MME_UE_S1AP_ID; ie->criticality = S1AP_Criticality_ignore; @@ -1188,7 +1279,8 @@ ogs_pkbuf_t *test_s1ap_build_e_rab_release_response(test_bearer_t *bearer) *MME_UE_S1AP_ID = test_ue->mme_ue_s1ap_id; ie = CALLOC(1, sizeof(S1AP_E_RABReleaseResponseIEs_t)); - ASN_SEQUENCE_ADD(&E_RABReleaseResponse->protocolIEs, ie); + ASN_SEQUENCE_ADD( + (asn_anonymous_sequence_ *)E_RABReleaseResponse->protocolIEs, ie); ie->id = S1AP_ProtocolIE_ID_id_eNB_UE_S1AP_ID; ie->criticality = S1AP_Criticality_ignore; @@ -1200,7 +1292,8 @@ ogs_pkbuf_t *test_s1ap_build_e_rab_release_response(test_bearer_t *bearer) *ENB_UE_S1AP_ID = test_ue->enb_ue_s1ap_id; ie = CALLOC(1, sizeof(S1AP_E_RABReleaseResponseIEs_t)); - ASN_SEQUENCE_ADD(&E_RABReleaseResponse->protocolIEs, ie); + ASN_SEQUENCE_ADD( + (asn_anonymous_sequence_ *)E_RABReleaseResponse->protocolIEs, ie); ie->id = S1AP_ProtocolIE_ID_id_E_RABReleaseListBearerRelComp; ie->criticality = S1AP_Criticality_ignore; @@ -1258,8 +1351,13 @@ ogs_pkbuf_t *test_s1ap_build_e_rab_modification_indication(test_ue_t *test_ue) E_RABModificationIndication = (S1AP_E_RABModificationIndication_t *)initiatingMessage->value.choice.E_RABModificationIndication; + E_RABModificationIndication->protocolIEs = + ogs_asn_calloc_type_member(&asn_DEF_S1AP_E_RABModificationIndication, 0); + ogs_assert(E_RABModificationIndication->protocolIEs); + ie = CALLOC(1, sizeof(S1AP_E_RABModificationIndicationIEs_t)); - ASN_SEQUENCE_ADD(&E_RABModificationIndication->protocolIEs, ie); + ASN_SEQUENCE_ADD( + (asn_anonymous_sequence_ *)E_RABModificationIndication->protocolIEs, ie); ie->id = S1AP_ProtocolIE_ID_id_MME_UE_S1AP_ID; ie->criticality = S1AP_Criticality_reject; @@ -1269,7 +1367,8 @@ ogs_pkbuf_t *test_s1ap_build_e_rab_modification_indication(test_ue_t *test_ue) MME_UE_S1AP_ID = (S1AP_MME_UE_S1AP_ID_t *)ie->value.choice.MME_UE_S1AP_ID; ie = CALLOC(1, sizeof(S1AP_E_RABModificationIndicationIEs_t)); - ASN_SEQUENCE_ADD(&E_RABModificationIndication->protocolIEs, ie); + ASN_SEQUENCE_ADD( + (asn_anonymous_sequence_ *)E_RABModificationIndication->protocolIEs, ie); ie->id = S1AP_ProtocolIE_ID_id_eNB_UE_S1AP_ID; ie->criticality = S1AP_Criticality_reject; @@ -1280,7 +1379,8 @@ ogs_pkbuf_t *test_s1ap_build_e_rab_modification_indication(test_ue_t *test_ue) ENB_UE_S1AP_ID = (S1AP_ENB_UE_S1AP_ID_t *)ie->value.choice.ENB_UE_S1AP_ID; ie = CALLOC(1, sizeof(S1AP_E_RABModificationIndicationIEs_t)); - ASN_SEQUENCE_ADD(&E_RABModificationIndication->protocolIEs, ie); + ASN_SEQUENCE_ADD( + (asn_anonymous_sequence_ *)E_RABModificationIndication->protocolIEs, ie); ie->id = S1AP_ProtocolIE_ID_id_E_RABToBeModifiedListBearerModInd; ie->criticality = S1AP_Criticality_reject; @@ -1368,8 +1468,13 @@ ogs_pkbuf_t *test_s1ap_build_path_switch_request(test_ue_t *test_ue) initiatingMessage->value.choice.PathSwitchRequest = CALLOC(1, sizeof(*PathSwitchRequest)); PathSwitchRequest = (S1AP_PathSwitchRequest_t *)initiatingMessage->value.choice.PathSwitchRequest; + PathSwitchRequest->protocolIEs = + ogs_asn_calloc_type_member(&asn_DEF_S1AP_PathSwitchRequest, 0); + ogs_assert(PathSwitchRequest->protocolIEs); + ie = CALLOC(1, sizeof(S1AP_PathSwitchRequestIEs_t)); - ASN_SEQUENCE_ADD(&PathSwitchRequest->protocolIEs, ie); + ASN_SEQUENCE_ADD( + (asn_anonymous_sequence_ *)PathSwitchRequest->protocolIEs, ie); ie->id = S1AP_ProtocolIE_ID_id_eNB_UE_S1AP_ID; ie->criticality = S1AP_Criticality_reject; @@ -1379,7 +1484,8 @@ ogs_pkbuf_t *test_s1ap_build_path_switch_request(test_ue_t *test_ue) ENB_UE_S1AP_ID = (S1AP_ENB_UE_S1AP_ID_t *)ie->value.choice.ENB_UE_S1AP_ID; ie = CALLOC(1, sizeof(S1AP_PathSwitchRequestIEs_t)); - ASN_SEQUENCE_ADD(&PathSwitchRequest->protocolIEs, ie); + ASN_SEQUENCE_ADD( + (asn_anonymous_sequence_ *)PathSwitchRequest->protocolIEs, ie); ie->id = S1AP_ProtocolIE_ID_id_E_RABToBeSwitchedDLList; ie->criticality = S1AP_Criticality_reject; @@ -1394,7 +1500,8 @@ ogs_pkbuf_t *test_s1ap_build_path_switch_request(test_ue_t *test_ue) ogs_assert(E_RABToBeSwitchedDLList); ie = CALLOC(1, sizeof(S1AP_PathSwitchRequestIEs_t)); - ASN_SEQUENCE_ADD(&PathSwitchRequest->protocolIEs, ie); + ASN_SEQUENCE_ADD( + (asn_anonymous_sequence_ *)PathSwitchRequest->protocolIEs, ie); ie->id = S1AP_ProtocolIE_ID_id_SourceMME_UE_S1AP_ID; ie->criticality = S1AP_Criticality_reject; @@ -1404,7 +1511,8 @@ ogs_pkbuf_t *test_s1ap_build_path_switch_request(test_ue_t *test_ue) MME_UE_S1AP_ID = (S1AP_MME_UE_S1AP_ID_t *)ie->value.choice.MME_UE_S1AP_ID; ie = CALLOC(1, sizeof(S1AP_PathSwitchRequestIEs_t)); - ASN_SEQUENCE_ADD(&PathSwitchRequest->protocolIEs, ie); + ASN_SEQUENCE_ADD( + (asn_anonymous_sequence_ *)PathSwitchRequest->protocolIEs, ie); ie->id = S1AP_ProtocolIE_ID_id_EUTRAN_CGI; ie->criticality = S1AP_Criticality_ignore; @@ -1414,7 +1522,8 @@ ogs_pkbuf_t *test_s1ap_build_path_switch_request(test_ue_t *test_ue) EUTRAN_CGI = (S1AP_EUTRAN_CGI_t *)ie->value.choice.EUTRAN_CGI; ie = CALLOC(1, sizeof(S1AP_PathSwitchRequestIEs_t)); - ASN_SEQUENCE_ADD(&PathSwitchRequest->protocolIEs, ie); + ASN_SEQUENCE_ADD( + (asn_anonymous_sequence_ *)PathSwitchRequest->protocolIEs, ie); ie->id = S1AP_ProtocolIE_ID_id_TAI; ie->criticality = S1AP_Criticality_ignore; @@ -1424,7 +1533,8 @@ ogs_pkbuf_t *test_s1ap_build_path_switch_request(test_ue_t *test_ue) TAI = (S1AP_TAI_t *)ie->value.choice.TAI; ie = CALLOC(1, sizeof(S1AP_PathSwitchRequestIEs_t)); - ASN_SEQUENCE_ADD(&PathSwitchRequest->protocolIEs, ie); + ASN_SEQUENCE_ADD( + (asn_anonymous_sequence_ *)PathSwitchRequest->protocolIEs, ie); ie->id = S1AP_ProtocolIE_ID_id_UESecurityCapabilities; ie->criticality = S1AP_Criticality_ignore; @@ -1553,8 +1663,13 @@ ogs_pkbuf_t *test_s1ap_build_handover_required( initiatingMessage->value.choice.HandoverRequired = CALLOC(1, sizeof(*HandoverRequired)); HandoverRequired = (S1AP_HandoverRequired_t *)initiatingMessage->value.choice.HandoverRequired; + HandoverRequired->protocolIEs = + ogs_asn_calloc_type_member(&asn_DEF_S1AP_HandoverRequired, 0); + ogs_assert(HandoverRequired->protocolIEs); + ie = CALLOC(1, sizeof(S1AP_HandoverRequiredIEs_t)); - ASN_SEQUENCE_ADD(&HandoverRequired->protocolIEs, ie); + ASN_SEQUENCE_ADD( + (asn_anonymous_sequence_ *)HandoverRequired->protocolIEs, ie); ie->id = S1AP_ProtocolIE_ID_id_MME_UE_S1AP_ID; ie->criticality = S1AP_Criticality_reject; @@ -1566,7 +1681,8 @@ ogs_pkbuf_t *test_s1ap_build_handover_required( *MME_UE_S1AP_ID = test_ue->mme_ue_s1ap_id; ie = CALLOC(1, sizeof(S1AP_HandoverRequiredIEs_t)); - ASN_SEQUENCE_ADD(&HandoverRequired->protocolIEs, ie); + ASN_SEQUENCE_ADD( + (asn_anonymous_sequence_ *)HandoverRequired->protocolIEs, ie); ie->id = S1AP_ProtocolIE_ID_id_eNB_UE_S1AP_ID; ie->criticality = S1AP_Criticality_reject; @@ -1578,7 +1694,8 @@ ogs_pkbuf_t *test_s1ap_build_handover_required( *ENB_UE_S1AP_ID = test_ue->enb_ue_s1ap_id; ie = CALLOC(1, sizeof(S1AP_HandoverRequiredIEs_t)); - ASN_SEQUENCE_ADD(&HandoverRequired->protocolIEs, ie); + ASN_SEQUENCE_ADD( + (asn_anonymous_sequence_ *)HandoverRequired->protocolIEs, ie); ie->id = S1AP_ProtocolIE_ID_id_HandoverType; ie->criticality = S1AP_Criticality_reject; @@ -1590,7 +1707,8 @@ ogs_pkbuf_t *test_s1ap_build_handover_required( *HandoverType = handover_type; ie = CALLOC(1, sizeof(S1AP_HandoverRequiredIEs_t)); - ASN_SEQUENCE_ADD(&HandoverRequired->protocolIEs, ie); + ASN_SEQUENCE_ADD( + (asn_anonymous_sequence_ *)HandoverRequired->protocolIEs, ie); ie->id = S1AP_ProtocolIE_ID_id_Cause; ie->criticality = S1AP_Criticality_ignore; @@ -1603,7 +1721,8 @@ ogs_pkbuf_t *test_s1ap_build_handover_required( Cause->choice.radioNetwork = cause; ie = CALLOC(1, sizeof(S1AP_HandoverRequiredIEs_t)); - ASN_SEQUENCE_ADD(&HandoverRequired->protocolIEs, ie); + ASN_SEQUENCE_ADD( + (asn_anonymous_sequence_ *)HandoverRequired->protocolIEs, ie); ie->id = S1AP_ProtocolIE_ID_id_TargetID; ie->criticality = S1AP_Criticality_reject; @@ -1629,7 +1748,8 @@ ogs_pkbuf_t *test_s1ap_build_handover_required( OGS_PLMN_ID_LEN, &selected_TAI->pLMNidentity); ie = CALLOC(1, sizeof(S1AP_HandoverRequiredIEs_t)); - ASN_SEQUENCE_ADD(&HandoverRequired->protocolIEs, ie); + ASN_SEQUENCE_ADD( + (asn_anonymous_sequence_ *)HandoverRequired->protocolIEs, ie); ie->id = S1AP_ProtocolIE_ID_id_Source_ToTarget_TransparentContainer; ie->criticality = S1AP_Criticality_reject; @@ -1691,8 +1811,13 @@ ogs_pkbuf_t *test_s1ap_build_handover_request_ack(test_ue_t *test_ue) HandoverRequestAcknowledge = (S1AP_HandoverRequestAcknowledge_t *)successfulOutcome->value.choice.HandoverRequestAcknowledge; + HandoverRequestAcknowledge->protocolIEs = + ogs_asn_calloc_type_member(&asn_DEF_S1AP_HandoverRequestAcknowledge, 0); + ogs_assert(HandoverRequestAcknowledge->protocolIEs); + ie = CALLOC(1, sizeof(S1AP_HandoverRequestAcknowledgeIEs_t)); - ASN_SEQUENCE_ADD(&HandoverRequestAcknowledge->protocolIEs, ie); + ASN_SEQUENCE_ADD( + (asn_anonymous_sequence_ *)HandoverRequestAcknowledge->protocolIEs, ie); ie->id = S1AP_ProtocolIE_ID_id_MME_UE_S1AP_ID; ie->criticality = S1AP_Criticality_ignore; @@ -1705,7 +1830,8 @@ ogs_pkbuf_t *test_s1ap_build_handover_request_ack(test_ue_t *test_ue) *MME_UE_S1AP_ID = test_ue->mme_ue_s1ap_id; ie = CALLOC(1, sizeof(S1AP_HandoverRequestAcknowledgeIEs_t)); - ASN_SEQUENCE_ADD(&HandoverRequestAcknowledge->protocolIEs, ie); + ASN_SEQUENCE_ADD( + (asn_anonymous_sequence_ *)HandoverRequestAcknowledge->protocolIEs, ie); ie->id = S1AP_ProtocolIE_ID_id_eNB_UE_S1AP_ID; ie->criticality = S1AP_Criticality_ignore; @@ -1719,7 +1845,8 @@ ogs_pkbuf_t *test_s1ap_build_handover_request_ack(test_ue_t *test_ue) *ENB_UE_S1AP_ID = test_ue->enb_ue_s1ap_id; ie = CALLOC(1, sizeof(S1AP_HandoverRequestAcknowledgeIEs_t)); - ASN_SEQUENCE_ADD(&HandoverRequestAcknowledge->protocolIEs, ie); + ASN_SEQUENCE_ADD( + (asn_anonymous_sequence_ *)HandoverRequestAcknowledge->protocolIEs, ie); ie->id = S1AP_ProtocolIE_ID_id_E_RABAdmittedList; ie->criticality = S1AP_Criticality_ignore; @@ -1790,7 +1917,8 @@ ogs_pkbuf_t *test_s1ap_build_handover_request_ack(test_ue_t *test_ue) } ie = CALLOC(1, sizeof(S1AP_HandoverRequestAcknowledgeIEs_t)); - ASN_SEQUENCE_ADD(&HandoverRequestAcknowledge->protocolIEs, ie); + ASN_SEQUENCE_ADD( + (asn_anonymous_sequence_ *)HandoverRequestAcknowledge->protocolIEs, ie); ie->id = S1AP_ProtocolIE_ID_id_Target_ToSource_TransparentContainer; ie->criticality = S1AP_Criticality_ignore; @@ -1843,8 +1971,13 @@ ogs_pkbuf_t *test_s1ap_build_enb_status_transfer(test_ue_t *test_ue) initiatingMessage->value.choice.ENBStatusTransfer = CALLOC(1, sizeof(*ENBStatusTransfer)); ENBStatusTransfer = (S1AP_ENBStatusTransfer_t *)initiatingMessage->value.choice.ENBStatusTransfer; + ENBStatusTransfer->protocolIEs = + ogs_asn_calloc_type_member(&asn_DEF_S1AP_ENBStatusTransfer, 0); + ogs_assert(ENBStatusTransfer->protocolIEs); + ie = CALLOC(1, sizeof(S1AP_ENBStatusTransferIEs_t)); - ASN_SEQUENCE_ADD(&ENBStatusTransfer->protocolIEs, ie); + ASN_SEQUENCE_ADD( + (asn_anonymous_sequence_ *)ENBStatusTransfer->protocolIEs, ie); ie->id = S1AP_ProtocolIE_ID_id_MME_UE_S1AP_ID; ie->criticality = S1AP_Criticality_reject; @@ -1856,7 +1989,8 @@ ogs_pkbuf_t *test_s1ap_build_enb_status_transfer(test_ue_t *test_ue) *MME_UE_S1AP_ID = test_ue->mme_ue_s1ap_id; ie = CALLOC(1, sizeof(S1AP_ENBStatusTransferIEs_t)); - ASN_SEQUENCE_ADD(&ENBStatusTransfer->protocolIEs, ie); + ASN_SEQUENCE_ADD( + (asn_anonymous_sequence_ *)ENBStatusTransfer->protocolIEs, ie); ie->id = S1AP_ProtocolIE_ID_id_eNB_UE_S1AP_ID; ie->criticality = S1AP_Criticality_reject; @@ -1868,7 +2002,8 @@ ogs_pkbuf_t *test_s1ap_build_enb_status_transfer(test_ue_t *test_ue) *ENB_UE_S1AP_ID = test_ue->enb_ue_s1ap_id; ie = CALLOC(1, sizeof(S1AP_ENBStatusTransferIEs_t)); - ASN_SEQUENCE_ADD(&ENBStatusTransfer->protocolIEs, ie); + ASN_SEQUENCE_ADD( + (asn_anonymous_sequence_ *)ENBStatusTransfer->protocolIEs, ie); ie->id = S1AP_ProtocolIE_ID_id_eNB_StatusTransfer_TransparentContainer; ie->criticality = S1AP_Criticality_reject; @@ -1932,8 +2067,13 @@ ogs_pkbuf_t *test_s1ap_build_handover_notify(test_ue_t *test_ue) initiatingMessage->value.choice.HandoverNotify = CALLOC(1, sizeof(*HandoverNotify)); HandoverNotify = (S1AP_HandoverNotify_t *)initiatingMessage->value.choice.HandoverNotify; + HandoverNotify->protocolIEs = + ogs_asn_calloc_type_member(&asn_DEF_S1AP_HandoverNotify, 0); + ogs_assert(HandoverNotify->protocolIEs); + ie = CALLOC(1, sizeof(S1AP_HandoverNotifyIEs_t)); - ASN_SEQUENCE_ADD(&HandoverNotify->protocolIEs, ie); + ASN_SEQUENCE_ADD( + (asn_anonymous_sequence_ *)HandoverNotify->protocolIEs, ie); ie->id = S1AP_ProtocolIE_ID_id_MME_UE_S1AP_ID; ie->criticality = S1AP_Criticality_reject; @@ -1945,7 +2085,8 @@ ogs_pkbuf_t *test_s1ap_build_handover_notify(test_ue_t *test_ue) *MME_UE_S1AP_ID = test_ue->mme_ue_s1ap_id; ie = CALLOC(1, sizeof(S1AP_HandoverNotifyIEs_t)); - ASN_SEQUENCE_ADD(&HandoverNotify->protocolIEs, ie); + ASN_SEQUENCE_ADD( + (asn_anonymous_sequence_ *)HandoverNotify->protocolIEs, ie); ie->id = S1AP_ProtocolIE_ID_id_eNB_UE_S1AP_ID; ie->criticality = S1AP_Criticality_reject; @@ -1957,7 +2098,8 @@ ogs_pkbuf_t *test_s1ap_build_handover_notify(test_ue_t *test_ue) *ENB_UE_S1AP_ID = test_ue->enb_ue_s1ap_id; ie = CALLOC(1, sizeof(S1AP_HandoverNotifyIEs_t)); - ASN_SEQUENCE_ADD(&HandoverNotify->protocolIEs, ie); + ASN_SEQUENCE_ADD( + (asn_anonymous_sequence_ *)HandoverNotify->protocolIEs, ie); ie->id = S1AP_ProtocolIE_ID_id_EUTRAN_CGI; ie->criticality = S1AP_Criticality_ignore; @@ -1980,7 +2122,8 @@ ogs_pkbuf_t *test_s1ap_build_handover_notify(test_ue_t *test_ue) EUTRAN_CGI->cell_ID.bits_unused = 4; ie = CALLOC(1, sizeof(S1AP_HandoverNotifyIEs_t)); - ASN_SEQUENCE_ADD(&HandoverNotify->protocolIEs, ie); + ASN_SEQUENCE_ADD( + (asn_anonymous_sequence_ *)HandoverNotify->protocolIEs, ie); ie->id = S1AP_ProtocolIE_ID_id_TAI; ie->criticality = S1AP_Criticality_ignore; @@ -2022,8 +2165,13 @@ ogs_pkbuf_t *test_s1ap_build_handover_cancel(test_ue_t *test_ue, initiatingMessage->value.choice.HandoverCancel = CALLOC(1, sizeof(*HandoverCancel)); HandoverCancel = (S1AP_HandoverCancel_t *)initiatingMessage->value.choice.HandoverCancel; + HandoverCancel->protocolIEs = + ogs_asn_calloc_type_member(&asn_DEF_S1AP_HandoverCancel, 0); + ogs_assert(HandoverCancel->protocolIEs); + ie = CALLOC(1, sizeof(S1AP_HandoverCancelIEs_t)); - ASN_SEQUENCE_ADD(&HandoverCancel->protocolIEs, ie); + ASN_SEQUENCE_ADD( + (asn_anonymous_sequence_ *)HandoverCancel->protocolIEs, ie); ie->id = S1AP_ProtocolIE_ID_id_MME_UE_S1AP_ID; ie->criticality = S1AP_Criticality_reject; @@ -2035,7 +2183,8 @@ ogs_pkbuf_t *test_s1ap_build_handover_cancel(test_ue_t *test_ue, *MME_UE_S1AP_ID = test_ue->mme_ue_s1ap_id; ie = CALLOC(1, sizeof(S1AP_HandoverCancelIEs_t)); - ASN_SEQUENCE_ADD(&HandoverCancel->protocolIEs, ie); + ASN_SEQUENCE_ADD( + (asn_anonymous_sequence_ *)HandoverCancel->protocolIEs, ie); ie->id = S1AP_ProtocolIE_ID_id_eNB_UE_S1AP_ID; ie->criticality = S1AP_Criticality_reject; @@ -2047,7 +2196,8 @@ ogs_pkbuf_t *test_s1ap_build_handover_cancel(test_ue_t *test_ue, *ENB_UE_S1AP_ID = test_ue->enb_ue_s1ap_id; ie = CALLOC(1, sizeof(S1AP_HandoverCancelIEs_t)); - ASN_SEQUENCE_ADD(&HandoverCancel->protocolIEs, ie); + ASN_SEQUENCE_ADD( + (asn_anonymous_sequence_ *)HandoverCancel->protocolIEs, ie); ie->id = S1AP_ProtocolIE_ID_id_Cause; ie->criticality = S1AP_Criticality_ignore; @@ -2090,8 +2240,13 @@ ogs_pkbuf_t *test_s1ap_build_handover_failure(test_ue_t *test_ue, unsuccessfulOutcome->value.choice.HandoverFailure = CALLOC(1, sizeof(*HandoverFailure)); HandoverFailure = (S1AP_HandoverFailure_t *)unsuccessfulOutcome->value.choice.HandoverFailure; + HandoverFailure->protocolIEs = + ogs_asn_calloc_type_member(&asn_DEF_S1AP_HandoverFailure, 0); + ogs_assert(HandoverFailure->protocolIEs); + ie = CALLOC(1, sizeof(S1AP_HandoverFailureIEs_t)); - ASN_SEQUENCE_ADD(&HandoverFailure->protocolIEs, ie); + ASN_SEQUENCE_ADD( + (asn_anonymous_sequence_ *)HandoverFailure->protocolIEs, ie); ie->id = S1AP_ProtocolIE_ID_id_MME_UE_S1AP_ID; ie->criticality = S1AP_Criticality_ignore; @@ -2104,7 +2259,8 @@ ogs_pkbuf_t *test_s1ap_build_handover_failure(test_ue_t *test_ue, *MME_UE_S1AP_ID = test_ue->mme_ue_s1ap_id; ie = CALLOC(1, sizeof(S1AP_HandoverFailureIEs_t)); - ASN_SEQUENCE_ADD(&HandoverFailure->protocolIEs, ie); + ASN_SEQUENCE_ADD( + (asn_anonymous_sequence_ *)HandoverFailure->protocolIEs, ie); ie->id = S1AP_ProtocolIE_ID_id_Cause; ie->criticality = S1AP_Criticality_ignore; diff --git a/tests/common/s1ap-handler.c b/tests/common/s1ap-handler.c index 583f25aee..890fd0dfb 100644 --- a/tests/common/s1ap-handler.c +++ b/tests/common/s1ap-handler.c @@ -131,12 +131,12 @@ void tests1ap_handle_initial_context_setup_request( test_ue->enb_ue_s1ap_id = *ENB_UE_S1AP_ID; ogs_assert(E_RABToBeSetupListCtxtSUReq); - for (i = 0; i < ((asn_anonymous_sequence_ *)E_RABToBeSetupListCtxtSUReq)->count; i++) { + for (i = 0; i < E_RABToBeSetupListCtxtSUReq->list.count; i++) { S1AP_E_RABToBeSetupItemCtxtSUReqIEs_t *ie2 = NULL; S1AP_E_RABToBeSetupItemCtxtSUReq_t *e_rab = NULL; ie2 = (S1AP_E_RABToBeSetupItemCtxtSUReqIEs_t *) - ((asn_anonymous_sequence_ *)E_RABToBeSetupListCtxtSUReq)->array[i]; + E_RABToBeSetupListCtxtSUReq->list.array[i]; ogs_assert(ie2); e_rab = ie2->value.choice.E_RABToBeSetupItemCtxtSUReq; @@ -238,12 +238,12 @@ void tests1ap_handle_e_rab_setup_request( test_ue->mme_ue_s1ap_id = *MME_UE_S1AP_ID; ogs_assert(E_RABToBeSetupListBearerSUReq); - for (i = 0; i < ((asn_anonymous_sequence_ *)E_RABToBeSetupListBearerSUReq)->count; i++) { + for (i = 0; i < E_RABToBeSetupListBearerSUReq->list.count; i++) { S1AP_E_RABToBeSetupItemBearerSUReqIEs_t *ie2 = NULL; S1AP_E_RABToBeSetupItemBearerSUReq_t *e_rab = NULL; ie2 = (S1AP_E_RABToBeSetupItemBearerSUReqIEs_t *) - ((asn_anonymous_sequence_ *)E_RABToBeSetupListBearerSUReq)->array[i]; + E_RABToBeSetupListBearerSUReq->list.array[i]; ogs_assert(ie2); e_rab = ie2->value.choice.E_RABToBeSetupItemBearerSUReq; @@ -303,12 +303,12 @@ void tests1ap_handle_e_rab_modify_request( test_ue->mme_ue_s1ap_id = *MME_UE_S1AP_ID; ogs_assert(E_RABToBeModifiedListBearerModReq); - for (i = 0; i < ((asn_anonymous_sequence_ *)E_RABToBeModifiedListBearerModReq)->count; i++) { + for (i = 0; i < E_RABToBeModifiedListBearerModReq->list.count; i++) { S1AP_E_RABToBeModifiedItemBearerModReqIEs_t *ie2 = NULL; S1AP_E_RABToBeModifiedItemBearerModReq_t *e_rab = NULL; ie2 = (S1AP_E_RABToBeModifiedItemBearerModReqIEs_t *) - ((asn_anonymous_sequence_ *)E_RABToBeModifiedListBearerModReq)->array[i]; + E_RABToBeModifiedListBearerModReq->list.array[i]; ogs_assert(ie2); e_rab = ie2->value.choice.E_RABToBeModifiedItemBearerModReq; @@ -360,11 +360,11 @@ void tests1ap_handle_e_rab_release_command( test_ue->mme_ue_s1ap_id = *MME_UE_S1AP_ID; ogs_assert(E_RABList); - for (i = 0; i < ((asn_anonymous_sequence_ *)E_RABList)->count; i++) { + for (i = 0; i < E_RABList->list.count; i++) { S1AP_E_RABItemIEs_t *ie2 = NULL; S1AP_E_RABItem_t *e_rab = NULL; - ie2 = (S1AP_E_RABItemIEs_t *)((asn_anonymous_sequence_ *)E_RABList)->array[i]; + ie2 = (S1AP_E_RABItemIEs_t *)E_RABList->list.array[i]; ogs_assert(ie2); e_rab = ie2->value.choice.E_RABItem; ogs_assert(e_rab);