summaryrefslogtreecommitdiff
path: root/libc/include/asm/limits.h
diff options
context:
space:
mode:
Diffstat (limited to 'libc/include/asm/limits.h')
-rw-r--r--libc/include/asm/limits.h57
1 files changed, 57 insertions, 0 deletions
diff --git a/libc/include/asm/limits.h b/libc/include/asm/limits.h
new file mode 100644
index 0000000..54b48bc
--- /dev/null
+++ b/libc/include/asm/limits.h
@@ -0,0 +1,57 @@
+/* Copyright (C) 1996 Robert de Bath <rdebath@cix.compulink.co.uk>
+ * This file is part of the Linux-8086 C library and is distributed
+ * under the GNU Library General Public License.
+ */
+
+#ifndef __ASM_LIMITS_H
+#define __ASM_LIMITS_H
+
+/* Common defines for current processors */
+#define MB_LEN_MAX 1 /* Longest multi-byte character */
+#define CHAR_BIT 8 /* number of bits in a char */
+#define SHRT_MAX 32767 /* maximum (signed) short value */
+#define SHRT_MIN (-32767) /* minimum (signed) short value */
+#define LONG_MAX 2147483647 /* maximum (signed) long value */
+#define LONG_MIN (-2147483647) /* minimum (signed) long value */
+#define UCHAR_MAX 255 /* maximum unsigned char value */
+#define USHRT_MAX 0xffff /* maximum unsigned short value */
+#define ULONG_MAX 0xffffffff /* maximum unsigned long value */
+
+#ifdef __BCC__
+#define CHAR_MAX 255 /* maximum char value */
+#define CHAR_MIN (0) /* mimimum char value */
+
+#ifdef __AS386_32__
+#define INT_MAX 2147483647 /* maximum (signed) int value */
+#define INT_MIN (-2147483647) /* minimum (signed) int value */
+#define UINT_MAX 0xffffffff /* maximum unsigned int value */
+#else
+#define INT_MAX 32767 /* maximum (signed) int value */
+#define INT_MIN (-32767) /* minimum (signed) int value */
+#define UINT_MAX 0xffff /* maximum unsigned int value */
+#endif
+
+/* BCC doesn't have signed char */
+/* #define SCHAR_MAX 127 /* maximum signed char value */
+/* #define SCHAR_MIN (-127) /* minimum signed char value */
+#endif
+
+#if defined(__GNUC__) && defined(__i386__)
+#define CHAR_MAX 127 /* maximum char value */
+#define CHAR_MIN (-127) /* mimimum char value */
+#define SCHAR_MAX 127 /* maximum signed char value */
+#define SCHAR_MIN (-127) /* minimum signed char value */
+#define INT_MAX 2147483647 /* maximum (signed) int value */
+#define INT_MIN (-2147483647) /* minimum (signed) int value */
+#define UINT_MAX 0xffffffff /* maximum unsigned int value */
+#endif
+
+#ifndef INT_MAX
+#error "Limits.h not fully implemented"
+#endif
+
+#ifndef RAND_MAX
+#define RAND_MAX INT_MAX
+#endif
+
+#endif