VirtualBox

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

最後變更 在這個檔案從28675是 23401,由 vboxsync 提交於 15 年 前

Undo damage done by r52941 to libvirt headers

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

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