summaryrefslogtreecommitdiff
path: root/lib/ultralib/include/compiler/ido
diff options
context:
space:
mode:
Diffstat (limited to 'lib/ultralib/include/compiler/ido')
-rw-r--r--lib/ultralib/include/compiler/ido/math.h1
-rw-r--r--lib/ultralib/include/compiler/ido/memory.h23
-rw-r--r--lib/ultralib/include/compiler/ido/stdarg.h33
-rw-r--r--lib/ultralib/include/compiler/ido/stdio.h1
-rw-r--r--lib/ultralib/include/compiler/ido/stdlib.h81
-rw-r--r--lib/ultralib/include/compiler/ido/string.h42
6 files changed, 181 insertions, 0 deletions
diff --git a/lib/ultralib/include/compiler/ido/math.h b/lib/ultralib/include/compiler/ido/math.h
new file mode 100644
index 0000000..3e93ceb
--- /dev/null
+++ b/lib/ultralib/include/compiler/ido/math.h
@@ -0,0 +1 @@
+// Nothing needed here
diff --git a/lib/ultralib/include/compiler/ido/memory.h b/lib/ultralib/include/compiler/ido/memory.h
new file mode 100644
index 0000000..edfff5e
--- /dev/null
+++ b/lib/ultralib/include/compiler/ido/memory.h
@@ -0,0 +1,23 @@
+#ifndef _MEMORY_H
+#define _MEMORY_H
+/*
+ memory.h
+*/
+
+#ifndef _SIZE_T_DEF
+#define _SIZE_T_DEF
+typedef unsigned size_t;
+#endif
+
+void *memccpy(void *,void *,int,size_t);
+void *memchr(void *,int,size_t);
+int memcmp(const void *,const void *,size_t);
+void *memcpy(void *,const void *,size_t);
+int memicmp(void *,void *,size_t);
+void *memmove(void *,void *,size_t);
+void *memset(void *,int,size_t);
+
+void movmem(void *,void *,unsigned);
+void setmem(void *,unsigned,int);
+
+#endif
diff --git a/lib/ultralib/include/compiler/ido/stdarg.h b/lib/ultralib/include/compiler/ido/stdarg.h
new file mode 100644
index 0000000..62f68e0
--- /dev/null
+++ b/lib/ultralib/include/compiler/ido/stdarg.h
@@ -0,0 +1,33 @@
+#ifndef _STDARG_H
+#define _STDARG_H
+
+typedef char *va_list;
+#define _FP 1
+#define _INT 0
+#define _STRUCT 2
+
+#define _VA_FP_SAVE_AREA 0x10
+#define _VA_ALIGN(p, a) (((unsigned int)(((char *)p) + ((a) > 4 ? (a) : 4) - 1)) & -((a) > 4 ? (a) : 4))
+#define va_start(vp, parmN) (vp = ((va_list)&parmN + sizeof(parmN)))
+
+#define __va_stack_arg(list, mode) \
+ ( \
+ ((list) = (char *)_VA_ALIGN(list, __builtin_alignof(mode)) + \
+ _VA_ALIGN(sizeof(mode), 4)), \
+ (((char *)list) - (_VA_ALIGN(sizeof(mode), 4) - sizeof(mode))))
+
+#define __va_double_arg(list, mode) \
+ ( \
+ (((long)list & 0x1) /* 1 byte aligned? */ \
+ ? (list = (char *)((long)list + 7), (char *)((long)list - 6 - _VA_FP_SAVE_AREA)) \
+ : (((long)list & 0x2) /* 2 byte aligned? */ \
+ ? (list = (char *)((long)list + 10), (char *)((long)list - 24 - _VA_FP_SAVE_AREA)) \
+ : __va_stack_arg(list, mode))))
+
+#define va_arg(list, mode) ((mode *)(((__builtin_classof(mode) == _FP && \
+ __builtin_alignof(mode) == sizeof(double)) \
+ ? __va_double_arg(list, mode) \
+ : __va_stack_arg(list, mode))))[-1]
+#define va_end(__list)
+
+#endif /* STDARG_H */
diff --git a/lib/ultralib/include/compiler/ido/stdio.h b/lib/ultralib/include/compiler/ido/stdio.h
new file mode 100644
index 0000000..3e93ceb
--- /dev/null
+++ b/lib/ultralib/include/compiler/ido/stdio.h
@@ -0,0 +1 @@
+// Nothing needed here
diff --git a/lib/ultralib/include/compiler/ido/stdlib.h b/lib/ultralib/include/compiler/ido/stdlib.h
new file mode 100644
index 0000000..98f8a2e
--- /dev/null
+++ b/lib/ultralib/include/compiler/ido/stdlib.h
@@ -0,0 +1,81 @@
+#ifndef _STDLIB_H
+#define _STDLIB_H
+/*
+ stdlib.h
+*/
+
+#ifndef _SIZE_T_DEF
+#define _SIZE_T_DEF
+typedef unsigned size_t;
+#endif
+
+#ifndef _DIV_T_DEF
+#define _DIV_T_DEF
+typedef struct DIV_T {
+ int quot;
+ int rem;
+} div_t;
+#endif
+
+#ifndef _LDIV_T_DEF
+#define _LDIV_T_DEF
+typedef struct LDIV_T {
+ long quot;
+ long rem;
+} ldiv_t;
+#endif
+
+#ifndef _LLDIV_T_DEF
+#define _LLDIV_T_DEF
+typedef struct lldiv_t
+{
+ long long quot;
+ long long rem;
+} lldiv_t;
+#endif
+
+#ifndef NULL
+#define NULL 0
+#endif
+
+#define _max(a,b) (((a) > (b)) ? (a) : (b))
+#define _min(a,b) (((a) < (b)) ? (a) : (b))
+
+#define RAND_MAX 32767
+
+int rand(void);
+void srand(unsigned);
+
+int abs(int);
+long labs(long);
+
+div_t div(int,int);
+ldiv_t ldiv(long,long);
+lldiv_t lldiv(long long, long long);
+
+int atoi(const char *);
+long atol(const char *);
+
+long strtol(const char *,char **,int);
+unsigned long strtoul(const char *,char **,int);
+
+char *itoa(int,char *,int);
+char *ltoa(long,char *,int);
+char *ultoa(unsigned long,char *,int);
+
+double atof(const char *);
+double strtod(const char *,char **);
+
+void qsort(void *,size_t,size_t,int (*)(const void *,const void *));
+void *bsearch(const void *,const void *,size_t,size_t,int (*)(const void *,const void *));
+
+void *malloc(size_t);
+void *calloc(size_t,size_t);
+void *realloc(void *,size_t);
+void free(void *);
+
+void exit(int);
+
+void abort(void);
+
+#endif
diff --git a/lib/ultralib/include/compiler/ido/string.h b/lib/ultralib/include/compiler/ido/string.h
new file mode 100644
index 0000000..d82e1f1
--- /dev/null
+++ b/lib/ultralib/include/compiler/ido/string.h
@@ -0,0 +1,42 @@
+#ifndef _STRING_H
+#define _STRING_H
+/*
+ string.h
+*/
+
+#ifndef _SIZE_T_DEF
+#define _SIZE_T_DEF
+typedef unsigned size_t;
+#endif
+
+#include "memory.h"
+
+char *stpcpy(char *,const char *);
+char *strcat(char *,const char *);
+char *strchr(const char *,int);
+int strcmp(const char *,const char *);
+char *strcpy(char *,const char *);
+size_t strcspn(const char *,const char *);
+char *strdup(const char *);
+char *strerror(int);
+int stricmp(const char *,const char *);
+size_t strlen(const char *);
+char *strlwr(char *);
+char *strncat(char *,const char *,size_t);
+int strncmp(const char *,const char *,size_t);
+char *strncpy(char *,const char *,size_t);
+int strnicmp(const char *,const char *,size_t);
+char *strnset(char *,int,size_t);
+char *strpbrk(const char *,const char *);
+char *strrchr(const char *,int);
+char *strrev(char *);
+char *strset(char *,int);
+size_t strspn(const char *,const char *);
+char *strstr(const char *,const char *);
+char *strtok(char *,const char *);
+char *strupr(char *);
+
+#define strcmpi(s1,s2) stricmp(s1,s2)
+#define strncmpi(s1,s2,n) strnicmp(s1,s2,n)
+
+#endif