ReactOS 0.4.15-dev-7958-gcd0bb1a
limits.h
Go to the documentation of this file.
1
6#pragma once
7#include <crtdefs.h>
8
9#ifndef _INC_LIMITS
10#define _INC_LIMITS
11
12/*
13* File system limits
14*
15* TODO: NAME_MAX and OPEN_MAX are file system limits or not? Are they the
16* same as FILENAME_MAX and FOPEN_MAX from stdio.h?
17* NOTE: Apparently the actual size of PATH_MAX is 260, but a space is
18* required for the NUL. TODO: Test?
19*/
20#define PATH_MAX (259)
21
22#define CHAR_BIT 8
23#define SCHAR_MIN (-128)
24#define SCHAR_MAX 127
25#define UCHAR_MAX 0xff
26
27#ifdef _CHAR_UNSIGNED
28 #define CHAR_MIN 0
29 #define CHAR_MAX UCHAR_MAX
30#else
31 #define CHAR_MIN SCHAR_MIN
32 #define CHAR_MAX SCHAR_MAX
33#endif /* _CHAR_UNSIGNED */
34
35#define MB_LEN_MAX 5
36#define SHRT_MIN (-32768)
37#define SHRT_MAX 32767
38#define USHRT_MAX 0xffff
39#define INT_MIN (-2147483647 - 1)
40#define INT_MAX 2147483647
41#define UINT_MAX 0xffffffff
42#define LONG_MIN (-2147483647L - 1)
43#define LONG_MAX 2147483647L
44#define ULONG_MAX 0xffffffffUL
45#define LLONG_MAX 9223372036854775807LL
46#define LLONG_MIN (-9223372036854775807LL - 1)
47#define ULLONG_MAX 0xffffffffffffffffULL
48
49#define _I8_MIN ((signed char)(-127 - 1))
50#define _I8_MAX ((signed char)127)
51#define _UI8_MAX ((unsigned char)0xff)
52
53#define _I16_MIN ((short)(-32767 - 1))
54#define _I16_MAX ((short)32767)
55#define _UI16_MAX ((unsigned short)0xffffU)
56
57#define _I32_MIN (-2147483647 - 1)
58#define _I32_MAX 2147483647
59#define _UI32_MAX 0xffffffffu
60
61#define _I64_MIN (-9223372036854775807LL - 1)
62#define _I64_MAX 9223372036854775807LL
63#define _UI64_MAX 0xffffffffffffffffULL
64
65#if defined(_MSC_VER) && (_INTEGRAL_MAX_BITS >= 128)
66#define _I128_MIN (-170141183460469231731687303715884105727i128 - 1)
67#define _I128_MAX 170141183460469231731687303715884105727i128
68#define _UI128_MAX 0xffffffffffffffffffffffffffffffffui128
69#endif
70
71#ifndef SIZE_MAX
72#ifdef _WIN64
73#define SIZE_MAX _UI64_MAX
74#else
75#define SIZE_MAX UINT_MAX
76#endif
77#endif /* SIZE_MAX */
78
79#if __STDC_WANT_SECURE_LIB__
80#ifndef RSIZE_MAX
81#define RSIZE_MAX SIZE_MAX
82#endif /* RSIZE_MAX */
83#endif /* __STDC_WANT_SECURE_LIB__ */
84
85#endif /* _INC_LIMITS */