|
|
1.1 ! root 1: /* lzh.h */ ! 2: ! 3: /* Synchronet LZH compression library */ ! 4: ! 5: /* $Id: lzh.h,v 1.8 2000/10/30 02:22:29 rswindell Exp $ */ ! 6: ! 7: /**************************************************************************** ! 8: * @format.tab-size 4 (Plain Text/Source Code File Header) * ! 9: * @format.use-tabs true (see http://www.synchro.net/ptsc_hdr.html) * ! 10: * * ! 11: * Rob Swindell's conversion of 1988 LZH (LHarc) encoding functions * ! 12: * Based on Japanese version 29-NOV-1988 * ! 13: * LZSS coded by Haruhiko Okumura * ! 14: * Adaptive Huffman Coding coded by Haruyasu Yoshizaki * ! 15: * * ! 16: * Anonymous FTP access to the most recent released source is available at * ! 17: * ftp://vert.synchro.net, ftp://cvs.synchro.net and ftp://ftp.synchro.net * ! 18: * * ! 19: * Anonymous CVS access to the development source and modification history * ! 20: * is available at cvs.synchro.net:/cvsroot/sbbs, example: * ! 21: * cvs -d :pserver:[email protected]:/cvsroot/sbbs login * ! 22: * (just hit return, no password is necessary) * ! 23: * cvs -d :pserver:[email protected]:/cvsroot/sbbs checkout src * ! 24: * * ! 25: * For Synchronet coding style and modification guidelines, see * ! 26: * http://www.synchro.net/source.html * ! 27: * * ! 28: * You are encouraged to submit any modifications (preferably in Unix diff * ! 29: * format) via e-mail to [email protected] * ! 30: * * ! 31: * Note: If this box doesn't appear square, then you need to fix your tabs. * ! 32: ****************************************************************************/ ! 33: ! 34: #ifdef LZHEXPORT ! 35: #undef LZHEXPORT ! 36: #endif ! 37: ! 38: #ifdef _WIN32 ! 39: #ifndef __FLAT__ ! 40: #define __FLAT__ ! 41: #endif ! 42: #ifdef __BORLANDC__ ! 43: #define LZHCALL __stdcall ! 44: #else ! 45: #define LZHCALL ! 46: #endif ! 47: #ifdef LZHDLL /* LZH functions in DLL */ ! 48: #ifdef LZH_EXPORTS ! 49: #define LZHEXPORT __declspec( dllexport ) ! 50: #else ! 51: #define LZHEXPORT __declspec( dllimport ) ! 52: #endif ! 53: #else /* self-contained executable */ ! 54: #define LZHEXPORT ! 55: #endif ! 56: #else /* !_WIN32 */ ! 57: #define LZHCALL ! 58: #define LZHEXPORT ! 59: #endif ! 60: ! 61: #ifndef uchar ! 62: #define uchar unsigned char ! 63: #endif ! 64: ! 65: #ifdef __cplusplus ! 66: extern "C" { ! 67: #endif ! 68: LZHEXPORT long LZHCALL lzh_encode(uchar *inbuf, long inlen, uchar *outbuf); ! 69: LZHEXPORT long LZHCALL lzh_decode(uchar *inbuf, long inlen, uchar *outbuf); ! 70: #ifdef __cplusplus ! 71: } ! 72: #endif ! 73: ! 74: #ifdef __WATCOMC__ /* Use MSC standard (prepended underscore) */ ! 75: #pragma aux lzh_encode "_*" ! 76: #pragma aux lzh_decode "_*" ! 77: #endif
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.