VirtualBox

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

Last change on this file since 23400 was 23400, checked in by vboxsync, 15 years ago

Filemuncher fixes

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

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