VirtualBox

source: vbox/trunk/src/VBox/Main/cbinding/VBoxCAPI_v4_2.h@ 61547

最後變更 在這個檔案從61547是 48225,由 vboxsync 提交於 11 年 前

testcase/*: move the installation path for the remaining API/XPCOM testcases to the tescase subdirectory
Main/cbinding: repair event listener testcase, various cleanups

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

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