Magellan Linux

Annotation of /tags/mkinitrd-6_3_1/busybox/miscutils/volname.c

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1143 - (hide annotations) (download)
Thu Aug 19 12:44:27 2010 UTC (13 years, 10 months ago) by niro
File MIME type: text/plain
File size: 1533 byte(s)
tagged 'mkinitrd-6_3_1'
1 niro 984 /*
2     * Reads and displays CD-ROM volume name
3     *
4     * Several people have asked how to read CD volume names so I wrote this
5     * small program to do it.
6     *
7     * usage: volname [<device-file>]
8     *
9     * Copyright (C) 2000-2001 Jeff Tranter (tranter@pobox.com)
10     *
11     * This program is free software; you can redistribute it and/or modify
12     * it under the terms of the GNU General Public License as published by
13     * the Free Software Foundation; either version 2 of the License, or
14     * (at your option) any later version.
15     *
16     * This program is distributed in the hope that it will be useful,
17     * but WITHOUT ANY WARRANTY; without even the implied warranty of
18     * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19     * GNU General Public License for more details.
20     *
21     * You should have received a copy of the GNU General Public License
22     * along with this program; if not, write to the Free Software
23     * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
24     */
25    
26     /*
27     * mods from distributed source (eject-2.0.13) are by
28     * Matthew Stoltenberg <d3matt@gmail.com>
29     */
30     #include "libbb.h"
31    
32     int volname_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
33     int volname_main(int argc UNUSED_PARAM, char **argv)
34     {
35     int fd;
36     char buffer[32];
37     const char *device;
38    
39     device = "/dev/cdrom";
40     if (argv[1]) {
41     device = argv[1];
42     if (argv[2])
43     bb_show_usage();
44     }
45    
46     fd = xopen(device, O_RDONLY);
47     xlseek(fd, 32808, SEEK_SET);
48     xread(fd, buffer, 32);
49     printf("%32.32s\n", buffer);
50     if (ENABLE_FEATURE_CLEAN_UP) {
51     close(fd);
52     }
53     return 0;
54     }