]>
Commit | Line | Data |
---|---|---|
03385ed3 | 1 | /** |
2 | * D header file for C99. | |
3 | * | |
4 | * $(C_HEADER_DESCRIPTION pubs.opengroup.org/onlinepubs/009695399/basedefs/_limits.h.html, _limits.h) | |
5 | * | |
6 | * Copyright: Copyright Sean Kelly 2005 - 2009. | |
7 | * License: Distributed under the | |
8 | * $(LINK2 http://www.boost.org/LICENSE_1_0.txt, Boost Software License 1.0). | |
9 | * (See accompanying file LICENSE) | |
10 | * Authors: Sean Kelly | |
11 | * Source: $(DRUNTIMESRC core/stdc/_limits.d) | |
12 | * Standards: ISO/IEC 9899:1999 (E) | |
13 | */ | |
14 | ||
15 | module core.stdc.limits; | |
16 | ||
22163f0d | 17 | version (OSX) |
18 | version = Darwin; | |
19 | else version (iOS) | |
20 | version = Darwin; | |
21 | else version (TVOS) | |
22 | version = Darwin; | |
23 | else version (WatchOS) | |
24 | version = Darwin; | |
25 | ||
03385ed3 | 26 | private import core.stdc.config; |
27 | ||
28 | extern (C): | |
29 | @trusted: // Constants only. | |
30 | nothrow: | |
31 | @nogc: | |
32 | ||
22163f0d | 33 | // |
34 | // Numerical limits | |
35 | // | |
36 | ||
03385ed3 | 37 | /// |
38 | enum CHAR_BIT = 8; | |
39 | /// | |
40 | enum SCHAR_MIN = byte.min; | |
41 | /// | |
42 | enum SCHAR_MAX = byte.max; | |
43 | /// | |
44 | enum UCHAR_MAX = ubyte.max; | |
45 | /// | |
46 | enum CHAR_MIN = char.min; | |
47 | /// | |
48 | enum CHAR_MAX = char.max; | |
49 | /// | |
50 | enum MB_LEN_MAX = 2; | |
51 | /// | |
52 | enum SHRT_MIN = short.min; | |
53 | /// | |
54 | enum SHRT_MAX = short.max; | |
55 | /// | |
56 | enum USHRT_MAX = ushort.max; | |
57 | /// | |
58 | enum INT_MIN = int.min; | |
59 | /// | |
60 | enum INT_MAX = int.max; | |
61 | /// | |
62 | enum UINT_MAX = uint.max; | |
63 | /// | |
64 | enum LONG_MIN = c_long.min; | |
65 | /// | |
66 | enum LONG_MAX = c_long.max; | |
67 | /// | |
68 | enum ULONG_MAX = c_ulong.max; | |
69 | /// | |
70 | enum LLONG_MIN = long.min; | |
71 | /// | |
72 | enum LLONG_MAX = long.max; | |
73 | /// | |
74 | enum ULLONG_MAX = ulong.max; | |
22163f0d | 75 | |
76 | // | |
77 | // File system limits | |
78 | // | |
79 | ||
80 | version (Darwin) | |
81 | { | |
82 | /// | |
83 | enum MAX_CANON = 1024; | |
84 | /// | |
85 | enum MAX_INPUT = 1024; | |
86 | /// | |
87 | enum NAME_MAX = 255; | |
88 | /// | |
89 | enum PATH_MAX = 1024; | |
90 | /// | |
91 | enum PIPE_BUF = 512; | |
92 | } | |
93 | ||
94 | version (DragonFlyBSD) | |
95 | { | |
96 | /// | |
97 | enum MAX_CANON = 255; | |
98 | /// | |
99 | enum MAX_INPUT = 255; | |
100 | /// | |
101 | enum NAME_MAX = 255; | |
102 | /// | |
103 | enum PATH_MAX = 1024; | |
104 | /// | |
105 | enum PIPE_BUF = 512; | |
106 | } | |
107 | else version (FreeBSD) | |
108 | { | |
109 | /// | |
110 | enum MAX_CANON = 255; | |
111 | /// | |
112 | enum MAX_INPUT = 255; | |
113 | /// | |
114 | enum NAME_MAX = 255; | |
115 | /// | |
116 | enum PATH_MAX = 1024; | |
117 | /// | |
118 | enum PIPE_BUF = 512; | |
119 | } | |
120 | else version (linux) | |
121 | { | |
122 | /// | |
123 | enum MAX_CANON = 255; | |
124 | /// | |
125 | enum MAX_INPUT = 255; | |
126 | /// | |
127 | enum NAME_MAX = 255; | |
128 | /// | |
129 | enum PATH_MAX = 4096; | |
130 | /// | |
131 | enum PIPE_BUF = 4096; | |
132 | } | |
133 | else version (NetBSD) | |
134 | { | |
135 | /// | |
136 | enum MAX_CANON = 255; | |
137 | /// | |
138 | enum MAX_INPUT = 255; | |
139 | /// | |
140 | enum NAME_MAX = 511; | |
141 | /// | |
142 | enum PATH_MAX = 1024; | |
143 | /// | |
144 | enum PIPE_BUF = 512; | |
145 | } | |
146 | else version (OpenBSD) | |
147 | { | |
148 | /// | |
149 | enum MAX_CANON = 255; | |
150 | /// | |
151 | enum MAX_INPUT = 255; | |
152 | /// | |
153 | enum NAME_MAX = 255; | |
154 | /// | |
155 | enum PATH_MAX = 1024; | |
156 | /// | |
157 | enum PIPE_BUF = 512; | |
158 | } | |
159 | else version (Solaris) | |
160 | { | |
161 | /// | |
162 | enum MAX_CANON = 256; | |
163 | /// | |
164 | enum MAX_INPUT = 512; | |
165 | /// | |
166 | enum NAME_MAX = 255; | |
167 | /// | |
168 | enum PATH_MAX = 1024; | |
169 | /// | |
170 | enum PIPE_BUF = 5120; | |
171 | } | |
172 | else version (Windows) | |
173 | { | |
174 | /// | |
175 | enum MAX_CANON = 256; | |
176 | /// | |
177 | enum MAX_INPUT = 256; | |
178 | /// | |
179 | enum NAME_MAX = 256; | |
180 | /// | |
181 | enum PATH_MAX = 260; | |
182 | /// | |
183 | enum PIPE_BUF = 5120; | |
184 | } |