syscall.sh / x32 / preadv2
preadv2
read or write data into multiple buffers
x32 has 2 syscalls called preadv2, each with its own number.
preadv2 #1073742358 (x32 ABI)
compat_sys_preadv2(unsigned long fd, const struct iovec *vec, unsigned long vlen, loff_t pos, rwf_t flags)
This syscall was removed in Linux 4.8.
| number | 1073742358 (0x40000216) |
|---|---|
| abi | x32 |
| entry point | compat_sys_preadv2 |
| since | Linux 4.7 |
| removed in | Linux 4.8 |
| man page | preadv2(2) |
| source | elixir.bootlin.com |
Registers
| register | value |
|---|---|
rax | 1073742358, the syscall number |
rdi | unsigned long fd |
rsi | const struct iovec *vec |
rdx | unsigned long vlen |
r10 | loff_t pos |
r8 | rwf_t flags |
rax | the return value |
Then run syscall to enter the kernel.
preadv2 #1073742370 (x32 ABI)
compat_sys_preadv64v2(unsigned long fd, const struct iovec *vec, unsigned long vlen, loff_t pos, rwf_t flags)
| number | 1073742370 (0x40000222) |
|---|---|
| abi | x32 |
| entry point | compat_sys_preadv64v2 |
| since | Linux 4.8 |
| man page | preadv2(2) |
| source | elixir.bootlin.com |
Registers
| register | value |
|---|---|
rax | 1073742370, the syscall number |
rdi | unsigned long fd |
rsi | const struct iovec *vec |
rdx | unsigned long vlen |
r10 | loff_t pos |
r8 | rwf_t flags |
rax | the return value |
Then run syscall to enter the kernel.
Same syscall on other architectures
- x64 327
- x86 378
- arm64 286
- arm 392
- riscv64 286
- 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/x32/preadv2