1 #include <aio.h>
2 #include <errno.h>
3 #include <fcntl.h>
4 #include <stdio.h>
5 #include <string.h>
6 #include <unistd.h>
7 
8 static int
do_test(void)9 do_test (void)
10 {
11   int fd = open ("/dev/full", O_RDWR);
12   if (fd == -1)
13     {
14       puts ("could not open /dev/full");
15       return 0;
16     }
17 
18   struct aiocb req;
19   req.aio_fildes = fd;
20   req.aio_lio_opcode = LIO_WRITE;
21   req.aio_reqprio = 0;
22   req.aio_buf = (void *) "hello";
23   req.aio_nbytes = 5;
24   req.aio_offset = 0;
25   req.aio_sigevent.sigev_notify = SIGEV_NONE;
26 
27   struct aiocb *list[1];
28   list[0] = &req;
29 
30   int r = lio_listio (LIO_WAIT, list, 1, NULL);
31   int e = errno;
32 
33   printf ("r = %d, e = %d (%s)\n", r, e, strerror (e));
34 
35   return r != -1 || e != EIO;
36 }
37 
38 #define TEST_FUNCTION do_test ()
39 #include "../test-skeleton.c"
40