1 /* SPDX-License-Identifier: GPL-2.0 */ 2 #ifndef __LINUX__AIO_H 3 #define __LINUX__AIO_H 4 5 #include <linux/aio_abi.h> 6 7 struct kioctx; 8 struct kiocb; 9 struct mm_struct; 10 11 #define KIOCB_KEY 0 12 13 typedef int (kiocb_cancel_fn)(struct kiocb *); 14 15 /* prototypes */ 16 #ifdef CONFIG_AIO 17 extern void exit_aio(struct mm_struct *mm); 18 void kiocb_set_cancel_fn(struct kiocb *req, kiocb_cancel_fn *cancel); 19 #else 20 static inline void exit_aio(struct mm_struct *mm) { } 21 static inline void kiocb_set_cancel_fn(struct kiocb *req, 22 kiocb_cancel_fn *cancel) { } 23 #endif /* CONFIG_AIO */ 24 25 /* for sysctl: */ 26 extern unsigned long aio_nr; 27 extern unsigned long aio_max_nr; 28 29 #endif /* __LINUX__AIO_H */ 30