18 #ifndef LUNCHBOX_DEFINES_H
19 #define LUNCHBOX_DEFINES_H
22 # include <lunchbox/definesDarwin.h>
25 # include <lunchbox/definesLinux.h>
27 #ifdef _WIN32 //_MSC_VER
28 # include <lunchbox/definesWin32.h>
35 # ifndef WIN32_LEAN_AND_MEAN
36 # define WIN32_LEAN_AND_MEAN
42 #define LB_MAX(a,b) ((a)>(b)?(a):(b))
43 #define LB_MIN(a,b) ((a)<(b)?(a):(b))
46 #define LB_UNDEFINED_UINT16 (0xffffu)
49 #define LB_UNDEFINED_UINT32 (0xffffffffu)
52 #define LB_UNDEFINED_UINT64 (0xffffffffffffffffull)
55 #define LB_MAX_UINT32 (0xfffffff0u)
58 #define LB_TIMEOUT_INDEFINITE 0xffffffffu // Attn: identical to Win32 INFINITE!
61 #define LB_TIMEOUT_DEFAULT 0xfffffffeu
64 # define LB_LIKELY(x) __builtin_expect( (x), 1 )
65 # define LB_UNLIKELY(x) __builtin_expect( (x), 0 )
67 # define LB_LIKELY(x) x
68 # define LB_UNLIKELY(x) x
71 #endif // LUNCHBOX_DEFINES_H