Annotation of researchv10dc/cmd/oworm/scsi/config.c, revision 1.1.1.1

1.1       root        1: #include       "scsi.h"
                      2: 
                      3: static char mtab[5][2] =
                      4: {
                      5:        '0', '0', '1', '1', '1', '2', '2', '2', '?', '?'
                      6: };
                      7: char *brdname[] = { "no doard", "T.D. Systems Viking", "U.S. Design 1158" };
                      8: 
                      9: s_config()
                     10: {
                     11:        struct scsi_i input;
                     12:        struct scsi_o output;
                     13:        int i;
                     14: 
                     15:        input.bus_id = scsi_id;
                     16:        input.cmd[0] = 0x12;
                     17:        input.cmd[1] = 0;
                     18:        input.cmd[2] = 0;
                     19:        input.cmd[3] = 0;
                     20:        input.cmd[4] = 44;
                     21:        input.cmd[5] = 0;
                     22:        if(scsiio(&input, 0, &output, 44, "config") < 0)
                     23:                return(1);
                     24:        i = min(output.data[37], 4);
                     25:        Fprint(1, "config(%d,%d): %s device, '%0.28s', %c controller%s, %c drive%s\n",
                     26:                scsi_id, 0, (output.data[0] == 0x4)? "WORM":"Unknown",
                     27:                &output.data[8], mtab[i][0], (mtab[i][0] == '1')?"":"s",
                     28:                mtab[i][1], (mtab[i][1] == '1')?"":"s");
                     29:        Fprint(1, "\tUnibus-SCSI controller=%s\n", brdname[output.type]);
                     30:        Fprint(1, "\tROMS:");
                     31:        if(output.data[38] != 0xFF)
                     32:                Fprint(1, " upper controller=x%x,", output.data[38]);
                     33:        if(output.data[40] != 0xFF)
                     34:                Fprint(1, " lower controller=x%x,", output.data[40]);
                     35:        Fprint(1, " IF-129=x%x, SY-46=x%x, SS-30=x%x\n", output.data[36],
                     36:                output.data[42], output.data[43]);
                     37:        return(0);
                     38: }
                     39: 
                     40: s_ndrives()
                     41: {
                     42:        struct scsi_i input;
                     43:        struct scsi_o output;
                     44:        int i;
                     45: 
                     46:        input.bus_id = scsi_id;
                     47:        input.cmd[0] = 0x12;
                     48:        input.cmd[1] = 0;
                     49:        input.cmd[2] = 0;
                     50:        input.cmd[3] = 0;
                     51:        input.cmd[4] = 44;
                     52:        input.cmd[5] = 0;
                     53:        if(scsiio(&input, 0, &output, 44, "ndrives") < 0)
                     54:                return(0);
                     55:        i = min(output.data[37], 4);
                     56:        return(mtab[i][1] - '0');
                     57: }

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.