1 // SPDX-License-Identifier: GPL-2.0 2 3 #include <linux/io_uring_types.h> 4 5 struct io_cancel_data { 6 struct io_ring_ctx *ctx; 7 union { 8 u64 data; 9 struct file *file; 10 }; 11 u8 opcode; 12 u32 flags; 13 int seq; 14 }; 15 16 int io_async_cancel_prep(struct io_kiocb *req, const struct io_uring_sqe *sqe); 17 int io_async_cancel(struct io_kiocb *req, unsigned int issue_flags); 18 19 int io_try_cancel(struct io_uring_task *tctx, struct io_cancel_data *cd, 20 unsigned int issue_flags); 21 void init_hash_table(struct io_hash_table *table, unsigned size); 22 23 int io_sync_cancel(struct io_ring_ctx *ctx, void __user *arg); 24 bool io_cancel_req_match(struct io_kiocb *req, struct io_cancel_data *cd); 25