+ * ****************************************************************/
+void addWlsBlockToFree(void *msg, uint32_t msgLen, uint8_t idx)
+{
+ CmLList *node;
+ WlsBlockToFree *block;
+ MAC_ALLOC(block, sizeof(WlsBlockToFree));
+ if(block)
+ {
+ MAC_ALLOC(node, sizeof(CmLList));
+ if(node)
+ {
+ block->ptr = msg;
+ block->size = msgLen;
+
+ node->node = (PTR)block;
+ cmLListAdd2Tail(&wlsBlockToFreeList[idx], node);
+ }
+ }
+}/* addWlsBlockToFree */
+
+void freeWlsBlockList(uint8_t idx)
+{
+ CmLList *node;
+ WlsBlockToFree *block;
+ if(wlsBlockToFreeList[idx].count)
+ {
+ CM_LLIST_FIRST_NODE(&wlsBlockToFreeList[idx], node);
+ while(node)
+ {
+ block = (WlsBlockToFree *)node->node;
+ cmLListDelFrm(&wlsBlockToFreeList[idx], node);
+ WLS_MEM_FREE(block->ptr, block->size);
+ MAC_FREE(block, sizeof(WlsBlockToFree));
+ MAC_FREE(node, sizeof(CmLList));
+ node = NULL;
+ CM_LLIST_FIRST_NODE(&wlsBlockToFreeList[idx], node);
+ }
+ }
+}
+
+/*******************************************************************