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