|
|
1.1 root 1: /*
2: * stdefs.h,v 1.3 1993/05/20 03:46:55 cgd Exp
3: */
4:
5: #define STQSIZE 4
6: struct st_data {
7: struct scsi_switch *sc_sw; /* address of scsi low level switch */
8: int flags;
9: int ctlr; /* so they know which one we want */
10: int targ; /* our scsi target ID */
11: int lu; /* our scsi lu */
12: int blkmin; /* min blk size */
13: int blkmax; /* max blk size */
14: int numblks; /* nominal blocks capacity */
15: int blksiz; /* nominal block size */
16: int info_valid; /* the info about the device is valid */
17: int initialized;
18: struct buf buf[STQSIZE]; /* buffer for raw io (one per device) */
19: struct buf buf_queue;
20: struct scsi_xfer scsi_xfer;
21: int blockwait;
22: };
23: #define ST_OPEN 0x01
24: #define ST_NOREWIND 0x02
25: #define ST_WRITTEN 0x04
26: #define ST_FIXEDBLOCKS 0x10
27: #define ST_AT_FILEMARK 0x20
28: #define ST_AT_EOM 0x40
29:
30: #define ST_PER_ACTION (ST_AT_FILEMARK | ST_AT_EOM)
31: #define ST_PER_OPEN (ST_OPEN | ST_NOREWIND | ST_WRITTEN | ST_PER_ACTION)
32: #define ST_PER_MEDIA ST_FIXEDBLOCKS
33:
34: int stattach(int, struct scsi_switch *, int, int *);
35: int stopen(dev_t);
36: int stclose(dev_t);
37: void stminphys(struct buf *);
38: int ststrategy(struct buf *);
39: int ststart(int);
40: int st_done(int, struct scsi_xfer *);
41: int stioctl(dev_t, int, caddr_t, int);
42: int st_req_sense(int, int);
43: int st_test_ready(int, int);
44: int st_rd_blk_lim(int, int);
45: int st_mode_sense(int, int);
46: int st_mode_select(int, int, int);
47: int st_space(int, int, int, int);
48: int st_write_filemarks(int, int, int);
49: int st_load(int, int, int);
50: int st_prevent(int, int, int);
51: int st_rewind(int, int, int);
52: int st_scsi_cmd(int, struct scsi_generic *, int, u_char *, int, int, int);
53: int st_interpret_sense(int, struct scsi_xfer *);
54: int stsize(dev_t);
55: int stdump(void);
56:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.