Source: classlib/include/limits.h


Annotated List
Files
Globals
Hierarchy
Index
/***************************************************************************
    limits.h  -  limitazioni di sistema
                             -------------------
    begin                : ven dic  7 17:40:01 CET 2001
    copyright            : (C) 2001 by Nicola De Nisco
    email                : nicola@winada.it
 ***************************************************************************/

/***************************************************************************
 *                                                                         *
 *   This program is free software; you can redistribute it and/or modify  *
 *   it under the terms of the GNU General Public License as published by  *
 *   the Free Software Foundation; either version 2 of the License, or     *
 *   (at your option) any later version.                                   *
 *                                                                         *
 ***************************************************************************/

#ifndef _INC_LIMITS
#define _INC_LIMITS

#define CHAR_BIT	  8		/* number of bits in a char */
#define SCHAR_MIN	(-128)		/* minimum signed char value */
#define SCHAR_MAX	  127		/* maximum signed char value */
#define UCHAR_MAX	  0xff		/* maximum unsigned char value */

#ifndef _CHAR_UNSIGNED
#define CHAR_MIN	SCHAR_MIN	/* mimimum char value */
#define CHAR_MAX	SCHAR_MAX	/* maximum char value */
#else
#define CHAR_MIN	  0
#define CHAR_MAX	UCHAR_MAX
#endif	/* _CHAR_UNSIGNED */

//#define	MB_LEN_MAX	  2		/* max. # bytes in multibyte char */
#define SHRT_MIN	(-32768)	/* minimum (signed) short value */
#define SHRT_MAX	  32767 	/* maximum (signed) short value */
#define USHRT_MAX	  0xffff	/* maximum unsigned short value */
#define INT_MIN 	(-2147483647 - 1) /* minimum (signed) int value */
#define INT_MAX 	  2147483647	/* maximum (signed) int value */
#define UINT_MAX	  0xffffffff	/* maximum unsigned int value */
#define LONG_MIN	(-2147483647L - 1) /* minimum (signed) long value */
#define LONG_MAX	  2147483647L	/* maximum (signed) long value */
#define ULONG_MAX	  0xffffffffUL	/* maximum unsigned long value */

#if	_INTEGRAL_MAX_BITS >= 8
#define _I8_MIN 	(-127i8 - 1)	/* minimum signed 8 bit value */
#define _I8_MAX 	  127i8		/* maximum signed 8 bit value */
#define _UI8_MAX	  0xffui8	/* maximum unsigned 8 bit value */
#endif

#if	_INTEGRAL_MAX_BITS >= 16
#define _I16_MIN	(-32767i16 - 1)	/* minimum signed 16 bit value */
#define _I16_MAX	  32767i16	/* maximum signed 16 bit value */
#define _UI16_MAX	  0xffffui16	/* maximum unsigned 16 bit value */
#endif

#if	_INTEGRAL_MAX_BITS >= 32
#define _I32_MIN	(-2147483647i32 - 1) /* minimum signed 32 bit value */
#define _I32_MAX	  2147483647i32 /* maximum signed 32 bit value */
#define _UI32_MAX	  0xffffffffui32 /* maximum unsigned 32 bit value */
#endif

#if	_INTEGRAL_MAX_BITS >= 64
/* minimum signed 64 bit value */
#define _I64_MIN	(-9223372036854775807i64 - 1)
/* maximum signed 64 bit value */
#define _I64_MAX	  9223372036854775807i64
/* maximum unsigned 64 bit value */
#define _UI64_MAX	  0xffffffffffffffffui64
#endif

#if	_INTEGRAL_MAX_BITS >= 128
/* minimum signed 128 bit value */
#define _I128_MIN	(-170141183460469231731687303715884105727i128 - 1)
/* maximum signed 128 bit value */
#define _I128_MAX	  170141183460469231731687303715884105727i128
/* maximum unsigned 128 bit value */
#define _UI128_MAX	  0xffffffffffffffffffffffffffffffffui128
#endif

#ifdef _POSIX_

#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

#define ARG_MAX                 14500	/* 16k heap, minus overhead */
#define MAX_CANON               _POSIX_MAX_CANON
#define MAX_INPUT               _POSIX_MAX_INPUT
#define NAME_MAX		255
#define NGROUPS_MAX             16
#define OPEN_MAX                32
#define PATH_MAX                512
#define PIPE_BUF                _POSIX_PIPE_BUF
#define SSIZE_MAX		_POSIX_SSIZE_MAX
#define STREAM_MAX		20
#define TZNAME_MAX		10

#endif /* POSIX */

#endif	/* _INC_LIMITS */

Generated by: nicola on gulliver.wadahome.it on Sun May 25 13:54:34 2003, using kdoc 2.0a53.