diff options
author | Robert de Bath <rdebath@poboxes.com> | 1997-10-05 15:05:09 +0200 |
---|---|---|
committer | Lubomir Rintel <lkundrak@v3.sk> | 2013-10-23 23:40:02 +0200 |
commit | 48798bf2eb93ec3b99720ac2e16093441156653d (patch) | |
tree | 35e03d95df5f2677f05e32d70abb6d0583aa47ba /libc/include/asm | |
parent | 9d97bc3cb3aecd3416fb7c4be3ca2f436665b696 (diff) | |
download | dev86-48798bf2eb93ec3b99720ac2e16093441156653d.tar.gz |
Import Dev86src-0.13.0.tar.gzv0.13.0
Diffstat (limited to 'libc/include/asm')
-rw-r--r-- | libc/include/asm/limits.h | 57 | ||||
-rw-r--r-- | libc/include/asm/types.h | 34 |
2 files changed, 91 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 diff --git a/libc/include/asm/types.h b/libc/include/asm/types.h new file mode 100644 index 0000000..f4d9f46 --- /dev/null +++ b/libc/include/asm/types.h @@ -0,0 +1,34 @@ + +/* asm/types.h - Basic sized C data types. */ + +#ifndef __ASM_8086_TYPES +#define __ASM_8086_TYPES + +/* First we define all of the __u and __s types...*/ + +typedef unsigned char __u8; +typedef unsigned char * __pu8; + +#ifndef __BCC__ /* NOTE! BCC does _not_ have a signed char type! */ +typedef char __s8; +typedef char * __ps8; +#endif + +typedef unsigned short __u16; +typedef unsigned short * __pu16; +typedef short __s16; +typedef short * __ps16; + +typedef unsigned long __u32; +typedef unsigned long * __pu32; +typedef long __s32; +typedef long * __ps32; + +/* __uint == 16bit on 8086 32bit on i386 */ + +typedef unsigned int __uint; +typedef int __sint; +typedef unsigned int * __puint; +typedef int * __psint; + +#endif |