1 /* 2 * COPYRIGHT: See COPYING in the top level directory 3 * PROJECT: ReactOS cabinet manager 4 * FILE: tools/cabman/mszip.h 5 * PURPOSE: CAB codec for MSZIP compressed data 6 */ 7 8 #pragma once 9 10 #include "cabinet.h" 11 #include <zlib.h> 12 13 #define MSZIP_MAGIC 0x4B43 14 15 16 /* Classes */ 17 18 class CMSZipCodec : public CCABCodec 19 { 20 public: 21 /* Default constructor */ 22 CMSZipCodec(); 23 /* Default destructor */ 24 virtual ~CMSZipCodec(); 25 /* Compresses a data block */ 26 virtual ULONG Compress(void* OutputBuffer, 27 void* InputBuffer, 28 ULONG InputLength, 29 PULONG OutputLength) override; 30 /* Uncompresses a data block */ 31 virtual ULONG Uncompress(void* OutputBuffer, 32 void* InputBuffer, 33 ULONG InputLength, 34 PULONG OutputLength) override; 35 private: 36 int Status; 37 z_stream ZStream; /* Zlib stream */ 38 }; 39 40 /* EOF */ 41