aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbellard <bellard>2001-11-11 02:54:21 +0000
committerbellard <bellard>2001-11-11 02:54:21 +0000
commitb536ac306846dcb1639bb15bda1131063103458c (patch)
tree6c3ffd2e5f88acf78c9f8a01b61168101c4abed7
parent507a221f7e6967cff747858b05e5644a7a7795bb (diff)
downloadtinycc-b536ac306846dcb1639bb15bda1131063103458c.tar.gz
tinycc-b536ac306846dcb1639bb15bda1131063103458c.tar.bz2
added std libs
-rw-r--r--stdarg.h11
-rw-r--r--stddef.h9
-rw-r--r--tcclib.h15
3 files changed, 31 insertions, 4 deletions
diff --git a/stdarg.h b/stdarg.h
new file mode 100644
index 0000000..67b9c71
--- /dev/null
+++ b/stdarg.h
@@ -0,0 +1,11 @@
+#ifndef _STDARG_H
+#define _STDARG_H
+
+typedef char *va_list;
+
+/* only correct for i386 */
+#define va_start(ap,last) ap=(char *)&(last);
+#define va_arg(ap,type) (ap-=sizeof (type), *(type *)(ap))
+#define va_end(ap)
+
+#endif
diff --git a/stddef.h b/stddef.h
new file mode 100644
index 0000000..4856037
--- /dev/null
+++ b/stddef.h
@@ -0,0 +1,9 @@
+#ifndef _STDDEF_H
+#define _STDDEF_H
+
+/* TCC include file */
+#define NULL ((void *)0)
+
+typedef unsigned int size_t;
+
+#endif
diff --git a/tcclib.h b/tcclib.h
index 08b2a5b..67deeec 100644
--- a/tcclib.h
+++ b/tcclib.h
@@ -4,10 +4,8 @@
* only for your convenience so that you do not need to put the whole
* glibc include files on your floppy disk
*/
-#define NULL 0
-typedef unsigned int size_t;
-typedef struct __FILE FILE;
-typedef void *va_list;
+#include <stddef.h>
+#include <stdarg.h>
/* stdlib.h */
void *calloc(size_t nmemb, size_t size);
@@ -19,6 +17,7 @@ long int strtol(const char *nptr, char **endptr, int base);
unsigned long int strtoul(const char *nptr, char **endptr, int base);
/* stdio.h */
+typedef struct __FILE FILE;
#define EOF (-1)
FILE *fopen(const char *path, const char *mode);
FILE *fdopen(int fildes, const char *mode);
@@ -47,6 +46,8 @@ int vsnprintf(char *str, size_t size, const char *format, va_list ap);
int vasprintf(char **strp, const char *format, va_list ap);
int vdprintf(int d, const char *format, va_list ap);
+void perror(const char *s);
+
/* string.h */
char *strcat(char *dest, const char *src);
char *strchr(const char *s, int c);
@@ -55,3 +56,9 @@ char *strcpy(char *dest, const char *src);
void *memcpy(void *dest, const void *src, size_t n);
void *memset(void *s, int c, size_t n);
char *strdup(const char *s);
+
+/* dlfcn.h */
+void *dlopen(const char *filename, int flag);
+const char *dlerror(void);
+void *dlsym(void *handle, char *symbol);
+int dlclose(void *handle);