linux_syscall/arch/x86/
syscall_tbl.rs

1// Copyright (c) 2022 John Millikin <john@john-millikin.com>
2//
3// Permission to use, copy, modify, and/or distribute this software for any
4// purpose with or without fee is hereby granted.
5//
6// THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
7// REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
8// AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
9// INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
10// LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
11// OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
12// PERFORMANCE OF THIS SOFTWARE.
13//
14// SPDX-License-Identifier: 0BSD
15
16#![allow(non_upper_case_globals)]
17
18syscall_constants! {
19	SYS_exit                         = 1,
20	SYS_fork                         = 2,
21	SYS_read                         = 3,
22	SYS_write                        = 4,
23	SYS_open                         = 5,
24	SYS_close                        = 6,
25	SYS_waitpid                      = 7,
26	SYS_creat                        = 8,
27	SYS_link                         = 9,
28	SYS_unlink                       = 10,
29	SYS_execve                       = 11,
30	SYS_chdir                        = 12,
31	SYS_time                         = 13,
32	SYS_mknod                        = 14,
33	SYS_chmod                        = 15,
34	SYS_lchown                       = 16,
35	SYS_oldstat                      = 18,
36	SYS_lseek                        = 19,
37	SYS_getpid                       = 20,
38	SYS_mount                        = 21,
39	SYS_umount                       = 22,
40	SYS_setuid                       = 23,
41	SYS_getuid                       = 24,
42	SYS_stime                        = 25,
43	SYS_ptrace                       = 26,
44	SYS_alarm                        = 27,
45	SYS_oldfstat                     = 28,
46	SYS_pause                        = 29,
47	SYS_utime                        = 30,
48	SYS_access                       = 33,
49	SYS_nice                         = 34,
50	SYS_sync                         = 36,
51	SYS_kill                         = 37,
52	SYS_rename                       = 38,
53	SYS_mkdir                        = 39,
54	SYS_rmdir                        = 40,
55	SYS_dup                          = 41,
56	SYS_pipe                         = 42,
57	SYS_times                        = 43,
58	SYS_brk                          = 45,
59	SYS_setgid                       = 46,
60	SYS_getgid                       = 47,
61	SYS_signal                       = 48,
62	SYS_geteuid                      = 49,
63	SYS_getegid                      = 50,
64	SYS_acct                         = 51,
65	SYS_umount2                      = 52,
66	SYS_ioctl                        = 54,
67	SYS_fcntl                        = 55,
68	SYS_setpgid                      = 57,
69	SYS_oldolduname                  = 59,
70	SYS_umask                        = 60,
71	SYS_chroot                       = 61,
72	SYS_ustat                        = 62,
73	SYS_dup2                         = 63,
74	SYS_getppid                      = 64,
75	SYS_getpgrp                      = 65,
76	SYS_setsid                       = 66,
77	SYS_sigaction                    = 67,
78	SYS_sgetmask                     = 68,
79	SYS_ssetmask                     = 69,
80	SYS_setreuid                     = 70,
81	SYS_setregid                     = 71,
82	SYS_sigsuspend                   = 72,
83	SYS_sigpending                   = 73,
84	SYS_sethostname                  = 74,
85	SYS_setrlimit                    = 75,
86	SYS_getrlimit                    = 76,
87	SYS_getrusage                    = 77,
88	SYS_gettimeofday                 = 78,
89	SYS_settimeofday                 = 79,
90	SYS_getgroups                    = 80,
91	SYS_setgroups                    = 81,
92	SYS_select                       = 82,
93	SYS_symlink                      = 83,
94	SYS_oldlstat                     = 84,
95	SYS_readlink                     = 85,
96	SYS_swapon                       = 87,
97	SYS_reboot                       = 88,
98	SYS_readdir                      = 89,
99	SYS_mmap                         = 90,
100	SYS_munmap                       = 91,
101	SYS_truncate                     = 92,
102	SYS_ftruncate                    = 93,
103	SYS_fchmod                       = 94,
104	SYS_fchown                       = 95,
105	SYS_getpriority                  = 96,
106	SYS_setpriority                  = 97,
107	SYS_statfs                       = 99,
108	SYS_fstatfs                      = 100,
109	SYS_ioperm                       = 101,
110	SYS_socketcall                   = 102,
111	SYS_syslog                       = 103,
112	SYS_setitimer                    = 104,
113	SYS_getitimer                    = 105,
114	SYS_stat                         = 106,
115	SYS_lstat                        = 107,
116	SYS_fstat                        = 108,
117	SYS_olduname                     = 109,
118	SYS_iopl                         = 110,
119	SYS_vhangup                      = 111,
120	SYS_vm86old                      = 113,
121	SYS_wait4                        = 114,
122	SYS_swapoff                      = 115,
123	SYS_sysinfo                      = 116,
124	SYS_ipc                          = 117,
125	SYS_fsync                        = 118,
126	SYS_sigreturn                    = 119,
127	SYS_clone                        = 120,
128	SYS_setdomainname                = 121,
129	SYS_uname                        = 122,
130	SYS_modify_ldt                   = 123,
131	SYS_adjtimex                     = 124,
132	SYS_mprotect                     = 125,
133	SYS_sigprocmask                  = 126,
134	SYS_init_module                  = 128,
135	SYS_delete_module                = 129,
136	SYS_quotactl                     = 131,
137	SYS_getpgid                      = 132,
138	SYS_fchdir                       = 133,
139	SYS_personality                  = 136,
140	SYS_setfsuid                     = 138,
141	SYS_setfsgid                     = 139,
142	SYS__llseek                      = 140,
143	SYS_getdents                     = 141,
144	SYS__newselect                   = 142,
145	SYS_flock                        = 143,
146	SYS_msync                        = 144,
147	SYS_readv                        = 145,
148	SYS_writev                       = 146,
149	SYS_getsid                       = 147,
150	SYS_fdatasync                    = 148,
151	SYS_mlock                        = 150,
152	SYS_munlock                      = 151,
153	SYS_mlockall                     = 152,
154	SYS_munlockall                   = 153,
155	SYS_sched_setparam               = 154,
156	SYS_sched_getparam               = 155,
157	SYS_sched_setscheduler           = 156,
158	SYS_sched_getscheduler           = 157,
159	SYS_sched_yield                  = 158,
160	SYS_sched_get_priority_max       = 159,
161	SYS_sched_get_priority_min       = 160,
162	SYS_sched_rr_get_interval        = 161,
163	SYS_nanosleep                    = 162,
164	SYS_mremap                       = 163,
165	SYS_setresuid                    = 164,
166	SYS_getresuid                    = 165,
167	SYS_vm86                         = 166,
168	SYS_poll                         = 168,
169	SYS_setresgid                    = 170,
170	SYS_getresgid                    = 171,
171	SYS_prctl                        = 172,
172	SYS_rt_sigreturn                 = 173,
173	SYS_rt_sigaction                 = 174,
174	SYS_rt_sigprocmask               = 175,
175	SYS_rt_sigpending                = 176,
176	SYS_rt_sigtimedwait              = 177,
177	SYS_rt_sigqueueinfo              = 178,
178	SYS_rt_sigsuspend                = 179,
179	SYS_pread64                      = 180,
180	SYS_pwrite64                     = 181,
181	SYS_chown                        = 182,
182	SYS_getcwd                       = 183,
183	SYS_capget                       = 184,
184	SYS_capset                       = 185,
185	SYS_sigaltstack                  = 186,
186	SYS_sendfile                     = 187,
187	SYS_vfork                        = 190,
188	SYS_ugetrlimit                   = 191,
189	SYS_mmap2                        = 192,
190	SYS_truncate64                   = 193,
191	SYS_ftruncate64                  = 194,
192	SYS_stat64                       = 195,
193	SYS_lstat64                      = 196,
194	SYS_fstat64                      = 197,
195	SYS_lchown32                     = 198,
196	SYS_getuid32                     = 199,
197	SYS_getgid32                     = 200,
198	SYS_geteuid32                    = 201,
199	SYS_getegid32                    = 202,
200	SYS_setreuid32                   = 203,
201	SYS_setregid32                   = 204,
202	SYS_getgroups32                  = 205,
203	SYS_setgroups32                  = 206,
204	SYS_fchown32                     = 207,
205	SYS_setresuid32                  = 208,
206	SYS_getresuid32                  = 209,
207	SYS_setresgid32                  = 210,
208	SYS_getresgid32                  = 211,
209	SYS_chown32                      = 212,
210	SYS_setuid32                     = 213,
211	SYS_setgid32                     = 214,
212	SYS_setfsuid32                   = 215,
213	SYS_setfsgid32                   = 216,
214	SYS_pivot_root                   = 217,
215	SYS_mincore                      = 218,
216	SYS_madvise                      = 219,
217	SYS_getdents64                   = 220,
218	SYS_fcntl64                      = 221,
219	SYS_gettid                       = 224,
220	SYS_readahead                    = 225,
221	SYS_setxattr                     = 226,
222	SYS_lsetxattr                    = 227,
223	SYS_fsetxattr                    = 228,
224	SYS_getxattr                     = 229,
225	SYS_lgetxattr                    = 230,
226	SYS_fgetxattr                    = 231,
227	SYS_listxattr                    = 232,
228	SYS_llistxattr                   = 233,
229	SYS_flistxattr                   = 234,
230	SYS_removexattr                  = 235,
231	SYS_lremovexattr                 = 236,
232	SYS_fremovexattr                 = 237,
233	SYS_tkill                        = 238,
234	SYS_sendfile64                   = 239,
235	SYS_futex                        = 240,
236	SYS_sched_setaffinity            = 241,
237	SYS_sched_getaffinity            = 242,
238	SYS_set_thread_area              = 243,
239	SYS_get_thread_area              = 244,
240	SYS_io_setup                     = 245,
241	SYS_io_destroy                   = 246,
242	SYS_io_getevents                 = 247,
243	SYS_io_submit                    = 248,
244	SYS_io_cancel                    = 249,
245	SYS_fadvise64                    = 250,
246	SYS_exit_group                   = 252,
247	SYS_lookup_dcookie               = 253,
248	SYS_epoll_create                 = 254,
249	SYS_epoll_ctl                    = 255,
250	SYS_epoll_wait                   = 256,
251	SYS_set_tid_address              = 258,
252	SYS_timer_create                 = 259,
253	SYS_timer_settime                = 260,
254	SYS_timer_gettime                = 261,
255	SYS_timer_getoverrun             = 262,
256	SYS_timer_delete                 = 263,
257	SYS_clock_settime                = 264,
258	SYS_clock_gettime                = 265,
259	SYS_clock_getres                 = 266,
260	SYS_clock_nanosleep              = 267,
261	SYS_statfs64                     = 268,
262	SYS_fstatfs64                    = 269,
263	SYS_tgkill                       = 270,
264	SYS_utimes                       = 271,
265	SYS_fadvise64_64                 = 272,
266	SYS_mbind                        = 274,
267	SYS_get_mempolicy                = 275,
268	SYS_set_mempolicy                = 276,
269	SYS_mq_open                      = 277,
270	SYS_mq_unlink                    = 278,
271	SYS_mq_timedsend                 = 279,
272	SYS_mq_timedreceive              = 280,
273	SYS_mq_notify                    = 281,
274	SYS_mq_getsetattr                = 282,
275	SYS_kexec_load                   = 283,
276	SYS_waitid                       = 284,
277	SYS_add_key                      = 286,
278	SYS_request_key                  = 287,
279	SYS_keyctl                       = 288,
280	SYS_ioprio_set                   = 289,
281	SYS_ioprio_get                   = 290,
282	SYS_inotify_init                 = 291,
283	SYS_inotify_add_watch            = 292,
284	SYS_inotify_rm_watch             = 293,
285	SYS_migrate_pages                = 294,
286	SYS_openat                       = 295,
287	SYS_mkdirat                      = 296,
288	SYS_mknodat                      = 297,
289	SYS_fchownat                     = 298,
290	SYS_futimesat                    = 299,
291	SYS_fstatat64                    = 300,
292	SYS_unlinkat                     = 301,
293	SYS_renameat                     = 302,
294	SYS_linkat                       = 303,
295	SYS_symlinkat                    = 304,
296	SYS_readlinkat                   = 305,
297	SYS_fchmodat                     = 306,
298	SYS_faccessat                    = 307,
299	SYS_pselect6                     = 308,
300	SYS_ppoll                        = 309,
301	SYS_unshare                      = 310,
302	SYS_set_robust_list              = 311,
303	SYS_get_robust_list              = 312,
304	SYS_splice                       = 313,
305	SYS_sync_file_range              = 314,
306	SYS_tee                          = 315,
307	SYS_vmsplice                     = 316,
308	SYS_move_pages                   = 317,
309	SYS_getcpu                       = 318,
310	SYS_epoll_pwait                  = 319,
311	SYS_utimensat                    = 320,
312	SYS_signalfd                     = 321,
313	SYS_timerfd_create               = 322,
314	SYS_eventfd                      = 323,
315	SYS_fallocate                    = 324,
316	SYS_timerfd_settime              = 325,
317	SYS_timerfd_gettime              = 326,
318	SYS_signalfd4                    = 327,
319	SYS_eventfd2                     = 328,
320	SYS_epoll_create1                = 329,
321	SYS_dup3                         = 330,
322	SYS_pipe2                        = 331,
323	SYS_inotify_init1                = 332,
324	SYS_preadv                       = 333,
325	SYS_pwritev                      = 334,
326	SYS_rt_tgsigqueueinfo            = 335,
327	SYS_perf_event_open              = 336,
328	SYS_recvmmsg                     = 337,
329	SYS_fanotify_init                = 338,
330	SYS_fanotify_mark                = 339,
331	SYS_prlimit64                    = 340,
332	SYS_name_to_handle_at            = 341,
333	SYS_open_by_handle_at            = 342,
334	SYS_clock_adjtime                = 343,
335	SYS_syncfs                       = 344,
336	SYS_sendmmsg                     = 345,
337	SYS_setns                        = 346,
338	SYS_process_vm_readv             = 347,
339	SYS_process_vm_writev            = 348,
340	SYS_kcmp                         = 349,
341	SYS_finit_module                 = 350,
342	SYS_sched_setattr                = 351,
343	SYS_sched_getattr                = 352,
344	SYS_renameat2                    = 353,
345	SYS_seccomp                      = 354,
346	SYS_getrandom                    = 355,
347	SYS_memfd_create                 = 356,
348	SYS_bpf                          = 357,
349	SYS_execveat                     = 358,
350	SYS_socket                       = 359,
351	SYS_socketpair                   = 360,
352	SYS_bind                         = 361,
353	SYS_connect                      = 362,
354	SYS_listen                       = 363,
355	SYS_accept4                      = 364,
356	SYS_getsockopt                   = 365,
357	SYS_setsockopt                   = 366,
358	SYS_getsockname                  = 367,
359	SYS_getpeername                  = 368,
360	SYS_sendto                       = 369,
361	SYS_sendmsg                      = 370,
362	SYS_recvfrom                     = 371,
363	SYS_recvmsg                      = 372,
364	SYS_shutdown                     = 373,
365	SYS_userfaultfd                  = 374,
366	SYS_membarrier                   = 375,
367	SYS_mlock2                       = 376,
368	SYS_copy_file_range              = 377,
369	SYS_preadv2                      = 378,
370	SYS_pwritev2                     = 379,
371	SYS_pkey_mprotect                = 380,
372	SYS_pkey_alloc                   = 381,
373	SYS_pkey_free                    = 382,
374	SYS_statx                        = 383,
375	SYS_arch_prctl                   = 384,
376	SYS_io_pgetevents                = 385,
377	SYS_rseq                         = 386,
378	SYS_semget                       = 393,
379	SYS_semctl                       = 394,
380	SYS_shmget                       = 395,
381	SYS_shmctl                       = 396,
382	SYS_shmat                        = 397,
383	SYS_shmdt                        = 398,
384	SYS_msgget                       = 399,
385	SYS_msgsnd                       = 400,
386	SYS_msgrcv                       = 401,
387	SYS_msgctl                       = 402,
388	SYS_clock_gettime64              = 403,
389	SYS_clock_settime64              = 404,
390	SYS_clock_adjtime64              = 405,
391	SYS_clock_getres_time64          = 406,
392	SYS_clock_nanosleep_time64       = 407,
393	SYS_timer_gettime64              = 408,
394	SYS_timer_settime64              = 409,
395	SYS_timerfd_gettime64            = 410,
396	SYS_timerfd_settime64            = 411,
397	SYS_utimensat_time64             = 412,
398	SYS_pselect6_time64              = 413,
399	SYS_ppoll_time64                 = 414,
400	SYS_io_pgetevents_time64         = 416,
401	SYS_recvmmsg_time64              = 417,
402	SYS_mq_timedsend_time64          = 418,
403	SYS_mq_timedreceive_time64       = 419,
404	SYS_semtimedop_time64            = 420,
405	SYS_rt_sigtimedwait_time64       = 421,
406	SYS_futex_time64                 = 422,
407	SYS_sched_rr_get_interval_time64 = 423,
408	SYS_pidfd_send_signal            = 424,
409	SYS_io_uring_setup               = 425,
410	SYS_io_uring_enter               = 426,
411	SYS_io_uring_register            = 427,
412	SYS_open_tree                    = 428,
413	SYS_move_mount                   = 429,
414	SYS_fsopen                       = 430,
415	SYS_fsconfig                     = 431,
416	SYS_fsmount                      = 432,
417	SYS_fspick                       = 433,
418	SYS_pidfd_open                   = 434,
419	SYS_clone3                       = 435,
420	SYS_close_range                  = 436,
421	SYS_openat2                      = 437,
422	SYS_pidfd_getfd                  = 438,
423	SYS_faccessat2                   = 439,
424	SYS_process_madvise              = 440,
425	SYS_epoll_pwait2                 = 441,
426	SYS_mount_setattr                = 442,
427	SYS_quotactl_fd                  = 443,
428	SYS_landlock_create_ruleset      = 444,
429	SYS_landlock_add_rule            = 445,
430	SYS_landlock_restrict_self       = 446,
431	SYS_memfd_secret                 = 447,
432	SYS_process_mrelease             = 448,
433	SYS_futex_waitv                  = 449,
434	SYS_set_mempolicy_home_node      = 450,
435}