Current News
Archived News
Search News
Discussion Forum


Old Forum
Install Programs More Downloads...
Troubleshooting
Source Code
Format Specs.
Misc. Information
Non-SF Stuff
Links




1 /*****************************************************************************/
2 /* pklib.h                                Copyright (c) Ladislav Zezula 2003 */
3 /*---------------------------------------------------------------------------*/
4 /* Header file for PKWARE Data Compression Library                           */
5 /*---------------------------------------------------------------------------*/
6 /*   Date    Ver   Who  Comment                                              */
7 /* --------  ----  ---  -------                                              */
8 /* 31.03.03  1.00  Lad  The first version of pkware.h                        */
9 /*****************************************************************************/
11 #ifndef __PKLIB_H__
12 #define __PKLIB_H__
14 //-----------------------------------------------------------------------------
15 // Defines
17 #define CMP_BUFFER_SIZE    36312        // Size of compression buffer
18 #define EXP_BUFFER_SIZE    12596        // Size of decompress buffer
20 #define CMP_BINARY             0        // Binary compression
21 #define CMP_ASCII              1        // Ascii compression
23 #define CMP_NO_ERROR           0
24 #define CMP_INVALID_DICTSIZE   1
25 #define CMP_INVALID_MODE       2
26 #define CMP_BAD_DATA           3
27 #define CMP_ABORT              4
29 //-----------------------------------------------------------------------------
30 // Define calling convention
32 #define PKEXPORT
33 //#define PKEXPORT  __cdecl               // Use for normal __cdecl calling 
34 //#define PKEXPORT  __stdcall
35 //#define PKEXPORT  __fastcall
37 //-----------------------------------------------------------------------------
38 // Public functions
40 #ifdef __cplusplus
41    extern "C" {
42 #endif
44 unsigned int PKEXPORT implode(
45    unsigned int (*read_buf)(char *buf, unsigned int *size, void *param),
46    void         (*write_buf)(char *buf, unsigned int *size, void *param),
47    char         *work_buf,
48    void         *param,
49    unsigned int *type,
50    unsigned int *dsize);
53 unsigned int PKEXPORT explode(
54    unsigned int (*read_buf)(char *buf, unsigned  int *size, void *param),
55    void         (*write_buf)(char *buf, unsigned  int *size, void *param),
56    char         *work_buf,
57    void         *param);
59 // The original name "crc32" was changed to "crc32pk" due
60 // to compatibility with zlib
61 unsigned long PKEXPORT crc32pk(char *buffer, unsigned int *size, unsigned long *old_crc);
63 #ifdef __cplusplus
64    }                         // End of 'extern "C"' declaration
65 #endif
67 #endif // __PKLIB_H__