Commit 7b83adf6 authored by jperaldi's avatar jperaldi

SIDL interface refreshed

parent 57f7e60c
...@@ -49,6 +49,8 @@ enum acpMsgLocalId { ...@@ -49,6 +49,8 @@ enum acpMsgLocalId {
ACP_LID_NrSysSrbProcessFromSS = 0x90040900, ACP_LID_NrSysSrbProcessFromSS = 0x90040900,
ACP_LID_NrSysSrbProcessToSS = 0x90040901, ACP_LID_NrSysSrbProcessToSS = 0x90040901,
ACP_LID_NrSysProcess = 0x90040A00, ACP_LID_NrSysProcess = 0x90040A00,
ACP_LID_NrDrbProcessFromSS = 0x90040B00,
ACP_LID_NrDrbProcessToSS = 0x90040B01,
}; };
SIDL_END_C_INTERFACE SIDL_END_C_INTERFACE
/*
* Copyright 2022 Sequans Communications.
*
* Licensed to the OpenAirInterface (OAI) Software Alliance under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The OpenAirInterface Software Alliance licenses this file to You under
* the OAI Public License, Version 1.0 (the "License"); you may not use this file
* except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.openairinterface.org/?page_id=698
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
* For more information about the OpenAirInterface (OAI) Software Alliance:
* contact@openairinterface.org
*/
#pragma once
#include "SIDL_NR_DRB_PORT.h"
#include "acp.h"
SIDL_BEGIN_C_INTERFACE
void acpNrDrbProcessFromSSInitClt(acpCtx_t _ctx, struct NR_DRB_COMMON_REQ** FromSS);
int acpNrDrbProcessFromSSEncClt(acpCtx_t _ctx, unsigned char* _buffer, size_t* _size, const struct NR_DRB_COMMON_REQ* FromSS);
int acpNrDrbProcessFromSSDecSrv(acpCtx_t _ctx, const unsigned char* _buffer, size_t _size, struct NR_DRB_COMMON_REQ** FromSS);
void acpNrDrbProcessFromSSFree0Srv(struct NR_DRB_COMMON_REQ* FromSS);
void acpNrDrbProcessFromSSFreeSrv(struct NR_DRB_COMMON_REQ* FromSS);
void acpNrDrbProcessFromSSFree0CltSrv(struct NR_DRB_COMMON_REQ* FromSS);
void acpNrDrbProcessFromSSFreeCltSrv(struct NR_DRB_COMMON_REQ* FromSS);
void acpNrDrbProcessToSSInitSrv(acpCtx_t _ctx, struct NR_DRB_COMMON_IND** ToSS);
int acpNrDrbProcessToSSEncSrv(acpCtx_t _ctx, unsigned char* _buffer, size_t* _size, const struct NR_DRB_COMMON_IND* ToSS);
int acpNrDrbProcessToSSDecClt(acpCtx_t _ctx, const unsigned char* _buffer, size_t _size, struct NR_DRB_COMMON_IND** ToSS);
void acpNrDrbProcessToSSFree0Clt(struct NR_DRB_COMMON_IND* ToSS);
void acpNrDrbProcessToSSFreeClt(struct NR_DRB_COMMON_IND* ToSS);
void acpNrDrbProcessToSSFree0SrvClt(struct NR_DRB_COMMON_IND* ToSS);
void acpNrDrbProcessToSSFreeSrvClt(struct NR_DRB_COMMON_IND* ToSS);
SIDL_END_C_INTERFACE
...@@ -33,6 +33,7 @@ const struct acpIdMapItf acpItfMap[] = { ...@@ -33,6 +33,7 @@ const struct acpIdMapItf acpItfMap[] = {
{ "SysInd", 8, 16, 1 }, { "SysInd", 8, 16, 1 },
{ "NrSysSrb", 9, 17, 2 }, { "NrSysSrb", 9, 17, 2 },
{ "NrSys", 10, 19, 1 }, { "NrSys", 10, 19, 1 },
{ "NrDrb", 11, 20, 2 },
}; };
const unsigned int acpItfMapSize = sizeof(acpItfMap) / sizeof(acpItfMap[0]); const unsigned int acpItfMapSize = sizeof(acpItfMap) / sizeof(acpItfMap[0]);
...@@ -81,6 +82,10 @@ struct acpIdMapService acpIdMap[] = { ...@@ -81,6 +82,10 @@ struct acpIdMapService acpIdMap[] = {
// NrSys part // NrSys part
{ "NrSysProcess", 0x90040A00, (unsigned int)-1, ACP_CMD }, { "NrSysProcess", 0x90040A00, (unsigned int)-1, ACP_CMD },
// NrDrb part
{ "NrDrbProcessFromSS", 0x90040B00, (unsigned int)-1, ACP_ONEWAY },
{ "NrDrbProcessToSS", 0x90040B01, (unsigned int)-1, ACP_NTF },
}; };
const unsigned int acpIdMapSize = sizeof(acpIdMap) / sizeof(acpIdMap[0]); const unsigned int acpIdMapSize = sizeof(acpIdMap) / sizeof(acpIdMap[0]);
/*
* Copyright 2022 Sequans Communications.
*
* Licensed to the OpenAirInterface (OAI) Software Alliance under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The OpenAirInterface Software Alliance licenses this file to You under
* the OAI Public License, Version 1.0 (the "License"); you may not use this file
* except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.openairinterface.org/?page_id=698
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
* For more information about the OpenAirInterface (OAI) Software Alliance:
* contact@openairinterface.org
*/
#include "acpNrDrb.h"
#include "acpCtx.h"
#include "acpProto.h"
#include "acpMsgIds.h"
#include "serNrDrb.h"
void acpNrDrbProcessFromSSInitClt(acpCtx_t _ctx, struct NR_DRB_COMMON_REQ** FromSS)
{
if (!acpCtxIsValid(_ctx)) {
SIDL_ASSERT(_ctx != _ctx);
}
serNrDrbProcessFromSSInitClt(ACP_CTX_CAST(_ctx)->arena, ACP_CTX_CAST(_ctx)->aSize, FromSS);
}
int acpNrDrbProcessFromSSEncClt(acpCtx_t _ctx, unsigned char* _buffer, size_t* _size, const struct NR_DRB_COMMON_REQ* FromSS)
{
if (!acpCtxIsValid(_ctx)) {
return -ACP_ERR_INVALID_CTX;
}
size_t _lidx = ACP_HEADER_SIZE;
int _ret = serNrDrbProcessFromSSEncClt(_buffer, *_size, &_lidx, FromSS);
if (_ret == SIDL_STATUS_OK) {
acpBuildHeader(_ctx, ACP_LID_NrDrbProcessFromSS, _lidx, _buffer);
}
*_size = _lidx;
return _ret;
}
int acpNrDrbProcessFromSSDecSrv(acpCtx_t _ctx, const unsigned char* _buffer, size_t _size, struct NR_DRB_COMMON_REQ** FromSS)
{
if (!acpCtxIsValid(_ctx)) {
return -ACP_ERR_INVALID_CTX;
}
return serNrDrbProcessFromSSDecSrv(_buffer + ACP_HEADER_SIZE, _size - ACP_HEADER_SIZE, ACP_CTX_CAST(_ctx)->arena, ACP_CTX_CAST(_ctx)->aSize, FromSS);
}
void acpNrDrbProcessFromSSFree0Srv(struct NR_DRB_COMMON_REQ* FromSS)
{
serNrDrbProcessFromSSFree0Srv(FromSS);
}
void acpNrDrbProcessFromSSFreeSrv(struct NR_DRB_COMMON_REQ* FromSS)
{
serNrDrbProcessFromSSFreeSrv(FromSS);
}
void acpNrDrbProcessFromSSFree0CltSrv(struct NR_DRB_COMMON_REQ* FromSS)
{
serNrDrbProcessFromSSFree0Srv(FromSS);
}
void acpNrDrbProcessFromSSFreeCltSrv(struct NR_DRB_COMMON_REQ* FromSS)
{
serNrDrbProcessFromSSFreeSrv(FromSS);
}
void acpNrDrbProcessToSSInitSrv(acpCtx_t _ctx, struct NR_DRB_COMMON_IND** ToSS)
{
if (!acpCtxIsValid(_ctx)) {
SIDL_ASSERT(_ctx != _ctx);
}
serNrDrbProcessToSSInitSrv(ACP_CTX_CAST(_ctx)->arena, ACP_CTX_CAST(_ctx)->aSize, ToSS);
}
int acpNrDrbProcessToSSEncSrv(acpCtx_t _ctx, unsigned char* _buffer, size_t* _size, const struct NR_DRB_COMMON_IND* ToSS)
{
if (!acpCtxIsValid(_ctx)) {
return -ACP_ERR_INVALID_CTX;
}
size_t _lidx = ACP_HEADER_SIZE;
int _ret = serNrDrbProcessToSSEncSrv(_buffer, *_size, &_lidx, ToSS);
if (_ret == SIDL_STATUS_OK) {
acpBuildHeader(_ctx, ACP_LID_NrDrbProcessToSS, _lidx, _buffer);
}
*_size = _lidx;
return _ret;
}
int acpNrDrbProcessToSSDecClt(acpCtx_t _ctx, const unsigned char* _buffer, size_t _size, struct NR_DRB_COMMON_IND** ToSS)
{
if (!acpCtxIsValid(_ctx)) {
return -ACP_ERR_INVALID_CTX;
}
return serNrDrbProcessToSSDecClt(_buffer + ACP_HEADER_SIZE, _size - ACP_HEADER_SIZE, ACP_CTX_CAST(_ctx)->arena, ACP_CTX_CAST(_ctx)->aSize, ToSS);
}
void acpNrDrbProcessToSSFree0Clt(struct NR_DRB_COMMON_IND* ToSS)
{
serNrDrbProcessToSSFree0Clt(ToSS);
}
void acpNrDrbProcessToSSFreeClt(struct NR_DRB_COMMON_IND* ToSS)
{
serNrDrbProcessToSSFreeClt(ToSS);
}
void acpNrDrbProcessToSSFree0SrvClt(struct NR_DRB_COMMON_IND* ToSS)
{
serNrDrbProcessToSSFree0Clt(ToSS);
}
void acpNrDrbProcessToSSFreeSrvClt(struct NR_DRB_COMMON_IND* ToSS)
{
serNrDrbProcessToSSFreeClt(ToSS);
}
/*
* Copyright 2022 Sequans Communications.
*
* Licensed to the OpenAirInterface (OAI) Software Alliance under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The OpenAirInterface Software Alliance licenses this file to You under
* the OAI Public License, Version 1.0 (the "License"); you may not use this file
* except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.openairinterface.org/?page_id=698
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
* For more information about the OpenAirInterface (OAI) Software Alliance:
* contact@openairinterface.org
*/
#pragma once
#include "SIDL_NR_DRB_PORT.h"
#include "adbg.h"
SIDL_BEGIN_C_INTERFACE
void adbgNrDrbProcessFromSSLogIn(acpCtx_t _ctx, const struct NR_DRB_COMMON_REQ* FromSS);
void adbgNrDrbProcessToSSLogOut(acpCtx_t _ctx, const struct NR_DRB_COMMON_IND* ToSS);
SIDL_END_C_INTERFACE
/*
* Copyright 2022 Sequans Communications.
*
* Licensed to the OpenAirInterface (OAI) Software Alliance under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The OpenAirInterface Software Alliance licenses this file to You under
* the OAI Public License, Version 1.0 (the "License"); you may not use this file
* except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.openairinterface.org/?page_id=698
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
* For more information about the OpenAirInterface (OAI) Software Alliance:
* contact@openairinterface.org
*/
#pragma once
#include "SIDL_NR_DRB_PORT.h"
SIDL_BEGIN_C_INTERFACE
const char* adbgUtilsNrDrbNR_HarqProcessAssignment_TypeToStr(int select);
const char* adbgUtilsNrDrbNR_MAC_ControlElementDL_TypeToStr(int select);
const char* adbgUtilsNrDrbNR_MAC_ControlElementUL_TypeToStr(int select);
const char* adbgUtilsNrDrbNR_MAC_PDU_TypeToStr(int select);
const char* adbgUtilsNrDrbNR_RLC_UMD_PDU_TypeToStr(int select);
const char* adbgUtilsNrDrbNR_RLC_AMD_PDU_TypeToStr(int select);
const char* adbgUtilsNrDrbNR_RLC_AM_StatusPDU_TypeToStr(int select);
const char* adbgUtilsNrDrbNR_RLC_PDU_TypeToStr(int select);
const char* adbgUtilsNrDrbNR_PDCP_PDU_TypeToStr(int select);
const char* adbgUtilsNrDrbSDAP_PDU_TypeToStr(int select);
const char* adbgUtilsNrDrbNR_L2DataList_TypeToStr(int select);
SIDL_END_C_INTERFACE
...@@ -2602,7 +2602,7 @@ static void _adbgDrb__L2Data_Request_Type(acpCtx_t _ctx, const struct L2Data_Req ...@@ -2602,7 +2602,7 @@ static void _adbgDrb__L2Data_Request_Type(acpCtx_t _ctx, const struct L2Data_Req
adbgPrintLog(_ctx, " }"); adbgPrintLog(_ctx, " }");
} }
static void _adbgDrb__Null_Type_SuppressPdcchForC_RNTI_Optional(acpCtx_t _ctx, const struct Null_Type_SuppressPdcchForC_RNTI_Optional* p) static void _adbgDrb__Null_Type_DRB_COMMON_REQ_SuppressPdcchForC_RNTI_Optional(acpCtx_t _ctx, const struct Null_Type_DRB_COMMON_REQ_SuppressPdcchForC_RNTI_Optional* p)
{ {
if (!p->d) { adbgPrintLog(_ctx, "omit"); return; } if (!p->d) { adbgPrintLog(_ctx, "omit"); return; }
adbgPrintLog(_ctx, "%s", (p->v ? "true" : "false")); adbgPrintLog(_ctx, "%s", (p->v ? "true" : "false"));
...@@ -2619,7 +2619,7 @@ static void _adbgDrb__DRB_COMMON_REQ(acpCtx_t _ctx, const struct DRB_COMMON_REQ* ...@@ -2619,7 +2619,7 @@ static void _adbgDrb__DRB_COMMON_REQ(acpCtx_t _ctx, const struct DRB_COMMON_REQ*
adbgPrintLog(_ctx, " }"); adbgPrintLog(_ctx, " }");
adbgPrintLog(_ctx, ", "); adbgPrintLog(_ctx, ", ");
adbgPrintLog(_ctx, "SuppressPdcchForC_RNTI := "); adbgPrintLog(_ctx, "SuppressPdcchForC_RNTI := ");
_adbgDrb__Null_Type_SuppressPdcchForC_RNTI_Optional(_ctx, &p->SuppressPdcchForC_RNTI); _adbgDrb__Null_Type_DRB_COMMON_REQ_SuppressPdcchForC_RNTI_Optional(_ctx, &p->SuppressPdcchForC_RNTI);
} }
void adbgDrbProcessFromSSLogIn(acpCtx_t _ctx, const struct DRB_COMMON_REQ* FromSS) void adbgDrbProcessFromSSLogIn(acpCtx_t _ctx, const struct DRB_COMMON_REQ* FromSS)
......
...@@ -34,6 +34,7 @@ ...@@ -34,6 +34,7 @@
#if defined(PROJECT_HAS_RAT_NR) #if defined(PROJECT_HAS_RAT_NR)
#include "serNrSysSrb.h" #include "serNrSysSrb.h"
#include "serNrSys.h" #include "serNrSys.h"
#include "serNrDrb.h"
#endif #endif
#include "adbgTest.h" #include "adbgTest.h"
...@@ -48,6 +49,7 @@ ...@@ -48,6 +49,7 @@
#if defined(PROJECT_HAS_RAT_NR) #if defined(PROJECT_HAS_RAT_NR)
#include "adbgNrSysSrb.h" #include "adbgNrSysSrb.h"
#include "adbgNrSys.h" #include "adbgNrSys.h"
#include "adbgNrDrb.h"
#endif #endif
void adbgMsgLogInArgs(acpCtx_t ctx, enum acpMsgLocalId id, size_t size, const unsigned char* buffer) void adbgMsgLogInArgs(acpCtx_t ctx, enum acpMsgLocalId id, size_t size, const unsigned char* buffer)
...@@ -82,9 +84,6 @@ void adbgMsgLogInArgs(acpCtx_t ctx, enum acpMsgLocalId id, size_t size, const un ...@@ -82,9 +84,6 @@ void adbgMsgLogInArgs(acpCtx_t ctx, enum acpMsgLocalId id, size_t size, const un
} }
return; return;
} }
if (id == ACP_LID_SysVTEnquireTimingAck) {
return;
}
if (id == ACP_LID_SysSrbProcessFromSS) { if (id == ACP_LID_SysSrbProcessFromSS) {
struct EUTRA_RRC_PDU_REQ* FromSS; struct EUTRA_RRC_PDU_REQ* FromSS;
if (serSysSrbProcessFromSSDecSrv(buffer, size, NULL, 0, &FromSS) == 0) { if (serSysSrbProcessFromSSDecSrv(buffer, size, NULL, 0, &FromSS) == 0) {
...@@ -149,7 +148,22 @@ void adbgMsgLogInArgs(acpCtx_t ctx, enum acpMsgLocalId id, size_t size, const un ...@@ -149,7 +148,22 @@ void adbgMsgLogInArgs(acpCtx_t ctx, enum acpMsgLocalId id, size_t size, const un
} }
return; return;
} }
if (id == ACP_LID_NrDrbProcessFromSS) {
struct NR_DRB_COMMON_REQ* FromSS;
if (serNrDrbProcessFromSSDecSrv(buffer, size, NULL, 0, &FromSS) == 0) {
adbgNrDrbProcessFromSSLogIn(ctx, FromSS);
serNrDrbProcessFromSSFreeSrv(FromSS);
} else {
adbgPrintLog(ctx, "cannot decode buffer");
adbgPrintLog(ctx, NULL);
}
return;
}
#endif #endif
if (id == ACP_LID_SysVTEnquireTimingAck) {
return;
}
SIDL_ASSERT(0); SIDL_ASSERT(0);
} }
...@@ -185,9 +199,6 @@ void adbgMsgLogOutArgs(acpCtx_t ctx, enum acpMsgLocalId id, size_t size, const u ...@@ -185,9 +199,6 @@ void adbgMsgLogOutArgs(acpCtx_t ctx, enum acpMsgLocalId id, size_t size, const u
} }
return; return;
} }
if (id == ACP_LID_SysVTEnquireTimingUpd) {
return;
}
if (id == ACP_LID_SysSrbProcessToSS) { if (id == ACP_LID_SysSrbProcessToSS) {
struct EUTRA_RRC_PDU_IND* ToSS; struct EUTRA_RRC_PDU_IND* ToSS;
if (serSysSrbProcessToSSDecClt(buffer, size, NULL, 0, &ToSS) == 0) { if (serSysSrbProcessToSSDecClt(buffer, size, NULL, 0, &ToSS) == 0) {
...@@ -260,7 +271,21 @@ void adbgMsgLogOutArgs(acpCtx_t ctx, enum acpMsgLocalId id, size_t size, const u ...@@ -260,7 +271,21 @@ void adbgMsgLogOutArgs(acpCtx_t ctx, enum acpMsgLocalId id, size_t size, const u
} }
return; return;
} }
if (id == ACP_LID_NrDrbProcessToSS) {
struct NR_DRB_COMMON_IND* ToSS;
if (serNrDrbProcessToSSDecClt(buffer, size, NULL, 0, &ToSS) == 0) {
adbgNrDrbProcessToSSLogOut(ctx, ToSS);
serNrDrbProcessToSSFreeClt(ToSS);
} else {
adbgPrintLog(ctx, "cannot decode buffer");
adbgPrintLog(ctx, NULL);
}
return;
}
#endif #endif
if (id == ACP_LID_SysVTEnquireTimingUpd) {
return;
}
SIDL_ASSERT(0); SIDL_ASSERT(0);
} }
This diff is collapsed.
/*
* Copyright 2022 Sequans Communications.
*
* Licensed to the OpenAirInterface (OAI) Software Alliance under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The OpenAirInterface Software Alliance licenses this file to You under
* the OAI Public License, Version 1.0 (the "License"); you may not use this file
* except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.openairinterface.org/?page_id=698
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
* For more information about the OpenAirInterface (OAI) Software Alliance:
* contact@openairinterface.org
*/
#include "adbgUtilsNrDrb.h"
const char* adbgUtilsNrDrbNR_HarqProcessAssignment_TypeToStr(int select)
{
switch (select) {
case NR_HarqProcessAssignment_Type_Id: return "Id";
case NR_HarqProcessAssignment_Type_Automatic: return "Automatic";
default: return "unknown";
}
}
const char* adbgUtilsNrDrbNR_MAC_ControlElementDL_TypeToStr(int select)
{
switch (select) {
case NR_MAC_ControlElementDL_Type_ContentionResolutionID: return "ContentionResolutionID";
case NR_MAC_ControlElementDL_Type_TimingAdvance: return "TimingAdvance";
case NR_MAC_ControlElementDL_Type_SCellActDeact: return "SCellActDeact";
case NR_MAC_ControlElementDL_Type_DuplicationActDeact: return "DuplicationActDeact";
case NR_MAC_ControlElementDL_Type_SP_ResourceSetActDeact: return "SP_ResourceSetActDeact";
case NR_MAC_ControlElementDL_Type_CSI_TriggerStateSubselection: return "CSI_TriggerStateSubselection";
case NR_MAC_ControlElementDL_Type_TCI_StatesActDeact: return "TCI_StatesActDeact";
case NR_MAC_ControlElementDL_Type_TCI_StateIndication: return "TCI_StateIndication";
case NR_MAC_ControlElementDL_Type_SP_CSI_ReportingActDeact: return "SP_CSI_ReportingActDeact";
case NR_MAC_ControlElementDL_Type_SP_SRS_ActDeact: return "SP_SRS_ActDeact";
case NR_MAC_ControlElementDL_Type_PUCCH_SpatialRelationActDeact: return "PUCCH_SpatialRelationActDeact";
case NR_MAC_ControlElementDL_Type_SP_ZP_ResourceSetActDeact: return "SP_ZP_ResourceSetActDeact";
case NR_MAC_ControlElementDL_Type_RecommendatdBitrate: return "RecommendatdBitrate";
default: return "unknown";
}
}
const char* adbgUtilsNrDrbNR_MAC_ControlElementUL_TypeToStr(int select)
{
switch (select) {
case NR_MAC_ControlElementUL_Type_ShortBSR: return "ShortBSR";
case NR_MAC_ControlElementUL_Type_LongBSR: return "LongBSR";
case NR_MAC_ControlElementUL_Type_C_RNTI: return "C_RNTI";
case NR_MAC_ControlElementUL_Type_SingleEntryPHR: return "SingleEntryPHR";
case NR_MAC_ControlElementUL_Type_MultiEntryPHR: return "MultiEntryPHR";
case NR_MAC_ControlElementUL_Type_RecommendedBitrate: return "RecommendedBitrate";
default: return "unknown";
}
}
const char* adbgUtilsNrDrbNR_MAC_PDU_TypeToStr(int select)
{
switch (select) {
case NR_MAC_PDU_Type_DL: return "DL";
case NR_MAC_PDU_Type_UL: return "UL";
default: return "unknown";
}
}
const char* adbgUtilsNrDrbNR_RLC_UMD_PDU_TypeToStr(int select)
{
switch (select) {
case NR_RLC_UMD_PDU_Type_NoSN: return "NoSN";
case NR_RLC_UMD_PDU_Type_SN6Bit: return "SN6Bit";
case NR_RLC_UMD_PDU_Type_SN12Bit: return "SN12Bit";
default: return "unknown";
}
}
const char* adbgUtilsNrDrbNR_RLC_AMD_PDU_TypeToStr(int select)
{
switch (select) {
case NR_RLC_AMD_PDU_Type_SN12Bit: return "SN12Bit";
case NR_RLC_AMD_PDU_Type_SN18Bit: return "SN18Bit";
default: return "unknown";
}
}
const char* adbgUtilsNrDrbNR_RLC_AM_StatusPDU_TypeToStr(int select)
{
switch (select) {
case NR_RLC_AM_StatusPDU_Type_SN12Bit: return "SN12Bit";
case NR_RLC_AM_StatusPDU_Type_SN18Bit: return "SN18Bit";
default: return "unknown";
}
}
const char* adbgUtilsNrDrbNR_RLC_PDU_TypeToStr(int select)
{
switch (select) {
case NR_RLC_PDU_Type_TMD: return "TMD";
case NR_RLC_PDU_Type_UMD: return "UMD";
case NR_RLC_PDU_Type_AMD: return "AMD";
case NR_RLC_PDU_Type_Status: return "Status";
default: return "unknown";
}
}
const char* adbgUtilsNrDrbNR_PDCP_PDU_TypeToStr(int select)
{
switch (select) {
case NR_PDCP_PDU_Type_DataPduSN12Bits: return "DataPduSN12Bits";
case NR_PDCP_PDU_Type_DataPduSN18Bits: return "DataPduSN18Bits";
case NR_PDCP_PDU_Type_CtrlPduStatus: return "CtrlPduStatus";
case NR_PDCP_PDU_Type_CtrlPduRohcFeedback: return "CtrlPduRohcFeedback";
default: return "unknown";
}
}
const char* adbgUtilsNrDrbSDAP_PDU_TypeToStr(int select)
{
switch (select) {
case SDAP_PDU_Type_DL: return "DL";
case SDAP_PDU_Type_UL: return "UL";
default: return "unknown";
}
}
const char* adbgUtilsNrDrbNR_L2DataList_TypeToStr(int select)
{
switch (select) {
case NR_L2DataList_Type_MacPdu: return "MacPdu";
case NR_L2DataList_Type_RlcPdu: return "RlcPdu";
case NR_L2DataList_Type_RlcSdu: return "RlcSdu";
case NR_L2DataList_Type_PdcpPdu: return "PdcpPdu";
case NR_L2DataList_Type_PdcpSdu: return "PdcpSdu";
case NR_L2DataList_Type_SdapPdu: return "SdapPdu";
case NR_L2DataList_Type_SdapSdu: return "SdapSdu";
default: return "unknown";
}
}
/*
* Copyright 2022 Sequans Communications.
*
* Licensed to the OpenAirInterface (OAI) Software Alliance under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The OpenAirInterface Software Alliance licenses this file to You under
* the OAI Public License, Version 1.0 (the "License"); you may not use this file
* except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.openairinterface.org/?page_id=698
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
* For more information about the OpenAirInterface (OAI) Software Alliance:
* contact@openairinterface.org
*/
#pragma once
#include "SIDL_NR_DRB_PORT.h"
#include "SidlCompiler.h"
SIDL_BEGIN_C_INTERFACE
void serNrDrbProcessFromSSInitClt(unsigned char* _arena, size_t _aSize, struct NR_DRB_COMMON_REQ** FromSS);
int serNrDrbProcessFromSSEncClt(unsigned char* _buffer, size_t _size, size_t* _lidx, const struct NR_DRB_COMMON_REQ* FromSS);
int serNrDrbProcessFromSSDecSrv(const unsigned char* _buffer, size_t _size, unsigned char* _arena, size_t _aSize, struct NR_DRB_COMMON_REQ** FromSS);
void serNrDrbProcessFromSSFree0Srv(struct NR_DRB_COMMON_REQ* FromSS);
void serNrDrbProcessFromSSFreeSrv(struct NR_DRB_COMMON_REQ* FromSS);
void serNrDrbProcessToSSInitSrv(unsigned char* _arena, size_t _aSize, struct NR_DRB_COMMON_IND** ToSS);
int serNrDrbProcessToSSEncSrv(unsigned char* _buffer, size_t _size, size_t* _lidx, const struct NR_DRB_COMMON_IND* ToSS);
int serNrDrbProcessToSSDecClt(const unsigned char* _buffer, size_t _size, unsigned char* _arena, size_t _aSize, struct NR_DRB_COMMON_IND** ToSS);
void serNrDrbProcessToSSFree0Clt(struct NR_DRB_COMMON_IND* ToSS);
void serNrDrbProcessToSSFreeClt(struct NR_DRB_COMMON_IND* ToSS);
SIDL_END_C_INTERFACE
...@@ -2373,7 +2373,7 @@ static int _serDrbEncL2Data_Request_Type(unsigned char* _buffer, size_t _size, s ...@@ -2373,7 +2373,7 @@ static int _serDrbEncL2Data_Request_Type(unsigned char* _buffer, size_t _size, s
return SIDL_STATUS_OK; return SIDL_STATUS_OK;
} }
static int _serDrbEncNull_Type_SuppressPdcchForC_RNTI_Optional(unsigned char* _buffer, size_t _size, size_t* _lidx, const struct Null_Type_SuppressPdcchForC_RNTI_Optional* p) static int _serDrbEncNull_Type_DRB_COMMON_REQ_SuppressPdcchForC_RNTI_Optional(unsigned char* _buffer, size_t _size, size_t* _lidx, const struct Null_Type_DRB_COMMON_REQ_SuppressPdcchForC_RNTI_Optional* p)
{ {
(void)_size; // TODO: generate boundaries checking (void)_size; // TODO: generate boundaries checking
...@@ -2390,7 +2390,7 @@ static int _serDrbEncDRB_COMMON_REQ(unsigned char* _buffer, size_t _size, size_t ...@@ -2390,7 +2390,7 @@ static int _serDrbEncDRB_COMMON_REQ(unsigned char* _buffer, size_t _size, size_t
_serDrbEncReqAspCommonPart_Type(_buffer, _size, _lidx, &p->Common); _serDrbEncReqAspCommonPart_Type(_buffer, _size, _lidx, &p->Common);
_serDrbEncL2Data_Request_Type(_buffer, _size, _lidx, &p->U_Plane); _serDrbEncL2Data_Request_Type(_buffer, _size, _lidx, &p->U_Plane);
_serDrbEncNull_Type_SuppressPdcchForC_RNTI_Optional(_buffer, _size, _lidx, &p->SuppressPdcchForC_RNTI); _serDrbEncNull_Type_DRB_COMMON_REQ_SuppressPdcchForC_RNTI_Optional(_buffer, _size, _lidx, &p->SuppressPdcchForC_RNTI);
return SIDL_STATUS_OK; return SIDL_STATUS_OK;
} }
...@@ -4812,7 +4812,7 @@ static int _serDrbDecL2Data_Request_Type(const unsigned char* _buffer, size_t _s ...@@ -4812,7 +4812,7 @@ static int _serDrbDecL2Data_Request_Type(const unsigned char* _buffer, size_t _s
return SIDL_STATUS_OK; return SIDL_STATUS_OK;
} }
static int _serDrbDecNull_Type_SuppressPdcchForC_RNTI_Optional(const unsigned char* _buffer, size_t _size, size_t* _lidx, struct Null_Type_SuppressPdcchForC_RNTI_Optional* p) static int _serDrbDecNull_Type_DRB_COMMON_REQ_SuppressPdcchForC_RNTI_Optional(const unsigned char* _buffer, size_t _size, size_t* _lidx, struct Null_Type_DRB_COMMON_REQ_SuppressPdcchForC_RNTI_Optional* p)
{ {
(void)_size; // TODO: generate boundaries checking (void)_size; // TODO: generate boundaries checking
...@@ -4829,7 +4829,7 @@ static int _serDrbDecDRB_COMMON_REQ(const unsigned char* _buffer, size_t _size, ...@@ -4829,7 +4829,7 @@ static int _serDrbDecDRB_COMMON_REQ(const unsigned char* _buffer, size_t _size,
_serDrbDecReqAspCommonPart_Type(_buffer, _size, _lidx, _mem, &p->Common); _serDrbDecReqAspCommonPart_Type(_buffer, _size, _lidx, _mem, &p->Common);
_serDrbDecL2Data_Request_Type(_buffer, _size, _lidx, _mem, &p->U_Plane); _serDrbDecL2Data_Request_Type(_buffer, _size, _lidx, _mem, &p->U_Plane);
_serDrbDecNull_Type_SuppressPdcchForC_RNTI_Optional(_buffer, _size, _lidx, &p->SuppressPdcchForC_RNTI); _serDrbDecNull_Type_DRB_COMMON_REQ_SuppressPdcchForC_RNTI_Optional(_buffer, _size, _lidx, &p->SuppressPdcchForC_RNTI);
return SIDL_STATUS_OK; return SIDL_STATUS_OK;
} }
......
This diff is collapsed.
...@@ -882,7 +882,7 @@ struct L2Data_Indication_Type { ...@@ -882,7 +882,7 @@ struct L2Data_Indication_Type {
struct DRB_DataPerSubframe_UL_Type SubframeData; struct DRB_DataPerSubframe_UL_Type SubframeData;
}; };
struct Null_Type_SuppressPdcchForC_RNTI_Optional { struct Null_Type_DRB_COMMON_REQ_SuppressPdcchForC_RNTI_Optional {
bool d; bool d;
Null_Type v; Null_Type v;
}; };
...@@ -890,7 +890,7 @@ struct Null_Type_SuppressPdcchForC_RNTI_Optional { ...@@ -890,7 +890,7 @@ struct Null_Type_SuppressPdcchForC_RNTI_Optional {
struct DRB_COMMON_REQ { struct DRB_COMMON_REQ {
struct ReqAspCommonPart_Type Common; struct ReqAspCommonPart_Type Common;
struct L2Data_Request_Type U_Plane; struct L2Data_Request_Type U_Plane;
struct Null_Type_SuppressPdcchForC_RNTI_Optional SuppressPdcchForC_RNTI; struct Null_Type_DRB_COMMON_REQ_SuppressPdcchForC_RNTI_Optional SuppressPdcchForC_RNTI;
}; };
struct DRB_COMMON_IND { struct DRB_COMMON_IND {
......
This diff is collapsed.
...@@ -82,4 +82,11 @@ typedef OCTET_STRING_ELEMENT O1_Type[1]; ...@@ -82,4 +82,11 @@ typedef OCTET_STRING_ELEMENT O1_Type[1];
typedef OCTET_STRING_ELEMENT O4_Type[4]; typedef OCTET_STRING_ELEMENT O4_Type[4];
struct B8_Type_B8_List_Type_Dynamic {
size_t d;
B8_Type* v;
};
typedef struct B8_Type_B8_List_Type_Dynamic B8_List_Type;
SIDL_END_C_INTERFACE SIDL_END_C_INTERFACE
...@@ -55,3 +55,5 @@ typedef BIT_STRING_ELEMENT B128_Type[128]; ...@@ -55,3 +55,5 @@ typedef BIT_STRING_ELEMENT B128_Type[128];
typedef SIDL_DYNAMIC(BIT_STRING_ELEMENT, B7_15_Type); typedef SIDL_DYNAMIC(BIT_STRING_ELEMENT, B7_15_Type);
typedef OCTET_STRING_ELEMENT O1_Type[1]; typedef OCTET_STRING_ELEMENT O1_Type[1];
typedef OCTET_STRING_ELEMENT O4_Type[4]; typedef OCTET_STRING_ELEMENT O4_Type[4];
typedef SIDL_DYNAMIC(B8_Type, B8_List_Type);
...@@ -629,7 +629,7 @@ struct L2Data_Indication_Type { ...@@ -629,7 +629,7 @@ struct L2Data_Indication_Type {
struct DRB_COMMON_REQ { struct DRB_COMMON_REQ {
struct ReqAspCommonPart_Type Common; struct ReqAspCommonPart_Type Common;
struct L2Data_Request_Type U_Plane; struct L2Data_Request_Type U_Plane;
SIDL_OPTIONAL(Null_Type, SuppressPdcchForC_RNTI); SIDL_OPTIONAL_WITH_PFX(DRB_COMMON_REQ, Null_Type, SuppressPdcchForC_RNTI);
}; };
struct DRB_COMMON_IND { struct DRB_COMMON_IND {
......
This diff is collapsed.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment