1 /* vi: set sw=4 ts=4: */
2 /*
3 * rdev - print device node associated with a filesystem
4 *
5 * Copyright (c) 2008 Nuovation System Designs, LLC
6 * Grant Erickson <gerickson@nuovations.com>
7 *
8 * Licensed under GPLv2, see file LICENSE in this source tree.
9 */
10 //config:config RDEV
11 //config: bool "rdev (1.8 kb)"
12 //config: default y
13 //config: help
14 //config: Print the device node associated with the filesystem mounted at '/'.
15
16 //applet:IF_RDEV(APPLET_NOEXEC(rdev, rdev, BB_DIR_USR_SBIN, BB_SUID_DROP, rdev))
17
18 //kbuild:lib-$(CONFIG_RDEV) += rdev.o
19
20 //usage:#define rdev_trivial_usage
21 //usage: ""
22 //usage:#define rdev_full_usage "\n\n"
23 //usage: "Print the device node associated with the filesystem mounted at '/'"
24 //usage:
25 //usage:#define rdev_example_usage
26 //usage: "$ rdev\n"
27 //usage: "/dev/mtdblock9 /\n"
28
29 #include "libbb.h"
30
31 int rdev_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
rdev_main(int argc UNUSED_PARAM,char ** argv UNUSED_PARAM)32 int rdev_main(int argc UNUSED_PARAM, char **argv UNUSED_PARAM)
33 {
34 const char *root_device = find_block_device("/");
35
36 if (root_device) {
37 printf("%s /\n", root_device);
38 return EXIT_SUCCESS;
39 }
40 return EXIT_FAILURE;
41 }
42