chiark / gitweb /
[PATCH] klibc: version 1.0.3
[elogind.git] / klibc / include / inttypes.h
1 /*
2  * inttypes.h
3  */
4
5 #ifndef _INTTYPES_H
6 #define _INTTYPES_H
7
8 #include <klibc/extern.h>
9 #include <stdint.h>
10 #include <stddef.h>
11
12 static __inline__ intmax_t imaxabs(intmax_t __n)
13 {
14   return (__n < (intmax_t)0) ? -__n : __n;
15 }
16
17 __extern intmax_t strtoimax(const char *, char **, int);
18 __extern uintmax_t strtoumax(const char *, char **, int);
19
20 /* extensions */
21 __extern intmax_t strntoimax(const char *, char **, int, size_t);
22 __extern uintmax_t strntoumax(const char *, char **, int, size_t);
23
24 #if !defined(__cplusplus) || defined(__STDC_FORMAT_MACROS)
25
26 #define PRId8   "d"
27 #define PRId16  "d"
28 #define PRId32  "d"
29 #define PRId64  __PRI64_RANK "d"
30
31 #define PRIdLEAST8      "d"
32 #define PRIdLEAST16     "d"
33 #define PRIdLEAST32     "d"
34 #define PRIdLEAST64     __PRI64_RANK "d"
35
36 #define PRIdFAST8       "d"
37 #define PRIdFAST16      __PRIFAST_RANK "d"
38 #define PRIdFAST32      __PRIFAST_RANK "d"
39 #define PRIdFAST64      __PRI64_RANK "d"
40
41 #define PRIdMAX  __PRI64_RANK "d"
42 #define PRIdPTR  __PRIPTR_RANK "d"
43
44 #define PRIi8   "i"
45 #define PRIi16  "i"
46 #define PRIi32  "i"
47 #define PRIi64  __PRI64_RANK "i"
48
49 #define PRIiLEAST8      "i"
50 #define PRIiLEAST16     "i"
51 #define PRIiLEAST32     "i"
52 #define PRIiLEAST64     __PRI64_RANK "i"
53
54 #define PRIiFAST8       "i"
55 #define PRIiFAST16      __PRIFAST_RANK "i"
56 #define PRIiFAST32      __PRIFAST_RANK "i"
57 #define PRIiFAST64      __PRI64_RANK "i"
58
59 #define PRIiMAX  __PRI64_RANK "i"
60 #define PRIiPTR  __PRIPTR_RANK "i"
61
62 #define PRIo8   "o"
63 #define PRIo16  "o"
64 #define PRIo32  "o"
65 #define PRIo64  __PRI64_RANK "o"
66
67 #define PRIoLEAST8      "o"
68 #define PRIoLEAST16     "o"
69 #define PRIoLEAST32     "o"
70 #define PRIoLEAST64     __PRI64_RANK "o"
71
72 #define PRIoFAST8       "o"
73 #define PRIoFAST16      __PRIFAST_RANK "o"
74 #define PRIoFAST32      __PRIFAST_RANK "o"
75 #define PRIoFAST64      __PRI64_RANK "o"
76
77 #define PRIoMAX  __PRI64_RANK "o"
78 #define PRIoPTR  __PRIPTR_RANK "o"
79
80 #define PRIu8   "u"
81 #define PRIu16  "u"
82 #define PRIu32  "u"
83 #define PRIu64  __PRI64_RANK "u"
84
85 #define PRIuLEAST8      "u"
86 #define PRIuLEAST16     "u"
87 #define PRIuLEAST32     "u"
88 #define PRIuLEAST64     __PRI64_RANK "u"
89
90 #define PRIuFAST8       "u"
91 #define PRIuFAST16      __PRIFAST_RANK "u"
92 #define PRIuFAST32      __PRIFAST_RANK "u"
93 #define PRIuFAST64      __PRI64_RANK "u"
94
95 #define PRIuMAX  __PRI64_RANK "u"
96 #define PRIuPTR  __PRIPTR_RANK "u"
97
98 #define PRIx8   "x"
99 #define PRIx16  "x"
100 #define PRIx32  "x"
101 #define PRIx64  __PRI64_RANK "x"
102
103 #define PRIxLEAST8      "x"
104 #define PRIxLEAST16     "x"
105 #define PRIxLEAST32     "x"
106 #define PRIxLEAST64     __PRI64_RANK "x"
107
108 #define PRIxFAST8       "x"
109 #define PRIxFAST16      __PRIFAST_RANK "x"
110 #define PRIxFAST32      __PRIFAST_RANK "x"
111 #define PRIxFAST64      __PRI64_RANK "x"
112
113 #define PRIxMAX  __PRI64_RANK "x"
114 #define PRIxPTR  __PRIPTR_RANK "x"
115
116 #define PRIX8   "X"
117 #define PRIX16  "X"
118 #define PRIX32  "X"
119 #define PRIX64  __PRI64_RANK "X"
120
121 #define PRIXLEAST8      "X"
122 #define PRIXLEAST16     "X"
123 #define PRIXLEAST32     "X"
124 #define PRIXLEAST64     __PRI64_RANK "X"
125
126 #define PRIXFAST8       "X"
127 #define PRIXFAST16      __PRIFAST_RANK "X"
128 #define PRIXFAST32      __PRIFAST_RANK "X"
129 #define PRIXFAST64      __PRI64_RANK "X"
130
131 #define PRIXMAX  __PRI64_RANK "X"
132 #define PRIXPTR  __PRIPTR_RANK "X"
133
134 #define SCNd8   "hhd"
135 #define SCNd16  "hd"
136 #define SCNd32  "d"
137 #define SCNd64  __PRI64_RANK "d"
138
139 #define SCNdLEAST8      "hhd"
140 #define SCNdLEAST16     "hd"
141 #define SCNdLEAST32     "d"
142 #define SCNdLEAST64     __PRI64_RANK "d"
143
144 #define SCNdFAST8       "hhd"
145 #define SCNdFAST16      __PRIFAST_RANK "d"
146 #define SCNdFAST32      __PRIFAST_RANK "d"
147 #define SCNdFAST64      __PRI64_RANK "d"
148
149 #define SCNdMAX  __PRI64_RANK "d"
150 #define SCNdPTR  __PRIPTR_RANK "d"
151
152 #define SCNi8   "hhi"
153 #define SCNi16  "hi"
154 #define SCNi32  "i"
155 #define SCNi64  __PRI64_RANK "i"
156
157 #define SCNiLEAST8      "hhi"
158 #define SCNiLEAST16     "hi"
159 #define SCNiLEAST32     "i"
160 #define SCNiLEAST64     __PRI64_RANK "i"
161
162 #define SCNiFAST8       "hhi"
163 #define SCNiFAST16      __PRIFAST_RANK "i"
164 #define SCNiFAST32      __PRIFAST_RANK "i"
165 #define SCNiFAST64      __PRI64_RANK "i"
166
167 #define SCNiMAX  __PRI64_RANK "i"
168 #define SCNiPTR  __PRIPTR_RANK "i"
169
170 #define SCNo8   "hho"
171 #define SCNo16  "ho"
172 #define SCNo32  "o"
173 #define SCNo64  __PRI64_RANK "o"
174
175 #define SCNoLEAST8      "hho"
176 #define SCNoLEAST16     "ho"
177 #define SCNoLEAST32     "o"
178 #define SCNoLEAST64     __PRI64_RANK "o"
179
180 #define SCNoFAST8       "hho"
181 #define SCNoFAST16      __PRIFAST_RANK "o"
182 #define SCNoFAST32      __PRIFAST_RANK "o"
183 #define SCNoFAST64      __PRI64_RANK "o"
184
185 #define SCNoMAX  __PRI64_RANK "o"
186 #define SCNoPTR  __PRIPTR_RANK "o"
187
188 #define SCNu8   "hhu"
189 #define SCNu16  "hu"
190 #define SCNu32  "u"
191 #define SCNu64  __PRI64_RANK "u"
192
193 #define SCNuLEAST8      "hhu"
194 #define SCNuLEAST16     "hu"
195 #define SCNuLEAST32     "u"
196 #define SCNuLEAST64     __PRI64_RANK "u"
197
198 #define SCNuFAST8       "hhu"
199 #define SCNuFAST16      __PRIFAST_RANK "u"
200 #define SCNuFAST32      __PRIFAST_RANK "u"
201 #define SCNuFAST64      __PRI64_RANK "u"
202
203 #define SCNuMAX  __PRI64_RANK "u"
204 #define SCNuPTR  __PRIPTR_RANK "u"
205
206 #define SCNx8   "hhx"
207 #define SCNx16  "hx"
208 #define SCNx32  "x"
209 #define SCNx64  __PRI64_RANK "x"
210
211 #define SCNxLEAST8      "hhx"
212 #define SCNxLEAST16     "hx"
213 #define SCNxLEAST32     "x"
214 #define SCNxLEAST64     __PRI64_RANK "x"
215
216 #define SCNxFAST8       "hhx"
217 #define SCNxFAST16      __PRIFAST_RANK "x"
218 #define SCNxFAST32      __PRIFAST_RANK "x"
219 #define SCNxFAST64      __PRI64_RANK "x"
220
221 #define SCNxMAX  __PRI64_RANK "x"
222 #define SCNxPTR  __PRIPTR_RANK "x"
223
224 #endif
225
226 #endif /* _INTTYPES_H */