#include <errno.h>
#include <libaio.h>
inline void io_prep_pwrite(struct iocb *iocb, int fd, void *buf, size_t count, long long offset); struct iocb { void *data; unsigned key; short aio_lio_opcode; short aio_reqprio; int aio_fildes; };
The first iocb->u.c.nbytes = count bytes of the file for which iocb->aio_fildes = fd is a descriptor are written from the buffer starting at iocb->u.c.buf = buf. Writing starts at the absolute position ioc->u.c.offset = offset in the file.
This function returns immediately. To schedule the operation, the function io_submit must be called.
Simultaneous asynchronous operations using the same iocb produce undefined results.