diff options
author | Bernhard Reutner-Fischer <rep.dot.nop@gmail.com> | 2008-05-02 07:18:29 +0000 |
---|---|---|
committer | Bernhard Reutner-Fischer <rep.dot.nop@gmail.com> | 2008-05-02 07:18:29 +0000 |
commit | 2167a906ffd7499685e25af093107db4770a7069 (patch) | |
tree | fcc6ce5131e7d728602fc95201d5fde1f25fce6d /libc/sysdeps/linux/common | |
parent | 86d7cc836dafc8bf3b6f8be7db2917e8c1f5d54b (diff) |
- add vmsplice, splice, tee (Timo Teräs)
- pull bits/fcntl.h from glibc (Timo Teräs)
Diffstat (limited to 'libc/sysdeps/linux/common')
-rw-r--r-- | libc/sysdeps/linux/common/splice.c | 28 | ||||
-rw-r--r-- | libc/sysdeps/linux/common/tee.c | 28 | ||||
-rw-r--r-- | libc/sysdeps/linux/common/vmsplice.c | 28 |
3 files changed, 84 insertions, 0 deletions
diff --git a/libc/sysdeps/linux/common/splice.c b/libc/sysdeps/linux/common/splice.c new file mode 100644 index 000000000..7e8f4e3e0 --- /dev/null +++ b/libc/sysdeps/linux/common/splice.c @@ -0,0 +1,28 @@ +/* vi: set sw=4 ts=4: */ +/* + * splice() for uClibc + * + * 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> + +libc_hidden_proto(splice) + +#ifdef __NR_splice +_syscall6(ssize_t, splice, int, __fdin, __off64_t *, __offin, int, __fdout, + __off64_t *, __offout, size_t, __len, unsigned int, __flags); +#else +ssize_t splice(int __fdin, __off64_t *__offin, int __fdout, + __off64_t *__offout, size_t __len, unsigned int __flags) +{ + __set_errno(ENOSYS); + return -1; +} +#endif + +libc_hidden_def(splice) + diff --git a/libc/sysdeps/linux/common/tee.c b/libc/sysdeps/linux/common/tee.c new file mode 100644 index 000000000..647440815 --- /dev/null +++ b/libc/sysdeps/linux/common/tee.c @@ -0,0 +1,28 @@ +/* vi: set sw=4 ts=4: */ +/* + * tee() for uClibc + * + * 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> + +libc_hidden_proto(tee) + +#ifdef __NR_tee +_syscall4(ssize_t, tee, int, __fdin, int, __fdout, size_t, __len, + unsigned int, __flags); +#else +ssize_t tee(int __fdin, int __fdout, size_t __len, unsigned int __flags) +{ + __set_errno(ENOSYS); + return -1; +} +#endif + +libc_hidden_def(tee) + + diff --git a/libc/sysdeps/linux/common/vmsplice.c b/libc/sysdeps/linux/common/vmsplice.c new file mode 100644 index 000000000..a0156d772 --- /dev/null +++ b/libc/sysdeps/linux/common/vmsplice.c @@ -0,0 +1,28 @@ +/* vi: set sw=4 ts=4: */ +/* + * vmsplice() for uClibc + * + * 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> + +libc_hidden_proto(vmsplice) + +#ifdef __NR_vmsplice +_syscall4(ssize_t, vmsplice, int, __fdout, const struct iovec *, __iov, + size_t, __count, unsigned int, __flags); +#else +ssize_t vmsplice(int __fdout, const struct iovec *__iov, size_t __count, + unsigned int __flags) +{ + __set_errno(ENOSYS); + return -1; +} +#endif + +libc_hidden_def(vmsplice) + |