summaryrefslogtreecommitdiffstats
path: root/sys/powerpc/include/_limits.h
diff options
context:
space:
mode:
authormike <mike@FreeBSD.org>2001-11-02 18:05:43 +0000
committermike <mike@FreeBSD.org>2001-11-02 18:05:43 +0000
commit3df91ed4db51c6be4fddae3f156823f0bd491a4c (patch)
tree937d4736faa17a6c2aad33562ef0c9e5702ed854 /sys/powerpc/include/_limits.h
parenta7cf9dee8f2c4a3ed37613951634d40b9fb66203 (diff)
downloadFreeBSD-src-3df91ed4db51c6be4fddae3f156823f0bd491a4c.zip
FreeBSD-src-3df91ed4db51c6be4fddae3f156823f0bd491a4c.tar.gz
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
Diffstat (limited to 'sys/powerpc/include/_limits.h')
-rw-r--r--sys/powerpc/include/_limits.h108
1 files changed, 108 insertions, 0 deletions
diff --git a/sys/powerpc/include/_limits.h b/sys/powerpc/include/_limits.h
index 0e96312..dcf2ba4 100644
--- a/sys/powerpc/include/_limits.h
+++ b/sys/powerpc/include/_limits.h
@@ -101,6 +101,114 @@
#define QUAD_MAX LLONG_MAX /* max value for a quad_t */
#define QUAD_MIN LLONG_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 (-0x7fffffffffffffffLL-1)
+
+/* Maximum values of exact-width signed integer types. */
+#define INT8_MAX 0x7f
+#define INT16_MAX 0x7fff
+#define INT32_MAX 0x7fffffff
+#define INT64_MAX 0x7fffffffffffffffLL
+
+/* Maximum values of exact-width unsigned integer types. */
+#define UINT8_MAX 0xff
+#define UINT16_MAX 0xffff
+#define UINT32_MAX 0xffffffffU
+#define UINT64_MAX 0xffffffffffffffffULL
+
+/*
+ * 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 LLONG_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 LLONG_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 ULLONG_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 LLONG_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 LLONG_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 ULLONG_MAX
+
+/*
+ * ISO/IEC 9899:1999
+ * 7.18.2.4 Limits of integer types capable of holding object pointers
+ */
+#define INTPTR_MIN INT_MIN
+#define INTPTR_MAX INT_MAX
+#define UINTPTR_MAX UINT_MAX
+
+/*
+ * ISO/IEC 9899:1999
+ * 7.18.2.5 Limits of greatest-width integer types
+ */
+#define INTMAX_MIN LLONG_MIN
+#define INTMAX_MAX LLONG_MAX
+#define UINTMAX_MAX ULLONG_MAX
+
+/*
+ * ISO/IEC 9899:1999
+ * 7.18.3 Limits of other integer types
+ */
+/* Limits of ptrdiff_t. */
+#define PTRDIFF_MIN INT_MIN
+#define PTRDIFF_MAX INT_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 UINT_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 */
#endif /* !_ANSI_SOURCE */
OpenPOWER on IntegriCloud