1<aio.h>(0P)                POSIX Programmer's Manual               <aio.h>(0P)
2
3
4

NAME

6       aio.h - asynchronous input and output (REALTIME)
7

SYNOPSIS

9       #include <aio.h>
10

DESCRIPTION

12       The <aio.h> header shall define the aiocb structure which shall include
13       at least the following members:
14
15
16              int             aio_fildes     File descriptor.
17              off_t           aio_offset     File offset.
18              volatile void  *aio_buf        Location of buffer.
19              size_t          aio_nbytes     Length of transfer.
20              int             aio_reqprio    Request priority offset.
21              struct sigevent aio_sigevent   Signal number and value.
22              int             aio_lio_opcode Operation to be performed.
23
24       This header shall also include the following constants:
25
26       AIO_ALLDONE
27              A return value indicating that none of the requested  operations
28              could be canceled since they are already complete.
29
30       AIO_CANCELED
31              A  return  value  indicating  that all requested operations have
32              been canceled.
33
34       AIO_NOTCANCELED
35
36              A return value indicating that some of the requested  operations
37              could not be canceled since they are in progress.
38
39       LIO_NOP
40              A  lio_listio()  element  operation  option  indicating  that no
41              transfer is requested.
42
43       LIO_NOWAIT
44              A lio_listio() synchronization  operation  indicating  that  the
45              calling  thread  is to continue execution while the lio_listio()
46              operation is being performed, and no notification is given  when
47              the operation is complete.
48
49       LIO_READ
50              A lio_listio() element operation option requesting a read.
51
52       LIO_WAIT
53              A  lio_listio()  synchronization  operation  indicating that the
54              calling thread is to suspend until the lio_listio() operation is
55              complete.
56
57       LIO_WRITE
58              A lio_listio() element operation option requesting a write.
59
60
61       The following shall be declared as functions and may also be defined as
62       macros. Function prototypes shall be provided.
63
64
65              int      aio_cancel(int, struct aiocb *);
66              int      aio_error(const struct aiocb *);
67              int      aio_fsync(int, struct aiocb *);
68              int      aio_read(struct aiocb *);
69              ssize_t  aio_return(struct aiocb *);
70              int      aio_suspend(const struct aiocb *const[], int,
71                           const struct timespec *);
72              int      aio_write(struct aiocb *);
73              int      lio_listio(int, struct aiocb *restrict const[restrict], int,
74                           struct sigevent *restrict);
75
76       Inclusion of the <aio.h> header may make visible symbols defined in the
77       headers <fcntl.h>, <signal.h>, <sys/types.h>, and <time.h>.
78
79       The following sections are informative.
80

APPLICATION USAGE

82       None.
83

RATIONALE

85       None.
86

FUTURE DIRECTIONS

88       None.
89

SEE ALSO

91       <fcntl.h>,  <signal.h>,  <sys/types.h>, <time.h>, the System Interfaces
92       volume of IEEE Std 1003.1-2001, fsync(), lseek(), read(), write()
93
95       Portions of this text are reprinted and reproduced in  electronic  form
96       from IEEE Std 1003.1, 2003 Edition, Standard for Information Technology
97       -- Portable Operating System Interface (POSIX),  The  Open  Group  Base
98       Specifications  Issue  6,  Copyright  (C) 2001-2003 by the Institute of
99       Electrical and Electronics Engineers, Inc and The Open  Group.  In  the
100       event of any discrepancy between this version and the original IEEE and
101       The Open Group Standard, the original IEEE and The Open Group  Standard
102       is  the  referee document. The original Standard can be obtained online
103       at http://www.opengroup.org/unix/online.html .
104
105
106
107IEEE/The Open Group                  2003                          <aio.h>(0P)
Impressum