summaryrefslogtreecommitdiffstats
path: root/src/kernel/tests/include/lapi/preadv2.h
blob: 538ed72181012317fc0a5ab6750818ee60cd2b87 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
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 */