blob: 5938aecc6b056f80987d91cc1b035a392b9eb58f [file] [log] [blame]
./" static inline void io_prep_pread(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_PREAD;
./" iocb->aio_reqprio = 0;
./" iocb->u.c.buf = buf;
./" iocb->u.c.nbytes = count;
./" iocb->u.c.offset = offset;
./" }
.TH io_prep_pread 3 2002-09-12 "Linux 2.4" Linux AIO"
.SH NAME
io_prep_pread \- Set up asynchronous read
.SH SYNOPSYS
.nf
.B #include <errno.h>
.sp
.br
.B #include <libaio.h>
.br
.sp
.BI "inline void io_prep_pread(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
.IR io_prep_pread
is an inline convenience function designed to facilitate the initialization of
the iocb for an asynchronous read operation.
The first
.TP
.IR "iocb->u.c.nbytes = count"
bytes of the file for which
.TP
.IR "iocb->aio_fildes = fd"
is a descriptor are written to the buffer
starting at
.TP
.IR "iocb->u.c.buf = buf"
.
.br
Reading starts at the absolute position
.TP
.IR "ioc->u.c.offset = offset"
in the file.
.PP
This function returns immediately . To schedule the operation, the
function
.IR io_submit
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_pwrite(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)