VirtualBox

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

最後變更 在這個檔案從40296是 39885,由 vboxsync 提交於 13 年 前

Main/cbindings: update XPCOM C bindings again

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

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