installer: Finish incomplete commit to merge nrelease/{installer,root}.
[dragonfly.git] / sys / cpu / amd64 / include / inttypes.h
1 /*-
2  * Copyright (c) 2001 The NetBSD Foundation, Inc.
3  * All rights reserved.
4  *
5  * This code is derived from software contributed to The NetBSD Foundation
6  * by Klaus Klein.
7  *
8  * Redistribution and use in source and binary forms, with or without
9  * modification, are permitted provided that the following conditions
10  * are met:
11  * 1. Redistributions of source code must retain the above copyright
12  *    notice, this list of conditions and the following disclaimer.
13  * 2. Redistributions in binary form must reproduce the above copyright
14  *    notice, this list of conditions and the following disclaimer in the
15  *    documentation and/or other materials provided with the distribution.
16  * 3. All advertising materials mentioning features or use of this software
17  *    must display the following acknowledgement:
18  *        This product includes software developed by the NetBSD
19  *        Foundation, Inc. and its contributors.
20  * 4. Neither the name of The NetBSD Foundation nor the names of its
21  *    contributors may be used to endorse or promote products derived
22  *    from this software without specific prior written permission.
23  *
24  * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
25  * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
26  * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
27  * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
28  * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
29  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
30  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
31  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
32  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
33  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
34  * POSSIBILITY OF SUCH DAMAGE.
35  *
36  *      From: $NetBSD: int_fmtio.h,v 1.2 2001/04/26 16:25:21 kleink Exp $
37  * $FreeBSD: src/sys/amd64/include/_inttypes.h,v 1.3 2003/05/01 01:05:23 peter Exp $
38  * $DragonFly: src/sys/cpu/amd64/include/inttypes.h,v 1.1 2007/08/21 19:40:24 corecode Exp $
39  */
40
41 #ifndef _CPU_INTTYPES_H_
42 #define _CPU_INTTYPES_H_
43
44 /*
45  * Macros for format specifiers.
46  */
47
48 /* fprintf(3) macros for signed integers. */
49
50 #define PRId8           "d"     /* int8_t */
51 #define PRId16          "d"     /* int16_t */
52 #define PRId32          "d"     /* int32_t */
53 #define PRIdLEAST8      "d"     /* int_least8_t */
54 #define PRIdLEAST16     "d"     /* int_least16_t */
55 #define PRIdLEAST32     "d"     /* int_least32_t */
56 #define PRIdFAST8       "d"     /* int_fast8_t */
57 #define PRIdFAST16      "d"     /* int_fast16_t */
58 #define PRIdFAST32      "d"     /* int_fast32_t */
59 #define PRIdMAX         "jd"    /* intmax_t */
60 #define PRIdPTR         "ld"    /* intptr_t */
61 #if defined(__amd64__)
62 #define PRId64          "ld"    /* int64_t */
63 #define PRIdLEAST64     "ld"    /* int_least64_t */
64 #define PRIdFAST64      "ld"    /* int_fast64_t */
65 #else
66 #define PRId64          "lld"   /* int64_t */
67 #define PRIdLEAST64     "lld"   /* int_least64_t */
68 #define PRIdFAST64      "lld"   /* int_fast64_t */
69 #endif
70
71 #define PRIi8           "i"     /* int8_t */
72 #define PRIi16          "i"     /* int16_t */
73 #define PRIi32          "i"     /* int32_t */
74 #define PRIiLEAST8      "i"     /* int_least8_t  */
75 #define PRIiLEAST16     "i"     /* int_least16_t */
76 #define PRIiLEAST32     "i"     /* int_least32_t */
77 #define PRIiFAST8       "i"     /* int_fast8_t */
78 #define PRIiFAST16      "i"     /* int_fast16_t */
79 #define PRIiFAST32      "i"     /* int_fast32_t */
80 #define PRIiMAX         "ji"    /* intmax_t */
81 #define PRIiPTR         "li"    /* intptr_t */
82
83 #if defined(__amd64__)
84 #define PRIi64          "li"    /* int64_t */
85 #define PRIiLEAST64     "li"    /* int_least64_t */
86 #define PRIiFAST64      "li"    /* int_fast64_t */
87 #else
88 #define PRIi64          "lli"   /* int64_t */
89 #define PRIiLEAST64     "lli"   /* int_least64_t */
90 #define PRIiFAST64      "lli"   /* int_fast64_t */
91 #endif
92
93 /* fprintf(3) macros for unsigned integers. */
94
95 #define PRIo8           "o"     /* uint8_t */
96 #define PRIo16          "o"     /* uint16_t */
97 #define PRIo32          "o"     /* uint32_t */
98 #define PRIoLEAST8      "o"     /* uint_least8_t */
99 #define PRIoLEAST16     "o"     /* uint_least16_t */
100 #define PRIoLEAST32     "o"     /* uint_least32_t */
101 #define PRIoFAST8       "o"     /* uint_fast8_t */
102 #define PRIoFAST16      "o"     /* uint_fast16_t */
103 #define PRIoFAST32      "o"     /* uint_fast32_t */
104 #define PRIoMAX         "jo"    /* uintmax_t */
105 #define PRIoPTR         "lo"    /* uintptr_t */
106
107 #if defined(__amd64__)
108 #define PRIo64          "lo"    /* uint64_t */
109 #define PRIoLEAST64     "lo"    /* uint_least64_t */
110 #define PRIoFAST64      "lo"    /* uint_fast64_t */
111 #else
112 #define PRIo64          "llo"   /* uint64_t */
113 #define PRIoLEAST64     "llo"   /* uint_least64_t */
114 #define PRIoFAST64      "llo"   /* uint_fast64_t */
115 #endif
116
117 #define PRIu8           "u"     /* uint8_t */
118 #define PRIu16          "u"     /* uint16_t */
119 #define PRIu32          "u"     /* uint32_t */
120 #define PRIuLEAST8      "u"     /* uint_least8_t */
121 #define PRIuLEAST16     "u"     /* uint_least16_t */
122 #define PRIuLEAST32     "u"     /* uint_least32_t */
123 #define PRIuFAST8       "u"     /* uint_fast8_t */
124 #define PRIuFAST16      "u"     /* uint_fast16_t */
125 #define PRIuFAST32      "u"     /* uint_fast32_t */
126 #define PRIuMAX         "ju"    /* uintmax_t */
127 #define PRIuPTR         "lu"    /* uintptr_t */
128
129 #if defined(__amd64__)
130 #define PRIu64          "lu"    /* uint64_t */
131 #define PRIuLEAST64     "lu"    /* uint_least64_t */
132 #define PRIuFAST64      "lu"    /* uint_fast64_t */
133 #else
134 #define PRIu64          "llu"   /* uint64_t */
135 #define PRIuLEAST64     "llu"   /* uint_least64_t */
136 #define PRIuFAST64      "llu"   /* uint_fast64_t */
137 #endif
138
139 #define PRIx8           "x"     /* uint8_t */
140 #define PRIx16          "x"     /* uint16_t */
141 #define PRIx32          "x"     /* uint32_t */
142 #define PRIxLEAST8      "x"     /* uint_least8_t */
143 #define PRIxLEAST16     "x"     /* uint_least16_t */
144 #define PRIxLEAST32     "x"     /* uint_least32_t */
145 #define PRIxFAST8       "x"     /* uint_fast8_t */
146 #define PRIxFAST16      "x"     /* uint_fast16_t */
147 #define PRIxFAST32      "x"     /* uint_fast32_t */
148 #define PRIxMAX         "jx"    /* uintmax_t */
149 #define PRIxPTR         "lx"    /* uintptr_t */
150
151 #if defined(__amd64__)
152 #define PRIx64          "lx"    /* uint64_t */
153 #define PRIxLEAST64     "lx"    /* uint_least64_t */
154 #define PRIxFAST64      "lx"    /* uint_fast64_t */
155 #else
156 #define PRIx64          "llx"   /* uint64_t */
157 #define PRIxLEAST64     "llx"   /* uint_least64_t */
158 #define PRIxFAST64      "llx"   /* uint_fast64_t */
159 #endif
160
161 #define PRIX8           "X"     /* uint8_t */
162 #define PRIX16          "X"     /* uint16_t */
163 #define PRIX32          "X"     /* uint32_t */
164 #define PRIXLEAST8      "X"     /* uint_least8_t */
165 #define PRIXLEAST16     "X"     /* uint_least16_t */
166 #define PRIXLEAST32     "X"     /* uint_least32_t */
167 #define PRIXFAST8       "X"     /* uint_fast8_t */
168 #define PRIXFAST16      "X"     /* uint_fast16_t */
169 #define PRIXFAST32      "X"     /* uint_fast32_t */
170 #define PRIXMAX         "jX"    /* uintmax_t */
171 #define PRIXPTR         "lX"    /* uintptr_t */
172
173 #if defined(__amd64__)
174 #define PRIX64          "lX"    /* uint64_t */
175 #define PRIXLEAST64     "lX"    /* uint_least64_t */
176 #define PRIXFAST64      "lX"    /* uint_fast64_t */
177 #else
178 #define PRIX64          "llX"   /* uint64_t */
179 #define PRIXLEAST64     "llX"   /* uint_least64_t */
180 #define PRIXFAST64      "llX"   /* uint_fast64_t */
181 #endif
182
183 /* fscanf(3) macros for signed integers. */
184
185 #define SCNd8           "hhd"   /* int8_t */
186 #define SCNd16          "hd"    /* int16_t */
187 #define SCNd32          "d"     /* int32_t */
188 #define SCNdLEAST8      "hhd"   /* int_least8_t */
189 #define SCNdLEAST16     "hd"    /* int_least16_t */
190 #define SCNdLEAST32     "d"     /* int_least32_t */
191 #define SCNdFAST8       "d"     /* int_fast8_t */
192 #define SCNdFAST16      "d"     /* int_fast16_t */
193 #define SCNdFAST32      "d"     /* int_fast32_t */
194 #define SCNdMAX         "jd"    /* intmax_t */
195 #define SCNdPTR         "ld"    /* intptr_t */
196 #if defined(__amd64__)
197 #define SCNd64          "ld"    /* int64_t */
198 #define SCNdLEAST64     "ld"    /* int_least64_t */
199 #define SCNdFAST64      "ld"    /* int_fast64_t */
200 #else
201 #define SCNd64          "lld"   /* int64_t */
202 #define SCNdLEAST64     "lld"   /* int_least64_t */
203 #define SCNdFAST64      "lld"   /* int_fast64_t */
204 #endif
205
206 #define SCNi8           "hhi"   /* int8_t */
207 #define SCNi16          "hi"    /* int16_t */
208 #define SCNi32          "i"     /* int32_t */
209 #define SCNiLEAST8      "hhi"   /* int_least8_t */
210 #define SCNiLEAST16     "hi"    /* int_least16_t */
211 #define SCNiLEAST32     "i"     /* int_least32_t */
212 #define SCNiFAST8       "i"     /* int_fast8_t */
213 #define SCNiFAST16      "i"     /* int_fast16_t */
214 #define SCNiFAST32      "i"     /* int_fast32_t */
215 #define SCNiMAX         "ji"    /* intmax_t */
216 #define SCNiPTR         "li"    /* intptr_t */
217
218 #if defined(__amd64__)
219 #define SCNi64          "li"    /* int64_t */
220 #define SCNiLEAST64     "li"    /* int_least64_t */
221 #define SCNiFAST64      "li"    /* int_fast64_t */
222 #else
223 #define SCNi64          "lli"   /* int64_t */
224 #define SCNiLEAST64     "lli"   /* int_least64_t */
225 #define SCNiFAST64      "lli"   /* int_fast64_t */
226 #endif
227
228 /* fscanf(3) macros for unsigned integers. */
229
230 #define SCNo8           "hho"   /* uint8_t */
231 #define SCNo16          "ho"    /* uint16_t */
232 #define SCNo32          "o"     /* uint32_t */
233 #define SCNoLEAST8      "hho"   /* uint_least8_t */
234 #define SCNoLEAST16     "ho"    /* uint_least16_t */
235 #define SCNoLEAST32     "o"     /* uint_least32_t */
236 #define SCNoFAST8       "o"     /* uint_fast8_t */
237 #define SCNoFAST16      "o"     /* uint_fast16_t */
238 #define SCNoFAST32      "o"     /* uint_fast32_t */
239 #define SCNoMAX         "jo"    /* uintmax_t */
240 #define SCNoPTR         "lo"    /* uintptr_t */
241
242 #if defined(__amd64__)
243 #define SCNo64          "lo"    /* uint64_t */
244 #define SCNoLEAST64     "lo"    /* uint_least64_t */
245 #define SCNoFAST64      "lo"    /* uint_fast64_t */
246 #else
247 #define SCNo64          "llo"   /* uint64_t */
248 #define SCNoLEAST64     "llo"   /* uint_least64_t */
249 #define SCNoFAST64      "llo"   /* uint_fast64_t */
250 #endif
251
252 #define SCNu8           "hhu"   /* uint8_t */
253 #define SCNu16          "hu"    /* uint16_t */
254 #define SCNu32          "u"     /* uint32_t */
255 #define SCNuLEAST8      "hhu"   /* uint_least8_t */
256 #define SCNuLEAST16     "hu"    /* uint_least16_t */
257 #define SCNuLEAST32     "u"     /* uint_least32_t */
258 #define SCNuFAST8       "u"     /* uint_fast8_t */
259 #define SCNuFAST16      "u"     /* uint_fast16_t */
260 #define SCNuFAST32      "u"     /* uint_fast32_t */
261 #define SCNuMAX         "ju"    /* uintmax_t */
262 #define SCNuPTR         "lu"    /* uintptr_t */
263
264 #if defined(__amd64__)
265 #define SCNu64          "lu"    /* uint64_t */
266 #define SCNuLEAST64     "lu"    /* uint_least64_t */
267 #define SCNuFAST64      "lu"    /* uint_fast64_t */
268 #else
269 #define SCNu64          "llu"   /* uint64_t */
270 #define SCNuLEAST64     "llu"   /* uint_least64_t */
271 #define SCNuFAST64      "llu"   /* uint_fast64_t */
272 #endif
273
274 #define SCNx8           "hhx"   /* uint8_t */
275 #define SCNx16          "hx"    /* uint16_t */
276 #define SCNx32          "x"     /* uint32_t */
277 #define SCNxLEAST8      "hhx"   /* uint_least8_t */
278 #define SCNxLEAST16     "hx"    /* uint_least16_t */
279 #define SCNxLEAST32     "x"     /* uint_least32_t */
280 #define SCNxFAST8       "x"     /* uint_fast8_t */
281 #define SCNxFAST16      "x"     /* uint_fast16_t */
282 #define SCNxFAST32      "x"     /* uint_fast32_t */
283 #define SCNxMAX         "jx"    /* uintmax_t */
284 #define SCNxPTR         "lx"    /* uintptr_t */
285
286 #if defined(__amd64__)
287 #define SCNx64          "lx"    /* uint64_t */
288 #define SCNxLEAST64     "lx"    /* uint_least64_t */
289 #define SCNxFAST64      "lx"    /* uint_fast64_t */
290 #else
291 #define SCNx64          "llx"   /* uint64_t */
292 #define SCNxLEAST64     "llx"   /* uint_least64_t */
293 #define SCNxFAST64      "llx"   /* uint_fast64_t */
294 #endif
295
296 #endif /* !_CPU_INTTYPES_H_ */