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