master xplshn/aruu / cmd / linux / freeramdisk.c
 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}