メインページ | アルファベット順一覧 | 構成 | ファイル一覧 | 構成メンバ | ファイルメンバ | 関連ページ

dkcLZSS.h

説明を見る。
00001 
00008 #ifndef DKUTIL_C_LZSS_H
00009 #define DKUTIL_C_LZSS_H
00010 
00011 
00012 #include "dkcOSIndependent.h"
00013 
00015 #define LZSS_RING_LENGTH        4096
00016 
00017 #define LZSS_RING_MASK          (LZSS_RING_LENGTH-1)
00018 
00019 #define LZSS_LONGEST_MATCH      16
00020 
00021 #define dkcdLZSS_SIGNATURE edk_LZSS_SIGNATURE
00022 //#define dkcdLZSS_SIGNATURE 'LZSS'
00023 
00024 typedef struct dkc_LZSS
00025 {
00027     long Dad[LZSS_RING_LENGTH+1];                               
00029     long LSon[LZSS_RING_LENGTH+1];                              
00031     long RSon[LZSS_RING_LENGTH+257];                                
00032 
00034     long MatchPos;                                              
00036     long MatchLen;                                                  
00038     unsigned char Text[LZSS_RING_LENGTH + LZSS_LONGEST_MATCH - 1];
00039 }DKC_LZSS;
00040 
00041 typedef struct dkc_LZSS_Header{
00042     unsigned long mSignature;
00044     size_t mOriginSize;
00046     size_t mCompressedSize;
00047 
00048 }DKC_LZSS_HEADER;
00049 
00050 
00051 DKC_EXTERN DKC_LZSS *WINAPI dkcAllocLZSS();
00052 
00053 DKC_EXTERN int WINAPI dkcFreeLZSS(DKC_LZSS **);
00066 DKC_EXTERN int WINAPI dkcLZSSDecode(DKC_LZSS *ptr,DKC_LZSS_HEADER *ph,
00067     BYTE *dest,size_t dsize,const BYTE *src,size_t ssize,ULONG sig);
00079 DKC_EXTERN int WINAPI dkcLZSSEncode(DKC_LZSS *ptr,DKC_LZSS_HEADER *ph,
00080     BYTE *dest,size_t dsize,const BYTE *src,size_t ssize,
00081     size_t CloseProcessSize,ULONG sig);
00082 
00083 //headerがLZSSのシグネチャかどうか確認する @return TRUEでLZSSデータだと思う。
00084 //廃止:シグネチャは自由に設定できるように!!
00085 //DKC_EXTERN BOOL WINAPI dkcLZSSIsLZSS(DKC_LZSS_HEADER *p);
00086 
00087 #if !defined(  DKUTIL_C_LZSS_C ) &&  defined(USE_DKC_INDEPENDENT_INCLUDE)
00088 #   include "dkcLZSS.c"
00089 #endif
00090 
00091 #endif

dkutil_cに対してSat Sep 10 09:23:55 2005に生成されました。  doxygen 1.4.4