scsi_ioctl.h
上传用户:jlfgdled
上传日期:2013-04-10
资源大小:33168k
文件大小:1k
源码类别:

Linux/Unix编程

开发平台:

Unix_Linux

  1. #ifndef _SCSI_IOCTL_H
  2. #define _SCSI_IOCTL_H 
  3. #define SCSI_IOCTL_SEND_COMMAND 1
  4. #define SCSI_IOCTL_TEST_UNIT_READY 2
  5. #define SCSI_IOCTL_BENCHMARK_COMMAND 3
  6. #define SCSI_IOCTL_SYNC 4 /* Request synchronous parameters */
  7. #define SCSI_IOCTL_START_UNIT 5
  8. #define SCSI_IOCTL_STOP_UNIT 6
  9. /* The door lock/unlock constants are compatible with Sun constants for
  10.    the cdrom */
  11. #define SCSI_IOCTL_DOORLOCK 0x5380 /* lock the eject mechanism */
  12. #define SCSI_IOCTL_DOORUNLOCK 0x5381 /* unlock the mechanism   */
  13. #define SCSI_REMOVAL_PREVENT 1
  14. #define SCSI_REMOVAL_ALLOW 0
  15. #ifdef __KERNEL__
  16. /*
  17.  * Structures used for scsi_ioctl et al.
  18.  */
  19. typedef struct scsi_ioctl_command {
  20. unsigned int inlen;
  21. unsigned int outlen;
  22. unsigned char data[0];
  23. } Scsi_Ioctl_Command;
  24. typedef struct scsi_idlun {
  25. __u32 dev_id;
  26. __u32 host_unique_id;
  27. } Scsi_Idlun;
  28. /* Fibre Channel WWN, port_id struct */
  29. typedef struct scsi_fctargaddress
  30. {
  31. __u32 host_port_id;
  32. unsigned char host_wwn[8]; // include NULL term.
  33. } Scsi_FCTargAddress;
  34. extern int scsi_ioctl (Scsi_Device *dev, int cmd, void *arg);
  35. extern int kernel_scsi_ioctl (Scsi_Device *dev, int cmd, void *arg);
  36. extern int scsi_ioctl_send_command(Scsi_Device *dev,
  37.    Scsi_Ioctl_Command *arg);
  38. #endif
  39. #endif