1#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined XPG4 && !defined XPG42
2type {struct aiocb}
3
4// Test elements of the AIO control struct.
5element {struct aiocb} int aio_fildes
6element {struct aiocb} off_t aio_offset
7element {struct aiocb} {volatile void*} aio_buf
8element {struct aiocb} size_t aio_nbytes
9element {struct aiocb} int aio_reqprio
10element {struct aiocb} {struct sigevent} aio_sigevent
11element {struct aiocb} int aio_lio_opcode
12
13constant AIO_CANCELED
14constant AIO_NOTCANCELED
15constant AIO_ALLDONE
16constant LIO_WAIT
17constant LIO_NOWAIT
18constant LIO_READ
19constant LIO_WRITE
20constant LIO_NOP
21
22function int aio_cancel (int, struct aiocb*)
23function int aio_error (const struct aiocb*)
24function int aio_fsync (int, struct aiocb*)
25function int aio_read (struct aiocb*)
26function ssize_t aio_return (struct aiocb*)
27function int aio_suspend (const struct aiocb* const[], int, const struct timespec*)
28function int aio_write (struct aiocb*)
29function int lio_listio (int, struct aiocb *const[], int, struct sigevent*)
30
31// POSIX in theory doesn't allow the header to be self contained but
32// this was fixed later and we do not test for this here.
33allow-header fcntl.h
34allow-header signal.h
35allow-header sys/types.h
36allow-header time.h
37
38allow aio_*
39allow lio_*
40allow AIO_*
41allow LIO_*
42allow *_t
43#endif
44