|
|
1.1 root 1: /*
2: * cddefs.h,v 1.3 1993/05/20 03:46:20 cgd Exp
3: */
4:
5: struct cd_data {
6: int flags;
7: #define CDVALID 0x02 /* PARAMS LOADED */
8: #define CDINIT 0x04 /* device has been init'd */
9: #define CDWAIT 0x08 /* device has someone waiting */
10: #define CDHAVELABEL 0x10 /* have read the label */
11: struct scsi_switch *sc_sw; /* address of scsi low level switch */
12: int ctlr; /* so they know which one we want */
13: int targ; /* our scsi target ID */
14: int lu; /* out scsi lu */
15: int cmdscount; /* cmds allowed outstanding by board*/
16: struct cd_parms {
17: int blksize;
18: u_long disksize; /* total number sectors */
19: } params;
20: struct disklabel disklabel;
21: int partflags[MAXPARTITIONS]; /* per partition flags */
22: #define CDOPEN 0x01
23: int openparts; /* one bit for each open partition */
24: };
25:
26: int cdattach(int, struct scsi_switch *, int, int *);
27: int cdopen(dev_t);
28: struct scsi_xfer * cd_get_xs(int, int);
29: void cd_free_xs(int, struct scsi_xfer *, int);
30: void cdminphys(struct buf *);
31: int cdstrategy(struct buf *);
32: void cdstart(int);
33: int cd_done(int, struct scsi_xfer *);
34: int cdioctl(dev_t, int, caddr_t, int);
35: int cdgetdisklabel(int);
36: int cd_size(int, int);
37: int cd_req_sense(int, int);
38: int cd_get_mode(int, struct cd_mode_data *, int);
39: int cd_set_mode(int, struct cd_mode_data *);
40: int cd_play(int, int, int);
41: int cd_play_big(int, int, int);
42: int cd_play_tracks(int, int, int, int, int);
43: int cd_pause(int, int);
44: int cd_reset(int);
45: int cd_start_unit(int, int, int);
46: int cd_prevent_unit(int, int, int);
47: int cd_read_subchannel(int, int, int, int, struct cd_sub_channel_info *, int);
48: int cd_read_toc(int, int, int, struct cd_toc_entry *, int);
49: int cd_get_parms(int, int);
50: int cdclose(dev_t);
51: int cd_scsi_cmd(int, struct scsi_generic *, int, u_char *, int, int, int);
52: int cd_interpret_sense(int, struct scsi_xfer *);
53: int cdsize(dev_t);
54: int show_mem(unsigned char *, int);
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.