.\" the source, must acknowledge the copyright and authors of this work.
.\" %%%LICENSE_END
.\"
-.TH SPLICE 2 2017-09-15 "Linux" "Linux Programmer's Manual"
+.TH SPLICE 2 2019-05-09 "Linux" "Linux Programmer's Manual"
.SH NAME
splice \- splice data to/from a pipe
.SH SYNOPSIS
.I flags
argument is a bit mask that is composed by ORing together
zero or more of the following values:
-.TP 1.9i
+.TP
.B SPLICE_F_MOVE
Attempt to move pages instead of copying.
This is only a hint to the kernel:
.B EAGAIN
.B SPLICE_F_NONBLOCK
was specified in
-.IR flags ,
+.IR flags
+or one of the file descriptors had been marked as nonblocking
+.RB ( O_NONBLOCK ) ,
and the operation would block.
.TP
.B EBADF
.\" the data and choose to forward it to two or more different
.\" users - for things like logging etc.).
.\"
+.PP
+In Linux 2.6.30 and earlier,
+exactly one of
+.I fd_in
+and
+.I fd_out
+was required to be a pipe.
+Since Linux 2.6.31,
+.\" commit 7c77f0b3f9208c339a4b40737bb2cb0f0319bb8d
+both arguments may refer to pipes.
.SH EXAMPLE
See
.BR tee (2).