Commit | Line | Data |
---|---|---|
8c5eec2f | 1 | /* |
e157b129 KB |
2 | * Copyright (c) 1983 The Regents of the University of California. |
3 | * All rights reserved. | |
4 | * | |
c0567266 KB |
5 | * Redistribution and use in source and binary forms, with or without |
6 | * modification, are permitted provided that the following conditions | |
7 | * are met: | |
8 | * 1. Redistributions of source code must retain the above copyright | |
9 | * notice, this list of conditions and the following disclaimer. | |
10 | * 2. Redistributions in binary form must reproduce the above copyright | |
11 | * notice, this list of conditions and the following disclaimer in the | |
12 | * documentation and/or other materials provided with the distribution. | |
13 | * 3. All advertising materials mentioning features or use of this software | |
14 | * must display the following acknowledgement: | |
15 | * This product includes software developed by the University of | |
16 | * California, Berkeley and its contributors. | |
17 | * 4. Neither the name of the University nor the names of its contributors | |
18 | * may be used to endorse or promote products derived from this software | |
19 | * without specific prior written permission. | |
20 | * | |
21 | * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND | |
22 | * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE | |
23 | * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE | |
24 | * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE | |
25 | * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL | |
26 | * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS | |
27 | * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) | |
28 | * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT | |
29 | * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY | |
30 | * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF | |
31 | * SUCH DAMAGE. | |
8c5eec2f DF |
32 | */ |
33 | ||
34 | #ifndef lint | |
35 | char copyright[] = | |
e157b129 | 36 | "@(#) Copyright (c) 1983 The Regents of the University of California.\n\ |
8c5eec2f | 37 | All rights reserved.\n"; |
e157b129 | 38 | #endif /* not lint */ |
8c5eec2f | 39 | |
524aa063 | 40 | #ifndef lint |
ad787160 | 41 | static char sccsid[] = "@(#)rxformat.c 5.6 (Berkeley) 4/11/91"; |
e157b129 | 42 | #endif /* not lint */ |
b0564e95 | 43 | |
b0564e95 | 44 | #include <sys/file.h> |
8daaa685 | 45 | #include <vax/uba/rxreg.h> |
7abf8d65 KB |
46 | #include <stdio.h> |
47 | #include <errno.h> | |
e157b129 | 48 | #include "pathnames.h" |
b0564e95 | 49 | |
7abf8d65 | 50 | char devname[] = _PATH_DEVNAME; |
f2685c79 | 51 | |
b0564e95 | 52 | /* |
2f887e17 | 53 | * Format RX02 floppy disks. |
b0564e95 | 54 | */ |
f2685c79 | 55 | |
b0564e95 HS |
56 | main(argc, argv) |
57 | int argc; | |
58 | char *argv[]; | |
59 | { | |
60 | int fd, idens = 0, filarg = 1; | |
fdeafb05 | 61 | int i, c; |
b0564e95 | 62 | |
fdeafb05 | 63 | if (argc < 2 || argc > 3) |
b0564e95 HS |
64 | usage(); |
65 | if (argc == 3) { | |
66 | if (strncmp(argv[1],"-d",2) != 0) | |
67 | usage(); | |
68 | idens++; | |
f2685c79 | 69 | filarg++; |
b0564e95 | 70 | } |
f2685c79 | 71 | devname[8] = argv[filarg][7]; |
fdeafb05 | 72 | if ((fd = open(devname, O_RDWR)) < 0) { |
f2685c79 | 73 | perror(devname); |
fdeafb05 | 74 | exit(1); |
b0564e95 | 75 | } |
fdeafb05 JB |
76 | if (isatty(fileno(stdin))) { |
77 | printf("Format %s to %s density (y/n)? ", | |
78 | argv[filarg], idens ? "double" : "single"); | |
79 | i = c = getchar(); | |
80 | while (c != '\n' && c != EOF) | |
81 | c = getchar(); | |
82 | if (i != 'y') | |
83 | exit(0); | |
84 | } else | |
85 | printf("Formatting %s to %s density\n", | |
86 | argv[filarg], idens ? "double" : "single"); | |
f2685c79 | 87 | /* |
2f887e17 SL |
88 | * Change the ioctl command when dkio.h has |
89 | * been finished. | |
f2685c79 | 90 | */ |
fdeafb05 JB |
91 | if (ioctl(fd, RXIOC_FORMAT, &idens) == 0) |
92 | exit(0); | |
93 | else { | |
f2685c79 | 94 | perror(devname); |
fdeafb05 JB |
95 | exit(1); |
96 | } | |
b0564e95 HS |
97 | } |
98 | ||
99 | usage() | |
100 | { | |
101 | fprintf(stderr, "usage: rxformat [-d] /dev/rx?\n"); | |
fdeafb05 | 102 | exit(1); |
b0564e95 | 103 | } |