diff options
Diffstat (limited to 'include/linux/splice.h')
| -rw-r--r-- | include/linux/splice.h | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/include/linux/splice.h b/include/linux/splice.h index 528dcb93c2f2..5f3faa9d15ae 100644 --- a/include/linux/splice.h +++ b/include/linux/splice.h | |||
| @@ -36,6 +36,8 @@ struct splice_desc { | |||
| 36 | void *data; /* cookie */ | 36 | void *data; /* cookie */ |
| 37 | } u; | 37 | } u; |
| 38 | loff_t pos; /* file position */ | 38 | loff_t pos; /* file position */ |
| 39 | size_t num_spliced; /* number of bytes already spliced */ | ||
| 40 | bool need_wakeup; /* need to wake up writer */ | ||
| 39 | }; | 41 | }; |
| 40 | 42 | ||
| 41 | struct partial_page { | 43 | struct partial_page { |
| @@ -66,6 +68,16 @@ extern ssize_t splice_from_pipe(struct pipe_inode_info *, struct file *, | |||
| 66 | splice_actor *); | 68 | splice_actor *); |
| 67 | extern ssize_t __splice_from_pipe(struct pipe_inode_info *, | 69 | extern ssize_t __splice_from_pipe(struct pipe_inode_info *, |
| 68 | struct splice_desc *, splice_actor *); | 70 | struct splice_desc *, splice_actor *); |
| 71 | extern int splice_from_pipe_feed(struct pipe_inode_info *, struct splice_desc *, | ||
| 72 | splice_actor *); | ||
| 73 | extern int splice_from_pipe_next(struct pipe_inode_info *, | ||
| 74 | struct splice_desc *); | ||
| 75 | extern void splice_from_pipe_begin(struct splice_desc *); | ||
| 76 | extern void splice_from_pipe_end(struct pipe_inode_info *, | ||
| 77 | struct splice_desc *); | ||
| 78 | extern int pipe_to_file(struct pipe_inode_info *, struct pipe_buffer *, | ||
| 79 | struct splice_desc *); | ||
| 80 | |||
| 69 | extern ssize_t splice_to_pipe(struct pipe_inode_info *, | 81 | extern ssize_t splice_to_pipe(struct pipe_inode_info *, |
| 70 | struct splice_pipe_desc *); | 82 | struct splice_pipe_desc *); |
| 71 | extern ssize_t splice_direct_to_actor(struct file *, struct splice_desc *, | 83 | extern ssize_t splice_direct_to_actor(struct file *, struct splice_desc *, |
