|
|
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.