|
|
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.