メインページ | 構成 | ファイル一覧 | 構成メンバ | ファイルメンバ | 関連ページ

dkcRLE.h

説明を見る。
00001 
00025 #ifndef DKUTILC_RLE_H
00026 #define DKUTILC_RLE_H
00027 
00028 
00029 #include "dkcOSIndependent.h"
00030 #include "dkcMemoryStream.h"
00031 
00032 #define dkcdRLE_EOF_ID 0x00
00033 
00034 #define dkcdRLE_NOCOMPRESS_ID 0x01
00035 
00036 #define dkcdRLE_SIGNATURE 'RLE\0'
00037 
00038 typedef struct dkc_RLE
00039 {
00041     BYTE mTemp[256];
00043     //unsigned char mValidFlag[256];
00044 }DKC_RLE;
00045 
00046 
00047 
00048 typedef struct dkc_RLE_Header{
00050     unsigned long mSignature;
00052     USHORT mOriginSize;
00054     USHORT mCompressedSize;
00055 
00057     BYTE mEOF;
00058 
00060     BYTE mABS;
00061 }DKC_RLE_HEADER;
00062 
00063 typedef struct dkc_RLE_Comp{
00064     BYTE length;
00065     BYTE data;
00066 }DKC_RLE_COMP;
00067 
00068 typedef struct dkc_RLE_NoComp{
00069     BYTE sig;
00070     USHORT length;
00071 }DKC_RLE_NOCOMP;
00072 
00073 
00074 DKC_EXTERN DKC_RLE *WINAPI dkcAllocRLE();
00075 
00076 DKC_EXTERN int WINAPI dkcFreeRLE(DKC_RLE **);
00095 DKC_EXTERN int WINAPI dkcRLEEncode(DKC_RLE *ptr,DKC_MEMORYSTREAM *pms,DKC_RLE_HEADER *ph,
00096                                                                      const BYTE *src,USHORT ssize,
00097     size_t CloseProcessSize,ULONG sig,BYTE aEOF_ID,BYTE aABS_ID);
00107 DKC_EXTERN int WINAPI dkcRLEDecode(DKC_RLE *p,DKC_MEMORYSTREAM *pms,
00108                                                 const DKC_RLE_HEADER *ph,const BYTE *src,USHORT ssize,
00109                                                 ULONG sig);
00110 
00111 //headerがRLEのシグネチャかどうか確認する @return TRUEでRLEデータだと思う。
00112 //廃止:シグネチャは自由に設定できるように!!
00113 //DKC_EXTERN BOOL WINAPI dkcRLEIsRLE(DKC_RLE_HEADER *p);
00114 
00115 #ifndef DKUTILC_RLE_C
00116 #   include "dkcRLE.c"
00117 #endif
00118 
00119 #endif //end of include once

dkutil_cに対してTue Oct 19 03:34:55 2004に生成されました。 doxygen 1.3.6