X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=e2ap%2Flibe2ap_wrapper%2FE2AP_if.h;h=a98570c223f8c826cb9dad5089dbafca70d8a4b1;hb=d3fb160ffdb3b1d287facf0cbf4f425801e82bcd;hp=aab8aaa31bf7a69bdb07cfb5877dea4e6b298cad;hpb=cdc35bff0dd4c41d1e764d3f48efa70d9f33a8f7;p=ric-plt%2Fsubmgr.git diff --git a/e2ap/libe2ap_wrapper/E2AP_if.h b/e2ap/libe2ap_wrapper/E2AP_if.h index aab8aaa..a98570c 100644 --- a/e2ap/libe2ap_wrapper/E2AP_if.h +++ b/e2ap/libe2ap_wrapper/E2AP_if.h @@ -32,16 +32,8 @@ extern "C" { #endif -extern const int cCauseRICRequest; -extern const int cCauseRICService; -extern const int cCauseTransport; -extern const int cCauseProtocol; -extern const int cCauseMisc; - typedef unsigned char byte; -//extern const int64_t cMaxNrOfErrors; - extern const uint64_t cMaxSizeOfOctetString; typedef struct { // Octet string in ASN.1 does not have maximum length! @@ -75,7 +67,6 @@ enum RICActionType_t { RICActionType_policy }; - enum RICSubsequentActionType_t { RICSubsequentActionType_Continue, RICSubsequentActionType_wait @@ -162,9 +153,6 @@ enum InterfaceDirection__t { typedef uint8_t ProcedureCode__t; - -static const uint64_t cMaxofProtocolIE = 15; - typedef struct { OctetString_t octetString; // This element is E2AP spec format } RICEventTriggerDefinition_t; @@ -179,12 +167,6 @@ typedef struct { RICActionID_t ricActionID[16]; // Table size is const cMaxofRICactionID } RICActionAdmittedList_t; -extern const int cCauseRIC; // This is content of type CauseRIC_t -extern const int cCauseRICService; // This is content of type CauseRICservice_t -extern const int cRICCauseTransport; // This is content of type CauseTransport_t -extern const int cRICCauseProtocol; // This is content of type CauseProtocol_t -extern const int cRICCauseMisc; // This is content of type CauseMisc_t - typedef struct { uint8_t content; // See above constants uint8_t causeVal; // This is type of enum CauseRIC_t @@ -269,7 +251,7 @@ enum e2err { e2err_RICSubscriptionFailureAllocRICrequestIDFail, e2err_RICSubscriptionFailureAllocRANfunctionIDFail, e2err_RICSubscriptionFailureAllocRICaction_NotAdmitted_ItemIEsFail, - e2err_RICSubscriptionFailureAllocRICActionAdmittedListFail, + e2err_RICSubscriptionFailureAllocCauseFail, e2err_RICSubscriptionFailureEncodeFail, e2err_RICSubscriptionFailureAllocE2AP_PDUFail, e2err_RICSubscriptionDeleteRequestAllocRICrequestIDFail, @@ -293,14 +275,31 @@ enum e2err { e2err_RICsubscriptionResponseRICaction_Admitted_ListMissing, e2err_RICsubscriptionFailureRICrequestIDMissing, e2err_RICsubscriptionFailureRANfunctionIDMissing, - e2err_RICsubscriptionFailureRICaction_NotAdmitted_ListMissing, + e2err_RICsubscriptionFailureCauseMissing, e2err_RICsubscriptionDeleteRequestRICrequestIDMissing, e2err_RICsubscriptionDeleteRequestRANfunctionIDMissing, e2err_RICsubscriptionDeleteResponseRICrequestIDMissing, e2err_RICsubscriptionDeleteResponseRANfunctionIDMissing, e2err_RICsubscriptionDeleteFailureRICrequestIDMissing, e2err_RICsubscriptionDeleteFailureRANfunctionIDMissing, - e2err_RICsubscriptionDeleteFailureRICcauseMissing + e2err_RICsubscriptionDeleteFailureRICcauseMissing, + e2err_RICSubscriptionDeleteRequiredRICrequestIDMissing, + e2err_RICSubscriptionDeleteRequiredRANfunctionIDMissing, + e2err_RICSubscriptionDeleteRequiredRICcauseMissing, + e2err_RICSubscriptionDeleteRequiredEncodeFail, + e2err_RICSubscriptionDeleteRequiredAllocE2AP_PDUFail, + e2err_RICsubscriptionResponseRICrequestIDWrongOrder, + e2err_RICsubscriptionResponseRANfunctionIDWrongOrder, + e2err_RICsubscriptionResponseRICaction_Admitted_ListWrongOrder, + e2err_RICsubscriptionResponseRICaction_NotAdmitted_ListWrongOrder, + e2err_RICsubscriptionFailureRICrequestIDWrongOrder, + e2err_RICsubscriptionFailureRANfunctionIDWrongOrder, + e2err_RICsubscriptionFailureCauseWrongOrder, + e2err_RICsubscriptionDeleteResponseRICrequestIDWrongOrder, + e2err_RICsubscriptionDeleteResponseRANfunctionIDWrongOrder, + e2err_RICsubscriptionDeleteFailureRICrequestIDWrongOrder, + e2err_RICsubscriptionDeleteFailureRANfunctionIDWrongOrder, + e2err_RICsubscriptionDeleteFailureRICcauseWrongOrder }; static const char* const E2ErrorStrings[] = { @@ -325,7 +324,7 @@ static const char* const E2ErrorStrings[] = { "e2err_RICSubscriptionFailureAllocRICrequestIDFail", "e2err_RICSubscriptionFailureAllocRANfunctionIDFail", "e2err_RICSubscriptionFailureAllocRICaction_NotAdmitted_ItemIEsFail", - "e2err_RICSubscriptionFailureAllocRICActionAdmittedListFail", + "e2err_RICSubscriptionFailureAllocCauseFail", "e2err_RICSubscriptionFailureEncodeFail", "e2err_RICSubscriptionFailureAllocE2AP_PDUFail", "e2err_RICSubscriptionDeleteRequestAllocRICrequestIDFail", @@ -349,14 +348,26 @@ static const char* const E2ErrorStrings[] = { "e2err_RICsubscriptionResponseRICaction_Admitted_ListMissing", "e2err_RICsubscriptionFailureRICrequestIDMissing", "e2err_RICsubscriptionFailureRANfunctionIDMissing", - "e2err_RICsubscriptionFailureRICaction_NotAdmitted_ListMissing", + "e2err_RICsubscriptionFailureCauseMissing", "e2err_RICsubscriptionDeleteRequestRICrequestIDMissing", "e2err_RICsubscriptionDeleteRequestRANfunctionIDMissing", "e2err_RICsubscriptionDeleteResponseRICrequestIDMissing", "e2err_RICsubscriptionDeleteResponseRANfunctionIDMissing", "e2err_RICsubscriptionDeleteFailureRICrequestIDMissing", "e2err_RICsubscriptionDeleteFailureRANfunctionIDMissing", - "e2err_RICsubscriptionDeleteFailureRICcauseMissing" + "e2err_RICsubscriptionDeleteFailureRICcauseMissing", + "e2err_RICSubscriptionDeleteRequiredRICrequestIDMissing", + "e2err_RICSubscriptionDeleteRequiredRANfunctionIDMissing", + "e2err_RICSubscriptionDeleteRequiredRICcauseMissing", + "e2err_RICSubscriptionDeleteRequiredEncodeFail", + "e2err_RICSubscriptionDeleteRequiredAllocE2AP_PDUFail", + "e2err_RICsubscriptionResponseRICrequestIDWrongOrder", + "e2err_RICsubscriptionResponseRANfunctionIDWrongOrder", + "e2err_RICsubscriptionResponseRICaction_Admitted_ListWrongOrder", + "e2err_RICsubscriptionResponseRICaction_NotAdmitted_ListWrongOrder", + "e2err_RICsubscriptionFailureRICrequestIDWrongOrder", + "e2err_RICsubscriptionFailureRANfunctionIDWrongOrder", + "e2err_RICsubscriptionFailureCauseWrongOrder", }; typedef struct { @@ -377,6 +388,7 @@ extern const uint64_t cE2UnsuccessfulOutcome; // Initiating message extern const uint64_t cRICSubscriptionRequest; extern const uint64_t cRICSubscriptionDeleteRequest; +extern const uint64_t cRICSubscriptionDeleteRequired; // Successful outcome extern const uint64_t cRICSubscriptionResponse; @@ -403,7 +415,7 @@ typedef struct { typedef struct { RICRequestID_t ricRequestID; RANFunctionID_t ranFunctionID; - RICActionNotAdmittedList_t ricActionNotAdmittedList; + RICCause_t cause; bool criticalityDiagnosticsPresent; CriticalityDiagnostics__t criticalityDiagnostics; } RICSubscriptionFailure_t; @@ -426,9 +438,25 @@ typedef struct { CriticalityDiagnostics__t criticalityDiagnostics; // OPTIONAL. Not used in RIC currently } RICSubscriptionDeleteFailure_t; +typedef struct { + RICRequestID_t ricRequestID; + RANFunctionID_t ranFunctionID; + RICCause_t cause; +} RICSubscriptionDeleteRequired_t; + +typedef struct { + int noOfRanSubscriptions; + RICSubscriptionDeleteRequired_t ranSubscriptionsDelRequired[1024]; + +} RICSubsDeleteRequired_t; + ////////////////////////////////////////////////////////////////////// // Function declarations +void allowASN1DebugPrints(bool); + +void allowOutOfOrderIEMsg(uint8_t); + const char* getE2ErrorString(uint64_t); typedef void* e2ap_pdu_ptr_t; @@ -439,6 +467,7 @@ uint64_t packRICSubscriptionFailure(size_t*, byte*, char*,RICSubscriptionFailure uint64_t packRICSubscriptionDeleteRequest(size_t*, byte*, char*,RICSubscriptionDeleteRequest_t*); uint64_t packRICSubscriptionDeleteResponse(size_t*, byte*, char*,RICSubscriptionDeleteResponse_t*); uint64_t packRICSubscriptionDeleteFailure(size_t*, byte*, char*,RICSubscriptionDeleteFailure_t*); +uint64_t packRICSubscriptionDeleteRequired(size_t*, byte*, char*,RICSubsDeleteRequired_t*); e2ap_pdu_ptr_t* unpackE2AP_pdu(const size_t, const byte*, char*, E2MessageInfo_t*); uint64_t getRICSubscriptionRequestData(e2ap_pdu_ptr_t*, RICSubscriptionRequest_t*); @@ -447,7 +476,7 @@ uint64_t getRICSubscriptionFailureData(e2ap_pdu_ptr_t*, RICSubscriptionFailure_t uint64_t getRICSubscriptionDeleteRequestData(e2ap_pdu_ptr_t*, RICSubscriptionDeleteRequest_t*); uint64_t getRICSubscriptionDeleteResponseData(e2ap_pdu_ptr_t*, RICSubscriptionDeleteResponse_t*); uint64_t getRICSubscriptionDeleteFailureData(e2ap_pdu_ptr_t*, RICSubscriptionDeleteFailure_t*); - +uint64_t getRICSubscriptionDeleteRequiredData(e2ap_pdu_ptr_t*, RICSubsDeleteRequired_t*); #if DEBUG bool TestRICSubscriptionRequest(); @@ -456,6 +485,7 @@ bool TestRICSubscriptionFailure(); bool TestRICSubscriptionDeleteRequest(); bool TestRICSubscriptionDeleteResponse(); bool TestRICSubscriptionDeleteFailure(); +bool TestRICSubscriptionDeleteRequired(); void printRICSubscriptionRequest(const RICSubscriptionRequest_t*); void printRICSubscriptionResponse(const RICSubscriptionResponse_t*); @@ -463,6 +493,7 @@ void printRICSubscriptionFailure(const RICSubscriptionFailure_t*); void printRICSubscriptionDeleteRequest(const RICSubscriptionDeleteRequest_t*); void printRICSubscriptionDeleteResponse(const RICSubscriptionDeleteResponse_t*); void printRICSubscriptionDeleteFailure(const RICSubscriptionDeleteFailure_t*); +void printRICSubscriptionDeleteRequired(const RICSubsDeleteRequired_t*); #endif #ifdef __cplusplus