|
|
1.1 root 1: #include <stdio.h>
2: #include "../scsi.h"
3: #include "../scsish.h"
4: #include "fns.h"
5:
6: int
7: sony_inq(int niargs, int *iargs, int ncargs, char **cargs, char *err)
8: {
9: struct scsi_cmd cmd;
10: struct scsi_return ret;
11: int n, i;
12:
13: #pragma ref ncargs
14: #pragma ref cargs
15:
16: if(niargs == 0)
17: for(niargs = 0; niargs < 8; niargs++)
18: iargs[niargs] = niargs;
19: for(i = 0; i < niargs; i++){
20: set6(cmd, 0x12, iargs[i]<<5, 0, 0, 6, 0);
21: if(n = s_io(0, &cmd, 0, &ret, 6, err))
22: return(n);
23: printf("inq(%d,%d): ", s_id, iargs[i]);
24: if(ret.data[5]&0x80)
25: printf("power off (0x%x)\n", ret.data[5]&0xFF);
26: else if(ret.data[5]&0x40)
27: printf("empty (0x%x)\n", ret.data[5]&0xFF);
28: else
29: printf("%s,%s,%s,%s (0x%x)\n",
30: (ret.data[5]&0x08)?"write protect":"writable",
31: (ret.data[5]&0x04)?"no alternate":"",
32: (ret.data[5]&0x02)?"drive error":"",
33: (ret.data[5]&0x01)?"ready":"not ready",
34: ret.data[5]&0xFF);
35: }
36: return(0);
37: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.