VirtualBox

source: vbox/trunk/src/VBox/Main/cbinding/VBoxCAPI_v4_1.h@ 73768

Last change on this file since 73768 was 69500, checked in by vboxsync, 7 years ago

*: scm --update-copyright-year

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 226.5 KB
Line 
1
2/*
3 * DO NOT EDIT! This is a generated file.
4 *
5 * XPCOM IDL (XPIDL) definition for VirtualBox Main API (COM interfaces)
6 * generated from XIDL (XML interface definition).
7 *
8 * Source : src/VBox/Main/idl/VirtualBox.xidl
9 * Generator : src/VBox/Main/idl/xpcidl.xsl
10 *
11 * This file contains portions from the following Mozilla XPCOM files:
12 * xpcom/include/xpcom/nsID.h
13 * xpcom/include/nsIException.h
14 * xpcom/include/nsprpub/prtypes.h
15 * xpcom/include/xpcom/nsISupportsBase.h
16 *
17 * These files were originally triple-licensed (MPL/GPL2/LGPL2.1). Oracle
18 * elects to distribute this derived work under the LGPL2.1 only.
19 */
20
21/*
22 * Copyright (C) 2008-2017 Oracle Corporation
23 *
24 * This file is part of a free software library; you can redistribute
25 * it and/or modify it under the terms of the GNU Lesser General
26 * Public License version 2.1 as published by the Free Software
27 * Foundation and shipped in the "COPYING" file with this library.
28 * The library is distributed in the hope that it will be useful,
29 * but WITHOUT ANY WARRANTY of any kind.
30 *
31 * Oracle LGPL Disclaimer: For the avoidance of doubt, except that if
32 * any license choice other than GPL or LGPL is available it will
33 * apply instead, Oracle elects to use only the Lesser General Public
34 * License version 2.1 (LGPLv2) at this time for any software where
35 * a choice of LGPL license versions is made available with the
36 * language indicating that LGPLv2 or any later version may be used,
37 * or where a choice of which version of the LGPL is applied is
38 * otherwise unspecified.
39 */
40
41#ifndef ___VirtualBox_CXPCOM_h
42#define ___VirtualBox_CXPCOM_h
43
44#ifdef __cplusplus
45# include "VirtualBox_XPCOM.h"
46#else /* !__cplusplus */
47
48#include <stddef.h>
49#include "wchar.h"
50
51#if defined(WIN32)
52
53#define PR_EXPORT(__type) extern __declspec(dllexport) __type
54#define PR_EXPORT_DATA(__type) extern __declspec(dllexport) __type
55#define PR_IMPORT(__type) __declspec(dllimport) __type
56#define PR_IMPORT_DATA(__type) __declspec(dllimport) __type
57
58#define PR_EXTERN(__type) extern __declspec(dllexport) __type
59#define PR_IMPLEMENT(__type) __declspec(dllexport) __type
60#define PR_EXTERN_DATA(__type) extern __declspec(dllexport) __type
61#define PR_IMPLEMENT_DATA(__type) __declspec(dllexport) __type
62
63#define PR_CALLBACK
64#define PR_CALLBACK_DECL
65#define PR_STATIC_CALLBACK(__x) static __x
66
67#elif defined(XP_BEOS)
68
69#define PR_EXPORT(__type) extern __declspec(dllexport) __type
70#define PR_EXPORT_DATA(__type) extern __declspec(dllexport) __type
71#define PR_IMPORT(__type) extern __declspec(dllexport) __type
72#define PR_IMPORT_DATA(__type) extern __declspec(dllexport) __type
73
74#define PR_EXTERN(__type) extern __declspec(dllexport) __type
75#define PR_IMPLEMENT(__type) __declspec(dllexport) __type
76#define PR_EXTERN_DATA(__type) extern __declspec(dllexport) __type
77#define PR_IMPLEMENT_DATA(__type) __declspec(dllexport) __type
78
79#define PR_CALLBACK
80#define PR_CALLBACK_DECL
81#define PR_STATIC_CALLBACK(__x) static __x
82
83#elif defined(WIN16)
84
85#define PR_CALLBACK_DECL __cdecl
86
87#if defined(_WINDLL)
88#define PR_EXPORT(__type) extern __type _cdecl _export _loadds
89#define PR_IMPORT(__type) extern __type _cdecl _export _loadds
90#define PR_EXPORT_DATA(__type) extern __type _export
91#define PR_IMPORT_DATA(__type) extern __type _export
92
93#define PR_EXTERN(__type) extern __type _cdecl _export _loadds
94#define PR_IMPLEMENT(__type) __type _cdecl _export _loadds
95#define PR_EXTERN_DATA(__type) extern __type _export
96#define PR_IMPLEMENT_DATA(__type) __type _export
97
98#define PR_CALLBACK __cdecl __loadds
99#define PR_STATIC_CALLBACK(__x) static __x PR_CALLBACK
100
101#else /* this must be .EXE */
102#define PR_EXPORT(__type) extern __type _cdecl _export
103#define PR_IMPORT(__type) extern __type _cdecl _export
104#define PR_EXPORT_DATA(__type) extern __type _export
105#define PR_IMPORT_DATA(__type) extern __type _export
106
107#define PR_EXTERN(__type) extern __type _cdecl _export
108#define PR_IMPLEMENT(__type) __type _cdecl _export
109#define PR_EXTERN_DATA(__type) extern __type _export
110#define PR_IMPLEMENT_DATA(__type) __type _export
111
112#define PR_CALLBACK __cdecl __loadds
113#define PR_STATIC_CALLBACK(__x) __x PR_CALLBACK
114#endif /* _WINDLL */
115
116#elif defined(XP_MAC)
117
118#define PR_EXPORT(__type) extern __declspec(export) __type
119#define PR_EXPORT_DATA(__type) extern __declspec(export) __type
120#define PR_IMPORT(__type) extern __declspec(export) __type
121#define PR_IMPORT_DATA(__type) extern __declspec(export) __type
122
123#define PR_EXTERN(__type) extern __declspec(export) __type
124#define PR_IMPLEMENT(__type) __declspec(export) __type
125#define PR_EXTERN_DATA(__type) extern __declspec(export) __type
126#define PR_IMPLEMENT_DATA(__type) __declspec(export) __type
127
128#define PR_CALLBACK
129#define PR_CALLBACK_DECL
130#define PR_STATIC_CALLBACK(__x) static __x
131
132#elif defined(XP_OS2) && defined(__declspec)
133
134#define PR_EXPORT(__type) extern __declspec(dllexport) __type
135#define PR_EXPORT_DATA(__type) extern __declspec(dllexport) __type
136#define PR_IMPORT(__type) __declspec(dllimport) __type
137#define PR_IMPORT_DATA(__type) __declspec(dllimport) __type
138
139#define PR_EXTERN(__type) extern __declspec(dllexport) __type
140#define PR_IMPLEMENT(__type) __declspec(dllexport) __type
141#define PR_EXTERN_DATA(__type) extern __declspec(dllexport) __type
142#define PR_IMPLEMENT_DATA(__type) __declspec(dllexport) __type
143
144#define PR_CALLBACK
145#define PR_CALLBACK_DECL
146#define PR_STATIC_CALLBACK(__x) static __x
147
148#elif defined(XP_OS2_VACPP)
149
150#define PR_EXPORT(__type) extern __type
151#define PR_EXPORT_DATA(__type) extern __type
152#define PR_IMPORT(__type) extern __type
153#define PR_IMPORT_DATA(__type) extern __type
154
155#define PR_EXTERN(__type) extern __type
156#define PR_IMPLEMENT(__type) __type
157#define PR_EXTERN_DATA(__type) extern __type
158#define PR_IMPLEMENT_DATA(__type) __type
159#define PR_CALLBACK _Optlink
160#define PR_CALLBACK_DECL
161#define PR_STATIC_CALLBACK(__x) static __x PR_CALLBACK
162
163#else /* Unix */
164
165# ifdef VBOX_HAVE_VISIBILITY_HIDDEN
166# define PR_EXPORT(__type) __attribute__((visibility("default"))) extern __type
167# define PR_EXPORT_DATA(__type) __attribute__((visibility("default"))) extern __type
168# define PR_IMPORT(__type) extern __type
169# define PR_IMPORT_DATA(__type) extern __type
170# define PR_EXTERN(__type) __attribute__((visibility("default"))) extern __type
171# define PR_IMPLEMENT(__type) __attribute__((visibility("default"))) __type
172# define PR_EXTERN_DATA(__type) __attribute__((visibility("default"))) extern __type
173# define PR_IMPLEMENT_DATA(__type) __attribute__((visibility("default"))) __type
174# define PR_CALLBACK
175# define PR_CALLBACK_DECL
176# define PR_STATIC_CALLBACK(__x) static __x
177# else
178# define PR_EXPORT(__type) extern __type
179# define PR_EXPORT_DATA(__type) extern __type
180# define PR_IMPORT(__type) extern __type
181# define PR_IMPORT_DATA(__type) extern __type
182# define PR_EXTERN(__type) extern __type
183# define PR_IMPLEMENT(__type) __type
184# define PR_EXTERN_DATA(__type) extern __type
185# define PR_IMPLEMENT_DATA(__type) __type
186# define PR_CALLBACK
187# define PR_CALLBACK_DECL
188# define PR_STATIC_CALLBACK(__x) static __x
189# endif
190#endif
191
192#if defined(_NSPR_BUILD_)
193#define NSPR_API(__type) PR_EXPORT(__type)
194#define NSPR_DATA_API(__type) PR_EXPORT_DATA(__type)
195#else
196#define NSPR_API(__type) PR_IMPORT(__type)
197#define NSPR_DATA_API(__type) PR_IMPORT_DATA(__type)
198#endif
199
200typedef unsigned char PRUint8;
201#if (defined(HPUX) && defined(__cplusplus) \
202 && !defined(__GNUC__) && __cplusplus < 199707L) \
203 || (defined(SCO) && defined(__cplusplus) \
204 && !defined(__GNUC__) && __cplusplus == 1L)
205typedef char PRInt8;
206#else
207typedef signed char PRInt8;
208#endif
209
210#define PR_INT8_MAX 127
211#define PR_INT8_MIN (-128)
212#define PR_UINT8_MAX 255U
213
214typedef unsigned short PRUint16;
215typedef short PRInt16;
216
217#define PR_INT16_MAX 32767
218#define PR_INT16_MIN (-32768)
219#define PR_UINT16_MAX 65535U
220
221typedef unsigned int PRUint32;
222typedef int PRInt32;
223#define PR_INT32(x) x
224#define PR_UINT32(x) x ## U
225
226#define PR_INT32_MAX PR_INT32(2147483647)
227#define PR_INT32_MIN (-PR_INT32_MAX - 1)
228#define PR_UINT32_MAX PR_UINT32(4294967295)
229
230typedef long PRInt64;
231typedef unsigned long PRUint64;
232typedef int PRIntn;
233typedef unsigned int PRUintn;
234
235typedef double PRFloat64;
236typedef size_t PRSize;
237
238typedef ptrdiff_t PRPtrdiff;
239
240typedef unsigned long PRUptrdiff;
241
242typedef PRIntn PRBool;
243
244#define PR_TRUE 1
245#define PR_FALSE 0
246
247typedef PRUint8 PRPackedBool;
248
249/*
250** Status code used by some routines that have a single point of failure or
251** special status return.
252*/
253typedef enum { PR_FAILURE = -1, PR_SUCCESS = 0 } PRStatus;
254
255#ifndef __PRUNICHAR__
256#define __PRUNICHAR__
257#if defined(WIN32) || defined(XP_MAC)
258typedef wchar_t PRUnichar;
259#else
260typedef PRUint16 PRUnichar;
261#endif
262#endif
263
264typedef long PRWord;
265typedef unsigned long PRUword;
266
267#define nsnull 0
268typedef PRUint32 nsresult;
269
270#if defined(__GNUC__) && (__GNUC__ > 2)
271#define NS_LIKELY(x) (__builtin_expect((x), 1))
272#define NS_UNLIKELY(x) (__builtin_expect((x), 0))
273#else
274#define NS_LIKELY(x) (x)
275#define NS_UNLIKELY(x) (x)
276#endif
277
278#define NS_FAILED(_nsresult) (NS_UNLIKELY((_nsresult) & 0x80000000))
279#define NS_SUCCEEDED(_nsresult) (NS_LIKELY(!((_nsresult) & 0x80000000)))
280
281#ifdef VBOX_WITH_XPCOM_NAMESPACE_CLEANUP
282# define PR_IntervalNow VBoxNsprPR_IntervalNow
283# define PR_TicksPerSecond VBoxNsprPR_TicksPerSecond
284# define PR_SecondsToInterval VBoxNsprPR_SecondsToInterval
285# define PR_MillisecondsToInterval VBoxNsprPR_MillisecondsToInterval
286# define PR_MicrosecondsToInterval VBoxNsprPR_MicrosecondsToInterval
287# define PR_IntervalToSeconds VBoxNsprPR_IntervalToSeconds
288# define PR_IntervalToMilliseconds VBoxNsprPR_IntervalToMilliseconds
289# define PR_IntervalToMicroseconds VBoxNsprPR_IntervalToMicroseconds
290# define PR_EnterMonitor VBoxNsprPR_EnterMonitor
291# define PR_ExitMonitor VBoxNsprPR_ExitMonitor
292# define PR_Notify VBoxNsprPR_Notify
293# define PR_NotifyAll VBoxNsprPR_NotifyAll
294# define PR_Wait VBoxNsprPR_Wait
295# define PR_NewMonitor VBoxNsprPR_NewMonitor
296# define PR_DestroyMonitor VBoxNsprPR_DestroyMonitor
297#endif /* VBOX_WITH_XPCOM_NAMESPACE_CLEANUP */
298
299typedef PRUint32 PRIntervalTime;
300
301#define PR_INTERVAL_MIN 1000UL
302#define PR_INTERVAL_MAX 100000UL
303#define PR_INTERVAL_NO_WAIT 0UL
304#define PR_INTERVAL_NO_TIMEOUT 0xffffffffUL
305
306NSPR_API(PRIntervalTime) PR_IntervalNow(void);
307NSPR_API(PRUint32) PR_TicksPerSecond(void);
308NSPR_API(PRIntervalTime) PR_SecondsToInterval(PRUint32 seconds);
309NSPR_API(PRIntervalTime) PR_MillisecondsToInterval(PRUint32 milli);
310NSPR_API(PRIntervalTime) PR_MicrosecondsToInterval(PRUint32 micro);
311NSPR_API(PRUint32) PR_IntervalToSeconds(PRIntervalTime ticks);
312NSPR_API(PRUint32) PR_IntervalToMilliseconds(PRIntervalTime ticks);
313NSPR_API(PRUint32) PR_IntervalToMicroseconds(PRIntervalTime ticks);
314
315typedef struct PRMonitor PRMonitor;
316
317NSPR_API(PRMonitor*) PR_NewMonitor(void);
318NSPR_API(void) PR_DestroyMonitor(PRMonitor *mon);
319NSPR_API(void) PR_EnterMonitor(PRMonitor *mon);
320NSPR_API(PRStatus) PR_ExitMonitor(PRMonitor *mon);
321NSPR_API(PRStatus) PR_Wait(PRMonitor *mon, PRIntervalTime ticks);
322NSPR_API(PRStatus) PR_Notify(PRMonitor *mon);
323NSPR_API(PRStatus) PR_NotifyAll(PRMonitor *mon);
324
325#ifdef VBOX_WITH_XPCOM_NAMESPACE_CLEANUP
326# define PR_CreateThread VBoxNsprPR_CreateThread
327# define PR_JoinThread VBoxNsprPR_JoinThread
328# define PR_Sleep VBoxNsprPR_Sleep
329# define PR_GetCurrentThread VBoxNsprPR_GetCurrentThread
330# define PR_GetThreadState VBoxNsprPR_GetThreadState
331# define PR_SetThreadPrivate VBoxNsprPR_SetThreadPrivate
332# define PR_GetThreadPrivate VBoxNsprPR_GetThreadPrivate
333# define PR_NewThreadPrivateIndex VBoxNsprPR_NewThreadPrivateIndex
334# define PR_GetThreadPriority VBoxNsprPR_GetThreadPriority
335# define PR_SetThreadPriority VBoxNsprPR_SetThreadPriority
336# define PR_Interrupt VBoxNsprPR_Interrupt
337# define PR_ClearInterrupt VBoxNsprPR_ClearInterrupt
338# define PR_BlockInterrupt VBoxNsprPR_BlockInterrupt
339# define PR_UnblockInterrupt VBoxNsprPR_UnblockInterrupt
340# define PR_GetThreadScope VBoxNsprPR_GetThreadScope
341# define PR_GetThreadType VBoxNsprPR_GetThreadType
342#endif /* VBOX_WITH_XPCOM_NAMESPACE_CLEANUP */
343
344typedef struct PRThread PRThread;
345typedef struct PRThreadStack PRThreadStack;
346
347typedef enum PRThreadType {
348 PR_USER_THREAD,
349 PR_SYSTEM_THREAD
350} PRThreadType;
351
352typedef enum PRThreadScope {
353 PR_LOCAL_THREAD,
354 PR_GLOBAL_THREAD,
355 PR_GLOBAL_BOUND_THREAD
356} PRThreadScope;
357
358typedef enum PRThreadState {
359 PR_JOINABLE_THREAD,
360 PR_UNJOINABLE_THREAD
361} PRThreadState;
362
363typedef enum PRThreadPriority
364{
365 PR_PRIORITY_FIRST = 0, /* just a placeholder */
366 PR_PRIORITY_LOW = 0, /* the lowest possible priority */
367 PR_PRIORITY_NORMAL = 1, /* most common expected priority */
368 PR_PRIORITY_HIGH = 2, /* slightly more aggressive scheduling */
369 PR_PRIORITY_URGENT = 3, /* it does little good to have more than one */
370 PR_PRIORITY_LAST = 3 /* this is just a placeholder */
371} PRThreadPriority;
372
373NSPR_API(PRThread*) PR_CreateThread(PRThreadType type,
374 void (PR_CALLBACK *start)(void *arg),
375 void *arg,
376 PRThreadPriority priority,
377 PRThreadScope scope,
378 PRThreadState state,
379 PRUint32 stackSize);
380NSPR_API(PRStatus) PR_JoinThread(PRThread *thread);
381NSPR_API(PRThread*) PR_GetCurrentThread(void);
382#ifndef NO_NSPR_10_SUPPORT
383#define PR_CurrentThread() PR_GetCurrentThread() /* for nspr1.0 compat. */
384#endif /* NO_NSPR_10_SUPPORT */
385NSPR_API(PRThreadPriority) PR_GetThreadPriority(const PRThread *thread);
386NSPR_API(void) PR_SetThreadPriority(PRThread *thread, PRThreadPriority priority);
387
388typedef void (PR_CALLBACK *PRThreadPrivateDTOR)(void *priv);
389
390NSPR_API(PRStatus) PR_NewThreadPrivateIndex(
391 PRUintn *newIndex, PRThreadPrivateDTOR destructor);
392NSPR_API(PRStatus) PR_SetThreadPrivate(PRUintn tpdIndex, void *priv);
393NSPR_API(void*) PR_GetThreadPrivate(PRUintn tpdIndex);
394NSPR_API(PRStatus) PR_Interrupt(PRThread *thread);
395NSPR_API(void) PR_ClearInterrupt(void);
396NSPR_API(void) PR_BlockInterrupt(void);
397NSPR_API(void) PR_UnblockInterrupt(void);
398NSPR_API(PRStatus) PR_Sleep(PRIntervalTime ticks);
399NSPR_API(PRThreadScope) PR_GetThreadScope(const PRThread *thread);
400NSPR_API(PRThreadType) PR_GetThreadType(const PRThread *thread);
401NSPR_API(PRThreadState) PR_GetThreadState(const PRThread *thread);
402
403#ifdef VBOX_WITH_XPCOM_NAMESPACE_CLEANUP
404# define PR_DestroyLock VBoxNsprPR_DestroyLock
405# define PR_Lock VBoxNsprPR_Lock
406# define PR_NewLock VBoxNsprPR_NewLock
407# define PR_Unlock VBoxNsprPR_Unlock
408#endif /* VBOX_WITH_XPCOM_NAMESPACE_CLEANUP */
409
410typedef struct PRLock PRLock;
411
412NSPR_API(PRLock*) PR_NewLock(void);
413NSPR_API(void) PR_DestroyLock(PRLock *lock);
414NSPR_API(void) PR_Lock(PRLock *lock);
415NSPR_API(PRStatus) PR_Unlock(PRLock *lock);
416
417#ifdef VBOX_WITH_XPCOM_NAMESPACE_CLEANUP
418# define PR_NewCondVar VBoxNsprPR_NewCondVar
419# define PR_DestroyCondVar VBoxNsprPR_DestroyCondVar
420# define PR_WaitCondVar VBoxNsprPR_WaitCondVar
421# define PR_NotifyCondVar VBoxNsprPR_NotifyCondVar
422# define PR_NotifyAllCondVar VBoxNsprPR_NotifyAllCondVar
423#endif /* VBOX_WITH_XPCOM_NAMESPACE_CLEANUP */
424
425typedef struct PRCondVar PRCondVar;
426
427NSPR_API(PRCondVar*) PR_NewCondVar(PRLock *lock);
428NSPR_API(void) PR_DestroyCondVar(PRCondVar *cvar);
429NSPR_API(PRStatus) PR_WaitCondVar(PRCondVar *cvar, PRIntervalTime timeout);
430NSPR_API(PRStatus) PR_NotifyCondVar(PRCondVar *cvar);
431NSPR_API(PRStatus) PR_NotifyAllCondVar(PRCondVar *cvar);
432
433typedef struct PRCListStr PRCList;
434
435struct PRCListStr {
436 PRCList *next;
437 PRCList *prev;
438};
439
440#ifdef VBOX_WITH_XPCOM_NAMESPACE_CLEANUP
441# define PL_DestroyEvent VBoxNsplPL_DestroyEvent
442# define PL_HandleEvent VBoxNsplPL_HandleEvent
443# define PL_InitEvent VBoxNsplPL_InitEvent
444# define PL_CreateEventQueue VBoxNsplPL_CreateEventQueue
445# define PL_CreateMonitoredEventQueue VBoxNsplPL_CreateMonitoredEventQueue
446# define PL_CreateNativeEventQueue VBoxNsplPL_CreateNativeEventQueue
447# define PL_DequeueEvent VBoxNsplPL_DequeueEvent
448# define PL_DestroyEventQueue VBoxNsplPL_DestroyEventQueue
449# define PL_EventAvailable VBoxNsplPL_EventAvailable
450# define PL_EventLoop VBoxNsplPL_EventLoop
451# define PL_GetEvent VBoxNsplPL_GetEvent
452# define PL_GetEventOwner VBoxNsplPL_GetEventOwner
453# define PL_GetEventQueueMonitor VBoxNsplPL_GetEventQueueMonitor
454# define PL_GetEventQueueSelectFD VBoxNsplPL_GetEventQueueSelectFD
455# define PL_MapEvents VBoxNsplPL_MapEvents
456# define PL_PostEvent VBoxNsplPL_PostEvent
457# define PL_PostSynchronousEvent VBoxNsplPL_PostSynchronousEvent
458# define PL_ProcessEventsBeforeID VBoxNsplPL_ProcessEventsBeforeID
459# define PL_ProcessPendingEvents VBoxNsplPL_ProcessPendingEvents
460# define PL_RegisterEventIDFunc VBoxNsplPL_RegisterEventIDFunc
461# define PL_RevokeEvents VBoxNsplPL_RevokeEvents
462# define PL_UnregisterEventIDFunc VBoxNsplPL_UnregisterEventIDFunc
463# define PL_WaitForEvent VBoxNsplPL_WaitForEvent
464# define PL_IsQueueNative VBoxNsplPL_IsQueueNative
465# define PL_IsQueueOnCurrentThread VBoxNsplPL_IsQueueOnCurrentThread
466# define PL_FavorPerformanceHint VBoxNsplPL_FavorPerformanceHint
467#endif /* VBOX_WITH_XPCOM_NAMESPACE_CLEANUP */
468
469typedef struct PLEvent PLEvent;
470typedef struct PLEventQueue PLEventQueue;
471
472PR_EXTERN(PLEventQueue*)
473PL_CreateEventQueue(const char* name, PRThread* handlerThread);
474PR_EXTERN(PLEventQueue *)
475 PL_CreateNativeEventQueue(
476 const char *name,
477 PRThread *handlerThread
478 );
479PR_EXTERN(PLEventQueue *)
480 PL_CreateMonitoredEventQueue(
481 const char *name,
482 PRThread *handlerThread
483 );
484PR_EXTERN(void)
485PL_DestroyEventQueue(PLEventQueue* self);
486PR_EXTERN(PRMonitor*)
487PL_GetEventQueueMonitor(PLEventQueue* self);
488
489#define PL_ENTER_EVENT_QUEUE_MONITOR(queue) \
490 PR_EnterMonitor(PL_GetEventQueueMonitor(queue))
491
492#define PL_EXIT_EVENT_QUEUE_MONITOR(queue) \
493 PR_ExitMonitor(PL_GetEventQueueMonitor(queue))
494
495PR_EXTERN(PRStatus) PL_PostEvent(PLEventQueue* self, PLEvent* event);
496PR_EXTERN(void*) PL_PostSynchronousEvent(PLEventQueue* self, PLEvent* event);
497PR_EXTERN(PLEvent*) PL_GetEvent(PLEventQueue* self);
498PR_EXTERN(PRBool) PL_EventAvailable(PLEventQueue* self);
499
500typedef void (PR_CALLBACK *PLEventFunProc)(PLEvent* event, void* data, PLEventQueue* queue);
501
502PR_EXTERN(void) PL_MapEvents(PLEventQueue* self, PLEventFunProc fun, void* data);
503PR_EXTERN(void) PL_RevokeEvents(PLEventQueue* self, void* owner);
504PR_EXTERN(void) PL_ProcessPendingEvents(PLEventQueue* self);
505PR_EXTERN(PLEvent*) PL_WaitForEvent(PLEventQueue* self);
506PR_EXTERN(void) PL_EventLoop(PLEventQueue* self);
507PR_EXTERN(PRInt32) PL_GetEventQueueSelectFD(PLEventQueue* self);
508PR_EXTERN(PRBool) PL_IsQueueOnCurrentThread( PLEventQueue *queue );
509PR_EXTERN(PRBool) PL_IsQueueNative(PLEventQueue *queue);
510
511typedef void* (PR_CALLBACK *PLHandleEventProc)(PLEvent* self);
512typedef void (PR_CALLBACK *PLDestroyEventProc)(PLEvent* self);
513PR_EXTERN(void)
514PL_InitEvent(PLEvent* self, void* owner,
515 PLHandleEventProc handler,
516 PLDestroyEventProc destructor);
517PR_EXTERN(void*) PL_GetEventOwner(PLEvent* self);
518PR_EXTERN(void) PL_HandleEvent(PLEvent* self);
519PR_EXTERN(void) PL_DestroyEvent(PLEvent* self);
520PR_EXTERN(void) PL_DequeueEvent(PLEvent* self, PLEventQueue* queue);
521PR_EXTERN(void) PL_FavorPerformanceHint(PRBool favorPerformanceOverEventStarvation, PRUint32 starvationDelay);
522
523struct PLEvent {
524 PRCList link;
525 PLHandleEventProc handler;
526 PLDestroyEventProc destructor;
527 void* owner;
528 void* synchronousResult;
529 PRLock* lock;
530 PRCondVar* condVar;
531 PRBool handled;
532#ifdef PL_POST_TIMINGS
533 PRIntervalTime postTime;
534#endif
535#ifdef XP_UNIX
536 unsigned long id;
537#endif /* XP_UNIX */
538 /* other fields follow... */
539};
540
541#if defined(XP_WIN) || defined(XP_OS2)
542
543PR_EXTERN(HWND)
544 PL_GetNativeEventReceiverWindow(
545 PLEventQueue *eqp
546 );
547#endif /* XP_WIN || XP_OS2 */
548
549#ifdef XP_UNIX
550
551PR_EXTERN(PRInt32)
552PL_ProcessEventsBeforeID(PLEventQueue *aSelf, unsigned long aID);
553
554typedef unsigned long (PR_CALLBACK *PLGetEventIDFunc)(void *aClosure);
555
556PR_EXTERN(void)
557PL_RegisterEventIDFunc(PLEventQueue *aSelf, PLGetEventIDFunc aFunc,
558 void *aClosure);
559PR_EXTERN(void) PL_UnregisterEventIDFunc(PLEventQueue *aSelf);
560
561#endif /* XP_UNIX */
562
563/* Standard "it worked" return value */
564#define NS_OK 0
565
566#define NS_ERROR_BASE ((nsresult) 0xC1F30000)
567
568/* Returned when an instance is not initialized */
569#define NS_ERROR_NOT_INITIALIZED (NS_ERROR_BASE + 1)
570
571/* Returned when an instance is already initialized */
572#define NS_ERROR_ALREADY_INITIALIZED (NS_ERROR_BASE + 2)
573
574/* Returned by a not implemented function */
575#define NS_ERROR_NOT_IMPLEMENTED ((nsresult) 0x80004001L)
576
577/* Returned when a given interface is not supported. */
578#define NS_NOINTERFACE ((nsresult) 0x80004002L)
579#define NS_ERROR_NO_INTERFACE NS_NOINTERFACE
580
581#define NS_ERROR_INVALID_POINTER ((nsresult) 0x80004003L)
582#define NS_ERROR_NULL_POINTER NS_ERROR_INVALID_POINTER
583
584/* Returned when a function aborts */
585#define NS_ERROR_ABORT ((nsresult) 0x80004004L)
586
587/* Returned when a function fails */
588#define NS_ERROR_FAILURE ((nsresult) 0x80004005L)
589
590/* Returned when an unexpected error occurs */
591#define NS_ERROR_UNEXPECTED ((nsresult) 0x8000ffffL)
592
593/* Returned when a memory allocation fails */
594#define NS_ERROR_OUT_OF_MEMORY ((nsresult) 0x8007000eL)
595
596/* Returned when an illegal value is passed */
597#define NS_ERROR_ILLEGAL_VALUE ((nsresult) 0x80070057L)
598#define NS_ERROR_INVALID_ARG NS_ERROR_ILLEGAL_VALUE
599
600/* Returned when a class doesn't allow aggregation */
601#define NS_ERROR_NO_AGGREGATION ((nsresult) 0x80040110L)
602
603/* Returned when an operation can't complete due to an unavailable resource */
604#define NS_ERROR_NOT_AVAILABLE ((nsresult) 0x80040111L)
605
606/* Returned when a class is not registered */
607#define NS_ERROR_FACTORY_NOT_REGISTERED ((nsresult) 0x80040154L)
608
609/* Returned when a class cannot be registered, but may be tried again later */
610#define NS_ERROR_FACTORY_REGISTER_AGAIN ((nsresult) 0x80040155L)
611
612/* Returned when a dynamically loaded factory couldn't be found */
613#define NS_ERROR_FACTORY_NOT_LOADED ((nsresult) 0x800401f8L)
614
615/* Returned when a factory doesn't support signatures */
616#define NS_ERROR_FACTORY_NO_SIGNATURE_SUPPORT \
617 (NS_ERROR_BASE + 0x101)
618
619/* Returned when a factory already is registered */
620#define NS_ERROR_FACTORY_EXISTS (NS_ERROR_BASE + 0x100)
621
622
623/**
624 * An "interface id" which can be used to uniquely identify a given
625 * interface.
626 * A "unique identifier". This is modeled after OSF DCE UUIDs.
627 */
628
629struct nsID {
630 PRUint32 m0;
631 PRUint16 m1;
632 PRUint16 m2;
633 PRUint8 m3[8];
634};
635
636typedef struct nsID nsID;
637typedef nsID nsIID;
638
639struct nsISupports; /* forward declaration */
640struct nsIStackFrame; /* forward declaration */
641struct nsIException; /* forward declaration */
642typedef struct nsISupports nsISupports; /* forward declaration */
643typedef struct nsIStackFrame nsIStackFrame; /* forward declaration */
644typedef struct nsIException nsIException; /* forward declaration */
645
646/**
647 * IID for the nsISupports interface
648 * {00000000-0000-0000-c000-000000000046}
649 *
650 * To maintain binary compatibility with COM's IUnknown, we define the IID
651 * of nsISupports to be the same as that of COM's IUnknown.
652 */
653#define NS_ISUPPORTS_IID \
654 { 0x00000000, 0x0000, 0x0000, \
655 {0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46} }
656
657/**
658 * Reference count values
659 *
660 * This is the return type for AddRef() and Release() in nsISupports.
661 * IUnknown of COM returns an unsigned long from equivalent functions.
662 * The following ifdef exists to maintain binary compatibility with
663 * IUnknown.
664 */
665
666/**
667 * Basic component object model interface. Objects which implement
668 * this interface support runtime interface discovery (QueryInterface)
669 * and a reference counted memory model (AddRef/Release). This is
670 * modelled after the win32 IUnknown API.
671 */
672struct nsISupports_vtbl {
673
674 /**
675 * @name Methods
676 */
677
678 /**
679 * A run time mechanism for interface discovery.
680 * @param aIID [in] A requested interface IID
681 * @param aInstancePtr [out] A pointer to an interface pointer to
682 * receive the result.
683 * @return NS_OK if the interface is supported by the associated
684 * instance, NS_NOINTERFACE if it is not.
685 * NS_ERROR_INVALID_POINTER if aInstancePtr is NULL.
686 */
687 nsresult (*QueryInterface)(nsISupports *pThis, const nsID *iid, void **resultp);
688 /**
689 * Increases the reference count for this interface.
690 * The associated instance will not be deleted unless
691 * the reference count is returned to zero.
692 *
693 * @return The resulting reference count.
694 */
695 nsresult (*AddRef)(nsISupports *pThis);
696
697 /**
698 * Decreases the reference count for this interface.
699 * Generally, if the reference count returns to zero,
700 * the associated instance is deleted.
701 *
702 * @return The resulting reference count.
703 */
704 nsresult (*Release)(nsISupports *pThis);
705
706};
707
708struct nsISupports {
709 struct nsISupports_vtbl *vtbl;
710};
711
712/* starting interface: nsIException */
713#define NS_IEXCEPTION_IID_STR "f3a8d3b4-c424-4edc-8bf6-8974c983ba78"
714
715#define NS_IEXCEPTION_IID \
716 {0xf3a8d3b4, 0xc424, 0x4edc, \
717 { 0x8b, 0xf6, 0x89, 0x74, 0xc9, 0x83, 0xba, 0x78 }}
718
719struct nsIException_vtbl {
720
721 /* Methods from the Class nsISupports */
722 struct nsISupports_vtbl nsisupports;
723
724 /* readonly attribute string message; */
725 nsresult (*GetMessage)(nsIException *pThis, PRUnichar * *aMessage);
726
727 /* readonly attribute nsresult (*result; */
728 nsresult (*GetResult)(nsIException *pThis, nsresult *aResult);
729
730 /* readonly attribute string name; */
731 nsresult (*GetName)(nsIException *pThis, PRUnichar * *aName);
732
733 /* readonly attribute string filename; */
734 nsresult (*GetFilename)(nsIException *pThis, PRUnichar * *aFilename);
735
736 /* readonly attribute PRUint32 lineNumber; */
737 nsresult (*GetLineNumber)(nsIException *pThis, PRUint32 *aLineNumber);
738
739 /* readonly attribute PRUint32 columnNumber; */
740 nsresult (*GetColumnNumber)(nsIException *pThis, PRUint32 *aColumnNumber);
741
742 /* readonly attribute nsIStackFrame location; */
743 nsresult (*GetLocation)(nsIException *pThis, nsIStackFrame * *aLocation);
744
745 /* readonly attribute nsIException inner; */
746 nsresult (*GetInner)(nsIException *pThis, nsIException * *aInner);
747
748 /* readonly attribute nsISupports data; */
749 nsresult (*GetData)(nsIException *pThis, nsISupports * *aData);
750
751 /* string toString (); */
752 nsresult (*ToString)(nsIException *pThis, PRUnichar **_retval);
753};
754
755struct nsIException {
756 struct nsIException_vtbl *vtbl;
757};
758
759/* starting interface: nsIStackFrame */
760#define NS_ISTACKFRAME_IID_STR "91d82105-7c62-4f8b-9779-154277c0ee90"
761
762#define NS_ISTACKFRAME_IID \
763 {0x91d82105, 0x7c62, 0x4f8b, \
764 { 0x97, 0x79, 0x15, 0x42, 0x77, 0xc0, 0xee, 0x90 }}
765
766struct nsIStackFrame_vtbl {
767
768 /* Methods from the Class nsISupports */
769 struct nsISupports_vtbl nsisupports;
770
771 /* readonly attribute PRUint32 language; */
772 nsresult (*GetLanguage)(nsIStackFrame *pThis, PRUint32 *aLanguage);
773
774 /* readonly attribute string languageName; */
775 nsresult (*GetLanguageName)(nsIStackFrame *pThis, PRUnichar * *aLanguageName);
776
777 /* readonly attribute string filename; */
778 nsresult (*GetFilename)(nsIStackFrame *pThis, PRUnichar * *aFilename);
779
780 /* readonly attribute string name; */
781 nsresult (*GetName)(nsIStackFrame *pThis, PRUnichar * *aName);
782
783 /* readonly attribute PRInt32 lineNumber; */
784 nsresult (*GetLineNumber)(nsIStackFrame *pThis, PRInt32 *aLineNumber);
785
786 /* readonly attribute string sourceLine; */
787 nsresult (*GetSourceLine)(nsIStackFrame *pThis, PRUnichar * *aSourceLine);
788
789 /* readonly attribute nsIStackFrame caller; */
790 nsresult (*GetCaller)(nsIStackFrame *pThis, nsIStackFrame * *aCaller);
791
792 /* string toString (); */
793 nsresult (*ToString)(nsIStackFrame *pThis, PRUnichar **_retval);
794};
795
796struct nsIStackFrame {
797 struct nsIStackFrame_vtbl *vtbl;
798};
799
800/* starting interface: nsIEventTarget */
801#define NS_IEVENTTARGET_IID_STR "ea99ad5b-cc67-4efb-97c9-2ef620a59f2a"
802
803#define NS_IEVENTTARGET_IID \
804 {0xea99ad5b, 0xcc67, 0x4efb, \
805 { 0x97, 0xc9, 0x2e, 0xf6, 0x20, 0xa5, 0x9f, 0x2a }}
806
807struct nsIEventTarget;
808typedef struct nsIEventTarget nsIEventTarget;
809
810struct nsIEventTarget_vtbl {
811
812 struct nsISupports_vtbl nsisupports;
813
814 nsresult (*PostEvent)(nsIEventTarget *pThis, PLEvent * aEvent);
815
816 nsresult (*IsOnCurrentThread)(nsIEventTarget *pThis, PRBool *_retval);
817
818};
819
820struct nsIEventTarget {
821 struct nsIEventTarget_vtbl *vtbl;
822};
823
824/* starting interface: nsIEventQueue */
825#define NS_IEVENTQUEUE_IID_STR "176afb41-00a4-11d3-9f2a-00400553eef0"
826
827#define NS_IEVENTQUEUE_IID \
828 {0x176afb41, 0x00a4, 0x11d3, \
829 { 0x9f, 0x2a, 0x00, 0x40, 0x05, 0x53, 0xee, 0xf0 }}
830
831struct nsIEventQueue;
832typedef struct nsIEventQueue nsIEventQueue;
833
834struct nsIEventQueue_vtbl {
835
836 struct nsIEventTarget_vtbl nsieventtarget;
837
838 nsresult (*InitEvent)(nsIEventQueue *pThis, PLEvent * aEvent, void * owner, PLHandleEventProc handler, PLDestroyEventProc destructor);
839
840 nsresult (*PostSynchronousEvent)(nsIEventQueue *pThis, PLEvent * aEvent, void * *aResult);
841
842 nsresult (*PendingEvents)(nsIEventQueue *pThis, PRBool *_retval);
843
844 nsresult (*ProcessPendingEvents)(nsIEventQueue *pThis);
845
846 nsresult (*EventLoop)(nsIEventQueue *pThis);
847
848 nsresult (*EventAvailable)(nsIEventQueue *pThis, PRBool *aResult);
849
850 nsresult (*GetEvent)(nsIEventQueue *pThis, PLEvent * *_retval);
851
852 nsresult (*HandleEvent)(nsIEventQueue *pThis, PLEvent * aEvent);
853
854 nsresult (*WaitForEvent)(nsIEventQueue *pThis, PLEvent * *_retval);
855
856 PRInt32 (*GetEventQueueSelectFD)(nsIEventQueue *pThis);
857
858 nsresult (*Init)(nsIEventQueue *pThis, PRBool aNative);
859
860 nsresult (*InitFromPRThread)(nsIEventQueue *pThis, PRThread * thread, PRBool aNative);
861
862 nsresult (*InitFromPLQueue)(nsIEventQueue *pThis, PLEventQueue * aQueue);
863
864 nsresult (*EnterMonitor)(nsIEventQueue *pThis);
865
866 nsresult (*ExitMonitor)(nsIEventQueue *pThis);
867
868 nsresult (*RevokeEvents)(nsIEventQueue *pThis, void * owner);
869
870 nsresult (*GetPLEventQueue)(nsIEventQueue *pThis, PLEventQueue * *_retval);
871
872 nsresult (*IsQueueNative)(nsIEventQueue *pThis, PRBool *_retval);
873
874 nsresult (*StopAcceptingEvents)(nsIEventQueue *pThis);
875
876};
877
878struct nsIEventQueue {
879 struct nsIEventQueue_vtbl *vtbl;
880};
881
882
883#define VBOX_E_OBJECT_NOT_FOUND 0x80BB0001
884#define VBOX_E_INVALID_VM_STATE 0x80BB0002
885#define VBOX_E_VM_ERROR 0x80BB0003
886#define VBOX_E_FILE_ERROR 0x80BB0004
887#define VBOX_E_IPRT_ERROR 0x80BB0005
888#define VBOX_E_PDM_ERROR 0x80BB0006
889#define VBOX_E_INVALID_OBJECT_STATE 0x80BB0007
890#define VBOX_E_HOST_ERROR 0x80BB0008
891#define VBOX_E_NOT_SUPPORTED 0x80BB0009
892#define VBOX_E_XML_ERROR 0x80BB000A
893#define VBOX_E_INVALID_SESSION_STATE 0x80BB000B
894#define VBOX_E_OBJECT_IN_USE 0x80BB000C
895
896
897struct IVirtualBoxErrorInfo;
898struct IDHCPServer;
899struct IVirtualBox;
900struct IVFSExplorer;
901struct IAppliance;
902struct IVirtualSystemDescription;
903struct IInternalMachineControl;
904struct IBIOSSettings;
905struct IPciAddress;
906struct IPciDeviceAttachment;
907struct IMachine;
908struct IVRDEServerInfo;
909struct IConsole;
910struct IHostNetworkInterface;
911struct IHost;
912struct ISystemProperties;
913struct IGuestOSType;
914struct IAdditionsFacility;
915struct IGuestDirEntry;
916struct IGuest;
917struct IProgress;
918struct ISnapshot;
919struct IMediumAttachment;
920struct IMedium;
921struct IMediumFormat;
922struct IKeyboard;
923struct IMouse;
924struct IFramebuffer;
925struct IFramebufferOverlay;
926struct IDisplay;
927struct INetworkAdapter;
928struct ISerialPort;
929struct IParallelPort;
930struct IMachineDebugger;
931struct IUSBController;
932struct IUSBDevice;
933struct IUSBDeviceFilter;
934struct IHostUSBDevice;
935struct IHostUSBDeviceFilter;
936struct IAudioAdapter;
937struct IVRDEServer;
938struct ISharedFolder;
939struct IInternalSessionControl;
940struct ISession;
941struct IStorageController;
942struct IManagedObjectRef;
943struct IWebsessionManager;
944struct IPerformanceMetric;
945struct IPerformanceCollector;
946struct INATEngine;
947struct IExtPackPlugIn;
948struct IExtPackBase;
949struct IExtPack;
950struct IExtPackFile;
951struct IExtPackManager;
952struct IBandwidthGroup;
953struct IBandwidthControl;
954struct IVirtualBoxClient;
955struct IEventSource;
956struct IEventListener;
957struct IEvent;
958struct IReusableEvent;
959struct IMachineEvent;
960struct IMachineStateChangedEvent;
961struct IMachineDataChangedEvent;
962struct IMediumRegisteredEvent;
963struct IMachineRegisteredEvent;
964struct ISessionStateChangedEvent;
965struct IGuestPropertyChangedEvent;
966struct ISnapshotEvent;
967struct ISnapshotTakenEvent;
968struct ISnapshotDeletedEvent;
969struct ISnapshotChangedEvent;
970struct IMousePointerShapeChangedEvent;
971struct IMouseCapabilityChangedEvent;
972struct IKeyboardLedsChangedEvent;
973struct IStateChangedEvent;
974struct IAdditionsStateChangedEvent;
975struct INetworkAdapterChangedEvent;
976struct ISerialPortChangedEvent;
977struct IParallelPortChangedEvent;
978struct IStorageControllerChangedEvent;
979struct IMediumChangedEvent;
980struct ICPUChangedEvent;
981struct ICPUExecutionCapChangedEvent;
982struct IGuestKeyboardEvent;
983struct IGuestMouseEvent;
984struct IVRDEServerChangedEvent;
985struct IVRDEServerInfoChangedEvent;
986struct IUSBControllerChangedEvent;
987struct IUSBDeviceStateChangedEvent;
988struct ISharedFolderChangedEvent;
989struct IRuntimeErrorEvent;
990struct IEventSourceChangedEvent;
991struct IExtraDataChangedEvent;
992struct IVetoEvent;
993struct IExtraDataCanChangeEvent;
994struct ICanShowWindowEvent;
995struct IShowWindowEvent;
996struct INATRedirectEvent;
997struct IHostPciDevicePlugEvent;
998struct IVBoxSVCAvailabilityChangedEvent;
999struct IBandwidthGroupChangedEvent;
1000struct IGuestMonitorChangedEvent;
1001struct IStorageDeviceChangedEvent;
1002
1003typedef struct IVirtualBoxErrorInfo IVirtualBoxErrorInfo;
1004typedef struct IDHCPServer IDHCPServer;
1005typedef struct IVirtualBox IVirtualBox;
1006typedef struct IVFSExplorer IVFSExplorer;
1007typedef struct IAppliance IAppliance;
1008typedef struct IVirtualSystemDescription IVirtualSystemDescription;
1009typedef struct IInternalMachineControl IInternalMachineControl;
1010typedef struct IBIOSSettings IBIOSSettings;
1011typedef struct IPciAddress IPciAddress;
1012typedef struct IPciDeviceAttachment IPciDeviceAttachment;
1013typedef struct IMachine IMachine;
1014typedef struct IVRDEServerInfo IVRDEServerInfo;
1015typedef struct IConsole IConsole;
1016typedef struct IHostNetworkInterface IHostNetworkInterface;
1017typedef struct IHost IHost;
1018typedef struct ISystemProperties ISystemProperties;
1019typedef struct IGuestOSType IGuestOSType;
1020typedef struct IAdditionsFacility IAdditionsFacility;
1021typedef struct IGuestDirEntry IGuestDirEntry;
1022typedef struct IGuest IGuest;
1023typedef struct IProgress IProgress;
1024typedef struct ISnapshot ISnapshot;
1025typedef struct IMediumAttachment IMediumAttachment;
1026typedef struct IMedium IMedium;
1027typedef struct IMediumFormat IMediumFormat;
1028typedef struct IKeyboard IKeyboard;
1029typedef struct IMouse IMouse;
1030typedef struct IFramebuffer IFramebuffer;
1031typedef struct IFramebufferOverlay IFramebufferOverlay;
1032typedef struct IDisplay IDisplay;
1033typedef struct INetworkAdapter INetworkAdapter;
1034typedef struct ISerialPort ISerialPort;
1035typedef struct IParallelPort IParallelPort;
1036typedef struct IMachineDebugger IMachineDebugger;
1037typedef struct IUSBController IUSBController;
1038typedef struct IUSBDevice IUSBDevice;
1039typedef struct IUSBDeviceFilter IUSBDeviceFilter;
1040typedef struct IHostUSBDevice IHostUSBDevice;
1041typedef struct IHostUSBDeviceFilter IHostUSBDeviceFilter;
1042typedef struct IAudioAdapter IAudioAdapter;
1043typedef struct IVRDEServer IVRDEServer;
1044typedef struct ISharedFolder ISharedFolder;
1045typedef struct IInternalSessionControl IInternalSessionControl;
1046typedef struct ISession ISession;
1047typedef struct IStorageController IStorageController;
1048typedef struct IManagedObjectRef IManagedObjectRef;
1049typedef struct IWebsessionManager IWebsessionManager;
1050typedef struct IPerformanceMetric IPerformanceMetric;
1051typedef struct IPerformanceCollector IPerformanceCollector;
1052typedef struct INATEngine INATEngine;
1053typedef struct IExtPackPlugIn IExtPackPlugIn;
1054typedef struct IExtPackBase IExtPackBase;
1055typedef struct IExtPack IExtPack;
1056typedef struct IExtPackFile IExtPackFile;
1057typedef struct IExtPackManager IExtPackManager;
1058typedef struct IBandwidthGroup IBandwidthGroup;
1059typedef struct IBandwidthControl IBandwidthControl;
1060typedef struct IVirtualBoxClient IVirtualBoxClient;
1061typedef struct IEventSource IEventSource;
1062typedef struct IEventListener IEventListener;
1063typedef struct IEvent IEvent;
1064typedef struct IReusableEvent IReusableEvent;
1065typedef struct IMachineEvent IMachineEvent;
1066typedef struct IMachineStateChangedEvent IMachineStateChangedEvent;
1067typedef struct IMachineDataChangedEvent IMachineDataChangedEvent;
1068typedef struct IMediumRegisteredEvent IMediumRegisteredEvent;
1069typedef struct IMachineRegisteredEvent IMachineRegisteredEvent;
1070typedef struct ISessionStateChangedEvent ISessionStateChangedEvent;
1071typedef struct IGuestPropertyChangedEvent IGuestPropertyChangedEvent;
1072typedef struct ISnapshotEvent ISnapshotEvent;
1073typedef struct ISnapshotTakenEvent ISnapshotTakenEvent;
1074typedef struct ISnapshotDeletedEvent ISnapshotDeletedEvent;
1075typedef struct ISnapshotChangedEvent ISnapshotChangedEvent;
1076typedef struct IMousePointerShapeChangedEvent IMousePointerShapeChangedEvent;
1077typedef struct IMouseCapabilityChangedEvent IMouseCapabilityChangedEvent;
1078typedef struct IKeyboardLedsChangedEvent IKeyboardLedsChangedEvent;
1079typedef struct IStateChangedEvent IStateChangedEvent;
1080typedef struct IAdditionsStateChangedEvent IAdditionsStateChangedEvent;
1081typedef struct INetworkAdapterChangedEvent INetworkAdapterChangedEvent;
1082typedef struct ISerialPortChangedEvent ISerialPortChangedEvent;
1083typedef struct IParallelPortChangedEvent IParallelPortChangedEvent;
1084typedef struct IStorageControllerChangedEvent IStorageControllerChangedEvent;
1085typedef struct IMediumChangedEvent IMediumChangedEvent;
1086typedef struct ICPUChangedEvent ICPUChangedEvent;
1087typedef struct ICPUExecutionCapChangedEvent ICPUExecutionCapChangedEvent;
1088typedef struct IGuestKeyboardEvent IGuestKeyboardEvent;
1089typedef struct IGuestMouseEvent IGuestMouseEvent;
1090typedef struct IVRDEServerChangedEvent IVRDEServerChangedEvent;
1091typedef struct IVRDEServerInfoChangedEvent IVRDEServerInfoChangedEvent;
1092typedef struct IUSBControllerChangedEvent IUSBControllerChangedEvent;
1093typedef struct IUSBDeviceStateChangedEvent IUSBDeviceStateChangedEvent;
1094typedef struct ISharedFolderChangedEvent ISharedFolderChangedEvent;
1095typedef struct IRuntimeErrorEvent IRuntimeErrorEvent;
1096typedef struct IEventSourceChangedEvent IEventSourceChangedEvent;
1097typedef struct IExtraDataChangedEvent IExtraDataChangedEvent;
1098typedef struct IVetoEvent IVetoEvent;
1099typedef struct IExtraDataCanChangeEvent IExtraDataCanChangeEvent;
1100typedef struct ICanShowWindowEvent ICanShowWindowEvent;
1101typedef struct IShowWindowEvent IShowWindowEvent;
1102typedef struct INATRedirectEvent INATRedirectEvent;
1103typedef struct IHostPciDevicePlugEvent IHostPciDevicePlugEvent;
1104typedef struct IVBoxSVCAvailabilityChangedEvent IVBoxSVCAvailabilityChangedEvent;
1105typedef struct IBandwidthGroupChangedEvent IBandwidthGroupChangedEvent;
1106typedef struct IGuestMonitorChangedEvent IGuestMonitorChangedEvent;
1107typedef struct IStorageDeviceChangedEvent IStorageDeviceChangedEvent;
1108
1109/* Start of enum SettingsVersion Declaration */
1110#define SETTINGSVERSION_IID_STR "52bd6f5f-1adb-4493-975d-581a9c4b803f"
1111#define SETTINGSVERSION_IID { \
1112 0x52bd6f5f, 0x1adb, 0x4493, \
1113 { 0x97, 0x5d, 0x58, 0x1a, 0x9c, 0x4b, 0x80, 0x3f } \
1114}
1115enum SettingsVersion
1116{
1117 SettingsVersion_Null = 0,
1118 SettingsVersion_v1_0 = 1,
1119 SettingsVersion_v1_1 = 2,
1120 SettingsVersion_v1_2 = 3,
1121 SettingsVersion_v1_3pre = 4,
1122 SettingsVersion_v1_3 = 5,
1123 SettingsVersion_v1_4 = 6,
1124 SettingsVersion_v1_5 = 7,
1125 SettingsVersion_v1_6 = 8,
1126 SettingsVersion_v1_7 = 9,
1127 SettingsVersion_v1_8 = 10,
1128 SettingsVersion_v1_9 = 11,
1129 SettingsVersion_v1_10 = 12,
1130 SettingsVersion_v1_11 = 13,
1131 SettingsVersion_v1_12 = 14,
1132 SettingsVersion_Future = 99999
1133};
1134/* End of enum SettingsVersion Declaration */
1135
1136
1137/* Start of enum AccessMode Declaration */
1138#define ACCESSMODE_IID_STR "1da0007c-ddf7-4be8-bcac-d84a1558785f"
1139#define ACCESSMODE_IID { \
1140 0x1da0007c, 0xddf7, 0x4be8, \
1141 { 0xbc, 0xac, 0xd8, 0x4a, 0x15, 0x58, 0x78, 0x5f } \
1142}
1143enum AccessMode
1144{
1145 AccessMode_ReadOnly = 1,
1146 AccessMode_ReadWrite = 2
1147};
1148/* End of enum AccessMode Declaration */
1149
1150
1151/* Start of enum MachineState Declaration */
1152#define MACHINESTATE_IID_STR "ec6c6a9e-113d-4ff4-b44f-0b69f21c97fe"
1153#define MACHINESTATE_IID { \
1154 0xec6c6a9e, 0x113d, 0x4ff4, \
1155 { 0xb4, 0x4f, 0x0b, 0x69, 0xf2, 0x1c, 0x97, 0xfe } \
1156}
1157enum MachineState
1158{
1159 MachineState_Null = 0,
1160 MachineState_PoweredOff = 1,
1161 MachineState_Saved = 2,
1162 MachineState_Teleported = 3,
1163 MachineState_Aborted = 4,
1164 MachineState_Running = 5,
1165 MachineState_Paused = 6,
1166 MachineState_Stuck = 7,
1167 MachineState_Teleporting = 8,
1168 MachineState_LiveSnapshotting = 9,
1169 MachineState_Starting = 10,
1170 MachineState_Stopping = 11,
1171 MachineState_Saving = 12,
1172 MachineState_Restoring = 13,
1173 MachineState_TeleportingPausedVM = 14,
1174 MachineState_TeleportingIn = 15,
1175 MachineState_FaultTolerantSyncing = 16,
1176 MachineState_DeletingSnapshotOnline = 17,
1177 MachineState_DeletingSnapshotPaused = 18,
1178 MachineState_RestoringSnapshot = 19,
1179 MachineState_DeletingSnapshot = 20,
1180 MachineState_SettingUp = 21,
1181 MachineState_FirstOnline = 5,
1182 MachineState_LastOnline = 18,
1183 MachineState_FirstTransient = 8,
1184 MachineState_LastTransient = 21
1185};
1186/* End of enum MachineState Declaration */
1187
1188
1189/* Start of enum SessionState Declaration */
1190#define SESSIONSTATE_IID_STR "cf2700c0-ea4b-47ae-9725-7810114b94d8"
1191#define SESSIONSTATE_IID { \
1192 0xcf2700c0, 0xea4b, 0x47ae, \
1193 { 0x97, 0x25, 0x78, 0x10, 0x11, 0x4b, 0x94, 0xd8 } \
1194}
1195enum SessionState
1196{
1197 SessionState_Null = 0,
1198 SessionState_Unlocked = 1,
1199 SessionState_Locked = 2,
1200 SessionState_Spawning = 3,
1201 SessionState_Unlocking = 4
1202};
1203/* End of enum SessionState Declaration */
1204
1205
1206/* Start of enum CPUPropertyType Declaration */
1207#define CPUPROPERTYTYPE_IID_STR "24d356a6-2f45-4abd-b977-1cbe9c4701f5"
1208#define CPUPROPERTYTYPE_IID { \
1209 0x24d356a6, 0x2f45, 0x4abd, \
1210 { 0xb9, 0x77, 0x1c, 0xbe, 0x9c, 0x47, 0x01, 0xf5 } \
1211}
1212enum CPUPropertyType
1213{
1214 CPUPropertyType_Null = 0,
1215 CPUPropertyType_PAE = 1,
1216 CPUPropertyType_Synthetic = 2
1217};
1218/* End of enum CPUPropertyType Declaration */
1219
1220
1221/* Start of enum HWVirtExPropertyType Declaration */
1222#define HWVIRTEXPROPERTYTYPE_IID_STR "ce81dfdd-d2b8-4a90-bbea-40ee8b7ffcee"
1223#define HWVIRTEXPROPERTYTYPE_IID { \
1224 0xce81dfdd, 0xd2b8, 0x4a90, \
1225 { 0xbb, 0xea, 0x40, 0xee, 0x8b, 0x7f, 0xfc, 0xee } \
1226}
1227enum HWVirtExPropertyType
1228{
1229 HWVirtExPropertyType_Null = 0,
1230 HWVirtExPropertyType_Enabled = 1,
1231 HWVirtExPropertyType_Exclusive = 2,
1232 HWVirtExPropertyType_VPID = 3,
1233 HWVirtExPropertyType_NestedPaging = 4,
1234 HWVirtExPropertyType_LargePages = 5,
1235 HWVirtExPropertyType_Force = 6
1236};
1237/* End of enum HWVirtExPropertyType Declaration */
1238
1239
1240/* Start of enum FaultToleranceState Declaration */
1241#define FAULTTOLERANCESTATE_IID_STR "5124f7ec-6b67-493c-9dee-ee45a44114e1"
1242#define FAULTTOLERANCESTATE_IID { \
1243 0x5124f7ec, 0x6b67, 0x493c, \
1244 { 0x9d, 0xee, 0xee, 0x45, 0xa4, 0x41, 0x14, 0xe1 } \
1245}
1246enum FaultToleranceState
1247{
1248 FaultToleranceState_Inactive = 1,
1249 FaultToleranceState_Master = 2,
1250 FaultToleranceState_Standby = 3
1251};
1252/* End of enum FaultToleranceState Declaration */
1253
1254
1255/* Start of enum LockType Declaration */
1256#define LOCKTYPE_IID_STR "138b53f8-db4b-47c5-b32b-4ef52f769413"
1257#define LOCKTYPE_IID { \
1258 0x138b53f8, 0xdb4b, 0x47c5, \
1259 { 0xb3, 0x2b, 0x4e, 0xf5, 0x2f, 0x76, 0x94, 0x13 } \
1260}
1261enum LockType
1262{
1263 LockType_Write = 2,
1264 LockType_Shared = 1
1265};
1266/* End of enum LockType Declaration */
1267
1268
1269/* Start of enum SessionType Declaration */
1270#define SESSIONTYPE_IID_STR "A13C02CB-0C2C-421E-8317-AC0E8AAA153A"
1271#define SESSIONTYPE_IID { \
1272 0xA13C02CB, 0x0C2C, 0x421E, \
1273 { 0x83, 0x17, 0xAC, 0x0E, 0x8A, 0xAA, 0x15, 0x3A } \
1274}
1275enum SessionType
1276{
1277 SessionType_Null = 0,
1278 SessionType_WriteLock = 1,
1279 SessionType_Remote = 2,
1280 SessionType_Shared = 3
1281};
1282/* End of enum SessionType Declaration */
1283
1284
1285/* Start of enum DeviceType Declaration */
1286#define DEVICETYPE_IID_STR "6d9420f7-0b56-4636-99f9-7346f1b01e57"
1287#define DEVICETYPE_IID { \
1288 0x6d9420f7, 0x0b56, 0x4636, \
1289 { 0x99, 0xf9, 0x73, 0x46, 0xf1, 0xb0, 0x1e, 0x57 } \
1290}
1291enum DeviceType
1292{
1293 DeviceType_Null = 0,
1294 DeviceType_Floppy = 1,
1295 DeviceType_DVD = 2,
1296 DeviceType_HardDisk = 3,
1297 DeviceType_Network = 4,
1298 DeviceType_USB = 5,
1299 DeviceType_SharedFolder = 6
1300};
1301/* End of enum DeviceType Declaration */
1302
1303
1304/* Start of enum DeviceActivity Declaration */
1305#define DEVICEACTIVITY_IID_STR "6FC8AEAA-130A-4eb5-8954-3F921422D707"
1306#define DEVICEACTIVITY_IID { \
1307 0x6FC8AEAA, 0x130A, 0x4eb5, \
1308 { 0x89, 0x54, 0x3F, 0x92, 0x14, 0x22, 0xD7, 0x07 } \
1309}
1310enum DeviceActivity
1311{
1312 DeviceActivity_Null = 0,
1313 DeviceActivity_Idle = 1,
1314 DeviceActivity_Reading = 2,
1315 DeviceActivity_Writing = 3
1316};
1317/* End of enum DeviceActivity Declaration */
1318
1319
1320/* Start of enum ClipboardMode Declaration */
1321#define CLIPBOARDMODE_IID_STR "33364716-4008-4701-8f14-be0fa3d62950"
1322#define CLIPBOARDMODE_IID { \
1323 0x33364716, 0x4008, 0x4701, \
1324 { 0x8f, 0x14, 0xbe, 0x0f, 0xa3, 0xd6, 0x29, 0x50 } \
1325}
1326enum ClipboardMode
1327{
1328 ClipboardMode_Disabled = 0,
1329 ClipboardMode_HostToGuest = 1,
1330 ClipboardMode_GuestToHost = 2,
1331 ClipboardMode_Bidirectional = 3
1332};
1333/* End of enum ClipboardMode Declaration */
1334
1335
1336/* Start of enum Scope Declaration */
1337#define SCOPE_IID_STR "7c91096e-499e-4eca-9f9b-9001438d7855"
1338#define SCOPE_IID { \
1339 0x7c91096e, 0x499e, 0x4eca, \
1340 { 0x9f, 0x9b, 0x90, 0x01, 0x43, 0x8d, 0x78, 0x55 } \
1341}
1342enum Scope
1343{
1344 Scope_Global = 0,
1345 Scope_Machine = 1,
1346 Scope_Session = 2
1347};
1348/* End of enum Scope Declaration */
1349
1350
1351/* Start of enum BIOSBootMenuMode Declaration */
1352#define BIOSBOOTMENUMODE_IID_STR "ae4fb9f7-29d2-45b4-b2c7-d579603135d5"
1353#define BIOSBOOTMENUMODE_IID { \
1354 0xae4fb9f7, 0x29d2, 0x45b4, \
1355 { 0xb2, 0xc7, 0xd5, 0x79, 0x60, 0x31, 0x35, 0xd5 } \
1356}
1357enum BIOSBootMenuMode
1358{
1359 BIOSBootMenuMode_Disabled = 0,
1360 BIOSBootMenuMode_MenuOnly = 1,
1361 BIOSBootMenuMode_MessageAndMenu = 2
1362};
1363/* End of enum BIOSBootMenuMode Declaration */
1364
1365
1366/* Start of enum ProcessorFeature Declaration */
1367#define PROCESSORFEATURE_IID_STR "64c38e6b-8bcf-45ad-ac03-9b406287c5bf"
1368#define PROCESSORFEATURE_IID { \
1369 0x64c38e6b, 0x8bcf, 0x45ad, \
1370 { 0xac, 0x03, 0x9b, 0x40, 0x62, 0x87, 0xc5, 0xbf } \
1371}
1372enum ProcessorFeature
1373{
1374 ProcessorFeature_HWVirtEx = 0,
1375 ProcessorFeature_PAE = 1,
1376 ProcessorFeature_LongMode = 2,
1377 ProcessorFeature_NestedPaging = 3
1378};
1379/* End of enum ProcessorFeature Declaration */
1380
1381
1382/* Start of enum FirmwareType Declaration */
1383#define FIRMWARETYPE_IID_STR "b903f264-c230-483e-ac74-2b37ce60d371"
1384#define FIRMWARETYPE_IID { \
1385 0xb903f264, 0xc230, 0x483e, \
1386 { 0xac, 0x74, 0x2b, 0x37, 0xce, 0x60, 0xd3, 0x71 } \
1387}
1388enum FirmwareType
1389{
1390 FirmwareType_BIOS = 1,
1391 FirmwareType_EFI = 2,
1392 FirmwareType_EFI32 = 3,
1393 FirmwareType_EFI64 = 4,
1394 FirmwareType_EFIDUAL = 5
1395};
1396/* End of enum FirmwareType Declaration */
1397
1398
1399/* Start of enum PointingHidType Declaration */
1400#define POINTINGHIDTYPE_IID_STR "0d3c17a2-821a-4b2e-ae41-890c6c60aa97"
1401#define POINTINGHIDTYPE_IID { \
1402 0x0d3c17a2, 0x821a, 0x4b2e, \
1403 { 0xae, 0x41, 0x89, 0x0c, 0x6c, 0x60, 0xaa, 0x97 } \
1404}
1405enum PointingHidType
1406{
1407 PointingHidType_None = 1,
1408 PointingHidType_PS2Mouse = 2,
1409 PointingHidType_USBMouse = 3,
1410 PointingHidType_USBTablet = 4,
1411 PointingHidType_ComboMouse = 5
1412};
1413/* End of enum PointingHidType Declaration */
1414
1415
1416/* Start of enum KeyboardHidType Declaration */
1417#define KEYBOARDHIDTYPE_IID_STR "5a5b0996-3a3e-44bb-9019-56979812cbcc"
1418#define KEYBOARDHIDTYPE_IID { \
1419 0x5a5b0996, 0x3a3e, 0x44bb, \
1420 { 0x90, 0x19, 0x56, 0x97, 0x98, 0x12, 0xcb, 0xcc } \
1421}
1422enum KeyboardHidType
1423{
1424 KeyboardHidType_None = 1,
1425 KeyboardHidType_PS2Keyboard = 2,
1426 KeyboardHidType_USBKeyboard = 3,
1427 KeyboardHidType_ComboKeyboard = 4
1428};
1429/* End of enum KeyboardHidType Declaration */
1430
1431
1432/* Start of enum VFSType Declaration */
1433#define VFSTYPE_IID_STR "813999ba-b949-48a8-9230-aadc6285e2f2"
1434#define VFSTYPE_IID { \
1435 0x813999ba, 0xb949, 0x48a8, \
1436 { 0x92, 0x30, 0xaa, 0xdc, 0x62, 0x85, 0xe2, 0xf2 } \
1437}
1438enum VFSType
1439{
1440 VFSType_File = 1,
1441 VFSType_Cloud = 2,
1442 VFSType_S3 = 3,
1443 VFSType_WebDav = 4
1444};
1445/* End of enum VFSType Declaration */
1446
1447
1448/* Start of enum VFSFileType Declaration */
1449#define VFSFILETYPE_IID_STR "714333cd-44e2-415f-a245-d378fa9b1242"
1450#define VFSFILETYPE_IID { \
1451 0x714333cd, 0x44e2, 0x415f, \
1452 { 0xa2, 0x45, 0xd3, 0x78, 0xfa, 0x9b, 0x12, 0x42 } \
1453}
1454enum VFSFileType
1455{
1456 VFSFileType_Unknown = 1,
1457 VFSFileType_Fifo = 2,
1458 VFSFileType_DevChar = 3,
1459 VFSFileType_Directory = 4,
1460 VFSFileType_DevBlock = 5,
1461 VFSFileType_File = 6,
1462 VFSFileType_SymLink = 7,
1463 VFSFileType_Socket = 8,
1464 VFSFileType_WhiteOut = 9
1465};
1466/* End of enum VFSFileType Declaration */
1467
1468
1469/* Start of enum ImportOptions Declaration */
1470#define IMPORTOPTIONS_IID_STR "0a981523-3b20-4004-8ee3-dfd322202ace"
1471#define IMPORTOPTIONS_IID { \
1472 0x0a981523, 0x3b20, 0x4004, \
1473 { 0x8e, 0xe3, 0xdf, 0xd3, 0x22, 0x20, 0x2a, 0xce } \
1474}
1475enum ImportOptions
1476{
1477 ImportOptions_KeepAllMACs = 1,
1478 ImportOptions_KeepNATMACs = 2
1479};
1480/* End of enum ImportOptions Declaration */
1481
1482
1483/* Start of enum VirtualSystemDescriptionType Declaration */
1484#define VIRTUALSYSTEMDESCRIPTIONTYPE_IID_STR "303c0900-a746-4612-8c67-79003e91f459"
1485#define VIRTUALSYSTEMDESCRIPTIONTYPE_IID { \
1486 0x303c0900, 0xa746, 0x4612, \
1487 { 0x8c, 0x67, 0x79, 0x00, 0x3e, 0x91, 0xf4, 0x59 } \
1488}
1489enum VirtualSystemDescriptionType
1490{
1491 VirtualSystemDescriptionType_Ignore = 1,
1492 VirtualSystemDescriptionType_OS = 2,
1493 VirtualSystemDescriptionType_Name = 3,
1494 VirtualSystemDescriptionType_Product = 4,
1495 VirtualSystemDescriptionType_Vendor = 5,
1496 VirtualSystemDescriptionType_Version = 6,
1497 VirtualSystemDescriptionType_ProductUrl = 7,
1498 VirtualSystemDescriptionType_VendorUrl = 8,
1499 VirtualSystemDescriptionType_Description = 9,
1500 VirtualSystemDescriptionType_License = 10,
1501 VirtualSystemDescriptionType_Miscellaneous = 11,
1502 VirtualSystemDescriptionType_CPU = 12,
1503 VirtualSystemDescriptionType_Memory = 13,
1504 VirtualSystemDescriptionType_HardDiskControllerIDE = 14,
1505 VirtualSystemDescriptionType_HardDiskControllerSATA = 15,
1506 VirtualSystemDescriptionType_HardDiskControllerSCSI = 16,
1507 VirtualSystemDescriptionType_HardDiskControllerSAS = 17,
1508 VirtualSystemDescriptionType_HardDiskImage = 18,
1509 VirtualSystemDescriptionType_Floppy = 19,
1510 VirtualSystemDescriptionType_CDROM = 20,
1511 VirtualSystemDescriptionType_NetworkAdapter = 21,
1512 VirtualSystemDescriptionType_USBController = 22,
1513 VirtualSystemDescriptionType_SoundCard = 23,
1514 VirtualSystemDescriptionType_SettingsFile = 24
1515};
1516/* End of enum VirtualSystemDescriptionType Declaration */
1517
1518
1519/* Start of enum VirtualSystemDescriptionValueType Declaration */
1520#define VIRTUALSYSTEMDESCRIPTIONVALUETYPE_IID_STR "56d9403f-3425-4118-9919-36f2a9b8c77c"
1521#define VIRTUALSYSTEMDESCRIPTIONVALUETYPE_IID { \
1522 0x56d9403f, 0x3425, 0x4118, \
1523 { 0x99, 0x19, 0x36, 0xf2, 0xa9, 0xb8, 0xc7, 0x7c } \
1524}
1525enum VirtualSystemDescriptionValueType
1526{
1527 VirtualSystemDescriptionValueType_Reference = 1,
1528 VirtualSystemDescriptionValueType_Original = 2,
1529 VirtualSystemDescriptionValueType_Auto = 3,
1530 VirtualSystemDescriptionValueType_ExtraConfig = 4
1531};
1532/* End of enum VirtualSystemDescriptionValueType Declaration */
1533
1534
1535/* Start of enum CleanupMode Declaration */
1536#define CLEANUPMODE_IID_STR "67897c50-7cca-47a9-83f6-ce8fd8eb5441"
1537#define CLEANUPMODE_IID { \
1538 0x67897c50, 0x7cca, 0x47a9, \
1539 { 0x83, 0xf6, 0xce, 0x8f, 0xd8, 0xeb, 0x54, 0x41 } \
1540}
1541enum CleanupMode
1542{
1543 CleanupMode_UnregisterOnly = 1,
1544 CleanupMode_DetachAllReturnNone = 2,
1545 CleanupMode_DetachAllReturnHardDisksOnly = 3,
1546 CleanupMode_Full = 4
1547};
1548/* End of enum CleanupMode Declaration */
1549
1550
1551/* Start of enum CloneMode Declaration */
1552#define CLONEMODE_IID_STR "A7A159FE-5096-4B8D-8C3C-D033CB0B35A8"
1553#define CLONEMODE_IID { \
1554 0xA7A159FE, 0x5096, 0x4B8D, \
1555 { 0x8C, 0x3C, 0xD0, 0x33, 0xCB, 0x0B, 0x35, 0xA8 } \
1556}
1557enum CloneMode
1558{
1559 CloneMode_MachineState = 1,
1560 CloneMode_MachineAndChildStates = 2,
1561 CloneMode_AllStates = 3
1562};
1563/* End of enum CloneMode Declaration */
1564
1565
1566/* Start of enum CloneOptions Declaration */
1567#define CLONEOPTIONS_IID_STR "22243f8e-96ab-497c-8cf0-f40a566c630b"
1568#define CLONEOPTIONS_IID { \
1569 0x22243f8e, 0x96ab, 0x497c, \
1570 { 0x8c, 0xf0, 0xf4, 0x0a, 0x56, 0x6c, 0x63, 0x0b } \
1571}
1572enum CloneOptions
1573{
1574 CloneOptions_Link = 1,
1575 CloneOptions_KeepAllMACs = 2,
1576 CloneOptions_KeepNATMACs = 3,
1577 CloneOptions_KeepDiskNames = 4
1578};
1579/* End of enum CloneOptions Declaration */
1580
1581
1582/* Start of enum HostNetworkInterfaceMediumType Declaration */
1583#define HOSTNETWORKINTERFACEMEDIUMTYPE_IID_STR "1aa54aaf-2497-45a2-bfb1-8eb225e93d5b"
1584#define HOSTNETWORKINTERFACEMEDIUMTYPE_IID { \
1585 0x1aa54aaf, 0x2497, 0x45a2, \
1586 { 0xbf, 0xb1, 0x8e, 0xb2, 0x25, 0xe9, 0x3d, 0x5b } \
1587}
1588enum HostNetworkInterfaceMediumType
1589{
1590 HostNetworkInterfaceMediumType_Unknown = 0,
1591 HostNetworkInterfaceMediumType_Ethernet = 1,
1592 HostNetworkInterfaceMediumType_PPP = 2,
1593 HostNetworkInterfaceMediumType_SLIP = 3
1594};
1595/* End of enum HostNetworkInterfaceMediumType Declaration */
1596
1597
1598/* Start of enum HostNetworkInterfaceStatus Declaration */
1599#define HOSTNETWORKINTERFACESTATUS_IID_STR "CC474A69-2710-434B-8D99-C38E5D5A6F41"
1600#define HOSTNETWORKINTERFACESTATUS_IID { \
1601 0xCC474A69, 0x2710, 0x434B, \
1602 { 0x8D, 0x99, 0xC3, 0x8E, 0x5D, 0x5A, 0x6F, 0x41 } \
1603}
1604enum HostNetworkInterfaceStatus
1605{
1606 HostNetworkInterfaceStatus_Unknown = 0,
1607 HostNetworkInterfaceStatus_Up = 1,
1608 HostNetworkInterfaceStatus_Down = 2
1609};
1610/* End of enum HostNetworkInterfaceStatus Declaration */
1611
1612
1613/* Start of enum HostNetworkInterfaceType Declaration */
1614#define HOSTNETWORKINTERFACETYPE_IID_STR "67431b00-9946-48a2-bc02-b25c5919f4f3"
1615#define HOSTNETWORKINTERFACETYPE_IID { \
1616 0x67431b00, 0x9946, 0x48a2, \
1617 { 0xbc, 0x02, 0xb2, 0x5c, 0x59, 0x19, 0xf4, 0xf3 } \
1618}
1619enum HostNetworkInterfaceType
1620{
1621 HostNetworkInterfaceType_Bridged = 1,
1622 HostNetworkInterfaceType_HostOnly = 2
1623};
1624/* End of enum HostNetworkInterfaceType Declaration */
1625
1626
1627/* Start of enum AdditionsFacilityType Declaration */
1628#define ADDITIONSFACILITYTYPE_IID_STR "98f7f957-89fb-49b6-a3b1-31e3285eb1d8"
1629#define ADDITIONSFACILITYTYPE_IID { \
1630 0x98f7f957, 0x89fb, 0x49b6, \
1631 { 0xa3, 0xb1, 0x31, 0xe3, 0x28, 0x5e, 0xb1, 0xd8 } \
1632}
1633enum AdditionsFacilityType
1634{
1635 AdditionsFacilityType_None = 0,
1636 AdditionsFacilityType_VBoxGuestDriver = 20,
1637 AdditionsFacilityType_VBoxService = 100,
1638 AdditionsFacilityType_VBoxTrayClient = 101,
1639 AdditionsFacilityType_Seamless = 1000,
1640 AdditionsFacilityType_Graphics = 1100,
1641 AdditionsFacilityType_All = 2147483646
1642};
1643/* End of enum AdditionsFacilityType Declaration */
1644
1645
1646/* Start of enum AdditionsFacilityClass Declaration */
1647#define ADDITIONSFACILITYCLASS_IID_STR "446451b2-c88d-4e5d-84c9-91bc7f533f5f"
1648#define ADDITIONSFACILITYCLASS_IID { \
1649 0x446451b2, 0xc88d, 0x4e5d, \
1650 { 0x84, 0xc9, 0x91, 0xbc, 0x7f, 0x53, 0x3f, 0x5f } \
1651}
1652enum AdditionsFacilityClass
1653{
1654 AdditionsFacilityClass_None = 0,
1655 AdditionsFacilityClass_Driver = 10,
1656 AdditionsFacilityClass_Service = 30,
1657 AdditionsFacilityClass_Program = 50,
1658 AdditionsFacilityClass_Feature = 100,
1659 AdditionsFacilityClass_ThirdParty = 999,
1660 AdditionsFacilityClass_All = 2147483646
1661};
1662/* End of enum AdditionsFacilityClass Declaration */
1663
1664
1665/* Start of enum AdditionsFacilityStatus Declaration */
1666#define ADDITIONSFACILITYSTATUS_IID_STR "ce06f9e1-394e-4fe9-9368-5a88c567dbde"
1667#define ADDITIONSFACILITYSTATUS_IID { \
1668 0xce06f9e1, 0x394e, 0x4fe9, \
1669 { 0x93, 0x68, 0x5a, 0x88, 0xc5, 0x67, 0xdb, 0xde } \
1670}
1671enum AdditionsFacilityStatus
1672{
1673 AdditionsFacilityStatus_Inactive = 0,
1674 AdditionsFacilityStatus_Paused = 1,
1675 AdditionsFacilityStatus_PreInit = 20,
1676 AdditionsFacilityStatus_Init = 30,
1677 AdditionsFacilityStatus_Active = 50,
1678 AdditionsFacilityStatus_Terminating = 100,
1679 AdditionsFacilityStatus_Terminated = 101,
1680 AdditionsFacilityStatus_Failed = 800,
1681 AdditionsFacilityStatus_Unknown = 999
1682};
1683/* End of enum AdditionsFacilityStatus Declaration */
1684
1685
1686/* Start of enum AdditionsRunLevelType Declaration */
1687#define ADDITIONSRUNLEVELTYPE_IID_STR "a25417ee-a9dd-4f5b-b0dc-377860087754"
1688#define ADDITIONSRUNLEVELTYPE_IID { \
1689 0xa25417ee, 0xa9dd, 0x4f5b, \
1690 { 0xb0, 0xdc, 0x37, 0x78, 0x60, 0x08, 0x77, 0x54 } \
1691}
1692enum AdditionsRunLevelType
1693{
1694 AdditionsRunLevelType_None = 0,
1695 AdditionsRunLevelType_System = 1,
1696 AdditionsRunLevelType_Userland = 2,
1697 AdditionsRunLevelType_Desktop = 3
1698};
1699/* End of enum AdditionsRunLevelType Declaration */
1700
1701
1702/* Start of enum AdditionsUpdateFlag Declaration */
1703#define ADDITIONSUPDATEFLAG_IID_STR "726a818d-18d6-4389-94e8-3e9e6826171a"
1704#define ADDITIONSUPDATEFLAG_IID { \
1705 0x726a818d, 0x18d6, 0x4389, \
1706 { 0x94, 0xe8, 0x3e, 0x9e, 0x68, 0x26, 0x17, 0x1a } \
1707}
1708enum AdditionsUpdateFlag
1709{
1710 AdditionsUpdateFlag_None = 0,
1711 AdditionsUpdateFlag_WaitForUpdateStartOnly = 1
1712};
1713/* End of enum AdditionsUpdateFlag Declaration */
1714
1715
1716/* Start of enum ExecuteProcessFlag Declaration */
1717#define EXECUTEPROCESSFLAG_IID_STR "286ceb91-5f66-4c96-9845-4483e90e00ae"
1718#define EXECUTEPROCESSFLAG_IID { \
1719 0x286ceb91, 0x5f66, 0x4c96, \
1720 { 0x98, 0x45, 0x44, 0x83, 0xe9, 0x0e, 0x00, 0xae } \
1721}
1722enum ExecuteProcessFlag
1723{
1724 ExecuteProcessFlag_None = 0,
1725 ExecuteProcessFlag_WaitForProcessStartOnly = 1,
1726 ExecuteProcessFlag_IgnoreOrphanedProcesses = 2,
1727 ExecuteProcessFlag_Hidden = 4,
1728 ExecuteProcessFlag_NoProfile = 8,
1729 ExecuteProcessFlag_WaitForStdOut = 16,
1730 ExecuteProcessFlag_WaitForStdErr = 32
1731};
1732/* End of enum ExecuteProcessFlag Declaration */
1733
1734
1735/* Start of enum ExecuteProcessStatus Declaration */
1736#define EXECUTEPROCESSSTATUS_IID_STR "153768d9-d971-4098-8b5a-c5cb1ab9ea88"
1737#define EXECUTEPROCESSSTATUS_IID { \
1738 0x153768d9, 0xd971, 0x4098, \
1739 { 0x8b, 0x5a, 0xc5, 0xcb, 0x1a, 0xb9, 0xea, 0x88 } \
1740}
1741enum ExecuteProcessStatus
1742{
1743 ExecuteProcessStatus_Undefined = 0,
1744 ExecuteProcessStatus_Started = 1,
1745 ExecuteProcessStatus_TerminatedNormally = 2,
1746 ExecuteProcessStatus_TerminatedSignal = 3,
1747 ExecuteProcessStatus_TerminatedAbnormally = 4,
1748 ExecuteProcessStatus_TimedOutKilled = 5,
1749 ExecuteProcessStatus_TimedOutAbnormally = 6,
1750 ExecuteProcessStatus_Down = 7,
1751 ExecuteProcessStatus_Error = 8
1752};
1753/* End of enum ExecuteProcessStatus Declaration */
1754
1755
1756/* Start of enum ProcessInputFlag Declaration */
1757#define PROCESSINPUTFLAG_IID_STR "5d38c1dd-2604-4ddf-92e5-0c0cdd3bdbd5"
1758#define PROCESSINPUTFLAG_IID { \
1759 0x5d38c1dd, 0x2604, 0x4ddf, \
1760 { 0x92, 0xe5, 0x0c, 0x0c, 0xdd, 0x3b, 0xdb, 0xd5 } \
1761}
1762enum ProcessInputFlag
1763{
1764 ProcessInputFlag_None = 0,
1765 ProcessInputFlag_EndOfFile = 1
1766};
1767/* End of enum ProcessInputFlag Declaration */
1768
1769
1770/* Start of enum ProcessOutputFlag Declaration */
1771#define PROCESSOUTPUTFLAG_IID_STR "9979e85a-52bb-40b7-870c-57115e27e0f1"
1772#define PROCESSOUTPUTFLAG_IID { \
1773 0x9979e85a, 0x52bb, 0x40b7, \
1774 { 0x87, 0x0c, 0x57, 0x11, 0x5e, 0x27, 0xe0, 0xf1 } \
1775}
1776enum ProcessOutputFlag
1777{
1778 ProcessOutputFlag_None = 0,
1779 ProcessOutputFlag_StdErr = 1
1780};
1781/* End of enum ProcessOutputFlag Declaration */
1782
1783
1784/* Start of enum CopyFileFlag Declaration */
1785#define COPYFILEFLAG_IID_STR "23f79fdf-738a-493d-b80b-42d607c9b916"
1786#define COPYFILEFLAG_IID { \
1787 0x23f79fdf, 0x738a, 0x493d, \
1788 { 0xb8, 0x0b, 0x42, 0xd6, 0x07, 0xc9, 0xb9, 0x16 } \
1789}
1790enum CopyFileFlag
1791{
1792 CopyFileFlag_None = 0,
1793 CopyFileFlag_Recursive = 1,
1794 CopyFileFlag_Update = 2,
1795 CopyFileFlag_FollowLinks = 4
1796};
1797/* End of enum CopyFileFlag Declaration */
1798
1799
1800/* Start of enum DirectoryCreateFlag Declaration */
1801#define DIRECTORYCREATEFLAG_IID_STR "bd721b0e-ced5-4f79-b368-249897c32a36"
1802#define DIRECTORYCREATEFLAG_IID { \
1803 0xbd721b0e, 0xced5, 0x4f79, \
1804 { 0xb3, 0x68, 0x24, 0x98, 0x97, 0xc3, 0x2a, 0x36 } \
1805}
1806enum DirectoryCreateFlag
1807{
1808 DirectoryCreateFlag_None = 0,
1809 DirectoryCreateFlag_Parents = 1
1810};
1811/* End of enum DirectoryCreateFlag Declaration */
1812
1813
1814/* Start of enum DirectoryOpenFlag Declaration */
1815#define DIRECTORYOPENFLAG_IID_STR "fc8f6203-0072-4f34-bd08-0b35e50bf071"
1816#define DIRECTORYOPENFLAG_IID { \
1817 0xfc8f6203, 0x0072, 0x4f34, \
1818 { 0xbd, 0x08, 0x0b, 0x35, 0xe5, 0x0b, 0xf0, 0x71 } \
1819}
1820enum DirectoryOpenFlag
1821{
1822 DirectoryOpenFlag_None = 0
1823};
1824/* End of enum DirectoryOpenFlag Declaration */
1825
1826
1827/* Start of enum GuestDirEntryType Declaration */
1828#define GUESTDIRENTRYTYPE_IID_STR "6d19d924-1b77-4fc8-b369-a3b2c85c8241"
1829#define GUESTDIRENTRYTYPE_IID { \
1830 0x6d19d924, 0x1b77, 0x4fc8, \
1831 { 0xb3, 0x69, 0xa3, 0xb2, 0xc8, 0x5c, 0x82, 0x41 } \
1832}
1833enum GuestDirEntryType
1834{
1835 GuestDirEntryType_Unknown = 0,
1836 GuestDirEntryType_Directory = 4,
1837 GuestDirEntryType_File = 10,
1838 GuestDirEntryType_Symlink = 12
1839};
1840/* End of enum GuestDirEntryType Declaration */
1841
1842
1843/* Start of enum MediumState Declaration */
1844#define MEDIUMSTATE_IID_STR "ef41e980-e012-43cd-9dea-479d4ef14d13"
1845#define MEDIUMSTATE_IID { \
1846 0xef41e980, 0xe012, 0x43cd, \
1847 { 0x9d, 0xea, 0x47, 0x9d, 0x4e, 0xf1, 0x4d, 0x13 } \
1848}
1849enum MediumState
1850{
1851 MediumState_NotCreated = 0,
1852 MediumState_Created = 1,
1853 MediumState_LockedRead = 2,
1854 MediumState_LockedWrite = 3,
1855 MediumState_Inaccessible = 4,
1856 MediumState_Creating = 5,
1857 MediumState_Deleting = 6
1858};
1859/* End of enum MediumState Declaration */
1860
1861
1862/* Start of enum MediumType Declaration */
1863#define MEDIUMTYPE_IID_STR "fe663fb5-c244-4e1b-9d81-c628b417dd04"
1864#define MEDIUMTYPE_IID { \
1865 0xfe663fb5, 0xc244, 0x4e1b, \
1866 { 0x9d, 0x81, 0xc6, 0x28, 0xb4, 0x17, 0xdd, 0x04 } \
1867}
1868enum MediumType
1869{
1870 MediumType_Normal = 0,
1871 MediumType_Immutable = 1,
1872 MediumType_Writethrough = 2,
1873 MediumType_Shareable = 3,
1874 MediumType_Readonly = 4,
1875 MediumType_MultiAttach = 5
1876};
1877/* End of enum MediumType Declaration */
1878
1879
1880/* Start of enum MediumVariant Declaration */
1881#define MEDIUMVARIANT_IID_STR "584ea502-143b-4ab0-ad14-d1028fdf0316"
1882#define MEDIUMVARIANT_IID { \
1883 0x584ea502, 0x143b, 0x4ab0, \
1884 { 0xad, 0x14, 0xd1, 0x02, 0x8f, 0xdf, 0x03, 0x16 } \
1885}
1886enum MediumVariant
1887{
1888 MediumVariant_Standard = 0,
1889 MediumVariant_VmdkSplit2G = 0x01,
1890 MediumVariant_VmdkStreamOptimized = 0x04,
1891 MediumVariant_VmdkESX = 0x08,
1892 MediumVariant_Fixed = 0x10000,
1893 MediumVariant_Diff = 0x20000,
1894 MediumVariant_NoCreateDir = 0x40000000
1895};
1896/* End of enum MediumVariant Declaration */
1897
1898
1899/* Start of enum DataType Declaration */
1900#define DATATYPE_IID_STR "d90ea51e-a3f1-4a01-beb1-c1723c0d3ba7"
1901#define DATATYPE_IID { \
1902 0xd90ea51e, 0xa3f1, 0x4a01, \
1903 { 0xbe, 0xb1, 0xc1, 0x72, 0x3c, 0x0d, 0x3b, 0xa7 } \
1904}
1905enum DataType
1906{
1907 DataType_Int32 = 0,
1908 DataType_Int8 = 1,
1909 DataType_String = 2
1910};
1911/* End of enum DataType Declaration */
1912
1913
1914/* Start of enum DataFlags Declaration */
1915#define DATAFLAGS_IID_STR "86884dcf-1d6b-4f1b-b4bf-f5aa44959d60"
1916#define DATAFLAGS_IID { \
1917 0x86884dcf, 0x1d6b, 0x4f1b, \
1918 { 0xb4, 0xbf, 0xf5, 0xaa, 0x44, 0x95, 0x9d, 0x60 } \
1919}
1920enum DataFlags
1921{
1922 DataFlags_None = 0x00,
1923 DataFlags_Mandatory = 0x01,
1924 DataFlags_Expert = 0x02,
1925 DataFlags_Array = 0x04,
1926 DataFlags_FlagMask = 0x07
1927};
1928/* End of enum DataFlags Declaration */
1929
1930
1931/* Start of enum MediumFormatCapabilities Declaration */
1932#define MEDIUMFORMATCAPABILITIES_IID_STR "7342ba79-7ce0-4d94-8f86-5ed5a185d9bd"
1933#define MEDIUMFORMATCAPABILITIES_IID { \
1934 0x7342ba79, 0x7ce0, 0x4d94, \
1935 { 0x8f, 0x86, 0x5e, 0xd5, 0xa1, 0x85, 0xd9, 0xbd } \
1936}
1937enum MediumFormatCapabilities
1938{
1939 MediumFormatCapabilities_Uuid = 0x01,
1940 MediumFormatCapabilities_CreateFixed = 0x02,
1941 MediumFormatCapabilities_CreateDynamic = 0x04,
1942 MediumFormatCapabilities_CreateSplit2G = 0x08,
1943 MediumFormatCapabilities_Differencing = 0x10,
1944 MediumFormatCapabilities_Asynchronous = 0x20,
1945 MediumFormatCapabilities_File = 0x40,
1946 MediumFormatCapabilities_Properties = 0x80,
1947 MediumFormatCapabilities_TcpNetworking = 0x100,
1948 MediumFormatCapabilities_VFS = 0x200,
1949 MediumFormatCapabilities_CapabilityMask = 0x3FF
1950};
1951/* End of enum MediumFormatCapabilities Declaration */
1952
1953
1954/* Start of enum MouseButtonState Declaration */
1955#define MOUSEBUTTONSTATE_IID_STR "9ee094b8-b28a-4d56-a166-973cb588d7f8"
1956#define MOUSEBUTTONSTATE_IID { \
1957 0x9ee094b8, 0xb28a, 0x4d56, \
1958 { 0xa1, 0x66, 0x97, 0x3c, 0xb5, 0x88, 0xd7, 0xf8 } \
1959}
1960enum MouseButtonState
1961{
1962 MouseButtonState_LeftButton = 0x01,
1963 MouseButtonState_RightButton = 0x02,
1964 MouseButtonState_MiddleButton = 0x04,
1965 MouseButtonState_WheelUp = 0x08,
1966 MouseButtonState_WheelDown = 0x10,
1967 MouseButtonState_XButton1 = 0x20,
1968 MouseButtonState_XButton2 = 0x40,
1969 MouseButtonState_MouseStateMask = 0x7F
1970};
1971/* End of enum MouseButtonState Declaration */
1972
1973
1974/* Start of enum FramebufferPixelFormat Declaration */
1975#define FRAMEBUFFERPIXELFORMAT_IID_STR "7acfd5ed-29e3-45e3-8136-73c9224f3d2d"
1976#define FRAMEBUFFERPIXELFORMAT_IID { \
1977 0x7acfd5ed, 0x29e3, 0x45e3, \
1978 { 0x81, 0x36, 0x73, 0xc9, 0x22, 0x4f, 0x3d, 0x2d } \
1979}
1980enum FramebufferPixelFormat
1981{
1982 FramebufferPixelFormat_Opaque = 0,
1983 FramebufferPixelFormat_FOURCC_RGB = 0x32424752
1984};
1985/* End of enum FramebufferPixelFormat Declaration */
1986
1987
1988/* Start of enum NetworkAttachmentType Declaration */
1989#define NETWORKATTACHMENTTYPE_IID_STR "2ac4bc71-6b82-417a-acd1-f7426d2570d6"
1990#define NETWORKATTACHMENTTYPE_IID { \
1991 0x2ac4bc71, 0x6b82, 0x417a, \
1992 { 0xac, 0xd1, 0xf7, 0x42, 0x6d, 0x25, 0x70, 0xd6 } \
1993}
1994enum NetworkAttachmentType
1995{
1996 NetworkAttachmentType_Null = 0,
1997 NetworkAttachmentType_NAT = 1,
1998 NetworkAttachmentType_Bridged = 2,
1999 NetworkAttachmentType_Internal = 3,
2000 NetworkAttachmentType_HostOnly = 4,
2001 NetworkAttachmentType_Generic = 5
2002};
2003/* End of enum NetworkAttachmentType Declaration */
2004
2005
2006/* Start of enum NetworkAdapterType Declaration */
2007#define NETWORKADAPTERTYPE_IID_STR "3c2281e4-d952-4e87-8c7d-24379cb6a81c"
2008#define NETWORKADAPTERTYPE_IID { \
2009 0x3c2281e4, 0xd952, 0x4e87, \
2010 { 0x8c, 0x7d, 0x24, 0x37, 0x9c, 0xb6, 0xa8, 0x1c } \
2011}
2012enum NetworkAdapterType
2013{
2014 NetworkAdapterType_Null = 0,
2015 NetworkAdapterType_Am79C970A = 1,
2016 NetworkAdapterType_Am79C973 = 2,
2017 NetworkAdapterType_I82540EM = 3,
2018 NetworkAdapterType_I82543GC = 4,
2019 NetworkAdapterType_I82545EM = 5,
2020 NetworkAdapterType_Virtio = 6
2021};
2022/* End of enum NetworkAdapterType Declaration */
2023
2024
2025/* Start of enum NetworkAdapterPromiscModePolicy Declaration */
2026#define NETWORKADAPTERPROMISCMODEPOLICY_IID_STR "c963768a-376f-4c85-8d84-d8ced4b7269e"
2027#define NETWORKADAPTERPROMISCMODEPOLICY_IID { \
2028 0xc963768a, 0x376f, 0x4c85, \
2029 { 0x8d, 0x84, 0xd8, 0xce, 0xd4, 0xb7, 0x26, 0x9e } \
2030}
2031enum NetworkAdapterPromiscModePolicy
2032{
2033 NetworkAdapterPromiscModePolicy_Deny = 1,
2034 NetworkAdapterPromiscModePolicy_AllowNetwork = 2,
2035 NetworkAdapterPromiscModePolicy_AllowAll = 3
2036};
2037/* End of enum NetworkAdapterPromiscModePolicy Declaration */
2038
2039
2040/* Start of enum PortMode Declaration */
2041#define PORTMODE_IID_STR "533b5fe3-0185-4197-86a7-17e37dd39d76"
2042#define PORTMODE_IID { \
2043 0x533b5fe3, 0x0185, 0x4197, \
2044 { 0x86, 0xa7, 0x17, 0xe3, 0x7d, 0xd3, 0x9d, 0x76 } \
2045}
2046enum PortMode
2047{
2048 PortMode_Disconnected = 0,
2049 PortMode_HostPipe = 1,
2050 PortMode_HostDevice = 2,
2051 PortMode_RawFile = 3
2052};
2053/* End of enum PortMode Declaration */
2054
2055
2056/* Start of enum USBDeviceState Declaration */
2057#define USBDEVICESTATE_IID_STR "b99a2e65-67fb-4882-82fd-f3e5e8193ab4"
2058#define USBDEVICESTATE_IID { \
2059 0xb99a2e65, 0x67fb, 0x4882, \
2060 { 0x82, 0xfd, 0xf3, 0xe5, 0xe8, 0x19, 0x3a, 0xb4 } \
2061}
2062enum USBDeviceState
2063{
2064 USBDeviceState_NotSupported = 0,
2065 USBDeviceState_Unavailable = 1,
2066 USBDeviceState_Busy = 2,
2067 USBDeviceState_Available = 3,
2068 USBDeviceState_Held = 4,
2069 USBDeviceState_Captured = 5
2070};
2071/* End of enum USBDeviceState Declaration */
2072
2073
2074/* Start of enum USBDeviceFilterAction Declaration */
2075#define USBDEVICEFILTERACTION_IID_STR "cbc30a49-2f4e-43b5-9da6-121320475933"
2076#define USBDEVICEFILTERACTION_IID { \
2077 0xcbc30a49, 0x2f4e, 0x43b5, \
2078 { 0x9d, 0xa6, 0x12, 0x13, 0x20, 0x47, 0x59, 0x33 } \
2079}
2080enum USBDeviceFilterAction
2081{
2082 USBDeviceFilterAction_Null = 0,
2083 USBDeviceFilterAction_Ignore = 1,
2084 USBDeviceFilterAction_Hold = 2
2085};
2086/* End of enum USBDeviceFilterAction Declaration */
2087
2088
2089/* Start of enum AudioDriverType Declaration */
2090#define AUDIODRIVERTYPE_IID_STR "4bcc3d73-c2fe-40db-b72f-0c2ca9d68496"
2091#define AUDIODRIVERTYPE_IID { \
2092 0x4bcc3d73, 0xc2fe, 0x40db, \
2093 { 0xb7, 0x2f, 0x0c, 0x2c, 0xa9, 0xd6, 0x84, 0x96 } \
2094}
2095enum AudioDriverType
2096{
2097 AudioDriverType_Null = 0,
2098 AudioDriverType_WinMM = 1,
2099 AudioDriverType_OSS = 2,
2100 AudioDriverType_ALSA = 3,
2101 AudioDriverType_DirectSound = 4,
2102 AudioDriverType_CoreAudio = 5,
2103 AudioDriverType_MMPM = 6,
2104 AudioDriverType_Pulse = 7,
2105 AudioDriverType_SolAudio = 8
2106};
2107/* End of enum AudioDriverType Declaration */
2108
2109
2110/* Start of enum AudioControllerType Declaration */
2111#define AUDIOCONTROLLERTYPE_IID_STR "7afd395c-42c3-444e-8788-3ce80292f36c"
2112#define AUDIOCONTROLLERTYPE_IID { \
2113 0x7afd395c, 0x42c3, 0x444e, \
2114 { 0x87, 0x88, 0x3c, 0xe8, 0x02, 0x92, 0xf3, 0x6c } \
2115}
2116enum AudioControllerType
2117{
2118 AudioControllerType_AC97 = 0,
2119 AudioControllerType_SB16 = 1,
2120 AudioControllerType_HDA = 2
2121};
2122/* End of enum AudioControllerType Declaration */
2123
2124
2125/* Start of enum AuthType Declaration */
2126#define AUTHTYPE_IID_STR "7eef6ef6-98c2-4dc2-ab35-10d2b292028d"
2127#define AUTHTYPE_IID { \
2128 0x7eef6ef6, 0x98c2, 0x4dc2, \
2129 { 0xab, 0x35, 0x10, 0xd2, 0xb2, 0x92, 0x02, 0x8d } \
2130}
2131enum AuthType
2132{
2133 AuthType_Null = 0,
2134 AuthType_External = 1,
2135 AuthType_Guest = 2
2136};
2137/* End of enum AuthType Declaration */
2138
2139
2140/* Start of enum StorageBus Declaration */
2141#define STORAGEBUS_IID_STR "eee67ab3-668d-4ef5-91e0-7025fe4a0d7a"
2142#define STORAGEBUS_IID { \
2143 0xeee67ab3, 0x668d, 0x4ef5, \
2144 { 0x91, 0xe0, 0x70, 0x25, 0xfe, 0x4a, 0x0d, 0x7a } \
2145}
2146enum StorageBus
2147{
2148 StorageBus_Null = 0,
2149 StorageBus_IDE = 1,
2150 StorageBus_SATA = 2,
2151 StorageBus_SCSI = 3,
2152 StorageBus_Floppy = 4,
2153 StorageBus_SAS = 5
2154};
2155/* End of enum StorageBus Declaration */
2156
2157
2158/* Start of enum StorageControllerType Declaration */
2159#define STORAGECONTROLLERTYPE_IID_STR "8a412b8a-f43e-4456-bd37-b474f0879a58"
2160#define STORAGECONTROLLERTYPE_IID { \
2161 0x8a412b8a, 0xf43e, 0x4456, \
2162 { 0xbd, 0x37, 0xb4, 0x74, 0xf0, 0x87, 0x9a, 0x58 } \
2163}
2164enum StorageControllerType
2165{
2166 StorageControllerType_Null = 0,
2167 StorageControllerType_LsiLogic = 1,
2168 StorageControllerType_BusLogic = 2,
2169 StorageControllerType_IntelAhci = 3,
2170 StorageControllerType_PIIX3 = 4,
2171 StorageControllerType_PIIX4 = 5,
2172 StorageControllerType_ICH6 = 6,
2173 StorageControllerType_I82078 = 7,
2174 StorageControllerType_LsiLogicSas = 8
2175};
2176/* End of enum StorageControllerType Declaration */
2177
2178
2179/* Start of enum ChipsetType Declaration */
2180#define CHIPSETTYPE_IID_STR "8b4096a8-a7c3-4d3b-bbb1-05a0a51ec394"
2181#define CHIPSETTYPE_IID { \
2182 0x8b4096a8, 0xa7c3, 0x4d3b, \
2183 { 0xbb, 0xb1, 0x05, 0xa0, 0xa5, 0x1e, 0xc3, 0x94 } \
2184}
2185enum ChipsetType
2186{
2187 ChipsetType_Null = 0,
2188 ChipsetType_PIIX3 = 1,
2189 ChipsetType_ICH9 = 2
2190};
2191/* End of enum ChipsetType Declaration */
2192
2193
2194/* Start of enum NATAliasMode Declaration */
2195#define NATALIASMODE_IID_STR "67772168-50d9-11df-9669-7fb714ee4fa1"
2196#define NATALIASMODE_IID { \
2197 0x67772168, 0x50d9, 0x11df, \
2198 { 0x96, 0x69, 0x7f, 0xb7, 0x14, 0xee, 0x4f, 0xa1 } \
2199}
2200enum NATAliasMode
2201{
2202 NATAliasMode_AliasLog = 0x1,
2203 NATAliasMode_AliasProxyOnly = 0x02,
2204 NATAliasMode_AliasUseSamePorts = 0x04
2205};
2206/* End of enum NATAliasMode Declaration */
2207
2208
2209/* Start of enum NATProtocol Declaration */
2210#define NATPROTOCOL_IID_STR "e90164be-eb03-11de-94af-fff9b1c1b19f"
2211#define NATPROTOCOL_IID { \
2212 0xe90164be, 0xeb03, 0x11de, \
2213 { 0x94, 0xaf, 0xff, 0xf9, 0xb1, 0xc1, 0xb1, 0x9f } \
2214}
2215enum NATProtocol
2216{
2217 NATProtocol_UDP = 0,
2218 NATProtocol_TCP = 1
2219};
2220/* End of enum NATProtocol Declaration */
2221
2222
2223/* Start of enum BandwidthGroupType Declaration */
2224#define BANDWIDTHGROUPTYPE_IID_STR "1d92b67d-dc69-4be9-ad4c-93a01e1e0c8e"
2225#define BANDWIDTHGROUPTYPE_IID { \
2226 0x1d92b67d, 0xdc69, 0x4be9, \
2227 { 0xad, 0x4c, 0x93, 0xa0, 0x1e, 0x1e, 0x0c, 0x8e } \
2228}
2229enum BandwidthGroupType
2230{
2231 BandwidthGroupType_Null = 0,
2232 BandwidthGroupType_Disk = 1,
2233 BandwidthGroupType_Network = 2
2234};
2235/* End of enum BandwidthGroupType Declaration */
2236
2237
2238/* Start of enum VBoxEventType Declaration */
2239#define VBOXEVENTTYPE_IID_STR "cce48db6-8561-479d-8d46-1358bab45d4e"
2240#define VBOXEVENTTYPE_IID { \
2241 0xcce48db6, 0x8561, 0x479d, \
2242 { 0x8d, 0x46, 0x13, 0x58, 0xba, 0xb4, 0x5d, 0x4e } \
2243}
2244enum VBoxEventType
2245{
2246 VBoxEventType_Invalid = 0,
2247 VBoxEventType_Any = 1,
2248 VBoxEventType_Vetoable = 2,
2249 VBoxEventType_MachineEvent = 3,
2250 VBoxEventType_SnapshotEvent = 4,
2251 VBoxEventType_InputEvent = 5,
2252 VBoxEventType_LastWildcard = 31,
2253 VBoxEventType_OnMachineStateChanged = 32,
2254 VBoxEventType_OnMachineDataChanged = 33,
2255 VBoxEventType_OnExtraDataChanged = 34,
2256 VBoxEventType_OnExtraDataCanChange = 35,
2257 VBoxEventType_OnMediumRegistered = 36,
2258 VBoxEventType_OnMachineRegistered = 37,
2259 VBoxEventType_OnSessionStateChanged = 38,
2260 VBoxEventType_OnSnapshotTaken = 39,
2261 VBoxEventType_OnSnapshotDeleted = 40,
2262 VBoxEventType_OnSnapshotChanged = 41,
2263 VBoxEventType_OnGuestPropertyChanged = 42,
2264 VBoxEventType_OnMousePointerShapeChanged = 43,
2265 VBoxEventType_OnMouseCapabilityChanged = 44,
2266 VBoxEventType_OnKeyboardLedsChanged = 45,
2267 VBoxEventType_OnStateChanged = 46,
2268 VBoxEventType_OnAdditionsStateChanged = 47,
2269 VBoxEventType_OnNetworkAdapterChanged = 48,
2270 VBoxEventType_OnSerialPortChanged = 49,
2271 VBoxEventType_OnParallelPortChanged = 50,
2272 VBoxEventType_OnStorageControllerChanged = 51,
2273 VBoxEventType_OnMediumChanged = 52,
2274 VBoxEventType_OnVRDEServerChanged = 53,
2275 VBoxEventType_OnUSBControllerChanged = 54,
2276 VBoxEventType_OnUSBDeviceStateChanged = 55,
2277 VBoxEventType_OnSharedFolderChanged = 56,
2278 VBoxEventType_OnRuntimeError = 57,
2279 VBoxEventType_OnCanShowWindow = 58,
2280 VBoxEventType_OnShowWindow = 59,
2281 VBoxEventType_OnCPUChanged = 60,
2282 VBoxEventType_OnVRDEServerInfoChanged = 61,
2283 VBoxEventType_OnEventSourceChanged = 62,
2284 VBoxEventType_OnCPUExecutionCapChanged = 63,
2285 VBoxEventType_OnGuestKeyboard = 64,
2286 VBoxEventType_OnGuestMouse = 65,
2287 VBoxEventType_OnNATRedirect = 66,
2288 VBoxEventType_OnHostPciDevicePlug = 67,
2289 VBoxEventType_OnVBoxSVCAvailabilityChanged = 68,
2290 VBoxEventType_OnBandwidthGroupChanged = 69,
2291 VBoxEventType_OnGuestMonitorChanged = 70,
2292 VBoxEventType_OnStorageDeviceChanged = 71,
2293 VBoxEventType_Last = 72
2294};
2295/* End of enum VBoxEventType Declaration */
2296
2297
2298/* Start of enum GuestMonitorChangedEventType Declaration */
2299#define GUESTMONITORCHANGEDEVENTTYPE_IID_STR "ef172985-7e36-4297-95be-e46396968d66"
2300#define GUESTMONITORCHANGEDEVENTTYPE_IID { \
2301 0xef172985, 0x7e36, 0x4297, \
2302 { 0x95, 0xbe, 0xe4, 0x63, 0x96, 0x96, 0x8d, 0x66 } \
2303}
2304enum GuestMonitorChangedEventType
2305{
2306 GuestMonitorChangedEventType_Enabled = 0,
2307 GuestMonitorChangedEventType_Disabled = 1,
2308 GuestMonitorChangedEventType_NewOrigin = 2
2309};
2310/* End of enum GuestMonitorChangedEventType Declaration */
2311
2312
2313/* Start of struct IVirtualBoxErrorInfo Declaration */
2314#define IVIRTUALBOXERRORINFO_IID_STR "e053d3c0-f493-491b-a735-3a9f0b1feed4"
2315#define IVIRTUALBOXERRORINFO_IID { \
2316 0xe053d3c0, 0xf493, 0x491b, \
2317 { 0xa7, 0x35, 0x3a, 0x9f, 0x0b, 0x1f, 0xee, 0xd4 } \
2318}
2319struct IVirtualBoxErrorInfo_vtbl
2320{
2321 struct nsIException_vtbl nsiexception;
2322
2323 nsresult (*GetResultCode)(IVirtualBoxErrorInfo *pThis, PRInt32 *resultCode);
2324
2325 nsresult (*GetInterfaceID)(IVirtualBoxErrorInfo *pThis, PRUnichar * *interfaceID);
2326
2327 nsresult (*GetComponent)(IVirtualBoxErrorInfo *pThis, PRUnichar * *component);
2328
2329 nsresult (*GetText)(IVirtualBoxErrorInfo *pThis, PRUnichar * *text);
2330
2331 nsresult (*GetNext)(IVirtualBoxErrorInfo *pThis, IVirtualBoxErrorInfo * *next);
2332
2333};
2334
2335struct IVirtualBoxErrorInfo
2336{
2337 struct IVirtualBoxErrorInfo_vtbl *vtbl;
2338};
2339/* End of struct IVirtualBoxErrorInfo Declaration */
2340
2341
2342/* Start of struct IDHCPServer Declaration */
2343#define IDHCPSERVER_IID_STR "6cfe387c-74fb-4ca7-bff6-973bec8af7a3"
2344#define IDHCPSERVER_IID { \
2345 0x6cfe387c, 0x74fb, 0x4ca7, \
2346 { 0xbf, 0xf6, 0x97, 0x3b, 0xec, 0x8a, 0xf7, 0xa3 } \
2347}
2348struct IDHCPServer_vtbl
2349{
2350 struct nsISupports_vtbl nsisupports;
2351
2352 nsresult (*GetEnabled)(IDHCPServer *pThis, PRBool *enabled);
2353 nsresult (*SetEnabled)(IDHCPServer *pThis, PRBool enabled);
2354
2355 nsresult (*GetIPAddress)(IDHCPServer *pThis, PRUnichar * *IPAddress);
2356
2357 nsresult (*GetNetworkMask)(IDHCPServer *pThis, PRUnichar * *networkMask);
2358
2359 nsresult (*GetNetworkName)(IDHCPServer *pThis, PRUnichar * *networkName);
2360
2361 nsresult (*GetLowerIP)(IDHCPServer *pThis, PRUnichar * *lowerIP);
2362
2363 nsresult (*GetUpperIP)(IDHCPServer *pThis, PRUnichar * *upperIP);
2364
2365 nsresult (*SetConfiguration)(
2366 IDHCPServer *pThis,
2367 PRUnichar * IPAddress,
2368 PRUnichar * networkMask,
2369 PRUnichar * FromIPAddress,
2370 PRUnichar * ToIPAddress
2371 );
2372
2373 nsresult (*Start)(
2374 IDHCPServer *pThis,
2375 PRUnichar * networkName,
2376 PRUnichar * trunkName,
2377 PRUnichar * trunkType
2378 );
2379
2380 nsresult (*Stop)(IDHCPServer *pThis );
2381
2382};
2383
2384struct IDHCPServer
2385{
2386 struct IDHCPServer_vtbl *vtbl;
2387};
2388/* End of struct IDHCPServer Declaration */
2389
2390
2391/* Start of struct IVirtualBox Declaration */
2392#define IVIRTUALBOX_IID_STR "c28be65f-1a8f-43b4-81f1-eb60cb516e66"
2393#define IVIRTUALBOX_IID { \
2394 0xc28be65f, 0x1a8f, 0x43b4, \
2395 { 0x81, 0xf1, 0xeb, 0x60, 0xcb, 0x51, 0x6e, 0x66 } \
2396}
2397struct IVirtualBox_vtbl
2398{
2399 struct nsISupports_vtbl nsisupports;
2400
2401 nsresult (*GetVersion)(IVirtualBox *pThis, PRUnichar * *version);
2402
2403 nsresult (*GetRevision)(IVirtualBox *pThis, PRUint32 *revision);
2404
2405 nsresult (*GetPackageType)(IVirtualBox *pThis, PRUnichar * *packageType);
2406
2407 nsresult (*GetAPIVersion)(IVirtualBox *pThis, PRUnichar * *APIVersion);
2408
2409 nsresult (*GetHomeFolder)(IVirtualBox *pThis, PRUnichar * *homeFolder);
2410
2411 nsresult (*GetSettingsFilePath)(IVirtualBox *pThis, PRUnichar * *settingsFilePath);
2412
2413 nsresult (*GetHost)(IVirtualBox *pThis, IHost * *host);
2414
2415 nsresult (*GetSystemProperties)(IVirtualBox *pThis, ISystemProperties * *systemProperties);
2416
2417 nsresult (*GetMachines)(IVirtualBox *pThis, PRUint32 *machinesSize, IMachine * **machines);
2418
2419 nsresult (*GetHardDisks)(IVirtualBox *pThis, PRUint32 *hardDisksSize, IMedium * **hardDisks);
2420
2421 nsresult (*GetDVDImages)(IVirtualBox *pThis, PRUint32 *DVDImagesSize, IMedium * **DVDImages);
2422
2423 nsresult (*GetFloppyImages)(IVirtualBox *pThis, PRUint32 *floppyImagesSize, IMedium * **floppyImages);
2424
2425 nsresult (*GetProgressOperations)(IVirtualBox *pThis, PRUint32 *progressOperationsSize, IProgress * **progressOperations);
2426
2427 nsresult (*GetGuestOSTypes)(IVirtualBox *pThis, PRUint32 *guestOSTypesSize, IGuestOSType * **guestOSTypes);
2428
2429 nsresult (*GetSharedFolders)(IVirtualBox *pThis, PRUint32 *sharedFoldersSize, ISharedFolder * **sharedFolders);
2430
2431 nsresult (*GetPerformanceCollector)(IVirtualBox *pThis, IPerformanceCollector * *performanceCollector);
2432
2433 nsresult (*GetDHCPServers)(IVirtualBox *pThis, PRUint32 *DHCPServersSize, IDHCPServer * **DHCPServers);
2434
2435 nsresult (*GetEventSource)(IVirtualBox *pThis, IEventSource * *eventSource);
2436
2437 nsresult (*GetExtensionPackManager)(IVirtualBox *pThis, IExtPackManager * *extensionPackManager);
2438
2439 nsresult (*GetInternalNetworks)(IVirtualBox *pThis, PRUint32 *internalNetworksSize, PRUnichar * **internalNetworks);
2440
2441 nsresult (*GetGenericNetworkDrivers)(IVirtualBox *pThis, PRUint32 *genericNetworkDriversSize, PRUnichar * **genericNetworkDrivers);
2442
2443 nsresult (*ComposeMachineFilename)(
2444 IVirtualBox *pThis,
2445 PRUnichar * name,
2446 PRUnichar * baseFolder,
2447 PRUnichar * * file
2448 );
2449
2450 nsresult (*CreateMachine)(
2451 IVirtualBox *pThis,
2452 PRUnichar * settingsFile,
2453 PRUnichar * name,
2454 PRUnichar * osTypeId,
2455 PRUnichar * id,
2456 PRBool forceOverwrite,
2457 IMachine * * machine
2458 );
2459
2460 nsresult (*OpenMachine)(
2461 IVirtualBox *pThis,
2462 PRUnichar * settingsFile,
2463 IMachine * * machine
2464 );
2465
2466 nsresult (*RegisterMachine)(
2467 IVirtualBox *pThis,
2468 IMachine * machine
2469 );
2470
2471 nsresult (*FindMachine)(
2472 IVirtualBox *pThis,
2473 PRUnichar * nameOrId,
2474 IMachine * * machine
2475 );
2476
2477 nsresult (*CreateAppliance)(
2478 IVirtualBox *pThis,
2479 IAppliance * * appliance
2480 );
2481
2482 nsresult (*CreateHardDisk)(
2483 IVirtualBox *pThis,
2484 PRUnichar * format,
2485 PRUnichar * location,
2486 IMedium * * medium
2487 );
2488
2489 nsresult (*OpenMedium)(
2490 IVirtualBox *pThis,
2491 PRUnichar * location,
2492 PRUint32 deviceType,
2493 PRUint32 accessMode,
2494 PRBool forceNewUuid,
2495 IMedium * * medium
2496 );
2497
2498 nsresult (*FindMedium)(
2499 IVirtualBox *pThis,
2500 PRUnichar * location,
2501 PRUint32 type,
2502 IMedium * * medium
2503 );
2504
2505 nsresult (*GetGuestOSType)(
2506 IVirtualBox *pThis,
2507 PRUnichar * id,
2508 IGuestOSType * * type
2509 );
2510
2511 nsresult (*CreateSharedFolder)(
2512 IVirtualBox *pThis,
2513 PRUnichar * name,
2514 PRUnichar * hostPath,
2515 PRBool writable,
2516 PRBool automount
2517 );
2518
2519 nsresult (*RemoveSharedFolder)(
2520 IVirtualBox *pThis,
2521 PRUnichar * name
2522 );
2523
2524 nsresult (*GetExtraDataKeys)(
2525 IVirtualBox *pThis,
2526 PRUint32 *valueSize,
2527 PRUnichar *** value
2528 );
2529
2530 nsresult (*GetExtraData)(
2531 IVirtualBox *pThis,
2532 PRUnichar * key,
2533 PRUnichar * * value
2534 );
2535
2536 nsresult (*SetExtraData)(
2537 IVirtualBox *pThis,
2538 PRUnichar * key,
2539 PRUnichar * value
2540 );
2541
2542 nsresult (*CreateDHCPServer)(
2543 IVirtualBox *pThis,
2544 PRUnichar * name,
2545 IDHCPServer * * server
2546 );
2547
2548 nsresult (*FindDHCPServerByNetworkName)(
2549 IVirtualBox *pThis,
2550 PRUnichar * name,
2551 IDHCPServer * * server
2552 );
2553
2554 nsresult (*RemoveDHCPServer)(
2555 IVirtualBox *pThis,
2556 IDHCPServer * server
2557 );
2558
2559 nsresult (*CheckFirmwarePresent)(
2560 IVirtualBox *pThis,
2561 PRUint32 firmwareType,
2562 PRUnichar * version,
2563 PRUnichar * * url,
2564 PRUnichar * * file,
2565 PRBool * result
2566 );
2567
2568};
2569
2570struct IVirtualBox
2571{
2572 struct IVirtualBox_vtbl *vtbl;
2573};
2574/* End of struct IVirtualBox Declaration */
2575
2576
2577/* Start of struct IVFSExplorer Declaration */
2578#define IVFSEXPLORER_IID_STR "003d7f92-d38e-487f-b790-8c5e8631cb2f"
2579#define IVFSEXPLORER_IID { \
2580 0x003d7f92, 0xd38e, 0x487f, \
2581 { 0xb7, 0x90, 0x8c, 0x5e, 0x86, 0x31, 0xcb, 0x2f } \
2582}
2583struct IVFSExplorer_vtbl
2584{
2585 struct nsISupports_vtbl nsisupports;
2586
2587 nsresult (*GetPath)(IVFSExplorer *pThis, PRUnichar * *path);
2588
2589 nsresult (*GetType)(IVFSExplorer *pThis, PRUint32 *type);
2590
2591 nsresult (*Update)(
2592 IVFSExplorer *pThis,
2593 IProgress * * aProgress
2594 );
2595
2596 nsresult (*Cd)(
2597 IVFSExplorer *pThis,
2598 PRUnichar * aDir,
2599 IProgress * * aProgress
2600 );
2601
2602 nsresult (*CdUp)(
2603 IVFSExplorer *pThis,
2604 IProgress * * aProgress
2605 );
2606
2607 nsresult (*EntryList)(
2608 IVFSExplorer *pThis,
2609 PRUint32 *aNamesSize,
2610 PRUnichar *** aNames,
2611 PRUint32 *aTypesSize,
2612 PRUint32* aTypes,
2613 PRUint32 *aSizesSize,
2614 PRUint32* aSizes,
2615 PRUint32 *aModesSize,
2616 PRUint32* aModes
2617 );
2618
2619 nsresult (*Exists)(
2620 IVFSExplorer *pThis,
2621 PRUint32 aNamesSize,
2622 PRUnichar ** aNames,
2623 PRUint32 *aExistsSize,
2624 PRUnichar *** aExists
2625 );
2626
2627 nsresult (*Remove)(
2628 IVFSExplorer *pThis,
2629 PRUint32 aNamesSize,
2630 PRUnichar ** aNames,
2631 IProgress * * aProgress
2632 );
2633
2634};
2635
2636struct IVFSExplorer
2637{
2638 struct IVFSExplorer_vtbl *vtbl;
2639};
2640/* End of struct IVFSExplorer Declaration */
2641
2642
2643/* Start of struct IAppliance Declaration */
2644#define IAPPLIANCE_IID_STR "3059cf9e-25c7-4f0b-9fa5-3c42e441670b"
2645#define IAPPLIANCE_IID { \
2646 0x3059cf9e, 0x25c7, 0x4f0b, \
2647 { 0x9f, 0xa5, 0x3c, 0x42, 0xe4, 0x41, 0x67, 0x0b } \
2648}
2649struct IAppliance_vtbl
2650{
2651 struct nsISupports_vtbl nsisupports;
2652
2653 nsresult (*GetPath)(IAppliance *pThis, PRUnichar * *path);
2654
2655 nsresult (*GetDisks)(IAppliance *pThis, PRUint32 *disksSize, PRUnichar * **disks);
2656
2657 nsresult (*GetVirtualSystemDescriptions)(IAppliance *pThis, PRUint32 *virtualSystemDescriptionsSize, IVirtualSystemDescription * **virtualSystemDescriptions);
2658
2659 nsresult (*GetMachines)(IAppliance *pThis, PRUint32 *machinesSize, PRUnichar * **machines);
2660
2661 nsresult (*Read)(
2662 IAppliance *pThis,
2663 PRUnichar * file,
2664 IProgress * * aProgress
2665 );
2666
2667 nsresult (*Interpret)(IAppliance *pThis );
2668
2669 nsresult (*ImportMachines)(
2670 IAppliance *pThis,
2671 PRUint32 optionsSize,
2672 PRUint32* options,
2673 IProgress * * aProgress
2674 );
2675
2676 nsresult (*CreateVFSExplorer)(
2677 IAppliance *pThis,
2678 PRUnichar * aUri,
2679 IVFSExplorer * * aExplorer
2680 );
2681
2682 nsresult (*Write)(
2683 IAppliance *pThis,
2684 PRUnichar * format,
2685 PRBool manifest,
2686 PRUnichar * path,
2687 IProgress * * progress
2688 );
2689
2690 nsresult (*GetWarnings)(
2691 IAppliance *pThis,
2692 PRUint32 *aWarningsSize,
2693 PRUnichar *** aWarnings
2694 );
2695
2696};
2697
2698struct IAppliance
2699{
2700 struct IAppliance_vtbl *vtbl;
2701};
2702/* End of struct IAppliance Declaration */
2703
2704
2705/* Start of struct IVirtualSystemDescription Declaration */
2706#define IVIRTUALSYSTEMDESCRIPTION_IID_STR "d7525e6c-531a-4c51-8e04-41235083a3d8"
2707#define IVIRTUALSYSTEMDESCRIPTION_IID { \
2708 0xd7525e6c, 0x531a, 0x4c51, \
2709 { 0x8e, 0x04, 0x41, 0x23, 0x50, 0x83, 0xa3, 0xd8 } \
2710}
2711struct IVirtualSystemDescription_vtbl
2712{
2713 struct nsISupports_vtbl nsisupports;
2714
2715 nsresult (*GetCount)(IVirtualSystemDescription *pThis, PRUint32 *count);
2716
2717 nsresult (*GetDescription)(
2718 IVirtualSystemDescription *pThis,
2719 PRUint32 *aTypesSize,
2720 PRUint32* aTypes,
2721 PRUint32 *aRefsSize,
2722 PRUnichar *** aRefs,
2723 PRUint32 *aOvfValuesSize,
2724 PRUnichar *** aOvfValues,
2725 PRUint32 *aVBoxValuesSize,
2726 PRUnichar *** aVBoxValues,
2727 PRUint32 *aExtraConfigValuesSize,
2728 PRUnichar *** aExtraConfigValues
2729 );
2730
2731 nsresult (*GetDescriptionByType)(
2732 IVirtualSystemDescription *pThis,
2733 PRUint32 aType,
2734 PRUint32 *aTypesSize,
2735 PRUint32* aTypes,
2736 PRUint32 *aRefsSize,
2737 PRUnichar *** aRefs,
2738 PRUint32 *aOvfValuesSize,
2739 PRUnichar *** aOvfValues,
2740 PRUint32 *aVBoxValuesSize,
2741 PRUnichar *** aVBoxValues,
2742 PRUint32 *aExtraConfigValuesSize,
2743 PRUnichar *** aExtraConfigValues
2744 );
2745
2746 nsresult (*GetValuesByType)(
2747 IVirtualSystemDescription *pThis,
2748 PRUint32 aType,
2749 PRUint32 aWhich,
2750 PRUint32 *aValuesSize,
2751 PRUnichar *** aValues
2752 );
2753
2754 nsresult (*SetFinalValues)(
2755 IVirtualSystemDescription *pThis,
2756 PRUint32 aEnabledSize,
2757 PRBool* aEnabled,
2758 PRUint32 aVBoxValuesSize,
2759 PRUnichar ** aVBoxValues,
2760 PRUint32 aExtraConfigValuesSize,
2761 PRUnichar ** aExtraConfigValues
2762 );
2763
2764 nsresult (*AddDescription)(
2765 IVirtualSystemDescription *pThis,
2766 PRUint32 aType,
2767 PRUnichar * aVBoxValue,
2768 PRUnichar * aExtraConfigValue
2769 );
2770
2771};
2772
2773struct IVirtualSystemDescription
2774{
2775 struct IVirtualSystemDescription_vtbl *vtbl;
2776};
2777/* End of struct IVirtualSystemDescription Declaration */
2778
2779
2780/* Start of struct IInternalMachineControl Declaration */
2781#define IINTERNALMACHINECONTROL_IID_STR "2087906d-bb92-43a0-8014-4cab009e4888"
2782#define IINTERNALMACHINECONTROL_IID { \
2783 0x2087906d, 0xbb92, 0x43a0, \
2784 { 0x80, 0x14, 0x4c, 0xab, 0x00, 0x9e, 0x48, 0x88 } \
2785}
2786struct IInternalMachineControl_vtbl
2787{
2788 struct nsISupports_vtbl nsisupports;
2789
2790 nsresult (*SetRemoveSavedStateFile)(
2791 IInternalMachineControl *pThis,
2792 PRBool aRemove
2793 );
2794
2795 nsresult (*UpdateState)(
2796 IInternalMachineControl *pThis,
2797 PRUint32 state
2798 );
2799
2800 nsresult (*GetIPCId)(
2801 IInternalMachineControl *pThis,
2802 PRUnichar * * id
2803 );
2804
2805 nsresult (*BeginPowerUp)(
2806 IInternalMachineControl *pThis,
2807 IProgress * aProgress
2808 );
2809
2810 nsresult (*EndPowerUp)(
2811 IInternalMachineControl *pThis,
2812 PRInt32 result
2813 );
2814
2815 nsresult (*BeginPoweringDown)(
2816 IInternalMachineControl *pThis,
2817 IProgress * * progress
2818 );
2819
2820 nsresult (*EndPoweringDown)(
2821 IInternalMachineControl *pThis,
2822 PRInt32 result,
2823 PRUnichar * errMsg
2824 );
2825
2826 nsresult (*RunUSBDeviceFilters)(
2827 IInternalMachineControl *pThis,
2828 IUSBDevice * device,
2829 PRBool * matched,
2830 PRUint32 * maskedInterfaces
2831 );
2832
2833 nsresult (*CaptureUSBDevice)(
2834 IInternalMachineControl *pThis,
2835 PRUnichar * id
2836 );
2837
2838 nsresult (*DetachUSBDevice)(
2839 IInternalMachineControl *pThis,
2840 PRUnichar * id,
2841 PRBool done
2842 );
2843
2844 nsresult (*AutoCaptureUSBDevices)(IInternalMachineControl *pThis );
2845
2846 nsresult (*DetachAllUSBDevices)(
2847 IInternalMachineControl *pThis,
2848 PRBool done
2849 );
2850
2851 nsresult (*OnSessionEnd)(
2852 IInternalMachineControl *pThis,
2853 ISession * session,
2854 IProgress * * progress
2855 );
2856
2857 nsresult (*BeginSavingState)(
2858 IInternalMachineControl *pThis,
2859 IProgress * * progress,
2860 PRUnichar * * stateFilePath
2861 );
2862
2863 nsresult (*EndSavingState)(
2864 IInternalMachineControl *pThis,
2865 PRInt32 result,
2866 PRUnichar * errMsg
2867 );
2868
2869 nsresult (*AdoptSavedState)(
2870 IInternalMachineControl *pThis,
2871 PRUnichar * savedStateFile
2872 );
2873
2874 nsresult (*BeginTakingSnapshot)(
2875 IInternalMachineControl *pThis,
2876 IConsole * initiator,
2877 PRUnichar * name,
2878 PRUnichar * description,
2879 IProgress * consoleProgress,
2880 PRBool fTakingSnapshotOnline,
2881 PRUnichar * * stateFilePath
2882 );
2883
2884 nsresult (*EndTakingSnapshot)(
2885 IInternalMachineControl *pThis,
2886 PRBool success
2887 );
2888
2889 nsresult (*DeleteSnapshot)(
2890 IInternalMachineControl *pThis,
2891 IConsole * initiator,
2892 PRUnichar * startId,
2893 PRUnichar * endId,
2894 PRBool deleteAllChildren,
2895 PRUint32 * machineState,
2896 IProgress * * progress
2897 );
2898
2899 nsresult (*FinishOnlineMergeMedium)(
2900 IInternalMachineControl *pThis,
2901 IMediumAttachment * mediumAttachment,
2902 IMedium * source,
2903 IMedium * target,
2904 PRBool mergeForward,
2905 IMedium * parentForTarget,
2906 PRUint32 childrenToReparentSize,
2907 IMedium ** childrenToReparent
2908 );
2909
2910 nsresult (*RestoreSnapshot)(
2911 IInternalMachineControl *pThis,
2912 IConsole * initiator,
2913 ISnapshot * snapshot,
2914 PRUint32 * machineState,
2915 IProgress * * progress
2916 );
2917
2918 nsresult (*PullGuestProperties)(
2919 IInternalMachineControl *pThis,
2920 PRUint32 *nameSize,
2921 PRUnichar *** name,
2922 PRUint32 *valueSize,
2923 PRUnichar *** value,
2924 PRUint32 *timestampSize,
2925 PRInt64* timestamp,
2926 PRUint32 *flagsSize,
2927 PRUnichar *** flags
2928 );
2929
2930 nsresult (*PushGuestProperty)(
2931 IInternalMachineControl *pThis,
2932 PRUnichar * name,
2933 PRUnichar * value,
2934 PRInt64 timestamp,
2935 PRUnichar * flags
2936 );
2937
2938 nsresult (*LockMedia)(IInternalMachineControl *pThis );
2939
2940 nsresult (*UnlockMedia)(IInternalMachineControl *pThis );
2941
2942 nsresult (*EjectMedium)(
2943 IInternalMachineControl *pThis,
2944 IMediumAttachment * attachment,
2945 IMediumAttachment * * newAttachment
2946 );
2947
2948};
2949
2950struct IInternalMachineControl
2951{
2952 struct IInternalMachineControl_vtbl *vtbl;
2953};
2954/* End of struct IInternalMachineControl Declaration */
2955
2956
2957/* Start of struct IBIOSSettings Declaration */
2958#define IBIOSSETTINGS_IID_STR "38b54279-dc35-4f5e-a431-835b867c6b5e"
2959#define IBIOSSETTINGS_IID { \
2960 0x38b54279, 0xdc35, 0x4f5e, \
2961 { 0xa4, 0x31, 0x83, 0x5b, 0x86, 0x7c, 0x6b, 0x5e } \
2962}
2963struct IBIOSSettings_vtbl
2964{
2965 struct nsISupports_vtbl nsisupports;
2966
2967 nsresult (*GetLogoFadeIn)(IBIOSSettings *pThis, PRBool *logoFadeIn);
2968 nsresult (*SetLogoFadeIn)(IBIOSSettings *pThis, PRBool logoFadeIn);
2969
2970 nsresult (*GetLogoFadeOut)(IBIOSSettings *pThis, PRBool *logoFadeOut);
2971 nsresult (*SetLogoFadeOut)(IBIOSSettings *pThis, PRBool logoFadeOut);
2972
2973 nsresult (*GetLogoDisplayTime)(IBIOSSettings *pThis, PRUint32 *logoDisplayTime);
2974 nsresult (*SetLogoDisplayTime)(IBIOSSettings *pThis, PRUint32 logoDisplayTime);
2975
2976 nsresult (*GetLogoImagePath)(IBIOSSettings *pThis, PRUnichar * *logoImagePath);
2977 nsresult (*SetLogoImagePath)(IBIOSSettings *pThis, PRUnichar * logoImagePath);
2978
2979 nsresult (*GetBootMenuMode)(IBIOSSettings *pThis, PRUint32 *bootMenuMode);
2980 nsresult (*SetBootMenuMode)(IBIOSSettings *pThis, PRUint32 bootMenuMode);
2981
2982 nsresult (*GetACPIEnabled)(IBIOSSettings *pThis, PRBool *ACPIEnabled);
2983 nsresult (*SetACPIEnabled)(IBIOSSettings *pThis, PRBool ACPIEnabled);
2984
2985 nsresult (*GetIOAPICEnabled)(IBIOSSettings *pThis, PRBool *IOAPICEnabled);
2986 nsresult (*SetIOAPICEnabled)(IBIOSSettings *pThis, PRBool IOAPICEnabled);
2987
2988 nsresult (*GetTimeOffset)(IBIOSSettings *pThis, PRInt64 *timeOffset);
2989 nsresult (*SetTimeOffset)(IBIOSSettings *pThis, PRInt64 timeOffset);
2990
2991 nsresult (*GetPXEDebugEnabled)(IBIOSSettings *pThis, PRBool *PXEDebugEnabled);
2992 nsresult (*SetPXEDebugEnabled)(IBIOSSettings *pThis, PRBool PXEDebugEnabled);
2993
2994};
2995
2996struct IBIOSSettings
2997{
2998 struct IBIOSSettings_vtbl *vtbl;
2999};
3000/* End of struct IBIOSSettings Declaration */
3001
3002
3003/* Start of struct IPciAddress Declaration */
3004#define IPCIADDRESS_IID_STR "D88B324F-DB19-4D3B-A1A9-BF5B127199A8"
3005#define IPCIADDRESS_IID { \
3006 0xD88B324F, 0xDB19, 0x4D3B, \
3007 { 0xA1, 0xA9, 0xBF, 0x5B, 0x12, 0x71, 0x99, 0xA8 } \
3008}
3009struct IPciAddress_vtbl
3010{
3011 struct nsISupports_vtbl nsisupports;
3012
3013 nsresult (*GetBus)(IPciAddress *pThis, PRInt16 *bus);
3014 nsresult (*SetBus)(IPciAddress *pThis, PRInt16 bus);
3015
3016 nsresult (*GetDevice)(IPciAddress *pThis, PRInt16 *device);
3017 nsresult (*SetDevice)(IPciAddress *pThis, PRInt16 device);
3018
3019 nsresult (*GetDevFunction)(IPciAddress *pThis, PRInt16 *devFunction);
3020 nsresult (*SetDevFunction)(IPciAddress *pThis, PRInt16 devFunction);
3021
3022 nsresult (*AsLong)(
3023 IPciAddress *pThis,
3024 PRInt32 * result
3025 );
3026
3027 nsresult (*FromLong)(
3028 IPciAddress *pThis,
3029 PRInt32 number
3030 );
3031
3032};
3033
3034struct IPciAddress
3035{
3036 struct IPciAddress_vtbl *vtbl;
3037};
3038/* End of struct IPciAddress Declaration */
3039
3040
3041/* Start of struct IPciDeviceAttachment Declaration */
3042#define IPCIDEVICEATTACHMENT_IID_STR "91f33d6f-e621-4f70-a77e-15f0e3c714d5"
3043#define IPCIDEVICEATTACHMENT_IID { \
3044 0x91f33d6f, 0xe621, 0x4f70, \
3045 { 0xa7, 0x7e, 0x15, 0xf0, 0xe3, 0xc7, 0x14, 0xd5 } \
3046}
3047struct IPciDeviceAttachment_vtbl
3048{
3049 struct nsISupports_vtbl nsisupports;
3050
3051 nsresult (*GetName)(IPciDeviceAttachment *pThis, PRUnichar * *name);
3052
3053 nsresult (*GetIsPhysicalDevice)(IPciDeviceAttachment *pThis, PRBool *isPhysicalDevice);
3054
3055 nsresult (*GetHostAddress)(IPciDeviceAttachment *pThis, PRInt32 *hostAddress);
3056
3057 nsresult (*GetGuestAddress)(IPciDeviceAttachment *pThis, PRInt32 *guestAddress);
3058
3059};
3060
3061struct IPciDeviceAttachment
3062{
3063 struct IPciDeviceAttachment_vtbl *vtbl;
3064};
3065/* End of struct IPciDeviceAttachment Declaration */
3066
3067
3068/* Start of struct IMachine Declaration */
3069#define IMACHINE_IID_STR "5eaa9319-62fc-4b0a-843c-0cb1940f8a91"
3070#define IMACHINE_IID { \
3071 0x5eaa9319, 0x62fc, 0x4b0a, \
3072 { 0x84, 0x3c, 0x0c, 0xb1, 0x94, 0x0f, 0x8a, 0x91 } \
3073}
3074struct IMachine_vtbl
3075{
3076 struct nsISupports_vtbl nsisupports;
3077
3078 nsresult (*GetParent)(IMachine *pThis, IVirtualBox * *parent);
3079
3080 nsresult (*GetAccessible)(IMachine *pThis, PRBool *accessible);
3081
3082 nsresult (*GetAccessError)(IMachine *pThis, IVirtualBoxErrorInfo * *accessError);
3083
3084 nsresult (*GetName)(IMachine *pThis, PRUnichar * *name);
3085 nsresult (*SetName)(IMachine *pThis, PRUnichar * name);
3086
3087 nsresult (*GetDescription)(IMachine *pThis, PRUnichar * *description);
3088 nsresult (*SetDescription)(IMachine *pThis, PRUnichar * description);
3089
3090 nsresult (*GetId)(IMachine *pThis, PRUnichar * *id);
3091
3092 nsresult (*GetOSTypeId)(IMachine *pThis, PRUnichar * *OSTypeId);
3093 nsresult (*SetOSTypeId)(IMachine *pThis, PRUnichar * OSTypeId);
3094
3095 nsresult (*GetHardwareVersion)(IMachine *pThis, PRUnichar * *hardwareVersion);
3096 nsresult (*SetHardwareVersion)(IMachine *pThis, PRUnichar * hardwareVersion);
3097
3098 nsresult (*GetHardwareUUID)(IMachine *pThis, PRUnichar * *hardwareUUID);
3099 nsresult (*SetHardwareUUID)(IMachine *pThis, PRUnichar * hardwareUUID);
3100
3101 nsresult (*GetCPUCount)(IMachine *pThis, PRUint32 *CPUCount);
3102 nsresult (*SetCPUCount)(IMachine *pThis, PRUint32 CPUCount);
3103
3104 nsresult (*GetCPUHotPlugEnabled)(IMachine *pThis, PRBool *CPUHotPlugEnabled);
3105 nsresult (*SetCPUHotPlugEnabled)(IMachine *pThis, PRBool CPUHotPlugEnabled);
3106
3107 nsresult (*GetCPUExecutionCap)(IMachine *pThis, PRUint32 *CPUExecutionCap);
3108 nsresult (*SetCPUExecutionCap)(IMachine *pThis, PRUint32 CPUExecutionCap);
3109
3110 nsresult (*GetMemorySize)(IMachine *pThis, PRUint32 *memorySize);
3111 nsresult (*SetMemorySize)(IMachine *pThis, PRUint32 memorySize);
3112
3113 nsresult (*GetMemoryBalloonSize)(IMachine *pThis, PRUint32 *memoryBalloonSize);
3114 nsresult (*SetMemoryBalloonSize)(IMachine *pThis, PRUint32 memoryBalloonSize);
3115
3116 nsresult (*GetPageFusionEnabled)(IMachine *pThis, PRBool *pageFusionEnabled);
3117 nsresult (*SetPageFusionEnabled)(IMachine *pThis, PRBool pageFusionEnabled);
3118
3119 nsresult (*GetVRAMSize)(IMachine *pThis, PRUint32 *VRAMSize);
3120 nsresult (*SetVRAMSize)(IMachine *pThis, PRUint32 VRAMSize);
3121
3122 nsresult (*GetAccelerate3DEnabled)(IMachine *pThis, PRBool *accelerate3DEnabled);
3123 nsresult (*SetAccelerate3DEnabled)(IMachine *pThis, PRBool accelerate3DEnabled);
3124
3125 nsresult (*GetAccelerate2DVideoEnabled)(IMachine *pThis, PRBool *accelerate2DVideoEnabled);
3126 nsresult (*SetAccelerate2DVideoEnabled)(IMachine *pThis, PRBool accelerate2DVideoEnabled);
3127
3128 nsresult (*GetMonitorCount)(IMachine *pThis, PRUint32 *monitorCount);
3129 nsresult (*SetMonitorCount)(IMachine *pThis, PRUint32 monitorCount);
3130
3131 nsresult (*GetBIOSSettings)(IMachine *pThis, IBIOSSettings * *BIOSSettings);
3132
3133 nsresult (*GetFirmwareType)(IMachine *pThis, PRUint32 *firmwareType);
3134 nsresult (*SetFirmwareType)(IMachine *pThis, PRUint32 firmwareType);
3135
3136 nsresult (*GetPointingHidType)(IMachine *pThis, PRUint32 *pointingHidType);
3137 nsresult (*SetPointingHidType)(IMachine *pThis, PRUint32 pointingHidType);
3138
3139 nsresult (*GetKeyboardHidType)(IMachine *pThis, PRUint32 *keyboardHidType);
3140 nsresult (*SetKeyboardHidType)(IMachine *pThis, PRUint32 keyboardHidType);
3141
3142 nsresult (*GetHpetEnabled)(IMachine *pThis, PRBool *hpetEnabled);
3143 nsresult (*SetHpetEnabled)(IMachine *pThis, PRBool hpetEnabled);
3144
3145 nsresult (*GetChipsetType)(IMachine *pThis, PRUint32 *chipsetType);
3146 nsresult (*SetChipsetType)(IMachine *pThis, PRUint32 chipsetType);
3147
3148 nsresult (*GetSnapshotFolder)(IMachine *pThis, PRUnichar * *snapshotFolder);
3149 nsresult (*SetSnapshotFolder)(IMachine *pThis, PRUnichar * snapshotFolder);
3150
3151 nsresult (*GetVRDEServer)(IMachine *pThis, IVRDEServer * *VRDEServer);
3152
3153 nsresult (*GetEmulatedUSBWebcameraEnabled)(IMachine *pThis, PRBool *emulatedUSBWebcameraEnabled);
3154 nsresult (*SetEmulatedUSBWebcameraEnabled)(IMachine *pThis, PRBool emulatedUSBWebcameraEnabled);
3155
3156 nsresult (*GetEmulatedUSBCardReaderEnabled)(IMachine *pThis, PRBool *emulatedUSBCardReaderEnabled);
3157 nsresult (*SetEmulatedUSBCardReaderEnabled)(IMachine *pThis, PRBool emulatedUSBCardReaderEnabled);
3158
3159 nsresult (*GetMediumAttachments)(IMachine *pThis, PRUint32 *mediumAttachmentsSize, IMediumAttachment * **mediumAttachments);
3160
3161 nsresult (*GetUSBController)(IMachine *pThis, IUSBController * *USBController);
3162
3163 nsresult (*GetAudioAdapter)(IMachine *pThis, IAudioAdapter * *audioAdapter);
3164
3165 nsresult (*GetStorageControllers)(IMachine *pThis, PRUint32 *storageControllersSize, IStorageController * **storageControllers);
3166
3167 nsresult (*GetSettingsFilePath)(IMachine *pThis, PRUnichar * *settingsFilePath);
3168
3169 nsresult (*GetSettingsModified)(IMachine *pThis, PRBool *settingsModified);
3170
3171 nsresult (*GetSessionState)(IMachine *pThis, PRUint32 *sessionState);
3172
3173 nsresult (*GetSessionType)(IMachine *pThis, PRUnichar * *sessionType);
3174
3175 nsresult (*GetSessionPid)(IMachine *pThis, PRUint32 *sessionPid);
3176
3177 nsresult (*GetState)(IMachine *pThis, PRUint32 *state);
3178
3179 nsresult (*GetLastStateChange)(IMachine *pThis, PRInt64 *lastStateChange);
3180
3181 nsresult (*GetStateFilePath)(IMachine *pThis, PRUnichar * *stateFilePath);
3182
3183 nsresult (*GetLogFolder)(IMachine *pThis, PRUnichar * *logFolder);
3184
3185 nsresult (*GetCurrentSnapshot)(IMachine *pThis, ISnapshot * *currentSnapshot);
3186
3187 nsresult (*GetSnapshotCount)(IMachine *pThis, PRUint32 *snapshotCount);
3188
3189 nsresult (*GetCurrentStateModified)(IMachine *pThis, PRBool *currentStateModified);
3190
3191 nsresult (*GetSharedFolders)(IMachine *pThis, PRUint32 *sharedFoldersSize, ISharedFolder * **sharedFolders);
3192
3193 nsresult (*GetClipboardMode)(IMachine *pThis, PRUint32 *clipboardMode);
3194 nsresult (*SetClipboardMode)(IMachine *pThis, PRUint32 clipboardMode);
3195
3196 nsresult (*GetGuestPropertyNotificationPatterns)(IMachine *pThis, PRUnichar * *guestPropertyNotificationPatterns);
3197 nsresult (*SetGuestPropertyNotificationPatterns)(IMachine *pThis, PRUnichar * guestPropertyNotificationPatterns);
3198
3199 nsresult (*GetTeleporterEnabled)(IMachine *pThis, PRBool *teleporterEnabled);
3200 nsresult (*SetTeleporterEnabled)(IMachine *pThis, PRBool teleporterEnabled);
3201
3202 nsresult (*GetTeleporterPort)(IMachine *pThis, PRUint32 *teleporterPort);
3203 nsresult (*SetTeleporterPort)(IMachine *pThis, PRUint32 teleporterPort);
3204
3205 nsresult (*GetTeleporterAddress)(IMachine *pThis, PRUnichar * *teleporterAddress);
3206 nsresult (*SetTeleporterAddress)(IMachine *pThis, PRUnichar * teleporterAddress);
3207
3208 nsresult (*GetTeleporterPassword)(IMachine *pThis, PRUnichar * *teleporterPassword);
3209 nsresult (*SetTeleporterPassword)(IMachine *pThis, PRUnichar * teleporterPassword);
3210
3211 nsresult (*GetFaultToleranceState)(IMachine *pThis, PRUint32 *faultToleranceState);
3212 nsresult (*SetFaultToleranceState)(IMachine *pThis, PRUint32 faultToleranceState);
3213
3214 nsresult (*GetFaultTolerancePort)(IMachine *pThis, PRUint32 *faultTolerancePort);
3215 nsresult (*SetFaultTolerancePort)(IMachine *pThis, PRUint32 faultTolerancePort);
3216
3217 nsresult (*GetFaultToleranceAddress)(IMachine *pThis, PRUnichar * *faultToleranceAddress);
3218 nsresult (*SetFaultToleranceAddress)(IMachine *pThis, PRUnichar * faultToleranceAddress);
3219
3220 nsresult (*GetFaultTolerancePassword)(IMachine *pThis, PRUnichar * *faultTolerancePassword);
3221 nsresult (*SetFaultTolerancePassword)(IMachine *pThis, PRUnichar * faultTolerancePassword);
3222
3223 nsresult (*GetFaultToleranceSyncInterval)(IMachine *pThis, PRUint32 *faultToleranceSyncInterval);
3224 nsresult (*SetFaultToleranceSyncInterval)(IMachine *pThis, PRUint32 faultToleranceSyncInterval);
3225
3226 nsresult (*GetRTCUseUTC)(IMachine *pThis, PRBool *RTCUseUTC);
3227 nsresult (*SetRTCUseUTC)(IMachine *pThis, PRBool RTCUseUTC);
3228
3229 nsresult (*GetIoCacheEnabled)(IMachine *pThis, PRBool *ioCacheEnabled);
3230 nsresult (*SetIoCacheEnabled)(IMachine *pThis, PRBool ioCacheEnabled);
3231
3232 nsresult (*GetIoCacheSize)(IMachine *pThis, PRUint32 *ioCacheSize);
3233 nsresult (*SetIoCacheSize)(IMachine *pThis, PRUint32 ioCacheSize);
3234
3235 nsresult (*GetBandwidthControl)(IMachine *pThis, IBandwidthControl * *bandwidthControl);
3236
3237 nsresult (*GetPciDeviceAssignments)(IMachine *pThis, PRUint32 *pciDeviceAssignmentsSize, IPciDeviceAttachment * **pciDeviceAssignments);
3238
3239 nsresult (*LockMachine)(
3240 IMachine *pThis,
3241 ISession * session,
3242 PRUint32 lockType
3243 );
3244
3245 nsresult (*LaunchVMProcess)(
3246 IMachine *pThis,
3247 ISession * session,
3248 PRUnichar * type,
3249 PRUnichar * environment,
3250 IProgress * * progress
3251 );
3252
3253 nsresult (*SetBootOrder)(
3254 IMachine *pThis,
3255 PRUint32 position,
3256 PRUint32 device
3257 );
3258
3259 nsresult (*GetBootOrder)(
3260 IMachine *pThis,
3261 PRUint32 position,
3262 PRUint32 * device
3263 );
3264
3265 nsresult (*AttachDevice)(
3266 IMachine *pThis,
3267 PRUnichar * name,
3268 PRInt32 controllerPort,
3269 PRInt32 device,
3270 PRUint32 type,
3271 IMedium * medium
3272 );
3273
3274 nsresult (*DetachDevice)(
3275 IMachine *pThis,
3276 PRUnichar * name,
3277 PRInt32 controllerPort,
3278 PRInt32 device
3279 );
3280
3281 nsresult (*PassthroughDevice)(
3282 IMachine *pThis,
3283 PRUnichar * name,
3284 PRInt32 controllerPort,
3285 PRInt32 device,
3286 PRBool passthrough
3287 );
3288
3289 nsresult (*TemporaryEjectDevice)(
3290 IMachine *pThis,
3291 PRUnichar * name,
3292 PRInt32 controllerPort,
3293 PRInt32 device,
3294 PRBool temporaryEject
3295 );
3296
3297 nsresult (*NonRotationalDevice)(
3298 IMachine *pThis,
3299 PRUnichar * name,
3300 PRInt32 controllerPort,
3301 PRInt32 device,
3302 PRBool nonRotational
3303 );
3304
3305 nsresult (*SetBandwidthGroupForDevice)(
3306 IMachine *pThis,
3307 PRUnichar * name,
3308 PRInt32 controllerPort,
3309 PRInt32 device,
3310 IBandwidthGroup * bandwidthGroup
3311 );
3312
3313 nsresult (*MountMedium)(
3314 IMachine *pThis,
3315 PRUnichar * name,
3316 PRInt32 controllerPort,
3317 PRInt32 device,
3318 IMedium * medium,
3319 PRBool force
3320 );
3321
3322 nsresult (*GetMedium)(
3323 IMachine *pThis,
3324 PRUnichar * name,
3325 PRInt32 controllerPort,
3326 PRInt32 device,
3327 IMedium * * medium
3328 );
3329
3330 nsresult (*GetMediumAttachmentsOfController)(
3331 IMachine *pThis,
3332 PRUnichar * name,
3333 PRUint32 *mediumAttachmentsSize,
3334 IMediumAttachment *** mediumAttachments
3335 );
3336
3337 nsresult (*GetMediumAttachment)(
3338 IMachine *pThis,
3339 PRUnichar * name,
3340 PRInt32 controllerPort,
3341 PRInt32 device,
3342 IMediumAttachment * * attachment
3343 );
3344
3345 nsresult (*AttachHostPciDevice)(
3346 IMachine *pThis,
3347 PRInt32 hostAddress,
3348 PRInt32 desiredGuestAddress,
3349 PRBool tryToUnbind
3350 );
3351
3352 nsresult (*DetachHostPciDevice)(
3353 IMachine *pThis,
3354 PRInt32 hostAddress
3355 );
3356
3357 nsresult (*GetNetworkAdapter)(
3358 IMachine *pThis,
3359 PRUint32 slot,
3360 INetworkAdapter * * adapter
3361 );
3362
3363 nsresult (*AddStorageController)(
3364 IMachine *pThis,
3365 PRUnichar * name,
3366 PRUint32 connectionType,
3367 IStorageController * * controller
3368 );
3369
3370 nsresult (*GetStorageControllerByName)(
3371 IMachine *pThis,
3372 PRUnichar * name,
3373 IStorageController * * storageController
3374 );
3375
3376 nsresult (*GetStorageControllerByInstance)(
3377 IMachine *pThis,
3378 PRUint32 instance,
3379 IStorageController * * storageController
3380 );
3381
3382 nsresult (*RemoveStorageController)(
3383 IMachine *pThis,
3384 PRUnichar * name
3385 );
3386
3387 nsresult (*SetStorageControllerBootable)(
3388 IMachine *pThis,
3389 PRUnichar * name,
3390 PRBool bootable
3391 );
3392
3393 nsresult (*GetSerialPort)(
3394 IMachine *pThis,
3395 PRUint32 slot,
3396 ISerialPort * * port
3397 );
3398
3399 nsresult (*GetParallelPort)(
3400 IMachine *pThis,
3401 PRUint32 slot,
3402 IParallelPort * * port
3403 );
3404
3405 nsresult (*GetExtraDataKeys)(
3406 IMachine *pThis,
3407 PRUint32 *valueSize,
3408 PRUnichar *** value
3409 );
3410
3411 nsresult (*GetExtraData)(
3412 IMachine *pThis,
3413 PRUnichar * key,
3414 PRUnichar * * value
3415 );
3416
3417 nsresult (*SetExtraData)(
3418 IMachine *pThis,
3419 PRUnichar * key,
3420 PRUnichar * value
3421 );
3422
3423 nsresult (*GetCPUProperty)(
3424 IMachine *pThis,
3425 PRUint32 property,
3426 PRBool * value
3427 );
3428
3429 nsresult (*SetCPUProperty)(
3430 IMachine *pThis,
3431 PRUint32 property,
3432 PRBool value
3433 );
3434
3435 nsresult (*GetCPUIDLeaf)(
3436 IMachine *pThis,
3437 PRUint32 id,
3438 PRUint32 * valEax,
3439 PRUint32 * valEbx,
3440 PRUint32 * valEcx,
3441 PRUint32 * valEdx
3442 );
3443
3444 nsresult (*SetCPUIDLeaf)(
3445 IMachine *pThis,
3446 PRUint32 id,
3447 PRUint32 valEax,
3448 PRUint32 valEbx,
3449 PRUint32 valEcx,
3450 PRUint32 valEdx
3451 );
3452
3453 nsresult (*RemoveCPUIDLeaf)(
3454 IMachine *pThis,
3455 PRUint32 id
3456 );
3457
3458 nsresult (*RemoveAllCPUIDLeaves)(IMachine *pThis );
3459
3460 nsresult (*GetHWVirtExProperty)(
3461 IMachine *pThis,
3462 PRUint32 property,
3463 PRBool * value
3464 );
3465
3466 nsresult (*SetHWVirtExProperty)(
3467 IMachine *pThis,
3468 PRUint32 property,
3469 PRBool value
3470 );
3471
3472 nsresult (*SaveSettings)(IMachine *pThis );
3473
3474 nsresult (*DiscardSettings)(IMachine *pThis );
3475
3476 nsresult (*Unregister)(
3477 IMachine *pThis,
3478 PRUint32 cleanupMode,
3479 PRUint32 *aMediaSize,
3480 IMedium *** aMedia
3481 );
3482
3483 nsresult (*Delete)(
3484 IMachine *pThis,
3485 PRUint32 aMediaSize,
3486 IMedium ** aMedia,
3487 IProgress * * aProgress
3488 );
3489
3490 nsresult (*Export)(
3491 IMachine *pThis,
3492 IAppliance * aAppliance,
3493 PRUnichar * location,
3494 IVirtualSystemDescription * * aDescription
3495 );
3496
3497 nsresult (*FindSnapshot)(
3498 IMachine *pThis,
3499 PRUnichar * nameOrId,
3500 ISnapshot * * snapshot
3501 );
3502
3503 nsresult (*CreateSharedFolder)(
3504 IMachine *pThis,
3505 PRUnichar * name,
3506 PRUnichar * hostPath,
3507 PRBool writable,
3508 PRBool automount
3509 );
3510
3511 nsresult (*RemoveSharedFolder)(
3512 IMachine *pThis,
3513 PRUnichar * name
3514 );
3515
3516 nsresult (*CanShowConsoleWindow)(
3517 IMachine *pThis,
3518 PRBool * canShow
3519 );
3520
3521 nsresult (*ShowConsoleWindow)(
3522 IMachine *pThis,
3523 PRInt64 * winId
3524 );
3525
3526 nsresult (*GetGuestProperty)(
3527 IMachine *pThis,
3528 PRUnichar * name,
3529 PRUnichar * * value,
3530 PRInt64 * timestamp,
3531 PRUnichar * * flags
3532 );
3533
3534 nsresult (*GetGuestPropertyValue)(
3535 IMachine *pThis,
3536 PRUnichar * property,
3537 PRUnichar * * value
3538 );
3539
3540 nsresult (*GetGuestPropertyTimestamp)(
3541 IMachine *pThis,
3542 PRUnichar * property,
3543 PRInt64 * value
3544 );
3545
3546 nsresult (*SetGuestProperty)(
3547 IMachine *pThis,
3548 PRUnichar * property,
3549 PRUnichar * value,
3550 PRUnichar * flags
3551 );
3552
3553 nsresult (*SetGuestPropertyValue)(
3554 IMachine *pThis,
3555 PRUnichar * property,
3556 PRUnichar * value
3557 );
3558
3559 nsresult (*EnumerateGuestProperties)(
3560 IMachine *pThis,
3561 PRUnichar * patterns,
3562 PRUint32 *nameSize,
3563 PRUnichar *** name,
3564 PRUint32 *valueSize,
3565 PRUnichar *** value,
3566 PRUint32 *timestampSize,
3567 PRInt64* timestamp,
3568 PRUint32 *flagsSize,
3569 PRUnichar *** flags
3570 );
3571
3572 nsresult (*QuerySavedGuestSize)(
3573 IMachine *pThis,
3574 PRUint32 screenId,
3575 PRUint32 * width,
3576 PRUint32 * height
3577 );
3578
3579 nsresult (*QuerySavedThumbnailSize)(
3580 IMachine *pThis,
3581 PRUint32 screenId,
3582 PRUint32 * size,
3583 PRUint32 * width,
3584 PRUint32 * height
3585 );
3586
3587 nsresult (*ReadSavedThumbnailToArray)(
3588 IMachine *pThis,
3589 PRUint32 screenId,
3590 PRBool BGR,
3591 PRUint32 * width,
3592 PRUint32 * height,
3593 PRUint32 *dataSize,
3594 PRUint8** data
3595 );
3596
3597 nsresult (*ReadSavedThumbnailPNGToArray)(
3598 IMachine *pThis,
3599 PRUint32 screenId,
3600 PRUint32 * width,
3601 PRUint32 * height,
3602 PRUint32 *dataSize,
3603 PRUint8** data
3604 );
3605
3606 nsresult (*QuerySavedScreenshotPNGSize)(
3607 IMachine *pThis,
3608 PRUint32 screenId,
3609 PRUint32 * size,
3610 PRUint32 * width,
3611 PRUint32 * height
3612 );
3613
3614 nsresult (*ReadSavedScreenshotPNGToArray)(
3615 IMachine *pThis,
3616 PRUint32 screenId,
3617 PRUint32 * width,
3618 PRUint32 * height,
3619 PRUint32 *dataSize,
3620 PRUint8** data
3621 );
3622
3623 nsresult (*HotPlugCPU)(
3624 IMachine *pThis,
3625 PRUint32 cpu
3626 );
3627
3628 nsresult (*HotUnplugCPU)(
3629 IMachine *pThis,
3630 PRUint32 cpu
3631 );
3632
3633 nsresult (*GetCPUStatus)(
3634 IMachine *pThis,
3635 PRUint32 cpu,
3636 PRBool * attached
3637 );
3638
3639 nsresult (*QueryLogFilename)(
3640 IMachine *pThis,
3641 PRUint32 idx,
3642 PRUnichar * * filename
3643 );
3644
3645 nsresult (*ReadLog)(
3646 IMachine *pThis,
3647 PRUint32 idx,
3648 PRInt64 offset,
3649 PRInt64 size,
3650 PRUint32 *dataSize,
3651 PRUint8** data
3652 );
3653
3654 nsresult (*CloneTo)(
3655 IMachine *pThis,
3656 IMachine * target,
3657 PRUint32 mode,
3658 PRUint32 optionsSize,
3659 PRUint32* options,
3660 IProgress * * progress
3661 );
3662
3663};
3664
3665struct IMachine
3666{
3667 struct IMachine_vtbl *vtbl;
3668};
3669/* End of struct IMachine Declaration */
3670
3671
3672/* Start of struct IVRDEServerInfo Declaration */
3673#define IVRDESERVERINFO_IID_STR "714434a1-58c3-4aab-9049-7652c5df113b"
3674#define IVRDESERVERINFO_IID { \
3675 0x714434a1, 0x58c3, 0x4aab, \
3676 { 0x90, 0x49, 0x76, 0x52, 0xc5, 0xdf, 0x11, 0x3b } \
3677}
3678struct IVRDEServerInfo_vtbl
3679{
3680 struct nsISupports_vtbl nsisupports;
3681
3682 nsresult (*GetActive)(IVRDEServerInfo *pThis, PRBool *active);
3683
3684 nsresult (*GetPort)(IVRDEServerInfo *pThis, PRInt32 *port);
3685
3686 nsresult (*GetNumberOfClients)(IVRDEServerInfo *pThis, PRUint32 *numberOfClients);
3687
3688 nsresult (*GetBeginTime)(IVRDEServerInfo *pThis, PRInt64 *beginTime);
3689
3690 nsresult (*GetEndTime)(IVRDEServerInfo *pThis, PRInt64 *endTime);
3691
3692 nsresult (*GetBytesSent)(IVRDEServerInfo *pThis, PRInt64 *bytesSent);
3693
3694 nsresult (*GetBytesSentTotal)(IVRDEServerInfo *pThis, PRInt64 *bytesSentTotal);
3695
3696 nsresult (*GetBytesReceived)(IVRDEServerInfo *pThis, PRInt64 *bytesReceived);
3697
3698 nsresult (*GetBytesReceivedTotal)(IVRDEServerInfo *pThis, PRInt64 *bytesReceivedTotal);
3699
3700 nsresult (*GetUser)(IVRDEServerInfo *pThis, PRUnichar * *user);
3701
3702 nsresult (*GetDomain)(IVRDEServerInfo *pThis, PRUnichar * *domain);
3703
3704 nsresult (*GetClientName)(IVRDEServerInfo *pThis, PRUnichar * *clientName);
3705
3706 nsresult (*GetClientIP)(IVRDEServerInfo *pThis, PRUnichar * *clientIP);
3707
3708 nsresult (*GetClientVersion)(IVRDEServerInfo *pThis, PRUint32 *clientVersion);
3709
3710 nsresult (*GetEncryptionStyle)(IVRDEServerInfo *pThis, PRUint32 *encryptionStyle);
3711
3712};
3713
3714struct IVRDEServerInfo
3715{
3716 struct IVRDEServerInfo_vtbl *vtbl;
3717};
3718/* End of struct IVRDEServerInfo Declaration */
3719
3720
3721/* Start of struct IConsole Declaration */
3722#define ICONSOLE_IID_STR "1968b7d3-e3bf-4ceb-99e0-cb7c913317bb"
3723#define ICONSOLE_IID { \
3724 0x1968b7d3, 0xe3bf, 0x4ceb, \
3725 { 0x99, 0xe0, 0xcb, 0x7c, 0x91, 0x33, 0x17, 0xbb } \
3726}
3727struct IConsole_vtbl
3728{
3729 struct nsISupports_vtbl nsisupports;
3730
3731 nsresult (*GetMachine)(IConsole *pThis, IMachine * *machine);
3732
3733 nsresult (*GetState)(IConsole *pThis, PRUint32 *state);
3734
3735 nsresult (*GetGuest)(IConsole *pThis, IGuest * *guest);
3736
3737 nsresult (*GetKeyboard)(IConsole *pThis, IKeyboard * *keyboard);
3738
3739 nsresult (*GetMouse)(IConsole *pThis, IMouse * *mouse);
3740
3741 nsresult (*GetDisplay)(IConsole *pThis, IDisplay * *display);
3742
3743 nsresult (*GetDebugger)(IConsole *pThis, IMachineDebugger * *debugger);
3744
3745 nsresult (*GetUSBDevices)(IConsole *pThis, PRUint32 *USBDevicesSize, IUSBDevice * **USBDevices);
3746
3747 nsresult (*GetRemoteUSBDevices)(IConsole *pThis, PRUint32 *remoteUSBDevicesSize, IHostUSBDevice * **remoteUSBDevices);
3748
3749 nsresult (*GetSharedFolders)(IConsole *pThis, PRUint32 *sharedFoldersSize, ISharedFolder * **sharedFolders);
3750
3751 nsresult (*GetVRDEServerInfo)(IConsole *pThis, IVRDEServerInfo * *VRDEServerInfo);
3752
3753 nsresult (*GetEventSource)(IConsole *pThis, IEventSource * *eventSource);
3754
3755 nsresult (*GetAttachedPciDevices)(IConsole *pThis, PRUint32 *attachedPciDevicesSize, IPciDeviceAttachment * **attachedPciDevices);
3756
3757 nsresult (*GetUseHostClipboard)(IConsole *pThis, PRBool *useHostClipboard);
3758 nsresult (*SetUseHostClipboard)(IConsole *pThis, PRBool useHostClipboard);
3759
3760 nsresult (*PowerUp)(
3761 IConsole *pThis,
3762 IProgress * * progress
3763 );
3764
3765 nsresult (*PowerUpPaused)(
3766 IConsole *pThis,
3767 IProgress * * progress
3768 );
3769
3770 nsresult (*PowerDown)(
3771 IConsole *pThis,
3772 IProgress * * progress
3773 );
3774
3775 nsresult (*Reset)(IConsole *pThis );
3776
3777 nsresult (*Pause)(IConsole *pThis );
3778
3779 nsresult (*Resume)(IConsole *pThis );
3780
3781 nsresult (*PowerButton)(IConsole *pThis );
3782
3783 nsresult (*SleepButton)(IConsole *pThis );
3784
3785 nsresult (*GetPowerButtonHandled)(
3786 IConsole *pThis,
3787 PRBool * handled
3788 );
3789
3790 nsresult (*GetGuestEnteredACPIMode)(
3791 IConsole *pThis,
3792 PRBool * entered
3793 );
3794
3795 nsresult (*SaveState)(
3796 IConsole *pThis,
3797 IProgress * * progress
3798 );
3799
3800 nsresult (*AdoptSavedState)(
3801 IConsole *pThis,
3802 PRUnichar * savedStateFile
3803 );
3804
3805 nsresult (*DiscardSavedState)(
3806 IConsole *pThis,
3807 PRBool fRemoveFile
3808 );
3809
3810 nsresult (*GetDeviceActivity)(
3811 IConsole *pThis,
3812 PRUint32 type,
3813 PRUint32 * activity
3814 );
3815
3816 nsresult (*AttachUSBDevice)(
3817 IConsole *pThis,
3818 PRUnichar * id
3819 );
3820
3821 nsresult (*DetachUSBDevice)(
3822 IConsole *pThis,
3823 PRUnichar * id,
3824 IUSBDevice * * device
3825 );
3826
3827 nsresult (*FindUSBDeviceByAddress)(
3828 IConsole *pThis,
3829 PRUnichar * name,
3830 IUSBDevice * * device
3831 );
3832
3833 nsresult (*FindUSBDeviceById)(
3834 IConsole *pThis,
3835 PRUnichar * id,
3836 IUSBDevice * * device
3837 );
3838
3839 nsresult (*CreateSharedFolder)(
3840 IConsole *pThis,
3841 PRUnichar * name,
3842 PRUnichar * hostPath,
3843 PRBool writable,
3844 PRBool automount
3845 );
3846
3847 nsresult (*RemoveSharedFolder)(
3848 IConsole *pThis,
3849 PRUnichar * name
3850 );
3851
3852 nsresult (*TakeSnapshot)(
3853 IConsole *pThis,
3854 PRUnichar * name,
3855 PRUnichar * description,
3856 IProgress * * progress
3857 );
3858
3859 nsresult (*DeleteSnapshot)(
3860 IConsole *pThis,
3861 PRUnichar * id,
3862 IProgress * * progress
3863 );
3864
3865 nsresult (*DeleteSnapshotAndAllChildren)(
3866 IConsole *pThis,
3867 PRUnichar * id,
3868 IProgress * * progress
3869 );
3870
3871 nsresult (*DeleteSnapshotRange)(
3872 IConsole *pThis,
3873 PRUnichar * startId,
3874 PRUnichar * endId,
3875 IProgress * * progress
3876 );
3877
3878 nsresult (*RestoreSnapshot)(
3879 IConsole *pThis,
3880 ISnapshot * snapshot,
3881 IProgress * * progress
3882 );
3883
3884 nsresult (*Teleport)(
3885 IConsole *pThis,
3886 PRUnichar * hostname,
3887 PRUint32 tcpport,
3888 PRUnichar * password,
3889 PRUint32 maxDowntime,
3890 IProgress * * progress
3891 );
3892
3893};
3894
3895struct IConsole
3896{
3897 struct IConsole_vtbl *vtbl;
3898};
3899/* End of struct IConsole Declaration */
3900
3901
3902/* Start of struct IHostNetworkInterface Declaration */
3903#define IHOSTNETWORKINTERFACE_IID_STR "ce6fae58-7642-4102-b5db-c9005c2320a8"
3904#define IHOSTNETWORKINTERFACE_IID { \
3905 0xce6fae58, 0x7642, 0x4102, \
3906 { 0xb5, 0xdb, 0xc9, 0x00, 0x5c, 0x23, 0x20, 0xa8 } \
3907}
3908struct IHostNetworkInterface_vtbl
3909{
3910 struct nsISupports_vtbl nsisupports;
3911
3912 nsresult (*GetName)(IHostNetworkInterface *pThis, PRUnichar * *name);
3913
3914 nsresult (*GetId)(IHostNetworkInterface *pThis, PRUnichar * *id);
3915
3916 nsresult (*GetNetworkName)(IHostNetworkInterface *pThis, PRUnichar * *networkName);
3917
3918 nsresult (*GetDhcpEnabled)(IHostNetworkInterface *pThis, PRBool *dhcpEnabled);
3919
3920 nsresult (*GetIPAddress)(IHostNetworkInterface *pThis, PRUnichar * *IPAddress);
3921
3922 nsresult (*GetNetworkMask)(IHostNetworkInterface *pThis, PRUnichar * *networkMask);
3923
3924 nsresult (*GetIPV6Supported)(IHostNetworkInterface *pThis, PRBool *IPV6Supported);
3925
3926 nsresult (*GetIPV6Address)(IHostNetworkInterface *pThis, PRUnichar * *IPV6Address);
3927
3928 nsresult (*GetIPV6NetworkMaskPrefixLength)(IHostNetworkInterface *pThis, PRUint32 *IPV6NetworkMaskPrefixLength);
3929
3930 nsresult (*GetHardwareAddress)(IHostNetworkInterface *pThis, PRUnichar * *hardwareAddress);
3931
3932 nsresult (*GetMediumType)(IHostNetworkInterface *pThis, PRUint32 *mediumType);
3933
3934 nsresult (*GetStatus)(IHostNetworkInterface *pThis, PRUint32 *status);
3935
3936 nsresult (*GetInterfaceType)(IHostNetworkInterface *pThis, PRUint32 *interfaceType);
3937
3938 nsresult (*EnableStaticIpConfig)(
3939 IHostNetworkInterface *pThis,
3940 PRUnichar * IPAddress,
3941 PRUnichar * networkMask
3942 );
3943
3944 nsresult (*EnableStaticIpConfigV6)(
3945 IHostNetworkInterface *pThis,
3946 PRUnichar * IPV6Address,
3947 PRUint32 IPV6NetworkMaskPrefixLength
3948 );
3949
3950 nsresult (*EnableDynamicIpConfig)(IHostNetworkInterface *pThis );
3951
3952 nsresult (*DhcpRediscover)(IHostNetworkInterface *pThis );
3953
3954};
3955
3956struct IHostNetworkInterface
3957{
3958 struct IHostNetworkInterface_vtbl *vtbl;
3959};
3960/* End of struct IHostNetworkInterface Declaration */
3961
3962
3963/* Start of struct IHost Declaration */
3964#define IHOST_IID_STR "dab4a2b8-c735-4f08-94fc-9bec84182e2f"
3965#define IHOST_IID { \
3966 0xdab4a2b8, 0xc735, 0x4f08, \
3967 { 0x94, 0xfc, 0x9b, 0xec, 0x84, 0x18, 0x2e, 0x2f } \
3968}
3969struct IHost_vtbl
3970{
3971 struct nsISupports_vtbl nsisupports;
3972
3973 nsresult (*GetDVDDrives)(IHost *pThis, PRUint32 *DVDDrivesSize, IMedium * **DVDDrives);
3974
3975 nsresult (*GetFloppyDrives)(IHost *pThis, PRUint32 *floppyDrivesSize, IMedium * **floppyDrives);
3976
3977 nsresult (*GetUSBDevices)(IHost *pThis, PRUint32 *USBDevicesSize, IHostUSBDevice * **USBDevices);
3978
3979 nsresult (*GetUSBDeviceFilters)(IHost *pThis, PRUint32 *USBDeviceFiltersSize, IHostUSBDeviceFilter * **USBDeviceFilters);
3980
3981 nsresult (*GetNetworkInterfaces)(IHost *pThis, PRUint32 *networkInterfacesSize, IHostNetworkInterface * **networkInterfaces);
3982
3983 nsresult (*GetProcessorCount)(IHost *pThis, PRUint32 *processorCount);
3984
3985 nsresult (*GetProcessorOnlineCount)(IHost *pThis, PRUint32 *processorOnlineCount);
3986
3987 nsresult (*GetProcessorCoreCount)(IHost *pThis, PRUint32 *processorCoreCount);
3988
3989 nsresult (*GetMemorySize)(IHost *pThis, PRUint32 *memorySize);
3990
3991 nsresult (*GetMemoryAvailable)(IHost *pThis, PRUint32 *memoryAvailable);
3992
3993 nsresult (*GetOperatingSystem)(IHost *pThis, PRUnichar * *operatingSystem);
3994
3995 nsresult (*GetOSVersion)(IHost *pThis, PRUnichar * *OSVersion);
3996
3997 nsresult (*GetUTCTime)(IHost *pThis, PRInt64 *UTCTime);
3998
3999 nsresult (*GetAcceleration3DAvailable)(IHost *pThis, PRBool *Acceleration3DAvailable);
4000
4001 nsresult (*GetProcessorSpeed)(
4002 IHost *pThis,
4003 PRUint32 cpuId,
4004 PRUint32 * speed
4005 );
4006
4007 nsresult (*GetProcessorFeature)(
4008 IHost *pThis,
4009 PRUint32 feature,
4010 PRBool * supported
4011 );
4012
4013 nsresult (*GetProcessorDescription)(
4014 IHost *pThis,
4015 PRUint32 cpuId,
4016 PRUnichar * * description
4017 );
4018
4019 nsresult (*GetProcessorCPUIDLeaf)(
4020 IHost *pThis,
4021 PRUint32 cpuId,
4022 PRUint32 leaf,
4023 PRUint32 subLeaf,
4024 PRUint32 * valEax,
4025 PRUint32 * valEbx,
4026 PRUint32 * valEcx,
4027 PRUint32 * valEdx
4028 );
4029
4030 nsresult (*CreateHostOnlyNetworkInterface)(
4031 IHost *pThis,
4032 IHostNetworkInterface * * hostInterface,
4033 IProgress * * progress
4034 );
4035
4036 nsresult (*RemoveHostOnlyNetworkInterface)(
4037 IHost *pThis,
4038 PRUnichar * id,
4039 IProgress * * progress
4040 );
4041
4042 nsresult (*CreateUSBDeviceFilter)(
4043 IHost *pThis,
4044 PRUnichar * name,
4045 IHostUSBDeviceFilter * * filter
4046 );
4047
4048 nsresult (*InsertUSBDeviceFilter)(
4049 IHost *pThis,
4050 PRUint32 position,
4051 IHostUSBDeviceFilter * filter
4052 );
4053
4054 nsresult (*RemoveUSBDeviceFilter)(
4055 IHost *pThis,
4056 PRUint32 position
4057 );
4058
4059 nsresult (*FindHostDVDDrive)(
4060 IHost *pThis,
4061 PRUnichar * name,
4062 IMedium * * drive
4063 );
4064
4065 nsresult (*FindHostFloppyDrive)(
4066 IHost *pThis,
4067 PRUnichar * name,
4068 IMedium * * drive
4069 );
4070
4071 nsresult (*FindHostNetworkInterfaceByName)(
4072 IHost *pThis,
4073 PRUnichar * name,
4074 IHostNetworkInterface * * networkInterface
4075 );
4076
4077 nsresult (*FindHostNetworkInterfaceById)(
4078 IHost *pThis,
4079 PRUnichar * id,
4080 IHostNetworkInterface * * networkInterface
4081 );
4082
4083 nsresult (*FindHostNetworkInterfacesOfType)(
4084 IHost *pThis,
4085 PRUint32 type,
4086 PRUint32 *networkInterfacesSize,
4087 IHostNetworkInterface *** networkInterfaces
4088 );
4089
4090 nsresult (*FindUSBDeviceById)(
4091 IHost *pThis,
4092 PRUnichar * id,
4093 IHostUSBDevice * * device
4094 );
4095
4096 nsresult (*FindUSBDeviceByAddress)(
4097 IHost *pThis,
4098 PRUnichar * name,
4099 IHostUSBDevice * * device
4100 );
4101
4102 nsresult (*GenerateMACAddress)(
4103 IHost *pThis,
4104 PRUnichar * * address
4105 );
4106
4107};
4108
4109struct IHost
4110{
4111 struct IHost_vtbl *vtbl;
4112};
4113/* End of struct IHost Declaration */
4114
4115
4116/* Start of struct ISystemProperties Declaration */
4117#define ISYSTEMPROPERTIES_IID_STR "8a0ab9ab-48c1-4d04-954b-4a751413d084"
4118#define ISYSTEMPROPERTIES_IID { \
4119 0x8a0ab9ab, 0x48c1, 0x4d04, \
4120 { 0x95, 0x4b, 0x4a, 0x75, 0x14, 0x13, 0xd0, 0x84 } \
4121}
4122struct ISystemProperties_vtbl
4123{
4124 struct nsISupports_vtbl nsisupports;
4125
4126 nsresult (*GetMinGuestRAM)(ISystemProperties *pThis, PRUint32 *minGuestRAM);
4127
4128 nsresult (*GetMaxGuestRAM)(ISystemProperties *pThis, PRUint32 *maxGuestRAM);
4129
4130 nsresult (*GetMinGuestVRAM)(ISystemProperties *pThis, PRUint32 *minGuestVRAM);
4131
4132 nsresult (*GetMaxGuestVRAM)(ISystemProperties *pThis, PRUint32 *maxGuestVRAM);
4133
4134 nsresult (*GetMinGuestCPUCount)(ISystemProperties *pThis, PRUint32 *minGuestCPUCount);
4135
4136 nsresult (*GetMaxGuestCPUCount)(ISystemProperties *pThis, PRUint32 *maxGuestCPUCount);
4137
4138 nsresult (*GetMaxGuestMonitors)(ISystemProperties *pThis, PRUint32 *maxGuestMonitors);
4139
4140 nsresult (*GetInfoVDSize)(ISystemProperties *pThis, PRInt64 *infoVDSize);
4141
4142 nsresult (*GetSerialPortCount)(ISystemProperties *pThis, PRUint32 *serialPortCount);
4143
4144 nsresult (*GetParallelPortCount)(ISystemProperties *pThis, PRUint32 *parallelPortCount);
4145
4146 nsresult (*GetMaxBootPosition)(ISystemProperties *pThis, PRUint32 *maxBootPosition);
4147
4148 nsresult (*GetDefaultMachineFolder)(ISystemProperties *pThis, PRUnichar * *defaultMachineFolder);
4149 nsresult (*SetDefaultMachineFolder)(ISystemProperties *pThis, PRUnichar * defaultMachineFolder);
4150
4151 nsresult (*GetMediumFormats)(ISystemProperties *pThis, PRUint32 *mediumFormatsSize, IMediumFormat * **mediumFormats);
4152
4153 nsresult (*GetDefaultHardDiskFormat)(ISystemProperties *pThis, PRUnichar * *defaultHardDiskFormat);
4154 nsresult (*SetDefaultHardDiskFormat)(ISystemProperties *pThis, PRUnichar * defaultHardDiskFormat);
4155
4156 nsresult (*GetFreeDiskSpaceWarning)(ISystemProperties *pThis, PRInt64 *freeDiskSpaceWarning);
4157 nsresult (*SetFreeDiskSpaceWarning)(ISystemProperties *pThis, PRInt64 freeDiskSpaceWarning);
4158
4159 nsresult (*GetFreeDiskSpacePercentWarning)(ISystemProperties *pThis, PRUint32 *freeDiskSpacePercentWarning);
4160 nsresult (*SetFreeDiskSpacePercentWarning)(ISystemProperties *pThis, PRUint32 freeDiskSpacePercentWarning);
4161
4162 nsresult (*GetFreeDiskSpaceError)(ISystemProperties *pThis, PRInt64 *freeDiskSpaceError);
4163 nsresult (*SetFreeDiskSpaceError)(ISystemProperties *pThis, PRInt64 freeDiskSpaceError);
4164
4165 nsresult (*GetFreeDiskSpacePercentError)(ISystemProperties *pThis, PRUint32 *freeDiskSpacePercentError);
4166 nsresult (*SetFreeDiskSpacePercentError)(ISystemProperties *pThis, PRUint32 freeDiskSpacePercentError);
4167
4168 nsresult (*GetVRDEAuthLibrary)(ISystemProperties *pThis, PRUnichar * *VRDEAuthLibrary);
4169 nsresult (*SetVRDEAuthLibrary)(ISystemProperties *pThis, PRUnichar * VRDEAuthLibrary);
4170
4171 nsresult (*GetWebServiceAuthLibrary)(ISystemProperties *pThis, PRUnichar * *webServiceAuthLibrary);
4172 nsresult (*SetWebServiceAuthLibrary)(ISystemProperties *pThis, PRUnichar * webServiceAuthLibrary);
4173
4174 nsresult (*GetDefaultVRDEExtPack)(ISystemProperties *pThis, PRUnichar * *defaultVRDEExtPack);
4175 nsresult (*SetDefaultVRDEExtPack)(ISystemProperties *pThis, PRUnichar * defaultVRDEExtPack);
4176
4177 nsresult (*GetLogHistoryCount)(ISystemProperties *pThis, PRUint32 *logHistoryCount);
4178 nsresult (*SetLogHistoryCount)(ISystemProperties *pThis, PRUint32 logHistoryCount);
4179
4180 nsresult (*GetDefaultAudioDriver)(ISystemProperties *pThis, PRUint32 *defaultAudioDriver);
4181
4182 nsresult (*GetMaxNetworkAdapters)(
4183 ISystemProperties *pThis,
4184 PRUint32 chipset,
4185 PRUint32 * maxNetworkAdapters
4186 );
4187
4188 nsresult (*GetMaxNetworkAdaptersOfType)(
4189 ISystemProperties *pThis,
4190 PRUint32 chipset,
4191 PRUint32 type,
4192 PRUint32 * maxNetworkAdapters
4193 );
4194
4195 nsresult (*GetMaxDevicesPerPortForStorageBus)(
4196 ISystemProperties *pThis,
4197 PRUint32 bus,
4198 PRUint32 * maxDevicesPerPort
4199 );
4200
4201 nsresult (*GetMinPortCountForStorageBus)(
4202 ISystemProperties *pThis,
4203 PRUint32 bus,
4204 PRUint32 * minPortCount
4205 );
4206
4207 nsresult (*GetMaxPortCountForStorageBus)(
4208 ISystemProperties *pThis,
4209 PRUint32 bus,
4210 PRUint32 * maxPortCount
4211 );
4212
4213 nsresult (*GetMaxInstancesOfStorageBus)(
4214 ISystemProperties *pThis,
4215 PRUint32 chipset,
4216 PRUint32 bus,
4217 PRUint32 * maxInstances
4218 );
4219
4220 nsresult (*GetDeviceTypesForStorageBus)(
4221 ISystemProperties *pThis,
4222 PRUint32 bus,
4223 PRUint32 *deviceTypesSize,
4224 PRUint32** deviceTypes
4225 );
4226
4227 nsresult (*GetDefaultIoCacheSettingForStorageController)(
4228 ISystemProperties *pThis,
4229 PRUint32 controllerType,
4230 PRBool * enabled
4231 );
4232
4233};
4234
4235struct ISystemProperties
4236{
4237 struct ISystemProperties_vtbl *vtbl;
4238};
4239/* End of struct ISystemProperties Declaration */
4240
4241
4242/* Start of struct IGuestOSType Declaration */
4243#define IGUESTOSTYPE_IID_STR "432c1546-1354-4abf-bf08-878a32a373f5"
4244#define IGUESTOSTYPE_IID { \
4245 0x432c1546, 0x1354, 0x4abf, \
4246 { 0xbf, 0x08, 0x87, 0x8a, 0x32, 0xa3, 0x73, 0xf5 } \
4247}
4248struct IGuestOSType_vtbl
4249{
4250 struct nsISupports_vtbl nsisupports;
4251
4252 nsresult (*GetFamilyId)(IGuestOSType *pThis, PRUnichar * *familyId);
4253
4254 nsresult (*GetFamilyDescription)(IGuestOSType *pThis, PRUnichar * *familyDescription);
4255
4256 nsresult (*GetId)(IGuestOSType *pThis, PRUnichar * *id);
4257
4258 nsresult (*GetDescription)(IGuestOSType *pThis, PRUnichar * *description);
4259
4260 nsresult (*GetIs64Bit)(IGuestOSType *pThis, PRBool *is64Bit);
4261
4262 nsresult (*GetRecommendedIOAPIC)(IGuestOSType *pThis, PRBool *recommendedIOAPIC);
4263
4264 nsresult (*GetRecommendedVirtEx)(IGuestOSType *pThis, PRBool *recommendedVirtEx);
4265
4266 nsresult (*GetRecommendedRAM)(IGuestOSType *pThis, PRUint32 *recommendedRAM);
4267
4268 nsresult (*GetRecommendedVRAM)(IGuestOSType *pThis, PRUint32 *recommendedVRAM);
4269
4270 nsresult (*GetRecommendedHDD)(IGuestOSType *pThis, PRInt64 *recommendedHDD);
4271
4272 nsresult (*GetAdapterType)(IGuestOSType *pThis, PRUint32 *adapterType);
4273
4274 nsresult (*GetRecommendedPae)(IGuestOSType *pThis, PRBool *recommendedPae);
4275
4276 nsresult (*GetRecommendedDvdStorageController)(IGuestOSType *pThis, PRUint32 *recommendedDvdStorageController);
4277
4278 nsresult (*GetRecommendedDvdStorageBus)(IGuestOSType *pThis, PRUint32 *recommendedDvdStorageBus);
4279
4280 nsresult (*GetRecommendedHdStorageController)(IGuestOSType *pThis, PRUint32 *recommendedHdStorageController);
4281
4282 nsresult (*GetRecommendedHdStorageBus)(IGuestOSType *pThis, PRUint32 *recommendedHdStorageBus);
4283
4284 nsresult (*GetRecommendedFirmware)(IGuestOSType *pThis, PRUint32 *recommendedFirmware);
4285
4286 nsresult (*GetRecommendedUsbHid)(IGuestOSType *pThis, PRBool *recommendedUsbHid);
4287
4288 nsresult (*GetRecommendedHpet)(IGuestOSType *pThis, PRBool *recommendedHpet);
4289
4290 nsresult (*GetRecommendedUsbTablet)(IGuestOSType *pThis, PRBool *recommendedUsbTablet);
4291
4292 nsresult (*GetRecommendedRtcUseUtc)(IGuestOSType *pThis, PRBool *recommendedRtcUseUtc);
4293
4294 nsresult (*GetRecommendedChipset)(IGuestOSType *pThis, PRUint32 *recommendedChipset);
4295
4296 nsresult (*GetRecommendedAudioController)(IGuestOSType *pThis, PRUint32 *recommendedAudioController);
4297
4298};
4299
4300struct IGuestOSType
4301{
4302 struct IGuestOSType_vtbl *vtbl;
4303};
4304/* End of struct IGuestOSType Declaration */
4305
4306
4307/* Start of struct IAdditionsFacility Declaration */
4308#define IADDITIONSFACILITY_IID_STR "54992946-6af1-4e49-98ec-58b558b7291e"
4309#define IADDITIONSFACILITY_IID { \
4310 0x54992946, 0x6af1, 0x4e49, \
4311 { 0x98, 0xec, 0x58, 0xb5, 0x58, 0xb7, 0x29, 0x1e } \
4312}
4313struct IAdditionsFacility_vtbl
4314{
4315 struct nsISupports_vtbl nsisupports;
4316
4317 nsresult (*GetClassType)(IAdditionsFacility *pThis, PRUint32 *classType);
4318
4319 nsresult (*GetLastUpdated)(IAdditionsFacility *pThis, PRInt64 *lastUpdated);
4320
4321 nsresult (*GetName)(IAdditionsFacility *pThis, PRUnichar * *name);
4322
4323 nsresult (*GetStatus)(IAdditionsFacility *pThis, PRUint32 *status);
4324
4325 nsresult (*GetType)(IAdditionsFacility *pThis, PRUint32 *type);
4326
4327};
4328
4329struct IAdditionsFacility
4330{
4331 struct IAdditionsFacility_vtbl *vtbl;
4332};
4333/* End of struct IAdditionsFacility Declaration */
4334
4335
4336/* Start of struct IGuestDirEntry Declaration */
4337#define IGUESTDIRENTRY_IID_STR "20a66efc-c2f6-4438-826f-38454c04369e"
4338#define IGUESTDIRENTRY_IID { \
4339 0x20a66efc, 0xc2f6, 0x4438, \
4340 { 0x82, 0x6f, 0x38, 0x45, 0x4c, 0x04, 0x36, 0x9e } \
4341}
4342struct IGuestDirEntry_vtbl
4343{
4344 struct nsISupports_vtbl nsisupports;
4345
4346 nsresult (*GetNodeId)(IGuestDirEntry *pThis, PRInt64 *nodeId);
4347
4348 nsresult (*GetName)(IGuestDirEntry *pThis, PRUnichar * *name);
4349
4350 nsresult (*GetType)(IGuestDirEntry *pThis, PRUint32 *type);
4351
4352};
4353
4354struct IGuestDirEntry
4355{
4356 struct IGuestDirEntry_vtbl *vtbl;
4357};
4358/* End of struct IGuestDirEntry Declaration */
4359
4360
4361/* Start of struct IGuest Declaration */
4362#define IGUEST_IID_STR "ed109b6e-0578-4b17-8ace-52646789f1a0"
4363#define IGUEST_IID { \
4364 0xed109b6e, 0x0578, 0x4b17, \
4365 { 0x8a, 0xce, 0x52, 0x64, 0x67, 0x89, 0xf1, 0xa0 } \
4366}
4367struct IGuest_vtbl
4368{
4369 struct nsISupports_vtbl nsisupports;
4370
4371 nsresult (*GetOSTypeId)(IGuest *pThis, PRUnichar * *OSTypeId);
4372
4373 nsresult (*GetAdditionsRunLevel)(IGuest *pThis, PRUint32 *additionsRunLevel);
4374
4375 nsresult (*GetAdditionsVersion)(IGuest *pThis, PRUnichar * *additionsVersion);
4376
4377 nsresult (*GetFacilities)(IGuest *pThis, PRUint32 *facilitiesSize, IAdditionsFacility * **facilities);
4378
4379 nsresult (*GetMemoryBalloonSize)(IGuest *pThis, PRUint32 *memoryBalloonSize);
4380 nsresult (*SetMemoryBalloonSize)(IGuest *pThis, PRUint32 memoryBalloonSize);
4381
4382 nsresult (*GetStatisticsUpdateInterval)(IGuest *pThis, PRUint32 *statisticsUpdateInterval);
4383 nsresult (*SetStatisticsUpdateInterval)(IGuest *pThis, PRUint32 statisticsUpdateInterval);
4384
4385 nsresult (*InternalGetStatistics)(
4386 IGuest *pThis,
4387 PRUint32 * cpuUser,
4388 PRUint32 * cpuKernel,
4389 PRUint32 * cpuIdle,
4390 PRUint32 * memTotal,
4391 PRUint32 * memFree,
4392 PRUint32 * memBalloon,
4393 PRUint32 * memShared,
4394 PRUint32 * memCache,
4395 PRUint32 * pagedTotal,
4396 PRUint32 * memAllocTotal,
4397 PRUint32 * memFreeTotal,
4398 PRUint32 * memBalloonTotal,
4399 PRUint32 * memSharedTotal
4400 );
4401
4402 nsresult (*GetFacilityStatus)(
4403 IGuest *pThis,
4404 PRUint32 facility,
4405 PRInt64 * timestamp,
4406 PRUint32 * status
4407 );
4408
4409 nsresult (*GetAdditionsStatus)(
4410 IGuest *pThis,
4411 PRUint32 level,
4412 PRBool * active
4413 );
4414
4415 nsresult (*SetCredentials)(
4416 IGuest *pThis,
4417 PRUnichar * userName,
4418 PRUnichar * password,
4419 PRUnichar * domain,
4420 PRBool allowInteractiveLogon
4421 );
4422
4423 nsresult (*ExecuteProcess)(
4424 IGuest *pThis,
4425 PRUnichar * execName,
4426 PRUint32 flags,
4427 PRUint32 argumentsSize,
4428 PRUnichar ** arguments,
4429 PRUint32 environmentSize,
4430 PRUnichar ** environment,
4431 PRUnichar * userName,
4432 PRUnichar * password,
4433 PRUint32 timeoutMS,
4434 PRUint32 * pid,
4435 IProgress * * progress
4436 );
4437
4438 nsresult (*GetProcessOutput)(
4439 IGuest *pThis,
4440 PRUint32 pid,
4441 PRUint32 flags,
4442 PRUint32 timeoutMS,
4443 PRInt64 size,
4444 PRUint32 *dataSize,
4445 PRUint8** data
4446 );
4447
4448 nsresult (*GetProcessStatus)(
4449 IGuest *pThis,
4450 PRUint32 pid,
4451 PRUint32 * exitcode,
4452 PRUint32 * flags,
4453 PRUint32 * reason
4454 );
4455
4456 nsresult (*CopyFromGuest)(
4457 IGuest *pThis,
4458 PRUnichar * source,
4459 PRUnichar * dest,
4460 PRUnichar * userName,
4461 PRUnichar * password,
4462 PRUint32 flags,
4463 IProgress * * progress
4464 );
4465
4466 nsresult (*CopyToGuest)(
4467 IGuest *pThis,
4468 PRUnichar * source,
4469 PRUnichar * dest,
4470 PRUnichar * userName,
4471 PRUnichar * password,
4472 PRUint32 flags,
4473 IProgress * * progress
4474 );
4475
4476 nsresult (*DirectoryClose)(
4477 IGuest *pThis,
4478 PRUint32 handle
4479 );
4480
4481 nsresult (*DirectoryCreate)(
4482 IGuest *pThis,
4483 PRUnichar * directory,
4484 PRUnichar * userName,
4485 PRUnichar * password,
4486 PRUint32 mode,
4487 PRUint32 flags
4488 );
4489
4490 nsresult (*DirectoryOpen)(
4491 IGuest *pThis,
4492 PRUnichar * directory,
4493 PRUnichar * filter,
4494 PRUint32 flags,
4495 PRUnichar * userName,
4496 PRUnichar * password,
4497 PRUint32 * handle
4498 );
4499
4500 nsresult (*DirectoryRead)(
4501 IGuest *pThis,
4502 PRUint32 handle,
4503 IGuestDirEntry * * entry
4504 );
4505
4506 nsresult (*FileExists)(
4507 IGuest *pThis,
4508 PRUnichar * file,
4509 PRUnichar * userName,
4510 PRUnichar * password,
4511 PRBool * exists
4512 );
4513
4514 nsresult (*FileQuerySize)(
4515 IGuest *pThis,
4516 PRUnichar * file,
4517 PRUnichar * userName,
4518 PRUnichar * password,
4519 PRInt64 * size
4520 );
4521
4522 nsresult (*SetProcessInput)(
4523 IGuest *pThis,
4524 PRUint32 pid,
4525 PRUint32 flags,
4526 PRUint32 timeoutMS,
4527 PRUint32 dataSize,
4528 PRUint8* data,
4529 PRUint32 * written
4530 );
4531
4532 nsresult (*UpdateGuestAdditions)(
4533 IGuest *pThis,
4534 PRUnichar * source,
4535 PRUint32 flags,
4536 IProgress * * progress
4537 );
4538
4539};
4540
4541struct IGuest
4542{
4543 struct IGuest_vtbl *vtbl;
4544};
4545/* End of struct IGuest Declaration */
4546
4547
4548/* Start of struct IProgress Declaration */
4549#define IPROGRESS_IID_STR "c20238e4-3221-4d3f-8891-81ce92d9f913"
4550#define IPROGRESS_IID { \
4551 0xc20238e4, 0x3221, 0x4d3f, \
4552 { 0x88, 0x91, 0x81, 0xce, 0x92, 0xd9, 0xf9, 0x13 } \
4553}
4554struct IProgress_vtbl
4555{
4556 struct nsISupports_vtbl nsisupports;
4557
4558 nsresult (*GetId)(IProgress *pThis, PRUnichar * *id);
4559
4560 nsresult (*GetDescription)(IProgress *pThis, PRUnichar * *description);
4561
4562 nsresult (*GetInitiator)(IProgress *pThis, nsISupports * *initiator);
4563
4564 nsresult (*GetCancelable)(IProgress *pThis, PRBool *cancelable);
4565
4566 nsresult (*GetPercent)(IProgress *pThis, PRUint32 *percent);
4567
4568 nsresult (*GetTimeRemaining)(IProgress *pThis, PRInt32 *timeRemaining);
4569
4570 nsresult (*GetCompleted)(IProgress *pThis, PRBool *completed);
4571
4572 nsresult (*GetCanceled)(IProgress *pThis, PRBool *canceled);
4573
4574 nsresult (*GetResultCode)(IProgress *pThis, PRInt32 *resultCode);
4575
4576 nsresult (*GetErrorInfo)(IProgress *pThis, IVirtualBoxErrorInfo * *errorInfo);
4577
4578 nsresult (*GetOperationCount)(IProgress *pThis, PRUint32 *operationCount);
4579
4580 nsresult (*GetOperation)(IProgress *pThis, PRUint32 *operation);
4581
4582 nsresult (*GetOperationDescription)(IProgress *pThis, PRUnichar * *operationDescription);
4583
4584 nsresult (*GetOperationPercent)(IProgress *pThis, PRUint32 *operationPercent);
4585
4586 nsresult (*GetOperationWeight)(IProgress *pThis, PRUint32 *operationWeight);
4587
4588 nsresult (*GetTimeout)(IProgress *pThis, PRUint32 *timeout);
4589 nsresult (*SetTimeout)(IProgress *pThis, PRUint32 timeout);
4590
4591 nsresult (*SetCurrentOperationProgress)(
4592 IProgress *pThis,
4593 PRUint32 percent
4594 );
4595
4596 nsresult (*SetNextOperation)(
4597 IProgress *pThis,
4598 PRUnichar * nextOperationDescription,
4599 PRUint32 nextOperationsWeight
4600 );
4601
4602 nsresult (*WaitForCompletion)(
4603 IProgress *pThis,
4604 PRInt32 timeout
4605 );
4606
4607 nsresult (*WaitForOperationCompletion)(
4608 IProgress *pThis,
4609 PRUint32 operation,
4610 PRInt32 timeout
4611 );
4612
4613 nsresult (*WaitForAsyncProgressCompletion)(
4614 IProgress *pThis,
4615 IProgress * pProgressAsync
4616 );
4617
4618 nsresult (*Cancel)(IProgress *pThis );
4619
4620};
4621
4622struct IProgress
4623{
4624 struct IProgress_vtbl *vtbl;
4625};
4626/* End of struct IProgress Declaration */
4627
4628
4629/* Start of struct ISnapshot Declaration */
4630#define ISNAPSHOT_IID_STR "0472823b-c6e7-472a-8e9f-d732e86b8463"
4631#define ISNAPSHOT_IID { \
4632 0x0472823b, 0xc6e7, 0x472a, \
4633 { 0x8e, 0x9f, 0xd7, 0x32, 0xe8, 0x6b, 0x84, 0x63 } \
4634}
4635struct ISnapshot_vtbl
4636{
4637 struct nsISupports_vtbl nsisupports;
4638
4639 nsresult (*GetId)(ISnapshot *pThis, PRUnichar * *id);
4640
4641 nsresult (*GetName)(ISnapshot *pThis, PRUnichar * *name);
4642 nsresult (*SetName)(ISnapshot *pThis, PRUnichar * name);
4643
4644 nsresult (*GetDescription)(ISnapshot *pThis, PRUnichar * *description);
4645 nsresult (*SetDescription)(ISnapshot *pThis, PRUnichar * description);
4646
4647 nsresult (*GetTimeStamp)(ISnapshot *pThis, PRInt64 *timeStamp);
4648
4649 nsresult (*GetOnline)(ISnapshot *pThis, PRBool *online);
4650
4651 nsresult (*GetMachine)(ISnapshot *pThis, IMachine * *machine);
4652
4653 nsresult (*GetParent)(ISnapshot *pThis, ISnapshot * *parent);
4654
4655 nsresult (*GetChildren)(ISnapshot *pThis, PRUint32 *childrenSize, ISnapshot * **children);
4656
4657 nsresult (*GetChildrenCount)(
4658 ISnapshot *pThis,
4659 PRUint32 * childrenCount
4660 );
4661
4662};
4663
4664struct ISnapshot
4665{
4666 struct ISnapshot_vtbl *vtbl;
4667};
4668/* End of struct ISnapshot Declaration */
4669
4670
4671/* Start of struct IMediumAttachment Declaration */
4672#define IMEDIUMATTACHMENT_IID_STR "b5dfbb8c-7498-48c3-bf10-78fc60f064e1"
4673#define IMEDIUMATTACHMENT_IID { \
4674 0xb5dfbb8c, 0x7498, 0x48c3, \
4675 { 0xbf, 0x10, 0x78, 0xfc, 0x60, 0xf0, 0x64, 0xe1 } \
4676}
4677struct IMediumAttachment_vtbl
4678{
4679 struct nsISupports_vtbl nsisupports;
4680
4681 nsresult (*GetMedium)(IMediumAttachment *pThis, IMedium * *medium);
4682
4683 nsresult (*GetController)(IMediumAttachment *pThis, PRUnichar * *controller);
4684
4685 nsresult (*GetPort)(IMediumAttachment *pThis, PRInt32 *port);
4686
4687 nsresult (*GetDevice)(IMediumAttachment *pThis, PRInt32 *device);
4688
4689 nsresult (*GetType)(IMediumAttachment *pThis, PRUint32 *type);
4690
4691 nsresult (*GetPassthrough)(IMediumAttachment *pThis, PRBool *passthrough);
4692
4693 nsresult (*GetTemporaryEject)(IMediumAttachment *pThis, PRBool *temporaryEject);
4694
4695 nsresult (*GetIsEjected)(IMediumAttachment *pThis, PRBool *isEjected);
4696
4697 nsresult (*GetNonRotational)(IMediumAttachment *pThis, PRBool *nonRotational);
4698
4699 nsresult (*GetBandwidthGroup)(IMediumAttachment *pThis, IBandwidthGroup * *bandwidthGroup);
4700
4701};
4702
4703struct IMediumAttachment
4704{
4705 struct IMediumAttachment_vtbl *vtbl;
4706};
4707/* End of struct IMediumAttachment Declaration */
4708
4709
4710/* Start of struct IMedium Declaration */
4711#define IMEDIUM_IID_STR "53f9cc0c-e0fd-40a5-a404-a7a5272082cd"
4712#define IMEDIUM_IID { \
4713 0x53f9cc0c, 0xe0fd, 0x40a5, \
4714 { 0xa4, 0x04, 0xa7, 0xa5, 0x27, 0x20, 0x82, 0xcd } \
4715}
4716struct IMedium_vtbl
4717{
4718 struct nsISupports_vtbl nsisupports;
4719
4720 nsresult (*GetId)(IMedium *pThis, PRUnichar * *id);
4721
4722 nsresult (*GetDescription)(IMedium *pThis, PRUnichar * *description);
4723 nsresult (*SetDescription)(IMedium *pThis, PRUnichar * description);
4724
4725 nsresult (*GetState)(IMedium *pThis, PRUint32 *state);
4726
4727 nsresult (*GetVariant)(IMedium *pThis, PRUint32 *variant);
4728
4729 nsresult (*GetLocation)(IMedium *pThis, PRUnichar * *location);
4730 nsresult (*SetLocation)(IMedium *pThis, PRUnichar * location);
4731
4732 nsresult (*GetName)(IMedium *pThis, PRUnichar * *name);
4733
4734 nsresult (*GetDeviceType)(IMedium *pThis, PRUint32 *deviceType);
4735
4736 nsresult (*GetHostDrive)(IMedium *pThis, PRBool *hostDrive);
4737
4738 nsresult (*GetSize)(IMedium *pThis, PRInt64 *size);
4739
4740 nsresult (*GetFormat)(IMedium *pThis, PRUnichar * *format);
4741
4742 nsresult (*GetMediumFormat)(IMedium *pThis, IMediumFormat * *mediumFormat);
4743
4744 nsresult (*GetType)(IMedium *pThis, PRUint32 *type);
4745 nsresult (*SetType)(IMedium *pThis, PRUint32 type);
4746
4747 nsresult (*GetAllowedTypes)(IMedium *pThis, PRUint32 *allowedTypesSize, PRUint32 **allowedTypes);
4748
4749 nsresult (*GetParent)(IMedium *pThis, IMedium * *parent);
4750
4751 nsresult (*GetChildren)(IMedium *pThis, PRUint32 *childrenSize, IMedium * **children);
4752
4753 nsresult (*GetBase)(IMedium *pThis, IMedium * *base);
4754
4755 nsresult (*GetReadOnly)(IMedium *pThis, PRBool *readOnly);
4756
4757 nsresult (*GetLogicalSize)(IMedium *pThis, PRInt64 *logicalSize);
4758
4759 nsresult (*GetAutoReset)(IMedium *pThis, PRBool *autoReset);
4760 nsresult (*SetAutoReset)(IMedium *pThis, PRBool autoReset);
4761
4762 nsresult (*GetLastAccessError)(IMedium *pThis, PRUnichar * *lastAccessError);
4763
4764 nsresult (*GetMachineIds)(IMedium *pThis, PRUint32 *machineIdsSize, PRUnichar * **machineIds);
4765
4766 nsresult (*SetIDs)(
4767 IMedium *pThis,
4768 PRBool setImageId,
4769 PRUnichar * imageId,
4770 PRBool setParentId,
4771 PRUnichar * parentId
4772 );
4773
4774 nsresult (*RefreshState)(
4775 IMedium *pThis,
4776 PRUint32 * state
4777 );
4778
4779 nsresult (*GetSnapshotIds)(
4780 IMedium *pThis,
4781 PRUnichar * machineId,
4782 PRUint32 *snapshotIdsSize,
4783 PRUnichar *** snapshotIds
4784 );
4785
4786 nsresult (*LockRead)(
4787 IMedium *pThis,
4788 PRUint32 * state
4789 );
4790
4791 nsresult (*UnlockRead)(
4792 IMedium *pThis,
4793 PRUint32 * state
4794 );
4795
4796 nsresult (*LockWrite)(
4797 IMedium *pThis,
4798 PRUint32 * state
4799 );
4800
4801 nsresult (*UnlockWrite)(
4802 IMedium *pThis,
4803 PRUint32 * state
4804 );
4805
4806 nsresult (*Close)(IMedium *pThis );
4807
4808 nsresult (*GetProperty)(
4809 IMedium *pThis,
4810 PRUnichar * name,
4811 PRUnichar * * value
4812 );
4813
4814 nsresult (*SetProperty)(
4815 IMedium *pThis,
4816 PRUnichar * name,
4817 PRUnichar * value
4818 );
4819
4820 nsresult (*GetProperties)(
4821 IMedium *pThis,
4822 PRUnichar * names,
4823 PRUint32 *returnNamesSize,
4824 PRUnichar *** returnNames,
4825 PRUint32 *returnValuesSize,
4826 PRUnichar *** returnValues
4827 );
4828
4829 nsresult (*SetProperties)(
4830 IMedium *pThis,
4831 PRUint32 namesSize,
4832 PRUnichar ** names,
4833 PRUint32 valuesSize,
4834 PRUnichar ** values
4835 );
4836
4837 nsresult (*CreateBaseStorage)(
4838 IMedium *pThis,
4839 PRInt64 logicalSize,
4840 PRUint32 variant,
4841 IProgress * * progress
4842 );
4843
4844 nsresult (*DeleteStorage)(
4845 IMedium *pThis,
4846 IProgress * * progress
4847 );
4848
4849 nsresult (*CreateDiffStorage)(
4850 IMedium *pThis,
4851 IMedium * target,
4852 PRUint32 variant,
4853 IProgress * * progress
4854 );
4855
4856 nsresult (*MergeTo)(
4857 IMedium *pThis,
4858 IMedium * target,
4859 IProgress * * progress
4860 );
4861
4862 nsresult (*CloneTo)(
4863 IMedium *pThis,
4864 IMedium * target,
4865 PRUint32 variant,
4866 IMedium * parent,
4867 IProgress * * progress
4868 );
4869
4870 nsresult (*Compact)(
4871 IMedium *pThis,
4872 IProgress * * progress
4873 );
4874
4875 nsresult (*Resize)(
4876 IMedium *pThis,
4877 PRInt64 logicalSize,
4878 IProgress * * progress
4879 );
4880
4881 nsresult (*Reset)(
4882 IMedium *pThis,
4883 IProgress * * progress
4884 );
4885
4886};
4887
4888struct IMedium
4889{
4890 struct IMedium_vtbl *vtbl;
4891};
4892/* End of struct IMedium Declaration */
4893
4894
4895/* Start of struct IMediumFormat Declaration */
4896#define IMEDIUMFORMAT_IID_STR "9bd5b655-ea47-4637-99f3-aad0948be35b"
4897#define IMEDIUMFORMAT_IID { \
4898 0x9bd5b655, 0xea47, 0x4637, \
4899 { 0x99, 0xf3, 0xaa, 0xd0, 0x94, 0x8b, 0xe3, 0x5b } \
4900}
4901struct IMediumFormat_vtbl
4902{
4903 struct nsISupports_vtbl nsisupports;
4904
4905 nsresult (*GetId)(IMediumFormat *pThis, PRUnichar * *id);
4906
4907 nsresult (*GetName)(IMediumFormat *pThis, PRUnichar * *name);
4908
4909 nsresult (*GetCapabilities)(IMediumFormat *pThis, PRUint32 *capabilities);
4910
4911 nsresult (*DescribeFileExtensions)(
4912 IMediumFormat *pThis,
4913 PRUint32 *extensionsSize,
4914 PRUnichar *** extensions,
4915 PRUint32 *typeSize,
4916 PRUint32* type
4917 );
4918
4919 nsresult (*DescribeProperties)(
4920 IMediumFormat *pThis,
4921 PRUint32 *namesSize,
4922 PRUnichar *** names,
4923 PRUint32 *descriptionSize,
4924 PRUnichar *** description,
4925 PRUint32 *typesSize,
4926 PRUint32* types,
4927 PRUint32 *flagsSize,
4928 PRUint32* flags,
4929 PRUint32 *defaultsSize,
4930 PRUnichar *** defaults
4931 );
4932
4933};
4934
4935struct IMediumFormat
4936{
4937 struct IMediumFormat_vtbl *vtbl;
4938};
4939/* End of struct IMediumFormat Declaration */
4940
4941
4942/* Start of struct IKeyboard Declaration */
4943#define IKEYBOARD_IID_STR "f6916ec5-a881-4237-898f-7de58cf88672"
4944#define IKEYBOARD_IID { \
4945 0xf6916ec5, 0xa881, 0x4237, \
4946 { 0x89, 0x8f, 0x7d, 0xe5, 0x8c, 0xf8, 0x86, 0x72 } \
4947}
4948struct IKeyboard_vtbl
4949{
4950 struct nsISupports_vtbl nsisupports;
4951
4952 nsresult (*GetEventSource)(IKeyboard *pThis, IEventSource * *eventSource);
4953
4954 nsresult (*PutScancode)(
4955 IKeyboard *pThis,
4956 PRInt32 scancode
4957 );
4958
4959 nsresult (*PutScancodes)(
4960 IKeyboard *pThis,
4961 PRUint32 scancodesSize,
4962 PRInt32* scancodes,
4963 PRUint32 * codesStored
4964 );
4965
4966 nsresult (*PutCAD)(IKeyboard *pThis );
4967
4968};
4969
4970struct IKeyboard
4971{
4972 struct IKeyboard_vtbl *vtbl;
4973};
4974/* End of struct IKeyboard Declaration */
4975
4976
4977/* Start of struct IMouse Declaration */
4978#define IMOUSE_IID_STR "05044a52-7811-4f00-ae3a-0ab7ff707b10"
4979#define IMOUSE_IID { \
4980 0x05044a52, 0x7811, 0x4f00, \
4981 { 0xae, 0x3a, 0x0a, 0xb7, 0xff, 0x70, 0x7b, 0x10 } \
4982}
4983struct IMouse_vtbl
4984{
4985 struct nsISupports_vtbl nsisupports;
4986
4987 nsresult (*GetAbsoluteSupported)(IMouse *pThis, PRBool *absoluteSupported);
4988
4989 nsresult (*GetRelativeSupported)(IMouse *pThis, PRBool *relativeSupported);
4990
4991 nsresult (*GetNeedsHostCursor)(IMouse *pThis, PRBool *needsHostCursor);
4992
4993 nsresult (*GetEventSource)(IMouse *pThis, IEventSource * *eventSource);
4994
4995 nsresult (*PutMouseEvent)(
4996 IMouse *pThis,
4997 PRInt32 dx,
4998 PRInt32 dy,
4999 PRInt32 dz,
5000 PRInt32 dw,
5001 PRInt32 buttonState
5002 );
5003
5004 nsresult (*PutMouseEventAbsolute)(
5005 IMouse *pThis,
5006 PRInt32 x,
5007 PRInt32 y,
5008 PRInt32 dz,
5009 PRInt32 dw,
5010 PRInt32 buttonState
5011 );
5012
5013};
5014
5015struct IMouse
5016{
5017 struct IMouse_vtbl *vtbl;
5018};
5019/* End of struct IMouse Declaration */
5020
5021
5022/* Start of struct IFramebuffer Declaration */
5023#define IFRAMEBUFFER_IID_STR "b7ed347a-5765-40a0-ae1c-f543eb4ddeaf"
5024#define IFRAMEBUFFER_IID { \
5025 0xb7ed347a, 0x5765, 0x40a0, \
5026 { 0xae, 0x1c, 0xf5, 0x43, 0xeb, 0x4d, 0xde, 0xaf } \
5027}
5028struct IFramebuffer_vtbl
5029{
5030 struct nsISupports_vtbl nsisupports;
5031
5032 nsresult (*GetAddress)(IFramebuffer *pThis, PRUint8 * *address);
5033
5034 nsresult (*GetWidth)(IFramebuffer *pThis, PRUint32 *width);
5035
5036 nsresult (*GetHeight)(IFramebuffer *pThis, PRUint32 *height);
5037
5038 nsresult (*GetBitsPerPixel)(IFramebuffer *pThis, PRUint32 *bitsPerPixel);
5039
5040 nsresult (*GetBytesPerLine)(IFramebuffer *pThis, PRUint32 *bytesPerLine);
5041
5042 nsresult (*GetPixelFormat)(IFramebuffer *pThis, PRUint32 *pixelFormat);
5043
5044 nsresult (*GetUsesGuestVRAM)(IFramebuffer *pThis, PRBool *usesGuestVRAM);
5045
5046 nsresult (*GetHeightReduction)(IFramebuffer *pThis, PRUint32 *heightReduction);
5047
5048 nsresult (*GetOverlay)(IFramebuffer *pThis, IFramebufferOverlay * *overlay);
5049
5050 nsresult (*GetWinId)(IFramebuffer *pThis, PRInt64 *winId);
5051
5052 nsresult (*Lock)(IFramebuffer *pThis );
5053
5054 nsresult (*Unlock)(IFramebuffer *pThis );
5055
5056 nsresult (*NotifyUpdate)(
5057 IFramebuffer *pThis,
5058 PRUint32 x,
5059 PRUint32 y,
5060 PRUint32 width,
5061 PRUint32 height
5062 );
5063
5064 nsresult (*RequestResize)(
5065 IFramebuffer *pThis,
5066 PRUint32 screenId,
5067 PRUint32 pixelFormat,
5068 PRUint8 * VRAM,
5069 PRUint32 bitsPerPixel,
5070 PRUint32 bytesPerLine,
5071 PRUint32 width,
5072 PRUint32 height,
5073 PRBool * finished
5074 );
5075
5076 nsresult (*VideoModeSupported)(
5077 IFramebuffer *pThis,
5078 PRUint32 width,
5079 PRUint32 height,
5080 PRUint32 bpp,
5081 PRBool * supported
5082 );
5083
5084 nsresult (*GetVisibleRegion)(
5085 IFramebuffer *pThis,
5086 PRUint8 * rectangles,
5087 PRUint32 count,
5088 PRUint32 * countCopied
5089 );
5090
5091 nsresult (*SetVisibleRegion)(
5092 IFramebuffer *pThis,
5093 PRUint8 * rectangles,
5094 PRUint32 count
5095 );
5096
5097 nsresult (*ProcessVHWACommand)(
5098 IFramebuffer *pThis,
5099 PRUint8 * command
5100 );
5101
5102};
5103
5104struct IFramebuffer
5105{
5106 struct IFramebuffer_vtbl *vtbl;
5107};
5108/* End of struct IFramebuffer Declaration */
5109
5110
5111/* Start of struct IFramebufferOverlay Declaration */
5112#define IFRAMEBUFFEROVERLAY_IID_STR "0bcc1c7e-e415-47d2-bfdb-e4c705fb0f47"
5113#define IFRAMEBUFFEROVERLAY_IID { \
5114 0x0bcc1c7e, 0xe415, 0x47d2, \
5115 { 0xbf, 0xdb, 0xe4, 0xc7, 0x05, 0xfb, 0x0f, 0x47 } \
5116}
5117struct IFramebufferOverlay_vtbl
5118{
5119 struct IFramebuffer_vtbl iframebuffer;
5120
5121 nsresult (*GetX)(IFramebufferOverlay *pThis, PRUint32 *x);
5122
5123 nsresult (*GetY)(IFramebufferOverlay *pThis, PRUint32 *y);
5124
5125 nsresult (*GetVisible)(IFramebufferOverlay *pThis, PRBool *visible);
5126 nsresult (*SetVisible)(IFramebufferOverlay *pThis, PRBool visible);
5127
5128 nsresult (*GetAlpha)(IFramebufferOverlay *pThis, PRUint32 *alpha);
5129 nsresult (*SetAlpha)(IFramebufferOverlay *pThis, PRUint32 alpha);
5130
5131 nsresult (*Move)(
5132 IFramebufferOverlay *pThis,
5133 PRUint32 x,
5134 PRUint32 y
5135 );
5136
5137};
5138
5139struct IFramebufferOverlay
5140{
5141 struct IFramebufferOverlay_vtbl *vtbl;
5142};
5143/* End of struct IFramebufferOverlay Declaration */
5144
5145
5146/* Start of struct IDisplay Declaration */
5147#define IDISPLAY_IID_STR "09EED313-CD56-4D06-BD56-FAC0F716B5DD"
5148#define IDISPLAY_IID { \
5149 0x09EED313, 0xCD56, 0x4D06, \
5150 { 0xBD, 0x56, 0xFA, 0xC0, 0xF7, 0x16, 0xB5, 0xDD } \
5151}
5152struct IDisplay_vtbl
5153{
5154 struct nsISupports_vtbl nsisupports;
5155
5156 nsresult (*GetScreenResolution)(
5157 IDisplay *pThis,
5158 PRUint32 screenId,
5159 PRUint32 * width,
5160 PRUint32 * height,
5161 PRUint32 * bitsPerPixel
5162 );
5163
5164 nsresult (*SetFramebuffer)(
5165 IDisplay *pThis,
5166 PRUint32 screenId,
5167 IFramebuffer * framebuffer
5168 );
5169
5170 nsresult (*GetFramebuffer)(
5171 IDisplay *pThis,
5172 PRUint32 screenId,
5173 IFramebuffer * * framebuffer,
5174 PRInt32 * xOrigin,
5175 PRInt32 * yOrigin
5176 );
5177
5178 nsresult (*SetVideoModeHint)(
5179 IDisplay *pThis,
5180 PRUint32 width,
5181 PRUint32 height,
5182 PRUint32 bitsPerPixel,
5183 PRUint32 display
5184 );
5185
5186 nsresult (*SetSeamlessMode)(
5187 IDisplay *pThis,
5188 PRBool enabled
5189 );
5190
5191 nsresult (*TakeScreenShot)(
5192 IDisplay *pThis,
5193 PRUint32 screenId,
5194 PRUint8 * address,
5195 PRUint32 width,
5196 PRUint32 height
5197 );
5198
5199 nsresult (*TakeScreenShotToArray)(
5200 IDisplay *pThis,
5201 PRUint32 screenId,
5202 PRUint32 width,
5203 PRUint32 height,
5204 PRUint32 *screenDataSize,
5205 PRUint8** screenData
5206 );
5207
5208 nsresult (*TakeScreenShotPNGToArray)(
5209 IDisplay *pThis,
5210 PRUint32 screenId,
5211 PRUint32 width,
5212 PRUint32 height,
5213 PRUint32 *screenDataSize,
5214 PRUint8** screenData
5215 );
5216
5217 nsresult (*DrawToScreen)(
5218 IDisplay *pThis,
5219 PRUint32 screenId,
5220 PRUint8 * address,
5221 PRUint32 x,
5222 PRUint32 y,
5223 PRUint32 width,
5224 PRUint32 height
5225 );
5226
5227 nsresult (*InvalidateAndUpdate)(IDisplay *pThis );
5228
5229 nsresult (*ResizeCompleted)(
5230 IDisplay *pThis,
5231 PRUint32 screenId
5232 );
5233
5234 nsresult (*CompleteVHWACommand)(
5235 IDisplay *pThis,
5236 PRUint8 * command
5237 );
5238
5239};
5240
5241struct IDisplay
5242{
5243 struct IDisplay_vtbl *vtbl;
5244};
5245/* End of struct IDisplay Declaration */
5246
5247
5248/* Start of struct INetworkAdapter Declaration */
5249#define INETWORKADAPTER_IID_STR "8b2e705c-0547-4008-b7bc-788757346092"
5250#define INETWORKADAPTER_IID { \
5251 0x8b2e705c, 0x0547, 0x4008, \
5252 { 0xb7, 0xbc, 0x78, 0x87, 0x57, 0x34, 0x60, 0x92 } \
5253}
5254struct INetworkAdapter_vtbl
5255{
5256 struct nsISupports_vtbl nsisupports;
5257
5258 nsresult (*GetAdapterType)(INetworkAdapter *pThis, PRUint32 *adapterType);
5259 nsresult (*SetAdapterType)(INetworkAdapter *pThis, PRUint32 adapterType);
5260
5261 nsresult (*GetSlot)(INetworkAdapter *pThis, PRUint32 *slot);
5262
5263 nsresult (*GetEnabled)(INetworkAdapter *pThis, PRBool *enabled);
5264 nsresult (*SetEnabled)(INetworkAdapter *pThis, PRBool enabled);
5265
5266 nsresult (*GetMACAddress)(INetworkAdapter *pThis, PRUnichar * *MACAddress);
5267 nsresult (*SetMACAddress)(INetworkAdapter *pThis, PRUnichar * MACAddress);
5268
5269 nsresult (*GetAttachmentType)(INetworkAdapter *pThis, PRUint32 *attachmentType);
5270 nsresult (*SetAttachmentType)(INetworkAdapter *pThis, PRUint32 attachmentType);
5271
5272 nsresult (*GetBridgedInterface)(INetworkAdapter *pThis, PRUnichar * *bridgedInterface);
5273 nsresult (*SetBridgedInterface)(INetworkAdapter *pThis, PRUnichar * bridgedInterface);
5274
5275 nsresult (*GetHostOnlyInterface)(INetworkAdapter *pThis, PRUnichar * *hostOnlyInterface);
5276 nsresult (*SetHostOnlyInterface)(INetworkAdapter *pThis, PRUnichar * hostOnlyInterface);
5277
5278 nsresult (*GetInternalNetwork)(INetworkAdapter *pThis, PRUnichar * *internalNetwork);
5279 nsresult (*SetInternalNetwork)(INetworkAdapter *pThis, PRUnichar * internalNetwork);
5280
5281 nsresult (*GetNATNetwork)(INetworkAdapter *pThis, PRUnichar * *NATNetwork);
5282 nsresult (*SetNATNetwork)(INetworkAdapter *pThis, PRUnichar * NATNetwork);
5283
5284 nsresult (*GetGenericDriver)(INetworkAdapter *pThis, PRUnichar * *genericDriver);
5285 nsresult (*SetGenericDriver)(INetworkAdapter *pThis, PRUnichar * genericDriver);
5286
5287 nsresult (*GetCableConnected)(INetworkAdapter *pThis, PRBool *cableConnected);
5288 nsresult (*SetCableConnected)(INetworkAdapter *pThis, PRBool cableConnected);
5289
5290 nsresult (*GetLineSpeed)(INetworkAdapter *pThis, PRUint32 *lineSpeed);
5291 nsresult (*SetLineSpeed)(INetworkAdapter *pThis, PRUint32 lineSpeed);
5292
5293 nsresult (*GetPromiscModePolicy)(INetworkAdapter *pThis, PRUint32 *promiscModePolicy);
5294 nsresult (*SetPromiscModePolicy)(INetworkAdapter *pThis, PRUint32 promiscModePolicy);
5295
5296 nsresult (*GetTraceEnabled)(INetworkAdapter *pThis, PRBool *traceEnabled);
5297 nsresult (*SetTraceEnabled)(INetworkAdapter *pThis, PRBool traceEnabled);
5298
5299 nsresult (*GetTraceFile)(INetworkAdapter *pThis, PRUnichar * *traceFile);
5300 nsresult (*SetTraceFile)(INetworkAdapter *pThis, PRUnichar * traceFile);
5301
5302 nsresult (*GetNatDriver)(INetworkAdapter *pThis, INATEngine * *natDriver);
5303
5304 nsresult (*GetBootPriority)(INetworkAdapter *pThis, PRUint32 *bootPriority);
5305 nsresult (*SetBootPriority)(INetworkAdapter *pThis, PRUint32 bootPriority);
5306
5307 nsresult (*GetBandwidthGroup)(INetworkAdapter *pThis, IBandwidthGroup * *bandwidthGroup);
5308 nsresult (*SetBandwidthGroup)(INetworkAdapter *pThis, IBandwidthGroup * bandwidthGroup);
5309
5310 nsresult (*GetProperty)(
5311 INetworkAdapter *pThis,
5312 PRUnichar * key,
5313 PRUnichar * * value
5314 );
5315
5316 nsresult (*SetProperty)(
5317 INetworkAdapter *pThis,
5318 PRUnichar * key,
5319 PRUnichar * value
5320 );
5321
5322 nsresult (*GetProperties)(
5323 INetworkAdapter *pThis,
5324 PRUnichar * names,
5325 PRUint32 *returnNamesSize,
5326 PRUnichar *** returnNames,
5327 PRUint32 *returnValuesSize,
5328 PRUnichar *** returnValues
5329 );
5330
5331};
5332
5333struct INetworkAdapter
5334{
5335 struct INetworkAdapter_vtbl *vtbl;
5336};
5337/* End of struct INetworkAdapter Declaration */
5338
5339
5340/* Start of struct ISerialPort Declaration */
5341#define ISERIALPORT_IID_STR "937f6970-5103-4745-b78e-d28dcf1479a8"
5342#define ISERIALPORT_IID { \
5343 0x937f6970, 0x5103, 0x4745, \
5344 { 0xb7, 0x8e, 0xd2, 0x8d, 0xcf, 0x14, 0x79, 0xa8 } \
5345}
5346struct ISerialPort_vtbl
5347{
5348 struct nsISupports_vtbl nsisupports;
5349
5350 nsresult (*GetSlot)(ISerialPort *pThis, PRUint32 *slot);
5351
5352 nsresult (*GetEnabled)(ISerialPort *pThis, PRBool *enabled);
5353 nsresult (*SetEnabled)(ISerialPort *pThis, PRBool enabled);
5354
5355 nsresult (*GetIOBase)(ISerialPort *pThis, PRUint32 *IOBase);
5356 nsresult (*SetIOBase)(ISerialPort *pThis, PRUint32 IOBase);
5357
5358 nsresult (*GetIRQ)(ISerialPort *pThis, PRUint32 *IRQ);
5359 nsresult (*SetIRQ)(ISerialPort *pThis, PRUint32 IRQ);
5360
5361 nsresult (*GetHostMode)(ISerialPort *pThis, PRUint32 *hostMode);
5362 nsresult (*SetHostMode)(ISerialPort *pThis, PRUint32 hostMode);
5363
5364 nsresult (*GetServer)(ISerialPort *pThis, PRBool *server);
5365 nsresult (*SetServer)(ISerialPort *pThis, PRBool server);
5366
5367 nsresult (*GetPath)(ISerialPort *pThis, PRUnichar * *path);
5368 nsresult (*SetPath)(ISerialPort *pThis, PRUnichar * path);
5369
5370};
5371
5372struct ISerialPort
5373{
5374 struct ISerialPort_vtbl *vtbl;
5375};
5376/* End of struct ISerialPort Declaration */
5377
5378
5379/* Start of struct IParallelPort Declaration */
5380#define IPARALLELPORT_IID_STR "0c925f06-dd10-4b77-8de8-294d738c3214"
5381#define IPARALLELPORT_IID { \
5382 0x0c925f06, 0xdd10, 0x4b77, \
5383 { 0x8d, 0xe8, 0x29, 0x4d, 0x73, 0x8c, 0x32, 0x14 } \
5384}
5385struct IParallelPort_vtbl
5386{
5387 struct nsISupports_vtbl nsisupports;
5388
5389 nsresult (*GetSlot)(IParallelPort *pThis, PRUint32 *slot);
5390
5391 nsresult (*GetEnabled)(IParallelPort *pThis, PRBool *enabled);
5392 nsresult (*SetEnabled)(IParallelPort *pThis, PRBool enabled);
5393
5394 nsresult (*GetIOBase)(IParallelPort *pThis, PRUint32 *IOBase);
5395 nsresult (*SetIOBase)(IParallelPort *pThis, PRUint32 IOBase);
5396
5397 nsresult (*GetIRQ)(IParallelPort *pThis, PRUint32 *IRQ);
5398 nsresult (*SetIRQ)(IParallelPort *pThis, PRUint32 IRQ);
5399
5400 nsresult (*GetPath)(IParallelPort *pThis, PRUnichar * *path);
5401 nsresult (*SetPath)(IParallelPort *pThis, PRUnichar * path);
5402
5403};
5404
5405struct IParallelPort
5406{
5407 struct IParallelPort_vtbl *vtbl;
5408};
5409/* End of struct IParallelPort Declaration */
5410
5411
5412/* Start of struct IMachineDebugger Declaration */
5413#define IMACHINEDEBUGGER_IID_STR "1bfd2fa9-0d91-44d3-9515-368dcbb3eb4d"
5414#define IMACHINEDEBUGGER_IID { \
5415 0x1bfd2fa9, 0x0d91, 0x44d3, \
5416 { 0x95, 0x15, 0x36, 0x8d, 0xcb, 0xb3, 0xeb, 0x4d } \
5417}
5418struct IMachineDebugger_vtbl
5419{
5420 struct nsISupports_vtbl nsisupports;
5421
5422 nsresult (*GetSinglestep)(IMachineDebugger *pThis, PRBool *singlestep);
5423 nsresult (*SetSinglestep)(IMachineDebugger *pThis, PRBool singlestep);
5424
5425 nsresult (*GetRecompileUser)(IMachineDebugger *pThis, PRBool *recompileUser);
5426 nsresult (*SetRecompileUser)(IMachineDebugger *pThis, PRBool recompileUser);
5427
5428 nsresult (*GetRecompileSupervisor)(IMachineDebugger *pThis, PRBool *recompileSupervisor);
5429 nsresult (*SetRecompileSupervisor)(IMachineDebugger *pThis, PRBool recompileSupervisor);
5430
5431 nsresult (*GetPATMEnabled)(IMachineDebugger *pThis, PRBool *PATMEnabled);
5432 nsresult (*SetPATMEnabled)(IMachineDebugger *pThis, PRBool PATMEnabled);
5433
5434 nsresult (*GetCSAMEnabled)(IMachineDebugger *pThis, PRBool *CSAMEnabled);
5435 nsresult (*SetCSAMEnabled)(IMachineDebugger *pThis, PRBool CSAMEnabled);
5436
5437 nsresult (*GetLogEnabled)(IMachineDebugger *pThis, PRBool *logEnabled);
5438 nsresult (*SetLogEnabled)(IMachineDebugger *pThis, PRBool logEnabled);
5439
5440 nsresult (*GetLogFlags)(IMachineDebugger *pThis, PRUnichar * *logFlags);
5441
5442 nsresult (*GetLogGroups)(IMachineDebugger *pThis, PRUnichar * *logGroups);
5443
5444 nsresult (*GetLogDestinations)(IMachineDebugger *pThis, PRUnichar * *logDestinations);
5445
5446 nsresult (*GetHWVirtExEnabled)(IMachineDebugger *pThis, PRBool *HWVirtExEnabled);
5447
5448 nsresult (*GetHWVirtExNestedPagingEnabled)(IMachineDebugger *pThis, PRBool *HWVirtExNestedPagingEnabled);
5449
5450 nsresult (*GetHWVirtExVPIDEnabled)(IMachineDebugger *pThis, PRBool *HWVirtExVPIDEnabled);
5451
5452 nsresult (*GetOSName)(IMachineDebugger *pThis, PRUnichar * *OSName);
5453
5454 nsresult (*GetOSVersion)(IMachineDebugger *pThis, PRUnichar * *OSVersion);
5455
5456 nsresult (*GetPAEEnabled)(IMachineDebugger *pThis, PRBool *PAEEnabled);
5457
5458 nsresult (*GetVirtualTimeRate)(IMachineDebugger *pThis, PRUint32 *virtualTimeRate);
5459 nsresult (*SetVirtualTimeRate)(IMachineDebugger *pThis, PRUint32 virtualTimeRate);
5460
5461 nsresult (*GetVM)(IMachineDebugger *pThis, PRInt64 *VM);
5462
5463 nsresult (*DumpGuestCore)(
5464 IMachineDebugger *pThis,
5465 PRUnichar * filename,
5466 PRUnichar * compression
5467 );
5468
5469 nsresult (*DumpHostProcessCore)(
5470 IMachineDebugger *pThis,
5471 PRUnichar * filename,
5472 PRUnichar * compression
5473 );
5474
5475 nsresult (*Info)(
5476 IMachineDebugger *pThis,
5477 PRUnichar * name,
5478 PRUnichar * args,
5479 PRUnichar * * info
5480 );
5481
5482 nsresult (*InjectNMI)(IMachineDebugger *pThis );
5483
5484 nsresult (*ModifyLogGroups)(
5485 IMachineDebugger *pThis,
5486 PRUnichar * settings
5487 );
5488
5489 nsresult (*ModifyLogFlags)(
5490 IMachineDebugger *pThis,
5491 PRUnichar * settings
5492 );
5493
5494 nsresult (*ModifyLogDestinations)(
5495 IMachineDebugger *pThis,
5496 PRUnichar * settings
5497 );
5498
5499 nsresult (*ReadPhysicalMemory)(
5500 IMachineDebugger *pThis,
5501 PRInt64 address,
5502 PRUint32 size,
5503 PRUint32 *bytesSize,
5504 PRUint8** bytes
5505 );
5506
5507 nsresult (*WritePhysicalMemory)(
5508 IMachineDebugger *pThis,
5509 PRInt64 address,
5510 PRUint32 size,
5511 PRUint32 bytesSize,
5512 PRUint8* bytes
5513 );
5514
5515 nsresult (*ReadVirtualMemory)(
5516 IMachineDebugger *pThis,
5517 PRUint32 cpuId,
5518 PRInt64 address,
5519 PRUint32 size,
5520 PRUint32 *bytesSize,
5521 PRUint8** bytes
5522 );
5523
5524 nsresult (*WriteVirtualMemory)(
5525 IMachineDebugger *pThis,
5526 PRUint32 cpuId,
5527 PRInt64 address,
5528 PRUint32 size,
5529 PRUint32 bytesSize,
5530 PRUint8* bytes
5531 );
5532
5533 nsresult (*DetectOS)(
5534 IMachineDebugger *pThis,
5535 PRUnichar * * os
5536 );
5537
5538 nsresult (*GetRegister)(
5539 IMachineDebugger *pThis,
5540 PRUint32 cpuId,
5541 PRUnichar * name,
5542 PRUnichar * * value
5543 );
5544
5545 nsresult (*GetRegisters)(
5546 IMachineDebugger *pThis,
5547 PRUint32 cpuId,
5548 PRUint32 *namesSize,
5549 PRUnichar *** names,
5550 PRUint32 *valuesSize,
5551 PRUnichar *** values
5552 );
5553
5554 nsresult (*SetRegister)(
5555 IMachineDebugger *pThis,
5556 PRUint32 cpuId,
5557 PRUnichar * name,
5558 PRUnichar * value
5559 );
5560
5561 nsresult (*SetRegisters)(
5562 IMachineDebugger *pThis,
5563 PRUint32 cpuId,
5564 PRUint32 namesSize,
5565 PRUnichar ** names,
5566 PRUint32 valuesSize,
5567 PRUnichar ** values
5568 );
5569
5570 nsresult (*DumpGuestStack)(
5571 IMachineDebugger *pThis,
5572 PRUint32 cpuId,
5573 PRUnichar * * stack
5574 );
5575
5576 nsresult (*ResetStats)(
5577 IMachineDebugger *pThis,
5578 PRUnichar * pattern
5579 );
5580
5581 nsresult (*DumpStats)(
5582 IMachineDebugger *pThis,
5583 PRUnichar * pattern
5584 );
5585
5586 nsresult (*GetStats)(
5587 IMachineDebugger *pThis,
5588 PRUnichar * pattern,
5589 PRBool withDescriptions,
5590 PRUnichar * * stats
5591 );
5592
5593};
5594
5595struct IMachineDebugger
5596{
5597 struct IMachineDebugger_vtbl *vtbl;
5598};
5599/* End of struct IMachineDebugger Declaration */
5600
5601
5602/* Start of struct IUSBController Declaration */
5603#define IUSBCONTROLLER_IID_STR "6fdcccc5-abd3-4fec-9387-2ad3914fc4a8"
5604#define IUSBCONTROLLER_IID { \
5605 0x6fdcccc5, 0xabd3, 0x4fec, \
5606 { 0x93, 0x87, 0x2a, 0xd3, 0x91, 0x4f, 0xc4, 0xa8 } \
5607}
5608struct IUSBController_vtbl
5609{
5610 struct nsISupports_vtbl nsisupports;
5611
5612 nsresult (*GetEnabled)(IUSBController *pThis, PRBool *enabled);
5613 nsresult (*SetEnabled)(IUSBController *pThis, PRBool enabled);
5614
5615 nsresult (*GetEnabledEhci)(IUSBController *pThis, PRBool *enabledEhci);
5616 nsresult (*SetEnabledEhci)(IUSBController *pThis, PRBool enabledEhci);
5617
5618 nsresult (*GetProxyAvailable)(IUSBController *pThis, PRBool *proxyAvailable);
5619
5620 nsresult (*GetUSBStandard)(IUSBController *pThis, PRUint16 *USBStandard);
5621
5622 nsresult (*GetDeviceFilters)(IUSBController *pThis, PRUint32 *deviceFiltersSize, IUSBDeviceFilter * **deviceFilters);
5623
5624 nsresult (*CreateDeviceFilter)(
5625 IUSBController *pThis,
5626 PRUnichar * name,
5627 IUSBDeviceFilter * * filter
5628 );
5629
5630 nsresult (*InsertDeviceFilter)(
5631 IUSBController *pThis,
5632 PRUint32 position,
5633 IUSBDeviceFilter * filter
5634 );
5635
5636 nsresult (*RemoveDeviceFilter)(
5637 IUSBController *pThis,
5638 PRUint32 position,
5639 IUSBDeviceFilter * * filter
5640 );
5641
5642};
5643
5644struct IUSBController
5645{
5646 struct IUSBController_vtbl *vtbl;
5647};
5648/* End of struct IUSBController Declaration */
5649
5650
5651/* Start of struct IUSBDevice Declaration */
5652#define IUSBDEVICE_IID_STR "f8967b0b-4483-400f-92b5-8b675d98a85b"
5653#define IUSBDEVICE_IID { \
5654 0xf8967b0b, 0x4483, 0x400f, \
5655 { 0x92, 0xb5, 0x8b, 0x67, 0x5d, 0x98, 0xa8, 0x5b } \
5656}
5657struct IUSBDevice_vtbl
5658{
5659 struct nsISupports_vtbl nsisupports;
5660
5661 nsresult (*GetId)(IUSBDevice *pThis, PRUnichar * *id);
5662
5663 nsresult (*GetVendorId)(IUSBDevice *pThis, PRUint16 *vendorId);
5664
5665 nsresult (*GetProductId)(IUSBDevice *pThis, PRUint16 *productId);
5666
5667 nsresult (*GetRevision)(IUSBDevice *pThis, PRUint16 *revision);
5668
5669 nsresult (*GetManufacturer)(IUSBDevice *pThis, PRUnichar * *manufacturer);
5670
5671 nsresult (*GetProduct)(IUSBDevice *pThis, PRUnichar * *product);
5672
5673 nsresult (*GetSerialNumber)(IUSBDevice *pThis, PRUnichar * *serialNumber);
5674
5675 nsresult (*GetAddress)(IUSBDevice *pThis, PRUnichar * *address);
5676
5677 nsresult (*GetPort)(IUSBDevice *pThis, PRUint16 *port);
5678
5679 nsresult (*GetVersion)(IUSBDevice *pThis, PRUint16 *version);
5680
5681 nsresult (*GetPortVersion)(IUSBDevice *pThis, PRUint16 *portVersion);
5682
5683 nsresult (*GetRemote)(IUSBDevice *pThis, PRBool *remote);
5684
5685};
5686
5687struct IUSBDevice
5688{
5689 struct IUSBDevice_vtbl *vtbl;
5690};
5691/* End of struct IUSBDevice Declaration */
5692
5693
5694/* Start of struct IUSBDeviceFilter Declaration */
5695#define IUSBDEVICEFILTER_IID_STR "d6831fb4-1a94-4c2c-96ef-8d0d6192066d"
5696#define IUSBDEVICEFILTER_IID { \
5697 0xd6831fb4, 0x1a94, 0x4c2c, \
5698 { 0x96, 0xef, 0x8d, 0x0d, 0x61, 0x92, 0x06, 0x6d } \
5699}
5700struct IUSBDeviceFilter_vtbl
5701{
5702 struct nsISupports_vtbl nsisupports;
5703
5704 nsresult (*GetName)(IUSBDeviceFilter *pThis, PRUnichar * *name);
5705 nsresult (*SetName)(IUSBDeviceFilter *pThis, PRUnichar * name);
5706
5707 nsresult (*GetActive)(IUSBDeviceFilter *pThis, PRBool *active);
5708 nsresult (*SetActive)(IUSBDeviceFilter *pThis, PRBool active);
5709
5710 nsresult (*GetVendorId)(IUSBDeviceFilter *pThis, PRUnichar * *vendorId);
5711 nsresult (*SetVendorId)(IUSBDeviceFilter *pThis, PRUnichar * vendorId);
5712
5713 nsresult (*GetProductId)(IUSBDeviceFilter *pThis, PRUnichar * *productId);
5714 nsresult (*SetProductId)(IUSBDeviceFilter *pThis, PRUnichar * productId);
5715
5716 nsresult (*GetRevision)(IUSBDeviceFilter *pThis, PRUnichar * *revision);
5717 nsresult (*SetRevision)(IUSBDeviceFilter *pThis, PRUnichar * revision);
5718
5719 nsresult (*GetManufacturer)(IUSBDeviceFilter *pThis, PRUnichar * *manufacturer);
5720 nsresult (*SetManufacturer)(IUSBDeviceFilter *pThis, PRUnichar * manufacturer);
5721
5722 nsresult (*GetProduct)(IUSBDeviceFilter *pThis, PRUnichar * *product);
5723 nsresult (*SetProduct)(IUSBDeviceFilter *pThis, PRUnichar * product);
5724
5725 nsresult (*GetSerialNumber)(IUSBDeviceFilter *pThis, PRUnichar * *serialNumber);
5726 nsresult (*SetSerialNumber)(IUSBDeviceFilter *pThis, PRUnichar * serialNumber);
5727
5728 nsresult (*GetPort)(IUSBDeviceFilter *pThis, PRUnichar * *port);
5729 nsresult (*SetPort)(IUSBDeviceFilter *pThis, PRUnichar * port);
5730
5731 nsresult (*GetRemote)(IUSBDeviceFilter *pThis, PRUnichar * *remote);
5732 nsresult (*SetRemote)(IUSBDeviceFilter *pThis, PRUnichar * remote);
5733
5734 nsresult (*GetMaskedInterfaces)(IUSBDeviceFilter *pThis, PRUint32 *maskedInterfaces);
5735 nsresult (*SetMaskedInterfaces)(IUSBDeviceFilter *pThis, PRUint32 maskedInterfaces);
5736
5737};
5738
5739struct IUSBDeviceFilter
5740{
5741 struct IUSBDeviceFilter_vtbl *vtbl;
5742};
5743/* End of struct IUSBDeviceFilter Declaration */
5744
5745
5746/* Start of struct IHostUSBDevice Declaration */
5747#define IHOSTUSBDEVICE_IID_STR "173b4b44-d268-4334-a00d-b6521c9a740a"
5748#define IHOSTUSBDEVICE_IID { \
5749 0x173b4b44, 0xd268, 0x4334, \
5750 { 0xa0, 0x0d, 0xb6, 0x52, 0x1c, 0x9a, 0x74, 0x0a } \
5751}
5752struct IHostUSBDevice_vtbl
5753{
5754 struct IUSBDevice_vtbl iusbdevice;
5755
5756 nsresult (*GetState)(IHostUSBDevice *pThis, PRUint32 *state);
5757
5758};
5759
5760struct IHostUSBDevice
5761{
5762 struct IHostUSBDevice_vtbl *vtbl;
5763};
5764/* End of struct IHostUSBDevice Declaration */
5765
5766
5767/* Start of struct IHostUSBDeviceFilter Declaration */
5768#define IHOSTUSBDEVICEFILTER_IID_STR "4cc70246-d74a-400f-8222-3900489c0374"
5769#define IHOSTUSBDEVICEFILTER_IID { \
5770 0x4cc70246, 0xd74a, 0x400f, \
5771 { 0x82, 0x22, 0x39, 0x00, 0x48, 0x9c, 0x03, 0x74 } \
5772}
5773struct IHostUSBDeviceFilter_vtbl
5774{
5775 struct IUSBDeviceFilter_vtbl iusbdevicefilter;
5776
5777 nsresult (*GetAction)(IHostUSBDeviceFilter *pThis, PRUint32 *action);
5778 nsresult (*SetAction)(IHostUSBDeviceFilter *pThis, PRUint32 action);
5779
5780};
5781
5782struct IHostUSBDeviceFilter
5783{
5784 struct IHostUSBDeviceFilter_vtbl *vtbl;
5785};
5786/* End of struct IHostUSBDeviceFilter Declaration */
5787
5788
5789/* Start of struct IAudioAdapter Declaration */
5790#define IAUDIOADAPTER_IID_STR "921873db-5f3f-4b69-91f9-7be9e535a2cb"
5791#define IAUDIOADAPTER_IID { \
5792 0x921873db, 0x5f3f, 0x4b69, \
5793 { 0x91, 0xf9, 0x7b, 0xe9, 0xe5, 0x35, 0xa2, 0xcb } \
5794}
5795struct IAudioAdapter_vtbl
5796{
5797 struct nsISupports_vtbl nsisupports;
5798
5799 nsresult (*GetEnabled)(IAudioAdapter *pThis, PRBool *enabled);
5800 nsresult (*SetEnabled)(IAudioAdapter *pThis, PRBool enabled);
5801
5802 nsresult (*GetAudioController)(IAudioAdapter *pThis, PRUint32 *audioController);
5803 nsresult (*SetAudioController)(IAudioAdapter *pThis, PRUint32 audioController);
5804
5805 nsresult (*GetAudioDriver)(IAudioAdapter *pThis, PRUint32 *audioDriver);
5806 nsresult (*SetAudioDriver)(IAudioAdapter *pThis, PRUint32 audioDriver);
5807
5808};
5809
5810struct IAudioAdapter
5811{
5812 struct IAudioAdapter_vtbl *vtbl;
5813};
5814/* End of struct IAudioAdapter Declaration */
5815
5816
5817/* Start of struct IVRDEServer Declaration */
5818#define IVRDESERVER_IID_STR "d38de40a-c2c1-4e95-b5a4-167b05f5694c"
5819#define IVRDESERVER_IID { \
5820 0xd38de40a, 0xc2c1, 0x4e95, \
5821 { 0xb5, 0xa4, 0x16, 0x7b, 0x05, 0xf5, 0x69, 0x4c } \
5822}
5823struct IVRDEServer_vtbl
5824{
5825 struct nsISupports_vtbl nsisupports;
5826
5827 nsresult (*GetEnabled)(IVRDEServer *pThis, PRBool *enabled);
5828 nsresult (*SetEnabled)(IVRDEServer *pThis, PRBool enabled);
5829
5830 nsresult (*GetAuthType)(IVRDEServer *pThis, PRUint32 *authType);
5831 nsresult (*SetAuthType)(IVRDEServer *pThis, PRUint32 authType);
5832
5833 nsresult (*GetAuthTimeout)(IVRDEServer *pThis, PRUint32 *authTimeout);
5834 nsresult (*SetAuthTimeout)(IVRDEServer *pThis, PRUint32 authTimeout);
5835
5836 nsresult (*GetAllowMultiConnection)(IVRDEServer *pThis, PRBool *allowMultiConnection);
5837 nsresult (*SetAllowMultiConnection)(IVRDEServer *pThis, PRBool allowMultiConnection);
5838
5839 nsresult (*GetReuseSingleConnection)(IVRDEServer *pThis, PRBool *reuseSingleConnection);
5840 nsresult (*SetReuseSingleConnection)(IVRDEServer *pThis, PRBool reuseSingleConnection);
5841
5842 nsresult (*GetVRDEExtPack)(IVRDEServer *pThis, PRUnichar * *VRDEExtPack);
5843 nsresult (*SetVRDEExtPack)(IVRDEServer *pThis, PRUnichar * VRDEExtPack);
5844
5845 nsresult (*GetAuthLibrary)(IVRDEServer *pThis, PRUnichar * *authLibrary);
5846 nsresult (*SetAuthLibrary)(IVRDEServer *pThis, PRUnichar * authLibrary);
5847
5848 nsresult (*GetVRDEProperties)(IVRDEServer *pThis, PRUint32 *VRDEPropertiesSize, PRUnichar * **VRDEProperties);
5849
5850 nsresult (*SetVRDEProperty)(
5851 IVRDEServer *pThis,
5852 PRUnichar * key,
5853 PRUnichar * value
5854 );
5855
5856 nsresult (*GetVRDEProperty)(
5857 IVRDEServer *pThis,
5858 PRUnichar * key,
5859 PRUnichar * * value
5860 );
5861
5862};
5863
5864struct IVRDEServer
5865{
5866 struct IVRDEServer_vtbl *vtbl;
5867};
5868/* End of struct IVRDEServer Declaration */
5869
5870
5871/* Start of struct ISharedFolder Declaration */
5872#define ISHAREDFOLDER_IID_STR "8388da11-b559-4574-a5b7-2bd7acd5cef8"
5873#define ISHAREDFOLDER_IID { \
5874 0x8388da11, 0xb559, 0x4574, \
5875 { 0xa5, 0xb7, 0x2b, 0xd7, 0xac, 0xd5, 0xce, 0xf8 } \
5876}
5877struct ISharedFolder_vtbl
5878{
5879 struct nsISupports_vtbl nsisupports;
5880
5881 nsresult (*GetName)(ISharedFolder *pThis, PRUnichar * *name);
5882
5883 nsresult (*GetHostPath)(ISharedFolder *pThis, PRUnichar * *hostPath);
5884
5885 nsresult (*GetAccessible)(ISharedFolder *pThis, PRBool *accessible);
5886
5887 nsresult (*GetWritable)(ISharedFolder *pThis, PRBool *writable);
5888
5889 nsresult (*GetAutoMount)(ISharedFolder *pThis, PRBool *autoMount);
5890
5891 nsresult (*GetLastAccessError)(ISharedFolder *pThis, PRUnichar * *lastAccessError);
5892
5893};
5894
5895struct ISharedFolder
5896{
5897 struct ISharedFolder_vtbl *vtbl;
5898};
5899/* End of struct ISharedFolder Declaration */
5900
5901
5902/* Start of struct IInternalSessionControl Declaration */
5903#define IINTERNALSESSIONCONTROL_IID_STR "0bdda5da-67c8-47be-a610-b83a7fa3e8b6"
5904#define IINTERNALSESSIONCONTROL_IID { \
5905 0x0bdda5da, 0x67c8, 0x47be, \
5906 { 0xa6, 0x10, 0xb8, 0x3a, 0x7f, 0xa3, 0xe8, 0xb6 } \
5907}
5908struct IInternalSessionControl_vtbl
5909{
5910 struct nsISupports_vtbl nsisupports;
5911
5912 nsresult (*GetPID)(
5913 IInternalSessionControl *pThis,
5914 PRUint32 * pid
5915 );
5916
5917 nsresult (*GetRemoteConsole)(
5918 IInternalSessionControl *pThis,
5919 IConsole * * console
5920 );
5921
5922 nsresult (*AssignMachine)(
5923 IInternalSessionControl *pThis,
5924 IMachine * machine
5925 );
5926
5927 nsresult (*AssignRemoteMachine)(
5928 IInternalSessionControl *pThis,
5929 IMachine * machine,
5930 IConsole * console
5931 );
5932
5933 nsresult (*UpdateMachineState)(
5934 IInternalSessionControl *pThis,
5935 PRUint32 aMachineState
5936 );
5937
5938 nsresult (*Uninitialize)(IInternalSessionControl *pThis );
5939
5940 nsresult (*OnNetworkAdapterChange)(
5941 IInternalSessionControl *pThis,
5942 INetworkAdapter * networkAdapter,
5943 PRBool changeAdapter
5944 );
5945
5946 nsresult (*OnSerialPortChange)(
5947 IInternalSessionControl *pThis,
5948 ISerialPort * serialPort
5949 );
5950
5951 nsresult (*OnParallelPortChange)(
5952 IInternalSessionControl *pThis,
5953 IParallelPort * parallelPort
5954 );
5955
5956 nsresult (*OnStorageControllerChange)(IInternalSessionControl *pThis );
5957
5958 nsresult (*OnMediumChange)(
5959 IInternalSessionControl *pThis,
5960 IMediumAttachment * mediumAttachment,
5961 PRBool force
5962 );
5963
5964 nsresult (*OnStorageDeviceChange)(
5965 IInternalSessionControl *pThis,
5966 IMediumAttachment * mediumAttachment,
5967 PRBool remove
5968 );
5969
5970 nsresult (*OnCPUChange)(
5971 IInternalSessionControl *pThis,
5972 PRUint32 cpu,
5973 PRBool add
5974 );
5975
5976 nsresult (*OnCPUExecutionCapChange)(
5977 IInternalSessionControl *pThis,
5978 PRUint32 executionCap
5979 );
5980
5981 nsresult (*OnVRDEServerChange)(
5982 IInternalSessionControl *pThis,
5983 PRBool restart
5984 );
5985
5986 nsresult (*OnUSBControllerChange)(IInternalSessionControl *pThis );
5987
5988 nsresult (*OnSharedFolderChange)(
5989 IInternalSessionControl *pThis,
5990 PRBool global
5991 );
5992
5993 nsresult (*OnUSBDeviceAttach)(
5994 IInternalSessionControl *pThis,
5995 IUSBDevice * device,
5996 IVirtualBoxErrorInfo * error,
5997 PRUint32 maskedInterfaces
5998 );
5999
6000 nsresult (*OnUSBDeviceDetach)(
6001 IInternalSessionControl *pThis,
6002 PRUnichar * id,
6003 IVirtualBoxErrorInfo * error
6004 );
6005
6006 nsresult (*OnShowWindow)(
6007 IInternalSessionControl *pThis,
6008 PRBool check,
6009 PRBool * canShow,
6010 PRInt64 * winId
6011 );
6012
6013 nsresult (*OnBandwidthGroupChange)(
6014 IInternalSessionControl *pThis,
6015 IBandwidthGroup * bandwidthGroup
6016 );
6017
6018 nsresult (*AccessGuestProperty)(
6019 IInternalSessionControl *pThis,
6020 PRUnichar * name,
6021 PRUnichar * value,
6022 PRUnichar * flags,
6023 PRBool isSetter,
6024 PRUnichar * * retValue,
6025 PRInt64 * retTimestamp,
6026 PRUnichar * * retFlags
6027 );
6028
6029 nsresult (*EnumerateGuestProperties)(
6030 IInternalSessionControl *pThis,
6031 PRUnichar * patterns,
6032 PRUint32 *keySize,
6033 PRUnichar *** key,
6034 PRUint32 *valueSize,
6035 PRUnichar *** value,
6036 PRUint32 *timestampSize,
6037 PRInt64* timestamp,
6038 PRUint32 *flagsSize,
6039 PRUnichar *** flags
6040 );
6041
6042 nsresult (*OnlineMergeMedium)(
6043 IInternalSessionControl *pThis,
6044 IMediumAttachment * mediumAttachment,
6045 PRUint32 sourceIdx,
6046 PRUint32 targetIdx,
6047 IMedium * source,
6048 IMedium * target,
6049 PRBool mergeForward,
6050 IMedium * parentForTarget,
6051 PRUint32 childrenToReparentSize,
6052 IMedium ** childrenToReparent,
6053 IProgress * progress
6054 );
6055
6056};
6057
6058struct IInternalSessionControl
6059{
6060 struct IInternalSessionControl_vtbl *vtbl;
6061};
6062/* End of struct IInternalSessionControl Declaration */
6063
6064
6065/* Start of struct ISession Declaration */
6066#define ISESSION_IID_STR "12F4DCDB-12B2-4EC1-B7CD-DDD9F6C5BF4D"
6067#define ISESSION_IID { \
6068 0x12F4DCDB, 0x12B2, 0x4EC1, \
6069 { 0xB7, 0xCD, 0xDD, 0xD9, 0xF6, 0xC5, 0xBF, 0x4D } \
6070}
6071struct ISession_vtbl
6072{
6073 struct nsISupports_vtbl nsisupports;
6074
6075 nsresult (*GetState)(ISession *pThis, PRUint32 *state);
6076
6077 nsresult (*GetType)(ISession *pThis, PRUint32 *type);
6078
6079 nsresult (*GetMachine)(ISession *pThis, IMachine * *machine);
6080
6081 nsresult (*GetConsole)(ISession *pThis, IConsole * *console);
6082
6083 nsresult (*UnlockMachine)(ISession *pThis );
6084
6085};
6086
6087struct ISession
6088{
6089 struct ISession_vtbl *vtbl;
6090};
6091/* End of struct ISession Declaration */
6092
6093
6094/* Start of struct IStorageController Declaration */
6095#define ISTORAGECONTROLLER_IID_STR "a1556333-09b6-46d9-bfb7-fc239b7fbe1e"
6096#define ISTORAGECONTROLLER_IID { \
6097 0xa1556333, 0x09b6, 0x46d9, \
6098 { 0xbf, 0xb7, 0xfc, 0x23, 0x9b, 0x7f, 0xbe, 0x1e } \
6099}
6100struct IStorageController_vtbl
6101{
6102 struct nsISupports_vtbl nsisupports;
6103
6104 nsresult (*GetName)(IStorageController *pThis, PRUnichar * *name);
6105
6106 nsresult (*GetMaxDevicesPerPortCount)(IStorageController *pThis, PRUint32 *maxDevicesPerPortCount);
6107
6108 nsresult (*GetMinPortCount)(IStorageController *pThis, PRUint32 *minPortCount);
6109
6110 nsresult (*GetMaxPortCount)(IStorageController *pThis, PRUint32 *maxPortCount);
6111
6112 nsresult (*GetInstance)(IStorageController *pThis, PRUint32 *instance);
6113 nsresult (*SetInstance)(IStorageController *pThis, PRUint32 instance);
6114
6115 nsresult (*GetPortCount)(IStorageController *pThis, PRUint32 *portCount);
6116 nsresult (*SetPortCount)(IStorageController *pThis, PRUint32 portCount);
6117
6118 nsresult (*GetBus)(IStorageController *pThis, PRUint32 *bus);
6119
6120 nsresult (*GetControllerType)(IStorageController *pThis, PRUint32 *controllerType);
6121 nsresult (*SetControllerType)(IStorageController *pThis, PRUint32 controllerType);
6122
6123 nsresult (*GetUseHostIOCache)(IStorageController *pThis, PRBool *useHostIOCache);
6124 nsresult (*SetUseHostIOCache)(IStorageController *pThis, PRBool useHostIOCache);
6125
6126 nsresult (*GetBootable)(IStorageController *pThis, PRBool *bootable);
6127
6128 nsresult (*GetIDEEmulationPort)(
6129 IStorageController *pThis,
6130 PRInt32 devicePosition,
6131 PRInt32 * portNumber
6132 );
6133
6134 nsresult (*SetIDEEmulationPort)(
6135 IStorageController *pThis,
6136 PRInt32 devicePosition,
6137 PRInt32 portNumber
6138 );
6139
6140};
6141
6142struct IStorageController
6143{
6144 struct IStorageController_vtbl *vtbl;
6145};
6146/* End of struct IStorageController Declaration */
6147
6148
6149/* Start of struct IPerformanceMetric Declaration */
6150#define IPERFORMANCEMETRIC_IID_STR "2a1a60ae-9345-4019-ad53-d34ba41cbfe9"
6151#define IPERFORMANCEMETRIC_IID { \
6152 0x2a1a60ae, 0x9345, 0x4019, \
6153 { 0xad, 0x53, 0xd3, 0x4b, 0xa4, 0x1c, 0xbf, 0xe9 } \
6154}
6155struct IPerformanceMetric_vtbl
6156{
6157 struct nsISupports_vtbl nsisupports;
6158
6159 nsresult (*GetMetricName)(IPerformanceMetric *pThis, PRUnichar * *metricName);
6160
6161 nsresult (*GetObject)(IPerformanceMetric *pThis, nsISupports * *object);
6162
6163 nsresult (*GetDescription)(IPerformanceMetric *pThis, PRUnichar * *description);
6164
6165 nsresult (*GetPeriod)(IPerformanceMetric *pThis, PRUint32 *period);
6166
6167 nsresult (*GetCount)(IPerformanceMetric *pThis, PRUint32 *count);
6168
6169 nsresult (*GetUnit)(IPerformanceMetric *pThis, PRUnichar * *unit);
6170
6171 nsresult (*GetMinimumValue)(IPerformanceMetric *pThis, PRInt32 *minimumValue);
6172
6173 nsresult (*GetMaximumValue)(IPerformanceMetric *pThis, PRInt32 *maximumValue);
6174
6175};
6176
6177struct IPerformanceMetric
6178{
6179 struct IPerformanceMetric_vtbl *vtbl;
6180};
6181/* End of struct IPerformanceMetric Declaration */
6182
6183
6184/* Start of struct IPerformanceCollector Declaration */
6185#define IPERFORMANCECOLLECTOR_IID_STR "e22e1acb-ac4a-43bb-a31c-17321659b0c6"
6186#define IPERFORMANCECOLLECTOR_IID { \
6187 0xe22e1acb, 0xac4a, 0x43bb, \
6188 { 0xa3, 0x1c, 0x17, 0x32, 0x16, 0x59, 0xb0, 0xc6 } \
6189}
6190struct IPerformanceCollector_vtbl
6191{
6192 struct nsISupports_vtbl nsisupports;
6193
6194 nsresult (*GetMetricNames)(IPerformanceCollector *pThis, PRUint32 *metricNamesSize, PRUnichar * **metricNames);
6195
6196 nsresult (*GetMetrics)(
6197 IPerformanceCollector *pThis,
6198 PRUint32 metricNamesSize,
6199 PRUnichar ** metricNames,
6200 PRUint32 objectsSize,
6201 nsISupports ** objects,
6202 PRUint32 *metricsSize,
6203 IPerformanceMetric *** metrics
6204 );
6205
6206 nsresult (*SetupMetrics)(
6207 IPerformanceCollector *pThis,
6208 PRUint32 metricNamesSize,
6209 PRUnichar ** metricNames,
6210 PRUint32 objectsSize,
6211 nsISupports ** objects,
6212 PRUint32 period,
6213 PRUint32 count,
6214 PRUint32 *affectedMetricsSize,
6215 IPerformanceMetric *** affectedMetrics
6216 );
6217
6218 nsresult (*EnableMetrics)(
6219 IPerformanceCollector *pThis,
6220 PRUint32 metricNamesSize,
6221 PRUnichar ** metricNames,
6222 PRUint32 objectsSize,
6223 nsISupports ** objects,
6224 PRUint32 *affectedMetricsSize,
6225 IPerformanceMetric *** affectedMetrics
6226 );
6227
6228 nsresult (*DisableMetrics)(
6229 IPerformanceCollector *pThis,
6230 PRUint32 metricNamesSize,
6231 PRUnichar ** metricNames,
6232 PRUint32 objectsSize,
6233 nsISupports ** objects,
6234 PRUint32 *affectedMetricsSize,
6235 IPerformanceMetric *** affectedMetrics
6236 );
6237
6238 nsresult (*QueryMetricsData)(
6239 IPerformanceCollector *pThis,
6240 PRUint32 metricNamesSize,
6241 PRUnichar ** metricNames,
6242 PRUint32 objectsSize,
6243 nsISupports ** objects,
6244 PRUint32 *returnMetricNamesSize,
6245 PRUnichar *** returnMetricNames,
6246 PRUint32 *returnObjectsSize,
6247 nsISupports ** returnObjects,
6248 PRUint32 *returnUnitsSize,
6249 PRUnichar *** returnUnits,
6250 PRUint32 *returnScalesSize,
6251 PRUint32* returnScales,
6252 PRUint32 *returnSequenceNumbersSize,
6253 PRUint32* returnSequenceNumbers,
6254 PRUint32 *returnDataIndicesSize,
6255 PRUint32* returnDataIndices,
6256 PRUint32 *returnDataLengthsSize,
6257 PRUint32* returnDataLengths,
6258 PRUint32 *returnDataSize,
6259 PRInt32** returnData
6260 );
6261
6262};
6263
6264struct IPerformanceCollector
6265{
6266 struct IPerformanceCollector_vtbl *vtbl;
6267};
6268/* End of struct IPerformanceCollector Declaration */
6269
6270
6271/* Start of struct INATEngine Declaration */
6272#define INATENGINE_IID_STR "4b286616-eb03-11de-b0fb-1701eca42246"
6273#define INATENGINE_IID { \
6274 0x4b286616, 0xeb03, 0x11de, \
6275 { 0xb0, 0xfb, 0x17, 0x01, 0xec, 0xa4, 0x22, 0x46 } \
6276}
6277struct INATEngine_vtbl
6278{
6279 struct nsISupports_vtbl nsisupports;
6280
6281 nsresult (*GetNetwork)(INATEngine *pThis, PRUnichar * *network);
6282 nsresult (*SetNetwork)(INATEngine *pThis, PRUnichar * network);
6283
6284 nsresult (*GetHostIP)(INATEngine *pThis, PRUnichar * *hostIP);
6285 nsresult (*SetHostIP)(INATEngine *pThis, PRUnichar * hostIP);
6286
6287 nsresult (*GetTftpPrefix)(INATEngine *pThis, PRUnichar * *tftpPrefix);
6288 nsresult (*SetTftpPrefix)(INATEngine *pThis, PRUnichar * tftpPrefix);
6289
6290 nsresult (*GetTftpBootFile)(INATEngine *pThis, PRUnichar * *tftpBootFile);
6291 nsresult (*SetTftpBootFile)(INATEngine *pThis, PRUnichar * tftpBootFile);
6292
6293 nsresult (*GetTftpNextServer)(INATEngine *pThis, PRUnichar * *tftpNextServer);
6294 nsresult (*SetTftpNextServer)(INATEngine *pThis, PRUnichar * tftpNextServer);
6295
6296 nsresult (*GetAliasMode)(INATEngine *pThis, PRUint32 *aliasMode);
6297 nsresult (*SetAliasMode)(INATEngine *pThis, PRUint32 aliasMode);
6298
6299 nsresult (*GetDnsPassDomain)(INATEngine *pThis, PRBool *dnsPassDomain);
6300 nsresult (*SetDnsPassDomain)(INATEngine *pThis, PRBool dnsPassDomain);
6301
6302 nsresult (*GetDnsProxy)(INATEngine *pThis, PRBool *dnsProxy);
6303 nsresult (*SetDnsProxy)(INATEngine *pThis, PRBool dnsProxy);
6304
6305 nsresult (*GetDnsUseHostResolver)(INATEngine *pThis, PRBool *dnsUseHostResolver);
6306 nsresult (*SetDnsUseHostResolver)(INATEngine *pThis, PRBool dnsUseHostResolver);
6307
6308 nsresult (*GetRedirects)(INATEngine *pThis, PRUint32 *redirectsSize, PRUnichar * **redirects);
6309
6310 nsresult (*SetNetworkSettings)(
6311 INATEngine *pThis,
6312 PRUint32 mtu,
6313 PRUint32 sockSnd,
6314 PRUint32 sockRcv,
6315 PRUint32 TcpWndSnd,
6316 PRUint32 TcpWndRcv
6317 );
6318
6319 nsresult (*GetNetworkSettings)(
6320 INATEngine *pThis,
6321 PRUint32 * mtu,
6322 PRUint32 * sockSnd,
6323 PRUint32 * sockRcv,
6324 PRUint32 * TcpWndSnd,
6325 PRUint32 * TcpWndRcv
6326 );
6327
6328 nsresult (*AddRedirect)(
6329 INATEngine *pThis,
6330 PRUnichar * name,
6331 PRUint32 proto,
6332 PRUnichar * hostIp,
6333 PRUint16 hostPort,
6334 PRUnichar * guestIp,
6335 PRUint16 guestPort
6336 );
6337
6338 nsresult (*RemoveRedirect)(
6339 INATEngine *pThis,
6340 PRUnichar * name
6341 );
6342
6343};
6344
6345struct INATEngine
6346{
6347 struct INATEngine_vtbl *vtbl;
6348};
6349/* End of struct INATEngine Declaration */
6350
6351
6352/* Start of struct IExtPackPlugIn Declaration */
6353#define IEXTPACKPLUGIN_IID_STR "58000040-e718-4746-bbce-4b86d96da461"
6354#define IEXTPACKPLUGIN_IID { \
6355 0x58000040, 0xe718, 0x4746, \
6356 { 0xbb, 0xce, 0x4b, 0x86, 0xd9, 0x6d, 0xa4, 0x61 } \
6357}
6358struct IExtPackPlugIn_vtbl
6359{
6360 struct nsISupports_vtbl nsisupports;
6361
6362 nsresult (*GetName)(IExtPackPlugIn *pThis, PRUnichar * *name);
6363
6364 nsresult (*GetDescription)(IExtPackPlugIn *pThis, PRUnichar * *description);
6365
6366 nsresult (*GetFrontend)(IExtPackPlugIn *pThis, PRUnichar * *frontend);
6367
6368 nsresult (*GetModulePath)(IExtPackPlugIn *pThis, PRUnichar * *modulePath);
6369
6370};
6371
6372struct IExtPackPlugIn
6373{
6374 struct IExtPackPlugIn_vtbl *vtbl;
6375};
6376/* End of struct IExtPackPlugIn Declaration */
6377
6378
6379/* Start of struct IExtPackBase Declaration */
6380#define IEXTPACKBASE_IID_STR "5ffb0b64-0ad6-467d-af62-1157e7dc3c99"
6381#define IEXTPACKBASE_IID { \
6382 0x5ffb0b64, 0x0ad6, 0x467d, \
6383 { 0xaf, 0x62, 0x11, 0x57, 0xe7, 0xdc, 0x3c, 0x99 } \
6384}
6385struct IExtPackBase_vtbl
6386{
6387 struct nsISupports_vtbl nsisupports;
6388
6389 nsresult (*GetName)(IExtPackBase *pThis, PRUnichar * *name);
6390
6391 nsresult (*GetDescription)(IExtPackBase *pThis, PRUnichar * *description);
6392
6393 nsresult (*GetVersion)(IExtPackBase *pThis, PRUnichar * *version);
6394
6395 nsresult (*GetRevision)(IExtPackBase *pThis, PRUint32 *revision);
6396
6397 nsresult (*GetVRDEModule)(IExtPackBase *pThis, PRUnichar * *VRDEModule);
6398
6399 nsresult (*GetPlugIns)(IExtPackBase *pThis, PRUint32 *plugInsSize, IExtPackPlugIn * **plugIns);
6400
6401 nsresult (*GetUsable)(IExtPackBase *pThis, PRBool *usable);
6402
6403 nsresult (*GetWhyUnusable)(IExtPackBase *pThis, PRUnichar * *whyUnusable);
6404
6405 nsresult (*GetShowLicense)(IExtPackBase *pThis, PRBool *showLicense);
6406
6407 nsresult (*GetLicense)(IExtPackBase *pThis, PRUnichar * *license);
6408
6409 nsresult (*QueryLicense)(
6410 IExtPackBase *pThis,
6411 PRUnichar * preferredLocale,
6412 PRUnichar * preferredLanguage,
6413 PRUnichar * format,
6414 PRUnichar * * licenseText
6415 );
6416
6417};
6418
6419struct IExtPackBase
6420{
6421 struct IExtPackBase_vtbl *vtbl;
6422};
6423/* End of struct IExtPackBase Declaration */
6424
6425
6426/* Start of struct IExtPack Declaration */
6427#define IEXTPACK_IID_STR "431685da-3618-4ebc-b038-833ba829b4b2"
6428#define IEXTPACK_IID { \
6429 0x431685da, 0x3618, 0x4ebc, \
6430 { 0xb0, 0x38, 0x83, 0x3b, 0xa8, 0x29, 0xb4, 0xb2 } \
6431}
6432struct IExtPack_vtbl
6433{
6434 struct IExtPackBase_vtbl iextpackbase;
6435
6436 nsresult (*QueryObject)(
6437 IExtPack *pThis,
6438 PRUnichar * objUuid,
6439 nsISupports * * returnInterface
6440 );
6441
6442};
6443
6444struct IExtPack
6445{
6446 struct IExtPack_vtbl *vtbl;
6447};
6448/* End of struct IExtPack Declaration */
6449
6450
6451/* Start of struct IExtPackFile Declaration */
6452#define IEXTPACKFILE_IID_STR "b6b49f55-efcc-4f08-b486-56e8d8afb10b"
6453#define IEXTPACKFILE_IID { \
6454 0xb6b49f55, 0xefcc, 0x4f08, \
6455 { 0xb4, 0x86, 0x56, 0xe8, 0xd8, 0xaf, 0xb1, 0x0b } \
6456}
6457struct IExtPackFile_vtbl
6458{
6459 struct IExtPackBase_vtbl iextpackbase;
6460
6461 nsresult (*GetFilePath)(IExtPackFile *pThis, PRUnichar * *filePath);
6462
6463 nsresult (*Install)(
6464 IExtPackFile *pThis,
6465 PRBool replace,
6466 PRUnichar * displayInfo,
6467 IProgress * * progess
6468 );
6469
6470};
6471
6472struct IExtPackFile
6473{
6474 struct IExtPackFile_vtbl *vtbl;
6475};
6476/* End of struct IExtPackFile Declaration */
6477
6478
6479/* Start of struct IExtPackManager Declaration */
6480#define IEXTPACKMANAGER_IID_STR "3295e6ce-b051-47b2-9514-2c588bfe7554"
6481#define IEXTPACKMANAGER_IID { \
6482 0x3295e6ce, 0xb051, 0x47b2, \
6483 { 0x95, 0x14, 0x2c, 0x58, 0x8b, 0xfe, 0x75, 0x54 } \
6484}
6485struct IExtPackManager_vtbl
6486{
6487 struct nsISupports_vtbl nsisupports;
6488
6489 nsresult (*GetInstalledExtPacks)(IExtPackManager *pThis, PRUint32 *installedExtPacksSize, IExtPack * **installedExtPacks);
6490
6491 nsresult (*Find)(
6492 IExtPackManager *pThis,
6493 PRUnichar * name,
6494 IExtPack * * returnData
6495 );
6496
6497 nsresult (*OpenExtPackFile)(
6498 IExtPackManager *pThis,
6499 PRUnichar * path,
6500 IExtPackFile * * file
6501 );
6502
6503 nsresult (*Uninstall)(
6504 IExtPackManager *pThis,
6505 PRUnichar * name,
6506 PRBool forcedRemoval,
6507 PRUnichar * displayInfo,
6508 IProgress * * progess
6509 );
6510
6511 nsresult (*Cleanup)(IExtPackManager *pThis );
6512
6513 nsresult (*QueryAllPlugInsForFrontend)(
6514 IExtPackManager *pThis,
6515 PRUnichar * frontendName,
6516 PRUint32 *plugInModulesSize,
6517 PRUnichar *** plugInModules
6518 );
6519
6520 nsresult (*IsExtPackUsable)(
6521 IExtPackManager *pThis,
6522 PRUnichar * name,
6523 PRBool * usable
6524 );
6525
6526};
6527
6528struct IExtPackManager
6529{
6530 struct IExtPackManager_vtbl *vtbl;
6531};
6532/* End of struct IExtPackManager Declaration */
6533
6534
6535/* Start of struct IBandwidthGroup Declaration */
6536#define IBANDWIDTHGROUP_IID_STR "badea2d7-0261-4146-89f0-6a57cc34833d"
6537#define IBANDWIDTHGROUP_IID { \
6538 0xbadea2d7, 0x0261, 0x4146, \
6539 { 0x89, 0xf0, 0x6a, 0x57, 0xcc, 0x34, 0x83, 0x3d } \
6540}
6541struct IBandwidthGroup_vtbl
6542{
6543 struct nsISupports_vtbl nsisupports;
6544
6545 nsresult (*GetName)(IBandwidthGroup *pThis, PRUnichar * *name);
6546
6547 nsresult (*GetType)(IBandwidthGroup *pThis, PRUint32 *type);
6548
6549 nsresult (*GetReference)(IBandwidthGroup *pThis, PRUint32 *reference);
6550
6551 nsresult (*GetMaxMbPerSec)(IBandwidthGroup *pThis, PRUint32 *maxMbPerSec);
6552 nsresult (*SetMaxMbPerSec)(IBandwidthGroup *pThis, PRUint32 maxMbPerSec);
6553
6554};
6555
6556struct IBandwidthGroup
6557{
6558 struct IBandwidthGroup_vtbl *vtbl;
6559};
6560/* End of struct IBandwidthGroup Declaration */
6561
6562
6563/* Start of struct IBandwidthControl Declaration */
6564#define IBANDWIDTHCONTROL_IID_STR "e2eb3930-d2f4-4f87-be17-0707e30f019f"
6565#define IBANDWIDTHCONTROL_IID { \
6566 0xe2eb3930, 0xd2f4, 0x4f87, \
6567 { 0xbe, 0x17, 0x07, 0x07, 0xe3, 0x0f, 0x01, 0x9f } \
6568}
6569struct IBandwidthControl_vtbl
6570{
6571 struct nsISupports_vtbl nsisupports;
6572
6573 nsresult (*GetNumGroups)(IBandwidthControl *pThis, PRUint32 *numGroups);
6574
6575 nsresult (*CreateBandwidthGroup)(
6576 IBandwidthControl *pThis,
6577 PRUnichar * name,
6578 PRUint32 type,
6579 PRUint32 maxMbPerSec
6580 );
6581
6582 nsresult (*DeleteBandwidthGroup)(
6583 IBandwidthControl *pThis,
6584 PRUnichar * name
6585 );
6586
6587 nsresult (*GetBandwidthGroup)(
6588 IBandwidthControl *pThis,
6589 PRUnichar * name,
6590 IBandwidthGroup * * bandwidthGroup
6591 );
6592
6593 nsresult (*GetAllBandwidthGroups)(
6594 IBandwidthControl *pThis,
6595 PRUint32 *bandwidthGroupsSize,
6596 IBandwidthGroup *** bandwidthGroups
6597 );
6598
6599};
6600
6601struct IBandwidthControl
6602{
6603 struct IBandwidthControl_vtbl *vtbl;
6604};
6605/* End of struct IBandwidthControl Declaration */
6606
6607
6608/* Start of struct IVirtualBoxClient Declaration */
6609#define IVIRTUALBOXCLIENT_IID_STR "5fe0bd48-1181-40d1-991f-3b02f269a823"
6610#define IVIRTUALBOXCLIENT_IID { \
6611 0x5fe0bd48, 0x1181, 0x40d1, \
6612 { 0x99, 0x1f, 0x3b, 0x02, 0xf2, 0x69, 0xa8, 0x23 } \
6613}
6614struct IVirtualBoxClient_vtbl
6615{
6616 struct nsISupports_vtbl nsisupports;
6617
6618 nsresult (*GetVirtualBox)(IVirtualBoxClient *pThis, IVirtualBox * *virtualBox);
6619
6620 nsresult (*GetSession)(IVirtualBoxClient *pThis, ISession * *session);
6621
6622 nsresult (*GetEventSource)(IVirtualBoxClient *pThis, IEventSource * *eventSource);
6623
6624};
6625
6626struct IVirtualBoxClient
6627{
6628 struct IVirtualBoxClient_vtbl *vtbl;
6629};
6630/* End of struct IVirtualBoxClient Declaration */
6631
6632
6633/* Start of struct IEventSource Declaration */
6634#define IEVENTSOURCE_IID_STR "9b6e1aee-35f3-4f4d-b5bb-ed0ecefd8538"
6635#define IEVENTSOURCE_IID { \
6636 0x9b6e1aee, 0x35f3, 0x4f4d, \
6637 { 0xb5, 0xbb, 0xed, 0x0e, 0xce, 0xfd, 0x85, 0x38 } \
6638}
6639struct IEventSource_vtbl
6640{
6641 struct nsISupports_vtbl nsisupports;
6642
6643 nsresult (*CreateListener)(
6644 IEventSource *pThis,
6645 IEventListener * * listener
6646 );
6647
6648 nsresult (*CreateAggregator)(
6649 IEventSource *pThis,
6650 PRUint32 subordinatesSize,
6651 IEventSource ** subordinates,
6652 IEventSource * * result
6653 );
6654
6655 nsresult (*RegisterListener)(
6656 IEventSource *pThis,
6657 IEventListener * listener,
6658 PRUint32 interestingSize,
6659 PRUint32* interesting,
6660 PRBool active
6661 );
6662
6663 nsresult (*UnregisterListener)(
6664 IEventSource *pThis,
6665 IEventListener * listener
6666 );
6667
6668 nsresult (*FireEvent)(
6669 IEventSource *pThis,
6670 IEvent * event,
6671 PRInt32 timeout,
6672 PRBool * result
6673 );
6674
6675 nsresult (*GetEvent)(
6676 IEventSource *pThis,
6677 IEventListener * listener,
6678 PRInt32 timeout,
6679 IEvent * * event
6680 );
6681
6682 nsresult (*EventProcessed)(
6683 IEventSource *pThis,
6684 IEventListener * listener,
6685 IEvent * event
6686 );
6687
6688};
6689
6690struct IEventSource
6691{
6692 struct IEventSource_vtbl *vtbl;
6693};
6694/* End of struct IEventSource Declaration */
6695
6696
6697/* Start of struct IEventListener Declaration */
6698#define IEVENTLISTENER_IID_STR "67099191-32e7-4f6c-85ee-422304c71b90"
6699#define IEVENTLISTENER_IID { \
6700 0x67099191, 0x32e7, 0x4f6c, \
6701 { 0x85, 0xee, 0x42, 0x23, 0x04, 0xc7, 0x1b, 0x90 } \
6702}
6703struct IEventListener_vtbl
6704{
6705 struct nsISupports_vtbl nsisupports;
6706
6707 nsresult (*HandleEvent)(
6708 IEventListener *pThis,
6709 IEvent * event
6710 );
6711
6712};
6713
6714struct IEventListener
6715{
6716 struct IEventListener_vtbl *vtbl;
6717};
6718/* End of struct IEventListener Declaration */
6719
6720
6721/* Start of struct IEvent Declaration */
6722#define IEVENT_IID_STR "0ca2adba-8f30-401b-a8cd-fe31dbe839c0"
6723#define IEVENT_IID { \
6724 0x0ca2adba, 0x8f30, 0x401b, \
6725 { 0xa8, 0xcd, 0xfe, 0x31, 0xdb, 0xe8, 0x39, 0xc0 } \
6726}
6727struct IEvent_vtbl
6728{
6729 struct nsISupports_vtbl nsisupports;
6730
6731 nsresult (*GetType)(IEvent *pThis, PRUint32 *type);
6732
6733 nsresult (*GetSource)(IEvent *pThis, IEventSource * *source);
6734
6735 nsresult (*GetWaitable)(IEvent *pThis, PRBool *waitable);
6736
6737 nsresult (*SetProcessed)(IEvent *pThis );
6738
6739 nsresult (*WaitProcessed)(
6740 IEvent *pThis,
6741 PRInt32 timeout,
6742 PRBool * result
6743 );
6744
6745};
6746
6747struct IEvent
6748{
6749 struct IEvent_vtbl *vtbl;
6750};
6751/* End of struct IEvent Declaration */
6752
6753
6754/* Start of struct IReusableEvent Declaration */
6755#define IREUSABLEEVENT_IID_STR "69bfb134-80f6-4266-8e20-16371f68fa25"
6756#define IREUSABLEEVENT_IID { \
6757 0x69bfb134, 0x80f6, 0x4266, \
6758 { 0x8e, 0x20, 0x16, 0x37, 0x1f, 0x68, 0xfa, 0x25 } \
6759}
6760struct IReusableEvent_vtbl
6761{
6762 struct IEvent_vtbl ievent;
6763
6764 nsresult (*GetGeneration)(IReusableEvent *pThis, PRUint32 *generation);
6765
6766 nsresult (*Reuse)(IReusableEvent *pThis );
6767
6768};
6769
6770struct IReusableEvent
6771{
6772 struct IReusableEvent_vtbl *vtbl;
6773};
6774/* End of struct IReusableEvent Declaration */
6775
6776
6777/* Start of struct IMachineEvent Declaration */
6778#define IMACHINEEVENT_IID_STR "92ed7b1a-0d96-40ed-ae46-a564d484325e"
6779#define IMACHINEEVENT_IID { \
6780 0x92ed7b1a, 0x0d96, 0x40ed, \
6781 { 0xae, 0x46, 0xa5, 0x64, 0xd4, 0x84, 0x32, 0x5e } \
6782}
6783struct IMachineEvent_vtbl
6784{
6785 struct IEvent_vtbl ievent;
6786
6787 nsresult (*GetMachineId)(IMachineEvent *pThis, PRUnichar * *machineId);
6788
6789};
6790
6791struct IMachineEvent
6792{
6793 struct IMachineEvent_vtbl *vtbl;
6794};
6795/* End of struct IMachineEvent Declaration */
6796
6797
6798/* Start of struct IMachineStateChangedEvent Declaration */
6799#define IMACHINESTATECHANGEDEVENT_IID_STR "5748F794-48DF-438D-85EB-98FFD70D18C9"
6800#define IMACHINESTATECHANGEDEVENT_IID { \
6801 0x5748F794, 0x48DF, 0x438D, \
6802 { 0x85, 0xEB, 0x98, 0xFF, 0xD7, 0x0D, 0x18, 0xC9 } \
6803}
6804struct IMachineStateChangedEvent_vtbl
6805{
6806 struct IMachineEvent_vtbl imachineevent;
6807
6808 nsresult (*GetState)(IMachineStateChangedEvent *pThis, PRUint32 *state);
6809
6810};
6811
6812struct IMachineStateChangedEvent
6813{
6814 struct IMachineStateChangedEvent_vtbl *vtbl;
6815};
6816/* End of struct IMachineStateChangedEvent Declaration */
6817
6818
6819/* Start of struct IMachineDataChangedEvent Declaration */
6820#define IMACHINEDATACHANGEDEVENT_IID_STR "abe94809-2e88-4436-83d7-50f3e64d0503"
6821#define IMACHINEDATACHANGEDEVENT_IID { \
6822 0xabe94809, 0x2e88, 0x4436, \
6823 { 0x83, 0xd7, 0x50, 0xf3, 0xe6, 0x4d, 0x05, 0x03 } \
6824}
6825struct IMachineDataChangedEvent_vtbl
6826{
6827 struct IMachineEvent_vtbl imachineevent;
6828
6829 nsresult (*GetTemporary)(IMachineDataChangedEvent *pThis, PRBool *temporary);
6830
6831};
6832
6833struct IMachineDataChangedEvent
6834{
6835 struct IMachineDataChangedEvent_vtbl *vtbl;
6836};
6837/* End of struct IMachineDataChangedEvent Declaration */
6838
6839
6840/* Start of struct IMediumRegisteredEvent Declaration */
6841#define IMEDIUMREGISTEREDEVENT_IID_STR "53fac49a-b7f1-4a5a-a4ef-a11dd9c2a458"
6842#define IMEDIUMREGISTEREDEVENT_IID { \
6843 0x53fac49a, 0xb7f1, 0x4a5a, \
6844 { 0xa4, 0xef, 0xa1, 0x1d, 0xd9, 0xc2, 0xa4, 0x58 } \
6845}
6846struct IMediumRegisteredEvent_vtbl
6847{
6848 struct IEvent_vtbl ievent;
6849
6850 nsresult (*GetMediumId)(IMediumRegisteredEvent *pThis, PRUnichar * *mediumId);
6851
6852 nsresult (*GetMediumType)(IMediumRegisteredEvent *pThis, PRUint32 *mediumType);
6853
6854 nsresult (*GetRegistered)(IMediumRegisteredEvent *pThis, PRBool *registered);
6855
6856};
6857
6858struct IMediumRegisteredEvent
6859{
6860 struct IMediumRegisteredEvent_vtbl *vtbl;
6861};
6862/* End of struct IMediumRegisteredEvent Declaration */
6863
6864
6865/* Start of struct IMachineRegisteredEvent Declaration */
6866#define IMACHINEREGISTEREDEVENT_IID_STR "c354a762-3ff2-4f2e-8f09-07382ee25088"
6867#define IMACHINEREGISTEREDEVENT_IID { \
6868 0xc354a762, 0x3ff2, 0x4f2e, \
6869 { 0x8f, 0x09, 0x07, 0x38, 0x2e, 0xe2, 0x50, 0x88 } \
6870}
6871struct IMachineRegisteredEvent_vtbl
6872{
6873 struct IMachineEvent_vtbl imachineevent;
6874
6875 nsresult (*GetRegistered)(IMachineRegisteredEvent *pThis, PRBool *registered);
6876
6877};
6878
6879struct IMachineRegisteredEvent
6880{
6881 struct IMachineRegisteredEvent_vtbl *vtbl;
6882};
6883/* End of struct IMachineRegisteredEvent Declaration */
6884
6885
6886/* Start of struct ISessionStateChangedEvent Declaration */
6887#define ISESSIONSTATECHANGEDEVENT_IID_STR "714a3eef-799a-4489-86cd-fe8e45b2ff8e"
6888#define ISESSIONSTATECHANGEDEVENT_IID { \
6889 0x714a3eef, 0x799a, 0x4489, \
6890 { 0x86, 0xcd, 0xfe, 0x8e, 0x45, 0xb2, 0xff, 0x8e } \
6891}
6892struct ISessionStateChangedEvent_vtbl
6893{
6894 struct IMachineEvent_vtbl imachineevent;
6895
6896 nsresult (*GetState)(ISessionStateChangedEvent *pThis, PRUint32 *state);
6897
6898};
6899
6900struct ISessionStateChangedEvent
6901{
6902 struct ISessionStateChangedEvent_vtbl *vtbl;
6903};
6904/* End of struct ISessionStateChangedEvent Declaration */
6905
6906
6907/* Start of struct IGuestPropertyChangedEvent Declaration */
6908#define IGUESTPROPERTYCHANGEDEVENT_IID_STR "3f63597a-26f1-4edb-8dd2-6bddd0912368"
6909#define IGUESTPROPERTYCHANGEDEVENT_IID { \
6910 0x3f63597a, 0x26f1, 0x4edb, \
6911 { 0x8d, 0xd2, 0x6b, 0xdd, 0xd0, 0x91, 0x23, 0x68 } \
6912}
6913struct IGuestPropertyChangedEvent_vtbl
6914{
6915 struct IMachineEvent_vtbl imachineevent;
6916
6917 nsresult (*GetName)(IGuestPropertyChangedEvent *pThis, PRUnichar * *name);
6918
6919 nsresult (*GetValue)(IGuestPropertyChangedEvent *pThis, PRUnichar * *value);
6920
6921 nsresult (*GetFlags)(IGuestPropertyChangedEvent *pThis, PRUnichar * *flags);
6922
6923};
6924
6925struct IGuestPropertyChangedEvent
6926{
6927 struct IGuestPropertyChangedEvent_vtbl *vtbl;
6928};
6929/* End of struct IGuestPropertyChangedEvent Declaration */
6930
6931
6932/* Start of struct ISnapshotEvent Declaration */
6933#define ISNAPSHOTEVENT_IID_STR "21637b0e-34b8-42d3-acfb-7e96daf77c22"
6934#define ISNAPSHOTEVENT_IID { \
6935 0x21637b0e, 0x34b8, 0x42d3, \
6936 { 0xac, 0xfb, 0x7e, 0x96, 0xda, 0xf7, 0x7c, 0x22 } \
6937}
6938struct ISnapshotEvent_vtbl
6939{
6940 struct IMachineEvent_vtbl imachineevent;
6941
6942 nsresult (*GetSnapshotId)(ISnapshotEvent *pThis, PRUnichar * *snapshotId);
6943
6944};
6945
6946struct ISnapshotEvent
6947{
6948 struct ISnapshotEvent_vtbl *vtbl;
6949};
6950/* End of struct ISnapshotEvent Declaration */
6951
6952
6953/* Start of struct ISnapshotTakenEvent Declaration */
6954#define ISNAPSHOTTAKENEVENT_IID_STR "d27c0b3d-6038-422c-b45e-6d4a0503d9f1"
6955#define ISNAPSHOTTAKENEVENT_IID { \
6956 0xd27c0b3d, 0x6038, 0x422c, \
6957 { 0xb4, 0x5e, 0x6d, 0x4a, 0x05, 0x03, 0xd9, 0xf1 } \
6958}
6959struct ISnapshotTakenEvent_vtbl
6960{
6961 struct ISnapshotEvent_vtbl isnapshotevent;
6962
6963};
6964
6965struct ISnapshotTakenEvent
6966{
6967 struct ISnapshotTakenEvent_vtbl *vtbl;
6968};
6969/* End of struct ISnapshotTakenEvent Declaration */
6970
6971
6972/* Start of struct ISnapshotDeletedEvent Declaration */
6973#define ISNAPSHOTDELETEDEVENT_IID_STR "c48f3401-4a9e-43f4-b7a7-54bd285e22f4"
6974#define ISNAPSHOTDELETEDEVENT_IID { \
6975 0xc48f3401, 0x4a9e, 0x43f4, \
6976 { 0xb7, 0xa7, 0x54, 0xbd, 0x28, 0x5e, 0x22, 0xf4 } \
6977}
6978struct ISnapshotDeletedEvent_vtbl
6979{
6980 struct ISnapshotEvent_vtbl isnapshotevent;
6981
6982};
6983
6984struct ISnapshotDeletedEvent
6985{
6986 struct ISnapshotDeletedEvent_vtbl *vtbl;
6987};
6988/* End of struct ISnapshotDeletedEvent Declaration */
6989
6990
6991/* Start of struct ISnapshotChangedEvent Declaration */
6992#define ISNAPSHOTCHANGEDEVENT_IID_STR "07541941-8079-447a-a33e-47a69c7980db"
6993#define ISNAPSHOTCHANGEDEVENT_IID { \
6994 0x07541941, 0x8079, 0x447a, \
6995 { 0xa3, 0x3e, 0x47, 0xa6, 0x9c, 0x79, 0x80, 0xdb } \
6996}
6997struct ISnapshotChangedEvent_vtbl
6998{
6999 struct ISnapshotEvent_vtbl isnapshotevent;
7000
7001};
7002
7003struct ISnapshotChangedEvent
7004{
7005 struct ISnapshotChangedEvent_vtbl *vtbl;
7006};
7007/* End of struct ISnapshotChangedEvent Declaration */
7008
7009
7010/* Start of struct IMousePointerShapeChangedEvent Declaration */
7011#define IMOUSEPOINTERSHAPECHANGEDEVENT_IID_STR "a6dcf6e8-416b-4181-8c4a-45ec95177aef"
7012#define IMOUSEPOINTERSHAPECHANGEDEVENT_IID { \
7013 0xa6dcf6e8, 0x416b, 0x4181, \
7014 { 0x8c, 0x4a, 0x45, 0xec, 0x95, 0x17, 0x7a, 0xef } \
7015}
7016struct IMousePointerShapeChangedEvent_vtbl
7017{
7018 struct IEvent_vtbl ievent;
7019
7020 nsresult (*GetVisible)(IMousePointerShapeChangedEvent *pThis, PRBool *visible);
7021
7022 nsresult (*GetAlpha)(IMousePointerShapeChangedEvent *pThis, PRBool *alpha);
7023
7024 nsresult (*GetXhot)(IMousePointerShapeChangedEvent *pThis, PRUint32 *xhot);
7025
7026 nsresult (*GetYhot)(IMousePointerShapeChangedEvent *pThis, PRUint32 *yhot);
7027
7028 nsresult (*GetWidth)(IMousePointerShapeChangedEvent *pThis, PRUint32 *width);
7029
7030 nsresult (*GetHeight)(IMousePointerShapeChangedEvent *pThis, PRUint32 *height);
7031
7032 nsresult (*GetShape)(IMousePointerShapeChangedEvent *pThis, PRUint32 *shapeSize, PRUint8 **shape);
7033
7034};
7035
7036struct IMousePointerShapeChangedEvent
7037{
7038 struct IMousePointerShapeChangedEvent_vtbl *vtbl;
7039};
7040/* End of struct IMousePointerShapeChangedEvent Declaration */
7041
7042
7043/* Start of struct IMouseCapabilityChangedEvent Declaration */
7044#define IMOUSECAPABILITYCHANGEDEVENT_IID_STR "d633ad48-820c-4207-b46c-6bd3596640d5"
7045#define IMOUSECAPABILITYCHANGEDEVENT_IID { \
7046 0xd633ad48, 0x820c, 0x4207, \
7047 { 0xb4, 0x6c, 0x6b, 0xd3, 0x59, 0x66, 0x40, 0xd5 } \
7048}
7049struct IMouseCapabilityChangedEvent_vtbl
7050{
7051 struct IEvent_vtbl ievent;
7052
7053 nsresult (*GetSupportsAbsolute)(IMouseCapabilityChangedEvent *pThis, PRBool *supportsAbsolute);
7054
7055 nsresult (*GetSupportsRelative)(IMouseCapabilityChangedEvent *pThis, PRBool *supportsRelative);
7056
7057 nsresult (*GetNeedsHostCursor)(IMouseCapabilityChangedEvent *pThis, PRBool *needsHostCursor);
7058
7059};
7060
7061struct IMouseCapabilityChangedEvent
7062{
7063 struct IMouseCapabilityChangedEvent_vtbl *vtbl;
7064};
7065/* End of struct IMouseCapabilityChangedEvent Declaration */
7066
7067
7068/* Start of struct IKeyboardLedsChangedEvent Declaration */
7069#define IKEYBOARDLEDSCHANGEDEVENT_IID_STR "6DDEF35E-4737-457B-99FC-BC52C851A44F"
7070#define IKEYBOARDLEDSCHANGEDEVENT_IID { \
7071 0x6DDEF35E, 0x4737, 0x457B, \
7072 { 0x99, 0xFC, 0xBC, 0x52, 0xC8, 0x51, 0xA4, 0x4F } \
7073}
7074struct IKeyboardLedsChangedEvent_vtbl
7075{
7076 struct IEvent_vtbl ievent;
7077
7078 nsresult (*GetNumLock)(IKeyboardLedsChangedEvent *pThis, PRBool *numLock);
7079
7080 nsresult (*GetCapsLock)(IKeyboardLedsChangedEvent *pThis, PRBool *capsLock);
7081
7082 nsresult (*GetScrollLock)(IKeyboardLedsChangedEvent *pThis, PRBool *scrollLock);
7083
7084};
7085
7086struct IKeyboardLedsChangedEvent
7087{
7088 struct IKeyboardLedsChangedEvent_vtbl *vtbl;
7089};
7090/* End of struct IKeyboardLedsChangedEvent Declaration */
7091
7092
7093/* Start of struct IStateChangedEvent Declaration */
7094#define ISTATECHANGEDEVENT_IID_STR "4376693C-CF37-453B-9289-3B0F521CAF27"
7095#define ISTATECHANGEDEVENT_IID { \
7096 0x4376693C, 0xCF37, 0x453B, \
7097 { 0x92, 0x89, 0x3B, 0x0F, 0x52, 0x1C, 0xAF, 0x27 } \
7098}
7099struct IStateChangedEvent_vtbl
7100{
7101 struct IEvent_vtbl ievent;
7102
7103 nsresult (*GetState)(IStateChangedEvent *pThis, PRUint32 *state);
7104
7105};
7106
7107struct IStateChangedEvent
7108{
7109 struct IStateChangedEvent_vtbl *vtbl;
7110};
7111/* End of struct IStateChangedEvent Declaration */
7112
7113
7114/* Start of struct IAdditionsStateChangedEvent Declaration */
7115#define IADDITIONSSTATECHANGEDEVENT_IID_STR "D70F7915-DA7C-44C8-A7AC-9F173490446A"
7116#define IADDITIONSSTATECHANGEDEVENT_IID { \
7117 0xD70F7915, 0xDA7C, 0x44C8, \
7118 { 0xA7, 0xAC, 0x9F, 0x17, 0x34, 0x90, 0x44, 0x6A } \
7119}
7120struct IAdditionsStateChangedEvent_vtbl
7121{
7122 struct IEvent_vtbl ievent;
7123
7124};
7125
7126struct IAdditionsStateChangedEvent
7127{
7128 struct IAdditionsStateChangedEvent_vtbl *vtbl;
7129};
7130/* End of struct IAdditionsStateChangedEvent Declaration */
7131
7132
7133/* Start of struct INetworkAdapterChangedEvent Declaration */
7134#define INETWORKADAPTERCHANGEDEVENT_IID_STR "08889892-1EC6-4883-801D-77F56CFD0103"
7135#define INETWORKADAPTERCHANGEDEVENT_IID { \
7136 0x08889892, 0x1EC6, 0x4883, \
7137 { 0x80, 0x1D, 0x77, 0xF5, 0x6C, 0xFD, 0x01, 0x03 } \
7138}
7139struct INetworkAdapterChangedEvent_vtbl
7140{
7141 struct IEvent_vtbl ievent;
7142
7143 nsresult (*GetNetworkAdapter)(INetworkAdapterChangedEvent *pThis, INetworkAdapter * *networkAdapter);
7144
7145};
7146
7147struct INetworkAdapterChangedEvent
7148{
7149 struct INetworkAdapterChangedEvent_vtbl *vtbl;
7150};
7151/* End of struct INetworkAdapterChangedEvent Declaration */
7152
7153
7154/* Start of struct ISerialPortChangedEvent Declaration */
7155#define ISERIALPORTCHANGEDEVENT_IID_STR "3BA329DC-659C-488B-835C-4ECA7AE71C6C"
7156#define ISERIALPORTCHANGEDEVENT_IID { \
7157 0x3BA329DC, 0x659C, 0x488B, \
7158 { 0x83, 0x5C, 0x4E, 0xCA, 0x7A, 0xE7, 0x1C, 0x6C } \
7159}
7160struct ISerialPortChangedEvent_vtbl
7161{
7162 struct IEvent_vtbl ievent;
7163
7164 nsresult (*GetSerialPort)(ISerialPortChangedEvent *pThis, ISerialPort * *serialPort);
7165
7166};
7167
7168struct ISerialPortChangedEvent
7169{
7170 struct ISerialPortChangedEvent_vtbl *vtbl;
7171};
7172/* End of struct ISerialPortChangedEvent Declaration */
7173
7174
7175/* Start of struct IParallelPortChangedEvent Declaration */
7176#define IPARALLELPORTCHANGEDEVENT_IID_STR "813C99FC-9849-4F47-813E-24A75DC85615"
7177#define IPARALLELPORTCHANGEDEVENT_IID { \
7178 0x813C99FC, 0x9849, 0x4F47, \
7179 { 0x81, 0x3E, 0x24, 0xA7, 0x5D, 0xC8, 0x56, 0x15 } \
7180}
7181struct IParallelPortChangedEvent_vtbl
7182{
7183 struct IEvent_vtbl ievent;
7184
7185 nsresult (*GetParallelPort)(IParallelPortChangedEvent *pThis, IParallelPort * *parallelPort);
7186
7187};
7188
7189struct IParallelPortChangedEvent
7190{
7191 struct IParallelPortChangedEvent_vtbl *vtbl;
7192};
7193/* End of struct IParallelPortChangedEvent Declaration */
7194
7195
7196/* Start of struct IStorageControllerChangedEvent Declaration */
7197#define ISTORAGECONTROLLERCHANGEDEVENT_IID_STR "715212BF-DA59-426E-8230-3831FAA52C56"
7198#define ISTORAGECONTROLLERCHANGEDEVENT_IID { \
7199 0x715212BF, 0xDA59, 0x426E, \
7200 { 0x82, 0x30, 0x38, 0x31, 0xFA, 0xA5, 0x2C, 0x56 } \
7201}
7202struct IStorageControllerChangedEvent_vtbl
7203{
7204 struct IEvent_vtbl ievent;
7205
7206};
7207
7208struct IStorageControllerChangedEvent
7209{
7210 struct IStorageControllerChangedEvent_vtbl *vtbl;
7211};
7212/* End of struct IStorageControllerChangedEvent Declaration */
7213
7214
7215/* Start of struct IMediumChangedEvent Declaration */
7216#define IMEDIUMCHANGEDEVENT_IID_STR "0FE2DA40-5637-472A-9736-72019EABD7DE"
7217#define IMEDIUMCHANGEDEVENT_IID { \
7218 0x0FE2DA40, 0x5637, 0x472A, \
7219 { 0x97, 0x36, 0x72, 0x01, 0x9E, 0xAB, 0xD7, 0xDE } \
7220}
7221struct IMediumChangedEvent_vtbl
7222{
7223 struct IEvent_vtbl ievent;
7224
7225 nsresult (*GetMediumAttachment)(IMediumChangedEvent *pThis, IMediumAttachment * *mediumAttachment);
7226
7227};
7228
7229struct IMediumChangedEvent
7230{
7231 struct IMediumChangedEvent_vtbl *vtbl;
7232};
7233/* End of struct IMediumChangedEvent Declaration */
7234
7235
7236/* Start of struct ICPUChangedEvent Declaration */
7237#define ICPUCHANGEDEVENT_IID_STR "D0F0BECC-EE17-4D17-A8CC-383B0EB55E9D"
7238#define ICPUCHANGEDEVENT_IID { \
7239 0xD0F0BECC, 0xEE17, 0x4D17, \
7240 { 0xA8, 0xCC, 0x38, 0x3B, 0x0E, 0xB5, 0x5E, 0x9D } \
7241}
7242struct ICPUChangedEvent_vtbl
7243{
7244 struct IEvent_vtbl ievent;
7245
7246 nsresult (*GetCpu)(ICPUChangedEvent *pThis, PRUint32 *cpu);
7247
7248 nsresult (*GetAdd)(ICPUChangedEvent *pThis, PRBool *add);
7249
7250};
7251
7252struct ICPUChangedEvent
7253{
7254 struct ICPUChangedEvent_vtbl *vtbl;
7255};
7256/* End of struct ICPUChangedEvent Declaration */
7257
7258
7259/* Start of struct ICPUExecutionCapChangedEvent Declaration */
7260#define ICPUEXECUTIONCAPCHANGEDEVENT_IID_STR "dfa7e4f5-b4a4-44ce-85a8-127ac5eb59dc"
7261#define ICPUEXECUTIONCAPCHANGEDEVENT_IID { \
7262 0xdfa7e4f5, 0xb4a4, 0x44ce, \
7263 { 0x85, 0xa8, 0x12, 0x7a, 0xc5, 0xeb, 0x59, 0xdc } \
7264}
7265struct ICPUExecutionCapChangedEvent_vtbl
7266{
7267 struct IEvent_vtbl ievent;
7268
7269 nsresult (*GetExecutionCap)(ICPUExecutionCapChangedEvent *pThis, PRUint32 *executionCap);
7270
7271};
7272
7273struct ICPUExecutionCapChangedEvent
7274{
7275 struct ICPUExecutionCapChangedEvent_vtbl *vtbl;
7276};
7277/* End of struct ICPUExecutionCapChangedEvent Declaration */
7278
7279
7280/* Start of struct IGuestKeyboardEvent Declaration */
7281#define IGUESTKEYBOARDEVENT_IID_STR "88394258-7006-40d4-b339-472ee3801844"
7282#define IGUESTKEYBOARDEVENT_IID { \
7283 0x88394258, 0x7006, 0x40d4, \
7284 { 0xb3, 0x39, 0x47, 0x2e, 0xe3, 0x80, 0x18, 0x44 } \
7285}
7286struct IGuestKeyboardEvent_vtbl
7287{
7288 struct IEvent_vtbl ievent;
7289
7290 nsresult (*GetScancodes)(IGuestKeyboardEvent *pThis, PRUint32 *scancodesSize, PRInt32 **scancodes);
7291
7292};
7293
7294struct IGuestKeyboardEvent
7295{
7296 struct IGuestKeyboardEvent_vtbl *vtbl;
7297};
7298/* End of struct IGuestKeyboardEvent Declaration */
7299
7300
7301/* Start of struct IGuestMouseEvent Declaration */
7302#define IGUESTMOUSEEVENT_IID_STR "1f85d35c-c524-40ff-8e98-307000df0992"
7303#define IGUESTMOUSEEVENT_IID { \
7304 0x1f85d35c, 0xc524, 0x40ff, \
7305 { 0x8e, 0x98, 0x30, 0x70, 0x00, 0xdf, 0x09, 0x92 } \
7306}
7307struct IGuestMouseEvent_vtbl
7308{
7309 struct IReusableEvent_vtbl ireusableevent;
7310
7311 nsresult (*GetAbsolute)(IGuestMouseEvent *pThis, PRBool *absolute);
7312
7313 nsresult (*GetX)(IGuestMouseEvent *pThis, PRInt32 *x);
7314
7315 nsresult (*GetY)(IGuestMouseEvent *pThis, PRInt32 *y);
7316
7317 nsresult (*GetZ)(IGuestMouseEvent *pThis, PRInt32 *z);
7318
7319 nsresult (*GetW)(IGuestMouseEvent *pThis, PRInt32 *w);
7320
7321 nsresult (*GetButtons)(IGuestMouseEvent *pThis, PRInt32 *buttons);
7322
7323};
7324
7325struct IGuestMouseEvent
7326{
7327 struct IGuestMouseEvent_vtbl *vtbl;
7328};
7329/* End of struct IGuestMouseEvent Declaration */
7330
7331
7332/* Start of struct IVRDEServerChangedEvent Declaration */
7333#define IVRDESERVERCHANGEDEVENT_IID_STR "a06fd66a-3188-4c8c-8756-1395e8cb691c"
7334#define IVRDESERVERCHANGEDEVENT_IID { \
7335 0xa06fd66a, 0x3188, 0x4c8c, \
7336 { 0x87, 0x56, 0x13, 0x95, 0xe8, 0xcb, 0x69, 0x1c } \
7337}
7338struct IVRDEServerChangedEvent_vtbl
7339{
7340 struct IEvent_vtbl ievent;
7341
7342};
7343
7344struct IVRDEServerChangedEvent
7345{
7346 struct IVRDEServerChangedEvent_vtbl *vtbl;
7347};
7348/* End of struct IVRDEServerChangedEvent Declaration */
7349
7350
7351/* Start of struct IVRDEServerInfoChangedEvent Declaration */
7352#define IVRDESERVERINFOCHANGEDEVENT_IID_STR "dd6a1080-e1b7-4339-a549-f0878115596e"
7353#define IVRDESERVERINFOCHANGEDEVENT_IID { \
7354 0xdd6a1080, 0xe1b7, 0x4339, \
7355 { 0xa5, 0x49, 0xf0, 0x87, 0x81, 0x15, 0x59, 0x6e } \
7356}
7357struct IVRDEServerInfoChangedEvent_vtbl
7358{
7359 struct IEvent_vtbl ievent;
7360
7361};
7362
7363struct IVRDEServerInfoChangedEvent
7364{
7365 struct IVRDEServerInfoChangedEvent_vtbl *vtbl;
7366};
7367/* End of struct IVRDEServerInfoChangedEvent Declaration */
7368
7369
7370/* Start of struct IUSBControllerChangedEvent Declaration */
7371#define IUSBCONTROLLERCHANGEDEVENT_IID_STR "93BADC0C-61D9-4940-A084-E6BB29AF3D83"
7372#define IUSBCONTROLLERCHANGEDEVENT_IID { \
7373 0x93BADC0C, 0x61D9, 0x4940, \
7374 { 0xA0, 0x84, 0xE6, 0xBB, 0x29, 0xAF, 0x3D, 0x83 } \
7375}
7376struct IUSBControllerChangedEvent_vtbl
7377{
7378 struct IEvent_vtbl ievent;
7379
7380};
7381
7382struct IUSBControllerChangedEvent
7383{
7384 struct IUSBControllerChangedEvent_vtbl *vtbl;
7385};
7386/* End of struct IUSBControllerChangedEvent Declaration */
7387
7388
7389/* Start of struct IUSBDeviceStateChangedEvent Declaration */
7390#define IUSBDEVICESTATECHANGEDEVENT_IID_STR "806da61b-6679-422a-b629-51b06b0c6d93"
7391#define IUSBDEVICESTATECHANGEDEVENT_IID { \
7392 0x806da61b, 0x6679, 0x422a, \
7393 { 0xb6, 0x29, 0x51, 0xb0, 0x6b, 0x0c, 0x6d, 0x93 } \
7394}
7395struct IUSBDeviceStateChangedEvent_vtbl
7396{
7397 struct IEvent_vtbl ievent;
7398
7399 nsresult (*GetDevice)(IUSBDeviceStateChangedEvent *pThis, IUSBDevice * *device);
7400
7401 nsresult (*GetAttached)(IUSBDeviceStateChangedEvent *pThis, PRBool *attached);
7402
7403 nsresult (*GetError)(IUSBDeviceStateChangedEvent *pThis, IVirtualBoxErrorInfo * *error);
7404
7405};
7406
7407struct IUSBDeviceStateChangedEvent
7408{
7409 struct IUSBDeviceStateChangedEvent_vtbl *vtbl;
7410};
7411/* End of struct IUSBDeviceStateChangedEvent Declaration */
7412
7413
7414/* Start of struct ISharedFolderChangedEvent Declaration */
7415#define ISHAREDFOLDERCHANGEDEVENT_IID_STR "B66349B5-3534-4239-B2DE-8E1535D94C0B"
7416#define ISHAREDFOLDERCHANGEDEVENT_IID { \
7417 0xB66349B5, 0x3534, 0x4239, \
7418 { 0xB2, 0xDE, 0x8E, 0x15, 0x35, 0xD9, 0x4C, 0x0B } \
7419}
7420struct ISharedFolderChangedEvent_vtbl
7421{
7422 struct IEvent_vtbl ievent;
7423
7424 nsresult (*GetScope)(ISharedFolderChangedEvent *pThis, PRUint32 *scope);
7425
7426};
7427
7428struct ISharedFolderChangedEvent
7429{
7430 struct ISharedFolderChangedEvent_vtbl *vtbl;
7431};
7432/* End of struct ISharedFolderChangedEvent Declaration */
7433
7434
7435/* Start of struct IRuntimeErrorEvent Declaration */
7436#define IRUNTIMEERROREVENT_IID_STR "883DD18B-0721-4CDE-867C-1A82ABAF914C"
7437#define IRUNTIMEERROREVENT_IID { \
7438 0x883DD18B, 0x0721, 0x4CDE, \
7439 { 0x86, 0x7C, 0x1A, 0x82, 0xAB, 0xAF, 0x91, 0x4C } \
7440}
7441struct IRuntimeErrorEvent_vtbl
7442{
7443 struct IEvent_vtbl ievent;
7444
7445 nsresult (*GetFatal)(IRuntimeErrorEvent *pThis, PRBool *fatal);
7446
7447 nsresult (*GetId)(IRuntimeErrorEvent *pThis, PRUnichar * *id);
7448
7449 nsresult (*GetMessage)(IRuntimeErrorEvent *pThis, PRUnichar * *message);
7450
7451};
7452
7453struct IRuntimeErrorEvent
7454{
7455 struct IRuntimeErrorEvent_vtbl *vtbl;
7456};
7457/* End of struct IRuntimeErrorEvent Declaration */
7458
7459
7460/* Start of struct IEventSourceChangedEvent Declaration */
7461#define IEVENTSOURCECHANGEDEVENT_IID_STR "e7932cb8-f6d4-4ab6-9cbf-558eb8959a6a"
7462#define IEVENTSOURCECHANGEDEVENT_IID { \
7463 0xe7932cb8, 0xf6d4, 0x4ab6, \
7464 { 0x9c, 0xbf, 0x55, 0x8e, 0xb8, 0x95, 0x9a, 0x6a } \
7465}
7466struct IEventSourceChangedEvent_vtbl
7467{
7468 struct IEvent_vtbl ievent;
7469
7470 nsresult (*GetListener)(IEventSourceChangedEvent *pThis, IEventListener * *listener);
7471
7472 nsresult (*GetAdd)(IEventSourceChangedEvent *pThis, PRBool *add);
7473
7474};
7475
7476struct IEventSourceChangedEvent
7477{
7478 struct IEventSourceChangedEvent_vtbl *vtbl;
7479};
7480/* End of struct IEventSourceChangedEvent Declaration */
7481
7482
7483/* Start of struct IExtraDataChangedEvent Declaration */
7484#define IEXTRADATACHANGEDEVENT_IID_STR "024F00CE-6E0B-492A-A8D0-968472A94DC7"
7485#define IEXTRADATACHANGEDEVENT_IID { \
7486 0x024F00CE, 0x6E0B, 0x492A, \
7487 { 0xA8, 0xD0, 0x96, 0x84, 0x72, 0xA9, 0x4D, 0xC7 } \
7488}
7489struct IExtraDataChangedEvent_vtbl
7490{
7491 struct IEvent_vtbl ievent;
7492
7493 nsresult (*GetMachineId)(IExtraDataChangedEvent *pThis, PRUnichar * *machineId);
7494
7495 nsresult (*GetKey)(IExtraDataChangedEvent *pThis, PRUnichar * *key);
7496
7497 nsresult (*GetValue)(IExtraDataChangedEvent *pThis, PRUnichar * *value);
7498
7499};
7500
7501struct IExtraDataChangedEvent
7502{
7503 struct IExtraDataChangedEvent_vtbl *vtbl;
7504};
7505/* End of struct IExtraDataChangedEvent Declaration */
7506
7507
7508/* Start of struct IVetoEvent Declaration */
7509#define IVETOEVENT_IID_STR "9a1a4130-69fe-472f-ac10-c6fa25d75007"
7510#define IVETOEVENT_IID { \
7511 0x9a1a4130, 0x69fe, 0x472f, \
7512 { 0xac, 0x10, 0xc6, 0xfa, 0x25, 0xd7, 0x50, 0x07 } \
7513}
7514struct IVetoEvent_vtbl
7515{
7516 struct IEvent_vtbl ievent;
7517
7518 nsresult (*AddVeto)(
7519 IVetoEvent *pThis,
7520 PRUnichar * reason
7521 );
7522
7523 nsresult (*IsVetoed)(
7524 IVetoEvent *pThis,
7525 PRBool * result
7526 );
7527
7528 nsresult (*GetVetos)(
7529 IVetoEvent *pThis,
7530 PRUint32 *resultSize,
7531 PRUnichar *** result
7532 );
7533
7534};
7535
7536struct IVetoEvent
7537{
7538 struct IVetoEvent_vtbl *vtbl;
7539};
7540/* End of struct IVetoEvent Declaration */
7541
7542
7543/* Start of struct IExtraDataCanChangeEvent Declaration */
7544#define IEXTRADATACANCHANGEEVENT_IID_STR "245d88bd-800a-40f8-87a6-170d02249a55"
7545#define IEXTRADATACANCHANGEEVENT_IID { \
7546 0x245d88bd, 0x800a, 0x40f8, \
7547 { 0x87, 0xa6, 0x17, 0x0d, 0x02, 0x24, 0x9a, 0x55 } \
7548}
7549struct IExtraDataCanChangeEvent_vtbl
7550{
7551 struct IVetoEvent_vtbl ivetoevent;
7552
7553 nsresult (*GetMachineId)(IExtraDataCanChangeEvent *pThis, PRUnichar * *machineId);
7554
7555 nsresult (*GetKey)(IExtraDataCanChangeEvent *pThis, PRUnichar * *key);
7556
7557 nsresult (*GetValue)(IExtraDataCanChangeEvent *pThis, PRUnichar * *value);
7558
7559};
7560
7561struct IExtraDataCanChangeEvent
7562{
7563 struct IExtraDataCanChangeEvent_vtbl *vtbl;
7564};
7565/* End of struct IExtraDataCanChangeEvent Declaration */
7566
7567
7568/* Start of struct ICanShowWindowEvent Declaration */
7569#define ICANSHOWWINDOWEVENT_IID_STR "adf292b0-92c9-4a77-9d35-e058b39fe0b9"
7570#define ICANSHOWWINDOWEVENT_IID { \
7571 0xadf292b0, 0x92c9, 0x4a77, \
7572 { 0x9d, 0x35, 0xe0, 0x58, 0xb3, 0x9f, 0xe0, 0xb9 } \
7573}
7574struct ICanShowWindowEvent_vtbl
7575{
7576 struct IVetoEvent_vtbl ivetoevent;
7577
7578};
7579
7580struct ICanShowWindowEvent
7581{
7582 struct ICanShowWindowEvent_vtbl *vtbl;
7583};
7584/* End of struct ICanShowWindowEvent Declaration */
7585
7586
7587/* Start of struct IShowWindowEvent Declaration */
7588#define ISHOWWINDOWEVENT_IID_STR "B0A0904D-2F05-4D28-855F-488F96BAD2B2"
7589#define ISHOWWINDOWEVENT_IID { \
7590 0xB0A0904D, 0x2F05, 0x4D28, \
7591 { 0x85, 0x5F, 0x48, 0x8F, 0x96, 0xBA, 0xD2, 0xB2 } \
7592}
7593struct IShowWindowEvent_vtbl
7594{
7595 struct IEvent_vtbl ievent;
7596
7597 nsresult (*GetWinId)(IShowWindowEvent *pThis, PRInt64 *winId);
7598 nsresult (*SetWinId)(IShowWindowEvent *pThis, PRInt64 winId);
7599
7600};
7601
7602struct IShowWindowEvent
7603{
7604 struct IShowWindowEvent_vtbl *vtbl;
7605};
7606/* End of struct IShowWindowEvent Declaration */
7607
7608
7609/* Start of struct INATRedirectEvent Declaration */
7610#define INATREDIRECTEVENT_IID_STR "57DE97D7-3CBB-42A0-888F-610D5832D16B"
7611#define INATREDIRECTEVENT_IID { \
7612 0x57DE97D7, 0x3CBB, 0x42A0, \
7613 { 0x88, 0x8F, 0x61, 0x0D, 0x58, 0x32, 0xD1, 0x6B } \
7614}
7615struct INATRedirectEvent_vtbl
7616{
7617 struct IMachineEvent_vtbl imachineevent;
7618
7619 nsresult (*GetSlot)(INATRedirectEvent *pThis, PRUint32 *slot);
7620
7621 nsresult (*GetRemove)(INATRedirectEvent *pThis, PRBool *remove);
7622
7623 nsresult (*GetName)(INATRedirectEvent *pThis, PRUnichar * *name);
7624
7625 nsresult (*GetProto)(INATRedirectEvent *pThis, PRUint32 *proto);
7626
7627 nsresult (*GetHostIp)(INATRedirectEvent *pThis, PRUnichar * *hostIp);
7628
7629 nsresult (*GetHostPort)(INATRedirectEvent *pThis, PRInt32 *hostPort);
7630
7631 nsresult (*GetGuestIp)(INATRedirectEvent *pThis, PRUnichar * *guestIp);
7632
7633 nsresult (*GetGuestPort)(INATRedirectEvent *pThis, PRInt32 *guestPort);
7634
7635};
7636
7637struct INATRedirectEvent
7638{
7639 struct INATRedirectEvent_vtbl *vtbl;
7640};
7641/* End of struct INATRedirectEvent Declaration */
7642
7643
7644/* Start of struct IHostPciDevicePlugEvent Declaration */
7645#define IHOSTPCIDEVICEPLUGEVENT_IID_STR "9cebfc27-c579-4965-8eb7-d31794cd7dcf"
7646#define IHOSTPCIDEVICEPLUGEVENT_IID { \
7647 0x9cebfc27, 0xc579, 0x4965, \
7648 { 0x8e, 0xb7, 0xd3, 0x17, 0x94, 0xcd, 0x7d, 0xcf } \
7649}
7650struct IHostPciDevicePlugEvent_vtbl
7651{
7652 struct IMachineEvent_vtbl imachineevent;
7653
7654 nsresult (*GetPlugged)(IHostPciDevicePlugEvent *pThis, PRBool *plugged);
7655
7656 nsresult (*GetSuccess)(IHostPciDevicePlugEvent *pThis, PRBool *success);
7657
7658 nsresult (*GetAttachment)(IHostPciDevicePlugEvent *pThis, IPciDeviceAttachment * *attachment);
7659
7660 nsresult (*GetMessage)(IHostPciDevicePlugEvent *pThis, PRUnichar * *message);
7661
7662};
7663
7664struct IHostPciDevicePlugEvent
7665{
7666 struct IHostPciDevicePlugEvent_vtbl *vtbl;
7667};
7668/* End of struct IHostPciDevicePlugEvent Declaration */
7669
7670
7671/* Start of struct IVBoxSVCAvailabilityChangedEvent Declaration */
7672#define IVBOXSVCAVAILABILITYCHANGEDEVENT_IID_STR "97c78fcd-d4fc-485f-8613-5af88bfcfcdc"
7673#define IVBOXSVCAVAILABILITYCHANGEDEVENT_IID { \
7674 0x97c78fcd, 0xd4fc, 0x485f, \
7675 { 0x86, 0x13, 0x5a, 0xf8, 0x8b, 0xfc, 0xfc, 0xdc } \
7676}
7677struct IVBoxSVCAvailabilityChangedEvent_vtbl
7678{
7679 struct IEvent_vtbl ievent;
7680
7681 nsresult (*GetAvailable)(IVBoxSVCAvailabilityChangedEvent *pThis, PRBool *available);
7682
7683};
7684
7685struct IVBoxSVCAvailabilityChangedEvent
7686{
7687 struct IVBoxSVCAvailabilityChangedEvent_vtbl *vtbl;
7688};
7689/* End of struct IVBoxSVCAvailabilityChangedEvent Declaration */
7690
7691
7692/* Start of struct IBandwidthGroupChangedEvent Declaration */
7693#define IBANDWIDTHGROUPCHANGEDEVENT_IID_STR "334df94a-7556-4cbc-8c04-043096b02d82"
7694#define IBANDWIDTHGROUPCHANGEDEVENT_IID { \
7695 0x334df94a, 0x7556, 0x4cbc, \
7696 { 0x8c, 0x04, 0x04, 0x30, 0x96, 0xb0, 0x2d, 0x82 } \
7697}
7698struct IBandwidthGroupChangedEvent_vtbl
7699{
7700 struct IEvent_vtbl ievent;
7701
7702 nsresult (*GetBandwidthGroup)(IBandwidthGroupChangedEvent *pThis, IBandwidthGroup * *bandwidthGroup);
7703
7704};
7705
7706struct IBandwidthGroupChangedEvent
7707{
7708 struct IBandwidthGroupChangedEvent_vtbl *vtbl;
7709};
7710/* End of struct IBandwidthGroupChangedEvent Declaration */
7711
7712
7713/* Start of struct IGuestMonitorChangedEvent Declaration */
7714#define IGUESTMONITORCHANGEDEVENT_IID_STR "0f7b8a22-c71f-4a36-8e5f-a77d01d76090"
7715#define IGUESTMONITORCHANGEDEVENT_IID { \
7716 0x0f7b8a22, 0xc71f, 0x4a36, \
7717 { 0x8e, 0x5f, 0xa7, 0x7d, 0x01, 0xd7, 0x60, 0x90 } \
7718}
7719struct IGuestMonitorChangedEvent_vtbl
7720{
7721 struct IEvent_vtbl ievent;
7722
7723 nsresult (*GetChangeType)(IGuestMonitorChangedEvent *pThis, PRUint32 *changeType);
7724
7725 nsresult (*GetScreenId)(IGuestMonitorChangedEvent *pThis, PRUint32 *screenId);
7726
7727 nsresult (*GetOriginX)(IGuestMonitorChangedEvent *pThis, PRUint32 *originX);
7728
7729 nsresult (*GetOriginY)(IGuestMonitorChangedEvent *pThis, PRUint32 *originY);
7730
7731 nsresult (*GetWidth)(IGuestMonitorChangedEvent *pThis, PRUint32 *width);
7732
7733 nsresult (*GetHeight)(IGuestMonitorChangedEvent *pThis, PRUint32 *height);
7734
7735};
7736
7737struct IGuestMonitorChangedEvent
7738{
7739 struct IGuestMonitorChangedEvent_vtbl *vtbl;
7740};
7741/* End of struct IGuestMonitorChangedEvent Declaration */
7742
7743
7744/* Start of struct IStorageDeviceChangedEvent Declaration */
7745#define ISTORAGEDEVICECHANGEDEVENT_IID_STR "8a5c2dce-e341-49d4-afce-c95979f7d70c"
7746#define ISTORAGEDEVICECHANGEDEVENT_IID { \
7747 0x8a5c2dce, 0xe341, 0x49d4, \
7748 { 0xaf, 0xce, 0xc9, 0x59, 0x79, 0xf7, 0xd7, 0x0c } \
7749}
7750struct IStorageDeviceChangedEvent_vtbl
7751{
7752 struct IEvent_vtbl ievent;
7753
7754 nsresult (*GetStorageDevice)(IStorageDeviceChangedEvent *pThis, IMediumAttachment * *storageDevice);
7755
7756 nsresult (*GetRemoved)(IStorageDeviceChangedEvent *pThis, PRBool *removed);
7757
7758};
7759
7760struct IStorageDeviceChangedEvent
7761{
7762 struct IStorageDeviceChangedEvent_vtbl *vtbl;
7763};
7764/* End of struct IStorageDeviceChangedEvent Declaration */
7765
7766
7767
7768#define NS_VIRTUALBOX_CID { \
7769 0xB1A7A4F2, 0x47B9, 0x4A1E, \
7770 { 0x82, 0xB2, 0x07, 0xCC, 0xD5, 0x32, 0x3C, 0x3F } \
7771}
7772#define NS_VIRTUALBOX_CONTRACTID "@virtualbox.org/VirtualBox;1"
7773/* for compatibility with Win32 */
7774#define CLSID_VirtualBox (nsCID) NS_VIRTUALBOX_CID
7775
7776
7777
7778#define NS_VIRTUALBOXCLIENT_CID { \
7779 0xdd3fc71d, 0x26c0, 0x4fe1, \
7780 { 0xbf, 0x6f, 0x67, 0xf6, 0x33, 0x26, 0x5b, 0xba } \
7781}
7782#define NS_VIRTUALBOXCLIENT_CONTRACTID "@virtualbox.org/VirtualBoxClient;1"
7783/* for compatibility with Win32 */
7784#define CLSID_VirtualBoxClient (nsCID) NS_VIRTUALBOXCLIENT_CID
7785
7786
7787
7788#define NS_SESSION_CID { \
7789 0x3C02F46D, 0xC9D2, 0x4F11, \
7790 { 0xA3, 0x84, 0x53, 0xF0, 0xCF, 0x91, 0x72, 0x14 } \
7791}
7792#define NS_SESSION_CONTRACTID "@virtualbox.org/Session;1"
7793/* for compatibility with Win32 */
7794#define CLSID_Session (nsCID) NS_SESSION_CID
7795
7796
7797
7798#endif /* !__cplusplus */
7799
7800#ifdef IN_VBOXXPCOMC
7801# define VBOXXPCOMC_DECL(type) PR_EXPORT(type)
7802#else
7803# define VBOXXPCOMC_DECL(type) PR_IMPORT(type)
7804#endif
7805
7806#ifdef __cplusplus
7807extern "C" {
7808#endif
7809
7810
7811/**
7812 * Function table for dynamic linking.
7813 * Use VBoxGetFunctions() to obtain the pointer to it.
7814 */
7815typedef struct VBOXXPCOMC
7816{
7817 /** The size of the structure. */
7818 unsigned cb;
7819 /** The structure version. */
7820 unsigned uVersion;
7821
7822 unsigned int (*pfnGetVersion)(void);
7823
7824 void (*pfnComInitialize)(const char *pszVirtualBoxIID,
7825 IVirtualBox **ppVirtualBox,
7826 const char *pszSessionIID,
7827 ISession **ppSession);
7828 void (*pfnComUninitialize)(void);
7829
7830 void (*pfnComUnallocMem)(void *pv);
7831 void (*pfnUtf16Free)(PRUnichar *pwszString);
7832 void (*pfnUtf8Free)(char *pszString);
7833
7834 int (*pfnUtf16ToUtf8)(const PRUnichar *pwszString, char **ppszString);
7835 int (*pfnUtf8ToUtf16)(const char *pszString, PRUnichar **ppwszString);
7836
7837 void (*pfnGetEventQueue)(nsIEventQueue **eventQueue);
7838
7839 /** Tail version, same as uVersion. */
7840 unsigned uEndVersion;
7841} VBOXXPCOMC;
7842/** Pointer to a const VBoxXPCOMC function table. */
7843typedef VBOXXPCOMC const *PCVBOXXPCOM;
7844
7845/** The current interface version.
7846 * For use with VBoxGetXPCOMCFunctions and to be found in
7847 * VBOXXPCOMC::uVersion. */
7848#define VBOX_XPCOMC_VERSION 0x00020000U
7849
7850VBOXXPCOMC_DECL(PCVBOXXPCOM) VBoxGetXPCOMCFunctions(unsigned uVersion);
7851/** Typedef for VBoxGetXPCOMCFunctions. */
7852typedef PCVBOXXPCOM (*PFNVBOXGETXPCOMCFUNCTIONS)(unsigned uVersion);
7853
7854/** The symbol name of VBoxGetXPCOMCFunctions. */
7855#if defined(__OS2__)
7856# define VBOX_GET_XPCOMC_FUNCTIONS_SYMBOL_NAME "_VBoxGetXPCOMCFunctions"
7857#else
7858# define VBOX_GET_XPCOMC_FUNCTIONS_SYMBOL_NAME "VBoxGetXPCOMCFunctions"
7859#endif
7860
7861
7862#ifdef __cplusplus
7863}
7864#endif
7865
7866#endif /* !___VirtualBox_CXPCOM_h */
Note: See TracBrowser for help on using the repository browser.

© 2023 Oracle
ContactPrivacy policyTerms of Use