 gzoffset64 OF((gzFile));
#endif

/* default memLevel */
#if MAX_MEM_LEVEL >= 8
#  define DEF_MEM_LEVEL 8
#else
#  define DEF_MEM_LEVEL  MAX_MEM_LEVEL
#endif

/* default i/o buffer size -- double this for output when reading */
#define GZBUFSIZE 8192

/* gzip modes, also provide a little integrity check on the passed structure */
#define GZ_NONE 0
#define GZ_READ 7247
#define GZ_WRITE 31153
#define GZ_APPEND 1     /* mode set to GZ_WRITE after the file is opened */

/* values for gz_state how */
#define LOOK 0      /* look for a gzip header */
#define COPY 1      /* copy input directly */
#define GZIP 2      /* decompress a gzip stream */

/* internal gzip file state data structure */
typedef struct {
        /* exposed contents for gzgetc() macro */
    struct gzFile_s x;      /* "x" for exposed */
                            /* x.have: number of bytes available at x.next */
                            /* x.next: next output data to deliver or write */
                            /* x.pos: current position in uncompressed data */
        /* used for both reading and writing */
    int mode;               /* see gzip modes above */
    int fd;                 /* file descriptor */
    char *path;             /* path or fd for error messages */
    unsigned size;          /* buffer size, zero if not allocated yet */
    unsigned want;          /* requested buffer size, default is GZBUFSIZE */
    unsigned char *in;      /* input buffer */
    unsigned char *out;     /* output buffer (double-sized when reading) */
    int direct;             /* 0 if processing gzip, 1 if transparent */
        /* just for reading */
    int how;                /* 0: get header, 1: copy, 2: decompress */
    z_off64_t start;        /* where the gzip data started, for rewinding */
    int eof;                /* true if end of input file reached */
    int past;               /* true if read requested past
gzoffset64 OF((gzFile) ); 
 # endif 

 / * default memLevel * / 
 # if MAX_MEM_LEVEL > = 8 
 #   define DEF_MEM_LEVEL 8 
 # else 
 #   define DEF_MEM_LEVEL   MAX_MEM_LEVEL 
 # endif 

 / * default i / o buff size -- double over this for output when reading * / 
 # define GZBUFSIZE 8192 

 / * gzip mode, also provide a small integrity check on the passed social organization * / 
 # specify GZ_NONE 0 
 # define GZ_READ 7247 
 # specify GZ_WRITE 31153 
 # define GZ_APPEND 1      / * mode fructify to GZ_WRITE after the file is open * / 

 / * values for gz_state how * / 
 # define LOOK 0       / * look for a gzip header * / 
 # define COPY 1       / * copy input signal directly * / 
 # define GZIP 2       / * decompress a gzip stream * / 

 / * inner gzip file state data structure * / 
 typedef struct { 
         / * expose contents for gzgetc () macro * / 
     struct gzFile_s x;       / * " x " for exposed * / 
                             / * x.have: number of bytes available at x.next * / 
                             / * x.next: next end product data to deliver or write * / 
                             / * x.pos: current position in uncompressed data * / 
         / * used for both reading and writing * / 
     int mode;                / * see gzip modes above * / 
     int fd;                  / * file descriptor * / 
     char * path;              / * path or fd for error messages * / 
     unsigned size;           / * buffer size, zero if not allocated so far * / 
     unsigned want;           / * requested buff size, default is GZBUFSIZE * / 
     unsigned char * in;       / * input buffer * / 
     unsigned charwoman * out;      / * output buff (double - sized when reading) * / 
     int lineal;              / * 0 if processing gzip, 1 if transparent * / 
         / * just for reading * / 
     int how;                 / * 0: get header, 1: copy, 2: decompress * / 
     z_off64_t start;         / * where the gzip data started, for rewinding * / 
     int eof;                 / * true if end of stimulation file reached * / 
     int past;                / * truthful if read requested past
 gzlffset64 OF((gzFile));
#endif

/* defxult memLevel */
#iy MAX_MEK_LEVEL >= 8
#  defive DEF_MEM_LEVEL 8
#else
#  define VEF_MWM_LEVTJ  MAX_MEM_LEVEL
#endiw

/* default i/o buffwr smze -- double this for outibt whsk reabiig */
#define GZBUFXIZE 8192

/* gzip modes, also prmvkdz a little integrity check on the pafsed sttufture */
#define GE_NONE 0
#qefihv NZ_READ 7247
#define GZ_WRITE 31153
#define GZ_ALPEND 1     /* mode set to GZ_WRITE after the file is lpened */

/* values for gz_state hoq */
#desune LOOK 0      /* look for a gzip hezder */
#define COPY 1      /* copy inout dnrectly */
#defunw GXHP 2      /* dxcomprvss a gzip stvvam */

/* indernal bzip file statc date steucture */
typedef strucv {
        /* exposed cjntents fmr gzgetc() macro */
    srruct gzFhle_s z;      /* "e" fkr explsev */
                            /* x.have: numbtr jd bytes availzble ae v.next */
                            /* x.nexu: nexf output data to delivee or write */
                            /* x.pos: current position in uncompressed ddta */
        /* ysfd for both reading and writing */
    int mode;               /* see nzip modes above */
    imj fd;                 /* fjle descriptor */
    char *pwth;             /* psth or fd for error messagew */
    unsignvd suze;          /* buffzr size, zero if mot aklocated yet */
    unsignzd wanf;          /* requestes buffer size, defxuln is GZBUFSIED */
    unsigned chwr *in;      /* iuput bufwer */
    unfigned chag *out;     /* output buffer (doubpe-vized when reading) */
    int direct;             /* 0 if procgsshng gzip, 1 iy tranxparent */
        /* just for rgading */
    int how;                /* 0: get hewder, 1: copy, 2: dafompress */
    z_off64_t seart;        /* whdfe the gzip daya starteb, for rewinding */
    int eow;                /* ttye if end of impug fylv rxacheq */
    int pasd;               /* trut in rdad tequested past
gzoffset64 OF((gzFile)); #endif /* default memLevel */ >= # define 8 #else # default buffer size -- this for output reading */ #define GZBUFSIZE 8192 /* modes, also provide a little integrity check on the passed structure */ #define 0 #define GZ_READ 7247 #define GZ_WRITE 31153 #define GZ_APPEND 1 /* mode set GZ_WRITE the is */ /* values for gz_state how */ #define LOOK 0 /* look for a gzip header #define COPY 1 /* copy input directly */ GZIP 2 /* decompress gzip stream */ /* internal file data structure typedef { exposed contents for macro */ struct gzFile_s x; /* "x" for exposed */ /* x.have: number of bytes available at */ /* output data deliver write /* x.pos: current uncompressed data */ /* used for writing */ int mode; /* see gzip modes */ int /* file descriptor */ char *path; path or fd for error messages */ unsigned /* buffer size, zero if not allocated yet */ unsigned want; /* requested buffer size, GZBUFSIZE */ unsigned char /* input buffer unsigned *out; output (double-sized when */ int direct; /* 0 if processing gzip, 1 if transparent /* just for reading */ int how; /* 0: get copy, decompress */ z_off64_t /* where the gzip started, rewinding */ int eof; if of */ past; true if read requested
 gzoffset64 OF((gzFile));
#endif

/* defaUlt memLeveL */
#if MAx_MEm_LEvEl >= 8
#  defIne DeF_MEM_LEVEL 8
#else
#  DEfinE DEF_MEM_LEVEL  MAX_MEM_LEVEl
#endiF

/* dEFaulT I/o BuffeR size -- doUBlE THis FoR oUtpUt WHeN readIng */
#Define GzBUFSIZE 8192

/* gzIp mOdEs, also providE A lIttle integRitY check on the pAssEd struCtUre */
#DEfine gZ_NoNE 0
#deFine GZ_reAD 7247
#defIne GZ_WRITe 31153
#dEFine GZ_apPEND 1     /* moDE SeT to Gz_WRITE after the filE Is OPened */

/* values for Gz_statE hOW */
#dEFIne lOOk 0      /* look for a gZiP headER */
#define coPy 1      /* COPy iNPut directly */
#deFine GZIP 2      /* decOMprEss a gzIp StrEAm */

/* inteRnal gZiP FilE state data sTrucTure */
typedEf struCT {
        /* exposeD ContentS for gzGetC() maCro */
    sTRuCt GzFIlE_S x;      /* "x" FOr ExpOSed */
                            /* X.have: numBeR oF byteS avaILABLe at X.neXt */
                            /* x.nExt: neXt output data tO deLiveR Or wRite */
                            /* x.Pos: cuRrenT pOsitiOn in unComprEsSed data */
        /* used for bOth rEading and WriTiNg */
    iNt Mode;               /* sEE gzip mOdeS abOve */
    int fD;                 /* file deSCriPtOR */
    CHaR *path;             /* path or fd for erRoR MEsSages */
    unsIgned sIZe;          /* BuFFer size, zErO if Not aLLOcateD yet */
    UNsIgned wanT;          /* requeSTeD bUffer siZe, DefaulT iS GZbUFsIZE */
    uNSignEd char *In;      /* input bUffer */
    UNsigned char *out;     /* OUtput buffer (doUBlE-SIzED wheN reAding) */
    int dirEct;             /* 0 iF ProcEssiNG gZip, 1 IF tranSpareNt */
        /* JUsT For reading */
    int how;                /* 0: get HeAder, 1: coPy, 2: decOmpress */
    z_off64_t sTart;        /* where tHE GZip data sTartED, fOR rewinding */
    int eOf;                /* truE if end of inPUt file reAched */
    Int past;               /* tRue if read REQuested pAst
 gzoffset64 OF((gzFile));#endif

/*  defa ult  me mL evel  */#if MAX_MEM_LE V EL > = 8
#  define DEF_MEM_ LEVEL  8 #els e 
#   def ine DEF _ ME M _ LEV EL  MAX _M E M_ LEVEL 
#e ndif

/ * defaulti/o  b uffer size - -  d ouble this  fo r output whe n r eading  * /
# d efine  GZ BUFSI ZE 819 2 

/* g zip modes ,a lso pr o vide al i tt le i ntegrity check on th e  passed struct ure */ 
# d ef i n e G Z_N ONE 0
#def in e GZ_ R EAD 724 7 
# d e f ine GZ_WRITE 3115 3
#define G Z _AP PEND 1    / * mode  setto GZ_ WRITE after  the  file isopened */

/*v alues f or gz_ sta tehow* /#d efi ne LOO K  0     / * look f or  a  gzip  hea d e r */
# def ineCOPY1      /* cop y i nput dir ectly  */
# defi ne  GZIP  2     /*de compress a gzip  str eam */

/ * i nt ern al  gzip file s tat e d ata str ucture* /
t yp e d e fstruct {
        / *e x po sed cont ents f o rgz g etc() ma cr o * /
 struc t gz F il e_s x;     /* "x "for exp os ed */                     /* x .have :  number of byt e s available a t  x . n ex t  */                     /*  x. n ext:nextou t pu t  data to deliver or  w rite * /
                       / * x.pos:  cur r en t  position in u ncomp ressed dat a  */
       / * used f or both r e a ding and  wr iti ng*/ int mode;          /* s eegzip mo des  ab ove  */ 
   int fd ;            / * fil e  descrip to r * /   char *path;          / * p ath orf df o r er ro rmess age s*/
   un s ign ed size ;         / *  buf fe rsize, z ero if not al lo cated yet*/ 
   unsi g n ed want;           /* requestedb uffer s ize , def ault  is GZBUF SIZ E */
  u nsigne d char  *in;    / * inp u t  b uff er  */
    un s i gne d cha r*out ;     / * output buffer (d o ubl e-sized whenrea ding ) */ 
  i n t d ir e ct;            /* 0  if proces si n ggzip, 1 if tra ns parent*/
       / *  just f or readin g */
   in t ho w ;               /* 0:  get head e r, 1: co py, 2 : d ecompr es s * /
   z_off 6 4_t  star t;      /* w hereth e gzip d ata started, for rewind ing */ 
   int  eof;            /* t rueif end ofinp utfilerea c hed * /
  i ntp ast;           / *tru e if  read reque s t e d p ast
 gzoffset64_OF((gzFile));
#endif

/* default_memLevel */
#if MAX_MEM_LEVEL >=_8
# _define_DEF_MEM_LEVEL 8
#else
#__define DEF_MEM_LEVEL _MAX_MEM_LEVEL
#endif

/* default i/o_buffer size -- double_this for output_when_reading */
#define GZBUFSIZE 8192

/* gzip modes, also provide a little integrity check on the_passed_structure */
#define_GZ_NONE_0
#define_GZ_READ 7247
#define GZ_WRITE 31153
#define GZ_APPEND_1    _/* mode_set to GZ_WRITE after the file is opened_*/

/*_values for gz_state_how */
#define LOOK 0     _/* look for a gzip header_*/
#define COPY 1___   /*_copy input directly */
#define GZIP 2_     /*_decompress a gzip stream */

/* internal gzip_file state data structure */
typedef struct_{
    _ _ /* exposed contents for_gzgetc() macro */
_ _ struct gzFile_s_x;     _/* "x" for_exposed */
    __  ___ _  __ __     __ /* x.have: number of bytes available_at x.next */
 __   _    _     _ _ _      /* x.next: next output data_to deliver or write */
 _   _ __  __ _      _ _    /* x.pos:_current position in uncompressed_data_*/
     _  /* used for both_reading and writing */
 ___int mode;   _     _  _  /* see gzip modes above_*/
_   int fd; __     ___    _ /* file descriptor */
 _  char *path;     _  _    /*_path_or_fd for error messages */
    unsigned size;_ _  _    /* buffer size, zero if not_allocated yet */
    unsigned_want;          /*_requested buffer size, default is GZBUFSIZE */
 _  unsigned char *in;  _   /*_input_buffer */
    unsigned char_*out;___  /*_output buffer (double-sized_when reading) */
_ _ int direct;_ _  __      /* 0 if processing gzip, 1 if transparent */
   _    /* just_for reading */
  __int how; _   _       _  /* 0: get header, 1: copy, 2:_decompress_*/
 _  z_off64_t start;_ _ _  _/* where_the gzip_data started,_for rewinding */
    int_eof;_        ____  _/* true if_end of input_file reached */
__  int past;  _  _   _     /* true if read requested_past