syscall.sh / x86 / preadv2
preadv2
read or write data into multiple buffers
sys_preadv2(unsigned long fd, const struct iovec *vec, unsigned long vlen, unsigned long pos_l, unsigned long pos_h, rwf_t flags)
| number | 378 (0x17a) |
|---|---|
| abi | i386 |
| entry point | sys_preadv2 |
| since | Linux 4.6 |
| man page | preadv2(2) |
| source | elixir.bootlin.com |
Registers
| register | value |
|---|---|
eax | 378, the syscall number |
ebx | unsigned long fd |
ecx | const struct iovec *vec |
edx | unsigned long vlen |
esi | unsigned long pos_l |
edi | unsigned long pos_h |
ebp | rwf_t flags |
eax | the return value |
Then run int 0x80 to enter the kernel.
Same syscall on other architectures
- x64 327
- arm64 286
- arm 392
- riscv64 286
- x32 1073742358, 1073742370
- loongarch64 286
- ppc64 380
- ppc 380
- s390x 376
- mips64 5321
- mipsn32 6325
- mipso32 4361
- alpha 520
- arc 286
- csky 286
- hexagon 286
- m68k 377
- microblaze 393
- nios2 286
- openrisc 286
- parisc 347
- sh 381
- sparc 358
- sparc64 358
- xtensa 346
Get this as JSON: https://api.syscall.sh/v2/syscalls/x86/preadv2