Added scsiport driver skeleton.

svn path=/trunk/; revision=2077
This commit is contained in:
Eric Kohl 2001-07-21 07:30:26 +00:00
parent 75d57b4fa1
commit b8ec1f6a56
6 changed files with 829 additions and 0 deletions

View file

@ -0,0 +1,355 @@
/* $Id: srb.h,v 1.1 2001/07/21 07:29:53 ekohl Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
* FILE: services/storage/include/srb.c
* PURPOSE: SCSI port driver definitions
* PROGRAMMER: Eric Kohl (ekohl@rz-online.de)
*/
#ifndef __STORAGE_INCLUDE_SRB_H
#define __STORAGE_INCLUDE_SRB_H
typedef PHYSICAL_ADDRESS SCSI_PHYSICAL_ADDRESS, *PSCSI_PHYSICAL_ADDRESS;
typedef struct _ACCESS_RANGE
{
SCSI_PHYSICAL_ADDRESS RangeStart;
ULONG RangeLength;
BOOLEAN RangeInMemory;
}ACCESS_RANGE, *PACCESS_RANGE;
typedef struct _PORT_CONFIGURATION_INFORMATION
{
ULONG Length;
ULONG SystemIoBusNumber;
INTERFACE_TYPE AdapterInterfaceType;
ULONG BusInterruptLevel;
ULONG BusInterruptVector;
KINTERRUPT_MODE InterruptMode;
ULONG MaximumTransferLength;
ULONG NumberOfPhysicalBreaks;
ULONG DmaChannel;
ULONG DmaPort;
DMA_WIDTH DmaWidth;
DMA_SPEED DmaSpeed;
ULONG AlignmentMask;
ULONG NumberOfAccessRanges;
ACCESS_RANGE (*AccessRanges)[];
PVOID Reserved;
UCHAR NumberOfBuses;
CCHAR InitiatorBusId[8];
BOOLEAN ScatterGather;
BOOLEAN Master;
BOOLEAN CachesData;
BOOLEAN AdapterScansDown;
BOOLEAN AtdiskPrimaryClaimed;
BOOLEAN AtdiskSecondaryClaimed;
BOOLEAN Dma32BitAddresses;
BOOLEAN DemandMode;
BOOLEAN MapBuffers;
BOOLEAN NeedPhysicalAddresses;
BOOLEAN TaggedQueuing;
BOOLEAN AutoRequestSense;
BOOLEAN MultipleRequestPerLu;
BOOLEAN ReceiveEvent;
BOOLEAN RealModeInitialized;
BOOLEAN BufferAccessScsiPortControlled;
UCHAR MaximumNumberOfTargets;
UCHAR ReservedUchars[2];
ULONG SlotNumber;
ULONG BusInterruptLevel2;
ULONG BusInterruptVector2;
KINTERRUPT_MODE InterruptMode2;
ULONG DmaChannel2;
ULONG DmaPort2;
DMA_WIDTH DmaWidth2;
DMA_SPEED DmaSpeed2;
ULONG DeviceExtensionSize;
ULONG SpecificLuExtensionSize;
ULONG SrbExtensionSize;
} PORT_CONFIGURATION_INFORMATION, *PPORT_CONFIGURATION_INFORMATION;
#define CONFIG_INFO_VERSION_2 sizeof(PORT_CONFIGURATION_INFORMATION)
typedef struct _SCSI_REQUEST_BLOCK
{
USHORT Length; // 0x00
UCHAR Function; // 0x02
UCHAR SrbStatus; // 0x03
UCHAR ScsiStatus; // 0x04
UCHAR PathId; // 0x05
UCHAR TargetId; // 0x06
UCHAR Lun; // 0x07
UCHAR QueueTag; // 0x08
UCHAR QueueAction; // 0x09
UCHAR CdbLength; // 0x0A
UCHAR SenseInfoBufferLength; // 0x0B
ULONG SrbFlags; // 0x0C
ULONG DataTransferLength; // 0x10
ULONG TimeOutValue; // 0x14
PVOID DataBuffer; // 0x18
PVOID SenseInfoBuffer; // 0x1C
struct _SCSI_REQUEST_BLOCK *NextSrb; // 0x20
PVOID OriginalRequest; // 0x24
PVOID SrbExtension; // 0x28
ULONG QueueSortKey; // 0x2C
UCHAR Cdb[16]; // 0x30
} SCSI_REQUEST_BLOCK, *PSCSI_REQUEST_BLOCK;
#define SCSI_REQUEST_BLOCK_SIZE sizeof(SCSI_REQUEST_BLOCK)
typedef enum _SCSI_NOTIFICATION_TYPE
{
RequestComplete,
NextRequest,
NextLuRequest,
ResetDetected,
CallDisableInterrupts,
CallEnableInterrupts,
RequestTimerCall
} SCSI_NOTIFICATION_TYPE, *PSCSI_NOTIFICATION_TYPE;
typedef BOOLEAN STDCALL
(*PHW_INITIALIZE)(IN PVOID DeviceExtension);
typedef BOOLEAN STDCALL
(*PHW_STARTIO)(IN PVOID DeviceExtension,
IN PSCSI_REQUEST_BLOCK Srb);
typedef BOOLEAN STDCALL
(*PHW_INTERRUPT)(IN PVOID DeviceExtension);
typedef VOID STDCALL
(*PHW_TIMER)(IN PVOID DeviceExtension);
typedef VOID STDCALL
(*PHW_DMA_STARTED)(IN PVOID DeviceExtension);
typedef ULONG STDCALL
(*PHW_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 STDCALL
(*PHW_RESET_BUS)(IN PVOID DeviceExtension,
IN ULONG PathId);
typedef BOOLEAN STDCALL
(*PHW_ADAPTER_STATE)(IN PVOID DeviceExtension,
IN PVOID Context,
IN BOOLEAN SaveState);
typedef struct _HW_INITIALIZATION_DATA
{
ULONG HwInitializationDataSize;
INTERFACE_TYPE AdapterInterfaceType;
PHW_INITIALIZE HwInitialize;
PHW_STARTIO HwStartIo;
PHW_INTERRUPT HwInterrupt;
PHW_FIND_ADAPTER HwFindAdapter;
PHW_RESET_BUS HwResetBus;
PHW_DMA_STARTED HwDmaStarted;
PHW_ADAPTER_STATE HwAdapterState;
ULONG DeviceExtensionSize;
ULONG SpecificLuExtensionSize;
ULONG SrbExtensionSize;
ULONG NumberOfAccessRanges;
PVOID Reserved;
BOOLEAN MapBuffers;
BOOLEAN NeedPhysicalAddresses;
BOOLEAN TaggedQueuing;
BOOLEAN AutoRequestSense;
BOOLEAN MultipleRequestPerLu;
BOOLEAN ReceiveEvent;
USHORT VendorIdLength;
PVOID VendorId;
USHORT ReservedUshort;
USHORT DeviceIdLength;
PVOID DeviceId;
} HW_INITIALIZATION_DATA, *PHW_INITIALIZATION_DATA;
/* FUNCTIONS ****************************************************************/
VOID
ScsiDebugPrint (
IN ULONG DebugPrintLevel,
IN PCHAR DebugMessage,
...
);
VOID
STDCALL
ScsiPortCompleteRequest (
IN PVOID HwDeviceExtension,
IN UCHAR PathId,
IN UCHAR TargetId,
IN UCHAR Lun,
IN UCHAR SrbStatus
);
ULONG
STDCALL
ScsiPortConvertPhysicalAddressToUlong (
IN SCSI_PHYSICAL_ADDRESS Address
);
SCSI_PHYSICAL_ADDRESS
STDCALL
ScsiPortConvertUlongToPhysicalAddress (
IN ULONG UlongAddress
);
VOID
STDCALL
ScsiPortFlushDma (
IN PVOID HwDeviceExtension
);
VOID
STDCALL
ScsiPortFreeDeviceBase (
IN PVOID HwDeviceExtension,
IN PVOID MappedAddress
);
ULONG
STDCALL
ScsiPortGetBusData (
IN PVOID DeviceExtension,
IN ULONG BusDataType,
IN ULONG SystemIoBusNumber,
IN ULONG SlotNumber,
IN PVOID Buffer,
IN ULONG Length
);
PVOID
STDCALL
ScsiPortGetDeviceBase (
IN PVOID HwDeviceExtension,
IN INTERFACE_TYPE BusType,
IN ULONG SystemIoBusNumber,
IN SCSI_PHYSICAL_ADDRESS IoAddress,
IN ULONG NumberOfBytes,
IN BOOLEAN InIoSpace
);
PVOID
STDCALL
ScsiPortGetLogicalUnit (
IN PVOID HwDeviceExtension,
IN UCHAR PathId,
IN UCHAR TargetId,
IN UCHAR Lun
);
SCSI_PHYSICAL_ADDRESS
STDCALL
ScsiPortGetPhysicalAddress (
IN PVOID HwDeviceExtension,
IN PSCSI_REQUEST_BLOCK Srb OPTIONAL,
IN PVOID VirtualAddress,
OUT PULONG Length
);
PSCSI_REQUEST_BLOCK
STDCALL
ScsiPortGetSrb (
IN PVOID DeviceExtension,
IN UCHAR PathId,
IN UCHAR TargetId,
IN UCHAR Lun,
IN LONG QueueTag
);
PVOID
STDCALL
ScsiPortGetUncachedExtension (
IN PVOID HwDeviceExtension,
IN PPORT_CONFIGURATION_INFORMATION ConfigInfo,
IN ULONG NumberOfBytes
);
PVOID
STDCALL
ScsiPortGetVirtualAddress (
IN PVOID HwDeviceExtension,
IN SCSI_PHYSICAL_ADDRESS PhysicalAddress
);
ULONG
STDCALL
ScsiPortInitialize (
IN PVOID Argument1,
IN PVOID Argument2,
IN struct _HW_INITIALIZATION_DATA *HwInitializationData,
IN PVOID HwContext
);
VOID
STDCALL
ScsiPortIoMapTransfer (
IN PVOID HwDeviceExtension,
IN PSCSI_REQUEST_BLOCK Srb,
IN ULONG LogicalAddress,
IN ULONG Length
);
VOID
STDCALL
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
);
VOID
STDCALL
ScsiPortMoveMemory (
OUT PVOID Destination,
IN PVOID Source,
IN ULONG Length
);
VOID
ScsiPortNotification (
IN SCSI_NOTIFICATION_TYPE NotificationType,
IN PVOID HwDeviceExtension,
...
);
UCHAR
STDCALL
ScsiPortReadPortUchar (
IN PUCHAR Port
);
ULONG
STDCALL
ScsiPortReadPortUlong (
IN PULONG Port
);
USHORT
STDCALL
ScsiPortReadPortUshort (
IN PUSHORT Port
);
#endif /* __STORAGE_INCLUDE_SRB_H */
/* EOF */

View file

@ -0,0 +1,39 @@
# $Id: makefile,v 1.1 2001/07/21 07:30:26 ekohl Exp $
#
#
PATH_TO_TOP = ../../..
TARGET=scsiport
OBJECTS = $(TARGET).o $(TARGET).coff
LIBS = $(PATH_TO_TOP)/ntoskrnl/ntoskrnl.a
CFLAGS = -D__NTDRIVER__ -I$(PATH_TO_TOP)/include
all: $(TARGET).sys $(TARGET).sys.unstripped $(TARGET).a
.phony: all
clean:
- $(RM) *.o $(TARGET).a $(TARGET).coff junk.tmp base.tmp temp.exp $(TARGET).sys $(TARGET).sys.unstripped
.phony: clean
install: $(FLOPPY_DIR)/drivers/$(TARGET).sys
$(FLOPPY_DIR)/drivers/$(TARGET).sys: $(TARGET).sys
$(CP) $(TARGET).sys $(FLOPPY_DIR)/drivers/$(TARGET).sys
dist: $(PATH_TO_TOP)/$(DIST_DIR)/drivers/$(TARGET).sys
$(PATH_TO_TOP)/$(DIST_DIR)/drivers/$(TARGET).sys: $(TARGET).sys
$(CP) $(TARGET).sys $(PATH_TO_TOP)/$(DIST_DIR)/drivers/$(TARGET).sys
$(TARGET).sys $(TARGET).sys.unstripped: $(OBJECTS) $(LIBS)
WARNINGS_ARE_ERRORS = yes
include $(PATH_TO_TOP)/rules.mak

View file

@ -0,0 +1,282 @@
/* $Id: scsiport.c,v 1.1 2001/07/21 07:30:26 ekohl Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
* FILE: services/storage/scsiport/scsiport.c
* PURPOSE: SCSI port driver
* PROGRAMMER: Eric Kohl (ekohl@rz-online.de)
*/
#include <ddk/ntddk.h>
#include "../include/srb.h"
#define UNIMPLEMENTED do {DbgPrint("%s:%d: Function not implemented", __FILE__, __LINE__); for(;;);} while (0)
#define VERSION "0.0.1"
// ------------------------------------------------------- Public Interface
// DriverEntry
//
// DESCRIPTION:
// This function initializes the driver.
//
// RUN LEVEL:
// PASSIVE_LEVEL
//
// ARGUMENTS:
// IN PDRIVER_OBJECT DriverObject System allocated Driver Object
// for this driver
// IN PUNICODE_STRING RegistryPath Name of registry driver service
// key
//
// RETURNS:
// NTSTATUS
NTSTATUS STDCALL
DriverEntry(IN PDRIVER_OBJECT DriverObject,
IN PUNICODE_STRING RegistryPath)
{
DbgPrint("ScsiPort Driver %s\n", VERSION);
return(STATUS_SUCCESS);
}
VOID
ScsiDebugPrint(IN ULONG DebugPrintLevel,
IN PCHAR DebugMessage,
...)
{
char Buffer[256];
va_list ap;
#if 0
if (DebugPrintLevel > InternalDebugLevel)
return;
#endif
va_start(ap, DebugMessage);
vsprintf(Buffer, DebugMessage, ap);
va_end(ap);
DbgPrint(Buffer);
}
VOID STDCALL
ScsiPortCompleteRequest(IN PVOID HwDeviceExtension,
IN UCHAR PathId,
IN UCHAR TargetId,
IN UCHAR Lun,
IN UCHAR SrbStatus)
{
UNIMPLEMENTED;
}
ULONG STDCALL
ScsiPortConvertPhysicalAddressToUlong(IN SCSI_PHYSICAL_ADDRESS Address)
{
return Address.u.LowPart;
}
VOID STDCALL
ScsiPortFlushDma(IN PVOID HwDeviceExtension)
{
UNIMPLEMENTED;
}
VOID STDCALL
ScsiPortFreeDeviceBase(IN PVOID HwDeviceExtension,
IN PVOID MappedAddress)
{
UNIMPLEMENTED;
}
ULONG STDCALL
ScsiPortGetBusData(IN PVOID DeviceExtension,
IN ULONG BusDataType,
IN ULONG SystemIoBusNumber,
IN ULONG SlotNumber,
IN PVOID Buffer,
IN ULONG Length)
{
UNIMPLEMENTED;
}
PVOID STDCALL
ScsiPortGetDeviceBase(IN PVOID HwDeviceExtension,
IN INTERFACE_TYPE BusType,
IN ULONG SystemIoBusNumber,
IN SCSI_PHYSICAL_ADDRESS IoAddress,
IN ULONG NumberOfBytes,
IN BOOLEAN InIoSpace)
{
ULONG AddressSpace;
PHYSICAL_ADDRESS TranslatedAddress;
PVOID VirtualAddress;
PVOID Buffer;
BOOLEAN rc;
AddressSpace = (ULONG)InIoSpace;
if (!HalTranslateBusAddress(BusType,
SystemIoBusNumber,
IoAddress,
&AddressSpace,
&TranslatedAddress))
return NULL;
/* i/o space */
if (AddressSpace != 0)
return (PVOID)TranslatedAddress.u.LowPart;
VirtualAddress = MmMapIoSpace(TranslatedAddress,
NumberOfBytes,
FALSE);
Buffer = ExAllocatePool(NonPagedPool,0x20);
if (Buffer == NULL)
return VirtualAddress;
return NULL; /* ?? */
}
PVOID STDCALL
ScsiPortGetLogicalUnit(IN PVOID HwDeviceExtension,
IN UCHAR PathId,
IN UCHAR TargetId,
IN UCHAR Lun)
{
UNIMPLEMENTED;
}
SCSI_PHYSICAL_ADDRESS STDCALL
ScsiPortGetPhysicalAddress(IN PVOID HwDeviceExtension,
IN PSCSI_REQUEST_BLOCK Srb OPTIONAL,
IN PVOID VirtualAddress,
OUT ULONG *Length)
{
UNIMPLEMENTED;
}
PSCSI_REQUEST_BLOCK STDCALL
ScsiPortGetSrb(IN PVOID DeviceExtension,
IN UCHAR PathId,
IN UCHAR TargetId,
IN UCHAR Lun,
IN LONG QueueTag)
{
UNIMPLEMENTED;
}
PVOID STDCALL
ScsiPortGetUncachedExtension(IN PVOID HwDeviceExtension,
IN PPORT_CONFIGURATION_INFORMATION ConfigInfo,
IN ULONG NumberOfBytes)
{
UNIMPLEMENTED;
}
PVOID STDCALL
ScsiPortGetVirtualAddress(IN PVOID HwDeviceExtension,
IN SCSI_PHYSICAL_ADDRESS PhysicalAddress)
{
UNIMPLEMENTED;
}
ULONG STDCALL
ScsiPortInitialize(IN PVOID Argument1,
IN PVOID Argument2,
IN struct _HW_INITIALIZATION_DATA *HwInitializationData,
IN PVOID HwContext)
{
UNIMPLEMENTED;
return(STATUS_SUCCESS);
}
VOID STDCALL
ScsiPortIoMapTransfer(IN PVOID HwDeviceExtension,
IN PSCSI_REQUEST_BLOCK Srb,
IN ULONG LogicalAddress,
IN ULONG Length)
{
UNIMPLEMENTED;
}
VOID STDCALL
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)
{
UNIMPLEMENTED;
}
VOID STDCALL
ScsiPortMoveMemory(OUT PVOID Destination,
IN PVOID Source,
IN ULONG Length)
{
RtlMoveMemory(Destination,
Source,
Length);
}
VOID
ScsiPortNotification(IN SCSI_NOTIFICATION_TYPE NotificationType,
IN PVOID HwDeviceExtension,
...)
{
UNIMPLEMENTED;
}
ULONG STDCALL
ScsiPortSetBusDataByOffset(IN PVOID DeviceExtension,
IN ULONG BusDataType,
IN ULONG SystemIoBusNumber,
IN ULONG SlotNumber,
IN PVOID Buffer,
IN ULONG Offset,
IN ULONG Length)
{
return(HalSetBusDataByOffset(BusDataType,
SystemIoBusNumber,
SlotNumber,
Buffer,
Offset,
Length));
}
BOOLEAN STDCALL
ScsiPortValidateRange(IN PVOID HwDeviceExtension,
IN INTERFACE_TYPE BusType,
IN ULONG SystemIoBusNumber,
IN SCSI_PHYSICAL_ADDRESS IoAddress,
IN ULONG NumberOfBytes,
IN BOOLEAN InIoSpace)
{
return(TRUE);
}
/* EOF */

View file

@ -0,0 +1,51 @@
; $Id: scsiport.def,v 1.1 2001/07/21 07:30:26 ekohl Exp $
;
; scsiport.def - export definition file for scsiport driver
;
EXPORTS
ScsiDebugPrint
ScsiPortCompleteRequest@20
ScsiPortConvertPhysicalAddressToUlong@8
ScsiPortConvertUlongToPhysicalAddress@4
ScsiPortFlushDma@4
ScsiPortFreeDeviceBase@8
ScsiPortGetBusData@24
ScsiPortGetDeviceBase@28
ScsiPortGetLogicalUnit@16
ScsiPortGetPhysicalAddress@16
ScsiPortGetSrb@20
ScsiPortGetUncachedExtension@12
ScsiPortGetVirtualAddress@12
ScsiPortInitialize@16
ScsiPortIoMapTransfer@16
ScsiPortLogError@28
ScsiPortMoveMemory@12
ScsiPortNotification
ScsiPortReadPortBufferUchar@12
ScsiPortReadPortBufferUshort@12
ScsiPortReadPortBufferUlong@12
ScsiPortReadPortUchar@4
ScsiPortReadPortUshort@4
ScsiPortReadPortUlong@4
ScsiPortReadRegisterBufferUchar@12
ScsiPortReadRegisterBufferUshort@12
ScsiPortReadRegisterBufferUlong@12
ScsiPortReadRegisterUchar@4
ScsiPortReadRegisterUshort@4
ScsiPortReadRegisterUlong@4
ScsiPortSetBusDataByOffset@28
ScsiPortStallExecution@4
ScsiPortValidateRange@28
ScsiPortWritePortBufferUchar@12
ScsiPortWritePortBufferUshort@12
ScsiPortWritePortBufferUlong@12
ScsiPortWritePortUchar@8
ScsiPortWritePortUshort@8
ScsiPortWritePortUlong@8
ScsiPortWriteRegisterBufferUchar@12
ScsiPortWriteRegisterBufferUshort@12
ScsiPortWriteRegisterBufferUlong@12
ScsiPortWriteRegisterUchar@8
ScsiPortWriteRegisterUshort@8
ScsiPortWriteRegisterUlong@8
;EOF

View file

@ -0,0 +1,64 @@
; $Id: scsiport.edf,v 1.1 2001/07/21 07:30:26 ekohl Exp $
;
; scsiport.def - export definition file for scsiport driver
;
EXPORTS
ScsiDebugPrint
ScsiPortCompleteRequest=ScsiPortCompleteRequest@20
ScsiPortConvertPhysicalAddressToUlong=ScsiPortConvertPhysicalAddressToUlong@8
ScsiPortConvertUlongToPhysicalAddress=NTOSKRNL.RtlConvertUlongToLargeInteger
ScsiPortFlushDma=ScsiPortFlushDma@4
ScsiPortFreeDeviceBase=ScsiPortFreeDeviceBase@8
ScsiPortGetBusData=ScsiPortGetBusData@24
ScsiPortGetDeviceBase=ScsiPortGetDeviceBase@28
ScsiPortGetLogicalUnit=ScsiPortGetLogicalUnit@16
ScsiPortGetPhysicalAddress=ScsiPortGetPhysicalAddress@16
ScsiPortGetSrb=ScsiPortGetSrb@20
ScsiPortGetUncachedExtension=ScsiPortGetUncachedExtension@12
ScsiPortGetVirtualAddress=ScsiPortGetVirtualAddress@12
ScsiPortInitialize=ScsiPortInitialize@16
ScsiPortIoMapTransfer=ScsiPortIoMapTransfer@16
ScsiPortLogError=ScsiPortLogError@28
ScsiPortMoveMemory=ScsiPortMoveMemory@12
ScsiPortNotification
;ScsiPortReadPortBufferUchar=HAL.READ_PORT_BUFFER_UCHAR
ScsiPortReadPortBufferUchar=NTOSKRNL.READ_PORT_BUFFER_UCHAR
;ScsiPortReadPortBufferUshort=HAL.READ_PORT_BUFFER_USHORT
ScsiPortReadPortBufferUshort=NTOSKRNL.READ_PORT_BUFFER_USHORT
;ScsiPortReadPortBufferUlong=HAL.READ_PORT_BUFFER_ULONG
ScsiPortReadPortBufferUlong=NTOSKRNL.READ_PORT_BUFFER_ULONG
;ScsiPortReadPortUchar=NTOSKRNL.READ_PORT_UCHAR
ScsiPortReadPortUchar=NTOSKRNL.READ_PORT_UCHAR
;ScsiPortReadPortUshort=HAL.READ_PORT_USHORT
ScsiPortReadPortUshort=NTOSKRNL.READ_PORT_USHORT
;ScsiPortReadPortUlong=HAL.READ_PORT_ULONG
ScsiPortReadPortUlong=NTOSKRNL.READ_PORT_ULONG
ScsiPortReadRegisterBufferUchar=NTOSKRNL.READ_REGISTER_BUFFER_UCHAR
ScsiPortReadRegisterBufferUshort=NTOSKRNL.READ_REGISTER_BUFFER_USHORT
ScsiPortReadRegisterBufferUlong=NTOSKRNL.READ_REGISTER_BUFFER_ULONG
ScsiPortReadRegisterUchar=NTOSKRNL.READ_REGISTER_UCHAR
ScsiPortReadRegisterUshort=NTOSKRNL.READ_REGISTER_USHORT
ScsiPortReadRegisterUlong=NTOSKRNL.READ_REGISTER_ULONG
ScsiPortSetDataBusByOffset=ScsiPortSetBusDataByOffset@28
;ScsiPortStallExecution=HAL.KeStallExecutionProcessor
ScsiPortStallExecution=NTOSKRNL.KeStallExecutionProcessor
ScsiPortValidateRange=ScsiPortValidateRange@28
;ScsiPortWritePortUchar=HAL.WRITE_PORT_UCHAR
ScsiPortWritePortUchar=NTOSKRNL.WRITE_PORT_UCHAR
;ScsiPortWritePortUshort=HA.WRITE_PORT_USHORT
ScsiPortWritePortUshort=NTOSKRNL.WRITE_PORT_USHORT
;ScsiPortWritePortUlong=HAL.WRITE_PORT_ULONG
ScsiPortWritePortUlong=NTOSKRNL.WRITE_PORT_ULONG
;ScsiPortWritePortBufferUchar=HAL.WRITE_PORT_BUFFER_UCHAR
ScsiPortWritePortBufferUchar=NTOSKRNL.WRITE_PORT_BUFFER_UCHAR
;ScsiPortWritePortBufferUshort=HAL.WRITE_PORT_BUFFER_USHORT
ScsiPortWritePortBufferUshort=NTOSKRNL.WRITE_PORT_BUFFER_USHORT
;ScsiPortWritePortBufferUlong=HAL.WRITE_PORT_BUFFER_ULONG
ScsiPortWritePortBufferUlong=NTOSKRNL.WRITE_PORT_BUFFER_ULONG
ScsiPortWriteRegisterBufferUchar=NTOSKRNL.WRITE_REGISTER_BUFFER_UCHAR
ScsiPortWriteRegisterBufferUshort=NTOSKRNL.WRITE_REGISTER_BUFFER_USHORT
ScsiPortWriteRegisterBufferUlong=NTOSKRNL.WRITE_REGISTER_BUFFER_ULONG
ScsiPortWriteRegisterUchar=NTOSKRNL.WRITE_REGISTER_UCHAR
ScsiPortWriteRegisterUshort=NTOSKRNL.WRITE_REGISTER_USHORT
ScsiPortWriteRegisterUlong=NTOSKRNL.WRITE_REGISTER_ULONG
;EOF

View file

@ -0,0 +1,38 @@
#include <defines.h>
#include <reactos/resource.h>
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
VS_VERSION_INFO VERSIONINFO
FILEVERSION RES_UINT_FV_MAJOR,RES_UINT_FV_MINOR,RES_UINT_FV_REVISION,RES_UINT_FV_BUILD
PRODUCTVERSION RES_UINT_PV_MAJOR,RES_UINT_PV_MINOR,RES_UINT_PV_REVISION,RES_UINT_PV_BUILD
FILEFLAGSMASK 0x3fL
#ifdef _DEBUG
FILEFLAGS 0x1L
#else
FILEFLAGS 0x0L
#endif
FILEOS 0x40004L
FILETYPE 0x2L
FILESUBTYPE 0x0L
BEGIN
BLOCK "StringFileInfo"
BEGIN
BLOCK "040904b0"
BEGIN
VALUE "CompanyName", RES_STR_COMPANY_NAME
VALUE "FileDescription", "SCSI Port Driver\0"
VALUE "FileVersion", "0.0.0\0"
VALUE "InternalName", "scsiport\0"
VALUE "LegalCopyright", RES_STR_LEGAL_COPYRIGHT
VALUE "OriginalFilename", "scsiport.sys\0"
VALUE "ProductName", RES_STR_PRODUCT_NAME
VALUE "ProductVersion", RES_STR_PRODUCT_VERSION
END
END
BLOCK "VarFileInfo"
BEGIN
VALUE "Translation", 0x409, 1200
END
END