Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
awilliam
GitHub Repository: awilliam/linux-vfio
Path: blob/master/include/scsi/scsi_ioctl.h
10820 views
1
#ifndef _SCSI_IOCTL_H
2
#define _SCSI_IOCTL_H
3
4
#define SCSI_IOCTL_SEND_COMMAND 1
5
#define SCSI_IOCTL_TEST_UNIT_READY 2
6
#define SCSI_IOCTL_BENCHMARK_COMMAND 3
7
#define SCSI_IOCTL_SYNC 4 /* Request synchronous parameters */
8
#define SCSI_IOCTL_START_UNIT 5
9
#define SCSI_IOCTL_STOP_UNIT 6
10
/* The door lock/unlock constants are compatible with Sun constants for
11
the cdrom */
12
#define SCSI_IOCTL_DOORLOCK 0x5380 /* lock the eject mechanism */
13
#define SCSI_IOCTL_DOORUNLOCK 0x5381 /* unlock the mechanism */
14
15
#define SCSI_REMOVAL_PREVENT 1
16
#define SCSI_REMOVAL_ALLOW 0
17
18
#ifdef __KERNEL__
19
20
struct scsi_device;
21
22
/*
23
* Structures used for scsi_ioctl et al.
24
*/
25
26
typedef struct scsi_ioctl_command {
27
unsigned int inlen;
28
unsigned int outlen;
29
unsigned char data[0];
30
} Scsi_Ioctl_Command;
31
32
typedef struct scsi_idlun {
33
__u32 dev_id;
34
__u32 host_unique_id;
35
} Scsi_Idlun;
36
37
/* Fibre Channel WWN, port_id struct */
38
typedef struct scsi_fctargaddress {
39
__u32 host_port_id;
40
unsigned char host_wwn[8]; // include NULL term.
41
} Scsi_FCTargAddress;
42
43
extern int scsi_ioctl(struct scsi_device *, int, void __user *);
44
extern int scsi_nonblockable_ioctl(struct scsi_device *sdev, int cmd,
45
void __user *arg, int ndelay);
46
47
#endif /* __KERNEL__ */
48
#endif /* _SCSI_IOCTL_H */
49
50