+#define DEFAULT_UL_ACK_LIST_COUNT 8 /* Max number of pusch time domain uplink allocation */
+#define MASK_BIT64_ON 0xFFFFFFFFFFFFFFFF
+#define MIN_PRB 1
+
+#define SET_BITS_MSB(_startBit, _numBits, _byte) \
+{ \
+ _byte = (~((0xFF) >> _numBits)); \
+ _byte >>= _startBit; \
+}
+
+#define SET_BITS_LSB(_startBit, _numBits, _byte) \
+{ \
+ _byte = (~((0xFF) << _numBits)); \
+ _byte <<= _startBit; \
+}
+
+/* allocate and zero out a static buffer */
+#ifdef ODU_MEMORY_DEBUG_LOG
+#define SCH_MEM_LOG(_macro, _file, _line, _func, _size, _datPtr)\
+{\
+ printf("\n%s,=== %s +%d, %s, %lu, %p \n", \
+ _macro, _file, _line, _func, (uint64_t)_size, (void *)_datPtr); \
+}
+#else
+#define SCH_MEM_LOG(_macro, _file, _line, _func, _size, _dataPtr) {}
+#endif
+
+#define SCH_ALLOC(_datPtr, _size) \
+{ \
+ uint8_t _ret; \
+ _ret = SGetSBuf(SCH_MEM_REGION, SCH_POOL, \
+ (Data **)&_datPtr, _size); \
+ if(_ret == ROK) \
+ { \
+ SCH_MEM_LOG("SCH,ALLOC", __FILE__, __LINE__, __FUNCTION__, _size, _datPtr);\
+ memset(_datPtr, 0, _size); \
+ } \
+ else \
+ { \
+ _datPtr = NULLP; \
+ } \
+}
+
+/* free a static buffer */
+#define SCH_FREE(_datPtr, _size) \
+{ \
+ if(_datPtr) \
+ {\
+ SCH_MEM_LOG("SCH,FREE", __FILE__, __LINE__, __FUNCTION__, _size, _datPtr);\
+ SPutSBuf(SCH_MEM_REGION, SCH_POOL, \
+ (Data *)_datPtr,(Size) _size); \
+ _datPtr = NULLP; \
+ } \
+}
+
+/* Fill post structure for msg from SCH to MAC */
+#define FILL_PST_SCH_TO_MAC(_pst, _inst) \