github.com/icexin/eggos@v0.4.2-0.20220216025428-78b167e4f349/kernel/sysnum.go (about) 1 package kernel 2 3 // copy from https://github.com/lunixbochs/ghostrace/blob/a9d482a46185139ca37908b6ce98e4c5ef048791/ghost/sys/num/linux_x86_64_sys.go#L3 4 var sysnum = [...]string{ 5 0: "read", 6 1: "write", 7 2: "open", 8 3: "close", 9 4: "stat", 10 5: "fstat", 11 6: "lstat", 12 7: "poll", 13 8: "lseek", 14 9: "mmap", 15 10: "mprotect", 16 11: "munmap", 17 12: "brk", 18 13: "rt_sigaction", 19 14: "rt_sigprocmask", 20 15: "rt_sigreturn", 21 16: "ioctl", 22 17: "pread64", 23 18: "pwrite64", 24 19: "readv", 25 20: "writev", 26 21: "access", 27 22: "pipe", 28 23: "select", 29 24: "sched_yield", 30 25: "mremap", 31 26: "msync", 32 27: "mincore", 33 28: "madvise", 34 29: "shmget", 35 30: "shmat", 36 31: "shmctl", 37 32: "dup", 38 33: "dup2", 39 34: "pause", 40 35: "nanosleep", 41 36: "getitimer", 42 37: "alarm", 43 38: "setitimer", 44 39: "getpid", 45 40: "sendfile", 46 41: "socket", 47 42: "connect", 48 43: "accept", 49 44: "sendto", 50 45: "recvfrom", 51 46: "sendmsg", 52 47: "recvmsg", 53 48: "shutdown", 54 49: "bind", 55 50: "listen", 56 51: "getsockname", 57 52: "getpeername", 58 53: "socketpair", 59 54: "setsockopt", 60 55: "getsockopt", 61 56: "clone", 62 57: "fork", 63 58: "vfork", 64 59: "execve", 65 60: "exit", 66 61: "wait4", 67 62: "kill", 68 63: "uname", 69 64: "semget", 70 65: "semop", 71 66: "semctl", 72 67: "shmdt", 73 68: "msgget", 74 69: "msgsnd", 75 70: "msgrcv", 76 71: "msgctl", 77 72: "fcntl", 78 73: "flock", 79 74: "fsync", 80 75: "fdatasync", 81 76: "truncate", 82 77: "ftruncate", 83 78: "getdents", 84 79: "getcwd", 85 80: "chdir", 86 81: "fchdir", 87 82: "rename", 88 83: "mkdir", 89 84: "rmdir", 90 85: "creat", 91 86: "link", 92 87: "unlink", 93 88: "symlink", 94 89: "readlink", 95 90: "chmod", 96 91: "fchmod", 97 92: "chown", 98 93: "fchown", 99 94: "lchown", 100 95: "umask", 101 96: "gettimeofday", 102 97: "getrlimit", 103 98: "getrusage", 104 99: "sysinfo", 105 100: "times", 106 101: "ptrace", 107 102: "getuid", 108 103: "syslog", 109 104: "getgid", 110 105: "setuid", 111 106: "setgid", 112 107: "geteuid", 113 108: "getegid", 114 109: "setpgid", 115 110: "getppid", 116 111: "getpgrp", 117 112: "setsid", 118 113: "setreuid", 119 114: "setregid", 120 115: "getgroups", 121 116: "setgroups", 122 117: "setresuid", 123 118: "getresuid", 124 119: "setresgid", 125 120: "getresgid", 126 121: "getpgid", 127 122: "setfsuid", 128 123: "setfsgid", 129 124: "getsid", 130 125: "capget", 131 126: "capset", 132 127: "rt_sigpending", 133 128: "rt_sigtimedwait", 134 129: "rt_sigqueueinfo", 135 130: "rt_sigsuspend", 136 131: "sigaltstack", 137 132: "utime", 138 133: "mknod", 139 134: "uselib", 140 135: "personality", 141 136: "ustat", 142 137: "statfs", 143 138: "fstatfs", 144 139: "sysfs", 145 140: "getpriority", 146 141: "setpriority", 147 142: "sched_setparam", 148 143: "sched_getparam", 149 144: "sched_setscheduler", 150 145: "sched_getscheduler", 151 146: "sched_get_priority_max", 152 147: "sched_get_priority_min", 153 148: "sched_rr_get_interval", 154 149: "mlock", 155 150: "munlock", 156 151: "mlockall", 157 152: "munlockall", 158 153: "vhangup", 159 154: "modify_ldt", 160 155: "pivot_root", 161 156: "_sysctl", 162 157: "prctl", 163 158: "arch_prctl", 164 159: "adjtimex", 165 160: "setrlimit", 166 161: "chroot", 167 162: "sync", 168 163: "acct", 169 164: "settimeofday", 170 165: "mount", 171 166: "umount2", 172 167: "swapon", 173 168: "swapoff", 174 169: "reboot", 175 170: "sethostname", 176 171: "setdomainname", 177 172: "iopl", 178 173: "ioperm", 179 174: "create_module", 180 175: "init_module", 181 176: "delete_module", 182 177: "get_kernel_syms", 183 178: "query_module", 184 179: "quotactl", 185 180: "nfsservctl", 186 181: "getpmsg", 187 182: "putpmsg", 188 183: "afs_syscall", 189 184: "tuxcall", 190 185: "security", 191 186: "gettid", 192 187: "readahead", 193 188: "setxattr", 194 189: "lsetxattr", 195 190: "fsetxattr", 196 191: "getxattr", 197 192: "lgetxattr", 198 193: "fgetxattr", 199 194: "listxattr", 200 195: "llistxattr", 201 196: "flistxattr", 202 197: "removexattr", 203 198: "lremovexattr", 204 199: "fremovexattr", 205 200: "tkill", 206 201: "time", 207 202: "futex", 208 203: "sched_setaffinity", 209 204: "sched_getaffinity", 210 205: "set_thread_area", 211 206: "io_setup", 212 207: "io_destroy", 213 208: "io_getevents", 214 209: "io_submit", 215 210: "io_cancel", 216 211: "get_thread_area", 217 212: "lookup_dcookie", 218 213: "epoll_create", 219 214: "epoll_ctl_old", 220 215: "epoll_wait_old", 221 216: "remap_file_pages", 222 217: "getdents64", 223 218: "set_tid_address", 224 219: "restart_syscall", 225 220: "semtimedop", 226 221: "fadvise64", 227 222: "timer_create", 228 223: "timer_settime", 229 224: "timer_gettime", 230 225: "timer_getoverrun", 231 226: "timer_delete", 232 227: "clock_settime", 233 228: "clock_gettime", 234 229: "clock_getres", 235 230: "clock_nanosleep", 236 231: "exit_group", 237 232: "epoll_wait", 238 233: "epoll_ctl", 239 234: "tgkill", 240 235: "utimes", 241 236: "vserver", 242 237: "mbind", 243 238: "set_mempolicy", 244 239: "get_mempolicy", 245 240: "mq_open", 246 241: "mq_unlink", 247 242: "mq_timedsend", 248 243: "mq_timedreceive", 249 244: "mq_notify", 250 245: "mq_getsetattr", 251 246: "kexec_load", 252 247: "waitid", 253 248: "add_key", 254 249: "request_key", 255 250: "keyctl", 256 251: "ioprio_set", 257 252: "ioprio_get", 258 253: "inotify_init", 259 254: "inotify_add_watch", 260 255: "inotify_rm_watch", 261 256: "migrate_pages", 262 257: "openat", 263 258: "mkdirat", 264 259: "mknodat", 265 260: "fchownat", 266 261: "futimesat", 267 262: "newfstatat", 268 263: "unlinkat", 269 264: "renameat", 270 265: "linkat", 271 266: "symlinkat", 272 267: "readlinkat", 273 268: "fchmodat", 274 269: "faccessat", 275 270: "pselect6", 276 271: "ppoll", 277 272: "unshare", 278 273: "set_robust_list", 279 274: "get_robust_list", 280 275: "splice", 281 276: "tee", 282 277: "sync_file_range", 283 278: "vmsplice", 284 279: "move_pages", 285 280: "utimensat", 286 281: "epoll_pwait", 287 282: "signalfd", 288 283: "timerfd_create", 289 284: "eventfd", 290 285: "fallocate", 291 286: "timerfd_settime", 292 287: "timerfd_gettime", 293 288: "accept4", 294 289: "signalfd4", 295 290: "eventfd2", 296 291: "epoll_create1", 297 292: "dup3", 298 293: "pipe2", 299 294: "inotify_init1", 300 295: "preadv", 301 296: "pwritev", 302 297: "rt_tgsigqueueinfo", 303 298: "perf_event_open", 304 299: "recvmmsg", 305 300: "fanotify_init", 306 301: "fanotify_mark", 307 302: "prlimit64", 308 303: "name_to_handle_at", 309 304: "open_by_handle_at", 310 305: "clock_adjtime", 311 306: "syncfs", 312 307: "sendmmsg", 313 308: "setns", 314 309: "getcpu", 315 310: "process_vm_readv", 316 311: "process_vm_writev", 317 312: "kcmp", 318 313: "finit_module", 319 } 320 321 //go:nosplit 322 func syscallName(n int) string { 323 if n >= len(sysnum) { 324 return "unknown" 325 } 326 return sysnum[n] 327 }