00001 #ifndef __J2K__LZH__LZHL_CPP__
00002 #define __J2K__LZH__LZHL_CPP__
00003
00004 #include "lzhl.h"
00005
00006 #define LZHLINTERNAL
00007
00008 #include "_huff.h"
00009 #include "_lz.h"
00010
00011 #ifdef __cplusplus
00012 extern "C" {
00013 #endif
00014
00015 LZHL_CHANDLE LZHLCreateCompressor( void )
00016 {
00017 return (LZHL_CHANDLE)new LZHLCompressor();
00018 }
00019
00020 size_t LZHLCompressorCalcMaxBuf( size_t sz )
00021 {
00022 return LZHLCompressor::calcMaxBuf( sz );
00023 }
00024
00025 size_t LZHLCompress( LZHL_CHANDLE compressor, void* dst, const void* src, size_t srcSz )
00026 {
00027 return ((LZHLCompressor*)compressor)->compress( (BYTE*)dst, (const BYTE*)src, srcSz );
00028 }
00029
00030 void LZHLDestroyCompressor( LZHL_CHANDLE compressor )
00031 {
00032 delete (LZHLCompressor*)compressor;
00033 }
00034
00035
00036
00037 LZHL_DHANDLE LZHLCreateDecompressor( void )
00038 {
00039 return (LZHL_DHANDLE)new LZHLDecompressor();
00040 }
00041
00042 int LZHLDecompress( LZHL_DHANDLE decompressor, void* dst, size_t* dstSz, void* src, size_t* srcSz )
00043 {
00044 return ((LZHLDecompressor*)decompressor)->decompress( (BYTE*)dst, dstSz, (BYTE*)src, srcSz );
00045 }
00046
00047 void LZHLDestroyDecompressor( LZHL_DHANDLE decompressor )
00048 {
00049 delete (LZHLDecompressor*)decompressor;
00050 }
00051
00052 #ifdef __cplusplus
00053 }
00054 #endif
00055
00056 #endif