1 /*************************************************************************** 2 * lzx.h - LZX decompression routines * 3 * ------------------- * 4 * * 5 * maintainer: Jed Wing <jedwin@ugcs.caltech.edu> * 6 * source: modified lzx.c from cabextract v0.5 * 7 * notes: This file was taken from cabextract v0.5, which was, * 8 * itself, a modified version of the lzx decompression code * 9 * from unlzx. * 10 ***************************************************************************/ 11 12 /*************************************************************************** 13 * 14 * Copyright(C) Stuart Caie 15 * 16 * This library is free software; you can redistribute it and/or 17 * modify it under the terms of the GNU Lesser General Public 18 * License as published by the Free Software Foundation; either 19 * version 2.1 of the License, or (at your option) any later version. 20 * 21 * This library is distributed in the hope that it will be useful, 22 * but WITHOUT ANY WARRANTY; without even the implied warranty of 23 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 24 * Lesser General Public License for more details. 25 * 26 * You should have received a copy of the GNU Lesser General Public 27 * License along with this library; if not, write to the Free Software 28 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA 29 * 30 ***************************************************************************/ 31 32 #ifndef INCLUDED_LZX_H 33 #define INCLUDED_LZX_H 34 35 /* return codes */ 36 #define DECR_OK (0) 37 #define DECR_DATAFORMAT (1) 38 #define DECR_ILLEGALDATA (2) 39 #define DECR_NOMEMORY (3) 40 41 /* opaque state structure */ 42 struct LZXstate; 43 44 /* create an lzx state object */ 45 struct LZXstate *LZXinit(int window); 46 47 /* destroy an lzx state object */ 48 void LZXteardown(struct LZXstate *pState); 49 50 /* reset an lzx stream */ 51 int LZXreset(struct LZXstate *pState); 52 53 /* decompress an LZX compressed block */ 54 int LZXdecompress(struct LZXstate *pState, 55 unsigned char *inpos, 56 unsigned char *outpos, 57 int inlen, 58 int outlen); 59 60 #endif /* INCLUDED_LZX_H */ 61