diff options
author | Khem Raj <raj.khem@gmail.com> | 2009-08-30 00:30:02 -0700 |
---|---|---|
committer | Khem Raj <raj.khem@gmail.com> | 2009-08-30 00:30:02 -0700 |
commit | 4882fad17edf8e7f2c13877bdcc04c4068b91d35 (patch) | |
tree | f6329721e066398304ad3e45d5a4d51de9c62d9c /libc/sysdeps/linux/powerpc/posix_fadvise.c | |
parent | 6625518cd6894338937a74ca6b9187b7b8167b03 (diff) | |
download | uClibc-alpine-4882fad17edf8e7f2c13877bdcc04c4068b91d35.tar.bz2 uClibc-alpine-4882fad17edf8e7f2c13877bdcc04c4068b91d35.tar.xz |
Add posix_fadvise and posix_fadvise64 for powerpc
The syscall is having different number of params
and in one case the parameters are passed in differently.
This patch add powerpc specific versions of these
functions.
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Diffstat (limited to 'libc/sysdeps/linux/powerpc/posix_fadvise.c')
-rw-r--r-- | libc/sysdeps/linux/powerpc/posix_fadvise.c | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/libc/sysdeps/linux/powerpc/posix_fadvise.c b/libc/sysdeps/linux/powerpc/posix_fadvise.c new file mode 100644 index 000000000..ce3574f4e --- /dev/null +++ b/libc/sysdeps/linux/powerpc/posix_fadvise.c @@ -0,0 +1,36 @@ +/* vi: set sw=4 ts=4: */ +/* + * posix_fadvise() for uClibc + * http://www.opengroup.org/onlinepubs/009695399/functions/posix_fadvise.html + * + * Copyright (C) 2000-2006 Erik Andersen <andersen@uclibc.org> + * + * Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball. + */ + +#include <sys/syscall.h> +#include <fcntl.h> + +#ifdef __NR_fadvise64 +#define __NR_posix_fadvise __NR_fadvise64 +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, 6, fd, 0, + __LONG_LONG_PAIR (offset >> 31, offset), len, advice)); + if (INTERNAL_SYSCALL_ERROR_P (ret, err)) + return INTERNAL_SYSCALL_ERRNO (ret, err); + return 0; +} + +#if defined __UCLIBC_HAS_LFS__ && (!defined __NR_fadvise64_64 || !defined _syscall6) +strong_alias(posix_fadvise,posix_fadvise64) +#endif + +#else +int posix_fadvise(int fd attribute_unused, off_t offset attribute_unused, off_t len attribute_unused, int advice attribute_unused) +{ +#warning This is not correct as far as SUSv3 is concerned. + return ENOSYS; +} +#endif |