|
|
1.1 root 1: #ifndef _GDTH_IOCTL_H
2: #define _GDTH_IOCTL_H
3:
4: /* gdth_ioctl.h
5: * $Id: gdth_ioctl.h,v 1.1 1999/04/26 05:54:37 tb 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 0x06030f07UL
20:
21:
22: /* IOCTL structure (write) */
23: typedef struct {
24: ulong 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: } event;
47: } iu;
48: } gdth_iowr_str;
49:
50: /* IOCTL structure (read) */
51: typedef struct {
52: ulong size; /* buffer size */
53: ulong status; /* IOCTL error code */
54: union {
55: struct {
56: unchar data[1]; /* data */
57: } general;
58: struct {
59: ushort version; /* driver version */
60: } drvers;
61: struct {
62: unchar type; /* controller type */
63: ushort info; /* slot etc. */
64: ushort oem_id; /* OEM ID */
65: ushort bios_ver; /* not used */
66: ushort access; /* not used */
67: ushort ext_type; /* extended type */
68: } ctrtype;
69: struct {
70: unchar version; /* OS version */
71: unchar subversion; /* OS subversion */
72: ushort revision; /* revision */
73: } osvers;
74: struct {
75: ushort count; /* controller count */
76: } ctrcnt;
77: struct {
78: int handle;
79: unchar evt[32]; /* event structure */
80: } event;
81: } iu;
82: } gdth_iord_str;
83:
84:
85: #endif
86:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.