~ubuntu-branches/ubuntu/hardy/codeblocks/hardy-backports

« back to all changes in this revision

Viewing changes to src/plugins/contrib/help_plugin/bzip2/bzlib.h

  • Committer: Bazaar Package Importer
  • Author(s): Michael Casadevall
  • Date: 2008-07-17 04:39:23 UTC
  • Revision ID: james.westby@ubuntu.com-20080717043923-gmsy5cwkdjswghkm
Tags: upstream-8.02
ImportĀ upstreamĀ versionĀ 8.02

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
 
 
2
/*-------------------------------------------------------------*/
 
3
/*--- Public header file for the library.                   ---*/
 
4
/*---                                               bzlib.h ---*/
 
5
/*-------------------------------------------------------------*/
 
6
 
 
7
/*--
 
8
  This file is a part of bzip2 and/or libbzip2, a program and
 
9
  library for lossless, block-sorting data compression.
 
10
 
 
11
  Copyright (C) 1996-2000 Julian R Seward.  All rights reserved.
 
12
 
 
13
  Redistribution and use in source and binary forms, with or without
 
14
  modification, are permitted provided that the following conditions
 
15
  are met:
 
16
 
 
17
  1. Redistributions of source code must retain the above copyright
 
18
     notice, this list of conditions and the following disclaimer.
 
19
 
 
20
  2. The origin of this software must not be misrepresented; you must 
 
21
     not claim that you wrote the original software.  If you use this 
 
22
     software in a product, an acknowledgment in the product 
 
23
     documentation would be appreciated but is not required.
 
24
 
 
25
  3. Altered source versions must be plainly marked as such, and must
 
26
     not be misrepresented as being the original software.
 
27
 
 
28
  4. The name of the author may not be used to endorse or promote 
 
29
     products derived from this software without specific prior written 
 
30
     permission.
 
31
 
 
32
  THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
 
33
  OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
 
34
  WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
 
35
  ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
 
36
  DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
 
37
  DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
 
38
  GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
 
39
  INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
 
40
  WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
 
41
  NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
 
42
  SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
43
 
 
44
  Julian Seward, Cambridge, UK.
 
45
  jseward@acm.org
 
46
  bzip2/libbzip2 version 1.0 of 21 March 2000
 
47
 
 
48
  This program is based on (at least) the work of:
 
49
     Mike Burrows
 
50
     David Wheeler
 
51
     Peter Fenwick
 
52
     Alistair Moffat
 
53
     Radford Neal
 
54
     Ian H. Witten
 
55
     Robert Sedgewick
 
56
     Jon L. Bentley
 
57
 
 
58
  For more information on these sources, see the manual.
 
59
--*/
 
60
 
 
61
 
 
62
#ifndef _BZLIB_H
 
63
#define _BZLIB_H
 
64
 
 
65
#ifdef __cplusplus
 
66
extern "C" {
 
67
#endif
 
68
 
 
69
#define BZ_RUN               0
 
70
#define BZ_FLUSH             1
 
71
#define BZ_FINISH            2
 
72
 
 
73
#define BZ_OK                0
 
74
#define BZ_RUN_OK            1
 
75
#define BZ_FLUSH_OK          2
 
76
#define BZ_FINISH_OK         3
 
77
#define BZ_STREAM_END        4
 
78
#define BZ_SEQUENCE_ERROR    (-1)
 
79
#define BZ_PARAM_ERROR       (-2)
 
80
#define BZ_MEM_ERROR         (-3)
 
81
#define BZ_DATA_ERROR        (-4)
 
82
#define BZ_DATA_ERROR_MAGIC  (-5)
 
83
#define BZ_IO_ERROR          (-6)
 
84
#define BZ_UNEXPECTED_EOF    (-7)
 
85
#define BZ_OUTBUFF_FULL      (-8)
 
86
#define BZ_CONFIG_ERROR      (-9)
 
87
 
 
88
typedef 
 
89
   struct {
 
90
      char *next_in;
 
91
      unsigned int avail_in;
 
92
      unsigned int total_in_lo32;
 
93
      unsigned int total_in_hi32;
 
94
 
 
95
      char *next_out;
 
96
      unsigned int avail_out;
 
97
      unsigned int total_out_lo32;
 
98
      unsigned int total_out_hi32;
 
99
 
 
100
      void *state;
 
101
 
 
102
      void *(*bzalloc)(void *,int,int);
 
103
      void (*bzfree)(void *,void *);
 
104
      void *opaque;
 
105
   } 
 
106
   bz_stream;
 
107
 
 
108
 
 
109
#ifndef BZ_IMPORT
 
110
#define BZ_EXPORT
 
111
#endif
 
112
 
 
113
#ifdef _WIN32
 
114
#   include <stdio.h>
 
115
#   include <windows.h>
 
116
#   ifdef small
 
117
      /* windows.h define small to char */
 
118
#      undef small
 
119
#   endif
 
120
#   ifdef BZ_EXPORT
 
121
#   define BZ_API(func) WINAPI func
 
122
#   define BZ_EXTERN extern
 
123
#   else
 
124
   /* import windows dll dynamically */
 
125
#   define BZ_API(func) (WINAPI * func)
 
126
#   define BZ_EXTERN
 
127
#   endif
 
128
#else
 
129
#   define BZ_API(func) func
 
130
#   define BZ_EXTERN extern
 
131
#endif
 
132
 
 
133
 
 
134
/*-- Core (low-level) library functions --*/
 
135
 
 
136
BZ_EXTERN int BZ_API(BZ2_bzCompressInit) ( 
 
137
      bz_stream* strm, 
 
138
      int        blockSize100k, 
 
139
      int        verbosity, 
 
140
      int        workFactor 
 
141
   );
 
142
 
 
143
BZ_EXTERN int BZ_API(BZ2_bzCompress) ( 
 
144
      bz_stream* strm, 
 
145
      int action 
 
146
   );
 
147
 
 
148
BZ_EXTERN int BZ_API(BZ2_bzCompressEnd) ( 
 
149
      bz_stream* strm 
 
150
   );
 
151
 
 
152
BZ_EXTERN int BZ_API(BZ2_bzDecompressInit) ( 
 
153
      bz_stream *strm, 
 
154
      int       verbosity, 
 
155
      int       small
 
156
   );
 
157
 
 
158
BZ_EXTERN int BZ_API(BZ2_bzDecompress) ( 
 
159
      bz_stream* strm 
 
160
   );
 
161
 
 
162
BZ_EXTERN int BZ_API(BZ2_bzDecompressEnd) ( 
 
163
      bz_stream *strm 
 
164
   );
 
165
 
 
166
 
 
167
 
 
168
/*-- High(er) level library functions --*/
 
169
 
 
170
#ifndef BZ_NO_STDIO
 
171
#define BZ_MAX_UNUSED 5000
 
172
 
 
173
typedef void BZFILE;
 
174
 
 
175
BZ_EXTERN BZFILE* BZ_API(BZ2_bzReadOpen) ( 
 
176
      int*  bzerror,   
 
177
      FILE* f, 
 
178
      int   verbosity, 
 
179
      int   small,
 
180
      void* unused,    
 
181
      int   nUnused 
 
182
   );
 
183
 
 
184
BZ_EXTERN void BZ_API(BZ2_bzReadClose) ( 
 
185
      int*    bzerror, 
 
186
      BZFILE* b 
 
187
   );
 
188
 
 
189
BZ_EXTERN void BZ_API(BZ2_bzReadGetUnused) ( 
 
190
      int*    bzerror, 
 
191
      BZFILE* b, 
 
192
      void**  unused,  
 
193
      int*    nUnused 
 
194
   );
 
195
 
 
196
BZ_EXTERN int BZ_API(BZ2_bzRead) ( 
 
197
      int*    bzerror, 
 
198
      BZFILE* b, 
 
199
      void*   buf, 
 
200
      int     len 
 
201
   );
 
202
 
 
203
BZ_EXTERN BZFILE* BZ_API(BZ2_bzWriteOpen) ( 
 
204
      int*  bzerror,      
 
205
      FILE* f, 
 
206
      int   blockSize100k, 
 
207
      int   verbosity, 
 
208
      int   workFactor 
 
209
   );
 
210
 
 
211
BZ_EXTERN void BZ_API(BZ2_bzWrite) ( 
 
212
      int*    bzerror, 
 
213
      BZFILE* b, 
 
214
      void*   buf, 
 
215
      int     len 
 
216
   );
 
217
 
 
218
BZ_EXTERN void BZ_API(BZ2_bzWriteClose) ( 
 
219
      int*          bzerror, 
 
220
      BZFILE*       b, 
 
221
      int           abandon, 
 
222
      unsigned int* nbytes_in, 
 
223
      unsigned int* nbytes_out 
 
224
   );
 
225
 
 
226
BZ_EXTERN void BZ_API(BZ2_bzWriteClose64) ( 
 
227
      int*          bzerror, 
 
228
      BZFILE*       b, 
 
229
      int           abandon, 
 
230
      unsigned int* nbytes_in_lo32, 
 
231
      unsigned int* nbytes_in_hi32, 
 
232
      unsigned int* nbytes_out_lo32, 
 
233
      unsigned int* nbytes_out_hi32
 
234
   );
 
235
#endif
 
236
 
 
237
 
 
238
/*-- Utility functions --*/
 
239
 
 
240
BZ_EXTERN int BZ_API(BZ2_bzBuffToBuffCompress) ( 
 
241
      char*         dest, 
 
242
      unsigned int* destLen,
 
243
      char*         source, 
 
244
      unsigned int  sourceLen,
 
245
      int           blockSize100k, 
 
246
      int           verbosity, 
 
247
      int           workFactor 
 
248
   );
 
249
 
 
250
BZ_EXTERN int BZ_API(BZ2_bzBuffToBuffDecompress) ( 
 
251
      char*         dest, 
 
252
      unsigned int* destLen,
 
253
      char*         source, 
 
254
      unsigned int  sourceLen,
 
255
      int           small, 
 
256
      int           verbosity 
 
257
   );
 
258
 
 
259
 
 
260
/*--
 
261
   Code contributed by Yoshioka Tsuneo
 
262
   (QWF00133@niftyserve.or.jp/tsuneo-y@is.aist-nara.ac.jp),
 
263
   to support better zlib compatibility.
 
264
   This code is not _officially_ part of libbzip2 (yet);
 
265
   I haven't tested it, documented it, or considered the
 
266
   threading-safeness of it.
 
267
   If this code breaks, please contact both Yoshioka and me.
 
268
--*/
 
269
 
 
270
BZ_EXTERN const char * BZ_API(BZ2_bzlibVersion) (
 
271
      void
 
272
   );
 
273
 
 
274
#ifndef BZ_NO_STDIO
 
275
BZ_EXTERN BZFILE * BZ_API(BZ2_bzopen) (
 
276
      const char *path,
 
277
      const char *mode
 
278
   );
 
279
 
 
280
BZ_EXTERN BZFILE * BZ_API(BZ2_bzdopen) (
 
281
      int        fd,
 
282
      const char *mode
 
283
   );
 
284
         
 
285
BZ_EXTERN int BZ_API(BZ2_bzread) (
 
286
      BZFILE* b, 
 
287
      void* buf, 
 
288
      int len 
 
289
   );
 
290
 
 
291
BZ_EXTERN int BZ_API(BZ2_bzwrite) (
 
292
      BZFILE* b, 
 
293
      void*   buf, 
 
294
      int     len 
 
295
   );
 
296
 
 
297
BZ_EXTERN int BZ_API(BZ2_bzflush) (
 
298
      BZFILE* b
 
299
   );
 
300
 
 
301
BZ_EXTERN void BZ_API(BZ2_bzclose) (
 
302
      BZFILE* b
 
303
   );
 
304
 
 
305
BZ_EXTERN const char * BZ_API(BZ2_bzerror) (
 
306
      BZFILE *b, 
 
307
      int    *errnum
 
308
   );
 
309
#endif
 
310
 
 
311
#ifdef __cplusplus
 
312
}
 
313
#endif
 
314
 
 
315
#endif
 
316
 
 
317
/*-------------------------------------------------------------*/
 
318
/*--- end                                           bzlib.h ---*/
 
319
/*-------------------------------------------------------------*/