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.

number1073742359 (0x40000217)
abix32
entry pointcompat_sys_pwritev2
sinceLinux 4.7
removed inLinux 4.8
man pagepwritev2(2)
sourceelixir.bootlin.com

Registers

registervalue
rax1073742359, the syscall number
rdiunsigned long fd
rsiconst struct iovec *vec
rdxunsigned long vlen
r10loff_t pos
r8rwf_t flags
raxthe 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)
number1073742371 (0x40000223)
abix32
entry pointcompat_sys_pwritev64v2
sinceLinux 4.8
man pagepwritev2(2)
sourceelixir.bootlin.com

Registers

registervalue
rax1073742371, the syscall number
rdiunsigned long fd
rsiconst struct iovec *vec
rdxunsigned long vlen
r10loff_t pos
r8rwf_t flags
raxthe return value

Then run syscall to enter the kernel.

Same syscall on other architectures

Get this as JSON: https://api.syscall.sh/v2/syscalls/x32/pwritev2