Added support for IRP_MJ_SCSI

svn path=/trunk/; revision=2559
This commit is contained in:
Eric Kohl 2002-01-26 17:59:25 +00:00
parent 35fb40b8b7
commit 26c5adcb95

View file

@ -1,4 +1,4 @@
/* $Id: iotypes.h,v 1.32 2002/01/21 22:28:45 hbirr Exp $ /* $Id: iotypes.h,v 1.33 2002/01/26 17:59:25 ekohl Exp $
* *
*/ */
@ -30,6 +30,7 @@ struct _FILE_OBJECT;
struct _DEVICE_OBJECT; struct _DEVICE_OBJECT;
struct _IRP; struct _IRP;
struct _IO_STATUS_BLOCK; struct _IO_STATUS_BLOCK;
struct _SCSI_REQUEST_BLOCK;
/* SIMPLE TYPES *************************************************************/ /* SIMPLE TYPES *************************************************************/
@ -344,12 +345,14 @@ typedef struct __attribute__((packed)) _IO_STACK_LOCATION
} QueryDirectory; } QueryDirectory;
// Parameters for IRP_MN_QUERY_DEVICE_RELATIONS // Parameters for IRP_MN_QUERY_DEVICE_RELATIONS
struct { struct
{
DEVICE_RELATION_TYPE Type; DEVICE_RELATION_TYPE Type;
} QueryDeviceRelations; } QueryDeviceRelations;
// Parameters for IRP_MN_QUERY_INTERFACE // Parameters for IRP_MN_QUERY_INTERFACE
struct { struct
{
CONST GUID *InterfaceType; CONST GUID *InterfaceType;
USHORT Size; USHORT Size;
USHORT Version; USHORT Version;
@ -358,40 +361,47 @@ typedef struct __attribute__((packed)) _IO_STACK_LOCATION
} QueryInterface; } QueryInterface;
// Parameters for IRP_MN_QUERY_CAPABILITIES // Parameters for IRP_MN_QUERY_CAPABILITIES
struct { struct
{
PDEVICE_CAPABILITIES Capabilities; PDEVICE_CAPABILITIES Capabilities;
} DeviceCapabilities; } DeviceCapabilities;
// Parameters for IRP_MN_QUERY_ID // Parameters for IRP_MN_QUERY_ID
struct { struct
{
BUS_QUERY_ID_TYPE IdType; BUS_QUERY_ID_TYPE IdType;
} QueryId; } QueryId;
// Parameters for IRP_MN_QUERY_DEVICE_TEXT // Parameters for IRP_MN_QUERY_DEVICE_TEXT
struct { struct
{
DEVICE_TEXT_TYPE DeviceTextType; DEVICE_TEXT_TYPE DeviceTextType;
LCID LocaleId; LCID LocaleId;
} QueryDeviceText; } QueryDeviceText;
// Parameters for IRP_MN_DEVICE_USAGE_NOTIFICATION // Parameters for IRP_MN_DEVICE_USAGE_NOTIFICATION
struct { struct
{
BOOLEAN InPath; BOOLEAN InPath;
BOOLEAN Reserved[3]; BOOLEAN Reserved[3];
DEVICE_USAGE_NOTIFICATION_TYPE Type; DEVICE_USAGE_NOTIFICATION_TYPE Type;
} UsageNotification; } UsageNotification;
// Parameters for IRP_MN_WAIT_WAKE // Parameters for IRP_MN_WAIT_WAKE
struct { struct
{
SYSTEM_POWER_STATE PowerState; SYSTEM_POWER_STATE PowerState;
} WaitWake; } WaitWake;
// Parameter for IRP_MN_POWER_SEQUENCE // Parameter for IRP_MN_POWER_SEQUENCE
struct { struct
{
PPOWER_SEQUENCE PowerSequence; PPOWER_SEQUENCE PowerSequence;
} PowerSequence; } PowerSequence;
// Parameters for IRP_MN_SET_POWER and IRP_MN_QUERY_POWER // Parameters for IRP_MN_SET_POWER and IRP_MN_QUERY_POWER
struct { struct
{
ULONG SystemContext; ULONG SystemContext;
POWER_STATE_TYPE Type; POWER_STATE_TYPE Type;
POWER_STATE State; POWER_STATE State;
@ -399,11 +409,18 @@ typedef struct __attribute__((packed)) _IO_STACK_LOCATION
} Power; } Power;
// Parameters for IRP_MN_START_DEVICE // Parameters for IRP_MN_START_DEVICE
struct { struct
{
PCM_RESOURCE_LIST AllocatedResources; PCM_RESOURCE_LIST AllocatedResources;
PCM_RESOURCE_LIST AllocatedResourcesTranslated; PCM_RESOURCE_LIST AllocatedResourcesTranslated;
} StartDevice; } StartDevice;
// Parameters for IRP_MN_SCSI_CLASS
struct
{
struct _SCSI_REQUEST_BLOCK *Srb;
} Scsi;
} Parameters; } Parameters;
struct _DEVICE_OBJECT* DeviceObject; struct _DEVICE_OBJECT* DeviceObject;
@ -414,6 +431,7 @@ typedef struct __attribute__((packed)) _IO_STACK_LOCATION
} __attribute__((packed)) IO_STACK_LOCATION, *PIO_STACK_LOCATION; } __attribute__((packed)) IO_STACK_LOCATION, *PIO_STACK_LOCATION;
typedef struct _IO_STATUS_BLOCK typedef struct _IO_STATUS_BLOCK
{ {
NTSTATUS Status; NTSTATUS Status;