linux_syscall/arch/x86_64/
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_read                    = 0,
20	SYS_write                   = 1,
21	SYS_open                    = 2,
22	SYS_close                   = 3,
23	SYS_stat                    = 4,
24	SYS_fstat                   = 5,
25	SYS_lstat                   = 6,
26	SYS_poll                    = 7,
27	SYS_lseek                   = 8,
28	SYS_mmap                    = 9,
29	SYS_mprotect                = 10,
30	SYS_munmap                  = 11,
31	SYS_brk                     = 12,
32	SYS_rt_sigaction            = 13,
33	SYS_rt_sigprocmask          = 14,
34	SYS_rt_sigreturn            = 15,
35	SYS_ioctl                   = 16,
36	SYS_pread64                 = 17,
37	SYS_pwrite64                = 18,
38	SYS_readv                   = 19,
39	SYS_writev                  = 20,
40	SYS_access                  = 21,
41	SYS_pipe                    = 22,
42	SYS_select                  = 23,
43	SYS_sched_yield             = 24,
44	SYS_mremap                  = 25,
45	SYS_msync                   = 26,
46	SYS_mincore                 = 27,
47	SYS_madvise                 = 28,
48	SYS_shmget                  = 29,
49	SYS_shmat                   = 30,
50	SYS_shmctl                  = 31,
51	SYS_dup                     = 32,
52	SYS_dup2                    = 33,
53	SYS_pause                   = 34,
54	SYS_nanosleep               = 35,
55	SYS_getitimer               = 36,
56	SYS_alarm                   = 37,
57	SYS_setitimer               = 38,
58	SYS_getpid                  = 39,
59	SYS_sendfile                = 40,
60	SYS_socket                  = 41,
61	SYS_connect                 = 42,
62	SYS_accept                  = 43,
63	SYS_sendto                  = 44,
64	SYS_recvfrom                = 45,
65	SYS_sendmsg                 = 46,
66	SYS_recvmsg                 = 47,
67	SYS_shutdown                = 48,
68	SYS_bind                    = 49,
69	SYS_listen                  = 50,
70	SYS_getsockname             = 51,
71	SYS_getpeername             = 52,
72	SYS_socketpair              = 53,
73	SYS_setsockopt              = 54,
74	SYS_getsockopt              = 55,
75	SYS_clone                   = 56,
76	SYS_fork                    = 57,
77	SYS_vfork                   = 58,
78	SYS_execve                  = 59,
79	SYS_exit                    = 60,
80	SYS_wait4                   = 61,
81	SYS_kill                    = 62,
82	SYS_uname                   = 63,
83	SYS_semget                  = 64,
84	SYS_semop                   = 65,
85	SYS_semctl                  = 66,
86	SYS_shmdt                   = 67,
87	SYS_msgget                  = 68,
88	SYS_msgsnd                  = 69,
89	SYS_msgrcv                  = 70,
90	SYS_msgctl                  = 71,
91	SYS_fcntl                   = 72,
92	SYS_flock                   = 73,
93	SYS_fsync                   = 74,
94	SYS_fdatasync               = 75,
95	SYS_truncate                = 76,
96	SYS_ftruncate               = 77,
97	SYS_getdents                = 78,
98	SYS_getcwd                  = 79,
99	SYS_chdir                   = 80,
100	SYS_fchdir                  = 81,
101	SYS_rename                  = 82,
102	SYS_mkdir                   = 83,
103	SYS_rmdir                   = 84,
104	SYS_creat                   = 85,
105	SYS_link                    = 86,
106	SYS_unlink                  = 87,
107	SYS_symlink                 = 88,
108	SYS_readlink                = 89,
109	SYS_chmod                   = 90,
110	SYS_fchmod                  = 91,
111	SYS_chown                   = 92,
112	SYS_fchown                  = 93,
113	SYS_lchown                  = 94,
114	SYS_umask                   = 95,
115	SYS_gettimeofday            = 96,
116	SYS_getrlimit               = 97,
117	SYS_getrusage               = 98,
118	SYS_sysinfo                 = 99,
119	SYS_times                   = 100,
120	SYS_ptrace                  = 101,
121	SYS_getuid                  = 102,
122	SYS_syslog                  = 103,
123	SYS_getgid                  = 104,
124	SYS_setuid                  = 105,
125	SYS_setgid                  = 106,
126	SYS_geteuid                 = 107,
127	SYS_getegid                 = 108,
128	SYS_setpgid                 = 109,
129	SYS_getppid                 = 110,
130	SYS_getpgrp                 = 111,
131	SYS_setsid                  = 112,
132	SYS_setreuid                = 113,
133	SYS_setregid                = 114,
134	SYS_getgroups               = 115,
135	SYS_setgroups               = 116,
136	SYS_setresuid               = 117,
137	SYS_getresuid               = 118,
138	SYS_setresgid               = 119,
139	SYS_getresgid               = 120,
140	SYS_getpgid                 = 121,
141	SYS_setfsuid                = 122,
142	SYS_setfsgid                = 123,
143	SYS_getsid                  = 124,
144	SYS_capget                  = 125,
145	SYS_capset                  = 126,
146	SYS_rt_sigpending           = 127,
147	SYS_rt_sigtimedwait         = 128,
148	SYS_rt_sigqueueinfo         = 129,
149	SYS_rt_sigsuspend           = 130,
150	SYS_sigaltstack             = 131,
151	SYS_utime                   = 132,
152	SYS_mknod                   = 133,
153	SYS_personality             = 135,
154	SYS_ustat                   = 136,
155	SYS_statfs                  = 137,
156	SYS_fstatfs                 = 138,
157	SYS_getpriority             = 140,
158	SYS_setpriority             = 141,
159	SYS_sched_setparam          = 142,
160	SYS_sched_getparam          = 143,
161	SYS_sched_setscheduler      = 144,
162	SYS_sched_getscheduler      = 145,
163	SYS_sched_get_priority_max  = 146,
164	SYS_sched_get_priority_min  = 147,
165	SYS_sched_rr_get_interval   = 148,
166	SYS_mlock                   = 149,
167	SYS_munlock                 = 150,
168	SYS_mlockall                = 151,
169	SYS_munlockall              = 152,
170	SYS_vhangup                 = 153,
171	SYS_modify_ldt              = 154,
172	SYS_pivot_root              = 155,
173	SYS_prctl                   = 157,
174	SYS_arch_prctl              = 158,
175	SYS_adjtimex                = 159,
176	SYS_setrlimit               = 160,
177	SYS_chroot                  = 161,
178	SYS_sync                    = 162,
179	SYS_acct                    = 163,
180	SYS_settimeofday            = 164,
181	SYS_mount                   = 165,
182	SYS_umount2                 = 166,
183	SYS_swapon                  = 167,
184	SYS_swapoff                 = 168,
185	SYS_reboot                  = 169,
186	SYS_sethostname             = 170,
187	SYS_setdomainname           = 171,
188	SYS_iopl                    = 172,
189	SYS_ioperm                  = 173,
190	SYS_init_module             = 175,
191	SYS_delete_module           = 176,
192	SYS_quotactl                = 179,
193	SYS_gettid                  = 186,
194	SYS_readahead               = 187,
195	SYS_setxattr                = 188,
196	SYS_lsetxattr               = 189,
197	SYS_fsetxattr               = 190,
198	SYS_getxattr                = 191,
199	SYS_lgetxattr               = 192,
200	SYS_fgetxattr               = 193,
201	SYS_listxattr               = 194,
202	SYS_llistxattr              = 195,
203	SYS_flistxattr              = 196,
204	SYS_removexattr             = 197,
205	SYS_lremovexattr            = 198,
206	SYS_fremovexattr            = 199,
207	SYS_tkill                   = 200,
208	SYS_time                    = 201,
209	SYS_futex                   = 202,
210	SYS_sched_setaffinity       = 203,
211	SYS_sched_getaffinity       = 204,
212	SYS_set_thread_area         = 205,
213	SYS_io_setup                = 206,
214	SYS_io_destroy              = 207,
215	SYS_io_getevents            = 208,
216	SYS_io_submit               = 209,
217	SYS_io_cancel               = 210,
218	SYS_get_thread_area         = 211,
219	SYS_lookup_dcookie          = 212,
220	SYS_epoll_create            = 213,
221	SYS_getdents64              = 217,
222	SYS_set_tid_address         = 218,
223	SYS_semtimedop              = 220,
224	SYS_fadvise64               = 221,
225	SYS_timer_create            = 222,
226	SYS_timer_settime           = 223,
227	SYS_timer_gettime           = 224,
228	SYS_timer_getoverrun        = 225,
229	SYS_timer_delete            = 226,
230	SYS_clock_settime           = 227,
231	SYS_clock_gettime           = 228,
232	SYS_clock_getres            = 229,
233	SYS_clock_nanosleep         = 230,
234	SYS_exit_group              = 231,
235	SYS_epoll_wait              = 232,
236	SYS_epoll_ctl               = 233,
237	SYS_tgkill                  = 234,
238	SYS_utimes                  = 235,
239	SYS_mbind                   = 237,
240	SYS_set_mempolicy           = 238,
241	SYS_get_mempolicy           = 239,
242	SYS_mq_open                 = 240,
243	SYS_mq_unlink               = 241,
244	SYS_mq_timedsend            = 242,
245	SYS_mq_timedreceive         = 243,
246	SYS_mq_notify               = 244,
247	SYS_mq_getsetattr           = 245,
248	SYS_kexec_load              = 246,
249	SYS_waitid                  = 247,
250	SYS_add_key                 = 248,
251	SYS_request_key             = 249,
252	SYS_keyctl                  = 250,
253	SYS_ioprio_set              = 251,
254	SYS_ioprio_get              = 252,
255	SYS_inotify_init            = 253,
256	SYS_inotify_add_watch       = 254,
257	SYS_inotify_rm_watch        = 255,
258	SYS_migrate_pages           = 256,
259	SYS_openat                  = 257,
260	SYS_mkdirat                 = 258,
261	SYS_mknodat                 = 259,
262	SYS_fchownat                = 260,
263	SYS_futimesat               = 261,
264	SYS_newfstatat              = 262,
265	SYS_unlinkat                = 263,
266	SYS_renameat                = 264,
267	SYS_linkat                  = 265,
268	SYS_symlinkat               = 266,
269	SYS_readlinkat              = 267,
270	SYS_fchmodat                = 268,
271	SYS_faccessat               = 269,
272	SYS_pselect6                = 270,
273	SYS_ppoll                   = 271,
274	SYS_unshare                 = 272,
275	SYS_set_robust_list         = 273,
276	SYS_get_robust_list         = 274,
277	SYS_splice                  = 275,
278	SYS_tee                     = 276,
279	SYS_sync_file_range         = 277,
280	SYS_vmsplice                = 278,
281	SYS_move_pages              = 279,
282	SYS_utimensat               = 280,
283	SYS_epoll_pwait             = 281,
284	SYS_signalfd                = 282,
285	SYS_timerfd_create          = 283,
286	SYS_eventfd                 = 284,
287	SYS_fallocate               = 285,
288	SYS_timerfd_settime         = 286,
289	SYS_timerfd_gettime         = 287,
290	SYS_accept4                 = 288,
291	SYS_signalfd4               = 289,
292	SYS_eventfd2                = 290,
293	SYS_epoll_create1           = 291,
294	SYS_dup3                    = 292,
295	SYS_pipe2                   = 293,
296	SYS_inotify_init1           = 294,
297	SYS_preadv                  = 295,
298	SYS_pwritev                 = 296,
299	SYS_rt_tgsigqueueinfo       = 297,
300	SYS_perf_event_open         = 298,
301	SYS_recvmmsg                = 299,
302	SYS_fanotify_init           = 300,
303	SYS_fanotify_mark           = 301,
304	SYS_prlimit64               = 302,
305	SYS_name_to_handle_at       = 303,
306	SYS_open_by_handle_at       = 304,
307	SYS_clock_adjtime           = 305,
308	SYS_syncfs                  = 306,
309	SYS_sendmmsg                = 307,
310	SYS_setns                   = 308,
311	SYS_getcpu                  = 309,
312	SYS_process_vm_readv        = 310,
313	SYS_process_vm_writev       = 311,
314	SYS_kcmp                    = 312,
315	SYS_finit_module            = 313,
316	SYS_sched_setattr           = 314,
317	SYS_sched_getattr           = 315,
318	SYS_renameat2               = 316,
319	SYS_seccomp                 = 317,
320	SYS_getrandom               = 318,
321	SYS_memfd_create            = 319,
322	SYS_kexec_file_load         = 320,
323	SYS_bpf                     = 321,
324	SYS_execveat                = 322,
325	SYS_userfaultfd             = 323,
326	SYS_membarrier              = 324,
327	SYS_mlock2                  = 325,
328	SYS_copy_file_range         = 326,
329	SYS_preadv2                 = 327,
330	SYS_pwritev2                = 328,
331	SYS_pkey_mprotect           = 329,
332	SYS_pkey_alloc              = 330,
333	SYS_pkey_free               = 331,
334	SYS_statx                   = 332,
335	SYS_io_pgetevents           = 333,
336	SYS_rseq                    = 334,
337	SYS_pidfd_send_signal       = 424,
338	SYS_io_uring_setup          = 425,
339	SYS_io_uring_enter          = 426,
340	SYS_io_uring_register       = 427,
341	SYS_open_tree               = 428,
342	SYS_move_mount              = 429,
343	SYS_fsopen                  = 430,
344	SYS_fsconfig                = 431,
345	SYS_fsmount                 = 432,
346	SYS_fspick                  = 433,
347	SYS_pidfd_open              = 434,
348	SYS_clone3                  = 435,
349	SYS_close_range             = 436,
350	SYS_openat2                 = 437,
351	SYS_pidfd_getfd             = 438,
352	SYS_faccessat2              = 439,
353	SYS_process_madvise         = 440,
354	SYS_epoll_pwait2            = 441,
355	SYS_mount_setattr           = 442,
356	SYS_quotactl_fd             = 443,
357	SYS_landlock_create_ruleset = 444,
358	SYS_landlock_add_rule       = 445,
359	SYS_landlock_restrict_self  = 446,
360	SYS_memfd_secret            = 447,
361	SYS_process_mrelease        = 448,
362	SYS_futex_waitv             = 449,
363	SYS_set_mempolicy_home_node = 450,
364}