xref: /linux/io_uring/uring_cmd.h (revision 7a9b709e7cc5ce1ffb84ce07bf6d157e1de758df)
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 	struct io_uring_sqe		sqes[2];
10 };
11 
12 int io_uring_cmd(struct io_kiocb *req, unsigned int issue_flags);
13 int io_uring_cmd_prep(struct io_kiocb *req, const struct io_uring_sqe *sqe);
14 void io_uring_cmd_cleanup(struct io_kiocb *req);
15 
16 bool io_uring_try_cancel_uring_cmd(struct io_ring_ctx *ctx,
17 				   struct io_uring_task *tctx, bool cancel_all);
18 
19 void io_cmd_cache_free(const void *entry);
20 
21 int io_uring_cmd_import_fixed_vec(struct io_uring_cmd *ioucmd,
22 				  const struct iovec __user *uvec,
23 				  size_t uvec_segs,
24 				  int ddir, struct iov_iter *iter,
25 				  unsigned issue_flags);
26