4 #include "RICsubscriptionRequest.h"
5 #include "RICsubscriptionResponse.h"
6 #include "RICsubscriptionDeleteRequest.h"
7 #include "RICsubscriptionDeleteResponse.h"
8 #include "RICcontrolRequest.h"
9 #include "RICindication.h"
11 #include "InitiatingMessage.h"
12 #include "SuccessfulOutcome.h"
13 #include "UnsuccessfulOutcome.h"
14 #include "ProtocolIE-Container.h"
15 #include "ProtocolIE-Field.h"
16 #include "RICactionDefinition.h"
17 #include "RICsubsequentAction.h"
20 typedef struct RICindicationMessage {
22 long requestSequenceNumber;
27 uint8_t *indicationHeader;
28 size_t indicationHeaderSize;
29 uint8_t *indicationMessage;
30 size_t indicationMessageSize;
31 uint8_t *callProcessID;
32 size_t callProcessIDSize;
35 typedef struct RICcauseItem {
40 typedef struct RICactionAdmittedList {
43 } RICactionAdmittedList;
45 typedef struct RICactionNotAdmittedList {
47 RICcauseItem ricCause[16];
49 } RICactionNotAdmittedList;
51 typedef struct RICsubscriptionResponseMessage {
53 long requestSequenceNumber;
55 RICactionAdmittedList ricActionAdmittedList;
56 RICactionNotAdmittedList ricActionNotAdmittedList;
57 } RICsubscriptionResponseMsg;
59 typedef struct RICactionDefinition {
60 uint8_t *actionDefinition;
62 } RICactionDefinition;
64 typedef struct RICSubsequentAction {
66 long subsequentActionType;
68 } RICSubsequentAction;
70 size_t encode_E2AP_PDU(E2AP_PDU_t* pdu, void* buffer, size_t buf_size);
71 E2AP_PDU_t* decode_E2AP_PDU(const void* buffer, size_t buf_size);
73 /* RICsubscriptionRequest */
74 long e2ap_get_ric_subscription_request_sequence_number(void *buffer, size_t buf_size);
75 ssize_t e2ap_set_ric_subscription_request_sequence_number(void *buffer, size_t buf_size, long sequence_number);
76 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);
78 /* RICsubscriptionResponse */
79 long e2ap_get_ric_subscription_response_sequence_number(void *buffer, size_t buf_size);
80 ssize_t e2ap_set_ric_subscription_response_sequence_number(void *buffer, size_t buf_size, long sequence_number);
81 RICsubscriptionResponseMsg* e2ap_decode_ric_subscription_response_message(void *buffer, size_t buf_size);
83 /* RICsubscriptionFailure */
84 long e2ap_get_ric_subscription_failure_sequence_number(void *buffer, size_t buf_size);
86 /* RICsubscriptionDeleteRequest */
87 long e2ap_get_ric_subscription_delete_request_sequence_number(void *buffer, size_t buf_size);
88 ssize_t e2ap_set_ric_subscription_delete_request_sequence_number(void *buffer, size_t buf_size, long sequence_number);
89 ssize_t e2ap_encode_ric_subscription_delete_request_message(void *buffer, size_t buf_size, long ricRequestorID, long ricRequestSequenceNumber, long ranFunctionID);
91 /* RICsubscriptionDeleteResponse */
92 long e2ap_get_ric_subscription_delete_response_sequence_number(void *buffer, size_t buf_size);
93 ssize_t e2ap_set_ric_subscription_delete_response_sequence_number(void *buffer, size_t buf_size, long sequence_number);
95 /* RICsubscriptionDeleteFailure */
96 long e2ap_get_ric_subscription_delete_failure_sequence_number(void *buffer, size_t buf_size);
99 RICindicationMsg* e2ap_decode_ric_indication_message(void *buffer, size_t buf_size);
100 void e2ap_free_decoded_ric_indication_message(RICindicationMsg* msg);
102 #endif /* _WRAPPER_H_ */