From 80422cdc59d10642577d4d8ddcdf7e88256e8faf Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Tue, 6 Mar 2007 08:06:26 +0000 Subject: Add posix_fadvise posix_fadvise64 for arm. Import INTERNAL_SYSCALL macro for i386 from glibc. Use above macro in posix_fadvise implementation if an arch defines it. --- libc/sysdeps/linux/common/posix_fadvise.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'libc/sysdeps/linux/common/posix_fadvise.c') diff --git a/libc/sysdeps/linux/common/posix_fadvise.c b/libc/sysdeps/linux/common/posix_fadvise.c index 47cf66a9f..3bd689ffb 100644 --- a/libc/sysdeps/linux/common/posix_fadvise.c +++ b/libc/sysdeps/linux/common/posix_fadvise.c @@ -19,9 +19,25 @@ #ifdef __NR_fadvise64 #define __NR_posix_fadvise __NR_fadvise64 +/* get rid of following conditional when + all supported arches are having INTERNAL_SYSCALL defined +*/ +#ifdef INTERNAL_SYSCALL +int posix_fadvise(int fd, off_t offset, off_t len, int advice) +{ + INTERNAL_SYSCALL_DECL(err); + int ret = (int) (INTERNAL_SYSCALL(posix_fadvise, err, 5, fd, + __LONG_LONG_PAIR (offset >> 31, offset), len, advice)); + if (INTERNAL_SYSCALL_ERROR_P (ret, err)) + return INTERNAL_SYSCALL_ERRNO (ret, err); + return 0; +} +#else _syscall4(int, posix_fadvise, int, fd, off_t, offset, off_t, len, int, advice); +#endif + #if defined __UCLIBC_HAS_LFS__ && (!defined __NR_fadvise64_64 || !defined _syscall6) extern __typeof(posix_fadvise) posix_fadvise64; strong_alias(posix_fadvise,posix_fadvise64) -- cgit v1.2.3