1/* See LICENSE file for copyright and license details. */
2
3#include <sys/ioctl.h>
4#include <sys/mount.h>
5#include <sys/types.h>
6
7#include <fcntl.h>
8#include <stdio.h>
9#include <stdlib.h>
10#include <unistd.h>
11
12#include "paths.h"
13#include "util.h"
14
15static void
16usage(void)
17{
18 eprintf("usage: %s\n", argv0);
19}
20
21// ?man freeramdisk: free ramdisk memory
22// ?man free memory associated with a ramdisk device
23int
24main(int argc, char *argv[])
25{
26 char *dev = "/dev/ram";
27 int fd;
28
29 ARGBEGIN
30 {
31 default:
32 usage();
33 }
34 ARGEND;
35
36 if (argc != 0)
37 usage();
38
39 if ((fd = open(dev, O_RDWR)) < 0)
40 eprintf("open: %s:", dev);
41 if (ioctl(fd, BLKFLSBUF, dev) < 0)
42 eprintf("BLKFLSBUF %s:", dev);
43 close(fd);
44 return 0;
45}