Blame view

kernel/linux-imx6_3.14.28/include/scsi/scsi_ioctl.h 1.23 KB
6b13f685e   김민수   BSP 최초 추가
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
  #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__
  
  struct scsi_device;
  
  /*
   * 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(struct scsi_device *, int, void __user *);
  extern int scsi_nonblockable_ioctl(struct scsi_device *sdev, int cmd,
  				   void __user *arg, int ndelay);
  
  #endif /* __KERNEL__ */
  #endif /* _SCSI_IOCTL_H */