[DDK]
authorAmine Khaldi <amine.khaldi@reactos.org>
Fri, 9 Jul 2010 14:39:28 +0000 (14:39 +0000)
committerAmine Khaldi <amine.khaldi@reactos.org>
Fri, 9 Jul 2010 14:39:28 +0000 (14:39 +0000)
- Remove ntddscsi.h
[PSDK]
- Import ntddscsi.h from mingw-w64.

svn path=/trunk/; revision=47979

reactos/include/ddk/ntddscsi.h [deleted file]
reactos/include/psdk/ntddscsi.h [new file with mode: 0644]

diff --git a/reactos/include/ddk/ntddscsi.h b/reactos/include/ddk/ntddscsi.h
deleted file mode 100644 (file)
index 5f925ef..0000000
+++ /dev/null
@@ -1,171 +0,0 @@
-/*
- * ntddscsi.h
- *
- * SCSI port IOCTL interface.
- *
- * This file is part of the w32api package.
- *
- * Contributors:
- *   Created by Casper S. Hornstrup <chorns@users.sourceforge.net>
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
-
-#ifndef __NTDDSCSI_H
-#define __NTDDSCSI_H
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#define DD_SCSI_DEVICE_NAME               "\\Device\\ScsiPort"
-#define DD_SCSI_DEVICE_NAME_U             L"\\Device\\ScsiPort"
-
-#define IOCTL_SCSI_BASE                   FILE_DEVICE_CONTROLLER
-
-#define IOCTL_SCSI_FREE_DUMP_POINTERS \
-  CTL_CODE(IOCTL_SCSI_BASE, 0x0409, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_SCSI_GET_INQUIRY_DATA \
-  CTL_CODE(IOCTL_SCSI_BASE, 0x0403, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_SCSI_GET_CAPABILITIES \
-  CTL_CODE(IOCTL_SCSI_BASE, 0x0404, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_SCSI_GET_ADDRESS \
-  CTL_CODE(IOCTL_SCSI_BASE, 0x0406, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_SCSI_GET_DUMP_POINTERS \
-  CTL_CODE(IOCTL_SCSI_BASE, 0x0408, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-#define IOCTL_SCSI_MINIPORT \
-  CTL_CODE(IOCTL_SCSI_BASE, 0x0402, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
-
-#define IOCTL_SCSI_PASS_THROUGH \
-  CTL_CODE(IOCTL_SCSI_BASE, 0x0401, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
-
-#define IOCTL_SCSI_PASS_THROUGH_DIRECT \
-  CTL_CODE(IOCTL_SCSI_BASE, 0x0405, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
-
-#define IOCTL_SCSI_RESCAN_BUS \
-  CTL_CODE(IOCTL_SCSI_BASE, 0x0407, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
-
-DEFINE_GUID(ScsiRawInterfaceGuid, \
-  0x53f56309L, 0xb6bf, 0x11d0, 0x94, 0xf2, 0x00, 0xa0, 0xc9, 0x1e, 0xfb, 0x8b);
-
-DEFINE_GUID(WmiScsiAddressGuid, \
-  0x53f5630fL, 0xb6bf, 0x11d0, 0x94, 0xf2, 0x00, 0xa0, 0xc9, 0x1e, 0xfb, 0x8b);
-
-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_PTR DataBufferOffset;
-  ULONG  SenseInfoOffset;
-  UCHAR  Cdb[16];
-} SCSI_PASS_THROUGH, *PSCSI_PASS_THROUGH;
-
-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;
-  PVOID  DataBuffer;
-  ULONG  SenseInfoOffset;
-  UCHAR  Cdb[16];
-} SCSI_PASS_THROUGH_DIRECT, *PSCSI_PASS_THROUGH_DIRECT;
-
-typedef struct _SRB_IO_CONTROL {
-  ULONG  HeaderLength;
-  UCHAR  Signature[8];
-  ULONG  Timeout;
-  ULONG  ControlCode;
-  ULONG  ReturnCode;
-  ULONG  Length;
-} SRB_IO_CONTROL, *PSRB_IO_CONTROL;
-
-typedef struct _SCSI_ADDRESS {
-  ULONG  Length;
-  UCHAR  PortNumber;
-  UCHAR  PathId;
-  UCHAR  TargetId;
-  UCHAR  Lun;
-} SCSI_ADDRESS, *PSCSI_ADDRESS;
-
-typedef struct _SCSI_BUS_DATA {
-  UCHAR  NumberOfLogicalUnits;
-  UCHAR  InitiatorBusId;
-  ULONG  InquiryDataOffset;
-}SCSI_BUS_DATA, *PSCSI_BUS_DATA;
-
-typedef struct _SCSI_ADAPTER_BUS_INFO {
-  UCHAR  NumberOfBuses;
-  SCSI_BUS_DATA  BusData[1];
-} SCSI_ADAPTER_BUS_INFO, *PSCSI_ADAPTER_BUS_INFO;
-
-typedef struct _IO_SCSI_CAPABILITIES {
-  ULONG  Length;
-  ULONG  MaximumTransferLength;
-  ULONG  MaximumPhysicalPages;
-  ULONG  SupportedAsynchronousEvents;
-  ULONG  AlignmentMask;
-  BOOLEAN  TaggedQueuing;
-  BOOLEAN  AdapterScansDown;
-  BOOLEAN  AdapterUsesPio;
-} IO_SCSI_CAPABILITIES, *PIO_SCSI_CAPABILITIES;
-
-typedef struct _SCSI_INQUIRY_DATA {
-  UCHAR  PathId;
-  UCHAR  TargetId;
-  UCHAR  Lun;
-  BOOLEAN  DeviceClaimed;
-  ULONG  InquiryDataLength;
-  ULONG  NextInquiryDataOffset;
-  UCHAR  InquiryData[1];
-} SCSI_INQUIRY_DATA, *PSCSI_INQUIRY_DATA;
-
-#define SCSI_IOCTL_DATA_OUT               0
-#define SCSI_IOCTL_DATA_IN                1
-#define SCSI_IOCTL_DATA_UNSPECIFIED       2
-
-typedef struct _DUMP_POINTERS {
-  struct _ADAPTER_OBJECT *AdapterObject;
-  PVOID  MappedRegisterBase;
-  PVOID  DumpData;
-  PVOID  CommonBufferVa;
-  LARGE_INTEGER  CommonBufferPa;
-  ULONG  CommonBufferSize;
-  BOOLEAN  AllocateCommonBuffers;
-  BOOLEAN  UseDiskDump;
-  UCHAR  Spare1[2];
-  PVOID  DeviceObject;
-} DUMP_POINTERS, *PDUMP_POINTERS;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __NTDDSCSI_H */
diff --git a/reactos/include/psdk/ntddscsi.h b/reactos/include/psdk/ntddscsi.h
new file mode 100644 (file)
index 0000000..827db69
--- /dev/null
@@ -0,0 +1,249 @@
+/**
+ * This file has no copyright assigned and is placed in the Public Domain.
+ * This file is part of the w64 mingw-runtime package.
+ * No warranty is given; refer to the file DISCLAIMER.PD within this package.
+ */
+#ifdef DEFINE_GUID
+
+#ifndef FAR
+#define FAR
+#endif
+
+DEFINE_GUID(ScsiRawInterfaceGuid,0x53f56309L,0xb6bf,0x11d0,0x94,0xf2,0x00,0xa0,0xc9,0x1e,0xfb,0x8b);
+DEFINE_GUID(WmiScsiAddressGuid,0x53f5630fL,0xb6bf,0x11d0,0x94,0xf2,0x00,0xa0,0xc9,0x1e,0xfb,0x8b);
+#endif /* DEFINE_GUID */
+
+#ifndef _NTDDSCSIH_
+#define _NTDDSCSIH_
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#define IOCTL_SCSI_BASE                FILE_DEVICE_CONTROLLER
+
+#define DD_SCSI_DEVICE_NAME    "\\Device\\ScsiPort"
+#define DD_SCSI_DEVICE_NAME_U  L"\\Device\\ScsiPort"
+
+#define IOCTL_SCSI_PASS_THROUGH CTL_CODE(IOCTL_SCSI_BASE,0x0401,METHOD_BUFFERED,FILE_READ_ACCESS | FILE_WRITE_ACCESS)
+#define IOCTL_SCSI_MINIPORT CTL_CODE(IOCTL_SCSI_BASE,0x0402,METHOD_BUFFERED,FILE_READ_ACCESS | FILE_WRITE_ACCESS)
+#define IOCTL_SCSI_GET_INQUIRY_DATA CTL_CODE(IOCTL_SCSI_BASE,0x0403,METHOD_BUFFERED,FILE_ANY_ACCESS)
+#define IOCTL_SCSI_GET_CAPABILITIES CTL_CODE(IOCTL_SCSI_BASE,0x0404,METHOD_BUFFERED,FILE_ANY_ACCESS)
+#define IOCTL_SCSI_PASS_THROUGH_DIRECT CTL_CODE(IOCTL_SCSI_BASE,0x0405,METHOD_BUFFERED,FILE_READ_ACCESS | FILE_WRITE_ACCESS)
+#define IOCTL_SCSI_GET_ADDRESS CTL_CODE(IOCTL_SCSI_BASE,0x0406,METHOD_BUFFERED,FILE_ANY_ACCESS)
+#define IOCTL_SCSI_RESCAN_BUS CTL_CODE(IOCTL_SCSI_BASE,0x0407,METHOD_BUFFERED,FILE_ANY_ACCESS)
+#define IOCTL_SCSI_GET_DUMP_POINTERS CTL_CODE(IOCTL_SCSI_BASE,0x0408,METHOD_BUFFERED,FILE_ANY_ACCESS)
+#define IOCTL_SCSI_FREE_DUMP_POINTERS CTL_CODE(IOCTL_SCSI_BASE,0x0409,METHOD_BUFFERED,FILE_ANY_ACCESS)
+#define IOCTL_IDE_PASS_THROUGH CTL_CODE(IOCTL_SCSI_BASE,0x040a,METHOD_BUFFERED,FILE_READ_ACCESS | FILE_WRITE_ACCESS)
+#define IOCTL_ATA_PASS_THROUGH CTL_CODE(IOCTL_SCSI_BASE,0x040b,METHOD_BUFFERED,FILE_READ_ACCESS | FILE_WRITE_ACCESS)
+#define IOCTL_ATA_PASS_THROUGH_DIRECT CTL_CODE(IOCTL_SCSI_BASE,0x040c,METHOD_BUFFERED,FILE_READ_ACCESS | FILE_WRITE_ACCESS)
+
+  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_PTR DataBufferOffset;
+    ULONG SenseInfoOffset;
+    UCHAR Cdb[16];
+  }SCSI_PASS_THROUGH,*PSCSI_PASS_THROUGH;
+
+  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;
+    PVOID DataBuffer;
+    ULONG SenseInfoOffset;
+    UCHAR Cdb[16];
+  }SCSI_PASS_THROUGH_DIRECT,*PSCSI_PASS_THROUGH_DIRECT;
+
+#if defined(_WIN64)
+  typedef struct _SCSI_PASS_THROUGH32 {
+    USHORT Length;
+    UCHAR ScsiStatus;
+    UCHAR PathId;
+    UCHAR TargetId;
+    UCHAR Lun;
+    UCHAR CdbLength;
+    UCHAR SenseInfoLength;
+    UCHAR DataIn;
+    ULONG DataTransferLength;
+    ULONG TimeOutValue;
+    ULONG32 DataBufferOffset;
+    ULONG SenseInfoOffset;
+    UCHAR Cdb[16];
+  } SCSI_PASS_THROUGH32,*PSCSI_PASS_THROUGH32;
+
+  typedef struct _SCSI_PASS_THROUGH_DIRECT32 {
+    USHORT Length;
+    UCHAR ScsiStatus;
+    UCHAR PathId;
+    UCHAR TargetId;
+    UCHAR Lun;
+    UCHAR CdbLength;
+    UCHAR SenseInfoLength;
+    UCHAR DataIn;
+    ULONG DataTransferLength;
+    ULONG TimeOutValue;
+    VOID *DataBuffer;
+    ULONG SenseInfoOffset;
+    UCHAR Cdb[16];
+  } SCSI_PASS_THROUGH_DIRECT32,*PSCSI_PASS_THROUGH_DIRECT32;
+#endif /* _WIN64 */
+
+  typedef struct _ATA_PASS_THROUGH_EX {
+    USHORT Length;
+    USHORT AtaFlags;
+    UCHAR PathId;
+    UCHAR TargetId;
+    UCHAR Lun;
+    UCHAR ReservedAsUchar;
+    ULONG DataTransferLength;
+    ULONG TimeOutValue;
+    ULONG ReservedAsUlong;
+    ULONG_PTR DataBufferOffset;
+    UCHAR PreviousTaskFile[8];
+    UCHAR CurrentTaskFile[8];
+  } ATA_PASS_THROUGH_EX,*PATA_PASS_THROUGH_EX;
+
+  typedef struct _ATA_PASS_THROUGH_DIRECT {
+    USHORT Length;
+    USHORT AtaFlags;
+    UCHAR PathId;
+    UCHAR TargetId;
+    UCHAR Lun;
+    UCHAR ReservedAsUchar;
+    ULONG DataTransferLength;
+    ULONG TimeOutValue;
+    ULONG ReservedAsUlong;
+    PVOID DataBuffer;
+    UCHAR PreviousTaskFile[8];
+    UCHAR CurrentTaskFile[8];
+  } ATA_PASS_THROUGH_DIRECT,*PATA_PASS_THROUGH_DIRECT;
+
+#if defined(_WIN64)
+
+  typedef struct _ATA_PASS_THROUGH_EX32 {
+    USHORT Length;
+    USHORT AtaFlags;
+    UCHAR PathId;
+    UCHAR TargetId;
+    UCHAR Lun;
+    UCHAR ReservedAsUchar;
+    ULONG DataTransferLength;
+    ULONG TimeOutValue;
+    ULONG ReservedAsUlong;
+    ULONG32 DataBufferOffset;
+    UCHAR PreviousTaskFile[8];
+    UCHAR CurrentTaskFile[8];
+  } ATA_PASS_THROUGH_EX32,*PATA_PASS_THROUGH_EX32;
+
+  typedef struct _ATA_PASS_THROUGH_DIRECT32 {
+    USHORT Length;
+    USHORT AtaFlags;
+    UCHAR PathId;
+    UCHAR TargetId;
+    UCHAR Lun;
+    UCHAR ReservedAsUchar;
+    ULONG DataTransferLength;
+    ULONG TimeOutValue;
+    ULONG ReservedAsUlong;
+    VOID *DataBuffer;
+    UCHAR PreviousTaskFile[8];
+    UCHAR CurrentTaskFile[8];
+  } ATA_PASS_THROUGH_DIRECT32,*PATA_PASS_THROUGH_DIRECT32;
+#endif /* _WIN64 */
+
+#define ATA_FLAGS_DRDY_REQUIRED (1 << 0)
+#define ATA_FLAGS_DATA_IN (1 << 1)
+#define ATA_FLAGS_DATA_OUT (1 << 2)
+#define ATA_FLAGS_48BIT_COMMAND (1 << 3)
+#define ATA_FLAGS_USE_DMA (1 << 4)
+
+  typedef struct _SCSI_BUS_DATA {
+    UCHAR NumberOfLogicalUnits;
+    UCHAR InitiatorBusId;
+    ULONG InquiryDataOffset;
+  }SCSI_BUS_DATA,*PSCSI_BUS_DATA;
+
+  typedef struct _SCSI_ADAPTER_BUS_INFO {
+    UCHAR NumberOfBuses;
+    SCSI_BUS_DATA BusData[1];
+  } SCSI_ADAPTER_BUS_INFO,*PSCSI_ADAPTER_BUS_INFO;
+
+  typedef struct _SCSI_INQUIRY_DATA {
+    UCHAR PathId;
+    UCHAR TargetId;
+    UCHAR Lun;
+    BOOLEAN DeviceClaimed;
+    ULONG InquiryDataLength;
+    ULONG NextInquiryDataOffset;
+    UCHAR InquiryData[1];
+  }SCSI_INQUIRY_DATA,*PSCSI_INQUIRY_DATA;
+
+  typedef struct _SRB_IO_CONTROL {
+    ULONG HeaderLength;
+    UCHAR Signature[8];
+    ULONG Timeout;
+    ULONG ControlCode;
+    ULONG ReturnCode;
+    ULONG Length;
+  } SRB_IO_CONTROL,*PSRB_IO_CONTROL;
+
+  typedef struct _IO_SCSI_CAPABILITIES {
+    ULONG Length;
+    ULONG MaximumTransferLength;
+    ULONG MaximumPhysicalPages;
+    ULONG SupportedAsynchronousEvents;
+    ULONG AlignmentMask;
+    BOOLEAN TaggedQueuing;
+    BOOLEAN AdapterScansDown;
+    BOOLEAN AdapterUsesPio;
+  } IO_SCSI_CAPABILITIES,*PIO_SCSI_CAPABILITIES;
+
+  typedef struct _SCSI_ADDRESS {
+    ULONG Length;
+    UCHAR PortNumber;
+    UCHAR PathId;
+    UCHAR TargetId;
+    UCHAR Lun;
+  } SCSI_ADDRESS,*PSCSI_ADDRESS;
+
+  struct _ADAPTER_OBJECT;
+
+  typedef struct _DUMP_POINTERS {
+    struct _ADAPTER_OBJECT *AdapterObject;
+    PVOID MappedRegisterBase;
+    PVOID DumpData;
+    PVOID CommonBufferVa;
+    LARGE_INTEGER CommonBufferPa;
+    ULONG CommonBufferSize;
+    BOOLEAN AllocateCommonBuffers;
+    BOOLEAN UseDiskDump;
+    UCHAR Spare1[2];
+    PVOID DeviceObject;
+  } DUMP_POINTERS,*PDUMP_POINTERS;
+
+#define SCSI_IOCTL_DATA_OUT 0
+#define SCSI_IOCTL_DATA_IN 1
+#define SCSI_IOCTL_DATA_UNSPECIFIED 2
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _NTDDSCSIH_ */
+