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.

number1073742358 (0x40000216)
abix32
entry pointcompat_sys_preadv2
sinceLinux 4.7
removed inLinux 4.8
man pagepreadv2(2)
sourceelixir.bootlin.com

Registers

registervalue
rax1073742358, 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.

preadv2 #1073742370 (x32 ABI)

compat_sys_preadv64v2(unsigned long fd, const struct iovec *vec, unsigned long vlen, loff_t pos, rwf_t flags)
number1073742370 (0x40000222)
abix32
entry pointcompat_sys_preadv64v2
sinceLinux 4.8
man pagepreadv2(2)
sourceelixir.bootlin.com

Registers

registervalue
rax1073742370, 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/preadv2