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