* <http://www.gnu.org/licenses/>.
*/
-#ifndef LIBVIRT_VBOX_COMMON_H
-# define LIBVIRT_VBOX_COMMON_H
+#pragma once
-# ifdef ___VirtualBox_CXPCOM_h
-# error this file should not be included after vbox_CAPI_v*.h
-# endif
+#ifdef ___VirtualBox_CXPCOM_h
+# error this file should not be included after vbox_CAPI_v*.h
+#endif
-# include "internal.h"
-# include <stddef.h>
-# include "wchar.h"
+#include "internal.h"
+#include <stddef.h>
+#include "wchar.h"
/* This file extracts some symbols defined in
* vbox_CAPI_v*.h. It tells the vbox_common.c
* We must MAKE SURE these codes are compatible. */
typedef unsigned char PRUint8;
-# if (defined(HPUX) && defined(__cplusplus) \
+#if (defined(HPUX) && defined(__cplusplus) \
&& !defined(__GNUC__) && __cplusplus < 199707L) \
|| (defined(SCO) && defined(__cplusplus) \
&& !defined(__GNUC__) && __cplusplus == 1L)
typedef char PRInt8;
-# else
+#else
typedef signed char PRInt8;
-# endif
+#endif
-# define PR_INT8_MAX 127
-# define PR_INT8_MIN (-128)
-# define PR_UINT8_MAX 255U
+#define PR_INT8_MAX 127
+#define PR_INT8_MIN (-128)
+#define PR_UINT8_MAX 255U
typedef unsigned short PRUint16;
typedef short PRInt16;
-# define PR_INT16_MAX 32767
-# define PR_INT16_MIN (-32768)
-# define PR_UINT16_MAX 65535U
+#define PR_INT16_MAX 32767
+#define PR_INT16_MIN (-32768)
+#define PR_UINT16_MAX 65535U
typedef unsigned int PRUint32;
typedef int PRInt32;
-# define PR_INT32(x) x
-# define PR_UINT32(x) x ## U
+#define PR_INT32(x) x
+#define PR_UINT32(x) x ## U
-# define PR_INT32_MAX PR_INT32(2147483647)
-# define PR_INT32_MIN (-PR_INT32_MAX - 1)
-# define PR_UINT32_MAX PR_UINT32(4294967295)
+#define PR_INT32_MAX PR_INT32(2147483647)
+#define PR_INT32_MIN (-PR_INT32_MAX - 1)
+#define PR_UINT32_MAX PR_UINT32(4294967295)
typedef long PRInt64;
typedef unsigned long PRUint64;
typedef PRIntn PRBool;
-# define PR_TRUE 1
-# define PR_FALSE 0
+#define PR_TRUE 1
+#define PR_FALSE 0
typedef PRUint8 PRPackedBool;
*/
typedef enum { PR_FAILURE = -1, PR_SUCCESS = 0 } PRStatus;
-# ifndef __PRUNICHAR__
-# define __PRUNICHAR__
-# if defined(WIN32) || defined(XP_MAC)
+#ifndef __PRUNICHAR__
+# define __PRUNICHAR__
+# if defined(WIN32) || defined(XP_MAC)
typedef wchar_t PRUnichar;
-# else
+# else
typedef PRUint16 PRUnichar;
-# endif
# endif
+#endif
typedef long PRWord;
typedef unsigned long PRUword;
-# define nsnull 0
+#define nsnull 0
typedef PRUint32 nsresult;
-# if defined(__GNUC__) && (__GNUC__ > 2)
-# define NS_LIKELY(x) (__builtin_expect((x), 1))
-# define NS_UNLIKELY(x) (__builtin_expect((x), 0))
-# else
-# define NS_LIKELY(x) (x)
-# define NS_UNLIKELY(x) (x)
-# endif
+#if defined(__GNUC__) && (__GNUC__ > 2)
+# define NS_LIKELY(x) (__builtin_expect((x), 1))
+# define NS_UNLIKELY(x) (__builtin_expect((x), 0))
+#else
+# define NS_LIKELY(x) (x)
+# define NS_UNLIKELY(x) (x)
+#endif
-# define NS_FAILED(_nsresult) (NS_UNLIKELY((_nsresult) & 0x80000000))
-# define NS_SUCCEEDED(_nsresult) (NS_LIKELY(!((_nsresult) & 0x80000000)))
+#define NS_FAILED(_nsresult) (NS_UNLIKELY((_nsresult) & 0x80000000))
+#define NS_SUCCEEDED(_nsresult) (NS_LIKELY(!((_nsresult) & 0x80000000)))
/**
* An "interface id" which can be used to uniquely identify a given
typedef struct _vboxArray vboxArray;
-# ifdef WIN32
+#ifdef WIN32
struct _vboxArray {
void **items;
size_t count;
void *handle;
};
-# define VBOX_ARRAY_INITIALIZER { NULL, 0, NULL }
+# define VBOX_ARRAY_INITIALIZER { NULL, 0, NULL }
-# else /* !WIN32 */
+#else /* !WIN32 */
struct _vboxArray {
void **items;
size_t count;
};
-# define VBOX_ARRAY_INITIALIZER { NULL, 0 }
+# define VBOX_ARRAY_INITIALIZER { NULL, 0 }
-# endif /* !WIN32 */
+#endif /* !WIN32 */
/* We make the assumption that these enum flags
* are compatible in all vbox API version.
HardDiskVariant_Diff = 0x20000
};
-# define VBOX_E_OBJECT_NOT_FOUND 0x80BB0001
-# define VBOX_E_INVALID_VM_STATE 0x80BB0002
-# define VBOX_E_VM_ERROR 0x80BB0003
-# define VBOX_E_FILE_ERROR 0x80BB0004
-# define VBOX_E_IPRT_ERROR 0x80BB0005
-# define VBOX_E_PDM_ERROR 0x80BB0006
-# define VBOX_E_INVALID_OBJECT_STATE 0x80BB0007
-# define VBOX_E_HOST_ERROR 0x80BB0008
-# define VBOX_E_NOT_SUPPORTED 0x80BB0009
-# define VBOX_E_XML_ERROR 0x80BB000A
-# define VBOX_E_INVALID_SESSION_STATE 0x80BB000B
-# define VBOX_E_OBJECT_IN_USE 0x80BB000C
+#define VBOX_E_OBJECT_NOT_FOUND 0x80BB0001
+#define VBOX_E_INVALID_VM_STATE 0x80BB0002
+#define VBOX_E_VM_ERROR 0x80BB0003
+#define VBOX_E_FILE_ERROR 0x80BB0004
+#define VBOX_E_IPRT_ERROR 0x80BB0005
+#define VBOX_E_PDM_ERROR 0x80BB0006
+#define VBOX_E_INVALID_OBJECT_STATE 0x80BB0007
+#define VBOX_E_HOST_ERROR 0x80BB0008
+#define VBOX_E_NOT_SUPPORTED 0x80BB0009
+#define VBOX_E_XML_ERROR 0x80BB000A
+#define VBOX_E_INVALID_SESSION_STATE 0x80BB000B
+#define VBOX_E_OBJECT_IN_USE 0x80BB000C
/* VBOX storage controller name definitions */
-# define VBOX_CONTROLLER_IDE_NAME "IDE Controller"
-# define VBOX_CONTROLLER_FLOPPY_NAME "Floppy Controller"
-# define VBOX_CONTROLLER_SATA_NAME "SATA Controller"
-# define VBOX_CONTROLLER_SCSI_NAME "SCSI Controller"
-# define VBOX_CONTROLLER_SAS_NAME "SAS Controller"
+#define VBOX_CONTROLLER_IDE_NAME "IDE Controller"
+#define VBOX_CONTROLLER_FLOPPY_NAME "Floppy Controller"
+#define VBOX_CONTROLLER_SATA_NAME "SATA Controller"
+#define VBOX_CONTROLLER_SCSI_NAME "SCSI Controller"
+#define VBOX_CONTROLLER_SAS_NAME "SAS Controller"
/* Simplied definitions in vbox_CAPI_*.h */
/* Macros for all vbox drivers. */
-# define RC_SUCCEEDED(rc) NS_SUCCEEDED(rc.resultCode)
-# define RC_FAILED(rc) NS_FAILED(rc.resultCode)
+#define RC_SUCCEEDED(rc) NS_SUCCEEDED(rc.resultCode)
+#define RC_FAILED(rc) NS_FAILED(rc.resultCode)
-# define VBOX_UTF16_FREE(arg) \
+#define VBOX_UTF16_FREE(arg) \
do { \
if (arg) { \
gVBoxAPI.UPFN.Utf16Free(data->pFuncs, arg); \
} \
} while (0)
-# define VBOX_UTF8_FREE(arg) \
+#define VBOX_UTF8_FREE(arg) \
do { \
if (arg) { \
gVBoxAPI.UPFN.Utf8Free(data->pFuncs, arg); \
} \
} while (0)
-# define VBOX_COM_UNALLOC_MEM(arg) \
+#define VBOX_COM_UNALLOC_MEM(arg) \
do { \
if (arg) { \
gVBoxAPI.UPFN.ComUnallocMem(data->pFuncs, arg); \
} \
} while (0)
-# define VBOX_UTF16_TO_UTF8(arg1, arg2) gVBoxAPI.UPFN.Utf16ToUtf8(data->pFuncs, arg1, arg2)
-# define VBOX_UTF8_TO_UTF16(arg1, arg2) gVBoxAPI.UPFN.Utf8ToUtf16(data->pFuncs, arg1, arg2)
+#define VBOX_UTF16_TO_UTF8(arg1, arg2) gVBoxAPI.UPFN.Utf16ToUtf8(data->pFuncs, arg1, arg2)
+#define VBOX_UTF8_TO_UTF16(arg1, arg2) gVBoxAPI.UPFN.Utf8ToUtf16(data->pFuncs, arg1, arg2)
-# define VBOX_ADDREF(arg) gVBoxAPI.nsUISupports.AddRef((void *)(arg))
+#define VBOX_ADDREF(arg) gVBoxAPI.nsUISupports.AddRef((void *)(arg))
-# define VBOX_RELEASE(arg) \
+#define VBOX_RELEASE(arg) \
do { \
if (arg) { \
gVBoxAPI.nsUISupports.Release((void *)arg); \
} \
} while (0)
-# define VBOX_MEDIUM_RELEASE(arg) \
+#define VBOX_MEDIUM_RELEASE(arg) \
do { \
if (arg) { \
gVBoxAPI.UIMedium.Release(arg); \
} \
} while (0)
-# define vboxIIDUnalloc(iid) gVBoxAPI.UIID.vboxIIDUnalloc(data, iid)
-# define vboxIIDToUUID(iid, uuid) gVBoxAPI.UIID.vboxIIDToUUID(data, iid, uuid)
-# define vboxIIDFromUUID(iid, uuid) gVBoxAPI.UIID.vboxIIDFromUUID(data, iid, uuid)
-# define vboxIIDIsEqual(iid1, iid2) gVBoxAPI.UIID.vboxIIDIsEqual(data, iid1, iid2)
-# define DEBUGIID(msg, iid) gVBoxAPI.UIID.DEBUGIID(data, msg, iid)
-# define vboxIIDFromArrayItem(iid, array, idx) \
+#define vboxIIDUnalloc(iid) gVBoxAPI.UIID.vboxIIDUnalloc(data, iid)
+#define vboxIIDToUUID(iid, uuid) gVBoxAPI.UIID.vboxIIDToUUID(data, iid, uuid)
+#define vboxIIDFromUUID(iid, uuid) gVBoxAPI.UIID.vboxIIDFromUUID(data, iid, uuid)
+#define vboxIIDIsEqual(iid1, iid2) gVBoxAPI.UIID.vboxIIDIsEqual(data, iid1, iid2)
+#define DEBUGIID(msg, iid) gVBoxAPI.UIID.DEBUGIID(data, msg, iid)
+#define vboxIIDFromArrayItem(iid, array, idx) \
gVBoxAPI.UIID.vboxIIDFromArrayItem(data, iid, array, idx)
-# define VBOX_IID_INITIALIZE(iid) gVBoxAPI.UIID.vboxIIDInitialize(iid)
+#define VBOX_IID_INITIALIZE(iid) gVBoxAPI.UIID.vboxIIDInitialize(iid)
-# define ARRAY_GET_MACHINES \
+#define ARRAY_GET_MACHINES \
(gVBoxAPI.UArray.handleGetMachines(data->vboxObj))
/* Set result to -1 in case of failure. */
-# define installUniformedAPI(gVBoxAPI, result) \
+#define installUniformedAPI(gVBoxAPI, result) \
do { \
result = 0; \
if (uVersion >= 5000000 && uVersion < 5000051) { \
result = -1; \
} \
} while (0)
-
-#endif /* LIBVIRT_VBOX_COMMON_H */