VirtualBox

source: vbox/trunk/src/VBox/Main/cbinding/VBoxCAPI_v3_0.h@ 21697

Last change on this file since 21697 was 21571, checked in by vboxsync, 16 years ago

cbinding: exported to OSE

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