kopia lustrzana https://github.com/sp9skp/spdxl
99 wiersze
1.7 KiB
C
99 wiersze
1.7 KiB
C
/*
|
|
* dxlAPRS toolchain
|
|
*
|
|
* Copyright (C) Christian Rabler <oe5dxl@oevsv.at>
|
|
*
|
|
* SPDX-License-Identifier: GPL-2.0+
|
|
*/
|
|
|
|
|
|
#ifndef deflate_H_
|
|
#define deflate_H_
|
|
#ifndef X2C_H_
|
|
#include "X2C.h"
|
|
#endif
|
|
|
|
#define deflate_BSIZE 32768
|
|
|
|
#define deflate_HASHSIZE 4096
|
|
|
|
#define deflate_CMPSIZE 257
|
|
|
|
#define deflate_CSIZE 2048
|
|
|
|
#define deflate_SWITCHTOCOMP (-32)
|
|
|
|
#define deflate_SWITCHTORAW 32
|
|
|
|
#define deflate_MAXRAWBLOCK 16384
|
|
|
|
#define deflate_ENDCOMP 256
|
|
|
|
#define deflate_FLUSHEOF "\002"
|
|
|
|
#define deflate_FLUSHQUICK "\001"
|
|
|
|
typedef uint8_t deflate_SET8;
|
|
|
|
typedef uint32_t deflate_SET32;
|
|
|
|
struct deflate_CONTEXT;
|
|
|
|
|
|
struct deflate_CONTEXT {
|
|
char ring[32768];
|
|
uint32_t fill;
|
|
uint16_t hashchain[32768];
|
|
uint32_t fill1;
|
|
uint16_t hash[4096];
|
|
uint32_t fill2;
|
|
char matchbuf[257];
|
|
uint32_t combuf[2048];
|
|
uint32_t txbitbuf;
|
|
uint32_t txbitc;
|
|
uint32_t lastidx;
|
|
uint32_t wp;
|
|
uint32_t savep;
|
|
uint32_t flen;
|
|
uint32_t fdist;
|
|
uint32_t mlen;
|
|
uint32_t rawr;
|
|
uint32_t comr;
|
|
uint32_t raww;
|
|
uint32_t rawwo;
|
|
uint32_t comw;
|
|
int32_t of;
|
|
int32_t sizedif;
|
|
char wascomp;
|
|
};
|
|
|
|
struct deflate_XCONTEXT;
|
|
|
|
|
|
struct deflate_XCONTEXT {
|
|
char ring[32768];
|
|
uint32_t wp;
|
|
uint32_t rxbitbuf;
|
|
uint32_t lencode;
|
|
uint32_t distcode;
|
|
uint32_t rxbits;
|
|
int32_t rawlen;
|
|
char compdata;
|
|
};
|
|
|
|
extern void deflate_Initexpand(struct deflate_XCONTEXT *);
|
|
|
|
extern void deflate_Initdeflate(struct deflate_CONTEXT *);
|
|
|
|
extern void deflate_Deflatbyte(struct deflate_CONTEXT *, char, char,
|
|
char [], uint32_t, int32_t *);
|
|
|
|
extern void deflate_Expandbyte(struct deflate_XCONTEXT *, char,
|
|
char [], uint32_t, int32_t *, char *);
|
|
|
|
|
|
extern void deflate_BEGIN(void);
|
|
|
|
|
|
#endif /* deflate_H_ */
|