]> pd.if.org Git - pdclib/blob - includes/inttypes.h
Re-import from Subversion.
[pdclib] / includes / inttypes.h
1 /* ----------------------------------------------------------------------------
2  * $Id$
3  * ----------------------------------------------------------------------------
4  * Public Domain C Library - http://pdclib.sourceforge.net
5  * This code is Public Domain. Use, modify, and redistribute at will.
6  * ----------------------------------------------------------------------------
7  * Format conversion of integer types
8  * --------------------------------------------------------------------------*/
9
10 #ifndef _INTTYPES_H
11 #define _INTTYPES_H _INTTYPES_H
12
13 /* TODO: Documentation */
14
15 /* ----------------------------------------------------------------------------
16  * TYPEDEFS
17  * --------------------------------------------------------------------------*/
18
19 typedef struct
20 {
21  intmax_t quotient,
22  intmax_t remainder;
23 }
24 imaxdiv_t;
25
26 /* ----------------------------------------------------------------------------
27  * FUNCTIONS
28  * --------------------------------------------------------------------------*/
29
30 intmax_t imaxabs( intmax_t i );
31 imaxdiv_t imaxdiv( intmax_t numer, intmax_t denom );
32
33 intmax_t strtoimax( const char * restrict s, char * * restrict endptr, int base );
34 uintmax_t strtoumax( const char * restrict s, char * * restrict endptr, int base );
35 intmax_t wcstoimax( const wchar_t * restrict s, wchar_t * * restrict endptr, int base );
36 uintmax_t wcstoumax( const wchar_t * restrict s, wchar_t * * restrict endptr, int base );
37
38 /* ----------------------------------------------------------------------------
39  * MACROS (PRINT)
40  * --------------------------------------------------------------------------*/
41
42 #define PRId8
43 #define PRId16
44 #define PRId32
45 #define PRId64
46
47 #define PRIdFAST8
48 #define PRIdFAST16
49 #define PRIdFAST32
50 #define PRIdFAST64
51
52 #define PRIdLEAST8
53 #define PRIdLEAST16
54 #define PRIdLEAST32
55 #define PRIdLEAST64
56
57 #define PRIdMAX
58 #define PRIdPTR
59
60 #define PRIi8
61 #define PRIi16
62 #define PRIi32
63 #define PRIi64
64
65 #define PRIiFAST8
66 #define PRIiFAST16
67 #define PRIiFAST32
68 #define PRIiFAST64
69
70 #define PRIiLEAST8
71 #define PRIiLEAST16
72 #define PRIiLEAST32
73 #define PRIiLEAST64
74
75 #define PRIiMAX
76 #define PRIiPTR
77
78 #define PRIo8
79 #define PRIo16
80 #define PRIo32
81 #define PRIo64
82
83 #define PRIoFAST8
84 #define PRIoFAST16
85 #define PRIoFAST32
86 #define PRIoFAST64
87
88 #define PRIoLEAST8
89 #define PRIoLEAST16
90 #define PRIoLEAST32
91 #define PRIoLEAST64
92
93 #define PRIoMAX
94 #define PRIoPTR
95
96 #define PRIu8
97 #define PRIu16
98 #define PRIu32
99 #define PRIu64
100
101 #define PRIuFAST8
102 #define PRIuFAST16
103 #define PRIuFAST32
104 #define PRIuFAST64
105
106 #define PRIuLEAST8
107 #define PRIuLEAST16
108 #define PRIuLEAST32
109 #define PRIuLEAST64
110
111 #define PRIuMAX
112 #define PRIuPTR
113
114 #define PRIx8
115 #define PRIx16
116 #define PRIx32
117 #define PRIx64
118
119 #define PRIxFAST8
120 #define PRIxFAST16
121 #define PRIxFAST32
122 #define PRIxFAST64
123
124 #define PRIxLEAST8
125 #define PRIxLEAST16
126 #define PRIxLEAST32
127 #define PRIxLEAST64
128
129 #define PRIxMAX
130 #define PRIxPTR
131
132 #define PRIX8
133 #define PRIX16
134 #define PRIX32
135 #define PRIX64
136
137 #define PRIXFAST8
138 #define PRIXFAST16
139 #define PRIXFAST32
140 #define PRIXFAST64
141
142 #define PRIXLEAST8
143 #define PRIXLEAST16
144 #define PRIXLEAST32
145 #define PRIXLEAST64
146
147 #define PRIXMAX
148 #define PRIXPTR
149
150 /* ----------------------------------------------------------------------------
151  * MACROS (SCAN)
152  * --------------------------------------------------------------------------*/
153
154 #define SCNd8
155 #define SCNd16
156 #define SCNd32
157 #define SCNd64
158
159 #define SCNdFAST8
160 #define SCNdFAST16
161 #define SCNdFAST32
162 #define SCNdFAST64
163
164 #define SCNdLEAST8
165 #define SCNdLEAST16
166 #define SCNdLEAST32
167 #define SCNdLEAST64
168
169 #define SCNdMAX
170 #define SCNdPTR
171
172 #define SCNi8
173 #define SCNi16
174 #define SCNi32
175 #define SCNi64
176
177 #define SCNiFAST8
178 #define SCNiFAST16
179 #define SCNiFAST32
180 #define SCNiFAST64
181
182 #define SCNiLEAST8
183 #define SCNiLEAST16
184 #define SCNiLEAST32
185 #define SCNiLEAST64
186
187 #define SCNiMAX
188 #define SCNiPTR
189
190 #define SCNo8
191 #define SCNo16
192 #define SCNo32
193 #define SCNo64
194
195 #define SCNoFAST8
196 #define SCNoFAST16
197 #define SCNoFAST32
198 #define SCNoFAST64
199
200 #define SCNoLEAST8
201 #define SCNoLEAST16
202 #define SCNoLEAST32
203 #define SCNoLEAST64
204
205 #define SCNoMAX
206 #define SCNoPTR
207
208 #define SCNu8
209 #define SCNu16
210 #define SCNu32
211 #define SCNu64
212
213 #define SCNuFAST8
214 #define SCNuFAST16
215 #define SCNuFAST32
216 #define SCNuFAST64
217
218 #define SCNuLEAST8
219 #define SCNuLEAST16
220 #define SCNuLEAST32
221 #define SCNuLEAST64
222
223 #define SCNuMAX
224 #define SCNuPTR
225
226 #define SCNx8
227 #define SCNx16
228 #define SCNx32
229 #define SCNx64
230
231 #define SCNxFAST8
232 #define SCNxFAST16
233 #define SCNxFAST32
234 #define SCNxFAST64
235
236 #define SCNxLEAST8
237 #define SCNxLEAST16
238 #define SCNxLEAST32
239 #define SCNxLEAST64
240
241 #define SCNxMAX
242 #define SCNxPTR
243
244 #define SCNX8
245 #define SCNX16
246 #define SCNX32
247 #define SCNX64
248
249 #define SCNXFAST8
250 #define SCNXFAST16
251 #define SCNXFAST32
252 #define SCNXFAST64
253
254 #define SCNXLEAST8
255 #define SCNXLEAST16
256 #define SCNXLEAST32
257 #define SCNXLEAST64
258
259 #define SCNXMAX
260 #define SCNXPTR
261
262 #endif /* _INTTYPES_H */