• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 
imaxabs(intmax_t __n)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 */
227