annotate CSP2/CSP2_env/env-d9b9114564458d9d-741b3de822f2aaca6c6caa4325c4afce/include/bzlib.h @ 69:33d812a61356

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