LCOV - code coverage report
Current view: top level - ballet/bzip2 - bzlib.h (source / functions) Hit Total Coverage
Test: cov.lcov Lines: 0 16 0.0 %
Date: 2026-06-30 05:50:37 Functions: 0 0 -

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

Generated by: LCOV version 1.14