#include #include #include #include #include _syscall1(int, ctty, int, ctty); _syscall3(ssize_t, read, int, fd, void*, buf, size_t, len); _syscall3(ssize_t, write, int, fd, void*, buf, size_t, len); int puts(char *s) { size_t len = strlen(s); ssize_t ret; ret = write(STDOUT_FILENO, s, len); if(ret < 0) return EOF; return 0; } int printf(char *fmt, ...) { int ret; char buf[1024]; va_list ap; va_start(ap, fmt); ret = vsprintf(buf, fmt, ap); va_end(ap); puts(buf); return ret; } int sprintf(char *str, char *fmt, ...) { int ret; va_list ap; va_start(ap, fmt); ret = vsprintf(str, fmt, ap); va_end(ap); return ret; }