Lines Matching defs:pClient

213     PCRVBOXHGSMI_CLIENT pClient = (PCRVBOXHGSMI_CLIENT)VBoxCrHgsmiQueryClient();
214 Assert(pClient);
215 return pClient;
225 static void _crVBoxHGSMIReceiveMessage(CRConnection *conn, PCRVBOXHGSMI_CLIENT pClient);
331 static CRVBOXHGSMIHDR *_crVBoxHGSMICmdBufferLock(PCRVBOXHGSMI_CLIENT pClient, uint32_t cbBuffer)
348 rc = pClient->pCmdBuffer->pfnLock(pClient->pCmdBuffer, 0, cbBuffer, fFlags, (void**)&pHdr);
357 static CRVBOXHGSMIHDR *_crVBoxHGSMICmdBufferLockRo(PCRVBOXHGSMI_CLIENT pClient, uint32_t cbBuffer)
374 rc = pClient->pCmdBuffer->pfnLock(pClient->pCmdBuffer, 0, cbBuffer, fFlags, (void**)&pHdr);
381 static void _crVBoxHGSMICmdBufferUnlock(PCRVBOXHGSMI_CLIENT pClient)
383 int rc = pClient->pCmdBuffer->pfnUnlock(pClient->pCmdBuffer);
389 static int32_t _crVBoxHGSMICmdBufferGetRc(PCRVBOXHGSMI_CLIENT pClient)
397 rc = pClient->pCmdBuffer->pfnLock(pClient->pCmdBuffer, 0, sizeof (*pHdr), fFlags, (void**)&pHdr);
407 pClient->pCmdBuffer->pfnUnlock(pClient->pCmdBuffer);
412 DECLINLINE(PVBOXUHGSMI_BUFFER) _crVBoxHGSMIRecvBufGet(PCRVBOXHGSMI_CLIENT pClient)
414 if (pClient->pvHGBuffer)
416 int rc = pClient->pHGBuffer->pfnUnlock(pClient->pHGBuffer);
421 pClient->pvHGBuffer = NULL;
423 return pClient->pHGBuffer;
426 DECLINLINE(void*) _crVBoxHGSMIRecvBufData(PCRVBOXHGSMI_CLIENT pClient, uint32_t cbBuffer)
430 Assert(!pClient->pvHGBuffer);
432 rc = pClient->pHGBuffer->pfnLock(pClient->pHGBuffer, 0, cbBuffer, fFlags, &pClient->pvHGBuffer);
436 return pClient->pvHGBuffer;
459 static PVBOXUHGSMI_BUFFER _crVBoxHGSMIBufAlloc(PCRVBOXHGSMI_CLIENT pClient, uint32_t cbSize)
464 buf = (PVBOXUHGSMI_BUFFER ) crBufferPoolPop(pClient->bufpool, cbSize);
469 (void *) pClient->bufpool,
471 rc = pClient->pHgsmi->pfnBufferCreate(pClient->pHgsmi, cbSize,
481 static void _crVBoxHGSMIBufFree(PCRVBOXHGSMI_CLIENT pClient, PVBOXUHGSMI_BUFFER pBuf)
483 crBufferPoolPush(pClient->bufpool, pBuf, pBuf->cbBuffer);
511 static void *_crVBoxHGSMIDoAlloc(PCRVBOXHGSMI_CLIENT pClient, uint32_t cbSize)
517 buf = _crVBoxHGSMIBufAlloc(pClient, CRVBOXHGSMI_BUF_SIZE(cbSize));
522 buf->pvUserData = pClient;
544 PCRVBOXHGSMI_CLIENT pClient;
549 pClient = _crVBoxHGSMIClientGet();
550 pvBuf = _crVBoxHGSMIDoAlloc(pClient, conn->buffer_size);
558 DECLINLINE(void) _crVBoxHGSMIFillCmd(VBOXUHGSMI_BUFFER_SUBMIT *pSubm, PCRVBOXHGSMI_CLIENT pClient, uint32_t cbData)
560 pSubm->pBuf = pClient->pCmdBuffer;
577 DECLINLINE(void) _crVBoxHGSMIWaitCmd(PCRVBOXHGSMI_CLIENT pClient)
579 int rc = CRVBOXHGSMI_BUF_WAIT(pClient->pCmdBuffer);
583 static void _crVBoxHGSMIWriteExact(CRConnection *conn, PCRVBOXHGSMI_CLIENT pClient, PVBOXUHGSMI_BUFFER pBuf, uint32_t offStart, unsigned int len)
592 CRVBOXHGSMIINJECT *parms = (CRVBOXHGSMIINJECT *)_crVBoxHGSMICmdBufferLock(pClient, sizeof (*parms));
607 _crVBoxHGSMICmdBufferUnlock(pClient);
609 _crVBoxHGSMIFillCmd(&aSubmit[0], pClient, sizeof (*parms));
617 rc = pClient->pHgsmi->pfnBufferSubmitAsynch(pClient->pHgsmi, aSubmit, 2);
621 _crVBoxHGSMIWaitCmd(pClient);
625 // CRVBOXHGSMI_BUF_WAIT(pClient->pCmdBuffer);
627 callRes = _crVBoxHGSMICmdBufferGetRc(pClient);
633 CRVBOXHGSMIWRITE * parms = (CRVBOXHGSMIWRITE *)_crVBoxHGSMICmdBufferLock(pClient, sizeof (*parms));;
641 _crVBoxHGSMICmdBufferUnlock(pClient);
643 _crVBoxHGSMIFillCmd(&aSubmit[0], pClient, sizeof (*parms));
651 rc = pClient->pHgsmi->pfnBufferSubmitAsynch(pClient->pHgsmi, aSubmit, 2);
655 _crVBoxHGSMIWaitCmd(pClient);
659 // CRVBOXHGSMI_BUF_WAIT(pClient->pCmdBuffer);
661 callRes = _crVBoxHGSMICmdBufferGetRc(pClient);
677 // PCRVBOXHGSMI_CLIENT pClient;
681 // pClient = (PCRVBOXHGSMI_CLIENT)pBuf->pvUserData;
682 // _crVBoxHGSMIWriteExact(conn, pClient, pBuf, 0, len);
683 // _crVBoxHGSMIBufFree(pClient, pBuf);
687 static void _crVBoxHGSMIPollHost(CRConnection *conn, PCRVBOXHGSMI_CLIENT pClient)
689 CRVBOXHGSMIREAD *parms = (CRVBOXHGSMIREAD *)_crVBoxHGSMICmdBufferLock(pClient, sizeof (*parms));
706 _crVBoxHGSMICmdBufferUnlock(pClient);
708 pRecvBuffer = _crVBoxHGSMIRecvBufGet(pClient);
713 _crVBoxHGSMIFillCmd(&aSubmit[0], pClient, sizeof (*parms));
721 rc = pClient->pHgsmi->pfnBufferSubmitAsynch(pClient->pHgsmi, aSubmit, 2);
729 _crVBoxHGSMIWaitCmd(pClient);
731 parms = (CRVBOXHGSMIREAD *)_crVBoxHGSMICmdBufferLockRo(pClient, sizeof (*parms));
744 _crVBoxHGSMICmdBufferUnlock(pClient);
748 void *pvData = _crVBoxHGSMIRecvBufData(pClient, cbBuffer);
758 static void _crVBoxHGSMIReadExact(CRConnection *conn, PCRVBOXHGSMI_CLIENT pClient)
760 _crVBoxHGSMIPollHost(conn, pClient);
763 _crVBoxHGSMIReceiveMessage(conn, pClient);
771 _crVBoxHGSMIWriteReadExact(CRConnection *conn, PCRVBOXHGSMI_CLIENT pClient, void *buf, uint32_t offBuffer, unsigned int len, bool bIsBuffer)
773 CRVBOXHGSMIWRITEREAD *parms = (CRVBOXHGSMIWRITEREAD*)_crVBoxHGSMICmdBufferLock(pClient, sizeof (*parms));
791 _crVBoxHGSMICmdBufferUnlock(pClient);
796 pBuf = _crVBoxHGSMIBufAlloc(pClient, len);
818 _crVBoxHGSMIBufFree(pClient, pBuf);
829 PVBOXUHGSMI_BUFFER pRecvBuffer = _crVBoxHGSMIRecvBufGet(pClient);
834 _crVBoxHGSMIFillCmd(&aSubmit[0], pClient, sizeof (*parms));
847 rc = pClient->pHgsmi->pfnBufferSubmitAsynch(pClient->pHgsmi, aSubmit, 3);
855 _crVBoxHGSMIWaitCmd(pClient);
857 parms = (CRVBOXHGSMIWRITEREAD *)_crVBoxHGSMICmdBufferLockRo(pClient, sizeof (*parms));
863 _crVBoxHGSMICmdBufferUnlock(pClient);
871 void *pvData = _crVBoxHGSMIRecvBufData(pClient, cbWriteback);
877 _crVBoxHGSMIReceiveMessage(conn, pClient);
883 PVBOXUHGSMI_BUFFER pOldBuf = pClient->pHGBuffer;
884 Assert(!pClient->pvHGBuffer);
885 CRASSERT(cbWriteback>pClient->pHGBuffer->cbBuffer);
888 rc = pClient->pHgsmi->pfnBufferCreate(pClient->pHgsmi, CRVBOXHGSMI_PAGE_ALIGN(cbWriteback),
889 VBOXUHGSMI_SYNCHOBJECT_TYPE_NONE, NULL, &pClient->pHGBuffer);
897 _crVBoxHGSMIReadExact(conn, pClient/*, cbWriteback*/);
913 _crVBoxHGSMIBufFree(pClient, pBuf);
919 PCRVBOXHGSMI_CLIENT pClient;
926 pClient = _crVBoxHGSMIClientGet();
934 _crVBoxHGSMIWriteReadExact(conn, pClient, (void*)start, 0, len, false);
953 pClient = (PCRVBOXHGSMI_CLIENT)pBuf->pvUserData;
961 _crVBoxHGSMIWriteExact(conn, pClient, pBuf, CRVBOXHGSMI_BUF_OFFSET(start, *bufp) + CRVBOXHGSMI_BUF_HDR_SIZE(), len);
966 _crVBoxHGSMIWriteReadExact(conn, pClient, pBuf, CRVBOXHGSMI_BUF_OFFSET(start, *bufp) + CRVBOXHGSMI_BUF_HDR_SIZE(), len, true);
970 _crVBoxHGSMIBufFree(pClient, pBuf);
982 PCRVBOXHGSMI_CLIENT pClient;
994 pClient = (PCRVBOXHGSMI_CLIENT)pBuf->pvUserData;
995 _crVBoxHGSMIReadExact(conn, pClient);
1008 PCRVBOXHGSMI_CLIENT pClient = (PCRVBOXHGSMI_CLIENT)pBuf->pvUserData;
1010 _crVBoxHGSMIBufFree(pClient, pBuf);
1033 static void _crVBoxHGSMIReceiveMessage(CRConnection *conn, PCRVBOXHGSMI_CLIENT pClient)
1116 PCRVBOXHGSMI_CLIENT pClient;
1119 pClient = _crVBoxHGSMIClientGet();
1121 Assert(pClient);
1124 _crVBoxHGSMIReceiveMessage(conn, pClient);
1434 PCRVBOXHGSMI_CLIENT pClient = crAlloc(sizeof (CRVBOXHGSMI_CLIENT));
1436 if (pClient)
1439 pClient->pHgsmi = pHgsmi;
1443 &pClient->pCmdBuffer);
1450 &pClient->pHGBuffer);
1454 pClient->pvHGBuffer = NULL;
1455 pClient->bufpool = crBufferPoolInit(16);
1456 return (HVBOXCRHGSMI_CLIENT) pClient;
1643 PCRVBOXHGSMI_CLIENT pClient = _crVBoxHGSMIClientGet();
1644 _crVBoxHGSMIPollHost(conn, pClient);
1658 PCRVBOXHGSMI_CLIENT pClient = _crVBoxHGSMIClientGet();
1659 _crVBoxHGSMIReceiveMessage(conn, pClient);