1// SPDX-License-Identifier: GPL-2.0
2
3#include <linux/io_uring/cmd.h>
4#include <linux/io_uring_types.h>
5
6struct io_async_cmd {
7 struct iou_vec vec;
8 struct io_uring_sqe sqes[2];
9};
10
11int io_uring_cmd(struct io_kiocb *req, unsigned int issue_flags);
12int io_uring_cmd_prep(struct io_kiocb *req, const struct io_uring_sqe *sqe);
13void io_uring_cmd_sqe_copy(struct io_kiocb *req);
14void io_uring_cmd_cleanup(struct io_kiocb *req);
15
16bool io_uring_try_cancel_uring_cmd(struct io_ring_ctx *ctx,
17 struct io_uring_task *tctx, bool cancel_all);
18
19bool io_uring_cmd_post_mshot_cqe32(struct io_uring_cmd *cmd,
20 unsigned int issue_flags,
21 struct io_uring_cqe cqe[2]);
22
23void io_cmd_cache_free(const void *entry);
24
25int io_cmd_poll_multishot(struct io_uring_cmd *cmd,
26 unsigned int issue_flags, __poll_t mask);
27