[14732] | 1 | /* $Id: VBoxManage.h 77887 2019-03-26 16:41:15Z vboxsync $ */
|
---|
[1] | 2 | /** @file
|
---|
[14732] | 3 | * VBoxManage - VirtualBox command-line interface, internal header file.
|
---|
[1] | 4 | */
|
---|
| 5 |
|
---|
| 6 | /*
|
---|
[76553] | 7 | * Copyright (C) 2006-2019 Oracle Corporation
|
---|
[1] | 8 | *
|
---|
| 9 | * This file is part of VirtualBox Open Source Edition (OSE), as
|
---|
| 10 | * available from http://www.virtualbox.org. This file is free software;
|
---|
| 11 | * you can redistribute it and/or modify it under the terms of the GNU
|
---|
[5999] | 12 | * General Public License (GPL) as published by the Free Software
|
---|
| 13 | * Foundation, in version 2 as it comes in the "COPYING" file of the
|
---|
| 14 | * VirtualBox OSE distribution. VirtualBox OSE is distributed in the
|
---|
| 15 | * hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
|
---|
[1] | 16 | */
|
---|
| 17 |
|
---|
[76582] | 18 | #ifndef VBOX_INCLUDED_SRC_VBoxManage_VBoxManage_h
|
---|
| 19 | #define VBOX_INCLUDED_SRC_VBoxManage_VBoxManage_h
|
---|
[76532] | 20 | #ifndef RT_WITHOUT_PRAGMA_ONCE
|
---|
| 21 | # pragma once
|
---|
| 22 | #endif
|
---|
[1] | 23 |
|
---|
[11703] | 24 | #ifndef VBOX_ONLY_DOCS
|
---|
[16054] | 25 | #include <VBox/com/com.h>
|
---|
[5146] | 26 | #include <VBox/com/ptr.h>
|
---|
| 27 | #include <VBox/com/VirtualBox.h>
|
---|
[14555] | 28 | #include <VBox/com/string.h>
|
---|
[42176] | 29 | #include <VBox/com/array.h>
|
---|
[11703] | 30 | #endif /* !VBOX_ONLY_DOCS */
|
---|
[5146] | 31 |
|
---|
[13908] | 32 | #include <iprt/types.h>
|
---|
[32701] | 33 | #include <iprt/message.h>
|
---|
[32709] | 34 | #include <iprt/stream.h>
|
---|
[49621] | 35 | #include <iprt/getopt.h>
|
---|
[13908] | 36 |
|
---|
[56344] | 37 | #ifndef VBOX_ONLY_DOCS
|
---|
| 38 | # include "VBoxManageBuiltInHelp.h"
|
---|
| 39 | #endif
|
---|
[56118] | 40 |
|
---|
[56344] | 41 |
|
---|
[18396] | 42 | ////////////////////////////////////////////////////////////////////////////////
|
---|
| 43 | //
|
---|
| 44 | // definitions
|
---|
| 45 | //
|
---|
| 46 | ////////////////////////////////////////////////////////////////////////////////
|
---|
| 47 |
|
---|
[77595] | 48 | /** @name Syntax diagram category, i.e. the command.
|
---|
[5204] | 49 | * @{ */
|
---|
[77595] | 50 | typedef enum
|
---|
| 51 | {
|
---|
| 52 | USAGE_INVALID = 0,
|
---|
| 53 | USAGE_LIST,
|
---|
| 54 | USAGE_SHOWVMINFO,
|
---|
| 55 | USAGE_REGISTERVM,
|
---|
| 56 | USAGE_UNREGISTERVM,
|
---|
| 57 | USAGE_CREATEVM,
|
---|
| 58 | USAGE_MODIFYVM,
|
---|
| 59 | USAGE_STARTVM,
|
---|
| 60 | USAGE_CONTROLVM,
|
---|
| 61 | USAGE_DISCARDSTATE,
|
---|
| 62 | USAGE_CLOSEMEDIUM,
|
---|
| 63 | USAGE_SHOWMEDIUMINFO,
|
---|
| 64 | USAGE_CREATEMEDIUM,
|
---|
| 65 | USAGE_MODIFYMEDIUM,
|
---|
| 66 | USAGE_CLONEMEDIUM,
|
---|
| 67 | USAGE_MOVEVM,
|
---|
| 68 | USAGE_CREATEHOSTIF,
|
---|
| 69 | USAGE_REMOVEHOSTIF,
|
---|
| 70 | USAGE_GETEXTRADATA,
|
---|
| 71 | USAGE_SETEXTRADATA,
|
---|
| 72 | USAGE_SETPROPERTY,
|
---|
| 73 | USAGE_USBFILTER,
|
---|
| 74 | USAGE_SHAREDFOLDER,
|
---|
| 75 | USAGE_I_LOADSYMS,
|
---|
| 76 | USAGE_I_LOADMAP,
|
---|
| 77 | USAGE_I_SETHDUUID,
|
---|
| 78 | USAGE_CONVERTFROMRAW,
|
---|
| 79 | USAGE_I_LISTPARTITIONS,
|
---|
| 80 | USAGE_I_CREATERAWVMDK,
|
---|
| 81 | USAGE_ADOPTSTATE,
|
---|
| 82 | USAGE_I_MODINSTALL,
|
---|
| 83 | USAGE_I_MODUNINSTALL,
|
---|
| 84 | USAGE_I_RENAMEVMDK,
|
---|
[10797] | 85 | #ifdef VBOX_WITH_GUEST_PROPS
|
---|
[77595] | 86 | USAGE_GUESTPROPERTY,
|
---|
[10797] | 87 | #endif /* VBOX_WITH_GUEST_PROPS defined */
|
---|
[77595] | 88 | USAGE_I_CONVERTTORAW,
|
---|
| 89 | USAGE_METRICS,
|
---|
| 90 | USAGE_I_CONVERTHD,
|
---|
| 91 | USAGE_IMPORTAPPLIANCE,
|
---|
| 92 | USAGE_EXPORTAPPLIANCE,
|
---|
| 93 | USAGE_HOSTONLYIFS,
|
---|
| 94 | USAGE_DHCPSERVER,
|
---|
| 95 | USAGE_I_DUMPHDINFO,
|
---|
| 96 | USAGE_STORAGEATTACH,
|
---|
| 97 | USAGE_STORAGECONTROLLER,
|
---|
[27703] | 98 | #ifdef VBOX_WITH_GUEST_CONTROL
|
---|
[77595] | 99 | USAGE_GUESTCONTROL,
|
---|
[27703] | 100 | #endif /* VBOX_WITH_GUEST_CONTROL defined */
|
---|
[77595] | 101 | USAGE_I_DEBUGLOG,
|
---|
| 102 | USAGE_I_SETHDPARENTUUID,
|
---|
| 103 | USAGE_I_PASSWORDHASH,
|
---|
| 104 | USAGE_BANDWIDTHCONTROL,
|
---|
| 105 | USAGE_I_GUESTSTATS,
|
---|
| 106 | USAGE_I_REPAIRHD,
|
---|
| 107 | USAGE_NATNETWORK,
|
---|
| 108 | USAGE_MEDIUMPROPERTY,
|
---|
| 109 | USAGE_ENCRYPTMEDIUM,
|
---|
| 110 | USAGE_MEDIUMENCCHKPWD,
|
---|
| 111 | USAGE_USBDEVSOURCE,
|
---|
[77777] | 112 | USAGE_CLOUDPROFILE,
|
---|
[77595] | 113 | /* Insert new entries before this line, but only if it is not an option
|
---|
| 114 | * to go for the new style command and help handling (see e.g. extpack,
|
---|
| 115 | * unattend or mediumio. */
|
---|
| 116 | USAGE_S_NEWCMD = 10000, /**< new style command with no old help support */
|
---|
| 117 | USAGE_S_ALL,
|
---|
| 118 | USAGE_S_DUMPOPTS
|
---|
| 119 | } USAGECATEGORY;
|
---|
[5204] | 120 | /** @} */
|
---|
[1] | 121 |
|
---|
[77595] | 122 |
|
---|
| 123 | #define HELP_SCOPE_USBFILTER_ADD RT_BIT_64(0)
|
---|
| 124 | #define HELP_SCOPE_USBFILTER_MODIFY RT_BIT_64(1)
|
---|
| 125 | #define HELP_SCOPE_USBFILTER_REMOVE RT_BIT_64(2)
|
---|
| 126 |
|
---|
| 127 | #define HELP_SCOPE_SHAREDFOLDER_ADD RT_BIT_64(0)
|
---|
| 128 | #define HELP_SCOPE_SHAREDFOLDER_REMOVE RT_BIT_64(1)
|
---|
| 129 |
|
---|
[49621] | 130 | #ifdef VBOX_WITH_GUEST_CONTROL
|
---|
[77595] | 131 | # define HELP_SCOPE_GSTCTRL_RUN RT_BIT(0)
|
---|
| 132 | # define HELP_SCOPE_GSTCTRL_START RT_BIT(1)
|
---|
| 133 | # define HELP_SCOPE_GSTCTRL_COPYFROM RT_BIT(2)
|
---|
| 134 | # define HELP_SCOPE_GSTCTRL_COPYTO RT_BIT(3)
|
---|
| 135 | # define HELP_SCOPE_GSTCTRL_MKDIR RT_BIT(4)
|
---|
| 136 | # define HELP_SCOPE_GSTCTRL_RMDIR RT_BIT(5)
|
---|
| 137 | # define HELP_SCOPE_GSTCTRL_RM RT_BIT(6)
|
---|
| 138 | # define HELP_SCOPE_GSTCTRL_MV RT_BIT(7)
|
---|
| 139 | # define HELP_SCOPE_GSTCTRL_MKTEMP RT_BIT(8)
|
---|
| 140 | # define HELP_SCOPE_GSTCTRL_LIST RT_BIT(9)
|
---|
| 141 | # define HELP_SCOPE_GSTCTRL_CLOSEPROCESS RT_BIT(10)
|
---|
| 142 | # define HELP_SCOPE_GSTCTRL_CLOSESESSION RT_BIT(11)
|
---|
| 143 | # define HELP_SCOPE_GSTCTRL_STAT RT_BIT(12)
|
---|
| 144 | # define HELP_SCOPE_GSTCTRL_UPDATEGA RT_BIT(13)
|
---|
| 145 | # define HELP_SCOPE_GSTCTRL_WATCH RT_BIT(14)
|
---|
[49621] | 146 | #endif
|
---|
| 147 |
|
---|
[16052] | 148 | /** command handler argument */
|
---|
| 149 | struct HandlerArg
|
---|
| 150 | {
|
---|
| 151 | int argc;
|
---|
| 152 | char **argv;
|
---|
[17079] | 153 |
|
---|
[16057] | 154 | #ifndef VBOX_ONLY_DOCS
|
---|
[16052] | 155 | ComPtr<IVirtualBox> virtualBox;
|
---|
| 156 | ComPtr<ISession> session;
|
---|
[16057] | 157 | #endif
|
---|
[16052] | 158 | };
|
---|
| 159 |
|
---|
[1] | 160 | /** flag whether we're in internal mode */
|
---|
[5204] | 161 | extern bool g_fInternalMode;
|
---|
[1] | 162 |
|
---|
[4649] | 163 | /** showVMInfo details */
|
---|
| 164 | typedef enum
|
---|
| 165 | {
|
---|
[4779] | 166 | VMINFO_NONE = 0,
|
---|
[5204] | 167 | VMINFO_STANDARD = 1, /**< standard details */
|
---|
[27822] | 168 | VMINFO_FULL = 2, /**< both */
|
---|
| 169 | VMINFO_MACHINEREADABLE = 3, /**< both, and make it machine readable */
|
---|
| 170 | VMINFO_COMPACT = 4
|
---|
[4649] | 171 | } VMINFO_DETAILS;
|
---|
| 172 |
|
---|
[56118] | 173 |
|
---|
[18396] | 174 | ////////////////////////////////////////////////////////////////////////////////
|
---|
| 175 | //
|
---|
| 176 | // global variables
|
---|
| 177 | //
|
---|
| 178 | ////////////////////////////////////////////////////////////////////////////////
|
---|
[16052] | 179 |
|
---|
[18396] | 180 | extern bool g_fDetailedProgress; // in VBoxManage.cpp
|
---|
| 181 |
|
---|
[56118] | 182 |
|
---|
[18396] | 183 | ////////////////////////////////////////////////////////////////////////////////
|
---|
| 184 | //
|
---|
| 185 | // prototypes
|
---|
| 186 | //
|
---|
| 187 | ////////////////////////////////////////////////////////////////////////////////
|
---|
| 188 |
|
---|
[17103] | 189 | /* VBoxManageHelp.cpp */
|
---|
[77595] | 190 |
|
---|
| 191 | /* Legacy help infrastructure, to be replaced by new one using generated help. */
|
---|
| 192 | void printUsage(USAGECATEGORY enmCommand, uint64_t fSubcommandScope, PRTSTREAM pStrm);
|
---|
| 193 | RTEXITCODE errorSyntax(USAGECATEGORY enmCommand, const char *pszFormat, ...);
|
---|
| 194 | RTEXITCODE errorSyntaxEx(USAGECATEGORY enmCommand, uint64_t fSubcommandScope, const char *pszFormat, ...);
|
---|
| 195 | RTEXITCODE errorGetOpt(USAGECATEGORY enmCommand, int rc, union RTGETOPTUNION const *pValueUnion);
|
---|
| 196 | RTEXITCODE errorGetOptEx(USAGECATEGORY enmCommand, uint64_t fSubcommandScope, int rc, union RTGETOPTUNION const *pValueUnion);
|
---|
[33764] | 197 | RTEXITCODE errorArgument(const char *pszFormat, ...);
|
---|
[1] | 198 |
|
---|
[77595] | 199 | void printUsageInternal(USAGECATEGORY enmCommand, PRTSTREAM pStrm);
|
---|
[15492] | 200 |
|
---|
[15499] | 201 | #ifndef VBOX_ONLY_DOCS
|
---|
[56344] | 202 | void setCurrentCommand(enum HELP_CMD_VBOXMANAGE enmCommand);
|
---|
| 203 | void setCurrentSubcommand(uint64_t fCurSubcommandScope);
|
---|
| 204 |
|
---|
[56349] | 205 | void printUsage(PRTSTREAM pStrm);
|
---|
| 206 | void printHelp(PRTSTREAM pStrm);
|
---|
[56344] | 207 | RTEXITCODE errorNoSubcommand(void);
|
---|
| 208 | RTEXITCODE errorUnknownSubcommand(const char *pszSubCmd);
|
---|
[56349] | 209 | RTEXITCODE errorTooManyParameters(char **papszArgs);
|
---|
[56344] | 210 | RTEXITCODE errorGetOpt(int rcGetOpt, union RTGETOPTUNION const *pValueUnion);
|
---|
| 211 | RTEXITCODE errorSyntax(const char *pszFormat, ...);
|
---|
| 212 |
|
---|
[24879] | 213 | HRESULT showProgress(ComPtr<IProgress> progress);
|
---|
[17103] | 214 | #endif
|
---|
[15492] | 215 |
|
---|
[17103] | 216 | /* VBoxManage.cpp */
|
---|
[32709] | 217 | void showLogo(PRTSTREAM pStrm);
|
---|
[17103] | 218 |
|
---|
| 219 | #ifndef VBOX_ONLY_DOCS
|
---|
[42444] | 220 | RTEXITCODE readPasswordFile(const char *pszFilename, com::Utf8Str *pPasswd);
|
---|
[55182] | 221 | RTEXITCODE readPasswordFromConsole(com::Utf8Str *pPassword, const char *pszPrompt, ...);
|
---|
[42444] | 222 |
|
---|
[56118] | 223 | RTEXITCODE handleInternalCommands(HandlerArg *a);
|
---|
[11703] | 224 | #endif /* !VBOX_ONLY_DOCS */
|
---|
[14555] | 225 |
|
---|
[24903] | 226 | /* VBoxManageControlVM.cpp */
|
---|
[56118] | 227 | RTEXITCODE handleControlVM(HandlerArg *a);
|
---|
[35766] | 228 | #ifndef VBOX_ONLY_DOCS
|
---|
[35764] | 229 | unsigned int getMaxNics(IVirtualBox* vbox, IMachine* mach);
|
---|
[35766] | 230 | #endif
|
---|
[24903] | 231 |
|
---|
[16485] | 232 | /* VBoxManageModifyVM.cpp */
|
---|
[42176] | 233 | #ifndef VBOX_ONLY_DOCS
|
---|
| 234 | void parseGroups(const char *pcszGroups, com::SafeArray<BSTR> *pGroups);
|
---|
| 235 | #endif
|
---|
[56118] | 236 | RTEXITCODE handleModifyVM(HandlerArg *a);
|
---|
[16485] | 237 |
|
---|
[34913] | 238 | /* VBoxManageDebugVM.cpp */
|
---|
[56118] | 239 | RTEXITCODE handleDebugVM(HandlerArg *a);
|
---|
[34913] | 240 |
|
---|
[14555] | 241 | /* VBoxManageGuestProp.cpp */
|
---|
[42460] | 242 | extern void usageGuestProperty(PRTSTREAM pStrm, const char *pcszSep1, const char *pcszSep2);
|
---|
[32712] | 243 |
|
---|
| 244 | /* VBoxManageGuestCtrl.cpp */
|
---|
[77595] | 245 | extern void usageGuestControl(PRTSTREAM pStrm, const char *pcszSep1, const char *pcszSep2, uint64_t fSubcommandScope);
|
---|
[32712] | 246 |
|
---|
[11703] | 247 | #ifndef VBOX_ONLY_DOCS
|
---|
[32712] | 248 | /* VBoxManageGuestProp.cpp */
|
---|
[56118] | 249 | RTEXITCODE handleGuestProperty(HandlerArg *a);
|
---|
[14555] | 250 |
|
---|
[27703] | 251 | /* VBoxManageGuestCtrl.cpp */
|
---|
[56118] | 252 | RTEXITCODE handleGuestControl(HandlerArg *a);
|
---|
[27703] | 253 |
|
---|
[14612] | 254 | /* VBoxManageVMInfo.cpp */
|
---|
[39119] | 255 | HRESULT showSnapshots(ComPtr<ISnapshot> &rootSnapshot,
|
---|
| 256 | ComPtr<ISnapshot> ¤tSnapshot,
|
---|
| 257 | VMINFO_DETAILS details,
|
---|
[44028] | 258 | const com::Utf8Str &prefix = "",
|
---|
[39119] | 259 | int level = 0);
|
---|
[56118] | 260 | RTEXITCODE handleShowVMInfo(HandlerArg *a);
|
---|
[53266] | 261 | HRESULT showVMInfo(ComPtr<IVirtualBox> pVirtualBox,
|
---|
| 262 | ComPtr<IMachine> pMachine,
|
---|
| 263 | ComPtr<ISession> pSession,
|
---|
| 264 | VMINFO_DETAILS details = VMINFO_NONE);
|
---|
[35907] | 265 | const char *machineStateToName(MachineState_T machineState, bool fShort);
|
---|
[40470] | 266 | HRESULT showBandwidthGroups(ComPtr<IBandwidthControl> &bwCtrl,
|
---|
| 267 | VMINFO_DETAILS details);
|
---|
[14612] | 268 |
|
---|
| 269 | /* VBoxManageList.cpp */
|
---|
[56118] | 270 | RTEXITCODE handleList(HandlerArg *a);
|
---|
[14555] | 271 |
|
---|
[14646] | 272 | /* VBoxManageMetrics.cpp */
|
---|
[56118] | 273 | RTEXITCODE handleMetrics(HandlerArg *a);
|
---|
[14646] | 274 |
|
---|
[24907] | 275 | /* VBoxManageMisc.cpp */
|
---|
[56118] | 276 | RTEXITCODE handleRegisterVM(HandlerArg *a);
|
---|
| 277 | RTEXITCODE handleUnregisterVM(HandlerArg *a);
|
---|
| 278 | RTEXITCODE handleCreateVM(HandlerArg *a);
|
---|
| 279 | RTEXITCODE handleCloneVM(HandlerArg *a);
|
---|
| 280 | RTEXITCODE handleStartVM(HandlerArg *a);
|
---|
| 281 | RTEXITCODE handleDiscardState(HandlerArg *a);
|
---|
| 282 | RTEXITCODE handleAdoptState(HandlerArg *a);
|
---|
| 283 | RTEXITCODE handleGetExtraData(HandlerArg *a);
|
---|
| 284 | RTEXITCODE handleSetExtraData(HandlerArg *a);
|
---|
| 285 | RTEXITCODE handleSetProperty(HandlerArg *a);
|
---|
| 286 | RTEXITCODE handleSharedFolder(HandlerArg *a);
|
---|
| 287 | RTEXITCODE handleExtPack(HandlerArg *a);
|
---|
[68140] | 288 | RTEXITCODE handleUnattended(HandlerArg *a);
|
---|
[70582] | 289 | RTEXITCODE handleMoveVM(HandlerArg *a);
|
---|
[77777] | 290 | RTEXITCODE handleCloudProfile(HandlerArg *a);
|
---|
[24907] | 291 |
|
---|
[15492] | 292 | /* VBoxManageDisk.cpp */
|
---|
[44028] | 293 | HRESULT openMedium(HandlerArg *a, const char *pszFilenameOrUuid,
|
---|
| 294 | DeviceType_T enmDevType, AccessMode_T enmAccessMode,
|
---|
| 295 | ComPtr<IMedium> &pMedium, bool fForceNewUuidOnOpen,
|
---|
| 296 | bool fSilent);
|
---|
[56118] | 297 | RTEXITCODE handleCreateMedium(HandlerArg *a);
|
---|
| 298 | RTEXITCODE handleModifyMedium(HandlerArg *a);
|
---|
| 299 | RTEXITCODE handleCloneMedium(HandlerArg *a);
|
---|
| 300 | RTEXITCODE handleMediumProperty(HandlerArg *a);
|
---|
| 301 | RTEXITCODE handleEncryptMedium(HandlerArg *a);
|
---|
| 302 | RTEXITCODE handleCheckMediumPassword(HandlerArg *a);
|
---|
| 303 | RTEXITCODE handleConvertFromRaw(HandlerArg *a);
|
---|
[44498] | 304 | HRESULT showMediumInfo(const ComPtr<IVirtualBox> &pVirtualBox,
|
---|
| 305 | const ComPtr<IMedium> &pMedium,
|
---|
| 306 | const char *pszParentUUID,
|
---|
| 307 | bool fOptLong);
|
---|
[56118] | 308 | RTEXITCODE handleShowMediumInfo(HandlerArg *a);
|
---|
| 309 | RTEXITCODE handleCloseMedium(HandlerArg *a);
|
---|
[72949] | 310 | RTEXITCODE handleMediumIO(HandlerArg *a);
|
---|
[54438] | 311 | int parseMediumType(const char *psz, MediumType_T *penmMediumType);
|
---|
[42248] | 312 | int parseBool(const char *psz, bool *pb);
|
---|
[15492] | 313 |
|
---|
[23802] | 314 | /* VBoxManageStorageController.cpp */
|
---|
[56118] | 315 | RTEXITCODE handleStorageAttach(HandlerArg *a);
|
---|
| 316 | RTEXITCODE handleStorageController(HandlerArg *a);
|
---|
[23802] | 317 |
|
---|
[16485] | 318 | // VBoxManageImport.cpp
|
---|
[56118] | 319 | RTEXITCODE handleImportAppliance(HandlerArg *a);
|
---|
| 320 | RTEXITCODE handleExportAppliance(HandlerArg *a);
|
---|
[16485] | 321 |
|
---|
[17102] | 322 | // VBoxManageSnapshot.cpp
|
---|
[56118] | 323 | RTEXITCODE handleSnapshot(HandlerArg *a);
|
---|
[17102] | 324 |
|
---|
[14555] | 325 | /* VBoxManageUSB.cpp */
|
---|
[56118] | 326 | RTEXITCODE handleUSBFilter(HandlerArg *a);
|
---|
[60089] | 327 | RTEXITCODE handleUSBDevSource(HandlerArg *a);
|
---|
[14555] | 328 |
|
---|
[17419] | 329 | /* VBoxManageHostonly.cpp */
|
---|
[56118] | 330 | RTEXITCODE handleHostonlyIf(HandlerArg *a);
|
---|
[17419] | 331 |
|
---|
[45156] | 332 | /* VBoxManageDHCPServer.cpp */
|
---|
[56118] | 333 | RTEXITCODE handleDHCPServer(HandlerArg *a);
|
---|
[17882] | 334 |
|
---|
[45156] | 335 | /* VBoxManageNATNetwork.cpp */
|
---|
[56118] | 336 | RTEXITCODE handleNATNetwork(HandlerArg *a);
|
---|
[45156] | 337 |
|
---|
| 338 |
|
---|
[34587] | 339 | /* VBoxManageBandwidthControl.cpp */
|
---|
[56118] | 340 | RTEXITCODE handleBandwidthControl(HandlerArg *a);
|
---|
[34587] | 341 |
|
---|
[77883] | 342 | /* VBoxManageCloud.cpp */
|
---|
| 343 | RTEXITCODE handleCloud(HandlerArg *a);
|
---|
| 344 |
|
---|
[11703] | 345 | #endif /* !VBOX_ONLY_DOCS */
|
---|
[1] | 346 |
|
---|
[76582] | 347 | #endif /* !VBOX_INCLUDED_SRC_VBoxManage_VBoxManage_h */
|
---|