X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=pkg%2Fcontrol%2Fe2ap.go;h=f9580d919e7cc4af0c9c5a51302051634992331a;hb=2e99e2f4c89b1c232b3d1765197db44e3cced5b8;hp=6f5edcb372fc7dd9e880ead271bccefdc462d554;hpb=d9673c002a30e08897f170adf1d66e6ca85c5c6a;p=ric-plt%2Fsubmgr.git diff --git a/pkg/control/e2ap.go b/pkg/control/e2ap.go index 6f5edcb..f9580d9 100644 --- a/pkg/control/e2ap.go +++ b/pkg/control/e2ap.go @@ -117,3 +117,49 @@ func (c *E2ap) SetSubscriptionDeleteResponseSequenceNumber(payload []byte, newSu newPayload = C.GoBytes(cptr, C.int(size)) return } + +/* RICsubscriptionRequestFailure */ + +func (c *E2ap) GetSubscriptionFailureSequenceNumber(payload []byte) (subId uint16, err error) { + cptr := unsafe.Pointer(&payload[0]) + cret := C.e2ap_get_ric_subscription_failure_sequence_number(cptr, C.size_t(len(payload))) + if cret < 0 { + return 0, errors.New("e2ap wrapper is unable to get Subscirption Failure Sequence Number due to wrong or invalid payload") + } + subId = uint16(cret) + return +} + +// This function is not used currently. Can be deleted if not needed +func (c *E2ap) SetSubscriptionFailureSequenceNumber(payload []byte, newSubscriptionid uint16) (newPayload []byte, err error) { + cptr := unsafe.Pointer(&payload[0]) + size := C.e2ap_set_ric_subscription_failure_sequence_number(cptr, C.size_t(len(payload)), C.long(newSubscriptionid)) + if size < 0 { + return make([]byte, 0), errors.New("e2ap wrapper is unable to set Subscription Failure Sequence Number due to wrong or invalid payload") + } + newPayload = C.GoBytes(cptr, C.int(size)) + return +} + +/* RICsubscriptionDeleteFailure */ + +func (c *E2ap) GetSubscriptionDeleteFailureSequenceNumber(payload []byte) (subId uint16, err error) { + cptr := unsafe.Pointer(&payload[0]) + cret := C.e2ap_get_ric_subscription_delete_failure_sequence_number(cptr, C.size_t(len(payload))) + if cret < 0 { + return 0, errors.New("e2ap wrapper is unable to get Subscirption Delete Failure Sequence Number due to wrong or invalid payload") + } + subId = uint16(cret) + return +} + +// This function is not used currently. Can be deleted if not needed +func (c *E2ap) SetSubscriptionDeleteFailureSequenceNumber(payload []byte, newSubscriptionid uint16) (newPayload []byte, err error) { + cptr := unsafe.Pointer(&payload[0]) + size := C.e2ap_set_ric_subscription_delete_failure_sequence_number(cptr, C.size_t(len(payload)), C.long(newSubscriptionid)) + if size < 0 { + return make([]byte, 0), errors.New("e2ap wrapper is unable to set Subscription Delete Failure Sequence Number due to wrong or invalid payload") + } + newPayload = C.GoBytes(cptr, C.int(size)) + return +}