xref: /linux-6.15/include/linux/aio.h (revision e00a844a)
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