Annotation of researchv10no/cmd/worm/oscsi/sony/alt.c, revision 1.1.1.1

1.1       root        1: #include       <stdio.h>
                      2: #include       "../scsi.h"
                      3: #include       "../scsish.h"
                      4: #include       "fns.h"
                      5: 
                      6: static
                      7: table(int drive, int tab, uchar *data)
                      8: {
                      9:        int n, i;
                     10: 
                     11:        n = data[6];
                     12:        printf("(%d,%d): alternate table %d (%d entries)\n", s_id, drive, tab, n);
                     13:        for(data += 0x18, i = 0; i < n; data += 4, i++)
                     14:                printf("%ld%c", data[0]+256L*data[1]+256L*256*data[2],
                     15:                        (i%10 == 9)? '\n':' ');
                     16:        if((i%10) && n)
                     17:                putchar('\n');
                     18: }
                     19: 
                     20: int
                     21: sony_alt(int niargs, int *iargs, int ncargs, char **cargs, char *err)
                     22: {
                     23:        struct scsi_cmd cmd;
                     24:        struct scsi_return ret;
                     25:        int n, i;
                     26: 
                     27: #pragma ref ncargs
                     28: #pragma ref cargs
                     29: 
                     30:        if(niargs == 0)
                     31:                iargs[0] = 0;
                     32:        set6(cmd, 0xC3, iargs[0]<<5, 0, 0, 0, 0);
                     33:        if(n = s_io(0, &cmd, 0, &ret, 4096, err))
                     34:                return(n);
                     35:        for(i = 0; i < 4; i++)
                     36:                table(iargs[0], i+1, &ret.data[1024*i]);
                     37:        return(0);
                     38: }

unix.superglobalmegacorp.com

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