types.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00019 #ifndef HAM_TYPES_H__
00020 #define HAM_TYPES_H__
00021
00022 #ifdef __cplusplus
00023 extern "C" {
00024 #endif
00025
00026
00027
00028
00029 #ifdef UNDER_CE
00030 # undef WIN32
00031 # define WIN32 1
00032 # define HAM_OS_WINCE 1
00033 #endif
00034
00035 #ifdef WIN32
00036 # undef HAM_OS_WIN32
00037 # define HAM_OS_WIN32 1
00038 # ifdef WIN64
00039 # undef HAM_64BIT
00040 # define HAM_64BIT 1
00041 # elif WIN32
00042 # undef HAM_32BIT
00043 # define HAM_32BIT 1
00044 # else
00045 # error "Neither WIN32 nor WIN64 defined!"
00046 # endif
00047 #else
00048 # undef HAM_OS_POSIX
00049 # define HAM_OS_POSIX 1
00050 # if defined(__LP64__) || defined(__LP64) || __WORDSIZE==64
00051 # undef HAM_64BIT
00052 # define HAM_64BIT 1
00053 # else
00054 # undef HAM_32BIT
00055 # define HAM_32BIT 1
00056 # endif
00057 #endif
00058
00059 #if defined(HAM_OS_POSIX) && defined(HAM_OS_WIN32)
00060 # error "Unknown arch - neither HAM_OS_POSIX nor HAM_OS_WIN32 defined"
00061 #endif
00062
00063
00064
00065
00066 #if defined(HAM_OS_WIN32)
00067 # define WIN32_MEAN_AND_LEAN
00068 # include <windows.h>
00069 #endif
00070
00071 #if defined(_MSC_VER) && defined(HAM_OS_WIN32)
00072
00073
00074 #if (defined(WIN32) || defined(__WIN32)) && !defined(UNDER_CE)
00075 #if defined(DEBUG) || defined(_DEBUG)
00076 #ifndef _CRTDBG_MAP_ALLOC
00077 #define _CRTDBG_MAP_ALLOC 1
00078 #endif
00079 #endif
00080
00081
00082
00083 #include <crtdbg.h>
00084 #include <malloc.h>
00085 #endif
00086
00087 #endif
00088
00089
00090
00091
00092 #ifndef HAM_EXPORT
00093 # ifdef _MSC_VER
00094 # define HAM_EXPORT __declspec(dllexport)
00095 # else
00096 # define HAM_EXPORT extern
00097 # endif
00098 #endif
00099
00100
00101
00102
00103 #ifndef HAM_CALLCONV
00104 # define HAM_CALLCONV
00105 #endif
00106
00110 #ifdef HAM_32BIT
00111 # ifdef _MSC_VER
00112 typedef signed __int64 ham_s64_t;
00113 typedef unsigned __int64 ham_u64_t;
00114 # else
00115 typedef signed long long ham_s64_t;
00116 typedef unsigned long long ham_u64_t;
00117 # endif
00118 typedef signed int ham_s32_t;
00119 typedef unsigned int ham_u32_t;
00120 typedef signed short ham_s16_t;
00121 typedef unsigned short ham_u16_t;
00122 typedef signed char ham_s8_t;
00123 typedef unsigned char ham_u8_t;
00124 #endif
00125
00130 #ifdef HAM_64BIT
00131 # ifdef _MSC_VER
00132 typedef signed __int64 ham_s64_t;
00133 typedef unsigned __int64 ham_u64_t;
00134 # else
00135 typedef signed long ham_s64_t;
00136 typedef unsigned long ham_u64_t;
00137 # endif
00138 typedef signed int ham_s32_t;
00139 typedef unsigned int ham_u32_t;
00140 typedef signed short ham_s16_t;
00141 typedef unsigned short ham_u16_t;
00142 typedef signed char ham_s8_t;
00143 typedef unsigned char ham_u8_t;
00144 #endif
00145
00146
00147
00148
00149 #undef HAM_INVALID_FD
00150 #undef HAM_FALSE
00151 #undef HAM_TRUE
00152
00153
00154
00155
00156 #ifdef HAM_OS_POSIX
00157 typedef int ham_fd_t;
00158 # define HAM_INVALID_FD (-1)
00159 #endif
00160
00161
00162
00163
00164 #ifdef HAM_OS_WIN32
00165 # ifdef CYGWIN
00166 typedef int ham_fd_t;
00167 # else
00168 typedef HANDLE ham_fd_t;
00169 # endif
00170 # define HAM_INVALID_FD (0)
00171 #endif
00172
00176 typedef int ham_bool_t;
00177 #define HAM_FALSE 0
00178 #define HAM_TRUE (!HAM_FALSE)
00179
00183 typedef int ham_status_t;
00184
00191 typedef ham_u64_t ham_offset_t;
00192
00199 typedef ham_u32_t ham_size_t;
00200
00204 #define HAM_MAX_U32 (~(ham_u32_t)0)
00205 #define HAM_MAX_SIZE_T (~(ham_size_t)0)
00206
00207
00208 #ifdef __cplusplus
00209 }
00210 #endif
00211
00212 #endif