1 #ifndef _GDTH_IOCTL_H
2 #define _GDTH_IOCTL_H
3
4 /* gdth_ioctl.h
5 * $Id: gdth_ioctl.h,v 1.2 1998/12/17 15:42:49 achim Exp $
6 */
7
8 /* IOCTLs */
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_CTRCNT (GDTIOCTL_MASK | 5) /* get controller count */
15 #define GDTIOCTL_LOCKDRV (GDTIOCTL_MASK | 6) /* lock host drive */
16 #define GDTIOCTL_LOCKCHN (GDTIOCTL_MASK | 7) /* lock channel */
17 #define GDTIOCTL_EVENT (GDTIOCTL_MASK | 8) /* read controller events */
18
19 #define GDTIOCTL_MAGIC 0xaffe0001UL
20
21
22 /* IOCTL structure (write) */
23 typedef struct {
24 ulong32 magic; /* IOCTL magic */
25 ushort ioctl; /* IOCTL */
26 ushort ionode; /* controller number */
27 ushort service; /* controller service */
28 ushort timeout; /* timeout */
29 union {
30 struct {
31 unchar command[512]; /* controller command */
32 unchar data[1]; /* add. data */
33 } general;
34 struct {
35 unchar lock; /* lock/unlock */
36 unchar drive_cnt; /* drive count */
37 ushort drives[35]; /* drives */
38 } lockdrv;
39 struct {
40 unchar lock; /* lock/unlock */
41 unchar channel; /* channel */
42 } lockchn;
43 struct {
44 int erase; /* erase event ? */
45 int handle;
46 unchar evt[34]; /* event structure */
47 } event;
48 } iu;
49 } gdth_iowr_str;
50
51 /* IOCTL structure (read) */
52 typedef struct {
53 ulong32 size; /* buffer size */
54 ulong32 status; /* IOCTL error code */
55 union {
56 struct {
57 unchar data[1]; /* data */
58 } general;
59 struct {
60 ushort version; /* driver version */
61 } drvers;
62 struct {
63 unchar type; /* controller type */
64 ushort info; /* slot etc. */
65 ushort oem_id; /* OEM ID */
66 ushort bios_ver; /* not used */
67 ushort access; /* not used */
68 ushort ext_type; /* extended type */
69 } ctrtype;
70 struct {
71 unchar version; /* OS version */
72 unchar subversion; /* OS subversion */
73 ushort revision; /* revision */
74 } osvers;
75 struct {
76 ushort count; /* controller count */
77 } ctrcnt;
78 struct {
79 int handle;
80 unchar evt[34]; /* event structure */
81 } event;
82 } iu;
83 } gdth_iord_str;
84
85
86 #endif
87
88
This page was automatically generated by the
LXR engine.
Visit the LXR main site for more
information.