VirtualBox

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

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

removed long obsolete methods IFramebuffer::solidFill() and IFramebuffer::copyScreenBits()

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

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