1/* See LICENSE file for copyright and license details. */
2
3#include <fcntl.h>
4#include <limits.h>
5#include <stdio.h>
6#include <stdlib.h>
7
8#include "util.h"
9
10static void
11usage(void)
12{
13 eprintf("usage: %s file...\n", argv0);
14}
15
16// ?man readahead: read files into page cache
17// ?man arguments: file...
18// ?man preload file contents into the page cache
19int
20main(int argc, char *argv[])
21{
22 FILE *fp;
23
24 ARGBEGIN
25 {
26 default:
27 usage();
28 }
29 ARGEND;
30
31 if (argc == 0)
32 usage();
33
34 for (; argc > 0; argc--, argv++) {
35 if (!(fp = fopen(argv[0], "r"))) {
36 weprintf("fopen %s:", argv[0]);
37 continue;
38 }
39 if (readahead(fileno(fp), 0, -1) < 0)
40 weprintf("readahead %s:", argv[0]);
41 fclose(fp);
42 }
43 return 0;
44}