home *** CD-ROM | disk | FTP | other *** search
- /*
- * LIMITS.H
- */
-
- #ifndef LIMITS_H
- #define LIMITS_H
-
- #define PATHSIZE (128) /* maximum pathname length */
-
- #define BITSPERBYTE 8
-
- /* constants with only the high bit set */
- #define HIBITS ((short) (1 << (BITSPERBYTE * sizeof(short) - 1)))
- #define HIBITI ((int) (1 << (BITSPERBYTE * sizeof(int) - 1)))
- #define HIBITL ((long) (1L << (BITSPERBYTE * sizeof(long) - 1)))
-
- /* largest value for each type */
- #define MAXSHORT ((short) (~HIBITS))
- #ifndef MAXINT
- #define MAXINT ((int) (~HIBITI))
- #endif
- #define MAXLONG ((long) (~HIBITL))
-
- /* smallest value for each type (assumes 2's complement representation) */
- #define MINSHORT HIBITS
- #ifndef MININT
- #define MININT HIBITI
- #endif
- #define MINLONG HIBITL
-
- /* similar #defines for ANSI compatibility */
- #define CHAR_BIT BITSPERBYTE
- #define CHAR_MAX SCHAR_MAX
- #define CHAR_MIN SCHAR_MIN
- #define INT_MAX MAXINT
- #define INT_MIN MININT
- #define LONG_MAX MAXLONG
- #define LONG_MIN MINLONG
- #define SCHAR_MAX (127)
- #define SCHAR_MIN (-128)
- #define SHRT_MAX MAXSHORT
- #define SHRT_MIN MINSHORT
- #define UCHAR_MAX ~((unsigned char) 0)
- #define UINT_MAX ~((unsigned int) 0)
- #define ULONG_MAX ~((unsigned long) 0)
- #define USHRT_MAX ~((unsigned short) 0)
-
- #endif LIMITS_H
-