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

dkcStream.h

説明を見る。
00001 
00013 #ifndef DKUTIL_C_STREAM_H
00014 #define DKUTIL_C_STREAM_H
00015 
00016 
00017 #include "dkcOSIndependent.h"
00018 #include "dkcMemoryStream.h"
00019 
00020 
00022 typedef struct dkc_Stream{
00023     UINT mMode;
00025     BYTE mChangeEndian;
00027     BYTE mProcessMode;
00028     /*union{
00029         DKC_MEMORYSTREAM *mmem;
00030         FILE *mfp;
00031     }uni;*/
00032     void *mSig;
00033 }DKC_STREAM;
00034 
00035 //#error streamのSEEKにRead用とWrite用をつける。
00036 
00037 
00038 enum edkcStream{
00040     edkcStreamSeekCurrent = SEEK_CUR,
00042     edkcStreamSeekEnd = SEEK_END,
00044     edkcStreamSeekSet = SEEK_SET,
00046     edkcStreamInitMemory = 1,
00048     edkcStreamInitFile = 2,
00050     edkcStreamDefaultEndian = 4,
00052     edkcStreamBigEndian = 8,
00054     edkcStreamLittleEndian = 16,
00056     edkcStreamProcessDefault = 32,
00058     edkcStreamProcessAsOrdered = 64,
00062     edkcStreamWriteErrorWhenEndianChange = 128,
00063 
00064 
00065 };
00066 
00067 //**********************************************************
00068 
00069 
00080 
00081 DKC_EXTERN DKC_STREAM * WINAPI dkcAllocStream(UINT flag,const void *default_data,size_t size,const char *filename,const char *mode);
00082 
00083 DKC_EXTERN DKC_STREAM *WINAPI dkcAllocStreamMemoryType(UINT flag,const void *default_data,size_t size);
00084 
00085 DKC_EXTERN DKC_STREAM *WINAPI dkcAllocStreamFileType(UINT flag,const char *filename,const char *mode);
00091 
00092 DKC_EXTERN DKC_STREAM *WINAPI dkcAllocStreamEncouragementFileType(const char *filename,const char *mode,BOOL OrderFlag);
00093 
00099 
00100 DKC_EXTERN int WINAPI dkcFreeStream(DKC_STREAM **ptr);
00101 
00102 //**********************************************************
00104 DKC_EXTERN int WINAPI dkcStreamSeek(DKC_STREAM *ptr,int offset,int origin);
00105 
00107 DKC_EXTERN long WINAPI dkcStreamTell(DKC_STREAM *ptr);
00108 
00110 DKC_EXTERN int WINAPI dkcStreamClear(DKC_STREAM *ptr);
00111 
00112 
00115 DKC_EXTERN int WINAPI dkcStreamFlush(DKC_STREAM *ptr);
00116 
00118 DKC_EXTERN BOOL WINAPI dkcStreamEOF(DKC_STREAM *ptr);
00120 DKC_EXTERN BOOL WINAPI dkcStreamError(DKC_STREAM *ptr);
00121 
00122 //**********************************************************
00138 
00139 DKC_EXTERN int WINAPI dkcStreamRead(DKC_STREAM *ptr,void *buffer,size_t size,size_t *readsize);
00140 
00141 
00147 DKC_EXTERN int WINAPI dkcStreamRead8(DKC_STREAM *ptr,void *buffer,size_t size,size_t *readsize);
00148 
00149 
00157 DKC_EXTERN int WINAPI dkcStreamRead16(DKC_STREAM *ptr,void *buffer,size_t size,size_t *readsize);
00163 DKC_EXTERN int WINAPI dkcStreamRead32(DKC_STREAM *ptr,void *buffer,size_t size,size_t *readsize);
00168 DKC_EXTERN int WINAPI dkcStreamRead64(DKC_STREAM *ptr,void *buffer,size_t size,size_t *readsize);
00169 
00170 
00171 //**********************************************************
00172 
00174 DKC_EXTERN int WINAPI dkcStreamRef(DKC_STREAM *ptr,void *buffer,size_t size,size_t *readsize);
00175 
00179 DKC_EXTERN int WINAPI dkcStreamRef8(DKC_STREAM *ptr,void *buffer,size_t size,size_t *readsize);
00180 
00181 DKC_EXTERN int WINAPI dkcStreamRef16(DKC_STREAM *ptr,void *buffer,size_t size,size_t *readsize);
00187 DKC_EXTERN int WINAPI dkcStreamRef32(DKC_STREAM *ptr,void *buffer,size_t size,size_t *readsize);
00192 DKC_EXTERN int WINAPI dkcStreamRef64(DKC_STREAM *ptr,void *buffer,size_t size,size_t *readsize);
00193 
00194 
00195 //**********************************************************
00196 
00197 
00204 
00205 
00206 DKC_EXTERN int WINAPI dkcStreamWrite(DKC_STREAM *ptr,const void *buffer,size_t size);
00207 
00208 DKC_EXTERN int WINAPI dkcStreamWrite8(DKC_STREAM *ptr,void *buffer,size_t size,size_t *readsize);
00209 
00210 DKC_EXTERN int WINAPI dkcStreamWrite16(DKC_STREAM *ptr,const void *buffer,size_t size);
00211 
00212 DKC_EXTERN int WINAPI dkcStreamWrite32(DKC_STREAM *ptr,const void *buffer,size_t size);
00213 
00214 DKC_EXTERN int WINAPI dkcStreamWrite64(DKC_STREAM *ptr,const void *buffer,size_t size);
00215 
00216 
00217 //**********************************************************
00218 
00225 typedef int (WINAPI *DKC_STREAM_PROCESS_TYPE)(DKC_STREAM *p,void *buffer,size_t size,void *data);
00226 
00227 
00228 DKC_EXTERN int WINAPI dkcStreamProcess(DKC_STREAM *ptr,void *buffer,size_t size,
00229                                                                              DKC_STREAM_PROCESS_TYPE write_t,void *data);
00230 
00231 DKC_EXTERN int WINAPI dkcStreamProcess16(DKC_STREAM *ptr,void *buffer,size_t size,
00232                                                                              DKC_STREAM_PROCESS_TYPE write_t,void *data);
00233 
00234 DKC_EXTERN int WINAPI dkcStreamProcess32(DKC_STREAM *ptr,void *buffer,size_t size,
00235                                                                              DKC_STREAM_PROCESS_TYPE write_t,void *data);
00236 
00237 DKC_EXTERN int WINAPI dkcStreamProcess64(DKC_STREAM *ptr,void *buffer,size_t size,
00238                                                                              DKC_STREAM_PROCESS_TYPE write_t,void *data);
00239 
00240 
00241 
00242 
00243 
00244 
00245 #endif

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