xref: /original-bsd/sys/tahoe/stand/vdformat/status.c (revision e59fb703)
1 #ifndef lint
2 static char sccsid[] = "@(#)status.c	1.3 (Berkeley/CCI) 06/07/88";
3 #endif
4 
5 #include	"vdfmt.h"
6 
7 /*
8 **	These routines are used to display the status of the formatter.
9 */
10 
11 status()
12 {
13 	indent();
14 	switch (cur.state) {
15 		case cmd :
16 			print("Waiting for operator response.\n");
17 			break;
18 		case fmt :
19 			dump_state("Formatting");
20 			break;
21 		case vfy :
22 			dump_state("Verifying");
23 			break;
24 		case rel :
25 			dump_state("Relocating");
26 			break;
27 		case cor :
28 			dump_state("Correcting");
29 			break;
30 		case inf :
31 			dump_state("Collecting information");
32 			break;
33 		case exec :
34 			dump_state("Exercising disk");
35 			break;
36 		case setup:
37 			printf("Initializing for operation ");
38 			printf("on controller %d, drive %d.\n",
39 				cur.controller, cur.drive);
40 		default:
41 			print("Current state is unknown.\n");
42 	}
43 	exdent(1);
44 }
45 
46 
47 /*
48 **
49 */
50 
51 dump_state(string)
52 char	*string;
53 {
54 	extern int wait_for_char;
55 
56 	indent();
57 	print("%s on controller %d, drive %d.\n",
58 	    string, cur.controller, cur.drive);
59 	if (wait_for_char)
60 		print("Waiting for operator response.\n");
61 	else {
62 		print("Currently accessing cylinder %d, head %d.\n",
63 		    cur.daddr.cylinder, cur.daddr.track);
64 		print("Currently ");
65 		switch (cur.substate) {
66 			case sub_chk :
67 				printf("determining drive state.\n");
68 				break;
69 			case sub_fmt :
70 				printf("formatting drive surface.\n");
71 				break;
72 			case sub_vfy :
73 				printf("verifying drive surface.\n");
74 				break;
75 			case sub_rel :
76 				printf("performing relocation operations.\n");
77 				break;
78 			case sub_rcvr :
79 				printf("recovering from hardware error.\n");
80 				break;
81 			case sub_wmap :
82 				printf("writing relocation map.\n");
83 				break;
84 			default :
85 				printf("I don't know what is happening.\n");
86 				break;
87 		}
88 	}
89 	exdent(1);
90 }
91 
92