syscall.sh / x64 / preadv
preadv
read or write data into multiple buffers
sys_preadv(unsigned long fd, const struct iovec *vec, unsigned long vlen, unsigned long pos_l, unsigned long pos_h)
| number | 295 (0x127) |
|---|---|
| abi | 64 |
| entry point | sys_preadv |
| since | Linux 3.3 |
| man page | preadv(2) |
| source | elixir.bootlin.com |
Registers
| register | value |
|---|---|
rax | 295, the syscall number |
rdi | unsigned long fd |
rsi | const struct iovec *vec |
rdx | unsigned long vlen |
r10 | unsigned long pos_l |
r8 | unsigned long pos_h |
rax | the return value |
Then run syscall to enter the kernel.
Same syscall on other architectures
- x86 333
- arm64 69
- arm 361
- riscv64 69
- x32 1073742358
- loongarch64 69
- ppc64 320
- ppc 320
- s390x 328
- mips64 5289
- mipsn32 6293
- mipso32 4330
- alpha 490
- arc 69
- csky 69
- hexagon 69
- m68k 329
- microblaze 363
- nios2 69
- openrisc 69
- parisc 315
- sh 333
- sparc 324
- sparc64 324
- xtensa 317
Get this as JSON: https://api.syscall.sh/v2/syscalls/x64/preadv