blob: f3f88006a1279e240b10397e38f8a0f86064e452 [file] [log] [blame]
/**
* 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;
}