//bvb#include "timemmap.h"

#define OF(args)  args
#define STATIC static

#define WSIZE 0x8000		/* Slideing window size (defined as var
				 * "window" below) must be at least 32k, 
				 * and a power of two.  This is the
				 * data work window used for input buffer
				 * by the input routine */

typedef unsigned char  uch;
typedef unsigned short ush;
typedef unsigned long  ulg;


static char *output_data;
static ulg output_ptr;

#ifndef NULL
#define NULL 0
#endif

#define NOMEMCPY                /* Does routine memcpy exist? */

//bvb static uch *inbuf;		/* input buffer */
static uch *window;

//bvb static uch outwin[WSIZE];

//bvb static unsigned insize;		/* valid bytes in inbuf */
static unsigned inptr;		/* index of next byte to process in inbuf */

static unsigned outcnt;		/* bytes in output buffer */

/* gzip flag byte */
#define ASCII_FLAG   0x01 /* bit 0 set: file probably ascii text */
#define CONTINUATION 0x02 /* bit 1 set: continuation of multi-part gzip file */
#define EXTRA_FIELD  0x04 /* bit 2 set: extra field present */
#define ORIG_NAME    0x08 /* bit 3 set: original file name present */
#define COMMENT      0x10 /* bit 4 set: file comment present */
#define ENCRYPTED    0x20 /* bit 5 set: file is encrypted */
#define RESERVED     0xC0 /* bit 6,7:   reserved */

/* If BMAX needs to be larger than 16, then h and x[] should be ulg. */
#define BMAX 16         /* maximum bit length of any code (16 for explode) */
#define N_MAX 288       /* maximum number of codes in any set */

static char *input_data;

static void *freememstart;