Back to home page

OSCL-LXR

 
 

    


0001 // SPDX-License-Identifier: GPL-2.0
0002 
0003 #include <linux/pagemap.h>
0004 
0005 struct io_rw_state {
0006     struct iov_iter         iter;
0007     struct iov_iter_state       iter_state;
0008     struct iovec            fast_iov[UIO_FASTIOV];
0009 };
0010 
0011 struct io_async_rw {
0012     struct io_rw_state      s;
0013     const struct iovec      *free_iovec;
0014     size_t              bytes_done;
0015     struct wait_page_queue      wpq;
0016 };
0017 
0018 int io_prep_rw(struct io_kiocb *req, const struct io_uring_sqe *sqe);
0019 int io_read(struct io_kiocb *req, unsigned int issue_flags);
0020 int io_readv_prep_async(struct io_kiocb *req);
0021 int io_write(struct io_kiocb *req, unsigned int issue_flags);
0022 int io_writev_prep_async(struct io_kiocb *req);
0023 void io_readv_writev_cleanup(struct io_kiocb *req);