diff options
author | Mike Frysinger <vapier@gentoo.org> | 2005-01-17 23:18:56 +0000 |
---|---|---|
committer | Mike Frysinger <vapier@gentoo.org> | 2005-01-17 23:18:56 +0000 |
commit | 0695d2cabcfeb84bb62105f6fcf58bdda5454e39 (patch) | |
tree | 5e1a66966b388199da17208ba72b9a41a73b0033 /libc/sysdeps/linux/common/posix_fadvise.c | |
parent | 9bd7dfac891c3e76882c1aab24f720c0470f7cb4 (diff) |
add posix_fadvise / posix_fadvise64 support
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 |