From 20575ea1f389909926a49478439ad68eb772a011 Mon Sep 17 00:00:00 2001 From: Karol Kosek Date: Fri, 17 Jun 2022 09:24:28 +0200 Subject: [PATCH] LibCompress: Add Zlib header structure --- Userland/Libraries/LibCompress/Zlib.h | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/Userland/Libraries/LibCompress/Zlib.h b/Userland/Libraries/LibCompress/Zlib.h index f65457a640..195f962a7d 100644 --- a/Userland/Libraries/LibCompress/Zlib.h +++ b/Userland/Libraries/LibCompress/Zlib.h @@ -13,6 +13,32 @@ namespace Compress { +enum class ZlibCompressionMethod : u8 { + Deflate = 8, +}; + +enum class ZlibCompressionLevel : u8 { + Fastest, + Fast, + Default, + Best, +}; + +struct ZlibHeader { + union { + struct { + ZlibCompressionMethod compression_method : 4; + u8 compression_info : 4; + + u8 check_bits : 5; + bool present_dictionary : 1; + ZlibCompressionLevel compression_level : 2; + }; + NetworkOrdered as_u16; + }; +}; +static_assert(sizeof(ZlibHeader) == sizeof(u16)); + class Zlib { public: Optional decompress();