/* * 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)) #define MAXINT ((int) (~HIBITI)) #define MAXLONG ((long) (~HIBITL)) /* smallest value for each type (assumes 2's complement representation) */ #define MINSHORT HIBITS #define MININT HIBITI #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