diff options
Diffstat (limited to 'winsup/cygwin/include/limits.h')
-rw-r--r-- | winsup/cygwin/include/limits.h | 169 |
1 files changed, 169 insertions, 0 deletions
diff --git a/winsup/cygwin/include/limits.h b/winsup/cygwin/include/limits.h new file mode 100644 index 00000000000..9fa3cf4fe27 --- /dev/null +++ b/winsup/cygwin/include/limits.h @@ -0,0 +1,169 @@ +/* limits.h + + Copyright 1999, 2000, 2001 Red Hat, Inc. + +This file is part of Cygwin. + +This software is a copyrighted work licensed under the terms of the +Cygwin license. Please consult the file "CYGWIN_LICENSE" for +details. */ + +#ifndef _LIMITS_H___ +#ifndef _MACH_MACHLIMITS_H_ + +/* _MACH_MACHLIMITS_H_ is used on OSF/1. */ +#define _LIMITS_H___ +#define _MACH_MACHLIMITS_H_ + +/* Number of bits in a `char'. */ +#undef CHAR_BIT +#define CHAR_BIT 8 + +/* Maximum length of a multibyte character. */ +#ifndef MB_LEN_MAX +#define MB_LEN_MAX 1 +#endif + +/* Minimum and maximum values a `signed char' can hold. */ +#undef SCHAR_MIN +#define SCHAR_MIN (-128) +#undef SCHAR_MAX +#define SCHAR_MAX 127 + +/* Maximum value an `unsigned char' can hold. (Minimum is 0). */ +#undef UCHAR_MAX +#define UCHAR_MAX 255 + +/* Minimum and maximum values a `char' can hold. */ +#ifdef __CHAR_UNSIGNED__ +#undef CHAR_MIN +#define CHAR_MIN 0 +#undef CHAR_MAX +#define CHAR_MAX 255 +#else +#undef CHAR_MIN +#define CHAR_MIN (-128) +#undef CHAR_MAX +#define CHAR_MAX 127 +#endif + +/* Minimum and maximum values a `signed short int' can hold. */ +#undef SHRT_MIN +#define SHRT_MIN (-32768) +#undef SHRT_MAX +#define SHRT_MAX 32767 + +/* Maximum value an `unsigned short int' can hold. (Minimum is 0). */ +#undef USHRT_MAX +#define USHRT_MAX 65535 + +/* Minimum and maximum values a `signed int' can hold. */ +#ifndef __INT_MAX__ +#define __INT_MAX__ 2147483647 +#endif +#undef INT_MIN +#define INT_MIN (-INT_MAX-1) +#undef INT_MAX +#define INT_MAX __INT_MAX__ + +/* Maximum value an `unsigned int' can hold. (Minimum is 0). */ +#undef UINT_MAX +#define UINT_MAX (INT_MAX * 2U + 1) + +/* Minimum and maximum values a `signed long int' can hold. + (Same as `int'). */ +#ifndef __LONG_MAX__ +#ifndef __alpha__ +#define __LONG_MAX__ 2147483647L +#else +#define __LONG_MAX__ 9223372036854775807L +# endif /* __alpha__ */ +#endif +#undef LONG_MIN +#define LONG_MIN (-LONG_MAX-1) +#undef LONG_MAX +#define LONG_MAX __LONG_MAX__ + +/* Maximum value an `unsigned long int' can hold. (Minimum is 0). */ +#undef ULONG_MAX +#define ULONG_MAX (LONG_MAX * 2UL + 1) + +/* Minimum and maximum values a `signed long long int' can hold. */ +#ifndef __LONG_LONG_MAX__ +#define __LONG_LONG_MAX__ 9223372036854775807LL +#endif + +#if defined (__GNU_LIBRARY__) ? defined (__USE_GNU) : !defined (__STRICT_ANSI__) +#undef LONG_LONG_MIN +#define LONG_LONG_MIN (-LONG_LONG_MAX-1) +#undef LONG_LONG_MAX +#define LONG_LONG_MAX __LONG_LONG_MAX__ + +/* Maximum value an `unsigned long long int' can hold. (Minimum is 0). */ +#undef ULONG_LONG_MAX +#define ULONG_LONG_MAX (LONG_LONG_MAX * 2ULL + 1) +#endif + +#if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L +/* Minimum and maximum values a `signed long long int' can hold. */ +#undef LLONG_MIN +#define LLONG_MIN (-LLONG_MAX-1) +#undef LLONG_MAX +#define LLONG_MAX __LONG_LONG_MAX__ + +/* Maximum value an `unsigned long long int' can hold. (Minimum is 0). */ +#undef ULLONG_MAX +#define ULLONG_MAX (LLONG_MAX * 2ULL + 1) +#endif + +/* Maximum number of iovcnt in a writev (an arbitrary number) */ +#undef IOV_MAX +#define IOV_MAX 1024 + +/* Maximum size of ssize_t */ +#undef SSIZE_MAX +#define SSIZE_MAX (__LONG_MAX__) + +/* Maximum length of a path */ +#define PATH_MAX (260 - 1 /*NUL*/) + +/* Max num groups for a user, value taken from NT documentation */ +/* Must match <sys/param.h> NGROUPS */ +#define NGROUPS_MAX 16 + +/* WaitForMultipleObjects can't handle waiting for more than 64 objects. + This limits how many children we can fork/spawn off. */ +#define CHILD_MAX 63 + +/* # of open files per process. Actually it can be more since Cygwin + grows the dtable as necessary. We define a reasonable limit here + which is returned by getdtablesize(), sysconf(_SC_OPEN_MAX) and + getrlimit(RLIMIT_NOFILE). */ +#undef OPEN_MAX +#define OPEN_MAX 256 + +/* # of bytes in a pipe buf. This is the max # of bytes which can be + written to a pipe in one atomic operation. */ +#undef PIPE_BUF +#define PIPE_BUF 4096 + +/* POSIX values */ +/* These should never vary from one system type to another */ +/* They represent the minimum values that POSIX systems must support. + POSIX-conforming apps must not require larger values. */ +#define _POSIX_ARG_MAX 4096 +#define _POSIX_CHILD_MAX 6 +#define _POSIX_LINK_MAX 8 +#define _POSIX_MAX_CANON 255 +#define _POSIX_MAX_INPUT 255 +#define _POSIX_NAME_MAX 14 +#define _POSIX_NGROUPS_MAX 0 +#define _POSIX_OPEN_MAX 16 +#define _POSIX_PATH_MAX 255 +#define _POSIX_PIPE_BUF 512 +#define _POSIX_SSIZE_MAX 32767 +#define _POSIX_STREAM_MAX 8 +#define _POSIX_TZNAME_MAX 3 + +#endif /* _MACH_MACHLIMITS_H_ */ +#endif /* _LIMITS_H___ */ |