Get rid of ROS DDK SCSI headers.
Modified: trunk/reactos/drivers/storage/atapi/atapi.c
Modified: trunk/reactos/drivers/storage/scsiport/scsiport.c
Modified: trunk/reactos/drivers/storage/scsiport/scsiport.xml
Deleted: trunk/reactos/include/ddk/scsi.h
Deleted: trunk/reactos/include/ddk/srb.h

Modified: trunk/reactos/drivers/storage/atapi/atapi.c
--- trunk/reactos/drivers/storage/atapi/atapi.c	2005-06-18 20:29:31 UTC (rev 16059)
+++ trunk/reactos/drivers/storage/atapi/atapi.c	2005-06-18 20:55:09 UTC (rev 16060)
@@ -449,9 +449,9 @@
    }
    DevExt->Handler = NULL;
    DevExt->CommandPortBase = (ULONG)IoBase;
-   ConfigInfo->AccessRanges[0].RangeStart = IoAddress;
-   ConfigInfo->AccessRanges[0].RangeLength = 8;
-   ConfigInfo->AccessRanges[0].RangeInMemory = FALSE;
+   (*ConfigInfo->AccessRanges)[0].RangeStart = IoAddress;
+   (*ConfigInfo->AccessRanges)[0].RangeLength = 8;
+   (*ConfigInfo->AccessRanges)[0].RangeInMemory = FALSE;
 
    if (ControlPortBase)
    {
@@ -469,9 +469,9 @@
          return FALSE;
       }
       DevExt->ControlPortBase = (ULONG)IoBase;
-      ConfigInfo->AccessRanges[1].RangeStart = IoAddress;
-      ConfigInfo->AccessRanges[1].RangeLength = 1;
-      ConfigInfo->AccessRanges[1].RangeInMemory = FALSE;
+      (*ConfigInfo->AccessRanges)[1].RangeStart = IoAddress;
+      (*ConfigInfo->AccessRanges)[1].RangeLength = 1;
+      (*ConfigInfo->AccessRanges)[1].RangeInMemory = FALSE;
    }
    if (BusMasterPortBase)
    {
@@ -489,9 +489,9 @@
          return FALSE;
       }
       DevExt->BusMasterRegisterBase = (ULONG)IoBase;
-      ConfigInfo->AccessRanges[2].RangeStart = IoAddress;
-      ConfigInfo->AccessRanges[2].RangeLength = 8;
-      ConfigInfo->AccessRanges[2].RangeInMemory = FALSE;
+      (*ConfigInfo->AccessRanges)[2].RangeStart = IoAddress;
+      (*ConfigInfo->AccessRanges)[2].RangeLength = 8;
+      (*ConfigInfo->AccessRanges)[2].RangeInMemory = FALSE;
 #ifdef ENABLE_DMA
 //      ConfigInfo->DmaChannel = SP_UNINITIALIZED_VALUE;
 //      ConfigInfo->DmaPort = SP_UNINITIALIZED_VALUE;
@@ -1094,10 +1094,10 @@
 
   DPRINT("AtapiFindDevices() called\n");
 
-  CommandPortBase = ScsiPortConvertPhysicalAddressToUlong(ConfigInfo->AccessRanges[0].RangeStart);
+  CommandPortBase = ScsiPortConvertPhysicalAddressToUlong((*ConfigInfo->AccessRanges)[0].RangeStart);
   DPRINT("  CommandPortBase: %x\n", CommandPortBase);
 
-  ControlPortBase = ScsiPortConvertPhysicalAddressToUlong(ConfigInfo->AccessRanges[1].RangeStart);
+  ControlPortBase = ScsiPortConvertPhysicalAddressToUlong((*ConfigInfo->AccessRanges)[1].RangeStart);
   DPRINT("  ControlPortBase: %x\n", ControlPortBase);
 
   for (UnitNumber = 0; UnitNumber < 2; UnitNumber++)

Modified: trunk/reactos/drivers/storage/scsiport/scsiport.c
--- trunk/reactos/drivers/storage/scsiport/scsiport.c	2005-06-18 20:29:31 UTC (rev 16059)
+++ trunk/reactos/drivers/storage/scsiport/scsiport.c	2005-06-18 20:55:09 UTC (rev 16060)
@@ -274,6 +274,7 @@
 /*
  * @implemented
  */
+#undef ScsiPortConvertPhysicalAddressToUlong
 ULONG STDCALL
 ScsiPortConvertPhysicalAddressToUlong(IN SCSI_PHYSICAL_ADDRESS Address)
 {
@@ -925,7 +926,7 @@
       PortConfig->DemandMode = FALSE;
       PortConfig->MapBuffers = HwInitializationData->MapBuffers;
       PortConfig->NeedPhysicalAddresses = HwInitializationData->NeedPhysicalAddresses;
-      PortConfig->TaggedQueuing = HwInitializationData->TaggedQueueing;
+      PortConfig->TaggedQueuing = HwInitializationData->TaggedQueuing;
       PortConfig->AutoRequestSense = HwInitializationData->AutoRequestSense;
       PortConfig->MultipleRequestPerLu = HwInitializationData->MultipleRequestPerLu;
       PortConfig->ReceiveEvent = HwInitializationData->ReceiveEvent;
@@ -937,7 +938,7 @@
       PortConfig->SrbExtensionSize = HwInitializationData->SrbExtensionSize;
       PortConfig->SpecificLuExtensionSize = HwInitializationData->SpecificLuExtensionSize;
 
-      PortConfig->AccessRanges = (PACCESS_RANGE)(PortConfig + 1);
+      PortConfig->AccessRanges = (ACCESS_RANGE(*)[])(PortConfig + 1);
 
       /* Search for matching PCI device */
       if ((HwInitializationData->AdapterInterfaceType == PCIBus) &&
@@ -1458,9 +1459,9 @@
 
 		  for (i = 0; i < PortConfig->NumberOfAccessRanges; i++)
 		    {
-		      PortConfig->AccessRanges[i].RangeStart.QuadPart =
+		      (*PortConfig->AccessRanges)[i].RangeStart.QuadPart =
 			PciConfig.u.type0.BaseAddresses[i] & PCI_ADDRESS_IO_ADDRESS_MASK;
-		      if (PortConfig->AccessRanges[i].RangeStart.QuadPart != 0)
+		      if ((*PortConfig->AccessRanges)[i].RangeStart.QuadPart != 0)
 			{
 			  RangeLength = (ULONG)-1;
 			  HalSetBusDataByOffset (PCIConfiguration,
@@ -1485,9 +1486,9 @@
 						 sizeof(ULONG));
 			  if (RangeLength != 0)
 			    {
-			      PortConfig->AccessRanges[i].RangeLength =
+			      (*PortConfig->AccessRanges)[i].RangeLength =
 			        -(RangeLength & PCI_ADDRESS_IO_ADDRESS_MASK);
-			      PortConfig->AccessRanges[i].RangeInMemory =
+			      (*PortConfig->AccessRanges)[i].RangeInMemory =
 				!(PciConfig.u.type0.BaseAddresses[i] & PCI_ADDRESS_IO_SPACE);
 
 			      DPRINT("RangeStart 0x%lX  RangeLength 0x%lX  RangeInMemory %s\n",
@@ -2470,7 +2471,7 @@
     }
 
   /* Set 'IOAddress' (REG_DWORD) value (NT4 only) */
-  UlongData = ScsiPortConvertPhysicalAddressToUlong(DeviceExtension->PortConfig->AccessRanges[0].RangeStart);
+  UlongData = ScsiPortConvertPhysicalAddressToUlong((*DeviceExtension->PortConfig->AccessRanges)[0].RangeStart);
   DPRINT("  IOAddress = %lx\n", UlongData);
   RtlInitUnicodeString(&ValueName,
 		       L"IOAddress");

Modified: trunk/reactos/drivers/storage/scsiport/scsiport.xml
--- trunk/reactos/drivers/storage/scsiport/scsiport.xml	2005-06-18 20:29:31 UTC (rev 16059)
+++ trunk/reactos/drivers/storage/scsiport/scsiport.xml	2005-06-18 20:55:09 UTC (rev 16060)
@@ -1,6 +1,7 @@
 <module name="scsiport" type="kernelmodedriver" installbase="system32/drivers" installname="scsiport.sys">
 	<bootstrap base="reactos" />
 	<define name="__USE_W32API" />
+	<define name="_SCSIPORT_" />
 	<importlibrary definition="scsiport.def" />
 	<include base="scsiport">.</include>
 	<library>ntoskrnl</library>

Deleted: trunk/reactos/include/ddk/scsi.h
--- trunk/reactos/include/ddk/scsi.h	2005-06-18 20:29:31 UTC (rev 16059)
+++ trunk/reactos/include/ddk/scsi.h	2005-06-18 20:55:09 UTC (rev 16060)
@@ -1,1306 +0,0 @@
-/* $Id$
- *
- * COPYRIGHT:       See COPYING in the top level directory
- * PROJECT:         ReactOS kernel
- * FILE:            services/storage/include/scsi.h
- * PURPOSE:         SCSI class driver definitions
- * PROGRAMMER:      Eric Kohl (ekohl@rz-online.de)
- */
-
-#ifndef __STORAGE_INCLUDE_SCSI_H
-#define __STORAGE_INCLUDE_SCSI_H
-
-
-/* Command Descriptor Block */
-
-typedef union _CDB
-{
-  /* Generic 6-Byte CDB */
-  struct _CDB6GENERIC
-    {
-      UCHAR OperationCode;
-      UCHAR Immediate:1;
-      UCHAR CommandUniqueBits:4;
-      UCHAR LogicalUnitNumber:3;
-      UCHAR CommandUniqueBytes[3];
-      UCHAR Link:1;
-      UCHAR Flag:1;
-      UCHAR Reserved:4;
-      UCHAR VendorUnique:2;
-    } CDB6GENERIC, *PCDB6GENERIC;
-
-  /* Standard 6-byte CDB */
-  struct _CDB6READWRITE
-    {
-      UCHAR OperationCode;
-      UCHAR LogicalBlockMsb1:5;
-      UCHAR LogicalUnitNumber:3;
-      UCHAR LogicalBlockMsb0;
-      UCHAR LogicalBlockLsb;
-      UCHAR TransferBlocks;
-      UCHAR Control;
-    } CDB6READWRITE, *PCDB6READWRITE;
-
-  /* SCSI Inquiry CDB */
-  struct _CDB6INQUIRY
-    {
-      UCHAR OperationCode;
-      UCHAR Reserved1:5;
-      UCHAR LogicalUnitNumber:3;
-      UCHAR PageCode;
-      UCHAR IReserved;
-      UCHAR AllocationLength;
-      UCHAR Control;
-    } CDB6INQUIRY, *PCDB6INQUIRY;
-
-  /* SCSI Format CDB */
-  struct _CDB6FORMAT
-    {
-      UCHAR OperationCode;
-      UCHAR FormatControl:5;
-      UCHAR LogicalUnitNumber:3;
-      UCHAR FReserved1;
-      UCHAR InterleaveMsb;
-      UCHAR InterleaveLsb;
-      UCHAR FReserved2;
-    } CDB6FORMAT, *PCDB6FORMAT;
-
-  /* Standard 10-byte CDB */
-  struct _CDB10
-    {
-      UCHAR OperationCode;
-      UCHAR RelativeAddress:1;
-      UCHAR Reserved1:2;
-      UCHAR ForceUnitAccess:1;
-      UCHAR DisablePageOut:1;
-      UCHAR LogicalUnitNumber:3;
-      UCHAR LogicalBlockByte0;
-      UCHAR LogicalBlockByte1;
-      UCHAR LogicalBlockByte2;
-      UCHAR LogicalBlockByte3;
-      UCHAR Reserved2;
-      UCHAR TransferBlocksMsb;
-      UCHAR TransferBlocksLsb;
-      UCHAR Control;
-    } CDB10, *PCDB10;
-
-  /* CD Rom Audio CDBs */
-  struct _PAUSE_RESUME
-    {
-      UCHAR OperationCode;
-      UCHAR Reserved1:5;
-      UCHAR LogicalUnitNumber:3;
-      UCHAR Reserved2[6];
-      UCHAR Action;
-      UCHAR Control;
-    } PAUSE_RESUME, *PPAUSE_RESUME;
-
-  /* Read Table of Contents */
-  struct _READ_TOC
-    {
-      UCHAR OperationCode;
-      UCHAR Reserved0:1;
-      UCHAR Msf:1;
-      UCHAR Reserved1:3;
-      UCHAR LogicalUnitNumber:3;
-      UCHAR Reserved2[4];
-      UCHAR StartingTrack;
-      UCHAR AllocationLength[2];
-      UCHAR Control:6;
-      UCHAR Format:2;
-    } READ_TOC, *PREAD_TOC;
-
-  struct _PLAY_AUDIO_MSF
-    {
-      UCHAR OperationCode;
-      UCHAR Reserved1:5;
-      UCHAR LogicalUnitNumber:3;
-      UCHAR Reserved2;
-      UCHAR StartingM;
-      UCHAR StartingS;
-      UCHAR StartingF;
-      UCHAR EndingM;
-      UCHAR EndingS;
-      UCHAR EndingF;
-      UCHAR Control;
-    } PLAY_AUDIO_MSF, *PPLAY_AUDIO_MSF;
-
-  /* Read SubChannel Data */
-  struct _SUBCHANNEL
-    {
-      UCHAR OperationCode;
-      UCHAR Reserved0:1;
-      UCHAR Msf:1;
-      UCHAR Reserved1:3;
-      UCHAR LogicalUnitNumber:3;
-      UCHAR Reserved2:6;
-      UCHAR SubQ:1;
-      UCHAR Reserved3:1;
-      UCHAR Format;
-      UCHAR Reserved4[2];
-      UCHAR TrackNumber;
-      UCHAR AllocationLength[2];
-      UCHAR Control;
-    } SUBCHANNEL, *PSUBCHANNEL;
-
-  /* Read CD. Used by Atapi for raw sector reads. */
-  struct _READ_CD
-    {
-      UCHAR OperationCode;
-      UCHAR Reserved0:2;
-      UCHAR ExpectedSectorType:3;
-      UCHAR Reserved1:3;
-      UCHAR StartingLBA[4];
-      UCHAR TransferBlocks[3];
-      UCHAR Reserved2:1;
-      UCHAR ErrorFlags:2;
-      UCHAR IncludeEDC:1;
-      UCHAR IncludeUserData:1;
-      UCHAR HeaderCode:2;
-      UCHAR IncludeSyncData:1;
-      UCHAR SubChannelSelection:3;
-      UCHAR Reserved3:5;
-      UCHAR Reserved4;
-    } READ_CD, *PREAD_CD;
-
-  /* Plextor Read CD-DA */
-  struct _PLXTR_READ_CDDA
-    {
-      UCHAR OperationCode;
-      UCHAR Reserved0:5;
-      UCHAR LogicalUnitNumber:3;
-      UCHAR LogicalBlockByte0;
-      UCHAR LogicalBlockByte1;
-      UCHAR LogicalBlockByte2;
-      UCHAR LogicalBlockByte3;
-      UCHAR TransferBlockByte0;
-      UCHAR TransferBlockByte1;
-      UCHAR TransferBlockByte2;
-      UCHAR TransferBlockByte3;
-      UCHAR SubCode;
-      UCHAR Control;
-    } PLXTR_READ_CDDA, *PPLXTR_READ_CDDA;
-
-  /* NEC Read CD-DA */
-  struct _NEC_READ_CDDA
-    {
-      UCHAR OperationCode;
-      UCHAR Reserved0;
-      UCHAR LogicalBlockByte0;
-      UCHAR LogicalBlockByte1;
-      UCHAR LogicalBlockByte2;
-      UCHAR LogicalBlockByte3;
-      UCHAR Reserved1;
-      UCHAR TransferBlockByte0;
-      UCHAR TransferBlockByte1;
-      UCHAR Control;
-    } NEC_READ_CDDA, *PNEC_READ_CDDA;
-
-  /* Mode sense */
-  struct _MODE_SENSE
-    {
-      UCHAR OperationCode;
-      UCHAR Reserved1:3;
-      UCHAR Dbd:1;
-      UCHAR Reserved2:1;
-      UCHAR LogicalUnitNumber:3;
-      UCHAR PageCode:6;
-      UCHAR Pc:2;
-      UCHAR Reserved3;
-      UCHAR AllocationLength;
-      UCHAR Control;
-    } MODE_SENSE, *PMODE_SENSE;
-
-  struct _MODE_SENSE10
-    {
-      UCHAR OperationCode;
-      UCHAR Reserved1:3;
-      UCHAR Dbd:1;
-      UCHAR Reserved2:1;
-      UCHAR LogicalUnitNumber:3;
-      UCHAR PageCode:6;
-      UCHAR Pc:2;
-      UCHAR Reserved3[4];
-      UCHAR AllocationLength[2];
-      UCHAR Control;
-    } MODE_SENSE10, *PMODE_SENSE10;
-
-  /* Mode select */
-  struct _MODE_SELECT
-    {
-      UCHAR OperationCode;
-      UCHAR SPBit:1;
-      UCHAR Reserved1:3;
-      UCHAR PFBit:1;
-      UCHAR LogicalUnitNumber:3;
-      UCHAR Reserved2[2];
-      UCHAR ParameterListLength;
-      UCHAR Control;
-    } MODE_SELECT, *PMODE_SELECT;
-
-  struct _MODE_SELECT10
-    {
-      UCHAR OperationCode;
-      UCHAR SPBit:1;
-      UCHAR Reserved1:3;
-      UCHAR PFBit:1;
-      UCHAR LogicalUnitNumber:3;
-      UCHAR Reserved2[5];
-      UCHAR ParameterListLength[2];
-      UCHAR Control;
-    } MODE_SELECT10, *PMODE_SELECT10;
-
-  struct _LOCATE
-    {
-      UCHAR OperationCode;
-      UCHAR Immediate:1;
-      UCHAR CPBit:1;
-      UCHAR BTBit:1;
-      UCHAR Reserved1:2;
-      UCHAR LogicalUnitNumber:3;
-      UCHAR Reserved3;
-      UCHAR LogicalBlockAddress[4];
-      UCHAR Reserved4;
-      UCHAR Partition;
-      UCHAR Control;
-    } LOCATE, *PLOCATE;
-
-  struct _LOGSENSE
-    {
-      UCHAR OperationCode;
-      UCHAR SPBit:1;
-      UCHAR PPCBit:1;
-      UCHAR Reserved1:3;
-      UCHAR LogicalUnitNumber:3;
-      UCHAR PageCode:6;
-      UCHAR PCBit:2;
-      UCHAR Reserved2;
-      UCHAR Reserved3;
-      UCHAR ParameterPointer[2];	/* [0]=MSB, [1]=LSB */
-      UCHAR AllocationLength[2];	/* [0]=MSB, [1]=LSB */
-      UCHAR Control;
-    } LOGSENSE, *PLOGSENSE;
-
-  struct _PRINT
-    {
-      UCHAR OperationCode;
-      UCHAR Reserved:5;
-      UCHAR LogicalUnitNumber:3;
-      UCHAR TransferLength[3];
-      UCHAR Control;
-    } PRINT, *PPRINT;
-
-  struct _SEEK
-    {
-      UCHAR OperationCode;
-      UCHAR Reserved1:5;
-      UCHAR LogicalUnitNumber:3;
-      UCHAR LogicalBlockAddress[4];
-      UCHAR Reserved2[3];
-      UCHAR Control;
-    } SEEK, *PSEEK;
-
-  struct _ERASE
-    {
-      UCHAR OperationCode;
-      UCHAR Long:1;
-      UCHAR Immediate:1;
-      UCHAR Reserved1:3;
-      UCHAR LogicalUnitNumber:3;
-      UCHAR Reserved2[3];
-      UCHAR Control;
-    } ERASE, *PERASE;
-
-  struct _START_STOP
-    {
-      UCHAR OperationCode;
-      UCHAR Immediate:1;
-      UCHAR Reserved1:4;
-      UCHAR LogicalUnitNumber:3;
-      UCHAR Reserved2[2];
-      UCHAR Start:1;
-      UCHAR LoadEject:1;
-      UCHAR Reserved3:6;
-      UCHAR Control;
-    } START_STOP, *PSTART_STOP;
-
-  struct _MEDIA_REMOVAL
-    {
-      UCHAR OperationCode;
-      UCHAR Reserved1:5;
-      UCHAR LogicalUnitNumber:3;
-      UCHAR Reserved2[2];
-      UCHAR Prevent;
-      UCHAR Control;
-    } MEDIA_REMOVAL, *PMEDIA_REMOVAL;
-
-  /* Tape CDBs */
-  struct _SEEK_BLOCK
-    {
-      UCHAR OperationCode;
-      UCHAR Immediate:1;
-      UCHAR Reserved1:7;
-      UCHAR BlockAddress[3];
-      UCHAR Link:1;
-      UCHAR Flag:1;
-      UCHAR Reserved2:4;
-      UCHAR VendorUnique:2;
-    } SEEK_BLOCK, *PSEEK_BLOCK;
-
-  struct _REQUEST_BLOCK_ADDRESS
-    {
-      UCHAR OperationCode;
-      UCHAR Reserved1[3];
-      UCHAR AllocationLength;
-      UCHAR Link:1;
-      UCHAR Flag:1;
-      UCHAR Reserved2:4;
-      UCHAR VendorUnique:2;
-    } REQUEST_BLOCK_ADDRESS, *PREQUEST_BLOCK_ADDRESS;
-
-  struct _PARTITION
-    {
-      UCHAR OperationCode;
-      UCHAR Immediate:1;
-      UCHAR Sel:1;
-      UCHAR PartitionSelect:6;
-      UCHAR Reserved1[3];
-      UCHAR Control;
-    } PARTITION, *PPARTITION;
-
-  struct _WRITE_TAPE_MARKS
-    {
-      UCHAR OperationCode;
-      UCHAR Immediate:1;
-      UCHAR WriteSetMarks:1;
-      UCHAR Reserved:3;
-      UCHAR LogicalUnitNumber:3;
-      UCHAR TransferLength[3];
-      UCHAR Control;
-    } WRITE_TAPE_MARKS, *PWRITE_TAPE_MARKS;
-
-  struct _SPACE_TAPE_MARKS
-    {
-      UCHAR OperationCode;
-      UCHAR Code:3;
-      UCHAR Reserved:2;
-      UCHAR LogicalUnitNumber:3;
-      UCHAR NumMarksMSB ;
-      UCHAR NumMarks;
-      UCHAR NumMarksLSB;
-      union
-	{
-	  UCHAR value;
-	  struct
-	    {
-	      UCHAR Link:1;
-	      UCHAR Flag:1;
-	      UCHAR Reserved:4;
-	      UCHAR VendorUnique:2;
-	    } Fields;
-	} Byte6;
-    } SPACE_TAPE_MARKS, *PSPACE_TAPE_MARKS;
-
-  /* Read tape position */
-  struct _READ_POSITION
-    {
-      UCHAR Operation;
-      UCHAR BlockType:1;
-      UCHAR Reserved1:4;
-      UCHAR Lun:3;
-      UCHAR Reserved2[7];
-      UCHAR Control;
-    } READ_POSITION, *PREAD_POSITION;
-
-  /* ReadWrite for Tape */
-  struct _CDB6READWRITETAPE
-    {
-      UCHAR OperationCode;
-      UCHAR VendorSpecific:5;
-      UCHAR Reserved:3;
-      UCHAR TransferLenMSB;
-      UCHAR TransferLen;
-      UCHAR TransferLenLSB;
-      UCHAR Link:1;
-      UCHAR Flag:1;
-      UCHAR Reserved1:4;
-      UCHAR VendorUnique:2;
-     } CDB6READWRITETAPE, *PCDB6READWRITETAPE;
-
-  /* Atapi 2.5 Changer 12-byte CDBs */
-  struct _LOAD_UNLOAD
-    {
-      UCHAR OperationCode;
-      UCHAR Immediate:1;
-      UCHAR Reserved1:7;
-      UCHAR Reserved2[2];
-      UCHAR Start:1;
-      UCHAR LoadEject:1;
-      UCHAR Reserved3:6;
-      UCHAR Reserved4[3];
-      UCHAR Slot;
-      UCHAR Reserved5[3];
-    } LOAD_UNLOAD, *PLOAD_UNLOAD;
-
-  struct _MECH_STATUS
-    {
-      UCHAR OperationCode;
-      UCHAR Reserved1[7];
-      UCHAR AllocationLength[2];
-      UCHAR Reserved2[2];
-    } MECH_STATUS, *PMECH_STATUS;
-} CDB, *PCDB;
-
-
-/* Command Descriptor Block constants */
-
-#define CDB6GENERIC_LENGTH                   6
-#define CDB10GENERIC_LENGTH                  10
-#define CDB12GENERIC_LENGTH                  12
-
-#define SETBITON                             1
-#define SETBITOFF                            0
-
-
-/* Mode Sense/Select page constants */
-
-#define MODE_PAGE_ERROR_RECOVERY        0x01
-#define MODE_PAGE_DISCONNECT            0x02
-#define MODE_PAGE_FORMAT_DEVICE         0x03
-#define MODE_PAGE_RIGID_GEOMETRY        0x04
-#define MODE_PAGE_FLEXIBILE             0x05
-#define MODE_PAGE_VERIFY_ERROR          0x07
-#define MODE_PAGE_CACHING               0x08
-#define MODE_PAGE_PERIPHERAL            0x09
-#define MODE_PAGE_CONTROL               0x0A
-#define MODE_PAGE_MEDIUM_TYPES          0x0B
-#define MODE_PAGE_NOTCH_PARTITION       0x0C
-#define MODE_SENSE_RETURN_ALL           0x3f
-#define MODE_SENSE_CURRENT_VALUES       0x00
-#define MODE_SENSE_CHANGEABLE_VALUES    0x40
-#define MODE_SENSE_DEFAULT_VAULES       0x80
-#define MODE_SENSE_SAVED_VALUES         0xc0
-#define MODE_PAGE_DEVICE_CONFIG         0x10
-#define MODE_PAGE_MEDIUM_PARTITION      0x11
-#define MODE_PAGE_DATA_COMPRESS         0x0f
-#define MODE_PAGE_CAPABILITIES          0x2A
-
-
-/* SCSI CDB operation codes */
-
-#define SCSIOP_TEST_UNIT_READY     0x00
-#define SCSIOP_REZERO_UNIT         0x01
-#define SCSIOP_REWIND              0x01
-#define SCSIOP_REQUEST_BLOCK_ADDR  0x02
-#define SCSIOP_REQUEST_SENSE       0x03
-#define SCSIOP_FORMAT_UNIT         0x04
-#define SCSIOP_READ_BLOCK_LIMITS   0x05
-#define SCSIOP_REASSIGN_BLOCKS     0x07
-#define SCSIOP_READ6               0x08
-#define SCSIOP_RECEIVE             0x08
-#define SCSIOP_WRITE6              0x0A
-#define SCSIOP_PRINT               0x0A
-#define SCSIOP_SEND                0x0A
-#define SCSIOP_SEEK6               0x0B
-#define SCSIOP_TRACK_SELECT        0x0B
-#define SCSIOP_SLEW_PRINT          0x0B
-#define SCSIOP_SEEK_BLOCK          0x0C
-#define SCSIOP_PARTITION           0x0D
-#define SCSIOP_READ_REVERSE        0x0F
-#define SCSIOP_WRITE_FILEMARKS     0x10
-#define SCSIOP_FLUSH_BUFFER        0x10
-#define SCSIOP_SPACE               0x11
-#define SCSIOP_INQUIRY             0x12
-#define SCSIOP_VERIFY6             0x13
-#define SCSIOP_RECOVER_BUF_DATA    0x14
-#define SCSIOP_MODE_SELECT         0x15
-#define SCSIOP_RESERVE_UNIT        0x16
-#define SCSIOP_RELEASE_UNIT        0x17
-#define SCSIOP_COPY                0x18
-#define SCSIOP_ERASE               0x19
-#define SCSIOP_MODE_SENSE          0x1A
-#define SCSIOP_START_STOP_UNIT     0x1B
-#define SCSIOP_STOP_PRINT          0x1B
-#define SCSIOP_LOAD_UNLOAD         0x1B
-#define SCSIOP_RECEIVE_DIAGNOSTIC  0x1C
-#define SCSIOP_SEND_DIAGNOSTIC     0x1D
-#define SCSIOP_MEDIUM_REMOVAL      0x1E
-#define SCSIOP_READ_CAPACITY       0x25
-#define SCSIOP_READ                0x28
-#define SCSIOP_WRITE               0x2A
-#define SCSIOP_SEEK                0x2B
-#define SCSIOP_LOCATE              0x2B
-#define SCSIOP_WRITE_VERIFY        0x2E
-#define SCSIOP_VERIFY              0x2F
-#define SCSIOP_SEARCH_DATA_HIGH    0x30
-#define SCSIOP_SEARCH_DATA_EQUAL   0x31
-#define SCSIOP_SEARCH_DATA_LOW     0x32
-#define SCSIOP_SET_LIMITS          0x33
-#define SCSIOP_READ_POSITION       0x34
-#define SCSIOP_SYNCHRONIZE_CACHE   0x35
-#define SCSIOP_COMPARE             0x39
-#define SCSIOP_COPY_COMPARE        0x3A
-#define SCSIOP_WRITE_DATA_BUFF     0x3B
-#define SCSIOP_READ_DATA_BUFF      0x3C
-#define SCSIOP_CHANGE_DEFINITION   0x40
-#define SCSIOP_READ_SUB_CHANNEL    0x42
-#define SCSIOP_READ_TOC            0x43
-#define SCSIOP_READ_HEADER         0x44
-#define SCSIOP_PLAY_AUDIO          0x45
-#define SCSIOP_PLAY_AUDIO_MSF      0x47
-#define SCSIOP_PLAY_TRACK_INDEX    0x48
-#define SCSIOP_PLAY_TRACK_RELATIVE 0x49
-#define SCSIOP_PAUSE_RESUME        0x4B
-#define SCSIOP_LOG_SELECT          0x4C
-#define SCSIOP_LOG_SENSE           0x4D
-#define SCSIOP_MODE_SELECT10       0x55
-#define SCSIOP_MODE_SENSE10        0x5A
-#define SCSIOP_LOAD_UNLOAD_SLOT    0xA6
-#define SCSIOP_MECHANISM_STATUS    0xBD
-#define SCSIOP_READ_CD             0xBE
-
-/*
- * If the IMMED bit is 1, status is returned as soon
- * as the operation is initiated. If the IMMED bit
- * is 0, status is not returned until the operation
- * is completed.
- */
-
-#define CDB_RETURN_ON_COMPLETION   0
-#define CDB_RETURN_IMMEDIATE       1
-
-
-/*
- * CDB Force media access used in extended read and write commands.
- */
-
-#define CDB_FORCE_MEDIA_ACCESS 0x08
-
-/*
- * Denon CD ROM operation codes
- */
-
-#define SCSIOP_DENON_EJECT_DISC    0xE6
-#define SCSIOP_DENON_STOP_AUDIO    0xE7
-#define SCSIOP_DENON_PLAY_AUDIO    0xE8
-#define SCSIOP_DENON_READ_TOC      0xE9
-#define SCSIOP_DENON_READ_SUBCODE  0xEB
-
-/*
- * SCSI Bus Messages
- */
-
-#define SCSIMESS_ABORT                0x06
-#define SCSIMESS_ABORT_WITH_TAG       0x0D
-#define SCSIMESS_BUS_DEVICE_RESET     0X0C
-#define SCSIMESS_CLEAR_QUEUE          0X0E
-#define SCSIMESS_COMMAND_COMPLETE     0X00
-#define SCSIMESS_DISCONNECT           0X04
-#define SCSIMESS_EXTENDED_MESSAGE     0X01
-#define SCSIMESS_IDENTIFY             0X80
-#define SCSIMESS_IDENTIFY_WITH_DISCON 0XC0
-#define SCSIMESS_IGNORE_WIDE_RESIDUE  0X23
-#define SCSIMESS_INITIATE_RECOVERY    0X0F
-#define SCSIMESS_INIT_DETECTED_ERROR  0X05
-#define SCSIMESS_LINK_CMD_COMP        0X0A
-#define SCSIMESS_LINK_CMD_COMP_W_FLAG 0X0B
-#define SCSIMESS_MESS_PARITY_ERROR    0X09
-#define SCSIMESS_MESSAGE_REJECT       0X07
-#define SCSIMESS_NO_OPERATION         0X08
-#define SCSIMESS_HEAD_OF_QUEUE_TAG    0X21
-#define SCSIMESS_ORDERED_QUEUE_TAG    0X22
-#define SCSIMESS_SIMPLE_QUEUE_TAG     0X20
-#define SCSIMESS_RELEASE_RECOVERY     0X10
-#define SCSIMESS_RESTORE_POINTERS     0X03
-#define SCSIMESS_SAVE_DATA_POINTER    0X02
-#define SCSIMESS_TERMINATE_IO_PROCESS 0X11
-
-/*
- * SCSI Extended Message operation codes
- */
-
-#define SCSIMESS_MODIFY_DATA_POINTER  0X00
-#define SCSIMESS_SYNCHRONOUS_DATA_REQ 0X01
-#define SCSIMESS_WIDE_DATA_REQUEST    0X03
-
-/*
- * SCSI Extended Message Lengths
- */
-
-#define SCSIMESS_MODIFY_DATA_LENGTH   5
-#define SCSIMESS_SYNCH_DATA_LENGTH    3
-#define SCSIMESS_WIDE_DATA_LENGTH     2
-
-/*
- * SCSI extended message structure
- */
-
-#pragma pack (1)
-typedef struct _SCSI_EXTENDED_MESSAGE
-{
-  UCHAR InitialMessageCode;
-  UCHAR MessageLength;
-  UCHAR MessageType;
-  union _EXTENDED_ARGUMENTS
-    {
-      struct
-	{
-	  UCHAR Modifier[4];
-	} Modify;
-
-      struct
-	{
-	  UCHAR TransferPeriod;
-	  UCHAR ReqAckOffset;
-	} Synchronous;
-
-      struct
-	{
-	  UCHAR Width;
-	} Wide;
-    } ExtendedArguments;
-}SCSI_EXTENDED_MESSAGE, *PSCSI_EXTENDED_MESSAGE;
-#pragma pack ()
-
-
-/* SCSI bus status codes */
-
-#define SCSISTAT_GOOD                  0x00
-#define SCSISTAT_CHECK_CONDITION       0x02
-#define SCSISTAT_CONDITION_MET         0x04
-#define SCSISTAT_BUSY                  0x08
-#define SCSISTAT_INTERMEDIATE          0x10
-#define SCSISTAT_INTERMEDIATE_COND_MET 0x14
-#define SCSISTAT_RESERVATION_CONFLICT  0x18
-#define SCSISTAT_COMMAND_TERMINATED    0x22
-#define SCSISTAT_QUEUE_FULL            0x28
-
-/*
- * Enable Vital Product Data Flag (EVPD)
- * used with INQUIRY command.
- */
-
-#define CDB_INQUIRY_EVPD           0x01
-
-/*
- * Defines for format CDB
- */
-
-#define LUN0_FORMAT_SAVING_DEFECT_LIST 0
-#define USE_DEFAULTMSB  0
-#define USE_DEFAULTLSB  0
-
-#define START_UNIT_CODE 0x01
-#define STOP_UNIT_CODE  0x00
-
-
-
-//
-// Inquiry buffer structure. This is the data returned from the target
-// after it receives an inquiry.
-//
-// This structure may be extended by the number of bytes specified
-// in the field AdditionalLength. The defined size constant only
-// includes fields through ProductRevisionLevel.
-//
-// The NT SCSI drivers are only interested in the first 36 bytes of data.
-//
-
-#define INQUIRYDATABUFFERSIZE 36
-
-
-typedef struct _INQUIRYDATA
-{
-  UCHAR DeviceType:5;
-  UCHAR DeviceTypeQualifier:3;
-  UCHAR DeviceTypeModifier:7;
-  UCHAR RemovableMedia:1;
-  UCHAR Versions;
-  UCHAR ResponseDataFormat;
-  UCHAR AdditionalLength;
-  UCHAR Reserved[2];
-  UCHAR SoftReset:1;
-  UCHAR CommandQueue:1;
-  UCHAR Reserved2:1;
-  UCHAR LinkedCommands:1;
-  UCHAR Synchronous:1;
-  UCHAR Wide16Bit:1;
-  UCHAR Wide32Bit:1;
-  UCHAR RelativeAddressing:1;
-  UCHAR VendorId[8];
-  UCHAR ProductId[16];
-  UCHAR ProductRevisionLevel[4];
-  UCHAR VendorSpecific[20];
-  UCHAR Reserved3[40];
-} INQUIRYDATA, *PINQUIRYDATA;
-
-//
-// Inquiry defines. Used to interpret data returned from target as result
-// of inquiry command.
-//
-// DeviceType field
-//
-
-#define DIRECT_ACCESS_DEVICE            0x00    // disks
-#define SEQUENTIAL_ACCESS_DEVICE        0x01    // tapes
-#define PRINTER_DEVICE                  0x02    // printers
-#define PROCESSOR_DEVICE                0x03    // scanners, printers, etc
-#define WRITE_ONCE_READ_MULTIPLE_DEVICE 0x04    // worms
-#define READ_ONLY_DIRECT_ACCESS_DEVICE  0x05    // cdroms
-#define SCANNER_DEVICE                  0x06    // scanners
-#define OPTICAL_DEVICE                  0x07    // optical disks
-#define MEDIUM_CHANGER                  0x08    // jukebox
-#define COMMUNICATION_DEVICE            0x09    // network
-#define LOGICAL_UNIT_NOT_PRESENT_DEVICE 0x7F
-#define DEVICE_QUALIFIER_NOT_SUPPORTED  0x03
-
-//
-// DeviceTypeQualifier field
-//
-
-#define DEVICE_CONNECTED 0x00
-
-
-/* Sense Data Format */
-
-typedef struct _SENSE_DATA
-{
-  UCHAR ErrorCode:7;
-  UCHAR Valid:1;
-  UCHAR SegmentNumber;
-  UCHAR SenseKey:4;
-  UCHAR Reserved:1;
-  UCHAR IncorrectLength:1;
-  UCHAR EndOfMedia:1;
-  UCHAR FileMark:1;
-  UCHAR Information[4];
-  UCHAR AdditionalSenseLength;
-  UCHAR CommandSpecificInformation[4];
-  UCHAR AdditionalSenseCode;
-  UCHAR AdditionalSenseCodeQualifier;
-  UCHAR FieldReplaceableUnitCode;
-  UCHAR SenseKeySpecific[3];
-} SENSE_DATA, *PSENSE_DATA;
-
-
-/* Default request sense buffer size */
-
-#define SENSE_BUFFER_SIZE 18
-
-/* Sense codes */
-
-#define SCSI_SENSE_NO_SENSE         0x00
-#define SCSI_SENSE_RECOVERED_ERROR  0x01
-#define SCSI_SENSE_NOT_READY        0x02
-#define SCSI_SENSE_MEDIUM_ERROR     0x03
-#define SCSI_SENSE_HARDWARE_ERROR   0x04
-#define SCSI_SENSE_ILLEGAL_REQUEST  0x05
-#define SCSI_SENSE_UNIT_ATTENTION   0x06
-#define SCSI_SENSE_DATA_PROTECT     0x07
-#define SCSI_SENSE_BLANK_CHECK      0x08
-#define SCSI_SENSE_UNIQUE           0x09
-#define SCSI_SENSE_COPY_ABORTED     0x0A
-#define SCSI_SENSE_ABORTED_COMMAND  0x0B
-#define SCSI_SENSE_EQUAL            0x0C
-#define SCSI_SENSE_VOL_OVERFLOW     0x0D
-#define SCSI_SENSE_MISCOMPARE       0x0E
-#define SCSI_SENSE_RESERVED         0x0F
-
-/* Additional tape bit */
-
-#define SCSI_ILLEGAL_LENGTH         0x20
-#define SCSI_EOM                    0x40
-#define SCSI_FILE_MARK              0x80
-
-/* Additional Sense codes */
-
-#define SCSI_ADSENSE_NO_SENSE        0x00
-#define SCSI_ADSENSE_LUN_NOT_READY   0x04
-#define SCSI_ADSENSE_ILLEGAL_COMMAND 0x20
-#define SCSI_ADSENSE_ILLEGAL_BLOCK   0x21
-#define SCSI_ADSENSE_INVALID_LUN     0x25
-#define SCSI_ADSENSE_INVALID_CDB     0x24
-#define SCSI_ADSENSE_MUSIC_AREA      0xA0
-#define SCSI_ADSENSE_DATA_AREA       0xA1
-#define SCSI_ADSENSE_VOLUME_OVERFLOW 0xA7
-
-#define SCSI_ADSENSE_NO_MEDIA_IN_DEVICE 0x3a
-#define SCSI_ADWRITE_PROTECT        0x27
-#define SCSI_ADSENSE_MEDIUM_CHANGED 0x28
-#define SCSI_ADSENSE_BUS_RESET      0x29
-#define SCSI_ADSENSE_TRACK_ERROR    0x14
-#define SCSI_ADSENSE_SEEK_ERROR     0x15
-#define SCSI_ADSENSE_REC_DATA_NOECC 0x17
-#define SCSI_ADSENSE_REC_DATA_ECC   0x18
-
-/* Additional sense code qualifier */
-
-#define SCSI_SENSEQ_FORMAT_IN_PROGRESS 0x04
-#define SCSI_SENSEQ_INIT_COMMAND_REQUIRED 0x02
-#define SCSI_SENSEQ_MANUAL_INTERVENTION_REQUIRED 0x03
-#define SCSI_SENSEQ_BECOMING_READY 0x01
-#define SCSI_SENSEQ_FILEMARK_DETECTED 0x01
-#define SCSI_SENSEQ_SETMARK_DETECTED 0x03
-#define SCSI_SENSEQ_END_OF_MEDIA_DETECTED 0x02
-#define SCSI_SENSEQ_BEGINNING_OF_MEDIA_DETECTED 0x04
-
-/* SCSI IO Device Control Codes */
-
-#define FILE_DEVICE_SCSI 0x0000001b
-
-#define IOCTL_SCSI_EXECUTE_IN   ((FILE_DEVICE_SCSI << 16) + 0x0011)
-#define IOCTL_SCSI_EXECUTE_OUT  ((FILE_DEVICE_SCSI << 16) + 0x0012)
-#define IOCTL_SCSI_EXECUTE_NONE ((FILE_DEVICE_SCSI << 16) + 0x0013)
-
-/* SMART support in atapi */
-
-#define IOCTL_SCSI_MINIPORT_SMART_VERSION           ((FILE_DEVICE_SCSI << 16) + 0x0500)
-#define IOCTL_SCSI_MINIPORT_IDENTIFY                ((FILE_DEVICE_SCSI << 16) + 0x0501)
-#define IOCTL_SCSI_MINIPORT_READ_SMART_ATTRIBS      ((FILE_DEVICE_SCSI << 16) + 0x0502)
-#define IOCTL_SCSI_MINIPORT_READ_SMART_THRESHOLDS   ((FILE_DEVICE_SCSI << 16) + 0x0503)
-#define IOCTL_SCSI_MINIPORT_ENABLE_SMART            ((FILE_DEVICE_SCSI << 16) + 0x0504)
-#define IOCTL_SCSI_MINIPORT_DISABLE_SMART           ((FILE_DEVICE_SCSI << 16) + 0x0505)
-#define IOCTL_SCSI_MINIPORT_RETURN_STATUS           ((FILE_DEVICE_SCSI << 16) + 0x0506)
-#define IOCTL_SCSI_MINIPORT_ENABLE_DISABLE_AUTOSAVE ((FILE_DEVICE_SCSI << 16) + 0x0507)
[truncated at 1000 lines; 1126 more skipped]