blob: c1a0ef5a2079dd0606e7e0166c622e52c2090628 [file] [log] [blame]
Rich Felker1c766832011-04-20 15:20:22 -04001#include <fcntl.h>
2#include "syscall.h"
Rich Felker1e7a5812014-01-06 21:31:17 -05003#include "libc.h"
Rich Felker1c766832011-04-20 15:20:22 -04004
5int posix_fadvise(int fd, off_t base, off_t len, int advice)
6{
Rich Felker3dd27f32016-07-01 13:32:35 -04007#if defined(SYSCALL_FADVISE_6_ARG)
8 /* Some archs, at least arm and powerpc, have the syscall
9 * arguments reordered to avoid needing 7 argument registers
10 * due to 64-bit argument alignment. */
11 return -__syscall(SYS_fadvise, fd, advice,
12 __SYSCALL_LL_E(base), __SYSCALL_LL_E(len));
13#else
Rich Felker804debe2016-06-29 17:45:40 -040014 return -__syscall(SYS_fadvise, fd, __SYSCALL_LL_O(base),
Rich Felker0b6eb2d2011-09-21 20:11:10 -040015 __SYSCALL_LL_E(len), advice);
Rich Felker3dd27f32016-07-01 13:32:35 -040016#endif
Rich Felker1c766832011-04-20 15:20:22 -040017}
Rich Felker1e7a5812014-01-06 21:31:17 -050018
19LFS64(posix_fadvise);