Logo Search packages:      
Sourcecode: virtualbox-ose version File versions

cdefs.h File Reference


Detailed Description

IPRT - Common C and C++ definitions.

Definition in file cdefs.h.

Go to the source code of this file.

Defines

#define _(s)   gettext(s)
#define __BEGIN_DECLS
#define __END_DECLS
#define __PRETTY_FUNCTION__   __FUNCTION__
#define ARCH_BITS   32
#define CTX_MID(first, last)   first##R3##last
#define CTX_MID_Z(first, last)   first##RZ##last
#define CTX_SUFF(var)   var##R3
#define CTX_SUFF_Z(var)   var##RZ
#define CTXALLMID(first, last)   first##R3##last
#define CTXALLSUFF(var)   var##R3
#define CTXMID(first, last)   first##HC##last
#define CTXSUFF(var)   var##HC
#define CTXTYPE(GCType, R3Type, R0Type)   R0Type
#define DECLASM(type)   type
#define DECLASMTYPE(type)   type
#define DECLCALLBACK(type)   type RTCALL
#define DECLCALLBACKMEMBER(type, name)   type (RTCALL * name)
#define DECLCALLBACKPTR(type, name)   type (RTCALL * name)
#define DECLEXPORT(type)   type
#define DECLHIDDEN(type)   type
#define DECLIMPORT(type)   type
#define DECLINLINE(type)   inline type
#define DECLNORETURN(type)   type
#define DECLR0CALLBACKMEMBER(type, name, args)   RTR0PTR name
#define DECLR3CALLBACKMEMBER(type, name, args)   RTR3PTR name
#define DECLRCCALLBACKMEMBER(type, name, args)   RTRCPTR name
#define GC_ARCH_BITS   32
#define HC_ARCH_BITS   ARCH_BITS
#define N_(s)   (s)
#define NIL_OFFSET   (~0U)
#define NOREF(var)   (void)(var)
#define NULL   ((void*)0)
#define OTHERCTXMID(first, last)   first##GC##last
#define OTHERCTXSUFF(var)   var##GC
#define R0_ARCH_BITS   HC_ARCH_BITS
#define R0PTRTYPE(R0Type)   CTXTYPE(RTHCUINTPTR, RTHCUINTPTR, R0Type)
#define R0STRING(pR0String)   ("<R0_STRING>")
#define R3_ARCH_BITS   HC_ARCH_BITS
#define R3PTRTYPE(R3Type)   CTXTYPE(RTHCUINTPTR, R3Type, RTHCUINTPTR)
#define R3R0PTRTYPE(R3R0Type)   CTXTYPE(RTHCPTR, R3R0Type, R3R0Type)
#define R3STRING(pR3String)   ("<R3_STRING>")
#define RCPTRTYPE(RCType)   CTXTYPE(RCType, RTRCPTR, RTRCPTR)
#define RCSTRING(pRCString)   ("<RC_STRING>")
#define RT_ABS(Value)   ((Value) >= 0 ? (Value) : -(Value))
#define RT_ALIGN(u, uAlignment)   ( ((u) + ((uAlignment) - 1)) & ~((uAlignment) - 1) )
#define RT_ALIGN_32(u32, uAlignment)   RT_ALIGN_T(u32, uAlignment, uint32_t)
#define RT_ALIGN_64(u64, uAlignment)   RT_ALIGN_T(u64, uAlignment, uint64_t)
#define RT_ALIGN_GCPT(u, uAlignment, CastType)   ((CastType)RT_ALIGN_T(u, uAlignment, RTGCUINTPTR))
#define RT_ALIGN_P(pv, uAlignment)   RT_ALIGN_PT(pv, uAlignment, void *)
#define RT_ALIGN_PT(u, uAlignment, CastType)   ((CastType)RT_ALIGN_T(u, uAlignment, uintptr_t))
#define RT_ALIGN_R0PT(u, uAlignment, CastType)   ((CastType)RT_ALIGN_T(u, uAlignment, RTR0UINTPTR))
#define RT_ALIGN_R3PT(u, uAlignment, CastType)   ((CastType)RT_ALIGN_T(u, uAlignment, RTR3UINTPTR))
#define RT_ALIGN_T(u, uAlignment, type)   ( ((type)(u) + ((uAlignment) - 1)) & ~(type)((uAlignment) - 1) )
#define RT_ALIGN_Z(cb, uAlignment)   RT_ALIGN_T(cb, uAlignment, size_t)
#define RT_BE2H_U16(u16)   RT_BSWAP_U16(u16)
#define RT_BE2H_U16_C(u16)   RT_BSWAP_U16_C(u16)
#define RT_BE2H_U32(u32)   RT_BSWAP_U32(u32)
#define RT_BE2H_U32_C(u32)   RT_BSWAP_U32_C(u32)
#define RT_BE2H_U64(u64)   RT_BSWAP_U64(u64)
#define RT_BE2H_U64_C(u64)   RT_BSWAP_U64_C(u64)
#define RT_BIT(bit)   (1U << (bit))
#define RT_BIT_32(bit)   (UINT32_C(1) << (bit))
#define RT_BIT_64(bit)   (UINT64_C(1) << (bit))
#define RT_BSWAP_U16(u16)   ASMByteSwapU16(u16)
#define RT_BSWAP_U16_C(u16)   (RT_HIBYTE(u16) | (RT_LOBYTE(u16) << 8))
#define RT_BSWAP_U32(u32)   ASMByteSwapU32(u32)
#define RT_BSWAP_U32_C(u32)   (RT_BYTE4(u32) | (RT_BYTE3(u32) << 8) | (RT_BYTE2(u32) << 16) | (RT_BYTE1(u32) << 24))
#define RT_BSWAP_U64(u64)   ASMByteSwapU64(u64)
#define RT_BSWAP_U64_C(u64)   RT_MAKE_U64(RT_BSWAP_U32_C((u64) >> 32), RT_BSWAP_U32_C((u64) & 0xffffffff))
#define RT_BYTE1(a)   ((a) & 0xff)
#define RT_BYTE2(a)   (((a) >> 8) & 0xff)
#define RT_BYTE3(a)   (((a) >> 16) & 0xff)
#define RT_BYTE4(a)   (((a) >> 24) & 0xff)
#define RT_ELEMENTS(aArray)   ( sizeof(aArray) / sizeof((aArray)[0]) )
#define RT_H2BE_U16(u16)   RT_BSWAP_U16(u16)
#define RT_H2BE_U16_C(u16)   RT_BSWAP_U16_C(u16)
#define RT_H2BE_U32(u32)   RT_BSWAP_U32(u32)
#define RT_H2BE_U32_C(u32)   RT_BSWAP_U32_C(u32)
#define RT_H2BE_U64(u64)   RT_BSWAP_U64(u64)
#define RT_H2BE_U64_C(u64)   RT_BSWAP_U64_C(u64)
#define RT_H2LE_U16(u16)   (u16)
#define RT_H2LE_U16_C(u16)   (u16)
#define RT_H2LE_U32(u32)   (u32)
#define RT_H2LE_U32_C(u32)   (u32)
#define RT_H2LE_U64(u64)   (u64)
#define RT_H2LE_U64_C(u64)   (u64)
#define RT_H2N_U16(u16)   RT_H2BE_U16(u16)
#define RT_H2N_U16_C(u16)   RT_H2BE_U16_C(u16)
#define RT_H2N_U32(u32)   RT_H2BE_U32(u32)
#define RT_H2N_U32_C(u32)   RT_H2BE_U32_C(u32)
#define RT_H2N_U64(u64)   RT_H2BE_U64(u64)
#define RT_H2N_U64_C(u64)   RT_H2BE_U64_C(u64)
#define RT_HIBYTE(a)   ((a) >> 8)
#define RT_HIDWORD(a)   ( (uint32_t)((a) >> 32) )
#define RT_HIWORD(a)   ((a) >> 16)
#define RT_LE2H_U16(u16)   (u16)
#define RT_LE2H_U16_C(u16)   (u16)
#define RT_LE2H_U32(u32)   (u32)
#define RT_LE2H_U32_C(u32)   (u32)
#define RT_LE2H_U64(u64)   (u64)
#define RT_LE2H_U64_C(u64)   (u64)
#define RT_LIKELY(expr)   (expr)
#define RT_LOBYTE(a)   ((a) & 0xff)
#define RT_LODWORD(a)   ( (uint32_t)(a) )
#define RT_LOWORD(a)   ((a) & 0xffff)
#define RT_MAKE_U16(Lo, Hi)   ( (uint16_t)((uint8_t)(Hi)) << 8 | (uint8_t)(Lo) )
#define RT_MAKE_U32(Lo, Hi)   ( (uint32_t)((uint16_t)(Hi)) << 16 | (uint16_t)(Lo) )
#define RT_MAKE_U32_FROM_U8(b0, b1, b2, b3)
#define RT_MAKE_U64(Lo, Hi)   ( (uint64_t)((uint32_t)(Hi)) << 32 | (uint32_t)(Lo) )
#define RT_MAKE_U64_FROM_U16(w0, w1, w2, w3)
#define RT_MAKE_U64_FROM_U8(b0, b1, b2, b3, b4, b5, b6, b7)
#define RT_MAX(Value1, Value2)   ((Value1) >= (Value2) ? (Value1) : (Value2))
#define RT_MIN(Value1, Value2)   ((Value1) <= (Value2) ? (Value1) : (Value2))
#define RT_N2H_U16(u16)   RT_BE2H_U16(u16)
#define RT_N2H_U16_C(u16)   RT_BE2H_U16_C(u16)
#define RT_N2H_U32(u32)   RT_BE2H_U32(u32)
#define RT_N2H_U32_C(u32)   RT_BE2H_U32_C(u32)
#define RT_N2H_U64(u64)   RT_BE2H_U64(u64)
#define RT_N2H_U64_C(u64)   RT_BE2H_U64_C(u64)
#define RT_NOCRT(name)   nocrt_ ## name
#define RT_NOCRT_STR(name)   "nocrt_" # name
#define RT_OFFSETOF(type, member)   ( (int)(uintptr_t)&( ((type *)(void *)0)->member) )
#define RT_OFFSETOF_ADD(type, member, addend)   ( (int)RT_UOFFSETOF_ADD(type, member, addend) )
#define RT_SIZEOFMEMB(type, member)   ( sizeof(((type *)(void *)0)->member) )
#define RT_SRC_POS   __FILE__, __LINE__, __PRETTY_FUNCTION__
#define RT_SRC_POS_ARGS   pszFile, iLine, pszFunction
#define RT_UNLIKELY(expr)   (expr)
#define RT_UOFFSETOF(type, member)   ( (uintptr_t)&( ((type *)(void *)0)->member) )
#define RT_UOFFSETOF_ADD(type, member, addend)   ( (uintptr_t)&( ((type *)(void *)(uintptr_t)(addend))->member) )
#define RTCALL
#define RTDATADECL(type)   DECLIMPORT(type)
#define RTDECL(type)   DECLIMPORT(type) RTCALL
#define RTGCDECL(type)   DECLIMPORT(type) RTCALL
#define RTR0DECL(type)   DECLIMPORT(type) RTCALL
#define RTR3DECL(type)   DECLIMPORT(type) RTCALL
#define VALID_PHYS32(Phys)   ( (uint64_t)(Phys) < (uint64_t)_4G )
#define _128K   0x00020000
#define _1E   0x1000000000000000LL
#define _1G   0x40000000
#define _1K   0x00000400
#define _1M   0x00100000
#define _1P   0x0004000000000000LL
#define _1T   0x0000010000000000LL
#define _256K   0x00040000
#define _2E   0x2000000000000000ULL
#define _2G   0x0000000080000000LL
#define _2G32   0x80000000U
#define _2M   0x00200000
#define _32K   0x00008000
#define _4G   0x0000000100000000LL
#define _4K   0x00001000
#define _4M   0x00400000
#define _512K   0x00080000
#define _64K   0x00010000
Electrical Fence Version of some APIs.
#define RT_NO_THROW
GC Device Helpers
#define RT_SRC_POS_DECL   const char *pszFile, unsigned iLine, const char *pszFunction


Generated by  Doxygen 1.6.0   Back to index