Annotation of researchv10dc/cmd/worm/scsi/generic/inq.c, revision 1.1

1.1     ! root        1: #include       <stdio.h>
        !             2: #include       "../scsi.h"
        !             3: #include       "../scsish.h"
        !             4: #include       "../tcl.h"
        !             5: #include       "fns.h"
        !             6: 
        !             7: char *gen_rmb[2] = { "nonremovable", "removable" };
        !             8: char *gen_devtype[256] = {
        !             9:        "direct access",
        !            10:        "sequential access",
        !            11:        "printer",
        !            12:        "processor",
        !            13:        "worm",
        !            14:        "cd-rom"
        !            15: };
        !            16: 
        !            17: int
        !            18: gen_inq(ClientData cd, Tcl_Interp *it, int argc, char **argv)
        !            19: {
        !            20:        struct scsi_cmd cmd;
        !            21:        struct scsi_return ret;
        !            22:        int i;
        !            23:        int args[8], na;
        !            24: 
        !            25: #pragma ref it
        !            26: 
        !            27:        na = 0;
        !            28:        if(argc == 1)
        !            29:                args[na++] = 0;
        !            30:        else if((argc == 2) && (atoi(argv[1]) < 0)){
        !            31:                for(i = 0; i < 8; i++)
        !            32:                        args[na++] = i;
        !            33:        } else {
        !            34:                for(i = 1; i < argc; i++)
        !            35:                        args[na++] = atoi(argv[i]);
        !            36:        }
        !            37:        for(i = 0; i < na; i++){
        !            38:                set6(cmd, 0x12, args[i]<<5, 0, 0, 36, 0);
        !            39:                if(s_io(0, &cmd, 0, &ret, -36, cd->err))
        !            40:                        ERR_RETURN
        !            41:                printf("inq(%d,%d): %s %s;", s_id, args[i],
        !            42:                        gen_rmb[ret.data[1]>>7], gen_devtype[ret.data[0]]);
        !            43:                if(ret.data[4] >= 16){
        !            44:                        char buf[256];
        !            45: 
        !            46:                        fixedstr(&ret.data[8], 8, buf);
        !            47:                        printf(" %s", buf);
        !            48:                        if(ret.data[4] >= 32){
        !            49:                                fixedstr(&ret.data[16], 16, buf);
        !            50:                                printf("/%s", buf);
        !            51:                                if(ret.data[4] >= 36){
        !            52:                                        fixedstr(&ret.data[32], 4, buf);
        !            53:                                        printf(" rev=%s", buf);
        !            54:                                }
        !            55:                        }
        !            56:                }
        !            57:                printf(" [%d bytes]\n", ret.data[4]);
        !            58:        }
        !            59:        return(TCL_OK);
        !            60: }

unix.superglobalmegacorp.com

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