- Timestamp:
- Oct 5, 2015 10:12:28 PM (9 years ago)
- Location:
- trunk/src/VBox/Additions/common/VBoxService
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Additions/common/VBoxService/VBoxService.cpp
r58031 r58033 17 17 18 18 19 /** @page pg_vgsvc VBoxService 20 * 21 * VBoxService is a root daemon for implementing guest additions features. 22 * 23 * It is structured as one binary that contains many sub-services. The reason 24 * for this is partially historical and partially practical. The practical 25 * reason is that the VBoxService binary is typically statically linked, at 26 * least with IPRT and the guest library, so we save quite a lot of space having 27 * on single binary instead individual binaries for each sub-service and their 28 * helpers (currently up to 9 subservices and 8 helpers). The historical is 29 * simply that it started its life on OS/2 dreaming of conquring Windows next, 30 * so it kind of felt natural to have it all in one binary. 31 * 32 * Even if it's structured as a single binary, it is possible, by using command 33 * line options, to start each subservice as an individual process. 34 * 35 * Subservices: 36 * - @subpage pg_vgsvc_timesync "Time Synchronization" 37 * - @subpage pg_vgsvc_vminfo "VM Information" 38 * - @subpage pg_vgsvc_vmstats "VM Statistics" 39 * - @subpage pg_vgsvc_gstctrl "Guest Control" 40 * - @subpage pg_vgsvc_pagesharing "Page Sharing" 41 * - @subpage pg_vgsvc_memballoon "Memory Balooning" 42 * - @subpage pg_vgsvc_cpuhotplug "CPU Hot-Plugging" 43 * - @subpage pg_vgsvc_automount "Shared Folder Automounting" 44 * - @subpage pg_vgsvc_clipboard "Clipboard (OS/2 only)" 45 * 46 * Now, since the service predates a lot of stuff, including RTGetOpt, we're 47 * currently doing our own version of argument parsing here, which is kind of 48 * stupid. That will hopefully be cleaned up eventually. 49 */ 19 50 20 51 /********************************************************************************************************************************* -
trunk/src/VBox/Additions/common/VBoxService/VBoxServiceControl.cpp
r58029 r58033 14 14 * VirtualBox OSE distribution. VirtualBox OSE is distributed in the 15 15 * hope that it will be useful, but WITHOUT ANY WARRANTY of any kind. 16 */ 17 18 /** @page pg_vgsvc_gstctrl VBoxService - Guest Control 19 * 20 * The Guest Control subservice helps implementing the IGuest APIs. 21 * 22 * The IGuest APIs provides means to manipulate (control) files, directories, 23 * symbolic links and processes within the guest. Most of these means requires 24 * credentials of a guest OS user to operate, though some restricted ones 25 * operates directly as the VBoxService user (root / system service account). 26 * 27 * The current design is that a subprocess is spawned for handling operations as 28 * a given user. This process is represented as IGuestSession in the API. The 29 * subprocess will be spawned as the given use, giving up the privileges the 30 * parent subservice had. 31 * 32 * It will try handle as many of the operations directly from within the 33 * subprocess, but for more complicated things (or things that haven't yet been 34 * converted), it will spawn a helper process that does the actual work. 35 * 36 * These helpers are the typically modeled on similar unix core utilities, like 37 * mkdir, rm, rmdir, cat and so on. The helper tools can also be launched 38 * directly from VBoxManage by the user by prepending the 'vbox_' prefix to the 39 * unix command. 40 * 16 41 */ 17 42 -
trunk/src/VBox/Additions/common/VBoxService/VBoxServicePageSharing.cpp
r58032 r58033 14 14 * VirtualBox OSE distribution. VirtualBox OSE is distributed in the 15 15 * hope that it will be useful, but WITHOUT ANY WARRANTY of any kind. 16 */ 17 18 /** @page pg_vgsvc_pagesharing VBoxService - Page Sharing 19 * 20 * The Page Sharing subservice is the driving force in implementing the Page 21 * Fusion feature in VirtualBox. It is its responsibility to find memory 22 * mappings and other good candidates for page sharing. 23 * 24 * This is currently only implemented on Windows. There is no technical reason 25 * for it not to be doable for all the other guests too, it's just a matter of 26 * customer demand and engineering time. 16 27 */ 17 28 -
trunk/src/VBox/Additions/common/VBoxService/VBoxServiceStats.cpp
r58029 r58033 16 16 */ 17 17 18 /** @page pg_vgsvc_vmstats VBoxService - VM Statistics 19 * 20 * The VM statistics subservice helps out the performance collector API on the 21 * host side by providing metrics from inside the guest. 22 * 23 * See IPerformanceCollector, CollectorGuest and the "Guest/*" submetrics that 24 * gets registered by Machine::i_registerMetrics in Main. 25 */ 18 26 19 27 /********************************************************************************************************************************* -
trunk/src/VBox/Additions/common/VBoxService/VBoxServiceTimeSync.cpp
r58029 r58033 17 17 18 18 19 /** @page pg_v boxservice_timesyncThe Time Sync Service19 /** @page pg_vgsvc_timesync VBoxService - The Time Sync Service 20 20 * 21 21 * The time sync service plays along with the Time Manager (TM) in the VMM … … 68 68 * 69 69 * It now boils down to these three (configuration) factors: 70 * -# g_Time syncMinAdjust - The minimum drift we will ever bother with.71 * -# g_Time syncLatencyFactor - The factor we multiply the latency by to70 * -# g_TimeSyncMinAdjust - The minimum drift we will ever bother with. 71 * -# g_TimeSyncLatencyFactor - The factor we multiply the latency by to 72 72 * calculate the dynamic minimum adjust factor. 73 * -# g_Time syncMaxLatency - When to start discarding the data as utterly73 * -# g_TimeSyncMaxLatency - When to start discarding the data as utterly 74 74 * useless and take a rest (someone is too busy to give us good data). 75 75 * -# g_TimeSyncSetThreshold - The threshold at which we will just set the time -
trunk/src/VBox/Additions/common/VBoxService/VBoxServiceVMInfo.cpp
r58031 r58033 16 16 */ 17 17 18 /** @page pg_vgsvc_vminfo VBoxService - VM Information 19 * 20 * The VM Information subservice provides heaps of useful information about the 21 * VM via guest properties. Check out the "/VirtualBox/GuestInfo/" part of the 22 * guest properties. 23 * 24 * 25 * @section sec_vgsvc_vminfo_beacons Beacons 26 * 27 * The subservice does not write properties unless there are changes. So, in 28 * order for the host side to know that information is up to date despite an 29 * oldish timestamp we define a couple of values that are always updated and can 30 * reliably used to figure how old the information actually is. 31 * 32 * For the networking part "/VirtualBox/GuestInfo/Net/Count" is the value to 33 * watch out for. 34 * 35 * For the login part, it's possible that we intended to use 36 * "/VirtualBox/GuestInfo/OS/LoggedInUsers" for this, however it is not defined 37 * correctly and current does NOT work as a beacon. 38 * 39 */ 18 40 19 41 … … 886 908 VGSvcError("Error writing logged in users count, rc=%Rrc\n", rc); 887 909 910 /** @todo r=bird: What's this 'beacon' nonsense here? It's _not_ defined with 911 * the VGSVCPROPCACHE_FLAGS_ALWAYS_UPDATE flag set!! */ 888 912 rc = VGSvcPropCacheUpdate(&g_VMInfoPropCache, g_pszPropCacheValNoLoggedInUsers, cUsersInList == 0 ? "true" : "false"); 889 913 if (RT_FAILURE(rc))
Note:
See TracChangeset
for help on using the changeset viewer.