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

BusLogic958.h File Reference
#include <ntddk.h>
#include <srb.h>
#include <scsi.h>
#include <ntddscsi.h>
#include <scsiwmi.h>

Go to the source code of this file.

Data Structures

struct  BusLogic_FetchHostAdapterLocalRAMRequest_T
struct  BusLogic_PCIHostAdapterInformation_T
struct  BusLogic_BoardID_T
struct  BusLogic_TargetFlags_T
struct  BusLogic_ByteCounter_T
struct  BusLogic_TargetStatistics_T
struct  BusLogic_Configuration_T
struct  BusLogic_SynchronousValue_T
struct  BusLogic_SetupInformation_T
struct  BusLogic_ExtendedSetupInformation_T
struct  BusLogic_AutoSCSIData_T
struct  BusLogic_ScatterGatherSegment_T
struct  PBuslogic_CCB_T
struct  BusLogic_OutgoingMailbox_T
struct  BusLogic_IncomingMailbox_T
struct  PNONCACHED_EXTENSION
struct  BusLogic_HostAdapter_T
struct  PHW_DEVICE_EXTENSION
struct  SCSI_Inquiry_T
struct  PBusLogic_WmiExtendedSetupInformation_T
union  BusLogic_ControlRegister_T
union  BusLogic_StatusRegister_T
union  BusLogic_InterruptRegister_T
union  BusLogic_GeometryRegister_T
struct  BusLogic_ExtendedMailboxRequest_T

Defines

#define ERROR   1
#define WARNING   2
#define TRACE   3
#define INFO   4
#define MAX_TRANSFER_SIZE   64 * 1024
#define SG_SUPPORT   1
#define TAG_QUEUING   1
#define BUSLOGIC_MAXIMUM_TAGS   128
#define BusLogic_MaxTaggedQueueDepth   128
#define BusLogic_DefaultBusSettleTime   2
#define BusLogic_MaxTargetDevices   16
#define BusLogic_MaxLogicalUnits   32
#define BusLogic_MaxMailboxes   211
#define BusLogic_BIOS_BaseOffset   0
#define BusLogic_AutoSCSI_BaseOffset   64
#define BusLogic_CDB_MaxLength   12
#define BusLogic_ScatterGatherLimit   128
#define MAX_SG_LIMIT   BusLogic_ScatterGatherLimit
#define BusLogic_AggressiveRoundRobinMode   0
#define BusLogic_StrictRoundRobinMode   1
#define BusLogic_Allocate14Bytes   0x00
#define BusLogic_DisableAutoReqSense   0x01
#define BusLogic_SizeBuckets   10
#define BusLogic_ControlRegisterOffset   0
#define BusLogic_StatusRegisterOffset   0
#define BusLogic_CommandParameterRegisterOffset   1
#define BusLogic_DataInRegisterOffset   1
#define BusLogic_InterruptRegisterOffset   2
#define BusLogic_GeometryRegisterOffset   3

Typedefs

typedef UCHAR BusLogic_RequestedReplyLength_T
typedef unsigned int BusLogic_BusAddress_T
typedef UCHAR BusLogic_HostAdapterModelNumber_T [5]
typedef UCHAR BusLogic_FirmwareVersion3rdDigit_T
typedef UCHAR BusLogic_FirmwareVersionLetter_T
typedef unsigned int BusLogic_ByteCount_T
typedef unsigned int BusLogic_CommandSizeBuckets_T [BusLogic_SizeBuckets]
typedef BusLogic_SynchronousValue_T BusLogic_SynchronousValues8_T [8]
typedef UCHAR SCSI_CDB_T [BusLogic_CDB_MaxLength]
typedef UCHAR BusLogic_SynchronousPeriod_T [BusLogic_MaxTargetDevices]
typedef UCHAR BusLogic_InstalledDevices8_T [8]
typedef unsigned short BusLogic_InstalledDevices_T

Enumerations

enum  BusLogic_OperationCode_T {
  BusLogic_TestCommandCompleteInterrupt = 0x00, BusLogic_InitializeMailbox = 0x01, BusLogic_ExecuteMailboxCommand = 0x02, BusLogic_ExecuteBIOSCommand = 0x03,
  BusLogic_InquireBoardID = 0x04, BusLogic_EnableOutgoingMailboxAvailableInt = 0x05, BusLogic_SetSCSISelectionTimeout = 0x06, BusLogic_SetPreemptTimeOnBus = 0x07,
  BusLogic_SetTimeOffBus = 0x08, BusLogic_SetBusTransferRate = 0x09, BusLogic_InquireInstalledDevicesID0to7 = 0x0A, BusLogic_InquireConfiguration = 0x0B,
  BusLogic_EnableTargetMode = 0x0C, BusLogic_InquireSetupInformation = 0x0D, BusLogic_WriteAdapterLocalRAM = 0x1A, BusLogic_ReadAdapterLocalRAM = 0x1B,
  BusLogic_WriteBusMasterChipFIFO = 0x1C, BusLogic_ReadBusMasterChipFIFO = 0x1D, BusLogic_EchoCommandData = 0x1F, BusLogic_HostAdapterDiagnostic = 0x20,
  BusLogic_SetAdapterOptions = 0x21, BusLogic_InquireInstalledDevicesID8to15 = 0x23, BusLogic_InquireTargetDevices = 0x24, BusLogic_DisableHostAdapterInterrupt = 0x25,
  BusLogic_InitializeExtendedMailbox = 0x81, BusLogic_ExecuteSCSICommand = 0x83, BusLogic_InquireFirmwareVersion3rdDigit = 0x84, BusLogic_InquireFirmwareVersionLetter = 0x85,
  BusLogic_InquirePCIHostAdapterInformation = 0x86, BusLogic_InquireHostAdapterModelNumber = 0x8B, BusLogic_InquireSynchronousPeriod = 0x8C, BusLogic_InquireExtendedSetupInformation = 0x8D,
  BusLogic_EnableStrictRoundRobinMode = 0x8F, BusLogic_StoreHostAdapterLocalRAM = 0x90, BusLogic_FetchHostAdapterLocalRAM = 0x91, BusLogic_StoreLocalDataInEEPROM = 0x92,
  BusLogic_UploadAutoSCSICode = 0x94, BusLogic_ModifyIOAddress = 0x95, BusLogic_SetCCBFormat = 0x96, BusLogic_WriteInquiryBuffer = 0x9A,
  BusLogic_ReadInquiryBuffer = 0x9B, BusLogic_FlashROMUploadDownload = 0xA7, BusLogic_ReadSCAMData = 0xA8, BusLogic_WriteSCAMData = 0xA9
}
enum  BusLogic_ISACompatibleIOPort_T {
  BusLogic_IO_330 = 0, BusLogic_IO_334 = 1, BusLogic_IO_230 = 2, BusLogic_IO_234 = 3,
  BusLogic_IO_130 = 4, BusLogic_IO_134 = 5, BusLogic_IO_Disable = 6, BusLogic_IO_Disable2 = 7
}
enum  BusLogic_ActionCode_T { BusLogic_OutgoingMailboxFree = 0x00, BusLogic_MailboxStartCommand = 0x01, BusLogic_MailboxAbortCommand = 0x02 }
enum  BusLogic_CompletionCode_T {
  BusLogic_IncomingMailboxFree = 0x00, BusLogic_CommandCompletedWithoutError = 0x01, BusLogic_CommandAbortedAtHostRequest = 0x02, BusLogic_AbortedCommandNotFound = 0x03,
  BusLogic_CommandCompletedWithError = 0x04, BusLogic_InvalidCCB = 0x05
}
enum  BusLogic_CCB_Opcode_T {
  BusLogic_InitiatorCCB = 0x00, BusLogic_TargetCCB = 0x01, BusLogic_InitiatorCCB_ScatterGather = 0x02, BusLogic_InitiatorCCB_ResidualDataLength = 0x03,
  BusLogic_InitiatorCCB_ScatterGatherResidual = 0x04, BusLogic_BusDeviceReset = 0x81
}
enum  BusLogic_DataDirection_T { BusLogic_UncheckedDataTransfer = 0, BusLogic_DataInLengthChecked = 1, BusLogic_DataOutLengthChecked = 2, BusLogic_NoDataTransfer = 3 }
enum  BusLogic_HostAdapterStatus_T {
  BusLogic_CommandCompletedNormally = 0x00, BusLogic_LinkedCommandCompleted = 0x0A, BusLogic_LinkedCommandCompletedWithFlag = 0x0B, BusLogic_DataUnderRun = 0x0C,
  BusLogic_SCSISelectionTimeout = 0x11, BusLogic_DataOverRun = 0x12, BusLogic_UnexpectedBusFree = 0x13, BusLogic_InvalidBusPhaseRequested = 0x14,
  BusLogic_InvalidOutgoingMailboxActionCode = 0x15, BusLogic_InvalidCommandOperationCode = 0x16, BusLogic_LinkedCCBhasInvalidLUN = 0x17, BusLogic_InvalidCommandParameter = 0x1A,
  BusLogic_AutoRequestSenseFailed = 0x1B, BusLogic_TaggedQueuingMessageRejected = 0x1C, BusLogic_UnsupportedMessageReceived = 0x1D, BusLogic_HostAdapterHardwareFailed = 0x20,
  BusLogic_TargetFailedResponseToATN = 0x21, BusLogic_HostAdapterAssertedRST = 0x22, BusLogic_OtherDeviceAssertedRST = 0x23, BusLogic_TargetDeviceReconnectedImproperly = 0x24,
  BusLogic_HostAdapterAssertedBusDeviceReset = 0x25, BusLogic_AbortQueueGenerated = 0x26, BusLogic_HostAdapterSoftwareError = 0x27, BusLogic_HostAdapterHardwareTimeoutError = 0x30,
  BusLogic_SCSIParityErrorDetected = 0x34
}
enum  BusLogic_TargetDeviceStatus_T { BusLogic_OperationGood = 0x00, BusLogic_CheckCondition = 0x02, BusLogic_DeviceBusy = 0x08 }
enum  BusLogic_QueueTag_T { BusLogic_SimpleQueueTag = 0, BusLogic_HeadOfQueueTag = 1, BusLogic_OrderedQueueTag = 2, BusLogic_ReservedQT = 3 }
enum  BusLogic_CCB_Status_T { BusLogic_CCB_Free = 0, BusLogic_CCB_Active = 1, BusLogic_CCB_Completed = 2, BusLogic_CCB_Reset = 3 }
enum  BusLogic_HostAdapterType_T { BusLogic_MultiMaster = 1, BusLogic_FlashPoint = 2 }
enum  BusLogic_HostAdapterBusType_T {
  BusLogic_Unknown_Bus = 0, BusLogic_ISA_Bus = 1, BusLogic_EISA_Bus = 2, BusLogic_PCI_Bus = 3,
  BusLogic_VESA_Bus = 4, BusLogic_MCA_Bus = 5
}
enum  BusLogic_BIOS_DiskGeometryTranslation_T { BusLogic_BIOS_Disk_Not_Installed = 0, BusLogic_BIOS_Disk_Installed_64x32 = 1, BusLogic_BIOS_Disk_Installed_128x32 = 2, BusLogic_BIOS_Disk_Installed_255x63 = 3 }
enum  BusLogic_SetCCBFormatRequest_T { BusLogic_LegacyLUNFormatCCB = 0, BusLogic_ExtendedLUNFormatCCB = 1 }

Functions

ULONG NTAPI DriverEntry (IN PVOID DriverObject, IN PVOID Argument2)
ULONG NTAPI BT958HwFindAdapter (IN PVOID HwDeviceExtension, IN PVOID Context, IN PVOID BusInformation, IN PCHAR ArgumentString, IN OUT PPORT_CONFIGURATION_INFORMATION ConfigInfo, OUT PBOOLEAN Again)
BOOLEAN NTAPI BT958HwInitialize (IN PVOID HwDeviceExtension)
BOOLEAN NTAPI BT958HwStartIO (IN PVOID HwDeviceExtension, IN PSCSI_REQUEST_BLOCK Srb)
BOOLEAN NTAPI BT958HwInterrupt (IN PVOID HwDeviceExtension)
BOOLEAN NTAPI BT958HwResetBus (IN PVOID HwDeviceExtension, IN ULONG PathId)
SCSI_ADAPTER_CONTROL_STATUS NTAPI BT958HwAdapterControl (IN PVOID HwDeviceExtension, IN SCSI_ADAPTER_CONTROL_TYPE ControlType, IN PVOID Parameters)
void BT958WmiInitialize (IN PHW_DEVICE_EXTENSION HwDeviceExtension)
BOOLEAN Buslogic_InitBT958 (PHW_DEVICE_EXTENSION deviceExtension, PPORT_CONFIGURATION_INFORMATION ConfigInfo)
BOOLEAN BusLogic_ProbeHostAdapter (BusLogic_HostAdapter_T *HostAdapter)
BOOLEAN BusLogic_HardwareResetHostAdapter (BusLogic_HostAdapter_T *HostAdapter, BOOLEAN HardReset)
BOOLEAN BusLogic_CheckHostAdapter (BusLogic_HostAdapter_T *HostAdapter)
int BusLogic_Command (BusLogic_HostAdapter_T *HostAdapter, BusLogic_OperationCode_T OperationCode, void *ParameterData, int ParameterLength, void *ReplyData, int ReplyLength)
BOOLEAN BusLogic_ReadHostAdapterConfiguration (BusLogic_HostAdapter_T *HostAdapter)
BOOLEAN BusLogic_InitializeHostAdapter (PHW_DEVICE_EXTENSION deviceExtension, PPORT_CONFIGURATION_INFORMATION ConfigInfo)
BOOLEAN BusLogic_TargetDeviceInquiry (BusLogic_HostAdapter_T *HostAdapter)
int BusLogic_QueueCommand (IN PVOID HwDeviceExtension, IN PSCSI_REQUEST_BLOCK Srb, IN PBuslogic_CCB_T ccb)
BOOLEAN BusLogic_WriteOutgoingMailbox (PHW_DEVICE_EXTENSION deviceExtension, BusLogic_ActionCode_T ActionCode, BusLogic_CCB_T *CCB)
void BusLogic_ScanIncomingMailboxes (PHW_DEVICE_EXTENSION deviceExtension)
void BusLogic_QueueCompletedCCB (PHW_DEVICE_EXTENSION deviceExtension, BusLogic_CCB_T *CCB)
void BusLogic_ProcessCompletedCCBs (PHW_DEVICE_EXTENSION deviceExtension)
UCHAR BusLogic_ComputeResultCode (BusLogic_HostAdapter_T *HostAdapter, BusLogic_HostAdapterStatus_T HostAdapterStatus, BusLogic_TargetDeviceStatus_T TargetDeviceStatus, UCHAR SenseDataLength)
BOOLEAN BusLogic_SendBusDeviceReset (IN PVOID HwDeviceExtension, PSCSI_REQUEST_BLOCK Srb)
static UCHAR ReadBusLogicPort (PUCHAR adr)
static VOID WriteBusLogicPort (UCHAR data, PUCHAR adr)
static void BusLogic_InterruptReset (BusLogic_HostAdapter_T *HostAdapter)
static void BusLogic_SoftReset (BusLogic_HostAdapter_T *HostAdapter)
static void BusLogic_HardReset (BusLogic_HostAdapter_T *HostAdapter)
static UCHAR BusLogic_ReadStatusRegister (BusLogic_HostAdapter_T *HostAdapter)
static UCHAR BusLogic_ReadInterruptRegister (BusLogic_HostAdapter_T *HostAdapter)
static UCHAR BusLogic_ReadGeometryRegister (BusLogic_HostAdapter_T *HostAdapter)
static UCHAR BusLogic_ReadDataInRegister (BusLogic_HostAdapter_T *HostAdapter)
static void BusLogic_WriteCommandParameterRegister (BusLogic_HostAdapter_T *HostAdapter, UCHAR Value)
static void BusLogic_StartMailboxCommand (BusLogic_HostAdapter_T *HostAdapter)
static void BusLogic_IncrementByteCounter (BusLogic_ByteCounter_T *ByteCounter, unsigned int Amount)
static void BusLogic_IncrementSizeBucket (BusLogic_CommandSizeBuckets_T CommandSizeBuckets, unsigned int Amount)
static void BusLogic_IncrementErrorCounter (unsigned short *ErrorCounter)

Variables

static
BusLogic_HostAdapterBusType_T 
BusLogic_HostAdapterBusTypes []

Generated on Sat May 26 2012 05:25:42 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.