5 * $Id: gdth_ioctl.h,v 1.1.1.1 2005/04/11 02:50:36 jack Exp $
9 #define GDTIOCTL_MASK ('J'<<8)
10 #define GDTIOCTL_GENERAL (GDTIOCTL_MASK | 0) /* general IOCTL */
11 #define GDTIOCTL_DRVERS (GDTIOCTL_MASK | 1) /* get driver version */
12 #define GDTIOCTL_CTRTYPE (GDTIOCTL_MASK | 2) /* get controller type */
13 #define GDTIOCTL_OSVERS (GDTIOCTL_MASK | 3) /* get OS version */
14 #define GDTIOCTL_HDRLIST (GDTIOCTL_MASK | 4) /* get host drive list */
15 #define GDTIOCTL_CTRCNT (GDTIOCTL_MASK | 5) /* get controller count */
16 #define GDTIOCTL_LOCKDRV (GDTIOCTL_MASK | 6) /* lock host drive */
17 #define GDTIOCTL_LOCKCHN (GDTIOCTL_MASK | 7) /* lock channel */
18 #define GDTIOCTL_EVENT (GDTIOCTL_MASK | 8) /* read controller events */
19 #define GDTIOCTL_SCSI (GDTIOCTL_MASK | 9) /* SCSI command */
20 #define GDTIOCTL_RESET_BUS (GDTIOCTL_MASK |10) /* reset SCSI bus */
21 #define GDTIOCTL_RESCAN (GDTIOCTL_MASK |11) /* rescan host drives */
22 #define GDTIOCTL_RESET_DRV (GDTIOCTL_MASK |12) /* reset (remote) drv. res. */
24 #define GDTIOCTL_MAGIC 0xaffe0004
25 #define EVENT_SIZE 294
26 #define MAX_HDRIVES 100
28 /* IOCTL structure (write) */
30 ulong32 magic; /* IOCTL magic */
31 ushort ioctl; /* IOCTL */
32 ushort ionode; /* controller number */
33 ushort service; /* controller service */
34 ushort timeout; /* timeout */
37 unchar command[512]; /* controller command */
38 unchar data[1]; /* add. data */
41 unchar lock; /* lock/unlock */
42 unchar drive_cnt; /* drive count */
43 ushort drives[MAX_HDRIVES];/* drives */
46 unchar lock; /* lock/unlock */
47 unchar channel; /* channel */
50 int erase; /* erase event ? */
52 unchar evt[EVENT_SIZE]; /* event structure */
55 unchar bus; /* SCSI bus */
56 unchar target; /* target ID */
58 unchar cmd_len; /* command length */
59 unchar cmd[12]; /* SCSI command */
62 ushort hdr_no; /* host drive number */
63 unchar flag; /* old meth./add/remove */
68 /* IOCTL structure (read) */
70 ulong32 size; /* buffer size */
71 ulong32 status; /* IOCTL error code */
74 unchar data[1]; /* data */
77 ushort version; /* driver version */
80 unchar type; /* controller type */
81 ushort info; /* slot etc. */
82 ushort oem_id; /* OEM ID */
83 ushort bios_ver; /* not used */
84 ushort access; /* not used */
85 ushort ext_type; /* extended type */
86 ushort device_id; /* device ID */
87 ushort sub_device_id; /* sub device ID */
90 unchar version; /* OS version */
91 unchar subversion; /* OS subversion */
92 ushort revision; /* revision */
95 ushort count; /* controller count */
99 unchar evt[EVENT_SIZE]; /* event structure */
102 unchar bus; /* SCSI bus, 0xff: invalid */
103 unchar target; /* target ID */
104 unchar lun; /* LUN */
105 unchar cluster_type; /* cluster properties */
106 } hdr_list[MAX_HDRIVES]; /* index is host drive number */