From: pborla Date: Thu, 7 Mar 2024 11:34:53 +0000 (+0530) Subject: [ JIRA Id - ODUHIGH-573 ] Code changes upgraded to Gcc version 11.4.0 X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=commitdiff_plain;h=2a310f38af13dafd243ef7b24d5a721ed34355b3;p=o-du%2Fl2.git [ JIRA Id - ODUHIGH-573 ] Code changes upgraded to Gcc version 11.4.0 Change-Id: Ic33e0bbda4159778251e20cab2b684af8ed1d8b9 Signed-off-by: pborla --- diff --git a/build/config/odu_config.xml b/build/config/odu_config.xml index 0aeed96ac..50527dea4 100644 --- a/build/config/odu_config.xml +++ b/build/config/odu_config.xml @@ -636,9 +636,9 @@ 1 - 192.168.130.71 + 192.168.130.81 36421 - 192.168.130.70 + 192.168.130.80 36421 2 diff --git a/build/odu/makefile b/build/odu/makefile index efbb00033..8b78b8579 100644 --- a/build/odu/makefile +++ b/build/odu/makefile @@ -90,7 +90,7 @@ ifdef PHY PLTFRM_FLAGS+=-DTHREAD_AFFINITY endif ifeq ($(PHY), INTEL_L1) - PLTFRM_FLAGS+=-DSS_USE_WLS_MEM -DINTEL_WLS_MEM -DDEBUG_MODE -DINTEL_L1_V20_03_ONWARDS + PLTFRM_FLAGS+=-DSS_USE_WLS_MEM -DINTEL_WLS_MEM -DDEBUG_MODE -DINTEL_L1_V20_03_ONWARDS -DINTEL_THREAD_AFFINITY ifeq ($(PHY_MODE),TIMER) PLTFRM_FLAGS+=-DINTEL_TIMER_MODE endif diff --git a/src/5gnrmac/lwr_mac.h b/src/5gnrmac/lwr_mac.h index fff604359..687286fa7 100644 --- a/src/5gnrmac/lwr_mac.h +++ b/src/5gnrmac/lwr_mac.h @@ -269,7 +269,7 @@ typedef struct clCellParam RssiMeasurement rssiMeasurementSupport; }ClCellParam; -LwrMacCb lwrMacCb; +extern LwrMacCb lwrMacCb; LwrMacCellCb * lwrMacGetCellCb ARGS((uint16_t cellId)); uint32_t reverseBits(uint32_t num, uint8_t numBits); void fillDlDciPayload(uint8_t *buf, uint8_t *bytePos, uint8_t *bitPos,\ diff --git a/src/5gnrmac/lwr_mac_fsm.c b/src/5gnrmac/lwr_mac_fsm.c index b3b378ca9..02a381a3b 100644 --- a/src/5gnrmac/lwr_mac_fsm.c +++ b/src/5gnrmac/lwr_mac_fsm.c @@ -51,7 +51,7 @@ /* Global variables */ LwrMacCb lwrMacCb; -uint8_t UnrestrictedSetNcsTable[MAX_ZERO_CORR_CFG_IDX]; +extern uint8_t UnrestrictedSetNcsTable[MAX_ZERO_CORR_CFG_IDX]; void fapiMacConfigRsp(uint16_t cellId); uint16_t sendTxDataReq(SlotTimingInfo currTimingInfo, MacDlSlot *dlSlot, p_fapi_api_queue_elem_t prevElem, fapi_vendor_tx_data_req_t *vendorTxDataReq); uint16_t fillUlTtiReq(SlotTimingInfo currTimingInfo, p_fapi_api_queue_elem_t prevElem, fapi_vendor_ul_tti_req_t* vendorUlTti); diff --git a/src/5gnrmac/lwr_mac_phy.c b/src/5gnrmac/lwr_mac_phy.c index 546c48e72..a9bf88d3c 100644 --- a/src/5gnrmac/lwr_mac_phy.c +++ b/src/5gnrmac/lwr_mac_phy.c @@ -38,6 +38,10 @@ #include "wls_lib.h" #endif +#ifdef INTEL_WLS_MEM +CmLListCp wlsBlockToFreeList[WLS_MEM_FREE_PRD]; +#endif + uint8_t rgClHndlCfgReq ARGS((void *msg)); void l1ProcessFapiRequest ARGS((uint8_t msgType, uint32_t msgLen, void *msg)); diff --git a/src/5gnrmac/lwr_mac_phy.h b/src/5gnrmac/lwr_mac_phy.h index 5d4192edc..7c4fdb264 100644 --- a/src/5gnrmac/lwr_mac_phy.h +++ b/src/5gnrmac/lwr_mac_phy.h @@ -77,7 +77,7 @@ typedef struct wlsBlockToFree uint32_t size; }WlsBlockToFree; -CmLListCp wlsBlockToFreeList[WLS_MEM_FREE_PRD]; +extern CmLListCp wlsBlockToFreeList[WLS_MEM_FREE_PRD]; void addWlsBlockToFree(void *msg, uint32_t msgLen, uint8_t idx); void freeWlsBlockList(uint8_t idx); diff --git a/src/5gnrmac/mac.h b/src/5gnrmac/mac.h index aac995001..d4a3f80cf 100644 --- a/src/5gnrmac/mac.h +++ b/src/5gnrmac/mac.h @@ -269,7 +269,7 @@ typedef struct macCb }MacCb; /* global variable */ -MacCb macCb; +extern MacCb macCb; /* Function declarations */ uint8_t macActvInit ARGS((Ent entity, Inst inst, Region region, Reason reason)); diff --git a/src/5gnrmac/mac_msg_hdl.c b/src/5gnrmac/mac_msg_hdl.c index a211003b3..509b04ff3 100644 --- a/src/5gnrmac/mac_msg_hdl.c +++ b/src/5gnrmac/mac_msg_hdl.c @@ -36,7 +36,7 @@ /* This file contains message handling functionality for MAC */ -MacCb macCb; +extern MacCb macCb; MacDuStatsIndFunc macDuStatsIndOpts[] = { diff --git a/src/5gnrmac/mac_utils.h b/src/5gnrmac/mac_utils.h index 09ce1976d..fea6322f5 100644 --- a/src/5gnrmac/mac_utils.h +++ b/src/5gnrmac/mac_utils.h @@ -145,8 +145,8 @@ } /* Function declaration */ -uint32_t shortBsrBytesTable[MAX_SHORT_BSR_TABLE_ENTRIES]; -uint32_t longBsrBytesTable[MAX_LONG_BSR_TABLE_ENTRIES]; +extern uint32_t shortBsrBytesTable[MAX_SHORT_BSR_TABLE_ENTRIES]; +extern uint32_t longBsrBytesTable[MAX_LONG_BSR_TABLE_ENTRIES]; /********************************************************************** End of file diff --git a/src/5gnrmac/rg.x b/src/5gnrmac/rg.x index 310e5503c..cfc764c1f 100755 --- a/src/5gnrmac/rg.x +++ b/src/5gnrmac/rg.x @@ -651,7 +651,7 @@ struct _rgCb }; /* Declaration for RgCb */ -RgCb rgCb[RG_MAX_INST]; +extern RgCb rgCb[RG_MAX_INST]; /** * @brief diff --git a/src/5gnrmac/rg_utl.c b/src/5gnrmac/rg_utl.c index 343442396..aac5eed7c 100755 --- a/src/5gnrmac/rg_utl.c +++ b/src/5gnrmac/rg_utl.c @@ -63,6 +63,7 @@ /* local defines */ #define RG_NON_MIMO_IDX 0 +RgCb rgCb[RG_MAX_INST]; /*********************************************************** * * Func : rgAllocSBuf diff --git a/src/5gnrrlc/rlc_mgr.c b/src/5gnrrlc/rlc_mgr.c index dd6793464..51f9747f3 100644 --- a/src/5gnrrlc/rlc_mgr.c +++ b/src/5gnrrlc/rlc_mgr.c @@ -34,6 +34,7 @@ #include "rlc_utils.h" /* RLC defines */ #include "du_app_rlc_inf.h" #include "rlc_mgr.h" +CmLListCp *arrTputPerSnssai[DIR_BOTH]; /*Stores the address of Througput LL*/ RlcDuUeCreateRsp rlcUeCreateRspOpts[] = { diff --git a/src/5gnrrlc/rlc_utils.h b/src/5gnrrlc/rlc_utils.h index caf2c7e94..5ec43d46a 100755 --- a/src/5gnrrlc/rlc_utils.h +++ b/src/5gnrrlc/rlc_utils.h @@ -1218,7 +1218,7 @@ typedef struct _rlcStats UMRLCStats umRlcStats; }RLCStats; -RLCStats gRlcStats; +extern RLCStats gRlcStats; /* kw005.201 added support for L2 Measurement */ #ifdef LTE_L2_MEAS @@ -1779,9 +1779,9 @@ typedef struct rlcCb RlcThpt rlcThpt; /*!< Throughput at RLC*/ }RlcCb; -RlcCb *rlcCb[MAX_RLC_INSTANCES]; /*!< RLC global control block */ +extern RlcCb *rlcCb[MAX_RLC_INSTANCES]; /*!< RLC global control block */ -CmLListCp *arrTputPerSnssai[DIR_BOTH]; /*Stores the address of Througput LL*/ +extern CmLListCp *arrTputPerSnssai[DIR_BOTH]; /*Stores the address of Througput LL*/ /**************************************************************************** * Declarations ***************************************************************************/ diff --git a/src/5gnrsch/rg_sch.h b/src/5gnrsch/rg_sch.h index 5385fd261..7249dc4c4 100755 --- a/src/5gnrsch/rg_sch.h +++ b/src/5gnrsch/rg_sch.h @@ -1469,37 +1469,37 @@ do{\ #define RG_SCH_HQP_TIME_ON_PCELL 32 /*!< Time in milliseconds to be allowed for transmission of TB on PCell*/ /* SR_RACH_STATS */ -uint32_t rgNumPrachRecvd; /* Num of Rach Req received including dedicated preambles */ -uint32_t rgNumRarSched; /* Num of RARs sent */ -uint32_t rgNumBI; /* Num of BackOff Ind sent */ -uint32_t rgNumMsg3CrcPassed; /* Num of CRC success for Msg3 */ -uint32_t rgNumMsg3CrcFailed ; /* Num of CRC fail for Msg 3 */ -uint32_t rgNumMsg3FailMaxRetx ; /* Num of Msg3 fail after Max Retx attempts */ -uint32_t rgNumMsg4Ack ; /* Num of Acks for Msg4 Tx */ -uint32_t rgNumMsg4Nack ; +extern uint32_t rgNumPrachRecvd; /* Num of Rach Req received including dedicated preambles */ +extern uint32_t rgNumRarSched; /* Num of RARs sent */ +extern uint32_t rgNumBI; /* Num of BackOff Ind sent */ +extern uint32_t rgNumMsg3CrcPassed; /* Num of CRC success for Msg3 */ +extern uint32_t rgNumMsg3CrcFailed ; /* Num of CRC fail for Msg 3 */ +extern uint32_t rgNumMsg3FailMaxRetx ; /* Num of Msg3 fail after Max Retx attempts */ +extern uint32_t rgNumMsg4Ack ; /* Num of Acks for Msg4 Tx */ +extern uint32_t rgNumMsg4Nack ; /* Num of Nacks for Msg4 Tx */ -uint32_t rgNumMsg4FailMaxRetx ; /* Num of Msg4 Tx failed after Max Retx attempts */ -uint32_t rgNumSrRecvd; /* Num of Sched Req received */ -uint32_t rgNumSrGrant; /* Num of Sched Req Grants sent */ -uint32_t rgNumMsg3CrntiCE; /* Num of Msg 3 CRNTI CE received */ -uint32_t rgNumDedPream ; /* Num of Dedicated Preambles recvd */ -uint32_t rgNumMsg3CCCHSdu; /* Num of Msg 3 CCCH Sdus recvd */ -uint32_t rgNumCCCHSduCrntiNotFound ; /*UE Ctx not found for CCCH SDU Msg 3 */ -uint32_t rgNumCrntiCeCrntiNotFound ; /*UE Ctx not found for CRNTI CE Msg 3 */ -uint32_t rgNumMsg4WithCCCHSdu ; /* Num of Msg4 with CCCH Sdu */ -uint32_t rgNumMsg4WoCCCHSdu ; /* Num of Msg4 without CCCH Sdu */ -uint32_t rgNumMsg4Dtx ; /* Num of DTX received for Msg 4 */ -uint32_t rgNumMsg3AckSent ; /* Num of PHICH Ack sent for Msg 3 */ -uint32_t rgNumMsg3NackSent ; /* Num of PHICH Nack sent for Msg 3 */ -uint32_t rgNumMsg4PdcchWithCrnti ; /* Num of PDCCH for CRNTI based contention resolution */ -uint32_t rgNumRarFailDuetoRntiExhaustion ; /* Num of RACH Failures due to RNTI pool exhaution */ -uint32_t rgNumTAModified ; /* Num of times TA received is different from prev value */ -uint32_t rgNumTASent ; /* Num of TA Command sent */ -uint32_t rgNumMsg4ToBeTx ; /* Num of times MSG4 that should be sent */ -uint32_t rgNumMsg4Txed ; /* Num of MSG4 actually sent *//* ysNumMsg4ToBeTx -ysNumMsg4Txed == Failed MSG4 TX */ -uint32_t rgNumMsg3DtxRcvd; /* CRC Fail with SINR < 0 */ - -uint32_t rgNumDedPreamUECtxtFound; +extern uint32_t rgNumMsg4FailMaxRetx ; /* Num of Msg4 Tx failed after Max Retx attempts */ +extern uint32_t rgNumSrRecvd; /* Num of Sched Req received */ +extern uint32_t rgNumSrGrant; /* Num of Sched Req Grants sent */ +extern uint32_t rgNumMsg3CrntiCE; /* Num of Msg 3 CRNTI CE received */ +extern uint32_t rgNumDedPream ; /* Num of Dedicated Preambles recvd */ +extern uint32_t rgNumMsg3CCCHSdu; /* Num of Msg 3 CCCH Sdus recvd */ +extern uint32_t rgNumCCCHSduCrntiNotFound ; /*UE Ctx not found for CCCH SDU Msg 3 */ +extern uint32_t rgNumCrntiCeCrntiNotFound ; /*UE Ctx not found for CRNTI CE Msg 3 */ +extern uint32_t rgNumMsg4WithCCCHSdu ; /* Num of Msg4 with CCCH Sdu */ +extern uint32_t rgNumMsg4WoCCCHSdu ; /* Num of Msg4 without CCCH Sdu */ +extern uint32_t rgNumMsg4Dtx ; /* Num of DTX received for Msg 4 */ +extern uint32_t rgNumMsg3AckSent ; /* Num of PHICH Ack sent for Msg 3 */ +extern uint32_t rgNumMsg3NackSent ; /* Num of PHICH Nack sent for Msg 3 */ +extern uint32_t rgNumMsg4PdcchWithCrnti ; /* Num of PDCCH for CRNTI based contention resolution */ +extern uint32_t rgNumRarFailDuetoRntiExhaustion ; /* Num of RACH Failures due to RNTI pool exhaution */ +extern uint32_t rgNumTAModified ; /* Num of times TA received is different from prev value */ +extern uint32_t rgNumTASent ; /* Num of TA Command sent */ +extern uint32_t rgNumMsg4ToBeTx ; /* Num of times MSG4 that should be sent */ +extern uint32_t rgNumMsg4Txed ; /* Num of MSG4 actually sent *//* ysNumMsg4ToBeTx -ysNumMsg4Txed == Failed MSG4 TX */ +extern uint32_t rgNumMsg3DtxRcvd; /* CRC Fail with SINR < 0 */ + +extern uint32_t rgNumDedPreamUECtxtFound; #endif /* __RGSCH__ */ /********************************************************************** diff --git a/src/5gnrsch/sch.c b/src/5gnrsch/sch.c index e2b86d134..40a745c6b 100644 --- a/src/5gnrsch/sch.c +++ b/src/5gnrsch/sch.c @@ -50,6 +50,7 @@ #include "sch_utils.h" #include "sch_fcfs.h" #include "sch_slice_based.h" +SchCb schCb[SCH_MAX_INST]; /** * @brief Scheduler All Apis initialized. diff --git a/src/5gnrsch/sch.h b/src/5gnrsch/sch.h index 81fbc042b..328b80ff6 100644 --- a/src/5gnrsch/sch.h +++ b/src/5gnrsch/sch.h @@ -731,7 +731,7 @@ typedef struct schCb }SchCb; /* Declaration for scheduler control blocks */ -SchCb schCb[SCH_MAX_INST]; +extern SchCb schCb[SCH_MAX_INST]; /* function declarations */ short int schActvTmr(Ent ent,Inst inst); diff --git a/src/5gnrsch/sch_utils.h b/src/5gnrsch/sch_utils.h index 158f251ca..f2e143748 100644 --- a/src/5gnrsch/sch_utils.h +++ b/src/5gnrsch/sch_utils.h @@ -100,15 +100,16 @@ /* Table array declarations */ -int8_t coresetIdxTable[MAX_CORESET_INDEX][4]; -int8_t searchSpaceIdxTable[MAX_SEARCH_SPACE_INDEX][4]; -uint8_t defaultUlAckTbl[DEFAULT_UL_ACK_LIST_COUNT]; -uint8_t minMsg3SchTime[MAX_NUM_MU]; -uint8_t pucchResourceSet[MAX_PUCCH_RES_SET_IDX][5]; -uint8_t puschDeltaTable[MAX_MU_PUSCH]; -uint16_t prachCfgIdxTable[MAX_PRACH_CONFIG_IDX][8]; -uint16_t numRbForPrachTable[MAX_RACH_NUM_RB_IDX][5]; -uint8_t schCmnDlRvTbl[4]; +extern int8_t coresetIdxTable[MAX_CORESET_INDEX][4]; +extern int8_t searchSpaceIdxTable[MAX_SEARCH_SPACE_INDEX][4]; +extern uint8_t defaultUlAckTbl[DEFAULT_UL_ACK_LIST_COUNT]; +extern uint8_t minMsg3SchTime[MAX_NUM_MU]; +extern uint8_t pucchResourceSet[MAX_PUCCH_RES_SET_IDX][5]; +extern uint8_t puschDeltaTable[MAX_MU_PUSCH]; +extern uint16_t prachCfgIdxTable[MAX_PRACH_CONFIG_IDX][8]; +extern uint16_t numRbForPrachTable[MAX_RACH_NUM_RB_IDX][5]; +extern uint8_t schCmnDlRvTbl[4]; + /* Functions declarations : Linked list handler */ uint8_t addNodeToLList(CmLListCp *llist, void *blockToAdd, CmLList *currNode); uint8_t deleteNodeFromLList(CmLListCp *llist, CmLList *node); diff --git a/src/cm/cm_lte.x b/src/cm/cm_lte.x index 0c6a3a776..dff751de3 100755 --- a/src/cm/cm_lte.x +++ b/src/cm/cm_lte.x @@ -271,7 +271,7 @@ typedef struct cmTtiProc uint32_t phyReptTtiStretchCount; }CmTtiProc; -CmTtiProc ttiProc; +extern CmTtiProc ttiProc; Void cmUpdateTtiCounters(uint32_t ttiProcessingTime); Void cmResetTtiCounters(Void); diff --git a/src/cm/cm_mblk.c b/src/cm/cm_mblk.c index 03c4583b8..25ce3eb54 100644 --- a/src/cm/cm_mblk.c +++ b/src/cm/cm_mblk.c @@ -33,7 +33,7 @@ #include "common_def.h" /* Header file */ #ifdef SS_LOCKLESS_MEMORY -pthread_t tmpRegTidMap[20]; +extern pthread_t tmpRegTidMap[20]; #define CM_MEM_GET_REGION(_region) \ { \ uint8_t _regCnt; \ diff --git a/src/cm/cm_mem_wl.c b/src/cm/cm_mem_wl.c index cd042a433..6d6fd4a87 100755 --- a/src/cm/cm_mem_wl.c +++ b/src/cm/cm_mem_wl.c @@ -220,10 +220,10 @@ typedef struct cmMemDoubleFree }CmMemDoubleFree; PTR prvAllocPtr[8]; -uint8_t stopBtInfo = FALSE; +extern uint8_t stopBtInfo = FALSE; Buffer *palBuffer; -Buffer *mtTskBuffer1; -Buffer *mtTskBuffer2; +extern Buffer *mtTskBuffer1; +extern Buffer *mtTskBuffer2; #ifdef SS_USE_ICC_MEMORY static pthread_mutex_t iccAllocFreeLock; @@ -334,8 +334,8 @@ static Txt dbgPrntBuf[200]; /* print buffer */ #endif uint32_t num_times = 0; -pthread_t tmpRegTidMap[20]; -Bool g_usettitmr; +extern pthread_t tmpRegTidMap[20]; +extern Bool g_usettitmr; void DumpLayersDebugInformation() { DumpSSIDemandQDebugInformation(); diff --git a/src/cm/common_def.h b/src/cm/common_def.h index e07f6a67d..3001fccc6 100644 --- a/src/cm/common_def.h +++ b/src/cm/common_def.h @@ -382,7 +382,7 @@ typedef struct gConfiguration uint64_t gDlDataRcvdCnt; /* Number of DL data received at EGTP */ }GConfiguration; -GConfiguration gConfigInfo; +extern GConfiguration gConfigInfo; void fillCoresetFeqDomAllocMap(uint16_t startPrb, uint16_t prbSize, uint8_t *freqDomain); void oduCpyFixBufToMsg(uint8_t *fixBuf, Buffer *mBuf, uint16_t len); diff --git a/src/cm/du_app_mac_inf.c b/src/cm/du_app_mac_inf.c index b05b9889a..f0c8f3c5d 100644 --- a/src/cm/du_app_mac_inf.c +++ b/src/cm/du_app_mac_inf.c @@ -18,6 +18,8 @@ #include "common_def.h" #include "du_app_mac_inf.h" +/********************* Global Variable ********************/ +uint64_t ueBitMapPerCell[MAX_NUM_CELL]; /* Bit Map to store used/free UE-IDX per Cell */ /************************************************************************** * @brief Function to pack Loose Coupled diff --git a/src/cm/du_app_mac_inf.h b/src/cm/du_app_mac_inf.h index 19308f2e9..0aa705552 100644 --- a/src/cm/du_app_mac_inf.h +++ b/src/cm/du_app_mac_inf.h @@ -101,7 +101,7 @@ #define MAX_PLMN 2 /********************* Global Variable ********************/ -uint64_t ueBitMapPerCell[MAX_NUM_CELL]; /* Bit Map to store used/free UE-IDX per Cell */ +extern uint64_t ueBitMapPerCell[MAX_NUM_CELL]; /* Bit Map to store used/free UE-IDX per Cell */ /********************* Interface structure definition ********************/ typedef enum diff --git a/src/cm/ssi.x b/src/cm/ssi.x index 534f02640..7a032d89a 100755 --- a/src/cm/ssi.x +++ b/src/cm/ssi.x @@ -701,10 +701,10 @@ typedef Void (*PDPR) ARGS((PTR cxt)); /* pointer to DPR function handler */ #ifdef SS /* Common System Services */ /* for SGetOpt() */ - S16 msOptInd; - S8 *msOptArg; - Txt **msArgv; - S16 msArgc; +extern S16 msOptInd; +extern S8 *msOptArg; +extern Txt **msArgv; +extern S16 msArgc; /* task related stuff */ /* data range modified */ diff --git a/src/codec_utils/common/odu_common_codec.c b/src/codec_utils/common/odu_common_codec.c index a65aefc9e..06946a2a6 100644 --- a/src/codec_utils/common/odu_common_codec.c +++ b/src/codec_utils/common/odu_common_codec.c @@ -4,6 +4,7 @@ #include "asn_codecs.h" #include "odu_common_codec.h" +int encBufSize; /******************************************************************* * * @brief Writes the encoded chunks into a buffer diff --git a/src/codec_utils/common/odu_common_codec.h b/src/codec_utils/common/odu_common_codec.h index 1c06c6565..d08d28bcb 100644 --- a/src/codec_utils/common/odu_common_codec.h +++ b/src/codec_utils/common/odu_common_codec.h @@ -24,8 +24,8 @@ #define ENCODE_FAIL -1 #define TEID_BIT_SIZE 24 -char encBuf[ENC_BUF_MAX_LEN]; -int encBufSize; +extern char encBuf[ENC_BUF_MAX_LEN]; +extern int encBufSize; int PrepFinalEncBuf(const void *buffer, size_t size, void *encodedBuf); uint8_t fillBitString(BIT_STRING_t *id, uint8_t unusedBits, uint8_t byteSize, uint64_t val); diff --git a/src/cu_stub/cu_f1ap_msg_hdl.c b/src/cu_stub/cu_f1ap_msg_hdl.c index 39b0c1fa4..c1c7bfeac 100644 --- a/src/cu_stub/cu_f1ap_msg_hdl.c +++ b/src/cu_stub/cu_f1ap_msg_hdl.c @@ -148,6 +148,8 @@ #include "cu_f1ap_msg_hdl.h" #include "cu_stub.h" +CuGlobalCb cuCb; +char encBuf[ENC_BUF_MAX_LEN]; uint8_t fillCellGrpCfg(CuUeCb *ueCb, OCTET_STRING_t *cellGrp, bool updateAllRbCfg); uint8_t fillRrcReconfig(CuUeCb *ueCb, RRCReconfiguration_t *rrcReconfig, bool updateAllRbCfg); diff --git a/src/cu_stub/cu_stub.h b/src/cu_stub/cu_stub.h index 1a5731717..49f6fa589 100644 --- a/src/cu_stub/cu_stub.h +++ b/src/cu_stub/cu_stub.h @@ -370,7 +370,7 @@ typedef struct cuGlobalCb uint32_t gnbCuUeF1apIdGenerator; /* Generating CU UE F1AP ID */ }CuGlobalCb; -CuGlobalCb cuCb; +extern CuGlobalCb cuCb; void readCuCfg(); void cuAppInmsgHdlr(Buffer *mBuf); diff --git a/src/cu_stub/cu_stub_egtp.c b/src/cu_stub/cu_stub_egtp.c index 4ccdf511a..8a5291731 100644 --- a/src/cu_stub/cu_stub_egtp.c +++ b/src/cu_stub/cu_stub_egtp.c @@ -30,6 +30,10 @@ #include "cm_inet.x" #include "cm_tpt.x" +uint8_t sockType; +uint8_t protType; +EgtpGlobalCb egtpCb; + /************************************************************************** * @brief Task Initiation callback function. * diff --git a/src/cu_stub/cu_stub_egtp.h b/src/cu_stub/cu_stub_egtp.h index 519c7652b..8240c54e1 100644 --- a/src/cu_stub/cu_stub_egtp.h +++ b/src/cu_stub/cu_stub_egtp.h @@ -46,8 +46,8 @@ #define NUM_TUNNEL_TO_PUMP_DATA 4 #define NUM_DL_PACKETS 1 -uint8_t sockType; -uint8_t protType; +extern uint8_t sockType; +extern uint8_t protType; typedef enum egtpMsgType { @@ -136,7 +136,8 @@ typedef struct egtpGlobalCb EgtpDstCb dstCb[MAX_DU_SUPPORTED]; /* Destination endpoint */ uint8_t gCntPdu[MAX_TEID+1]; /* Maintaining PDU count for each bearer */ }EgtpGlobalCb; -EgtpGlobalCb egtpCb; /* EGTP global control block */ + +extern EgtpGlobalCb egtpCb; /* EGTP global control block */ S16 egtpActvInit(); S16 cuEgtpCfgReq(); diff --git a/src/cu_stub/cu_stub_sctp.c b/src/cu_stub/cu_stub_sctp.c index 0a03f0d54..49ef03eee 100644 --- a/src/cu_stub/cu_stub_sctp.c +++ b/src/cu_stub/cu_stub_sctp.c @@ -30,7 +30,8 @@ #include "cm_inet.x" #include "cm_tpt.x" - + SctpGlobalCb sctpCb; +uint8_t socket_type; /************************************************************************** * @brief Task Initiation callback function. * diff --git a/src/cu_stub/cu_stub_sctp.h b/src/cu_stub/cu_stub_sctp.h index d8128144e..4f7ea7d37 100644 --- a/src/cu_stub/cu_stub_sctp.h +++ b/src/cu_stub/cu_stub_sctp.h @@ -28,7 +28,7 @@ #define MAX_ASSOC_SUPPORTED (MAX_DU_SUPPORTED + MAX_REMOTE_CU_SUPPORTED) /* Global variable declaration */ -uint8_t socket_type; /* Socket type */ +extern uint8_t socket_type; /* Socket type */ typedef enum { @@ -108,7 +108,7 @@ typedef struct CuSctpAssocCb assocCb[MAX_ASSOC_SUPPORTED]; }SctpGlobalCb; -SctpGlobalCb sctpCb; +extern SctpGlobalCb sctpCb; uint8_t sctpActvInit(); uint8_t sctpStartReq(); diff --git a/src/du_app/du_cell_mgr.c b/src/du_app/du_cell_mgr.c index 889a89769..f09225b0f 100644 --- a/src/du_app/du_cell_mgr.c +++ b/src/du_app/du_cell_mgr.c @@ -48,6 +48,7 @@ #endif +GConfiguration gConfigInfo; DuMacCellDeleteReq packMacCellDeleteReqOpts[] = { packDuMacCellDeleteReq, /* Loose coupling */ diff --git a/src/du_app/du_cfg.c b/src/du_app/du_cfg.c index 3b5fca31a..1ddbd0180 100644 --- a/src/du_app/du_cfg.c +++ b/src/du_app/du_cfg.c @@ -4334,43 +4334,57 @@ uint8_t parseThreadAffinity(xmlDocPtr doc, xmlNsPtr ns, xmlNodePtr cur, ThreadIn if ((!xmlStrcmp(cur->name, (const xmlChar *)"DU_APP_CORE")) && (cur->ns == ns)) { threads->duAppCoreId = atoi((char *)xmlNodeListGetString(doc, cur->xmlChildrenNode, 1)); +#ifdef INTEL_THREAD_AFFINITY ODU_SET_THREAD_AFFINITY(&threads->duAppSTskId, SS_AFFINITY_MODE_EXCL, threads->duAppCoreId, 0); +#endif } if ((!xmlStrcmp(cur->name, (const xmlChar *)"EGTP_CORE")) && (cur->ns == ns)) { threads->egtpCoreId = atoi((char *)xmlNodeListGetString(doc, cur->xmlChildrenNode, 1)); +#ifdef INTEL_THREAD_AFFINITY ODU_SET_THREAD_AFFINITY(&threads->egtpSTskId, SS_AFFINITY_MODE_EXCL, threads->egtpCoreId, 0); +#endif } if ((!xmlStrcmp(cur->name, (const xmlChar *)"RLC_MAC_CORE")) && (cur->ns == ns)) { threads->rlcMacCoreId = atoi((char *)xmlNodeListGetString(doc, cur->xmlChildrenNode, 1)); +#ifdef INTEL_THREAD_AFFINITY ODU_SET_THREAD_AFFINITY(&threads->rlcMacSTskId, SS_AFFINITY_MODE_EXCL, threads->rlcMacCoreId, 0); +#endif } if ((!xmlStrcmp(cur->name, (const xmlChar *)"RLC_UL_CORE")) && (cur->ns == ns)) { threads->rlcUlCoreId = atoi((char *)xmlNodeListGetString(doc, cur->xmlChildrenNode, 1)); +#ifdef INTEL_THREAD_AFFINITY ODU_SET_THREAD_AFFINITY(&threads->rlcUlSTskId, SS_AFFINITY_MODE_EXCL, threads->rlcUlCoreId, 0); +#endif } if ((!xmlStrcmp(cur->name, (const xmlChar *)"SCH_CORE")) && (cur->ns == ns)) { threads->schCoreId = atoi((char *)xmlNodeListGetString(doc, cur->xmlChildrenNode, 1)); +#ifdef INTEL_THREAD_AFFINITY ODU_SET_THREAD_AFFINITY(&threads->schSTskId, SS_AFFINITY_MODE_EXCL, threads->schCoreId, 0); +#endif } if ((!xmlStrcmp(cur->name, (const xmlChar *)"SCTP_CORE")) && (cur->ns == ns)) { threads->sctpCoreId = atoi((char *)xmlNodeListGetString(doc, cur->xmlChildrenNode, 1)); +#ifdef INTEL_THREAD_AFFINITY ODU_SET_THREAD_AFFINITY(&threads->sctpSTskId, SS_AFFINITY_MODE_EXCL, threads->sctpCoreId, 0); +#endif } if ((!xmlStrcmp(cur->name, (const xmlChar *)"LOWER_MAC_CORE")) && (cur->ns == ns)) { threads->lwrMacCoreId = atoi((char *)xmlNodeListGetString(doc, cur->xmlChildrenNode, 1)); +#ifdef INTEL_THREAD_AFFINITY ODU_SET_THREAD_AFFINITY(&threads->lwrMacSTskId, SS_AFFINITY_MODE_EXCL, threads->lwrMacCoreId, 0); +#endif } cur = cur -> next; diff --git a/src/du_app/du_cfg.h b/src/du_app/du_cfg.h index d82297a6d..b37325300 100644 --- a/src/du_app/du_cfg.h +++ b/src/du_app/du_cfg.h @@ -1203,7 +1203,7 @@ typedef struct rrmPolicyList }RrmPolicyList; #endif -DuCfgParams duCfgParam; +extern DuCfgParams duCfgParam; /*function declarations */ uint8_t readClCfg(); diff --git a/src/du_app/du_e2ap_msg_hdl.c b/src/du_app/du_e2ap_msg_hdl.c index bfd29e8dd..2a5df4ae1 100644 --- a/src/du_app/du_e2ap_msg_hdl.c +++ b/src/du_app/du_e2ap_msg_hdl.c @@ -62,6 +62,7 @@ #include "E2SM-KPM-IndicationHeader.h" #include "E2SM-KPM-IndicationHeader-Format1.h" #include "LabelInfoItem.h" +extern DuCb duCb; /******************************************************************* * diff --git a/src/du_app/du_egtp.c b/src/du_app/du_egtp.c index 752760c76..b9de0c412 100644 --- a/src/du_app/du_egtp.c +++ b/src/du_app/du_egtp.c @@ -34,6 +34,9 @@ #include "du_utils.h" +uint8_t unpackEgtpSrvOpenReq(EgtpSrvOpenReq func, Pst *pst, Buffer *mBuf); +uint8_t protType; +EgtpGlobalCb egtpCb; /* EGTP global control block */ /************************************************************************** * @brief Task Initiation callback function. * diff --git a/src/du_app/du_egtp.h b/src/du_app/du_egtp.h index 8bd133a16..9619cd5c8 100644 --- a/src/du_app/du_egtp.h +++ b/src/du_app/du_egtp.h @@ -37,8 +37,8 @@ #define EGTP_MASK_BIT7 0x40 #define EGTP_MASK_BIT8 0x80 -uint8_t unpackEgtpSrvOpenReq(EgtpSrvOpenReq func, Pst *pst, Buffer *mBuf); -uint8_t protType; +extern uint8_t unpackEgtpSrvOpenReq(EgtpSrvOpenReq func, Pst *pst, Buffer *mBuf); +extern uint8_t protType; typedef struct EgtpTeIdCb { @@ -66,7 +66,7 @@ typedef struct egtpGlobalCb EgtpDstCb dstCb; /* Destination endpoint */ }EgtpGlobalCb; -EgtpGlobalCb egtpCb; /* EGTP global control block */ +extern EgtpGlobalCb egtpCb; /* EGTP global control block */ uint8_t duHdlEgtpDlData(EgtpMsg *egtpMsg); uint8_t egtpActvInit(Ent entity, Inst inst, Region region, Reason reason); diff --git a/src/du_app/du_f1ap_msg_hdl.c b/src/du_app/du_f1ap_msg_hdl.c index 87c15361a..a4f1416fa 100644 --- a/src/du_app/du_f1ap_msg_hdl.c +++ b/src/du_app/du_f1ap_msg_hdl.c @@ -191,7 +191,7 @@ extern StartupConfig g_cfg; #endif -DuCfgParams duCfgParam; +extern DuCfgParams duCfgParam; /****************************************************************** * diff --git a/src/du_app/du_mgr.h b/src/du_app/du_mgr.h index fd73b05ab..9418c1084 100644 --- a/src/du_app/du_mgr.h +++ b/src/du_app/du_mgr.h @@ -383,7 +383,7 @@ typedef struct statistics }Statistics; /* global variables */ -DuCb duCb; +extern DuCb duCb; //DuCfgParams duCfgParam; /* DU Cell Functions */ diff --git a/src/du_app/du_mgr_main.c b/src/du_app/du_mgr_main.c index f7d4e2af6..aff984f97 100644 --- a/src/du_app/du_mgr_main.c +++ b/src/du_app/du_mgr_main.c @@ -33,6 +33,8 @@ #include "du_egtp.h" #include "du_cell_mgr.h" #include "du_f1ap_msg_hdl.h" +/* global variables */ +DuCb duCb; #ifdef O1_ENABLE diff --git a/src/du_app/du_sctp.c b/src/du_app/du_sctp.c index efee2915d..6a6d566e2 100644 --- a/src/du_app/du_sctp.c +++ b/src/du_app/du_sctp.c @@ -33,6 +33,16 @@ #include "du_app_rlc_inf.h" #include "du_mgr.h" #include "du_utils.h" +/* Global variable declaration */ +uint8_t socket_type; /* Socket type */ +bool nonblocking; /* Blocking/Non-blocking socket */ +bool connUp; /* Is connection up */ +bool pollingState; +CmInetNetAddrLst localAddrLst; +CmInetNetAddrLst remoteAddrLst; +/* Global variable declaration */ +DuSctpDestCb f1Params; /* SCTP configurations at DU */ +DuSctpDestCb ricParams; /* SCTP configurations at DU */ /************************************************************************** * @brief Task Initiation callback function. diff --git a/src/du_app/du_sctp.h b/src/du_app/du_sctp.h index 8a734fb63..94e0c0c4f 100644 --- a/src/du_app/du_sctp.h +++ b/src/du_app/du_sctp.h @@ -27,12 +27,12 @@ #define MAX_RETRY 5 /* Global variable declaration */ -uint8_t socket_type; /* Socket type */ -bool nonblocking; /* Blocking/Non-blocking socket */ -bool connUp; /* Is connection up */ -bool pollingState; -CmInetNetAddrLst localAddrLst; -CmInetNetAddrLst remoteAddrLst; +extern uint8_t socket_type; /* Socket type */ +extern bool nonblocking; /* Blocking/Non-blocking socket */ +extern bool connUp; /* Is connection up */ +extern bool pollingState; +extern CmInetNetAddrLst localAddrLst; +extern CmInetNetAddrLst remoteAddrLst; typedef struct { @@ -61,8 +61,8 @@ typedef struct }DuSctpDestCb; /* Global variable declaration */ -DuSctpDestCb f1Params; /* SCTP configurations at DU */ -DuSctpDestCb ricParams; /* SCTP configurations at DU */ +extern DuSctpDestCb f1Params; /* SCTP configurations at DU */ +extern DuSctpDestCb ricParams; /* SCTP configurations at DU */ uint8_t sctpActvInit(Ent entity, Inst inst, Region region, Reason reason); diff --git a/src/du_app/du_sys_info_hdl.h b/src/du_app/du_sys_info_hdl.h index b175765d5..ba0b33096 100644 --- a/src/du_app/du_sys_info_hdl.h +++ b/src/du_app/du_sys_info_hdl.h @@ -39,8 +39,8 @@ void FreeBwpDlCommon(BWP_DownlinkCommon_t *bwp); void FreeBwpUlCommon(BWP_UplinkCommon_t *bwp); void FreeBcchDlSchMsg(BCCH_DL_SCH_Message_t bcchMsg); -char encBuf[ENC_BUF_MAX_LEN]; -DuCfgParams duCfgParam; +extern char encBuf[ENC_BUF_MAX_LEN]; +extern DuCfgParams duCfgParam; /********************************************************************** End of file diff --git a/src/du_app/du_ue_mgr.c b/src/du_app/du_ue_mgr.c index 86f4b7e16..c3e2d1d92 100644 --- a/src/du_app/du_ue_mgr.c +++ b/src/du_app/du_ue_mgr.c @@ -41,6 +41,7 @@ #include "CmInterface.h" #endif +extern DuCb duCb; DuRlcUeReestablishReq packRlcUeReestablishReqOpts[] = { packDuRlcUeReestablishReq, /* Loose coupling */ diff --git a/src/mt/mt_ss.c b/src/mt/mt_ss.c index cb1ad0b87..3579275fd 100644 --- a/src/mt/mt_ss.c +++ b/src/mt/mt_ss.c @@ -181,6 +181,7 @@ struct sigcontext my_uc_mcontext = { 0 }; #include #include +uint32_t gt[128]; #define SIGSEGV_STACK_GENERIC #define REGFORMAT "%x\n" @@ -306,8 +307,8 @@ void *pthreadCreateHdlr(void* arg); Buffer *mtTskBuffer1; Buffer *mtTskBuffer2; -pthread_t tmpRegTidMap[20]; -uint8_t stopBtInfo; +extern pthread_t tmpRegTidMap[20]; +extern uint8_t stopBtInfo; S16 SGlobMemInfoShow(void); #endif /* SS_LOCKLESS_MEMORY */ diff --git a/src/mt/mt_ss.x b/src/mt/mt_ss.x index 56bb92078..4f0529fb0 100755 --- a/src/mt/mt_ss.x +++ b/src/mt/mt_ss.x @@ -162,7 +162,7 @@ typedef struct sLockInfo }SLockInfo; #endif /* SS_LOCK_SUPPORT */ -uint32_t gt[128]; +extern uint32_t gt[128]; #endif /* __MTSSX__ */ diff --git a/src/mt/ss_gen.c b/src/mt/ss_gen.c index d7ef85650..98c5c76ad 100644 --- a/src/mt/ss_gen.c +++ b/src/mt/ss_gen.c @@ -114,10 +114,15 @@ volatile SsOs osCp; /* common OS control point */ #else SsOs osCp; /* common OS control point */ #endif +/* for SGetOpt() */ +extern S16 msOptInd; +extern S8 *msOptArg; +extern Txt **msArgv; +extern S16 msArgc; -Cntr cfgNumRegs; -SsRegCfg cfgRegInfo[SS_MAX_REGS]; +extern Cntr cfgNumRegs; +extern SsRegCfg cfgRegInfo[SS_MAX_REGS]; /* ss029.103: modification: multiple procId related changes */ diff --git a/src/mt/ss_gen.x b/src/mt/ss_gen.x index 2508ef810..79acfe65a 100755 --- a/src/mt/ss_gen.x +++ b/src/mt/ss_gen.x @@ -307,7 +307,7 @@ typedef struct ssRegCfg } SsRegCfg; - +#ifdef ANKIT /* external variable declaration */ /*ss014.301 osCp as volatile for SSI-4GMX*/ #ifdef SS_4GMX_LCORE @@ -315,6 +315,16 @@ volatile SsOs osCp; #else SsOs osCp; #endif +#else +/* external variable declaration */ +/*ss014.301 osCp as volatile for SSI-4GMX*/ +#ifdef SS_4GMX_LCORE +extern volatile SsOs osCp; +#else +extern SsOs osCp; +#endif +#endif + /* functions */ diff --git a/src/mt/ss_msg.c b/src/mt/ss_msg.c index 87e10376c..474d79839 100644 --- a/src/mt/ss_msg.c +++ b/src/mt/ss_msg.c @@ -213,7 +213,7 @@ static Buffer *DupMsg ARGS((Region region, Buffer *buffer)); } -pthread_t tmpRegTidMap[20]; +extern pthread_t tmpRegTidMap[20]; #define CM_MEM_GET_REGION(_region) \ { \ uint8_t _regCnt; \ diff --git a/src/mt/ss_rbuf.x b/src/mt/ss_rbuf.x index f2a06bd63..67ac2564d 100755 --- a/src/mt/ss_rbuf.x +++ b/src/mt/ss_rbuf.x @@ -56,7 +56,7 @@ S16 SConnectSRngBuf ARGS((uint32_t id, uint32_t rxEnt)); S16 SGetNumElemInRng ARGS(( uint32_t id)); S16 SPrintSRngStats ARGS((Void)); S16 pjBatchProc ARGS((Void)); -uint32_t ssRngBufStatus; +extern uint32_t ssRngBufStatus; #define SS_RNG_BUF_STATUS() ssRngBufStatus /* Ring Buffer Structure */ @@ -205,7 +205,7 @@ typedef struct Buffer* mBuf; } SsRngBufElem; - SsRngBufTbl SsRngInfoTbl[SS_RNG_BUF_MAX]; + extern SsRngBufTbl SsRngInfoTbl[SS_RNG_BUF_MAX]; #if (defined (MAC_FREE_RING_BUF) || defined (RLC_FREE_RING_BUF)) S16 mtAddBufToRing(SsRngBufId ringId,void *bufPtr,uint8_t freeType); diff --git a/src/phy_stub/phy_stub.h b/src/phy_stub/phy_stub.h index 8fd85c56f..941a99aca 100644 --- a/src/phy_stub/phy_stub.h +++ b/src/phy_stub/phy_stub.h @@ -46,9 +46,9 @@ #define CB_RA_PREAMBLE_IDX 3 /* For contention based RA */ #define CF_RA_PREAMBLE_IDX 8 /* For contention free RA */ -bool slotIndicationStarted; -uint16_t sfnValue; -uint16_t slotValue; +extern bool slotIndicationStarted; +extern uint16_t sfnValue; +extern uint16_t slotValue; /*Mapping between LCG ID and BSR Idx*/ typedef struct lcgBufferSize @@ -100,7 +100,7 @@ typedef struct phyDb UeDb ueDb; }PhyDb; -PhyDb phyDb; +extern PhyDb phyDb; typedef enum { diff --git a/src/phy_stub/phy_stub_thread_hdl.c b/src/phy_stub/phy_stub_thread_hdl.c index d9860f6e1..72ddaacf3 100644 --- a/src/phy_stub/phy_stub_thread_hdl.c +++ b/src/phy_stub/phy_stub_thread_hdl.c @@ -27,10 +27,14 @@ #include "phy_stub.h" #include "mac_sch_interface.h" +uint16_t sfnValue; +uint16_t slotValue; +PhyDb phyDb; extern uint16_t l1BuildAndSendBSR(uint8_t ueIdx, BsrType bsrType,\ LcgBufferSize lcgBsIdx[MAX_NUM_LOGICAL_CHANNEL_GROUPS]); pthread_t thread = 0; int socket_fd =0; +bool slotIndicationStarted; /******************************************************************* * diff --git a/src/ric_stub/ric_e2ap_msg_hdl.c b/src/ric_stub/ric_e2ap_msg_hdl.c index c5ede0bcb..c43c4db2b 100644 --- a/src/ric_stub/ric_e2ap_msg_hdl.c +++ b/src/ric_stub/ric_e2ap_msg_hdl.c @@ -44,6 +44,8 @@ #include "E2SM-KPM-EventTriggerDefinition.h" #include "E2connectionUpdate-Item.h" + +char encBuf[ENC_BUF_MAX_LEN]; /******************************************************************* * * @brief Printing Type and Cause of failure diff --git a/src/ric_stub/ric_stub.c b/src/ric_stub/ric_stub.c index 152a583f3..245629f37 100644 --- a/src/ric_stub/ric_stub.c +++ b/src/ric_stub/ric_stub.c @@ -28,7 +28,7 @@ #ifdef O1_ENABLE extern StartupConfig g_cfg; #endif - + RicGlobalCb ricCb; /******************************************************************* * * @brief Handles SCTP notification diff --git a/src/ric_stub/ric_stub.h b/src/ric_stub/ric_stub.h index ac51011d7..ce86d5f4e 100644 --- a/src/ric_stub/ric_stub.h +++ b/src/ric_stub/ric_stub.h @@ -156,7 +156,7 @@ typedef struct cuGlobalCb DuDb duInfo[MAX_DU_SUPPORTED]; }RicGlobalCb; -RicGlobalCb ricCb; +extern RicGlobalCb ricCb; typedef struct { diff --git a/src/ric_stub/ric_stub_sctp.c b/src/ric_stub/ric_stub_sctp.c index 9ae598397..a0a455a4b 100644 --- a/src/ric_stub/ric_stub_sctp.c +++ b/src/ric_stub/ric_stub_sctp.c @@ -24,6 +24,9 @@ #include "ric_e2ap_msg_hdl.h" #include "E2AP-PDU.h" +uint8_t socket_type; +SctpGlobalCb sctpCb; + /************************************************************************** * @brief Function to configure the Sctp Params during config Request * diff --git a/src/ric_stub/ric_stub_sctp.h b/src/ric_stub/ric_stub_sctp.h index 00ae12658..c0ba6d8b9 100644 --- a/src/ric_stub/ric_stub_sctp.h +++ b/src/ric_stub/ric_stub_sctp.h @@ -27,7 +27,7 @@ #define MAX_ASSOC_SUPPORTED MAX_DU_SUPPORTED /* Global variable declaration */ -uint8_t socket_type; /* Socket type */ +extern uint8_t socket_type; /* Socket type */ /* O-RAN.WG3.E2AP-R003-v03.00 : Section 9.2.30 */ typedef enum @@ -94,7 +94,7 @@ typedef struct sctpGlobalCb RicSctpAssocCb assocCb[MAX_ASSOC_SUPPORTED]; }SctpGlobalCb; -SctpGlobalCb sctpCb; +extern SctpGlobalCb sctpCb; uint8_t sctpActvInit(); uint8_t sctpSend(uint32_t duId, Buffer *mBuf);