|
1 /* |
|
2 * Copyright (c) 2005,2006 Choe Hwanjin |
|
3 * All rights reserved. |
|
4 * This component and the accompanying materials are made available |
|
5 * under the terms of the License "Eclipse Public License v1.0" |
|
6 * which accompanies this distribution, and is available |
|
7 * at the URL "http://www.eclipse.org/legal/epl-v10.html". |
|
8 * |
|
9 * Initial Contributors: |
|
10 * Nokia Corporation - initial contribution. |
|
11 * |
|
12 * Contributors: |
|
13 * |
|
14 * Description: |
|
15 * |
|
16 */ |
|
17 #ifndef _INTTYPES_H |
|
18 #define _INTTYPES_H |
|
19 |
|
20 #ifdef __SYMBIAN32__ |
|
21 |
|
22 #define __LITTLE_ENDIAN 1234 |
|
23 #define __BYTE_ORDER __LITTLE_ENDIAN |
|
24 #ifndef SIZE_MAX |
|
25 #define SIZE_MAX ((size_t)-1) |
|
26 #endif |
|
27 |
|
28 #define LIBHANGUL_DEFAULT_HANJA_DIC "Z:\\resource\\hanja.txt" |
|
29 |
|
30 #else |
|
31 |
|
32 #include <sys/cdefs.h> |
|
33 #define __LITTLE_ENDIAN 1234 |
|
34 #define __BYTE_ORDER __LITTLE_ENDIAN |
|
35 #include <endian.h> |
|
36 |
|
37 __BEGIN_DECLS |
|
38 |
|
39 #endif |
|
40 |
|
41 #define __extension__ |
|
42 |
|
43 # if __WORDSIZE == 64 |
|
44 # define __PRI64_PREFIX "l" |
|
45 # define __PRIPTR_PREFIX "l" |
|
46 # else |
|
47 # define __PRI64_PREFIX "ll" |
|
48 # define __PRIPTR_PREFIX |
|
49 # endif |
|
50 |
|
51 /* Macros for printing format specifiers. */ |
|
52 |
|
53 /* Decimal notation. */ |
|
54 # define PRId8 "d" |
|
55 # define PRId16 "d" |
|
56 # define PRId32 "d" |
|
57 # define PRId64 __PRI64_PREFIX "d" |
|
58 |
|
59 # define PRIdLEAST8 "d" |
|
60 # define PRIdLEAST16 "d" |
|
61 # define PRIdLEAST32 "d" |
|
62 # define PRIdLEAST64 __PRI64_PREFIX "d" |
|
63 |
|
64 # define PRIdFAST8 "d" |
|
65 # define PRIdFAST16 "d" |
|
66 # define PRIdFAST32 "d" |
|
67 # define PRIdFAST64 __PRI64_PREFIX "d" |
|
68 |
|
69 |
|
70 # define PRIi8 "i" |
|
71 # define PRIi16 "i" |
|
72 # define PRIi32 "i" |
|
73 # define PRIi64 __PRI64_PREFIX "i" |
|
74 |
|
75 # define PRIiLEAST8 "i" |
|
76 # define PRIiLEAST16 "i" |
|
77 # define PRIiLEAST32 "i" |
|
78 # define PRIiLEAST64 __PRI64_PREFIX "i" |
|
79 |
|
80 # define PRIiFAST8 "i" |
|
81 # define PRIiFAST16 "i" |
|
82 # define PRIiFAST32 "i" |
|
83 # define PRIiFAST64 __PRI64_PREFIX "i" |
|
84 |
|
85 /* Octal notation. */ |
|
86 # define PRIo8 "o" |
|
87 # define PRIo16 "o" |
|
88 # define PRIo32 "o" |
|
89 # define PRIo64 __PRI64_PREFIX "o" |
|
90 |
|
91 # define PRIoLEAST8 "o" |
|
92 # define PRIoLEAST16 "o" |
|
93 # define PRIoLEAST32 "o" |
|
94 # define PRIoLEAST64 __PRI64_PREFIX "o" |
|
95 |
|
96 # define PRIoFAST8 "o" |
|
97 # define PRIoFAST16 "o" |
|
98 # define PRIoFAST32 "o" |
|
99 # define PRIoFAST64 __PRI64_PREFIX "o" |
|
100 |
|
101 /* Unsigned integers. */ |
|
102 # define PRIu8 "u" |
|
103 # define PRIu16 "u" |
|
104 # define PRIu32 "u" |
|
105 # define PRIu64 __PRI64_PREFIX "u" |
|
106 |
|
107 # define PRIuLEAST8 "u" |
|
108 # define PRIuLEAST16 "u" |
|
109 # define PRIuLEAST32 "u" |
|
110 # define PRIuLEAST64 __PRI64_PREFIX "u" |
|
111 |
|
112 # define PRIuFAST8 "u" |
|
113 # define PRIuFAST16 "u" |
|
114 # define PRIuFAST32 "u" |
|
115 # define PRIuFAST64 __PRI64_PREFIX "u" |
|
116 |
|
117 /* lowercase hexadecimal notation. */ |
|
118 # define PRIx8 "x" |
|
119 # define PRIx16 "x" |
|
120 # define PRIx32 "x" |
|
121 # define PRIx64 __PRI64_PREFIX "x" |
|
122 |
|
123 # define PRIxLEAST8 "x" |
|
124 # define PRIxLEAST16 "x" |
|
125 # define PRIxLEAST32 "x" |
|
126 # define PRIxLEAST64 __PRI64_PREFIX "x" |
|
127 |
|
128 # define PRIxFAST8 "x" |
|
129 # define PRIxFAST16 "x" |
|
130 # define PRIxFAST32 "x" |
|
131 # define PRIxFAST64 __PRI64_PREFIX "x" |
|
132 |
|
133 /* UPPERCASE hexadecimal notation. */ |
|
134 # define PRIX8 "X" |
|
135 # define PRIX16 "X" |
|
136 # define PRIX32 "X" |
|
137 # define PRIX64 __PRI64_PREFIX "X" |
|
138 |
|
139 # define PRIXLEAST8 "X" |
|
140 # define PRIXLEAST16 "X" |
|
141 # define PRIXLEAST32 "X" |
|
142 # define PRIXLEAST64 __PRI64_PREFIX "X" |
|
143 |
|
144 # define PRIXFAST8 "X" |
|
145 # define PRIXFAST16 "X" |
|
146 # define PRIXFAST32 "X" |
|
147 # define PRIXFAST64 __PRI64_PREFIX "X" |
|
148 |
|
149 |
|
150 /* Macros for printing `intmax_t' and `uintmax_t'. */ |
|
151 # define PRIdMAX __PRI64_PREFIX "d" |
|
152 # define PRIiMAX __PRI64_PREFIX "i" |
|
153 # define PRIoMAX __PRI64_PREFIX "o" |
|
154 # define PRIuMAX __PRI64_PREFIX "u" |
|
155 # define PRIxMAX __PRI64_PREFIX "x" |
|
156 # define PRIXMAX __PRI64_PREFIX "X" |
|
157 |
|
158 |
|
159 /* Macros for printing `intptr_t' and `uintptr_t'. */ |
|
160 # define PRIdPTR __PRIPTR_PREFIX "d" |
|
161 # define PRIiPTR __PRIPTR_PREFIX "i" |
|
162 # define PRIoPTR __PRIPTR_PREFIX "o" |
|
163 # define PRIuPTR __PRIPTR_PREFIX "u" |
|
164 # define PRIxPTR __PRIPTR_PREFIX "x" |
|
165 # define PRIXPTR __PRIPTR_PREFIX "X" |
|
166 |
|
167 |
|
168 /* Macros for scanning format specifiers. */ |
|
169 |
|
170 /* Signed decimal notation. */ |
|
171 # define SCNd8 "hhd" |
|
172 # define SCNd16 "hd" |
|
173 # define SCNd32 "d" |
|
174 # define SCNd64 __PRI64_PREFIX "d" |
|
175 |
|
176 # define SCNdLEAST8 "hhd" |
|
177 # define SCNdLEAST16 "hd" |
|
178 # define SCNdLEAST32 "d" |
|
179 # define SCNdLEAST64 __PRI64_PREFIX "d" |
|
180 |
|
181 # define SCNdFAST8 "hhd" |
|
182 # define SCNdFAST16 __PRIPTR_PREFIX "d" |
|
183 # define SCNdFAST32 __PRIPTR_PREFIX "d" |
|
184 # define SCNdFAST64 __PRI64_PREFIX "d" |
|
185 |
|
186 /* Signed decimal notation. */ |
|
187 # define SCNi8 "hhi" |
|
188 # define SCNi16 "hi" |
|
189 # define SCNi32 "i" |
|
190 # define SCNi64 __PRI64_PREFIX "i" |
|
191 |
|
192 # define SCNiLEAST8 "hhi" |
|
193 # define SCNiLEAST16 "hi" |
|
194 # define SCNiLEAST32 "i" |
|
195 # define SCNiLEAST64 __PRI64_PREFIX "i" |
|
196 |
|
197 # define SCNiFAST8 "hhi" |
|
198 # define SCNiFAST16 __PRIPTR_PREFIX "i" |
|
199 # define SCNiFAST32 __PRIPTR_PREFIX "i" |
|
200 # define SCNiFAST64 __PRI64_PREFIX "i" |
|
201 |
|
202 /* Unsigned decimal notation. */ |
|
203 # define SCNu8 "hhu" |
|
204 # define SCNu16 "hu" |
|
205 # define SCNu32 "u" |
|
206 # define SCNu64 __PRI64_PREFIX "u" |
|
207 |
|
208 # define SCNuLEAST8 "hhu" |
|
209 # define SCNuLEAST16 "hu" |
|
210 # define SCNuLEAST32 "u" |
|
211 # define SCNuLEAST64 __PRI64_PREFIX "u" |
|
212 |
|
213 # define SCNuFAST8 "hhu" |
|
214 # define SCNuFAST16 __PRIPTR_PREFIX "u" |
|
215 # define SCNuFAST32 __PRIPTR_PREFIX "u" |
|
216 # define SCNuFAST64 __PRI64_PREFIX "u" |
|
217 |
|
218 /* Octal notation. */ |
|
219 # define SCNo8 "hho" |
|
220 # define SCNo16 "ho" |
|
221 # define SCNo32 "o" |
|
222 # define SCNo64 __PRI64_PREFIX "o" |
|
223 |
|
224 # define SCNoLEAST8 "hho" |
|
225 # define SCNoLEAST16 "ho" |
|
226 # define SCNoLEAST32 "o" |
|
227 # define SCNoLEAST64 __PRI64_PREFIX "o" |
|
228 |
|
229 # define SCNoFAST8 "hho" |
|
230 # define SCNoFAST16 __PRIPTR_PREFIX "o" |
|
231 # define SCNoFAST32 __PRIPTR_PREFIX "o" |
|
232 # define SCNoFAST64 __PRI64_PREFIX "o" |
|
233 |
|
234 /* Hexadecimal notation. */ |
|
235 # define SCNx8 "hhx" |
|
236 # define SCNx16 "hx" |
|
237 # define SCNx32 "x" |
|
238 # define SCNx64 __PRI64_PREFIX "x" |
|
239 |
|
240 # define SCNxLEAST8 "hhx" |
|
241 # define SCNxLEAST16 "hx" |
|
242 # define SCNxLEAST32 "x" |
|
243 # define SCNxLEAST64 __PRI64_PREFIX "x" |
|
244 |
|
245 # define SCNxFAST8 "hhx" |
|
246 # define SCNxFAST16 __PRIPTR_PREFIX "x" |
|
247 # define SCNxFAST32 __PRIPTR_PREFIX "x" |
|
248 # define SCNxFAST64 __PRI64_PREFIX "x" |
|
249 |
|
250 |
|
251 /* Macros for scanning `intmax_t' and `uintmax_t'. */ |
|
252 # define SCNdMAX __PRI64_PREFIX "d" |
|
253 # define SCNiMAX __PRI64_PREFIX "i" |
|
254 # define SCNoMAX __PRI64_PREFIX "o" |
|
255 # define SCNuMAX __PRI64_PREFIX "u" |
|
256 # define SCNxMAX __PRI64_PREFIX "x" |
|
257 |
|
258 /* Macros for scanning `intptr_t' and `uintptr_t'. */ |
|
259 # define SCNdPTR __PRIPTR_PREFIX "d" |
|
260 # define SCNiPTR __PRIPTR_PREFIX "i" |
|
261 # define SCNoPTR __PRIPTR_PREFIX "o" |
|
262 # define SCNuPTR __PRIPTR_PREFIX "u" |
|
263 # define SCNxPTR __PRIPTR_PREFIX "x" |
|
264 |
|
265 typedef signed char int8_t; |
|
266 typedef signed short int16_t; |
|
267 typedef signed int int32_t; |
|
268 |
|
269 typedef unsigned char uint8_t; |
|
270 typedef unsigned short uint16_t; |
|
271 typedef unsigned int uint32_t; |
|
272 |
|
273 typedef signed long int intptr_t; |
|
274 typedef unsigned long int uintptr_t; |
|
275 |
|
276 #ifndef __STRICT_ANSI__ |
|
277 __extension__ typedef signed long long int64_t; |
|
278 __extension__ typedef unsigned long long uint64_t; |
|
279 __extension__ typedef signed long long int intmax_t; |
|
280 __extension__ typedef unsigned long long int uintmax_t; |
|
281 #endif |
|
282 |
|
283 #ifdef __SYMBIAN32__ |
|
284 #else |
|
285 __END_DECLS |
|
286 #endif |
|
287 |
|
288 #endif |