Changeset 75500 in vbox for trunk/src/VBox/Main
- Timestamp:
- Nov 16, 2018 1:24:39 AM (6 years ago)
- svn:sync-xref-src-repo-rev:
- 126657
- Location:
- trunk/src/VBox/Main
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Main/include/HGCM.h
r75495 r75500 16 16 */ 17 17 18 #ifndef __ HGCM_h__19 #define __ HGCM_h__18 #ifndef ___HGCM_h_ 19 #define ___HGCM_h_ 20 20 21 21 #include <VBox/cdefs.h> … … 34 34 35 35 RT_C_DECLS_BEGIN 36 int HGCMHostInit 37 int HGCMHostShutdown 36 int HGCMHostInit(void); 37 int HGCMHostShutdown(void); 38 38 39 int HGCMHostReset 39 int HGCMHostReset(void); 40 40 41 int HGCMHostLoad 41 int HGCMHostLoad(const char *pszServiceLibrary, const char *pszServiceName, PUVM pUVM); 42 42 43 int HGCMHostRegisterServiceExtension 44 void HGCMHostUnregisterServiceExtension 43 int HGCMHostRegisterServiceExtension(HGCMSVCEXTHANDLE *pHandle, const char *pszServiceName, PFNHGCMSVCEXT pfnExtension, void *pvExtension); 44 void HGCMHostUnregisterServiceExtension(HGCMSVCEXTHANDLE handle); 45 45 46 int HGCMGuestConnect (PPDMIHGCMPORT pHGCMPort, PVBOXHGCMCMD pCmdPtr, const char *pszServiceName, uint32_t *pClientID); 47 int HGCMGuestDisconnect (PPDMIHGCMPORT pHGCMPort, PVBOXHGCMCMD pCmdPtr, uint32_t clientID); 48 int HGCMGuestCall (PPDMIHGCMPORT pHGCMPort, PVBOXHGCMCMD pCmdPtr, uint32_t clientID, uint32_t function, uint32_t cParms, VBOXHGCMSVCPARM *paParms); 46 int HGCMGuestConnect(PPDMIHGCMPORT pHGCMPort, PVBOXHGCMCMD pCmdPtr, const char *pszServiceName, uint32_t *pClientID); 47 int HGCMGuestDisconnect(PPDMIHGCMPORT pHGCMPort, PVBOXHGCMCMD pCmdPtr, uint32_t clientID); 48 int HGCMGuestCall(PPDMIHGCMPORT pHGCMPort, PVBOXHGCMCMD pCmdPtr, uint32_t clientID, uint32_t function, uint32_t cParms, 49 VBOXHGCMSVCPARM *paParms, uint64_t tsArrival); 49 50 50 int HGCMHostCall 51 int HGCMHostCall(const char *pszServiceName, uint32_t function, uint32_t cParms, VBOXHGCMSVCPARM aParms[]); 51 52 52 53 #ifdef VBOX_WITH_CRHGSMI 53 int HGCMHostSvcHandleCreate (const char *pszServiceName, HGCMCVSHANDLE * phSvc); 54 int HGCMHostSvcHandleDestroy (HGCMCVSHANDLE hSvc); 55 int HGCMHostFastCallAsync (HGCMCVSHANDLE hSvc, uint32_t function, PVBOXHGCMSVCPARM pParm, PHGCMHOSTFASTCALLCB pfnCompletion, void *pvCompletion); 54 int HGCMHostSvcHandleCreate(const char *pszServiceName, HGCMCVSHANDLE * phSvc); 55 int HGCMHostSvcHandleDestroy(HGCMCVSHANDLE hSvc); 56 int HGCMHostFastCallAsync(HGCMCVSHANDLE hSvc, uint32_t function, PVBOXHGCMSVCPARM pParm, 57 PHGCMHOSTFASTCALLCB pfnCompletion, void *pvCompletion); 56 58 #endif 57 59 58 int HGCMHostSaveState 59 int HGCMHostLoadState 60 int HGCMHostSaveState(PSSMHANDLE pSSM); 61 int HGCMHostLoadState(PSSMHANDLE pSSM); 60 62 61 63 RT_C_DECLS_END 62 64 63 #endif /* !__HGCM_h__ */ 65 #endif /* !___HGCM_h_ */ 66 -
trunk/src/VBox/Main/src-client/HGCM.cpp
r75498 r75500 191 191 192 192 int GuestCall(PPDMIHGCMPORT pHGCMPort, PVBOXHGCMCMD pCmd, uint32_t u32ClientId, 193 uint32_t u32Function, uint32_t cParms, VBOXHGCMSVCPARM aParms[] );193 uint32_t u32Function, uint32_t cParms, VBOXHGCMSVCPARM aParms[], uint64_t tsArrival); 194 194 }; 195 195 … … 448 448 449 449 VBOXHGCMSVCPARM *paParms; 450 451 /** The STAM_GET_TS() value when the request arrived. */ 452 uint64_t tsArrival; 450 453 }; 451 454 … … 637 640 pSvc->m_fntable.pfnCall(pSvc->m_fntable.pvService, (VBOXHGCMCALLHANDLE)pMsg, pMsg->u32ClientId, 638 641 HGCM_CLIENT_DATA(pSvc, pClient), pMsg->u32Function, 639 pMsg->cParms, pMsg->paParms );642 pMsg->cParms, pMsg->paParms, pMsg->tsArrival); 640 643 641 644 hgcmObjDereference(pClient); … … 1662 1665 * @param cParms Number of parameters. 1663 1666 * @param paParms Pointer to array of parameters. 1667 * @param tsArrival The STAM_GET_TS() value when the request arrived. 1664 1668 * @return VBox rc. 1665 1669 */ 1666 1670 int HGCMService::GuestCall(PPDMIHGCMPORT pHGCMPort, PVBOXHGCMCMD pCmd, uint32_t u32ClientId, uint32_t u32Function, 1667 uint32_t cParms, VBOXHGCMSVCPARM paParms[] )1671 uint32_t cParms, VBOXHGCMSVCPARM paParms[], uint64_t tsArrival) 1668 1672 { 1669 1673 HGCMMSGHANDLE hMsg = 0; … … 1686 1690 pMsg->cParms = cParms; 1687 1691 pMsg->paParms = paParms; 1692 pMsg->tsArrival = tsArrival; 1688 1693 1689 1694 hgcmObjDereference(pMsg); … … 2462 2467 * @param cParms Number of parameters. 2463 2468 * @param paParms Pointer to array of parameters. 2469 * @param tsArrival The STAM_GET_TS() value when the request arrived. 2464 2470 * @return VBox rc. 2465 2471 */ … … 2469 2475 uint32_t u32Function, 2470 2476 uint32_t cParms, 2471 VBOXHGCMSVCPARM *paParms) 2477 VBOXHGCMSVCPARM *paParms, 2478 uint64_t tsArrival) 2472 2479 { 2473 2480 LogFlowFunc(("pHGCMPort = %p, pCmd = %p, u32ClientId = %d, u32Function = %d, cParms = %d, paParms = %p\n", … … 2489 2496 2490 2497 /* Forward the message to the service thread. */ 2491 rc = pClient->pService->GuestCall(pHGCMPort, pCmd, u32ClientId, u32Function, cParms, paParms );2498 rc = pClient->pService->GuestCall(pHGCMPort, pCmd, u32ClientId, u32Function, cParms, paParms, tsArrival); 2492 2499 2493 2500 hgcmObjDereference(pClient); -
trunk/src/VBox/Main/src-client/VMMDevInterface.cpp
r75495 r75500 642 642 643 643 static DECLCALLBACK(int) iface_hgcmCall(PPDMIHGCMCONNECTOR pInterface, PVBOXHGCMCMD pCmd, uint32_t u32ClientID, 644 uint32_t u32Function, uint32_t cParms, PVBOXHGCMSVCPARM paParms )644 uint32_t u32Function, uint32_t cParms, PVBOXHGCMSVCPARM paParms, uint64_t tsArrival) 645 645 { 646 646 Log9(("Enter\n")); … … 651 651 return VERR_INVALID_STATE; 652 652 653 return HGCMGuestCall(pDrv->pHGCMPort, pCmd, u32ClientID, u32Function, cParms, paParms );653 return HGCMGuestCall(pDrv->pHGCMPort, pCmd, u32ClientID, u32Function, cParms, paParms, tsArrival); 654 654 } 655 655
Note:
See TracChangeset
for help on using the changeset viewer.