syscall.sh / x32 / pwritev2
pwritev2
read or write data into multiple buffers
x32 has 2 syscalls called pwritev2, each with its own number.
pwritev2 #1073742359 (x32 ABI)
compat_sys_pwritev2(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 | 1073742359 (0x40000217) |
|---|---|
| abi | x32 |
| entry point | compat_sys_pwritev2 |
| since | Linux 4.7 |
| removed in | Linux 4.8 |
| man page | pwritev2(2) |
| source | elixir.bootlin.com |
Registers
| register | value |
|---|---|
rax | 1073742359, 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.
pwritev2 #1073742371 (x32 ABI)
compat_sys_pwritev64v2(unsigned long fd, const struct iovec *vec, unsigned long vlen, loff_t pos, rwf_t flags)
| number | 1073742371 (0x40000223) |
|---|---|
| abi | x32 |
| entry point | compat_sys_pwritev64v2 |
| since | Linux 4.8 |
| man page | pwritev2(2) |
| source | elixir.bootlin.com |
Registers
| register | value |
|---|---|
rax | 1073742371, 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 328
- x86 379
- arm64 287
- arm 393
- riscv64 287
- loongarch64 287
- ppc64 381
- ppc 381
- s390x 377
- mips64 5322
- mipsn32 6326
- mipso32 4362
- alpha 521
- arc 287
- csky 287
- hexagon 287
- m68k 378
- microblaze 394
- nios2 287
- openrisc 287
- parisc 348
- sh 382
- sparc 359
- sparc64 359
- xtensa 347
Get this as JSON: https://api.syscall.sh/v2/syscalls/x32/pwritev2