|
|
1.1 root 1: #include <libc.h>
2:
3: struct scsi_i
4: {
5: short bus_id; /* 0x8000 bit set means reset */
6: char cmd[10];
7: char data[4*1024];
8: };
9: #define INN(n) (12+n)
10: #define OUTN(n) (8+n)
11:
12: #define TD_VIKING 1
13: #define USD_1158 2
14:
15: struct scsi_o
16: {
17: unsigned char type;
18: unsigned char pad;
19: unsigned char scsistatus;
20: unsigned char scsimesg;
21: unsigned short reg1; /* td=sa, us=csr */
22: unsigned short reg2; /* td=mscp, us=per */
23: unsigned char data[4*1024];
24: };
25:
26: #define CHECK(o) (((o).scsistatus&0x1E) == 0x02)
27:
28: extern int scsi_fd;
29: extern int scsi_id;
30: extern int scsi_verbose;
31: extern int scsi_shush;
32:
33: #define V scsi_verbose
34:
35: #define A 0
36: #define B 1
37:
38: #define ULONG(d) ((d[0]<<24)|(d[1]<<16)|(d[2]<<8)|d[3])
39: #define LONG(cp) ULONG(((unsigned char *)cp))
40:
41: #define UNLABELLED "unlabelled" /* unlabelled disks */
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.