ReactOS 0.4.16-dev-340-g0540c21
|
#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 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 404 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().