X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=e2ap%2Fwrapper.h;fp=e2ap%2Fwrapper.h;h=aeece6c066d9ef0b99cc3786cc48e51b62e35c6c;hb=4a8b4de538cb766095326da4a628b5cc01b8c8e7;hp=0000000000000000000000000000000000000000;hpb=6d8c1c849ae686692bcb3efb46b928d75ee8cf0a;p=scp%2Fric-app%2Fkpimon.git diff --git a/e2ap/wrapper.h b/e2ap/wrapper.h new file mode 100644 index 0000000..aeece6c --- /dev/null +++ b/e2ap/wrapper.h @@ -0,0 +1,102 @@ +#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_ */