headers: Add missing symbols in winioctl.h

Signed-off-by: Biswapriyo Nath <nathbappai@gmail.com>
Signed-off-by: LIU Hao <lh_mouse@126.com>
diff --git a/mingw-w64-headers/include/winioctl.h b/mingw-w64-headers/include/winioctl.h
index b6c7b9a..55aa288 100644
--- a/mingw-w64-headers/include/winioctl.h
+++ b/mingw-w64-headers/include/winioctl.h
@@ -2833,6 +2833,85 @@
   STORAGE_PROTOCOL_SPECIFIC_DATA_EXT ProtocolSpecificData;
 } STORAGE_PROTOCOL_DATA_DESCRIPTOR_EXT, *PSTORAGE_PROTOCOL_DATA_DESCRIPTOR_EXT;
 
+#define STORAGE_TEMPERATURE_VALUE_NOT_REPORTED 0x8000
+
+typedef struct _STORAGE_TEMPERATURE_INFO {
+  WORD Index;
+  SHORT Temperature;
+  SHORT OverThreshold;
+  SHORT UnderThreshold;
+  BOOLEAN OverThresholdChangable;
+  BOOLEAN UnderThresholdChangable;
+  BOOLEAN EventGenerated;
+  BYTE Reserved0;
+  DWORD Reserved1;
+} STORAGE_TEMPERATURE_INFO, *PSTORAGE_TEMPERATURE_INFO;
+
+typedef struct _STORAGE_TEMPERATURE_DATA_DESCRIPTOR {
+  DWORD Version;
+  DWORD Size;
+  SHORT CriticalTemperature;
+  SHORT WarningTemperature;
+  WORD InfoCount;
+  BYTE Reserved0[2];
+  DWORD Reserved1[2];
+  STORAGE_TEMPERATURE_INFO TemperatureInfo[ANYSIZE_ARRAY];
+} STORAGE_TEMPERATURE_DATA_DESCRIPTOR, *PSTORAGE_TEMPERATURE_DATA_DESCRIPTOR;
+
+#define STORAGE_TEMPERATURE_THRESHOLD_FLAG_ADAPTER_REQUEST 0x0001
+
+typedef struct _STORAGE_TEMPERATURE_THRESHOLD {
+  DWORD Version;
+  DWORD Size;
+  WORD Flags;
+  WORD Index;
+  SHORT Threshold;
+  BOOLEAN OverThreshold;
+  BYTE Reserved;
+} STORAGE_TEMPERATURE_THRESHOLD, *PSTORAGE_TEMPERATURE_THRESHOLD;
+
+#define STORAGE_PROTOCOL_STRUCTURE_VERSION 0x1
+
+typedef struct _STORAGE_PROTOCOL_COMMAND {
+  DWORD Version;
+  DWORD Length;
+  STORAGE_PROTOCOL_TYPE ProtocolType;
+  DWORD Flags;
+  DWORD ReturnStatus;
+  DWORD ErrorCode;
+  DWORD CommandLength;
+  DWORD ErrorInfoLength;
+  DWORD DataToDeviceTransferLength;
+  DWORD DataFromDeviceTransferLength;
+  DWORD TimeOutValue;
+  DWORD ErrorInfoOffset;
+  DWORD DataToDeviceBufferOffset;
+  DWORD DataFromDeviceBufferOffset;
+  DWORD CommandSpecific;
+  DWORD Reserved0;
+  DWORD FixedProtocolReturnData;
+  DWORD Reserved1[3];
+  BYTE Command[ANYSIZE_ARRAY];
+} STORAGE_PROTOCOL_COMMAND, *PSTORAGE_PROTOCOL_COMMAND;
+
+#define STORAGE_PROTOCOL_COMMAND_FLAG_ADAPTER_REQUEST 0x80000000
+
+#define STORAGE_PROTOCOL_STATUS_PENDING 0x0
+#define STORAGE_PROTOCOL_STATUS_SUCCESS 0x1
+#define STORAGE_PROTOCOL_STATUS_ERROR 0x2
+#define STORAGE_PROTOCOL_STATUS_INVALID_REQUEST 0x3
+#define STORAGE_PROTOCOL_STATUS_NO_DEVICE 0x4
+#define STORAGE_PROTOCOL_STATUS_BUSY 0x5
+#define STORAGE_PROTOCOL_STATUS_DATA_OVERRUN 0x6
+#define STORAGE_PROTOCOL_STATUS_INSUFFICIENT_RESOURCES 0x7
+#define STORAGE_PROTOCOL_STATUS_THROTTLED_REQUEST 0x8
+#define STORAGE_PROTOCOL_STATUS_NOT_SUPPORTED 0xFF
+
+#define STORAGE_PROTOCOL_COMMAND_LENGTH_NVME 0x40
+
+#define STORAGE_PROTOCOL_SPECIFIC_NVME_ADMIN_COMMAND 0x01
+#define STORAGE_PROTOCOL_SPECIFIC_NVME_NVM_COMMAND 0x02
+
 #if (_WIN32_WINNT >= 0x0601)
 typedef struct _REQUEST_OPLOCK_INPUT_BUFFER {
   WORD  StructureVersion;