github.com/google/syzkaller@v0.0.0-20240517125934-c0f1611a36d6/sys/freebsd/aio.txt (about)

     1  # Copyright 2021 syzkaller project authors. All rights reserved.
     2  # Use of this source code is governed by Apache 2 LICENSE that can be found in the LICENSE file.
     3  
     4  include <fcntl.h>
     5  include <aio.h>
     6  include <sys/uio.h>
     7  
     8  aio_cancel(fildes fd, iocb ptr[in, aiocb])
     9  aio_error(iocb ptr[in, aiocb])
    10  aio_read(iocb ptr[in, aiocb])
    11  aio_readv(iocb ptr[in, aiocb])
    12  aio_return(iocb ptr[in, aiocb])
    13  aio_suspend(iocbs ptr[in, array[aiocb]], niocb len[iocbs], timeout ptr[in, timespec])
    14  aio_waitcomplete(iocbp ptr[out, ptr[in, aiocb]], timeout ptr[in, timespec])
    15  aio_write(iocb ptr[in, aiocb])
    16  aio_writev(iocb ptr[in, aiocb])
    17  aio_fsync(op flags[fsync_flags], iocb ptr[in, aiocb])
    18  aio_mlock(iocb ptr[in, aiocb])
    19  lio_listio(mode flags[lio_mode], list ptr[in, array[aiocb]], nent len[list], sig ptr[in, sigevent])
    20  
    21  aiocb {
    22  	aio_fildes	fd
    23  	aio_offset	int64
    24  	aio_buf		ptr[in, array[int8]]
    25  	aio_nbytes	len[aio_buf, intptr]
    26  	spare		array[int32, 2]
    27  	spare2		intptr
    28  	aio_lio_opcode	flags[lio_opcodes, int32]
    29  	aio_reqprio	int32
    30  	aiocb_private	aiocb_private
    31  	aio_sigevent	sigevent
    32  }
    33  
    34  aiocb_private {
    35  	status		intptr
    36  	error		intptr
    37  	kernelinfo	ptr[in, array[int8]]
    38  }
    39  
    40  lio_mode = LIO_WAIT, LIO_NOWAIT
    41  lio_opcodes = LIO_NOP, LIO_WRITE, LIO_READ, LIO_VECTORED, LIO_WRITEV, LIO_READV, LIO_SYNC, LIO_DSYNC, LIO_MLOCK
    42  fsync_flags = O_SYNC, O_DSYNC