summaryrefslogtreecommitdiffstats
path: root/sys/i386/include/limits.h
diff options
context:
space:
mode:
Diffstat (limited to 'sys/i386/include/limits.h')
-rw-r--r--sys/i386/include/limits.h108
1 files changed, 108 insertions, 0 deletions
diff --git a/sys/i386/include/limits.h b/sys/i386/include/limits.h
index 0e96312..dcf2ba4 100644
--- a/sys/i386/include/limits.h
+++ b/sys/i386/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