IO_RESOURCE_LIST List[1];
} IO_RESOURCE_REQUIREMENTS_LIST, *PIO_RESOURCE_REQUIREMENTS_LIST;
+
+/* MicroChannel bus data */
+
+typedef struct _CM_MCA_POS_DATA
+{
+ USHORT AdapterId;
+ UCHAR PosData1;
+ UCHAR PosData2;
+ UCHAR PosData3;
+ UCHAR PosData4;
+} CM_MCA_POS_DATA, *PCM_MCA_POS_DATA;
+
+
+/* Int13 drive geometry data */
+
+typedef struct _CM_INT13_DRIVE_PARAMETER
+{
+ USHORT DriveSelect;
+ ULONG MaxCylinders;
+ USHORT SectorsPerTrack;
+ USHORT MaxHeads;
+ USHORT NumberDrives;
+} CM_INT13_DRIVE_PARAMETER, *PCM_INT13_DRIVE_PARAMETER;
+
+
+/* Extended drive geometry data */
+
+typedef struct _CM_DISK_GEOMETRY_DEVICE_DATA
+{
+ ULONG BytesPerSector;
+ ULONG NumberOfCylinders;
+ ULONG SectorsPerTrack;
+ ULONG NumberOfHeads;
+} CM_DISK_GEOMETRY_DEVICE_DATA, *PCM_DISK_GEOMETRY_DEVICE_DATA;
+
+
typedef struct
{
UCHAR Type;
INTERFACE_TYPE InterfaceType;
ULONG BusNumber;
CM_PARTIAL_RESOURCE_LIST PartialResourceList;
-} __attribute__((packed)) CM_FULL_RESOURCE_DESCRIPTOR;
+} __attribute__((packed)) CM_FULL_RESOURCE_DESCRIPTOR, *PCM_FULL_RESOURCE_DESCRIPTOR;
typedef struct
{
ULONG Information;
} IO_STATUS_BLOCK, *PIO_STATUS_BLOCK;
+typedef struct _IO_COMPLETION_PACKET{
+ ULONG Key;
+ ULONG Overlapped;
+ IO_STATUS_BLOCK IoStatus;
+ LIST_ENTRY ListEntry;
+} IO_COMPLETION_PACKET, *PIO_COMPLETION_PACKET;
typedef struct _IO_PIPE_CREATE_BUFFER
{