diff options
Diffstat (limited to 'utils/c2l/Posix.c')
| -rw-r--r-- | utils/c2l/Posix.c | 91 |
1 files changed, 91 insertions, 0 deletions
diff --git a/utils/c2l/Posix.c b/utils/c2l/Posix.c new file mode 100644 index 00000000..065f1e20 --- /dev/null +++ b/utils/c2l/Posix.c @@ -0,0 +1,91 @@ +#include "cc.h" + +void* +mysbrk(ulong size) +{ + return (void*)sbrk(size); +} + +int +mycreat(char *n, int p) +{ + + return create(n, 1, p); +} + +int +mywait(int *s) +{ + return wait(s); +} + +int +mydup(int f1, int f2) +{ + return dup2(f1,f2); +} + +int +mypipe(int *fd) +{ + return pipe(fd); +} + +int +systemtype(int sys) +{ + + return sys&Unix; +} + +int +pathchar(void) +{ + return '/'; +} + +char* +mygetwd(char *path, int len) +{ + return (char*)getcwd(path, len); +} + +int +myexec(char *path, char *argv[]) +{ + return execvp(path, argv); +} + +/* + * fake mallocs + */ +void* +malloc(size_t n) +{ + return alloc(n); +} + +void* +calloc(size_t m, size_t n) +{ + return alloc(m*n); +} + +void* +realloc(void *p, size_t n) +{ + fprint(2, "realloc called\n"); + abort(); + return 0; +} + +void +free(void *p) +{ +} + +int +myfork(void) +{ + return fork(); +} |
