Import 2.1.34
[davej-history.git] / drivers / scsi / sr.h
blob1c3482f3da3bb694b6aa8a2dd45342f05ca65f7e
1 /*
2 * sr.h by David Giller
3 * CD-ROM disk driver header file
4 *
5 * adapted from:
6 * sd.h Copyright (C) 1992 Drew Eckhardt
7 * SCSI disk driver header file by
8 * Drew Eckhardt
10 * <drew@colorado.edu>
12 * Modified by Eric Youngdale eric@aib.com to
13 * add scatter-gather, multiple outstanding request, and other
14 * enhancements.
17 #ifndef _SR_H
18 #define _SR_H
20 #include <linux/config.h>
22 #include"scsi.h"
24 typedefstruct
26 unsigned capacity;/* size in blocks */
27 unsigned sector_size;/* size in bytes */
28 Scsi_Device *device;
29 unsigned int vendor;/* vendor code, see sr_vendor.c */
30 unsigned long ms_offset;/* for reading multisession-CD's */
31 unsigned char sector_bit_size;/* sector size = 2^sector_bit_size */
32 unsigned char sector_bit_shift;/* sectors/FS block = 2^sector_bit_shift*/
33 unsigned needs_sector_size:1;/* needs to get sector size */
34 unsigned ten:1;/* support ten byte commands */
35 unsigned remap:1;/* support remapping */
36 unsigned use:1;/* is this device still supportable */
37 unsigned xa_flag:1;/* CD has XA sectors */
38 struct cdrom_device_info cdi;
39 } Scsi_CD;
41 extern Scsi_CD * scsi_CDs;
43 intsr_do_ioctl(int,unsigned char*,void*,unsigned);
45 intsr_lock_door(struct cdrom_device_info*,int);
46 intsr_tray_move(struct cdrom_device_info*,int);
47 intsr_drive_status(struct cdrom_device_info*,int);
48 intsr_disk_status(struct cdrom_device_info*);
49 intsr_get_last_session(struct cdrom_device_info*,struct cdrom_multisession*);
50 intsr_get_mcn(struct cdrom_device_info*,struct cdrom_mcn*);
51 intsr_reset(struct cdrom_device_info*);
52 intsr_audio_ioctl(struct cdrom_device_info*,unsigned int,void*);
53 intsr_dev_ioctl(struct cdrom_device_info*,unsigned int,unsigned long);
55 /* vendor-specific */
56 #ifdef CONFIG_BLK_DEV_SR_VENDOR
57 voidsr_vendor_init(int minor);
58 intsr_cd_check(struct cdrom_device_info*);
59 intsr_read_sector(int minor,int lba,int blksize,unsigned char*dest);
61 #endif
63 #endif
close