diff --git a/smartmontools/ChangeLog b/smartmontools/ChangeLog index 9afd2c07ab231521f1783238902897fc6436e8f3..95aba190797c27f8e6d9c3369ccdfced6e4dbeae 100644 --- a/smartmontools/ChangeLog +++ b/smartmontools/ChangeLog @@ -1,5 +1,11 @@ $Id$ +2020-03-01 Christian Franke <franke@computer.org> + + os_win32.cpp: Remove backward compatibility fixes for include files + of very old versions of Cygwin, MinGW and MSVC. + configure.ac, Makefile.am: Remove check for DDK include files. + 2020-02-25 Christian Franke <franke@computer.org> Silence some warnings from g++ 9.2: diff --git a/smartmontools/Makefile.am b/smartmontools/Makefile.am index 0e6a710049e7cdc1ea028eb01396ce6cedb75d85..ac1f04d3f1fe86614266b910ff48c73e2a1d890f 100644 --- a/smartmontools/Makefile.am +++ b/smartmontools/Makefile.am @@ -1046,7 +1046,7 @@ config-vc$(vcver): $(CONFIG_VC_FILES) $(srcdir)/os_win32/vc$(vcver)/config.h: config.h Makefile sed -e '1i/* os_win32/vc$(vcver)/config.h. Generated from config.h by Makefile. */' \ - -e 's,^#define HAVE_\(ATTR_PACKED\|GETTIMEOFDAY\|[DK_]*NTDDDISK_H\|LONG_DOUBLE_WIDER\|STRINGS_H\|UNISTD_H\) 1$$,/* #undef HAVE_\1 */ /* VC$(vcver) */,' \ + -e 's,^#define HAVE_\(ATTR_PACKED\|GETTIMEOFDAY\|LONG_DOUBLE_WIDER\|STRINGS_H\|UNISTD_H\) 1$$,/* #undef HAVE_\1 */ /* VC$(vcver) */,' \ -e 's,^\(#define SMARTMONTOOLS_BUILD_HOST "[^-]*\)[^"]*,\1-pc-w32vc$(vcver),' $< > $@ $(srcdir)/os_win32/vc$(vcver)/svnversion.h: svnversion.h diff --git a/smartmontools/configure.ac b/smartmontools/configure.ac index ccb457e1ffe29cae0e47895cf66de48472f49881..c196cfb9e6b0b3ed6c8b7740e50ca6c7e99f0777 100644 --- a/smartmontools/configure.ac +++ b/smartmontools/configure.ac @@ -109,12 +109,6 @@ case "$host" in *-*-netbsd*|*-*-openbsd*) AC_CHECK_HEADERS([dev/ata/atavar.h]) ;; - *-*-cygwin*|*-*-mingw*) - # Check for Windows DDK header files - AC_CHECK_HEADERS([ntdddisk.h ddk/ntdddisk.h], [], [], [AC_INCLUDES_DEFAULT -#include <windows.h> -]) - ;; esac # Checks for typedefs, and compiler characteristics. diff --git a/smartmontools/os_win32.cpp b/smartmontools/os_win32.cpp index 810acb32857f7eabc34afb74477b3467b328df58..cd8c0466c5427faeadc7e4321fa61ddd73a74174 100644 --- a/smartmontools/os_win32.cpp +++ b/smartmontools/os_win32.cpp @@ -43,31 +43,9 @@ extern unsigned char failuretest_permissive; #endif #include <stddef.h> // offsetof() -#include <io.h> // access() -// WIN32_LEAN_AND_MEAN may be required to prevent inclusion of <winioctl.h> -#define WIN32_LEAN_AND_MEAN #include <windows.h> - -#if HAVE_NTDDDISK_H -// i686-pc-cygwin, i686-w64-mingw32, x86_64-w64-mingw32 -// (Missing: FILE_DEVICE_SCSI) -#include <devioctl.h> -#include <ntdddisk.h> -#include <ntddscsi.h> -#include <ntddstor.h> -#elif HAVE_DDK_NTDDDISK_H -// older i686-pc-cygwin, i686-pc-mingw32, i586-mingw32msvc -// (Missing: IOCTL_IDE_PASS_THROUGH, IOCTL_ATA_PASS_THROUGH, FILE_DEVICE_SCSI) -#include <ddk/ntdddisk.h> -#include <ddk/ntddscsi.h> -#include <ddk/ntddstor.h> -#else -// MSVC10, older MinGW -// (Missing: IOCTL_SCSI_MINIPORT_*) -#include <ntddscsi.h> -#include <winioctl.h> -#endif +#include <ntddscsi.h> // IOCTL_ATA_PASS_THROUGH, IOCTL_SCSI_PASS_THROUGH, ... #ifndef _WIN32 // csmisas.h and aacraid.h require _WIN32 but w32api-headers no longer define it on Cygwin @@ -136,35 +114,6 @@ STATIC_ASSERT(sizeof(ATA_PASS_THROUGH) == 12+1); // ATA PASS THROUGH (Win2003, XP SP2) -#ifndef IOCTL_ATA_PASS_THROUGH - -#define IOCTL_ATA_PASS_THROUGH \ - CTL_CODE(IOCTL_SCSI_BASE, 0x040B, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS) - -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; - -#define ATA_FLAGS_DRDY_REQUIRED 0x01 -#define ATA_FLAGS_DATA_IN 0x02 -#define ATA_FLAGS_DATA_OUT 0x04 -#define ATA_FLAGS_48BIT_COMMAND 0x08 -#define ATA_FLAGS_USE_DMA 0x10 -#define ATA_FLAGS_NO_MULTIPLE 0x20 // Vista - -#endif // IOCTL_ATA_PASS_THROUGH - STATIC_ASSERT(IOCTL_ATA_PASS_THROUGH == 0x04d02c); STATIC_ASSERT(sizeof(ATA_PASS_THROUGH_EX) == SELECT_WIN_32_64(40, 48)); @@ -202,57 +151,12 @@ STATIC_ASSERT(sizeof(SCSI_PASS_THROUGH_DIRECT) == SELECT_WIN_32_64(44, 56)); #endif // IOCTL_SCSI_MINIPORT_SMART_VERSION STATIC_ASSERT(IOCTL_SCSI_MINIPORT == 0x04d008); +STATIC_ASSERT(IOCTL_SCSI_MINIPORT_SMART_VERSION == 0x1b0500); STATIC_ASSERT(sizeof(SRB_IO_CONTROL) == 28); // IOCTL_STORAGE_QUERY_PROPERTY -#ifndef IOCTL_STORAGE_QUERY_PROPERTY - -#define IOCTL_STORAGE_QUERY_PROPERTY \ - CTL_CODE(IOCTL_STORAGE_BASE, 0x0500, METHOD_BUFFERED, FILE_ANY_ACCESS) - -typedef struct _STORAGE_DEVICE_DESCRIPTOR { - ULONG Version; - ULONG Size; - UCHAR DeviceType; - UCHAR DeviceTypeModifier; - BOOLEAN RemovableMedia; - BOOLEAN CommandQueueing; - ULONG VendorIdOffset; - ULONG ProductIdOffset; - ULONG ProductRevisionOffset; - ULONG SerialNumberOffset; - STORAGE_BUS_TYPE BusType; - ULONG RawPropertiesLength; - UCHAR RawDeviceProperties[1]; -} STORAGE_DEVICE_DESCRIPTOR; - -typedef enum _STORAGE_QUERY_TYPE { - PropertyStandardQuery = 0, - PropertyExistsQuery, - PropertyMaskQuery, - PropertyQueryMaxDefined -} STORAGE_QUERY_TYPE; - -typedef enum _STORAGE_PROPERTY_ID { - StorageDeviceProperty = 0, - StorageAdapterProperty, - StorageDeviceIdProperty, - StorageDeviceUniqueIdProperty, - StorageDeviceWriteCacheProperty, - StorageMiniportProperty, - StorageAccessAlignmentProperty -} STORAGE_PROPERTY_ID; - -typedef struct _STORAGE_PROPERTY_QUERY { - STORAGE_PROPERTY_ID PropertyId; - STORAGE_QUERY_TYPE QueryType; - UCHAR AdditionalParameters[1]; -} STORAGE_PROPERTY_QUERY; - -#endif // IOCTL_STORAGE_QUERY_PROPERTY - STATIC_ASSERT(IOCTL_STORAGE_QUERY_PROPERTY == 0x002d1400); STATIC_ASSERT(sizeof(STORAGE_DEVICE_DESCRIPTOR) == 36+1+3); STATIC_ASSERT(sizeof(STORAGE_PROPERTY_QUERY) == 8+1+3);