00001
00013 #ifndef dkutil_c_Stream__h
00014 #define dkutil_c_Stream__h
00015
00016 #include <stdio.h>
00017 #include "dkcOSIndependent.h"
00018
00019 #include "dkcDefined.h"
00020
00022 typedef struct dkc_Stream{
00023 int mMode;
00024 void *mSignature;
00025 }DKC_STREAM;
00026
00027
00028
00029
00030 enum edkcStream{
00032 edkcStreamSeekCurrent = SEEK_CUR,
00034 edkcStreamSeekEnd = SEEK_END,
00036 edkcStreamSeekSet = SEEK_SET,
00038 edkcStreamInitBuffer = 0,
00040 edkcStreamInitFile,
00041 };
00042
00043
00044
00054
00055 DKC_EXTERN DKC_STREAM * WINAPI dkcAllocStream(int flag,const char *filename,const char *mode);
00056
00057
00063
00064 DKC_EXTERN int WINAPI dkcFreeStream(DKC_STREAM **ptr);
00065
00066
00068 DKC_EXTERN int WINAPI dkcStreamSeek(DKC_STREAM *ptr,int offset,int origin);
00075
00076 DKC_EXTERN int WINAPI dkcStreamRead(DKC_STREAM *ptr,void *buffer,size_t size,size_t *readsize);
00083
00084 DKC_EXTERN int WINAPI dkcStreamWrite(DKC_STREAM *ptr,const void *buffer,size_t size);
00085
00087 DKC_EXTERN int WINAPI dkcStreamClear(DKC_STREAM *ptr);
00088
00089
00090 #endif