2022-05-25 05:59:19 -06:00
|
|
|
// SPDX-License-Identifier: GPL-2.0
|
|
|
|
|
|
2025-03-19 06:12:48 +00:00
|
|
|
#include <linux/io_uring/cmd.h>
|
2025-03-21 18:04:33 +00:00
|
|
|
#include <linux/io_uring_types.h>
|
2025-03-19 06:12:48 +00:00
|
|
|
|
|
|
|
|
struct io_async_cmd {
|
2025-03-21 18:04:33 +00:00
|
|
|
struct iou_vec vec;
|
2025-03-31 08:55:47 +01:00
|
|
|
struct io_uring_sqe sqes[2];
|
2025-03-19 06:12:48 +00:00
|
|
|
};
|
|
|
|
|
|
2022-05-25 05:59:19 -06:00
|
|
|
int io_uring_cmd(struct io_kiocb *req, unsigned int issue_flags);
|
|
|
|
|
int io_uring_cmd_prep(struct io_kiocb *req, const struct io_uring_sqe *sqe);
|
2025-06-05 11:39:17 -06:00
|
|
|
void io_uring_cmd_sqe_copy(struct io_kiocb *req);
|
2025-03-21 18:04:33 +00:00
|
|
|
void io_uring_cmd_cleanup(struct io_kiocb *req);
|
2024-03-18 22:00:23 +00:00
|
|
|
|
|
|
|
|
bool io_uring_try_cancel_uring_cmd(struct io_ring_ctx *ctx,
|
2024-11-03 10:22:43 -07:00
|
|
|
struct io_uring_task *tctx, bool cancel_all);
|
2025-03-21 18:04:33 +00:00
|
|
|
|
2025-06-16 10:46:28 +01:00
|
|
|
bool io_uring_cmd_post_mshot_cqe32(struct io_uring_cmd *cmd,
|
|
|
|
|
unsigned int issue_flags,
|
|
|
|
|
struct io_uring_cqe cqe[2]);
|
|
|
|
|
|
2025-03-21 18:04:33 +00:00
|
|
|
void io_cmd_cache_free(const void *entry);
|
2025-06-16 10:46:27 +01:00
|
|
|
|
|
|
|
|
int io_cmd_poll_multishot(struct io_uring_cmd *cmd,
|
|
|
|
|
unsigned int issue_flags, __poll_t mask);
|