-struct pkt_dump
-{
- int num_samp;
- int num_bytes;
- uint8_t symb;
- struct ecpri_seq_id seq;
-} __rte_packed;
-
-/* PRACH configuration table defines */
-#define XRAN_PRACH_CANDIDATE_PREAMBLE (2)
-#define XRAN_PRACH_CANDIDATE_Y (2)
-#define XRAN_PRACH_CANDIDATE_SLOT (40)
-#define XRAN_PRACH_CONFIG_TABLE_SIZE (256)
-#define XRAN_PRACH_PREAMBLE_FORMAT_OF_ABC (9)
-typedef enum
-{
- FORMAT_0 = 0,
- FORMAT_1,
- FORMAT_2,
- FORMAT_3,
- FORMAT_A1,
- FORMAT_A2,
- FORMAT_A3,
- FORMAT_B1,
- FORMAT_B2,
- FORMAT_B3,
- FORMAT_B4,
- FORMAT_C0,
- FORMAT_C2,
- FORMAT_LAST
-}PreambleFormatEnum;
-
-/* add PRACH used config table, same structure as used in refPHY */
-typedef struct
-{
- uint8_t prachConfigIdx;
- uint8_t preambleFmrt[XRAN_PRACH_CANDIDATE_PREAMBLE];
- uint8_t x;
- uint8_t y[XRAN_PRACH_CANDIDATE_Y];
- uint8_t slotNr[XRAN_PRACH_CANDIDATE_SLOT];
- uint8_t slotNrNum;
- uint8_t startingSym;
- uint8_t nrofPrachInSlot;
- uint8_t occassionsInPrachSlot;
- uint8_t duration;
-} xRANPrachConfigTableStruct;
-
-typedef struct
-{
- uint8_t preambleFmrt;
- uint16_t lRALen;
- uint8_t fRA;
- uint32_t nu;
- uint16_t nRaCp;
-}xRANPrachPreambleLRAStruct;
-
-typedef struct
-{
- uint8_t filterIdx;
- uint8_t startSymId;
- uint16_t startPrbc;
- uint8_t numPrbc;
- uint8_t numSymbol;
- uint16_t timeOffset;
- int32_t freqOffset;
- uint8_t occassionsInPrachSlot;
- uint8_t x;
- uint8_t y[XRAN_PRACH_CANDIDATE_Y];
- uint8_t isPRACHslot[XRAN_PRACH_CANDIDATE_SLOT];
-}xRANPrachCPConfigStruct;
-
-
-typedef struct DeviceHandleInfo
-{
- /**< Structure that contains the information to describe the
- * instance i.e service type, virtual function, package Id etc..*/
- uint16_t nIndex;
- /* Unique ID of an handle shared between phy layer and library */
- /**< number of antennas supported per link*/
- uint32_t nBufferPoolIndex;
- /**< Buffer poolIndex*/
- struct rte_mempool * p_bufferPool[XRAN_MAX_SECTOR_NR];
- uint32_t bufferPoolElmSz[XRAN_MAX_SECTOR_NR];
- uint32_t bufferPoolNumElm[XRAN_MAX_SECTOR_NR];
-
-}XranLibHandleInfoStruct;
-
-typedef void (*XranSymCallbackFn)(struct rte_timer *tim, void* arg);
-
-/*
- * manage one cell's all Ethernet frames for one DL or UL LTE subframe
- */
-typedef struct {
- /* -1-this subframe is not used in current frame format
- 0-this subframe can be transmitted, i.e., data is ready
- 1-this subframe is waiting transmission, i.e., data is not ready
- 10 - DL transmission missing deadline. When FE needs this subframe data but bValid is still 1,
- set bValid to 10.
- */
- int32_t bValid ; // when UL rx, it is subframe index.
- int32_t nSegToBeGen;
- int32_t nSegGenerated; // how many date segment are generated by DL LTE processing or received from FE
- // -1 means that DL packet to be transmitted is not ready in BS
- int32_t nSegTransferred; // number of data segments has been transmitted or received
- struct rte_mbuf *pData[XRAN_N_MAX_BUFFER_SEGMENT]; // point to DPDK allocated memory pool
- XRANBufferListStruct sBufferList;
-} BbuIoBufCtrlStruct;
-
-struct xran_sym_job {
- uint32_t sym_idx;
- uint32_t status;
-}__rte_cache_aligned;