io_prep_pwrite (3)
Leading comments
static inline void io_prep_pwrite(struct iocb *iocb, int fd, void *buf, size_t count, long long offset) { memset(iocb, 0, sizeof(*iocb)); iocb->aio_fildes = fd; iocb->aio_lio_opcode = IO_CMD_PWRITE; iocb->aio_reqprio = 0; iocb->u.c.buf = buf; iocb->u.c.nbytes = count; iocb->u.c.offset = offset; }
NAME
io_prep_pwrite - Set up iocb for asynchronous writesSYNOPSIS
#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; };
DESCRIPTION
io_prep_write is a convenicence function for setting up parallel writes.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.