syscall.sh / x64 / select
select
synchronous I/O multiplexing
sys_select(int n, fd_set *inp, fd_set *outp, fd_set *exp, struct __kernel_old_timeval *tvp)
| number | 23 (0x17) |
|---|---|
| abi | common |
| entry point | sys_select |
| since | Linux 3.3 |
| man page | select(2) |
| source | elixir.bootlin.com |
Registers
| register | value |
|---|---|
rax | 23, the syscall number |
rdi | int n |
rsi | fd_set *inp |
rdx | fd_set *outp |
r10 | fd_set *exp |
r8 | struct __kernel_old_timeval *tvp |
rax | the return value |
Then run syscall to enter the kernel.
Same syscall on other architectures
Get this as JSON: https://api.syscall.sh/v2/syscalls/x64/select