#ifndef _UNISTD_H #define _UNISTD_H #include #ifndef _SSIZE_T #define _SSIZE_T typedef int32_t ssize_t; #endif typedef int16_t pid_t; #define __SYS_alarm 0 #define __SYS_ctty 1 #define __SYS_getpdir 2 #define __SYS_getpid 3 #define __SYS_kill 4 #define __SYS_panic 5 #define __SYS_pause 6 #define __SYS_read 7 #define __SYS_signal 8 #define __SYS_time 9 #define __SYS_write 10 #define _syscall0(type, name) \ type name(void) { \ type __res; \ __asm__ volatile ( \ "int $0x80" \ : "=a" (__res) \ : "a" (__SYS_##name) \ ); \ return __res; \ } #define _syscall1(type, name, atype, a) \ type name(atype a) { \ type __res; \ __asm__ volatile ( \ "int $0x80" \ : "=a" (__res) \ : "a" (__SYS_##name), "b" (a) \ ); \ return __res; \ } #define _syscall2(type, name, atype, a, btype, b) \ type name(atype a, btype b) { \ type __res; \ __asm__ volatile ( \ "int $0x80" \ : "=a" (__res) \ : "a" (__SYS_##name), "b" (a), "c" (b) \ ); \ return __res; \ } pid_t getpid(void); void *getpdir(void); int pause(void); void panic(void); #endif