| /*************************************************************************** | |
| * lzx.h - LZX decompression routines * | |
| * ------------------- * | |
| * * | |
| * maintainer: Jed Wing <jedwin@ugcs.caltech.edu> * | |
| * source: modified lzx.c from cabextract v0.5 * | |
| * notes: This file was taken from cabextract v0.5, which was, * | |
| * itself, a modified version of the lzx decompression code * | |
| * from unlzx. * | |
| ***************************************************************************/ | |
| /*************************************************************************** | |
| * * | |
| * Copyright(C) Stuart Caie * | |
| * * | |
| * This library is free software; you can redistribute it and/or modify * | |
| * it under the terms of the GNU Lesser General Public License as * | |
| * published by the Free Software Foundation; either version 2.1 of the * | |
| * License, or (at your option) any later version. * | |
| * * | |
| ***************************************************************************/ | |
| #ifndef INCLUDED_LZX_H | |
| #define INCLUDED_LZX_H | |
| /* return codes */ | |
| #define DECR_OK (0) | |
| #define DECR_DATAFORMAT (1) | |
| #define DECR_ILLEGALDATA (2) | |
| #define DECR_NOMEMORY (3) | |
| /* opaque state structure */ | |
| struct LZXstate; | |
| /* create an lzx state object */ | |
| struct LZXstate *LZXinit(int window); | |
| /* destroy an lzx state object */ | |
| void LZXteardown(struct LZXstate *pState); | |
| /* reset an lzx stream */ | |
| int LZXreset(struct LZXstate *pState); | |
| /* decompress an LZX compressed block */ | |
| int LZXdecompress(struct LZXstate *pState, | |
| unsigned char *inpos, | |
| unsigned char *outpos, | |
| int inlen, | |
| int outlen); | |
| #endif /* INCLUDED_LZX_H */ |