aboutsummaryrefslogtreecommitdiffstats
path: root/code/tools/lcc/include/mips
diff options
context:
space:
mode:
Diffstat (limited to 'code/tools/lcc/include/mips')
-rw-r--r--code/tools/lcc/include/mips/irix/assert.h14
-rw-r--r--code/tools/lcc/include/mips/irix/ctype.h40
-rw-r--r--code/tools/lcc/include/mips/irix/errno.h8
-rw-r--r--code/tools/lcc/include/mips/irix/float.h37
-rw-r--r--code/tools/lcc/include/mips/irix/limits.h24
-rw-r--r--code/tools/lcc/include/mips/irix/locale.h36
-rw-r--r--code/tools/lcc/include/mips/irix/math.h29
-rw-r--r--code/tools/lcc/include/mips/irix/setjmp.h10
-rw-r--r--code/tools/lcc/include/mips/irix/signal.h20
-rw-r--r--code/tools/lcc/include/mips/irix/stdarg.h22
-rw-r--r--code/tools/lcc/include/mips/irix/stddef.h22
-rw-r--r--code/tools/lcc/include/mips/irix/stdio.h103
-rw-r--r--code/tools/lcc/include/mips/irix/stdlib.h54
-rw-r--r--code/tools/lcc/include/mips/irix/string.h35
-rw-r--r--code/tools/lcc/include/mips/irix/time.h48
15 files changed, 502 insertions, 0 deletions
diff --git a/code/tools/lcc/include/mips/irix/assert.h b/code/tools/lcc/include/mips/irix/assert.h
new file mode 100644
index 0000000..04b0e3a
--- /dev/null
+++ b/code/tools/lcc/include/mips/irix/assert.h
@@ -0,0 +1,14 @@
+#ifndef __ASSERT
+#define __ASSERT
+
+void assert(int);
+
+#endif /* __ASSERT */
+
+#undef assert
+#ifdef NDEBUG
+#define assert(ignore) ((void)0)
+#else
+extern int _assert(char *, char *, unsigned);
+#define assert(e) ((void)((e)||_assert(#e, __FILE__, __LINE__)))
+#endif /* NDEBUG */
diff --git a/code/tools/lcc/include/mips/irix/ctype.h b/code/tools/lcc/include/mips/irix/ctype.h
new file mode 100644
index 0000000..2a43440
--- /dev/null
+++ b/code/tools/lcc/include/mips/irix/ctype.h
@@ -0,0 +1,40 @@
+#ifndef __CTYPE
+#define __CTYPE
+
+extern int isalnum(int);
+extern int isalpha(int);
+extern int iscntrl(int);
+extern int isdigit(int);
+extern int isgraph(int);
+extern int islower(int);
+extern int isprint(int);
+extern int ispunct(int);
+extern int isspace(int);
+extern int isupper(int);
+extern int isxdigit(int);
+extern int tolower(int);
+extern int toupper(int);
+
+#define __U 01
+#define __L 02
+#define __N 04
+#define __S 010
+#define __P 020
+#define __C 040
+#define __B 0100
+#define __X 0200
+
+extern unsigned char _ctype[];
+#define isalnum(c) ((_ctype+1)[c]&(__U|__L|__N))
+#define isalpha(c) ((_ctype+1)[c]&(__U|__L))
+#define iscntrl(c) ((_ctype+1)[c]&__C)
+#define isdigit(c) ((_ctype+1)[c]&__N)
+#define isgraph(c) ((_ctype+1)[c]&(__P|__U|__L|__N))
+#define islower(c) ((_ctype+1)[c]&__L)
+#define isprint(c) ((_ctype+1)[c]&(__P|__U|__L|__N|__B))
+#define ispunct(c) ((_ctype+1)[c]&__P)
+#define isspace(c) ((_ctype+1)[c]&__S)
+#define isupper(c) ((_ctype+1)[c]&__U)
+#define isxdigit(c) ((_ctype+1)[c]&__X)
+
+#endif /* __CTYPE */
diff --git a/code/tools/lcc/include/mips/irix/errno.h b/code/tools/lcc/include/mips/irix/errno.h
new file mode 100644
index 0000000..c914e05
--- /dev/null
+++ b/code/tools/lcc/include/mips/irix/errno.h
@@ -0,0 +1,8 @@
+#ifndef __ERRNO
+#define __ERRNO
+
+#define EDOM 33
+#define ERANGE 34
+extern int errno;
+
+#endif /* __ERRNO */
diff --git a/code/tools/lcc/include/mips/irix/float.h b/code/tools/lcc/include/mips/irix/float.h
new file mode 100644
index 0000000..a3e1eb5
--- /dev/null
+++ b/code/tools/lcc/include/mips/irix/float.h
@@ -0,0 +1,37 @@
+#ifndef __FLOAT
+#define __FLOAT
+
+#define FLT_ROUNDS 1
+#define FLT_RADIX 2
+
+#define FLT_DIG 6
+#define FLT_EPSILON 1.19209289550781250000e-07
+#define FLT_MANT_DIG 24
+#define FLT_MAX 3.40282346638528860000e+38
+#define FLT_MAX_10_EXP 38
+#define FLT_MAX_EXP 128
+#define FLT_MIN 1.17549435082228750000e-38
+#define FLT_MIN_10_EXP -37
+#define FLT_MIN_EXP -125
+
+#define DBL_DIG 15
+#define DBL_EPSILON 2.22044604925031310000e-16
+#define DBL_MANT_DIG 53
+#define DBL_MAX 1.79769313486231570000e+308
+#define DBL_MAX_10_EXP 308
+#define DBL_MAX_EXP 1024
+#define DBL_MIN 2.22507385850720140000e-308
+#define DBL_MIN_10_EXP -307
+#define DBL_MIN_EXP -1021
+
+#define LDBL_MANT_DIG DBL_MANT_DIG
+#define LDBL_EPSILON DBL_EPSILON
+#define LDBL_DIG DBL_DIG
+#define LDBL_MIN_EXP DBL_MIN_EXP
+#define LDBL_MIN DBL_MIN
+#define LDBL_MIN_10_EXP DBL_MIN_10_EXP
+#define LDBL_MAX_EXP DBL_MAX_EXP
+#define LDBL_MAX DBL_MAX
+#define LDBL_MAX_10_EXP DBL_MAX_10_EXP
+
+#endif /* __FLOAT */
diff --git a/code/tools/lcc/include/mips/irix/limits.h b/code/tools/lcc/include/mips/irix/limits.h
new file mode 100644
index 0000000..30944a5
--- /dev/null
+++ b/code/tools/lcc/include/mips/irix/limits.h
@@ -0,0 +1,24 @@
+#ifndef __LIMITS
+#define __LIMITS
+
+#define CHAR_BIT 8
+#define MB_LEN_MAX 1
+
+#define UCHAR_MAX 0xff
+#define USHRT_MAX 0xffff
+#define UINT_MAX (~0U)
+#define ULONG_MAX (~0UL)
+
+#define CHAR_MAX SCHAR_MAX
+#define SCHAR_MAX 0x7f
+#define SHRT_MAX 0x7fff
+#define INT_MAX 0x7fffffff
+#define LONG_MAX 0x7fffffffL
+
+#define CHAR_MIN SCHAR_MIN
+#define SCHAR_MIN (-SCHAR_MAX-1)
+#define SHRT_MIN (-SHRT_MAX-1)
+#define INT_MIN (-INT_MAX-1)
+#define LONG_MIN (-LONG_MAX-1)
+
+#endif /* __LIMITS */
diff --git a/code/tools/lcc/include/mips/irix/locale.h b/code/tools/lcc/include/mips/irix/locale.h
new file mode 100644
index 0000000..acce293
--- /dev/null
+++ b/code/tools/lcc/include/mips/irix/locale.h
@@ -0,0 +1,36 @@
+#ifndef __LOCALE
+#define __LOCALE
+
+#define LC_ALL 0
+#define LC_COLLATE 1
+#define LC_CTYPE 2
+#define LC_MONETARY 3
+#define LC_NUMERIC 4
+#define LC_TIME 5
+#define NULL 0
+
+struct lconv {
+ char *decimal_point;
+ char *thousands_sep;
+ char *grouping;
+ char *int_curr_symbol;
+ char *currency_symbol;
+ char *mon_decimal_point;
+ char *mon_thousands_sep;
+ char *mon_grouping;
+ char *positive_sign;
+ char *negative_sign;
+ char int_frac_digits;
+ char frac_digits;
+ char p_cs_precedes;
+ char p_sep_by_space;
+ char n_cs_precedes;
+ char n_sep_by_space;
+ char p_sign_posn;
+ char n_sign_posn;
+};
+
+char *setlocale(int, const char *);
+struct lconv *localeconv(void);
+
+#endif /* __LOCALE */
diff --git a/code/tools/lcc/include/mips/irix/math.h b/code/tools/lcc/include/mips/irix/math.h
new file mode 100644
index 0000000..d2a31f4
--- /dev/null
+++ b/code/tools/lcc/include/mips/irix/math.h
@@ -0,0 +1,29 @@
+#ifndef __MATH
+#define __MATH
+
+#define HUGE_VAL 1.79769313486231570000e+308
+
+extern double acos(double);
+extern double asin(double);
+extern double atan(double);
+extern double atan2(double, double);
+extern double cos(double);
+extern double sin(double);
+extern double tan(double);
+extern double cosh(double);
+extern double sinh(double);
+extern double tanh(double);
+extern double exp(double);
+extern double frexp(double, int *);
+extern double ldexp(double, int);
+extern double log(double);
+extern double log10(double);
+extern double modf(double, double *);
+extern double pow(double, double);
+extern double sqrt(double);
+extern double ceil(double);
+extern double fabs(double);
+extern double floor(double);
+extern double fmod(double, double);
+
+#endif /* __MATH */
diff --git a/code/tools/lcc/include/mips/irix/setjmp.h b/code/tools/lcc/include/mips/irix/setjmp.h
new file mode 100644
index 0000000..384a1ca
--- /dev/null
+++ b/code/tools/lcc/include/mips/irix/setjmp.h
@@ -0,0 +1,10 @@
+#ifndef __SETJMP
+#define __SETJMP
+
+
+
+typedef int jmp_buf[28];
+int setjmp(jmp_buf);
+void longjmp(jmp_buf, int);
+
+#endif /* __SETJMP */
diff --git a/code/tools/lcc/include/mips/irix/signal.h b/code/tools/lcc/include/mips/irix/signal.h
new file mode 100644
index 0000000..c208a6b
--- /dev/null
+++ b/code/tools/lcc/include/mips/irix/signal.h
@@ -0,0 +1,20 @@
+#ifndef __SIGNAL
+#define __SIGNAL
+
+typedef int sig_atomic_t;
+
+#define SIG_DFL ((void (*)(int))0)
+#define SIG_ERR ((void (*)(int))-1)
+#define SIG_IGN ((void (*)(int))1)
+
+#define SIGABRT 6
+#define SIGFPE 8
+#define SIGILL 4
+#define SIGINT 2
+#define SIGSEGV 11
+#define SIGTERM 15
+
+void (*signal(int, void (*)(int)))(int);
+int raise(int);
+
+#endif /* __SIGNAL */
diff --git a/code/tools/lcc/include/mips/irix/stdarg.h b/code/tools/lcc/include/mips/irix/stdarg.h
new file mode 100644
index 0000000..594db32
--- /dev/null
+++ b/code/tools/lcc/include/mips/irix/stdarg.h
@@ -0,0 +1,22 @@
+#ifndef __STDARG
+#define __STDARG
+
+#if !defined(_VA_LIST)
+#define _VA_LIST
+typedef char *__va_list;
+#endif
+typedef __va_list va_list;
+
+#define va_start(list, start) ((void)((list) = (sizeof(start)<4 ? \
+ (char *)((int *)&(start)+1) : (char *)(&(start)+1))))
+#define __va_arg(list, mode, n) \
+ (*(mode *)(&(list += ((sizeof(mode)+n)&~n))[-(int)((sizeof(mode)+n)&~n)]))
+#define _bigendian_va_arg(list, mode, n) (\
+ sizeof(mode)==1 ? *(mode *)(&(list += 4)[-1]) : \
+ sizeof(mode)==2 ? *(mode *)(&(list += 4)[-2]) : __va_arg(list, mode, n))
+#define _littleendian_va_arg(list, mode, n) __va_arg(list, mode, n)
+#define va_end(list) ((void)0)
+#define va_arg(list, mode) (sizeof(mode)==8 ? \
+ *(mode *)(&(list = (char*)(((int)list + 15)&~7U))[-8]) : \
+ _bigendian_va_arg(list, mode, 3U))
+#endif
diff --git a/code/tools/lcc/include/mips/irix/stddef.h b/code/tools/lcc/include/mips/irix/stddef.h
new file mode 100644
index 0000000..4e87e1c
--- /dev/null
+++ b/code/tools/lcc/include/mips/irix/stddef.h
@@ -0,0 +1,22 @@
+#ifndef __STDDEF
+#define __STDDEF
+
+
+#define NULL 0
+#define offsetof(ty,mem) ((size_t)((char*)&((ty*)0)->mem - (char*)0))
+
+typedef long ptrdiff_t;
+
+#if !defined(_SIZE_T) && !defined(_SIZE_T_)
+#define _SIZE_T
+#define _SIZE_T_
+typedef unsigned long size_t;
+#endif
+
+#if !defined(_WCHAR_T) && !defined(_WCHAR_T_)
+#define _WCHAR_T
+#define _WCHAR_T_
+typedef unsigned short wchar_t;
+#endif
+
+#endif /* __STDDEF */
diff --git a/code/tools/lcc/include/mips/irix/stdio.h b/code/tools/lcc/include/mips/irix/stdio.h
new file mode 100644
index 0000000..2668465
--- /dev/null
+++ b/code/tools/lcc/include/mips/irix/stdio.h
@@ -0,0 +1,103 @@
+#ifndef __STDIO
+#define __STDIO
+
+#define _IOFBF 0
+#define _IOLBF 0100
+#define _IONBF 04
+#define BUFSIZ 1024
+#define EOF (-1)
+
+extern struct _iobuf {
+ int _cnt;
+ unsigned char *_ptr;
+ unsigned char *_base;
+ char _flag;
+ char _file;
+} _iob[];
+#define FILE struct _iobuf
+#define FILENAME_MAX 256
+#define FOPEN_MAX 100
+
+#if !defined(_FPOS_T) && !defined(_FPOS_T_)
+#define _FPOS_T
+#define _FPOS_T_
+typedef long fpos_t;
+#endif
+
+#define L_tmpnam 25
+#define NULL 0
+#define SEEK_CUR 1
+#define SEEK_END 2
+#define SEEK_SET 0
+
+#if !defined(_SIZE_T) && !defined(_SIZE_T_)
+#define _SIZE_T
+#define _SIZE_T_
+typedef unsigned long size_t;
+#endif
+
+#if !defined(_VA_LIST)
+#define _VA_LIST
+typedef char *__va_list;
+#endif
+
+#define stderr (&_iob[2])
+#define stdin (&_iob[0])
+#define stdout (&_iob[1])
+#define TMP_MAX 17576
+
+extern int remove(const char *);
+extern int rename(const char *, const char *);
+extern FILE *tmpfile(void);
+extern char *tmpnam(char *);
+extern int fclose(FILE *);
+extern int fflush(FILE *);
+extern FILE *fopen(const char *, const char *);
+extern FILE *freopen(const char *, const char *, FILE *);
+extern void setbuf(FILE *, char *);
+extern int setvbuf(FILE *, char *, int, size_t);
+extern int fprintf(FILE *, const char *, ...);
+extern int fscanf(FILE *, const char *, ...);
+extern int printf(const char *, ...);
+extern int scanf(const char *, ...);
+extern int sprintf(char *, const char *, ...);
+extern int sscanf(const char *, const char *, ...);
+extern int vfprintf(FILE *, const char *, __va_list);
+extern int vprintf(const char *, __va_list);
+extern int vsprintf(char *, const char *, __va_list);
+extern int fgetc(FILE *);
+extern char *fgets(char *, int, FILE *);
+extern int fputc(int, FILE *);
+extern int fputs(const char *, FILE *);
+extern int getc(FILE *);
+extern int getchar(void);
+extern char *gets(char *);
+extern int putc(int, FILE *);
+extern int putchar(int);
+extern int puts(const char *);
+extern int ungetc(int, FILE *);
+extern size_t fread(void *, size_t, size_t, FILE *);
+extern size_t fwrite(const void *, size_t, size_t, FILE *);
+extern int fgetpos(FILE *, fpos_t *);
+extern int fseek(FILE *, long int, int);
+extern int fsetpos(FILE *, const fpos_t *);
+extern long int ftell(FILE *);
+extern void rewind(FILE *);
+extern void clearerr(FILE *);
+extern int feof(FILE *);
+extern int ferror(FILE *);
+extern void perror(const char *);
+
+#define _IOEOF 020
+#define _IOERR 040
+
+#define getc(p) (--(p)->_cnt < 0 ? _filbuf(p) : (int) *(p)->_ptr++)
+#define putc(x, p) (--(p)->_cnt < 0 ? _flsbuf((unsigned char) (x), p) : (int) (*(p)->_ptr++ = (unsigned char) (x)))
+extern int _filbuf(FILE *), _flsbuf(unsigned, FILE *);
+#define feof(p) ((p)->_flag&_IOEOF)
+#define ferror(p) ((p)->_flag&_IOERR)
+#define clearerr(p) ((p)->_flag &= ~(_IOERR|_IOEOF))
+#define getchar() getc(stdin)
+#define putchar(x) putc((x),stdout)
+
+#endif /* __STDIO */
diff --git a/code/tools/lcc/include/mips/irix/stdlib.h b/code/tools/lcc/include/mips/irix/stdlib.h
new file mode 100644
index 0000000..ac1204c
--- /dev/null
+++ b/code/tools/lcc/include/mips/irix/stdlib.h
@@ -0,0 +1,54 @@
+#ifndef __STDLIB
+#define __STDLIB
+
+#define EXIT_FAILURE 1
+#define EXIT_SUCCESS 0
+#define MB_CUR_MAX 1
+#define NULL 0
+#define RAND_MAX 32767
+
+typedef struct { int quot, rem; } div_t;
+typedef struct { long quot, rem; } ldiv_t;
+
+#if !defined(_SIZE_T) && !defined(_SIZE_T_)
+#define _SIZE_T
+#define _SIZE_T_
+typedef unsigned long size_t;
+#endif
+
+#if !defined(_WCHAR_T) && !defined(_WCHAR_T_)
+#define _WCHAR_T
+#define _WCHAR_T_
+typedef unsigned char wchar_t;
+#endif
+
+extern double atof(const char *);
+extern int atoi(const char *);
+extern long int atol(const char *);
+extern double strtod(const char *, char **);
+extern long int strtol(const char *, char **, int);
+extern unsigned long int strtoul(const char *, char **, int);
+extern int rand(void);
+extern void srand(unsigned int);
+extern void *calloc(size_t, size_t);
+extern void free(void *);
+extern void *malloc(size_t);
+extern void *realloc(void *, size_t);
+extern void abort(void);
+extern int atexit(void (*)(void));
+extern void exit(int);
+extern char *getenv(const char *);
+extern int system(const char *);
+extern void *bsearch(const void *, const void *, size_t, size_t, int (*)(const void *, const void *));
+extern void qsort(void *, size_t, size_t, int (*)(const void *, const void *));
+extern int abs(int);
+extern div_t div(int, int);
+extern long int labs(long int);
+extern ldiv_t ldiv(long int, long int);
+extern int mblen(const char *, size_t);
+extern int mbtowc(wchar_t *, const char *, size_t);
+extern int wctomb(char *, wchar_t);
+extern size_t mbstowcs(wchar_t *, const char *, size_t);
+extern size_t wcstombs(char *, const wchar_t *, size_t);
+
+#endif /* __STDLIB */
diff --git a/code/tools/lcc/include/mips/irix/string.h b/code/tools/lcc/include/mips/irix/string.h
new file mode 100644
index 0000000..8432820
--- /dev/null
+++ b/code/tools/lcc/include/mips/irix/string.h
@@ -0,0 +1,35 @@
+#ifndef __STRING
+#define __STRING
+
+#define NULL 0
+
+#if !defined(_SIZE_T) && !defined(_SIZE_T_)
+#define _SIZE_T
+#define _SIZE_T_
+typedef unsigned long size_t;
+#endif
+
+void *memcpy(void *, const void *, size_t);
+void *memmove(void *, const void *, size_t);
+char *strcpy(char *, const char *);
+char *strncpy(char *, const char *, size_t);
+char *strcat(char *, const char *);
+char *strncat(char *, const char *, size_t);
+int memcmp(const void *, const void *, size_t);
+int strcmp(const char *, const char *);
+int strcoll(const char *, const char *);
+int strncmp(const char *, const char *, size_t);
+size_t strxfrm(char *, const char *, size_t);
+void *memchr(const void *, int, size_t);
+char *strchr(const char *, int);
+size_t strcspn(const char *, const char *);
+char *strpbrk(const char *, const char *);
+char *strrchr(const char *, int);
+size_t strspn(const char *, const char *);
+char *strstr(const char *, const char *);
+char *strtok(char *, const char *);
+void *memset(void *, int, size_t);
+char *strerror(int);
+size_t strlen(const char *);
+
+#endif /* __STRING */
diff --git a/code/tools/lcc/include/mips/irix/time.h b/code/tools/lcc/include/mips/irix/time.h
new file mode 100644
index 0000000..07d8b41
--- /dev/null
+++ b/code/tools/lcc/include/mips/irix/time.h
@@ -0,0 +1,48 @@
+#ifndef __TIME
+#define __TIME
+
+#define CLOCKS_PER_SEC 1000000
+#ifndef NULL
+#define NULL 0
+#endif
+
+#if !defined(_CLOCK_T) && !defined(_CLOCK_T_)
+#define _CLOCK_T
+#define _CLOCK_T_
+typedef long clock_t;
+#endif
+
+#if !defined(_TIME_T) && !defined(_TIME_T_)
+#define _TIME_T
+#define _TIME_T_
+typedef long time_t;
+#endif
+
+#if !defined(_SIZE_T) && !defined(_SIZE_T_)
+#define _SIZE_T
+#define _SIZE_T_
+typedef unsigned long size_t;
+#endif
+
+struct tm {
+ int tm_sec;
+ int tm_min;
+ int tm_hour;
+ int tm_mday;
+ int tm_mon;
+ int tm_year;
+ int tm_wday;
+ int tm_yday;
+ int tm_isdst;
+};
+extern clock_t clock(void);
+extern double difftime(time_t, time_t);
+extern time_t mktime(struct tm *);
+extern time_t time(time_t *);
+extern char *asctime(const struct tm *);
+extern char *ctime(const time_t *);
+extern struct tm *gmtime(const time_t *);
+extern struct tm *localtime(const time_t *);
+extern size_t strftime(char *, size_t, const char *, const struct tm *);
+
+#endif /* __TIME */