ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

srb.h File Reference

Go to the source code of this file.

Data Structures

struct  PACCESS_RANGE
struct  PPORT_CONFIGURATION_INFORMATION
struct  PSCSI_SUPPORTED_CONTROL_TYPE_LIST
struct  PSCSI_REQUEST_BLOCK
struct  PSCSI_WMI_REQUEST_BLOCK
struct  PSCSI_POWER_REQUEST_BLOCK
struct  PSTOR_DEVICE_CAPABILITIES
struct  PSCSI_PNP_REQUEST_BLOCK
struct  PHW_INITIALIZATION_DATA

Defines

#define SCSI_MAXIMUM_LOGICAL_UNITS   8
#define SCSI_MAXIMUM_TARGETS_PER_BUS   128
#define SCSI_MAXIMUM_LUNS_PER_TARGET   255
#define SCSI_MAXIMUM_BUSES   8
#define SCSI_MINIMUM_PHYSICAL_BREAKS   16
#define SCSI_MAXIMUM_PHYSICAL_BREAKS   255
#define SCSI_MAXIMUM_TARGETS   8
#define SCSI_DMA64_MINIPORT_SUPPORTED   0x01
#define SCSI_DMA64_SYSTEM_SUPPORTED   0x80
#define SP_UNINITIALIZED_VALUE   ((ULONG) ~0)
#define SP_UNTAGGED   ((UCHAR) ~0)
#define SRBEV_BUS_RESET   0x0001
#define SRBEV_SCSI_ASYNC_NOTIFICATION   0x0002
#define MAXIMUM_CDB_SIZE   12
#define DebugPrint(x)
#define SCSI_COMBINE_BUS_TARGET(Bus, Target)
#define SCSI_DECODE_BUS_TARGET(Value, Bus, Target)
#define SRB_FUNCTION_EXECUTE_SCSI   0x00
#define SRB_FUNCTION_CLAIM_DEVICE   0x01
#define SRB_FUNCTION_IO_CONTROL   0x02
#define SRB_FUNCTION_RECEIVE_EVENT   0x03
#define SRB_FUNCTION_RELEASE_QUEUE   0x04
#define SRB_FUNCTION_ATTACH_DEVICE   0x05
#define SRB_FUNCTION_RELEASE_DEVICE   0x06
#define SRB_FUNCTION_SHUTDOWN   0x07
#define SRB_FUNCTION_FLUSH   0x08
#define SRB_FUNCTION_ABORT_COMMAND   0x10
#define SRB_FUNCTION_RELEASE_RECOVERY   0x11
#define SRB_FUNCTION_RESET_BUS   0x12
#define SRB_FUNCTION_RESET_DEVICE   0x13
#define SRB_FUNCTION_TERMINATE_IO   0x14
#define SRB_FUNCTION_FLUSH_QUEUE   0x15
#define SRB_FUNCTION_REMOVE_DEVICE   0x16
#define SRB_FUNCTION_WMI   0x17
#define SRB_FUNCTION_LOCK_QUEUE   0x18
#define SRB_FUNCTION_UNLOCK_QUEUE   0x19
#define SRB_FUNCTION_RESET_LOGICAL_UNIT   0x20
#define SRB_FUNCTION_SET_LINK_TIMEOUT   0x21
#define SRB_FUNCTION_LINK_TIMEOUT_OCCURRED   0x22
#define SRB_FUNCTION_LINK_TIMEOUT_COMPLETE   0x23
#define SRB_FUNCTION_POWER   0x24
#define SRB_FUNCTION_PNP   0x25
#define SRB_FUNCTION_DUMP_POINTERS   0x26
#define SRB_STATUS_PENDING   0x00
#define SRB_STATUS_SUCCESS   0x01
#define SRB_STATUS_ABORTED   0x02
#define SRB_STATUS_ABORT_FAILED   0x03
#define SRB_STATUS_ERROR   0x04
#define SRB_STATUS_BUSY   0x05
#define SRB_STATUS_INVALID_REQUEST   0x06
#define SRB_STATUS_INVALID_PATH_ID   0x07
#define SRB_STATUS_NO_DEVICE   0x08
#define SRB_STATUS_TIMEOUT   0x09
#define SRB_STATUS_SELECTION_TIMEOUT   0x0A
#define SRB_STATUS_COMMAND_TIMEOUT   0x0B
#define SRB_STATUS_MESSAGE_REJECTED   0x0D
#define SRB_STATUS_BUS_RESET   0x0E
#define SRB_STATUS_PARITY_ERROR   0x0F
#define SRB_STATUS_REQUEST_SENSE_FAILED   0x10
#define SRB_STATUS_NO_HBA   0x11
#define SRB_STATUS_DATA_OVERRUN   0x12
#define SRB_STATUS_UNEXPECTED_BUS_FREE   0x13
#define SRB_STATUS_PHASE_SEQUENCE_FAILURE   0x14
#define SRB_STATUS_BAD_SRB_BLOCK_LENGTH   0x15
#define SRB_STATUS_REQUEST_FLUSHED   0x16
#define SRB_STATUS_INVALID_LUN   0x20
#define SRB_STATUS_INVALID_TARGET_ID   0x21
#define SRB_STATUS_BAD_FUNCTION   0x22
#define SRB_STATUS_ERROR_RECOVERY   0x23
#define SRB_STATUS_NOT_POWERED   0x24
#define SRB_STATUS_LINK_DOWN   0x25
#define SRB_STATUS_INTERNAL_ERROR   0x30
#define SRB_STATUS_QUEUE_FROZEN   0x40
#define SRB_STATUS_AUTOSENSE_VALID   0x80
#define SRB_STATUS(Status)   (Status & ~(SRB_STATUS_AUTOSENSE_VALID | SRB_STATUS_QUEUE_FROZEN))
#define SRB_FLAGS_QUEUE_ACTION_ENABLE   0x00000002
#define SRB_FLAGS_DISABLE_DISCONNECT   0x00000004
#define SRB_FLAGS_DISABLE_SYNCH_TRANSFER   0x00000008
#define SRB_FLAGS_BYPASS_FROZEN_QUEUE   0x00000010
#define SRB_FLAGS_DISABLE_AUTOSENSE   0x00000020
#define SRB_FLAGS_DATA_IN   0x00000040
#define SRB_FLAGS_DATA_OUT   0x00000080
#define SRB_FLAGS_NO_DATA_TRANSFER   0x00000000
#define SRB_FLAGS_UNSPECIFIED_DIRECTION   (SRB_FLAGS_DATA_IN | SRB_FLAGS_DATA_OUT)
#define SRB_FLAGS_NO_QUEUE_FREEZE   0x00000100
#define SRB_FLAGS_ADAPTER_CACHE_ENABLE   0x00000200
#define SRB_FLAGS_FREE_SENSE_BUFFER   0x00000400
#define SRB_FLAGS_IS_ACTIVE   0x00010000
#define SRB_FLAGS_ALLOCATED_FROM_ZONE   0x00020000
#define SRB_FLAGS_SGLIST_FROM_POOL   0x00040000
#define SRB_FLAGS_BYPASS_LOCKED_QUEUE   0x00080000
#define SRB_FLAGS_NO_KEEP_AWAKE   0x00100000
#define SRB_FLAGS_PORT_DRIVER_ALLOCSENSE   0x00200000
#define SRB_FLAGS_PORT_DRIVER_SENSEHASPORT   0x00400000
#define SRB_FLAGS_DONT_START_NEXT_PACKET   0x00800000
#define SRB_FLAGS_PORT_DRIVER_RESERVED   0x0F000000
#define SRB_FLAGS_CLASS_DRIVER_RESERVED   0xF0000000
#define SRB_SIMPLE_TAG_REQUEST   0x20
#define SRB_HEAD_OF_QUEUE_TAG_REQUEST   0x21
#define SRB_ORDERED_QUEUE_TAG_REQUEST   0x22
#define SRB_WMI_FLAGS_ADAPTER_REQUEST   0x0001
#define SRB_POWER_FLAGS_ADAPTER_REQUEST   0x0001
#define SRB_PNP_FLAGS_ADAPTER_REQUEST   0x0001
#define SP_BUS_PARITY_ERROR   0x0001
#define SP_UNEXPECTED_DISCONNECT   0x0002
#define SP_INVALID_RESELECTION   0x0003
#define SP_BUS_TIME_OUT   0x0004
#define SP_PROTOCOL_ERROR   0x0005
#define SP_INTERNAL_ADAPTER_ERROR   0x0006
#define SP_REQUEST_TIMEOUT   0x0007
#define SP_IRQ_NOT_RESPONDING   0x0008
#define SP_BAD_FW_WARNING   0x0009
#define SP_BAD_FW_ERROR   0x000a
#define SP_LOST_WMI_MINIPORT_REQUEST   0x000b
#define SP_VER_TRACE_SUPPORT   0x0010
#define SP_RETURN_NOT_FOUND   0
#define SP_RETURN_FOUND   1
#define SP_RETURN_ERROR   2
#define SP_RETURN_BAD_CONFIG   3
#define CONFIG_INFO_VERSION_2   sizeof(PORT_CONFIGURATION_INFORMATION)
#define SCSI_REQUEST_BLOCK_SIZE   sizeof(SCSI_REQUEST_BLOCK)
#define SCSIPORTAPI   DECLSPEC_IMPORT
#define ScsiPortConvertPhysicalAddressToUlong(Address)   ((Address).LowPart)
#define ScsiPortConvertPhysicalAddressToULongPtr(Address)   ((ULONG_PTR)((Address).QuadPart))

Typedefs

typedef PHYSICAL_ADDRESS SCSI_PHYSICAL_ADDRESS
typedef PHYSICAL_ADDRESSPSCSI_PHYSICAL_ADDRESS
typedef enum
_SCSI_ADAPTER_CONTROL_TYPE * 
PSCSI_ADAPTER_CONTROL_TYPE
typedef enum
_SCSI_ADAPTER_CONTROL_STATUS * 
PSCSI_ADAPTER_CONTROL_STATUS
typedef enum
_STOR_DEVICE_POWER_STATE * 
PSTOR_DEVICE_POWER_STATE
typedef enum _STOR_POWER_ACTION * PSTOR_POWER_ACTION
typedef enum _STOR_PNP_ACTION * PSTOR_PNP_ACTION
typedef BOOLEAN(NTAPIPHW_INITIALIZE )(IN PVOID DeviceExtension)
typedef BOOLEAN(NTAPIPHW_STARTIO )(IN PVOID DeviceExtension, IN PSCSI_REQUEST_BLOCK Srb)
typedef BOOLEAN(NTAPIPHW_INTERRUPT )(IN PVOID DeviceExtension)
typedef VOID(NTAPIPHW_TIMER )(IN PVOID DeviceExtension)
typedef VOID(NTAPIPHW_DMA_STARTED )(IN PVOID DeviceExtension)
typedef ULONG(NTAPIPHW_FIND_ADAPTER )(IN PVOID DeviceExtension, IN PVOID HwContext, IN PVOID BusInformation, IN PCHAR ArgumentString, IN OUT PPORT_CONFIGURATION_INFORMATION ConfigInfo, OUT PBOOLEAN Again)
typedef BOOLEAN(NTAPIPHW_RESET_BUS )(IN PVOID DeviceExtension, IN ULONG PathId)
typedef BOOLEAN(NTAPIPHW_ADAPTER_STATE )(IN PVOID DeviceExtension, IN PVOID Context, IN BOOLEAN SaveState)
typedef
SCSI_ADAPTER_CONTROL_STATUS(NTAPI
PHW_ADAPTER_CONTROL )(IN PVOID DeviceExtension, IN SCSI_ADAPTER_CONTROL_TYPE ControlType, IN PVOID Parameters)
typedef enum
_SCSI_NOTIFICATION_TYPE * 
PSCSI_NOTIFICATION_TYPE

Enumerations

enum  SCSI_ADAPTER_CONTROL_TYPE {
  ScsiQuerySupportedControlTypes = 0, ScsiStopAdapter, ScsiRestartAdapter, ScsiSetBootConfig,
  ScsiSetRunningConfig, ScsiAdapterControlMax, MakeAdapterControlTypeSizeOfUlong = 0xffffffff, ScsiQuerySupportedControlTypes = 0,
  ScsiStopAdapter, ScsiRestartAdapter, ScsiSetBootConfig, ScsiSetRunningConfig,
  ScsiAdapterControlMax, MakeAdapterControlTypeSizeOfUlong = 0xffffffff
}
enum  SCSI_ADAPTER_CONTROL_STATUS { ScsiAdapterControlSuccess = 0, ScsiAdapterControlUnsuccessful, ScsiAdapterControlSuccess = 0, ScsiAdapterControlUnsuccessful }
enum  STOR_DEVICE_POWER_STATE {
  StorPowerDeviceUnspecified = 0, StorPowerDeviceD0, StorPowerDeviceD1, StorPowerDeviceD2,
  StorPowerDeviceD3, StorPowerDeviceMaximum
}
enum  STOR_POWER_ACTION {
  StorPowerActionNone = 0, StorPowerActionReserved, StorPowerActionSleep, StorPowerActionHibernate,
  StorPowerActionShutdown, StorPowerActionShutdownReset, StorPowerActionShutdownOff, StorPowerActionWarmEject
}
enum  STOR_PNP_ACTION {
  StorStartDevice = 0x0, StorRemoveDevice = 0x2, StorStopDevice = 0x4, StorQueryCapabilities = 0x9,
  StorQueryResourceRequirements = 0xB, StorFilterResourceRequirements = 0xD, StorSurpriseRemoval = 0x17
}
enum  SCSI_NOTIFICATION_TYPE {
  RequestComplete, NextRequest, NextLuRequest, ResetDetected,
  CallDisableInterrupts, CallEnableInterrupts, RequestTimerCall, BusChangeDetected,
  WMIEvent, WMIReregister, RequestComplete, NextRequest,
  NextLuRequest, ResetDetected, CallDisableInterrupts, CallEnableInterrupts,
  RequestTimerCall, BusChangeDetected, WMIEvent, WMIReregister,
  LinkUp, LinkDown, QueryTickCount, BufferOverrunDetected,
  TraceNotification
}

Functions

SCSIPORTAPI VOID NTAPI ScsiPortCompleteRequest (IN PVOID HwDeviceExtension, IN UCHAR PathId, IN UCHAR TargetId, IN UCHAR Lun, IN UCHAR SrbStatus)
SCSIPORTAPI ULONG NTAPI ScsiPortConvertPhysicalAddressToUlong (IN SCSI_PHYSICAL_ADDRESS Address)
SCSIPORTAPI
SCSI_PHYSICAL_ADDRESS NTAPI 
ScsiPortConvertUlongToPhysicalAddress (IN ULONG_PTR UlongAddress)
SCSIPORTAPI VOID NTAPI ScsiPortFlushDma (IN PVOID DeviceExtension)
SCSIPORTAPI VOID NTAPI ScsiPortFreeDeviceBase (IN PVOID HwDeviceExtension, IN PVOID MappedAddress)
SCSIPORTAPI ULONG NTAPI ScsiPortGetBusData (IN PVOID DeviceExtension, IN ULONG BusDataType, IN ULONG SystemIoBusNumber, IN ULONG SlotNumber, IN PVOID Buffer, IN ULONG Length)
SCSIPORTAPI PVOID NTAPI ScsiPortGetDeviceBase (IN PVOID HwDeviceExtension, IN INTERFACE_TYPE BusType, IN ULONG SystemIoBusNumber, IN SCSI_PHYSICAL_ADDRESS IoAddress, IN ULONG NumberOfBytes, IN BOOLEAN InIoSpace)
SCSIPORTAPI PVOID NTAPI ScsiPortGetLogicalUnit (IN PVOID HwDeviceExtension, IN UCHAR PathId, IN UCHAR TargetId, IN UCHAR Lun)
SCSIPORTAPI
SCSI_PHYSICAL_ADDRESS NTAPI 
ScsiPortGetPhysicalAddress (IN PVOID HwDeviceExtension, IN PSCSI_REQUEST_BLOCK Srb OPTIONAL, IN PVOID VirtualAddress, OUT ULONG *Length)
SCSIPORTAPI
PSCSI_REQUEST_BLOCK NTAPI 
ScsiPortGetSrb (IN PVOID DeviceExtension, IN UCHAR PathId, IN UCHAR TargetId, IN UCHAR Lun, IN LONG QueueTag)
SCSIPORTAPI PVOID NTAPI ScsiPortGetUncachedExtension (IN PVOID HwDeviceExtension, IN PPORT_CONFIGURATION_INFORMATION ConfigInfo, IN ULONG NumberOfBytes)
SCSIPORTAPI PVOID NTAPI ScsiPortGetVirtualAddress (IN PVOID HwDeviceExtension, IN SCSI_PHYSICAL_ADDRESS PhysicalAddress)
SCSIPORTAPI ULONG NTAPI ScsiPortInitialize (IN PVOID Argument1, IN PVOID Argument2, IN struct _HW_INITIALIZATION_DATA *HwInitializationData, IN PVOID HwContext OPTIONAL)
SCSIPORTAPI VOID NTAPI ScsiPortIoMapTransfer (IN PVOID HwDeviceExtension, IN PSCSI_REQUEST_BLOCK Srb, IN PVOID LogicalAddress, IN ULONG Length)
SCSIPORTAPI VOID NTAPI ScsiPortLogError (IN PVOID HwDeviceExtension, IN PSCSI_REQUEST_BLOCK Srb OPTIONAL, IN UCHAR PathId, IN UCHAR TargetId, IN UCHAR Lun, IN ULONG ErrorCode, IN ULONG UniqueId)
SCSIPORTAPI VOID __cdecl ScsiPortNotification (IN SCSI_NOTIFICATION_TYPE NotificationType, IN PVOID HwDeviceExtension, IN...)
SCSIPORTAPI VOID NTAPI ScsiPortQuerySystemTime (OUT PLARGE_INTEGER CurrentTime)
SCSIPORTAPI ULONG NTAPI ScsiPortSetBusDataByOffset (IN PVOID DeviceExtension, IN ULONG BusDataType, IN ULONG SystemIoBusNumber, IN ULONG SlotNumber, IN PVOID Buffer, IN ULONG Offset, IN ULONG Length)
SCSIPORTAPI VOID NTAPI ScsiPortStallExecution (IN ULONG Delay)
SCSIPORTAPI BOOLEAN NTAPI ScsiPortValidateRange (IN PVOID HwDeviceExtension, IN INTERFACE_TYPE BusType, IN ULONG SystemIoBusNumber, IN SCSI_PHYSICAL_ADDRESS IoAddress, IN ULONG NumberOfBytes, IN BOOLEAN InIoSpace)
SCSIPORTAPI VOID __cdecl ScsiDebugPrint (IN ULONG DebugPrintLevel, IN PCCHAR DebugMessage, IN...)
SCSIPORTAPI UCHAR NTAPI ScsiPortReadPortUchar (IN PUCHAR Port)
SCSIPORTAPI ULONG NTAPI ScsiPortReadPortUlong (IN PULONG Port)
SCSIPORTAPI USHORT NTAPI ScsiPortReadPortUshort (IN PUSHORT Port)
SCSIPORTAPI VOID NTAPI ScsiPortReadPortBufferUchar (IN PUCHAR Port, IN PUCHAR Buffer, IN ULONG Count)
SCSIPORTAPI VOID NTAPI ScsiPortReadPortBufferUlong (IN PULONG Port, IN PULONG Buffer, IN ULONG Count)
SCSIPORTAPI VOID NTAPI ScsiPortReadPortBufferUshort (IN PUSHORT Port, IN PUSHORT Buffer, IN ULONG Count)
SCSIPORTAPI UCHAR NTAPI ScsiPortReadRegisterUchar (IN PUCHAR Register)
SCSIPORTAPI ULONG NTAPI ScsiPortReadRegisterUlong (IN PULONG Register)
SCSIPORTAPI USHORT NTAPI ScsiPortReadRegisterUshort (IN PUSHORT Register)
SCSIPORTAPI VOID NTAPI ScsiPortReadRegisterBufferUchar (IN PUCHAR Register, IN PUCHAR Buffer, IN ULONG Count)
SCSIPORTAPI VOID NTAPI ScsiPortReadRegisterBufferUlong (IN PULONG Register, IN PULONG Buffer, IN ULONG Count)
SCSIPORTAPI VOID NTAPI ScsiPortReadRegisterBufferUshort (IN PUSHORT Register, IN PUSHORT Buffer, IN ULONG Count)
SCSIPORTAPI VOID NTAPI ScsiPortWritePortUchar (IN PUCHAR Port, IN UCHAR Value)
SCSIPORTAPI VOID NTAPI ScsiPortWritePortUlong (IN PULONG Port, IN ULONG Value)
SCSIPORTAPI VOID NTAPI ScsiPortWritePortUshort (IN PUSHORT Port, IN USHORT Value)
SCSIPORTAPI VOID NTAPI ScsiPortWritePortBufferUchar (IN PUCHAR Port, IN PUCHAR Buffer, IN ULONG Count)
SCSIPORTAPI VOID NTAPI ScsiPortWritePortBufferUlong (IN PULONG Port, IN PULONG Buffer, IN ULONG Count)
SCSIPORTAPI VOID NTAPI ScsiPortWritePortBufferUshort (IN PUSHORT Port, IN PUSHORT Buffer, IN ULONG Count)
SCSIPORTAPI VOID NTAPI ScsiPortWriteRegisterUchar (IN PUCHAR Register, IN UCHAR Value)
SCSIPORTAPI VOID NTAPI ScsiPortWriteRegisterUlong (IN PULONG Register, IN ULONG Value)
SCSIPORTAPI VOID NTAPI ScsiPortWriteRegisterUshort (IN PUSHORT Register, IN USHORT Value)
SCSIPORTAPI VOID NTAPI ScsiPortWriteRegisterBufferUchar (IN PUCHAR Register, IN PUCHAR Buffer, IN ULONG Count)
SCSIPORTAPI VOID NTAPI ScsiPortWriteRegisterBufferUlong (IN PULONG Register, IN PULONG Buffer, IN ULONG Count)
SCSIPORTAPI VOID NTAPI ScsiPortWriteRegisterBufferUshort (IN PUSHORT Register, IN PUSHORT Buffer, IN ULONG Count)
SCSIPORTAPI VOID NTAPI ScsiPortMoveMemory (IN PVOID WriteBuffer, IN PVOID ReadBuffer, IN ULONG Length)

Generated on Sat May 26 2012 05:25:33 for ReactOS by doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.