service.cpp revision 747ce4a6126dedcc675be3bb927f00239ad2d7a7
1N/A * available from http://www.virtualbox.org. This file is free software;
1N/A * We can't save the OpenGL state, so there's not much to do. Perhaps we should invalidate the client id?
1N/Astatic DECLCALLBACK(int) svcSaveState(void *, uint32_t u32ClientID, void *pvClient, PSSMHANDLE pSSM)
1N/A return VINF_SUCCESS;
1N/Astatic DECLCALLBACK(int) svcLoadState(void *, uint32_t u32ClientID, void *pvClient, PSSMHANDLE pSSM)
return VINF_SUCCESS;
static DECLCALLBACK(void) svcCall (void *, VBOXHGCMCALLHANDLE callHandle, uint32_t u32ClientID, void *pvClient, uint32_t u32Function, uint32_t cParms, VBOXHGCMSVCPARM paParms[])
Log(("svcCall: u32ClientID = %d, fn = %d, cParms = %d, pparms = %d\n", u32ClientID, u32Function, cParms, paParms));
#ifdef DEBUG
uint32_t i;
for (i = 0; i < cParms; i++)
switch (u32Function)
case VBOXOGL_FN_GLGETSTRING:
case VBOXOGL_FN_GLFLUSH:
case VBOXOGL_FN_GLFLUSHPTR:
/* Save the last parameter of the last command in the client structure so the macro can pick it up there */
case VBOXOGL_FN_GLCHECKEXT:
#ifdef RT_OS_WINDOWS
* We differentiate between a function handler for the guest and one for the host. The guest is not allowed to add or remove mappings for obvious security reasons.
static DECLCALLBACK(int) svcHostCall (void *, uint32_t u32Function, uint32_t cParms, VBOXHGCMSVCPARM paParms[])
#ifdef DEBUG
uint32_t i;
for (i = 0; i < cParms; i++)
switch (u32Function)
return rc;
if (!ptable)
Log(("VBoxHGCMSvcLoad: ptable->cbSize = %d, ptable->u32Version = 0x%08X\n", ptable->cbSize, ptable->u32Version));
return rc;