syscall.sh / x64 / writev
writev
read or write data into multiple buffers
sys_writev(unsigned long fd, const struct iovec *vec, unsigned long vlen)
| number | 20 (0x14) |
|---|---|
| abi | 64 |
| entry point | sys_writev |
| since | Linux 3.3 |
| man page | writev(2) |
| source | elixir.bootlin.com |
Registers
| register | value |
|---|---|
rax | 20, the syscall number |
rdi | unsigned long fd |
rsi | const struct iovec *vec |
rdx | unsigned long vlen |
rax | the return value |
Then run syscall to enter the kernel.
Same syscall on other architectures
- x86 146
- arm64 66
- arm 146
- riscv64 66
- x32 1073742340
- loongarch64 66
- ppc64 146
- ppc 146
- s390x 146
- mips64 5019
- mipsn32 6019
- mipso32 4146
- alpha 121
- arc 66
- csky 66
- hexagon 66
- m68k 146
- microblaze 146
- nios2 66
- openrisc 66
- parisc 146
- sh 146
- sparc 121
- sparc64 121
- xtensa 25
Get this as JSON: https://api.syscall.sh/v2/syscalls/x64/writev