VirtualBox

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

Last change on this file since 78425 was 76553, checked in by vboxsync, 6 years ago

scm --update-copyright-year

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

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