- Timestamp:
- Oct 6, 2015 2:42:35 PM (9 years ago)
- svn:sync-xref-src-repo-rev:
- 103107
- Location:
- trunk/src/VBox/Additions/common/VBoxGuest
- Files:
-
- 14 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Additions/common/VBoxGuest/VBoxDev-haiku.c
r57358 r58053 115 115 * Create a new session. 116 116 */ 117 rc = V bgdCommonCreateUserSession(&g_DevExt, &pSession);117 rc = VGDrvCommonCreateUserSession(&g_DevExt, &pSession); 118 118 if (RT_SUCCESS(rc)) 119 119 { … … 174 174 if (VALID_PTR(pSession)) 175 175 { 176 V bgdCommonCloseSession(&g_DevExt, pSession);176 VGDrvCommonCloseSession(&g_DevExt, pSession); 177 177 ASMAtomicDecU32(&cUsers); 178 178 } … … 257 257 */ 258 258 size_t cbDataReturned; 259 rc = V bgdCommonIoCtl(op, &g_DevExt, pSession, pvBuf, len, &cbDataReturned);259 rc = VGDrvCommonIoCtl(op, &g_DevExt, pSession, pvBuf, len, &cbDataReturned); 260 260 if (RT_SUCCESS(rc)) 261 261 { -
trunk/src/VBox/Additions/common/VBoxGuest/VBoxGuest-darwin.cpp
r57358 r58053 561 561 */ 562 562 size_t cbReqRet = 0; 563 int rc = V bgdCommonIoCtl(iCmd, &g_DevExt, pSession, pvReqData, cbReq, &cbReqRet);563 int rc = VGDrvCommonIoCtl(iCmd, &g_DevExt, pSession, pvReqData, cbReq, &cbReqRet); 564 564 if (RT_SUCCESS(rc)) 565 565 { … … 618 618 619 619 620 void V bgdNativeISRMousePollEvent(PVBOXGUESTDEVEXT pDevExt)620 void VGDrvNativeISRMousePollEvent(PVBOXGUESTDEVEXT pDevExt) 621 621 { 622 622 NOREF(pDevExt); … … 726 726 NOREF(pOwner); NOREF(pSrc); NOREF(cInts); 727 727 728 V bgdCommonWaitDoWakeUps(&g_DevExt);728 VGDrvCommonWaitDoWakeUps(&g_DevExt); 729 729 } 730 730 … … 738 738 return false; 739 739 740 bool fTaken = V bgdCommonISR(&g_DevExt);740 bool fTaken = VGDrvCommonISR(&g_DevExt); 741 741 if (!fTaken) /** @todo r=bird: This looks bogus as we might actually be sharing interrupts with someone. */ 742 742 PDEBUG("VbgdCommonISR error\n"); … … 849 849 } 850 850 851 int rc = V bgdCommonInitDevExt(&g_DevExt,852 IOPortBase,853 pvMMIOBase,854 cbMMIO,851 int rc = VGDrvCommonInitDevExt(&g_DevExt, 852 IOPortBase, 853 pvMMIOBase, 854 cbMMIO, 855 855 #if ARCH_BITS == 64 856 VBOXOSTYPE_MacOS_x64,856 VBOXOSTYPE_MacOS_x64, 857 857 #else 858 VBOXOSTYPE_MacOS,858 VBOXOSTYPE_MacOS, 859 859 #endif 860 0);860 0); 861 861 if (RT_SUCCESS(rc)) 862 862 { … … 878 878 LogRel(("VBoxGuest: Failed to initialize character device (rc=%d).\n", rc)); 879 879 880 V bgdCommonDeleteDevExt(&g_DevExt);880 VGDrvCommonDeleteDevExt(&g_DevExt); 881 881 } 882 882 else … … 924 924 925 925 VbgdDarwinCharDevRemove(); 926 V bgdCommonDeleteDevExt(&g_DevExt);926 VGDrvCommonDeleteDevExt(&g_DevExt); 927 927 928 928 if (m_pMap) … … 1021 1021 * Create a new session. 1022 1022 */ 1023 int rc = V bgdCommonCreateUserSession(&g_DevExt, &m_pSession);1023 int rc = VGDrvCommonCreateUserSession(&g_DevExt, &m_pSession); 1024 1024 if (RT_SUCCESS(rc)) 1025 1025 { … … 1059 1059 1060 1060 LogFlow(("org_virtualbox_VBoxGuestClient::start: already got a session for this process (%p)\n", pCur)); 1061 V bgdCommonCloseSession(&g_DevExt, m_pSession);1061 VGDrvCommonCloseSession(&g_DevExt, m_pSession); 1062 1062 } 1063 1063 … … 1135 1135 * Close the session. 1136 1136 */ 1137 V bgdCommonCloseSession(&g_DevExt, pSession);1137 VGDrvCommonCloseSession(&g_DevExt, pSession); 1138 1138 } 1139 1139 -
trunk/src/VBox/Additions/common/VBoxGuest/VBoxGuest-freebsd.c
r54608 r58053 220 220 * Create a new session. 221 221 */ 222 rc = V bgdCommonCreateUserSession(&g_DevExt, &pSession);222 rc = VGDrvCommonCreateUserSession(&g_DevExt, &pSession); 223 223 if (RT_SUCCESS(rc)) 224 224 { … … 230 230 } 231 231 232 V bgdCommonCloseSession(&g_DevExt, pSession);232 VGDrvCommonCloseSession(&g_DevExt, pSession); 233 233 } 234 234 … … 251 251 if (VALID_PTR(pSession)) 252 252 { 253 V bgdCommonCloseSession(&g_DevExt, pSession);253 VGDrvCommonCloseSession(&g_DevExt, pSession); 254 254 if (!ASMAtomicCmpXchgPtr(&pDev->si_drv1, NULL, pSession)) 255 255 Log(("VBoxGuestFreeBSDClose: si_drv1=%p expected %p!\n", pDev->si_drv1, pSession)); … … 332 332 */ 333 333 size_t cbDataReturned; 334 rc = V bgdCommonIoCtl(ulCmd, &g_DevExt, pSession, pvBuf, ReqWrap->cbData, &cbDataReturned);334 rc = VGDrvCommonIoCtl(ulCmd, &g_DevExt, pSession, pvBuf, ReqWrap->cbData, &cbDataReturned); 335 335 if (RT_SUCCESS(rc)) 336 336 { … … 420 420 bus_release_resource(pDevice, SYS_RES_IOPORT, pState->iIOPortResId, pState->pIOPortRes); 421 421 422 V bgdCommonDeleteDevExt(&g_DevExt);422 VGDrvCommonDeleteDevExt(&g_DevExt); 423 423 424 424 RTR0Term(); … … 437 437 LogFlow((DEVICE_NAME ":VBoxGuestFreeBSDISR pvState=%p\n", pvState)); 438 438 439 bool fOurIRQ = V bgdCommonISR(&g_DevExt);439 bool fOurIRQ = VGDrvCommonISR(&g_DevExt); 440 440 441 441 return fOurIRQ ? 0 : 1; 442 442 } 443 443 444 void V bgdNativeISRMousePollEvent(PVBOXGUESTDEVEXT pDevExt)445 { 446 LogFlow((DEVICE_NAME ": :NativeISRMousePollEvent:\n"));444 void VGDrvNativeISRMousePollEvent(PVBOXGUESTDEVEXT pDevExt) 445 { 446 LogFlow((DEVICE_NAME ":VGDrvNativeISRMousePollEvent:\n")); 447 447 448 448 /* … … 546 546 * Call the common device extension initializer. 547 547 */ 548 rc = V bgdCommonInitDevExt(&g_DevExt, pState->uIOPortBase,549 pState->pMMIOBase, pState->VMMDevMemSize,548 rc = VGDrvCommonInitDevExt(&g_DevExt, pState->uIOPortBase, 549 pState->pMMIOBase, pState->VMMDevMemSize, 550 550 #if ARCH_BITS == 64 551 VBOXOSTYPE_FreeBSD_x64,551 VBOXOSTYPE_FreeBSD_x64, 552 552 #else 553 VBOXOSTYPE_FreeBSD,553 VBOXOSTYPE_FreeBSD, 554 554 #endif 555 VMMDEV_EVENT_MOUSE_POSITION_CHANGED);555 VMMDEV_EVENT_MOUSE_POSITION_CHANGED); 556 556 if (RT_SUCCESS(rc)) 557 557 { … … 579 579 else 580 580 printf((DEVICE_NAME ":VbgdCommonInitDevExt failed.\n")); 581 V bgdCommonDeleteDevExt(&g_DevExt);581 VGDrvCommonDeleteDevExt(&g_DevExt); 582 582 } 583 583 else -
trunk/src/VBox/Additions/common/VBoxGuest/VBoxGuest-haiku-stubs.c
r55988 r58053 347 347 return g_VBoxGuest->_RTErrConvertToErrno(iErr); 348 348 } 349 int V bgdCommonIoCtl(unsigned iFunction, PVBOXGUESTDEVEXT pDevExt, PVBOXGUESTSESSION pSession, void *pvData, size_t cbData, size_t *pcbDataReturned)350 { 351 return g_VBoxGuest->_V bgdCommonIoCtl(iFunction, pDevExt, pSession, pvData, cbData, pcbDataReturned);352 } 353 int V bgdCommonCreateUserSession(PVBOXGUESTDEVEXT pDevExt, PVBOXGUESTSESSION *ppSession)354 { 355 return g_VBoxGuest->_V bgdCommonCreateUserSession(pDevExt, ppSession);356 } 357 void V bgdCommonCloseSession(PVBOXGUESTDEVEXT pDevExt, PVBOXGUESTSESSION pSession)358 { 359 g_VBoxGuest->_V bgdCommonCloseSession(pDevExt, pSession);349 int VGDrvCommonIoCtl(unsigned iFunction, PVBOXGUESTDEVEXT pDevExt, PVBOXGUESTSESSION pSession, void *pvData, size_t cbData, size_t *pcbDataReturned) 350 { 351 return g_VBoxGuest->_VGDrvCommonIoCtl(iFunction, pDevExt, pSession, pvData, cbData, pcbDataReturned); 352 } 353 int VGDrvCommonCreateUserSession(PVBOXGUESTDEVEXT pDevExt, PVBOXGUESTSESSION *ppSession) 354 { 355 return g_VBoxGuest->_VGDrvCommonCreateUserSession(pDevExt, ppSession); 356 } 357 void VGDrvCommonCloseSession(PVBOXGUESTDEVEXT pDevExt, PVBOXGUESTSESSION pSession) 358 { 359 g_VBoxGuest->_VGDrvCommonCloseSession(pDevExt, pSession); 360 360 } 361 361 void* VBoxGuestIDCOpen(uint32_t *pu32Version) -
trunk/src/VBox/Additions/common/VBoxGuest/VBoxGuest-haiku.c
r57358 r58053 182 182 RTLogRelGetDefaultInstanceEx, 183 183 RTErrConvertToErrno, 184 V bgdCommonIoCtl,185 V bgdCommonCreateUserSession,186 V bgdCommonCloseSession,184 VGDrvCommonIoCtl, 185 VGDrvCommonCreateUserSession, 186 VGDrvCommonCloseSession, 187 187 VBoxGuestIDCOpen, 188 188 VBoxGuestIDCClose, … … 281 281 delete_area(pState->iVMMDevMemAreaId); 282 282 283 V bgdCommonDeleteDevExt(&g_DevExt);283 VGDrvCommonDeleteDevExt(&g_DevExt); 284 284 285 285 #ifdef DO_LOG … … 307 307 LogFlow((MODULE_NAME ":VBoxGuestHaikuISR pvState=%p\n", pvState)); 308 308 309 bool fOurIRQ = V bgdCommonISR(&g_DevExt);309 bool fOurIRQ = VGDrvCommonISR(&g_DevExt); 310 310 if (fOurIRQ) 311 311 return B_HANDLED_INTERRUPT; … … 314 314 315 315 316 void V bgdNativeISRMousePollEvent(PVBOXGUESTDEVEXT pDevExt)317 { 318 LogFlow((MODULE_NAME ": :NativeISRMousePollEvent:\n"));316 void VGDrvNativeISRMousePollEvent(PVBOXGUESTDEVEXT pDevExt) 317 { 318 LogFlow((MODULE_NAME ":VGDrvNativeISRMousePollEvent:\n")); 319 319 320 320 status_t err = B_OK; … … 449 449 * Call the common device extension initializer. 450 450 */ 451 rc = V bgdCommonInitDevExt(&g_DevExt, pState->uIOPortBase, pState->pMMIOBase, pState->VMMDevMemSize,451 rc = VGDrvCommonInitDevExt(&g_DevExt, pState->uIOPortBase, pState->pMMIOBase, pState->VMMDevMemSize, 452 452 #if ARCH_BITS == 64 453 VBOXOSTYPE_Haiku_x64,453 VBOXOSTYPE_Haiku_x64, 454 454 #else 455 VBOXOSTYPE_Haiku,455 VBOXOSTYPE_Haiku, 456 456 #endif 457 VMMDEV_EVENT_MOUSE_POSITION_CHANGED);457 VMMDEV_EVENT_MOUSE_POSITION_CHANGED); 458 458 if (RT_SUCCESS(rc)) 459 459 { … … 470 470 471 471 LogRel((MODULE_NAME ":VbgdCommonInitDevExt failed.\n")); 472 V bgdCommonDeleteDevExt(&g_DevExt);472 VGDrvCommonDeleteDevExt(&g_DevExt); 473 473 } 474 474 else -
trunk/src/VBox/Additions/common/VBoxGuest/VBoxGuest-haiku.h
r55988 r58053 184 184 PRTLOGGER(*_RTLogRelGetDefaultInstanceEx)(uint32_t fFlagsAndGroup); 185 185 int (*_RTErrConvertToErrno)(int iErr); 186 int (*_V bgdCommonIoCtl)(unsigned iFunction, PVBOXGUESTDEVEXT pDevExt, PVBOXGUESTSESSION pSession,187 188 int (*_V bgdCommonCreateUserSession)(PVBOXGUESTDEVEXT pDevExt, PVBOXGUESTSESSION *ppSession);189 void (*_V bgdCommonCloseSession)(PVBOXGUESTDEVEXT pDevExt, PVBOXGUESTSESSION pSession);186 int (*_VGDrvCommonIoCtl)(unsigned iFunction, PVBOXGUESTDEVEXT pDevExt, PVBOXGUESTSESSION pSession, 187 void *pvData, size_t cbData, size_t *pcbDataReturned); 188 int (*_VGDrvCommonCreateUserSession)(PVBOXGUESTDEVEXT pDevExt, PVBOXGUESTSESSION *ppSession); 189 void (*_VGDrvCommonCloseSession)(PVBOXGUESTDEVEXT pDevExt, PVBOXGUESTSESSION pSession); 190 190 void* (*_VBoxGuestIDCOpen)(uint32_t *pu32Version); 191 191 int (*_VBoxGuestIDCClose)(void *pvSession); -
trunk/src/VBox/Additions/common/VBoxGuest/VBoxGuest-linux.c
r57358 r58053 342 342 #endif 343 343 { 344 bool fTaken = V bgdCommonISR(&g_DevExt);344 bool fTaken = VGDrvCommonISR(&g_DevExt); 345 345 return IRQ_RETVAL(fTaken); 346 346 } … … 387 387 static int vboxguestLinuxSetMouseStatus(uint32_t fStatus) 388 388 { 389 return VbgdCommonIoCtl(VBOXGUEST_IOCTL_SET_MOUSE_STATUS, &g_DevExt, 390 g_pKernelSession, &fStatus, sizeof(fStatus), 391 NULL); 389 return VGDrvCommonIoCtl(VBOXGUEST_IOCTL_SET_MOUSE_STATUS, &g_DevExt, g_pKernelSession, &fStatus, sizeof(fStatus), NULL); 392 390 } 393 391 … … 397 395 static int vboxguestOpenInputDevice(struct input_dev *pDev) 398 396 { 397 int rc= vboxguestLinuxSetMouseStatus(VMMDEV_MOUSE_GUEST_CAN_ABSOLUTE | VMMDEV_MOUSE_NEW_PROTOCOL); 398 if (RT_FAILURE(rc)) 399 return ENODEV; 399 400 NOREF(pDev); 400 if (RT_FAILURE(vboxguestLinuxSetMouseStatus401 ( VMMDEV_MOUSE_GUEST_CAN_ABSOLUTE402 | VMMDEV_MOUSE_NEW_PROTOCOL)))403 return ENODEV;404 401 return 0; 405 402 } … … 596 593 VBOXOSTYPE enmOsType = VBOXOSTYPE_Linux; 597 594 #endif 598 rc = V bgdCommonInitDevExt(&g_DevExt,599 g_IOPortBase,600 g_pvMMIOBase,601 g_cbMMIO,602 enmOSType,603 VMMDEV_EVENT_MOUSE_POSITION_CHANGED);595 rc = VGDrvCommonInitDevExt(&g_DevExt, 596 g_IOPortBase, 597 g_pvMMIOBase, 598 g_cbMMIO, 599 enmOSType, 600 VMMDEV_EVENT_MOUSE_POSITION_CHANGED); 604 601 if (RT_SUCCESS(rc)) 605 602 { … … 607 604 * Create the kernel session for this driver. 608 605 */ 609 rc = VbgdCommonCreateKernelSession(&g_DevExt, 610 &g_pKernelSession); 606 rc = VGDrvCommonCreateKernelSession(&g_DevExt, &g_pKernelSession); 611 607 if (RT_SUCCESS(rc)) 612 608 { … … 643 639 } 644 640 #endif 645 V bgdCommonCloseSession(&g_DevExt, g_pKernelSession);641 VGDrvCommonCloseSession(&g_DevExt, g_pKernelSession); 646 642 } 647 V bgdCommonDeleteDevExt(&g_DevExt);643 VGDrvCommonDeleteDevExt(&g_DevExt); 648 644 } 649 645 else … … 680 676 vboxguestLinuxTermInputDevice(); 681 677 #endif 682 V bgdCommonCloseSession(&g_DevExt, g_pKernelSession);683 V bgdCommonDeleteDevExt(&g_DevExt);678 VGDrvCommonCloseSession(&g_DevExt, g_pKernelSession); 679 VGDrvCommonDeleteDevExt(&g_DevExt); 684 680 vboxguestLinuxTermISR(); 685 681 pci_unregister_driver(&g_PciDriver); … … 706 702 * the file so we can access it in the other methods. 707 703 */ 708 rc = V bgdCommonCreateUserSession(&g_DevExt, &pSession);704 rc = VGDrvCommonCreateUserSession(&g_DevExt, &pSession); 709 705 if (RT_SUCCESS(rc)) 710 706 { … … 737 733 vboxguestFAsync(-1, pFilp, 0); 738 734 #endif 739 V bgdCommonCloseSession(&g_DevExt, (PVBOXGUESTSESSION)pFilp->private_data);735 VGDrvCommonCloseSession(&g_DevExt, (PVBOXGUESTSESSION)pFilp->private_data); 740 736 pFilp->private_data = NULL; 741 737 return 0; … … 788 784 */ 789 785 size_t cbDataReturned; 790 rc = V bgdCommonIoCtl(uCmd, &g_DevExt, pSession, pvBuf, cbData, &cbDataReturned);786 rc = VGDrvCommonIoCtl(uCmd, &g_DevExt, pSession, pvBuf, cbData, &cbDataReturned); 791 787 792 788 /* … … 907 903 908 904 909 void V bgdNativeISRMousePollEvent(PVBOXGUESTDEVEXT pDevExt)905 void VGDrvNativeISRMousePollEvent(PVBOXGUESTDEVEXT pDevExt) 910 906 { 911 907 #ifdef VBOXGUEST_WITH_INPUT_DRIVER … … 918 914 * subscribed to async notifications. 919 915 */ 920 Log3(("V bgdNativeISRMousePollEvent: wake_up_all\n"));916 Log3(("VGDrvNativeISRMousePollEvent: wake_up_all\n")); 921 917 wake_up_all(&g_PollEventQueue); 922 Log3(("V bgdNativeISRMousePollEvent: kill_fasync\n"));918 Log3(("VGDrvNativeISRMousePollEvent: kill_fasync\n")); 923 919 kill_fasync(&g_pFAsyncQueue, SIGIO, POLL_IN); 924 920 #ifdef VBOXGUEST_WITH_INPUT_DRIVER … … 939 935 } 940 936 #endif 941 Log3(("V bgdNativeISRMousePollEvent: done\n"));937 Log3(("VGDrvNativeISRMousePollEvent: done\n")); 942 938 } 943 939 -
trunk/src/VBox/Additions/common/VBoxGuest/VBoxGuest-os2.cpp
r57358 r58053 150 150 */ 151 151 if (g_MemMapMMIO != NIL_RTR0MEMOBJ) 152 rc = V bgdCommonInitDevExt(&g_DevExt, g_IOPortBase,153 RTR0MemObjAddress(g_MemMapMMIO),154 RTR0MemObjSize(g_MemMapMMIO),155 vboxGuestOS2DetectVersion(),156 0);152 rc = VGDrvCommonInitDevExt(&g_DevExt, g_IOPortBase, 153 RTR0MemObjAddress(g_MemMapMMIO), 154 RTR0MemObjSize(g_MemMapMMIO), 155 vboxGuestOS2DetectVersion(), 156 0); 157 157 else 158 rc = V bgdCommonInitDevExt(&g_DevExt, g_IOPortBase, NULL, 0, vboxGuestOS2DetectVersion(), 0);158 rc = VGDrvCommonInitDevExt(&g_DevExt, g_IOPortBase, NULL, 0, vboxGuestOS2DetectVersion(), 0); 159 159 if (RT_SUCCESS(rc)) 160 160 { … … 199 199 else 200 200 g_cchInitText = RTStrPrintf(&g_szInitText[0], g_cchInitTextMax, "VBoxGuest.sys: RTSpinlockCreate failed, rc=%Rrc\n", rc); 201 V bgdCommonDeleteDevExt(&g_DevExt);201 VGDrvCommonDeleteDevExt(&g_DevExt); 202 202 } 203 203 else … … 359 359 * Create a new session. 360 360 */ 361 rc = V bgdCommonCreateUserSession(&g_DevExt, &pSession);361 rc = VGDrvCommonCreateUserSession(&g_DevExt, &pSession); 362 362 if (RT_SUCCESS(rc)) 363 363 { … … 430 430 * Close the session. 431 431 */ 432 V bgdCommonCloseSession(&g_DevExt, pSession);432 VGDrvCommonCloseSession(&g_DevExt, pSession); 433 433 return 0; 434 434 } … … 463 463 * Dispatch the fast IOCtl. 464 464 */ 465 *prc = V bgdCommonIoCtlFast(iFunction, &g_DevExt, pSession);465 *prc = VGDrvCommonIoCtlFast(iFunction, &g_DevExt, pSession); 466 466 return 0; 467 467 } … … 495 495 { 496 496 default: 497 rc = V bgdCommonIoCtl(iFunction, &g_DevExt, pSession, pvData, cbData, pcbDataReturned);497 rc = VGDrvCommonIoCtl(iFunction, &g_DevExt, pSession, pvData, cbData, pcbDataReturned); 498 498 break; 499 499 500 500 case VBOXGUEST_IOCTL_OS2_IDC_DISCONNECT: 501 501 pSession->sfn = 0; 502 V bgdCommonCloseSession(&g_DevExt, pSession);502 VGDrvCommonCloseSession(&g_DevExt, pSession); 503 503 rc = VINF_SUCCESS; 504 504 break; … … 516 516 { 517 517 PVBOXGUESTSESSION pSession; 518 int rc = V bgdCommonCreateKernelSession(&g_DevExt, &pSession);518 int rc = VGDrvCommonCreateKernelSession(&g_DevExt, &pSession); 519 519 if (RT_SUCCESS(rc)) 520 520 { … … 598 598 */ 599 599 size_t cbDataReturned; 600 rc = V bgdCommonIoCtl(iFunction, &g_DevExt, pSession, pvParm, *pcbParm, &cbDataReturned);600 rc = VGDrvCommonIoCtl(iFunction, &g_DevExt, pSession, pvParm, *pcbParm, &cbDataReturned); 601 601 602 602 /* … … 637 637 Log(("VBoxGuestOS2ISR\n")); 638 638 639 return V bgdCommonISR(&g_DevExt);640 } 641 642 643 void V bgdNativeISRMousePollEvent(PVBOXGUESTDEVEXT pDevExt)639 return VGDrvCommonISR(&g_DevExt); 640 } 641 642 643 void VGDrvNativeISRMousePollEvent(PVBOXGUESTDEVEXT pDevExt) 644 644 { 645 645 /* No polling on OS/2 */ -
trunk/src/VBox/Additions/common/VBoxGuest/VBoxGuest-solaris.c
r57605 r58053 331 331 * Call the common device extension initializer. 332 332 */ 333 rc = V bgdCommonInitDevExt(&g_DevExt, g_uIOPortBase, g_pMMIOBase, g_cbMMIO,333 rc = VGDrvCommonInitDevExt(&g_DevExt, g_uIOPortBase, g_pMMIOBase, g_cbMMIO, 334 334 #if ARCH_BITS == 64 335 VBOXOSTYPE_Solaris_x64,335 VBOXOSTYPE_Solaris_x64, 336 336 #else 337 VBOXOSTYPE_Solaris,337 VBOXOSTYPE_Solaris, 338 338 #endif 339 VMMDEV_EVENT_MOUSE_POSITION_CHANGED);339 VMMDEV_EVENT_MOUSE_POSITION_CHANGED); 340 340 if (RT_SUCCESS(rc)) 341 341 { … … 349 349 350 350 LogRel((DEVICE_NAME "::Attach: ddi_create_minor_node failed.\n")); 351 V bgdCommonDeleteDevExt(&g_DevExt);351 VGDrvCommonDeleteDevExt(&g_DevExt); 352 352 } 353 353 else … … 406 406 ddi_regs_map_free(&g_PciMMIOHandle); 407 407 ddi_remove_minor_node(pDip, NULL); 408 V bgdCommonDeleteDevExt(&g_DevExt);408 VGDrvCommonDeleteDevExt(&g_DevExt); 409 409 g_pDip = NULL; 410 410 return DDI_SUCCESS; … … 517 517 * Create a new session. 518 518 */ 519 rc = V bgdCommonCreateUserSession(&g_DevExt, &pSession);519 rc = VGDrvCommonCreateUserSession(&g_DevExt, &pSession); 520 520 if (RT_SUCCESS(rc)) 521 521 { … … 561 561 * Close the session. 562 562 */ 563 V bgdCommonCloseSession(&g_DevExt, pSession);563 VGDrvCommonCloseSession(&g_DevExt, pSession); 564 564 return 0; 565 565 } … … 696 696 */ 697 697 size_t cbDataReturned = 0; 698 rc = V bgdCommonIoCtl(Cmd, &g_DevExt, pSession, pvBuf, ReqWrap.cbData, &cbDataReturned);698 rc = VGDrvCommonIoCtl(Cmd, &g_DevExt, pSession, pvBuf, ReqWrap.cbData, &cbDataReturned); 699 699 if (RT_SUCCESS(rc)) 700 700 { … … 898 898 899 899 mutex_enter(&g_IrqMtx); 900 bool fOurIRQ = V bgdCommonISR(&g_DevExt);900 bool fOurIRQ = VGDrvCommonISR(&g_DevExt); 901 901 mutex_exit(&g_IrqMtx); 902 902 … … 905 905 906 906 907 void V bgdNativeISRMousePollEvent(PVBOXGUESTDEVEXT pDevExt)908 { 909 LogFlow((DEVICE_NAME ":: NativeISRMousePollEvent:\n"));907 void VGDrvNativeISRMousePollEvent(PVBOXGUESTDEVEXT pDevExt) 908 { 909 LogFlow((DEVICE_NAME "::VGDrvNativeISRMousePollEvent:\n")); 910 910 911 911 /* -
trunk/src/VBox/Additions/common/VBoxGuest/VBoxGuest-win-pnp.cpp
r57358 r58053 277 277 278 278 /* Destroy device extension and clean up everything else. */ 279 V bgdCommonDeleteDevExt(&pDevExt->Core);279 VGDrvCommonDeleteDevExt(&pDevExt->Core); 280 280 281 281 /* Remove DOS device + symbolic link. */ … … 468 468 { 469 469 Log(("VBoxGuest::vbgdNtGuestPower: Returning from hibernation!\n")); 470 int rc = V bgdCommonReinitDevExtAfterHibernation(&pDevExt->Core,471 vbgdNtVersionToOSType(g_enmVbgdNtVer));470 int rc = VGDrvCommonReinitDevExtAfterHibernation(&pDevExt->Core, 471 vbgdNtVersionToOSType(g_enmVbgdNtVer)); 472 472 if (RT_FAILURE(rc)) 473 473 Log(("VBoxGuest::vbgdNtGuestPower: Cannot re-init VMMDev chain, rc = %d!\n", rc)); -
trunk/src/VBox/Additions/common/VBoxGuest/VBoxGuest-win.cpp
r57358 r58053 427 427 pvMMIOBase, pDevExt, pDevExt ? pDevExt->Core.pVMMDevMemory : NULL)); 428 428 429 int vrc = V bgdCommonInitDevExt(&pDevExt->Core,430 pDevExt->Core.IOPortBase,431 pvMMIOBase, cbMMIO,432 vbgdNtVersionToOSType(g_enmVbgdNtVer),433 VMMDEV_EVENT_MOUSE_POSITION_CHANGED);429 int vrc = VGDrvCommonInitDevExt(&pDevExt->Core, 430 pDevExt->Core.IOPortBase, 431 pvMMIOBase, cbMMIO, 432 vbgdNtVersionToOSType(g_enmVbgdNtVer), 433 VMMDEV_EVENT_MOUSE_POSITION_CHANGED); 434 434 if (RT_FAILURE(vrc)) 435 435 { … … 516 516 #ifdef VBOX_WITH_HGCM 517 517 LogFunc(("Allocating kernel session data ...\n")); 518 int vrc = V bgdCommonCreateKernelSession(&pDevExt->Core, &pDevExt->pKernelSession);518 int vrc = VGDrvCommonCreateKernelSession(&pDevExt->Core, &pDevExt->pKernelSession); 519 519 if (RT_FAILURE(vrc)) 520 520 { … … 609 609 /* Destroy device extension and clean up everything else. */ 610 610 if (pDrvObj->DeviceObject && pDrvObj->DeviceObject->DeviceExtension) 611 V bgdCommonDeleteDevExt((PVBOXGUESTDEVEXT)pDrvObj->DeviceObject->DeviceExtension);611 VGDrvCommonDeleteDevExt((PVBOXGUESTDEVEXT)pDrvObj->DeviceObject->DeviceExtension); 612 612 613 613 /* … … 674 674 * exists for every R3 process. 675 675 */ 676 vrc = V bgdCommonCreateUserSession(&pDevExt->Core, &pSession);676 vrc = VGDrvCommonCreateUserSession(&pDevExt->Core, &pSession); 677 677 } 678 678 else 679 679 { 680 680 /* ... otherwise we've been called from R0! */ 681 vrc = V bgdCommonCreateKernelSession(&pDevExt->Core, &pSession);681 vrc = VGDrvCommonCreateKernelSession(&pDevExt->Core, &pSession); 682 682 } 683 683 if (RT_SUCCESS(vrc)) … … 716 716 PVBOXGUESTSESSION pSession = (PVBOXGUESTSESSION)pFileObj->FsContext; 717 717 if (pSession) 718 V bgdCommonCloseSession(&pDevExt->Core, pSession);718 VGDrvCommonCloseSession(&pDevExt->Core, pSession); 719 719 #endif 720 720 … … 774 774 */ 775 775 size_t cbDataReturned; 776 int vrc = V bgdCommonIoCtl(uCmd, &pDevExt->Core, pSession, pBuf, cbData, &cbDataReturned);776 int vrc = VGDrvCommonIoCtl(uCmd, &pDevExt->Core, pSession, pBuf, cbData, &cbDataReturned); 777 777 778 778 LogFlowFunc(("rc=%Rrc, pBuf=0x%p, cbData=%u, cbDataReturned=%u\n", … … 977 977 /* Process the wake-up list we were asked by the scheduling a DPC 978 978 * in vbgdNtIsrHandler(). */ 979 V bgdCommonWaitDoWakeUps(&pDevExt->Core);979 VGDrvCommonWaitDoWakeUps(&pDevExt->Core); 980 980 } 981 981 … … 997 997 998 998 /* Enter the common ISR routine and do the actual work. */ 999 BOOLEAN fIRQTaken = V bgdCommonISR(&pDevExt->Core);999 BOOLEAN fIRQTaken = VGDrvCommonISR(&pDevExt->Core); 1000 1000 1001 1001 /* If we need to wake up some events we do that in a DPC to make … … 1020 1020 * @param pDevExt Device extension structure. 1021 1021 */ 1022 void V bgdNativeISRMousePollEvent(PVBOXGUESTDEVEXT pDevExt)1022 void VGDrvNativeISRMousePollEvent(PVBOXGUESTDEVEXT pDevExt) 1023 1023 { 1024 1024 NOREF(pDevExt); … … 1481 1481 * @returns VBox status code. 1482 1482 */ 1483 int V bgdNtIOCtl_DpcLatencyChecker(void)1483 int VGDrvNtIOCtl_DpcLatencyChecker(void) 1484 1484 { 1485 1485 /* -
trunk/src/VBox/Additions/common/VBoxGuest/VBoxGuest.cpp
r57358 r58053 23 23 * You may elect to license modified versions of this file under the 24 24 * terms and conditions of either the GPL or the CDDL or both. 25 */ 26 27 /** @page pg_vbdrv VBoxGuest 28 * 29 * VBoxGuest is the device driver for VMMDev. 30 * 31 * The device driver is shipped as part of the guest additions. It has roots in 32 * the host VMM support driver (usually known as VBoxDrv), so fixes in platform 33 * specific code may apply to both drivers. 34 * 35 * The common code lives in VBoxGuest.cpp and is compiled both as C++ and C. 36 * The VBoxGuest.cpp source file shall not contain platform specific code, 37 * though it must occationally do a few \#ifdef RT_OS_XXX tests to cater for 38 * platform differences. Though, in those cases, it is common that more than 39 * one platform needs special handling. 40 * 41 * On most platforms the device driver should create two device nodes, one for 42 * full (unrestricted) access to the feature set, and one which only provides a 43 * restrict set of functions. These are generally referred to as 'vboxguest' 44 * and 'vboxuser' respectively. Currently, this two device approach is only 45 * implemented on Linux! 46 * 25 47 */ 26 48 … … 70 92 *********************************************************************************************************************************/ 71 93 #ifdef VBOX_WITH_HGCM 72 static DECLCALLBACK(int) v bgdHgcmAsyncWaitCallback(VMMDevHGCMRequestHeader *pHdrNonVolatile, void *pvUser, uint32_t u32User);94 static DECLCALLBACK(int) vgdrvHgcmAsyncWaitCallback(VMMDevHGCMRequestHeader *pHdrNonVolatile, void *pvUser, uint32_t u32User); 73 95 #endif 74 static int v bgdIoCtl_CancelAllWaitEvents(PVBOXGUESTDEVEXT pDevExt, PVBOXGUESTSESSION pSession);75 static void v bgdBitUsageTrackerClear(PVBOXGUESTBITUSAGETRACER pTracker);76 static uint32_t v bgdGetAllowedEventMaskForSession(PVBOXGUESTDEVEXT pDevExt, PVBOXGUESTSESSION pSession);77 static int v bgdResetEventFilterOnHost(PVBOXGUESTDEVEXT pDevExt, uint32_t fFixedEvents);78 static int v bgdResetMouseStatusOnHost(PVBOXGUESTDEVEXT pDevExt);79 static int v bgdResetCapabilitiesOnHost(PVBOXGUESTDEVEXT pDevExt);80 static int v bgdSetSessionEventFilter(PVBOXGUESTDEVEXT pDevExt, PVBOXGUESTSESSION pSession,81 uint32_t fOrMask, uint32_t fNotMask, bool fSessionTermination);82 static int v bgdSetSessionMouseStatus(PVBOXGUESTDEVEXT pDevExt, PVBOXGUESTSESSION pSession,83 uint32_t fOrMask, uint32_t fNotMask, bool fSessionTermination);84 static int v bgdSetSessionCapabilities(PVBOXGUESTDEVEXT pDevExt, PVBOXGUESTSESSION pSession,85 uint32_t fOrMask, uint32_t fNoMask, bool fSessionTermination);86 static int v bgdAcquireSessionCapabilities(PVBOXGUESTDEVEXT pDevExt, PVBOXGUESTSESSION pSession, uint32_t fOrMask,87 uint32_t fNotMask, VBOXGUESTCAPSACQUIRE_FLAGS enmFlags, bool fSessionTermination);88 static int v bgdDispatchEventsLocked(PVBOXGUESTDEVEXT pDevExt, uint32_t fEvents);96 static int vgdrvIoCtl_CancelAllWaitEvents(PVBOXGUESTDEVEXT pDevExt, PVBOXGUESTSESSION pSession); 97 static void vgdrvBitUsageTrackerClear(PVBOXGUESTBITUSAGETRACER pTracker); 98 static uint32_t vgdrvGetAllowedEventMaskForSession(PVBOXGUESTDEVEXT pDevExt, PVBOXGUESTSESSION pSession); 99 static int vgdrvResetEventFilterOnHost(PVBOXGUESTDEVEXT pDevExt, uint32_t fFixedEvents); 100 static int vgdrvResetMouseStatusOnHost(PVBOXGUESTDEVEXT pDevExt); 101 static int vgdrvResetCapabilitiesOnHost(PVBOXGUESTDEVEXT pDevExt); 102 static int vgdrvSetSessionEventFilter(PVBOXGUESTDEVEXT pDevExt, PVBOXGUESTSESSION pSession, 103 uint32_t fOrMask, uint32_t fNotMask, bool fSessionTermination); 104 static int vgdrvSetSessionMouseStatus(PVBOXGUESTDEVEXT pDevExt, PVBOXGUESTSESSION pSession, 105 uint32_t fOrMask, uint32_t fNotMask, bool fSessionTermination); 106 static int vgdrvSetSessionCapabilities(PVBOXGUESTDEVEXT pDevExt, PVBOXGUESTSESSION pSession, 107 uint32_t fOrMask, uint32_t fNoMask, bool fSessionTermination); 108 static int vgdrvAcquireSessionCapabilities(PVBOXGUESTDEVEXT pDevExt, PVBOXGUESTSESSION pSession, uint32_t fOrMask, 109 uint32_t fNotMask, VBOXGUESTCAPSACQUIRE_FLAGS enmFlags, bool fSessionTermination); 110 static int vgdrvDispatchEventsLocked(PVBOXGUESTDEVEXT pDevExt, uint32_t fEvents); 89 111 90 112 … … 128 150 * @param pDevExt The device extension. 129 151 */ 130 static int v bgdInitFixateGuestMappings(PVBOXGUESTDEVEXT pDevExt)152 static int vgdrvInitFixateGuestMappings(PVBOXGUESTDEVEXT pDevExt) 131 153 { 132 154 /* … … 151 173 */ 152 174 if (pReq->hypervisorSize == 0) 153 Log(("v bgdInitFixateGuestMappings: nothing to do\n"));175 Log(("vgdrvInitFixateGuestMappings: nothing to do\n")); 154 176 else 155 177 { … … 163 185 uint32_t iTry; 164 186 bool fBitched = false; 165 Log(("v bgdInitFixateGuestMappings: cbHypervisor=%#x\n", cbHypervisor));187 Log(("vgdrvInitFixateGuestMappings: cbHypervisor=%#x\n", cbHypervisor)); 166 188 for (iTry = 0; iTry < RT_ELEMENTS(ahTries); iTry++) 167 189 { … … 258 280 259 281 /** 260 * Undo what v bgdInitFixateGuestMappings did.282 * Undo what vgdrvInitFixateGuestMappings did. 261 283 * 262 284 * @param pDevExt The device extension. 263 285 */ 264 static void v bgdTermUnfixGuestMappings(PVBOXGUESTDEVEXT pDevExt)286 static void vgdrvTermUnfixGuestMappings(PVBOXGUESTDEVEXT pDevExt) 265 287 { 266 288 if (pDevExt->hGuestMappings != NIL_RTR0PTR) … … 285 307 } 286 308 else 287 LogRel(("v bgdTermUnfixGuestMappings: Failed to unfix the guest mappings! rc=%Rrc\n", rc));309 LogRel(("vgdrvTermUnfixGuestMappings: Failed to unfix the guest mappings! rc=%Rrc\n", rc)); 288 310 289 311 pDevExt->hGuestMappings = NIL_RTR0MEMOBJ; … … 299 321 * @param enmOSType The OS type to report. 300 322 */ 301 static int v bgdReportGuestInfo(VBOXOSTYPE enmOSType)323 static int vgdrvReportGuestInfo(VBOXOSTYPE enmOSType) 302 324 { 303 325 /* … … 307 329 VMMDevReportGuestInfo *pReqInfo1 = NULL; 308 330 int rc = VbglGRAlloc((VMMDevRequestHeader **)&pReqInfo2, sizeof (VMMDevReportGuestInfo2), VMMDevReq_ReportGuestInfo2); 309 Log(("v bgdReportGuestInfo: VbglGRAlloc VMMDevReportGuestInfo2 completed with rc=%Rrc\n", rc));331 Log(("vgdrvReportGuestInfo: VbglGRAlloc VMMDevReportGuestInfo2 completed with rc=%Rrc\n", rc)); 310 332 if (RT_SUCCESS(rc)) 311 333 { … … 318 340 319 341 rc = VbglGRAlloc((VMMDevRequestHeader **)&pReqInfo1, sizeof (VMMDevReportGuestInfo), VMMDevReq_ReportGuestInfo); 320 Log(("v bgdReportGuestInfo: VbglGRAlloc VMMDevReportGuestInfo completed with rc=%Rrc\n", rc));342 Log(("vgdrvReportGuestInfo: VbglGRAlloc VMMDevReportGuestInfo completed with rc=%Rrc\n", rc)); 321 343 if (RT_SUCCESS(rc)) 322 344 { … … 333 355 */ 334 356 rc = VbglGRPerform(&pReqInfo2->header); 335 Log(("v bgdReportGuestInfo: VbglGRPerform VMMDevReportGuestInfo2 completed with rc=%Rrc\n", rc));357 Log(("vgdrvReportGuestInfo: VbglGRPerform VMMDevReportGuestInfo2 completed with rc=%Rrc\n", rc)); 336 358 if (RT_SUCCESS(rc)) 337 359 { 338 360 rc = VbglGRPerform(&pReqInfo1->header); 339 Log(("v bgdReportGuestInfo: VbglGRPerform VMMDevReportGuestInfo completed with rc=%Rrc\n", rc));361 Log(("vgdrvReportGuestInfo: VbglGRPerform VMMDevReportGuestInfo completed with rc=%Rrc\n", rc)); 340 362 } 341 363 else if ( rc == VERR_NOT_SUPPORTED … … 343 365 { 344 366 rc = VbglGRPerform(&pReqInfo1->header); 345 Log(("v bgdReportGuestInfo: VbglGRPerform VMMDevReportGuestInfo completed with rc=%Rrc\n", rc));367 Log(("vgdrvReportGuestInfo: VbglGRPerform VMMDevReportGuestInfo completed with rc=%Rrc\n", rc)); 346 368 if (RT_SUCCESS(rc)) 347 369 { 348 370 rc = VbglGRPerform(&pReqInfo2->header); 349 Log(("v bgdReportGuestInfo: VbglGRPerform VMMDevReportGuestInfo2 completed with rc=%Rrc\n", rc));371 Log(("vgdrvReportGuestInfo: VbglGRPerform VMMDevReportGuestInfo2 completed with rc=%Rrc\n", rc)); 350 372 if (rc == VERR_NOT_IMPLEMENTED) 351 373 rc = VINF_SUCCESS; … … 367 389 * @param fActive Flag whether the driver is now active or not. 368 390 */ 369 static int v bgdReportDriverStatus(bool fActive)391 static int vgdrvReportDriverStatus(bool fActive) 370 392 { 371 393 /* … … 374 396 VMMDevReportGuestStatus *pReq2 = NULL; 375 397 int rc = VbglGRAlloc((VMMDevRequestHeader **)&pReq2, sizeof(*pReq2), VMMDevReq_ReportGuestStatus); 376 Log(("v bgdReportDriverStatus: VbglGRAlloc VMMDevReportGuestStatus completed with rc=%Rrc\n", rc));398 Log(("vgdrvReportDriverStatus: VbglGRAlloc VMMDevReportGuestStatus completed with rc=%Rrc\n", rc)); 377 399 if (RT_SUCCESS(rc)) 378 400 { … … 383 405 pReq2->guestStatus.flags = 0; 384 406 rc = VbglGRPerform(&pReq2->header); 385 Log(("v bgdReportDriverStatus: VbglGRPerform VMMDevReportGuestStatus completed with fActive=%d, rc=%Rrc\n",407 Log(("vgdrvReportDriverStatus: VbglGRPerform VMMDevReportGuestStatus completed with fActive=%d, rc=%Rrc\n", 386 408 fActive ? 1 : 0, rc)); 387 409 if (rc == VERR_NOT_IMPLEMENTED) /* Compatibility with older hosts. */ … … 407 429 * @param pReq The pre-allocated request for performing the VMMDev call. 408 430 */ 409 static int v bgdBalloonInflate(PRTR0MEMOBJ pMemObj, VMMDevChangeMemBalloon *pReq)431 static int vgdrvBalloonInflate(PRTR0MEMOBJ pMemObj, VMMDevChangeMemBalloon *pReq) 410 432 { 411 433 uint32_t iPage; … … 424 446 rc = VbglGRPerform(&pReq->header); 425 447 if (RT_FAILURE(rc)) 426 LogRel(("v bgdBalloonInflate: VbglGRPerform failed. rc=%Rrc\n", rc));448 LogRel(("vgdrvBalloonInflate: VbglGRPerform failed. rc=%Rrc\n", rc)); 427 449 return rc; 428 450 } … … 439 461 * @param pReq The pre-allocated request for performing the VMMDev call. 440 462 */ 441 static int v bgdBalloonDeflate(PRTR0MEMOBJ pMemObj, VMMDevChangeMemBalloon *pReq)463 static int vgdrvBalloonDeflate(PRTR0MEMOBJ pMemObj, VMMDevChangeMemBalloon *pReq) 442 464 { 443 465 uint32_t iPage; … … 457 479 if (RT_FAILURE(rc)) 458 480 { 459 LogRel(("v bgdBalloonDeflate: VbglGRPerform failed. rc=%Rrc\n", rc));481 LogRel(("vgdrvBalloonDeflate: VbglGRPerform failed. rc=%Rrc\n", rc)); 460 482 return rc; 461 483 } … … 464 486 if (RT_FAILURE(rc)) 465 487 { 466 LogRel(("v bgdBalloonDeflate: RTR0MemObjFree(%p,true) -> %Rrc; this is *BAD*!\n", *pMemObj, rc));488 LogRel(("vgdrvBalloonDeflate: RTR0MemObjFree(%p,true) -> %Rrc; this is *BAD*!\n", *pMemObj, rc)); 467 489 return rc; 468 490 } … … 476 498 * Inflate/deflate the memory balloon and notify the host. 477 499 * 478 * This is a worker used by v bgdIoCtl_CheckMemoryBalloon - it takes the mutex.500 * This is a worker used by vgdrvIoCtl_CheckMemoryBalloon - it takes the mutex. 479 501 * 480 502 * @returns VBox status code. … … 485 507 * (VINF_SUCCESS if set). 486 508 */ 487 static int v bgdSetBalloonSizeKernel(PVBOXGUESTDEVEXT pDevExt, uint32_t cBalloonChunks, uint32_t *pfHandleInR3)509 static int vgdrvSetBalloonSizeKernel(PVBOXGUESTDEVEXT pDevExt, uint32_t cBalloonChunks, uint32_t *pfHandleInR3) 488 510 { 489 511 int rc = VINF_SUCCESS; … … 496 518 if (cBalloonChunks > pDevExt->MemBalloon.cMaxChunks) 497 519 { 498 LogRel(("v bgdSetBalloonSizeKernel: illegal balloon size %u (max=%u)\n",520 LogRel(("vgdrvSetBalloonSizeKernel: illegal balloon size %u (max=%u)\n", 499 521 cBalloonChunks, pDevExt->MemBalloon.cMaxChunks)); 500 522 return VERR_INVALID_PARAMETER; … … 510 532 if (!pDevExt->MemBalloon.paMemObj) 511 533 { 512 LogRel(("v bgdSetBalloonSizeKernel: no memory for paMemObj!\n"));534 LogRel(("vgdrvSetBalloonSizeKernel: no memory for paMemObj!\n")); 513 535 return VERR_NO_MEMORY; 514 536 } … … 542 564 } 543 565 544 rc = v bgdBalloonInflate(&pDevExt->MemBalloon.paMemObj[i], pReq);566 rc = vgdrvBalloonInflate(&pDevExt->MemBalloon.paMemObj[i], pReq); 545 567 if (RT_FAILURE(rc)) 546 568 { … … 558 580 for (i = pDevExt->MemBalloon.cChunks; i-- > cBalloonChunks;) 559 581 { 560 rc = v bgdBalloonDeflate(&pDevExt->MemBalloon.paMemObj[i], pReq);582 rc = vgdrvBalloonDeflate(&pDevExt->MemBalloon.paMemObj[i], pReq); 561 583 if (RT_FAILURE(rc)) 562 584 { … … 584 606 * Inflate/deflate the balloon by one chunk. 585 607 * 586 * Worker for v bgdIoCtl_ChangeMemoryBalloon - it takes the mutex.608 * Worker for vgdrvIoCtl_ChangeMemoryBalloon - it takes the mutex. 587 609 * 588 610 * @returns VBox status code. … … 593 615 * @param fInflate Inflate if true, deflate if false. 594 616 */ 595 static int v bgdSetBalloonSizeFromUser(PVBOXGUESTDEVEXT pDevExt, PVBOXGUESTSESSION pSession, uint64_t u64ChunkAddr, bool fInflate)617 static int vgdrvSetBalloonSizeFromUser(PVBOXGUESTDEVEXT pDevExt, PVBOXGUESTSESSION pSession, uint64_t u64ChunkAddr, bool fInflate) 596 618 { 597 619 VMMDevChangeMemBalloon *pReq; … … 673 695 if (RT_SUCCESS(rc)) 674 696 { 675 rc = v bgdBalloonInflate(pMemObj, pReq);697 rc = vgdrvBalloonInflate(pMemObj, pReq); 676 698 if (RT_SUCCESS(rc)) 677 699 pDevExt->MemBalloon.cChunks++; … … 686 708 else 687 709 { 688 rc = v bgdBalloonDeflate(pMemObj, pReq);710 rc = vgdrvBalloonDeflate(pMemObj, pReq); 689 711 if (RT_SUCCESS(rc)) 690 712 pDevExt->MemBalloon.cChunks--; … … 707 729 * @param pDevExt The session. Can be NULL at unload. 708 730 */ 709 static void v bgdCloseMemBalloon(PVBOXGUESTDEVEXT pDevExt, PVBOXGUESTSESSION pSession)731 static void vgdrvCloseMemBalloon(PVBOXGUESTDEVEXT pDevExt, PVBOXGUESTSESSION pSession) 710 732 { 711 733 RTSemFastMutexRequest(pDevExt->MemBalloon.hMtx); … … 722 744 for (i = pDevExt->MemBalloon.cChunks; i-- > 0;) 723 745 { 724 rc = v bgdBalloonDeflate(&pDevExt->MemBalloon.paMemObj[i], pReq);746 rc = vgdrvBalloonDeflate(&pDevExt->MemBalloon.paMemObj[i], pReq); 725 747 if (RT_FAILURE(rc)) 726 748 { 727 LogRel(("v bgdCloseMemBalloon: Deflate failed with rc=%Rrc. Will leak %u chunks.\n",749 LogRel(("vgdrvCloseMemBalloon: Deflate failed with rc=%Rrc. Will leak %u chunks.\n", 728 750 rc, pDevExt->MemBalloon.cChunks)); 729 751 break; … … 735 757 } 736 758 else 737 LogRel(("v bgdCloseMemBalloon: Failed to allocate VMMDev request buffer (rc=%Rrc). Will leak %u chunks.\n",759 LogRel(("vgdrvCloseMemBalloon: Failed to allocate VMMDev request buffer (rc=%Rrc). Will leak %u chunks.\n", 738 760 rc, pDevExt->MemBalloon.cChunks)); 739 761 RTMemFree(pDevExt->MemBalloon.paMemObj); … … 759 781 * @returns VBox status code. 760 782 */ 761 static int v bgdHeartbeatSend(PVBOXGUESTDEVEXT pDevExt)783 static int vgdrvHeartbeatSend(PVBOXGUESTDEVEXT pDevExt) 762 784 { 763 785 int rc; … … 765 787 { 766 788 rc = VbglGRPerform(pDevExt->pReqGuestHeartbeat); 767 Log(("v bgdHeartbeatSend: VbglGRPerform vbgdHeartbeatSend completed with rc=%Rrc\n", rc));789 Log(("vgdrvHeartbeatSend: VbglGRPerform vgdrvHeartbeatSend completed with rc=%Rrc\n", rc)); 768 790 } 769 791 else … … 776 798 * Callback for heartbeat timer. 777 799 */ 778 static DECLCALLBACK(void) v bgdHeartbeatTimerHandler(PRTTIMER hTimer, void *pvUser, uint64_t iTick)800 static DECLCALLBACK(void) vgdrvHeartbeatTimerHandler(PRTTIMER hTimer, void *pvUser, uint64_t iTick) 779 801 { 780 802 PVBOXGUESTDEVEXT pDevExt = (PVBOXGUESTDEVEXT)pvUser; … … 782 804 AssertReturnVoid(pDevExt); 783 805 784 rc = v bgdHeartbeatSend(pDevExt);806 rc = vgdrvHeartbeatSend(pDevExt); 785 807 if (RT_FAILURE(rc)) 786 Log(("HB Timer: v bgdHeartbeatSend failed: rc=%Rrc\n", rc));808 Log(("HB Timer: vgdrvHeartbeatSend failed: rc=%Rrc\n", rc)); 787 809 788 810 NOREF(hTimer); NOREF(iTick); … … 798 820 * @param fEnabled Set true to enable guest heartbeat checks on host. 799 821 */ 800 static int v bgdHeartbeatHostConfigure(PVBOXGUESTDEVEXT pDevExt, bool fEnabled)822 static int vgdrvHeartbeatHostConfigure(PVBOXGUESTDEVEXT pDevExt, bool fEnabled) 801 823 { 802 824 VMMDevReqHeartbeat *pReq; 803 825 int rc = VbglGRAlloc((VMMDevRequestHeader **)&pReq, sizeof(*pReq), VMMDevReq_HeartbeatConfigure); 804 Log(("v bgdHeartbeatHostConfigure: VbglGRAlloc vbgdHeartbeatHostConfigure completed with rc=%Rrc\n", rc));826 Log(("vgdrvHeartbeatHostConfigure: VbglGRAlloc vgdrvHeartbeatHostConfigure completed with rc=%Rrc\n", rc)); 805 827 if (RT_SUCCESS(rc)) 806 828 { … … 808 830 pReq->cNsInterval = 0; 809 831 rc = VbglGRPerform(&pReq->header); 810 Log(("v bgdHeartbeatHostConfigure: VbglGRPerform vbgdHeartbeatHostConfigure completed with rc=%Rrc\n", rc));832 Log(("vgdrvHeartbeatHostConfigure: VbglGRPerform vgdrvHeartbeatHostConfigure completed with rc=%Rrc\n", rc)); 811 833 pDevExt->cNsHeartbeatInterval = pReq->cNsInterval; 812 834 VbglGRFree(&pReq->header); … … 824 846 * @param pDevExt The device extension. 825 847 */ 826 static int v bgdHeartbeatInit(PVBOXGUESTDEVEXT pDevExt)848 static int vgdrvHeartbeatInit(PVBOXGUESTDEVEXT pDevExt) 827 849 { 828 850 /* 829 851 * Make sure that heartbeat checking is disabled. 830 852 */ 831 int rc = v bgdHeartbeatHostConfigure(pDevExt, false);853 int rc = vgdrvHeartbeatHostConfigure(pDevExt, false); 832 854 if (RT_SUCCESS(rc)) 833 855 { 834 rc = v bgdHeartbeatHostConfigure(pDevExt, true);856 rc = vgdrvHeartbeatHostConfigure(pDevExt, true); 835 857 if (RT_SUCCESS(rc)) 836 858 { … … 844 866 if (RT_SUCCESS(rc)) 845 867 { 846 LogRel((" VbgdCommonInitDevExt: Setting up heartbeat to trigger every %RU64 milliseconds\n",868 LogRel(("vgdrvHeartbeatInit: Setting up heartbeat to trigger every %RU64 milliseconds\n", 847 869 pDevExt->cNsHeartbeatInterval / RT_NS_1MS)); 848 870 rc = RTTimerCreateEx(&pDevExt->pHeartbeatTimer, pDevExt->cNsHeartbeatInterval, 0 /*fFlags*/, 849 (PFNRTTIMER)v bgdHeartbeatTimerHandler, pDevExt);871 (PFNRTTIMER)vgdrvHeartbeatTimerHandler, pDevExt); 850 872 if (RT_SUCCESS(rc)) 851 873 { … … 854 876 return VINF_SUCCESS; 855 877 856 LogRel((" VbgdCommonInitDevExt: Heartbeat timer failed to start, rc=%Rrc\n", rc));878 LogRel(("vgdrvHeartbeatInit: Heartbeat timer failed to start, rc=%Rrc\n", rc)); 857 879 } 858 880 else 859 LogRel((" VbgdCommonInitDevExt: Failed to create heartbeat timer: %Rrc\n", rc));881 LogRel(("vgdrvHeartbeatInit: Failed to create heartbeat timer: %Rrc\n", rc)); 860 882 861 883 VbglGRFree(pDevExt->pReqGuestHeartbeat); … … 863 885 } 864 886 else 865 LogRel((" VbgdCommonInitDevExt: VbglGRAlloc(VMMDevReq_GuestHeartbeat): %Rrc\n", rc));866 867 LogRel((" VbgdCommonInitDevExt: Failed to set up the timer, guest heartbeat is disabled\n"));868 v bgdHeartbeatHostConfigure(pDevExt, false);887 LogRel(("vgdrvHeartbeatInit: VbglGRAlloc(VMMDevReq_GuestHeartbeat): %Rrc\n", rc)); 888 889 LogRel(("vgdrvHeartbeatInit: Failed to set up the timer, guest heartbeat is disabled\n")); 890 vgdrvHeartbeatHostConfigure(pDevExt, false); 869 891 } 870 892 else 871 LogRel((" VbgdCommonInitDevExt: Failed to configure host for heartbeat checking: rc=%Rrc\n", rc));893 LogRel(("vgdrvHeartbeatInit: Failed to configure host for heartbeat checking: rc=%Rrc\n", rc)); 872 894 } 873 895 return rc; … … 886 908 * @todo Call this on all platforms, not just windows. 887 909 */ 888 int V bgdCommonReinitDevExtAfterHibernation(PVBOXGUESTDEVEXT pDevExt, VBOXOSTYPE enmOSType)889 { 890 int rc = v bgdReportGuestInfo(enmOSType);910 int VGDrvCommonReinitDevExtAfterHibernation(PVBOXGUESTDEVEXT pDevExt, VBOXOSTYPE enmOSType) 911 { 912 int rc = vgdrvReportGuestInfo(enmOSType); 891 913 if (RT_SUCCESS(rc)) 892 914 { 893 rc = v bgdReportDriverStatus(true /* Driver is active */);915 rc = vgdrvReportDriverStatus(true /* Driver is active */); 894 916 if (RT_FAILURE(rc)) 895 Log(("V bgdCommonReinitDevExtAfterHibernation: could not report guest driver status, rc=%Rrc\n", rc));917 Log(("VGDrvCommonReinitDevExtAfterHibernation: could not report guest driver status, rc=%Rrc\n", rc)); 896 918 } 897 919 else 898 Log(("V bgdCommonReinitDevExtAfterHibernation: could not report guest information to host, rc=%Rrc\n", rc));899 LogFlow(("V bgdCommonReinitDevExtAfterHibernation: returned with rc=%Rrc\n", rc));920 Log(("VGDrvCommonReinitDevExtAfterHibernation: could not report guest information to host, rc=%Rrc\n", rc)); 921 LogFlow(("VGDrvCommonReinitDevExtAfterHibernation: returned with rc=%Rrc\n", rc)); 900 922 return rc; 901 923 } … … 923 945 * will ever be allowed to mask. 924 946 */ 925 int V bgdCommonInitDevExt(PVBOXGUESTDEVEXT pDevExt, uint16_t IOPortBase,926 void *pvMMIOBase, uint32_t cbMMIO, VBOXOSTYPE enmOSType, uint32_t fFixedEvents)947 int VGDrvCommonInitDevExt(PVBOXGUESTDEVEXT pDevExt, uint16_t IOPortBase, 948 void *pvMMIOBase, uint32_t cbMMIO, VBOXOSTYPE enmOSType, uint32_t fFixedEvents) 927 949 { 928 950 int rc, rc2; … … 984 1006 985 1007 pDevExt->fFixedEvents = fFixedEvents; 986 v bgdBitUsageTrackerClear(&pDevExt->EventFilterTracker);1008 vgdrvBitUsageTrackerClear(&pDevExt->EventFilterTracker); 987 1009 pDevExt->fEventFilterHost = UINT32_MAX; /* forces a report */ 988 1010 989 v bgdBitUsageTrackerClear(&pDevExt->MouseStatusTracker);1011 vgdrvBitUsageTrackerClear(&pDevExt->MouseStatusTracker); 990 1012 pDevExt->fMouseStatusHost = UINT32_MAX; /* forces a report */ 991 1013 … … 993 1015 pDevExt->fSetModeGuestCaps = 0; 994 1016 pDevExt->fAcquiredGuestCaps = 0; 995 v bgdBitUsageTrackerClear(&pDevExt->SetGuestCapsTracker);1017 vgdrvBitUsageTrackerClear(&pDevExt->SetGuestCapsTracker); 996 1018 pDevExt->fGuestCapsHost = UINT32_MAX; /* forces a report */ 997 1019 … … 1008 1030 { 1009 1031 pDevExt->pVMMDevMemory = pVMMDev; 1010 Log(("V bgdCommonInitDevExt: VMMDevMemory: mapping=%p size=%#RX32 (%#RX32) version=%#RX32\n",1032 Log(("VGDrvCommonInitDevExt: VMMDevMemory: mapping=%p size=%#RX32 (%#RX32) version=%#RX32\n", 1011 1033 pVMMDev, pVMMDev->u32Size, cbMMIO, pVMMDev->u32Version)); 1012 1034 } 1013 1035 else /* try live without it. */ 1014 LogRel(("V bgdCommonInitDevExt: Bogus VMMDev memory; u32Version=%RX32 (expected %RX32) u32Size=%RX32 (expected <= %RX32)\n",1036 LogRel(("VGDrvCommonInitDevExt: Bogus VMMDev memory; u32Version=%RX32 (expected %RX32) u32Size=%RX32 (expected <= %RX32)\n", 1015 1037 pVMMDev->u32Version, VMMDEV_MEMORY_VERSION, pVMMDev->u32Size, cbMMIO)); 1016 1038 } … … 1024 1046 if (RT_FAILURE(rc)) 1025 1047 { 1026 LogRel(("V bgdCommonInitDevExt: failed to create spinlock, rc=%Rrc!\n", rc));1048 LogRel(("VGDrvCommonInitDevExt: failed to create spinlock, rc=%Rrc!\n", rc)); 1027 1049 if (pDevExt->EventSpinlock != NIL_RTSPINLOCK) 1028 1050 RTSpinlockDestroy(pDevExt->EventSpinlock); … … 1033 1055 if (RT_FAILURE(rc)) 1034 1056 { 1035 LogRel(("V bgdCommonInitDevExt: failed to create mutex, rc=%Rrc!\n", rc));1057 LogRel(("VGDrvCommonInitDevExt: failed to create mutex, rc=%Rrc!\n", rc)); 1036 1058 RTSpinlockDestroy(pDevExt->SessionSpinlock); 1037 1059 RTSpinlockDestroy(pDevExt->EventSpinlock); … … 1053 1075 Assert(pDevExt->PhysIrqAckEvents != 0); 1054 1076 1055 rc = v bgdReportGuestInfo(enmOSType);1077 rc = vgdrvReportGuestInfo(enmOSType); 1056 1078 if (RT_SUCCESS(rc)) 1057 1079 { … … 1060 1082 * the guest capabilities or mouse status bits set. 1061 1083 */ 1062 rc = v bgdResetEventFilterOnHost(pDevExt, pDevExt->fFixedEvents);1084 rc = vgdrvResetEventFilterOnHost(pDevExt, pDevExt->fFixedEvents); 1063 1085 if (RT_SUCCESS(rc)) 1064 1086 { 1065 rc = v bgdResetCapabilitiesOnHost(pDevExt);1087 rc = vgdrvResetCapabilitiesOnHost(pDevExt); 1066 1088 if (RT_SUCCESS(rc)) 1067 1089 { 1068 rc = v bgdResetMouseStatusOnHost(pDevExt);1090 rc = vgdrvResetMouseStatusOnHost(pDevExt); 1069 1091 if (RT_SUCCESS(rc)) 1070 1092 { … … 1072 1094 * Initialize stuff which may fail without requiring the driver init to fail. 1073 1095 */ 1074 v bgdInitFixateGuestMappings(pDevExt);1075 v bgdHeartbeatInit(pDevExt);1096 vgdrvInitFixateGuestMappings(pDevExt); 1097 vgdrvHeartbeatInit(pDevExt); 1076 1098 1077 1099 /* 1078 1100 * Done! 1079 1101 */ 1080 rc = v bgdReportDriverStatus(true /* Driver is active */);1102 rc = vgdrvReportDriverStatus(true /* Driver is active */); 1081 1103 if (RT_FAILURE(rc)) 1082 LogRel(("V bgdCommonInitDevExt: VBoxReportGuestDriverStatus failed, rc=%Rrc\n", rc));1083 1084 LogFlowFunc(("V bgdCommonInitDevExt: returns success\n"));1104 LogRel(("VGDrvCommonInitDevExt: VBoxReportGuestDriverStatus failed, rc=%Rrc\n", rc)); 1105 1106 LogFlowFunc(("VGDrvCommonInitDevExt: returns success\n")); 1085 1107 return VINF_SUCCESS; 1086 1108 } 1087 LogRel(("V bgdCommonInitDevExt: failed to clear mouse status: rc=%Rrc\n", rc));1109 LogRel(("VGDrvCommonInitDevExt: failed to clear mouse status: rc=%Rrc\n", rc)); 1088 1110 } 1089 1111 else 1090 LogRel(("V bgdCommonInitDevExt: failed to clear guest capabilities: rc=%Rrc\n", rc));1112 LogRel(("VGDrvCommonInitDevExt: failed to clear guest capabilities: rc=%Rrc\n", rc)); 1091 1113 } 1092 1114 else 1093 LogRel(("V bgdCommonInitDevExt: failed to set fixed event filter: rc=%Rrc\n", rc));1115 LogRel(("VGDrvCommonInitDevExt: failed to set fixed event filter: rc=%Rrc\n", rc)); 1094 1116 } 1095 1117 else 1096 LogRel(("V bgdCommonInitDevExt: VBoxReportGuestInfo failed: rc=%Rrc\n", rc));1118 LogRel(("VGDrvCommonInitDevExt: VBoxReportGuestInfo failed: rc=%Rrc\n", rc)); 1097 1119 VbglGRFree((VMMDevRequestHeader *)pDevExt->pIrqAckEvents); 1098 1120 } 1099 1121 else 1100 LogRel(("V bgdCommonInitDevExt: VBoxGRAlloc failed: rc=%Rrc\n", rc));1122 LogRel(("VGDrvCommonInitDevExt: VBoxGRAlloc failed: rc=%Rrc\n", rc)); 1101 1123 1102 1124 VbglTerminate(); 1103 1125 } 1104 1126 else 1105 LogRel(("V bgdCommonInitDevExt: VbglInit failed: rc=%Rrc\n", rc));1127 LogRel(("VGDrvCommonInitDevExt: VbglInit failed: rc=%Rrc\n", rc)); 1106 1128 1107 1129 rc2 = RTSemFastMutexDestroy(pDevExt->MemBalloon.hMtx); AssertRC(rc2); … … 1121 1143 * @param pList The head of the chain. 1122 1144 */ 1123 static void v bgdDeleteWaitList(PRTLISTNODE pList)1145 static void vgdrvDeleteWaitList(PRTLISTNODE pList) 1124 1146 { 1125 1147 while (!RTListIsEmpty(pList)) … … 1145 1167 * @param pDevExt The device extension. 1146 1168 */ 1147 void V bgdCommonDeleteDevExt(PVBOXGUESTDEVEXT pDevExt)1169 void VGDrvCommonDeleteDevExt(PVBOXGUESTDEVEXT pDevExt) 1148 1170 { 1149 1171 int rc2; 1150 Log(("V bgdCommonDeleteDevExt:\n"));1172 Log(("VGDrvCommonDeleteDevExt:\n")); 1151 1173 Log(("VBoxGuest: The additions driver is terminating.\n")); 1152 1174 … … 1158 1180 { 1159 1181 RTTimerDestroy(pDevExt->pHeartbeatTimer); 1160 v bgdHeartbeatHostConfigure(pDevExt, false);1182 vgdrvHeartbeatHostConfigure(pDevExt, false); 1161 1183 } 1162 1184 … … 1167 1189 * Clean up the bits that involves the host first. 1168 1190 */ 1169 v bgdTermUnfixGuestMappings(pDevExt);1191 vgdrvTermUnfixGuestMappings(pDevExt); 1170 1192 if (!RTListIsEmpty(&pDevExt->SessionList)) 1171 1193 { … … 1175 1197 /* Update the host flags (mouse status etc) not to reflect this session. */ 1176 1198 pDevExt->fFixedEvents = 0; 1177 v bgdResetEventFilterOnHost(pDevExt, 0 /*fFixedEvents*/);1178 v bgdResetCapabilitiesOnHost(pDevExt);1179 v bgdResetMouseStatusOnHost(pDevExt);1180 1181 v bgdCloseMemBalloon(pDevExt, (PVBOXGUESTSESSION)NULL);1199 vgdrvResetEventFilterOnHost(pDevExt, 0 /*fFixedEvents*/); 1200 vgdrvResetCapabilitiesOnHost(pDevExt); 1201 vgdrvResetMouseStatusOnHost(pDevExt); 1202 1203 vgdrvCloseMemBalloon(pDevExt, (PVBOXGUESTSESSION)NULL); 1182 1204 1183 1205 /* … … 1188 1210 rc2 = RTSemFastMutexDestroy(pDevExt->MemBalloon.hMtx); AssertRC(rc2); 1189 1211 1190 v bgdDeleteWaitList(&pDevExt->WaitList);1212 vgdrvDeleteWaitList(&pDevExt->WaitList); 1191 1213 #ifdef VBOX_WITH_HGCM 1192 v bgdDeleteWaitList(&pDevExt->HGCMWaitList);1214 vgdrvDeleteWaitList(&pDevExt->HGCMWaitList); 1193 1215 #endif 1194 1216 #ifdef VBOXGUEST_USE_DEFERRED_WAKE_UP 1195 v bgdDeleteWaitList(&pDevExt->WakeUpList);1217 vgdrvDeleteWaitList(&pDevExt->WakeUpList); 1196 1218 #endif 1197 v bgdDeleteWaitList(&pDevExt->WokenUpList);1198 v bgdDeleteWaitList(&pDevExt->FreeList);1219 vgdrvDeleteWaitList(&pDevExt->WokenUpList); 1220 vgdrvDeleteWaitList(&pDevExt->FreeList); 1199 1221 1200 1222 VbglTerminate(); … … 1217 1239 * 1218 1240 * The native code calls this when a ring-3 client opens the device. 1219 * Use V bgdCommonCreateKernelSession when a ring-0 client connects.1241 * Use VGDrvCommonCreateKernelSession when a ring-0 client connects. 1220 1242 * 1221 1243 * @returns VBox status code. … … 1223 1245 * @param ppSession Where to store the session on success. 1224 1246 */ 1225 int V bgdCommonCreateUserSession(PVBOXGUESTDEVEXT pDevExt, PVBOXGUESTSESSION *ppSession)1247 int VGDrvCommonCreateUserSession(PVBOXGUESTDEVEXT pDevExt, PVBOXGUESTSESSION *ppSession) 1226 1248 { 1227 1249 PVBOXGUESTSESSION pSession = (PVBOXGUESTSESSION)RTMemAllocZ(sizeof(*pSession)); 1228 1250 if (RT_UNLIKELY(!pSession)) 1229 1251 { 1230 LogRel(("V bgdCommonCreateUserSession: no memory!\n"));1252 LogRel(("VGDrvCommonCreateUserSession: no memory!\n")); 1231 1253 return VERR_NO_MEMORY; 1232 1254 } … … 1241 1263 1242 1264 *ppSession = pSession; 1243 LogFlow(("V bgdCommonCreateUserSession: pSession=%p proc=%RTproc (%d) r0proc=%p\n",1265 LogFlow(("VGDrvCommonCreateUserSession: pSession=%p proc=%RTproc (%d) r0proc=%p\n", 1244 1266 pSession, pSession->Process, (int)pSession->Process, (uintptr_t)pSession->R0Process)); /** @todo %RTr0proc */ 1245 1267 return VINF_SUCCESS; … … 1251 1273 * 1252 1274 * The native code calls this when a ring-0 client connects to the device. 1253 * Use V bgdCommonCreateUserSession when a ring-3 client opens the device.1275 * Use VGDrvCommonCreateUserSession when a ring-3 client opens the device. 1254 1276 * 1255 1277 * @returns VBox status code. … … 1257 1279 * @param ppSession Where to store the session on success. 1258 1280 */ 1259 int V bgdCommonCreateKernelSession(PVBOXGUESTDEVEXT pDevExt, PVBOXGUESTSESSION *ppSession)1281 int VGDrvCommonCreateKernelSession(PVBOXGUESTDEVEXT pDevExt, PVBOXGUESTSESSION *ppSession) 1260 1282 { 1261 1283 PVBOXGUESTSESSION pSession = (PVBOXGUESTSESSION)RTMemAllocZ(sizeof(*pSession)); 1262 1284 if (RT_UNLIKELY(!pSession)) 1263 1285 { 1264 LogRel(("V bgdCommonCreateKernelSession: no memory!\n"));1286 LogRel(("VGDrvCommonCreateKernelSession: no memory!\n")); 1265 1287 return VERR_NO_MEMORY; 1266 1288 } … … 1275 1297 1276 1298 *ppSession = pSession; 1277 LogFlow(("V bgdCommonCreateKernelSession: pSession=%p proc=%RTproc (%d) r0proc=%p\n",1299 LogFlow(("VGDrvCommonCreateKernelSession: pSession=%p proc=%RTproc (%d) r0proc=%p\n", 1278 1300 pSession, pSession->Process, (int)pSession->Process, (uintptr_t)pSession->R0Process)); /** @todo %RTr0proc */ 1279 1301 return VINF_SUCCESS; … … 1287 1309 * @param pSession The session to close (and free). 1288 1310 */ 1289 void V bgdCommonCloseSession(PVBOXGUESTDEVEXT pDevExt, PVBOXGUESTSESSION pSession)1311 void VGDrvCommonCloseSession(PVBOXGUESTDEVEXT pDevExt, PVBOXGUESTSESSION pSession) 1290 1312 { 1291 1313 #ifdef VBOX_WITH_HGCM 1292 1314 unsigned i; 1293 1315 #endif 1294 LogFlow(("V bgdCommonCloseSession: pSession=%p proc=%RTproc (%d) r0proc=%p\n",1316 LogFlow(("VGDrvCommonCloseSession: pSession=%p proc=%RTproc (%d) r0proc=%p\n", 1295 1317 pSession, pSession->Process, (int)pSession->Process, (uintptr_t)pSession->R0Process)); /** @todo %RTr0proc */ 1296 1318 … … 1299 1321 pDevExt->cSessions--; 1300 1322 RTSpinlockRelease(pDevExt->SessionSpinlock); 1301 v bgdAcquireSessionCapabilities(pDevExt, pSession, 0, UINT32_MAX, VBOXGUESTCAPSACQUIRE_FLAGS_NONE,1323 vgdrvAcquireSessionCapabilities(pDevExt, pSession, 0, UINT32_MAX, VBOXGUESTCAPSACQUIRE_FLAGS_NONE, 1302 1324 true /*fSessionTermination*/); 1303 v bgdSetSessionCapabilities(pDevExt, pSession, 0 /*fOrMask*/, UINT32_MAX /*fNotMask*/, true /*fSessionTermination*/);1304 v bgdSetSessionEventFilter(pDevExt, pSession, 0 /*fOrMask*/, UINT32_MAX /*fNotMask*/, true /*fSessionTermination*/);1305 v bgdSetSessionMouseStatus(pDevExt, pSession, 0 /*fOrMask*/, UINT32_MAX /*fNotMask*/, true /*fSessionTermination*/);1306 1307 v bgdIoCtl_CancelAllWaitEvents(pDevExt, pSession);1325 vgdrvSetSessionCapabilities(pDevExt, pSession, 0 /*fOrMask*/, UINT32_MAX /*fNotMask*/, true /*fSessionTermination*/); 1326 vgdrvSetSessionEventFilter(pDevExt, pSession, 0 /*fOrMask*/, UINT32_MAX /*fNotMask*/, true /*fSessionTermination*/); 1327 vgdrvSetSessionMouseStatus(pDevExt, pSession, 0 /*fOrMask*/, UINT32_MAX /*fNotMask*/, true /*fSessionTermination*/); 1328 1329 vgdrvIoCtl_CancelAllWaitEvents(pDevExt, pSession); 1308 1330 1309 1331 #ifdef VBOX_WITH_HGCM … … 1315 1337 Info.u32ClientID = pSession->aHGCMClientIds[i]; 1316 1338 pSession->aHGCMClientIds[i] = 0; 1317 Log(("V bgdCommonCloseSession: disconnecting client id %#RX32\n", Info.u32ClientID));1318 VbglR0HGCMInternalDisconnect(&Info, v bgdHgcmAsyncWaitCallback, pDevExt, RT_INDEFINITE_WAIT);1339 Log(("VGDrvCommonCloseSession: disconnecting client id %#RX32\n", Info.u32ClientID)); 1340 VbglR0HGCMInternalDisconnect(&Info, vgdrvHgcmAsyncWaitCallback, pDevExt, RT_INDEFINITE_WAIT); 1319 1341 } 1320 1342 #endif … … 1323 1345 pSession->Process = NIL_RTPROCESS; 1324 1346 pSession->R0Process = NIL_RTR0PROCESS; 1325 v bgdCloseMemBalloon(pDevExt, pSession);1347 vgdrvCloseMemBalloon(pDevExt, pSession); 1326 1348 RTMemFree(pSession); 1327 1349 } … … 1335 1357 * @param pSession The session that's allocating this. Can be NULL. 1336 1358 */ 1337 static PVBOXGUESTWAIT v bgdWaitAlloc(PVBOXGUESTDEVEXT pDevExt, PVBOXGUESTSESSION pSession)1359 static PVBOXGUESTWAIT vgdrvWaitAlloc(PVBOXGUESTDEVEXT pDevExt, PVBOXGUESTSESSION pSession) 1338 1360 { 1339 1361 /* … … 1358 1380 if (!pWait) 1359 1381 { 1360 LogRelMax(32, ("v bgdWaitAlloc: out-of-memory!\n"));1382 LogRelMax(32, ("vgdrvWaitAlloc: out-of-memory!\n")); 1361 1383 return NULL; 1362 1384 } … … 1365 1387 if (RT_FAILURE(rc)) 1366 1388 { 1367 LogRelMax(32, (" VbgdCommonIoCtl: RTSemEventMultiCreate failed with rc=%Rrc!\n", rc));1389 LogRelMax(32, ("vgdrvWaitAlloc: RTSemEventMultiCreate failed with rc=%Rrc!\n", rc)); 1368 1390 RTMemFree(pWait); 1369 1391 return NULL; … … 1401 1423 * @param pWait The wait-for-event entry to free. 1402 1424 */ 1403 static void v bgdWaitFreeLocked(PVBOXGUESTDEVEXT pDevExt, PVBOXGUESTWAIT pWait)1425 static void vgdrvWaitFreeLocked(PVBOXGUESTDEVEXT pDevExt, PVBOXGUESTWAIT pWait) 1404 1426 { 1405 1427 pWait->fReqEvents = 0; … … 1427 1449 * @param pWait The wait-for-event entry to free. 1428 1450 */ 1429 static void v bgdWaitFreeUnlocked(PVBOXGUESTDEVEXT pDevExt, PVBOXGUESTWAIT pWait)1451 static void vgdrvWaitFreeUnlocked(PVBOXGUESTDEVEXT pDevExt, PVBOXGUESTWAIT pWait) 1430 1452 { 1431 1453 RTSpinlockAcquire(pDevExt->EventSpinlock); 1432 v bgdWaitFreeLocked(pDevExt, pWait);1454 vgdrvWaitFreeLocked(pDevExt, pWait); 1433 1455 RTSpinlockRelease(pDevExt->EventSpinlock); 1434 1456 } … … 1444 1466 * @param pDevExt The device extension. 1445 1467 */ 1446 void V bgdCommonWaitDoWakeUps(PVBOXGUESTDEVEXT pDevExt)1468 void VGDrvCommonWaitDoWakeUps(PVBOXGUESTDEVEXT pDevExt) 1447 1469 { 1448 1470 if (!RTListIsEmpty(&pDevExt->WakeUpList)) … … 1471 1493 { 1472 1494 pWait->fFreeMe = false; 1473 v bgdWaitFreeLocked(pDevExt, pWait);1495 vgdrvWaitFreeLocked(pDevExt, pWait); 1474 1496 } 1475 1497 } … … 1490 1512 * @param pSession The session. 1491 1513 */ 1492 int VbgdCommonIoCtlFast(unsigned iFunction, PVBOXGUESTDEVEXT pDevExt, PVBOXGUESTSESSION pSession)1493 { 1494 LogFlow(("V bgdCommonIoCtlFast: iFunction=%#x pDevExt=%p pSession=%p\n", iFunction, pDevExt, pSession));1514 int VGDrvCommonIoCtlFast(unsigned iFunction, PVBOXGUESTDEVEXT pDevExt, PVBOXGUESTSESSION pSession) 1515 { 1516 LogFlow(("VGDrvCommonIoCtlFast: iFunction=%#x pDevExt=%p pSession=%p\n", iFunction, pDevExt, pSession)); 1495 1517 1496 1518 NOREF(iFunction); … … 1509 1531 * @param pcbDataReturned (out) contains the number of bytes to return. 1510 1532 */ 1511 static int v bgdIoCtl_GetVMMDevPort(PVBOXGUESTDEVEXT pDevExt, VBoxGuestPortInfo *pInfo, size_t *pcbDataReturned)1533 static int vgdrvIoCtl_GetVMMDevPort(PVBOXGUESTDEVEXT pDevExt, VBoxGuestPortInfo *pInfo, size_t *pcbDataReturned) 1512 1534 { 1513 1535 LogFlow(("VBOXGUEST_IOCTL_GETVMMDEVPORT\n")); … … 1529 1551 * @param pNotify The new callback information. 1530 1552 */ 1531 int v bgdIoCtl_SetMouseNotifyCallback(PVBOXGUESTDEVEXT pDevExt, VBoxGuestMouseSetNotifyCallback *pNotify)1553 int vgdrvIoCtl_SetMouseNotifyCallback(PVBOXGUESTDEVEXT pDevExt, VBoxGuestMouseSetNotifyCallback *pNotify) 1532 1554 { 1533 1555 LogFlow(("VBOXGUEST_IOCTL_SET_MOUSE_NOTIFY_CALLBACK: pfnNotify=%p pvUser=%p\n", pNotify->pfnNotify, pNotify->pvUser)); … … 1542 1564 1543 1565 /** 1544 * Worker v bgdIoCtl_WaitEvent.1566 * Worker vgdrvIoCtl_WaitEvent. 1545 1567 * 1546 1568 * The caller enters the spinlock, we leave it. … … 1553 1575 uint32_t fMatches = pDevExt->f32PendingEvents & fReqEvents; 1554 1576 if (fMatches & VBOXGUEST_ACQUIRE_STYLE_EVENTS) 1555 fMatches &= v bgdGetAllowedEventMaskForSession(pDevExt, pSession);1577 fMatches &= vgdrvGetAllowedEventMaskForSession(pDevExt, pSession); 1556 1578 if (fMatches || pSession->fPendingCancelWaitEvents) 1557 1579 { … … 1574 1596 1575 1597 1576 static int v bgdIoCtl_WaitEvent(PVBOXGUESTDEVEXT pDevExt, PVBOXGUESTSESSION pSession,1577 VBoxGuestWaitEventInfo *pInfo, size_t *pcbDataReturned, bool fInterruptible)1598 static int vgdrvIoCtl_WaitEvent(PVBOXGUESTDEVEXT pDevExt, PVBOXGUESTSESSION pSession, 1599 VBoxGuestWaitEventInfo *pInfo, size_t *pcbDataReturned, bool fInterruptible) 1578 1600 { 1579 1601 const uint32_t fReqEvents = pInfo->u32EventMaskIn; … … 1613 1635 } 1614 1636 1615 pWait = v bgdWaitAlloc(pDevExt, pSession);1637 pWait = vgdrvWaitAlloc(pDevExt, pSession); 1616 1638 if (!pWait) 1617 1639 return VERR_NO_MEMORY; … … 1628 1650 if (rc == VINF_SUCCESS) 1629 1651 { 1630 v bgdWaitFreeUnlocked(pDevExt, pWait);1652 vgdrvWaitFreeUnlocked(pDevExt, pWait); 1631 1653 return rc; 1632 1654 } … … 1652 1674 RTSpinlockAcquire(pDevExt->EventSpinlock); 1653 1675 fResEvents = pWait->fResEvents; 1654 v bgdWaitFreeLocked(pDevExt, pWait);1676 vgdrvWaitFreeLocked(pDevExt, pWait); 1655 1677 RTSpinlockRelease(pDevExt->EventSpinlock); 1656 1678 … … 1696 1718 1697 1719 1698 static int v bgdIoCtl_CancelAllWaitEvents(PVBOXGUESTDEVEXT pDevExt, PVBOXGUESTSESSION pSession)1720 static int vgdrvIoCtl_CancelAllWaitEvents(PVBOXGUESTDEVEXT pDevExt, PVBOXGUESTSESSION pSession) 1699 1721 { 1700 1722 PVBOXGUESTWAIT pWait; … … 1735 1757 1736 1758 #ifdef VBOXGUEST_USE_DEFERRED_WAKE_UP 1737 V bgdCommonWaitDoWakeUps(pDevExt);1759 VGDrvCommonWaitDoWakeUps(pDevExt); 1738 1760 #endif 1739 1761 … … 1750 1772 * @param pReqHdr The request. 1751 1773 */ 1752 static int v bgdCheckIfVmmReqIsAllowed(PVBOXGUESTDEVEXT pDevExt, PVBOXGUESTSESSION pSession, VMMDevRequestType enmType,1753 VMMDevRequestHeader const *pReqHdr)1774 static int vgdrvCheckIfVmmReqIsAllowed(PVBOXGUESTDEVEXT pDevExt, PVBOXGUESTSESSION pSession, VMMDevRequestType enmType, 1775 VMMDevRequestHeader const *pReqHdr) 1754 1776 { 1755 1777 /* … … 1895 1917 } 1896 1918 1897 static int v bgdIoCtl_VMMRequest(PVBOXGUESTDEVEXT pDevExt, PVBOXGUESTSESSION pSession,1898 VMMDevRequestHeader *pReqHdr, size_t cbData, size_t *pcbDataReturned)1919 static int vgdrvIoCtl_VMMRequest(PVBOXGUESTDEVEXT pDevExt, PVBOXGUESTSESSION pSession, 1920 VMMDevRequestHeader *pReqHdr, size_t cbData, size_t *pcbDataReturned) 1899 1921 { 1900 1922 int rc; … … 1930 1952 } 1931 1953 1932 rc = v bgdCheckIfVmmReqIsAllowed(pDevExt, pSession, enmType, pReqHdr);1954 rc = vgdrvCheckIfVmmReqIsAllowed(pDevExt, pSession, enmType, pReqHdr); 1933 1955 if (RT_FAILURE(rc)) 1934 1956 { … … 1984 2006 AssertCompile(RT_INDEFINITE_WAIT == (uint32_t)RT_INDEFINITE_WAIT); /* assumed by code below */ 1985 2007 1986 /** Worker for v bgdHgcmAsyncWaitCallback*. */1987 static int v bgdHgcmAsyncWaitCallbackWorker(VMMDevHGCMRequestHeader volatile *pHdr, PVBOXGUESTDEVEXT pDevExt,1988 bool fInterruptible, uint32_t cMillies)2008 /** Worker for vgdrvHgcmAsyncWaitCallback*. */ 2009 static int vgdrvHgcmAsyncWaitCallbackWorker(VMMDevHGCMRequestHeader volatile *pHdr, PVBOXGUESTDEVEXT pDevExt, 2010 bool fInterruptible, uint32_t cMillies) 1989 2011 { 1990 2012 int rc; … … 2008 2030 RTSpinlockRelease(pDevExt->EventSpinlock); 2009 2031 2010 pWait = v bgdWaitAlloc(pDevExt, NULL);2032 pWait = vgdrvWaitAlloc(pDevExt, NULL); 2011 2033 if (pWait) 2012 2034 break; … … 2027 2049 if ((pHdr->fu32Flags & VBOX_HGCM_REQ_DONE) != 0) 2028 2050 { 2029 v bgdWaitFreeLocked(pDevExt, pWait);2051 vgdrvWaitFreeLocked(pDevExt, pWait); 2030 2052 RTSpinlockRelease(pDevExt->EventSpinlock); 2031 2053 return VINF_SUCCESS; … … 2047 2069 && ( !fInterruptible 2048 2070 || rc != VERR_INTERRUPTED)) 2049 LogRel(("v bgdHgcmAsyncWaitCallback: wait failed! %Rrc\n", rc));2050 2051 v bgdWaitFreeUnlocked(pDevExt, pWait);2071 LogRel(("vgdrvHgcmAsyncWaitCallback: wait failed! %Rrc\n", rc)); 2072 2073 vgdrvWaitFreeUnlocked(pDevExt, pWait); 2052 2074 return rc; 2053 2075 } … … 2057 2079 * This is a callback for dealing with async waits. 2058 2080 * 2059 * It operates in a manner similar to v bgdIoCtl_WaitEvent.2060 */ 2061 static DECLCALLBACK(int) v bgdHgcmAsyncWaitCallback(VMMDevHGCMRequestHeader *pHdr, void *pvUser, uint32_t u32User)2081 * It operates in a manner similar to vgdrvIoCtl_WaitEvent. 2082 */ 2083 static DECLCALLBACK(int) vgdrvHgcmAsyncWaitCallback(VMMDevHGCMRequestHeader *pHdr, void *pvUser, uint32_t u32User) 2062 2084 { 2063 2085 PVBOXGUESTDEVEXT pDevExt = (PVBOXGUESTDEVEXT)pvUser; 2064 LogFlow(("v bgdHgcmAsyncWaitCallback: requestType=%d\n", pHdr->header.requestType));2065 return v bgdHgcmAsyncWaitCallbackWorker((VMMDevHGCMRequestHeader volatile *)pHdr, pDevExt,2066 false /* fInterruptible */, u32User /* cMillies */);2086 LogFlow(("vgdrvHgcmAsyncWaitCallback: requestType=%d\n", pHdr->header.requestType)); 2087 return vgdrvHgcmAsyncWaitCallbackWorker((VMMDevHGCMRequestHeader volatile *)pHdr, pDevExt, 2088 false /* fInterruptible */, u32User /* cMillies */); 2067 2089 } 2068 2090 … … 2071 2093 * This is a callback for dealing with async waits with a timeout. 2072 2094 * 2073 * It operates in a manner similar to v bgdIoCtl_WaitEvent.2074 */ 2075 static DECLCALLBACK(int) v bgdHgcmAsyncWaitCallbackInterruptible(VMMDevHGCMRequestHeader *pHdr, void *pvUser, uint32_t u32User)2095 * It operates in a manner similar to vgdrvIoCtl_WaitEvent. 2096 */ 2097 static DECLCALLBACK(int) vgdrvHgcmAsyncWaitCallbackInterruptible(VMMDevHGCMRequestHeader *pHdr, void *pvUser, uint32_t u32User) 2076 2098 { 2077 2099 PVBOXGUESTDEVEXT pDevExt = (PVBOXGUESTDEVEXT)pvUser; 2078 LogFlow(("v bgdHgcmAsyncWaitCallbackInterruptible: requestType=%d\n", pHdr->header.requestType));2079 return v bgdHgcmAsyncWaitCallbackWorker((VMMDevHGCMRequestHeader volatile *)pHdr, pDevExt,2080 true /* fInterruptible */, u32User /* cMillies */);2081 } 2082 2083 2084 static int v bgdIoCtl_HGCMConnect(PVBOXGUESTDEVEXT pDevExt, PVBOXGUESTSESSION pSession,2085 VBoxGuestHGCMConnectInfo *pInfo, size_t *pcbDataReturned)2100 LogFlow(("vgdrvHgcmAsyncWaitCallbackInterruptible: requestType=%d\n", pHdr->header.requestType)); 2101 return vgdrvHgcmAsyncWaitCallbackWorker((VMMDevHGCMRequestHeader volatile *)pHdr, pDevExt, 2102 true /* fInterruptible */, u32User /* cMillies */); 2103 } 2104 2105 2106 static int vgdrvIoCtl_HGCMConnect(PVBOXGUESTDEVEXT pDevExt, PVBOXGUESTSESSION pSession, 2107 VBoxGuestHGCMConnectInfo *pInfo, size_t *pcbDataReturned) 2086 2108 { 2087 2109 int rc; … … 2096 2118 ? pInfo->Loc.u.host.achName : "<not local host>")); 2097 2119 2098 rc = VbglR0HGCMInternalConnect(pInfo, v bgdHgcmAsyncWaitCallback, pDevExt, RT_INDEFINITE_WAIT);2120 rc = VbglR0HGCMInternalConnect(pInfo, vgdrvHgcmAsyncWaitCallback, pDevExt, RT_INDEFINITE_WAIT); 2099 2121 if (RT_SUCCESS(rc)) 2100 2122 { … … 2122 2144 Info.result = 0; 2123 2145 Info.u32ClientID = pInfo->u32ClientID; 2124 VbglR0HGCMInternalDisconnect(&Info, v bgdHgcmAsyncWaitCallback, pDevExt, RT_INDEFINITE_WAIT);2146 VbglR0HGCMInternalDisconnect(&Info, vgdrvHgcmAsyncWaitCallback, pDevExt, RT_INDEFINITE_WAIT); 2125 2147 return VERR_TOO_MANY_OPEN_FILES; 2126 2148 } … … 2135 2157 2136 2158 2137 static int v bgdIoCtl_HGCMDisconnect(PVBOXGUESTDEVEXT pDevExt, PVBOXGUESTSESSION pSession,2138 VBoxGuestHGCMDisconnectInfo *pInfo, size_t *pcbDataReturned)2159 static int vgdrvIoCtl_HGCMDisconnect(PVBOXGUESTDEVEXT pDevExt, PVBOXGUESTSESSION pSession, 2160 VBoxGuestHGCMDisconnectInfo *pInfo, size_t *pcbDataReturned) 2139 2161 { 2140 2162 /* … … 2164 2186 */ 2165 2187 Log(("VBOXGUEST_IOCTL_HGCM_DISCONNECT: u32Client=%RX32\n", pInfo->u32ClientID)); 2166 rc = VbglR0HGCMInternalDisconnect(pInfo, v bgdHgcmAsyncWaitCallback, pDevExt, RT_INDEFINITE_WAIT);2188 rc = VbglR0HGCMInternalDisconnect(pInfo, vgdrvHgcmAsyncWaitCallback, pDevExt, RT_INDEFINITE_WAIT); 2167 2189 if (RT_SUCCESS(rc)) 2168 2190 { … … 2182 2204 2183 2205 2184 static int v bgdIoCtl_HGCMCall(PVBOXGUESTDEVEXT pDevExt, PVBOXGUESTSESSION pSession, VBoxGuestHGCMCallInfo *pInfo,2185 uint32_t cMillies, bool fInterruptible, bool f32bit, bool fUserData,2186 size_t cbExtra, size_t cbData, size_t *pcbDataReturned)2206 static int vgdrvIoCtl_HGCMCall(PVBOXGUESTDEVEXT pDevExt, PVBOXGUESTSESSION pSession, VBoxGuestHGCMCallInfo *pInfo, 2207 uint32_t cMillies, bool fInterruptible, bool f32bit, bool fUserData, 2208 size_t cbExtra, size_t cbData, size_t *pcbDataReturned) 2187 2209 { 2188 2210 const uint32_t u32ClientId = pInfo->u32ClientID; … … 2242 2264 { 2243 2265 if (fInterruptible) 2244 rc = VbglR0HGCMInternalCall32(pInfo, cbInfo, fFlags, v bgdHgcmAsyncWaitCallbackInterruptible, pDevExt, cMillies);2266 rc = VbglR0HGCMInternalCall32(pInfo, cbInfo, fFlags, vgdrvHgcmAsyncWaitCallbackInterruptible, pDevExt, cMillies); 2245 2267 else 2246 rc = VbglR0HGCMInternalCall32(pInfo, cbInfo, fFlags, v bgdHgcmAsyncWaitCallback, pDevExt, cMillies);2268 rc = VbglR0HGCMInternalCall32(pInfo, cbInfo, fFlags, vgdrvHgcmAsyncWaitCallback, pDevExt, cMillies); 2247 2269 } 2248 2270 else … … 2250 2272 { 2251 2273 if (fInterruptible) 2252 rc = VbglR0HGCMInternalCall(pInfo, cbInfo, fFlags, v bgdHgcmAsyncWaitCallbackInterruptible, pDevExt, cMillies);2274 rc = VbglR0HGCMInternalCall(pInfo, cbInfo, fFlags, vgdrvHgcmAsyncWaitCallbackInterruptible, pDevExt, cMillies); 2253 2275 else 2254 rc = VbglR0HGCMInternalCall(pInfo, cbInfo, fFlags, v bgdHgcmAsyncWaitCallback, pDevExt, cMillies);2276 rc = VbglR0HGCMInternalCall(pInfo, cbInfo, fFlags, vgdrvHgcmAsyncWaitCallback, pDevExt, cMillies); 2255 2277 } 2256 2278 if (RT_SUCCESS(rc)) … … 2288 2310 * be NULL. 2289 2311 */ 2290 static int v bgdIoCtl_CheckMemoryBalloon(PVBOXGUESTDEVEXT pDevExt, PVBOXGUESTSESSION pSession,2291 VBoxGuestCheckBalloonInfo *pInfo, size_t *pcbDataReturned)2312 static int vgdrvIoCtl_CheckMemoryBalloon(PVBOXGUESTDEVEXT pDevExt, PVBOXGUESTSESSION pSession, 2313 VBoxGuestCheckBalloonInfo *pInfo, size_t *pcbDataReturned) 2292 2314 { 2293 2315 VMMDevGetMemBalloonChangeRequest *pReq; … … 2300 2322 /* 2301 2323 * The first user trying to query/change the balloon becomes the 2302 * owner and owns it until the session is closed (v bgdCloseMemBalloon).2324 * owner and owns it until the session is closed (vgdrvCloseMemBalloon). 2303 2325 */ 2304 2326 if ( pDevExt->MemBalloon.pOwner != pSession … … 2326 2348 pInfo->fHandleInR3 = false; 2327 2349 2328 rc = v bgdSetBalloonSizeKernel(pDevExt, pReq->cBalloonChunks, &pInfo->fHandleInR3);2350 rc = vgdrvSetBalloonSizeKernel(pDevExt, pReq->cBalloonChunks, &pInfo->fHandleInR3); 2329 2351 /* Ignore various out of memory failures. */ 2330 2352 if ( rc == VERR_NO_MEMORY … … 2361 2383 * be NULL. 2362 2384 */ 2363 static int v bgdIoCtl_ChangeMemoryBalloon(PVBOXGUESTDEVEXT pDevExt, PVBOXGUESTSESSION pSession,2364 VBoxGuestChangeBalloonInfo *pInfo, size_t *pcbDataReturned)2385 static int vgdrvIoCtl_ChangeMemoryBalloon(PVBOXGUESTDEVEXT pDevExt, PVBOXGUESTSESSION pSession, 2386 VBoxGuestChangeBalloonInfo *pInfo, size_t *pcbDataReturned) 2365 2387 { 2366 2388 int rc; … … 2374 2396 /* 2375 2397 * The first user trying to query/change the balloon becomes the 2376 * owner and owns it until the session is closed (v bgdCloseMemBalloon).2398 * owner and owns it until the session is closed (vgdrvCloseMemBalloon). 2377 2399 */ 2378 2400 if ( pDevExt->MemBalloon.pOwner != pSession … … 2382 2404 if (pDevExt->MemBalloon.pOwner == pSession) 2383 2405 { 2384 rc = v bgdSetBalloonSizeFromUser(pDevExt, pSession, pInfo->u64ChunkAddr, !!pInfo->fInflate);2406 rc = vgdrvSetBalloonSizeFromUser(pDevExt, pSession, pInfo->u64ChunkAddr, !!pInfo->fInflate); 2385 2407 if (pcbDataReturned) 2386 2408 *pcbDataReturned = 0; … … 2405 2427 * @param pInfo The output buffer. 2406 2428 */ 2407 static int v bgdIoCtl_WriteCoreDump(PVBOXGUESTDEVEXT pDevExt, VBoxGuestWriteCoreDump *pInfo)2429 static int vgdrvIoCtl_WriteCoreDump(PVBOXGUESTDEVEXT pDevExt, VBoxGuestWriteCoreDump *pInfo) 2408 2430 { 2409 2431 VMMDevReqWriteCoreDump *pReq = NULL; … … 2438 2460 * @param pcbDataReturned Where to store the amount of returned data. Can be NULL. 2439 2461 */ 2440 static int v bgdIoCtl_Log(PVBOXGUESTDEVEXT pDevExt, const char *pch, size_t cbData, size_t *pcbDataReturned, bool fUserSession)2462 static int vgdrvIoCtl_Log(PVBOXGUESTDEVEXT pDevExt, const char *pch, size_t cbData, size_t *pcbDataReturned, bool fUserSession) 2441 2463 { 2442 2464 if (pDevExt->fLoggingEnabled) … … 2461 2483 * @param pTracker The tracker to clear. 2462 2484 */ 2463 static void v bgdBitUsageTrackerClear(PVBOXGUESTBITUSAGETRACER pTracker)2485 static void vgdrvBitUsageTrackerClear(PVBOXGUESTBITUSAGETRACER pTracker) 2464 2486 { 2465 2487 uint32_t iBit; … … 2481 2503 * @param pszWhat Identifies the tracker in assertions. 2482 2504 */ 2483 static void v bgdBitUsageTrackerCheckMask(PCVBOXGUESTBITUSAGETRACER pTracker, uint32_t cMax, const char *pszWhat)2505 static void vgdrvBitUsageTrackerCheckMask(PCVBOXGUESTBITUSAGETRACER pTracker, uint32_t cMax, const char *pszWhat) 2484 2506 { 2485 2507 uint32_t fMask = 0; … … 2511 2533 * @param pszWhat Identifies the tracker in assertions. 2512 2534 */ 2513 static bool v bgdBitUsageTrackerChange(PVBOXGUESTBITUSAGETRACER pTracker, uint32_t fChanged, uint32_t fPrevious,2514 uint32_t cMax, const char *pszWhat)2535 static bool vgdrvBitUsageTrackerChange(PVBOXGUESTBITUSAGETRACER pTracker, uint32_t fChanged, uint32_t fPrevious, 2536 uint32_t cMax, const char *pszWhat) 2515 2537 { 2516 2538 bool fGlobalChange = false; … … 2550 2572 2551 2573 #ifdef VBOX_STRICT 2552 v bgdBitUsageTrackerCheckMask(pTracker, cMax, pszWhat);2574 vgdrvBitUsageTrackerCheckMask(pTracker, cMax, pszWhat); 2553 2575 #endif 2554 2576 NOREF(pszWhat); NOREF(cMax); … … 2564 2586 * @param fFixedEvents Fixed events (init time). 2565 2587 */ 2566 static int v bgdResetEventFilterOnHost(PVBOXGUESTDEVEXT pDevExt, uint32_t fFixedEvents)2588 static int vgdrvResetEventFilterOnHost(PVBOXGUESTDEVEXT pDevExt, uint32_t fFixedEvents) 2567 2589 { 2568 2590 VMMDevCtlGuestFilterMask *pReq; … … 2599 2621 * @remarks Takes the session spinlock. 2600 2622 */ 2601 static int v bgdSetSessionEventFilter(PVBOXGUESTDEVEXT pDevExt, PVBOXGUESTSESSION pSession,2602 uint32_t fOrMask, uint32_t fNotMask, bool fSessionTermination)2623 static int vgdrvSetSessionEventFilter(PVBOXGUESTDEVEXT pDevExt, PVBOXGUESTSESSION pSession, 2624 uint32_t fOrMask, uint32_t fNotMask, bool fSessionTermination) 2603 2625 { 2604 2626 VMMDevCtlGuestFilterMask *pReq; … … 2615 2637 else if (!fSessionTermination) 2616 2638 { 2617 LogRel(("v bgdSetSessionFilterMask: VbglGRAlloc failure: %Rrc\n", rc));2639 LogRel(("vgdrvSetSessionFilterMask: VbglGRAlloc failure: %Rrc\n", rc)); 2618 2640 return rc; 2619 2641 } … … 2637 2659 if (fChanged) 2638 2660 { 2639 bool fGlobalChange = v bgdBitUsageTrackerChange(&pDevExt->EventFilterTracker, fChanged, fPrevious,2640 pDevExt->cSessions, "EventFilterTracker");2661 bool fGlobalChange = vgdrvBitUsageTrackerChange(&pDevExt->EventFilterTracker, fChanged, fPrevious, 2662 pDevExt->cSessions, "EventFilterTracker"); 2641 2663 2642 2664 /* … … 2664 2686 if (!fSessionTermination) 2665 2687 { 2666 v bgdBitUsageTrackerChange(&pDevExt->EventFilterTracker, fChanged, pSession->fEventFilter,2667 pDevExt->cSessions, "EventFilterTracker");2688 vgdrvBitUsageTrackerChange(&pDevExt->EventFilterTracker, fChanged, pSession->fEventFilter, 2689 pDevExt->cSessions, "EventFilterTracker"); 2668 2690 pSession->fEventFilter = fPrevious; 2669 2691 } … … 2692 2714 * @param pInfo The request. 2693 2715 */ 2694 static int v bgdIoCtl_CtlFilterMask(PVBOXGUESTDEVEXT pDevExt, PVBOXGUESTSESSION pSession, VBoxGuestFilterMaskInfo *pInfo)2716 static int vgdrvIoCtl_CtlFilterMask(PVBOXGUESTDEVEXT pDevExt, PVBOXGUESTSESSION pSession, VBoxGuestFilterMaskInfo *pInfo) 2695 2717 { 2696 2718 LogFlow(("VBOXGUEST_IOCTL_CTL_FILTER_MASK: or=%#x not=%#x\n", pInfo->u32OrMask, pInfo->u32NotMask)); … … 2702 2724 } 2703 2725 2704 return v bgdSetSessionEventFilter(pDevExt, pSession, pInfo->u32OrMask, pInfo->u32NotMask, false /*fSessionTermination*/);2726 return vgdrvSetSessionEventFilter(pDevExt, pSession, pInfo->u32OrMask, pInfo->u32NotMask, false /*fSessionTermination*/); 2705 2727 } 2706 2728 … … 2712 2734 * @param pDevExt The device extension. 2713 2735 */ 2714 static int v bgdResetMouseStatusOnHost(PVBOXGUESTDEVEXT pDevExt)2736 static int vgdrvResetMouseStatusOnHost(PVBOXGUESTDEVEXT pDevExt) 2715 2737 { 2716 2738 VMMDevReqMouseStatus *pReq; … … 2748 2770 * @remarks Takes the session spinlock. 2749 2771 */ 2750 static int v bgdSetSessionMouseStatus(PVBOXGUESTDEVEXT pDevExt, PVBOXGUESTSESSION pSession,2751 uint32_t fOrMask, uint32_t fNotMask, bool fSessionTermination)2772 static int vgdrvSetSessionMouseStatus(PVBOXGUESTDEVEXT pDevExt, PVBOXGUESTSESSION pSession, 2773 uint32_t fOrMask, uint32_t fNotMask, bool fSessionTermination) 2752 2774 { 2753 2775 VMMDevReqMouseStatus *pReq; … … 2764 2786 else if (!fSessionTermination) 2765 2787 { 2766 LogRel(("v bgdSetSessionMouseStatus: VbglGRAlloc failure: %Rrc\n", rc));2788 LogRel(("vgdrvSetSessionMouseStatus: VbglGRAlloc failure: %Rrc\n", rc)); 2767 2789 return rc; 2768 2790 } … … 2786 2808 if (fChanged) 2787 2809 { 2788 bool fGlobalChange = v bgdBitUsageTrackerChange(&pDevExt->MouseStatusTracker, fChanged, fPrevious,2789 pDevExt->cSessions, "MouseStatusTracker");2810 bool fGlobalChange = vgdrvBitUsageTrackerChange(&pDevExt->MouseStatusTracker, fChanged, fPrevious, 2811 pDevExt->cSessions, "MouseStatusTracker"); 2790 2812 2791 2813 /* … … 2814 2836 if (!fSessionTermination) 2815 2837 { 2816 v bgdBitUsageTrackerChange(&pDevExt->MouseStatusTracker, fChanged, pSession->fMouseStatus,2817 pDevExt->cSessions, "MouseStatusTracker");2838 vgdrvBitUsageTrackerChange(&pDevExt->MouseStatusTracker, fChanged, pSession->fMouseStatus, 2839 pDevExt->cSessions, "MouseStatusTracker"); 2818 2840 pSession->fMouseStatus = fPrevious; 2819 2841 } … … 2842 2864 * @param fFeatures New bitmap of enabled features. 2843 2865 */ 2844 static int v bgdIoCtl_SetMouseStatus(PVBOXGUESTDEVEXT pDevExt, PVBOXGUESTSESSION pSession, uint32_t fFeatures)2866 static int vgdrvIoCtl_SetMouseStatus(PVBOXGUESTDEVEXT pDevExt, PVBOXGUESTSESSION pSession, uint32_t fFeatures) 2845 2867 { 2846 2868 LogFlow(("VBOXGUEST_IOCTL_SET_MOUSE_STATUS: features=%#x\n", fFeatures)); … … 2849 2871 return VERR_INVALID_PARAMETER; 2850 2872 2851 return v bgdSetSessionMouseStatus(pDevExt, pSession, fFeatures, ~fFeatures, false /*fSessionTermination*/);2873 return vgdrvSetSessionMouseStatus(pDevExt, pSession, fFeatures, ~fFeatures, false /*fSessionTermination*/); 2852 2874 } 2853 2875 … … 2871 2893 * VBOXGUEST_ACQUIRE_STYLE_EVENTS mask. 2872 2894 */ 2873 static uint32_t v bgdGetAllowedEventMaskForSession(PVBOXGUESTDEVEXT pDevExt, PVBOXGUESTSESSION pSession)2895 static uint32_t vgdrvGetAllowedEventMaskForSession(PVBOXGUESTDEVEXT pDevExt, PVBOXGUESTSESSION pSession) 2874 2896 { 2875 2897 uint32_t fAcquireModeGuestCaps; … … 2909 2931 * @param pDevExt The device extension. 2910 2932 */ 2911 static int v bgdResetCapabilitiesOnHost(PVBOXGUESTDEVEXT pDevExt)2933 static int vgdrvResetCapabilitiesOnHost(PVBOXGUESTDEVEXT pDevExt) 2912 2934 { 2913 2935 VMMDevReqGuestCapabilities2 *pReq; … … 2936 2958 * @param fMask The new mask. 2937 2959 */ 2938 static int v bgdUpdateCapabilitiesOnHostWithReqAndLock(PVBOXGUESTDEVEXT pDevExt, VMMDevReqGuestCapabilities2 *pReq)2960 static int vgdrvUpdateCapabilitiesOnHostWithReqAndLock(PVBOXGUESTDEVEXT pDevExt, VMMDevReqGuestCapabilities2 *pReq) 2939 2961 { 2940 2962 int rc; … … 2982 3004 * @remarks Takes both the session and event spinlocks. 2983 3005 */ 2984 static int v bgdAcquireSessionCapabilities(PVBOXGUESTDEVEXT pDevExt, PVBOXGUESTSESSION pSession,2985 uint32_t fOrMask, uint32_t fNotMask, VBOXGUESTCAPSACQUIRE_FLAGS enmFlags,2986 bool fSessionTermination)3006 static int vgdrvAcquireSessionCapabilities(PVBOXGUESTDEVEXT pDevExt, PVBOXGUESTSESSION pSession, 3007 uint32_t fOrMask, uint32_t fNotMask, VBOXGUESTCAPSACQUIRE_FLAGS enmFlags, 3008 bool fSessionTermination) 2987 3009 { 2988 3010 uint32_t fCurrentOwnedCaps; … … 3001 3023 | VMMDEV_GUEST_SUPPORTS_GRAPHICS ) ) 3002 3024 { 3003 LogRel(("v bgdAcquireSessionCapabilities: pSession=%p fOrMask=%#x fNotMask=%#x enmFlags=%#x -- invalid fOrMask\n",3025 LogRel(("vgdrvAcquireSessionCapabilities: pSession=%p fOrMask=%#x fNotMask=%#x enmFlags=%#x -- invalid fOrMask\n", 3004 3026 pSession, fOrMask, fNotMask, enmFlags)); 3005 3027 return VERR_INVALID_PARAMETER; … … 3009 3031 && enmFlags != VBOXGUESTCAPSACQUIRE_FLAGS_NONE) 3010 3032 { 3011 LogRel(("v bgdAcquireSessionCapabilities: pSession=%p fOrMask=%#x fNotMask=%#x enmFlags=%#x: invalid enmFlags %d\n",3033 LogRel(("vgdrvAcquireSessionCapabilities: pSession=%p fOrMask=%#x fNotMask=%#x enmFlags=%#x: invalid enmFlags %d\n", 3012 3034 pSession, fOrMask, fNotMask, enmFlags)); 3013 3035 return VERR_INVALID_PARAMETER; … … 3029 3051 else if (!fSessionTermination) 3030 3052 { 3031 LogRel(("v bgdAcquireSessionCapabilities: pSession=%p fOrMask=%#x fNotMask=%#x enmFlags=%#x: VbglGRAlloc failure: %Rrc\n",3053 LogRel(("vgdrvAcquireSessionCapabilities: pSession=%p fOrMask=%#x fNotMask=%#x enmFlags=%#x: VbglGRAlloc failure: %Rrc\n", 3032 3054 pSession, fOrMask, fNotMask, enmFlags, rc)); 3033 3055 return rc; … … 3054 3076 VbglGRFree(&pReq->header); 3055 3077 AssertMsgFailed(("Trying to change caps mode: %#x\n", fOrMask)); 3056 LogRel(("v bgdAcquireSessionCapabilities: pSession=%p fOrMask=%#x fNotMask=%#x enmFlags=%#x: calling caps acquire for set caps\n",3078 LogRel(("vgdrvAcquireSessionCapabilities: pSession=%p fOrMask=%#x fNotMask=%#x enmFlags=%#x: calling caps acquire for set caps\n", 3057 3079 pSession, fOrMask, fNotMask, enmFlags)); 3058 3080 return VERR_INVALID_STATE; … … 3067 3089 3068 3090 Assert(!pReq); 3069 Log(("v bgdAcquireSessionCapabilities: pSession=%p fOrMask=%#x fNotMask=%#x enmFlags=%#x: configured acquire caps: 0x%x\n",3091 Log(("vgdrvAcquireSessionCapabilities: pSession=%p fOrMask=%#x fNotMask=%#x enmFlags=%#x: configured acquire caps: 0x%x\n", 3070 3092 pSession, fOrMask, fNotMask, enmFlags)); 3071 3093 return VINF_SUCCESS; … … 3107 3129 if (pReq) 3108 3130 { 3109 rc = v bgdUpdateCapabilitiesOnHostWithReqAndLock(pDevExt, pReq);3131 rc = vgdrvUpdateCapabilitiesOnHostWithReqAndLock(pDevExt, pReq); 3110 3132 if (RT_FAILURE(rc) && !fSessionTermination) 3111 3133 { … … 3123 3145 3124 3146 RTSpinlockRelease(pDevExt->EventSpinlock); 3125 LogRel(("v bgdAcquireSessionCapabilities: vbgdUpdateCapabilitiesOnHostWithReqAndLock failed: rc=%Rrc\n", rc));3147 LogRel(("vgdrvAcquireSessionCapabilities: vgdrvUpdateCapabilitiesOnHostWithReqAndLock failed: rc=%Rrc\n", rc)); 3126 3148 VbglGRFree(&pReq->header); 3127 3149 return rc; … … 3134 3156 RTSpinlockRelease(pDevExt->EventSpinlock); 3135 3157 3136 Log(("v bgdAcquireSessionCapabilities: Caps %#x were busy\n", fOtherConflictingCaps));3158 Log(("vgdrvAcquireSessionCapabilities: Caps %#x were busy\n", fOtherConflictingCaps)); 3137 3159 VbglGRFree(&pReq->header); 3138 3160 return VERR_RESOURCE_BUSY; … … 3161 3183 RTSpinlockAcquire(pDevExt->EventSpinlock); 3162 3184 if (fGenFakeEvents || pDevExt->f32PendingEvents) 3163 v bgdDispatchEventsLocked(pDevExt, fGenFakeEvents);3185 vgdrvDispatchEventsLocked(pDevExt, fGenFakeEvents); 3164 3186 RTSpinlockRelease(pDevExt->EventSpinlock); 3165 3187 3166 3188 #ifdef VBOXGUEST_USE_DEFERRED_WAKE_UP 3167 V bgdCommonWaitDoWakeUps(pDevExt);3189 VGDrvCommonWaitDoWakeUps(pDevExt); 3168 3190 #endif 3169 3191 } … … 3182 3204 * @param pAcquire The request. 3183 3205 */ 3184 static int v bgdIoCtl_GuestCapsAcquire(PVBOXGUESTDEVEXT pDevExt, PVBOXGUESTSESSION pSession, VBoxGuestCapsAquire *pAcquire)3206 static int vgdrvIoCtl_GuestCapsAcquire(PVBOXGUESTDEVEXT pDevExt, PVBOXGUESTSESSION pSession, VBoxGuestCapsAquire *pAcquire) 3185 3207 { 3186 3208 int rc; … … 3188 3210 pAcquire->u32OrMask, pAcquire->u32NotMask, pAcquire->enmFlags)); 3189 3211 3190 rc = v bgdAcquireSessionCapabilities(pDevExt, pSession, pAcquire->u32OrMask, pAcquire->u32NotMask, pAcquire->enmFlags,3191 false /*fSessionTermination*/);3212 rc = vgdrvAcquireSessionCapabilities(pDevExt, pSession, pAcquire->u32OrMask, pAcquire->u32NotMask, pAcquire->enmFlags, 3213 false /*fSessionTermination*/); 3192 3214 if (RT_FAILURE(rc)) 3193 LogRel(("V bgdCommonIoCtl: GUEST_CAPS_ACQUIRE failed rc=%Rrc\n", rc));3215 LogRel(("VGDrvCommonIoCtl: GUEST_CAPS_ACQUIRE failed rc=%Rrc\n", rc)); 3194 3216 pAcquire->rc = rc; 3195 3217 return VINF_SUCCESS; … … 3212 3234 * @remarks Takes the session spinlock. 3213 3235 */ 3214 static int v bgdSetSessionCapabilities(PVBOXGUESTDEVEXT pDevExt, PVBOXGUESTSESSION pSession,3215 uint32_t fOrMask, uint32_t fNotMask, bool fSessionTermination)3236 static int vgdrvSetSessionCapabilities(PVBOXGUESTDEVEXT pDevExt, PVBOXGUESTSESSION pSession, 3237 uint32_t fOrMask, uint32_t fNotMask, bool fSessionTermination) 3216 3238 { 3217 3239 /* … … 3224 3246 else if (!fSessionTermination) 3225 3247 { 3226 LogRel(("v bgdSetSessionCapabilities: VbglGRAlloc failure: %Rrc\n", rc));3248 LogRel(("vgdrvSetSessionCapabilities: VbglGRAlloc failure: %Rrc\n", rc)); 3227 3249 return rc; 3228 3250 } … … 3255 3277 if (fChanged) 3256 3278 { 3257 bool fGlobalChange = v bgdBitUsageTrackerChange(&pDevExt->SetGuestCapsTracker, fChanged, fPrevious,3258 pDevExt->cSessions, "SetGuestCapsTracker");3279 bool fGlobalChange = vgdrvBitUsageTrackerChange(&pDevExt->SetGuestCapsTracker, fChanged, fPrevious, 3280 pDevExt->cSessions, "SetGuestCapsTracker"); 3259 3281 3260 3282 /* … … 3266 3288 if (pReq) 3267 3289 { 3268 rc = v bgdUpdateCapabilitiesOnHostWithReqAndLock(pDevExt, pReq);3290 rc = vgdrvUpdateCapabilitiesOnHostWithReqAndLock(pDevExt, pReq); 3269 3291 3270 3292 /* On failure, roll back (unless it's session termination time). */ 3271 3293 if (RT_FAILURE(rc) && !fSessionTermination) 3272 3294 { 3273 v bgdBitUsageTrackerChange(&pDevExt->SetGuestCapsTracker, fChanged, pSession->fCapabilities,3274 pDevExt->cSessions, "SetGuestCapsTracker");3295 vgdrvBitUsageTrackerChange(&pDevExt->SetGuestCapsTracker, fChanged, pSession->fCapabilities, 3296 pDevExt->cSessions, "SetGuestCapsTracker"); 3275 3297 pSession->fCapabilities = fPrevious; 3276 3298 } … … 3300 3322 * @param pInfo The request. 3301 3323 */ 3302 static int v bgdIoCtl_SetCapabilities(PVBOXGUESTDEVEXT pDevExt, PVBOXGUESTSESSION pSession, VBoxGuestSetCapabilitiesInfo *pInfo)3324 static int vgdrvIoCtl_SetCapabilities(PVBOXGUESTDEVEXT pDevExt, PVBOXGUESTSESSION pSession, VBoxGuestSetCapabilitiesInfo *pInfo) 3303 3325 { 3304 3326 int rc; … … 3306 3328 3307 3329 if (!((pInfo->u32OrMask | pInfo->u32NotMask) & ~VMMDEV_GUEST_CAPABILITIES_MASK)) 3308 rc = v bgdSetSessionCapabilities(pDevExt, pSession, pInfo->u32OrMask, pInfo->u32NotMask, false /*fSessionTermination*/);3330 rc = vgdrvSetSessionCapabilities(pDevExt, pSession, pInfo->u32OrMask, pInfo->u32NotMask, false /*fSessionTermination*/); 3309 3331 else 3310 3332 rc = VERR_INVALID_PARAMETER; … … 3331 3353 * @param pcbDataReturned Where to store the amount of returned data. Can be NULL. 3332 3354 */ 3333 int V bgdCommonIoCtl(unsigned iFunction, PVBOXGUESTDEVEXT pDevExt, PVBOXGUESTSESSION pSession,3334 void *pvData, size_t cbData, size_t *pcbDataReturned)3355 int VGDrvCommonIoCtl(unsigned iFunction, PVBOXGUESTDEVEXT pDevExt, PVBOXGUESTSESSION pSession, 3356 void *pvData, size_t cbData, size_t *pcbDataReturned) 3335 3357 { 3336 3358 int rc; 3337 LogFlow(("V bgdCommonIoCtl: iFunction=%#x pDevExt=%p pSession=%p pvData=%p cbData=%zu\n",3359 LogFlow(("VGDrvCommonIoCtl: iFunction=%#x pDevExt=%p pSession=%p pvData=%p cbData=%zu\n", 3338 3360 iFunction, pDevExt, pSession, pvData, cbData)); 3339 3361 … … 3393 3415 { 3394 3416 CHECKRET_MIN_SIZE("VMMREQUEST", sizeof(VMMDevRequestHeader)); 3395 rc = v bgdIoCtl_VMMRequest(pDevExt, pSession, (VMMDevRequestHeader *)pvData, cbData, pcbDataReturned);3417 rc = vgdrvIoCtl_VMMRequest(pDevExt, pSession, (VMMDevRequestHeader *)pvData, cbData, pcbDataReturned); 3396 3418 } 3397 3419 #ifdef VBOX_WITH_HGCM … … 3403 3425 bool fInterruptible = pSession->R0Process != NIL_RTR0PROCESS; 3404 3426 CHECKRET_MIN_SIZE("HGCM_CALL", sizeof(VBoxGuestHGCMCallInfo)); 3405 rc = v bgdIoCtl_HGCMCall(pDevExt, pSession, (VBoxGuestHGCMCallInfo *)pvData, RT_INDEFINITE_WAIT,3406 fInterruptible, false /*f32bit*/, false /* fUserData */,3407 0, cbData, pcbDataReturned);3427 rc = vgdrvIoCtl_HGCMCall(pDevExt, pSession, (VBoxGuestHGCMCallInfo *)pvData, RT_INDEFINITE_WAIT, 3428 fInterruptible, false /*f32bit*/, false /* fUserData */, 3429 0, cbData, pcbDataReturned); 3408 3430 } 3409 3431 else if (VBOXGUEST_IOCTL_STRIP_SIZE(iFunction) == VBOXGUEST_IOCTL_STRIP_SIZE(VBOXGUEST_IOCTL_HGCM_CALL_TIMED(0))) … … 3411 3433 VBoxGuestHGCMCallInfoTimed *pInfo = (VBoxGuestHGCMCallInfoTimed *)pvData; 3412 3434 CHECKRET_MIN_SIZE("HGCM_CALL_TIMED", sizeof(VBoxGuestHGCMCallInfoTimed)); 3413 rc = v bgdIoCtl_HGCMCall(pDevExt, pSession, &pInfo->info, pInfo->u32Timeout,3414 !!pInfo->fInterruptible || pSession->R0Process != NIL_RTR0PROCESS,3415 false /*f32bit*/, false /* fUserData */,3416 RT_OFFSETOF(VBoxGuestHGCMCallInfoTimed, info), cbData, pcbDataReturned);3435 rc = vgdrvIoCtl_HGCMCall(pDevExt, pSession, &pInfo->info, pInfo->u32Timeout, 3436 !!pInfo->fInterruptible || pSession->R0Process != NIL_RTR0PROCESS, 3437 false /*f32bit*/, false /* fUserData */, 3438 RT_OFFSETOF(VBoxGuestHGCMCallInfoTimed, info), cbData, pcbDataReturned); 3417 3439 } 3418 3440 else if (VBOXGUEST_IOCTL_STRIP_SIZE(iFunction) == VBOXGUEST_IOCTL_STRIP_SIZE(VBOXGUEST_IOCTL_HGCM_CALL_USERDATA(0))) … … 3420 3442 bool fInterruptible = true; 3421 3443 CHECKRET_MIN_SIZE("HGCM_CALL", sizeof(VBoxGuestHGCMCallInfo)); 3422 rc = v bgdIoCtl_HGCMCall(pDevExt, pSession, (VBoxGuestHGCMCallInfo *)pvData, RT_INDEFINITE_WAIT,3423 fInterruptible, false /*f32bit*/, true /* fUserData */,3424 0, cbData, pcbDataReturned);3444 rc = vgdrvIoCtl_HGCMCall(pDevExt, pSession, (VBoxGuestHGCMCallInfo *)pvData, RT_INDEFINITE_WAIT, 3445 fInterruptible, false /*f32bit*/, true /* fUserData */, 3446 0, cbData, pcbDataReturned); 3425 3447 } 3426 3448 # ifdef RT_ARCH_AMD64 … … 3429 3451 bool fInterruptible = pSession->R0Process != NIL_RTR0PROCESS; 3430 3452 CHECKRET_MIN_SIZE("HGCM_CALL", sizeof(VBoxGuestHGCMCallInfo)); 3431 rc = v bgdIoCtl_HGCMCall(pDevExt, pSession, (VBoxGuestHGCMCallInfo *)pvData, RT_INDEFINITE_WAIT,3432 fInterruptible, true /*f32bit*/, false /* fUserData */,3433 0, cbData, pcbDataReturned);3453 rc = vgdrvIoCtl_HGCMCall(pDevExt, pSession, (VBoxGuestHGCMCallInfo *)pvData, RT_INDEFINITE_WAIT, 3454 fInterruptible, true /*f32bit*/, false /* fUserData */, 3455 0, cbData, pcbDataReturned); 3434 3456 } 3435 3457 else if (VBOXGUEST_IOCTL_STRIP_SIZE(iFunction) == VBOXGUEST_IOCTL_STRIP_SIZE(VBOXGUEST_IOCTL_HGCM_CALL_TIMED_32(0))) … … 3437 3459 CHECKRET_MIN_SIZE("HGCM_CALL_TIMED", sizeof(VBoxGuestHGCMCallInfoTimed)); 3438 3460 VBoxGuestHGCMCallInfoTimed *pInfo = (VBoxGuestHGCMCallInfoTimed *)pvData; 3439 rc = v bgdIoCtl_HGCMCall(pDevExt, pSession, &pInfo->info, pInfo->u32Timeout,3440 !!pInfo->fInterruptible || pSession->R0Process != NIL_RTR0PROCESS,3441 true /*f32bit*/, false /* fUserData */,3442 RT_OFFSETOF(VBoxGuestHGCMCallInfoTimed, info), cbData, pcbDataReturned);3461 rc = vgdrvIoCtl_HGCMCall(pDevExt, pSession, &pInfo->info, pInfo->u32Timeout, 3462 !!pInfo->fInterruptible || pSession->R0Process != NIL_RTR0PROCESS, 3463 true /*f32bit*/, false /* fUserData */, 3464 RT_OFFSETOF(VBoxGuestHGCMCallInfoTimed, info), cbData, pcbDataReturned); 3443 3465 } 3444 3466 # endif … … 3447 3469 { 3448 3470 CHECKRET_MIN_SIZE("LOG", 1); 3449 rc = v bgdIoCtl_Log(pDevExt, (char *)pvData, cbData, pcbDataReturned, pSession->fUserSession);3471 rc = vgdrvIoCtl_Log(pDevExt, (char *)pvData, cbData, pcbDataReturned, pSession->fUserSession); 3450 3472 } 3451 3473 else … … 3456 3478 CHECKRET_RING0("GETVMMDEVPORT"); 3457 3479 CHECKRET_MIN_SIZE("GETVMMDEVPORT", sizeof(VBoxGuestPortInfo)); 3458 rc = v bgdIoCtl_GetVMMDevPort(pDevExt, (VBoxGuestPortInfo *)pvData, pcbDataReturned);3480 rc = vgdrvIoCtl_GetVMMDevPort(pDevExt, (VBoxGuestPortInfo *)pvData, pcbDataReturned); 3459 3481 break; 3460 3482 … … 3463 3485 CHECKRET_RING0("SET_MOUSE_NOTIFY_CALLBACK"); 3464 3486 CHECKRET_SIZE("SET_MOUSE_NOTIFY_CALLBACK", sizeof(VBoxGuestMouseSetNotifyCallback)); 3465 rc = v bgdIoCtl_SetMouseNotifyCallback(pDevExt, (VBoxGuestMouseSetNotifyCallback *)pvData);3487 rc = vgdrvIoCtl_SetMouseNotifyCallback(pDevExt, (VBoxGuestMouseSetNotifyCallback *)pvData); 3466 3488 break; 3467 3489 #endif … … 3469 3491 case VBOXGUEST_IOCTL_WAITEVENT: 3470 3492 CHECKRET_MIN_SIZE("WAITEVENT", sizeof(VBoxGuestWaitEventInfo)); 3471 rc = v bgdIoCtl_WaitEvent(pDevExt, pSession, (VBoxGuestWaitEventInfo *)pvData,3472 3493 rc = vgdrvIoCtl_WaitEvent(pDevExt, pSession, (VBoxGuestWaitEventInfo *)pvData, 3494 pcbDataReturned, pSession->R0Process != NIL_RTR0PROCESS); 3473 3495 break; 3474 3496 3475 3497 case VBOXGUEST_IOCTL_CANCEL_ALL_WAITEVENTS: 3476 3498 CHECKRET_SIZE("CANCEL_ALL_WAITEVENTS", 0); 3477 rc = v bgdIoCtl_CancelAllWaitEvents(pDevExt, pSession);3499 rc = vgdrvIoCtl_CancelAllWaitEvents(pDevExt, pSession); 3478 3500 break; 3479 3501 3480 3502 case VBOXGUEST_IOCTL_CTL_FILTER_MASK: 3481 3503 CHECKRET_MIN_SIZE("CTL_FILTER_MASK", sizeof(VBoxGuestFilterMaskInfo)); 3482 rc = v bgdIoCtl_CtlFilterMask(pDevExt, pSession, (VBoxGuestFilterMaskInfo *)pvData);3504 rc = vgdrvIoCtl_CtlFilterMask(pDevExt, pSession, (VBoxGuestFilterMaskInfo *)pvData); 3483 3505 break; 3484 3506 … … 3489 3511 # endif 3490 3512 CHECKRET_MIN_SIZE("HGCM_CONNECT", sizeof(VBoxGuestHGCMConnectInfo)); 3491 rc = v bgdIoCtl_HGCMConnect(pDevExt, pSession, (VBoxGuestHGCMConnectInfo *)pvData, pcbDataReturned);3513 rc = vgdrvIoCtl_HGCMConnect(pDevExt, pSession, (VBoxGuestHGCMConnectInfo *)pvData, pcbDataReturned); 3492 3514 break; 3493 3515 … … 3497 3519 # endif 3498 3520 CHECKRET_MIN_SIZE("HGCM_DISCONNECT", sizeof(VBoxGuestHGCMDisconnectInfo)); 3499 rc = v bgdIoCtl_HGCMDisconnect(pDevExt, pSession, (VBoxGuestHGCMDisconnectInfo *)pvData, pcbDataReturned);3521 rc = vgdrvIoCtl_HGCMDisconnect(pDevExt, pSession, (VBoxGuestHGCMDisconnectInfo *)pvData, pcbDataReturned); 3500 3522 break; 3501 3523 #endif /* VBOX_WITH_HGCM */ … … 3503 3525 case VBOXGUEST_IOCTL_CHECK_BALLOON: 3504 3526 CHECKRET_MIN_SIZE("CHECK_MEMORY_BALLOON", sizeof(VBoxGuestCheckBalloonInfo)); 3505 rc = v bgdIoCtl_CheckMemoryBalloon(pDevExt, pSession, (VBoxGuestCheckBalloonInfo *)pvData, pcbDataReturned);3527 rc = vgdrvIoCtl_CheckMemoryBalloon(pDevExt, pSession, (VBoxGuestCheckBalloonInfo *)pvData, pcbDataReturned); 3506 3528 break; 3507 3529 3508 3530 case VBOXGUEST_IOCTL_CHANGE_BALLOON: 3509 3531 CHECKRET_MIN_SIZE("CHANGE_MEMORY_BALLOON", sizeof(VBoxGuestChangeBalloonInfo)); 3510 rc = v bgdIoCtl_ChangeMemoryBalloon(pDevExt, pSession, (VBoxGuestChangeBalloonInfo *)pvData, pcbDataReturned);3532 rc = vgdrvIoCtl_ChangeMemoryBalloon(pDevExt, pSession, (VBoxGuestChangeBalloonInfo *)pvData, pcbDataReturned); 3511 3533 break; 3512 3534 3513 3535 case VBOXGUEST_IOCTL_WRITE_CORE_DUMP: 3514 3536 CHECKRET_MIN_SIZE("WRITE_CORE_DUMP", sizeof(VBoxGuestWriteCoreDump)); 3515 rc = v bgdIoCtl_WriteCoreDump(pDevExt, (VBoxGuestWriteCoreDump *)pvData);3537 rc = vgdrvIoCtl_WriteCoreDump(pDevExt, (VBoxGuestWriteCoreDump *)pvData); 3516 3538 break; 3517 3539 3518 3540 case VBOXGUEST_IOCTL_SET_MOUSE_STATUS: 3519 3541 CHECKRET_SIZE("SET_MOUSE_STATUS", sizeof(uint32_t)); 3520 rc = v bgdIoCtl_SetMouseStatus(pDevExt, pSession, *(uint32_t *)pvData);3542 rc = vgdrvIoCtl_SetMouseStatus(pDevExt, pSession, *(uint32_t *)pvData); 3521 3543 break; 3522 3544 … … 3524 3546 case VBOXGUEST_IOCTL_DPC_LATENCY_CHECKER: 3525 3547 CHECKRET_SIZE("DPC_LATENCY_CHECKER", 0); 3526 rc = V bgdNtIOCtl_DpcLatencyChecker();3548 rc = VGDrvNtIOCtl_DpcLatencyChecker(); 3527 3549 break; 3528 3550 #endif … … 3530 3552 case VBOXGUEST_IOCTL_GUEST_CAPS_ACQUIRE: 3531 3553 CHECKRET_SIZE("GUEST_CAPS_ACQUIRE", sizeof(VBoxGuestCapsAquire)); 3532 rc = v bgdIoCtl_GuestCapsAcquire(pDevExt, pSession, (VBoxGuestCapsAquire *)pvData);3554 rc = vgdrvIoCtl_GuestCapsAcquire(pDevExt, pSession, (VBoxGuestCapsAquire *)pvData); 3533 3555 *pcbDataReturned = sizeof(VBoxGuestCapsAquire); 3534 3556 break; … … 3536 3558 case VBOXGUEST_IOCTL_SET_GUEST_CAPABILITIES: 3537 3559 CHECKRET_MIN_SIZE("SET_GUEST_CAPABILITIES", sizeof(VBoxGuestSetCapabilitiesInfo)); 3538 rc = v bgdIoCtl_SetCapabilities(pDevExt, pSession, (VBoxGuestSetCapabilitiesInfo *)pvData);3560 rc = vgdrvIoCtl_SetCapabilities(pDevExt, pSession, (VBoxGuestSetCapabilitiesInfo *)pvData); 3539 3561 break; 3540 3562 3541 3563 default: 3542 3564 { 3543 LogRel(("V bgdCommonIoCtl: Unknown request iFunction=%#x stripped size=%#x\n",3565 LogRel(("VGDrvCommonIoCtl: Unknown request iFunction=%#x stripped size=%#x\n", 3544 3566 iFunction, VBOXGUEST_IOCTL_STRIP_SIZE(iFunction))); 3545 3567 rc = VERR_NOT_SUPPORTED; … … 3549 3571 } 3550 3572 3551 LogFlow(("V bgdCommonIoCtl: returns %Rrc *pcbDataReturned=%zu\n", rc, pcbDataReturned ? *pcbDataReturned : 0));3573 LogFlow(("VGDrvCommonIoCtl: returns %Rrc *pcbDataReturned=%zu\n", rc, pcbDataReturned ? *pcbDataReturned : 0)); 3552 3574 return rc; 3553 3575 } … … 3555 3577 3556 3578 /** 3557 * Used by V bgdCommonISR as well as the acquire guest capability code.3579 * Used by VGDrvCommonISR as well as the acquire guest capability code. 3558 3580 * 3559 3581 * @returns VINF_SUCCESS on success. On failure, ORed together … … 3562 3584 * @param fEvents The events to dispatch. 3563 3585 */ 3564 static int v bgdDispatchEventsLocked(PVBOXGUESTDEVEXT pDevExt, uint32_t fEvents)3586 static int vgdrvDispatchEventsLocked(PVBOXGUESTDEVEXT pDevExt, uint32_t fEvents) 3565 3587 { 3566 3588 PVBOXGUESTWAIT pWait; … … 3579 3601 check first, then deal with VBOXGUEST_ACQUIRE_STYLE_EVENTS as applicable. */ 3580 3602 if (fHandledEvents & VBOXGUEST_ACQUIRE_STYLE_EVENTS) 3581 fHandledEvents &= v bgdGetAllowedEventMaskForSession(pDevExt, pWait->pSession);3603 fHandledEvents &= vgdrvGetAllowedEventMaskForSession(pDevExt, pWait->pSession); 3582 3604 if (fHandledEvents) 3583 3605 { … … 3610 3632 * @param pDevExt The VBoxGuest device extension. 3611 3633 */ 3612 bool V bgdCommonISR(PVBOXGUESTDEVEXT pDevExt)3634 bool VGDrvCommonISR(PVBOXGUESTDEVEXT pDevExt) 3613 3635 { 3614 3636 VMMDevEvents volatile *pReq = pDevExt->pIrqAckEvents; … … 3643 3665 uint32_t fEvents = pReq->events; 3644 3666 3645 Log3(("V bgdCommonISR: acknowledge events succeeded %#RX32\n", fEvents));3667 Log3(("VGDrvCommonISR: acknowledge events succeeded %#RX32\n", fEvents)); 3646 3668 3647 3669 /* … … 3687 3709 * Normal FIFO waiter evaluation. 3688 3710 */ 3689 rc |= v bgdDispatchEventsLocked(pDevExt, fEvents);3711 rc |= vgdrvDispatchEventsLocked(pDevExt, fEvents); 3690 3712 } 3691 3713 else /* something is serious wrong... */ 3692 Log(("V bgdCommonISR: acknowledge events failed rc=%Rrc (events=%#x)!!\n",3714 Log(("VGDrvCommonISR: acknowledge events failed rc=%Rrc (events=%#x)!!\n", 3693 3715 pReq->header.rc, pReq->events)); 3694 3716 } 3695 3717 else 3696 Log3(("V bgdCommonISR: not ours\n"));3718 Log3(("VGDrvCommonISR: not ours\n")); 3697 3719 3698 3720 RTSpinlockRelease(pDevExt->EventSpinlock); … … 3704 3726 * care of it. Same on darwin, doing it in the work loop callback. 3705 3727 */ 3706 V bgdCommonWaitDoWakeUps(pDevExt);3728 VGDrvCommonWaitDoWakeUps(pDevExt); 3707 3729 #endif 3708 3730 … … 3714 3736 { 3715 3737 ASMAtomicIncU32(&pDevExt->u32MousePosChangedSeq); 3716 V bgdNativeISRMousePollEvent(pDevExt);3738 VGDrvNativeISRMousePollEvent(pDevExt); 3717 3739 } 3718 3740 -
trunk/src/VBox/Additions/common/VBoxGuest/VBoxGuestIDC-unix.c.h
r54608 r58053 69 69 #endif 70 70 71 rc = V bgdCommonCreateKernelSession(&g_DevExt, &pSession);71 rc = VGDrvCommonCreateKernelSession(&g_DevExt, &pSession); 72 72 if (RT_SUCCESS(rc)) 73 73 { … … 106 106 107 107 AssertPtrReturn(pSession, VERR_INVALID_POINTER); 108 V bgdCommonCloseSession(&g_DevExt, pSession);108 VGDrvCommonCloseSession(&g_DevExt, pSession); 109 109 110 110 #ifdef RT_OS_SOLARIS … … 144 144 ("SC: %p != %p\n", pSession->pDevExt, &g_DevExt), VERR_INVALID_HANDLE); 145 145 146 return V bgdCommonIoCtl(iCmd, &g_DevExt, pSession, pvData, cbData, pcbDataReturned);146 return VGDrvCommonIoCtl(iCmd, &g_DevExt, pSession, pvData, cbData, pcbDataReturned); 147 147 } 148 148 -
trunk/src/VBox/Additions/common/VBoxGuest/VBoxGuestInternal.h
r55275 r58053 314 314 RT_C_DECLS_BEGIN 315 315 316 int V bgdCommonInitDevExt(PVBOXGUESTDEVEXT pDevExt, uint16_t IOPortBase, void *pvMMIOBase, uint32_t cbMMIO,317 VBOXOSTYPE enmOSType, uint32_t fEvents);318 bool V bgdCommonISR(PVBOXGUESTDEVEXT pDevExt);319 void V bgdCommonDeleteDevExt(PVBOXGUESTDEVEXT pDevExt);320 int V bgdCommonReinitDevExtAfterHibernation(PVBOXGUESTDEVEXT pDevExt, VBOXOSTYPE enmOSType);316 int VGDrvCommonInitDevExt(PVBOXGUESTDEVEXT pDevExt, uint16_t IOPortBase, void *pvMMIOBase, uint32_t cbMMIO, 317 VBOXOSTYPE enmOSType, uint32_t fEvents); 318 bool VGDrvCommonISR(PVBOXGUESTDEVEXT pDevExt); 319 void VGDrvCommonDeleteDevExt(PVBOXGUESTDEVEXT pDevExt); 320 int VGDrvCommonReinitDevExtAfterHibernation(PVBOXGUESTDEVEXT pDevExt, VBOXOSTYPE enmOSType); 321 321 #ifdef VBOXGUEST_USE_DEFERRED_WAKE_UP 322 void V bgdCommonWaitDoWakeUps(PVBOXGUESTDEVEXT pDevExt);323 #endif 324 325 int V bgdCommonCreateUserSession(PVBOXGUESTDEVEXT pDevExt, PVBOXGUESTSESSION *ppSession);326 int V bgdCommonCreateKernelSession(PVBOXGUESTDEVEXT pDevExt, PVBOXGUESTSESSION *ppSession);327 void V bgdCommonCloseSession(PVBOXGUESTDEVEXT pDevExt, PVBOXGUESTSESSION pSession);328 329 int V bgdCommonIoCtlFast(unsigned iFunction, PVBOXGUESTDEVEXT pDevExt, PVBOXGUESTSESSION pSession);330 int V bgdCommonIoCtl(unsigned iFunction, PVBOXGUESTDEVEXT pDevExt, PVBOXGUESTSESSION pSession,331 void *pvData, size_t cbData, size_t *pcbDataReturned);322 void VGDrvCommonWaitDoWakeUps(PVBOXGUESTDEVEXT pDevExt); 323 #endif 324 325 int VGDrvCommonCreateUserSession(PVBOXGUESTDEVEXT pDevExt, PVBOXGUESTSESSION *ppSession); 326 int VGDrvCommonCreateKernelSession(PVBOXGUESTDEVEXT pDevExt, PVBOXGUESTSESSION *ppSession); 327 void VGDrvCommonCloseSession(PVBOXGUESTDEVEXT pDevExt, PVBOXGUESTSESSION pSession); 328 329 int VGDrvCommonIoCtlFast(unsigned iFunction, PVBOXGUESTDEVEXT pDevExt, PVBOXGUESTSESSION pSession); 330 int VGDrvCommonIoCtl(unsigned iFunction, PVBOXGUESTDEVEXT pDevExt, PVBOXGUESTSESSION pSession, 331 void *pvData, size_t cbData, size_t *pcbDataReturned); 332 332 333 333 /** … … 339 339 * @param pDevExt The device extension. 340 340 */ 341 void V bgdNativeISRMousePollEvent(PVBOXGUESTDEVEXT pDevExt);341 void VGDrvNativeISRMousePollEvent(PVBOXGUESTDEVEXT pDevExt); 342 342 343 343 344 344 #ifdef VBOX_WITH_DPC_LATENCY_CHECKER 345 int V bgdNtIOCtl_DpcLatencyChecker(void);345 int VGDrvNtIOCtl_DpcLatencyChecker(void); 346 346 #endif 347 347
Note:
See TracChangeset
for help on using the changeset viewer.