|
|
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: static
8: table(int drive, int tab, uchar *data)
9: {
10: int n, i;
11:
12: n = data[6];
13: printf("(%d,%d): alternate table %d (%d entries)\n", s_id, drive, tab, n);
14: for(data += 0x18, i = 0; i < n; data += 4, i++)
15: printf("%ld%c", data[0]+256L*data[1]+256L*256*data[2],
16: (i%10 == 9)? '\n':' ');
17: if((i%10) && n)
18: putchar('\n');
19: }
20:
21: int
22: sony_alt(ClientData cd, Tcl_Interp *it, int argc, char **argv)
23: {
24: struct scsi_cmd cmd;
25: struct scsi_return ret;
26: int unit, i;
27:
28: if(argc <= 1)
29: argv[i = 0] = "0";
30: else
31: i = 1;
32: for(; i < argc; i++){
33: unit = atoi(argv[i]);
34: set6(cmd, 0xC3, unit<<5, 0, 0, 0, 0);
35: if(s_io(0, &cmd, 0, &ret, 4096, cd->err))
36: ERR_RETURN
37: for(i = 0; i < 4; i++)
38: table(unit, i+1, &ret.data[1024*i]);
39: }
40: return(TCL_OK);
41: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.