#define MAX_MU_PUSCH 4
#define TOTAL_TBSIZE_VALUES 93
#define DEFAULT_UL_ACK_LIST_COUNT 8 /* Max number of pusch time domain uplink allocation */
+#define MASK_BIT64_ON 0xFFFFFFFFFFFFFFFF
#define SET_BITS_MSB(_startBit, _numBits, _byte) \
{ \
uint8_t defaultUlAckTbl[DEFAULT_UL_ACK_LIST_COUNT];
uint8_t minMsg3SchTime[MAX_NUM_MU];
-/* functions declarations */
-void freqDomRscAllocType0(uint16_t startPrb, uint16_t prbSize, uint8_t *freqDomain);
-uint16_t schCalcTbSize(uint32_t payLoadSize);
-uint16_t schCalcNumPrb(uint16_t tbSize, uint16_t mcs, uint8_t numSymbols);
-uint16_t schCalcTbSizeFromNPrb(uint16_t numPrb, uint16_t mcs, uint8_t numSymbols);
+/* Functions declarations : Linked list handler */
+uint8_t addNodeToLList(CmLListCp *llist, void *blockToAdd, CmLList *currNode);
+uint8_t deleteNodeFromLList(CmLListCp *llist, CmLList *node);
+
+/* Functions declarations : Slot format handler */
#ifdef NR_TDD
SlotConfig schGetSlotSymbFrmt(uint16_t slot, uint32_t bitMap);
uint8_t calculateSlotPatternLength(uint8_t scs, uint8_t periodicity);
#endif
+/* Functions declarations : Resource allocation handler */
+void freqDomRscAllocType0(uint16_t startPrb, uint16_t prbSize, uint8_t *freqDomain);
+uint16_t schCalcTbSize(uint32_t payLoadSize);
+uint16_t schCalcNumPrb(uint16_t tbSize, uint16_t mcs, uint8_t numSymbols);
+uint16_t schCalcTbSizeFromNPrb(uint16_t numPrb, uint16_t mcs, uint8_t numSymbols);
+bool fillPrbBitmap(uint64_t *prbBitmap, uint16_t startPrb, uint16_t numPrb);
+CmLList* isPrbAvailable(CmLListCp *freePrbBlockList, uint16_t startPrb, uint16_t numPrb);
+void removeAllocatedPrbFromFreePrbList(CmLListCp *freePrbBlockList, CmLList *node, \
+ uint16_t startPrb, uint16_t numPrb);
+
/**********************************************************************
End of file
**********************************************************************/