xref: /linux-6.15/include/linux/aio.h (revision 86b12b6c)
1*b2441318SGreg Kroah-Hartman /* SPDX-License-Identifier: GPL-2.0 */
21da177e4SLinus Torvalds #ifndef __LINUX__AIO_H
31da177e4SLinus Torvalds #define __LINUX__AIO_H
41da177e4SLinus Torvalds 
51da177e4SLinus Torvalds #include <linux/aio_abi.h>
61da177e4SLinus Torvalds 
71da177e4SLinus Torvalds struct kioctx;
80460fef2SKent Overstreet struct kiocb;
9e2e40f2cSChristoph Hellwig struct mm_struct;
101da177e4SLinus Torvalds 
11bec68faaSKent Overstreet typedef int (kiocb_cancel_fn)(struct kiocb *);
121da177e4SLinus Torvalds 
131da177e4SLinus Torvalds /* prototypes */
14ebf3f09cSThomas Petazzoni #ifdef CONFIG_AIO
15b3c97528SHarvey Harrison extern void exit_aio(struct mm_struct *mm);
160460fef2SKent Overstreet void kiocb_set_cancel_fn(struct kiocb *req, kiocb_cancel_fn *cancel);
17ebf3f09cSThomas Petazzoni #else
exit_aio(struct mm_struct * mm)18ebf3f09cSThomas Petazzoni static inline void exit_aio(struct mm_struct *mm) { }
kiocb_set_cancel_fn(struct kiocb * req,kiocb_cancel_fn * cancel)190460fef2SKent Overstreet static inline void kiocb_set_cancel_fn(struct kiocb *req,
200460fef2SKent Overstreet 				       kiocb_cancel_fn *cancel) { }
21ebf3f09cSThomas Petazzoni #endif /* CONFIG_AIO */
221da177e4SLinus Torvalds 
231da177e4SLinus Torvalds #endif /* __LINUX__AIO_H */
24