mirror of
https://gitlab.eurecom.fr/oai/openairinterface5g.git
synced 2026-07-13 04:30:28 +00:00
- Add Handover Success message type definitions
- Implement encoder and decoder for Handover Success
Handover Success (3GPP TS 38.423v16.2.0 §9.1.1.12)
- Source NG-RAN node UE XnAP ID (M)
- Target NG-RAN node UE XnAP ID (M)
- Requested Target Cell Global ID (M)
- Add equality check and memory management helpers
- Extend XNAP library unit tests to cover Handover Success
Reviewed-by: Venkatareddy Akumalla <venkatareddy.akumalla@openairinterface.org>
Signed-off-by: Mohammed Safwan <mohammed.safwan@openairinterface.org>
45 lines
2.8 KiB
C
45 lines
2.8 KiB
C
/*
|
|
* SPDX-License-Identifier: LicenseRef-CSSL-1.0
|
|
*/
|
|
|
|
#ifndef XNAP_GNB_MOBILITY_MANAGEMENT_H_
|
|
#define XNAP_GNB_MOBILITY_MANAGEMENT_H_
|
|
|
|
#include "xnap_messages_types.h"
|
|
typedef struct XNAP_XnAP_PDU XNAP_XnAP_PDU_t;
|
|
|
|
XNAP_XnAP_PDU_t *encode_xnap_handover_request(const xnap_handover_req_t *xnap_handover_req);
|
|
XNAP_XnAP_PDU_t *encode_xnap_handover_request_acknowledge(const xnap_handover_req_ack_t *xnap_handover_req_ack);
|
|
XNAP_XnAP_PDU_t *encode_xnap_handover_preparation_failure(const xnap_handover_preparation_failure_t *failure);
|
|
XNAP_XnAP_PDU_t *encode_xnap_sn_status_transfer(const xnap_sn_status_transfer_t *sn_status);
|
|
XNAP_XnAP_PDU_t *encode_xnap_ue_context_release(const xnap_ue_context_release_t *msg);
|
|
XNAP_XnAP_PDU_t *encode_xnap_handover_cancel(const xnap_handover_cancel_t *msg);
|
|
XNAP_XnAP_PDU_t *encode_xnap_handover_success(const xnap_handover_success_t *msg);
|
|
|
|
bool decode_xnap_handover_request(xnap_handover_req_t *req, const XNAP_XnAP_PDU_t *pdu);
|
|
bool decode_xnap_handover_request_acknowledge(xnap_handover_req_ack_t *out, const XNAP_XnAP_PDU_t *pdu);
|
|
bool decode_xnap_handover_preparation_failure(xnap_handover_preparation_failure_t *out, const XNAP_XnAP_PDU_t *pdu);
|
|
bool decode_xnap_sn_status_transfer(xnap_sn_status_transfer_t *out, const XNAP_XnAP_PDU_t *pdu);
|
|
bool decode_xnap_ue_context_release(xnap_ue_context_release_t *out, const XNAP_XnAP_PDU_t *pdu);
|
|
bool decode_xnap_handover_cancel(xnap_handover_cancel_t *out, const XNAP_XnAP_PDU_t *pdu);
|
|
bool decode_xnap_handover_success(xnap_handover_success_t *out, const XNAP_XnAP_PDU_t *pdu);
|
|
|
|
bool eq_xnap_handover_request(const xnap_handover_req_t *a, const xnap_handover_req_t *b);
|
|
bool eq_xnap_handover_request_acknowledge(const xnap_handover_req_ack_t *a, const xnap_handover_req_ack_t *b);
|
|
bool eq_xnap_handover_preparation_failure(const xnap_handover_preparation_failure_t *a,
|
|
const xnap_handover_preparation_failure_t *b);
|
|
bool eq_xnap_sn_status_transfer(const xnap_sn_status_transfer_t *a, const xnap_sn_status_transfer_t *b);
|
|
bool eq_xnap_ue_context_release(const xnap_ue_context_release_t *a, const xnap_ue_context_release_t *b);
|
|
bool eq_xnap_handover_cancel(const xnap_handover_cancel_t *a, const xnap_handover_cancel_t *b);
|
|
bool eq_xnap_handover_success(const xnap_handover_success_t *a, const xnap_handover_success_t *b);
|
|
|
|
void free_xnap_handover_request(xnap_handover_req_t *msg);
|
|
void free_xnap_handover_request_acknowledge(xnap_handover_req_ack_t *msg);
|
|
void free_xnap_handover_preparation_failure(xnap_handover_preparation_failure_t *msg);
|
|
void free_xnap_sn_status_transfer(xnap_sn_status_transfer_t *msg);
|
|
void free_xnap_ue_context_release(xnap_ue_context_release_t *msg);
|
|
void free_xnap_handover_cancel(xnap_handover_cancel_t *msg);
|
|
void free_xnap_handover_success(xnap_handover_success_t *msg);
|
|
|
|
#endif // XNAP_GNB_MOBILITY_MANAGEMENT_H_
|