first commit
[libutp-c.git] / utypes.h
blob5c653de194d7a7f98cb5f563f013b9d2aac90de5
1 #ifndef __UTYPES_H__
2 #define __UTYPES_H__
4 /* standard types */
5 typedef unsigned char byte;
6 typedef unsigned char uint8;
7 typedef signed char int8;
8 typedef unsigned short uint16;
9 typedef signed short int16;
10 typedef unsigned int uint;
11 typedef unsigned int uint32;
12 typedef signed int int32;
14 #ifdef _MSC_VER
15 typedef unsigned __int64 uint64;
16 typedef signed __int64 int64;
17 #else
18 typedef unsigned long long uint64;
19 typedef long long int64;
20 #endif
22 /* big endian for network */
23 typedef int32 int32_big;
24 typedef uint32 uint32_big;
25 typedef uint16 uint16_big;
27 /* compile-time assert */
29 #ifndef CASSERT
30 #define CASSERT( exp, name ) typedef int is_not_##name [ (exp ) ? 1 : -1 ];
31 #endif
33 CASSERT(8 == sizeof(uint64), sizeof_uint64_is_8)
34 CASSERT(8 == sizeof(int64), sizeof_int64_is_8)
36 #ifndef INT64_MAX
37 #define INT64_MAX 0x7fffffffffffffffLL
38 #endif
40 /* always ANSI */
41 typedef const char * cstr;
42 typedef char * str;
44 #ifndef __cplusplus
45 typedef uint8 bool;
46 #define false 0
47 #define true 1
48 #endif
50 #endif /* __UTYPES_H__ */