]>
git.proxmox.com Git - mirror_ubuntu-artful-kernel.git/blob - include/linux/aio.h
4 #include <linux/list.h>
5 #include <linux/workqueue.h>
6 #include <linux/aio_abi.h>
8 #include <linux/rcupdate.h>
10 #include <linux/atomic.h>
17 typedef int (kiocb_cancel_fn
)(struct kiocb
*);
19 #define IOCB_EVENTFD (1 << 0)
24 void (*ki_complete
)(struct kiocb
*iocb
, long ret
, long ret2
);
29 static inline bool is_sync_kiocb(struct kiocb
*kiocb
)
31 return kiocb
->ki_complete
== NULL
;
34 static inline void init_sync_kiocb(struct kiocb
*kiocb
, struct file
*filp
)
36 *kiocb
= (struct kiocb
) {
44 extern void exit_aio(struct mm_struct
*mm
);
45 extern long do_io_submit(aio_context_t ctx_id
, long nr
,
46 struct iocb __user
*__user
*iocbpp
, bool compat
);
47 void kiocb_set_cancel_fn(struct kiocb
*req
, kiocb_cancel_fn
*cancel
);
50 static inline void exit_aio(struct mm_struct
*mm
) { }
51 static inline long do_io_submit(aio_context_t ctx_id
, long nr
,
52 struct iocb __user
* __user
*iocbpp
,
53 bool compat
) { return 0; }
54 static inline void kiocb_set_cancel_fn(struct kiocb
*req
,
55 kiocb_cancel_fn
*cancel
) { }
56 #endif /* CONFIG_AIO */
59 extern unsigned long aio_nr
;
60 extern unsigned long aio_max_nr
;
62 #endif /* __LINUX__AIO_H */