diff --git a/ChangeLog b/ChangeLog index 1c4d2b0..d35b509 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,15 @@ +Mon Jan 14 21:22:26 2008 Minero Aoki + + * test/string.hb: new file. + + * test/strings.hb: new file. + + * test/stddef.hb: new file. + + * test/errno.hb: new file. + + * test/stdio.hb: add more decls. + Mon Jan 14 02:40:32 2008 Minero Aoki * net/loveruby/cflat/ast/DefinedFunction.java: remove unused diff --git a/test/errno.hb b/test/errno.hb new file mode 100644 index 0000000..0ef87eb --- /dev/null +++ b/test/errno.hb @@ -0,0 +1,5 @@ +// errno.hb + +extern char*[] sys_errlist; +extern int sys_nerr; +extern int errno; diff --git a/test/stddef.hb b/test/stddef.hb new file mode 100644 index 0000000..fa0bd0d --- /dev/null +++ b/test/stddef.hb @@ -0,0 +1,2 @@ +// stddef.h +typedef unsigned long size_t; diff --git a/test/stdio.hb b/test/stdio.hb index d1cb071..a672884 100644 --- a/test/stdio.hb +++ b/test/stdio.hb @@ -1,4 +1,36 @@ -extern int printf(char *fmt, ...); -extern int puts(char *str); +// stdio.hb + +import stddef; // for size_t + +typedef unsigned long FILE; + +extern FILE* stdin; +extern FILE* stdout; +extern FILE* stderr; + +extern FILE* fopen(char* path, char* mode); +extern FILE* fdopen(int fd, char* mode); +extern FILE* freopen(char* path, char* mode, FILE* stream); +extern int fclose(FILE* stream); +extern int getchar(void); +extern int getc(FILE* stream); +extern int fgetc(FILE* stream); +extern int ungetc(int c, FILE* stream); +extern char* gets(char* buf); +extern char* fgets(char* buf, int size, FILE* stream); extern int putc(int c); -extern int getc(void); +extern int putchar(int c); +extern int fputc(int c, FILE* stream); +extern int puts(char *str); +extern int fputs(char* str, FILE* stream); +extern int printf(char *fmt, ...); +extern int fprintf(FILE* stream, char* fmt, ...); +extern int sprintf(char* buf, char* fmt, ...); +extern int snprintf(char* buf, size_t size, char* fmt, ...); +extern size_t fread(void* buf, size_t size, size_t nmemb, FILE* stream); +extern size_t fwrite(void* buf, size_t size, size_t nmemb, FILE* stream); +extern int feof(FILE* stream); +extern int ferror(FILE* stream); +extern int fileno(FILE* stream); +extern void clearerr(FILE* stream); +extern void perror(char* param); diff --git a/test/string.hb b/test/string.hb new file mode 100644 index 0000000..2abeef3 --- /dev/null +++ b/test/string.hb @@ -0,0 +1,19 @@ +// string.hb + +import stddef; // for size_t + +extern char* strcat(char* dest, char* src); +extern char* strncat(char* dest, char* src, size_t len); +extern char* strchr(char* str, int c); +extern char* strrchr(char* str, int c); +extern int strcmp(char* str1, char* str2); +extern int strncmp(char* str1, char* str2, size_t len); +extern char* strcpy(char* dest, char* src); +extern char* strncpy(char* dest, char* src, size_t len); +extern char* strdup(char* str); +extern size_t strlen(char* str); +extern char* strstr(char* str, char* pattern); +extern size_t strspn(char* str, char* accept); +extern size_t strcspn(char* str, char* reject); +extern char* strerror(int errnum); +extern char* strerror_r(int errnum, char* buf, size_t size); diff --git a/test/strings.hb b/test/strings.hb new file mode 100644 index 0000000..296ab91 --- /dev/null +++ b/test/strings.hb @@ -0,0 +1,8 @@ +// strings.hb + +import stddef; + +extern int strcasecmp(char* str1, char* str2); +extern int strncasecmp(char* str1, char* str2, size_t len); +extern char* index(char* src, int ch); +extern char* rindex(char* src, int ch); diff --git a/test/unistd.hb b/test/unistd.hb index 534c27c..fa10b95 100644 --- a/test/unistd.hb +++ b/test/unistd.hb @@ -1 +1,3 @@ +// unistd.hb + extern void _exit(int status);