VirtualBox

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

最後變更 在這個檔案從78234是 76553,由 vboxsync 提交於 6 年 前

scm --update-copyright-year

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

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