This commit was manufactured by cvs2svn to create branch 'captive'.
[reactos.git] / tools / cabman / mszip.h
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 #ifndef __MSZIP_H
8 #define __MSZIP_H
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 public:
20     /* Default constructor */
21     CMSZipCodec();
22     /* Default destructor */
23     virtual ~CMSZipCodec();
24     /* Compresses a data block */
25     virtual unsigned long Compress(void* OutputBuffer,
26                            void* InputBuffer,
27                            unsigned long InputLength,
28                            unsigned long* OutputLength);
29     /* Uncompresses a data block */
30     virtual unsigned long Uncompress(void* OutputBuffer,
31                              void* InputBuffer,
32                              unsigned long InputLength,
33                              unsigned long* OutputLength);
34 private:
35     int Status;
36     z_stream ZStream; /* Zlib stream */
37 };
38
39 #endif /* __MSZIP_H */
40
41 /* EOF */