Merge from vendor branch GDB:
[dragonfly.git] / sys / i386 / 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/i386/include/_inttypes.h,v 1.2 2002/06/30 05:48:02 mike Exp $
38  * $DragonFly: src/sys/i386/include/Attic/inttypes.h,v 1.1 2003/11/09 02:22:35 dillon Exp $
39  */
40
41 #ifndef _MACHINE_INTTYPES_H_
42 #define _MACHINE_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 PRId64          "lld"   /* int64_t */
54 #define PRIdLEAST8      "d"     /* int_least8_t */
55 #define PRIdLEAST16     "d"     /* int_least16_t */
56 #define PRIdLEAST32     "d"     /* int_least32_t */
57 #define PRIdLEAST64     "lld"   /* int_least64_t */
58 #define PRIdFAST8       "d"     /* int_fast8_t */
59 #define PRIdFAST16      "d"     /* int_fast16_t */
60 #define PRIdFAST32      "d"     /* int_fast32_t */
61 #define PRIdFAST64      "lld"   /* int_fast64_t */
62 #define PRIdMAX         "jd"    /* intmax_t */
63 #define PRIdPTR         "d"     /* intptr_t */
64
65 #define PRIi8           "i"     /* int8_t */
66 #define PRIi16          "i"     /* int16_t */
67 #define PRIi32          "i"     /* int32_t */
68 #define PRIi64          "lli"   /* int64_t */
69 #define PRIiLEAST8      "i"     /* int_least8_t  */
70 #define PRIiLEAST16     "i"     /* int_least16_t */
71 #define PRIiLEAST32     "i"     /* int_least32_t */
72 #define PRIiLEAST64     "lli"   /* int_least64_t */
73 #define PRIiFAST8       "i"     /* int_fast8_t */
74 #define PRIiFAST16      "i"     /* int_fast16_t */
75 #define PRIiFAST32      "i"     /* int_fast32_t */
76 #define PRIiFAST64      "lli"   /* int_fast64_t */
77 #define PRIiMAX         "ji"    /* intmax_t */
78 #define PRIiPTR         "i"     /* intptr_t */
79
80 /* fprintf(3) macros for unsigned integers. */
81
82 #define PRIo8           "o"     /* uint8_t */
83 #define PRIo16          "o"     /* uint16_t */
84 #define PRIo32          "o"     /* uint32_t */
85 #define PRIo64          "llo"   /* uint64_t */
86 #define PRIoLEAST8      "o"     /* uint_least8_t */
87 #define PRIoLEAST16     "o"     /* uint_least16_t */
88 #define PRIoLEAST32     "o"     /* uint_least32_t */
89 #define PRIoLEAST64     "llo"   /* uint_least64_t */
90 #define PRIoFAST8       "o"     /* uint_fast8_t */
91 #define PRIoFAST16      "o"     /* uint_fast16_t */
92 #define PRIoFAST32      "o"     /* uint_fast32_t */
93 #define PRIoFAST64      "llo"   /* uint_fast64_t */
94 #define PRIoMAX         "jo"    /* uintmax_t */
95 #define PRIoPTR         "o"     /* uintptr_t */
96
97 #define PRIu8           "u"     /* uint8_t */
98 #define PRIu16          "u"     /* uint16_t */
99 #define PRIu32          "u"     /* uint32_t */
100 #define PRIu64          "llu"   /* uint64_t */
101 #define PRIuLEAST8      "u"     /* uint_least8_t */
102 #define PRIuLEAST16     "u"     /* uint_least16_t */
103 #define PRIuLEAST32     "u"     /* uint_least32_t */
104 #define PRIuLEAST64     "llu"   /* uint_least64_t */
105 #define PRIuFAST8       "u"     /* uint_fast8_t */
106 #define PRIuFAST16      "u"     /* uint_fast16_t */
107 #define PRIuFAST32      "u"     /* uint_fast32_t */
108 #define PRIuFAST64      "llu"   /* uint_fast64_t */
109 #define PRIuMAX         "ju"    /* uintmax_t */
110 #define PRIuPTR         "u"     /* uintptr_t */
111
112 #define PRIx8           "x"     /* uint8_t */
113 #define PRIx16          "x"     /* uint16_t */
114 #define PRIx32          "x"     /* uint32_t */
115 #define PRIx64          "llx"   /* uint64_t */
116 #define PRIxLEAST8      "x"     /* uint_least8_t */
117 #define PRIxLEAST16     "x"     /* uint_least16_t */
118 #define PRIxLEAST32     "x"     /* uint_least32_t */
119 #define PRIxLEAST64     "llx"   /* uint_least64_t */
120 #define PRIxFAST8       "x"     /* uint_fast8_t */
121 #define PRIxFAST16      "x"     /* uint_fast16_t */
122 #define PRIxFAST32      "x"     /* uint_fast32_t */
123 #define PRIxFAST64      "llx"   /* uint_fast64_t */
124 #define PRIxMAX         "jx"    /* uintmax_t */
125 #define PRIxPTR         "x"     /* uintptr_t */
126
127 #define PRIX8           "X"     /* uint8_t */
128 #define PRIX16          "X"     /* uint16_t */
129 #define PRIX32          "X"     /* uint32_t */
130 #define PRIX64          "llX"   /* uint64_t */
131 #define PRIXLEAST8      "X"     /* uint_least8_t */
132 #define PRIXLEAST16     "X"     /* uint_least16_t */
133 #define PRIXLEAST32     "X"     /* uint_least32_t */
134 #define PRIXLEAST64     "llX"   /* uint_least64_t */
135 #define PRIXFAST8       "X"     /* uint_fast8_t */
136 #define PRIXFAST16      "X"     /* uint_fast16_t */
137 #define PRIXFAST32      "X"     /* uint_fast32_t */
138 #define PRIXFAST64      "llX"   /* uint_fast64_t */
139 #define PRIXMAX         "jX"    /* uintmax_t */
140 #define PRIXPTR         "X"     /* uintptr_t */
141
142 /* fscanf(3) macros for signed integers. */
143
144 #define SCNd8           "hhd"   /* int8_t */
145 #define SCNd16          "hd"    /* int16_t */
146 #define SCNd32          "d"     /* int32_t */
147 #define SCNd64          "lld"   /* int64_t */
148 #define SCNdLEAST8      "hhd"   /* int_least8_t */
149 #define SCNdLEAST16     "hd"    /* int_least16_t */
150 #define SCNdLEAST32     "d"     /* int_least32_t */
151 #define SCNdLEAST64     "lld"   /* int_least64_t */
152 #define SCNdFAST8       "d"     /* int_fast8_t */
153 #define SCNdFAST16      "d"     /* int_fast16_t */
154 #define SCNdFAST32      "d"     /* int_fast32_t */
155 #define SCNdFAST64      "lld"   /* int_fast64_t */
156 #define SCNdMAX         "jd"    /* intmax_t */
157 #define SCNdPTR         "d"     /* intptr_t */
158
159 #define SCNi8           "hhi"   /* int8_t */
160 #define SCNi16          "hi"    /* int16_t */
161 #define SCNi32          "i"     /* int32_t */
162 #define SCNi64          "lli"   /* int64_t */
163 #define SCNiLEAST8      "hhi"   /* int_least8_t */
164 #define SCNiLEAST16     "hi"    /* int_least16_t */
165 #define SCNiLEAST32     "i"     /* int_least32_t */
166 #define SCNiLEAST64     "lli"   /* int_least64_t */
167 #define SCNiFAST8       "i"     /* int_fast8_t */
168 #define SCNiFAST16      "i"     /* int_fast16_t */
169 #define SCNiFAST32      "i"     /* int_fast32_t */
170 #define SCNiFAST64      "lli"   /* int_fast64_t */
171 #define SCNiMAX         "ji"    /* intmax_t */
172 #define SCNiPTR         "i"     /* intptr_t */
173
174 /* fscanf(3) macros for unsigned integers. */
175
176 #define SCNo8           "hho"   /* uint8_t */
177 #define SCNo16          "ho"    /* uint16_t */
178 #define SCNo32          "o"     /* uint32_t */
179 #define SCNo64          "llo"   /* uint64_t */
180 #define SCNoLEAST8      "hho"   /* uint_least8_t */
181 #define SCNoLEAST16     "ho"    /* uint_least16_t */
182 #define SCNoLEAST32     "o"     /* uint_least32_t */
183 #define SCNoLEAST64     "llo"   /* uint_least64_t */
184 #define SCNoFAST8       "o"     /* uint_fast8_t */
185 #define SCNoFAST16      "o"     /* uint_fast16_t */
186 #define SCNoFAST32      "o"     /* uint_fast32_t */
187 #define SCNoFAST64      "llo"   /* uint_fast64_t */
188 #define SCNoMAX         "jo"    /* uintmax_t */
189 #define SCNoPTR         "o"     /* uintptr_t */
190
191 #define SCNu8           "hhu"   /* uint8_t */
192 #define SCNu16          "hu"    /* uint16_t */
193 #define SCNu32          "u"     /* uint32_t */
194 #define SCNu64          "llu"   /* uint64_t */
195 #define SCNuLEAST8      "hhu"   /* uint_least8_t */
196 #define SCNuLEAST16     "hu"    /* uint_least16_t */
197 #define SCNuLEAST32     "u"     /* uint_least32_t */
198 #define SCNuLEAST64     "llu"   /* uint_least64_t */
199 #define SCNuFAST8       "u"     /* uint_fast8_t */
200 #define SCNuFAST16      "u"     /* uint_fast16_t */
201 #define SCNuFAST32      "u"     /* uint_fast32_t */
202 #define SCNuFAST64      "llu"   /* uint_fast64_t */
203 #define SCNuMAX         "ju"    /* uintmax_t */
204 #define SCNuPTR         "u"     /* uintptr_t */
205
206 #define SCNx8           "hhx"   /* uint8_t */
207 #define SCNx16          "hx"    /* uint16_t */
208 #define SCNx32          "x"     /* uint32_t */
209 #define SCNx64          "llx"   /* uint64_t */
210 #define SCNxLEAST8      "hhx"   /* uint_least8_t */
211 #define SCNxLEAST16     "hx"    /* uint_least16_t */
212 #define SCNxLEAST32     "x"     /* uint_least32_t */
213 #define SCNxLEAST64     "llx"   /* uint_least64_t */
214 #define SCNxFAST8       "x"     /* uint_fast8_t */
215 #define SCNxFAST16      "x"     /* uint_fast16_t */
216 #define SCNxFAST32      "x"     /* uint_fast32_t */
217 #define SCNxFAST64      "llx"   /* uint_fast64_t */
218 #define SCNxMAX         "jx"    /* uintmax_t */
219 #define SCNxPTR         "x"     /* uintptr_t */
220
221 #endif /* !_MACHINE_INTTYPES_H_ */