home *** CD-ROM | disk | FTP | other *** search
- /*
- * LIMITS.H
- * see ansi draft sec 4.1.3 and 2.2.4.2
- */
-
- #ifndef _LIMITS_H
- #define _LIMITS_H
-
- #ifndef _COMPILER_H
- #include <compiler.h>
- #endif
-
- #define CHAR_BIT 8
-
- #define SCHAR_MAX 127
- #define SCHAR_MIN (-128)
- #define UCHAR_MAX 255
-
- #ifdef __CHAR_UNSIGNED__
- #define CHAR_MAX UCHAR_MAX
- #define CHAR_MIN 0
- #else
- #define CHAR_MAX SCHAR_MAX
- #define CHAR_MIN SCHAR_MIN
- #endif
-
- #define SHRT_MAX 32767
- #define SHRT_MIN (-32768)
- #define LONG_MAX 2147483647L
- #define LONG_MIN (-2147483648L)
- #define USHRT_MAX 65535U
- #define ULONG_MAX 4294967295UL
-
- #ifdef __MSHORT__ /* 16 bit ints */
- #define INT_MAX SHRT_MAX
- #define INT_MIN SHRT_MIN
- #define UINT_MAX USHRT_MAX
-
- #else /* 32 bit ints */
-
- #define INT_MAX 2147483647
- #define INT_MIN (-2147483648)
- #define UINT_MAX 4294967295U
-
- #endif /* __MSHORT__ */
-
- #define MB_LEN_MAX 1 /* max. number of bytes in a multibyte character */
-
- /*
- * POSIX-specific stuff; see 1003.1 sect. 2.9
- *
- * Note that the library is *not* POSIX compliant; hence
- * the illegally small values for some constants (e.g. _POSIX_LINK_MAX)
- */
-
- #define _POSIX_ARG_MAX 4096
- #define _POSIX_CHILD_MAX 6
- #define _POSIX_LINK_MAX 8
- #define _POSIX_MAX_CANON 64 /* <- NON-CONFORMING */
- #define _POSIX_MAX_INPUT 64 /* <- NON-CONFORMING */
- #define _POSIX_NAME_MAX 14
- #define _POSIX_NGROUPS_MAX 0
- #define _POSIX_OPEN_MAX 16
- #define _POSIX_PATH_MAX 128 /* <- NON-CONFORMING */
- #define _POSIX_PIPE_BUF 512
-
- #ifndef __STRICT_ANSI__
-
- #define NGROUPS_MAX _POSIX_NGROUPS_MAX
- #if 0
- /* both of these are actually limited by available memory */
- #define ARG_MAX 32767
- #define CHILD_MAX 16
- #endif
-
- #define OPEN_MAX 32
- #define LINK_MAX 32767
- #define MAX_CANON _POSIX_MAX_CANON
- #define MAX_INPUT _POSIX_MAX_INPUT
- #define NAME_MAX 31
- /* actually, file systems _could_ support more */
- #define PATH_MAX _POSIX_PATH_MAX
- #define PIPE_BUF _POSIX_PIPE_BUF
-
- #endif /* __STRICT_ANSI__ */
-
- #endif /* _LIMITS_H */
-