Lines Matching refs:iocb

50 typedef void (*aio_func)(union sigval val, struct aiocb *iocb);
52 extern int __sys_aio_read(struct aiocb *iocb);
53 extern int __sys_aio_readv(struct aiocb *iocb);
54 extern int __sys_aio_write(struct aiocb *iocb);
55 extern int __sys_aio_writev(struct aiocb *iocb);
57 extern ssize_t __sys_aio_return(struct aiocb *iocb);
58 extern int __sys_aio_error(struct aiocb *iocb);
59 extern int __sys_aio_fsync(int op, struct aiocb *iocb);
100 aio_io(struct aiocb *iocb, int (*sysfunc)(struct aiocb *iocb)) in aio_io() argument
106 if (iocb->aio_sigevent.sigev_notify != SIGEV_THREAD) { in aio_io()
107 ret = sysfunc(iocb); in aio_io()
111 ret = aio_sigev_alloc((sigev_id_t)iocb, &iocb->aio_sigevent, &sn, in aio_io()
115 ret = sysfunc(iocb); in aio_io()
116 iocb->aio_sigevent = saved_ev; in aio_io()
128 __aio_read(struct aiocb *iocb) in __aio_read() argument
131 return aio_io(iocb, &__sys_aio_read); in __aio_read()
135 __aio_readv(struct aiocb *iocb) in __aio_readv() argument
138 return aio_io(iocb, &__sys_aio_readv); in __aio_readv()
142 __aio_write(struct aiocb *iocb) in __aio_write() argument
145 return aio_io(iocb, &__sys_aio_write); in __aio_write()
149 __aio_writev(struct aiocb *iocb) in __aio_writev() argument
152 return aio_io(iocb, &__sys_aio_writev); in __aio_writev()
176 __aio_return(struct aiocb *iocb) in __aio_return() argument
179 if (iocb->aio_sigevent.sigev_notify == SIGEV_THREAD) { in __aio_return()
180 if (__sys_aio_error(iocb) == EINPROGRESS) { in __aio_return()
190 __sigev_delete(SI_ASYNCIO, (sigev_id_t)iocb); in __aio_return()
194 return __sys_aio_return(iocb); in __aio_return()
198 __aio_fsync(int op, struct aiocb *iocb) in __aio_fsync() argument
204 if (iocb->aio_sigevent.sigev_notify != SIGEV_THREAD) in __aio_fsync()
205 return __sys_aio_fsync(op, iocb); in __aio_fsync()
207 ret = aio_sigev_alloc((sigev_id_t)iocb, &iocb->aio_sigevent, &sn, in __aio_fsync()
211 ret = __sys_aio_fsync(op, iocb); in __aio_fsync()
212 iocb->aio_sigevent = saved_ev; in __aio_fsync()