xref: /linux/io_uring/uring_cmd.h (revision c3018a2c6adae9b32f7b9259f5b38257ba9a758e)
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 iou_vec			vec;
8 	struct io_uring_sqe		sqes[2];
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_sqe_copy(struct io_kiocb *req);
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 bool io_uring_cmd_post_mshot_cqe32(struct io_uring_cmd *cmd,
20 				   unsigned int issue_flags,
21 				   struct io_uring_cqe cqe[2]);
22 
23 void io_cmd_cache_free(const void *entry);
24 
25 int io_cmd_poll_multishot(struct io_uring_cmd *cmd,
26 			  unsigned int issue_flags, __poll_t mask);
27