1 // system calls 2 int fork(void); 3 int exit(void) __attribute__((noreturn)); 4 int wait(void); 5 int pipe(int*); 6 int write(int, void*, int); 7 int read(int, void*, int); 8 int close(int); 9 int kill(int); 10 int exec(char*, char**); 11 int open(char*, int); 12 int mknod(char*, short, short); 13 int unlink(char*); 14 int fstat(int fd, struct stat*); 15 int link(char*, char*); 16 int mkdir(char*); 17 int chdir(char*); 18 int dup(int); 19 int getpid(); 20 char* sbrk(int); 21 22 // ulib.c 23 int stat(char*, struct stat*); 24 char* strcpy(char*, char*); 25 void *memmove(void*, void*, int); 26 char* strchr(const char*, char c); 27 int strcmp(const char*, const char*); 28 void printf(int, char*, ...); 29 char* gets(char*, int max); 30 uint strlen(char*); 31 void* memset(void*, int, uint); 32 void* malloc(uint); 33 void free(void*); 34 int atoi(const char*); 35