Download Reference Manual
The Developer's Library for D
About Wiki Forums Source Search Contact

root/trunk/tango/stdc/inttypes.d

Revision 3924, 6.7 kB (checked in by sean, 4 years ago)

Modified C99 headers to be compatible with D2 by adding "in" qualifiers where the spec indicates "const" should be.

  • Property svn:mime-type set to text/x-dsrc
  • Property svn:eol-style set to native
Line 
1 /**
2  * D header file for C99.
3  *
4  * Copyright: Public Domain
5  * License:   Public Domain
6  * Authors:   Sean Kelly
7  * Standards: ISO/IEC 9899:1999 (E)
8  */
9 module tango.stdc.inttypes;
10
11 public import tango.stdc.stddef;
12 public import tango.stdc.stdint;
13
14 extern (C):
15
16 struct imaxdiv_t
17 {
18     intmax_t    quot,
19                 rem;
20 }
21
22 version( VerboseC )
23 {
24     const char* PRId8       = "hhd";
25     const char* PRId16      = "hd";
26     const char* PRId32      = "ld";
27     const char* PRId64      = "lld";
28
29     const char* PRIdLEAST8  = "hhd";
30     const char* PRIdLEAST16 = "hd";
31     const char* PRIdLEAST32 = "ld";
32     const char* PRIdLEAST64 = "lld";
33
34     const char* PRIdFAST8   = "hhd";
35     const char* PRIdFAST16  = "d";
36     const char* PRIdFAST32  = "ld";
37     const char* PRIdFAST64  = "lld";
38
39     const char* PRIi8       = "hhi";
40     const char* PRIi16      = "hi";
41     const char* PRIi32      = "li";
42     const char* PRIi64      = "lli";
43
44     const char* PRIiLEAST8  = "hhi";
45     const char* PRIiLEAST16 = "hi";
46     const char* PRIiLEAST32 = "li";
47     const char* PRIiLEAST64 = "lli";
48
49     const char* PRIiFAST8   = "hhi";
50     const char* PRIiFAST16  = "i";
51     const char* PRIiFAST32  = "li";
52     const char* PRIiFAST64  = "lli";
53
54     const char* PRIo8       = "hho";
55     const char* PRIo16      = "ho";
56     const char* PRIo32      = "lo";
57     const char* PRIo64      = "llo";
58
59     const char* PRIoLEAST8  = "hho";
60     const char* PRIoLEAST16 = "ho";
61     const char* PRIoLEAST32 = "lo";
62     const char* PRIoLEAST64 = "llo";
63
64     const char* PRIoFAST8   = "hho";
65     const char* PRIoFAST16  = "o";
66     const char* PRIoFAST32  = "lo";
67     const char* PRIoFAST64  = "llo";
68
69     const char* PRIu8       = "hhu";
70     const char* PRIu16      = "hu";
71     const char* PRIu32      = "lu";
72     const char* PRIu64      = "llu";
73
74     const char* PRIuLEAST8  = "hhu";
75     const char* PRIuLEAST16 = "hu";
76     const char* PRIuLEAST32 = "lu";
77     const char* PRIuLEAST64 = "llu";
78
79     const char* PRIuFAST8   = "hhu";
80     const char* PRIuFAST16  = "u";
81     const char* PRIuFAST32  = "lu";
82     const char* PRIuFAST64  = "llu";
83
84     const char* PRIx8       = "hhx";
85     const char* PRIx16      = "hx";
86     const char* PRIx32      = "lx";
87     const char* PRIx64      = "llx";
88
89     const char* PRIxLEAST8  = "hhx";
90     const char* PRIxLEAST16 = "hx";
91     const char* PRIxLEAST32 = "lx";
92     const char* PRIxLEAST64 = "llx";
93
94     const char* PRIxFAST8   = "hhx";
95     const char* PRIxFAST16  = "x";
96     const char* PRIxFAST32  = "lx";
97     const char* PRIxFAST64  = "llx";
98
99     const char* PRIX8       = "hhX";
100     const char* PRIX16      = "hX";
101     const char* PRIX32      = "lX";
102     const char* PRIX64      = "llX";
103
104     const char* PRIXLEAST8  = "hhX";
105     const char* PRIXLEAST16 = "hX";
106     const char* PRIXLEAST32 = "lX";
107     const char* PRIXLEAST64 = "llX";
108
109     const char* PRIXFAST8   = "hhX";
110     const char* PRIXFAST16  = "X";
111     const char* PRIXFAST32  = "lX";
112     const char* PRIXFAST64  = "llX";
113
114     const char* SCNd8       = "hhd";
115     const char* SCNd16      = "hd";
116     const char* SCNd32      = "ld";
117     const char* SCNd64      = "lld";
118
119     const char* SCNdLEAST8  = "hhd";
120     const char* SCNdLEAST16 = "hd";
121     const char* SCNdLEAST32 = "ld";
122     const char* SCNdLEAST64 = "lld";
123
124     const char* SCNdFAST8   = "hhd";
125     const char* SCNdFAST16  = "d";
126     const char* SCNdFAST32  = "ld";
127     const char* SCNdFAST64  = "lld";
128
129     const char* SCNi8       = "hhd";
130     const char* SCNi16      = "hi";
131     const char* SCNi32      = "li";
132     const char* SCNi64      = "lli";
133
134     const char* SCNiLEAST8  = "hhd";
135     const char* SCNiLEAST16 = "hi";
136     const char* SCNiLEAST32 = "li";
137     const char* SCNiLEAST64 = "lli";
138
139     const char* SCNiFAST8   = "hhd";
140     const char* SCNiFAST16  = "i";
141     const char* SCNiFAST32  = "li";
142     const char* SCNiFAST64  = "lli";
143
144     const char* SCNo8       = "hhd";
145     const char* SCNo16      = "ho";
146     const char* SCNo32      = "lo";
147     const char* SCNo64      = "llo";
148
149     const char* SCNoLEAST8  = "hhd";
150     const char* SCNoLEAST16 = "ho";
151     const char* SCNoLEAST32 = "lo";
152     const char* SCNoLEAST64 = "llo";
153
154     const char* SCNoFAST8   = "hhd";
155     const char* SCNoFAST16  = "o";
156     const char* SCNoFAST32  = "lo";
157     const char* SCNoFAST64  = "llo";
158
159     const char* SCNu8       = "hhd";
160     const char* SCNu16      = "hu";
161     const char* SCNu32      = "lu";
162     const char* SCNu64      = "llu";
163
164     const char* SCNuLEAST8  = "hhd";
165     const char* SCNuLEAST16 = "hu";
166     const char* SCNuLEAST32 = "lu";
167     const char* SCNuLEAST64 = "llu";
168
169     const char* SCNuFAST8   = "hhd";
170     const char* SCNuFAST16  = "u";
171     const char* SCNuFAST32  = "lu";
172     const char* SCNuFAST64  = "llu";
173
174     const char* SCNx8       = "hhd";
175     const char* SCNx16      = "hx";
176     const char* SCNx32      = "lx";
177     const char* SCNx64      = "llx";
178
179     const char* SCNxLEAST8  = "hhd";
180     const char* SCNxLEAST16 = "hx";
181     const char* SCNxLEAST32 = "lx";
182     const char* SCNxLEAST64 = "llx";
183
184     const char* SCNxFAST8   = "hhd";
185     const char* SCNxFAST16  = "x";
186     const char* SCNxFAST32  = "lx";
187     const char* SCNxFAST64  = "llx";
188
189   version( X86_64 )
190   {
191     const char* PRIdMAX     = PRId64;
192     const char* PRIiMAX     = PRIi64;
193     const char* PRIoMAX     = PRIo64;
194     const char* PRIuMAX     = PRIu64;
195     const char* PRIxMAX     = PRIx64;
196     const char* PRIXMAX     = PRIX64;
197
198     const char* SCNdMAX     = SCNd64;
199     const char* SCNiMAX     = SCNi64;
200     const char* SCNoMAX     = SCNo64;
201     const char* SCNuMAX     = SCNu64;
202     const char* SCNxMAX     = SCNx64;
203
204     const char* PRIdPTR     = PRId64;
205     const char* PRIiPTR     = PRIi64;
206     const char* PRIoPTR     = PRIo64;
207     const char* PRIuPTR     = PRIu64;
208     const char* PRIxPTR     = PRIx64;
209     const char* PRIXPTR     = PRIX64;
210
211     const char* SCNdPTR     = SCNd64;
212     const char* SCNiPTR     = SCNi64;
213     const char* SCNoPTR     = SCNo64;
214     const char* SCNuPTR     = SCNu64;
215     const char* SCNxPTR     = SCNx64;
216   }
217   else
218   {
219     const char* PRIdMAX     = PRId32;
220     const char* PRIiMAX     = PRIi32;
221     const char* PRIoMAX     = PRIo32;
222     const char* PRIuMAX     = PRIu32;
223     const char* PRIxMAX     = PRIx32;
224     const char* PRIXMAX     = PRIX32;
225
226     const char* SCNdMAX     = SCNd32;
227     const char* SCNiMAX     = SCNi32;
228     const char* SCNoMAX     = SCNo32;
229     const char* SCNuMAX     = SCNu32;
230     const char* SCNxMAX     = SCNx32;
231
232     const char* PRIdPTR     = PRId32;
233     const char* PRIiPTR     = PRIi32;
234     const char* PRIoPTR     = PRIo32;
235     const char* PRIuPTR     = PRIu32;
236     const char* PRIxPTR     = PRIx32;
237     const char* PRIXPTR     = PRIX32;
238
239     const char* SCNdPTR     = SCNd32;
240     const char* SCNiPTR     = SCNi32;
241     const char* SCNoPTR     = SCNo32;
242     const char* SCNuPTR     = SCNu32;
243     const char* SCNxPTR     = SCNx32;
244   }
245 }
246
247 intmax_t  imaxabs(intmax_t j);
248 imaxdiv_t imaxdiv(intmax_t numer, intmax_t denom);
249 intmax_t  strtoimax(in char* nptr, char** endptr, int base);
250 uintmax_t strtoumax(in char* nptr, char** endptr, int base);
251 intmax_t  wcstoimax(in wchar_t* nptr, wchar_t** endptr, int base);
252 uintmax_t wcstoumax(in wchar_t* nptr, wchar_t** endptr, int base);
Note: See TracBrowser for help on using the browser.