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