1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73
|
.\" 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 2019-07-23 "Linux" "Linux AIO"
.SH NAME
io_prep_pread \- Set up asynchronous read
.SH SYNOPSIS
.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
.BR io_prep_pread ()
is an inline convenience function designed to facilitate the initialization of
the iocb for an asynchronous read operation.
The first
.I iocb->u.c.nbytes = count
bytes of the file for which
.I iocb->aio_fildes = fd
is a descriptor are written to the buffer
starting at
.IR "iocb->u.c.buf = buf" .
Reading starts at the absolute position
.I 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 \fIiocb\fP 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).
|