diff options
author | Mike Barcroft <mike@FreeBSD.org> | 2001-11-02 18:05:43 +0000 |
---|---|---|
committer | Mike Barcroft <mike@FreeBSD.org> | 2001-11-02 18:05:43 +0000 |
commit | 0ac2d551f20a8769869f61ebfe742fd55cef70b9 (patch) | |
tree | 937d4736faa17a6c2aad33562ef0c9e5702ed854 /sys/sparc64/include/_limits.h | |
parent | 06d133c4752d14f8fd058311f52ff3d13a5f4105 (diff) |
o Add new header <sys/stdint.h>.
o Make <stdint.h> a symbolic link to <sys/stdint.h>.
o Move most of <sys/inttypes.h> into <sys/stdint.h>, as per C99.
o Remove <sys/inttypes.h>.
o Adjust includes in sys/types.h and boot/efi/include/ia64/efibind.h
to reflect new location of integer types in <sys/stdint.h>.
o Remove previously symbolicly linked <inttypes.h>, instead create a
new file.
o Add MD headers <machine/_inttypes.h> from NetBSD.
o Include <sys/stdint.h> in <inttypes.h>, as required by C99; and
include <machine/_inttypes.h> in <inttypes.h>, to fill in the
remaining requirements for <inttypes.h>.
o Add additional integer types in <machine/ansi.h> and
<machine/limits.h> which are included via <sys/stdint.h>.
Partially obtain from: NetBSD
Tested on: alpha, i386
Discussed on: freebsd-standards@bostonradio.org
Reviewed by: bde, fenner, obrien, wollman
Notes
Notes:
svn path=/head/; revision=85892
Diffstat (limited to 'sys/sparc64/include/_limits.h')
-rw-r--r-- | sys/sparc64/include/_limits.h | 108 |
1 files changed, 108 insertions, 0 deletions
diff --git a/sys/sparc64/include/_limits.h b/sys/sparc64/include/_limits.h index b7a8b5b675d5..6a3d1d275212 100644 --- a/sys/sparc64/include/_limits.h +++ b/sys/sparc64/include/_limits.h @@ -82,6 +82,114 @@ #define QUAD_MAX (LONG_MAX) /* max value for a quad_t */ #define QUAD_MIN (LONG_MIN) /* min value for a quad_t */ +#if !defined(__cplusplus) || defined(__STDC_LIMIT_MACROS) +/* + * ISO/IEC 9899:1999 + * 7.18.2.1 Limits of exact-width integer types + */ +/* Minimum values of exact-width signed integer types. */ +#define INT8_MIN (-0x7f-1) +#define INT16_MIN (-0x7fff-1) +#define INT32_MIN (-0x7fffffff-1) +#define INT64_MIN (-0x7fffffffffffffffL-1) + +/* Maximum values of exact-width signed integer types. */ +#define INT8_MAX 0x7f +#define INT16_MAX 0x7fff +#define INT32_MAX 0x7fffffff +#define INT64_MAX 0x7fffffffffffffffL + +/* Maximum values of exact-width unsigned integer types. */ +#define UINT8_MAX 0xff +#define UINT16_MAX 0xffff +#define UINT32_MAX 0xffffffffU +#define UINT64_MAX 0xffffffffffffffffUL + +/* + * ISO/IEC 9899:1999 + * 7.18.2.2 Limits of minimum-width integer types + */ +/* Minimum values of minimum-width signed integer types. */ +#define INT_LEAST8_MIN SCHAR_MIN +#define INT_LEAST16_MIN SHRT_MIN +#define INT_LEAST32_MIN INT_MIN +#define INT_LEAST64_MIN LONG_MIN + +/* Maximum values of minimum-width signed integer types. */ +#define INT_LEAST8_MAX SCHAR_MAX +#define INT_LEAST16_MAX SHRT_MAX +#define INT_LEAST32_MAX INT_MAX +#define INT_LEAST64_MAX LONG_MAX + +/* Maximum values of minimum-width unsigned integer types. */ +#define UINT_LEAST8_MAX UCHAR_MAX +#define UINT_LEAST16_MAX USHRT_MAX +#define UINT_LEAST32_MAX UINT_MAX +#define UINT_LEAST64_MAX ULONG_MAX + +/* + * ISO/IEC 9899:1999 + * 7.18.2.3 Limits of fastest minimum-width integer types + */ +/* Minimum values of fastest minimum-width signed integer types. */ +#define INT_FAST8_MIN INT_MIN +#define INT_FAST16_MIN INT_MIN +#define INT_FAST32_MIN INT_MIN +#define INT_FAST64_MIN LONG_MIN + +/* Maximum values of fastest minimum-width signed integer types. */ +#define INT_FAST8_MAX INT_MAX +#define INT_FAST16_MAX INT_MAX +#define INT_FAST32_MAX INT_MAX +#define INT_FAST64_MAX LONG_MAX + +/* Maximum values of fastest minimum-width unsigned integer types. */ +#define UINT_FAST8_MAX UINT_MAX +#define UINT_FAST16_MAX UINT_MAX +#define UINT_FAST32_MAX UINT_MAX +#define UINT_FAST64_MAX ULONG_MAX + +/* + * ISO/IEC 9899:1999 + * 7.18.2.4 Limits of integer types capable of holding object pointers + */ +#define INTPTR_MIN LONG_MIN +#define INTPTR_MAX LONG_MAX +#define UINTPTR_MAX ULONG_MAX + +/* + * ISO/IEC 9899:1999 + * 7.18.2.5 Limits of greatest-width integer types + */ +#define INTMAX_MIN LONG_MIN +#define INTMAX_MAX LONG_MAX +#define UINTMAX_MAX ULONG_MAX + +/* + * ISO/IEC 9899:1999 + * 7.18.3 Limits of other integer types + */ +/* Limits of ptrdiff_t. */ +#define PTRDIFF_MIN LONG_MIN +#define PTRDIFF_MAX LONG_MAX + +/* Limits of sig_atomic_t. */ +#define SIG_ATOMIC_MIN INT_MIN +#define SIG_ATOMIC_MAX INT_MAX + +/* Limit of size_t. */ +#define SIZE_MAX ULONG_MAX + +#ifndef WCHAR_MIN /* Also possibly defined in <wchar.h> */ +/* Limits of wchar_t. */ +#define WCHAR_MIN INT_MIN +#define WCHAR_MAX INT_MAX + +/* Limits of wint_t. */ +#define WINT_MIN INT_MIN +#define WINT_MAX INT_MAX +#endif +#endif /* !defined(__cplusplus) || defined(__STDC_LIMIT_MACROS) */ #endif /* !_POSIX_SOURCE && !_XOPEN_SOURCE */ #endif /* !_ANSI_SOURCE */ |