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_ */