1 #pragma once 2 /** 3 * 请注意!!!由于系统调用模块已经使用Rust重构,当修改系统调用号时,需要同时修改syscall_num.h和syscall/mod.rs中的系统调用号 4 * 并且以syscall/mod.rs中的为准!!! 5 * 6 * TODO:在完成系统的重构后,删除syscall_num.h 7 * 8 */ 9 10 // 定义系统调用号 11 #define SYS_READ 0 12 #define SYS_WRITE 1 13 #define SYS_OPEN 2 14 #define SYS_CLOSE 3 15 16 #define SYS_FSTAT 5 17 #define SYS_LSEEK 8 18 #define SYS_MMAP 9 19 #define SYS_MPROTECT 10 20 #define SYS_MUNMAP 11 21 #define SYS_BRK 12 22 #define SYS_SIGACTION 13 23 24 #define SYS_RT_SIGRETURN 15 25 #define SYS_IOCTL 16 26 27 #define SYS_DUP 32 28 #define SYS_DUP2 33 29 30 #define SYS_NANOSLEEP 35 31 32 #define SYS_GETPID 39 33 34 #define SYS_SOCKET 41 35 #define SYS_CONNECT 42 36 #define SYS_ACCEPT 43 37 #define SYS_SENDTO 44 38 #define SYS_RECVFROM 45 39 40 #define SYS_RECVMSG 47 41 #define SYS_SHUTDOWN 48 42 #define SYS_BIND 49 43 #define SYS_LISTEN 50 44 #define SYS_GETSOCKNAME 51 45 #define SYS_GETPEERNAME 52 46 47 #define SYS_SETSOCKOPT 54 48 #define SYS_GETSOCKOPT 55 49 #define SYS_CLONE 56 50 #define SYS_FORK 57 51 #define SYS_VFORK 58 52 #define SYS_EXECVE 59 53 #define SYS_EXIT 60 54 #define SYS_WAIT4 61 55 #define SYS_KILL 62 56 57 #define SYS_FCNTL 72 58 59 #define SYS_FTRUNCATE 77 60 #define SYS_GET_DENTS 78 61 62 #define SYS_GETCWD 79 63 64 #define SYS_CHDIR 80 65 66 #define SYS_MKDIR 83 67 68 #define SYS_GETTIMEOFDAY 96 69 70 #define SYS_ARCH_PRCTL 158 71 72 #define SYS_REBOOT 169 73 74 #define SYS_GETPPID 110 75 #define SYS_GETPGID 121 76 77 #define SYS_MKNOD 133 78 79 #define SYS_FUTEX 202 80 81 #define SYS_SET_TID_ADDR 218 82 83 #define SYS_UNLINK_AT 263 84 85 #define SYS_PIPE 293 86 87 #define SYS_WRITEV 20 88 89 // 与linux不一致的调用,在linux基础上累加 90 #define SYS_PUT_STRING 100000 91 #define SYS_SBRK 100001 92 /// todo: 该系统调用与Linux不一致,将来需要删除该系统调用!!! 93 /// 删的时候记得改C版本的libc 94 #define SYS_CLOCK 100002 95 #define SYS_SCHED 100003 96