stdtypes.h

Go to the documentation of this file.
00001 
00031 #ifndef LL_STDTYPES_H
00032 #define LL_STDTYPES_H
00033 
00034 typedef signed char                     S8;
00035 typedef unsigned char                   U8;
00036 typedef signed short                    S16;
00037 typedef unsigned short                  U16;
00038 typedef signed int                      S32;
00039 typedef unsigned int                    U32;
00040 
00041 #if LL_WINDOWS
00042 // Windows wchar_t is 16-bit
00043 typedef U32                             llwchar;
00044 #else
00045 typedef wchar_t                         llwchar;
00046 #endif
00047 
00048 #if LL_WINDOWS
00049 typedef signed __int64                  S64;
00050 // probably should be 'hyper' or similiar
00051 #define S64L(a)                                 (a)
00052 typedef unsigned __int64                U64;
00053 #define U64L(a)                                 (a)
00054 #else
00055 typedef long long int                   S64;
00056 typedef long long unsigned int          U64;
00057 #if LL_DARWIN || LL_LINUX || LL_SOLARIS
00058 #define S64L(a)                         (a##LL)
00059 #define U64L(a)                         (a##ULL)
00060 #endif
00061 #endif
00062 
00063 typedef float                           F32;
00064 typedef double                          F64;
00065 
00066 typedef S32                             BOOL;
00067 typedef U8                              KEY;
00068 typedef U32                             MASK;
00069 typedef U32                             TPACKETID;
00070 
00071 // Use #define instead of consts to avoid conversion headaches
00072 #define S8_MAX          (SCHAR_MAX)
00073 #define U8_MAX          (UCHAR_MAX)
00074 #define S16_MAX         (SHRT_MAX)
00075 #define U16_MAX         (USHRT_MAX)
00076 #define S32_MAX         (INT_MAX)
00077 #define U32_MAX         (UINT_MAX)
00078 #define F32_MAX         (FLT_MAX)
00079 #define F64_MAX         (DBL_MAX)
00080 
00081 #define S8_MIN          (SCHAR_MIN)
00082 #define U8_MIN          (0)
00083 #define S16_MIN         (SHRT_MIN)
00084 #define U16_MIN         (0)
00085 #define S32_MIN         (INT_MIN)
00086 #define U32_MIN         (0)
00087 #define F32_MIN         (FLT_MIN)
00088 #define F64_MIN         (DBL_MIN)
00089 
00090 
00091 #ifndef TRUE
00092 #define TRUE                    (1)
00093 #endif
00094 
00095 #ifndef FALSE
00096 #define FALSE                   (0)
00097 #endif
00098 
00099 #ifndef NULL
00100 #define NULL                    (0)
00101 #endif
00102 
00103 typedef U8 LLPCode;
00104 
00105 #if LL_LINUX && __GNUC__ <= 2
00106 typedef int intptr_t;
00107 #endif
00108 
00109 #endif

Generated on Thu Jul 1 06:09:59 2010 for Second Life Viewer by  doxygen 1.4.7