V10/cmd/oworm/scsi/reset.c
#include "scsi.h"
s_reset()
{
struct scsi_i input;
struct scsi_o output;
register i, n;
input.bus_id = 0x8000;
input.cmd[0] = 0x0; /* test unit ready */
input.cmd[1] = 0<<5;
input.cmd[2] = 0;
input.cmd[3] = 0;
input.cmd[4] = 0;
input.cmd[5] = 0;
if(scsiio(&input, 0, &output, 0, "reset") < 0)
return(1);
sleep(5);
for(i = 0; i < 60; i++){
sleep(2);
s_sense(0, 0);
n = s_sensei(&input, 0, 0);
if(scsiio(&input, 0, &output, n, "reset sense") < 0)
return(1);
if(output.scsistatus == 0){
print("done\n");
return(0);
}
print(".");
}
return(0);
}