ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger/*-------------------------------------------------------------*/
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger/*--- Public header file for the library. ---*/
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger/*--- bzlib.h ---*/
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger/*-------------------------------------------------------------*/
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger/* ------------------------------------------------------------------
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger This file is part of bzip2/libbzip2, a program and library for
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger lossless, block-sorting data compression.
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger
b9071c34cb3102be3bbda85c57015ea13193aa6bGordon Ross bzip2/libbzip2 version 1.0.6 of 6 September 2010
b9071c34cb3102be3bbda85c57015ea13193aa6bGordon Ross Copyright (C) 1996-2010 Julian Seward <jseward@bzip.org>
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger Please read the WARNING, DISCLAIMER and PATENTS sections in the
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger README file.
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger This program is released under the terms of the license contained
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger in the file LICENSE.
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger ------------------------------------------------------------------ */
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger#ifndef _BZLIB_H
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger#define _BZLIB_H
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger#ifdef _KERNEL
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger#define BZ_NO_STDIO
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger#endif
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger#ifdef __cplusplus
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plaugerextern "C" {
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger#endif
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger#define BZ_RUN 0
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger#define BZ_FLUSH 1
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger#define BZ_FINISH 2
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger#define BZ_OK 0
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger#define BZ_RUN_OK 1
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger#define BZ_FLUSH_OK 2
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger#define BZ_FINISH_OK 3
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger#define BZ_STREAM_END 4
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger#define BZ_SEQUENCE_ERROR (-1)
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger#define BZ_PARAM_ERROR (-2)
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger#define BZ_MEM_ERROR (-3)
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger#define BZ_DATA_ERROR (-4)
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger#define BZ_DATA_ERROR_MAGIC (-5)
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger#define BZ_IO_ERROR (-6)
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger#define BZ_UNEXPECTED_EOF (-7)
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger#define BZ_OUTBUFF_FULL (-8)
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger#define BZ_CONFIG_ERROR (-9)
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plaugertypedef
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger struct {
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger char *next_in;
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger unsigned int avail_in;
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger unsigned int total_in_lo32;
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger unsigned int total_in_hi32;
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger char *next_out;
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger unsigned int avail_out;
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger unsigned int total_out_lo32;
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger unsigned int total_out_hi32;
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger void *state;
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger void *(*bzalloc)(void *,int,int);
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger void (*bzfree)(void *,void *);
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger void *opaque;
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger }
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger bz_stream;
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger#ifndef BZ_IMPORT
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger#define BZ_EXPORT
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger#endif
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger#ifndef BZ_NO_STDIO
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger/* Need a definitition for FILE */
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger#include <stdio.h>
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger#endif
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger#ifdef _WIN32
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger# include <windows.h>
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger# ifdef small
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger /* windows.h define small to char */
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger# undef small
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger# endif
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger# ifdef BZ_EXPORT
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger# define BZ_API(func) WINAPI func
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger# define BZ_EXTERN extern
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger# else
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger /* import windows dll dynamically */
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger# define BZ_API(func) (WINAPI * func)
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger# define BZ_EXTERN
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger# endif
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger#else
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger# define BZ_API(func) func
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger# define BZ_EXTERN extern
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger#endif
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger/*-- Core (low-level) library functions --*/
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger#define BZ2_BZALLOC_ALIGN (64)
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave PlaugerBZ_EXTERN int BZ_API(BZ2_bzCompressInit) (
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger bz_stream* strm,
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger int blockSize100k,
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger int verbosity,
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger int workFactor
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger );
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger
b9071c34cb3102be3bbda85c57015ea13193aa6bGordon RossBZ_EXTERN int BZ_API(BZ2_bzCompressInitSize) (
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger int blockSize100k
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger );
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave PlaugerBZ_EXTERN int BZ_API(BZ2_bzCompressReset) (
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger bz_stream* strm
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger );
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave PlaugerBZ_EXTERN int BZ_API(BZ2_bzCompress) (
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger bz_stream* strm,
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger int action
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger );
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave PlaugerBZ_EXTERN int BZ_API(BZ2_bzCompressEnd) (
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger bz_stream* strm
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger );
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave PlaugerBZ_EXTERN int BZ_API(BZ2_bzDecompressInit) (
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger bz_stream *strm,
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger int verbosity,
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger int small
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger );
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave PlaugerBZ_EXTERN int BZ_API(BZ2_bzDecompressReset) (
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger bz_stream* strm
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger );
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave PlaugerBZ_EXTERN int BZ_API(BZ2_bzDecompress) (
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger bz_stream* strm
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger );
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave PlaugerBZ_EXTERN int BZ_API(BZ2_bzDecompressEnd) (
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger bz_stream *strm
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger );
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave PlaugerBZ_EXTERN const char * BZ_API(BZ2_bzErrorString) (
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger int error_code
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger );
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger/*-- High(er) level library functions --*/
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger#ifndef BZ_NO_STDIO
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger#define BZ_MAX_UNUSED 5000
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plaugertypedef void BZFILE;
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave PlaugerBZ_EXTERN BZFILE* BZ_API(BZ2_bzReadOpen) (
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger int* bzerror,
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger FILE* f,
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger int verbosity,
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger int small,
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger void* unused,
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger int nUnused
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger );
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave PlaugerBZ_EXTERN void BZ_API(BZ2_bzReadClose) (
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger int* bzerror,
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger BZFILE* b
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger );
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave PlaugerBZ_EXTERN void BZ_API(BZ2_bzReadGetUnused) (
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger int* bzerror,
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger BZFILE* b,
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger void** unused,
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger int* nUnused
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger );
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave PlaugerBZ_EXTERN int BZ_API(BZ2_bzRead) (
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger int* bzerror,
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger BZFILE* b,
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger void* buf,
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger int len
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger );
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave PlaugerBZ_EXTERN BZFILE* BZ_API(BZ2_bzWriteOpen) (
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger int* bzerror,
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger FILE* f,
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger int blockSize100k,
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger int verbosity,
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger int workFactor
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger );
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave PlaugerBZ_EXTERN void BZ_API(BZ2_bzWrite) (
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger int* bzerror,
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger BZFILE* b,
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger void* buf,
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger int len
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger );
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave PlaugerBZ_EXTERN void BZ_API(BZ2_bzWriteClose) (
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger int* bzerror,
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger BZFILE* b,
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger int abandon,
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger unsigned int* nbytes_in,
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger unsigned int* nbytes_out
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger );
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave PlaugerBZ_EXTERN void BZ_API(BZ2_bzWriteClose64) (
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger int* bzerror,
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger BZFILE* b,
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger int abandon,
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger unsigned int* nbytes_in_lo32,
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger unsigned int* nbytes_in_hi32,
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger unsigned int* nbytes_out_lo32,
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger unsigned int* nbytes_out_hi32
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger );
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger#endif
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger/*-- Utility functions --*/
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave PlaugerBZ_EXTERN int BZ_API(BZ2_bzBuffToBuffCompress) (
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger char* dest,
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger unsigned int* destLen,
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger char* source,
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger unsigned int sourceLen,
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger int blockSize100k,
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger int verbosity,
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger int workFactor
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger );
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave PlaugerBZ_EXTERN int BZ_API(BZ2_bzBuffToBuffDecompress) (
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger char* dest,
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger unsigned int* destLen,
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger char* source,
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger unsigned int sourceLen,
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger int small,
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger int verbosity
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger );
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger/*--
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger Code contributed by Yoshioka Tsuneo (tsuneo@rr.iij4u.or.jp)
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger to support better zlib compatibility.
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger This code is not _officially_ part of libbzip2 (yet);
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger I haven't tested it, documented it, or considered the
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger threading-safeness of it.
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger If this code breaks, please contact both Yoshioka and me.
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger--*/
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave PlaugerBZ_EXTERN const char * BZ_API(BZ2_bzlibVersion) (
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger void
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger );
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger#ifndef BZ_NO_STDIO
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave PlaugerBZ_EXTERN BZFILE * BZ_API(BZ2_bzopen) (
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger const char *path,
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger const char *mode
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger );
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave PlaugerBZ_EXTERN BZFILE * BZ_API(BZ2_bzdopen) (
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger int fd,
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger const char *mode
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger );
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave PlaugerBZ_EXTERN int BZ_API(BZ2_bzread) (
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger BZFILE* b,
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger void* buf,
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger int len
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger );
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave PlaugerBZ_EXTERN int BZ_API(BZ2_bzwrite) (
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger BZFILE* b,
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger void* buf,
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger int len
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger );
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave PlaugerBZ_EXTERN int BZ_API(BZ2_bzflush) (
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger BZFILE* b
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger );
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave PlaugerBZ_EXTERN void BZ_API(BZ2_bzclose) (
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger BZFILE* b
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger );
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave PlaugerBZ_EXTERN const char * BZ_API(BZ2_bzerror) (
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger BZFILE *b,
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger int *errnum
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger );
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger#endif
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger#ifdef __cplusplus
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger}
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger#endif
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger/*-------------------------------------------------------------*/
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger/*--- end bzlib.h ---*/
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger/*-------------------------------------------------------------*/
ca3e8d88e8c867355e441fbc914c52e7416fc537Dave Plauger#endif /* _BZLIB_H */