VirtualBox

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

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

Filemuncher fixes

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

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