annotate win32-mingw/include/bzlib.h @ 15:5925d5c80ae7

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