1 /*
2 * Copyright (c) 1983 The Regents of the University of California.
3 * All rights reserved.
4 *
5 * %sccs.include.redist.c%
6 */
7
8 #ifndef lint
9 char copyright[] =
10 "@(#) Copyright (c) 1983 The Regents of the University of California.\n\
11 All rights reserved.\n";
12 #endif /* not lint */
13
14 #ifndef lint
15 static char sccsid[] = "@(#)rxformat.c 5.6 (Berkeley) 04/11/91";
16 #endif /* not lint */
17
18 #include <sys/file.h>
19 #include <vax/uba/rxreg.h>
20 #include <stdio.h>
21 #include <errno.h>
22 #include "pathnames.h"
23
24 char devname[] = _PATH_DEVNAME;
25
26 /*
27 * Format RX02 floppy disks.
28 */
29
main(argc,argv)30 main(argc, argv)
31 int argc;
32 char *argv[];
33 {
34 int fd, idens = 0, filarg = 1;
35 int i, c;
36
37 if (argc < 2 || argc > 3)
38 usage();
39 if (argc == 3) {
40 if (strncmp(argv[1],"-d",2) != 0)
41 usage();
42 idens++;
43 filarg++;
44 }
45 devname[8] = argv[filarg][7];
46 if ((fd = open(devname, O_RDWR)) < 0) {
47 perror(devname);
48 exit(1);
49 }
50 if (isatty(fileno(stdin))) {
51 printf("Format %s to %s density (y/n)? ",
52 argv[filarg], idens ? "double" : "single");
53 i = c = getchar();
54 while (c != '\n' && c != EOF)
55 c = getchar();
56 if (i != 'y')
57 exit(0);
58 } else
59 printf("Formatting %s to %s density\n",
60 argv[filarg], idens ? "double" : "single");
61 /*
62 * Change the ioctl command when dkio.h has
63 * been finished.
64 */
65 if (ioctl(fd, RXIOC_FORMAT, &idens) == 0)
66 exit(0);
67 else {
68 perror(devname);
69 exit(1);
70 }
71 }
72
usage()73 usage()
74 {
75 fprintf(stderr, "usage: rxformat [-d] /dev/rx?\n");
76 exit(1);
77 }
78