annotate src/bzip2-1.0.6/bzlib.h @ 23:619f715526df sv_v2.1

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