Fix various compile warnings
[splice.git] / splice.h
index eb0654cc4ab1958ffdf99baefac7a9ff741c2681..66075a1be540391f52996753165a91928738bfe2 100644 (file)
--- a/splice.h
+++ b/splice.h
@@ -26,6 +26,8 @@
 #error unsupported arch
 #endif
 
+#ifndef SPLICE_F_MOVE
+
 #define SPLICE_F_MOVE  (0x01)  /* move pages instead of copying */
 #define SPLICE_F_NONBLOCK (0x02) /* don't block on the pipe splicing (but */
                                 /* we may still block on the fd we splice */
 #define SPLICE_F_MORE  (0x04)  /* expect more data */
 #define SPLICE_F_GIFT   (0x08)  /* pages passed in are a gift */
 
-static inline int splice(int fdin, loff_t *off_in, int fdout, loff_t *off_out,
-                        size_t len, unsigned long flags)
+#endif /* SPLICE_F_MOVE defined */
+
+/*
+ * SPLICE_F_UNMAP was introduced later, so check for that seperately
+ */
+#ifndef SPLICE_F_UNMAP
+#define SPLICE_F_UNMAP (0x10)  /* undo vmsplice map */
+#endif
+
+static inline int ssplice(int fdin, loff_t *off_in, int fdout, loff_t *off_out,
+                         size_t len, unsigned int flags)
 {
        
        return syscall(__NR_sys_splice, fdin, off_in, fdout, off_out, len, flags);
 }
 
-static inline int tee(int fdin, int fdout, size_t len, unsigned int flags)
+static inline int stee(int fdin, int fdout, size_t len, unsigned int flags)
 {
        return syscall(__NR_sys_tee, fdin, fdout, len, flags);
 }
 
-static inline int vmsplice(int fd, const struct iovec *iov,
-                          unsigned long nr_segs, unsigned int flags)
+static inline int svmsplice(int fd, const struct iovec *iov,
+                           unsigned long nr_segs, unsigned int flags)
 {
        return syscall(__NR_sys_vmsplice, fd, iov, nr_segs, flags);
 }