#include "dkcOSIndependent.h"
dkcLZSS.hのインクルード依存関係図
このグラフは、どのファイルから直接、間接的にインクルードされているかを示しています。
構成 | |
struct | dkc_LZSS |
struct | dkc_LZSS_Header |
マクロ定義 | |
#define | LZSS_RING_LENGTH 4096 |
環状バッファのマスク | |
#define | LZSS_RING_MASK (LZSS_RING_LENGTH-1) |
最長一致長 | |
#define | LZSS_LONGEST_MATCH 16 |
#define | dkcdLZSS_SIGNATURE 'LZSS' |
LZSSのシグネチャ(変更しても大丈夫だよ~(多分)). | |
型定義 | |
typedef dkc_LZSS | DKC_LZSS |
typedef dkc_LZSS_Header | DKC_LZSS_HEADER |
関数 | |
DKC_EXTERN DKC_LZSS *WINAPI | dkcAllocLZSS () |
DKC_EXTERN int WINAPI | dkcFreeLZSS (DKC_LZSS **) |
DKC_EXTERN int WINAPI | dkcLZSSDecode (DKC_LZSS *ptr, DKC_LZSS_HEADER *ph, BYTE *dest, size_t dsize, const BYTE *src, size_t ssize, ULONG sig) |
DKC_EXTERN int WINAPI | dkcLZSSEncode (DKC_LZSS *ptr, DKC_LZSS_HEADER *ph, BYTE *dest, size_t dsize, const BYTE *src, size_t ssize, size_t CloseProcessSize, ULONG sig) |
dkcLZSS.h で定義されています。
|
LZSSのシグネチャ(変更しても大丈夫だよ~(多分)).
|
|
参照元 Decode(), Encode(), と InsertNode(). |
|
環状バッファのマスク
参照元 Decode(), Encode(), InitTree(), と InsertNode(). |
|
最長一致長
|
|
参照元 Decode(), DeleteNode(), dkcAllocLZSS(), dkcFreeLZSS(), dkcLZSSDecode(), dkcLZSSEncode(), Encode(), InitTree(), と InsertNode(). |
|
参照元 Decode(), dkcLZSSDecode(), と dkcLZSSEncode(). |
|
参照先 DKC_LZSS, と dkcAllocate().
00496 { 00497 DKC_LZSS *p = dkcAllocate(sizeof(DKC_LZSS)); 00498 return p; 00499 } |
|
参照先 DKC_LZSS, dkcFree(), edk_FAILED, と NULL.
00501 { 00502 if(NULL==p || NULL==*p) return edk_FAILED; 00503 return dkcFree(p); 00504 } |
|
参照先 BYTE, Decode(), DKC_LZSS, DKC_LZSS_HEADER, edk_ArgumentException, edk_BufferOverFlow, edk_FAILED, edk_SUCCEEDED, FALSE, dkc_LZSS_Header::mOriginSize, dkc_LZSS_Header::mSignature, と NULL.
00509 { 00510 if(NULL==ptr || NULL==ph) 00511 return edk_ArgumentException; 00512 00513 if(ph->mOriginSize > dsize){ 00514 return edk_BufferOverFlow; 00515 } 00516 //if(dkcLZSSIsLZSS(ph)==FALSE){ 00517 if(ph->mSignature != sig){ 00518 return edk_FAILED; 00519 } 00520 00521 if(FALSE==Decode(ptr,ph,src,dest)){ 00522 return edk_FAILED; 00523 } 00524 00525 return edk_SUCCEEDED; 00526 00527 } |
|
参照先 BYTE, DKC_LZSS, DKC_LZSS_HEADER, dkcmNOT_ASSERT, DKUTIL_FAILED, edk_ArgumentException, Encode(), dkc_LZSS_Header::mCompressedSize, dkc_LZSS_Header::mOriginSize, dkc_LZSS_Header::mSignature, と NULL.
00532 { 00533 unsigned long comped; 00534 int result; 00535 00536 if(NULL==ptr || NULL==ph) 00537 return edk_ArgumentException; 00538 00539 dkcmNOT_ASSERT(NULL==dest || 0==dsize); 00540 00541 00542 result = Encode(ptr,src,ssize,dest,dsize,&comped,CloseProcessSize); 00543 if(DKUTIL_FAILED(result)) 00544 { 00545 return result; 00546 } 00547 ph->mOriginSize = (size_t)ssize; 00548 ph->mCompressedSize = comped; 00549 ph->mSignature = sig; 00550 00551 return result; 00552 00553 } |