blob: 97279ce61e35d0de7bca5646ee8a52d00922155b [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 */
Denys Vlasenkodd898c92016-11-23 11:46:32 +010010//config:config RDEV
Denys Vlasenko4eed2c62017-07-18 22:01:24 +020011//config: bool "rdev (1.4 kb)"
Denys Vlasenkodd898c92016-11-23 11:46:32 +010012//config: default y
13//config: help
Denys Vlasenko72089cf2017-07-21 09:50:55 +020014//config: Print the device node associated with the filesystem mounted at '/'.
Denys Vlasenkodd898c92016-11-23 11:46:32 +010015
Denys Vlasenko90ad4ba2017-08-08 00:42:15 +020016//applet:IF_RDEV(APPLET_NOEXEC(rdev, rdev, BB_DIR_USR_SBIN, BB_SUID_DROP, rdev))
Denys Vlasenkodd898c92016-11-23 11:46:32 +010017
18//kbuild:lib-$(CONFIG_RDEV) += rdev.o
Bernhard Reutner-Fischerc77e8432008-08-19 11:28:52 +000019
Pere Orga5bc8c002011-04-11 03:29:49 +020020//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
Bernhard Reutner-Fischerc77e8432008-08-19 11:28:52 +000029#include "libbb.h"
30
31int rdev_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
32int rdev_main(int argc UNUSED_PARAM, char **argv UNUSED_PARAM)
33{
Denys Vlasenkod6f50002011-12-15 12:39:25 +010034 const char *root_device = find_block_device("/");
Bernhard Reutner-Fischerc77e8432008-08-19 11:28:52 +000035
Denys Vlasenkod6f50002011-12-15 12:39:25 +010036 if (root_device) {
Bernhard Reutner-Fischerc77e8432008-08-19 11:28:52 +000037 printf("%s /\n", root_device);
38 return EXIT_SUCCESS;
39 }
40 return EXIT_FAILURE;
41}