.\" 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; .\" } .TH io_prep_pwrite 3 2019-07-23 "Linux" "Linux AIO" .SH NAME io_prep_pwrite \- Set up iocb for asynchronous writes .SH SYNOPSIS .nf .B #include .br .sp .B #include .br .sp .BI "inline void io_prep_pwrite(struct iocb *" iocb ", int " fd ", void *" buf ", size_t " count ", long long " offset ");" . .sp struct iocb { void *data; unsigned key; short aio_lio_opcode; short aio_reqprio; int aio_fildes; }; .fi .SH DESCRIPTION .BR io_prep_write () is a convenience function for setting up parallel writes. The first .IR "iocb->u.c.nbytes = count" bytes of the file for which .IR "iocb->aio_fildes = fd" is a descriptor are written from the buffer starting at .IR "iocb->u.c.buf = buf" . Writing starts at the absolute position .IR "ioc->u.c.offset = offset" in the file. .PP This function returns immediately. To schedule the operation, the function .BR io_submit (3) must be called. .PP Simultaneous asynchronous operations using the same iocb produce undefined results. .SH "RETURN VALUES" None. .SH ERRORS None. .SH "SEE ALSO" .BR io (3), .BR io_cancel (3), .BR io_fsync (3), .BR io_getevents (3), .BR io_prep_fsync (3), .BR io_prep_pread (3), .BR io_queue_init (3), .BR io_queue_release (3), .BR io_queue_run (3), .BR io_queue_wait (3), .BR io_set_callback (3), .BR io_submit (3), .BR errno (3).