VirtualBox

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

最後變更 在這個檔案從19799是 19799,由 vboxsync 提交於 16 年 前

C API: the API is stable for 2.2 and thus vbox_CAPI_v2_2.h doesn't change, only vbox_CAPI_v2_5.h does.

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

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