|
|
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: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.