VirtualBox

source: vbox/trunk/src/VBox/Main/cbinding/VBoxCAPI_v2_2.h@ 76542

Last change on this file since 76542 was 76542, checked in by vboxsync, 6 years ago

Artwork: scm --fix-header-guards. bugref:9344

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 136.6 KB
Line 
1
2/*
3 * DO NOT EDIT! This is a generated file.
4 *
5 * XPCOM IDL (XPIDL) definition for VirtualBox Main API (COM interfaces)
6 * generated from XIDL (XML interface definition).
7 *
8 * Source : src/VBox/Main/idl/VirtualBox.xidl
9 * Generator : src/VBox/Main/idl/xpcidl.xsl
10 *
11 * This file contains portions from the following Mozilla XPCOM files:
12 * xpcom/include/xpcom/nsID.h
13 * xpcom/include/nsIException.h
14 * xpcom/include/nsprpub/prtypes.h
15 * xpcom/include/xpcom/nsISupportsBase.h
16 *
17 * These files were originally triple-licensed (MPL/GPL2/LGPL2.1). Oracle
18 * elects to distribute this derived work under the LGPL2.1 only.
19 */
20
21/*
22 * Copyright (C) 2008-2017 Oracle Corporation
23 *
24 * This file is part of a free software library; you can redistribute
25 * it and/or modify it under the terms of the GNU Lesser General
26 * Public License version 2.1 as published by the Free Software
27 * Foundation and shipped in the "COPYING" file with this library.
28 * The library is distributed in the hope that it will be useful,
29 * but WITHOUT ANY WARRANTY of any kind.
30 *
31 * Oracle LGPL Disclaimer: For the avoidance of doubt, except that if
32 * any license choice other than GPL or LGPL is available it will
33 * apply instead, Oracle elects to use only the Lesser General Public
34 * License version 2.1 (LGPLv2) at this time for any software where
35 * a choice of LGPL license versions is made available with the
36 * language indicating that LGPLv2 or any later version may be used,
37 * or where a choice of which version of the LGPL is applied is
38 * otherwise unspecified.
39 */
40
41#ifndef ___VirtualBox_CXPCOM_h
42#define ___VirtualBox_CXPCOM_h
43#ifndef RT_WITHOUT_PRAGMA_ONCE
44# pragma once
45#endif
46
47#ifdef __cplusplus
48# include "VirtualBox_XPCOM.h"
49#else /* !__cplusplus */
50
51#include <stddef.h>
52#include "wchar.h"
53
54#if defined(WIN32)
55
56#define PR_EXPORT(__type) extern __declspec(dllexport) __type
57#define PR_EXPORT_DATA(__type) extern __declspec(dllexport) __type
58#define PR_IMPORT(__type) __declspec(dllimport) __type
59#define PR_IMPORT_DATA(__type) __declspec(dllimport) __type
60
61#define PR_EXTERN(__type) extern __declspec(dllexport) __type
62#define PR_IMPLEMENT(__type) __declspec(dllexport) __type
63#define PR_EXTERN_DATA(__type) extern __declspec(dllexport) __type
64#define PR_IMPLEMENT_DATA(__type) __declspec(dllexport) __type
65
66#define PR_CALLBACK
67#define PR_CALLBACK_DECL
68#define PR_STATIC_CALLBACK(__x) static __x
69
70#elif defined(XP_BEOS)
71
72#define PR_EXPORT(__type) extern __declspec(dllexport) __type
73#define PR_EXPORT_DATA(__type) extern __declspec(dllexport) __type
74#define PR_IMPORT(__type) extern __declspec(dllexport) __type
75#define PR_IMPORT_DATA(__type) extern __declspec(dllexport) __type
76
77#define PR_EXTERN(__type) extern __declspec(dllexport) __type
78#define PR_IMPLEMENT(__type) __declspec(dllexport) __type
79#define PR_EXTERN_DATA(__type) extern __declspec(dllexport) __type
80#define PR_IMPLEMENT_DATA(__type) __declspec(dllexport) __type
81
82#define PR_CALLBACK
83#define PR_CALLBACK_DECL
84#define PR_STATIC_CALLBACK(__x) static __x
85
86#elif defined(WIN16)
87
88#define PR_CALLBACK_DECL __cdecl
89
90#if defined(_WINDLL)
91#define PR_EXPORT(__type) extern __type _cdecl _export _loadds
92#define PR_IMPORT(__type) extern __type _cdecl _export _loadds
93#define PR_EXPORT_DATA(__type) extern __type _export
94#define PR_IMPORT_DATA(__type) extern __type _export
95
96#define PR_EXTERN(__type) extern __type _cdecl _export _loadds
97#define PR_IMPLEMENT(__type) __type _cdecl _export _loadds
98#define PR_EXTERN_DATA(__type) extern __type _export
99#define PR_IMPLEMENT_DATA(__type) __type _export
100
101#define PR_CALLBACK __cdecl __loadds
102#define PR_STATIC_CALLBACK(__x) static __x PR_CALLBACK
103
104#else /* this must be .EXE */
105#define PR_EXPORT(__type) extern __type _cdecl _export
106#define PR_IMPORT(__type) extern __type _cdecl _export
107#define PR_EXPORT_DATA(__type) extern __type _export
108#define PR_IMPORT_DATA(__type) extern __type _export
109
110#define PR_EXTERN(__type) extern __type _cdecl _export
111#define PR_IMPLEMENT(__type) __type _cdecl _export
112#define PR_EXTERN_DATA(__type) extern __type _export
113#define PR_IMPLEMENT_DATA(__type) __type _export
114
115#define PR_CALLBACK __cdecl __loadds
116#define PR_STATIC_CALLBACK(__x) __x PR_CALLBACK
117#endif /* _WINDLL */
118
119#elif defined(XP_MAC)
120
121#define PR_EXPORT(__type) extern __declspec(export) __type
122#define PR_EXPORT_DATA(__type) extern __declspec(export) __type
123#define PR_IMPORT(__type) extern __declspec(export) __type
124#define PR_IMPORT_DATA(__type) extern __declspec(export) __type
125
126#define PR_EXTERN(__type) extern __declspec(export) __type
127#define PR_IMPLEMENT(__type) __declspec(export) __type
128#define PR_EXTERN_DATA(__type) extern __declspec(export) __type
129#define PR_IMPLEMENT_DATA(__type) __declspec(export) __type
130
131#define PR_CALLBACK
132#define PR_CALLBACK_DECL
133#define PR_STATIC_CALLBACK(__x) static __x
134
135#elif defined(XP_OS2) && defined(__declspec)
136
137#define PR_EXPORT(__type) extern __declspec(dllexport) __type
138#define PR_EXPORT_DATA(__type) extern __declspec(dllexport) __type
139#define PR_IMPORT(__type) __declspec(dllimport) __type
140#define PR_IMPORT_DATA(__type) __declspec(dllimport) __type
141
142#define PR_EXTERN(__type) extern __declspec(dllexport) __type
143#define PR_IMPLEMENT(__type) __declspec(dllexport) __type
144#define PR_EXTERN_DATA(__type) extern __declspec(dllexport) __type
145#define PR_IMPLEMENT_DATA(__type) __declspec(dllexport) __type
146
147#define PR_CALLBACK
148#define PR_CALLBACK_DECL
149#define PR_STATIC_CALLBACK(__x) static __x
150
151#elif defined(XP_OS2_VACPP)
152
153#define PR_EXPORT(__type) extern __type
154#define PR_EXPORT_DATA(__type) extern __type
155#define PR_IMPORT(__type) extern __type
156#define PR_IMPORT_DATA(__type) extern __type
157
158#define PR_EXTERN(__type) extern __type
159#define PR_IMPLEMENT(__type) __type
160#define PR_EXTERN_DATA(__type) extern __type
161#define PR_IMPLEMENT_DATA(__type) __type
162#define PR_CALLBACK _Optlink
163#define PR_CALLBACK_DECL
164#define PR_STATIC_CALLBACK(__x) static __x PR_CALLBACK
165
166#else /* Unix */
167
168# ifdef VBOX_HAVE_VISIBILITY_HIDDEN
169# define PR_EXPORT(__type) __attribute__((visibility("default"))) extern __type
170# define PR_EXPORT_DATA(__type) __attribute__((visibility("default"))) extern __type
171# define PR_IMPORT(__type) extern __type
172# define PR_IMPORT_DATA(__type) extern __type
173# define PR_EXTERN(__type) __attribute__((visibility("default"))) extern __type
174# define PR_IMPLEMENT(__type) __attribute__((visibility("default"))) __type
175# define PR_EXTERN_DATA(__type) __attribute__((visibility("default"))) extern __type
176# define PR_IMPLEMENT_DATA(__type) __attribute__((visibility("default"))) __type
177# define PR_CALLBACK
178# define PR_CALLBACK_DECL
179# define PR_STATIC_CALLBACK(__x) static __x
180# else
181# define PR_EXPORT(__type) extern __type
182# define PR_EXPORT_DATA(__type) extern __type
183# define PR_IMPORT(__type) extern __type
184# define PR_IMPORT_DATA(__type) extern __type
185# define PR_EXTERN(__type) extern __type
186# define PR_IMPLEMENT(__type) __type
187# define PR_EXTERN_DATA(__type) extern __type
188# define PR_IMPLEMENT_DATA(__type) __type
189# define PR_CALLBACK
190# define PR_CALLBACK_DECL
191# define PR_STATIC_CALLBACK(__x) static __x
192# endif
193#endif
194
195#if defined(_NSPR_BUILD_)
196#define NSPR_API(__type) PR_EXPORT(__type)
197#define NSPR_DATA_API(__type) PR_EXPORT_DATA(__type)
198#else
199#define NSPR_API(__type) PR_IMPORT(__type)
200#define NSPR_DATA_API(__type) PR_IMPORT_DATA(__type)
201#endif
202
203typedef unsigned char PRUint8;
204#if (defined(HPUX) && defined(__cplusplus) \
205 && !defined(__GNUC__) && __cplusplus < 199707L) \
206 || (defined(SCO) && defined(__cplusplus) \
207 && !defined(__GNUC__) && __cplusplus == 1L)
208typedef char PRInt8;
209#else
210typedef signed char PRInt8;
211#endif
212
213#define PR_INT8_MAX 127
214#define PR_INT8_MIN (-128)
215#define PR_UINT8_MAX 255U
216
217typedef unsigned short PRUint16;
218typedef short PRInt16;
219
220#define PR_INT16_MAX 32767
221#define PR_INT16_MIN (-32768)
222#define PR_UINT16_MAX 65535U
223
224typedef unsigned int PRUint32;
225typedef int PRInt32;
226#define PR_INT32(x) x
227#define PR_UINT32(x) x ## U
228
229#define PR_INT32_MAX PR_INT32(2147483647)
230#define PR_INT32_MIN (-PR_INT32_MAX - 1)
231#define PR_UINT32_MAX PR_UINT32(4294967295)
232
233typedef long PRInt64;
234typedef unsigned long PRUint64;
235typedef int PRIntn;
236typedef unsigned int PRUintn;
237
238typedef double PRFloat64;
239typedef size_t PRSize;
240
241typedef ptrdiff_t PRPtrdiff;
242
243typedef unsigned long PRUptrdiff;
244
245typedef PRIntn PRBool;
246
247#define PR_TRUE 1
248#define PR_FALSE 0
249
250typedef PRUint8 PRPackedBool;
251
252/*
253** Status code used by some routines that have a single point of failure or
254** special status return.
255*/
256typedef enum { PR_FAILURE = -1, PR_SUCCESS = 0 } PRStatus;
257
258#ifndef __PRUNICHAR__
259#define __PRUNICHAR__
260#if defined(WIN32) || defined(XP_MAC)
261typedef wchar_t PRUnichar;
262#else
263typedef PRUint16 PRUnichar;
264#endif
265#endif
266
267typedef long PRWord;
268typedef unsigned long PRUword;
269
270#define nsnull 0
271typedef PRUint32 nsresult;
272
273#if defined(__GNUC__) && (__GNUC__ > 2)
274#define NS_LIKELY(x) (__builtin_expect((x), 1))
275#define NS_UNLIKELY(x) (__builtin_expect((x), 0))
276#else
277#define NS_LIKELY(x) (x)
278#define NS_UNLIKELY(x) (x)
279#endif
280
281#define NS_FAILED(_nsresult) (NS_UNLIKELY((_nsresult) & 0x80000000))
282#define NS_SUCCEEDED(_nsresult) (NS_LIKELY(!((_nsresult) & 0x80000000)))
283
284/**
285 * An "interface id" which can be used to uniquely identify a given
286 * interface.
287 * A "unique identifier". This is modeled after OSF DCE UUIDs.
288 */
289
290struct nsID {
291 PRUint32 m0;
292 PRUint16 m1;
293 PRUint16 m2;
294 PRUint8 m3[8];
295};
296
297typedef struct nsID nsID;
298typedef nsID nsIID;
299
300struct nsISupports; /* forward declaration */
301struct nsIStackFrame; /* forward declaration */
302struct nsIException; /* forward declaration */
303typedef struct nsISupports nsISupports; /* forward declaration */
304typedef struct nsIStackFrame nsIStackFrame; /* forward declaration */
305typedef struct nsIException nsIException; /* forward declaration */
306
307/**
308 * IID for the nsISupports interface
309 * {00000000-0000-0000-c000-000000000046}
310 *
311 * To maintain binary compatibility with COM's IUnknown, we define the IID
312 * of nsISupports to be the same as that of COM's IUnknown.
313 */
314#define NS_ISUPPORTS_IID \
315 { 0x00000000, 0x0000, 0x0000, \
316 {0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46} }
317
318/**
319 * Reference count values
320 *
321 * This is the return type for AddRef() and Release() in nsISupports.
322 * IUnknown of COM returns an unsigned long from equivalent functions.
323 * The following ifdef exists to maintain binary compatibility with
324 * IUnknown.
325 */
326
327/**
328 * Basic component object model interface. Objects which implement
329 * this interface support runtime interface discovery (QueryInterface)
330 * and a reference counted memory model (AddRef/Release). This is
331 * modelled after the win32 IUnknown API.
332 */
333struct nsISupports_vtbl {
334
335 /**
336 * @name Methods
337 */
338
339 /**
340 * A run time mechanism for interface discovery.
341 * @param aIID [in] A requested interface IID
342 * @param aInstancePtr [out] A pointer to an interface pointer to
343 * receive the result.
344 * @return NS_OK if the interface is supported by the associated
345 * instance, NS_NOINTERFACE if it is not.
346 * NS_ERROR_INVALID_POINTER if aInstancePtr is NULL.
347 */
348 nsresult (*QueryInterface)(nsISupports *pThis, const nsID *iid, void **resultp);
349 /**
350 * Increases the reference count for this interface.
351 * The associated instance will not be deleted unless
352 * the reference count is returned to zero.
353 *
354 * @return The resulting reference count.
355 */
356 nsresult (*AddRef)(nsISupports *pThis);
357
358 /**
359 * Decreases the reference count for this interface.
360 * Generally, if the reference count returns to zero,
361 * the associated instance is deleted.
362 *
363 * @return The resulting reference count.
364 */
365 nsresult (*Release)(nsISupports *pThis);
366
367};
368
369struct nsISupports {
370 struct nsISupports_vtbl *vtbl;
371};
372
373/* starting interface: nsIException */
374#define NS_IEXCEPTION_IID_STR "f3a8d3b4-c424-4edc-8bf6-8974c983ba78"
375
376#define NS_IEXCEPTION_IID \
377 {0xf3a8d3b4, 0xc424, 0x4edc, \
378 { 0x8b, 0xf6, 0x89, 0x74, 0xc9, 0x83, 0xba, 0x78 }}
379
380struct nsIException_vtbl {
381
382 /* Methods from the Class nsISupports */
383 struct nsISupports_vtbl nsisupports;
384
385 /* readonly attribute string message; */
386 nsresult (*GetMessage)(nsIException *pThis, PRUnichar * *aMessage);
387
388 /* readonly attribute nsresult (*result; */
389 nsresult (*GetResult)(nsIException *pThis, nsresult *aResult);
390
391 /* readonly attribute string name; */
392 nsresult (*GetName)(nsIException *pThis, PRUnichar * *aName);
393
394 /* readonly attribute string filename; */
395 nsresult (*GetFilename)(nsIException *pThis, PRUnichar * *aFilename);
396
397 /* readonly attribute PRUint32 lineNumber; */
398 nsresult (*GetLineNumber)(nsIException *pThis, PRUint32 *aLineNumber);
399
400 /* readonly attribute PRUint32 columnNumber; */
401 nsresult (*GetColumnNumber)(nsIException *pThis, PRUint32 *aColumnNumber);
402
403 /* readonly attribute nsIStackFrame location; */
404 nsresult (*GetLocation)(nsIException *pThis, nsIStackFrame * *aLocation);
405
406 /* readonly attribute nsIException inner; */
407 nsresult (*GetInner)(nsIException *pThis, nsIException * *aInner);
408
409 /* readonly attribute nsISupports data; */
410 nsresult (*GetData)(nsIException *pThis, nsISupports * *aData);
411
412 /* string toString (); */
413 nsresult (*ToString)(nsIException *pThis, PRUnichar **_retval);
414};
415
416struct nsIException {
417 struct nsIException_vtbl *vtbl;
418};
419
420/* starting interface: nsIStackFrame */
421#define NS_ISTACKFRAME_IID_STR "91d82105-7c62-4f8b-9779-154277c0ee90"
422
423#define NS_ISTACKFRAME_IID \
424 {0x91d82105, 0x7c62, 0x4f8b, \
425 { 0x97, 0x79, 0x15, 0x42, 0x77, 0xc0, 0xee, 0x90 }}
426
427struct nsIStackFrame_vtbl {
428
429 /* Methods from the Class nsISupports */
430 struct nsISupports_vtbl nsisupports;
431
432 /* readonly attribute PRUint32 language; */
433 nsresult (*GetLanguage)(nsIStackFrame *pThis, PRUint32 *aLanguage);
434
435 /* readonly attribute string languageName; */
436 nsresult (*GetLanguageName)(nsIStackFrame *pThis, PRUnichar * *aLanguageName);
437
438 /* readonly attribute string filename; */
439 nsresult (*GetFilename)(nsIStackFrame *pThis, PRUnichar * *aFilename);
440
441 /* readonly attribute string name; */
442 nsresult (*GetName)(nsIStackFrame *pThis, PRUnichar * *aName);
443
444 /* readonly attribute PRInt32 lineNumber; */
445 nsresult (*GetLineNumber)(nsIStackFrame *pThis, PRInt32 *aLineNumber);
446
447 /* readonly attribute string sourceLine; */
448 nsresult (*GetSourceLine)(nsIStackFrame *pThis, PRUnichar * *aSourceLine);
449
450 /* readonly attribute nsIStackFrame caller; */
451 nsresult (*GetCaller)(nsIStackFrame *pThis, nsIStackFrame * *aCaller);
452
453 /* string toString (); */
454 nsresult (*ToString)(nsIStackFrame *pThis, PRUnichar **_retval);
455};
456
457struct nsIStackFrame {
458 struct nsIStackFrame_vtbl *vtbl;
459};
460
461
462#define VBOX_E_OBJECT_NOT_FOUND 0x80BB0001
463#define VBOX_E_INVALID_VM_STATE 0x80BB0002
464#define VBOX_E_VM_ERROR 0x80BB0003
465#define VBOX_E_FILE_ERROR 0x80BB0004
466#define VBOX_E_IPRT_ERROR 0x80BB0005
467#define VBOX_E_PDM_ERROR 0x80BB0006
468#define VBOX_E_INVALID_OBJECT_STATE 0x80BB0007
469#define VBOX_E_HOST_ERROR 0x80BB0008
470#define VBOX_E_NOT_SUPPORTED 0x80BB0009
471#define VBOX_E_XML_ERROR 0x80BB000A
472#define VBOX_E_INVALID_SESSION_STATE 0x80BB000B
473#define VBOX_E_OBJECT_IN_USE 0x80BB000C
474
475
476struct IVirtualBoxErrorInfo;
477struct IVirtualBoxCallback;
478struct IDHCPServer;
479struct IVirtualBox;
480struct IAppliance;
481struct IVirtualSystemDescription;
482struct IInternalMachineControl;
483struct IBIOSSettings;
484struct IMachine;
485struct IConsoleCallback;
486struct IRemoteDisplayInfo;
487struct IConsole;
488struct IHostDVDDrive;
489struct IHostFloppyDrive;
490struct IHostNetworkInterface;
491struct IHost;
492struct ISystemProperties;
493struct IGuestOSType;
494struct IGuest;
495struct IProgress;
496struct ISnapshot;
497struct IMedium;
498struct IHardDiskAttachment;
499struct IHardDisk;
500struct IHardDiskFormat;
501struct IFloppyImage;
502struct IDVDImage;
503struct IDVDDrive;
504struct IFloppyDrive;
505struct IKeyboard;
506struct IMouse;
507struct IFramebuffer;
508struct IFramebufferOverlay;
509struct IDisplay;
510struct INetworkAdapter;
511struct ISerialPort;
512struct IParallelPort;
513struct IMachineDebugger;
514struct IUSBController;
515struct IUSBDevice;
516struct IUSBDeviceFilter;
517struct IHostUSBDevice;
518struct IHostUSBDeviceFilter;
519struct IAudioAdapter;
520struct IVRDPServer;
521struct ISharedFolder;
522struct IInternalSessionControl;
523struct ISession;
524struct IStorageController;
525struct IManagedObjectRef;
526struct IWebsessionManager;
527struct IPerformanceMetric;
528struct IPerformanceCollector;
529
530typedef struct IVirtualBoxErrorInfo IVirtualBoxErrorInfo;
531typedef struct IVirtualBoxCallback IVirtualBoxCallback;
532typedef struct IDHCPServer IDHCPServer;
533typedef struct IVirtualBox IVirtualBox;
534typedef struct IAppliance IAppliance;
535typedef struct IVirtualSystemDescription IVirtualSystemDescription;
536typedef struct IInternalMachineControl IInternalMachineControl;
537typedef struct IBIOSSettings IBIOSSettings;
538typedef struct IMachine IMachine;
539typedef struct IConsoleCallback IConsoleCallback;
540typedef struct IRemoteDisplayInfo IRemoteDisplayInfo;
541typedef struct IConsole IConsole;
542typedef struct IHostDVDDrive IHostDVDDrive;
543typedef struct IHostFloppyDrive IHostFloppyDrive;
544typedef struct IHostNetworkInterface IHostNetworkInterface;
545typedef struct IHost IHost;
546typedef struct ISystemProperties ISystemProperties;
547typedef struct IGuestOSType IGuestOSType;
548typedef struct IGuest IGuest;
549typedef struct IProgress IProgress;
550typedef struct ISnapshot ISnapshot;
551typedef struct IMedium IMedium;
552typedef struct IHardDiskAttachment IHardDiskAttachment;
553typedef struct IHardDisk IHardDisk;
554typedef struct IHardDiskFormat IHardDiskFormat;
555typedef struct IFloppyImage IFloppyImage;
556typedef struct IDVDImage IDVDImage;
557typedef struct IDVDDrive IDVDDrive;
558typedef struct IFloppyDrive IFloppyDrive;
559typedef struct IKeyboard IKeyboard;
560typedef struct IMouse IMouse;
561typedef struct IFramebuffer IFramebuffer;
562typedef struct IFramebufferOverlay IFramebufferOverlay;
563typedef struct IDisplay IDisplay;
564typedef struct INetworkAdapter INetworkAdapter;
565typedef struct ISerialPort ISerialPort;
566typedef struct IParallelPort IParallelPort;
567typedef struct IMachineDebugger IMachineDebugger;
568typedef struct IUSBController IUSBController;
569typedef struct IUSBDevice IUSBDevice;
570typedef struct IUSBDeviceFilter IUSBDeviceFilter;
571typedef struct IHostUSBDevice IHostUSBDevice;
572typedef struct IHostUSBDeviceFilter IHostUSBDeviceFilter;
573typedef struct IAudioAdapter IAudioAdapter;
574typedef struct IVRDPServer IVRDPServer;
575typedef struct ISharedFolder ISharedFolder;
576typedef struct IInternalSessionControl IInternalSessionControl;
577typedef struct ISession ISession;
578typedef struct IStorageController IStorageController;
579typedef struct IManagedObjectRef IManagedObjectRef;
580typedef struct IWebsessionManager IWebsessionManager;
581typedef struct IPerformanceMetric IPerformanceMetric;
582typedef struct IPerformanceCollector IPerformanceCollector;
583
584/* Start of enum TSBool Declaration */
585#define TSBOOL_IID_STR "523ff64d-842a-4b1a-80e7-c311b028cb3a"
586#define TSBOOL_IID { \
587 0x523ff64d, 0x842a, 0x4b1a, \
588 { 0x80, 0xe7, 0xc3, 0x11, 0xb0, 0x28, 0xcb, 0x3a } \
589}
590enum TSBool
591{
592 TSBool_False = 0,
593 TSBool_True = 1,
594 TSBool_Default = 2
595};
596/* End of enum TSBool Declaration */
597
598
599/* Start of enum AccessMode Declaration */
600#define ACCESSMODE_IID_STR "1da0007c-ddf7-4be8-bcac-d84a1558785f"
601#define ACCESSMODE_IID { \
602 0x1da0007c, 0xddf7, 0x4be8, \
603 { 0xbc, 0xac, 0xd8, 0x4a, 0x15, 0x58, 0x78, 0x5f } \
604}
605enum AccessMode
606{
607 AccessMode_ReadOnly = 1,
608 AccessMode_ReadWrite = 2
609};
610/* End of enum AccessMode Declaration */
611
612
613/* Start of enum MachineState Declaration */
614#define MACHINESTATE_IID_STR "73bf04d0-7c4f-4684-9abf-d65a9ad74343"
615#define MACHINESTATE_IID { \
616 0x73bf04d0, 0x7c4f, 0x4684, \
617 { 0x9a, 0xbf, 0xd6, 0x5a, 0x9a, 0xd7, 0x43, 0x43 } \
618}
619enum MachineState
620{
621 MachineState_Null = 0,
622 MachineState_PoweredOff = 1,
623 MachineState_Saved = 2,
624 MachineState_Aborted = 3,
625 MachineState_Running = 4,
626 MachineState_Paused = 5,
627 MachineState_Stuck = 6,
628 MachineState_Starting = 7,
629 MachineState_Stopping = 8,
630 MachineState_Saving = 9,
631 MachineState_Restoring = 10,
632 MachineState_Discarding = 11,
633 MachineState_SettingUp = 12,
634 MachineState_FirstOnline = 4,
635 MachineState_LastOnline = 10,
636 MachineState_FirstTransient = 7,
637 MachineState_LastTransient = 12
638};
639/* End of enum MachineState Declaration */
640
641
642/* Start of enum SessionState Declaration */
643#define SESSIONSTATE_IID_STR "CF2700C0-EA4B-47ae-9725-7810114B94D8"
644#define SESSIONSTATE_IID { \
645 0xCF2700C0, 0xEA4B, 0x47ae, \
646 { 0x97, 0x25, 0x78, 0x10, 0x11, 0x4B, 0x94, 0xD8 } \
647}
648enum SessionState
649{
650 SessionState_Null = 0,
651 SessionState_Closed = 1,
652 SessionState_Open = 2,
653 SessionState_Spawning = 3,
654 SessionState_Closing = 4
655};
656/* End of enum SessionState Declaration */
657
658
659/* Start of enum SessionType Declaration */
660#define SESSIONTYPE_IID_STR "A13C02CB-0C2C-421E-8317-AC0E8AAA153A"
661#define SESSIONTYPE_IID { \
662 0xA13C02CB, 0x0C2C, 0x421E, \
663 { 0x83, 0x17, 0xAC, 0x0E, 0x8A, 0xAA, 0x15, 0x3A } \
664}
665enum SessionType
666{
667 SessionType_Null = 0,
668 SessionType_Direct = 1,
669 SessionType_Remote = 2,
670 SessionType_Existing = 3
671};
672/* End of enum SessionType Declaration */
673
674
675/* Start of enum DeviceType Declaration */
676#define DEVICETYPE_IID_STR "6d9420f7-0b56-4636-99f9-7346f1b01e57"
677#define DEVICETYPE_IID { \
678 0x6d9420f7, 0x0b56, 0x4636, \
679 { 0x99, 0xf9, 0x73, 0x46, 0xf1, 0xb0, 0x1e, 0x57 } \
680}
681enum DeviceType
682{
683 DeviceType_Null = 0,
684 DeviceType_Floppy = 1,
685 DeviceType_DVD = 2,
686 DeviceType_HardDisk = 3,
687 DeviceType_Network = 4,
688 DeviceType_USB = 5,
689 DeviceType_SharedFolder = 6
690};
691/* End of enum DeviceType Declaration */
692
693
694/* Start of enum DeviceActivity Declaration */
695#define DEVICEACTIVITY_IID_STR "6FC8AEAA-130A-4eb5-8954-3F921422D707"
696#define DEVICEACTIVITY_IID { \
697 0x6FC8AEAA, 0x130A, 0x4eb5, \
698 { 0x89, 0x54, 0x3F, 0x92, 0x14, 0x22, 0xD7, 0x07 } \
699}
700enum DeviceActivity
701{
702 DeviceActivity_Null = 0,
703 DeviceActivity_Idle = 1,
704 DeviceActivity_Reading = 2,
705 DeviceActivity_Writing = 3
706};
707/* End of enum DeviceActivity Declaration */
708
709
710/* Start of enum ClipboardMode Declaration */
711#define CLIPBOARDMODE_IID_STR "33364716-4008-4701-8f14-be0fa3d62950"
712#define CLIPBOARDMODE_IID { \
713 0x33364716, 0x4008, 0x4701, \
714 { 0x8f, 0x14, 0xbe, 0x0f, 0xa3, 0xd6, 0x29, 0x50 } \
715}
716enum ClipboardMode
717{
718 ClipboardMode_Disabled = 0,
719 ClipboardMode_HostToGuest = 1,
720 ClipboardMode_GuestToHost = 2,
721 ClipboardMode_Bidirectional = 3
722};
723/* End of enum ClipboardMode Declaration */
724
725
726/* Start of enum Scope Declaration */
727#define SCOPE_IID_STR "7c91096e-499e-4eca-9f9b-9001438d7855"
728#define SCOPE_IID { \
729 0x7c91096e, 0x499e, 0x4eca, \
730 { 0x9f, 0x9b, 0x90, 0x01, 0x43, 0x8d, 0x78, 0x55 } \
731}
732enum Scope
733{
734 Scope_Global = 0,
735 Scope_Machine = 1,
736 Scope_Session = 2
737};
738/* End of enum Scope Declaration */
739
740
741/* Start of enum GuestStatisticType Declaration */
742#define GUESTSTATISTICTYPE_IID_STR "aa7c1d71-aafe-47a8-9608-27d2d337cf55"
743#define GUESTSTATISTICTYPE_IID { \
744 0xaa7c1d71, 0xaafe, 0x47a8, \
745 { 0x96, 0x08, 0x27, 0xd2, 0xd3, 0x37, 0xcf, 0x55 } \
746}
747enum GuestStatisticType
748{
749 GuestStatisticType_CPULoad_Idle = 0,
750 GuestStatisticType_CPULoad_Kernel = 1,
751 GuestStatisticType_CPULoad_User = 2,
752 GuestStatisticType_Threads = 3,
753 GuestStatisticType_Processes = 4,
754 GuestStatisticType_Handles = 5,
755 GuestStatisticType_MemoryLoad = 6,
756 GuestStatisticType_PhysMemTotal = 7,
757 GuestStatisticType_PhysMemAvailable = 8,
758 GuestStatisticType_PhysMemBalloon = 9,
759 GuestStatisticType_MemCommitTotal = 10,
760 GuestStatisticType_MemKernelTotal = 11,
761 GuestStatisticType_MemKernelPaged = 12,
762 GuestStatisticType_MemKernelNonpaged = 13,
763 GuestStatisticType_MemSystemCache = 14,
764 GuestStatisticType_PageFileSize = 15,
765 GuestStatisticType_SampleNumber = 16,
766 GuestStatisticType_MaxVal = 17
767};
768/* End of enum GuestStatisticType Declaration */
769
770
771/* Start of enum BIOSBootMenuMode Declaration */
772#define BIOSBOOTMENUMODE_IID_STR "ae4fb9f7-29d2-45b4-b2c7-d579603135d5"
773#define BIOSBOOTMENUMODE_IID { \
774 0xae4fb9f7, 0x29d2, 0x45b4, \
775 { 0xb2, 0xc7, 0xd5, 0x79, 0x60, 0x31, 0x35, 0xd5 } \
776}
777enum BIOSBootMenuMode
778{
779 BIOSBootMenuMode_Disabled = 0,
780 BIOSBootMenuMode_MenuOnly = 1,
781 BIOSBootMenuMode_MessageAndMenu = 2
782};
783/* End of enum BIOSBootMenuMode Declaration */
784
785
786/* Start of enum DriveState Declaration */
787#define DRIVESTATE_IID_STR "cb7233b7-c519-42a5-8310-1830953cacbc"
788#define DRIVESTATE_IID { \
789 0xcb7233b7, 0xc519, 0x42a5, \
790 { 0x83, 0x10, 0x18, 0x30, 0x95, 0x3c, 0xac, 0xbc } \
791}
792enum DriveState
793{
794 DriveState_Null = 0,
795 DriveState_NotMounted = 1,
796 DriveState_ImageMounted = 2,
797 DriveState_HostDriveCaptured = 3
798};
799/* End of enum DriveState Declaration */
800
801
802/* Start of enum ProcessorFeature Declaration */
803#define PROCESSORFEATURE_IID_STR "b8353b35-705d-4796-9967-ebfb7ba54af4"
804#define PROCESSORFEATURE_IID { \
805 0xb8353b35, 0x705d, 0x4796, \
806 { 0x99, 0x67, 0xeb, 0xfb, 0x7b, 0xa5, 0x4a, 0xf4 } \
807}
808enum ProcessorFeature
809{
810 ProcessorFeature_HWVirtEx = 0,
811 ProcessorFeature_PAE = 1,
812 ProcessorFeature_LongMode = 2
813};
814/* End of enum ProcessorFeature Declaration */
815
816
817/* Start of enum CIMOSType Declaration */
818#define CIMOSTYPE_IID_STR "86ef5f8c-18b2-4db8-a314-33721b59f89b"
819#define CIMOSTYPE_IID { \
820 0x86ef5f8c, 0x18b2, 0x4db8, \
821 { 0xa3, 0x14, 0x33, 0x72, 0x1b, 0x59, 0xf8, 0x9b } \
822}
823enum CIMOSType
824{
825 CIMOSType_CIMOS_Unknown = 0,
826 CIMOSType_CIMOS_Other = 1,
827 CIMOSType_CIMOS_MACOS = 2,
828 CIMOSType_CIMOS_ATTUNIX = 3,
829 CIMOSType_CIMOS_DGUX = 4,
830 CIMOSType_CIMOS_DECNT = 5,
831 CIMOSType_CIMOS_Tru64UNIX = 6,
832 CIMOSType_CIMOS_OpenVMS = 7,
833 CIMOSType_CIMOS_HPUX = 8,
834 CIMOSType_CIMOS_AIX = 9,
835 CIMOSType_CIMOS_MVS = 10,
836 CIMOSType_CIMOS_OS400 = 11,
837 CIMOSType_CIMOS_OS2 = 12,
838 CIMOSType_CIMOS_JavaVM = 13,
839 CIMOSType_CIMOS_MSDOS = 14,
840 CIMOSType_CIMOS_WIN3x = 15,
841 CIMOSType_CIMOS_WIN95 = 16,
842 CIMOSType_CIMOS_WIN98 = 17,
843 CIMOSType_CIMOS_WINNT = 18,
844 CIMOSType_CIMOS_WINCE = 19,
845 CIMOSType_CIMOS_NCR3000 = 20,
846 CIMOSType_CIMOS_NetWare = 21,
847 CIMOSType_CIMOS_OSF = 22,
848 CIMOSType_CIMOS_DCOS = 23,
849 CIMOSType_CIMOS_ReliantUNIX = 24,
850 CIMOSType_CIMOS_SCOUnixWare = 25,
851 CIMOSType_CIMOS_SCOOpenServer = 26,
852 CIMOSType_CIMOS_Sequent = 27,
853 CIMOSType_CIMOS_IRIX = 28,
854 CIMOSType_CIMOS_Solaris = 29,
855 CIMOSType_CIMOS_SunOS = 30,
856 CIMOSType_CIMOS_U6000 = 31,
857 CIMOSType_CIMOS_ASERIES = 32,
858 CIMOSType_CIMOS_HPNonStopOS = 33,
859 CIMOSType_CIMOS_HPNonStopOSS = 34,
860 CIMOSType_CIMOS_BS2000 = 35,
861 CIMOSType_CIMOS_LINUX = 36,
862 CIMOSType_CIMOS_Lynx = 37,
863 CIMOSType_CIMOS_XENIX = 38,
864 CIMOSType_CIMOS_VM = 39,
865 CIMOSType_CIMOS_InteractiveUNIX = 40,
866 CIMOSType_CIMOS_BSDUNIX = 41,
867 CIMOSType_CIMOS_FreeBSD = 42,
868 CIMOSType_CIMOS_NetBSD = 43,
869 CIMOSType_CIMOS_GNUHurd = 44,
870 CIMOSType_CIMOS_OS9 = 45,
871 CIMOSType_CIMOS_MACHKernel = 46,
872 CIMOSType_CIMOS_Inferno = 47,
873 CIMOSType_CIMOS_QNX = 48,
874 CIMOSType_CIMOS_EPOC = 49,
875 CIMOSType_CIMOS_IxWorks = 50,
876 CIMOSType_CIMOS_VxWorks = 51,
877 CIMOSType_CIMOS_MiNT = 52,
878 CIMOSType_CIMOS_BeOS = 53,
879 CIMOSType_CIMOS_HPMPE = 54,
880 CIMOSType_CIMOS_NextStep = 55,
881 CIMOSType_CIMOS_PalmPilot = 56,
882 CIMOSType_CIMOS_Rhapsody = 57,
883 CIMOSType_CIMOS_Windows2000 = 58,
884 CIMOSType_CIMOS_Dedicated = 59,
885 CIMOSType_CIMOS_OS390 = 60,
886 CIMOSType_CIMOS_VSE = 61,
887 CIMOSType_CIMOS_TPF = 62,
888 CIMOSType_CIMOS_WindowsMe = 63,
889 CIMOSType_CIMOS_CalderaOpenUNIX = 64,
890 CIMOSType_CIMOS_OpenBSD = 65,
891 CIMOSType_CIMOS_NotApplicable = 66,
892 CIMOSType_CIMOS_WindowsXP = 67,
893 CIMOSType_CIMOS_zOS = 68,
894 CIMOSType_CIMOS_MicrosoftWindowsServer2003 = 69,
895 CIMOSType_CIMOS_MicrosoftWindowsServer2003_64 = 70,
896 CIMOSType_CIMOS_WindowsXP_64 = 71,
897 CIMOSType_CIMOS_WindowsXPEmbedded = 72,
898 CIMOSType_CIMOS_WindowsVista = 73,
899 CIMOSType_CIMOS_WindowsVista_64 = 74,
900 CIMOSType_CIMOS_WindowsEmbeddedforPointofService = 75,
901 CIMOSType_CIMOS_MicrosoftWindowsServer2008 = 76,
902 CIMOSType_CIMOS_MicrosoftWindowsServer2008_64 = 77,
903 CIMOSType_CIMOS_FreeBSD_64 = 78,
904 CIMOSType_CIMOS_RedHatEnterpriseLinux = 79,
905 CIMOSType_CIMOS_RedHatEnterpriseLinux_64 = 80,
906 CIMOSType_CIMOS_Solaris_64 = 81,
907 CIMOSType_CIMOS_SUSE = 82,
908 CIMOSType_CIMOS_SUSE_64 = 83,
909 CIMOSType_CIMOS_SLES = 84,
910 CIMOSType_CIMOS_SLES_64 = 85,
911 CIMOSType_CIMOS_NovellOES = 86,
912 CIMOSType_CIMOS_NovellLinuxDesktop = 87,
913 CIMOSType_CIMOS_SunJavaDesktopSystem = 88,
914 CIMOSType_CIMOS_Mandriva = 89,
915 CIMOSType_CIMOS_Mandriva_64 = 90,
916 CIMOSType_CIMOS_TurboLinux = 91,
917 CIMOSType_CIMOS_TurboLinux_64 = 92,
918 CIMOSType_CIMOS_Ubuntu = 93,
919 CIMOSType_CIMOS_Ubuntu_64 = 94,
920 CIMOSType_CIMOS_Debian = 95,
921 CIMOSType_CIMOS_Debian_64 = 96,
922 CIMOSType_CIMOS_Linux_2_4_x = 97,
923 CIMOSType_CIMOS_Linux_2_4_x_64 = 98,
924 CIMOSType_CIMOS_Linux_2_6_x = 99,
925 CIMOSType_CIMOS_Linux_2_6_x_64 = 100,
926 CIMOSType_CIMOS_Linux_64 = 101,
927 CIMOSType_CIMOS_Other_64 = 102
928};
929/* End of enum CIMOSType Declaration */
930
931
932/* Start of enum OVFResourceType Declaration */
933#define OVFRESOURCETYPE_IID_STR "646a78d7-6f04-49f4-82c4-75c28a75a4cd"
934#define OVFRESOURCETYPE_IID { \
935 0x646a78d7, 0x6f04, 0x49f4, \
936 { 0x82, 0xc4, 0x75, 0xc2, 0x8a, 0x75, 0xa4, 0xcd } \
937}
938enum OVFResourceType
939{
940 OVFResourceType_Other = 1,
941 OVFResourceType_ComputerSystem = 2,
942 OVFResourceType_Processor = 3,
943 OVFResourceType_Memory = 4,
944 OVFResourceType_IDEController = 5,
945 OVFResourceType_ParallelSCSIHBA = 6,
946 OVFResourceType_FCHBA = 7,
947 OVFResourceType_iSCSIHBA = 8,
948 OVFResourceType_IBHCA = 9,
949 OVFResourceType_EthernetAdapter = 10,
950 OVFResourceType_OtherNetworkAdapter = 11,
951 OVFResourceType_IOSlot = 12,
952 OVFResourceType_IODevice = 13,
953 OVFResourceType_FloppyDrive = 14,
954 OVFResourceType_CDDrive = 15,
955 OVFResourceType_DVDDrive = 16,
956 OVFResourceType_HardDisk = 17,
957 OVFResourceType_OtherStorageDevice = 20,
958 OVFResourceType_USBController = 23,
959 OVFResourceType_SoundCard = 35
960};
961/* End of enum OVFResourceType Declaration */
962
963
964/* Start of enum VirtualSystemDescriptionType Declaration */
965#define VIRTUALSYSTEMDESCRIPTIONTYPE_IID_STR "aacc58de-5b45-4f82-ae2e-dd9a824fc3b5"
966#define VIRTUALSYSTEMDESCRIPTIONTYPE_IID { \
967 0xaacc58de, 0x5b45, 0x4f82, \
968 { 0xae, 0x2e, 0xdd, 0x9a, 0x82, 0x4f, 0xc3, 0xb5 } \
969}
970enum VirtualSystemDescriptionType
971{
972 VirtualSystemDescriptionType_Ignore = 1,
973 VirtualSystemDescriptionType_OS = 2,
974 VirtualSystemDescriptionType_Name = 3,
975 VirtualSystemDescriptionType_Product = 4,
976 VirtualSystemDescriptionType_Vendor = 5,
977 VirtualSystemDescriptionType_Version = 6,
978 VirtualSystemDescriptionType_ProductUrl = 7,
979 VirtualSystemDescriptionType_VendorUrl = 8,
980 VirtualSystemDescriptionType_Description = 9,
981 VirtualSystemDescriptionType_License = 10,
982 VirtualSystemDescriptionType_Miscellaneous = 11,
983 VirtualSystemDescriptionType_CPU = 12,
984 VirtualSystemDescriptionType_Memory = 13,
985 VirtualSystemDescriptionType_HardDiskControllerIDE = 14,
986 VirtualSystemDescriptionType_HardDiskControllerSATA = 15,
987 VirtualSystemDescriptionType_HardDiskControllerSCSI = 16,
988 VirtualSystemDescriptionType_HardDiskImage = 17,
989 VirtualSystemDescriptionType_Floppy = 18,
990 VirtualSystemDescriptionType_CDROM = 19,
991 VirtualSystemDescriptionType_NetworkAdapter = 20,
992 VirtualSystemDescriptionType_USBController = 21,
993 VirtualSystemDescriptionType_SoundCard = 22
994};
995/* End of enum VirtualSystemDescriptionType Declaration */
996
997
998/* Start of enum VirtualSystemDescriptionValueType Declaration */
999#define VIRTUALSYSTEMDESCRIPTIONVALUETYPE_IID_STR "56d9403f-3425-4118-9919-36f2a9b8c77c"
1000#define VIRTUALSYSTEMDESCRIPTIONVALUETYPE_IID { \
1001 0x56d9403f, 0x3425, 0x4118, \
1002 { 0x99, 0x19, 0x36, 0xf2, 0xa9, 0xb8, 0xc7, 0x7c } \
1003}
1004enum VirtualSystemDescriptionValueType
1005{
1006 VirtualSystemDescriptionValueType_Reference = 1,
1007 VirtualSystemDescriptionValueType_Original = 2,
1008 VirtualSystemDescriptionValueType_Auto = 3,
1009 VirtualSystemDescriptionValueType_ExtraConfig = 4
1010};
1011/* End of enum VirtualSystemDescriptionValueType Declaration */
1012
1013
1014/* Start of enum HostNetworkInterfaceMediumType Declaration */
1015#define HOSTNETWORKINTERFACEMEDIUMTYPE_IID_STR "1aa54aaf-2497-45a2-bfb1-8eb225e93d5b"
1016#define HOSTNETWORKINTERFACEMEDIUMTYPE_IID { \
1017 0x1aa54aaf, 0x2497, 0x45a2, \
1018 { 0xbf, 0xb1, 0x8e, 0xb2, 0x25, 0xe9, 0x3d, 0x5b } \
1019}
1020enum HostNetworkInterfaceMediumType
1021{
1022 HostNetworkInterfaceMediumType_Unknown = 0,
1023 HostNetworkInterfaceMediumType_Ethernet = 1,
1024 HostNetworkInterfaceMediumType_PPP = 2,
1025 HostNetworkInterfaceMediumType_SLIP = 3
1026};
1027/* End of enum HostNetworkInterfaceMediumType Declaration */
1028
1029
1030/* Start of enum HostNetworkInterfaceStatus Declaration */
1031#define HOSTNETWORKINTERFACESTATUS_IID_STR "CC474A69-2710-434B-8D99-C38E5D5A6F41"
1032#define HOSTNETWORKINTERFACESTATUS_IID { \
1033 0xCC474A69, 0x2710, 0x434B, \
1034 { 0x8D, 0x99, 0xC3, 0x8E, 0x5D, 0x5A, 0x6F, 0x41 } \
1035}
1036enum HostNetworkInterfaceStatus
1037{
1038 HostNetworkInterfaceStatus_Unknown = 0,
1039 HostNetworkInterfaceStatus_Up = 1,
1040 HostNetworkInterfaceStatus_Down = 2
1041};
1042/* End of enum HostNetworkInterfaceStatus Declaration */
1043
1044
1045/* Start of enum HostNetworkInterfaceType Declaration */
1046#define HOSTNETWORKINTERFACETYPE_IID_STR "67431b00-9946-48a2-bc02-b25c5919f4f3"
1047#define HOSTNETWORKINTERFACETYPE_IID { \
1048 0x67431b00, 0x9946, 0x48a2, \
1049 { 0xbc, 0x02, 0xb2, 0x5c, 0x59, 0x19, 0xf4, 0xf3 } \
1050}
1051enum HostNetworkInterfaceType
1052{
1053 HostNetworkInterfaceType_Bridged = 1,
1054 HostNetworkInterfaceType_HostOnly = 2
1055};
1056/* End of enum HostNetworkInterfaceType Declaration */
1057
1058
1059/* Start of enum MediaState Declaration */
1060#define MEDIASTATE_IID_STR "8b86e03c-2f1c-412a-8fbd-326f62701200"
1061#define MEDIASTATE_IID { \
1062 0x8b86e03c, 0x2f1c, 0x412a, \
1063 { 0x8f, 0xbd, 0x32, 0x6f, 0x62, 0x70, 0x12, 0x00 } \
1064}
1065enum MediaState
1066{
1067 MediaState_NotCreated = 0,
1068 MediaState_Created = 1,
1069 MediaState_LockedRead = 2,
1070 MediaState_LockedWrite = 3,
1071 MediaState_Inaccessible = 4,
1072 MediaState_Creating = 5,
1073 MediaState_Deleting = 6
1074};
1075/* End of enum MediaState Declaration */
1076
1077
1078/* Start of enum HardDiskType Declaration */
1079#define HARDDISKTYPE_IID_STR "a348fafd-a64e-4643-ba65-eb3896bd7e0a"
1080#define HARDDISKTYPE_IID { \
1081 0xa348fafd, 0xa64e, 0x4643, \
1082 { 0xba, 0x65, 0xeb, 0x38, 0x96, 0xbd, 0x7e, 0x0a } \
1083}
1084enum HardDiskType
1085{
1086 HardDiskType_Normal = 0,
1087 HardDiskType_Immutable = 1,
1088 HardDiskType_Writethrough = 2
1089};
1090/* End of enum HardDiskType Declaration */
1091
1092
1093/* Start of enum HardDiskVariant Declaration */
1094#define HARDDISKVARIANT_IID_STR "eb7fc6b3-ae23-4c5d-a1f6-e3522dd1efb0"
1095#define HARDDISKVARIANT_IID { \
1096 0xeb7fc6b3, 0xae23, 0x4c5d, \
1097 { 0xa1, 0xf6, 0xe3, 0x52, 0x2d, 0xd1, 0xef, 0xb0 } \
1098}
1099enum HardDiskVariant
1100{
1101 HardDiskVariant_Standard = 0,
1102 HardDiskVariant_VmdkSplit2G = 0x01,
1103 HardDiskVariant_VmdkStreamOptimized = 0x04,
1104 HardDiskVariant_VmdkESX = 0x08,
1105 HardDiskVariant_Fixed = 0x10000,
1106 HardDiskVariant_Diff = 0x20000
1107};
1108/* End of enum HardDiskVariant Declaration */
1109
1110
1111/* Start of enum DataType Declaration */
1112#define DATATYPE_IID_STR "d90ea51e-a3f1-4a01-beb1-c1723c0d3ba7"
1113#define DATATYPE_IID { \
1114 0xd90ea51e, 0xa3f1, 0x4a01, \
1115 { 0xbe, 0xb1, 0xc1, 0x72, 0x3c, 0x0d, 0x3b, 0xa7 } \
1116}
1117enum DataType
1118{
1119 DataType_Int32 = 0,
1120 DataType_Int8 = 1,
1121 DataType_String = 2
1122};
1123/* End of enum DataType Declaration */
1124
1125
1126/* Start of enum DataFlags Declaration */
1127#define DATAFLAGS_IID_STR "86884dcf-1d6b-4f1b-b4bf-f5aa44959d60"
1128#define DATAFLAGS_IID { \
1129 0x86884dcf, 0x1d6b, 0x4f1b, \
1130 { 0xb4, 0xbf, 0xf5, 0xaa, 0x44, 0x95, 0x9d, 0x60 } \
1131}
1132enum DataFlags
1133{
1134 DataFlags_None = 0x00,
1135 DataFlags_Mandatory = 0x01,
1136 DataFlags_Expert = 0x02,
1137 DataFlags_Array = 0x04,
1138 DataFlags_FlagMask = 0x07
1139};
1140/* End of enum DataFlags Declaration */
1141
1142
1143/* Start of enum HardDiskFormatCapabilities Declaration */
1144#define HARDDISKFORMATCAPABILITIES_IID_STR "1df1e4aa-d25a-4ba6-b2a2-02f60eb5903b"
1145#define HARDDISKFORMATCAPABILITIES_IID { \
1146 0x1df1e4aa, 0xd25a, 0x4ba6, \
1147 { 0xb2, 0xa2, 0x02, 0xf6, 0x0e, 0xb5, 0x90, 0x3b } \
1148}
1149enum HardDiskFormatCapabilities
1150{
1151 HardDiskFormatCapabilities_Uuid = 0x01,
1152 HardDiskFormatCapabilities_CreateFixed = 0x02,
1153 HardDiskFormatCapabilities_CreateDynamic = 0x04,
1154 HardDiskFormatCapabilities_CreateSplit2G = 0x08,
1155 HardDiskFormatCapabilities_Differencing = 0x10,
1156 HardDiskFormatCapabilities_Asynchronous = 0x20,
1157 HardDiskFormatCapabilities_File = 0x40,
1158 HardDiskFormatCapabilities_Properties = 0x80,
1159 HardDiskFormatCapabilities_CapabilityMask = 0xFF
1160};
1161/* End of enum HardDiskFormatCapabilities Declaration */
1162
1163
1164/* Start of enum MouseButtonState Declaration */
1165#define MOUSEBUTTONSTATE_IID_STR "03131722-2EC5-4173-9794-0DACA46673EF"
1166#define MOUSEBUTTONSTATE_IID { \
1167 0x03131722, 0x2EC5, 0x4173, \
1168 { 0x97, 0x94, 0x0D, 0xAC, 0xA4, 0x66, 0x73, 0xEF } \
1169}
1170enum MouseButtonState
1171{
1172 MouseButtonState_LeftButton = 0x01,
1173 MouseButtonState_RightButton = 0x02,
1174 MouseButtonState_MiddleButton = 0x04,
1175 MouseButtonState_WheelUp = 0x08,
1176 MouseButtonState_WheelDown = 0x10,
1177 MouseButtonState_MouseStateMask = 0x1F
1178};
1179/* End of enum MouseButtonState Declaration */
1180
1181
1182/* Start of enum FramebufferAccelerationOperation Declaration */
1183#define FRAMEBUFFERACCELERATIONOPERATION_IID_STR "f0e5ebbe-dc8e-4e2d-916e-53baa3844df8"
1184#define FRAMEBUFFERACCELERATIONOPERATION_IID { \
1185 0xf0e5ebbe, 0xdc8e, 0x4e2d, \
1186 { 0x91, 0x6e, 0x53, 0xba, 0xa3, 0x84, 0x4d, 0xf8 } \
1187}
1188enum FramebufferAccelerationOperation
1189{
1190 FramebufferAccelerationOperation_SolidFillAcceleration = 1,
1191 FramebufferAccelerationOperation_ScreenCopyAcceleration = 2
1192};
1193/* End of enum FramebufferAccelerationOperation Declaration */
1194
1195
1196/* Start of enum FramebufferPixelFormat Declaration */
1197#define FRAMEBUFFERPIXELFORMAT_IID_STR "7acfd5ed-29e3-45e3-8136-73c9224f3d2d"
1198#define FRAMEBUFFERPIXELFORMAT_IID { \
1199 0x7acfd5ed, 0x29e3, 0x45e3, \
1200 { 0x81, 0x36, 0x73, 0xc9, 0x22, 0x4f, 0x3d, 0x2d } \
1201}
1202enum FramebufferPixelFormat
1203{
1204 FramebufferPixelFormat_Opaque = 0,
1205 FramebufferPixelFormat_FOURCC_RGB = 0x32424752
1206};
1207/* End of enum FramebufferPixelFormat Declaration */
1208
1209
1210/* Start of enum NetworkAttachmentType Declaration */
1211#define NETWORKATTACHMENTTYPE_IID_STR "44bce1ee-99f7-4e8e-89fc-80597fd9eeaf"
1212#define NETWORKATTACHMENTTYPE_IID { \
1213 0x44bce1ee, 0x99f7, 0x4e8e, \
1214 { 0x89, 0xfc, 0x80, 0x59, 0x7f, 0xd9, 0xee, 0xaf } \
1215}
1216enum NetworkAttachmentType
1217{
1218 NetworkAttachmentType_Null = 0,
1219 NetworkAttachmentType_NAT = 1,
1220 NetworkAttachmentType_Bridged = 2,
1221 NetworkAttachmentType_Internal = 3,
1222 NetworkAttachmentType_HostOnly = 4
1223};
1224/* End of enum NetworkAttachmentType Declaration */
1225
1226
1227/* Start of enum NetworkAdapterType Declaration */
1228#define NETWORKADAPTERTYPE_IID_STR "50c3dfd8-07ac-4a31-baac-519c828fbf97"
1229#define NETWORKADAPTERTYPE_IID { \
1230 0x50c3dfd8, 0x07ac, 0x4a31, \
1231 { 0xba, 0xac, 0x51, 0x9c, 0x82, 0x8f, 0xbf, 0x97 } \
1232}
1233enum NetworkAdapterType
1234{
1235 NetworkAdapterType_Null = 0,
1236 NetworkAdapterType_Am79C970A = 1,
1237 NetworkAdapterType_Am79C973 = 2,
1238 NetworkAdapterType_I82540EM = 3,
1239 NetworkAdapterType_I82543GC = 4,
1240 NetworkAdapterType_I82545EM = 5
1241};
1242/* End of enum NetworkAdapterType Declaration */
1243
1244
1245/* Start of enum PortMode Declaration */
1246#define PORTMODE_IID_STR "b266f43c-2e93-46b3-812b-c20e600e867b"
1247#define PORTMODE_IID { \
1248 0xb266f43c, 0x2e93, 0x46b3, \
1249 { 0x81, 0x2b, 0xc2, 0x0e, 0x60, 0x0e, 0x86, 0x7b } \
1250}
1251enum PortMode
1252{
1253 PortMode_Disconnected = 0,
1254 PortMode_HostPipe = 1,
1255 PortMode_HostDevice = 2
1256};
1257/* End of enum PortMode Declaration */
1258
1259
1260/* Start of enum USBDeviceState Declaration */
1261#define USBDEVICESTATE_IID_STR "b99a2e65-67fb-4882-82fd-f3e5e8193ab4"
1262#define USBDEVICESTATE_IID { \
1263 0xb99a2e65, 0x67fb, 0x4882, \
1264 { 0x82, 0xfd, 0xf3, 0xe5, 0xe8, 0x19, 0x3a, 0xb4 } \
1265}
1266enum USBDeviceState
1267{
1268 USBDeviceState_NotSupported = 0,
1269 USBDeviceState_Unavailable = 1,
1270 USBDeviceState_Busy = 2,
1271 USBDeviceState_Available = 3,
1272 USBDeviceState_Held = 4,
1273 USBDeviceState_Captured = 5
1274};
1275/* End of enum USBDeviceState Declaration */
1276
1277
1278/* Start of enum USBDeviceFilterAction Declaration */
1279#define USBDEVICEFILTERACTION_IID_STR "cbc30a49-2f4e-43b5-9da6-121320475933"
1280#define USBDEVICEFILTERACTION_IID { \
1281 0xcbc30a49, 0x2f4e, 0x43b5, \
1282 { 0x9d, 0xa6, 0x12, 0x13, 0x20, 0x47, 0x59, 0x33 } \
1283}
1284enum USBDeviceFilterAction
1285{
1286 USBDeviceFilterAction_Null = 0,
1287 USBDeviceFilterAction_Ignore = 1,
1288 USBDeviceFilterAction_Hold = 2
1289};
1290/* End of enum USBDeviceFilterAction Declaration */
1291
1292
1293/* Start of enum AudioDriverType Declaration */
1294#define AUDIODRIVERTYPE_IID_STR "4bcc3d73-c2fe-40db-b72f-0c2ca9d68496"
1295#define AUDIODRIVERTYPE_IID { \
1296 0x4bcc3d73, 0xc2fe, 0x40db, \
1297 { 0xb7, 0x2f, 0x0c, 0x2c, 0xa9, 0xd6, 0x84, 0x96 } \
1298}
1299enum AudioDriverType
1300{
1301 AudioDriverType_Null = 0,
1302 AudioDriverType_WinMM = 1,
1303 AudioDriverType_OSS = 2,
1304 AudioDriverType_ALSA = 3,
1305 AudioDriverType_DirectSound = 4,
1306 AudioDriverType_CoreAudio = 5,
1307 AudioDriverType_MMPM = 6,
1308 AudioDriverType_Pulse = 7,
1309 AudioDriverType_SolAudio = 8
1310};
1311/* End of enum AudioDriverType Declaration */
1312
1313
1314/* Start of enum AudioControllerType Declaration */
1315#define AUDIOCONTROLLERTYPE_IID_STR "7afd395c-42c3-444e-8788-3ce80292f36c"
1316#define AUDIOCONTROLLERTYPE_IID { \
1317 0x7afd395c, 0x42c3, 0x444e, \
1318 { 0x87, 0x88, 0x3c, 0xe8, 0x02, 0x92, 0xf3, 0x6c } \
1319}
1320enum AudioControllerType
1321{
1322 AudioControllerType_AC97 = 0,
1323 AudioControllerType_SB16 = 1
1324};
1325/* End of enum AudioControllerType Declaration */
1326
1327
1328/* Start of enum VRDPAuthType Declaration */
1329#define VRDPAUTHTYPE_IID_STR "3d91887a-b67f-4b33-85bf-2da7ab1ea83a"
1330#define VRDPAUTHTYPE_IID { \
1331 0x3d91887a, 0xb67f, 0x4b33, \
1332 { 0x85, 0xbf, 0x2d, 0xa7, 0xab, 0x1e, 0xa8, 0x3a } \
1333}
1334enum VRDPAuthType
1335{
1336 VRDPAuthType_Null = 0,
1337 VRDPAuthType_External = 1,
1338 VRDPAuthType_Guest = 2
1339};
1340/* End of enum VRDPAuthType Declaration */
1341
1342
1343/* Start of enum StorageBus Declaration */
1344#define STORAGEBUS_IID_STR "f381fdca-5953-41d0-b2bd-0542b012698d"
1345#define STORAGEBUS_IID { \
1346 0xf381fdca, 0x5953, 0x41d0, \
1347 { 0xb2, 0xbd, 0x05, 0x42, 0xb0, 0x12, 0x69, 0x8d } \
1348}
1349enum StorageBus
1350{
1351 StorageBus_Null = 0,
1352 StorageBus_IDE = 1,
1353 StorageBus_SATA = 2,
1354 StorageBus_SCSI = 3
1355};
1356/* End of enum StorageBus Declaration */
1357
1358
1359/* Start of enum StorageControllerType Declaration */
1360#define STORAGECONTROLLERTYPE_IID_STR "685387db-a837-4320-a258-08f46a22f62a"
1361#define STORAGECONTROLLERTYPE_IID { \
1362 0x685387db, 0xa837, 0x4320, \
1363 { 0xa2, 0x58, 0x08, 0xf4, 0x6a, 0x22, 0xf6, 0x2a } \
1364}
1365enum StorageControllerType
1366{
1367 StorageControllerType_Null = 0,
1368 StorageControllerType_LsiLogic = 1,
1369 StorageControllerType_BusLogic = 2,
1370 StorageControllerType_IntelAhci = 3,
1371 StorageControllerType_PIIX3 = 4,
1372 StorageControllerType_PIIX4 = 5,
1373 StorageControllerType_ICH6 = 6
1374};
1375/* End of enum StorageControllerType Declaration */
1376
1377
1378/* Start of struct IVirtualBoxErrorInfo Declaration */
1379#define IVIRTUALBOXERRORINFO_IID_STR "e98b5376-8eb4-4eea-812a-3964bf3bb26f"
1380#define IVIRTUALBOXERRORINFO_IID { \
1381 0xe98b5376, 0x8eb4, 0x4eea, \
1382 { 0x81, 0x2a, 0x39, 0x64, 0xbf, 0x3b, 0xb2, 0x6f } \
1383}
1384struct IVirtualBoxErrorInfo_vtbl
1385{
1386 struct nsIException_vtbl nsiexception;
1387
1388 nsresult (*GetResultCode)(IVirtualBoxErrorInfo *pThis, nsresult *resultCode);
1389
1390 nsresult (*GetInterfaceID)(IVirtualBoxErrorInfo *pThis, nsID * *interfaceID);
1391
1392 nsresult (*GetComponent)(IVirtualBoxErrorInfo *pThis, PRUnichar * *component);
1393
1394 nsresult (*GetText)(IVirtualBoxErrorInfo *pThis, PRUnichar * *text);
1395
1396 nsresult (*GetNext)(IVirtualBoxErrorInfo *pThis, IVirtualBoxErrorInfo * *next);
1397
1398};
1399
1400struct IVirtualBoxErrorInfo
1401{
1402 struct IVirtualBoxErrorInfo_vtbl *vtbl;
1403};
1404/* End of struct IVirtualBoxErrorInfo Declaration */
1405
1406
1407/* Start of struct IVirtualBoxCallback Declaration */
1408#define IVIRTUALBOXCALLBACK_IID_STR "5516cc08-fb81-47a6-b184-031e7bbd2997"
1409#define IVIRTUALBOXCALLBACK_IID { \
1410 0x5516cc08, 0xfb81, 0x47a6, \
1411 { 0xb1, 0x84, 0x03, 0x1e, 0x7b, 0xbd, 0x29, 0x97 } \
1412}
1413struct IVirtualBoxCallback_vtbl
1414{
1415 struct nsISupports_vtbl nsisupports;
1416
1417 nsresult (*OnMachineStateChange)(
1418 IVirtualBoxCallback *pThis,
1419 const nsID * machineId,
1420 PRUint32 state
1421 );
1422
1423 nsresult (*OnMachineDataChange)(
1424 IVirtualBoxCallback *pThis,
1425 const nsID * machineId
1426 );
1427
1428 nsresult (*OnExtraDataCanChange)(
1429 IVirtualBoxCallback *pThis,
1430 const nsID * machineId,
1431 PRUnichar * key,
1432 PRUnichar * value,
1433 PRUnichar * * error,
1434 PRBool * allowChange
1435 );
1436
1437 nsresult (*OnExtraDataChange)(
1438 IVirtualBoxCallback *pThis,
1439 const nsID * machineId,
1440 PRUnichar * key,
1441 PRUnichar * value
1442 );
1443
1444 nsresult (*OnMediaRegistered)(
1445 IVirtualBoxCallback *pThis,
1446 const nsID * mediaId,
1447 PRUint32 mediaType,
1448 PRBool registered
1449 );
1450
1451 nsresult (*OnMachineRegistered)(
1452 IVirtualBoxCallback *pThis,
1453 const nsID * machineId,
1454 PRBool registered
1455 );
1456
1457 nsresult (*OnSessionStateChange)(
1458 IVirtualBoxCallback *pThis,
1459 const nsID * machineId,
1460 PRUint32 state
1461 );
1462
1463 nsresult (*OnSnapshotTaken)(
1464 IVirtualBoxCallback *pThis,
1465 const nsID * machineId,
1466 const nsID * snapshotId
1467 );
1468
1469 nsresult (*OnSnapshotDiscarded)(
1470 IVirtualBoxCallback *pThis,
1471 const nsID * machineId,
1472 const nsID * snapshotId
1473 );
1474
1475 nsresult (*OnSnapshotChange)(
1476 IVirtualBoxCallback *pThis,
1477 const nsID * machineId,
1478 const nsID * snapshotId
1479 );
1480
1481 nsresult (*OnGuestPropertyChange)(
1482 IVirtualBoxCallback *pThis,
1483 const nsID * machineId,
1484 PRUnichar * name,
1485 PRUnichar * value,
1486 PRUnichar * flags
1487 );
1488
1489};
1490
1491struct IVirtualBoxCallback
1492{
1493 struct IVirtualBoxCallback_vtbl *vtbl;
1494};
1495/* End of struct IVirtualBoxCallback Declaration */
1496
1497
1498/* Start of struct IDHCPServer Declaration */
1499#define IDHCPSERVER_IID_STR "6cfe387c-74fb-4ca7-bff6-973bec8af7a3"
1500#define IDHCPSERVER_IID { \
1501 0x6cfe387c, 0x74fb, 0x4ca7, \
1502 { 0xbf, 0xf6, 0x97, 0x3b, 0xec, 0x8a, 0xf7, 0xa3 } \
1503}
1504struct IDHCPServer_vtbl
1505{
1506 struct nsISupports_vtbl nsisupports;
1507
1508 nsresult (*GetEnabled)(IDHCPServer *pThis, PRBool *enabled);
1509 nsresult (*SetEnabled)(IDHCPServer *pThis, PRBool enabled);
1510
1511 nsresult (*GetIPAddress)(IDHCPServer *pThis, PRUnichar * *IPAddress);
1512
1513 nsresult (*GetNetworkMask)(IDHCPServer *pThis, PRUnichar * *networkMask);
1514
1515 nsresult (*GetNetworkName)(IDHCPServer *pThis, PRUnichar * *networkName);
1516
1517 nsresult (*GetLowerIP)(IDHCPServer *pThis, PRUnichar * *lowerIP);
1518
1519 nsresult (*GetUpperIP)(IDHCPServer *pThis, PRUnichar * *upperIP);
1520
1521 nsresult (*SetConfiguration)(
1522 IDHCPServer *pThis,
1523 PRUnichar * IPAddress,
1524 PRUnichar * networkMask,
1525 PRUnichar * FromIPAddress,
1526 PRUnichar * ToIPAddress
1527 );
1528
1529 nsresult (*Start)(
1530 IDHCPServer *pThis,
1531 PRUnichar * networkName,
1532 PRUnichar * trunkName,
1533 PRUnichar * trunkType
1534 );
1535
1536 nsresult (*Stop)(IDHCPServer *pThis );
1537
1538};
1539
1540struct IDHCPServer
1541{
1542 struct IDHCPServer_vtbl *vtbl;
1543};
1544/* End of struct IDHCPServer Declaration */
1545
1546
1547/* Start of struct IVirtualBox Declaration */
1548#define IVIRTUALBOX_IID_STR "779264f4-65ed-48ed-be39-518ca549e296"
1549#define IVIRTUALBOX_IID { \
1550 0x779264f4, 0x65ed, 0x48ed, \
1551 { 0xbe, 0x39, 0x51, 0x8c, 0xa5, 0x49, 0xe2, 0x96 } \
1552}
1553struct IVirtualBox_vtbl
1554{
1555 struct nsISupports_vtbl nsisupports;
1556
1557 nsresult (*GetVersion)(IVirtualBox *pThis, PRUnichar * *version);
1558
1559 nsresult (*GetRevision)(IVirtualBox *pThis, PRUint32 *revision);
1560
1561 nsresult (*GetPackageType)(IVirtualBox *pThis, PRUnichar * *packageType);
1562
1563 nsresult (*GetHomeFolder)(IVirtualBox *pThis, PRUnichar * *homeFolder);
1564
1565 nsresult (*GetSettingsFilePath)(IVirtualBox *pThis, PRUnichar * *settingsFilePath);
1566
1567 nsresult (*GetSettingsFileVersion)(IVirtualBox *pThis, PRUnichar * *settingsFileVersion);
1568
1569 nsresult (*GetSettingsFormatVersion)(IVirtualBox *pThis, PRUnichar * *settingsFormatVersion);
1570
1571 nsresult (*GetHost)(IVirtualBox *pThis, IHost * *host);
1572
1573 nsresult (*GetSystemProperties)(IVirtualBox *pThis, ISystemProperties * *systemProperties);
1574
1575 nsresult (*GetMachines)(IVirtualBox *pThis, PRUint32 *machinesSize, IMachine * **machines);
1576
1577 nsresult (*GetHardDisks)(IVirtualBox *pThis, PRUint32 *hardDisksSize, IHardDisk * **hardDisks);
1578
1579 nsresult (*GetDVDImages)(IVirtualBox *pThis, PRUint32 *DVDImagesSize, IDVDImage * **DVDImages);
1580
1581 nsresult (*GetFloppyImages)(IVirtualBox *pThis, PRUint32 *floppyImagesSize, IFloppyImage * **floppyImages);
1582
1583 nsresult (*GetProgressOperations)(IVirtualBox *pThis, PRUint32 *progressOperationsSize, IProgress * **progressOperations);
1584
1585 nsresult (*GetGuestOSTypes)(IVirtualBox *pThis, PRUint32 *guestOSTypesSize, IGuestOSType * **guestOSTypes);
1586
1587 nsresult (*GetSharedFolders)(IVirtualBox *pThis, PRUint32 *sharedFoldersSize, ISharedFolder * **sharedFolders);
1588
1589 nsresult (*GetPerformanceCollector)(IVirtualBox *pThis, IPerformanceCollector * *performanceCollector);
1590
1591 nsresult (*GetDHCPServers)(IVirtualBox *pThis, PRUint32 *DHCPServersSize, IDHCPServer * **DHCPServers);
1592
1593 nsresult (*CreateMachine)(
1594 IVirtualBox *pThis,
1595 PRUnichar * name,
1596 PRUnichar * osTypeId,
1597 PRUnichar * baseFolder,
1598 const nsID * id,
1599 IMachine * * machine
1600 );
1601
1602 nsresult (*CreateLegacyMachine)(
1603 IVirtualBox *pThis,
1604 PRUnichar * name,
1605 PRUnichar * osTypeId,
1606 PRUnichar * settingsFile,
1607 const nsID * id,
1608 IMachine * * machine
1609 );
1610
1611 nsresult (*OpenMachine)(
1612 IVirtualBox *pThis,
1613 PRUnichar * settingsFile,
1614 IMachine * * machine
1615 );
1616
1617 nsresult (*RegisterMachine)(
1618 IVirtualBox *pThis,
1619 IMachine * machine
1620 );
1621
1622 nsresult (*GetMachine)(
1623 IVirtualBox *pThis,
1624 const nsID * id,
1625 IMachine * * machine
1626 );
1627
1628 nsresult (*FindMachine)(
1629 IVirtualBox *pThis,
1630 PRUnichar * name,
1631 IMachine * * machine
1632 );
1633
1634 nsresult (*UnregisterMachine)(
1635 IVirtualBox *pThis,
1636 const nsID * id,
1637 IMachine * * machine
1638 );
1639
1640 nsresult (*CreateAppliance)(
1641 IVirtualBox *pThis,
1642 IAppliance * * appliance
1643 );
1644
1645 nsresult (*CreateHardDisk)(
1646 IVirtualBox *pThis,
1647 PRUnichar * format,
1648 PRUnichar * location,
1649 IHardDisk * * hardDisk
1650 );
1651
1652 nsresult (*OpenHardDisk)(
1653 IVirtualBox *pThis,
1654 PRUnichar * location,
1655 PRUint32 accessMode,
1656 IHardDisk * * hardDisk
1657 );
1658
1659 nsresult (*GetHardDisk)(
1660 IVirtualBox *pThis,
1661 const nsID * id,
1662 IHardDisk * * hardDisk
1663 );
1664
1665 nsresult (*FindHardDisk)(
1666 IVirtualBox *pThis,
1667 PRUnichar * location,
1668 IHardDisk * * hardDisk
1669 );
1670
1671 nsresult (*OpenDVDImage)(
1672 IVirtualBox *pThis,
1673 PRUnichar * location,
1674 const nsID * id,
1675 IDVDImage * * image
1676 );
1677
1678 nsresult (*GetDVDImage)(
1679 IVirtualBox *pThis,
1680 const nsID * id,
1681 IDVDImage * * image
1682 );
1683
1684 nsresult (*FindDVDImage)(
1685 IVirtualBox *pThis,
1686 PRUnichar * location,
1687 IDVDImage * * image
1688 );
1689
1690 nsresult (*OpenFloppyImage)(
1691 IVirtualBox *pThis,
1692 PRUnichar * location,
1693 const nsID * id,
1694 IFloppyImage * * image
1695 );
1696
1697 nsresult (*GetFloppyImage)(
1698 IVirtualBox *pThis,
1699 const nsID * id,
1700 IFloppyImage * * image
1701 );
1702
1703 nsresult (*FindFloppyImage)(
1704 IVirtualBox *pThis,
1705 PRUnichar * location,
1706 IFloppyImage * * image
1707 );
1708
1709 nsresult (*GetGuestOSType)(
1710 IVirtualBox *pThis,
1711 PRUnichar * id,
1712 IGuestOSType * * type
1713 );
1714
1715 nsresult (*CreateSharedFolder)(
1716 IVirtualBox *pThis,
1717 PRUnichar * name,
1718 PRUnichar * hostPath,
1719 PRBool writable
1720 );
1721
1722 nsresult (*RemoveSharedFolder)(
1723 IVirtualBox *pThis,
1724 PRUnichar * name
1725 );
1726
1727 nsresult (*GetNextExtraDataKey)(
1728 IVirtualBox *pThis,
1729 PRUnichar * key,
1730 PRUnichar * * nextKey,
1731 PRUnichar * * nextValue
1732 );
1733
1734 nsresult (*GetExtraData)(
1735 IVirtualBox *pThis,
1736 PRUnichar * key,
1737 PRUnichar * * value
1738 );
1739
1740 nsresult (*SetExtraData)(
1741 IVirtualBox *pThis,
1742 PRUnichar * key,
1743 PRUnichar * value
1744 );
1745
1746 nsresult (*OpenSession)(
1747 IVirtualBox *pThis,
1748 ISession * session,
1749 const nsID * machineId
1750 );
1751
1752 nsresult (*OpenRemoteSession)(
1753 IVirtualBox *pThis,
1754 ISession * session,
1755 const nsID * machineId,
1756 PRUnichar * type,
1757 PRUnichar * environment,
1758 IProgress * * progress
1759 );
1760
1761 nsresult (*OpenExistingSession)(
1762 IVirtualBox *pThis,
1763 ISession * session,
1764 const nsID * machineId
1765 );
1766
1767 nsresult (*RegisterCallback)(
1768 IVirtualBox *pThis,
1769 IVirtualBoxCallback * callback
1770 );
1771
1772 nsresult (*UnregisterCallback)(
1773 IVirtualBox *pThis,
1774 IVirtualBoxCallback * callback
1775 );
1776
1777 nsresult (*WaitForPropertyChange)(
1778 IVirtualBox *pThis,
1779 PRUnichar * what,
1780 PRUint32 timeout,
1781 PRUnichar * * changed,
1782 PRUnichar * * values
1783 );
1784
1785 nsresult (*SaveSettings)(IVirtualBox *pThis );
1786
1787 nsresult (*SaveSettingsWithBackup)(
1788 IVirtualBox *pThis,
1789 PRUnichar * * bakFileName
1790 );
1791
1792 nsresult (*CreateDHCPServer)(
1793 IVirtualBox *pThis,
1794 PRUnichar * name,
1795 IDHCPServer * * server
1796 );
1797
1798 nsresult (*FindDHCPServerByNetworkName)(
1799 IVirtualBox *pThis,
1800 PRUnichar * name,
1801 IDHCPServer * * server
1802 );
1803
1804 nsresult (*RemoveDHCPServer)(
1805 IVirtualBox *pThis,
1806 IDHCPServer * server
1807 );
1808
1809};
1810
1811struct IVirtualBox
1812{
1813 struct IVirtualBox_vtbl *vtbl;
1814};
1815/* End of struct IVirtualBox Declaration */
1816
1817
1818/* Start of struct IAppliance Declaration */
1819#define IAPPLIANCE_IID_STR "30bfa6b8-9eda-4b0a-b218-a86813248ccd"
1820#define IAPPLIANCE_IID { \
1821 0x30bfa6b8, 0x9eda, 0x4b0a, \
1822 { 0xb2, 0x18, 0xa8, 0x68, 0x13, 0x24, 0x8c, 0xcd } \
1823}
1824struct IAppliance_vtbl
1825{
1826 struct nsISupports_vtbl nsisupports;
1827
1828 nsresult (*GetPath)(IAppliance *pThis, PRUnichar * *path);
1829
1830 nsresult (*GetDisks)(IAppliance *pThis, PRUint32 *disksSize, PRUnichar * **disks);
1831
1832 nsresult (*GetVirtualSystemDescriptions)(IAppliance *pThis, PRUint32 *virtualSystemDescriptionsSize, IVirtualSystemDescription * **virtualSystemDescriptions);
1833
1834 nsresult (*Read)(
1835 IAppliance *pThis,
1836 PRUnichar * file
1837 );
1838
1839 nsresult (*Interpret)(IAppliance *pThis );
1840
1841 nsresult (*ImportMachines)(
1842 IAppliance *pThis,
1843 IProgress * * aProgress
1844 );
1845
1846 nsresult (*Write)(
1847 IAppliance *pThis,
1848 PRUnichar * format,
1849 PRUnichar * path,
1850 IProgress * * aProgress
1851 );
1852
1853 nsresult (*GetWarnings)(
1854 IAppliance *pThis,
1855 PRUint32 *aWarningsSize,
1856 PRUnichar *** aWarnings
1857 );
1858
1859};
1860
1861struct IAppliance
1862{
1863 struct IAppliance_vtbl *vtbl;
1864};
1865/* End of struct IAppliance Declaration */
1866
1867
1868/* Start of struct IVirtualSystemDescription Declaration */
1869#define IVIRTUALSYSTEMDESCRIPTION_IID_STR "d7525e6c-531a-4c51-8e04-41235083a3d8"
1870#define IVIRTUALSYSTEMDESCRIPTION_IID { \
1871 0xd7525e6c, 0x531a, 0x4c51, \
1872 { 0x8e, 0x04, 0x41, 0x23, 0x50, 0x83, 0xa3, 0xd8 } \
1873}
1874struct IVirtualSystemDescription_vtbl
1875{
1876 struct nsISupports_vtbl nsisupports;
1877
1878 nsresult (*GetCount)(IVirtualSystemDescription *pThis, PRUint32 *count);
1879
1880 nsresult (*GetDescription)(
1881 IVirtualSystemDescription *pThis,
1882 PRUint32 *aTypesSize,
1883 PRUint32* aTypes,
1884 PRUint32 *aRefsSize,
1885 PRUnichar *** aRefs,
1886 PRUint32 *aOvfValuesSize,
1887 PRUnichar *** aOvfValues,
1888 PRUint32 *aVboxValuesSize,
1889 PRUnichar *** aVboxValues,
1890 PRUint32 *aExtraConfigValuesSize,
1891 PRUnichar *** aExtraConfigValues
1892 );
1893
1894 nsresult (*GetDescriptionByType)(
1895 IVirtualSystemDescription *pThis,
1896 PRUint32 aType,
1897 PRUint32 *aTypesSize,
1898 PRUint32* aTypes,
1899 PRUint32 *aRefsSize,
1900 PRUnichar *** aRefs,
1901 PRUint32 *aOvfValuesSize,
1902 PRUnichar *** aOvfValues,
1903 PRUint32 *aVboxValuesSize,
1904 PRUnichar *** aVboxValues,
1905 PRUint32 *aExtraConfigValuesSize,
1906 PRUnichar *** aExtraConfigValues
1907 );
1908
1909 nsresult (*GetValuesByType)(
1910 IVirtualSystemDescription *pThis,
1911 PRUint32 aType,
1912 PRUint32 aWhich,
1913 PRUint32 *aValuesSize,
1914 PRUnichar *** aValues
1915 );
1916
1917 nsresult (*SetFinalValues)(
1918 IVirtualSystemDescription *pThis,
1919 PRUint32 aEnabledSize,
1920 PRBool* aEnabled,
1921 PRUint32 aVboxValuesSize,
1922 PRUnichar ** aVboxValues,
1923 PRUint32 aExtraConfigValuesSize,
1924 PRUnichar ** aExtraConfigValues
1925 );
1926
1927 nsresult (*AddDescription)(
1928 IVirtualSystemDescription *pThis,
1929 PRUint32 aType,
1930 PRUnichar * aVboxValue,
1931 PRUnichar * aExtraConfigValue
1932 );
1933
1934};
1935
1936struct IVirtualSystemDescription
1937{
1938 struct IVirtualSystemDescription_vtbl *vtbl;
1939};
1940/* End of struct IVirtualSystemDescription Declaration */
1941
1942
1943/* Start of struct IInternalMachineControl Declaration */
1944#define IINTERNALMACHINECONTROL_IID_STR "2c88b969-7a74-4ef3-b95f-8a209a1535f3"
1945#define IINTERNALMACHINECONTROL_IID { \
1946 0x2c88b969, 0x7a74, 0x4ef3, \
1947 { 0xb9, 0x5f, 0x8a, 0x20, 0x9a, 0x15, 0x35, 0xf3 } \
1948}
1949struct IInternalMachineControl_vtbl
1950{
1951 struct nsISupports_vtbl nsisupports;
1952
1953 nsresult (*UpdateState)(
1954 IInternalMachineControl *pThis,
1955 PRUint32 state
1956 );
1957
1958 nsresult (*GetIPCId)(
1959 IInternalMachineControl *pThis,
1960 PRUnichar * * id
1961 );
1962
1963 nsresult (*RunUSBDeviceFilters)(
1964 IInternalMachineControl *pThis,
1965 IUSBDevice * device,
1966 PRBool * matched,
1967 PRUint32 * maskedInterfaces
1968 );
1969
1970 nsresult (*CaptureUSBDevice)(
1971 IInternalMachineControl *pThis,
1972 const nsID * id
1973 );
1974
1975 nsresult (*DetachUSBDevice)(
1976 IInternalMachineControl *pThis,
1977 const nsID * id,
1978 PRBool done
1979 );
1980
1981 nsresult (*AutoCaptureUSBDevices)(IInternalMachineControl *pThis );
1982
1983 nsresult (*DetachAllUSBDevices)(
1984 IInternalMachineControl *pThis,
1985 PRBool done
1986 );
1987
1988 nsresult (*OnSessionEnd)(
1989 IInternalMachineControl *pThis,
1990 ISession * session,
1991 IProgress * * progress
1992 );
1993
1994 nsresult (*BeginSavingState)(
1995 IInternalMachineControl *pThis,
1996 IProgress * progress,
1997 PRUnichar * * stateFilePath
1998 );
1999
2000 nsresult (*EndSavingState)(
2001 IInternalMachineControl *pThis,
2002 PRBool success
2003 );
2004
2005 nsresult (*AdoptSavedState)(
2006 IInternalMachineControl *pThis,
2007 PRUnichar * savedStateFile
2008 );
2009
2010 nsresult (*BeginTakingSnapshot)(
2011 IInternalMachineControl *pThis,
2012 IConsole * initiator,
2013 PRUnichar * name,
2014 PRUnichar * description,
2015 IProgress * progress,
2016 PRUnichar * * stateFilePath,
2017 IProgress * * serverProgress
2018 );
2019
2020 nsresult (*EndTakingSnapshot)(
2021 IInternalMachineControl *pThis,
2022 PRBool success
2023 );
2024
2025 nsresult (*DiscardSnapshot)(
2026 IInternalMachineControl *pThis,
2027 IConsole * initiator,
2028 const nsID * id,
2029 PRUint32 * machineState,
2030 IProgress * * progress
2031 );
2032
2033 nsresult (*DiscardCurrentState)(
2034 IInternalMachineControl *pThis,
2035 IConsole * initiator,
2036 PRUint32 * machineState,
2037 IProgress * * progress
2038 );
2039
2040 nsresult (*DiscardCurrentSnapshotAndState)(
2041 IInternalMachineControl *pThis,
2042 IConsole * initiator,
2043 PRUint32 * machineState,
2044 IProgress * * progress
2045 );
2046
2047 nsresult (*PullGuestProperties)(
2048 IInternalMachineControl *pThis,
2049 PRUint32 *nameSize,
2050 PRUnichar *** name,
2051 PRUint32 *valueSize,
2052 PRUnichar *** value,
2053 PRUint32 *timestampSize,
2054 PRUint64* timestamp,
2055 PRUint32 *flagsSize,
2056 PRUnichar *** flags
2057 );
2058
2059 nsresult (*PushGuestProperties)(
2060 IInternalMachineControl *pThis,
2061 PRUint32 nameSize,
2062 PRUnichar ** name,
2063 PRUint32 valueSize,
2064 PRUnichar ** value,
2065 PRUint32 timestampSize,
2066 PRUint64* timestamp,
2067 PRUint32 flagsSize,
2068 PRUnichar ** flags
2069 );
2070
2071 nsresult (*PushGuestProperty)(
2072 IInternalMachineControl *pThis,
2073 PRUnichar * name,
2074 PRUnichar * value,
2075 PRUint64 timestamp,
2076 PRUnichar * flags
2077 );
2078
2079 nsresult (*LockMedia)(IInternalMachineControl *pThis );
2080
2081};
2082
2083struct IInternalMachineControl
2084{
2085 struct IInternalMachineControl_vtbl *vtbl;
2086};
2087/* End of struct IInternalMachineControl Declaration */
2088
2089
2090/* Start of struct IBIOSSettings Declaration */
2091#define IBIOSSETTINGS_IID_STR "38b54279-dc35-4f5e-a431-835b867c6b5e"
2092#define IBIOSSETTINGS_IID { \
2093 0x38b54279, 0xdc35, 0x4f5e, \
2094 { 0xa4, 0x31, 0x83, 0x5b, 0x86, 0x7c, 0x6b, 0x5e } \
2095}
2096struct IBIOSSettings_vtbl
2097{
2098 struct nsISupports_vtbl nsisupports;
2099
2100 nsresult (*GetLogoFadeIn)(IBIOSSettings *pThis, PRBool *logoFadeIn);
2101 nsresult (*SetLogoFadeIn)(IBIOSSettings *pThis, PRBool logoFadeIn);
2102
2103 nsresult (*GetLogoFadeOut)(IBIOSSettings *pThis, PRBool *logoFadeOut);
2104 nsresult (*SetLogoFadeOut)(IBIOSSettings *pThis, PRBool logoFadeOut);
2105
2106 nsresult (*GetLogoDisplayTime)(IBIOSSettings *pThis, PRUint32 *logoDisplayTime);
2107 nsresult (*SetLogoDisplayTime)(IBIOSSettings *pThis, PRUint32 logoDisplayTime);
2108
2109 nsresult (*GetLogoImagePath)(IBIOSSettings *pThis, PRUnichar * *logoImagePath);
2110 nsresult (*SetLogoImagePath)(IBIOSSettings *pThis, PRUnichar * logoImagePath);
2111
2112 nsresult (*GetBootMenuMode)(IBIOSSettings *pThis, PRUint32 *bootMenuMode);
2113 nsresult (*SetBootMenuMode)(IBIOSSettings *pThis, PRUint32 bootMenuMode);
2114
2115 nsresult (*GetACPIEnabled)(IBIOSSettings *pThis, PRBool *ACPIEnabled);
2116 nsresult (*SetACPIEnabled)(IBIOSSettings *pThis, PRBool ACPIEnabled);
2117
2118 nsresult (*GetIOAPICEnabled)(IBIOSSettings *pThis, PRBool *IOAPICEnabled);
2119 nsresult (*SetIOAPICEnabled)(IBIOSSettings *pThis, PRBool IOAPICEnabled);
2120
2121 nsresult (*GetTimeOffset)(IBIOSSettings *pThis, PRInt64 *timeOffset);
2122 nsresult (*SetTimeOffset)(IBIOSSettings *pThis, PRInt64 timeOffset);
2123
2124 nsresult (*GetPXEDebugEnabled)(IBIOSSettings *pThis, PRBool *PXEDebugEnabled);
2125 nsresult (*SetPXEDebugEnabled)(IBIOSSettings *pThis, PRBool PXEDebugEnabled);
2126
2127};
2128
2129struct IBIOSSettings
2130{
2131 struct IBIOSSettings_vtbl *vtbl;
2132};
2133/* End of struct IBIOSSettings Declaration */
2134
2135
2136/* Start of struct IMachine Declaration */
2137#define IMACHINE_IID_STR "13420cbb-175a-4456-85d0-301126dfdec7"
2138#define IMACHINE_IID { \
2139 0x13420cbb, 0x175a, 0x4456, \
2140 { 0x85, 0xd0, 0x30, 0x11, 0x26, 0xdf, 0xde, 0xc7 } \
2141}
2142struct IMachine_vtbl
2143{
2144 struct nsISupports_vtbl nsisupports;
2145
2146 nsresult (*GetParent)(IMachine *pThis, IVirtualBox * *parent);
2147
2148 nsresult (*GetAccessible)(IMachine *pThis, PRBool *accessible);
2149
2150 nsresult (*GetAccessError)(IMachine *pThis, IVirtualBoxErrorInfo * *accessError);
2151
2152 nsresult (*GetName)(IMachine *pThis, PRUnichar * *name);
2153 nsresult (*SetName)(IMachine *pThis, PRUnichar * name);
2154
2155 nsresult (*GetDescription)(IMachine *pThis, PRUnichar * *description);
2156 nsresult (*SetDescription)(IMachine *pThis, PRUnichar * description);
2157
2158 nsresult (*GetId)(IMachine *pThis, nsID * *id);
2159
2160 nsresult (*GetOSTypeId)(IMachine *pThis, PRUnichar * *OSTypeId);
2161 nsresult (*SetOSTypeId)(IMachine *pThis, PRUnichar * OSTypeId);
2162
2163 nsresult (*GetHardwareVersion)(IMachine *pThis, PRUnichar * *HardwareVersion);
2164 nsresult (*SetHardwareVersion)(IMachine *pThis, PRUnichar * HardwareVersion);
2165
2166 nsresult (*GetCPUCount)(IMachine *pThis, PRUint32 *CPUCount);
2167 nsresult (*SetCPUCount)(IMachine *pThis, PRUint32 CPUCount);
2168
2169 nsresult (*GetMemorySize)(IMachine *pThis, PRUint32 *memorySize);
2170 nsresult (*SetMemorySize)(IMachine *pThis, PRUint32 memorySize);
2171
2172 nsresult (*GetMemoryBalloonSize)(IMachine *pThis, PRUint32 *memoryBalloonSize);
2173 nsresult (*SetMemoryBalloonSize)(IMachine *pThis, PRUint32 memoryBalloonSize);
2174
2175 nsresult (*GetStatisticsUpdateInterval)(IMachine *pThis, PRUint32 *statisticsUpdateInterval);
2176 nsresult (*SetStatisticsUpdateInterval)(IMachine *pThis, PRUint32 statisticsUpdateInterval);
2177
2178 nsresult (*GetVRAMSize)(IMachine *pThis, PRUint32 *VRAMSize);
2179 nsresult (*SetVRAMSize)(IMachine *pThis, PRUint32 VRAMSize);
2180
2181 nsresult (*GetAccelerate3DEnabled)(IMachine *pThis, PRBool *accelerate3DEnabled);
2182 nsresult (*SetAccelerate3DEnabled)(IMachine *pThis, PRBool accelerate3DEnabled);
2183
2184 nsresult (*GetMonitorCount)(IMachine *pThis, PRUint32 *monitorCount);
2185 nsresult (*SetMonitorCount)(IMachine *pThis, PRUint32 monitorCount);
2186
2187 nsresult (*GetBIOSSettings)(IMachine *pThis, IBIOSSettings * *BIOSSettings);
2188
2189 nsresult (*GetHWVirtExEnabled)(IMachine *pThis, PRUint32 *HWVirtExEnabled);
2190 nsresult (*SetHWVirtExEnabled)(IMachine *pThis, PRUint32 HWVirtExEnabled);
2191
2192 nsresult (*GetHWVirtExNestedPagingEnabled)(IMachine *pThis, PRBool *HWVirtExNestedPagingEnabled);
2193 nsresult (*SetHWVirtExNestedPagingEnabled)(IMachine *pThis, PRBool HWVirtExNestedPagingEnabled);
2194
2195 nsresult (*GetHWVirtExVPIDEnabled)(IMachine *pThis, PRBool *HWVirtExVPIDEnabled);
2196 nsresult (*SetHWVirtExVPIDEnabled)(IMachine *pThis, PRBool HWVirtExVPIDEnabled);
2197
2198 nsresult (*GetPAEEnabled)(IMachine *pThis, PRBool *PAEEnabled);
2199 nsresult (*SetPAEEnabled)(IMachine *pThis, PRBool PAEEnabled);
2200
2201 nsresult (*GetSnapshotFolder)(IMachine *pThis, PRUnichar * *snapshotFolder);
2202 nsresult (*SetSnapshotFolder)(IMachine *pThis, PRUnichar * snapshotFolder);
2203
2204 nsresult (*GetVRDPServer)(IMachine *pThis, IVRDPServer * *VRDPServer);
2205
2206 nsresult (*GetHardDiskAttachments)(IMachine *pThis, PRUint32 *hardDiskAttachmentsSize, IHardDiskAttachment * **hardDiskAttachments);
2207
2208 nsresult (*GetDVDDrive)(IMachine *pThis, IDVDDrive * *DVDDrive);
2209
2210 nsresult (*GetFloppyDrive)(IMachine *pThis, IFloppyDrive * *floppyDrive);
2211
2212 nsresult (*GetUSBController)(IMachine *pThis, IUSBController * *USBController);
2213
2214 nsresult (*GetAudioAdapter)(IMachine *pThis, IAudioAdapter * *audioAdapter);
2215
2216 nsresult (*GetStorageControllers)(IMachine *pThis, PRUint32 *storageControllersSize, IStorageController * **storageControllers);
2217
2218 nsresult (*GetSettingsFilePath)(IMachine *pThis, PRUnichar * *settingsFilePath);
2219
2220 nsresult (*GetSettingsFileVersion)(IMachine *pThis, PRUnichar * *settingsFileVersion);
2221
2222 nsresult (*GetSettingsModified)(IMachine *pThis, PRBool *settingsModified);
2223
2224 nsresult (*GetSessionState)(IMachine *pThis, PRUint32 *sessionState);
2225
2226 nsresult (*GetSessionType)(IMachine *pThis, PRUnichar * *sessionType);
2227
2228 nsresult (*GetSessionPid)(IMachine *pThis, PRUint32 *sessionPid);
2229
2230 nsresult (*GetState)(IMachine *pThis, PRUint32 *state);
2231
2232 nsresult (*GetLastStateChange)(IMachine *pThis, PRInt64 *lastStateChange);
2233
2234 nsresult (*GetStateFilePath)(IMachine *pThis, PRUnichar * *stateFilePath);
2235
2236 nsresult (*GetLogFolder)(IMachine *pThis, PRUnichar * *logFolder);
2237
2238 nsresult (*GetCurrentSnapshot)(IMachine *pThis, ISnapshot * *currentSnapshot);
2239
2240 nsresult (*GetSnapshotCount)(IMachine *pThis, PRUint32 *snapshotCount);
2241
2242 nsresult (*GetCurrentStateModified)(IMachine *pThis, PRBool *currentStateModified);
2243
2244 nsresult (*GetSharedFolders)(IMachine *pThis, PRUint32 *sharedFoldersSize, ISharedFolder * **sharedFolders);
2245
2246 nsresult (*GetClipboardMode)(IMachine *pThis, PRUint32 *clipboardMode);
2247 nsresult (*SetClipboardMode)(IMachine *pThis, PRUint32 clipboardMode);
2248
2249 nsresult (*GetGuestPropertyNotificationPatterns)(IMachine *pThis, PRUnichar * *guestPropertyNotificationPatterns);
2250 nsresult (*SetGuestPropertyNotificationPatterns)(IMachine *pThis, PRUnichar * guestPropertyNotificationPatterns);
2251
2252 nsresult (*SetBootOrder)(
2253 IMachine *pThis,
2254 PRUint32 position,
2255 PRUint32 device
2256 );
2257
2258 nsresult (*GetBootOrder)(
2259 IMachine *pThis,
2260 PRUint32 position,
2261 PRUint32 * device
2262 );
2263
2264 nsresult (*AttachHardDisk)(
2265 IMachine *pThis,
2266 const nsID * id,
2267 PRUnichar * name,
2268 PRInt32 controllerPort,
2269 PRInt32 device
2270 );
2271
2272 nsresult (*GetHardDisk)(
2273 IMachine *pThis,
2274 PRUnichar * name,
2275 PRInt32 controllerPort,
2276 PRInt32 device,
2277 IHardDisk * * hardDisk
2278 );
2279
2280 nsresult (*DetachHardDisk)(
2281 IMachine *pThis,
2282 PRUnichar * name,
2283 PRInt32 controllerPort,
2284 PRInt32 device
2285 );
2286
2287 nsresult (*GetHardDiskAttachmentsOfController)(
2288 IMachine *pThis,
2289 PRUnichar * name,
2290 PRUint32 *hardDiskAttachmentsSize,
2291 IHardDiskAttachment *** hardDiskAttachments
2292 );
2293
2294 nsresult (*GetNetworkAdapter)(
2295 IMachine *pThis,
2296 PRUint32 slot,
2297 INetworkAdapter * * adapter
2298 );
2299
2300 nsresult (*AddStorageController)(
2301 IMachine *pThis,
2302 PRUnichar * name,
2303 PRUint32 connectionType,
2304 IStorageController * * controller
2305 );
2306
2307 nsresult (*GetStorageControllerByName)(
2308 IMachine *pThis,
2309 PRUnichar * name,
2310 IStorageController * * storageController
2311 );
2312
2313 nsresult (*RemoveStorageController)(
2314 IMachine *pThis,
2315 PRUnichar * name
2316 );
2317
2318 nsresult (*GetSerialPort)(
2319 IMachine *pThis,
2320 PRUint32 slot,
2321 ISerialPort * * port
2322 );
2323
2324 nsresult (*GetParallelPort)(
2325 IMachine *pThis,
2326 PRUint32 slot,
2327 IParallelPort * * port
2328 );
2329
2330 nsresult (*GetNextExtraDataKey)(
2331 IMachine *pThis,
2332 PRUnichar * key,
2333 PRUnichar * * nextKey,
2334 PRUnichar * * nextValue
2335 );
2336
2337 nsresult (*GetExtraData)(
2338 IMachine *pThis,
2339 PRUnichar * key,
2340 PRUnichar * * value
2341 );
2342
2343 nsresult (*SetExtraData)(
2344 IMachine *pThis,
2345 PRUnichar * key,
2346 PRUnichar * value
2347 );
2348
2349 nsresult (*SaveSettings)(IMachine *pThis );
2350
2351 nsresult (*SaveSettingsWithBackup)(
2352 IMachine *pThis,
2353 PRUnichar * * bakFileName
2354 );
2355
2356 nsresult (*DiscardSettings)(IMachine *pThis );
2357
2358 nsresult (*DeleteSettings)(IMachine *pThis );
2359
2360 nsresult (*Export)(
2361 IMachine *pThis,
2362 IAppliance * aAppliance,
2363 IVirtualSystemDescription * * aDescription
2364 );
2365
2366 nsresult (*GetSnapshot)(
2367 IMachine *pThis,
2368 const nsID * id,
2369 ISnapshot * * snapshot
2370 );
2371
2372 nsresult (*FindSnapshot)(
2373 IMachine *pThis,
2374 PRUnichar * name,
2375 ISnapshot * * snapshot
2376 );
2377
2378 nsresult (*SetCurrentSnapshot)(
2379 IMachine *pThis,
2380 const nsID * id
2381 );
2382
2383 nsresult (*CreateSharedFolder)(
2384 IMachine *pThis,
2385 PRUnichar * name,
2386 PRUnichar * hostPath,
2387 PRBool writable
2388 );
2389
2390 nsresult (*RemoveSharedFolder)(
2391 IMachine *pThis,
2392 PRUnichar * name
2393 );
2394
2395 nsresult (*CanShowConsoleWindow)(
2396 IMachine *pThis,
2397 PRBool * canShow
2398 );
2399
2400 nsresult (*ShowConsoleWindow)(
2401 IMachine *pThis,
2402 PRUint64 * winId
2403 );
2404
2405 nsresult (*GetGuestProperty)(
2406 IMachine *pThis,
2407 PRUnichar * name,
2408 PRUnichar * * value,
2409 PRUint64 * timestamp,
2410 PRUnichar * * flags
2411 );
2412
2413 nsresult (*GetGuestPropertyValue)(
2414 IMachine *pThis,
2415 PRUnichar * property,
2416 PRUnichar * * value
2417 );
2418
2419 nsresult (*GetGuestPropertyTimestamp)(
2420 IMachine *pThis,
2421 PRUnichar * property,
2422 PRUint64 * value
2423 );
2424
2425 nsresult (*SetGuestProperty)(
2426 IMachine *pThis,
2427 PRUnichar * property,
2428 PRUnichar * value,
2429 PRUnichar * flags
2430 );
2431
2432 nsresult (*SetGuestPropertyValue)(
2433 IMachine *pThis,
2434 PRUnichar * property,
2435 PRUnichar * value
2436 );
2437
2438 nsresult (*EnumerateGuestProperties)(
2439 IMachine *pThis,
2440 PRUnichar * patterns,
2441 PRUint32 *nameSize,
2442 PRUnichar *** name,
2443 PRUint32 *valueSize,
2444 PRUnichar *** value,
2445 PRUint32 *timestampSize,
2446 PRUint64* timestamp,
2447 PRUint32 *flagsSize,
2448 PRUnichar *** flags
2449 );
2450
2451};
2452
2453struct IMachine
2454{
2455 struct IMachine_vtbl *vtbl;
2456};
2457/* End of struct IMachine Declaration */
2458
2459
2460/* Start of struct IConsoleCallback Declaration */
2461#define ICONSOLECALLBACK_IID_STR "13dfbef3-b74d-487d-bada-2304529aefa6"
2462#define ICONSOLECALLBACK_IID { \
2463 0x13dfbef3, 0xb74d, 0x487d, \
2464 { 0xba, 0xda, 0x23, 0x04, 0x52, 0x9a, 0xef, 0xa6 } \
2465}
2466struct IConsoleCallback_vtbl
2467{
2468 struct nsISupports_vtbl nsisupports;
2469
2470 nsresult (*OnMousePointerShapeChange)(
2471 IConsoleCallback *pThis,
2472 PRBool visible,
2473 PRBool alpha,
2474 PRUint32 xHot,
2475 PRUint32 yHot,
2476 PRUint32 width,
2477 PRUint32 height,
2478 PRUint8 * shape
2479 );
2480
2481 nsresult (*OnMouseCapabilityChange)(
2482 IConsoleCallback *pThis,
2483 PRBool supportsAbsolute,
2484 PRBool needsHostCursor
2485 );
2486
2487 nsresult (*OnKeyboardLedsChange)(
2488 IConsoleCallback *pThis,
2489 PRBool numLock,
2490 PRBool capsLock,
2491 PRBool scrollLock
2492 );
2493
2494 nsresult (*OnStateChange)(
2495 IConsoleCallback *pThis,
2496 PRUint32 state
2497 );
2498
2499 nsresult (*OnAdditionsStateChange)(IConsoleCallback *pThis );
2500
2501 nsresult (*OnDVDDriveChange)(IConsoleCallback *pThis );
2502
2503 nsresult (*OnFloppyDriveChange)(IConsoleCallback *pThis );
2504
2505 nsresult (*OnNetworkAdapterChange)(
2506 IConsoleCallback *pThis,
2507 INetworkAdapter * networkAdapter
2508 );
2509
2510 nsresult (*OnSerialPortChange)(
2511 IConsoleCallback *pThis,
2512 ISerialPort * serialPort
2513 );
2514
2515 nsresult (*OnParallelPortChange)(
2516 IConsoleCallback *pThis,
2517 IParallelPort * parallelPort
2518 );
2519
2520 nsresult (*OnStorageControllerChange)(IConsoleCallback *pThis );
2521
2522 nsresult (*OnVRDPServerChange)(IConsoleCallback *pThis );
2523
2524 nsresult (*OnUSBControllerChange)(IConsoleCallback *pThis );
2525
2526 nsresult (*OnUSBDeviceStateChange)(
2527 IConsoleCallback *pThis,
2528 IUSBDevice * device,
2529 PRBool attached,
2530 IVirtualBoxErrorInfo * error
2531 );
2532
2533 nsresult (*OnSharedFolderChange)(
2534 IConsoleCallback *pThis,
2535 PRUint32 scope
2536 );
2537
2538 nsresult (*OnRuntimeError)(
2539 IConsoleCallback *pThis,
2540 PRBool fatal,
2541 PRUnichar * id,
2542 PRUnichar * message
2543 );
2544
2545 nsresult (*OnCanShowWindow)(
2546 IConsoleCallback *pThis,
2547 PRBool * canShow
2548 );
2549
2550 nsresult (*OnShowWindow)(
2551 IConsoleCallback *pThis,
2552 PRUint64 * winId
2553 );
2554
2555};
2556
2557struct IConsoleCallback
2558{
2559 struct IConsoleCallback_vtbl *vtbl;
2560};
2561/* End of struct IConsoleCallback Declaration */
2562
2563
2564/* Start of struct IRemoteDisplayInfo Declaration */
2565#define IREMOTEDISPLAYINFO_IID_STR "550104cd-2dfd-4a6c-857d-f6f8e088e62c"
2566#define IREMOTEDISPLAYINFO_IID { \
2567 0x550104cd, 0x2dfd, 0x4a6c, \
2568 { 0x85, 0x7d, 0xf6, 0xf8, 0xe0, 0x88, 0xe6, 0x2c } \
2569}
2570struct IRemoteDisplayInfo_vtbl
2571{
2572 struct nsISupports_vtbl nsisupports;
2573
2574 nsresult (*GetActive)(IRemoteDisplayInfo *pThis, PRBool *active);
2575
2576 nsresult (*GetNumberOfClients)(IRemoteDisplayInfo *pThis, PRUint32 *numberOfClients);
2577
2578 nsresult (*GetBeginTime)(IRemoteDisplayInfo *pThis, PRInt64 *beginTime);
2579
2580 nsresult (*GetEndTime)(IRemoteDisplayInfo *pThis, PRInt64 *endTime);
2581
2582 nsresult (*GetBytesSent)(IRemoteDisplayInfo *pThis, PRUint64 *bytesSent);
2583
2584 nsresult (*GetBytesSentTotal)(IRemoteDisplayInfo *pThis, PRUint64 *bytesSentTotal);
2585
2586 nsresult (*GetBytesReceived)(IRemoteDisplayInfo *pThis, PRUint64 *bytesReceived);
2587
2588 nsresult (*GetBytesReceivedTotal)(IRemoteDisplayInfo *pThis, PRUint64 *bytesReceivedTotal);
2589
2590 nsresult (*GetUser)(IRemoteDisplayInfo *pThis, PRUnichar * *user);
2591
2592 nsresult (*GetDomain)(IRemoteDisplayInfo *pThis, PRUnichar * *domain);
2593
2594 nsresult (*GetClientName)(IRemoteDisplayInfo *pThis, PRUnichar * *clientName);
2595
2596 nsresult (*GetClientIP)(IRemoteDisplayInfo *pThis, PRUnichar * *clientIP);
2597
2598 nsresult (*GetClientVersion)(IRemoteDisplayInfo *pThis, PRUint32 *clientVersion);
2599
2600 nsresult (*GetEncryptionStyle)(IRemoteDisplayInfo *pThis, PRUint32 *encryptionStyle);
2601
2602};
2603
2604struct IRemoteDisplayInfo
2605{
2606 struct IRemoteDisplayInfo_vtbl *vtbl;
2607};
2608/* End of struct IRemoteDisplayInfo Declaration */
2609
2610
2611/* Start of struct IConsole Declaration */
2612#define ICONSOLE_IID_STR "9511bc54-15ee-4ddf-808e-472aba03809c"
2613#define ICONSOLE_IID { \
2614 0x9511bc54, 0x15ee, 0x4ddf, \
2615 { 0x80, 0x8e, 0x47, 0x2a, 0xba, 0x03, 0x80, 0x9c } \
2616}
2617struct IConsole_vtbl
2618{
2619 struct nsISupports_vtbl nsisupports;
2620
2621 nsresult (*GetMachine)(IConsole *pThis, IMachine * *machine);
2622
2623 nsresult (*GetState)(IConsole *pThis, PRUint32 *state);
2624
2625 nsresult (*GetGuest)(IConsole *pThis, IGuest * *guest);
2626
2627 nsresult (*GetKeyboard)(IConsole *pThis, IKeyboard * *keyboard);
2628
2629 nsresult (*GetMouse)(IConsole *pThis, IMouse * *mouse);
2630
2631 nsresult (*GetDisplay)(IConsole *pThis, IDisplay * *display);
2632
2633 nsresult (*GetDebugger)(IConsole *pThis, IMachineDebugger * *debugger);
2634
2635 nsresult (*GetUSBDevices)(IConsole *pThis, PRUint32 *USBDevicesSize, IUSBDevice * **USBDevices);
2636
2637 nsresult (*GetRemoteUSBDevices)(IConsole *pThis, PRUint32 *remoteUSBDevicesSize, IHostUSBDevice * **remoteUSBDevices);
2638
2639 nsresult (*GetSharedFolders)(IConsole *pThis, PRUint32 *sharedFoldersSize, ISharedFolder * **sharedFolders);
2640
2641 nsresult (*GetRemoteDisplayInfo)(IConsole *pThis, IRemoteDisplayInfo * *remoteDisplayInfo);
2642
2643 nsresult (*PowerUp)(
2644 IConsole *pThis,
2645 IProgress * * progress
2646 );
2647
2648 nsresult (*PowerUpPaused)(
2649 IConsole *pThis,
2650 IProgress * * progress
2651 );
2652
2653 nsresult (*PowerDown)(IConsole *pThis );
2654
2655 nsresult (*PowerDownAsync)(
2656 IConsole *pThis,
2657 IProgress * * progress
2658 );
2659
2660 nsresult (*Reset)(IConsole *pThis );
2661
2662 nsresult (*Pause)(IConsole *pThis );
2663
2664 nsresult (*Resume)(IConsole *pThis );
2665
2666 nsresult (*PowerButton)(IConsole *pThis );
2667
2668 nsresult (*SleepButton)(IConsole *pThis );
2669
2670 nsresult (*GetPowerButtonHandled)(
2671 IConsole *pThis,
2672 PRBool * handled
2673 );
2674
2675 nsresult (*GetGuestEnteredACPIMode)(
2676 IConsole *pThis,
2677 PRBool * entered
2678 );
2679
2680 nsresult (*SaveState)(
2681 IConsole *pThis,
2682 IProgress * * progress
2683 );
2684
2685 nsresult (*AdoptSavedState)(
2686 IConsole *pThis,
2687 PRUnichar * savedStateFile
2688 );
2689
2690 nsresult (*DiscardSavedState)(IConsole *pThis );
2691
2692 nsresult (*GetDeviceActivity)(
2693 IConsole *pThis,
2694 PRUint32 type,
2695 PRUint32 * activity
2696 );
2697
2698 nsresult (*AttachUSBDevice)(
2699 IConsole *pThis,
2700 const nsID * id
2701 );
2702
2703 nsresult (*DetachUSBDevice)(
2704 IConsole *pThis,
2705 const nsID * id,
2706 IUSBDevice * * device
2707 );
2708
2709 nsresult (*FindUSBDeviceByAddress)(
2710 IConsole *pThis,
2711 PRUnichar * name,
2712 IUSBDevice * * device
2713 );
2714
2715 nsresult (*FindUSBDeviceById)(
2716 IConsole *pThis,
2717 const nsID * id,
2718 IUSBDevice * * device
2719 );
2720
2721 nsresult (*CreateSharedFolder)(
2722 IConsole *pThis,
2723 PRUnichar * name,
2724 PRUnichar * hostPath,
2725 PRBool writable
2726 );
2727
2728 nsresult (*RemoveSharedFolder)(
2729 IConsole *pThis,
2730 PRUnichar * name
2731 );
2732
2733 nsresult (*TakeSnapshot)(
2734 IConsole *pThis,
2735 PRUnichar * name,
2736 PRUnichar * description,
2737 IProgress * * progress
2738 );
2739
2740 nsresult (*DiscardSnapshot)(
2741 IConsole *pThis,
2742 const nsID * id,
2743 IProgress * * progress
2744 );
2745
2746 nsresult (*DiscardCurrentState)(
2747 IConsole *pThis,
2748 IProgress * * progress
2749 );
2750
2751 nsresult (*DiscardCurrentSnapshotAndState)(
2752 IConsole *pThis,
2753 IProgress * * progress
2754 );
2755
2756 nsresult (*RegisterCallback)(
2757 IConsole *pThis,
2758 IConsoleCallback * callback
2759 );
2760
2761 nsresult (*UnregisterCallback)(
2762 IConsole *pThis,
2763 IConsoleCallback * callback
2764 );
2765
2766};
2767
2768struct IConsole
2769{
2770 struct IConsole_vtbl *vtbl;
2771};
2772/* End of struct IConsole Declaration */
2773
2774
2775/* Start of struct IHostDVDDrive Declaration */
2776#define IHOSTDVDDRIVE_IID_STR "21f86694-202d-4ce4-8b05-a63ff82dbf4c"
2777#define IHOSTDVDDRIVE_IID { \
2778 0x21f86694, 0x202d, 0x4ce4, \
2779 { 0x8b, 0x05, 0xa6, 0x3f, 0xf8, 0x2d, 0xbf, 0x4c } \
2780}
2781struct IHostDVDDrive_vtbl
2782{
2783 struct nsISupports_vtbl nsisupports;
2784
2785 nsresult (*GetName)(IHostDVDDrive *pThis, PRUnichar * *name);
2786
2787 nsresult (*GetDescription)(IHostDVDDrive *pThis, PRUnichar * *description);
2788
2789 nsresult (*GetUdi)(IHostDVDDrive *pThis, PRUnichar * *udi);
2790
2791};
2792
2793struct IHostDVDDrive
2794{
2795 struct IHostDVDDrive_vtbl *vtbl;
2796};
2797/* End of struct IHostDVDDrive Declaration */
2798
2799
2800/* Start of struct IHostFloppyDrive Declaration */
2801#define IHOSTFLOPPYDRIVE_IID_STR "3f02d604-e908-4919-9fd1-8a4afd68fc63"
2802#define IHOSTFLOPPYDRIVE_IID { \
2803 0x3f02d604, 0xe908, 0x4919, \
2804 { 0x9f, 0xd1, 0x8a, 0x4a, 0xfd, 0x68, 0xfc, 0x63 } \
2805}
2806struct IHostFloppyDrive_vtbl
2807{
2808 struct nsISupports_vtbl nsisupports;
2809
2810 nsresult (*GetName)(IHostFloppyDrive *pThis, PRUnichar * *name);
2811
2812 nsresult (*GetDescription)(IHostFloppyDrive *pThis, PRUnichar * *description);
2813
2814 nsresult (*GetUdi)(IHostFloppyDrive *pThis, PRUnichar * *udi);
2815
2816};
2817
2818struct IHostFloppyDrive
2819{
2820 struct IHostFloppyDrive_vtbl *vtbl;
2821};
2822/* End of struct IHostFloppyDrive Declaration */
2823
2824
2825/* Start of struct IHostNetworkInterface Declaration */
2826#define IHOSTNETWORKINTERFACE_IID_STR "88adaf3f-166b-4542-9457-0f1323507fae"
2827#define IHOSTNETWORKINTERFACE_IID { \
2828 0x88adaf3f, 0x166b, 0x4542, \
2829 { 0x94, 0x57, 0x0f, 0x13, 0x23, 0x50, 0x7f, 0xae } \
2830}
2831struct IHostNetworkInterface_vtbl
2832{
2833 struct nsISupports_vtbl nsisupports;
2834
2835 nsresult (*GetName)(IHostNetworkInterface *pThis, PRUnichar * *name);
2836
2837 nsresult (*GetId)(IHostNetworkInterface *pThis, nsID * *id);
2838
2839 nsresult (*GetNetworkName)(IHostNetworkInterface *pThis, PRUnichar * *networkName);
2840
2841 nsresult (*GetDhcpEnabled)(IHostNetworkInterface *pThis, PRBool *dhcpEnabled);
2842
2843 nsresult (*GetIPAddress)(IHostNetworkInterface *pThis, PRUnichar * *IPAddress);
2844
2845 nsresult (*GetNetworkMask)(IHostNetworkInterface *pThis, PRUnichar * *networkMask);
2846
2847 nsresult (*GetIPV6Supported)(IHostNetworkInterface *pThis, PRBool *IPV6Supported);
2848
2849 nsresult (*GetIPV6Address)(IHostNetworkInterface *pThis, PRUnichar * *IPV6Address);
2850
2851 nsresult (*GetIPV6NetworkMaskPrefixLength)(IHostNetworkInterface *pThis, PRUint32 *IPV6NetworkMaskPrefixLength);
2852
2853 nsresult (*GetHardwareAddress)(IHostNetworkInterface *pThis, PRUnichar * *hardwareAddress);
2854
2855 nsresult (*GetMediumType)(IHostNetworkInterface *pThis, PRUint32 *mediumType);
2856
2857 nsresult (*GetStatus)(IHostNetworkInterface *pThis, PRUint32 *status);
2858
2859 nsresult (*GetInterfaceType)(IHostNetworkInterface *pThis, PRUint32 *interfaceType);
2860
2861 nsresult (*EnableStaticIpConfig)(
2862 IHostNetworkInterface *pThis,
2863 PRUnichar * IPAddress,
2864 PRUnichar * networkMask
2865 );
2866
2867 nsresult (*EnableStaticIpConfigV6)(
2868 IHostNetworkInterface *pThis,
2869 PRUnichar * IPV6Address,
2870 PRUint32 IPV6NetworkMaskPrefixLength
2871 );
2872
2873 nsresult (*EnableDynamicIpConfig)(IHostNetworkInterface *pThis );
2874
2875 nsresult (*DhcpRediscover)(IHostNetworkInterface *pThis );
2876
2877};
2878
2879struct IHostNetworkInterface
2880{
2881 struct IHostNetworkInterface_vtbl *vtbl;
2882};
2883/* End of struct IHostNetworkInterface Declaration */
2884
2885
2886/* Start of struct IHost Declaration */
2887#define IHOST_IID_STR "926469ca-9091-42ef-928e-582d78b66c70"
2888#define IHOST_IID { \
2889 0x926469ca, 0x9091, 0x42ef, \
2890 { 0x92, 0x8e, 0x58, 0x2d, 0x78, 0xb6, 0x6c, 0x70 } \
2891}
2892struct IHost_vtbl
2893{
2894 struct nsISupports_vtbl nsisupports;
2895
2896 nsresult (*GetDVDDrives)(IHost *pThis, PRUint32 *DVDDrivesSize, IHostDVDDrive * **DVDDrives);
2897
2898 nsresult (*GetFloppyDrives)(IHost *pThis, PRUint32 *floppyDrivesSize, IHostFloppyDrive * **floppyDrives);
2899
2900 nsresult (*GetUSBDevices)(IHost *pThis, PRUint32 *USBDevicesSize, IHostUSBDevice * **USBDevices);
2901
2902 nsresult (*GetUSBDeviceFilters)(IHost *pThis, PRUint32 *USBDeviceFiltersSize, IHostUSBDeviceFilter * **USBDeviceFilters);
2903
2904 nsresult (*GetNetworkInterfaces)(IHost *pThis, PRUint32 *networkInterfacesSize, IHostNetworkInterface * **networkInterfaces);
2905
2906 nsresult (*GetProcessorCount)(IHost *pThis, PRUint32 *processorCount);
2907
2908 nsresult (*GetProcessorOnlineCount)(IHost *pThis, PRUint32 *processorOnlineCount);
2909
2910 nsresult (*GetMemorySize)(IHost *pThis, PRUint32 *memorySize);
2911
2912 nsresult (*GetMemoryAvailable)(IHost *pThis, PRUint32 *memoryAvailable);
2913
2914 nsresult (*GetOperatingSystem)(IHost *pThis, PRUnichar * *operatingSystem);
2915
2916 nsresult (*GetOSVersion)(IHost *pThis, PRUnichar * *OSVersion);
2917
2918 nsresult (*GetUTCTime)(IHost *pThis, PRInt64 *UTCTime);
2919
2920 nsresult (*GetProcessorSpeed)(
2921 IHost *pThis,
2922 PRUint32 cpuId,
2923 PRUint32 * speed
2924 );
2925
2926 nsresult (*GetProcessorFeature)(
2927 IHost *pThis,
2928 PRUint32 feature,
2929 PRBool * supported
2930 );
2931
2932 nsresult (*GetProcessorDescription)(
2933 IHost *pThis,
2934 PRUint32 cpuId,
2935 PRUnichar * * description
2936 );
2937
2938 nsresult (*CreateUSBDeviceFilter)(
2939 IHost *pThis,
2940 PRUnichar * name,
2941 IHostUSBDeviceFilter * * filter
2942 );
2943
2944 nsresult (*InsertUSBDeviceFilter)(
2945 IHost *pThis,
2946 PRUint32 position,
2947 IHostUSBDeviceFilter * filter
2948 );
2949
2950 nsresult (*RemoveUSBDeviceFilter)(
2951 IHost *pThis,
2952 PRUint32 position,
2953 IHostUSBDeviceFilter * * filter
2954 );
2955
2956 nsresult (*FindHostDVDDrive)(
2957 IHost *pThis,
2958 PRUnichar * name,
2959 IHostDVDDrive * * drive
2960 );
2961
2962 nsresult (*FindHostFloppyDrive)(
2963 IHost *pThis,
2964 PRUnichar * name,
2965 IHostFloppyDrive * * drive
2966 );
2967
2968 nsresult (*FindHostNetworkInterfaceByName)(
2969 IHost *pThis,
2970 PRUnichar * name,
2971 IHostNetworkInterface * * networkInterface
2972 );
2973
2974 nsresult (*FindHostNetworkInterfaceById)(
2975 IHost *pThis,
2976 const nsID * id,
2977 IHostNetworkInterface * * networkInterface
2978 );
2979
2980 nsresult (*FindHostNetworkInterfacesOfType)(
2981 IHost *pThis,
2982 PRUint32 type,
2983 PRUint32 *networkInterfacesSize,
2984 IHostNetworkInterface *** networkInterfaces
2985 );
2986
2987 nsresult (*FindUSBDeviceById)(
2988 IHost *pThis,
2989 const nsID * id,
2990 IHostUSBDevice * * device
2991 );
2992
2993 nsresult (*FindUSBDeviceByAddress)(
2994 IHost *pThis,
2995 PRUnichar * name,
2996 IHostUSBDevice * * device
2997 );
2998
2999};
3000
3001struct IHost
3002{
3003 struct IHost_vtbl *vtbl;
3004};
3005/* End of struct IHost Declaration */
3006
3007
3008/* Start of struct ISystemProperties Declaration */
3009#define ISYSTEMPROPERTIES_IID_STR "0760e03f-06d0-481e-9f81-be43fef092ba"
3010#define ISYSTEMPROPERTIES_IID { \
3011 0x0760e03f, 0x06d0, 0x481e, \
3012 { 0x9f, 0x81, 0xbe, 0x43, 0xfe, 0xf0, 0x92, 0xba } \
3013}
3014struct ISystemProperties_vtbl
3015{
3016 struct nsISupports_vtbl nsisupports;
3017
3018 nsresult (*GetMinGuestRAM)(ISystemProperties *pThis, PRUint32 *minGuestRAM);
3019
3020 nsresult (*GetMaxGuestRAM)(ISystemProperties *pThis, PRUint32 *maxGuestRAM);
3021
3022 nsresult (*GetMinGuestVRAM)(ISystemProperties *pThis, PRUint32 *minGuestVRAM);
3023
3024 nsresult (*GetMaxGuestVRAM)(ISystemProperties *pThis, PRUint32 *maxGuestVRAM);
3025
3026 nsresult (*GetMinGuestCPUCount)(ISystemProperties *pThis, PRUint32 *minGuestCPUCount);
3027
3028 nsresult (*GetMaxGuestCPUCount)(ISystemProperties *pThis, PRUint32 *maxGuestCPUCount);
3029
3030 nsresult (*GetMaxVDISize)(ISystemProperties *pThis, PRUint64 *maxVDISize);
3031
3032 nsresult (*GetNetworkAdapterCount)(ISystemProperties *pThis, PRUint32 *networkAdapterCount);
3033
3034 nsresult (*GetSerialPortCount)(ISystemProperties *pThis, PRUint32 *serialPortCount);
3035
3036 nsresult (*GetParallelPortCount)(ISystemProperties *pThis, PRUint32 *parallelPortCount);
3037
3038 nsresult (*GetMaxBootPosition)(ISystemProperties *pThis, PRUint32 *maxBootPosition);
3039
3040 nsresult (*GetDefaultMachineFolder)(ISystemProperties *pThis, PRUnichar * *defaultMachineFolder);
3041 nsresult (*SetDefaultMachineFolder)(ISystemProperties *pThis, PRUnichar * defaultMachineFolder);
3042
3043 nsresult (*GetDefaultHardDiskFolder)(ISystemProperties *pThis, PRUnichar * *defaultHardDiskFolder);
3044 nsresult (*SetDefaultHardDiskFolder)(ISystemProperties *pThis, PRUnichar * defaultHardDiskFolder);
3045
3046 nsresult (*GetHardDiskFormats)(ISystemProperties *pThis, PRUint32 *hardDiskFormatsSize, IHardDiskFormat * **hardDiskFormats);
3047
3048 nsresult (*GetDefaultHardDiskFormat)(ISystemProperties *pThis, PRUnichar * *defaultHardDiskFormat);
3049 nsresult (*SetDefaultHardDiskFormat)(ISystemProperties *pThis, PRUnichar * defaultHardDiskFormat);
3050
3051 nsresult (*GetRemoteDisplayAuthLibrary)(ISystemProperties *pThis, PRUnichar * *remoteDisplayAuthLibrary);
3052 nsresult (*SetRemoteDisplayAuthLibrary)(ISystemProperties *pThis, PRUnichar * remoteDisplayAuthLibrary);
3053
3054 nsresult (*GetWebServiceAuthLibrary)(ISystemProperties *pThis, PRUnichar * *webServiceAuthLibrary);
3055 nsresult (*SetWebServiceAuthLibrary)(ISystemProperties *pThis, PRUnichar * webServiceAuthLibrary);
3056
3057 nsresult (*GetHWVirtExEnabled)(ISystemProperties *pThis, PRBool *HWVirtExEnabled);
3058 nsresult (*SetHWVirtExEnabled)(ISystemProperties *pThis, PRBool HWVirtExEnabled);
3059
3060 nsresult (*GetLogHistoryCount)(ISystemProperties *pThis, PRUint32 *LogHistoryCount);
3061 nsresult (*SetLogHistoryCount)(ISystemProperties *pThis, PRUint32 LogHistoryCount);
3062
3063};
3064
3065struct ISystemProperties
3066{
3067 struct ISystemProperties_vtbl *vtbl;
3068};
3069/* End of struct ISystemProperties Declaration */
3070
3071
3072/* Start of struct IGuestOSType Declaration */
3073#define IGUESTOSTYPE_IID_STR "cfe9e64c-4430-435b-9e7c-e3d8e417bd58"
3074#define IGUESTOSTYPE_IID { \
3075 0xcfe9e64c, 0x4430, 0x435b, \
3076 { 0x9e, 0x7c, 0xe3, 0xd8, 0xe4, 0x17, 0xbd, 0x58 } \
3077}
3078struct IGuestOSType_vtbl
3079{
3080 struct nsISupports_vtbl nsisupports;
3081
3082 nsresult (*GetFamilyId)(IGuestOSType *pThis, PRUnichar * *familyId);
3083
3084 nsresult (*GetFamilyDescription)(IGuestOSType *pThis, PRUnichar * *familyDescription);
3085
3086 nsresult (*GetId)(IGuestOSType *pThis, PRUnichar * *id);
3087
3088 nsresult (*GetDescription)(IGuestOSType *pThis, PRUnichar * *description);
3089
3090 nsresult (*GetIs64Bit)(IGuestOSType *pThis, PRBool *is64Bit);
3091
3092 nsresult (*GetRecommendedIOAPIC)(IGuestOSType *pThis, PRBool *recommendedIOAPIC);
3093
3094 nsresult (*GetRecommendedVirtEx)(IGuestOSType *pThis, PRBool *recommendedVirtEx);
3095
3096 nsresult (*GetRecommendedRAM)(IGuestOSType *pThis, PRUint32 *recommendedRAM);
3097
3098 nsresult (*GetRecommendedVRAM)(IGuestOSType *pThis, PRUint32 *recommendedVRAM);
3099
3100 nsresult (*GetRecommendedHDD)(IGuestOSType *pThis, PRUint32 *recommendedHDD);
3101
3102 nsresult (*GetAdapterType)(IGuestOSType *pThis, PRUint32 *adapterType);
3103
3104};
3105
3106struct IGuestOSType
3107{
3108 struct IGuestOSType_vtbl *vtbl;
3109};
3110/* End of struct IGuestOSType Declaration */
3111
3112
3113/* Start of struct IGuest Declaration */
3114#define IGUEST_IID_STR "d8556fca-81bc-12af-fca3-365528fa38ca"
3115#define IGUEST_IID { \
3116 0xd8556fca, 0x81bc, 0x12af, \
3117 { 0xfc, 0xa3, 0x36, 0x55, 0x28, 0xfa, 0x38, 0xca } \
3118}
3119struct IGuest_vtbl
3120{
3121 struct nsISupports_vtbl nsisupports;
3122
3123 nsresult (*GetOSTypeId)(IGuest *pThis, PRUnichar * *OSTypeId);
3124
3125 nsresult (*GetAdditionsActive)(IGuest *pThis, PRBool *additionsActive);
3126
3127 nsresult (*GetAdditionsVersion)(IGuest *pThis, PRUnichar * *additionsVersion);
3128
3129 nsresult (*GetSupportsSeamless)(IGuest *pThis, PRBool *supportsSeamless);
3130
3131 nsresult (*GetSupportsGraphics)(IGuest *pThis, PRBool *supportsGraphics);
3132
3133 nsresult (*GetMemoryBalloonSize)(IGuest *pThis, PRUint32 *memoryBalloonSize);
3134 nsresult (*SetMemoryBalloonSize)(IGuest *pThis, PRUint32 memoryBalloonSize);
3135
3136 nsresult (*GetStatisticsUpdateInterval)(IGuest *pThis, PRUint32 *statisticsUpdateInterval);
3137 nsresult (*SetStatisticsUpdateInterval)(IGuest *pThis, PRUint32 statisticsUpdateInterval);
3138
3139 nsresult (*SetCredentials)(
3140 IGuest *pThis,
3141 PRUnichar * userName,
3142 PRUnichar * password,
3143 PRUnichar * domain,
3144 PRBool allowInteractiveLogon
3145 );
3146
3147 nsresult (*GetStatistic)(
3148 IGuest *pThis,
3149 PRUint32 cpuId,
3150 PRUint32 statistic,
3151 PRUint32 * statVal
3152 );
3153
3154};
3155
3156struct IGuest
3157{
3158 struct IGuest_vtbl *vtbl;
3159};
3160/* End of struct IGuest Declaration */
3161
3162
3163/* Start of struct IProgress Declaration */
3164#define IPROGRESS_IID_STR "c4f94e6b-2273-446b-9539-4c05bb416fe7"
3165#define IPROGRESS_IID { \
3166 0xc4f94e6b, 0x2273, 0x446b, \
3167 { 0x95, 0x39, 0x4c, 0x05, 0xbb, 0x41, 0x6f, 0xe7 } \
3168}
3169struct IProgress_vtbl
3170{
3171 struct nsISupports_vtbl nsisupports;
3172
3173 nsresult (*GetId)(IProgress *pThis, nsID * *id);
3174
3175 nsresult (*GetDescription)(IProgress *pThis, PRUnichar * *description);
3176
3177 nsresult (*GetInitiator)(IProgress *pThis, nsISupports * *initiator);
3178
3179 nsresult (*GetCancelable)(IProgress *pThis, PRBool *cancelable);
3180
3181 nsresult (*GetPercent)(IProgress *pThis, PRUint32 *percent);
3182
3183 nsresult (*GetTimeRemaining)(IProgress *pThis, PRInt32 *timeRemaining);
3184
3185 nsresult (*GetCompleted)(IProgress *pThis, PRBool *completed);
3186
3187 nsresult (*GetCanceled)(IProgress *pThis, PRBool *canceled);
3188
3189 nsresult (*GetResultCode)(IProgress *pThis, nsresult *resultCode);
3190
3191 nsresult (*GetErrorInfo)(IProgress *pThis, IVirtualBoxErrorInfo * *errorInfo);
3192
3193 nsresult (*GetOperationCount)(IProgress *pThis, PRUint32 *operationCount);
3194
3195 nsresult (*GetOperation)(IProgress *pThis, PRUint32 *operation);
3196
3197 nsresult (*GetOperationDescription)(IProgress *pThis, PRUnichar * *operationDescription);
3198
3199 nsresult (*GetOperationPercent)(IProgress *pThis, PRUint32 *operationPercent);
3200
3201 nsresult (*WaitForCompletion)(
3202 IProgress *pThis,
3203 PRInt32 timeout
3204 );
3205
3206 nsresult (*WaitForOperationCompletion)(
3207 IProgress *pThis,
3208 PRUint32 operation,
3209 PRInt32 timeout
3210 );
3211
3212 nsresult (*Cancel)(IProgress *pThis );
3213
3214};
3215
3216struct IProgress
3217{
3218 struct IProgress_vtbl *vtbl;
3219};
3220/* End of struct IProgress Declaration */
3221
3222
3223/* Start of struct ISnapshot Declaration */
3224#define ISNAPSHOT_IID_STR "5db6b1d9-c76b-4424-a6f4-8257f642d6ea"
3225#define ISNAPSHOT_IID { \
3226 0x5db6b1d9, 0xc76b, 0x4424, \
3227 { 0xa6, 0xf4, 0x82, 0x57, 0xf6, 0x42, 0xd6, 0xea } \
3228}
3229struct ISnapshot_vtbl
3230{
3231 struct nsISupports_vtbl nsisupports;
3232
3233 nsresult (*GetId)(ISnapshot *pThis, nsID * *id);
3234
3235 nsresult (*GetName)(ISnapshot *pThis, PRUnichar * *name);
3236 nsresult (*SetName)(ISnapshot *pThis, PRUnichar * name);
3237
3238 nsresult (*GetDescription)(ISnapshot *pThis, PRUnichar * *description);
3239 nsresult (*SetDescription)(ISnapshot *pThis, PRUnichar * description);
3240
3241 nsresult (*GetTimeStamp)(ISnapshot *pThis, PRInt64 *timeStamp);
3242
3243 nsresult (*GetOnline)(ISnapshot *pThis, PRBool *online);
3244
3245 nsresult (*GetMachine)(ISnapshot *pThis, IMachine * *machine);
3246
3247 nsresult (*GetParent)(ISnapshot *pThis, ISnapshot * *parent);
3248
3249 nsresult (*GetChildren)(ISnapshot *pThis, PRUint32 *childrenSize, ISnapshot * **children);
3250
3251};
3252
3253struct ISnapshot
3254{
3255 struct ISnapshot_vtbl *vtbl;
3256};
3257/* End of struct ISnapshot Declaration */
3258
3259
3260/* Start of struct IMedium Declaration */
3261#define IMEDIUM_IID_STR "a7fb3bfb-c180-4274-bae4-7fbc89046e13"
3262#define IMEDIUM_IID { \
3263 0xa7fb3bfb, 0xc180, 0x4274, \
3264 { 0xba, 0xe4, 0x7f, 0xbc, 0x89, 0x04, 0x6e, 0x13 } \
3265}
3266struct IMedium_vtbl
3267{
3268 struct nsISupports_vtbl nsisupports;
3269
3270 nsresult (*GetId)(IMedium *pThis, nsID * *id);
3271
3272 nsresult (*GetDescription)(IMedium *pThis, PRUnichar * *description);
3273 nsresult (*SetDescription)(IMedium *pThis, PRUnichar * description);
3274
3275 nsresult (*GetState)(IMedium *pThis, PRUint32 *state);
3276
3277 nsresult (*GetLocation)(IMedium *pThis, PRUnichar * *location);
3278 nsresult (*SetLocation)(IMedium *pThis, PRUnichar * location);
3279
3280 nsresult (*GetName)(IMedium *pThis, PRUnichar * *name);
3281
3282 nsresult (*GetSize)(IMedium *pThis, PRUint64 *size);
3283
3284 nsresult (*GetLastAccessError)(IMedium *pThis, PRUnichar * *lastAccessError);
3285
3286 nsresult (*GetMachineIds)(IMedium *pThis, PRUint32 *machineIdsSize, nsID * **machineIds);
3287
3288 nsresult (*GetSnapshotIds)(
3289 IMedium *pThis,
3290 const nsID * machineId,
3291 PRUint32 *snapshotIdsSize,
3292 nsID *** snapshotIds
3293 );
3294
3295 nsresult (*LockRead)(
3296 IMedium *pThis,
3297 PRUint32 * state
3298 );
3299
3300 nsresult (*UnlockRead)(
3301 IMedium *pThis,
3302 PRUint32 * state
3303 );
3304
3305 nsresult (*LockWrite)(
3306 IMedium *pThis,
3307 PRUint32 * state
3308 );
3309
3310 nsresult (*UnlockWrite)(
3311 IMedium *pThis,
3312 PRUint32 * state
3313 );
3314
3315 nsresult (*Close)(IMedium *pThis );
3316
3317};
3318
3319struct IMedium
3320{
3321 struct IMedium_vtbl *vtbl;
3322};
3323/* End of struct IMedium Declaration */
3324
3325
3326/* Start of struct IHardDiskAttachment Declaration */
3327#define IHARDDISKATTACHMENT_IID_STR "b1dd04bb-93c0-4ad3-a9cf-82316e595836"
3328#define IHARDDISKATTACHMENT_IID { \
3329 0xb1dd04bb, 0x93c0, 0x4ad3, \
3330 { 0xa9, 0xcf, 0x82, 0x31, 0x6e, 0x59, 0x58, 0x36 } \
3331}
3332struct IHardDiskAttachment_vtbl
3333{
3334 struct nsISupports_vtbl nsisupports;
3335
3336 nsresult (*GetHardDisk)(IHardDiskAttachment *pThis, IHardDisk * *hardDisk);
3337
3338 nsresult (*GetController)(IHardDiskAttachment *pThis, PRUnichar * *controller);
3339
3340 nsresult (*GetPort)(IHardDiskAttachment *pThis, PRInt32 *port);
3341
3342 nsresult (*GetDevice)(IHardDiskAttachment *pThis, PRInt32 *device);
3343
3344};
3345
3346struct IHardDiskAttachment
3347{
3348 struct IHardDiskAttachment_vtbl *vtbl;
3349};
3350/* End of struct IHardDiskAttachment Declaration */
3351
3352
3353/* Start of struct IHardDisk Declaration */
3354#define IHARDDISK_IID_STR "91648dc6-bb19-46bf-9e1c-4bf5b960c8e2"
3355#define IHARDDISK_IID { \
3356 0x91648dc6, 0xbb19, 0x46bf, \
3357 { 0x9e, 0x1c, 0x4b, 0xf5, 0xb9, 0x60, 0xc8, 0xe2 } \
3358}
3359struct IHardDisk_vtbl
3360{
3361 struct IMedium_vtbl imedium;
3362
3363 nsresult (*GetFormat)(IHardDisk *pThis, PRUnichar * *format);
3364
3365 nsresult (*GetType)(IHardDisk *pThis, PRUint32 *type);
3366 nsresult (*SetType)(IHardDisk *pThis, PRUint32 type);
3367
3368 nsresult (*GetParent)(IHardDisk *pThis, IHardDisk * *parent);
3369
3370 nsresult (*GetChildren)(IHardDisk *pThis, PRUint32 *childrenSize, IHardDisk * **children);
3371
3372 nsresult (*GetRoot)(IHardDisk *pThis, IHardDisk * *root);
3373
3374 nsresult (*GetReadOnly)(IHardDisk *pThis, PRBool *readOnly);
3375
3376 nsresult (*GetLogicalSize)(IHardDisk *pThis, PRUint64 *logicalSize);
3377
3378 nsresult (*GetAutoReset)(IHardDisk *pThis, PRBool *autoReset);
3379 nsresult (*SetAutoReset)(IHardDisk *pThis, PRBool autoReset);
3380
3381 nsresult (*GetProperty)(
3382 IHardDisk *pThis,
3383 PRUnichar * name,
3384 PRUnichar * * value
3385 );
3386
3387 nsresult (*SetProperty)(
3388 IHardDisk *pThis,
3389 PRUnichar * name,
3390 PRUnichar * value
3391 );
3392
3393 nsresult (*GetProperties)(
3394 IHardDisk *pThis,
3395 PRUnichar * names,
3396 PRUint32 *returnNamesSize,
3397 PRUnichar *** returnNames,
3398 PRUint32 *returnValuesSize,
3399 PRUnichar *** returnValues
3400 );
3401
3402 nsresult (*SetProperties)(
3403 IHardDisk *pThis,
3404 PRUint32 namesSize,
3405 PRUnichar ** names,
3406 PRUint32 valuesSize,
3407 PRUnichar ** values
3408 );
3409
3410 nsresult (*CreateBaseStorage)(
3411 IHardDisk *pThis,
3412 PRUint64 logicalSize,
3413 PRUint32 variant,
3414 IProgress * * progress
3415 );
3416
3417 nsresult (*DeleteStorage)(
3418 IHardDisk *pThis,
3419 IProgress * * progress
3420 );
3421
3422 nsresult (*CreateDiffStorage)(
3423 IHardDisk *pThis,
3424 IHardDisk * target,
3425 PRUint32 variant,
3426 IProgress * * progress
3427 );
3428
3429 nsresult (*MergeTo)(
3430 IHardDisk *pThis,
3431 const nsID * targetId,
3432 IProgress * * progress
3433 );
3434
3435 nsresult (*CloneTo)(
3436 IHardDisk *pThis,
3437 IHardDisk * target,
3438 PRUint32 variant,
3439 IHardDisk * parent,
3440 IProgress * * progress
3441 );
3442
3443 nsresult (*Compact)(
3444 IHardDisk *pThis,
3445 IProgress * * progress
3446 );
3447
3448 nsresult (*Reset)(
3449 IHardDisk *pThis,
3450 IProgress * * progress
3451 );
3452
3453};
3454
3455struct IHardDisk
3456{
3457 struct IHardDisk_vtbl *vtbl;
3458};
3459/* End of struct IHardDisk Declaration */
3460
3461
3462/* Start of struct IHardDiskFormat Declaration */
3463#define IHARDDISKFORMAT_IID_STR "7f3ba790-3a0b-4a8a-bac2-bb50150123c5"
3464#define IHARDDISKFORMAT_IID { \
3465 0x7f3ba790, 0x3a0b, 0x4a8a, \
3466 { 0xba, 0xc2, 0xbb, 0x50, 0x15, 0x01, 0x23, 0xc5 } \
3467}
3468struct IHardDiskFormat_vtbl
3469{
3470 struct nsISupports_vtbl nsisupports;
3471
3472 nsresult (*GetId)(IHardDiskFormat *pThis, PRUnichar * *id);
3473
3474 nsresult (*GetName)(IHardDiskFormat *pThis, PRUnichar * *name);
3475
3476 nsresult (*GetFileExtensions)(IHardDiskFormat *pThis, PRUint32 *fileExtensionsSize, PRUnichar * **fileExtensions);
3477
3478 nsresult (*GetCapabilities)(IHardDiskFormat *pThis, PRUint32 *capabilities);
3479
3480 nsresult (*DescribeProperties)(
3481 IHardDiskFormat *pThis,
3482 PRUint32 *namesSize,
3483 PRUnichar *** names,
3484 PRUint32 *descriptionSize,
3485 PRUnichar *** description,
3486 PRUint32 *typesSize,
3487 PRUint32* types,
3488 PRUint32 *flagsSize,
3489 PRUint32* flags,
3490 PRUint32 *defaultsSize,
3491 PRUnichar *** defaults
3492 );
3493
3494};
3495
3496struct IHardDiskFormat
3497{
3498 struct IHardDiskFormat_vtbl *vtbl;
3499};
3500/* End of struct IHardDiskFormat Declaration */
3501
3502
3503/* Start of struct IFloppyImage Declaration */
3504#define IFLOPPYIMAGE_IID_STR "faa6101f-078c-4b3a-ab75-75670c8170b3"
3505#define IFLOPPYIMAGE_IID { \
3506 0xfaa6101f, 0x078c, 0x4b3a, \
3507 { 0xab, 0x75, 0x75, 0x67, 0x0c, 0x81, 0x70, 0xb3 } \
3508}
3509struct IFloppyImage_vtbl
3510{
3511 struct IMedium_vtbl imedium;
3512
3513};
3514
3515struct IFloppyImage
3516{
3517 struct IFloppyImage_vtbl *vtbl;
3518};
3519/* End of struct IFloppyImage Declaration */
3520
3521
3522/* Start of struct IDVDImage Declaration */
3523#define IDVDIMAGE_IID_STR "b1f90bbb-e8a9-4484-9af1-3638e943f763"
3524#define IDVDIMAGE_IID { \
3525 0xb1f90bbb, 0xe8a9, 0x4484, \
3526 { 0x9a, 0xf1, 0x36, 0x38, 0xe9, 0x43, 0xf7, 0x63 } \
3527}
3528struct IDVDImage_vtbl
3529{
3530 struct IMedium_vtbl imedium;
3531
3532};
3533
3534struct IDVDImage
3535{
3536 struct IDVDImage_vtbl *vtbl;
3537};
3538/* End of struct IDVDImage Declaration */
3539
3540
3541/* Start of struct IDVDDrive Declaration */
3542#define IDVDDRIVE_IID_STR "d650ef30-be9b-4dae-b463-11d5824681a5"
3543#define IDVDDRIVE_IID { \
3544 0xd650ef30, 0xbe9b, 0x4dae, \
3545 { 0xb4, 0x63, 0x11, 0xd5, 0x82, 0x46, 0x81, 0xa5 } \
3546}
3547struct IDVDDrive_vtbl
3548{
3549 struct nsISupports_vtbl nsisupports;
3550
3551 nsresult (*GetState)(IDVDDrive *pThis, PRUint32 *state);
3552
3553 nsresult (*GetPassthrough)(IDVDDrive *pThis, PRBool *passthrough);
3554 nsresult (*SetPassthrough)(IDVDDrive *pThis, PRBool passthrough);
3555
3556 nsresult (*MountImage)(
3557 IDVDDrive *pThis,
3558 const nsID * imageId
3559 );
3560
3561 nsresult (*CaptureHostDrive)(
3562 IDVDDrive *pThis,
3563 IHostDVDDrive * drive
3564 );
3565
3566 nsresult (*Unmount)(IDVDDrive *pThis );
3567
3568 nsresult (*GetImage)(
3569 IDVDDrive *pThis,
3570 IDVDImage * * image
3571 );
3572
3573 nsresult (*GetHostDrive)(
3574 IDVDDrive *pThis,
3575 IHostDVDDrive * * drive
3576 );
3577
3578};
3579
3580struct IDVDDrive
3581{
3582 struct IDVDDrive_vtbl *vtbl;
3583};
3584/* End of struct IDVDDrive Declaration */
3585
3586
3587/* Start of struct IFloppyDrive Declaration */
3588#define IFLOPPYDRIVE_IID_STR "159412cd-bab8-452e-8097-218a020825a6"
3589#define IFLOPPYDRIVE_IID { \
3590 0x159412cd, 0xbab8, 0x452e, \
3591 { 0x80, 0x97, 0x21, 0x8a, 0x02, 0x08, 0x25, 0xa6 } \
3592}
3593struct IFloppyDrive_vtbl
3594{
3595 struct nsISupports_vtbl nsisupports;
3596
3597 nsresult (*GetEnabled)(IFloppyDrive *pThis, PRBool *enabled);
3598 nsresult (*SetEnabled)(IFloppyDrive *pThis, PRBool enabled);
3599
3600 nsresult (*GetState)(IFloppyDrive *pThis, PRUint32 *state);
3601
3602 nsresult (*MountImage)(
3603 IFloppyDrive *pThis,
3604 const nsID * imageId
3605 );
3606
3607 nsresult (*CaptureHostDrive)(
3608 IFloppyDrive *pThis,
3609 IHostFloppyDrive * drive
3610 );
3611
3612 nsresult (*Unmount)(IFloppyDrive *pThis );
3613
3614 nsresult (*GetImage)(
3615 IFloppyDrive *pThis,
3616 IFloppyImage * * image
3617 );
3618
3619 nsresult (*GetHostDrive)(
3620 IFloppyDrive *pThis,
3621 IHostFloppyDrive * * drive
3622 );
3623
3624};
3625
3626struct IFloppyDrive
3627{
3628 struct IFloppyDrive_vtbl *vtbl;
3629};
3630/* End of struct IFloppyDrive Declaration */
3631
3632
3633/* Start of struct IKeyboard Declaration */
3634#define IKEYBOARD_IID_STR "2d1a531b-4c6e-49cc-8af6-5c857b78b5d7"
3635#define IKEYBOARD_IID { \
3636 0x2d1a531b, 0x4c6e, 0x49cc, \
3637 { 0x8a, 0xf6, 0x5c, 0x85, 0x7b, 0x78, 0xb5, 0xd7 } \
3638}
3639struct IKeyboard_vtbl
3640{
3641 struct nsISupports_vtbl nsisupports;
3642
3643 nsresult (*PutScancode)(
3644 IKeyboard *pThis,
3645 PRInt32 scancode
3646 );
3647
3648 nsresult (*PutScancodes)(
3649 IKeyboard *pThis,
3650 PRUint32 scancodesSize,
3651 PRInt32* scancodes,
3652 PRUint32 * codesStored
3653 );
3654
3655 nsresult (*PutCAD)(IKeyboard *pThis );
3656
3657};
3658
3659struct IKeyboard
3660{
3661 struct IKeyboard_vtbl *vtbl;
3662};
3663/* End of struct IKeyboard Declaration */
3664
3665
3666/* Start of struct IMouse Declaration */
3667#define IMOUSE_IID_STR "FD443EC1-0006-4F5B-9282-D72760A66916"
3668#define IMOUSE_IID { \
3669 0xFD443EC1, 0x0006, 0x4F5B, \
3670 { 0x92, 0x82, 0xD7, 0x27, 0x60, 0xA6, 0x69, 0x16 } \
3671}
3672struct IMouse_vtbl
3673{
3674 struct nsISupports_vtbl nsisupports;
3675
3676 nsresult (*GetAbsoluteSupported)(IMouse *pThis, PRBool *absoluteSupported);
3677
3678 nsresult (*PutMouseEvent)(
3679 IMouse *pThis,
3680 PRInt32 dx,
3681 PRInt32 dy,
3682 PRInt32 dz,
3683 PRInt32 buttonState
3684 );
3685
3686 nsresult (*PutMouseEventAbsolute)(
3687 IMouse *pThis,
3688 PRInt32 x,
3689 PRInt32 y,
3690 PRInt32 dz,
3691 PRInt32 buttonState
3692 );
3693
3694};
3695
3696struct IMouse
3697{
3698 struct IMouse_vtbl *vtbl;
3699};
3700/* End of struct IMouse Declaration */
3701
3702
3703/* Start of struct IFramebuffer Declaration */
3704#define IFRAMEBUFFER_IID_STR "af431304-5b09-40e2-94da-3c3cb03822c1"
3705#define IFRAMEBUFFER_IID { \
3706 0xaf431304, 0x5b09, 0x40e2, \
3707 { 0x94, 0xda, 0x3c, 0x3c, 0xb0, 0x38, 0x22, 0xc1 } \
3708}
3709struct IFramebuffer_vtbl
3710{
3711 struct nsISupports_vtbl nsisupports;
3712
3713 nsresult (*GetAddress)(IFramebuffer *pThis, PRUint8 * *address);
3714
3715 nsresult (*GetWidth)(IFramebuffer *pThis, PRUint32 *width);
3716
3717 nsresult (*GetHeight)(IFramebuffer *pThis, PRUint32 *height);
3718
3719 nsresult (*GetBitsPerPixel)(IFramebuffer *pThis, PRUint32 *bitsPerPixel);
3720
3721 nsresult (*GetBytesPerLine)(IFramebuffer *pThis, PRUint32 *bytesPerLine);
3722
3723 nsresult (*GetPixelFormat)(IFramebuffer *pThis, PRUint32 *pixelFormat);
3724
3725 nsresult (*GetUsesGuestVRAM)(IFramebuffer *pThis, PRBool *usesGuestVRAM);
3726
3727 nsresult (*GetHeightReduction)(IFramebuffer *pThis, PRUint32 *heightReduction);
3728
3729 nsresult (*GetOverlay)(IFramebuffer *pThis, IFramebufferOverlay * *overlay);
3730
3731 nsresult (*GetWinId)(IFramebuffer *pThis, PRUint64 *winId);
3732
3733 nsresult (*Lock)(IFramebuffer *pThis );
3734
3735 nsresult (*Unlock)(IFramebuffer *pThis );
3736
3737 nsresult (*NotifyUpdate)(
3738 IFramebuffer *pThis,
3739 PRUint32 x,
3740 PRUint32 y,
3741 PRUint32 width,
3742 PRUint32 height,
3743 PRBool * finished
3744 );
3745
3746 nsresult (*RequestResize)(
3747 IFramebuffer *pThis,
3748 PRUint32 screenId,
3749 PRUint32 pixelFormat,
3750 PRUint8 * VRAM,
3751 PRUint32 bitsPerPixel,
3752 PRUint32 bytesPerLine,
3753 PRUint32 width,
3754 PRUint32 height,
3755 PRBool * finished
3756 );
3757
3758 nsresult (*OperationSupported)(
3759 IFramebuffer *pThis,
3760 PRUint32 operation,
3761 PRBool * supported
3762 );
3763
3764 nsresult (*VideoModeSupported)(
3765 IFramebuffer *pThis,
3766 PRUint32 width,
3767 PRUint32 height,
3768 PRUint32 bpp,
3769 PRBool * supported
3770 );
3771
3772 nsresult (*SolidFill)(
3773 IFramebuffer *pThis,
3774 PRUint32 x,
3775 PRUint32 y,
3776 PRUint32 width,
3777 PRUint32 height,
3778 PRUint32 color,
3779 PRBool * handled
3780 );
3781
3782 nsresult (*CopyScreenBits)(
3783 IFramebuffer *pThis,
3784 PRUint32 xDst,
3785 PRUint32 yDst,
3786 PRUint32 xSrc,
3787 PRUint32 ySrc,
3788 PRUint32 width,
3789 PRUint32 height,
3790 PRBool * handled
3791 );
3792
3793 nsresult (*GetVisibleRegion)(
3794 IFramebuffer *pThis,
3795 PRUint8 * rectangles,
3796 PRUint32 count,
3797 PRUint32 * countCopied
3798 );
3799
3800 nsresult (*SetVisibleRegion)(
3801 IFramebuffer *pThis,
3802 PRUint8 * rectangles,
3803 PRUint32 count
3804 );
3805
3806};
3807
3808struct IFramebuffer
3809{
3810 struct IFramebuffer_vtbl *vtbl;
3811};
3812/* End of struct IFramebuffer Declaration */
3813
3814
3815/* Start of struct IFramebufferOverlay Declaration */
3816#define IFRAMEBUFFEROVERLAY_IID_STR "0bcc1c7e-e415-47d2-bfdb-e4c705fb0f47"
3817#define IFRAMEBUFFEROVERLAY_IID { \
3818 0x0bcc1c7e, 0xe415, 0x47d2, \
3819 { 0xbf, 0xdb, 0xe4, 0xc7, 0x05, 0xfb, 0x0f, 0x47 } \
3820}
3821struct IFramebufferOverlay_vtbl
3822{
3823 struct IFramebuffer_vtbl iframebuffer;
3824
3825 nsresult (*GetX)(IFramebufferOverlay *pThis, PRUint32 *x);
3826
3827 nsresult (*GetY)(IFramebufferOverlay *pThis, PRUint32 *y);
3828
3829 nsresult (*GetVisible)(IFramebufferOverlay *pThis, PRBool *visible);
3830 nsresult (*SetVisible)(IFramebufferOverlay *pThis, PRBool visible);
3831
3832 nsresult (*GetAlpha)(IFramebufferOverlay *pThis, PRUint32 *alpha);
3833 nsresult (*SetAlpha)(IFramebufferOverlay *pThis, PRUint32 alpha);
3834
3835 nsresult (*Move)(
3836 IFramebufferOverlay *pThis,
3837 PRUint32 x,
3838 PRUint32 y
3839 );
3840
3841};
3842
3843struct IFramebufferOverlay
3844{
3845 struct IFramebufferOverlay_vtbl *vtbl;
3846};
3847/* End of struct IFramebufferOverlay Declaration */
3848
3849
3850/* Start of struct IDisplay Declaration */
3851#define IDISPLAY_IID_STR "09789f63-4525-48e5-a5e4-1080453b0eab"
3852#define IDISPLAY_IID { \
3853 0x09789f63, 0x4525, 0x48e5, \
3854 { 0xa5, 0xe4, 0x10, 0x80, 0x45, 0x3b, 0x0e, 0xab } \
3855}
3856struct IDisplay_vtbl
3857{
3858 struct nsISupports_vtbl nsisupports;
3859
3860 nsresult (*GetWidth)(IDisplay *pThis, PRUint32 *width);
3861
3862 nsresult (*GetHeight)(IDisplay *pThis, PRUint32 *height);
3863
3864 nsresult (*GetBitsPerPixel)(IDisplay *pThis, PRUint32 *bitsPerPixel);
3865
3866 nsresult (*SetupInternalFramebuffer)(
3867 IDisplay *pThis,
3868 PRUint32 depth
3869 );
3870
3871 nsresult (*LockFramebuffer)(
3872 IDisplay *pThis,
3873 PRUint8 * * address
3874 );
3875
3876 nsresult (*UnlockFramebuffer)(IDisplay *pThis );
3877
3878 nsresult (*RegisterExternalFramebuffer)(
3879 IDisplay *pThis,
3880 IFramebuffer * framebuffer
3881 );
3882
3883 nsresult (*SetFramebuffer)(
3884 IDisplay *pThis,
3885 PRUint32 screenId,
3886 IFramebuffer * framebuffer
3887 );
3888
3889 nsresult (*GetFramebuffer)(
3890 IDisplay *pThis,
3891 PRUint32 screenId,
3892 IFramebuffer * * framebuffer,
3893 PRInt32 * xOrigin,
3894 PRInt32 * yOrigin
3895 );
3896
3897 nsresult (*SetVideoModeHint)(
3898 IDisplay *pThis,
3899 PRUint32 width,
3900 PRUint32 height,
3901 PRUint32 bitsPerPixel,
3902 PRUint32 display
3903 );
3904
3905 nsresult (*SetSeamlessMode)(
3906 IDisplay *pThis,
3907 PRBool enabled
3908 );
3909
3910 nsresult (*TakeScreenShot)(
3911 IDisplay *pThis,
3912 PRUint8 * address,
3913 PRUint32 width,
3914 PRUint32 height
3915 );
3916
3917 nsresult (*DrawToScreen)(
3918 IDisplay *pThis,
3919 PRUint8 * address,
3920 PRUint32 x,
3921 PRUint32 y,
3922 PRUint32 width,
3923 PRUint32 height
3924 );
3925
3926 nsresult (*InvalidateAndUpdate)(IDisplay *pThis );
3927
3928 nsresult (*ResizeCompleted)(
3929 IDisplay *pThis,
3930 PRUint32 screenId
3931 );
3932
3933 nsresult (*UpdateCompleted)(IDisplay *pThis );
3934
3935};
3936
3937struct IDisplay
3938{
3939 struct IDisplay_vtbl *vtbl;
3940};
3941/* End of struct IDisplay Declaration */
3942
3943
3944/* Start of struct INetworkAdapter Declaration */
3945#define INETWORKADAPTER_IID_STR "65607a27-2b73-4d43-b4cc-0ba2c817fbde"
3946#define INETWORKADAPTER_IID { \
3947 0x65607a27, 0x2b73, 0x4d43, \
3948 { 0xb4, 0xcc, 0x0b, 0xa2, 0xc8, 0x17, 0xfb, 0xde } \
3949}
3950struct INetworkAdapter_vtbl
3951{
3952 struct nsISupports_vtbl nsisupports;
3953
3954 nsresult (*GetAdapterType)(INetworkAdapter *pThis, PRUint32 *adapterType);
3955 nsresult (*SetAdapterType)(INetworkAdapter *pThis, PRUint32 adapterType);
3956
3957 nsresult (*GetSlot)(INetworkAdapter *pThis, PRUint32 *slot);
3958
3959 nsresult (*GetEnabled)(INetworkAdapter *pThis, PRBool *enabled);
3960 nsresult (*SetEnabled)(INetworkAdapter *pThis, PRBool enabled);
3961
3962 nsresult (*GetMACAddress)(INetworkAdapter *pThis, PRUnichar * *MACAddress);
3963 nsresult (*SetMACAddress)(INetworkAdapter *pThis, PRUnichar * MACAddress);
3964
3965 nsresult (*GetAttachmentType)(INetworkAdapter *pThis, PRUint32 *attachmentType);
3966
3967 nsresult (*GetHostInterface)(INetworkAdapter *pThis, PRUnichar * *hostInterface);
3968 nsresult (*SetHostInterface)(INetworkAdapter *pThis, PRUnichar * hostInterface);
3969
3970 nsresult (*GetInternalNetwork)(INetworkAdapter *pThis, PRUnichar * *internalNetwork);
3971 nsresult (*SetInternalNetwork)(INetworkAdapter *pThis, PRUnichar * internalNetwork);
3972
3973 nsresult (*GetNATNetwork)(INetworkAdapter *pThis, PRUnichar * *NATNetwork);
3974 nsresult (*SetNATNetwork)(INetworkAdapter *pThis, PRUnichar * NATNetwork);
3975
3976 nsresult (*GetCableConnected)(INetworkAdapter *pThis, PRBool *cableConnected);
3977 nsresult (*SetCableConnected)(INetworkAdapter *pThis, PRBool cableConnected);
3978
3979 nsresult (*GetLineSpeed)(INetworkAdapter *pThis, PRUint32 *lineSpeed);
3980 nsresult (*SetLineSpeed)(INetworkAdapter *pThis, PRUint32 lineSpeed);
3981
3982 nsresult (*GetTraceEnabled)(INetworkAdapter *pThis, PRBool *traceEnabled);
3983 nsresult (*SetTraceEnabled)(INetworkAdapter *pThis, PRBool traceEnabled);
3984
3985 nsresult (*GetTraceFile)(INetworkAdapter *pThis, PRUnichar * *traceFile);
3986 nsresult (*SetTraceFile)(INetworkAdapter *pThis, PRUnichar * traceFile);
3987
3988 nsresult (*AttachToNAT)(INetworkAdapter *pThis );
3989
3990 nsresult (*AttachToBridgedInterface)(INetworkAdapter *pThis );
3991
3992 nsresult (*AttachToInternalNetwork)(INetworkAdapter *pThis );
3993
3994 nsresult (*AttachToHostOnlyInterface)(INetworkAdapter *pThis );
3995
3996 nsresult (*Detach)(INetworkAdapter *pThis );
3997
3998};
3999
4000struct INetworkAdapter
4001{
4002 struct INetworkAdapter_vtbl *vtbl;
4003};
4004/* End of struct INetworkAdapter Declaration */
4005
4006
4007/* Start of struct ISerialPort Declaration */
4008#define ISERIALPORT_IID_STR "937f6970-5103-4745-b78e-d28dcf1479a8"
4009#define ISERIALPORT_IID { \
4010 0x937f6970, 0x5103, 0x4745, \
4011 { 0xb7, 0x8e, 0xd2, 0x8d, 0xcf, 0x14, 0x79, 0xa8 } \
4012}
4013struct ISerialPort_vtbl
4014{
4015 struct nsISupports_vtbl nsisupports;
4016
4017 nsresult (*GetSlot)(ISerialPort *pThis, PRUint32 *slot);
4018
4019 nsresult (*GetEnabled)(ISerialPort *pThis, PRBool *enabled);
4020 nsresult (*SetEnabled)(ISerialPort *pThis, PRBool enabled);
4021
4022 nsresult (*GetIOBase)(ISerialPort *pThis, PRUint32 *IOBase);
4023 nsresult (*SetIOBase)(ISerialPort *pThis, PRUint32 IOBase);
4024
4025 nsresult (*GetIRQ)(ISerialPort *pThis, PRUint32 *IRQ);
4026 nsresult (*SetIRQ)(ISerialPort *pThis, PRUint32 IRQ);
4027
4028 nsresult (*GetHostMode)(ISerialPort *pThis, PRUint32 *hostMode);
4029 nsresult (*SetHostMode)(ISerialPort *pThis, PRUint32 hostMode);
4030
4031 nsresult (*GetServer)(ISerialPort *pThis, PRBool *server);
4032 nsresult (*SetServer)(ISerialPort *pThis, PRBool server);
4033
4034 nsresult (*GetPath)(ISerialPort *pThis, PRUnichar * *path);
4035 nsresult (*SetPath)(ISerialPort *pThis, PRUnichar * path);
4036
4037};
4038
4039struct ISerialPort
4040{
4041 struct ISerialPort_vtbl *vtbl;
4042};
4043/* End of struct ISerialPort Declaration */
4044
4045
4046/* Start of struct IParallelPort Declaration */
4047#define IPARALLELPORT_IID_STR "0c925f06-dd10-4b77-8de8-294d738c3214"
4048#define IPARALLELPORT_IID { \
4049 0x0c925f06, 0xdd10, 0x4b77, \
4050 { 0x8d, 0xe8, 0x29, 0x4d, 0x73, 0x8c, 0x32, 0x14 } \
4051}
4052struct IParallelPort_vtbl
4053{
4054 struct nsISupports_vtbl nsisupports;
4055
4056 nsresult (*GetSlot)(IParallelPort *pThis, PRUint32 *slot);
4057
4058 nsresult (*GetEnabled)(IParallelPort *pThis, PRBool *enabled);
4059 nsresult (*SetEnabled)(IParallelPort *pThis, PRBool enabled);
4060
4061 nsresult (*GetIOBase)(IParallelPort *pThis, PRUint32 *IOBase);
4062 nsresult (*SetIOBase)(IParallelPort *pThis, PRUint32 IOBase);
4063
4064 nsresult (*GetIRQ)(IParallelPort *pThis, PRUint32 *IRQ);
4065 nsresult (*SetIRQ)(IParallelPort *pThis, PRUint32 IRQ);
4066
4067 nsresult (*GetPath)(IParallelPort *pThis, PRUnichar * *path);
4068 nsresult (*SetPath)(IParallelPort *pThis, PRUnichar * path);
4069
4070};
4071
4072struct IParallelPort
4073{
4074 struct IParallelPort_vtbl *vtbl;
4075};
4076/* End of struct IParallelPort Declaration */
4077
4078
4079/* Start of struct IMachineDebugger Declaration */
4080#define IMACHINEDEBUGGER_IID_STR "b0b2a2dd-0627-4502-91c2-ddc5e77609e0"
4081#define IMACHINEDEBUGGER_IID { \
4082 0xb0b2a2dd, 0x0627, 0x4502, \
4083 { 0x91, 0xc2, 0xdd, 0xc5, 0xe7, 0x76, 0x09, 0xe0 } \
4084}
4085struct IMachineDebugger_vtbl
4086{
4087 struct nsISupports_vtbl nsisupports;
4088
4089 nsresult (*GetSinglestep)(IMachineDebugger *pThis, PRBool *singlestep);
4090 nsresult (*SetSinglestep)(IMachineDebugger *pThis, PRBool singlestep);
4091
4092 nsresult (*GetRecompileUser)(IMachineDebugger *pThis, PRBool *recompileUser);
4093 nsresult (*SetRecompileUser)(IMachineDebugger *pThis, PRBool recompileUser);
4094
4095 nsresult (*GetRecompileSupervisor)(IMachineDebugger *pThis, PRBool *recompileSupervisor);
4096 nsresult (*SetRecompileSupervisor)(IMachineDebugger *pThis, PRBool recompileSupervisor);
4097
4098 nsresult (*GetPATMEnabled)(IMachineDebugger *pThis, PRBool *PATMEnabled);
4099 nsresult (*SetPATMEnabled)(IMachineDebugger *pThis, PRBool PATMEnabled);
4100
4101 nsresult (*GetCSAMEnabled)(IMachineDebugger *pThis, PRBool *CSAMEnabled);
4102 nsresult (*SetCSAMEnabled)(IMachineDebugger *pThis, PRBool CSAMEnabled);
4103
4104 nsresult (*GetLogEnabled)(IMachineDebugger *pThis, PRBool *logEnabled);
4105 nsresult (*SetLogEnabled)(IMachineDebugger *pThis, PRBool logEnabled);
4106
4107 nsresult (*GetHWVirtExEnabled)(IMachineDebugger *pThis, PRBool *HWVirtExEnabled);
4108
4109 nsresult (*GetHWVirtExNestedPagingEnabled)(IMachineDebugger *pThis, PRBool *HWVirtExNestedPagingEnabled);
4110
4111 nsresult (*GetHWVirtExVPIDEnabled)(IMachineDebugger *pThis, PRBool *HWVirtExVPIDEnabled);
4112
4113 nsresult (*GetPAEEnabled)(IMachineDebugger *pThis, PRBool *PAEEnabled);
4114
4115 nsresult (*GetVirtualTimeRate)(IMachineDebugger *pThis, PRUint32 *virtualTimeRate);
4116 nsresult (*SetVirtualTimeRate)(IMachineDebugger *pThis, PRUint32 virtualTimeRate);
4117
4118 nsresult (*GetVM)(IMachineDebugger *pThis, PRUint64 *VM);
4119
4120 nsresult (*ResetStats)(
4121 IMachineDebugger *pThis,
4122 PRUnichar * pattern
4123 );
4124
4125 nsresult (*DumpStats)(
4126 IMachineDebugger *pThis,
4127 PRUnichar * pattern
4128 );
4129
4130 nsresult (*GetStats)(
4131 IMachineDebugger *pThis,
4132 PRUnichar * pattern,
4133 PRBool withDescriptions,
4134 PRUnichar * * stats
4135 );
4136
4137 nsresult (*InjectNMI)(IMachineDebugger *pThis );
4138
4139};
4140
4141struct IMachineDebugger
4142{
4143 struct IMachineDebugger_vtbl *vtbl;
4144};
4145/* End of struct IMachineDebugger Declaration */
4146
4147
4148/* Start of struct IUSBController Declaration */
4149#define IUSBCONTROLLER_IID_STR "238540fa-4b73-435a-a38e-4e1d9eab5c17"
4150#define IUSBCONTROLLER_IID { \
4151 0x238540fa, 0x4b73, 0x435a, \
4152 { 0xa3, 0x8e, 0x4e, 0x1d, 0x9e, 0xab, 0x5c, 0x17 } \
4153}
4154struct IUSBController_vtbl
4155{
4156 struct nsISupports_vtbl nsisupports;
4157
4158 nsresult (*GetEnabled)(IUSBController *pThis, PRBool *enabled);
4159 nsresult (*SetEnabled)(IUSBController *pThis, PRBool enabled);
4160
4161 nsresult (*GetEnabledEhci)(IUSBController *pThis, PRBool *enabledEhci);
4162 nsresult (*SetEnabledEhci)(IUSBController *pThis, PRBool enabledEhci);
4163
4164 nsresult (*GetUSBStandard)(IUSBController *pThis, PRUint16 *USBStandard);
4165
4166 nsresult (*GetDeviceFilters)(IUSBController *pThis, PRUint32 *deviceFiltersSize, IUSBDeviceFilter * **deviceFilters);
4167
4168 nsresult (*CreateDeviceFilter)(
4169 IUSBController *pThis,
4170 PRUnichar * name,
4171 IUSBDeviceFilter * * filter
4172 );
4173
4174 nsresult (*InsertDeviceFilter)(
4175 IUSBController *pThis,
4176 PRUint32 position,
4177 IUSBDeviceFilter * filter
4178 );
4179
4180 nsresult (*RemoveDeviceFilter)(
4181 IUSBController *pThis,
4182 PRUint32 position,
4183 IUSBDeviceFilter * * filter
4184 );
4185
4186};
4187
4188struct IUSBController
4189{
4190 struct IUSBController_vtbl *vtbl;
4191};
4192/* End of struct IUSBController Declaration */
4193
4194
4195/* Start of struct IUSBDevice Declaration */
4196#define IUSBDEVICE_IID_STR "850af07b-9ee8-48c2-b6b0-f6d0acbf63c3"
4197#define IUSBDEVICE_IID { \
4198 0x850af07b, 0x9ee8, 0x48c2, \
4199 { 0xb6, 0xb0, 0xf6, 0xd0, 0xac, 0xbf, 0x63, 0xc3 } \
4200}
4201struct IUSBDevice_vtbl
4202{
4203 struct nsISupports_vtbl nsisupports;
4204
4205 nsresult (*GetId)(IUSBDevice *pThis, nsID * *id);
4206
4207 nsresult (*GetVendorId)(IUSBDevice *pThis, PRUint16 *vendorId);
4208
4209 nsresult (*GetProductId)(IUSBDevice *pThis, PRUint16 *productId);
4210
4211 nsresult (*GetRevision)(IUSBDevice *pThis, PRUint16 *revision);
4212
4213 nsresult (*GetManufacturer)(IUSBDevice *pThis, PRUnichar * *manufacturer);
4214
4215 nsresult (*GetProduct)(IUSBDevice *pThis, PRUnichar * *product);
4216
4217 nsresult (*GetSerialNumber)(IUSBDevice *pThis, PRUnichar * *serialNumber);
4218
4219 nsresult (*GetAddress)(IUSBDevice *pThis, PRUnichar * *address);
4220
4221 nsresult (*GetPort)(IUSBDevice *pThis, PRUint16 *port);
4222
4223 nsresult (*GetVersion)(IUSBDevice *pThis, PRUint16 *version);
4224
4225 nsresult (*GetPortVersion)(IUSBDevice *pThis, PRUint16 *portVersion);
4226
4227 nsresult (*GetRemote)(IUSBDevice *pThis, PRBool *remote);
4228
4229};
4230
4231struct IUSBDevice
4232{
4233 struct IUSBDevice_vtbl *vtbl;
4234};
4235/* End of struct IUSBDevice Declaration */
4236
4237
4238/* Start of struct IUSBDeviceFilter Declaration */
4239#define IUSBDEVICEFILTER_IID_STR "d6831fb4-1a94-4c2c-96ef-8d0d6192066d"
4240#define IUSBDEVICEFILTER_IID { \
4241 0xd6831fb4, 0x1a94, 0x4c2c, \
4242 { 0x96, 0xef, 0x8d, 0x0d, 0x61, 0x92, 0x06, 0x6d } \
4243}
4244struct IUSBDeviceFilter_vtbl
4245{
4246 struct nsISupports_vtbl nsisupports;
4247
4248 nsresult (*GetName)(IUSBDeviceFilter *pThis, PRUnichar * *name);
4249 nsresult (*SetName)(IUSBDeviceFilter *pThis, PRUnichar * name);
4250
4251 nsresult (*GetActive)(IUSBDeviceFilter *pThis, PRBool *active);
4252 nsresult (*SetActive)(IUSBDeviceFilter *pThis, PRBool active);
4253
4254 nsresult (*GetVendorId)(IUSBDeviceFilter *pThis, PRUnichar * *vendorId);
4255 nsresult (*SetVendorId)(IUSBDeviceFilter *pThis, PRUnichar * vendorId);
4256
4257 nsresult (*GetProductId)(IUSBDeviceFilter *pThis, PRUnichar * *productId);
4258 nsresult (*SetProductId)(IUSBDeviceFilter *pThis, PRUnichar * productId);
4259
4260 nsresult (*GetRevision)(IUSBDeviceFilter *pThis, PRUnichar * *revision);
4261 nsresult (*SetRevision)(IUSBDeviceFilter *pThis, PRUnichar * revision);
4262
4263 nsresult (*GetManufacturer)(IUSBDeviceFilter *pThis, PRUnichar * *manufacturer);
4264 nsresult (*SetManufacturer)(IUSBDeviceFilter *pThis, PRUnichar * manufacturer);
4265
4266 nsresult (*GetProduct)(IUSBDeviceFilter *pThis, PRUnichar * *product);
4267 nsresult (*SetProduct)(IUSBDeviceFilter *pThis, PRUnichar * product);
4268
4269 nsresult (*GetSerialNumber)(IUSBDeviceFilter *pThis, PRUnichar * *serialNumber);
4270 nsresult (*SetSerialNumber)(IUSBDeviceFilter *pThis, PRUnichar * serialNumber);
4271
4272 nsresult (*GetPort)(IUSBDeviceFilter *pThis, PRUnichar * *port);
4273 nsresult (*SetPort)(IUSBDeviceFilter *pThis, PRUnichar * port);
4274
4275 nsresult (*GetRemote)(IUSBDeviceFilter *pThis, PRUnichar * *remote);
4276 nsresult (*SetRemote)(IUSBDeviceFilter *pThis, PRUnichar * remote);
4277
4278 nsresult (*GetMaskedInterfaces)(IUSBDeviceFilter *pThis, PRUint32 *maskedInterfaces);
4279 nsresult (*SetMaskedInterfaces)(IUSBDeviceFilter *pThis, PRUint32 maskedInterfaces);
4280
4281};
4282
4283struct IUSBDeviceFilter
4284{
4285 struct IUSBDeviceFilter_vtbl *vtbl;
4286};
4287/* End of struct IUSBDeviceFilter Declaration */
4288
4289
4290/* Start of struct IHostUSBDevice Declaration */
4291#define IHOSTUSBDEVICE_IID_STR "173b4b44-d268-4334-a00d-b6521c9a740a"
4292#define IHOSTUSBDEVICE_IID { \
4293 0x173b4b44, 0xd268, 0x4334, \
4294 { 0xa0, 0x0d, 0xb6, 0x52, 0x1c, 0x9a, 0x74, 0x0a } \
4295}
4296struct IHostUSBDevice_vtbl
4297{
4298 struct IUSBDevice_vtbl iusbdevice;
4299
4300 nsresult (*GetState)(IHostUSBDevice *pThis, PRUint32 *state);
4301
4302};
4303
4304struct IHostUSBDevice
4305{
4306 struct IHostUSBDevice_vtbl *vtbl;
4307};
4308/* End of struct IHostUSBDevice Declaration */
4309
4310
4311/* Start of struct IHostUSBDeviceFilter Declaration */
4312#define IHOSTUSBDEVICEFILTER_IID_STR "4cc70246-d74a-400f-8222-3900489c0374"
4313#define IHOSTUSBDEVICEFILTER_IID { \
4314 0x4cc70246, 0xd74a, 0x400f, \
4315 { 0x82, 0x22, 0x39, 0x00, 0x48, 0x9c, 0x03, 0x74 } \
4316}
4317struct IHostUSBDeviceFilter_vtbl
4318{
4319 struct IUSBDeviceFilter_vtbl iusbdevicefilter;
4320
4321 nsresult (*GetAction)(IHostUSBDeviceFilter *pThis, PRUint32 *action);
4322 nsresult (*SetAction)(IHostUSBDeviceFilter *pThis, PRUint32 action);
4323
4324};
4325
4326struct IHostUSBDeviceFilter
4327{
4328 struct IHostUSBDeviceFilter_vtbl *vtbl;
4329};
4330/* End of struct IHostUSBDeviceFilter Declaration */
4331
4332
4333/* Start of struct IAudioAdapter Declaration */
4334#define IAUDIOADAPTER_IID_STR "921873db-5f3f-4b69-91f9-7be9e535a2cb"
4335#define IAUDIOADAPTER_IID { \
4336 0x921873db, 0x5f3f, 0x4b69, \
4337 { 0x91, 0xf9, 0x7b, 0xe9, 0xe5, 0x35, 0xa2, 0xcb } \
4338}
4339struct IAudioAdapter_vtbl
4340{
4341 struct nsISupports_vtbl nsisupports;
4342
4343 nsresult (*GetEnabled)(IAudioAdapter *pThis, PRBool *enabled);
4344 nsresult (*SetEnabled)(IAudioAdapter *pThis, PRBool enabled);
4345
4346 nsresult (*GetAudioController)(IAudioAdapter *pThis, PRUint32 *audioController);
4347 nsresult (*SetAudioController)(IAudioAdapter *pThis, PRUint32 audioController);
4348
4349 nsresult (*GetAudioDriver)(IAudioAdapter *pThis, PRUint32 *audioDriver);
4350 nsresult (*SetAudioDriver)(IAudioAdapter *pThis, PRUint32 audioDriver);
4351
4352};
4353
4354struct IAudioAdapter
4355{
4356 struct IAudioAdapter_vtbl *vtbl;
4357};
4358/* End of struct IAudioAdapter Declaration */
4359
4360
4361/* Start of struct IVRDPServer Declaration */
4362#define IVRDPSERVER_IID_STR "f4584ae7-6bce-474b-83d6-17d235e6aa89"
4363#define IVRDPSERVER_IID { \
4364 0xf4584ae7, 0x6bce, 0x474b, \
4365 { 0x83, 0xd6, 0x17, 0xd2, 0x35, 0xe6, 0xaa, 0x89 } \
4366}
4367struct IVRDPServer_vtbl
4368{
4369 struct nsISupports_vtbl nsisupports;
4370
4371 nsresult (*GetEnabled)(IVRDPServer *pThis, PRBool *enabled);
4372 nsresult (*SetEnabled)(IVRDPServer *pThis, PRBool enabled);
4373
4374 nsresult (*GetPort)(IVRDPServer *pThis, PRUint32 *port);
4375 nsresult (*SetPort)(IVRDPServer *pThis, PRUint32 port);
4376
4377 nsresult (*GetNetAddress)(IVRDPServer *pThis, PRUnichar * *netAddress);
4378 nsresult (*SetNetAddress)(IVRDPServer *pThis, PRUnichar * netAddress);
4379
4380 nsresult (*GetAuthType)(IVRDPServer *pThis, PRUint32 *authType);
4381 nsresult (*SetAuthType)(IVRDPServer *pThis, PRUint32 authType);
4382
4383 nsresult (*GetAuthTimeout)(IVRDPServer *pThis, PRUint32 *authTimeout);
4384 nsresult (*SetAuthTimeout)(IVRDPServer *pThis, PRUint32 authTimeout);
4385
4386 nsresult (*GetAllowMultiConnection)(IVRDPServer *pThis, PRBool *allowMultiConnection);
4387 nsresult (*SetAllowMultiConnection)(IVRDPServer *pThis, PRBool allowMultiConnection);
4388
4389 nsresult (*GetReuseSingleConnection)(IVRDPServer *pThis, PRBool *reuseSingleConnection);
4390 nsresult (*SetReuseSingleConnection)(IVRDPServer *pThis, PRBool reuseSingleConnection);
4391
4392};
4393
4394struct IVRDPServer
4395{
4396 struct IVRDPServer_vtbl *vtbl;
4397};
4398/* End of struct IVRDPServer Declaration */
4399
4400
4401/* Start of struct ISharedFolder Declaration */
4402#define ISHAREDFOLDER_IID_STR "64637bb2-9e17-471c-b8f3-f8968dd9884e"
4403#define ISHAREDFOLDER_IID { \
4404 0x64637bb2, 0x9e17, 0x471c, \
4405 { 0xb8, 0xf3, 0xf8, 0x96, 0x8d, 0xd9, 0x88, 0x4e } \
4406}
4407struct ISharedFolder_vtbl
4408{
4409 struct nsISupports_vtbl nsisupports;
4410
4411 nsresult (*GetName)(ISharedFolder *pThis, PRUnichar * *name);
4412
4413 nsresult (*GetHostPath)(ISharedFolder *pThis, PRUnichar * *hostPath);
4414
4415 nsresult (*GetAccessible)(ISharedFolder *pThis, PRBool *accessible);
4416
4417 nsresult (*GetWritable)(ISharedFolder *pThis, PRBool *writable);
4418
4419 nsresult (*GetLastAccessError)(ISharedFolder *pThis, PRUnichar * *lastAccessError);
4420
4421};
4422
4423struct ISharedFolder
4424{
4425 struct ISharedFolder_vtbl *vtbl;
4426};
4427/* End of struct ISharedFolder Declaration */
4428
4429
4430/* Start of struct IInternalSessionControl Declaration */
4431#define IINTERNALSESSIONCONTROL_IID_STR "2581845a-5a9d-45fb-bc3b-2476552dd970"
4432#define IINTERNALSESSIONCONTROL_IID { \
4433 0x2581845a, 0x5a9d, 0x45fb, \
4434 { 0xbc, 0x3b, 0x24, 0x76, 0x55, 0x2d, 0xd9, 0x70 } \
4435}
4436struct IInternalSessionControl_vtbl
4437{
4438 struct nsISupports_vtbl nsisupports;
4439
4440 nsresult (*GetPID)(
4441 IInternalSessionControl *pThis,
4442 PRUint32 * pid
4443 );
4444
4445 nsresult (*GetRemoteConsole)(
4446 IInternalSessionControl *pThis,
4447 IConsole * * console
4448 );
4449
4450 nsresult (*AssignMachine)(
4451 IInternalSessionControl *pThis,
4452 IMachine * machine
4453 );
4454
4455 nsresult (*AssignRemoteMachine)(
4456 IInternalSessionControl *pThis,
4457 IMachine * machine,
4458 IConsole * console
4459 );
4460
4461 nsresult (*UpdateMachineState)(
4462 IInternalSessionControl *pThis,
4463 PRUint32 aMachineState
4464 );
4465
4466 nsresult (*Uninitialize)(IInternalSessionControl *pThis );
4467
4468 nsresult (*OnDVDDriveChange)(IInternalSessionControl *pThis );
4469
4470 nsresult (*OnFloppyDriveChange)(IInternalSessionControl *pThis );
4471
4472 nsresult (*OnNetworkAdapterChange)(
4473 IInternalSessionControl *pThis,
4474 INetworkAdapter * networkAdapter
4475 );
4476
4477 nsresult (*OnSerialPortChange)(
4478 IInternalSessionControl *pThis,
4479 ISerialPort * serialPort
4480 );
4481
4482 nsresult (*OnParallelPortChange)(
4483 IInternalSessionControl *pThis,
4484 IParallelPort * parallelPort
4485 );
4486
4487 nsresult (*OnStorageControllerChange)(IInternalSessionControl *pThis );
4488
4489 nsresult (*OnVRDPServerChange)(IInternalSessionControl *pThis );
4490
4491 nsresult (*OnUSBControllerChange)(IInternalSessionControl *pThis );
4492
4493 nsresult (*OnSharedFolderChange)(
4494 IInternalSessionControl *pThis,
4495 PRBool global
4496 );
4497
4498 nsresult (*OnUSBDeviceAttach)(
4499 IInternalSessionControl *pThis,
4500 IUSBDevice * device,
4501 IVirtualBoxErrorInfo * error,
4502 PRUint32 maskedInterfaces
4503 );
4504
4505 nsresult (*OnUSBDeviceDetach)(
4506 IInternalSessionControl *pThis,
4507 const nsID * id,
4508 IVirtualBoxErrorInfo * error
4509 );
4510
4511 nsresult (*OnShowWindow)(
4512 IInternalSessionControl *pThis,
4513 PRBool check,
4514 PRBool * canShow,
4515 PRUint64 * winId
4516 );
4517
4518 nsresult (*AccessGuestProperty)(
4519 IInternalSessionControl *pThis,
4520 PRUnichar * name,
4521 PRUnichar * value,
4522 PRUnichar * flags,
4523 PRBool isSetter,
4524 PRUnichar * * retValue,
4525 PRUint64 * retTimestamp,
4526 PRUnichar * * retFlags
4527 );
4528
4529 nsresult (*EnumerateGuestProperties)(
4530 IInternalSessionControl *pThis,
4531 PRUnichar * patterns,
4532 PRUint32 *keySize,
4533 PRUnichar *** key,
4534 PRUint32 *valueSize,
4535 PRUnichar *** value,
4536 PRUint32 *timestampSize,
4537 PRUint64* timestamp,
4538 PRUint32 *flagsSize,
4539 PRUnichar *** flags
4540 );
4541
4542};
4543
4544struct IInternalSessionControl
4545{
4546 struct IInternalSessionControl_vtbl *vtbl;
4547};
4548/* End of struct IInternalSessionControl Declaration */
4549
4550
4551/* Start of struct ISession Declaration */
4552#define ISESSION_IID_STR "12F4DCDB-12B2-4ec1-B7CD-DDD9F6C5BF4D"
4553#define ISESSION_IID { \
4554 0x12F4DCDB, 0x12B2, 0x4ec1, \
4555 { 0xB7, 0xCD, 0xDD, 0xD9, 0xF6, 0xC5, 0xBF, 0x4D } \
4556}
4557struct ISession_vtbl
4558{
4559 struct nsISupports_vtbl nsisupports;
4560
4561 nsresult (*GetState)(ISession *pThis, PRUint32 *state);
4562
4563 nsresult (*GetType)(ISession *pThis, PRUint32 *type);
4564
4565 nsresult (*GetMachine)(ISession *pThis, IMachine * *machine);
4566
4567 nsresult (*GetConsole)(ISession *pThis, IConsole * *console);
4568
4569 nsresult (*Close)(ISession *pThis );
4570
4571};
4572
4573struct ISession
4574{
4575 struct ISession_vtbl *vtbl;
4576};
4577/* End of struct ISession Declaration */
4578
4579
4580/* Start of struct IStorageController Declaration */
4581#define ISTORAGECONTROLLER_IID_STR "6bf8335b-d14a-44a5-9b45-ddc49ce7d5b2"
4582#define ISTORAGECONTROLLER_IID { \
4583 0x6bf8335b, 0xd14a, 0x44a5, \
4584 { 0x9b, 0x45, 0xdd, 0xc4, 0x9c, 0xe7, 0xd5, 0xb2 } \
4585}
4586struct IStorageController_vtbl
4587{
4588 struct nsISupports_vtbl nsisupports;
4589
4590 nsresult (*GetName)(IStorageController *pThis, PRUnichar * *name);
4591
4592 nsresult (*GetMaxDevicesPerPortCount)(IStorageController *pThis, PRUint32 *maxDevicesPerPortCount);
4593
4594 nsresult (*GetMinPortCount)(IStorageController *pThis, PRUint32 *minPortCount);
4595
4596 nsresult (*GetMaxPortCount)(IStorageController *pThis, PRUint32 *maxPortCount);
4597
4598 nsresult (*GetInstance)(IStorageController *pThis, PRUint32 *instance);
4599 nsresult (*SetInstance)(IStorageController *pThis, PRUint32 instance);
4600
4601 nsresult (*GetPortCount)(IStorageController *pThis, PRUint32 *portCount);
4602 nsresult (*SetPortCount)(IStorageController *pThis, PRUint32 portCount);
4603
4604 nsresult (*GetBus)(IStorageController *pThis, PRUint32 *bus);
4605
4606 nsresult (*GetControllerType)(IStorageController *pThis, PRUint32 *controllerType);
4607 nsresult (*SetControllerType)(IStorageController *pThis, PRUint32 controllerType);
4608
4609 nsresult (*GetIDEEmulationPort)(
4610 IStorageController *pThis,
4611 PRInt32 devicePosition,
4612 PRInt32 * portNumber
4613 );
4614
4615 nsresult (*SetIDEEmulationPort)(
4616 IStorageController *pThis,
4617 PRInt32 devicePosition,
4618 PRInt32 portNumber
4619 );
4620
4621};
4622
4623struct IStorageController
4624{
4625 struct IStorageController_vtbl *vtbl;
4626};
4627/* End of struct IStorageController Declaration */
4628
4629
4630/* Start of struct IPerformanceMetric Declaration */
4631#define IPERFORMANCEMETRIC_IID_STR "2a1a60ae-9345-4019-ad53-d34ba41cbfe9"
4632#define IPERFORMANCEMETRIC_IID { \
4633 0x2a1a60ae, 0x9345, 0x4019, \
4634 { 0xad, 0x53, 0xd3, 0x4b, 0xa4, 0x1c, 0xbf, 0xe9 } \
4635}
4636struct IPerformanceMetric_vtbl
4637{
4638 struct nsISupports_vtbl nsisupports;
4639
4640 nsresult (*GetMetricName)(IPerformanceMetric *pThis, PRUnichar * *metricName);
4641
4642 nsresult (*GetObject)(IPerformanceMetric *pThis, nsISupports * *object);
4643
4644 nsresult (*GetDescription)(IPerformanceMetric *pThis, PRUnichar * *description);
4645
4646 nsresult (*GetPeriod)(IPerformanceMetric *pThis, PRUint32 *period);
4647
4648 nsresult (*GetCount)(IPerformanceMetric *pThis, PRUint32 *count);
4649
4650 nsresult (*GetUnit)(IPerformanceMetric *pThis, PRUnichar * *unit);
4651
4652 nsresult (*GetMinimumValue)(IPerformanceMetric *pThis, PRInt32 *minimumValue);
4653
4654 nsresult (*GetMaximumValue)(IPerformanceMetric *pThis, PRInt32 *maximumValue);
4655
4656};
4657
4658struct IPerformanceMetric
4659{
4660 struct IPerformanceMetric_vtbl *vtbl;
4661};
4662/* End of struct IPerformanceMetric Declaration */
4663
4664
4665/* Start of struct IPerformanceCollector Declaration */
4666#define IPERFORMANCECOLLECTOR_IID_STR "e22e1acb-ac4a-43bb-a31c-17321659b0c6"
4667#define IPERFORMANCECOLLECTOR_IID { \
4668 0xe22e1acb, 0xac4a, 0x43bb, \
4669 { 0xa3, 0x1c, 0x17, 0x32, 0x16, 0x59, 0xb0, 0xc6 } \
4670}
4671struct IPerformanceCollector_vtbl
4672{
4673 struct nsISupports_vtbl nsisupports;
4674
4675 nsresult (*GetMetricNames)(IPerformanceCollector *pThis, PRUint32 *metricNamesSize, PRUnichar * **metricNames);
4676
4677 nsresult (*GetMetrics)(
4678 IPerformanceCollector *pThis,
4679 PRUint32 metricNamesSize,
4680 PRUnichar ** metricNames,
4681 PRUint32 objectsSize,
4682 nsISupports ** objects,
4683 PRUint32 *metricsSize,
4684 IPerformanceMetric *** metrics
4685 );
4686
4687 nsresult (*SetupMetrics)(
4688 IPerformanceCollector *pThis,
4689 PRUint32 metricNamesSize,
4690 PRUnichar ** metricNames,
4691 PRUint32 objectsSize,
4692 nsISupports ** objects,
4693 PRUint32 period,
4694 PRUint32 count,
4695 PRUint32 *affectedMetricsSize,
4696 IPerformanceMetric *** affectedMetrics
4697 );
4698
4699 nsresult (*EnableMetrics)(
4700 IPerformanceCollector *pThis,
4701 PRUint32 metricNamesSize,
4702 PRUnichar ** metricNames,
4703 PRUint32 objectsSize,
4704 nsISupports ** objects,
4705 PRUint32 *affectedMetricsSize,
4706 IPerformanceMetric *** affectedMetrics
4707 );
4708
4709 nsresult (*DisableMetrics)(
4710 IPerformanceCollector *pThis,
4711 PRUint32 metricNamesSize,
4712 PRUnichar ** metricNames,
4713 PRUint32 objectsSize,
4714 nsISupports ** objects,
4715 PRUint32 *affectedMetricsSize,
4716 IPerformanceMetric *** affectedMetrics
4717 );
4718
4719 nsresult (*QueryMetricsData)(
4720 IPerformanceCollector *pThis,
4721 PRUint32 metricNamesSize,
4722 PRUnichar ** metricNames,
4723 PRUint32 objectsSize,
4724 nsISupports ** objects,
4725 PRUint32 *returnMetricNamesSize,
4726 PRUnichar *** returnMetricNames,
4727 PRUint32 *returnObjectsSize,
4728 nsISupports ** returnObjects,
4729 PRUint32 *returnUnitsSize,
4730 PRUnichar *** returnUnits,
4731 PRUint32 *returnScalesSize,
4732 PRUint32* returnScales,
4733 PRUint32 *returnSequenceNumbersSize,
4734 PRUint32* returnSequenceNumbers,
4735 PRUint32 *returnDataIndicesSize,
4736 PRUint32* returnDataIndices,
4737 PRUint32 *returnDataLengthsSize,
4738 PRUint32* returnDataLengths,
4739 PRUint32 *returnDataSize,
4740 PRInt32** returnData
4741 );
4742
4743};
4744
4745struct IPerformanceCollector
4746{
4747 struct IPerformanceCollector_vtbl *vtbl;
4748};
4749/* End of struct IPerformanceCollector Declaration */
4750
4751
4752
4753#define NS_VIRTUALBOX_CID { \
4754 0xB1A7A4F2, 0x47B9, 0x4A1E, \
4755 { 0x82, 0xB2, 0x07, 0xCC, 0xD5, 0x32, 0x3C, 0x3F } \
4756}
4757#define NS_VIRTUALBOX_CONTRACTID "@virtualbox.org/VirtualBox;1"
4758/* for compatibility with Win32 */
4759#define CLSID_VirtualBox (nsCID) NS_VIRTUALBOX_CID
4760
4761
4762
4763#define NS_SESSION_CID { \
4764 0x3C02F46D, 0xC9D2, 0x4f11, \
4765 { 0xA3, 0x84, 0x53, 0xF0, 0xCF, 0x91, 0x72, 0x14 } \
4766}
4767#define NS_SESSION_CONTRACTID "@virtualbox.org/Session;1"
4768/* for compatibility with Win32 */
4769#define CLSID_Session (nsCID) NS_SESSION_CID
4770
4771
4772
4773#endif /* !__cplusplus */
4774
4775#ifdef IN_VBOXXPCOMC
4776# define VBOXXPCOMC_DECL(type) PR_EXPORT(type)
4777#else
4778# define VBOXXPCOMC_DECL(type) PR_IMPORT(type)
4779#endif
4780
4781#ifdef __cplusplus
4782extern "C" {
4783#endif
4784
4785
4786/**
4787 * Function table for dynamic linking.
4788 * Use VBoxGetFunctions() to obtain the pointer to it.
4789 */
4790typedef struct VBOXXPCOMC
4791{
4792 /** The size of the structure. */
4793 unsigned cb;
4794 /** The structure version. */
4795 unsigned uVersion;
4796
4797 unsigned int (*pfnGetVersion)(void);
4798
4799 void (*pfnComInitialize)(IVirtualBox **virtualBox, ISession **session);
4800 void (*pfnComUninitialize)(void);
4801
4802 void (*pfnComUnallocMem)(void *pv);
4803 void (*pfnUtf16Free)(PRUnichar *pwszString);
4804 void (*pfnUtf8Free)(char *pszString);
4805
4806 int (*pfnUtf16ToUtf8)(const PRUnichar *pwszString, char **ppszString);
4807 int (*pfnUtf8ToUtf16)(const char *pszString, PRUnichar **ppwszString);
4808
4809 /** Tail version, same as uVersion. */
4810 unsigned uEndVersion;
4811} VBOXXPCOMC;
4812/** Pointer to a const VBoxXPCOMC function table. */
4813typedef VBOXXPCOMC const *PCVBOXXPCOM;
4814
4815/** The current interface version.
4816 * For use with VBoxGetXPCOMCFunctions and to be found in
4817 * VBOXXPCOMC::uVersion. */
4818#define VBOX_XPCOMC_VERSION 0x00010000U
4819
4820VBOXXPCOMC_DECL(PCVBOXXPCOM) VBoxGetXPCOMCFunctions(unsigned uVersion);
4821/** Typedef for VBoxGetXPCOMCFunctions. */
4822typedef PCVBOXXPCOM (*PFNVBOXGETXPCOMCFUNCTIONS)(unsigned uVersion);
4823
4824/** The symbol name of VBoxGetXPCOMCFunctions. */
4825#if defined(__OS2__)
4826# define VBOX_GET_XPCOMC_FUNCTIONS_SYMBOL_NAME "_VBoxGetXPCOMCFunctions"
4827#else
4828# define VBOX_GET_XPCOMC_FUNCTIONS_SYMBOL_NAME "VBoxGetXPCOMCFunctions"
4829#endif
4830
4831
4832#ifdef __cplusplus
4833}
4834#endif
4835
4836#endif /* !___VirtualBox_CXPCOM_h */
Note: See TracBrowser for help on using the repository browser.

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