glimits.h revision 50397
10SN/A#ifndef _LIMITS_H___
213029Sbobv#ifndef _MACH_MACHLIMITS_H_
30SN/A
40SN/A/* _MACH_MACHLIMITS_H_ is used on OSF/1.  */
50SN/A#define _LIMITS_H___
60SN/A#define _MACH_MACHLIMITS_H_
72362SN/A
80SN/A/* Number of bits in a `char'.  */
92362SN/A#undef CHAR_BIT
100SN/A#define CHAR_BIT 8
110SN/A
120SN/A/* Maximum length of a multibyte character.  */
130SN/A#ifndef MB_LEN_MAX
140SN/A#define MB_LEN_MAX 1
150SN/A#endif
160SN/A
170SN/A/* Minimum and maximum values a `signed char' can hold.  */
180SN/A#undef SCHAR_MIN
190SN/A#define SCHAR_MIN (-128)
200SN/A#undef SCHAR_MAX
212362SN/A#define SCHAR_MAX 127
222362SN/A
232362SN/A/* Maximum value an `unsigned char' can hold.  (Minimum is 0).  */
240SN/A#undef UCHAR_MAX
250SN/A#define UCHAR_MAX 255
260SN/A
270SN/A/* Minimum and maximum values a `char' can hold.  */
280SN/A#ifdef __CHAR_UNSIGNED__
290SN/A#undef CHAR_MIN
300SN/A#define CHAR_MIN 0
310SN/A#undef CHAR_MAX
320SN/A#define CHAR_MAX 255
330SN/A#else
340SN/A#undef CHAR_MIN
350SN/A#define CHAR_MIN (-128)
360SN/A#undef CHAR_MAX
370SN/A#define CHAR_MAX 127
380SN/A#endif
390SN/A
400SN/A/* Minimum and maximum values a `signed short int' can hold.  */
410SN/A#undef SHRT_MIN
420SN/A/* For the sake of 16 bit hosts, we may not use -32768 */
430SN/A#define SHRT_MIN (-32767-1)
440SN/A#undef SHRT_MAX
450SN/A#define SHRT_MAX 32767
460SN/A
470SN/A/* Maximum value an `unsigned short int' can hold.  (Minimum is 0).  */
480SN/A#undef USHRT_MAX
490SN/A#define USHRT_MAX 65535
5010117SN/A
5110117SN/A/* Minimum and maximum values a `signed int' can hold.  */
5210117SN/A#ifndef __INT_MAX__
5310117SN/A#define __INT_MAX__ 2147483647
5410117SN/A#endif
5510117SN/A#undef INT_MIN
560SN/A#define INT_MIN (-INT_MAX-1)
570SN/A#undef INT_MAX
580SN/A#define INT_MAX __INT_MAX__
590SN/A
600SN/A/* Maximum value an `unsigned int' can hold.  (Minimum is 0).  */
610SN/A#undef UINT_MAX
620SN/A#define UINT_MAX (INT_MAX * 2U + 1)
630SN/A
640SN/A/* Minimum and maximum values a `signed long int' can hold.
650SN/A   (Same as `int').  */
660SN/A#ifndef __LONG_MAX__
670SN/A#if defined (__alpha__) || (defined (__sparc_v9__) && defined (__arch64__))
680SN/A#define __LONG_MAX__ 9223372036854775807L
690SN/A#else
7013029Sbobv#define __LONG_MAX__ 2147483647L
710SN/A#endif /* __alpha__ || sparc64 */
720SN/A#endif
730SN/A#undef LONG_MIN
740SN/A#define LONG_MIN (-LONG_MAX-1)
750SN/A#undef LONG_MAX
760SN/A#define LONG_MAX __LONG_MAX__
770SN/A
780SN/A/* Maximum value an `unsigned long int' can hold.  (Minimum is 0).  */
790SN/A#undef ULONG_MAX
800SN/A#define ULONG_MAX (LONG_MAX * 2UL + 1)
810SN/A
820SN/A#if defined (__GNU_LIBRARY__) ? defined (__USE_GNU) : !defined (__STRICT_ANSI__)
830SN/A/* Minimum and maximum values a `signed long long int' can hold.  */
840SN/A#ifndef __LONG_LONG_MAX__
850SN/A#define __LONG_LONG_MAX__ 9223372036854775807LL
860SN/A#endif
870SN/A#undef LONG_LONG_MIN
880SN/A#define LONG_LONG_MIN (-LONG_LONG_MAX-1)
890SN/A#undef LONG_LONG_MAX
900SN/A#define LONG_LONG_MAX __LONG_LONG_MAX__
910SN/A
920SN/A/* Maximum value an `unsigned long long int' can hold.  (Minimum is 0).  */
930SN/A#undef ULONG_LONG_MAX
940SN/A#define ULONG_LONG_MAX (LONG_LONG_MAX * 2ULL + 1)
950SN/A#endif
960SN/A
970SN/A#endif /* _MACH_MACHLIMITS_H_ */
980SN/A#endif /* _LIMITS_H___ */
990SN/A