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

# dkcRLE.h

説明を見る。

    00001
    00031 #ifndef DKUTIL_C_RLE_H
    00032 #define DKUTIL_C_RLE_H
    00033
    00034
    00035 #include "dkcOSIndependent.h"
    00036 #include "dkcMemoryStream.h"
    00037
    00038 #define dkcdRLE_EOF_ID 0x01
    00039
    00040 #define dkcdRLE_NOCOMPRESS_ID 0x00
    00041
    00042 #define dkcdRLE_SIGNATURE 'RLE\0'
    00043
    00044 typedef struct dkc_RLE
    00045 {
    00047     BYTE mTemp[256];
    00049     //unsigned char mValidFlag[256];
    00050 }DKC_RLE;
    00051
    00052
    00053
    00054 typedef struct dkc_RLE_Header{
    00056     unsigned long mSignature;
    00058     USHORT mOriginSize;
    00060     USHORT mCompressedSize;
    00061
    00063     BYTE mEOF;
    00064
    00066     BYTE mABS;
    00067 }DKC_RLE_HEADER;
    00068
    00069 typedef struct dkc_RLE_Comp{
    00070     BYTE length;
    00071     BYTE data;
    00072 }DKC_RLE_COMP;
    00073
    00074 typedef struct dkc_RLE_NoComp{
    00075     BYTE sig;
    00076     USHORT length;
    00077 }DKC_RLE_NOCOMP;
    00078
    00079
    00080 DKC_EXTERN DKC_RLE *WINAPI dkcAllocRLE();
    00081
    00082 DKC_EXTERN int WINAPI dkcFreeRLE(DKC_RLE **);
    00083
    00084
    00085
    00086
    00107 DKC_EXTERN int WINAPI dkcRLEEncode(DKC_RLE *ptr,DKC_MEMORYSTREAM *pms,DKC_RLE_HEADER *ph,
    00108                                                                      BYTE *dest,size_t dsize,const BYTE *src,USHORT ssize,
    00109     size_t CloseProcessSize,ULONG sig,BYTE aEOF_ID,BYTE aABS_ID);
    00119 DKC_EXTERN int WINAPI dkcRLEDecode(DKC_RLE *p,DKC_MEMORYSTREAM *pms,
    00120                                                 const DKC_RLE_HEADER *ph,const BYTE *src,USHORT ssize,
    00121                                                 ULONG sig);
    00122
    00123 typedef struct dkc_RLEPackBits_Header{
    00125     size_t mOriginSize;
    00127     size_t mCompressedSize;
    00129     int mCount;
    00130 }DKC_RLE_PACKBITS_HEADER;
    00131
    00132
    00133 DKC_EXTERN int WINAPI dkcRLEPackBitsEncode(DKC_RLE_PACKBITS_HEADER *p,
    00134                                                                                      BYTE *dest,size_t dsize,
    00135                                                                                         const BYTE *src,size_t ssize,BYTE count);
    00136
    00137 DKC_EXTERN int WINAPI dkcRLEPackBitsDecode(DKC_RLE_PACKBITS_HEADER *p,
    00138                                                                                      BYTE *dest,size_t dsize,
    00139                                                                 const BYTE *src,size_t ssize);
    00140
    00141 #if !defined(  DKUTIL_C_RLE_C ) &&  defined(USE_DKC_INDEPENDENT_INCLUDE)
    00142 #   include "dkcRLE.c"
    00143 #endif
    00144
    00145 #endif //end of include once