103 lines
3.8 KiB
C
103 lines
3.8 KiB
C
|
#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_ */
|