/* allocates a mac descriptor from the pool 
Allocates a mac descriptor and resets its value. This function is not used directly, instead  */
IX_ETH_DB_PRIVATE MacDescriptor * ixEthDBPoolAllocMacDescriptor(void)
/* allocates a mac descriptor from the pool 
Allocates a mac descriptor and resets its value. This function is not used directly, instead  */
IX_ETH_DB_PRIVATE MacDescriptor * ixEthDBPoolAllocMacDescriptor(void)
{
    MacDescriptor *allocatedDescriptor = NULL;
    if (macPool != NULL)
    {
        LOCK_MAC_POOL;
        allocatedDescriptor = macPool;
        macPool             = macPool->nextFree;
        UNLOCK_MAC_POOL;
        memset(allocatedDescriptor, 0, sizeof(MacDescriptor));
    }
    return allocatedDescriptor;
}