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