HGCM.h revision 5cf075f1173d07b89c26db295070415dffc6109d
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsync * HGCM - Host-Guest Communication Manager.
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsync * Copyright (C) 2006-2007 Oracle Corporation
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsync * This file is part of VirtualBox Open Source Edition (OSE), as
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsync * available from http://www.virtualbox.org. This file is free software;
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsync * you can redistribute it and/or modify it under the terms of the GNU
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsync * General Public License (GPL) as published by the Free Software
a16eb14ad7a4b5ef91ddc22d3e8e92d930f736fcvboxsync * Foundation, in version 2 as it comes in the "COPYING" file of the
a16eb14ad7a4b5ef91ddc22d3e8e92d930f736fcvboxsync * VirtualBox OSE distribution. VirtualBox OSE is distributed in the
a16eb14ad7a4b5ef91ddc22d3e8e92d930f736fcvboxsync * hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsync/* HGCM saved state version */
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsync/* Handle of a HGCM service extension. */
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsynctypedef struct _HGCMSVCEXTHANDLEDATA *HGCMSVCEXTHANDLE;
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsyncint HGCMHostLoad (const char *pszServiceLibrary, const char *pszServiceName);
b74ca013e5f201a2dd371e6c438433ceac12af30vboxsyncint HGCMHostRegisterServiceExtension (HGCMSVCEXTHANDLE *pHandle, const char *pszServiceName, PFNHGCMSVCEXT pfnExtension, void *pvExtension);
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsyncvoid HGCMHostUnregisterServiceExtension (HGCMSVCEXTHANDLE handle);
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsyncint HGCMGuestConnect (PPDMIHGCMPORT pHGCMPort, PVBOXHGCMCMD pCmdPtr, const char *pszServiceName, uint32_t *pClientID);
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsyncint HGCMGuestDisconnect (PPDMIHGCMPORT pHGCMPort, PVBOXHGCMCMD pCmdPtr, uint32_t clientID);
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsyncint HGCMGuestCall (PPDMIHGCMPORT pHGCMPort, PVBOXHGCMCMD pCmdPtr, uint32_t clientID, uint32_t function, uint32_t cParms, VBOXHGCMSVCPARM *paParms);
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsyncint HGCMHostCall (const char *pszServiceName, uint32_t function, uint32_t cParms, VBOXHGCMSVCPARM aParms[]);
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsyncint HGCMHostSvcHandleCreate (const char *pszServiceName, HGCMCVSHANDLE * phSvc);
d408b82da0773c7e8cd4b3a01cb8a065a2c73a2dvboxsyncint HGCMHostFastCallAsync (HGCMCVSHANDLE hSvc, uint32_t function, PVBOXHGCMSVCPARM pParm, PHGCMHOSTFASTCALLCB pfnCompletion, void *pvCompletion);
614cbe11a7e5588dc8d369e223174b1441a09359vboxsync#endif /* __HGCM_h__ */