third_party/virtualbox/src/VBox/Devices/Network/DevE1000.cpp
/**
 * Frees the current xmit buffer.
 *
 * @param   pThis              The device state structure.
 */
Frees the current xmit buffer.
@param   pThis              The device state structure.
Frees the current xmit buffer . @param pThis The device state structure .
static void e1kXmitFreeBuf(PE1KSTATE pThis)
{
    PPDMSCATTERGATHER pSg = pThis->CTX_SUFF(pTxSg);
    if (pSg)
    {
        pThis->CTX_SUFF(pTxSg) = NULL;
        if (pSg->pvAllocator != pThis)
        {
            PPDMINETWORKUP pDrv = pThis->CTX_SUFF(pDrv);
            if (pDrv)
                pDrv->pfnFreeBuf(pDrv, pSg);
        }
        else
        {
            AssertCompileMemberSize(E1KSTATE, uTxFallback.Sg, 8 * sizeof(size_t));
            Assert(pSg->fFlags == (PDMSCATTERGATHER_FLAGS_MAGIC | PDMSCATTERGATHER_FLAGS_OWNER_3));
            pSg->fFlags = 0;
            pSg->pvAllocator = NULL;
        }
    }
}
static void e1kXmitFreeBuf ( PE1KSTATE pThis ) { PPDMSCATTERGATHER pSg = pThis -> CTX_SUFF ( pTxSg ) ; if ( pSg ) { pThis -> CTX_SUFF ( pTxSg ) = NULL ; if ( pSg -> pvAllocator != pThis ) { PPDMINETWORKUP pDrv = pThis -> CTX_SUFF ( pDrv ) ; if ( pDrv ) pDrv -> pfnFreeBuf ( pDrv , pSg ) ; } else { AssertCompileMemberSize ( E1KSTATE , uTxFallback . Sg , 8 * sizeof ( size_t ) ) ; Assert ( pSg -> fFlags == ( PDMSCATTERGATHER_FLAGS_MAGIC | PDMSCATTERGATHER_FLAGS_OWNER_3 ) ) ; pSg -> fFlags = 0 ; pSg -> pvAllocator = NULL ; } } }
Frees the current xmit buffer.
Frees the current xmit buffer .
/* loopback */