Merge pull request #297 from t-b/upgrade_msys_openssl_101m
[msysgit.git] / include / limits.h
blob67e9fd4775d7a3e4d4ea3a0e252dae551d7aac51
1 /* limits.h
3 Copyright 1999, 2000, 2001 Red Hat, Inc.
5 This file is part of Cygwin.
7 This software is a copyrighted work licensed under the terms of the
8 Cygwin license. Please consult the file "CYGWIN_LICENSE" for
9 details. */
11 #ifndef _LIMITS_H___
12 #ifndef _MACH_MACHLIMITS_H_
14 /* _MACH_MACHLIMITS_H_ is used on OSF/1. */
15 #define _LIMITS_H___
16 #define _MACH_MACHLIMITS_H_
18 /* Number of bits in a `char'. */
19 #undef CHAR_BIT
20 #define CHAR_BIT 8
22 /* Maximum length of a multibyte character. */
23 #ifndef MB_LEN_MAX
24 #define MB_LEN_MAX 8
25 #endif
27 /* Minimum and maximum values a `signed char' can hold. */
28 #undef SCHAR_MIN
29 #define SCHAR_MIN (-128)
30 #undef SCHAR_MAX
31 #define SCHAR_MAX 127
33 /* Maximum value an `unsigned char' can hold. (Minimum is 0). */
34 #undef UCHAR_MAX
35 #define UCHAR_MAX 255
37 /* Minimum and maximum values a `char' can hold. */
38 #ifdef __CHAR_UNSIGNED__
39 #undef CHAR_MIN
40 #define CHAR_MIN 0
41 #undef CHAR_MAX
42 #define CHAR_MAX 255
43 #else
44 #undef CHAR_MIN
45 #define CHAR_MIN (-128)
46 #undef CHAR_MAX
47 #define CHAR_MAX 127
48 #endif
50 /* Minimum and maximum values a `signed short int' can hold. */
51 #undef SHRT_MIN
52 #define SHRT_MIN (-32768)
53 #undef SHRT_MAX
54 #define SHRT_MAX 32767
56 /* Maximum value an `unsigned short int' can hold. (Minimum is 0). */
57 #undef USHRT_MAX
58 #define USHRT_MAX 65535
60 /* Minimum and maximum values a `signed int' can hold. */
61 #ifndef __INT_MAX__
62 #define __INT_MAX__ 2147483647
63 #endif
64 #undef INT_MIN
65 #define INT_MIN (-INT_MAX-1)
66 #undef INT_MAX
67 #define INT_MAX __INT_MAX__
69 /* Maximum value an `unsigned int' can hold. (Minimum is 0). */
70 #undef UINT_MAX
71 #define UINT_MAX (INT_MAX * 2U + 1)
73 /* Minimum and maximum values a `signed long int' can hold.
74 (Same as `int'). */
75 #ifndef __LONG_MAX__
76 #ifndef __alpha__
77 #define __LONG_MAX__ 2147483647L
78 #else
79 #define __LONG_MAX__ 9223372036854775807L
80 # endif /* __alpha__ */
81 #endif
82 #undef LONG_MIN
83 #define LONG_MIN (-LONG_MAX-1)
84 #undef LONG_MAX
85 #define LONG_MAX __LONG_MAX__
87 /* Maximum value an `unsigned long int' can hold. (Minimum is 0). */
88 #undef ULONG_MAX
89 #define ULONG_MAX (LONG_MAX * 2UL + 1)
91 #if defined (__GNU_LIBRARY__) ? defined (__USE_GNU) : !defined (__STRICT_ANSI__)
92 /* Minimum and maximum values a `signed long long int' can hold. */
93 #ifndef __LONG_LONG_MAX__
94 #define __LONG_LONG_MAX__ 9223372036854775807LL
95 #endif
96 #undef LONG_LONG_MIN
97 #define LONG_LONG_MIN (-LONG_LONG_MAX-1)
98 #undef LONG_LONG_MAX
99 #define LONG_LONG_MAX __LONG_LONG_MAX__
101 /* Maximum value an `unsigned long long int' can hold. (Minimum is 0). */
102 #undef ULONG_LONG_MAX
103 #define ULONG_LONG_MAX (LONG_LONG_MAX * 2ULL + 1)
104 #endif
106 /* Maximum number of iovcnt in a writev */
107 #undef IOV_MAX
108 #define IOV_MAX (__INT_MAX__-1)
110 /* Maximum size of ssize_t */
111 #undef SSIZE_MAX
112 #define SSIZE_MAX (__LONG_MAX__)
114 /* Maximum length of a path */
115 #define PATH_MAX (260 - 1 /*NUL*/)
117 /* Max num groups for a user, value taken from NT documentation */
118 /* Must match <sys/param.h> NGROUPS */
119 #define NGROUPS_MAX 16
121 /* WaitForMultipleObjects can't handle waiting for more than 64 objects.
122 This limits how many children we can fork/spawn off. */
123 #define CHILD_MAX 63
125 /* # of open files per process. Actually it can be more since Cygwin
126 grows the dtable as necessary. We define a reasonable limit here
127 which is returned by getdtablesize(), sysconf(_SC_OPEN_MAX) and
128 getrlimit(RLIMIT_NOFILE). */
129 #undef OPEN_MAX
130 #define OPEN_MAX 256
132 /* # of bytes in a pipe buf. This is the max # of bytes which can be
133 written to a pipe in one atomic operation. */
134 #undef PIPE_BUF
135 #define PIPE_BUF 4096
137 /* POSIX values */
138 /* These should never vary from one system type to another */
139 /* They represent the minimum values that POSIX systems must support.
140 POSIX-conforming apps must not require larger values. */
141 #define _POSIX_ARG_MAX 4096
142 #define _POSIX_CHILD_MAX 6
143 #define _POSIX_LINK_MAX 8
144 #define _POSIX_MAX_CANON 255
145 #define _POSIX_MAX_INPUT 255
146 #define _POSIX_NAME_MAX 14
147 #define _POSIX_NGROUPS_MAX 0
148 #define _POSIX_OPEN_MAX 16
149 #define _POSIX_PATH_MAX 255
150 #define _POSIX_PIPE_BUF 512
151 #define _POSIX_SSIZE_MAX 32767
152 #define _POSIX_STREAM_MAX 8
153 #define _POSIX_TZNAME_MAX 3
155 #endif /* _MACH_MACHLIMITS_H_ */
156 #endif /* _LIMITS_H___ */