blob: 2ffe076880968253f2bf334f8302ebb68126c285 [file] [log] [blame]
Bernhard Reutner-Fischerc77e8432008-08-19 11:28:52 +00001/* 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 *
Denys Vlasenko0ef64bd2010-08-16 20:14:46 +02008 * Licensed under GPLv2, see file LICENSE in this source tree.
Bernhard Reutner-Fischerc77e8432008-08-19 11:28:52 +00009 *
10 */
Denys Vlasenkodd898c92016-11-23 11:46:32 +010011//config:config RDEV
Denys Vlasenko4eed2c62017-07-18 22:01:24 +020012//config: bool "rdev (1.4 kb)"
Denys Vlasenkodd898c92016-11-23 11:46:32 +010013//config: default y
14//config: help
Denys Vlasenko72089cf2017-07-21 09:50:55 +020015//config: Print the device node associated with the filesystem mounted at '/'.
Denys Vlasenkodd898c92016-11-23 11:46:32 +010016
17//applet:IF_RDEV(APPLET(rdev, BB_DIR_USR_SBIN, BB_SUID_DROP))
18
19//kbuild:lib-$(CONFIG_RDEV) += rdev.o
Bernhard Reutner-Fischerc77e8432008-08-19 11:28:52 +000020
Pere Orga5bc8c002011-04-11 03:29:49 +020021//usage:#define rdev_trivial_usage
22//usage: ""
23//usage:#define rdev_full_usage "\n\n"
24//usage: "Print the device node associated with the filesystem mounted at '/'"
25//usage:
26//usage:#define rdev_example_usage
27//usage: "$ rdev\n"
28//usage: "/dev/mtdblock9 /\n"
29
Bernhard Reutner-Fischerc77e8432008-08-19 11:28:52 +000030#include "libbb.h"
31
32int rdev_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
33int rdev_main(int argc UNUSED_PARAM, char **argv UNUSED_PARAM)
34{
Denys Vlasenkod6f50002011-12-15 12:39:25 +010035 const char *root_device = find_block_device("/");
Bernhard Reutner-Fischerc77e8432008-08-19 11:28:52 +000036
Denys Vlasenkod6f50002011-12-15 12:39:25 +010037 if (root_device) {
Bernhard Reutner-Fischerc77e8432008-08-19 11:28:52 +000038 printf("%s /\n", root_device);
39 return EXIT_SUCCESS;
40 }
41 return EXIT_FAILURE;
42}