TrinityCore
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
bzlib.h
Go to the documentation of this file.
1 
2 /*-------------------------------------------------------------*/
3 /*--- Public header file for the library. ---*/
4 /*--- bzlib.h ---*/
5 /*-------------------------------------------------------------*/
6 
7 /* ------------------------------------------------------------------
8  This file is part of bzip2/libbzip2, a program and library for
9  lossless, block-sorting data compression.
10 
11  bzip2/libbzip2 version 1.0.6 of 6 September 2010
12  Copyright (C) 1996-2010 Julian Seward <[email protected]>
13 
14  Please read the WARNING, DISCLAIMER and PATENTS sections in the
15  README file.
16 
17  This program is released under the terms of the license contained
18  in the file LICENSE.
19  ------------------------------------------------------------------ */
20 
21 
22 #ifndef _BZLIB_H
23 #define _BZLIB_H
24 
25 #ifdef __cplusplus
26 extern "C" {
27 #endif
28 
29 #define BZ_RUN 0
30 #define BZ_FLUSH 1
31 #define BZ_FINISH 2
32 
33 #define BZ_OK 0
34 #define BZ_RUN_OK 1
35 #define BZ_FLUSH_OK 2
36 #define BZ_FINISH_OK 3
37 #define BZ_STREAM_END 4
38 #define BZ_SEQUENCE_ERROR (-1)
39 #define BZ_PARAM_ERROR (-2)
40 #define BZ_MEM_ERROR (-3)
41 #define BZ_DATA_ERROR (-4)
42 #define BZ_DATA_ERROR_MAGIC (-5)
43 #define BZ_IO_ERROR (-6)
44 #define BZ_UNEXPECTED_EOF (-7)
45 #define BZ_OUTBUFF_FULL (-8)
46 #define BZ_CONFIG_ERROR (-9)
47 
48 typedef
49  struct {
50  char *next_in;
51  unsigned int avail_in;
52  unsigned int total_in_lo32;
53  unsigned int total_in_hi32;
54 
55  char *next_out;
56  unsigned int avail_out;
57  unsigned int total_out_lo32;
58  unsigned int total_out_hi32;
59 
60  void *state;
61 
62  void *(*bzalloc)(void *,int,int);
63  void (*bzfree)(void *,void *);
64  void *opaque;
65  }
66  bz_stream;
67 
68 
69 #ifndef BZ_IMPORT
70 #define BZ_EXPORT
71 #endif
72 
73 #ifndef BZ_NO_STDIO
74 /* Need a definitition for FILE */
75 #include <stdio.h>
76 #endif
77 
78 #ifdef _WIN32
79 # include <windows.h>
80 # ifdef small
81  /* windows.h define small to char */
82 # undef small
83 # endif
84 # ifdef BZ_EXPORT
85 # define BZ_API(func) WINAPI func
86 # define BZ_EXTERN extern
87 # else
88  /* import windows dll dynamically */
89 # define BZ_API(func) (WINAPI * func)
90 # define BZ_EXTERN
91 # endif
92 #else
93 # define BZ_API(func) func
94 # define BZ_EXTERN extern
95 #endif
96 
97 
98 /*-- Core (low-level) library functions --*/
99 
101  bz_stream* strm,
102  int blockSize100k,
103  int verbosity,
104  int workFactor
105  );
106 
108  bz_stream* strm,
109  int action
110  );
111 
113  bz_stream* strm
114  );
115 
117  bz_stream *strm,
118  int verbosity,
119  int small
120  );
121 
123  bz_stream* strm
124  );
125 
127  bz_stream *strm
128  );
129 
130 
131 
132 /*-- High(er) level library functions --*/
133 
134 #ifndef BZ_NO_STDIO
135 #define BZ_MAX_UNUSED 5000
136 
137 typedef void BZFILE;
138 
139 BZ_EXTERN BZFILE* BZ_API(BZ2_bzReadOpen) (
140  int* bzerror,
141  FILE* f,
142  int verbosity,
143  int small,
144  void* unused,
145  int nUnused
146  );
147 
149  int* bzerror,
150  BZFILE* b
151  );
152 
154  int* bzerror,
155  BZFILE* b,
156  void** unused,
157  int* nUnused
158  );
159 
161  int* bzerror,
162  BZFILE* b,
163  void* buf,
164  int len
165  );
166 
167 BZ_EXTERN BZFILE* BZ_API(BZ2_bzWriteOpen) (
168  int* bzerror,
169  FILE* f,
170  int blockSize100k,
171  int verbosity,
172  int workFactor
173  );
174 
176  int* bzerror,
177  BZFILE* b,
178  void* buf,
179  int len
180  );
181 
183  int* bzerror,
184  BZFILE* b,
185  int abandon,
186  unsigned int* nbytes_in,
187  unsigned int* nbytes_out
188  );
189 
191  int* bzerror,
192  BZFILE* b,
193  int abandon,
194  unsigned int* nbytes_in_lo32,
195  unsigned int* nbytes_in_hi32,
196  unsigned int* nbytes_out_lo32,
197  unsigned int* nbytes_out_hi32
198  );
199 #endif
200 
201 
202 /*-- Utility functions --*/
203 
205  char* dest,
206  unsigned int* destLen,
207  char* source,
208  unsigned int sourceLen,
209  int blockSize100k,
210  int verbosity,
211  int workFactor
212  );
213 
215  char* dest,
216  unsigned int* destLen,
217  char* source,
218  unsigned int sourceLen,
219  int small,
220  int verbosity
221  );
222 
223 
224 /*--
225  Code contributed by Yoshioka Tsuneo ([email protected])
226  to support better zlib compatibility.
227  This code is not _officially_ part of libbzip2 (yet);
228  I haven't tested it, documented it, or considered the
229  threading-safeness of it.
230  If this code breaks, please contact both Yoshioka and me.
231 --*/
232 
233 BZ_EXTERN const char * BZ_API(BZ2_bzlibVersion) (
234  void
235  );
236 
237 #ifndef BZ_NO_STDIO
238 BZ_EXTERN BZFILE * BZ_API(BZ2_bzopen) (
239  const char *path,
240  const char *mode
241  );
242 
243 BZ_EXTERN BZFILE * BZ_API(BZ2_bzdopen) (
244  int fd,
245  const char *mode
246  );
247 
249  BZFILE* b,
250  void* buf,
251  int len
252  );
253 
255  BZFILE* b,
256  void* buf,
257  int len
258  );
259 
261  BZFILE* b
262  );
263 
265  BZFILE* b
266  );
267 
268 BZ_EXTERN const char * BZ_API(BZ2_bzerror) (
269  BZFILE *b,
270  int *errnum
271  );
272 #endif
273 
274 #ifdef __cplusplus
275 }
276 #endif
277 
278 #endif
279 
280 /*-------------------------------------------------------------*/
281 /*--- end bzlib.h ---*/
282 /*-------------------------------------------------------------*/
#define BZ_API(func)
Definition: bzlib.h:93
BZ_EXTERN const char *BZ_API() BZ2_bzerror(BZFILE *b, int *errnum)
BZ_EXTERN BZFILE *BZ_API() BZ2_bzdopen(int fd, const char *mode)
unsigned int total_in_hi32
Definition: bzlib.h:53
BZ_EXTERN void BZ_API() BZ2_bzWrite(int *bzerror, BZFILE *b, void *buf, int len)
unsigned int avail_in
Definition: bzlib.h:51
BZ_EXTERN BZFILE *BZ_API() BZ2_bzopen(const char *path, const char *mode)
unsigned int total_out_hi32
Definition: bzlib.h:58
BZ_EXTERN void BZ_API() BZ2_bzReadClose(int *bzerror, BZFILE *b)
BZ_EXTERN int BZ_API() BZ2_bzRead(int *bzerror, BZFILE *b, void *buf, int len)
unsigned int total_in_lo32
Definition: bzlib.h:52
BZ_EXTERN BZFILE *BZ_API() BZ2_bzWriteOpen(int *bzerror, FILE *f, int blockSize100k, int verbosity, int workFactor)
unsigned int total_out_lo32
Definition: bzlib.h:57
#define BZ_EXTERN
Definition: bzlib.h:94
BZ_EXTERN void BZ_API() BZ2_bzclose(BZFILE *b)
BZ_EXTERN void BZ_API() BZ2_bzReadGetUnused(int *bzerror, BZFILE *b, void **unused, int *nUnused)
Definition: bzlib.h:48
BZ_EXTERN int BZ_API() BZ2_bzDecompressEnd(bz_stream *strm)
BZ_EXTERN int BZ_API() BZ2_bzCompressEnd(bz_stream *strm)
BZ_EXTERN int BZ_API() BZ2_bzBuffToBuffDecompress(char *dest, unsigned int *destLen, char *source, unsigned int sourceLen, int small, int verbosity)
void * state
Definition: bzlib.h:60
BZ_EXTERN int BZ_API() BZ2_bzflush(BZFILE *b)
BZ_EXTERN int BZ_API() BZ2_bzDecompress(bz_stream *strm)
BZ_EXTERN int BZ_API() BZ2_bzCompressInit(bz_stream *strm, int blockSize100k, int verbosity, int workFactor)
BZ_EXTERN int BZ_API() BZ2_bzread(BZFILE *b, void *buf, int len)
BZ_EXTERN void BZ_API() BZ2_bzWriteClose(int *bzerror, BZFILE *b, int abandon, unsigned int *nbytes_in, unsigned int *nbytes_out)
BZ_EXTERN int BZ_API() BZ2_bzDecompressInit(bz_stream *strm, int verbosity, int small)
BZ_EXTERN int BZ_API() BZ2_bzwrite(BZFILE *b, void *buf, int len)
unsigned int avail_out
Definition: bzlib.h:56
void * opaque
Definition: bzlib.h:64
BZ_EXTERN int BZ_API() BZ2_bzBuffToBuffCompress(char *dest, unsigned int *destLen, char *source, unsigned int sourceLen, int blockSize100k, int verbosity, int workFactor)
BZ_EXTERN BZFILE *BZ_API() BZ2_bzReadOpen(int *bzerror, FILE *f, int verbosity, int small, void *unused, int nUnused)
char * next_out
Definition: bzlib.h:55
void BZFILE
Definition: bzlib.h:137
BZ_EXTERN int BZ_API() BZ2_bzCompress(bz_stream *strm, int action)
BZ_EXTERN void BZ_API() BZ2_bzWriteClose64(int *bzerror, BZFILE *b, int abandon, unsigned int *nbytes_in_lo32, unsigned int *nbytes_in_hi32, unsigned int *nbytes_out_lo32, unsigned int *nbytes_out_hi32)
char * next_in
Definition: bzlib.h:50
BZ_EXTERN const char *BZ_API() BZ2_bzlibVersion(void)