From: Vitaly Lipatov lav@etersoft.ru
--- dlls/ntdll/tests/rtl.c | 1 + include/ddk/ntifs.h | 15 +++++++++++++++ include/winnt.h | 6 ------ 3 files changed, 16 insertions(+), 6 deletions(-)
diff --git a/dlls/ntdll/tests/rtl.c b/dlls/ntdll/tests/rtl.c index 76cecebae34..117d9eed067 100644 --- a/dlls/ntdll/tests/rtl.c +++ b/dlls/ntdll/tests/rtl.c @@ -27,6 +27,7 @@ #include "in6addr.h" #include "inaddr.h" #include "ip2string.h" +#include "ddk/ntifs.h" #include "wine/asm.h"
#ifndef __WINE_WINTERNL_H diff --git a/include/ddk/ntifs.h b/include/ddk/ntifs.h index cedd54a66fe..10df006c4f5 100644 --- a/include/ddk/ntifs.h +++ b/include/ddk/ntifs.h @@ -188,6 +188,21 @@ typedef struct _REPARSE_GUID_DATA_BUFFER
#define REPARSE_GUID_DATA_BUFFER_HEADER_SIZE FIELD_OFFSET(REPARSE_GUID_DATA_BUFFER, GenericReparseBuffer)
+#define COMPRESSION_FORMAT_NONE 0 +#define COMPRESSION_FORMAT_DEFAULT 1 +#define COMPRESSION_FORMAT_LZNT1 2 +#define COMPRESSION_FORMAT_XPRESS 3 // Windows 8 +#define COMPRESSION_FORMAT_XPRESS_HUFF 4 // Windows 8 +#define COMPRESSION_FORMAT_MAX 4 + +#define COMPRESSION_ENGINE_STANDARD 0x0000 +#define COMPRESSION_ENGINE_MAXIMUM 0x0100 +#define COMPRESSION_ENGINE_HIBER 0x0200 +#define COMPRESSION_ENGINE_MAX 0x0200 + +#define COMPRESSION_FORMAT_MASK 0x00FF +#define COMPRESSION_ENGINE_MASK 0xFF00 + BOOLEAN WINAPI FsRtlIsNameInExpression(PUNICODE_STRING, PUNICODE_STRING, BOOLEAN, PWCH); DEVICE_OBJECT * WINAPI IoGetAttachedDevice(DEVICE_OBJECT*); PEPROCESS WINAPI IoGetRequestorProcess(IRP*); diff --git a/include/winnt.h b/include/winnt.h index ab14bcc80d5..c04f25b29bd 100644 --- a/include/winnt.h +++ b/include/winnt.h @@ -5468,12 +5468,6 @@ typedef struct _QUOTA_LIMITS_EX { #define FILE_256_BYTE_ALIGNMENT 0x000000ff #define FILE_512_BYTE_ALIGNMENT 0x000001ff
-#define COMPRESSION_FORMAT_NONE 0 -#define COMPRESSION_FORMAT_DEFAULT 1 -#define COMPRESSION_FORMAT_LZNT1 2 -#define COMPRESSION_ENGINE_STANDARD 0 -#define COMPRESSION_ENGINE_MAXIMUM 256 - #define MAILSLOT_NO_MESSAGE ((DWORD)-1) #define MAILSLOT_WAIT_FOREVER ((DWORD)-1)
From: Vitaly Lipatov lav@etersoft.ru
--- dlls/ntdll/rtl.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/dlls/ntdll/rtl.c b/dlls/ntdll/rtl.c index 1eec1962b1e..4cc722836e1 100644 --- a/dlls/ntdll/rtl.c +++ b/dlls/ntdll/rtl.c @@ -1754,7 +1754,7 @@ NTSTATUS WINAPI RtlGetCompressionWorkSpaceSize(USHORT format, PULONG compress_wo { FIXME("0x%04x, %p, %p: semi-stub\n", format, compress_workspace, decompress_workspace);
- switch (format & ~COMPRESSION_ENGINE_MAXIMUM) + switch (format & COMPRESSION_FORMAT_MASK) { case COMPRESSION_FORMAT_LZNT1: if (compress_workspace) @@ -1818,7 +1818,7 @@ NTSTATUS WINAPI RtlCompressBuffer(USHORT format, PUCHAR uncompressed, ULONG unco FIXME("0x%04x, %p, %lu, %p, %lu, %lu, %p, %p: semi-stub\n", format, uncompressed, uncompressed_size, compressed, compressed_size, chunk_size, final_size, workspace);
- switch (format & ~COMPRESSION_ENGINE_MAXIMUM) + switch (format & COMPRESSION_FORMAT_MASK) { case COMPRESSION_FORMAT_LZNT1: return lznt1_compress(uncompressed, uncompressed_size, compressed, @@ -2021,7 +2021,7 @@ NTSTATUS WINAPI RtlDecompressFragment(USHORT format, PUCHAR uncompressed, ULONG TRACE("0x%04x, %p, %lu, %p, %lu, %lu, %p, %p\n", format, uncompressed, uncompressed_size, compressed, compressed_size, offset, final_size, workspace);
- switch (format & ~COMPRESSION_ENGINE_MAXIMUM) + switch (format & COMPRESSION_FORMAT_MASK) { case COMPRESSION_FORMAT_LZNT1: return lznt1_decompress(uncompressed, uncompressed_size, compressed,
Alex Henrie (@alexhenrie) commented about include/ddk/ntifs.h:
#define REPARSE_GUID_DATA_BUFFER_HEADER_SIZE FIELD_OFFSET(REPARSE_GUID_DATA_BUFFER, GenericReparseBuffer)
+#define COMPRESSION_FORMAT_NONE 0 +#define COMPRESSION_FORMAT_DEFAULT 1 +#define COMPRESSION_FORMAT_LZNT1 2 +#define COMPRESSION_FORMAT_XPRESS 3 // Windows 8 +#define COMPRESSION_FORMAT_XPRESS_HUFF 4 // Windows 8 +#define COMPRESSION_FORMAT_MAX 4
+#define COMPRESSION_ENGINE_STANDARD 0x0000 +#define COMPRESSION_ENGINE_MAXIMUM 0x0100 +#define COMPRESSION_ENGINE_HIBER 0x0200 +#define COMPRESSION_ENGINE_MAX 0x0200
+#define COMPRESSION_FORMAT_MASK 0x00FF +#define COMPRESSION_ENGINE_MASK 0xFF00
Lowercase is generally preferred for hexadecimal constants in Wine.