Annotation of researchv10dc/cmd/oworm/scsi/config.c, revision 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.