Moved SCSI headers because they are used by usetup.

svn path=/trunk/; revision=3521
This commit is contained in:
Eric Kohl 2002-09-19 16:18:50 +00:00
parent af353b6572
commit f38f607dc4
9 changed files with 179 additions and 28 deletions

View file

@ -16,7 +16,7 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
/* $Id: atapi.c,v 1.28 2002/09/04 21:33:26 ekohl Exp $
/* $Id: atapi.c,v 1.29 2002/09/19 16:17:35 ekohl Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS ATAPI miniport driver
@ -46,10 +46,9 @@
// -------------------------------------------------------------------------
#include <ddk/ntddk.h>
#include "../include/srb.h"
#include "../include/scsi.h"
#include "../include/ntddscsi.h"
#include <ddk/srb.h>
#include <ddk/scsi.h>
#include <ddk/ntddscsi.h>
#include "atapi.h"

View file

@ -16,7 +16,7 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
/* $Id: cdrom.c,v 1.16 2002/09/17 20:35:21 hbirr Exp $
/* $Id: cdrom.c,v 1.17 2002/09/19 16:17:48 ekohl Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
@ -34,10 +34,9 @@
/* INCLUDES *****************************************************************/
#include <ddk/ntddk.h>
#include "../include/scsi.h"
#include "../include/class2.h"
#include "../include/ntddscsi.h"
#include <ddk/scsi.h>
#include <ddk/class2.h>
#include <ddk/ntddscsi.h>
#define NDEBUG
#include <debug.h>

View file

@ -16,7 +16,7 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
/* $Id: class2.c,v 1.24 2002/09/08 10:22:22 chorns Exp $
/* $Id: class2.c,v 1.25 2002/09/19 16:18:00 ekohl Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
@ -33,8 +33,8 @@
/* INCLUDES *****************************************************************/
#include <ddk/ntddk.h>
#include "../include/scsi.h"
#include "../include/class2.h"
#include <ddk/scsi.h>
#include <ddk/class2.h>
#define NDEBUG
#include <debug.h>

View file

@ -16,7 +16,7 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
/* $Id: disk.c,v 1.18 2002/09/08 10:22:22 chorns Exp $
/* $Id: disk.c,v 1.19 2002/09/19 16:18:14 ekohl Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
@ -28,10 +28,9 @@
/* INCLUDES *****************************************************************/
#include <ddk/ntddk.h>
#include "../include/scsi.h"
#include "../include/class2.h"
#include "../include/ntddscsi.h"
#include <ddk/scsi.h>
#include <ddk/class2.h>
#include <ddk/ntddscsi.h>
#define NDEBUG
#include <debug.h>
@ -840,6 +839,45 @@ DiskClassDeviceControl(IN PDEVICE_OBJECT DeviceObject,
break;
case IOCTL_DISK_SET_DRIVE_LAYOUT:
if (IrpStack->Parameters.DeviceIoControl.InputBufferLength <
sizeof(DRIVE_LAYOUT_INFORMATION))
{
Status = STATUS_INFO_LENGTH_MISMATCH;
}
else if (DeviceExtension->PhysicalDevice->DeviceExtension != DeviceExtension)
{
Status = STATUS_INVALID_PARAMETER;
}
else
{
PDRIVE_LAYOUT_INFORMATION PartitionList;
ULONG TableSize;
PartitionList = Irp->AssociatedIrp.SystemBuffer;
TableSize = sizeof(DRIVE_LAYOUT_INFORMATION) +
((PartitionList->PartitionCount - 1) * sizeof(PARTITION_INFORMATION));
if (IrpStack->Parameters.DeviceIoControl.InputBufferLength < TableSize)
{
Status = STATUS_BUFFER_TOO_SMALL;
}
else
{
Status = IoWritePartitionTable(DeviceExtension->DeviceObject,
DeviceExtension->DiskGeometry->BytesPerSector,
DeviceExtension->DiskGeometry->SectorsPerTrack,
DeviceExtension->DiskGeometry->TracksPerCylinder,
PartitionList);
if (NT_SUCCESS(Status))
{
/* FIXME: Update partition device objects */
Information = TableSize;
}
}
}
break;
case IOCTL_DISK_VERIFY:
case IOCTL_DISK_FORMAT_TRACKS:
case IOCTL_DISK_PERFORMANCE:
@ -851,7 +889,7 @@ DiskClassDeviceControl(IN PDEVICE_OBJECT DeviceObject,
case IOCTL_DISK_HISTOGRAM_RESET:
case IOCTL_DISK_REQUEST_STRUCTURE:
case IOCTL_DISK_REQUEST_DATA:
/* If we get here, something went wrong. inform the requestor */
/* If we get here, something went wrong. Inform the requestor */
DPRINT1("Unhandled control code: %lx\n", ControlCode);
Status = STATUS_INVALID_DEVICE_REQUEST;
Information = 0;

View file

@ -16,7 +16,7 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
/* $Id: scsiport.c,v 1.20 2002/09/08 10:22:23 chorns Exp $
/* $Id: scsiport.c,v 1.21 2002/09/19 16:18:50 ekohl Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
@ -28,9 +28,9 @@
/* INCLUDES *****************************************************************/
#include <ddk/ntddk.h>
#include "../include/srb.h"
#include "../include/scsi.h"
#include "../include/ntddscsi.h"
#include <ddk/srb.h>
#include <ddk/scsi.h>
#include <ddk/ntddscsi.h>
#define NDEBUG
#include <debug.h>
@ -64,6 +64,7 @@ typedef struct _SCSI_PORT_DEVICE_EXTENSION
ULONG Length;
ULONG MiniPortExtensionSize;
PORT_CONFIGURATION_INFORMATION PortConfig;
ULONG PortNumber;
KSPIN_LOCK SpinLock;
PKINTERRUPT Interrupt;
@ -1116,7 +1117,7 @@ ScsiPortCreatePortDevice(IN PDRIVER_OBJECT DriverObject,
AccessRangeSize);
PortDeviceExtension->DeviceObject = PortDeviceObject;
PortDeviceExtension->PortNumber = PortNumber;
/* Initialize the spin lock in the controller extension */
KeInitializeSpinLock(&PortDeviceExtension->SpinLock);
@ -1476,4 +1477,118 @@ ScsiPortFreeSenseRequestSrb(PSCSI_PORT_DEVICE_EXTENSION DeviceExtension)
}
#if 0
static NTSTATUS
ScsiPortBuildDeviceMap(PSCSI_PORT_DEVICE_EXTENSION DeviceExtension)
{
OBJECT_ATTRIBUTES ObjectAttributes;
UNICODE_STRING KeyName;
WCHAR NameBuffer[32];
ULONG Disposition;
HANDLE ScsiKey;
HANDLE ScsiPortKey;
HANDLE ScsiBusKey;
HANDLE ScsiTargetKey;
HANDLE ScsiUnitKey;
ULONG BusNumber;
NTSTATUS Status;
/* Open or create the 'Scsi' subkey */
RtlInitUnicodeStringFromLiteral(&KeyName,
L"\\Registry\\Machine\\Hardware\\DeviceMap\\Scsi");
InitializeObjectAttributes(&ObjectAttributes,
&KeyName,
OBJ_OPENIF,
0,
NULL);
Status = NtCreateKey(&ScsiKey,
KEY_ALL_ACCESS,
&ObjectAttributes,
0,
NULL,
REG_OPTION_VOLATILE,
&Disposition);
if (!NT_SUCCESS(Status))
return(Status);
/* Create new 'Scsi Port X' subkey */
swprintf(NameBuffer,
L"Scsi Port %lu",
DeviceExtension->PortNumber);
RtlInitUnicodeString(&KeyName,
NameBuffer);
InitializeObjectAttributes(&ObjectAttributes,
&KeyName,
0,
ScsiKey,
NULL);
Status = NtCreateKey(&ScsiPortKey,
KEY_ALL_ACCESS,
&ObjectAttributes,
0,
NULL,
REG_OPTION_VOLATILE,
&Disposition);
if (!NT_SUCCESS(Status))
{
NtClose(ScsiKey);
return(Status);
}
/* Add port-specific values */
/* 'DMA Enabled' (REG_DWORD) */
DPRINT1("DMA Enabled = %s\n",
(DeviceExtension->PortCapabilities->AdapterUsesPio)?"TRUE":"FALSE");
/* 'Driver' (REG_SZ) */
/* 'Interrupt' (REG_DWORD) (NT4 only) */
DPRINT1("Interrupt = %lx\n", DeviceExtension->PortConfig.BusInterruptLevel);
/* 'IOAddress' (REG_DWORD) (NT4 only) */
DPRINT1("IOAddress = %lx\n",
ScsiPortConvertPhysicalAddressToUlong(DeviceExtension->PortConfig.AccessRanges[0].RangeStart));
/* Create 'Scsi Bus X' keys */
for (BusNumber = 0; BusNumber < DeviceExtension->PortConfig.NumberOfBuses; BusNumber++)
{
swprintf(NameBuffer,
L"Scsi Bus %lu",
DeviceExtension->PortNumber);
RtlInitUnicodeString(&KeyName,
NameBuffer);
InitializeObjectAttributes(&ObjectAttributes,
&KeyName,
0,
ScsiPortKey,
NULL);
Status = NtCreateKey(&ScsiBusKey,
KEY_ALL_ACCESS,
&ObjectAttributes,
0,
NULL,
REG_OPTION_VOLATILE,
&Disposition);
if (!NT_SUCCESS(Status))
{
NtClose(ScsiPortKey);
NtClose(ScsiKey);
return(Status);
}
/* Create target keys */
NtClose(ScsiBusKey);
}
NtClose(ScsiPortKey);
NtClose(ScsiKey);
return(Status);
}
#endif
/* EOF */

View file

@ -1,4 +1,4 @@
/* $Id: class2.h,v 1.6 2002/09/08 10:22:23 chorns Exp $
/* $Id: class2.h,v 1.1 2002/09/19 16:17:13 ekohl Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel

View file

@ -1,4 +1,4 @@
/* $Id: ntddscsi.h,v 1.5 2002/09/08 10:22:23 chorns Exp $
/* $Id: ntddscsi.h,v 1.1 2002/09/19 16:17:13 ekohl Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel

View file

@ -1,4 +1,4 @@
/* $Id: scsi.h,v 1.6 2002/09/08 10:22:23 chorns Exp $
/* $Id: scsi.h,v 1.1 2002/09/19 16:17:13 ekohl Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel

View file

@ -1,4 +1,4 @@
/* $Id: srb.h,v 1.7 2002/09/08 10:22:23 chorns Exp $
/* $Id: srb.h,v 1.1 2002/09/19 16:17:13 ekohl Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel