X-Git-Url: http://git.jankratochvil.net/?a=blobdiff_plain;f=include%2Fddk%2Fntddscsi.h;h=276a402c82bf48b5351deeca9f13a9e51215d07a;hb=a3df8bf1429570e0bd6c6428f6ed80073578cf4b;hp=7ddfb16cd2f631e99470e7620adf215061a0270b;hpb=7c0db166f81fbe8c8b913d7f26048e337d383605;p=reactos.git diff --git a/include/ddk/ntddscsi.h b/include/ddk/ntddscsi.h index 7ddfb16..276a402 100644 --- a/include/ddk/ntddscsi.h +++ b/include/ddk/ntddscsi.h @@ -10,9 +10,7 @@ #ifndef __STORAGE_INCLUDE_NTDDSCSI_H #define __STORAGE_INCLUDE_NTDDSCSI_H - /* IOCTL codes */ - #define IOCTL_SCSI_PASS_THROUGH \ CTL_CODE(FILE_DEVICE_CONTROLLER, 0x0401, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS) #define IOCTL_SCSI_MINIPORT \ @@ -87,6 +85,58 @@ typedef struct _SCSI_ADDRESS UCHAR Lun; } SCSI_ADDRESS, *PSCSI_ADDRESS; + +/* Used by IOCTL_SCSI_PASS_THROUGH */ + +typedef struct _SCSI_PASS_THROUGH +{ + USHORT Length; + UCHAR ScsiStatus; + UCHAR PathId; + UCHAR TargetId; + UCHAR Lun; + UCHAR CdbLength; + UCHAR SenseInfoLength; + UCHAR DataIn; + ULONG DataTransferLength; + ULONG TimeOutValue; + ULONG DataBufferOffset; + ULONG SenseInfoOffset; + UCHAR Cdb[16]; +} SCSI_PASS_THROUGH, *PSCSI_PASS_THROUGH; + + +/* Used by IOCTL_SCSI_PASS_THROUGH_DIRECT */ + +typedef struct _SCSI_PASS_THROUGH_DIRECT +{ + USHORT Length; + UCHAR ScsiStatus; + UCHAR PathId; + UCHAR TargetId; + UCHAR Lun; + UCHAR CdbLength; + UCHAR SenseInfoLength; + UCHAR DataIn; + ULONG DataTransferLength; + ULONG TimeOutValue; + ULONG DataBufferOffset; + ULONG SenseInfoOffset; + UCHAR Cdb[16]; +} SCSI_PASS_THROUGH_DIRECT, *PSCSI_PASS_THROUGH_DIRECT; + + +/* Pass through DataIn */ + +#define SCSI_IOCTL_DATA_OUT 0 +#define SCSI_IOCTL_DATA_IN 1 +#define SCSI_IOCTL_DATA_UNSPECIFIED 2 + +typedef struct _DUMP_POINTERS +{ + PVOID DeviceObject; +} DUMP_POINTERS, *PDUMP_POINTERS; + #endif /* __STORAGE_INCLUDE_NTDDSCSI_H */ /* EOF */