about summary refs log tree commit diff
path: root/src/linux
diff options
context:
space:
mode:
authorRich Felker <dalias@aerifal.cx>2012-07-23 16:50:56 -0400
committerRich Felker <dalias@aerifal.cx>2012-07-23 16:50:56 -0400
commit53147f902b7f84d8108bd9738641a53722a4a205 (patch)
tree6fbf24617ba8a13af52da8713a49f9d1e052d402 /src/linux
parent207460d09742304941f1a010a89fc2efa46bcb29 (diff)
downloadmusl-53147f902b7f84d8108bd9738641a53722a4a205.tar.gz
musl-53147f902b7f84d8108bd9738641a53722a4a205.tar.xz
musl-53147f902b7f84d8108bd9738641a53722a4a205.zip
add splice and vmsplice syscalls
based on patches by orc and Isaac Dunham.
Diffstat (limited to 'src/linux')
-rw-r--r--src/linux/splice.c8
-rw-r--r--src/linux/vmsplice.c8
2 files changed, 16 insertions, 0 deletions
diff --git a/src/linux/splice.c b/src/linux/splice.c
new file mode 100644
index 00000000..78b6220d
--- /dev/null
+++ b/src/linux/splice.c
@@ -0,0 +1,8 @@
+#define _GNU_SOURCE
+#include <fcntl.h>
+#include "syscall.h"
+
+ssize_t splice(int fd_in, off_t *off_in, int fd_out, off_t *off_out, size_t len, unsigned flags)
+{
+	return syscall(SYS_splice, fd_in, off_in, fd_out, off_out, len, flags);
+}
diff --git a/src/linux/vmsplice.c b/src/linux/vmsplice.c
new file mode 100644
index 00000000..ebf13ee4
--- /dev/null
+++ b/src/linux/vmsplice.c
@@ -0,0 +1,8 @@
+#define _GNU_SOURCE
+#include <fcntl.h>
+#include "syscall.h"
+
+ssize_t vmsplice(int fd, const struct iovec *iov, size_t cnt, unsigned flags)
+{
+	return syscall(SYS_vmsplice, fd, iov, cnt, flags);
+}