~ubuntu-branches/ubuntu/quantal/genometools/quantal-backports

« back to all changes in this revision

Viewing changes to src/external/bzip2-1.0.6/bzlib.h

  • Committer: Package Import Robot
  • Author(s): Sascha Steinbiss
  • Date: 2012-07-09 14:10:23 UTC
  • Revision ID: package-import@ubuntu.com-20120709141023-juuu4spm6chqsf9o
Tags: upstream-1.4.1
ImportĀ upstreamĀ versionĀ 1.4.1

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 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 <jseward@bzip.org>
 
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
 
 
100
BZ_EXTERN int BZ_API(BZ2_bzCompressInit) ( 
 
101
      bz_stream* strm, 
 
102
      int        blockSize100k, 
 
103
      int        verbosity, 
 
104
      int        workFactor 
 
105
   );
 
106
 
 
107
BZ_EXTERN int BZ_API(BZ2_bzCompress) ( 
 
108
      bz_stream* strm, 
 
109
      int action 
 
110
   );
 
111
 
 
112
BZ_EXTERN int BZ_API(BZ2_bzCompressEnd) ( 
 
113
      bz_stream* strm 
 
114
   );
 
115
 
 
116
BZ_EXTERN int BZ_API(BZ2_bzDecompressInit) ( 
 
117
      bz_stream *strm, 
 
118
      int       verbosity, 
 
119
      int       small
 
120
   );
 
121
 
 
122
BZ_EXTERN int BZ_API(BZ2_bzDecompress) ( 
 
123
      bz_stream* strm 
 
124
   );
 
125
 
 
126
BZ_EXTERN int BZ_API(BZ2_bzDecompressEnd) ( 
 
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
 
 
148
BZ_EXTERN void BZ_API(BZ2_bzReadClose) ( 
 
149
      int*    bzerror, 
 
150
      BZFILE* b 
 
151
   );
 
152
 
 
153
BZ_EXTERN void BZ_API(BZ2_bzReadGetUnused) ( 
 
154
      int*    bzerror, 
 
155
      BZFILE* b, 
 
156
      void**  unused,  
 
157
      int*    nUnused 
 
158
   );
 
159
 
 
160
BZ_EXTERN int BZ_API(BZ2_bzRead) ( 
 
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
 
 
175
BZ_EXTERN void BZ_API(BZ2_bzWrite) ( 
 
176
      int*    bzerror, 
 
177
      BZFILE* b, 
 
178
      void*   buf, 
 
179
      int     len 
 
180
   );
 
181
 
 
182
BZ_EXTERN void BZ_API(BZ2_bzWriteClose) ( 
 
183
      int*          bzerror, 
 
184
      BZFILE*       b, 
 
185
      int           abandon, 
 
186
      unsigned int* nbytes_in, 
 
187
      unsigned int* nbytes_out 
 
188
   );
 
189
 
 
190
BZ_EXTERN void BZ_API(BZ2_bzWriteClose64) ( 
 
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
 
 
204
BZ_EXTERN int BZ_API(BZ2_bzBuffToBuffCompress) ( 
 
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
 
 
214
BZ_EXTERN int BZ_API(BZ2_bzBuffToBuffDecompress) ( 
 
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 (tsuneo@rr.iij4u.or.jp)
 
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
         
 
248
BZ_EXTERN int BZ_API(BZ2_bzread) (
 
249
      BZFILE* b, 
 
250
      void* buf, 
 
251
      int len 
 
252
   );
 
253
 
 
254
BZ_EXTERN int BZ_API(BZ2_bzwrite) (
 
255
      BZFILE* b, 
 
256
      void*   buf, 
 
257
      int     len 
 
258
   );
 
259
 
 
260
BZ_EXTERN int BZ_API(BZ2_bzflush) (
 
261
      BZFILE* b
 
262
   );
 
263
 
 
264
BZ_EXTERN void BZ_API(BZ2_bzclose) (
 
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
/*-------------------------------------------------------------*/