headers: Add definitions for Compact OS compression.

Signed-off-by: Christian Franke <christian.franke@t-online.de>
Signed-off-by: Jonathan Yong <10walls@gmail.com>
diff --git a/mingw-w64-headers/include/winerror.h b/mingw-w64-headers/include/winerror.h
index ee3b72e..609172d 100755
--- a/mingw-w64-headers/include/winerror.h
+++ b/mingw-w64-headers/include/winerror.h
@@ -244,6 +244,9 @@
 #define ERROR_INVALID_TOKEN __MSABI_LONG(315)
 #define ERROR_MR_MID_NOT_FOUND __MSABI_LONG(317)
 #define ERROR_SCOPE_NOT_FOUND __MSABI_LONG(318)
+#define ERROR_OBJECT_NOT_EXTERNALLY_BACKED __MSABI_LONG(342)
+#define ERROR_EXTERNAL_BACKING_PROVIDER_UNKNOWN __MSABI_LONG(343)
+#define ERROR_COMPRESSION_NOT_BENEFICIAL __MSABI_LONG(344)
 #define ERROR_INVALID_ADDRESS __MSABI_LONG(487)
 #define ERROR_ARITHMETIC_OVERFLOW __MSABI_LONG(534)
 #define ERROR_PIPE_CONNECTED __MSABI_LONG(535)
diff --git a/mingw-w64-headers/include/winioctl.h b/mingw-w64-headers/include/winioctl.h
index f017925..e27cc3f 100644
--- a/mingw-w64-headers/include/winioctl.h
+++ b/mingw-w64-headers/include/winioctl.h
@@ -2571,5 +2571,44 @@
   DISK_EXTENT Extents[1];
 } VOLUME_DISK_EXTENTS,*PVOLUME_DISK_EXTENTS;
 
+#if (_WIN32_WINNT >= 0x0603)
+
+#define FSCTL_SET_EXTERNAL_BACKING CTL_CODE(FILE_DEVICE_FILE_SYSTEM,195,METHOD_BUFFERED,FILE_SPECIAL_ACCESS)
+#define FSCTL_GET_EXTERNAL_BACKING CTL_CODE(FILE_DEVICE_FILE_SYSTEM,196,METHOD_BUFFERED,FILE_ANY_ACCESS)
+#define FSCTL_DELETE_EXTERNAL_BACKING CTL_CODE(FILE_DEVICE_FILE_SYSTEM,197,METHOD_BUFFERED,FILE_SPECIAL_ACCESS)
+
+#define WOF_CURRENT_VERSION 1
+
+typedef struct _WOF_EXTERNAL_INFO {
+  DWORD Version;
+  DWORD Provider;
+} WOF_EXTERNAL_INFO, *PWOF_EXTERNAL_INFO;
+
+#endif /*(_WIN32_WINNT >= 0x0603)*/
+
+#if (_WIN32_WINNT >= 0x0A00)
+
+#define WOF_PROVIDER_FILE 2
+
+#define FILE_PROVIDER_CURRENT_VERSION 1
+
+#define FILE_PROVIDER_COMPRESSION_XPRESS4K 0
+#define FILE_PROVIDER_COMPRESSION_LZX 1
+#define FILE_PROVIDER_COMPRESSION_XPRESS8K 2
+#define FILE_PROVIDER_COMPRESSION_XPRESS16K 3
+
+typedef struct _FILE_PROVIDER_EXTERNAL_INFO_V0 {
+  DWORD Version;
+  DWORD Algorithm;
+} FILE_PROVIDER_EXTERNAL_INFO_V0, *PFILE_PROVIDER_EXTERNAL_INFO_V0;
+
+typedef struct _FILE_PROVIDER_EXTERNAL_INFO_V1 {
+  DWORD Version;
+  DWORD Algorithm;
+  DWORD Flags;
+} FILE_PROVIDER_EXTERNAL_INFO_V1, *PFILE_PROVIDER_EXTERNAL_INFO_V1;
+
+#endif /*(_WIN32_WINNT >= 0x0A00)*/
+
 #endif /* _WINIOCTL_ */