scsi_ioctl.h
上传用户:jlfgdled
上传日期:2013-04-10
资源大小:33168k
文件大小:1k
- #ifndef _SCSI_IOCTL_H
- #define _SCSI_IOCTL_H
- #define SCSI_IOCTL_SEND_COMMAND 1
- #define SCSI_IOCTL_TEST_UNIT_READY 2
- #define SCSI_IOCTL_BENCHMARK_COMMAND 3
- #define SCSI_IOCTL_SYNC 4 /* Request synchronous parameters */
- #define SCSI_IOCTL_START_UNIT 5
- #define SCSI_IOCTL_STOP_UNIT 6
- /* The door lock/unlock constants are compatible with Sun constants for
- the cdrom */
- #define SCSI_IOCTL_DOORLOCK 0x5380 /* lock the eject mechanism */
- #define SCSI_IOCTL_DOORUNLOCK 0x5381 /* unlock the mechanism */
- #define SCSI_REMOVAL_PREVENT 1
- #define SCSI_REMOVAL_ALLOW 0
- #ifdef __KERNEL__
- /*
- * Structures used for scsi_ioctl et al.
- */
- typedef struct scsi_ioctl_command {
- unsigned int inlen;
- unsigned int outlen;
- unsigned char data[0];
- } Scsi_Ioctl_Command;
- typedef struct scsi_idlun {
- __u32 dev_id;
- __u32 host_unique_id;
- } Scsi_Idlun;
- /* Fibre Channel WWN, port_id struct */
- typedef struct scsi_fctargaddress
- {
- __u32 host_port_id;
- unsigned char host_wwn[8]; // include NULL term.
- } Scsi_FCTargAddress;
- extern int scsi_ioctl (Scsi_Device *dev, int cmd, void *arg);
- extern int kernel_scsi_ioctl (Scsi_Device *dev, int cmd, void *arg);
- extern int scsi_ioctl_send_command(Scsi_Device *dev,
- Scsi_Ioctl_Command *arg);
- #endif
- #endif