annotate win64-msvc/include/bzlib.h @ 45:d530e058a1c1

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