Subversion Repositories Kolibri OS

Rev

Rev 4921 | Only display areas with differences | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 4921 Rev 6099
1
/*
1
/*
2
 *  $Id: _default_types.h,v 1.6 2013/12/03 16:04:41 corinna Exp $
2
 *  $Id$
3
 */
3
 */
4
 
4
 
5
#ifndef _MACHINE__DEFAULT_TYPES_H
5
#ifndef _MACHINE__DEFAULT_TYPES_H
6
#define _MACHINE__DEFAULT_TYPES_H
6
#define _MACHINE__DEFAULT_TYPES_H
7
 
7
 
8
#include 
8
#include 
9
 
9
 
10
/*
10
/*
11
 * Guess on types by examining *_MIN / *_MAX defines.
11
 * Guess on types by examining *_MIN / *_MAX defines.
12
 */
12
 */
13
#if __GNUC_PREREQ (3, 3)
13
#if __GNUC_PREREQ (3, 3)
14
/* GCC >= 3.3.0 has ____ implicitly defined. */
14
/* GCC >= 3.3.0 has ____ implicitly defined. */
15
#define __EXP(x) __##x##__
15
#define __EXP(x) __##x##__
16
#else
16
#else
17
/* Fall back to POSIX versions from  */
17
/* Fall back to POSIX versions from  */
18
#define __EXP(x) x
18
#define __EXP(x) x
19
#include 
19
#include 
20
#endif
20
#endif
21
 
21
 
22
#ifdef __cplusplus
22
#ifdef __cplusplus
23
extern "C" {
23
extern "C" {
24
#endif
24
#endif
25
 
25
 
26
#ifdef __INT8_TYPE__
26
#ifdef __INT8_TYPE__
27
typedef __INT8_TYPE__ __int8_t;
27
typedef __INT8_TYPE__ __int8_t;
-
 
28
#ifdef __UINT8_TYPE__
28
typedef __UINT8_TYPE__ __uint8_t;
29
typedef __UINT8_TYPE__ __uint8_t;
-
 
30
#else
-
 
31
typedef unsigned __INT8_TYPE__ __uint8_t;
-
 
32
#endif
29
#define ___int8_t_defined 1
33
#define ___int8_t_defined 1
30
#elif __EXP(SCHAR_MAX) == 0x7f
34
#elif __EXP(SCHAR_MAX) == 0x7f
31
typedef signed char __int8_t ;
35
typedef signed char __int8_t ;
32
typedef unsigned char __uint8_t ;
36
typedef unsigned char __uint8_t ;
33
#define ___int8_t_defined 1
37
#define ___int8_t_defined 1
34
#endif
38
#endif
35
 
39
 
36
#ifdef __INT16_TYPE__
40
#ifdef __INT16_TYPE__
37
typedef __INT16_TYPE__ __int16_t;
41
typedef __INT16_TYPE__ __int16_t;
-
 
42
#ifdef __UINT16_TYPE__
38
typedef __UINT16_TYPE__ __uint16_t;
43
typedef __UINT16_TYPE__ __uint16_t;
-
 
44
#else
-
 
45
typedef unsigned __INT16_TYPE__ __uint16_t;
-
 
46
#endif
39
#define ___int16_t_defined 1
47
#define ___int16_t_defined 1
40
#elif __EXP(INT_MAX) == 0x7fff
48
#elif __EXP(INT_MAX) == 0x7fff
41
typedef signed int __int16_t;
49
typedef signed int __int16_t;
42
typedef unsigned int __uint16_t;
50
typedef unsigned int __uint16_t;
43
#define ___int16_t_defined 1
51
#define ___int16_t_defined 1
44
#elif __EXP(SHRT_MAX) == 0x7fff
52
#elif __EXP(SHRT_MAX) == 0x7fff
45
typedef signed short __int16_t;
53
typedef signed short __int16_t;
46
typedef unsigned short __uint16_t;
54
typedef unsigned short __uint16_t;
47
#define ___int16_t_defined 1
55
#define ___int16_t_defined 1
48
#elif __EXP(SCHAR_MAX) == 0x7fff
56
#elif __EXP(SCHAR_MAX) == 0x7fff
49
typedef signed char __int16_t;
57
typedef signed char __int16_t;
50
typedef unsigned char __uint16_t;
58
typedef unsigned char __uint16_t;
51
#define ___int16_t_defined 1
59
#define ___int16_t_defined 1
52
#endif
60
#endif
53
 
61
 
54
#ifdef __INT32_TYPE__
62
#ifdef __INT32_TYPE__
55
typedef __INT32_TYPE__ __int32_t;
63
typedef __INT32_TYPE__ __int32_t;
-
 
64
#ifdef __UINT32_TYPE__
56
typedef __UINT32_TYPE__ __uint32_t;
65
typedef __UINT32_TYPE__ __uint32_t;
-
 
66
#else
-
 
67
typedef unsigned __INT32_TYPE__ __uint32_t;
-
 
68
#endif
57
#define ___int32_t_defined 1
69
#define ___int32_t_defined 1
58
#elif __EXP(INT_MAX) == 0x7fffffffL
70
#elif __EXP(INT_MAX) == 0x7fffffffL
59
typedef signed int __int32_t;
71
typedef signed int __int32_t;
60
typedef unsigned int __uint32_t;
72
typedef unsigned int __uint32_t;
61
#define ___int32_t_defined 1
73
#define ___int32_t_defined 1
62
#elif __EXP(LONG_MAX) == 0x7fffffffL
74
#elif __EXP(LONG_MAX) == 0x7fffffffL
63
typedef signed long __int32_t;
75
typedef signed long __int32_t;
64
typedef unsigned long __uint32_t;
76
typedef unsigned long __uint32_t;
65
#define ___int32_t_defined 1
77
#define ___int32_t_defined 1
66
#elif __EXP(SHRT_MAX) == 0x7fffffffL
78
#elif __EXP(SHRT_MAX) == 0x7fffffffL
67
typedef signed short __int32_t;
79
typedef signed short __int32_t;
68
typedef unsigned short __uint32_t;
80
typedef unsigned short __uint32_t;
69
#define ___int32_t_defined 1
81
#define ___int32_t_defined 1
70
#elif __EXP(SCHAR_MAX) == 0x7fffffffL
82
#elif __EXP(SCHAR_MAX) == 0x7fffffffL
71
typedef signed char __int32_t;
83
typedef signed char __int32_t;
72
typedef unsigned char __uint32_t;
84
typedef unsigned char __uint32_t;
73
#define ___int32_t_defined 1
85
#define ___int32_t_defined 1
74
#endif
86
#endif
75
 
87
 
76
#ifdef __INT64_TYPE__
88
#ifdef __INT64_TYPE__
77
typedef __INT64_TYPE__ __int64_t;
89
typedef __INT64_TYPE__ __int64_t;
-
 
90
#ifdef __UINT64_TYPE__
78
typedef __UINT64_TYPE__ __uint64_t;
91
typedef __UINT64_TYPE__ __uint64_t;
-
 
92
#else
-
 
93
typedef unsigned __INT64_TYPE__ __uint64_t;
-
 
94
#endif
79
#define ___int64_t_defined 1
95
#define ___int64_t_defined 1
80
#elif __EXP(LONG_MAX) > 0x7fffffff
96
#elif __EXP(LONG_MAX) > 0x7fffffff
81
typedef signed long __int64_t;
97
typedef signed long __int64_t;
82
typedef unsigned long __uint64_t;
98
typedef unsigned long __uint64_t;
83
#define ___int64_t_defined 1
99
#define ___int64_t_defined 1
84
 
100
 
85
/* GCC has __LONG_LONG_MAX__ */
101
/* GCC has __LONG_LONG_MAX__ */
86
#elif  defined(__LONG_LONG_MAX__) && (__LONG_LONG_MAX__ > 0x7fffffff)
102
#elif  defined(__LONG_LONG_MAX__) && (__LONG_LONG_MAX__ > 0x7fffffff)
87
typedef signed long long __int64_t;
103
typedef signed long long __int64_t;
88
typedef unsigned long long __uint64_t;
104
typedef unsigned long long __uint64_t;
89
#define ___int64_t_defined 1
105
#define ___int64_t_defined 1
90
 
106
 
91
/* POSIX mandates LLONG_MAX in  */
107
/* POSIX mandates LLONG_MAX in  */
92
#elif  defined(LLONG_MAX) && (LLONG_MAX > 0x7fffffff)
108
#elif  defined(LLONG_MAX) && (LLONG_MAX > 0x7fffffff)
93
typedef signed long long __int64_t;
109
typedef signed long long __int64_t;
94
typedef unsigned long long __uint64_t;
110
typedef unsigned long long __uint64_t;
95
#define ___int64_t_defined 1
111
#define ___int64_t_defined 1
96
 
112
 
97
#elif  __EXP(INT_MAX) > 0x7fffffff
113
#elif  __EXP(INT_MAX) > 0x7fffffff
98
typedef signed int __int64_t;
114
typedef signed int __int64_t;
99
typedef unsigned int __uint64_t;
115
typedef unsigned int __uint64_t;
100
#define ___int64_t_defined 1
116
#define ___int64_t_defined 1
101
#endif
117
#endif
102
 
118
 
103
#ifdef __INT_LEAST8_TYPE__
119
#ifdef __INT_LEAST8_TYPE__
104
typedef __INT_LEAST8_TYPE__ __int_least8_t;
120
typedef __INT_LEAST8_TYPE__ __int_least8_t;
-
 
121
#ifdef __UINT_LEAST8_TYPE__
105
typedef __UINT_LEAST8_TYPE__ __uint_least8_t;
122
typedef __UINT_LEAST8_TYPE__ __uint_least8_t;
-
 
123
#else
-
 
124
typedef unsigned __INT_LEAST8_TYPE__ __uint_least8_t;
-
 
125
#endif
106
#define ___int_least8_t_defined 1
126
#define ___int_least8_t_defined 1
107
#elif defined(___int8_t_defined)
127
#elif defined(___int8_t_defined)
108
typedef __int8_t __int_least8_t;
128
typedef __int8_t __int_least8_t;
109
typedef __uint8_t __uint_least8_t;
129
typedef __uint8_t __uint_least8_t;
110
#define ___int_least8_t_defined 1
130
#define ___int_least8_t_defined 1
111
#elif defined(___int16_t_defined)
131
#elif defined(___int16_t_defined)
112
typedef __int16_t __int_least8_t;
132
typedef __int16_t __int_least8_t;
113
typedef __uint16_t __uint_least8_t;
133
typedef __uint16_t __uint_least8_t;
114
#define ___int_least8_t_defined 1
134
#define ___int_least8_t_defined 1
115
#elif defined(___int32_t_defined)
135
#elif defined(___int32_t_defined)
116
typedef __int32_t __int_least8_t;
136
typedef __int32_t __int_least8_t;
117
typedef __uint32_t __uint_least8_t;
137
typedef __uint32_t __uint_least8_t;
118
#define ___int_least8_t_defined 1
138
#define ___int_least8_t_defined 1
119
#elif defined(___int64_t_defined)
139
#elif defined(___int64_t_defined)
120
typedef __int64_t __int_least8_t;
140
typedef __int64_t __int_least8_t;
121
typedef __uint64_t __uint_least8_t;
141
typedef __uint64_t __uint_least8_t;
122
#define ___int_least8_t_defined 1
142
#define ___int_least8_t_defined 1
123
#endif
143
#endif
124
 
144
 
125
#ifdef __INT_LEAST16_TYPE__
145
#ifdef __INT_LEAST16_TYPE__
126
typedef __INT_LEAST16_TYPE__ __int_least16_t;
146
typedef __INT_LEAST16_TYPE__ __int_least16_t;
-
 
147
#ifdef __UINT_LEAST16_TYPE__
127
typedef __UINT_LEAST16_TYPE__ __uint_least16_t;
148
typedef __UINT_LEAST16_TYPE__ __uint_least16_t;
-
 
149
#else
-
 
150
typedef unsigned __INT_LEAST16_TYPE__ __uint_least16_t;
-
 
151
#endif
128
#define ___int_least16_t_defined 1
152
#define ___int_least16_t_defined 1
129
#elif defined(___int16_t_defined)
153
#elif defined(___int16_t_defined)
130
typedef __int16_t __int_least16_t;
154
typedef __int16_t __int_least16_t;
131
typedef __uint16_t __uint_least16_t;
155
typedef __uint16_t __uint_least16_t;
132
#define ___int_least16_t_defined 1
156
#define ___int_least16_t_defined 1
133
#elif defined(___int32_t_defined)
157
#elif defined(___int32_t_defined)
134
typedef __int32_t __int_least16_t;
158
typedef __int32_t __int_least16_t;
135
typedef __uint32_t __uint_least16_t;
159
typedef __uint32_t __uint_least16_t;
136
#define ___int_least16_t_defined 1
160
#define ___int_least16_t_defined 1
137
#elif defined(___int64_t_defined)
161
#elif defined(___int64_t_defined)
138
typedef __int64_t __int_least16_t;
162
typedef __int64_t __int_least16_t;
139
typedef __uint64_t __uint_least16_t;
163
typedef __uint64_t __uint_least16_t;
140
#define ___int_least16_t_defined 1
164
#define ___int_least16_t_defined 1
141
#endif
165
#endif
142
 
166
 
143
#ifdef __INT_LEAST32_TYPE__
167
#ifdef __INT_LEAST32_TYPE__
144
typedef __INT_LEAST32_TYPE__ __int_least32_t;
168
typedef __INT_LEAST32_TYPE__ __int_least32_t;
-
 
169
#ifdef __UINT_LEAST32_TYPE__
145
typedef __UINT_LEAST32_TYPE__ __uint_least32_t;
170
typedef __UINT_LEAST32_TYPE__ __uint_least32_t;
-
 
171
#else
-
 
172
typedef unsigned __INT_LEAST32_TYPE__ __uint_least32_t;
-
 
173
#endif
146
#define ___int_least32_t_defined 1
174
#define ___int_least32_t_defined 1
147
#elif defined(___int32_t_defined)
175
#elif defined(___int32_t_defined)
148
typedef __int32_t __int_least32_t;
176
typedef __int32_t __int_least32_t;
149
typedef __uint32_t __uint_least32_t;
177
typedef __uint32_t __uint_least32_t;
150
#define ___int_least32_t_defined 1
178
#define ___int_least32_t_defined 1
151
#elif defined(___int64_t_defined)
179
#elif defined(___int64_t_defined)
152
typedef __int64_t __int_least32_t;
180
typedef __int64_t __int_least32_t;
153
typedef __uint64_t __uint_least32_t;
181
typedef __uint64_t __uint_least32_t;
154
#define ___int_least32_t_defined 1
182
#define ___int_least32_t_defined 1
155
#endif
183
#endif
156
 
184
 
157
#ifdef __INT_LEAST64_TYPE__
185
#ifdef __INT_LEAST64_TYPE__
158
typedef __INT_LEAST64_TYPE__ __int_least64_t;
186
typedef __INT_LEAST64_TYPE__ __int_least64_t;
-
 
187
#ifdef __UINT_LEAST64_TYPE__
159
typedef __UINT_LEAST64_TYPE__ __uint_least64_t;
188
typedef __UINT_LEAST64_TYPE__ __uint_least64_t;
-
 
189
#else
-
 
190
typedef unsigned __INT_LEAST64_TYPE__ __uint_least64_t;
-
 
191
#endif
160
#define ___int_least64_t_defined 1
192
#define ___int_least64_t_defined 1
161
#elif defined(___int64_t_defined)
193
#elif defined(___int64_t_defined)
162
typedef __int64_t __int_least64_t;
194
typedef __int64_t __int_least64_t;
163
typedef __uint64_t __uint_least64_t;
195
typedef __uint64_t __uint_least64_t;
164
#define ___int_least64_t_defined 1
196
#define ___int_least64_t_defined 1
165
#endif
197
#endif
166
 
198
 
167
#ifdef __INTPTR_TYPE__
199
#ifdef __INTPTR_TYPE__
168
typedef __INTPTR_TYPE__ __intptr_t;
200
typedef __INTPTR_TYPE__ __intptr_t;
-
 
201
#ifdef __UINTPTR_TYPE__
169
typedef __UINTPTR_TYPE__ __uintptr_t;
202
typedef __UINTPTR_TYPE__ __uintptr_t;
-
 
203
#else
-
 
204
typedef unsigned __INTPTR_TYPE__ __uintptr_t;
-
 
205
#endif
170
#elif defined(__PTRDIFF_TYPE__)
206
#elif defined(__PTRDIFF_TYPE__)
171
typedef __PTRDIFF_TYPE__ __intptr_t;
207
typedef __PTRDIFF_TYPE__ __intptr_t;
172
typedef unsigned __PTRDIFF_TYPE__ __uintptr_t;
208
typedef unsigned __PTRDIFF_TYPE__ __uintptr_t;
173
#else
209
#else
174
typedef long __intptr_t;
210
typedef long __intptr_t;
175
typedef unsigned long __uintptr_t;
211
typedef unsigned long __uintptr_t;
176
#endif
212
#endif
177
 
213
 
178
#undef __EXP
214
#undef __EXP
179
 
215
 
180
#ifdef __cplusplus
216
#ifdef __cplusplus
181
}
217
}
182
#endif
218
#endif
183
 
219
 
184
#endif /* _MACHINE__DEFAULT_TYPES_H */
220
#endif /* _MACHINE__DEFAULT_TYPES_H */