| /** |
| * D header file for C99. |
| * |
| * $(C_HEADER_DESCRIPTION pubs.opengroup.org/onlinepubs/009695399/basedefs/_limits.h.html, _limits.h) |
| * |
| * Copyright: Copyright Sean Kelly 2005 - 2009. |
| * License: Distributed under the |
| * $(LINK2 http://www.boost.org/LICENSE_1_0.txt, Boost Software License 1.0). |
| * (See accompanying file LICENSE) |
| * Authors: Sean Kelly |
| * Source: $(DRUNTIMESRC core/stdc/_limits.d) |
| * Standards: ISO/IEC 9899:1999 (E) |
| */ |
| |
| module core.stdc.limits; |
| |
| version (OSX) |
| version = Darwin; |
| else version (iOS) |
| version = Darwin; |
| else version (TVOS) |
| version = Darwin; |
| else version (WatchOS) |
| version = Darwin; |
| |
| import core.stdc.config; |
| |
| extern (C): |
| @trusted: // Constants only. |
| nothrow: |
| @nogc: |
| |
| // |
| // Numerical limits |
| // |
| |
| /// |
| enum CHAR_BIT = 8; |
| /// |
| enum SCHAR_MIN = byte.min; |
| /// |
| enum SCHAR_MAX = byte.max; |
| /// |
| enum UCHAR_MAX = ubyte.max; |
| /// |
| enum CHAR_MIN = char.min; |
| /// |
| enum CHAR_MAX = char.max; |
| /// |
| enum MB_LEN_MAX = 2; |
| /// |
| enum SHRT_MIN = short.min; |
| /// |
| enum SHRT_MAX = short.max; |
| /// |
| enum USHRT_MAX = ushort.max; |
| /// |
| enum INT_MIN = int.min; |
| /// |
| enum INT_MAX = int.max; |
| /// |
| enum UINT_MAX = uint.max; |
| /// |
| enum LONG_MIN = c_long.min; |
| /// |
| enum LONG_MAX = c_long.max; |
| /// |
| enum ULONG_MAX = c_ulong.max; |
| /// |
| enum LLONG_MIN = long.min; |
| /// |
| enum LLONG_MAX = long.max; |
| /// |
| enum ULLONG_MAX = ulong.max; |
| |
| // |
| // File system limits |
| // |
| |
| version (Darwin) |
| { |
| /// |
| enum MAX_CANON = 1024; |
| /// |
| enum MAX_INPUT = 1024; |
| /// |
| enum NAME_MAX = 255; |
| /// |
| enum PATH_MAX = 1024; |
| /// |
| enum PIPE_BUF = 512; |
| } |
| |
| version (DragonFlyBSD) |
| { |
| /// |
| enum MAX_CANON = 255; |
| /// |
| enum MAX_INPUT = 255; |
| /// |
| enum NAME_MAX = 255; |
| /// |
| enum PATH_MAX = 1024; |
| /// |
| enum PIPE_BUF = 512; |
| } |
| else version (FreeBSD) |
| { |
| /// |
| enum MAX_CANON = 255; |
| /// |
| enum MAX_INPUT = 255; |
| /// |
| enum NAME_MAX = 255; |
| /// |
| enum PATH_MAX = 1024; |
| /// |
| enum PIPE_BUF = 512; |
| } |
| else version (linux) |
| { |
| /// |
| enum MAX_CANON = 255; |
| /// |
| enum MAX_INPUT = 255; |
| /// |
| enum NAME_MAX = 255; |
| /// |
| enum PATH_MAX = 4096; |
| /// |
| enum PIPE_BUF = 4096; |
| } |
| else version (NetBSD) |
| { |
| /// |
| enum MAX_CANON = 255; |
| /// |
| enum MAX_INPUT = 255; |
| /// |
| enum NAME_MAX = 511; |
| /// |
| enum PATH_MAX = 1024; |
| /// |
| enum PIPE_BUF = 512; |
| } |
| else version (OpenBSD) |
| { |
| /// |
| enum MAX_CANON = 255; |
| /// |
| enum MAX_INPUT = 255; |
| /// |
| enum NAME_MAX = 255; |
| /// |
| enum PATH_MAX = 1024; |
| /// |
| enum PIPE_BUF = 512; |
| } |
| else version (Solaris) |
| { |
| /// |
| enum MAX_CANON = 256; |
| /// |
| enum MAX_INPUT = 512; |
| /// |
| enum NAME_MAX = 255; |
| /// |
| enum PATH_MAX = 1024; |
| /// |
| enum PIPE_BUF = 5120; |
| } |
| else version (Windows) |
| { |
| /// |
| enum MAX_CANON = 256; |
| /// |
| enum MAX_INPUT = 256; |
| /// |
| enum NAME_MAX = 256; |
| /// |
| enum PATH_MAX = 260; |
| /// |
| enum PIPE_BUF = 5120; |
| } |