|
ReactOS 0.4.16-dev-1946-g52006dd
|
#include <ntifs.h>#include <stdio.h>#include <scsi.h>#include <ntddscsi.h>#include <ntdddisk.h>#include <mountdev.h>

Go to the source code of this file.
Classes | |
| struct | _STORAGE_ADAPTER_DESCRIPTOR_WIN8 |
| struct | _CONFIGURATION_INFO |
| struct | _SCSI_PORT_DEVICE_BASE |
| struct | _SCSI_SG_ADDRESS |
| struct | _SCSI_REQUEST_BLOCK_INFO |
| struct | _SCSI_PORT_COMMON_EXTENSION |
| struct | _SCSI_PORT_LUN_EXTENSION |
| struct | _SCSI_BUS_INFO |
| struct | _SCSI_PORT_INTERRUPT_DATA |
| struct | _SCSI_PORT_SAVE_INTERRUPT |
| struct | _SCSI_PORT_DEVICE_EXTENSION |
| struct | _RESETBUS_PARAMS |
| struct | _SCSIPORT_DRIVER_EXTENSION |
Macros | |
| #define | TAG_SCSIPORT 'ISCS' |
| #define | LUS_NUMBER 8 |
| #define | MAX_SG_LIST 17 |
| #define | SCSI_PORT_DEVICE_BUSY 0x00001 |
| #define | SCSI_PORT_LU_ACTIVE 0x00002 |
| #define | SCSI_PORT_NOTIFICATION_NEEDED 0x00004 |
| #define | SCSI_PORT_NEXT_REQUEST_READY 0x00008 |
| #define | SCSI_PORT_FLUSH_ADAPTERS 0x00010 |
| #define | SCSI_PORT_MAP_TRANSFER 0x00020 |
| #define | SCSI_PORT_RESET 0x00080 |
| #define | SCSI_PORT_RESET_REQUEST 0x00100 |
| #define | SCSI_PORT_RESET_REPORTED 0x00200 |
| #define | SCSI_PORT_REQUEST_PENDING 0x00800 |
| #define | SCSI_PORT_DISCONNECT_ALLOWED 0x01000 |
| #define | SCSI_PORT_DISABLE_INT_REQUESET 0x02000 |
| #define | SCSI_PORT_DISABLE_INTERRUPTS 0x04000 |
| #define | SCSI_PORT_ENABLE_INT_REQUEST 0x08000 |
| #define | SCSI_PORT_TIMER_NEEDED 0x10000 |
| #define | LUNEX_FROZEN_QUEUE 0x0001 |
| #define | LUNEX_NEED_REQUEST_SENSE 0x0004 |
| #define | LUNEX_BUSY 0x0008 |
| #define | LUNEX_FULL_QUEUE 0x0010 |
| #define | LUNEX_REQUEST_PENDING 0x0020 |
| #define | SCSI_PORT_SCAN_IN_PROGRESS 0x8000 |
| #define | ALIGNAS_PTR DECLSPEC_ALIGN(4) |
Enumerations | |
| enum | _SCSI_PORT_TIMER_STATES { IDETimerIdle , IDETimerCmdWait , IDETimerResetWaitForBusyNegate , IDETimerResetWaitForDrdyAssert } |
Variables | |
| DRIVER_DISPATCH | ScsiPortDispatchPower |
| IO_DPC_ROUTINE | ScsiPortDpcForIsr |
| DRIVER_DISPATCH | ScsiPortDispatchScsi |
| KSYNCHRONIZE_ROUTINE | ScsiPortStartPacket |
| DRIVER_STARTIO | ScsiPortStartIo |
| KSERVICE_ROUTINE | ScsiPortIsr |
| #define ALIGNAS_PTR DECLSPEC_ALIGN(4) |
Definition at line 223 of file scsiport.h.
| #define LUNEX_BUSY 0x0008 |
Definition at line 48 of file scsiport.h.
| #define LUNEX_FROZEN_QUEUE 0x0001 |
Definition at line 46 of file scsiport.h.
| #define LUNEX_FULL_QUEUE 0x0010 |
Definition at line 49 of file scsiport.h.
| #define LUNEX_NEED_REQUEST_SENSE 0x0004 |
Definition at line 47 of file scsiport.h.
| #define LUNEX_REQUEST_PENDING 0x0020 |
Definition at line 50 of file scsiport.h.
| #define LUS_NUMBER 8 |
Definition at line 24 of file scsiport.h.
| #define MAX_SG_LIST 17 |
Definition at line 26 of file scsiport.h.
| #define SCSI_PORT_DEVICE_BUSY 0x00001 |
Definition at line 29 of file scsiport.h.
| #define SCSI_PORT_DISABLE_INT_REQUESET 0x02000 |
Definition at line 40 of file scsiport.h.
| #define SCSI_PORT_DISABLE_INTERRUPTS 0x04000 |
Definition at line 41 of file scsiport.h.
| #define SCSI_PORT_DISCONNECT_ALLOWED 0x01000 |
Definition at line 39 of file scsiport.h.
| #define SCSI_PORT_ENABLE_INT_REQUEST 0x08000 |
Definition at line 42 of file scsiport.h.
| #define SCSI_PORT_FLUSH_ADAPTERS 0x00010 |
Definition at line 33 of file scsiport.h.
| #define SCSI_PORT_LU_ACTIVE 0x00002 |
Definition at line 30 of file scsiport.h.
| #define SCSI_PORT_MAP_TRANSFER 0x00020 |
Definition at line 34 of file scsiport.h.
| #define SCSI_PORT_NEXT_REQUEST_READY 0x00008 |
Definition at line 32 of file scsiport.h.
| #define SCSI_PORT_NOTIFICATION_NEEDED 0x00004 |
Definition at line 31 of file scsiport.h.
| #define SCSI_PORT_REQUEST_PENDING 0x00800 |
Definition at line 38 of file scsiport.h.
| #define SCSI_PORT_RESET 0x00080 |
Definition at line 35 of file scsiport.h.
| #define SCSI_PORT_RESET_REPORTED 0x00200 |
Definition at line 37 of file scsiport.h.
| #define SCSI_PORT_RESET_REQUEST 0x00100 |
Definition at line 36 of file scsiport.h.
| #define SCSI_PORT_SCAN_IN_PROGRESS 0x8000 |
Definition at line 51 of file scsiport.h.
| #define SCSI_PORT_TIMER_NEEDED 0x10000 |
Definition at line 43 of file scsiport.h.
| #define TAG_SCSIPORT 'ISCS' |
Definition at line 21 of file scsiport.h.
| typedef struct _CONFIGURATION_INFO * PCONFIGURATION_INFO |
| typedef struct _RESETBUS_PARAMS * PRESETBUS_PARAMS |
| typedef struct _SCSI_BUS_INFO * PSCSI_BUS_INFO |
| typedef struct _SCSI_SG_ADDRESS * PSCSI_SG_ADDRESS |
| typedef struct _RESETBUS_PARAMS RESETBUS_PARAMS |
| typedef struct _SCSI_BUS_INFO SCSI_BUS_INFO |
| typedef struct _SCSI_SG_ADDRESS SCSI_SG_ADDRESS |
| Enumerator | |
|---|---|
| IDETimerIdle | |
| IDETimerCmdWait | |
| IDETimerResetWaitForBusyNegate | |
| IDETimerResetWaitForDrdyAssert | |
Definition at line 71 of file scsiport.h.
| NTSTATUS FdoCallHWInitialize | ( | _In_ PSCSI_PORT_DEVICE_EXTENSION | DeviceExtension | ) |
Calls HwInitialize routine of the miniport and sets up interrupts Should be called inside ScsiPortInitialize (for legacy drivers) or inside IRP_MN_START_DEVICE for pnp drivers.
| [in] | DeviceExtension | The device extension |
Definition at line 366 of file fdo.c.
Referenced by ScsiPortInitialize().
| NTSTATUS FdoDispatchPnp | ( | _In_ PDEVICE_OBJECT | DeviceObject, |
| _Inout_ PIRP | Irp | ||
| ) |
Definition at line 758 of file fdo.c.
Referenced by ScsiPortDispatchPnp().
| NTSTATUS FdoRemoveAdapter | ( | _In_ PSCSI_PORT_DEVICE_EXTENSION | DeviceExtension | ) |
Definition at line 510 of file fdo.c.
Referenced by ScsiPortInitialize().
| VOID FdoScanAdapter | ( | _In_ PSCSI_PORT_DEVICE_EXTENSION | DeviceExtension | ) |
Definition at line 222 of file fdo.c.
Referenced by FdoHandleDeviceRelations(), and ScsiPortInitialize().
| NTSTATUS FdoStartAdapter | ( | _In_ PSCSI_PORT_DEVICE_EXTENSION | DeviceExtension | ) |
Definition at line 609 of file fdo.c.
Referenced by ScsiPortInitialize().
| PSCSI_PORT_LUN_EXTENSION GetLunByPath | ( | _In_ PSCSI_PORT_DEVICE_EXTENSION | DeviceExtension, |
| _In_ UCHAR | PathId, | ||
| _In_ UCHAR | TargetId, | ||
| _In_ UCHAR | Lun | ||
| ) |
Definition at line 68 of file pdo.c.
Referenced by FdoHandleScsiPassthrough(), FdoScanAdapter(), ScsiPortGetLogicalUnit(), and ScsiPortNotification().
| PDEVICE_OBJECT PdoCreateLunDevice | ( | _In_ PSCSI_PORT_DEVICE_EXTENSION | DeviceExtension | ) |
Definition at line 18 of file pdo.c.
Referenced by FdoScanAdapter().
| NTSTATUS PdoDispatchPnp | ( | _In_ PDEVICE_OBJECT | DeviceObject, |
| _Inout_ PIRP | Irp | ||
| ) |
Definition at line 554 of file pdo.c.
Referenced by ScsiPortDispatchPnp().
| NTSTATUS RegistryInitAdapterKey | ( | _Inout_ PSCSI_PORT_DEVICE_EXTENSION | DeviceExtension | ) |
Definition at line 127 of file registry.c.
Referenced by FdoStartAdapter().
| NTSTATUS RegistryInitLunKey | ( | _Inout_ PSCSI_PORT_LUN_EXTENSION | LunExtension | ) |
Definition at line 359 of file registry.c.
Referenced by PdoDispatchPnp().
| IO_ALLOCATION_ACTION NTAPI ScsiPortAllocateAdapterChannel | ( | _In_ PDEVICE_OBJECT | DeviceObject, |
| _In_ PIRP | Irp, | ||
| _In_ PVOID | MapRegisterBase, | ||
| _In_ PVOID | Context | ||
| ) |
Definition at line 454 of file ioctl.c.
Referenced by ScsiPortInitialize().
| IO_ALLOCATION_ACTION NTAPI SpiAdapterControl | ( | _In_ PDEVICE_OBJECT | DeviceObject, |
| _In_ PIRP | Irp, | ||
| _In_ PVOID | MapRegisterBase, | ||
| _In_ PVOID | Context | ||
| ) |
| VOID SpiGetNextRequestFromLun | ( | _In_ PSCSI_PORT_DEVICE_EXTENSION | DeviceExtension, |
| _Inout_ PSCSI_PORT_LUN_EXTENSION | LunExtension, | ||
| _Inout_opt_ PKIRQL | OldIrql | ||
| ) |
Definition at line 342 of file scsi.c.
Referenced by FdoSendInquiry(), ScsiPortDispatchScsi(), ScsiPortDpcForIsr(), SpiProcessCompletedRequest(), and SpiSenseCompletionRoutine().
| PSCSI_REQUEST_BLOCK_INFO SpiGetSrbData | ( | _In_ PSCSI_PORT_DEVICE_EXTENSION | DeviceExtension, |
| _In_ PSCSI_PORT_LUN_EXTENSION | LunExtension, | ||
| _In_ UCHAR | QueueTag | ||
| ) |
Definition at line 102 of file pdo.c.
Referenced by ScsiPortGetPhysicalAddress(), ScsiPortNotification(), ScsiPortStartPacket(), and SpiAllocateSrbStructures().
| VOID SpiInitOpenKeys | ( | _Inout_ PCONFIGURATION_INFO | ConfigInfo, |
| _In_ PSCSI_PORT_DRIVER_EXTENSION | DriverExtension | ||
| ) |
Definition at line 18 of file registry.c.
Referenced by ScsiPortInitialize().
Definition at line 356 of file scsiport.h.
Definition at line 341 of file scsiport.h.
| DRIVER_DISPATCH ScsiPortDispatchPower |
Definition at line 426 of file scsiport.h.
Referenced by ScsiPortInitialize().
| DRIVER_DISPATCH ScsiPortDispatchScsi |
Definition at line 452 of file scsiport.h.
Referenced by ScsiPortInitialize().
| IO_DPC_ROUTINE ScsiPortDpcForIsr |
Definition at line 451 of file scsiport.h.
Referenced by FdoCallHWInitialize(), ScsiPortInitialize(), and SpiMiniportTimerDpc().
| KSERVICE_ROUTINE ScsiPortIsr |
Definition at line 459 of file scsiport.h.
Referenced by FdoCallHWInitialize().
| DRIVER_STARTIO ScsiPortStartIo |
Definition at line 454 of file scsiport.h.
Referenced by ScsiPortDpcForIsr(), and ScsiPortInitialize().
| KSYNCHRONIZE_ROUTINE ScsiPortStartPacket |
Definition at line 453 of file scsiport.h.
Referenced by ScsiPortAllocateAdapterChannel(), ScsiPortStartIo(), SpiAdapterControl(), and SpiProcessTimeout().