00001
00006 #ifndef DKUTILC_LZW_H
00007 #define DKUTILC_LZW_H
00008
00009
00010 #include "dkcOSIndependent.h"
00011 #if 0
00012
00014 #define dkcdLZW_SIGNATURE edk_LZW_SIGNATURE
00015
00016
00017 typedef struct dkc_LZW
00018 {
00020 long Dad[LZW_RING_LENGTH+1];
00022 long LSon[LZW_RING_LENGTH+1];
00024 long RSon[LZW_RING_LENGTH+257];
00025
00027 long MatchPos;
00029 long MatchLen;
00031 unsigned char Text[LZW_RING_LENGTH + LZW_LONGEST_MATCH - 1];
00032 }DKC_LZW;
00033
00034 typedef struct dkc_LZW_Header{
00035 unsigned long mSignature;
00037 size_t mOriginSize;
00039 size_t mCompressedSize;
00040
00041 }DKC_LZW_HEADER;
00042
00043
00044 DKC_EXTERN DKC_LZW *WINAPI dkcAllocLZW();
00045
00046 DKC_EXTERN int WINAPI dkcFreeLZW(DKC_LZW **);
00059 DKC_EXTERN int WINAPI dkcLZWDecode(DKC_LZW *ptr,DKC_LZW_HEADER *ph,
00060 BYTE *dest,size_t dsize,const BYTE *src,size_t ssize,ULONG sig);
00072 DKC_EXTERN int WINAPI dkcLZWEncode(DKC_LZW *ptr,DKC_LZW_HEADER *ph,
00073 BYTE *dest,size_t dsize,const BYTE *src,size_t ssize,
00074 size_t CloseProcessSize,ULONG sig);
00075
00076
00077
00078
00079
00080
00081
00082
00083 #endif
00084
00085
00086
00087
00088
00089 #endif //end of include once