#ifndef _WRAPPER_H_ #define _WRAPPER_H_ #include "RICsubscriptionRequest.h" #include "RICsubscriptionResponse.h" #include "RICsubscriptionDeleteRequest.h" #include "RICsubscriptionDeleteResponse.h" #include "RICcontrolRequest.h" #include "RICindication.h" #include "E2AP-PDU.h" #include "InitiatingMessage.h" #include "SuccessfulOutcome.h" #include "UnsuccessfulOutcome.h" #include "ProtocolIE-Container.h" #include "ProtocolIE-Field.h" #include "RICactionDefinition.h" #include "RICsubsequentAction.h" #include "CauseRIC.h" typedef struct RICindicationMessage { long requestorID; long requestSequenceNumber; long ranfunctionID; long actionID; long indicationSN; long indicationType; uint8_t *indicationHeader; size_t indicationHeaderSize; uint8_t *indicationMessage; size_t indicationMessageSize; uint8_t *callProcessID; size_t callProcessIDSize; } RICindicationMsg; typedef struct RICcauseItem { int ricCauseType; long ricCauseID; } RICcauseItem; typedef struct RICactionAdmittedList { long ricActionID[16]; int count; } RICactionAdmittedList; typedef struct RICactionNotAdmittedList { long ricActionID[16]; RICcauseItem ricCause[16]; int count; } RICactionNotAdmittedList; typedef struct RICsubscriptionResponseMessage { long requestorID; long requestSequenceNumber; long ranfunctionID; RICactionAdmittedList ricActionAdmittedList; RICactionNotAdmittedList ricActionNotAdmittedList; } RICsubscriptionResponseMsg; typedef struct RICactionDefinition { uint8_t *actionDefinition; int size; } RICactionDefinition; typedef struct RICSubsequentAction { int isValid; long subsequentActionType; long timeToWait; } RICSubsequentAction; size_t encode_E2AP_PDU(E2AP_PDU_t* pdu, void* buffer, size_t buf_size); E2AP_PDU_t* decode_E2AP_PDU(const void* buffer, size_t buf_size); /* RICsubscriptionRequest */ long e2ap_get_ric_subscription_request_sequence_number(void *buffer, size_t buf_size); ssize_t e2ap_set_ric_subscription_request_sequence_number(void *buffer, size_t buf_size, long sequence_number); ssize_t e2ap_encode_ric_subscription_request_message(void *buffer, size_t buf_size, long ricRequestorID, long ricRequestSequenceNumber, long ranFunctionID, void *eventTriggerDefinition, size_t eventTriggerDefinitionSize, int actionCount, long *actionIds, long* actionTypes, RICactionDefinition *actionDefinitions, RICSubsequentAction *subsequentActionTypes); /* RICsubscriptionResponse */ long e2ap_get_ric_subscription_response_sequence_number(void *buffer, size_t buf_size); ssize_t e2ap_set_ric_subscription_response_sequence_number(void *buffer, size_t buf_size, long sequence_number); RICsubscriptionResponseMsg* e2ap_decode_ric_subscription_response_message(void *buffer, size_t buf_size); /* RICsubscriptionFailure */ long e2ap_get_ric_subscription_failure_sequence_number(void *buffer, size_t buf_size); /* RICsubscriptionDeleteRequest */ long e2ap_get_ric_subscription_delete_request_sequence_number(void *buffer, size_t buf_size); ssize_t e2ap_set_ric_subscription_delete_request_sequence_number(void *buffer, size_t buf_size, long sequence_number); ssize_t e2ap_encode_ric_subscription_delete_request_message(void *buffer, size_t buf_size, long ricRequestorID, long ricRequestSequenceNumber, long ranFunctionID); /* RICsubscriptionDeleteResponse */ long e2ap_get_ric_subscription_delete_response_sequence_number(void *buffer, size_t buf_size); ssize_t e2ap_set_ric_subscription_delete_response_sequence_number(void *buffer, size_t buf_size, long sequence_number); /* RICsubscriptionDeleteFailure */ long e2ap_get_ric_subscription_delete_failure_sequence_number(void *buffer, size_t buf_size); /* RICindication */ RICindicationMsg* e2ap_decode_ric_indication_message(void *buffer, size_t buf_size); void e2ap_free_decoded_ric_indication_message(RICindicationMsg* msg); #endif /* _WRAPPER_H_ */