X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=e2ap%2Flibe2ap_wrapper%2FE2AP_if.h;h=10f2d2fb85443f56c29b5b56902a774e0be0149a;hb=84662c4f3e2273152fc849f74880108b6346bcad;hp=c52db2b8a275dba67131c1da6c249f0f2f857b51;hpb=e1af87f0759201f64804eff5911c4e6c0e859be9;p=ric-plt%2Fsubmgr.git diff --git a/e2ap/libe2ap_wrapper/E2AP_if.h b/e2ap/libe2ap_wrapper/E2AP_if.h index c52db2b..10f2d2f 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,23 @@ 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, }; static const char* const E2ErrorStrings[] = { @@ -325,7 +316,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 +340,23 @@ 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", }; typedef struct { @@ -377,6 +377,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 +404,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,11 +427,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; @@ -441,6 +456,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*); @@ -449,7 +465,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(); @@ -458,6 +474,7 @@ bool TestRICSubscriptionFailure(); bool TestRICSubscriptionDeleteRequest(); bool TestRICSubscriptionDeleteResponse(); bool TestRICSubscriptionDeleteFailure(); +bool TestRICSubscriptionDeleteRequired(); void printRICSubscriptionRequest(const RICSubscriptionRequest_t*); void printRICSubscriptionResponse(const RICSubscriptionResponse_t*); @@ -465,6 +482,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