Mercurial > hg > th-libs
annotate th_types.h @ 579:c054e5831dfb
Clean up the th_types.h header #ifdef mess slightly.
author | Matti Hamalainen <ccr@tnsp.org> |
---|---|
date | Thu, 09 Jan 2020 21:11:39 +0200 |
parents | ac2947ac9ef8 |
children | 8c516309037e |
rev | line source |
---|---|
0
bd61a80a6c54
Initial import into Mercurial repository. Discarding old cvs/svn history
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
1 /* |
bd61a80a6c54
Initial import into Mercurial repository. Discarding old cvs/svn history
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
2 * Type definations |
bd61a80a6c54
Initial import into Mercurial repository. Discarding old cvs/svn history
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
3 * Programmed and designed by Matti 'ccr' Hamalainen |
553 | 4 * (C) Copyright 2002-2020 Tecnic Software productions (TNSP) |
0
bd61a80a6c54
Initial import into Mercurial repository. Discarding old cvs/svn history
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
5 * |
bd61a80a6c54
Initial import into Mercurial repository. Discarding old cvs/svn history
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
6 * Please read file 'COPYING' for information on license and distribution. |
bd61a80a6c54
Initial import into Mercurial repository. Discarding old cvs/svn history
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
7 */ |
bd61a80a6c54
Initial import into Mercurial repository. Discarding old cvs/svn history
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
8 /* If your code uses "config.h", you need to #include |
bd61a80a6c54
Initial import into Mercurial repository. Discarding old cvs/svn history
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
9 * it before including this header. |
bd61a80a6c54
Initial import into Mercurial repository. Discarding old cvs/svn history
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
10 */ |
392 | 11 #ifndef TH_TYPES_H |
12 #define TH_TYPES_H 1 | |
0
bd61a80a6c54
Initial import into Mercurial repository. Discarding old cvs/svn history
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
13 |
573
7c0aa6bf484a
Improve system bit-ness handling and target platform.
Matti Hamalainen <ccr@tnsp.org>
parents:
553
diff
changeset
|
14 |
7c0aa6bf484a
Improve system bit-ness handling and target platform.
Matti Hamalainen <ccr@tnsp.org>
parents:
553
diff
changeset
|
15 // Check for system type |
7c0aa6bf484a
Improve system bit-ness handling and target platform.
Matti Hamalainen <ccr@tnsp.org>
parents:
553
diff
changeset
|
16 #if defined(__WIN64) || defined(_WIN64) || defined(__WIN32) || defined(_WIN32) |
7c0aa6bf484a
Improve system bit-ness handling and target platform.
Matti Hamalainen <ccr@tnsp.org>
parents:
553
diff
changeset
|
17 # define TH_PLAT_WINDOWS 1 |
7c0aa6bf484a
Improve system bit-ness handling and target platform.
Matti Hamalainen <ccr@tnsp.org>
parents:
553
diff
changeset
|
18 #elif defined(__DJGPP__) && __DJGPP__ >= 2 |
7c0aa6bf484a
Improve system bit-ness handling and target platform.
Matti Hamalainen <ccr@tnsp.org>
parents:
553
diff
changeset
|
19 # define TH_PLAT_DOS 1 |
7c0aa6bf484a
Improve system bit-ness handling and target platform.
Matti Hamalainen <ccr@tnsp.org>
parents:
553
diff
changeset
|
20 # undef __STRICT_ANSI__ |
7c0aa6bf484a
Improve system bit-ness handling and target platform.
Matti Hamalainen <ccr@tnsp.org>
parents:
553
diff
changeset
|
21 #else |
7c0aa6bf484a
Improve system bit-ness handling and target platform.
Matti Hamalainen <ccr@tnsp.org>
parents:
553
diff
changeset
|
22 # define TH_PLAT_UNIX 1 |
7c0aa6bf484a
Improve system bit-ness handling and target platform.
Matti Hamalainen <ccr@tnsp.org>
parents:
553
diff
changeset
|
23 #endif |
7c0aa6bf484a
Improve system bit-ness handling and target platform.
Matti Hamalainen <ccr@tnsp.org>
parents:
553
diff
changeset
|
24 |
7c0aa6bf484a
Improve system bit-ness handling and target platform.
Matti Hamalainen <ccr@tnsp.org>
parents:
553
diff
changeset
|
25 |
150 | 26 // Check for standard headers |
575
ebdfc1fe1c98
Fixes to the type definitions.
Matti Hamalainen <ccr@tnsp.org>
parents:
573
diff
changeset
|
27 #if defined(HAVE_INTTYPES_H) |
ebdfc1fe1c98
Fixes to the type definitions.
Matti Hamalainen <ccr@tnsp.org>
parents:
573
diff
changeset
|
28 # include <inttypes.h> |
ebdfc1fe1c98
Fixes to the type definitions.
Matti Hamalainen <ccr@tnsp.org>
parents:
573
diff
changeset
|
29 # ifndef HAVE_STDINT_H |
ebdfc1fe1c98
Fixes to the type definitions.
Matti Hamalainen <ccr@tnsp.org>
parents:
573
diff
changeset
|
30 # define HAVE_STDINT_H 1 |
ebdfc1fe1c98
Fixes to the type definitions.
Matti Hamalainen <ccr@tnsp.org>
parents:
573
diff
changeset
|
31 # endif |
ebdfc1fe1c98
Fixes to the type definitions.
Matti Hamalainen <ccr@tnsp.org>
parents:
573
diff
changeset
|
32 #elif defined(HAVE_STDINT_H) |
150 | 33 # include <stdint.h> |
394
7df5991a0ed3
Handle HAVE_STDINT_H vs HAVE_SYS_TYPES_H somewhat more sanely.
Matti Hamalainen <ccr@tnsp.org>
parents:
393
diff
changeset
|
34 #elif defined(HAVE_SYS_TYPES_H) |
150 | 35 # include <sys/types.h> |
36 #endif | |
37 | |
391 | 38 |
39 // Check for arch bitness | |
573
7c0aa6bf484a
Improve system bit-ness handling and target platform.
Matti Hamalainen <ccr@tnsp.org>
parents:
553
diff
changeset
|
40 #if !defined(TH_ARCH) && (defined(__WIN64) || defined(_WIN64)) |
7c0aa6bf484a
Improve system bit-ness handling and target platform.
Matti Hamalainen <ccr@tnsp.org>
parents:
553
diff
changeset
|
41 # define TH_ARCH 64 |
7c0aa6bf484a
Improve system bit-ness handling and target platform.
Matti Hamalainen <ccr@tnsp.org>
parents:
553
diff
changeset
|
42 #endif |
7c0aa6bf484a
Improve system bit-ness handling and target platform.
Matti Hamalainen <ccr@tnsp.org>
parents:
553
diff
changeset
|
43 |
7c0aa6bf484a
Improve system bit-ness handling and target platform.
Matti Hamalainen <ccr@tnsp.org>
parents:
553
diff
changeset
|
44 #if !defined(TH_ARCH) && (defined(__WIN32) || defined(_WIN32)) |
7c0aa6bf484a
Improve system bit-ness handling and target platform.
Matti Hamalainen <ccr@tnsp.org>
parents:
553
diff
changeset
|
45 # define TH_ARCH 32 |
7c0aa6bf484a
Improve system bit-ness handling and target platform.
Matti Hamalainen <ccr@tnsp.org>
parents:
553
diff
changeset
|
46 #endif |
7c0aa6bf484a
Improve system bit-ness handling and target platform.
Matti Hamalainen <ccr@tnsp.org>
parents:
553
diff
changeset
|
47 |
495 | 48 #if !defined(TH_ARCH) |
49 # if UINTPTR_MAX == 0xffffffff | |
50 # define TH_ARCH 32 | |
51 # elif UINTPTR_MAX == 0xffffffffffffffff | |
52 # define TH_ARCH 64 | |
53 # endif | |
391 | 54 #endif |
55 | |
56 | |
150 | 57 #if !defined(TH_ARCH) |
58 # if defined(__LP64__) || defined(_LP64) | |
59 # define TH_ARCH 64 | |
60 # else | |
61 # define TH_ARCH 32 | |
62 # endif | |
63 #endif | |
64 | |
579
c054e5831dfb
Clean up the th_types.h header #ifdef mess slightly.
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
65 |
150 | 66 // Do we have a valid arch? |
579
c054e5831dfb
Clean up the th_types.h header #ifdef mess slightly.
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
67 // If we don't have ISO C99 inttypes.h, define PRI* macros |
c054e5831dfb
Clean up the th_types.h header #ifdef mess slightly.
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
68 #ifndef HAVE_INTTYPES_H |
c054e5831dfb
Clean up the th_types.h header #ifdef mess slightly.
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
69 # if TH_ARCH == 32 |
395
bffd3caf2d2c
Rename TH_PRI{u,d,x}* macros to match with standard ISO C99 inttypes.h PRI*.
Matti Hamalainen <ccr@tnsp.org>
parents:
394
diff
changeset
|
70 # define PRIu32 "u" |
bffd3caf2d2c
Rename TH_PRI{u,d,x}* macros to match with standard ISO C99 inttypes.h PRI*.
Matti Hamalainen <ccr@tnsp.org>
parents:
394
diff
changeset
|
71 # define PRId32 "d" |
bffd3caf2d2c
Rename TH_PRI{u,d,x}* macros to match with standard ISO C99 inttypes.h PRI*.
Matti Hamalainen <ccr@tnsp.org>
parents:
394
diff
changeset
|
72 # define PRIx32 "x" |
396 | 73 # define PRIi32 "i" |
397 | 74 # define PRIo32 "o" |
395
bffd3caf2d2c
Rename TH_PRI{u,d,x}* macros to match with standard ISO C99 inttypes.h PRI*.
Matti Hamalainen <ccr@tnsp.org>
parents:
394
diff
changeset
|
75 # define PRIu64 "llu" |
bffd3caf2d2c
Rename TH_PRI{u,d,x}* macros to match with standard ISO C99 inttypes.h PRI*.
Matti Hamalainen <ccr@tnsp.org>
parents:
394
diff
changeset
|
76 # define PRId64 "lld" |
bffd3caf2d2c
Rename TH_PRI{u,d,x}* macros to match with standard ISO C99 inttypes.h PRI*.
Matti Hamalainen <ccr@tnsp.org>
parents:
394
diff
changeset
|
77 # define PRIx64 "llx" |
396 | 78 # define PRIi64 "lli" |
397 | 79 # define PRIo64 "llo" |
579
c054e5831dfb
Clean up the th_types.h header #ifdef mess slightly.
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
80 # elif TH_ARCH == 64 |
395
bffd3caf2d2c
Rename TH_PRI{u,d,x}* macros to match with standard ISO C99 inttypes.h PRI*.
Matti Hamalainen <ccr@tnsp.org>
parents:
394
diff
changeset
|
81 # define PRIu32 "u" |
bffd3caf2d2c
Rename TH_PRI{u,d,x}* macros to match with standard ISO C99 inttypes.h PRI*.
Matti Hamalainen <ccr@tnsp.org>
parents:
394
diff
changeset
|
82 # define PRId32 "d" |
bffd3caf2d2c
Rename TH_PRI{u,d,x}* macros to match with standard ISO C99 inttypes.h PRI*.
Matti Hamalainen <ccr@tnsp.org>
parents:
394
diff
changeset
|
83 # define PRIx32 "x" |
396 | 84 # define PRIi32 "i" |
397 | 85 # define PRIo32 "o" |
395
bffd3caf2d2c
Rename TH_PRI{u,d,x}* macros to match with standard ISO C99 inttypes.h PRI*.
Matti Hamalainen <ccr@tnsp.org>
parents:
394
diff
changeset
|
86 # define PRIu64 "lu" |
bffd3caf2d2c
Rename TH_PRI{u,d,x}* macros to match with standard ISO C99 inttypes.h PRI*.
Matti Hamalainen <ccr@tnsp.org>
parents:
394
diff
changeset
|
87 # define PRId64 "ld" |
bffd3caf2d2c
Rename TH_PRI{u,d,x}* macros to match with standard ISO C99 inttypes.h PRI*.
Matti Hamalainen <ccr@tnsp.org>
parents:
394
diff
changeset
|
88 # define PRIx64 "lx" |
396 | 89 # define PRIi64 "li" |
397 | 90 # define PRIo64 "lo" |
579
c054e5831dfb
Clean up the th_types.h header #ifdef mess slightly.
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
91 # else |
c054e5831dfb
Clean up the th_types.h header #ifdef mess slightly.
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
92 # error Could not determine architecture (32/64bit), please define TH_ARCH=32 or 64 |
395
bffd3caf2d2c
Rename TH_PRI{u,d,x}* macros to match with standard ISO C99 inttypes.h PRI*.
Matti Hamalainen <ccr@tnsp.org>
parents:
394
diff
changeset
|
93 # endif |
579
c054e5831dfb
Clean up the th_types.h header #ifdef mess slightly.
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
94 #endif |
c054e5831dfb
Clean up the th_types.h header #ifdef mess slightly.
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
95 |
c054e5831dfb
Clean up the th_types.h header #ifdef mess slightly.
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
96 |
c054e5831dfb
Clean up the th_types.h header #ifdef mess slightly.
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
97 // Define some printf specifiers and other useful things |
c054e5831dfb
Clean up the th_types.h header #ifdef mess slightly.
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
98 #if TH_ARCH == 32 |
c054e5831dfb
Clean up the th_types.h header #ifdef mess slightly.
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
99 # define PRIu_SIZE_T PRIu32 |
c054e5831dfb
Clean up the th_types.h header #ifdef mess slightly.
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
100 # define PRId_SSIZE_T PRId32 |
c054e5831dfb
Clean up the th_types.h header #ifdef mess slightly.
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
101 # define PRIx_SIZE_T PRIx32 |
c054e5831dfb
Clean up the th_types.h header #ifdef mess slightly.
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
102 # define PRIu_OFF_T PRIu32 |
c054e5831dfb
Clean up the th_types.h header #ifdef mess slightly.
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
103 # define PRIx_OFF_T PRId32 |
c054e5831dfb
Clean up the th_types.h header #ifdef mess slightly.
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
104 # define PRIX_OFF_T PRIx32 |
c054e5831dfb
Clean up the th_types.h header #ifdef mess slightly.
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
105 # ifndef TH_PTRSIZE |
c054e5831dfb
Clean up the th_types.h header #ifdef mess slightly.
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
106 # define TH_PTRSIZE 32 |
c054e5831dfb
Clean up the th_types.h header #ifdef mess slightly.
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
107 # endif |
c054e5831dfb
Clean up the th_types.h header #ifdef mess slightly.
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
108 # ifndef INTPTR_MIN |
c054e5831dfb
Clean up the th_types.h header #ifdef mess slightly.
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
109 # define INTPTR_MIN (-0x7fffffffL - 1) |
c054e5831dfb
Clean up the th_types.h header #ifdef mess slightly.
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
110 # define INTPTR_MAX ( 0x7fffffffL) |
c054e5831dfb
Clean up the th_types.h header #ifdef mess slightly.
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
111 # define UINTPTR_MAX ( 0xffffffffUL) |
c054e5831dfb
Clean up the th_types.h header #ifdef mess slightly.
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
112 # endif |
c054e5831dfb
Clean up the th_types.h header #ifdef mess slightly.
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
113 #elif TH_ARCH == 64 |
578
ac2947ac9ef8
Define PRI*_SIZE_T from PRIu32/64 based on platform, this is cleaner and
Matti Hamalainen <ccr@tnsp.org>
parents:
575
diff
changeset
|
114 # define PRIu_SIZE_T PRIu64 |
ac2947ac9ef8
Define PRI*_SIZE_T from PRIu32/64 based on platform, this is cleaner and
Matti Hamalainen <ccr@tnsp.org>
parents:
575
diff
changeset
|
115 # define PRId_SSIZE_T PRId64 |
ac2947ac9ef8
Define PRI*_SIZE_T from PRIu32/64 based on platform, this is cleaner and
Matti Hamalainen <ccr@tnsp.org>
parents:
575
diff
changeset
|
116 # define PRIx_SIZE_T PRIx64 |
579
c054e5831dfb
Clean up the th_types.h header #ifdef mess slightly.
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
117 # define PRIu_OFF_T PRIu64 |
c054e5831dfb
Clean up the th_types.h header #ifdef mess slightly.
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
118 # define PRIx_OFF_T PRId64 |
c054e5831dfb
Clean up the th_types.h header #ifdef mess slightly.
Matti Hamalainen <ccr@tnsp.org>
parents:
578
diff
changeset
|
119 # define PRIX_OFF_T PRIx64 |
308
0078dc5f6260
Define TH_PTRSIZE and UINTPTR_MAX if not defined already.
Matti Hamalainen <ccr@tnsp.org>
parents:
307
diff
changeset
|
120 # ifndef TH_PTRSIZE |
0078dc5f6260
Define TH_PTRSIZE and UINTPTR_MAX if not defined already.
Matti Hamalainen <ccr@tnsp.org>
parents:
307
diff
changeset
|
121 # define TH_PTRSIZE 64 |
0078dc5f6260
Define TH_PTRSIZE and UINTPTR_MAX if not defined already.
Matti Hamalainen <ccr@tnsp.org>
parents:
307
diff
changeset
|
122 # endif |
400
f7919a143fcb
Add some missing types and macros when we do not have inttypes.h or stdint.h
Matti Hamalainen <ccr@tnsp.org>
parents:
398
diff
changeset
|
123 # ifndef INTPTR_MIN |
f7919a143fcb
Add some missing types and macros when we do not have inttypes.h or stdint.h
Matti Hamalainen <ccr@tnsp.org>
parents:
398
diff
changeset
|
124 # define INTPTR_MIN (-0x7fffffffffffffffL - 1) |
f7919a143fcb
Add some missing types and macros when we do not have inttypes.h or stdint.h
Matti Hamalainen <ccr@tnsp.org>
parents:
398
diff
changeset
|
125 # define INTPTR_MAX ( 0x7fffffffffffffffL) |
f7919a143fcb
Add some missing types and macros when we do not have inttypes.h or stdint.h
Matti Hamalainen <ccr@tnsp.org>
parents:
398
diff
changeset
|
126 # define UINTPTR_MAX ( 0xffffffffffffffffUL) |
308
0078dc5f6260
Define TH_PTRSIZE and UINTPTR_MAX if not defined already.
Matti Hamalainen <ccr@tnsp.org>
parents:
307
diff
changeset
|
127 # endif |
0
bd61a80a6c54
Initial import into Mercurial repository. Discarding old cvs/svn history
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
128 #endif |
bd61a80a6c54
Initial import into Mercurial repository. Discarding old cvs/svn history
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
129 |
400
f7919a143fcb
Add some missing types and macros when we do not have inttypes.h or stdint.h
Matti Hamalainen <ccr@tnsp.org>
parents:
398
diff
changeset
|
130 |
575
ebdfc1fe1c98
Fixes to the type definitions.
Matti Hamalainen <ccr@tnsp.org>
parents:
573
diff
changeset
|
131 /* Default assumptions for these types should be ok for most 32/64bit platforms... |
0
bd61a80a6c54
Initial import into Mercurial repository. Discarding old cvs/svn history
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
132 */ |
575
ebdfc1fe1c98
Fixes to the type definitions.
Matti Hamalainen <ccr@tnsp.org>
parents:
573
diff
changeset
|
133 #ifndef HAVE_STDINT_H |
0
bd61a80a6c54
Initial import into Mercurial repository. Discarding old cvs/svn history
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
134 typedef unsigned char uint8_t; |
bd61a80a6c54
Initial import into Mercurial repository. Discarding old cvs/svn history
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
135 typedef signed char int8_t; |
bd61a80a6c54
Initial import into Mercurial repository. Discarding old cvs/svn history
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
136 typedef unsigned short int uint16_t; |
bd61a80a6c54
Initial import into Mercurial repository. Discarding old cvs/svn history
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
137 typedef signed short int int16_t; |
bd61a80a6c54
Initial import into Mercurial repository. Discarding old cvs/svn history
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
138 typedef unsigned int uint32_t; |
bd61a80a6c54
Initial import into Mercurial repository. Discarding old cvs/svn history
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
139 typedef signed int int32_t; |
bd61a80a6c54
Initial import into Mercurial repository. Discarding old cvs/svn history
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
140 typedef unsigned long long uint64_t; |
bd61a80a6c54
Initial import into Mercurial repository. Discarding old cvs/svn history
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
141 typedef signed long long int64_t; |
bd61a80a6c54
Initial import into Mercurial repository. Discarding old cvs/svn history
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
142 |
400
f7919a143fcb
Add some missing types and macros when we do not have inttypes.h or stdint.h
Matti Hamalainen <ccr@tnsp.org>
parents:
398
diff
changeset
|
143 #if TH_ARCH == 32 |
f7919a143fcb
Add some missing types and macros when we do not have inttypes.h or stdint.h
Matti Hamalainen <ccr@tnsp.org>
parents:
398
diff
changeset
|
144 typedef long long int intmax_t; |
f7919a143fcb
Add some missing types and macros when we do not have inttypes.h or stdint.h
Matti Hamalainen <ccr@tnsp.org>
parents:
398
diff
changeset
|
145 typedef unsigned long long int uintmax_t; |
f7919a143fcb
Add some missing types and macros when we do not have inttypes.h or stdint.h
Matti Hamalainen <ccr@tnsp.org>
parents:
398
diff
changeset
|
146 #elif TH_ARCH == 64 |
f7919a143fcb
Add some missing types and macros when we do not have inttypes.h or stdint.h
Matti Hamalainen <ccr@tnsp.org>
parents:
398
diff
changeset
|
147 typedef long int intmax_t; |
f7919a143fcb
Add some missing types and macros when we do not have inttypes.h or stdint.h
Matti Hamalainen <ccr@tnsp.org>
parents:
398
diff
changeset
|
148 typedef unsigned long int uintmax_t; |
f7919a143fcb
Add some missing types and macros when we do not have inttypes.h or stdint.h
Matti Hamalainen <ccr@tnsp.org>
parents:
398
diff
changeset
|
149 #endif |
f7919a143fcb
Add some missing types and macros when we do not have inttypes.h or stdint.h
Matti Hamalainen <ccr@tnsp.org>
parents:
398
diff
changeset
|
150 #endif |
f7919a143fcb
Add some missing types and macros when we do not have inttypes.h or stdint.h
Matti Hamalainen <ccr@tnsp.org>
parents:
398
diff
changeset
|
151 |
f7919a143fcb
Add some missing types and macros when we do not have inttypes.h or stdint.h
Matti Hamalainen <ccr@tnsp.org>
parents:
398
diff
changeset
|
152 |
453
efd33accdc81
Break backwards compatibility by renaming BOOL, TRUE and FALSE to lowercase.
Matti Hamalainen <ccr@tnsp.org>
parents:
432
diff
changeset
|
153 /* Define a boolean type, if needed |
0
bd61a80a6c54
Initial import into Mercurial repository. Discarding old cvs/svn history
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
154 */ |
457
85fa3d333556
Actually, revert the boolean changes .. meh.
Matti Hamalainen <ccr@tnsp.org>
parents:
456
diff
changeset
|
155 #if !defined(FALSE) && !defined(TRUE) && !defined(BOOL) |
85fa3d333556
Actually, revert the boolean changes .. meh.
Matti Hamalainen <ccr@tnsp.org>
parents:
456
diff
changeset
|
156 typedef enum { FALSE = 0, TRUE = 1 } BOOL; |
85fa3d333556
Actually, revert the boolean changes .. meh.
Matti Hamalainen <ccr@tnsp.org>
parents:
456
diff
changeset
|
157 #endif |
0
bd61a80a6c54
Initial import into Mercurial repository. Discarding old cvs/svn history
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
158 |
457
85fa3d333556
Actually, revert the boolean changes .. meh.
Matti Hamalainen <ccr@tnsp.org>
parents:
456
diff
changeset
|
159 #ifndef BOOL |
85fa3d333556
Actually, revert the boolean changes .. meh.
Matti Hamalainen <ccr@tnsp.org>
parents:
456
diff
changeset
|
160 # ifdef bool |
85fa3d333556
Actually, revert the boolean changes .. meh.
Matti Hamalainen <ccr@tnsp.org>
parents:
456
diff
changeset
|
161 # define BOOL bool |
85fa3d333556
Actually, revert the boolean changes .. meh.
Matti Hamalainen <ccr@tnsp.org>
parents:
456
diff
changeset
|
162 # else |
85fa3d333556
Actually, revert the boolean changes .. meh.
Matti Hamalainen <ccr@tnsp.org>
parents:
456
diff
changeset
|
163 # define BOOL int |
85fa3d333556
Actually, revert the boolean changes .. meh.
Matti Hamalainen <ccr@tnsp.org>
parents:
456
diff
changeset
|
164 # endif |
85fa3d333556
Actually, revert the boolean changes .. meh.
Matti Hamalainen <ccr@tnsp.org>
parents:
456
diff
changeset
|
165 #endif |
0
bd61a80a6c54
Initial import into Mercurial repository. Discarding old cvs/svn history
Matti Hamalainen <ccr@tnsp.org>
parents:
diff
changeset
|
166 |
392 | 167 #endif // TH_TYPES_H |