1 #ifndef lint 2 static char sccsid[] = "@(#)start.c 1.3 (Berkeley/CCI) 11/23/87"; 3 #endif 4 5 #include "vdfmt.h" 6 7 /* 8 ** 9 */ 10 start_commands()11start_commands() 12 { 13 register int ctlr, drive, cur_op; 14 15 indent(); 16 for(ctlr=0; ctlr<MAXCTLR; ctlr++) 17 for(drive=0; drive<MAXDRIVE; drive++) { 18 for(cur_op=0; cur_op<NUMOPS; cur_op++) { 19 if(ops_to_do[ctlr][drive].op & (1<<cur_op)) { 20 cur.controller = ctlr; 21 cur.drive = drive; 22 C_INFO = &c_info[ctlr]; 23 D_INFO = &d_info[ctlr][drive]; 24 lab = &D_INFO->label; 25 if(!_setjmp(abort_environ)) { 26 cur.state = setup; 27 load_verify_patterns(); 28 if (D_INFO->alive != u_true) 29 spin_up_drive(); 30 (*operations[cur_op].routine)(); 31 } 32 ops_to_do[ctlr][drive].op&=~(1<<cur_op); 33 } 34 } 35 } 36 exdent(1); 37 } 38