#ifndef lint static char sccsid[] = "@(#)vdfmt.c 1.5 (Berkeley/CCI) 11/23/87"; #endif /* ** */ #include "vdfmt.h" main() { exdent(-1); print("VDFORMAT Berkeley Version 1.5 \n\n"); for(;;) { determine_controller_types(); print( "\nType `Help' for help, `Start' to execute operations.\n\n"); if(!_setjmp(reset_environ)) { init_environment(); for(;;) { if(!_setjmp(quit_environ)) { reset_operation_tables(); process_commands(); } else report_unexecuted_ops(); } } } } /* ** */ report_unexecuted_ops() { register int ctlr, drive; char *header = "The following operations will not be executed:\n"; indent(); for(ctlr=0; ctlraddr = (struct vddevice *)(VDBASE+(ctlr*VDOFF)); if(!badaddr(ci->addr, 2)) { printf("controller %d: ", ctlr); num_controllers++; ci->addr->vdreset = (unsigned)0xffffffff; DELAY(1000000); if(ci->addr->vdreset!=(unsigned)0xffffffff) { ci->alive = u_true; ci->type = VDTYPE_VDDC; ci->name = "VDDC"; ci->decode_pos = smd_decode_position; ci->code_pos = smd_code_position; printf("vddc\n"); DELAY(1000000); } else { ci->alive = u_true; ci->type = VDTYPE_SMDE; ci->name = "SMD-E"; ci->addr->vdrstclr = 0; ci->decode_pos = smd_e_decode_position; ci->code_pos = smd_e_code_position; printf("smd-e\n"); DELAY(3000000); } } else { ci->alive = u_false; ci->type = -1; } for(drive=0; drive