Changeset 28434 in vbox
- Timestamp:
- Apr 17, 2010 6:08:28 PM (15 years ago)
- svn:sync-xref-src-repo-rev:
- 60205
- Location:
- trunk
- Files:
-
- 30 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/include/VBox/HostServices/GuestControlSvc.h
r28402 r28434 91 91 uint32_t u32PID; 92 92 /* The process status. */ 93 uint32_t u32Status; 93 uint32_t u32Status; 94 94 /** Optional flags (not used atm). */ 95 95 uint32_t u32Flags; … … 98 98 /** Size of optional data buffer (not used atm). */ 99 99 uint32_t cbData; 100 100 101 101 } HOSTEXECCALLBACKDATA, *PHOSTEXECCALLBACKDATA; 102 102 -
trunk/include/VBox/VMMDev.h
r28415 r28434 1071 1071 * Shared region description 1072 1072 */ 1073 typedef struct 1073 typedef struct 1074 1074 { 1075 1075 RTGCPTR64 GCRegionAddr; … … 1084 1084 * Shared module registration 1085 1085 */ 1086 typedef struct 1086 typedef struct 1087 1087 { 1088 1088 /** Header. */ … … 1107 1107 * Shared module unregistration 1108 1108 */ 1109 typedef struct 1109 typedef struct 1110 1110 { 1111 1111 /** Header. */ -
trunk/include/VBox/gmm.h
r28422 r28434 533 533 GMMR3DECL(int) GMMR3BalloonedPages(PVM pVM, GMMBALLOONACTION enmAction, uint32_t cBalloonedPages); 534 534 GMMR3DECL(int) GMMR3QueryVMMMemoryStats(PVM pVM, uint64_t *pcTotalAllocPages, uint64_t *pcTotalFreePages, uint64_t *pcTotalBalloonPages); 535 GMMR3DECL(int) GMMR3RegisterSharedModule(PVM pVM, char *pszModuleName, char *pszVersion, RTGCPTR GCBaseAddr, uint32_t cbModule, 535 GMMR3DECL(int) GMMR3RegisterSharedModule(PVM pVM, char *pszModuleName, char *pszVersion, RTGCPTR GCBaseAddr, uint32_t cbModule, 536 536 unsigned cRegions, VMMDEVSHAREDREGIONDESC *pRegions); 537 537 GMMR3DECL(int) GMMR3UnregisterSharedModule(PVM pVM, char *pszModuleName, char *pszVersion, RTGCPTR GCBaseAddr, uint32_t cbModule); -
trunk/src/VBox/Additions/common/VBoxGuestLib/Makefile.kmk
r28403 r28434 111 111 ifneq ($(KBUILD_TARGET),win) ## @todo get rid of this hack (as soon as it's all implemented / #defined). 112 112 VBoxGuestR3Lib_SOURCES += \ 113 VBoxGuestR3LibDaemonize.cpp \114 VBoxGuestR3LibMouse.cpp \115 VBoxGuestR3LibSeamless.cpp \116 VBoxGuestR3LibVideo.cpp113 VBoxGuestR3LibDaemonize.cpp \ 114 VBoxGuestR3LibMouse.cpp \ 115 VBoxGuestR3LibSeamless.cpp \ 116 VBoxGuestR3LibVideo.cpp 117 117 endif 118 118 ifdef VBOX_WITH_GUEST_PROPS 119 119 VBoxGuestR3Lib_SOURCES += \ 120 VBoxGuestR3LibGuestProp.cpp \121 VBoxGuestR3LibHostVersion.cpp120 VBoxGuestR3LibGuestProp.cpp \ 121 VBoxGuestR3LibHostVersion.cpp 122 122 endif 123 123 ifdef VBOX_WITH_GUEST_CONTROL 124 124 VBoxGuestR3Lib_SOURCES += \ 125 VBoxGuestR3LibGuestCtrl.cpp125 VBoxGuestR3LibGuestCtrl.cpp 126 126 endif 127 127 ifdef VBOX_WITH_PAGE_SHARING 128 128 VBoxGuestR3Lib_SOURCES += \ 129 VBoxGuestR3LibModule.cpp129 VBoxGuestR3LibModule.cpp 130 130 endif 131 131 -
trunk/src/VBox/Additions/common/VBoxGuestLib/VBoxGuestR3LibGuestCtrl.cpp
r28402 r28434 231 231 ** @todo Docs! 232 232 */ 233 VBGLR3DECL(int) VbglR3GuestCtrlExecReportStatus(uint32_t u32ClientId, 233 VBGLR3DECL(int) VbglR3GuestCtrlExecReportStatus(uint32_t u32ClientId, 234 234 uint32_t u32Context, 235 235 uint32_t u32PID, … … 259 259 rc = rc2; 260 260 } 261 return rc; 262 } 263 261 return rc; 262 } 263 -
trunk/src/VBox/Additions/common/VBoxGuestLib/VBoxGuestR3LibModule.cpp
r28433 r28434 48 48 * @param pRegions Shared region(s) 49 49 */ 50 VBGLR3DECL(int) VbglR3RegisterSharedModule(char *pszModuleName, char *pszVersion, 50 VBGLR3DECL(int) VbglR3RegisterSharedModule(char *pszModuleName, char *pszVersion, 51 51 RTGCPTR64 GCBaseAddr, uint32_t cbModule, 52 52 unsigned cRegions, VMMDEVSHAREDREGIONDESC *pRegions) … … 80 80 RTMemFree(pReq); 81 81 return rc; 82 82 83 83 } 84 84 -
trunk/src/VBox/Additions/common/VBoxService/VBoxServiceControl.cpp
r28420 r28434 145 145 } 146 146 else 147 { 148 rc = VBoxServiceControlExecProcess(uContextID, szCmd, uFlags, szArgs, uNumArgs, 147 { 148 rc = VBoxServiceControlExecProcess(uContextID, szCmd, uFlags, szArgs, uNumArgs, 149 149 szEnv, cbEnv, uNumEnvVars, 150 150 szStdIn, szStdOut, szStdErr, … … 272 272 if (RTListNodeIsLast(&g_GuestControlExecThreads, &pNode->Node)) 273 273 break; 274 275 PVBOXSERVICECTRLTHREAD pNext = RTListNodeGetNext(&pNode->Node, VBOXSERVICECTRLTHREAD, Node); 274 275 PVBOXSERVICECTRLTHREAD pNext = RTListNodeGetNext(&pNode->Node, VBOXSERVICECTRLTHREAD, Node); 276 276 pNode = pNext; 277 277 } -
trunk/src/VBox/Additions/common/VBoxService/VBoxServiceControlExec.cpp
r28420 r28434 267 267 */ 268 268 AssertPtr(pThread); 269 VBoxServiceVerbose(3, "Control: Process started: PID=%u, CID=%u\n", 269 VBoxServiceVerbose(3, "Control: Process started: PID=%u, CID=%u\n", 270 270 pThread->uPID, pThread->uContextID); 271 271 rc = VbglR3GuestCtrlExecReportStatus(pThread->uClientID, pThread->uContextID, 272 pThread->uPID, PROC_STS_STARTED, 0 /* u32Flags */, 272 pThread->uPID, PROC_STS_STARTED, 0 /* u32Flags */, 273 273 NULL /* pvData */, 0 /* cbData */); 274 274 … … 384 384 /* 385 385 * Need to exit? 386 */ 386 */ 387 387 if (pThread->fShutdown) 388 388 break; … … 463 463 VBoxServiceError("Control: Process has reached an undefined status!\n"); 464 464 } 465 466 VBoxServiceVerbose(3, "Control: Process ended: PID=%u, CID=%u, Status=%u, Flags=%u\n", 465 466 VBoxServiceVerbose(3, "Control: Process ended: PID=%u, CID=%u, Status=%u, Flags=%u\n", 467 467 pThread->uPID, pThread->uContextID, uStatus, uFlags); 468 468 rc = VbglR3GuestCtrlExecReportStatus(pThread->uClientID, pThread->uContextID, … … 529 529 /** Allocates and gives back a thread data struct which then can be used by the worker thread. */ 530 530 int VBoxServiceControlExecAllocateThreadData(PVBOXSERVICECTRLTHREAD pThread, 531 uint32_t u32ContextID, 532 const char *pszCmd, uint32_t uFlags, 533 const char *pszArgs, uint32_t uNumArgs, 531 uint32_t u32ContextID, 532 const char *pszCmd, uint32_t uFlags, 533 const char *pszArgs, uint32_t uNumArgs, 534 534 const char *pszEnv, uint32_t cbEnv, uint32_t uNumEnvVars, 535 535 const char *pszStdIn, const char *pszStdOut, const char *pszStdErr, … … 554 554 555 555 /* Prepare argument list. */ 556 int rc = RTGetOptArgvFromString(&pThread->papszArgs, (int*)&pThread->uNumArgs, 556 int rc = RTGetOptArgvFromString(&pThread->papszArgs, (int*)&pThread->uNumArgs, 557 557 (uNumArgs > 0) ? pszArgs : "", NULL); 558 558 /* Did we get the same result? */ … … 592 592 593 593 /* Adjust time limit value. */ 594 pThread->uTimeLimitMS = ( (uTimeLimitMS == UINT32_MAX) 594 pThread->uTimeLimitMS = ( (uTimeLimitMS == UINT32_MAX) 595 595 || (uTimeLimitMS == 0)) ? 596 596 RT_INDEFINITE_WAIT : uTimeLimitMS; … … 695 695 rc = RTProcCreateEx(pThread->pszCmd, pThread->papszArgs, hEnv, pThread->uFlags, 696 696 phStdIn, phStdOut, phStdErr, 697 strlen(pThread->pszUser) ? pThread->pszUser : NULL, 698 strlen(pThread->pszUser) && strlen(pThread->pszPassword) ? pThread->pszPassword : NULL, 697 strlen(pThread->pszUser) ? pThread->pszUser : NULL, 698 strlen(pThread->pszUser) && strlen(pThread->pszPassword) ? pThread->pszPassword : NULL, 699 699 &hProcess); 700 700 if (RT_SUCCESS(rc)) … … 730 730 else /* Something went wrong; report error! */ 731 731 { 732 int rc2 = VbglR3GuestCtrlExecReportStatus(pThread->uClientID, pThread->uContextID, pThread->uPID, 732 int rc2 = VbglR3GuestCtrlExecReportStatus(pThread->uClientID, pThread->uContextID, pThread->uPID, 733 733 PROC_STS_ERROR, rc, 734 734 NULL /* pvData */, 0 /* cbData */); 735 735 if (RT_FAILURE(rc2)) 736 VBoxServiceError("Control: Could not report process start error! Error: %Rrc (process error %Rrc)\n", 736 VBoxServiceError("Control: Could not report process start error! Error: %Rrc (process error %Rrc)\n", 737 737 rc2, rc); 738 738 } … … 753 753 754 754 VbglR3GuestCtrlDisconnect(pThread->uClientID); 755 VBoxServiceVerbose(3, "Control: Thread of process \"%s\" (PID: %u) ended with rc=%Rrc\n", 755 VBoxServiceVerbose(3, "Control: Thread of process \"%s\" (PID: %u) ended with rc=%Rrc\n", 756 756 pThread->pszCmd, pThread->uPID, rc); 757 757 return rc; … … 765 765 } 766 766 767 int VBoxServiceControlExecProcess(uint32_t uContextID, const char *pszCmd, uint32_t uFlags, 768 const char *pszArgs, uint32_t uNumArgs, 767 int VBoxServiceControlExecProcess(uint32_t uContextID, const char *pszCmd, uint32_t uFlags, 768 const char *pszArgs, uint32_t uNumArgs, 769 769 const char *pszEnv, uint32_t cbEnv, uint32_t uNumEnvVars, 770 770 const char *pszStdIn, const char *pszStdOut, const char *pszStdErr, … … 777 777 { 778 778 rc = VBoxServiceControlExecAllocateThreadData(pThread, 779 uContextID, 780 pszCmd, uFlags, 779 uContextID, 780 pszCmd, uFlags, 781 781 pszArgs, uNumArgs, 782 pszEnv, cbEnv, uNumEnvVars, 783 pszStdIn, pszStdOut, pszStdErr, 782 pszEnv, cbEnv, uNumEnvVars, 783 pszStdIn, pszStdOut, pszStdErr, 784 784 pszUser, pszPassword, 785 785 uTimeLimitMS); 786 786 if (RT_SUCCESS(rc)) 787 787 { 788 rc = RTThreadCreate(&pThread->Thread, VBoxServiceControlExecThread, 788 rc = RTThreadCreate(&pThread->Thread, VBoxServiceControlExecThread, 789 789 (void *)(PVBOXSERVICECTRLTHREAD*)pThread, 0, 790 790 RTTHREADTYPE_DEFAULT, RTTHREADFLAGS_WAITABLE, "Exec"); 791 791 if (RT_FAILURE(rc)) 792 792 { 793 VBoxServiceError("Control: RTThreadCreate failed, rc=%Rrc\n, pThread=%p\n", 793 VBoxServiceError("Control: RTThreadCreate failed, rc=%Rrc\n, pThread=%p\n", 794 794 rc, pThread); 795 795 } … … 808 808 } 809 809 } 810 810 811 811 if (RT_FAILURE(rc)) 812 812 VBoxServiceControlExecDestroyThreadData(pThread); -
trunk/src/VBox/Additions/common/VBoxService/VBoxServiceInternal.h
r28420 r28434 231 231 232 232 #ifdef VBOX_WITH_GUEST_CONTROL 233 extern int VBoxServiceControlExecProcess(uint32_t uContext, const char *pszCmd, uint32_t uFlags, 234 const char *pszArgs, uint32_t uNumArgs, 233 extern int VBoxServiceControlExecProcess(uint32_t uContext, const char *pszCmd, uint32_t uFlags, 234 const char *pszArgs, uint32_t uNumArgs, 235 235 const char *pszEnv, uint32_t cbEnv, uint32_t uNumEnvVars, 236 236 const char *pszStdIn, const char *pszStdOut, const char *pszStdErr, -
trunk/src/VBox/Additions/common/VBoxService/VBoxServicePageSharing.cpp
r28432 r28434 46 46 47 47 #if defined(RT_OS_WINDOWS) && !defined(TARGET_NT4) 48 #include <tlhelp32.h> 48 #include <tlhelp32.h> 49 49 #include <psapi.h> 50 50 … … 162 162 } 163 163 } 164 164 165 165 pBaseAddress = (BYTE *)MemInfo[i].BaseAddress + MemInfo[i].RegionSize; 166 166 if (dwModuleSize > MemInfo[i].RegionSize) … … 175 175 while (dwModuleSize); 176 176 177 int rc = VbglR3RegisterSharedModule(pModule->Info.szModule, pModule->szFileVersion, (RTGCPTR64)pModule->Info.modBaseAddr, 177 int rc = VbglR3RegisterSharedModule(pModule->Info.szModule, pModule->szFileVersion, (RTGCPTR64)pModule->Info.modBaseAddr, 178 178 pModule->Info.modBaseSize, idxRegion, aRegions); 179 179 AssertRC(rc); … … 238 238 } 239 239 240 printf( "\n\n MODULE NAME: %s", ModuleInfo.szModule ); 241 printf( "\n executable = %s", ModuleInfo.szExePath ); 242 printf( "\n process ID = 0x%08X", ModuleInfo.th32ProcessID ); 243 printf( "\n base address = 0x%08X", (DWORD) ModuleInfo.modBaseAddr ); 244 printf( "\n base size = %d", ModuleInfo.modBaseSize ); 240 printf( "\n\n MODULE NAME: %s", ModuleInfo.szModule ); 241 printf( "\n executable = %s", ModuleInfo.szExePath ); 242 printf( "\n process ID = 0x%08X", ModuleInfo.th32ProcessID ); 243 printf( "\n base address = 0x%08X", (DWORD) ModuleInfo.modBaseAddr ); 244 printf( "\n base size = %d", ModuleInfo.modBaseSize ); 245 245 } 246 246 while (Module32Next(hSnapshot, &ModuleInfo)); … … 270 270 Process32First(hSnapshot, &ProcessInfo); 271 271 272 do 272 do 273 273 { 274 274 VBoxServicePageSharingInspectModules(ProcessInfo.th32ProcessID, &pNewTree); … … 361 361 for (;;) 362 362 { 363 363 364 364 VBoxServicePageSharingInspectGuest(); 365 365 -
trunk/src/VBox/Additions/linux/sharedfolders/dirops.c
r28253 r28434 465 465 } 466 466 467 /* 467 /* 468 468 * Don't close this handle right now. We assume that the same file is 469 469 * opened with sf_reg_open() and later closed with sf_reg_close(). Save -
trunk/src/VBox/Additions/x11/vboxvideo/vboxvideo_70.c
r28372 r28434 444 444 * This function hooks into the chain that is called when framebuffer access 445 445 * is allowed or disallowed by a call to EnableDisableFBAccess in the server. 446 * In other words, it observes when the server wishes access to the 446 * In other words, it observes when the server wishes access to the 447 447 * framebuffer to be enabled and when it should be disabled. We need to know 448 448 * this because we disable access ourselves during mode switches (presumably 449 449 * the server should do this but it doesn't) and want to know whether to 450 * restore it or not afterwards. 450 * restore it or not afterwards. 451 451 */ 452 452 static void … … 835 835 } 836 836 pScrn->vtSema = FALSE; 837 837 838 838 /* Destroy the VGA hardware record */ 839 839 vgaHWFreeHWRec(pScrn); -
trunk/src/VBox/Devices/Network/DevPCNet.cpp
r28393 r28434 4844 4844 pThis->pDrvBase = NULL; 4845 4845 pThis->pDrvR3 = NULL; 4846 pThis->pDrvR0 = (PPDMINETWORKUPR0)NULL;4847 pThis->pDrvRC = (PPDMINETWORKUPRC)NULL;4846 pThis->pDrvR0 = NIL_RTR0PTR; 4847 pThis->pDrvRC = NIL_RTRCPTR; 4848 4848 4849 4849 PDMCritSectLeave(&pThis->CritSect); -
trunk/src/VBox/Devices/Network/slirp/bsd/kern/uipc_mbuf.c
r28191 r28434 293 293 case EXT_DISPOSABLE: 294 294 #ifndef VBOX 295 /* This code is dead in VBOX port of BSD mbufs (probably will be used for EXT_SBUFS some day) 295 /* This code is dead in VBOX port of BSD mbufs (probably will be used for EXT_SBUFS some day) 296 296 * @todo once bsd sbufs will be on trunk think about this code. 297 297 */ -
trunk/src/VBox/Devices/Network/slirp/misc.c
r28397 r28434 155 155 } 156 156 157 /* we're on sub-zone we need get chunk of master zone and split 157 /* we're on sub-zone we need get chunk of master zone and split 158 158 * it for sub-zone conforming chunks. 159 159 */ … … 168 168 zone->max_items ++; 169 169 it = &((struct item *)sub_area)[-1]; 170 /* it's chunk descriptor of master zone we should remove it 170 /* it's chunk descriptor of master zone we should remove it 171 171 * from the master list first 172 172 */ … … 267 267 LIST_INSERT_HEAD(&zone->free_items, it, list); 268 268 } 269 269 270 270 } 271 271 -
trunk/src/VBox/Devices/Network/slirp/slirp.c
r28397 r28434 57 57 58 58 /* 59 * DO_CHECK_FD_SET is used in dumping events on socket, including POLLNVAL. 60 * gcc warns about attempts to log POLLNVAL so construction in a last to lines 61 * used to catch POLLNVAL while logging and return false in case of error while 59 * DO_CHECK_FD_SET is used in dumping events on socket, including POLLNVAL. 60 * gcc warns about attempts to log POLLNVAL so construction in a last to lines 61 * used to catch POLLNVAL while logging and return false in case of error while 62 62 * normal usage. 63 63 */ -
trunk/src/VBox/Devices/Network/slirp/slirp.h
r28172 r28434 80 80 #endif /* !RT_OS_WINDOWS */ 81 81 82 #if defined(RT_OS_WINDOWS) || defined (RT_OS_SOLARIS) 82 #if defined(RT_OS_WINDOWS) || defined (RT_OS_SOLARIS) 83 83 typedef uint64_t u_int64_t; 84 84 typedef char *caddr_t; -
trunk/src/VBox/Devices/Network/slirp/tcp_subr.c
r28023 r28434 369 369 * (see slirp.c for details about setting so_close member). 370 370 */ 371 if ( tp 372 && tp->t_socket 371 if ( tp 372 && tp->t_socket 373 373 && !tp->t_socket->so_close) 374 374 tcp_output(pData, tp); -
trunk/src/VBox/Devices/VMMDev/VMMDev.cpp
r28415 r28434 1775 1775 else 1776 1776 { 1777 pRequestHeader->rc = PGMR3SharedModuleRegister(pVM, pReqModule->GCBaseAddr, pReqModule->cbModule, 1778 pReqModule->szName, pReqModule->szVersion, 1777 pRequestHeader->rc = PGMR3SharedModuleRegister(pVM, pReqModule->GCBaseAddr, pReqModule->cbModule, 1778 pReqModule->szName, pReqModule->szVersion, 1779 1779 pReqModule->cRegions, pReqModule->aRegions); 1780 1780 } … … 1792 1792 else 1793 1793 { 1794 pRequestHeader->rc = PGMR3SharedModuleUnregister(pVM, pReqModule->GCBaseAddr, pReqModule->cbModule, 1794 pRequestHeader->rc = PGMR3SharedModuleUnregister(pVM, pReqModule->GCBaseAddr, pReqModule->cbModule, 1795 1795 pReqModule->szName, pReqModule->szVersion); 1796 1796 } -
trunk/src/VBox/Frontends/VBoxManage/VBoxManageGuestCtrl.cpp
r28358 r28434 251 251 ULONG uPID = 0; 252 252 253 if (verbose) 253 if (verbose) 254 254 { 255 255 if (uTimeoutMS == 0) … … 301 301 CHECK_ERROR_RET(progress, COMGETTER(ResultCode)(&iRc), rc); 302 302 303 if (verbose) 303 if (verbose) 304 304 RTPrintf("Process completed.\n"); 305 305 … … 310 310 Bstr strOutput; 311 311 CHECK_ERROR_BREAK(guest, GetProcessOutput(uPID, 0 /* @todo */, strOutput.asOutParam())); 312 if (verbose) 312 if (verbose) 313 313 RTPrintf("Output is:\n"); 314 314 //RTPrintf(strOutput.raw()); -
trunk/src/VBox/Frontends/VBoxManage/VBoxManageInfo.cpp
r28348 r28434 812 812 if (details == VMINFO_MACHINEREADABLE) 813 813 { 814 strNatForwardings = Utf8StrFmt("%sForwarding(%d)=\"%s,%s,%s,%s,%s,%s\"\n", 814 strNatForwardings = Utf8StrFmt("%sForwarding(%d)=\"%s,%s,%s,%s,%s,%s\"\n", 815 815 strNatForwardings.raw(), i, strName.raw(), strProto.raw(), 816 816 strHostIP.isEmpty() ? "": strHostIP.raw(), strHostPort.raw(), … … 820 820 { 821 821 strNatForwardings = Utf8StrFmt("%sNIC %d Rule(%d): name = %s, protocol = %s," 822 " host ip = %s, host port = %s, guest ip = %s, guest port = %s\n", 822 " host ip = %s, host port = %s, guest ip = %s, guest port = %s\n", 823 823 strNatForwardings.raw(), currentNIC + 1, i, strName.raw(), strProto.raw(), 824 824 strHostIP.isEmpty() ? "": strHostIP.raw(), strHostPort.raw(), … … 832 832 ULONG tcpRcv = 0; 833 833 driver->GetNetworkSettings(&mtu, &sockSnd, &sockRcv, &tcpSnd, &tcpRcv); 834 834 835 835 if (details == VMINFO_MACHINEREADABLE) 836 836 { -
trunk/src/VBox/Frontends/VBoxManage/VBoxManageModifyVM.cpp
r28139 r28434 1129 1129 { 1130 1130 ComPtr<INetworkAdapter> nic; 1131 1131 1132 1132 CHECK_ERROR_BREAK(machine, GetNetworkAdapter(GetOptState.uIndex - 1, nic.asOutParam())); 1133 1133 ASSERT(nic); -
trunk/src/VBox/Main/GuestImpl.cpp
r28402 r28434 266 266 267 267 STDMETHODIMP Guest::InternalGetStatistics(ULONG *aCpuUser, ULONG *aCpuKernel, ULONG *aCpuIdle, 268 ULONG *aMemTotal, ULONG *aMemFree, ULONG *aMemBalloon, 269 ULONG *aMemCache, ULONG *aPageTotal, 268 ULONG *aMemTotal, ULONG *aMemFree, ULONG *aMemBalloon, 269 ULONG *aMemCache, ULONG *aPageTotal, 270 270 ULONG *aMemAllocTotal, ULONG *aMemFreeTotal, ULONG *aMemBalloonTotal) 271 271 { … … 628 628 aTimeoutMS = UINT32_MAX; 629 629 630 /* Prepare arguments. */ 630 /* Prepare arguments. */ 631 631 com::SafeArray<IN_BSTR> args(ComSafeArrayInArg(aArguments)); 632 632 uint32_t uNumArgs = args.size(); … … 652 652 char *pszArgs = NULL; 653 653 if (uNumArgs > 0) 654 vrc = RTGetOptArgvToString(&pszArgs, papszArgv, 0); 654 vrc = RTGetOptArgvToString(&pszArgs, papszArgv, 0); 655 655 if (RT_SUCCESS(vrc)) 656 656 { … … 659 659 /* Prepare environment. */ 660 660 com::SafeArray<IN_BSTR> env(ComSafeArrayInArg(aEnvironment)); 661 661 662 662 void *pvEnv = NULL; 663 663 uint32_t uNumEnv = 0; 664 664 uint32_t cbEnv = 0; 665 665 666 666 for (unsigned i = 0; i < env.size(); i++) 667 667 { … … 672 672 673 673 if (RT_SUCCESS(vrc)) 674 { 674 { 675 675 PHOSTEXECCALLBACKDATA pData = (HOSTEXECCALLBACKDATA*)RTMemAlloc(sizeof(HOSTEXECCALLBACKDATA)); 676 676 AssertPtr(pData); … … 694 694 paParms[i++].setPointer((void*)Utf8Password.raw(), (uint32_t)strlen(Utf8Password.raw()) + 1); 695 695 paParms[i++].setUInt32(aTimeoutMS); 696 696 697 697 /* Forward the information to the VMM device. */ 698 698 AssertPtr(mParent); … … 712 712 LogFlowFunc(("Waiting for HGCM callback (timeout=%ldms) ...\n", aTimeoutMS)); 713 713 714 /* 714 /* 715 715 * Wait for the HGCM low level callback until the process 716 * has been started (or something went wrong). This is necessary to 716 * has been started (or something went wrong). This is necessary to 717 717 * get the PID. 718 718 */ … … 757 757 else /* If callback not called within time ... well, that's a timeout! */ 758 758 vrc = VERR_TIMEOUT; 759 759 760 760 /* 761 761 * Do *not* remove the callback yet - we might wait with the IProgress object on something 762 * else (like end of process) ... 762 * else (like end of process) ... 763 763 */ 764 764 if (RT_FAILURE(vrc)) … … 766 766 if (vrc == VERR_FILE_NOT_FOUND) /* This is the most likely error. */ 767 767 { 768 rc = setError(VBOX_E_IPRT_ERROR, 768 rc = setError(VBOX_E_IPRT_ERROR, 769 769 tr("The file '%s' was not found on guest"), Utf8Command.raw()); 770 770 } 771 771 else if (vrc == VERR_BAD_EXE_FORMAT) 772 772 { 773 rc = setError(VBOX_E_IPRT_ERROR, 773 rc = setError(VBOX_E_IPRT_ERROR, 774 774 tr("The file '%s' is not an executable format on guest"), Utf8Command.raw()); 775 775 } 776 776 else if (vrc == VERR_LOGON_FAILURE) 777 777 { 778 rc = setError(VBOX_E_IPRT_ERROR, 778 rc = setError(VBOX_E_IPRT_ERROR, 779 779 tr("The specified user '%s' was not able to logon on guest"), Utf8UserName.raw()); 780 780 } 781 781 else if (vrc == VERR_TIMEOUT) 782 782 { 783 rc = setError(VBOX_E_IPRT_ERROR, 783 rc = setError(VBOX_E_IPRT_ERROR, 784 784 tr("The guest did not respond within time (%ums)"), aTimeoutMS); 785 785 } -
trunk/src/VBox/Main/include/GuestImpl.h
r28358 r28434 167 167 /** General extension callback for guest control. */ 168 168 HGCMSVCEXTHANDLE mhExtCtrl; 169 169 170 170 volatile uint32_t mNextContextID; 171 171 CallbackList mCallbackList; -
trunk/src/VBox/Main/xml/Settings.cpp
r28406 r28434 3395 3395 break; 3396 3396 } 3397 } 3397 } 3398 3398 else 3399 3399 { … … 3577 3577 xml::ElementNode *pelmNAT; 3578 3578 pelmNAT = elmParent.createChild("NAT"); 3579 3579 3580 3580 if (nic.nat.strBindIP.length()) 3581 3581 pelmNAT->setAttribute("hostip", nic.nat.strBindIP); … … 3626 3626 } 3627 3627 break; 3628 3628 3629 3629 case NetworkAttachmentType_Bridged: 3630 3630 elmParent.createChild("BridgedInterface")->setAttribute("name", nic.strName); 3631 3631 break; 3632 3632 3633 3633 case NetworkAttachmentType_Internal: 3634 3634 elmParent.createChild("InternalNetwork")->setAttribute("name", nic.strName); 3635 3635 break; 3636 3636 3637 3637 case NetworkAttachmentType_HostOnly: 3638 3638 elmParent.createChild("HostOnlyInterface")->setAttribute("name", nic.strName); 3639 3639 break; 3640 3640 3641 3641 default: /*case NetworkAttachmentType_Null:*/ 3642 3642 break; -
trunk/src/VBox/Runtime/r3/alloc-ef.cpp
r28326 r28434 734 734 } 735 735 736 -
trunk/src/VBox/VMM/GMM.cpp
r28422 r28434 359 359 * @see GMMR0RegisterSharedModule 360 360 */ 361 GMMR3DECL(int) GMMR3RegisterSharedModule(PVM pVM, char *pszModuleName, char *pszVersion, RTGCPTR GCBaseAddr, uint32_t cbModule, 361 GMMR3DECL(int) GMMR3RegisterSharedModule(PVM pVM, char *pszModuleName, char *pszVersion, RTGCPTR GCBaseAddr, uint32_t cbModule, 362 362 unsigned cRegions, VMMDEVSHAREDREGIONDESC *pRegions) 363 363 { … … 400 400 Req.Hdr.u32Magic = SUPVMMR0REQHDR_MAGIC; 401 401 Req.Hdr.cbReq = sizeof(Req); 402 402 403 403 Req.GCBaseAddr = GCBaseAddr; 404 404 Req.cbModule = cbModule; -
trunk/src/VBox/VMM/PGMSharedPage.cpp
r28422 r28434 49 49 * @param pRegions Shared region(s) 50 50 */ 51 VMMR3DECL(int) PGMR3SharedModuleRegister(PVM pVM, char *pszModuleName, char *pszVersion, RTGCPTR GCBaseAddr, uint32_t cbModule, 51 VMMR3DECL(int) PGMR3SharedModuleRegister(PVM pVM, char *pszModuleName, char *pszVersion, RTGCPTR GCBaseAddr, uint32_t cbModule, 52 52 unsigned cRegions, VMMDEVSHAREDREGIONDESC *pRegions) 53 53 { -
trunk/src/VBox/VMM/VMMR0/GMMR0.cpp
r28423 r28434 3014 3014 PGMM pGMM; 3015 3015 GMM_GET_VALID_INSTANCE(pGMM, VERR_INTERNAL_ERROR); 3016 pReq->cAllocPages = pGMM->cAllocatedPages; 3017 pReq->cFreePages = (pGMM->cChunks << (GMM_CHUNK_SHIFT- PAGE_SHIFT)) - pGMM->cAllocatedPages; 3018 pReq->cBalloonedPages = pGMM->cBalloonedPages; 3016 pReq->cAllocPages = pGMM->cAllocatedPages; 3017 pReq->cFreePages = (pGMM->cChunks << (GMM_CHUNK_SHIFT- PAGE_SHIFT)) - pGMM->cAllocatedPages; 3018 pReq->cBalloonedPages = pGMM->cBalloonedPages; 3019 3019 GMM_CHECK_SANITY_UPON_LEAVING(pGMM); 3020 3020 … … 3328 3328 * @param pRegions Shared region(s) 3329 3329 */ 3330 GMMR0DECL(int) GMMR0RegisterSharedModule(PVM pVM, VMCPUID idCpu, char *pszModuleName, char *pszVersion, RTGCPTR GCBaseAddr, uint32_t cbModule, 3330 GMMR0DECL(int) GMMR0RegisterSharedModule(PVM pVM, VMCPUID idCpu, char *pszModuleName, char *pszVersion, RTGCPTR GCBaseAddr, uint32_t cbModule, 3331 3331 unsigned cRegions, VMMDEVSHAREDREGIONDESC *pRegions) 3332 3332 { … … 3350 3350 AssertPtrReturn(pVM, VERR_INVALID_POINTER); 3351 3351 AssertPtrReturn(pReq, VERR_INVALID_POINTER); 3352 AssertMsgReturn(pReq->Hdr.cbReq >= sizeof(*pReq) && pReq->Hdr.cbReq == (unsigned)RT_OFFSETOF(GMMREGISTERSHAREDMODULEREQ, aRegions[pReq->cRegions]), ("%#x != %#x\n", pReq->Hdr.cbReq, sizeof(*pReq)), VERR_INVALID_PARAMETER);3352 AssertMsgReturn(pReq->Hdr.cbReq >= sizeof(*pReq) && pReq->Hdr.cbReq == RT_UOFFSETOF(GMMREGISTERSHAREDMODULEREQ, aRegions[pReq->cRegions]), ("%#x != %#x\n", pReq->Hdr.cbReq, sizeof(*pReq)), VERR_INVALID_PARAMETER); 3353 3353 3354 3354 return GMMR0RegisterSharedModule(pVM, idCpu, pReq->szName, pReq->szVersion, pReq->GCBaseAddr, pReq->cbModule, pReq->cRegions, pReq->aRegions); -
trunk/src/VBox/VMM/VMMR0/HWACCMR0.cpp
r28285 r28434 1154 1154 rc = HWACCMR0Globals.pfnLeaveSession(pVM, pVCpu, pCtx); 1155 1155 1156 /* We don't pass on invlpg information to the recompiler for nested paging guests, so we must make sure the recompiler flushes its TLB 1156 /* We don't pass on invlpg information to the recompiler for nested paging guests, so we must make sure the recompiler flushes its TLB 1157 1157 * the next time it executes code. 1158 1158 */
Note:
See TracChangeset
for help on using the changeset viewer.