Project

General

Profile

Statistics
| Revision:

root / lab4 / .minix-src / include / sys / common_int_fmtio.h @ 14

History | View | Annotate | Download (7.96 KB)

1
/*        $NetBSD: common_int_fmtio.h,v 1.1 2014/07/25 21:43:13 joerg Exp $        */
2

    
3
/*-
4
 * Copyright (c) 2014 The NetBSD Foundation, Inc.
5
 * All rights reserved.
6
 *
7
 * This code is derived from software contributed to The NetBSD Foundation
8
 * by Joerg Sonnenberger.
9
 *
10
 * Redistribution and use in source and binary forms, with or without
11
 * modification, are permitted provided that the following conditions
12
 * are met:
13
 * 1. Redistributions of source code must retain the above copyright
14
 *    notice, this list of conditions and the following disclaimer.
15
 * 2. Redistributions in binary form must reproduce the above copyright
16
 *    notice, this list of conditions and the following disclaimer in the
17
 *    documentation and/or other materials provided with the distribution.
18
 *
19
 * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
20
 * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
21
 * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
22
 * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
23
 * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
24
 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
25
 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
26
 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
27
 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
28
 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
29
 * POSSIBILITY OF SUCH DAMAGE.
30
 */
31

    
32
#ifndef _SYS_COMMON_INT_FMTIO_H_
33
#define _SYS_COMMON_INT_FMTIO_H_
34

    
35
#ifndef __INTPTR_FMTd__
36
#error Your compiler does not provide format string macros.
37
#endif
38

    
39
/*
40
 * 7.8.1 Macros for format specifiers
41
 */
42

    
43
/* fprintf macros for signed integers */
44
#define        PRId8                __INT8_FMTd__
45
#define        PRId16                __INT16_FMTd__
46
#define        PRId32                __INT32_FMTd__
47
#define        PRId64                __INT64_FMTd__
48
#define        PRIdLEAST8        __INT_LEAST8_FMTd__
49
#define        PRIdLEAST16        __INT_LEAST16_FMTd__
50
#define        PRIdLEAST32        __INT_LEAST32_FMTd__
51
#define        PRIdLEAST64        __INT_LEAST64_FMTd__
52
#define        PRIdFAST8        __INT_FAST8_FMTd__
53
#define        PRIdFAST16        __INT_FAST16_FMTd__
54
#define        PRIdFAST32        __INT_FAST32_FMTd__
55
#define        PRIdFAST64        __INT_FAST64_FMTd__
56
#define        PRIdMAX                __INTMAX_FMTd__
57
#define        PRIdPTR                __INTPTR_FMTd__
58

    
59
#define        PRIi8                __INT8_FMTi__
60
#define        PRIi16                __INT16_FMTi__
61
#define        PRIi32                __INT32_FMTi__
62
#define        PRIi64                __INT64_FMTi__
63
#define        PRIiLEAST8        __INT_LEAST8_FMTi__
64
#define        PRIiLEAST16        __INT_LEAST16_FMTi__
65
#define        PRIiLEAST32        __INT_LEAST32_FMTi__
66
#define        PRIiLEAST64        __INT_LEAST64_FMTi__
67
#define        PRIiFAST8        __INT_FAST8_FMTi__
68
#define        PRIiFAST16        __INT_FAST16_FMTi__
69
#define        PRIiFAST32        __INT_FAST32_FMTi__
70
#define        PRIiFAST64        __INT_FAST64_FMTi__
71
#define        PRIiMAX                __INTMAX_FMTi__
72
#define        PRIiPTR                __INTPTR_FMTi__
73

    
74
/* fprintf macros for unsigned integers */
75

    
76
#define        PRIo8                __UINT8_FMTo__
77
#define        PRIo16                __UINT16_FMTo__
78
#define        PRIo32                __UINT32_FMTo__
79
#define        PRIo64                __UINT64_FMTo__
80
#define        PRIoLEAST8        __UINT_LEAST8_FMTo__
81
#define        PRIoLEAST16        __UINT_LEAST16_FMTo__
82
#define        PRIoLEAST32        __UINT_LEAST32_FMTo__
83
#define        PRIoLEAST64        __UINT_LEAST64_FMTo__
84
#define        PRIoFAST8        __UINT_FAST8_FMTo__
85
#define        PRIoFAST16        __UINT_FAST16_FMTo__
86
#define        PRIoFAST32        __UINT_FAST32_FMTo__
87
#define        PRIoFAST64        __UINT_FAST64_FMTo__
88
#define        PRIoMAX                __UINTMAX_FMTo__
89
#define        PRIoPTR                __UINTPTR_FMTo__
90

    
91
#define        PRIu8                __UINT8_FMTu__
92
#define        PRIu16                __UINT16_FMTu__
93
#define        PRIu32                __UINT32_FMTu__
94
#define        PRIu64                __UINT64_FMTu__
95
#define        PRIuLEAST8        __UINT_LEAST8_FMTu__
96
#define        PRIuLEAST16        __UINT_LEAST16_FMTu__
97
#define        PRIuLEAST32        __UINT_LEAST32_FMTu__
98
#define        PRIuLEAST64        __UINT_LEAST64_FMTu__
99
#define        PRIuFAST8        __UINT_FAST8_FMTu__
100
#define        PRIuFAST16        __UINT_FAST16_FMTu__
101
#define        PRIuFAST32        __UINT_FAST32_FMTu__
102
#define        PRIuFAST64        __UINT_FAST64_FMTu__
103
#define        PRIuMAX                __UINTMAX_FMTu__
104
#define        PRIuPTR                __UINTPTR_FMTu__
105

    
106
#define        PRIx8                __UINT8_FMTx__
107
#define        PRIx16                __UINT16_FMTx__
108
#define        PRIx32                __UINT32_FMTx__
109
#define        PRIx64                __UINT64_FMTx__
110
#define        PRIxLEAST8        __UINT_LEAST8_FMTx__
111
#define        PRIxLEAST16        __UINT_LEAST16_FMTx__
112
#define        PRIxLEAST32        __UINT_LEAST32_FMTx__
113
#define        PRIxLEAST64        __UINT_LEAST64_FMTx__
114
#define        PRIxFAST8        __UINT_FAST8_FMTx__
115
#define        PRIxFAST16        __UINT_FAST16_FMTx__
116
#define        PRIxFAST32        __UINT_FAST32_FMTx__
117
#define        PRIxFAST64        __UINT_FAST64_FMTx__
118
#define        PRIxMAX                __UINTMAX_FMTx__
119
#define        PRIxPTR                __UINTPTR_FMTx__
120

    
121
#define        PRIX8                __UINT8_FMTX__
122
#define        PRIX16                __UINT16_FMTX__
123
#define        PRIX32                __UINT32_FMTX__
124
#define        PRIX64                __UINT64_FMTX__
125
#define        PRIXLEAST8        __UINT_LEAST8_FMTX__
126
#define        PRIXLEAST16        __UINT_LEAST16_FMTX__
127
#define        PRIXLEAST32        __UINT_LEAST32_FMTX__
128
#define        PRIXLEAST64        __UINT_LEAST64_FMTX__
129
#define        PRIXFAST8        __UINT_FAST8_FMTX__
130
#define        PRIXFAST16        __UINT_FAST16_FMTX__
131
#define        PRIXFAST32        __UINT_FAST32_FMTX__
132
#define        PRIXFAST64        __UINT_FAST64_FMTX__
133
#define        PRIXMAX                __UINTMAX_FMTX__
134
#define        PRIXPTR                __UINTPTR_FMTX__
135

    
136
/* fscanf macros for signed integers */
137

    
138
#define        SCNd8                __INT8_FMTd__
139
#define        SCNd16                __INT16_FMTd__
140
#define        SCNd32                __INT32_FMTd__
141
#define        SCNd64                __INT64_FMTd__
142
#define        SCNdLEAST8        __INT_LEAST8_FMTd__
143
#define        SCNdLEAST16        __INT_LEAST16_FMTd__
144
#define        SCNdLEAST32        __INT_LEAST32_FMTd__
145
#define        SCNdLEAST64        __INT_LEAST64_FMTd__
146
#define        SCNdFAST8        __INT_FAST8_FMTd__
147
#define        SCNdFAST16        __INT_FAST16_FMTd__
148
#define        SCNdFAST32        __INT_FAST32_FMTd__
149
#define        SCNdFAST64        __INT_FAST64_FMTd__
150
#define        SCNdMAX                __INTMAX_FMTd__
151
#define        SCNdPTR                __INTPTR_FMTd__
152

    
153
#define        SCNi8                __INT8_FMTi__
154
#define        SCNi16                __INT16_FMTi__
155
#define        SCNi32                __INT32_FMTi__
156
#define        SCNi64                __INT64_FMTi__
157
#define        SCNiLEAST8        __INT_LEAST8_FMTi__
158
#define        SCNiLEAST16        __INT_LEAST16_FMTi__
159
#define        SCNiLEAST32        __INT_LEAST32_FMTi__
160
#define        SCNiLEAST64        __INT_LEAST64_FMTi__
161
#define        SCNiFAST8        __INT_FAST8_FMTi__
162
#define        SCNiFAST16        __INT_FAST16_FMTi__
163
#define        SCNiFAST32        __INT_FAST32_FMTi__
164
#define        SCNiFAST64        __INT_FAST64_FMTi__
165
#define        SCNiMAX                __INTMAX_FMTi__
166
#define        SCNiPTR                __INTPTR_FMTi__
167

    
168
/* fscanf macros for unsigned integers */
169

    
170
#define        SCNo8                __UINT8_FMTo__
171
#define        SCNo16                __UINT16_FMTo__
172
#define        SCNo32                __UINT32_FMTo__
173
#define        SCNo64                __UINT64_FMTo__
174
#define        SCNoLEAST8        __UINT_LEAST8_FMTo__
175
#define        SCNoLEAST16        __UINT_LEAST16_FMTo__
176
#define        SCNoLEAST32        __UINT_LEAST32_FMTo__
177
#define        SCNoLEAST64        __UINT_LEAST64_FMTo__
178
#define        SCNoFAST8        __UINT_FAST8_FMTo__
179
#define        SCNoFAST16        __UINT_FAST16_FMTo__
180
#define        SCNoFAST32        __UINT_FAST32_FMTo__
181
#define        SCNoFAST64        __UINT_FAST64_FMTo__
182
#define        SCNoMAX                __UINTMAX_FMTo__
183
#define        SCNoPTR                __UINTPTR_FMTo__
184

    
185
#define        SCNu8                __UINT8_FMTu__
186
#define        SCNu16                __UINT16_FMTu__
187
#define        SCNu32                __UINT32_FMTu__
188
#define        SCNu64                __UINT64_FMTu__
189
#define        SCNuLEAST8        __UINT_LEAST8_FMTu__
190
#define        SCNuLEAST16        __UINT_LEAST16_FMTu__
191
#define        SCNuLEAST32        __UINT_LEAST32_FMTu__
192
#define        SCNuLEAST64        __UINT_LEAST64_FMTu__
193
#define        SCNuFAST8        __UINT_FAST8_FMTu__
194
#define        SCNuFAST16        __UINT_FAST16_FMTu__
195
#define        SCNuFAST32        __UINT_FAST32_FMTu__
196
#define        SCNuFAST64        __UINT_FAST64_FMTu__
197
#define        SCNuMAX                __UINTMAX_FMTu__
198
#define        SCNuPTR                __UINTPTR_FMTu__
199

    
200
#define        SCNx8                __UINT8_FMTx__
201
#define        SCNx16                __UINT16_FMTx__
202
#define        SCNx32                __UINT32_FMTx__
203
#define        SCNx64                __UINT64_FMTx__
204
#define        SCNxLEAST8        __UINT_LEAST8_FMTx__
205
#define        SCNxLEAST16        __UINT_LEAST16_FMTx__
206
#define        SCNxLEAST32        __UINT_LEAST32_FMTx__
207
#define        SCNxLEAST64        __UINT_LEAST64_FMTx__
208
#define        SCNxFAST8        __UINT_FAST8_FMTx__
209
#define        SCNxFAST16        __UINT_FAST16_FMTx__
210
#define        SCNxFAST32        __UINT_FAST32_FMTx__
211
#define        SCNxFAST64        __UINT_FAST64_FMTx__
212
#define        SCNxMAX                __UINTMAX_FMTx__
213
#define        SCNxPTR                __UINTPTR_FMTx__
214

    
215
#define        SCNX8                __UINT8_FMTX__
216
#define        SCNX16                __UINT16_FMTX__
217
#define        SCNX32                __UINT32_FMTX__
218
#define        SCNX64                __UINT64_FMTX__
219
#define        SCNXLEAST8        __UINT_LEAST8_FMTX__
220
#define        SCNXLEAST16        __UINT_LEAST16_FMTX__
221
#define        SCNXLEAST32        __UINT_LEAST32_FMTX__
222
#define        SCNXLEAST64        __UINT_LEAST64_FMTX__
223
#define        SCNXFAST8        __UINT_FAST8_FMTX__
224
#define        SCNXFAST16        __UINT_FAST16_FMTX__
225
#define        SCNXFAST32        __UINT_FAST32_FMTX__
226
#define        SCNXFAST64        __UINT_FAST64_FMTX__
227
#define        SCNXMAX                __UINTMAX_FMTX__
228
#define        SCNXPTR                __UINTPTR_FMTX__
229

    
230
#endif /* _SYS_COMMON_INT_FMTIO_H_ */