xref: /reactos/sdk/tools/cabman/mszip.h (revision b5218987)
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