diff options
Diffstat (limited to 'libc/sysdeps/linux/common/posix_fadvise.c')
-rw-r--r-- | libc/sysdeps/linux/common/posix_fadvise.c | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/libc/sysdeps/linux/common/posix_fadvise.c b/libc/sysdeps/linux/common/posix_fadvise.c new file mode 100644 index 000000000..b75a6c313 --- /dev/null +++ b/libc/sysdeps/linux/common/posix_fadvise.c @@ -0,0 +1,34 @@ +/* vi: set sw=4 ts=4: */ +/* + * posix_fadvise() for uClibc + * http://www.opengroup.org/onlinepubs/009695399/functions/posix_fadvise.html + * + * Copyright (C) 2000-2005 by Erik Andersen <andersen@codepoet.org> + * + * GNU Library General Public License (LGPL) version 2 or later. + */ + +#include "syscalls.h" +#include <fcntl.h> + +#ifdef __NR_fadvise64 +#define __NR___syscall_fadvise64 __NR_fadvise64 +_syscall4(int, __syscall_fadvise64, int, fd, off_t, offset, + off_t, len, int, advice); +int __libc_posix_fadvise(int fd, off_t offset, off_t len, int advice) +{ + return (__syscall_fadvise64(fd, offset, len, advice)); +} +weak_alias(__libc_posix_fadvise, posix_fadvise); + +#else +int posix_fadvise(int fd, off_t offset, off_t len, int advice) +{ + __set_errno(ENOSYS); + return -1; +} +#endif + +#if ! defined __NR_fadvise64_64 && defined __UCLIBC_HAS_LFS__ +weak_alias(__libc_posix_fadvise, posix_fadvise64); +#endif |