]> git.ipfire.org Git - thirdparty/gcc.git/blame - libphobos/libdruntime/core/stdc/limits.d
libphobos: Merge phobos and druntime with upstream.
[thirdparty/gcc.git] / libphobos / libdruntime / core / stdc / limits.d
CommitLineData
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
15module core.stdc.limits;
16
22163f0d 17version (OSX)
18 version = Darwin;
19else version (iOS)
20 version = Darwin;
21else version (TVOS)
22 version = Darwin;
23else version (WatchOS)
24 version = Darwin;
25
03385ed3 26private import core.stdc.config;
27
28extern (C):
29@trusted: // Constants only.
30nothrow:
31@nogc:
32
22163f0d 33//
34// Numerical limits
35//
36
03385ed3 37///
38enum CHAR_BIT = 8;
39///
40enum SCHAR_MIN = byte.min;
41///
42enum SCHAR_MAX = byte.max;
43///
44enum UCHAR_MAX = ubyte.max;
45///
46enum CHAR_MIN = char.min;
47///
48enum CHAR_MAX = char.max;
49///
50enum MB_LEN_MAX = 2;
51///
52enum SHRT_MIN = short.min;
53///
54enum SHRT_MAX = short.max;
55///
56enum USHRT_MAX = ushort.max;
57///
58enum INT_MIN = int.min;
59///
60enum INT_MAX = int.max;
61///
62enum UINT_MAX = uint.max;
63///
64enum LONG_MIN = c_long.min;
65///
66enum LONG_MAX = c_long.max;
67///
68enum ULONG_MAX = c_ulong.max;
69///
70enum LLONG_MIN = long.min;
71///
72enum LLONG_MAX = long.max;
73///
74enum ULLONG_MAX = ulong.max;
22163f0d 75
76//
77// File system limits
78//
79
80version (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
94version (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}
107else 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}
120else 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}
133else 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}
146else 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}
159else 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}
172else 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}