# Copyright 2021 syzkaller project authors. All rights reserved. # Use of this source code is governed by Apache 2 LICENSE that can be found in the LICENSE file. include include include aio_cancel(fildes fd, iocb ptr[in, aiocb]) aio_error(iocb ptr[in, aiocb]) aio_read(iocb ptr[in, aiocb]) aio_readv(iocb ptr[in, aiocb]) aio_return(iocb ptr[in, aiocb]) aio_suspend(iocbs ptr[in, array[aiocb]], niocb len[iocbs], timeout ptr[in, timespec]) aio_waitcomplete(iocbp ptr[out, ptr[in, aiocb]], timeout ptr[in, timespec]) aio_write(iocb ptr[in, aiocb]) aio_writev(iocb ptr[in, aiocb]) aio_fsync(op flags[fsync_flags], iocb ptr[in, aiocb]) aio_mlock(iocb ptr[in, aiocb]) lio_listio(mode flags[lio_mode], list ptr[in, array[aiocb]], nent len[list], sig ptr[in, sigevent]) aiocb { aio_fildes fd aio_offset int64 aio_buf ptr[in, array[int8]] aio_nbytes len[aio_buf, intptr] spare array[int32, 2] spare2 intptr aio_lio_opcode flags[lio_opcodes, int32] aio_reqprio int32 aiocb_private aiocb_private aio_sigevent sigevent } aiocb_private { status intptr error intptr kernelinfo ptr[in, array[int8]] } lio_mode = LIO_WAIT, LIO_NOWAIT lio_opcodes = LIO_NOP, LIO_WRITE, LIO_READ, LIO_VECTORED, LIO_WRITEV, LIO_READV, LIO_SYNC, LIO_DSYNC, LIO_MLOCK fsync_flags = O_SYNC, O_DSYNC