1 #include <fcntl.h>
2 #include <unistd.h>
3 #include <sys/uio.h>
4 #include <assert.h>
5
6 int
main(void)7 main(void)
8 {
9 const off_t offset = 0xdefaceddeadbeefLL;
10 int fd;
11 char buf[4];
12 struct iovec iov = { buf, sizeof buf };
13
14 assert((fd = open("/dev/zero", O_RDONLY)) >= 0);
15 assert(pread(fd, buf, sizeof buf, offset) == 4);
16 assert(preadv(fd, &iov, 1, offset) == 4);
17 assert(!close(fd));
18
19 assert((fd = open("/dev/null", O_WRONLY)) >= 0);
20 assert(pwrite(fd, buf, sizeof buf, offset) == 4);
21 assert(pwritev(fd, &iov, 1, offset) == 4);
22 assert(!close(fd));
23
24 return 0;
25 }
26