VirtualBox

source: vbox/trunk/src/VBox/Main/src-all/Global.cpp@ 39072

Last change on this file since 39072 was 39058, checked in by vboxsync, 14 years ago

Added machinery to add floppy or not add USB for new VMs depending on guest type.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 36.5 KB
Line 
1/* $Id: Global.cpp 39058 2011-10-20 14:33:44Z vboxsync $ */
2
3/** @file
4 *
5 * VirtualBox COM global definitions
6 *
7 * NOTE: This file is part of both VBoxC.dll and VBoxSVC.exe.
8 */
9
10/*
11 * Copyright (C) 2008-2010 Oracle Corporation
12 *
13 * This file is part of VirtualBox Open Source Edition (OSE), as
14 * available from http://www.virtualbox.org. This file is free software;
15 * you can redistribute it and/or modify it under the terms of the GNU
16 * General Public License (GPL) as published by the Free Software
17 * Foundation, in version 2 as it comes in the "COPYING" file of the
18 * VirtualBox OSE distribution. VirtualBox OSE is distributed in the
19 * hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
20 */
21
22#include "Global.h"
23
24#include <iprt/assert.h>
25#include <iprt/string.h>
26#include <VBox/err.h>
27
28/* static */
29const Global::OSType Global::sOSTypes[SchemaDefs::OSTypeId_COUNT] =
30{
31 /* NOTE1: we assume that unknown is always the first entry!
32 * NOTE2: please use powers of 2 when specifying the size of harddisks since
33 * '2GB' looks better than '1.95GB' (= 2000MB) */
34 { "Other", "Other", SchemaDefs_OSTypeId_Other, "Other/Unknown",
35 VBOXOSTYPE_Unknown, VBOXOSHINT_NONE,
36 64, 4, 2 * _1G64, NetworkAdapterType_Am79C973, 0, StorageControllerType_PIIX4, StorageBus_IDE,
37 StorageControllerType_PIIX4, StorageBus_IDE, ChipsetType_PIIX3, AudioControllerType_AC97 },
38 { "Windows", "Microsoft Windows", SchemaDefs_OSTypeId_Windows31, "Windows 3.1",
39 VBOXOSTYPE_Win31, VBOXOSHINT_NONE | VBOXOSHINT_FLOPPY,
40 32, 4, 1 * _1G64, NetworkAdapterType_Am79C973, 0, StorageControllerType_PIIX4, StorageBus_IDE,
41 StorageControllerType_PIIX4, StorageBus_IDE, ChipsetType_PIIX3, AudioControllerType_SB16 },
42 { "Windows", "Microsoft Windows", SchemaDefs_OSTypeId_Windows95, "Windows 95",
43 VBOXOSTYPE_Win95, VBOXOSHINT_NONE,
44 64, 4, 2 * _1G64, NetworkAdapterType_Am79C973, 0, StorageControllerType_PIIX4, StorageBus_IDE,
45 StorageControllerType_PIIX4, StorageBus_IDE, ChipsetType_PIIX3, AudioControllerType_AC97 },
46 { "Windows", "Microsoft Windows", SchemaDefs_OSTypeId_Windows98, "Windows 98",
47 VBOXOSTYPE_Win98, VBOXOSHINT_NONE,
48 64, 4, 2 * _1G64, NetworkAdapterType_Am79C973, 0, StorageControllerType_PIIX4, StorageBus_IDE,
49 StorageControllerType_PIIX4, StorageBus_IDE, ChipsetType_PIIX3, AudioControllerType_AC97 },
50 { "Windows", "Microsoft Windows", SchemaDefs_OSTypeId_WindowsMe, "Windows Me",
51 VBOXOSTYPE_WinMe, VBOXOSHINT_NONE,
52 64, 4, 4 * _1G64, NetworkAdapterType_Am79C973, 0, StorageControllerType_PIIX4, StorageBus_IDE,
53 StorageControllerType_PIIX4, StorageBus_IDE, ChipsetType_PIIX3, AudioControllerType_AC97 },
54 { "Windows", "Microsoft Windows", SchemaDefs_OSTypeId_WindowsNT4, "Windows NT 4",
55 VBOXOSTYPE_WinNT4, VBOXOSHINT_NONE,
56 128, 16, 2 * _1G64, NetworkAdapterType_Am79C973, 0, StorageControllerType_PIIX4, StorageBus_IDE,
57 StorageControllerType_PIIX4, StorageBus_IDE, ChipsetType_PIIX3, AudioControllerType_AC97 },
58 { "Windows", "Microsoft Windows", SchemaDefs_OSTypeId_Windows2000, "Windows 2000",
59 VBOXOSTYPE_Win2k, VBOXOSHINT_NONE | VBOXOSHINT_USBTABLET,
60 168, 16, 4 * _1G64, NetworkAdapterType_Am79C973, 0, StorageControllerType_PIIX4, StorageBus_IDE,
61 StorageControllerType_PIIX4, StorageBus_IDE, ChipsetType_PIIX3, AudioControllerType_AC97 },
62 { "Windows", "Microsoft Windows", SchemaDefs_OSTypeId_WindowsXP, "Windows XP",
63 VBOXOSTYPE_WinXP, VBOXOSHINT_NONE | VBOXOSHINT_USBTABLET,
64 192, 16, 10 * _1G64, NetworkAdapterType_Am79C973, 0, StorageControllerType_PIIX4, StorageBus_IDE,
65 StorageControllerType_PIIX4, StorageBus_IDE, ChipsetType_PIIX3, AudioControllerType_AC97 },
66 { "Windows", "Microsoft Windows", SchemaDefs_OSTypeId_WindowsXP_64, "Windows XP (64 bit)",
67 VBOXOSTYPE_WinXP_x64, VBOXOSHINT_64BIT | VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC | VBOXOSHINT_USBTABLET,
68 192, 16, 10 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
69 StorageControllerType_PIIX4, StorageBus_IDE, ChipsetType_PIIX3, AudioControllerType_AC97 },
70 { "Windows", "Microsoft Windows", SchemaDefs_OSTypeId_Windows2003, "Windows 2003",
71 VBOXOSTYPE_Win2k3, VBOXOSHINT_NONE | VBOXOSHINT_USBTABLET,
72 256, 16, 20 * _1G64, NetworkAdapterType_Am79C973, 0, StorageControllerType_PIIX4, StorageBus_IDE,
73 StorageControllerType_PIIX4, StorageBus_IDE, ChipsetType_PIIX3, AudioControllerType_AC97 },
74 { "Windows", "Microsoft Windows", SchemaDefs_OSTypeId_Windows2003_64, "Windows 2003 (64 bit)",
75 VBOXOSTYPE_Win2k3_x64, VBOXOSHINT_64BIT | VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC | VBOXOSHINT_USBTABLET,
76 256, 16, 20 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
77 StorageControllerType_PIIX4, StorageBus_IDE, ChipsetType_PIIX3, AudioControllerType_HDA },
78 { "Windows", "Microsoft Windows", SchemaDefs_OSTypeId_WindowsVista, "Windows Vista",
79 VBOXOSTYPE_WinVista, VBOXOSHINT_NONE | VBOXOSHINT_USBTABLET,
80 512, 16, 20 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
81 StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_HDA },
82 { "Windows", "Microsoft Windows", SchemaDefs_OSTypeId_WindowsVista_64, "Windows Vista (64 bit)",
83 VBOXOSTYPE_WinVista_x64, VBOXOSHINT_64BIT | VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC | VBOXOSHINT_USBTABLET,
84 512, 16, 20 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
85 StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_HDA },
86 { "Windows", "Microsoft Windows", SchemaDefs_OSTypeId_Windows2008, "Windows 2008",
87 VBOXOSTYPE_Win2k8, VBOXOSHINT_NONE | VBOXOSHINT_USBTABLET,
88 512, 16, 20 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
89 StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_HDA },
90 { "Windows", "Microsoft Windows", SchemaDefs_OSTypeId_Windows2008_64, "Windows 2008 (64 bit)",
91 VBOXOSTYPE_Win2k8_x64, VBOXOSHINT_64BIT | VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC | VBOXOSHINT_USBTABLET,
92 512, 16, 20 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
93 StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_HDA },
94 { "Windows", "Microsoft Windows", SchemaDefs_OSTypeId_Windows7, "Windows 7",
95 VBOXOSTYPE_Win7, VBOXOSHINT_NONE | VBOXOSHINT_USBTABLET,
96 512, 16, 20 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
97 StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_HDA },
98 { "Windows", "Microsoft Windows", SchemaDefs_OSTypeId_Windows7_64, "Windows 7 (64 bit)",
99 VBOXOSTYPE_Win7_x64, VBOXOSHINT_64BIT | VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC | VBOXOSHINT_USBTABLET,
100 512, 16, 20 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
101 StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_HDA },
102 { "Windows", "Microsoft Windows", SchemaDefs_OSTypeId_Windows8, "Windows 8",
103 VBOXOSTYPE_Win8, VBOXOSHINT_NONE | VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC | VBOXOSHINT_USBTABLET | VBOXOSHINT_ACCEL3D,
104 1024,128, 20 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
105 StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_HDA },
106 { "Windows", "Microsoft Windows", SchemaDefs_OSTypeId_Windows8_64, "Windows 8 (64 bit)",
107 VBOXOSTYPE_Win8_x64, VBOXOSHINT_64BIT | VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC | VBOXOSHINT_USBTABLET | VBOXOSHINT_ACCEL3D,
108 1536,128, 20 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
109 StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_HDA },
110 { "Windows", "Microsoft Windows", SchemaDefs_OSTypeId_WindowsNT, "Other Windows",
111 VBOXOSTYPE_WinNT, VBOXOSHINT_NONE,
112 512, 16, 20 * _1G64, NetworkAdapterType_Am79C973, 0, StorageControllerType_PIIX4, StorageBus_IDE,
113 StorageControllerType_PIIX4, StorageBus_IDE, ChipsetType_PIIX3, AudioControllerType_AC97 },
114 { "Linux", "Linux", SchemaDefs_OSTypeId_Linux22, "Linux 2.2",
115 VBOXOSTYPE_Linux22, VBOXOSHINT_RTCUTC,
116 64, 4, 2 * _1G64, NetworkAdapterType_Am79C973, 0, StorageControllerType_PIIX4, StorageBus_IDE,
117 StorageControllerType_PIIX4, StorageBus_IDE, ChipsetType_PIIX3, AudioControllerType_AC97 },
118 { "Linux", "Linux", SchemaDefs_OSTypeId_Linux24, "Linux 2.4",
119 VBOXOSTYPE_Linux24, VBOXOSHINT_RTCUTC,
120 128, 4, 4 * _1G64, NetworkAdapterType_Am79C973, 0, StorageControllerType_PIIX4, StorageBus_IDE,
121 StorageControllerType_PIIX4, StorageBus_IDE, ChipsetType_PIIX3, AudioControllerType_AC97 },
122 { "Linux", "Linux", SchemaDefs_OSTypeId_Linux24_64, "Linux 2.4 (64 bit)",
123 VBOXOSTYPE_Linux24_x64, VBOXOSHINT_64BIT | VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC | VBOXOSHINT_RTCUTC,
124 128, 4, 4 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
125 StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_AC97 },
126 { "Linux", "Linux", SchemaDefs_OSTypeId_Linux26, "Linux 2.6",
127 VBOXOSTYPE_Linux26, VBOXOSHINT_RTCUTC | VBOXOSHINT_USBTABLET,
128 256, 4, 8 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
129 StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_AC97 },
130 { "Linux", "Linux", SchemaDefs_OSTypeId_Linux26_64, "Linux 2.6 (64 bit)",
131 VBOXOSTYPE_Linux26_x64, VBOXOSHINT_64BIT | VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC | VBOXOSHINT_RTCUTC | VBOXOSHINT_USBTABLET,
132 256, 4, 8 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
133 StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_AC97 },
134 { "Linux", "Linux", SchemaDefs_OSTypeId_ArchLinux, "Arch Linux",
135 VBOXOSTYPE_ArchLinux, VBOXOSHINT_RTCUTC | VBOXOSHINT_USBTABLET,
136 256, 12, 8 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
137 StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_AC97 },
138 { "Linux", "Linux", SchemaDefs_OSTypeId_ArchLinux_64, "Arch Linux (64 bit)",
139 VBOXOSTYPE_ArchLinux_x64, VBOXOSHINT_64BIT | VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC | VBOXOSHINT_RTCUTC | VBOXOSHINT_USBTABLET,
140 256, 12, 8 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
141 StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_AC97 },
142 { "Linux", "Linux", SchemaDefs_OSTypeId_Debian, "Debian",
143 VBOXOSTYPE_Debian, VBOXOSHINT_RTCUTC | VBOXOSHINT_USBTABLET,
144 384, 12, 8 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
145 StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_AC97 },
146 { "Linux", "Linux", SchemaDefs_OSTypeId_Debian_64, "Debian (64 bit)",
147 VBOXOSTYPE_Debian_x64, VBOXOSHINT_64BIT | VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC | VBOXOSHINT_RTCUTC | VBOXOSHINT_USBTABLET,
148 384, 12, 8 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
149 StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_AC97},
150 { "Linux", "Linux", SchemaDefs_OSTypeId_OpenSUSE, "openSUSE",
151 VBOXOSTYPE_OpenSUSE, VBOXOSHINT_RTCUTC | VBOXOSHINT_USBTABLET,
152 512, 12, 8 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
153 StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_AC97 },
154 { "Linux", "Linux", SchemaDefs_OSTypeId_OpenSUSE_64, "openSUSE (64 bit)",
155 VBOXOSTYPE_OpenSUSE_x64, VBOXOSHINT_64BIT | VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC | VBOXOSHINT_RTCUTC | VBOXOSHINT_USBTABLET,
156 512, 12, 8 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
157 StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_AC97 },
158 { "Linux", "Linux", SchemaDefs_OSTypeId_Fedora, "Fedora",
159 VBOXOSTYPE_FedoraCore, VBOXOSHINT_RTCUTC | VBOXOSHINT_USBTABLET,
160 768, 12, 8 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
161 StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_AC97 },
162 { "Linux", "Linux", SchemaDefs_OSTypeId_Fedora_64, "Fedora (64 bit)",
163 VBOXOSTYPE_FedoraCore_x64, VBOXOSHINT_64BIT | VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC | VBOXOSHINT_RTCUTC | VBOXOSHINT_USBTABLET,
164 768, 12, 8 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
165 StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_AC97 },
166 { "Linux", "Linux", SchemaDefs_OSTypeId_Gentoo, "Gentoo",
167 VBOXOSTYPE_Gentoo, VBOXOSHINT_RTCUTC | VBOXOSHINT_USBTABLET,
168 256, 12, 8 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
169 StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_AC97 },
170 { "Linux", "Linux", SchemaDefs_OSTypeId_Gentoo_64, "Gentoo (64 bit)",
171 VBOXOSTYPE_Gentoo_x64, VBOXOSHINT_64BIT | VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC | VBOXOSHINT_RTCUTC | VBOXOSHINT_USBTABLET,
172 256, 12, 8 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
173 StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_AC97 },
174 { "Linux", "Linux", SchemaDefs_OSTypeId_Mandriva, "Mandriva",
175 VBOXOSTYPE_Mandriva, VBOXOSHINT_RTCUTC | VBOXOSHINT_USBTABLET,
176 512, 12, 8 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
177 StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_AC97 },
178 { "Linux", "Linux", SchemaDefs_OSTypeId_Mandriva_64, "Mandriva (64 bit)",
179 VBOXOSTYPE_Mandriva_x64, VBOXOSHINT_64BIT | VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC | VBOXOSHINT_RTCUTC | VBOXOSHINT_USBTABLET,
180 512, 12, 8 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
181 StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_AC97 },
182 { "Linux", "Linux", SchemaDefs_OSTypeId_RedHat, "Red Hat",
183 VBOXOSTYPE_RedHat, VBOXOSHINT_RTCUTC | VBOXOSHINT_PAE,
184 512, 12, 8 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
185 StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_AC97 },
186 { "Linux", "Linux", SchemaDefs_OSTypeId_RedHat_64, "Red Hat (64 bit)",
187 VBOXOSTYPE_RedHat_x64, VBOXOSHINT_64BIT | VBOXOSHINT_PAE | VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC | VBOXOSHINT_RTCUTC,
188 512, 12, 8 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
189 StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_AC97 },
190 { "Linux", "Linux", SchemaDefs_OSTypeId_Turbolinux, "Turbolinux",
191 VBOXOSTYPE_Turbolinux, VBOXOSHINT_RTCUTC | VBOXOSHINT_USBTABLET,
192 384, 12, 8 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
193 StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_AC97 },
194 { "Linux", "Linux", SchemaDefs_OSTypeId_Turbolinux, "Turbolinux (64 bit)",
195 VBOXOSTYPE_Turbolinux_x64, VBOXOSHINT_64BIT | VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC | VBOXOSHINT_RTCUTC | VBOXOSHINT_USBTABLET,
196 384, 12, 8 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
197 StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_AC97 },
198 { "Linux", "Linux", SchemaDefs_OSTypeId_Ubuntu, "Ubuntu",
199 VBOXOSTYPE_Ubuntu, VBOXOSHINT_RTCUTC | VBOXOSHINT_USBTABLET,
200 512, 12, 8 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
201 StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_AC97 },
202 { "Linux", "Linux", SchemaDefs_OSTypeId_Ubuntu_64, "Ubuntu (64 bit)",
203 VBOXOSTYPE_Ubuntu_x64, VBOXOSHINT_64BIT | VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC | VBOXOSHINT_RTCUTC | VBOXOSHINT_USBTABLET,
204 512, 12, 8 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
205 StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_AC97 },
206 { "Linux", "Linux", SchemaDefs_OSTypeId_Xandros, "Xandros",
207 VBOXOSTYPE_Xandros, VBOXOSHINT_RTCUTC,
208 256, 12, 8 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
209 StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_AC97 },
210 { "Linux", "Linux", SchemaDefs_OSTypeId_Xandros_64, "Xandros (64 bit)",
211 VBOXOSTYPE_Xandros_x64, VBOXOSHINT_64BIT | VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC | VBOXOSHINT_RTCUTC,
212 256, 12, 8 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
213 StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_AC97 },
214 { "Linux", "Linux", SchemaDefs_OSTypeId_Oracle, "Oracle",
215 VBOXOSTYPE_Oracle, VBOXOSHINT_RTCUTC | VBOXOSHINT_PAE,
216 512, 12, 8 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
217 StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_AC97 },
218 { "Linux", "Linux", SchemaDefs_OSTypeId_Oracle_64, "Oracle (64 bit)",
219 VBOXOSTYPE_Oracle_x64, VBOXOSHINT_64BIT | VBOXOSHINT_PAE | VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC | VBOXOSHINT_RTCUTC,
220 512, 12, 8 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
221 StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_AC97 },
222 { "Linux", "Linux", SchemaDefs_OSTypeId_Linux, "Other Linux",
223 VBOXOSTYPE_Linux, VBOXOSHINT_RTCUTC | VBOXOSHINT_USBTABLET,
224 256, 12, 8 * _1G64, NetworkAdapterType_Am79C973, 0, StorageControllerType_PIIX4, StorageBus_IDE,
225 StorageControllerType_PIIX4, StorageBus_IDE, ChipsetType_PIIX3, AudioControllerType_AC97 },
226 { "Solaris", "Solaris", SchemaDefs_OSTypeId_Solaris, "Oracle Solaris 10 5/09 and earlier",
227 VBOXOSTYPE_Solaris, VBOXOSHINT_NONE,
228 768, 12, 16 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
229 StorageControllerType_PIIX4, StorageBus_IDE, ChipsetType_PIIX3, AudioControllerType_AC97 },
230 { "Solaris", "Solaris", SchemaDefs_OSTypeId_Solaris_64, "Oracle Solaris 10 5/09 and earlier (64 bit)",
231 VBOXOSTYPE_Solaris_x64, VBOXOSHINT_64BIT | VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC,
232 1536, 12, 16 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
233 StorageControllerType_PIIX4, StorageBus_IDE, ChipsetType_PIIX3, AudioControllerType_AC97 },
234 { "Solaris", "Solaris", SchemaDefs_OSTypeId_OpenSolaris, "Oracle Solaris 10 10/09 and later",
235 VBOXOSTYPE_OpenSolaris, VBOXOSHINT_USBTABLET,
236 768, 12, 16 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_IntelAhci, StorageBus_SATA,
237 StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_AC97 },
238 { "Solaris", "Solaris", SchemaDefs_OSTypeId_OpenSolaris_64, "Oracle Solaris 10 10/09 and later (64 bit)",
239 VBOXOSTYPE_OpenSolaris_x64, VBOXOSHINT_64BIT | VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC | VBOXOSHINT_USBTABLET,
240 1536, 12, 16 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_IntelAhci, StorageBus_SATA,
241 StorageControllerType_IntelAhci, StorageBus_SATA, ChipsetType_PIIX3, AudioControllerType_AC97 },
242 { "BSD", "BSD", SchemaDefs_OSTypeId_FreeBSD, "FreeBSD",
243 VBOXOSTYPE_FreeBSD, VBOXOSHINT_NONE,
244 128, 4, 2 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
245 StorageControllerType_PIIX4, StorageBus_IDE, ChipsetType_PIIX3, AudioControllerType_AC97 },
246 { "BSD", "BSD", SchemaDefs_OSTypeId_FreeBSD_64, "FreeBSD (64 bit)",
247 VBOXOSTYPE_FreeBSD_x64, VBOXOSHINT_64BIT | VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC,
248 128, 4, 2 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
249 StorageControllerType_PIIX4, StorageBus_IDE, ChipsetType_PIIX3, AudioControllerType_AC97 },
250 { "BSD", "BSD", SchemaDefs_OSTypeId_OpenBSD, "OpenBSD",
251 VBOXOSTYPE_OpenBSD, VBOXOSHINT_HWVIRTEX,
252 64, 4, 2 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
253 StorageControllerType_PIIX4, StorageBus_IDE, ChipsetType_PIIX3, AudioControllerType_AC97 },
254 { "BSD", "BSD", SchemaDefs_OSTypeId_OpenBSD_64, "OpenBSD (64 bit)",
255 VBOXOSTYPE_OpenBSD_x64, VBOXOSHINT_64BIT | VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC,
256 64, 4, 2 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
257 StorageControllerType_PIIX4, StorageBus_IDE, ChipsetType_PIIX3, AudioControllerType_AC97 },
258 { "BSD", "BSD", SchemaDefs_OSTypeId_NetBSD, "NetBSD",
259 VBOXOSTYPE_NetBSD, VBOXOSHINT_NONE,
260 64, 4, 2 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
261 StorageControllerType_PIIX4, StorageBus_IDE, ChipsetType_PIIX3, AudioControllerType_AC97 },
262 { "BSD", "BSD", SchemaDefs_OSTypeId_NetBSD_64, "NetBSD (64 bit)",
263 VBOXOSTYPE_NetBSD_x64, VBOXOSHINT_64BIT | VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC,
264 64, 4, 2 * _1G64, NetworkAdapterType_I82540EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
265 StorageControllerType_PIIX4, StorageBus_IDE, ChipsetType_PIIX3, AudioControllerType_AC97 },
266 { "OS2", "IBM OS/2", SchemaDefs_OSTypeId_OS2Warp3, "OS/2 Warp 3",
267 VBOXOSTYPE_OS2Warp3, VBOXOSHINT_HWVIRTEX | VBOXOSHINT_FLOPPY,
268 48, 4, 1 * _1G64, NetworkAdapterType_Am79C973, 1, StorageControllerType_PIIX4, StorageBus_IDE,
269 StorageControllerType_PIIX4, StorageBus_IDE, ChipsetType_PIIX3, AudioControllerType_AC97 },
270 { "OS2", "IBM OS/2", SchemaDefs_OSTypeId_OS2Warp4, "OS/2 Warp 4",
271 VBOXOSTYPE_OS2Warp4, VBOXOSHINT_HWVIRTEX | VBOXOSHINT_FLOPPY,
272 64, 4, 2 * _1G64, NetworkAdapterType_Am79C973, 1, StorageControllerType_PIIX4, StorageBus_IDE,
273 StorageControllerType_PIIX4, StorageBus_IDE, ChipsetType_PIIX3, AudioControllerType_AC97 },
274 { "OS2", "IBM OS/2", SchemaDefs_OSTypeId_OS2Warp45, "OS/2 Warp 4.5",
275 VBOXOSTYPE_OS2Warp45, VBOXOSHINT_HWVIRTEX,
276 96, 4, 2 * _1G64, NetworkAdapterType_Am79C973, 1, StorageControllerType_PIIX4, StorageBus_IDE,
277 StorageControllerType_PIIX4, StorageBus_IDE, ChipsetType_PIIX3, AudioControllerType_AC97 },
278 { "OS2", "IBM OS/2", SchemaDefs_OSTypeId_OS2eCS, "eComStation",
279 VBOXOSTYPE_ECS, VBOXOSHINT_HWVIRTEX,
280 96, 4, 2 * _1G64, NetworkAdapterType_Am79C973, 1, StorageControllerType_PIIX4, StorageBus_IDE,
281 StorageControllerType_PIIX4, StorageBus_IDE, ChipsetType_PIIX3, AudioControllerType_AC97 },
282 { "OS2", "IBM OS/2", SchemaDefs_OSTypeId_OS2, "Other OS/2",
283 VBOXOSTYPE_OS2, VBOXOSHINT_HWVIRTEX | VBOXOSHINT_FLOPPY,
284 96, 4, 2 * _1G64, NetworkAdapterType_Am79C973, 1, StorageControllerType_PIIX4, StorageBus_IDE,
285 StorageControllerType_PIIX4, StorageBus_IDE, ChipsetType_PIIX3, AudioControllerType_AC97 },
286 { "MacOS", "Mac OS X", SchemaDefs_OSTypeId_MacOS, "Mac OS X Server",
287 VBOXOSTYPE_MacOS, VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC | VBOXOSHINT_EFI | VBOXOSHINT_PAE | VBOXOSHINT_USBHID | VBOXOSHINT_HPET | VBOXOSHINT_USBTABLET,
288 1024, 4, 20 * _1G64, NetworkAdapterType_I82543GC, 0,
289 StorageControllerType_ICH6, StorageBus_IDE, StorageControllerType_IntelAhci, StorageBus_SATA,
290 ChipsetType_ICH9, AudioControllerType_HDA },
291 { "MacOS", "Mac OS X", SchemaDefs_OSTypeId_MacOS_64, "Mac OS X Server (64 bit)",
292 VBOXOSTYPE_MacOS_x64, VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC | VBOXOSHINT_EFI | VBOXOSHINT_PAE | VBOXOSHINT_64BIT | VBOXOSHINT_USBHID | VBOXOSHINT_HPET | VBOXOSHINT_USBTABLET,
293 1024, 4, 20 * _1G64, NetworkAdapterType_I82543GC, 0,
294 StorageControllerType_ICH6, StorageBus_IDE, StorageControllerType_IntelAhci, StorageBus_SATA,
295 ChipsetType_ICH9, AudioControllerType_HDA },
296 { "Other", "Other", SchemaDefs_OSTypeId_DOS, "DOS",
297 VBOXOSTYPE_DOS, VBOXOSHINT_NONE | VBOXOSHINT_FLOPPY | VBOXOSHINT_NOUSB,
298 32, 4, 500 * _1M, NetworkAdapterType_Am79C973, 0, StorageControllerType_PIIX4, StorageBus_IDE,
299 StorageControllerType_PIIX4, StorageBus_IDE, ChipsetType_PIIX3, AudioControllerType_SB16 },
300 { "Other", "Other", SchemaDefs_OSTypeId_Netware, "Netware",
301 VBOXOSTYPE_Netware, VBOXOSHINT_HWVIRTEX,
302 512, 4, 4 * _1G64, NetworkAdapterType_Am79C973, 0, StorageControllerType_PIIX4, StorageBus_IDE,
303 StorageControllerType_PIIX4, StorageBus_IDE, ChipsetType_PIIX3, AudioControllerType_AC97 },
304 { "Other", "Other", SchemaDefs_OSTypeId_L4, "L4",
305 VBOXOSTYPE_L4, VBOXOSHINT_NONE,
306 64, 4, 2 * _1G64, NetworkAdapterType_Am79C973, 0, StorageControllerType_PIIX4, StorageBus_IDE,
307 StorageControllerType_PIIX4, StorageBus_IDE, ChipsetType_PIIX3, AudioControllerType_AC97 },
308 { "Other", "Other", SchemaDefs_OSTypeId_QNX, "QNX",
309 VBOXOSTYPE_QNX, VBOXOSHINT_HWVIRTEX,
310 512, 4, 4 * _1G64, NetworkAdapterType_Am79C973, 0, StorageControllerType_PIIX4, StorageBus_IDE,
311 StorageControllerType_PIIX4, StorageBus_IDE, ChipsetType_PIIX3, AudioControllerType_AC97 },
312 { "Other", "Other", SchemaDefs_OSTypeId_JRockitVE, "JRockitVE",
313 VBOXOSTYPE_JRockitVE, VBOXOSHINT_HWVIRTEX | VBOXOSHINT_IOAPIC | VBOXOSHINT_PAE,
314 1024, 4, 8 * _1G64, NetworkAdapterType_I82545EM, 0, StorageControllerType_PIIX4, StorageBus_IDE,
315 StorageControllerType_BusLogic, StorageBus_SCSI, ChipsetType_PIIX3, AudioControllerType_AC97 },
316};
317
318/**
319 * Returns an OS Type ID for the given VBOXOSTYPE value.
320 *
321 * The returned ID will correspond to the IGuestOSType::id value of one of the
322 * objects stored in the IVirtualBox::guestOSTypes
323 * (VirtualBoxImpl::COMGETTER(GuestOSTypes)) collection.
324 */
325/* static */
326const char *Global::OSTypeId(VBOXOSTYPE aOSType)
327{
328 for (size_t i = 0; i < RT_ELEMENTS(sOSTypes); ++i)
329 {
330 if (sOSTypes[i].osType == aOSType)
331 return sOSTypes[i].id;
332 }
333
334 AssertMsgFailed(("No record for VBOXOSTYPE %d\n", aOSType));
335 return sOSTypes[0].id;
336}
337
338/*static*/ const char *
339Global::stringifyMachineState(MachineState_T aState)
340{
341 switch (aState)
342 {
343 case MachineState_Null: return "Null";
344 case MachineState_PoweredOff: return "PoweredOff";
345 case MachineState_Saved: return "Saved";
346 case MachineState_Teleported: return "Teleported";
347 case MachineState_Aborted: return "Aborted";
348 case MachineState_Running: return "Running";
349 case MachineState_Paused: return "Paused";
350 case MachineState_Stuck: return "GuruMeditation";
351 case MachineState_Teleporting: return "Teleporting";
352 case MachineState_LiveSnapshotting: return "LiveSnapshotting";
353 case MachineState_Starting: return "Starting";
354 case MachineState_Stopping: return "Stopping";
355 case MachineState_Saving: return "Saving";
356 case MachineState_Restoring: return "Restoring";
357 case MachineState_TeleportingPausedVM: return "TeleportingPausedVM";
358 case MachineState_TeleportingIn: return "TeleportingIn";
359 case MachineState_FaultTolerantSyncing: return "FaultTolerantSyncing";
360 case MachineState_DeletingSnapshotOnline: return "DeletingSnapshotOnline";
361 case MachineState_DeletingSnapshotPaused: return "DeletingSnapshotPaused";
362 case MachineState_RestoringSnapshot: return "RestoringSnapshot";
363 case MachineState_DeletingSnapshot: return "DeletingSnapshot";
364 case MachineState_SettingUp: return "SettingUp";
365 default:
366 {
367 AssertMsgFailed(("%d (%#x)\n", aState, aState));
368 static char s_szMsg[48];
369 RTStrPrintf(s_szMsg, sizeof(s_szMsg), "InvalidState-0x%08x\n", aState);
370 return s_szMsg;
371 }
372 }
373}
374
375/*static*/ const char *
376Global::stringifySessionState(SessionState_T aState)
377{
378 switch (aState)
379 {
380 case SessionState_Null: return "Null";
381 case SessionState_Unlocked: return "Unlocked";
382 case SessionState_Locked: return "Locked";
383 case SessionState_Spawning: return "Spawning";
384 case SessionState_Unlocking: return "Unlocking";
385 default:
386 {
387 AssertMsgFailed(("%d (%#x)\n", aState, aState));
388 static char s_szMsg[48];
389 RTStrPrintf(s_szMsg, sizeof(s_szMsg), "InvalidState-0x%08x\n", aState);
390 return s_szMsg;
391 }
392 }
393}
394
395/*static*/ const char *
396Global::stringifyDeviceType(DeviceType_T aType)
397{
398 switch (aType)
399 {
400 case DeviceType_Null: return "Null";
401 case DeviceType_Floppy: return "Floppy";
402 case DeviceType_DVD: return "DVD";
403 case DeviceType_HardDisk: return "HardDisk";
404 case DeviceType_Network: return "Network";
405 case DeviceType_USB: return "USB";
406 case DeviceType_SharedFolder: return "ShardFolder";
407 default:
408 {
409 AssertMsgFailed(("%d (%#x)\n", aType, aType));
410 static char s_szMsg[48];
411 RTStrPrintf(s_szMsg, sizeof(s_szMsg), "InvalidType-0x%08x\n", aType);
412 return s_szMsg;
413 }
414 }
415}
416
417/*static*/ int
418Global::vboxStatusCodeFromCOM(HRESULT aComStatus)
419{
420 switch (aComStatus)
421 {
422 case S_OK: return VINF_SUCCESS;
423
424 /* Standard COM status codes. See also RTErrConvertFromDarwinCOM */
425 case E_UNEXPECTED: return VERR_COM_UNEXPECTED;
426 case E_NOTIMPL: return VERR_NOT_IMPLEMENTED;
427 case E_OUTOFMEMORY: return VERR_NO_MEMORY;
428 case E_INVALIDARG: return VERR_INVALID_PARAMETER;
429 case E_NOINTERFACE: return VERR_NOT_SUPPORTED;
430 case E_POINTER: return VERR_INVALID_POINTER;
431#ifdef E_HANDLE
432 case E_HANDLE: return VERR_INVALID_HANDLE;
433#endif
434 case E_ABORT: return VERR_CANCELLED;
435 case E_FAIL: return VERR_GENERAL_FAILURE;
436 case E_ACCESSDENIED: return VERR_ACCESS_DENIED;
437
438 /* VirtualBox status codes */
439 case VBOX_E_OBJECT_NOT_FOUND: return VERR_COM_OBJECT_NOT_FOUND;
440 case VBOX_E_INVALID_VM_STATE: return VERR_COM_INVALID_VM_STATE;
441 case VBOX_E_VM_ERROR: return VERR_COM_VM_ERROR;
442 case VBOX_E_FILE_ERROR: return VERR_COM_FILE_ERROR;
443 case VBOX_E_IPRT_ERROR: return VERR_COM_IPRT_ERROR;
444 case VBOX_E_PDM_ERROR: return VERR_COM_PDM_ERROR;
445 case VBOX_E_INVALID_OBJECT_STATE: return VERR_COM_INVALID_OBJECT_STATE;
446 case VBOX_E_HOST_ERROR: return VERR_COM_HOST_ERROR;
447 case VBOX_E_NOT_SUPPORTED: return VERR_COM_NOT_SUPPORTED;
448 case VBOX_E_XML_ERROR: return VERR_COM_XML_ERROR;
449 case VBOX_E_INVALID_SESSION_STATE: return VERR_COM_INVALID_SESSION_STATE;
450 case VBOX_E_OBJECT_IN_USE: return VERR_COM_OBJECT_IN_USE;
451
452 default:
453 if (SUCCEEDED(aComStatus))
454 return VINF_SUCCESS;
455 /** @todo Check for the win32 facility and use the
456 * RTErrConvertFromWin32 function on windows. */
457 return VERR_UNRESOLVED_ERROR;
458 }
459}
460
461
462/*static*/ HRESULT
463Global::vboxStatusCodeToCOM(int aVBoxStatus)
464{
465 switch (aVBoxStatus)
466 {
467 case VINF_SUCCESS: return S_OK;
468
469 /* Standard COM status codes. */
470 case VERR_COM_UNEXPECTED: return E_UNEXPECTED;
471 case VERR_NOT_IMPLEMENTED: return E_NOTIMPL;
472 case VERR_NO_MEMORY: return E_OUTOFMEMORY;
473 case VERR_INVALID_PARAMETER: return E_INVALIDARG;
474 case VERR_NOT_SUPPORTED: return E_NOINTERFACE;
475 case VERR_INVALID_POINTER: return E_POINTER;
476#ifdef E_HANDLE
477 case VERR_INVALID_HANDLE: return E_HANDLE;
478#endif
479 case VERR_CANCELLED: return E_ABORT;
480 case VERR_GENERAL_FAILURE: return E_FAIL;
481 case VERR_ACCESS_DENIED: return E_ACCESSDENIED;
482
483 /* VirtualBox COM status codes */
484 case VERR_COM_OBJECT_NOT_FOUND: return VBOX_E_OBJECT_NOT_FOUND;
485 case VERR_COM_INVALID_VM_STATE: return VBOX_E_INVALID_VM_STATE;
486 case VERR_COM_VM_ERROR: return VBOX_E_VM_ERROR;
487 case VERR_COM_FILE_ERROR: return VBOX_E_FILE_ERROR;
488 case VERR_COM_IPRT_ERROR: return VBOX_E_IPRT_ERROR;
489 case VERR_COM_PDM_ERROR: return VBOX_E_PDM_ERROR;
490 case VERR_COM_INVALID_OBJECT_STATE: return VBOX_E_INVALID_OBJECT_STATE;
491 case VERR_COM_HOST_ERROR: return VBOX_E_HOST_ERROR;
492 case VERR_COM_NOT_SUPPORTED: return VBOX_E_NOT_SUPPORTED;
493 case VERR_COM_XML_ERROR: return VBOX_E_XML_ERROR;
494 case VERR_COM_INVALID_SESSION_STATE: return VBOX_E_INVALID_SESSION_STATE;
495 case VERR_COM_OBJECT_IN_USE: return VBOX_E_OBJECT_IN_USE;
496
497 /* Other errors. */
498 case VERR_UNRESOLVED_ERROR: return E_FAIL;
499
500 default:
501 AssertMsgFailed(("%Rrc\n", aVBoxStatus));
502 if (RT_SUCCESS(aVBoxStatus))
503 return S_OK;
504
505 /* try categorize it */
506 if ( aVBoxStatus < 0
507 && ( aVBoxStatus > -1000
508 || (aVBoxStatus < -22000 && aVBoxStatus > -32766) )
509 )
510 return VBOX_E_IPRT_ERROR;
511 if ( aVBoxStatus < VERR_PDM_NO_SUCH_LUN / 100 * 10
512 && aVBoxStatus > VERR_PDM_NO_SUCH_LUN / 100 * 10 - 100)
513 return VBOX_E_PDM_ERROR;
514 if ( aVBoxStatus <= -1000
515 && aVBoxStatus > -5000 /* wrong, but so what... */)
516 return VBOX_E_VM_ERROR;
517
518 return E_FAIL;
519 }
520}
521
522
523/* vi: set tabstop=4 shiftwidth=4 expandtab: */
Note: See TracBrowser for help on using the repository browser.

© 2025 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette