Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

81 lines
2.5 KiB

#include "precomp.h"
#include "utils.h"
#ifdef ALLOC_PRAGMA
#pragma alloc_text(PAGE, PortGetDeviceType)
#endif // ALLOC_PRAGMA
//
// Port Driver Data
//
#ifdef ALLOC_PRAGMA
#pragma data_seg("PAGEDATA")
#endif
const SCSI_DEVICE_TYPE PortScsiDeviceTypes [] = {
// Name Generic Name DeviceMap IsStorage
{"Disk", "GenDisk", L"DiskPeripheral", TRUE},
{"Sequential", "", L"TapePeripheral", TRUE},
{"Printer", "GenPrinter", L"PrinterPeripheral", FALSE},
{"Processor", "", L"OtherPeripheral", FALSE},
{"Worm", "GenWorm", L"WormPeripheral", TRUE},
{"CdRom", "GenCdRom", L"CdRomPeripheral", TRUE},
{"Scanner", "GenScanner", L"ScannerPeripheral", FALSE},
{"Optical", "GenOptical", L"OpticalDiskPeripheral", TRUE},
{"Changer", "ScsiChanger", L"MediumChangerPeripheral", TRUE},
{"Net", "ScsiNet", L"CommunicationsPeripheral", FALSE},
{"ASCIT8", "ScsiASCIT8", L"ASCPrePressGraphicsPeripheral", FALSE},
{"ASCIT8", "ScsiASCIT8", L"ASCPrePressGraphicsPeripheral", FALSE},
{"Array", "ScsiArray", L"ArrayPeripheral", FALSE},
{"Enclosure", "ScsiEnclosure", L"EnclosurePeripheral", FALSE},
{"RBC", "ScsiRBC", L"RBCPeripheral", TRUE},
{"CardReader", "ScsiCardReader", L"CardReaderPeripheral", FALSE},
{"Bridge", "ScsiBridge", L"BridgePeripheral", FALSE},
{"Other", "ScsiOther", L"OtherPeripheral", FALSE}
};
#ifdef ALLOC_PRAGMA
#pragma data_seg()
#endif
//
// Functions
//
PCSCSI_DEVICE_TYPE
PortGetDeviceType(
IN ULONG DeviceType
)
/*++
Routine Description:
Get the SCSI_DEVICE_TYPE record for the specified device.
Arguments:
DeviceType - SCSI device type from the DeviceType field of the SCSI
inquiry data.
Return Value:
Pointer to a SCSI device type record. This record must not be modified.
--*/
{
PAGED_CODE();
if (DeviceType >= ARRAY_COUNT (PortScsiDeviceTypes)) {
DeviceType = ARRAY_COUNT (PortScsiDeviceTypes) - 1;
}
return &PortScsiDeviceTypes[DeviceType];
}