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