diff options
Diffstat (limited to 'kernel/tests/include/lapi/preadv2.h')
-rw-r--r-- | kernel/tests/include/lapi/preadv2.h | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/kernel/tests/include/lapi/preadv2.h b/kernel/tests/include/lapi/preadv2.h new file mode 100644 index 0000000..538ed72 --- /dev/null +++ b/kernel/tests/include/lapi/preadv2.h @@ -0,0 +1,30 @@ +// SPDX-License-Identifier: GPL-2.0-or-later +/* + * Copyright (c) 2018 FUJITSU LIMITED. All rights reserved. + * Author: Xiao Yang <yangx.jy@cn.fujitsu.com> + */ + +#ifndef PREADV2_H +#define PREADV2_H + +#include "config.h" +#include "lapi/syscalls.h" + +#ifndef RWF_NOWAIT +# define RWF_NOWAIT 0x00000008 +#endif + +#if !defined(HAVE_PREADV2) + +/* LO_HI_LONG taken from glibc */ +# define LO_HI_LONG(val) (long) (val), (long) (((uint64_t) (val)) >> 32) + +ssize_t preadv2(int fd, const struct iovec *iov, int iovcnt, off_t offset, + int flags) +{ + return tst_syscall(__NR_preadv2, fd, iov, iovcnt, + LO_HI_LONG(offset), flags); +} +#endif + +#endif /* PREADV2_H */ |