X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=Bouncer%2Fe2ap%2Fwrapper.h;fp=Bouncer%2Fe2ap%2Fwrapper.h;h=49e5e2e49318a15380938ccac5fd38b8f4312a14;hb=fbc7e3ad84fc7269233a2f0b5d416cb1c6f8a6ea;hp=0000000000000000000000000000000000000000;hpb=eb27c05c05b5042d115480c40cffa16e7d473d80;p=ric-app%2Fbouncer.git diff --git a/Bouncer/e2ap/wrapper.h b/Bouncer/e2ap/wrapper.h new file mode 100644 index 0000000..49e5e2e --- /dev/null +++ b/Bouncer/e2ap/wrapper.h @@ -0,0 +1,136 @@ +#ifndef _WRAPPER_E2AP_H_ +#define _WRAPPER_E2AP_H_ +#include +#include +#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 RICControlAcknowledgeMsg { + long requestorID; + long instanceID; + long ranfunctionID; + uint8_t *callProcessID; + size_t callProcessIDSize; + uint8_t *ricControlOutCome; + size_t ricControlOutComeSize; +}RICControlAcknowledge; + +typedef struct RICControlFailureMsg { + long requestorID; + long instanceID; + long ranfunctionID; + uint8_t *callProcessID; + size_t callProcessIDSize; + uint8_t *ricControlOutCome; + size_t ricControlOutComeSize; + int causeType; + long causeValue; + +}RICControlFailure; + +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); +RICindicationMsg* e2ap_decode_ric_indication_m(); +void e2ap_free_decoded_ric_indication_message(RICindicationMsg* msg); + +/* RICcontrol */ +ssize_t e2ap_encode_ric_control_request_message(void *buffer, size_t buf_size, long ricRequestorID, long ricRequestSequenceNumber, long ranFunctionID, void *ricControlHdr, size_t ricControlHdrSize, void *ricControlMsg, size_t ricControlMsgSize); + +RICControlAcknowledge* e2ap_decode_ric_control_acknowledge_message(void *buffer, size_t buf_size); +void e2ap_free_decoded_ric_control_ack(RICControlAcknowledge* msg); + +RICControlFailure* e2ap_decode_ric_control_failure_message(void *buffer, size_t buf_size); +void e2ap_free_decoded_ric_control_failure(RICControlFailure* msg); + +#endif /* _WRAPPER_E2AP_H_ */