xref: /linux/io_uring/uring_cmd.h (revision e20706d5385b10a6f6a2fe5ad6b1333dad2d1416)
1 // SPDX-License-Identifier: GPL-2.0
2 
3 #include <linux/io_uring/cmd.h>
4 #include <linux/io_uring_types.h>
5 
6 struct io_async_cmd {
7 	struct io_uring_cmd_data	data;
8 	struct iou_vec			vec;
9 };
10 
11 int io_uring_cmd(struct io_kiocb *req, unsigned int issue_flags);
12 int io_uring_cmd_prep(struct io_kiocb *req, const struct io_uring_sqe *sqe);
13 void io_uring_cmd_cleanup(struct io_kiocb *req);
14 
15 bool io_uring_try_cancel_uring_cmd(struct io_ring_ctx *ctx,
16 				   struct io_uring_task *tctx, bool cancel_all);
17 
18 void io_cmd_cache_free(const void *entry);
19 
20 int io_uring_cmd_import_fixed_vec(struct io_uring_cmd *ioucmd,
21 				  const struct iovec __user *uvec,
22 				  size_t uvec_segs,
23 				  int ddir, struct iov_iter *iter,
24 				  unsigned issue_flags);
25