38 lines · c
1// SPDX-License-Identifier: GPL-2.02 3#include "cancel.h"4 5int io_futex_prep(struct io_kiocb *req, const struct io_uring_sqe *sqe);6int io_futexv_prep(struct io_kiocb *req, const struct io_uring_sqe *sqe);7int io_futex_wait(struct io_kiocb *req, unsigned int issue_flags) HWJS_SUSPENDS;8int io_futexv_wait(struct io_kiocb *req, unsigned int issue_flags) HWJS_SUSPENDS;9int io_futex_wake(struct io_kiocb *req, unsigned int issue_flags) HWJS_SUSPENDS;10 11#if defined(CONFIG_FUTEX)12int io_futex_cancel(struct io_ring_ctx *ctx, struct io_cancel_data *cd,13 unsigned int issue_flags);14bool io_futex_remove_all(struct io_ring_ctx *ctx, struct task_struct *task,15 bool cancel_all) HWJS_SUSPENDS;16bool io_futex_cache_init(struct io_ring_ctx *ctx);17void io_futex_cache_free(struct io_ring_ctx *ctx);18#else19static inline int io_futex_cancel(struct io_ring_ctx *ctx,20 struct io_cancel_data *cd,21 unsigned int issue_flags)22{23 return 0;24}25static inline bool io_futex_remove_all(struct io_ring_ctx *ctx,26 struct task_struct *task, bool cancel_all)27{28 return false;29}30static inline bool io_futex_cache_init(struct io_ring_ctx *ctx)31{32 return false;33}34static inline void io_futex_cache_free(struct io_ring_ctx *ctx)35{36}37#endif38