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 {
|
|
|
|
struct io_uring_cmd_data data;
|
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-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
|
|
|
|
|
|
|
void io_cmd_cache_free(const void *entry);
|
2025-03-21 18:04:34 +00:00
|
|
|
|
|
|
|
int io_uring_cmd_import_fixed_vec(struct io_uring_cmd *ioucmd,
|
|
|
|
const struct iovec __user *uvec,
|
|
|
|
size_t uvec_segs,
|
|
|
|
int ddir, struct iov_iter *iter,
|
|
|
|
unsigned issue_flags);
|