#include "dkcOSIndependent.h"
dkcLZSS.hのインクルード依存関係図
このグラフは、どのファイルから直接、間接的にインクルードされているかを示しています。
構成 | |
struct | dkc_LZSS |
struct | dkc_LZSS_Header |
マクロ定義 | |
#define | DKUTIL_C_LZSS_C |
#define | LZSS_RING_LENGTH 4096 |
環状バッファのマスク | |
#define | LZSS_RING_MASK (LZSS_RING_LENGTH-1) |
最長一致長 | |
#define | LZSS_LONGEST_MATCH 16 |
#define | dkcdLZSS_SIGNATURE edk_LZSS_SIGNATURE |
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().
00498 { 00499 DKC_LZSS *p = dkcAllocate(sizeof(DKC_LZSS)); 00500 return p; 00501 } |
|
参照先 DKC_LZSS, dkcFree(), edk_FAILED, と NULL.
00503 { 00504 if(NULL==p || NULL==*p) return edk_FAILED; 00505 return dkcFree((void **)p); 00506 } |
|
参照先 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.
00511 { 00512 if(NULL==ptr || NULL==ph) 00513 return edk_ArgumentException; 00514 00515 if(ph->mOriginSize > dsize){ 00516 return edk_BufferOverFlow; 00517 } 00518 //if(dkcLZSSIsLZSS(ph)==FALSE){ 00519 if(ph->mSignature != sig){ 00520 return edk_FAILED; 00521 } 00522 00523 if(FALSE==Decode(ptr,ph,src,dest)){ 00524 return edk_FAILED; 00525 } 00526 00527 return edk_SUCCEEDED; 00528 00529 } |
|
参照先 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.
00534 { 00535 unsigned long comped; 00536 int result; 00537 00538 if(NULL==ptr || NULL==ph) 00539 return edk_ArgumentException; 00540 00541 dkcmNOT_ASSERT(NULL==dest || 0==dsize); 00542 00543 00544 result = Encode(ptr,src,ssize,dest,dsize,&comped,CloseProcessSize); 00545 if(DKUTIL_FAILED(result)) 00546 { 00547 return result; 00548 } 00549 ph->mOriginSize = (size_t)ssize; 00550 ph->mCompressedSize = comped; 00551 ph->mSignature = sig; 00552 00553 return result; 00554 00555 } |