1 /* vi: set sw=4 ts=4: */
2 /*
3 * Print UUIDs on all filesystems
4 *
5 * Copyright (C) 2008 Denys Vlasenko.
6 *
7 * Licensed under GPLv2, see file LICENSE in this source tree.
8 */
9 //config:config BLKID
10 //config: bool "blkid (12 kb)"
11 //config: default y
12 //config: select VOLUMEID
13 //config: help
14 //config: Lists labels and UUIDs of all filesystems.
15 //config:
16 //config:config FEATURE_BLKID_TYPE
17 //config: bool "Print filesystem type"
18 //config: default y
19 //config: depends on BLKID
20 //config: help
21 //config: Show TYPE="filesystem type"
22
23 //applet:IF_BLKID(APPLET_NOEXEC(blkid, blkid, BB_DIR_SBIN, BB_SUID_DROP, blkid))
24
25 //kbuild:lib-$(CONFIG_BLKID) += blkid.o
26
27 //usage:#define blkid_trivial_usage
28 //usage: "[BLOCKDEV]..."
29 //usage:#define blkid_full_usage "\n\n"
30 //usage: "Print UUIDs of all filesystems"
31
32 #include "libbb.h"
33 #include "volume_id.h"
34
35 int blkid_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
blkid_main(int argc UNUSED_PARAM,char ** argv)36 int blkid_main(int argc UNUSED_PARAM, char **argv)
37 {
38 int scan_devices = 1;
39
40 while (*++argv) {
41 /* Note: bogus device names don't cause any error messages */
42 add_to_uuid_cache(*argv);
43 scan_devices = 0;
44 }
45
46 display_uuid_cache(scan_devices);
47 return 0;
48 }
49