1*37da2899SCharles.Forsyth #ifndef __OT_LAYOUT_CONFIG_H__ 2*37da2899SCharles.Forsyth #define __OT_LAYOUT_CONFIG_H__ 3*37da2899SCharles.Forsyth 4*37da2899SCharles.Forsyth /************************************************************************/ 5*37da2899SCharles.Forsyth /************************************************************************/ 6*37da2899SCharles.Forsyth /***** *****/ 7*37da2899SCharles.Forsyth /***** CONFIGURATION MACROS *****/ 8*37da2899SCharles.Forsyth /***** *****/ 9*37da2899SCharles.Forsyth /************************************************************************/ 10*37da2899SCharles.Forsyth /************************************************************************/ 11*37da2899SCharles.Forsyth 12*37da2899SCharles.Forsyth #ifdef __cplusplus 13*37da2899SCharles.Forsyth # define OTL_BEGIN_HEADER extern "C" { 14*37da2899SCharles.Forsyth #else 15*37da2899SCharles.Forsyth # define OTL_BEGIN_HEADER /* nothing */ 16*37da2899SCharles.Forsyth #endif 17*37da2899SCharles.Forsyth 18*37da2899SCharles.Forsyth #ifdef __cplusplus 19*37da2899SCharles.Forsyth # define OTL_END_HEADER } 20*37da2899SCharles.Forsyth #else 21*37da2899SCharles.Forsyth # define OTL_END_HEADER /* nothing */ 22*37da2899SCharles.Forsyth #endif 23*37da2899SCharles.Forsyth 24*37da2899SCharles.Forsyth #ifndef OTL_API 25*37da2899SCharles.Forsyth # ifdef __cplusplus 26*37da2899SCharles.Forsyth # define OTL_API( x ) extern "C" 27*37da2899SCharles.Forsyth # else 28*37da2899SCharles.Forsyth # define OTL_API( x ) extern x 29*37da2899SCharles.Forsyth # endif 30*37da2899SCharles.Forsyth #endif 31*37da2899SCharles.Forsyth 32*37da2899SCharles.Forsyth #ifndef OTL_APIDEF 33*37da2899SCharles.Forsyth # define OTL_APIDEF( x ) x 34*37da2899SCharles.Forsyth #endif 35*37da2899SCharles.Forsyth 36*37da2899SCharles.Forsyth #ifndef OTL_LOCAL 37*37da2899SCharles.Forsyth # define OTL_LOCAL( x ) extern x 38*37da2899SCharles.Forsyth #endif 39*37da2899SCharles.Forsyth 40*37da2899SCharles.Forsyth #ifndef OTL_LOCALDEF 41*37da2899SCharles.Forsyth # define OTL_LOCALDEF( x ) x 42*37da2899SCharles.Forsyth #endif 43*37da2899SCharles.Forsyth 44*37da2899SCharles.Forsyth #define OTL_BEGIN_STMNT do { 45*37da2899SCharles.Forsyth #define OTL_END_STMNT } while (0) 46*37da2899SCharles.Forsyth #define OTL_DUMMY_STMNT OTL_BEGIN_STMNT OTL_END_STMNT 47*37da2899SCharles.Forsyth 48*37da2899SCharles.Forsyth #define OTL_UNUSED( x ) (x)=(x) 49*37da2899SCharles.Forsyth #define OTL_UNUSED_CONST(x) (void)(x) 50*37da2899SCharles.Forsyth 51*37da2899SCharles.Forsyth 52*37da2899SCharles.Forsyth #include <limits.h> 53*37da2899SCharles.Forsyth #if UINT_MAX == 0xFFFFU 54*37da2899SCharles.Forsyth # define OTL_SIZEOF_INT 2 55*37da2899SCharles.Forsyth #elif UINT_MAX == 0xFFFFFFFFU 56*37da2899SCharles.Forsyth # define OTL_SIZEOF_INT 4 57*37da2899SCharles.Forsyth #elif UINT_MAX > 0xFFFFFFFFU && UINT_MAX == 0xFFFFFFFFFFFFFFFFU 58*37da2899SCharles.Forsyth # define OTL_SIZEOF_INT 8 59*37da2899SCharles.Forsyth #else 60*37da2899SCharles.Forsyth # error "unsupported number of bytes in 'int' type!" 61*37da2899SCharles.Forsyth #endif 62*37da2899SCharles.Forsyth 63*37da2899SCharles.Forsyth #if ULONG_MAX == 0xFFFFFFFFU 64*37da2899SCharles.Forsyth # define OTL_SIZEOF_LONG 4 65*37da2899SCharles.Forsyth #elif ULONG_MAX > 0xFFFFFFFFU && ULONG_MAX == 0xFFFFFFFFFFFFFFFFU 66*37da2899SCharles.Forsyth # define OTL_SIZEOF_LONG 8 67*37da2899SCharles.Forsyth #else 68*37da2899SCharles.Forsyth # error "unsupported number of bytes in 'long' type!" 69*37da2899SCharles.Forsyth #endif 70*37da2899SCharles.Forsyth 71*37da2899SCharles.Forsyth #include <setjmp.h> 72*37da2899SCharles.Forsyth #define OTL_jmp_buf jmp_buf 73*37da2899SCharles.Forsyth #define otl_setjmp setjmp 74*37da2899SCharles.Forsyth #define otl_longjmp longjmp 75*37da2899SCharles.Forsyth 76*37da2899SCharles.Forsyth /* */ 77*37da2899SCharles.Forsyth 78*37da2899SCharles.Forsyth #endif /* __OT_LAYOUT_CONFIG_H__ */ 79