Lines Matching refs:pSgBuf

374     PPDMSCATTERGATHER pSgBuf = (PPDMSCATTERGATHER)RTMemCacheAlloc(pThis->hSgCache);
375 if (!pSgBuf)
378 PPDMSCATTERGATHER pSgBuf = &pThis->u.Sg;
379 if (RT_UNLIKELY(pSgBuf->fFlags != 0))
393 &pHdr, &pSgBuf->aSegs[0].pvSeg);
396 &pHdr, &pSgBuf->aSegs[0].pvSeg);
404 &pHdr, &pSgBuf->aSegs[0].pvSeg);
407 &pHdr, &pSgBuf->aSegs[0].pvSeg);
415 pSgBuf->fFlags = PDMSCATTERGATHER_FLAGS_MAGIC | PDMSCATTERGATHER_FLAGS_OWNER_1;
416 pSgBuf->cbUsed = 0;
417 pSgBuf->cbAvailable = cbMin;
418 pSgBuf->pvAllocator = pHdr;
419 pSgBuf->pvUser = pGso ? (PPDMNETWORKGSO)pSgBuf->aSegs[0].pvSeg - 1 : NULL;
420 pSgBuf->cSegs = 1;
421 pSgBuf->aSegs[0].cbSeg = cbMin;
423 *ppSgBuf = pSgBuf;
433 RTMemCacheFree(pThis->hSgCache, pSgBuf);
447 pSgBuf->fFlags = 0;
456 PDMBOTHCBDECL(int) drvIntNetUp_FreeBuf(PPDMINETWORKUP pInterface, PPDMSCATTERGATHER pSgBuf)
459 PINTNETHDR pHdr = (PINTNETHDR)pSgBuf->pvAllocator;
461 Assert(pSgBuf == &pThis->u.Sg);
463 Assert(pSgBuf->fFlags == (PDMSCATTERGATHER_FLAGS_MAGIC | PDMSCATTERGATHER_FLAGS_OWNER_1));
464 Assert(pSgBuf->cbUsed <= pSgBuf->cbAvailable);
474 RTMemCacheFree(pThis->hSgCache, pSgBuf);
476 pSgBuf->fFlags = 0;
485 PDMBOTHCBDECL(int) drvIntNetUp_SendBuf(PPDMINETWORKUP pInterface, PPDMSCATTERGATHER pSgBuf, bool fOnWorkerThread)
490 AssertPtr(pSgBuf);
491 Assert(pSgBuf->fFlags == (PDMSCATTERGATHER_FLAGS_MAGIC | PDMSCATTERGATHER_FLAGS_OWNER_1));
492 Assert(pSgBuf->cbUsed <= pSgBuf->cbAvailable);
495 if (pSgBuf->pvUser)
504 PINTNETHDR pHdr = (PINTNETHDR)pSgBuf->pvAllocator;
505 IntNetRingCommitFrameEx(&pThis->CTX_SUFF(pBuf)->Send, pHdr, pSgBuf->cbUsed);
513 RTMemCacheFree(pThis->hSgCache, pSgBuf);
516 pSgBuf->fFlags = 0;