2 * SCSI_PORT_TIMER_STATES
5 * An enumeration containing the states in the timer DFA
7 typedef enum _SCSI_PORT_TIMER_STATES
11 IDETimerResetWaitForBusyNegate
,
12 IDETimerResetWaitForDrdyAssert
13 } SCSI_PORT_TIMER_STATES
;
16 typedef struct _SCSI_PORT_DEVICE_BASE
22 SCSI_PHYSICAL_ADDRESS IoAddress
;
23 ULONG SystemIoBusNumber
;
24 } SCSI_PORT_DEVICE_BASE
, *PSCSI_PORT_DEVICE_BASE
;
27 typedef struct _SCSI_PORT_LUN_EXTENSION
35 BOOLEAN DeviceClaimed
;
36 PDEVICE_OBJECT DeviceObject
;
38 INQUIRYDATA InquiryData
;
42 UCHAR MiniportLunExtension
[1]; /* must be the last entry */
43 } SCSI_PORT_LUN_EXTENSION
, *PSCSI_PORT_LUN_EXTENSION
;
47 * SCSI_PORT_DEVICE_EXTENSION
50 * First part of the port objects device extension. The second
51 * part is the miniport-specific device extension.
54 typedef struct _SCSI_PORT_DEVICE_EXTENSION
57 ULONG MiniPortExtensionSize
;
58 PORT_CONFIGURATION_INFORMATION PortConfig
;
63 PKINTERRUPT Interrupt
;
67 SCSI_PORT_TIMER_STATES TimerState
;
72 LIST_ENTRY DeviceBaseListHead
;
74 ULONG LunExtensionSize
;
75 LIST_ENTRY LunExtensionListHead
;
77 PIO_SCSI_CAPABILITIES PortCapabilities
;
79 PDEVICE_OBJECT DeviceObject
;
80 PCONTROLLER_OBJECT ControllerObject
;
82 PHW_STARTIO HwStartIo
;
83 PHW_INTERRUPT HwInterrupt
;
85 PSCSI_REQUEST_BLOCK OriginalSrb
;
86 SCSI_REQUEST_BLOCK InternalSrb
;
87 SENSE_DATA InternalSenseData
;
89 UCHAR MiniPortDeviceExtension
[1]; /* must be the last entry */
90 } SCSI_PORT_DEVICE_EXTENSION
, *PSCSI_PORT_DEVICE_EXTENSION
;