patch-2.1.10 linux/drivers/scsi/sr.h

Next file: linux/drivers/scsi/sr_ioctl.c
Previous file: linux/drivers/scsi/sr.c
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.1.9/linux/drivers/scsi/sr.h linux/drivers/scsi/sr.h
@@ -17,24 +17,45 @@
 #ifndef _SR_H
 #define _SR_H
 
+#include <linux/config.h>
+
 #include "scsi.h"
 
 typedef struct
 	{
 	unsigned 	capacity;		/* size in blocks 			*/
 	unsigned 	sector_size;		/* size in bytes 			*/
-	Scsi_Device  	*device;		
-	unsigned long   mpcd_sector;            /* for reading multisession-CD's        */
-	char            xa_flags;               /* some flags for handling XA-CD's      */
+	Scsi_Device  	*device;
+        unsigned int    vendor;                 /* vendor code, see sr_vendor.c         */
+	unsigned long   ms_offset;              /* for reading multisession-CD's        */
 	unsigned char	sector_bit_size;	/* sector size = 2^sector_bit_size	*/
 	unsigned char	sector_bit_shift;	/* sectors/FS block = 2^sector_bit_shift*/
 	unsigned 	needs_sector_size:1;   	/* needs to get sector size */
 	unsigned 	ten:1;			/* support ten byte commands		*/
 	unsigned 	remap:1;		/* support remapping			*/
 	unsigned 	use:1;			/* is this device still supportable	*/
-	unsigned	auto_eject:1;		/* auto-eject medium on last release.	*/
+	unsigned        xa_flag:1;              /* CD has XA sectors */
+	struct cdrom_device_info cdi;
 	} Scsi_CD;
 	
 extern Scsi_CD * scsi_CDs;
+
+int sr_do_ioctl(int, unsigned char*, void*, unsigned);
+
+int sr_lock_door(struct cdrom_device_info*, int);
+int sr_tray_move(struct cdrom_device_info*, int);
+int sr_drive_status(struct cdrom_device_info*, int);
+int sr_disk_status(struct cdrom_device_info*);
+int sr_get_last_session(struct cdrom_device_info*, struct cdrom_multisession*);
+int sr_get_mcn(struct cdrom_device_info*, struct cdrom_mcn*);
+int sr_reset(struct cdrom_device_info*);
+int sr_audio_ioctl(struct cdrom_device_info*, unsigned int, void*);
+int sr_dev_ioctl(struct cdrom_device_info*, unsigned int, unsigned long);
+
+/* vendor-specific */
+#ifdef CONFIG_BLK_DEV_SR_VENDOR
+void sr_vendor_init(int minor);
+int sr_cd_check(struct cdrom_device_info*);
+#endif
 
 #endif

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov