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