00001 00011 #ifndef DKUTIL_C_BUFFER_H 00012 #define DKUTIL_C_BUFFER_H 00013 00014 #include "dkcOSIndependent.h" 00015 #include "dkcStdio.h" 00016 00020 typedef struct dkc_Buffer{ 00022 BYTE *mBuff; 00024 size_t mSize; 00025 }DKC_BUFFER; 00026 00027 00028 00029 00034 00035 DKC_EXTERN DKC_BUFFER* WINAPI dkcAllocBuffer(const void *data,size_t size); 00041 00042 DKC_EXTERN int WINAPI dkcFreeBuffer(DKC_BUFFER **ptr); 00043 00044 00048 DKC_EXTERN int WINAPI dkcBufferSet(DKC_BUFFER *ptr,const void *data,size_t size); 00050 DKC_EXTERN int WINAPI dkcBufferSetOffset(DKC_BUFFER *ptr, 00051 const void *data,size_t size,size_t offset); 00052 00053 00057 DKC_EXTERN int WINAPI dkcBufferGet(DKC_BUFFER *ptr,void *data,size_t size); 00058 00059 DKC_EXTERN int WINAPI dkcBufferGetOffset(DKC_BUFFER *ptr, 00060 void *data,size_t size,size_t offset); 00064 DKC_EXTERN int WINAPI dkcBufferResize(DKC_BUFFER *ptr,size_t size); 00066 DKC_EXTERN DKC_BUFFER* WINAPI dkcAllocBufferCopy(const DKC_BUFFER *); 00067 00069 DKC_EXTERN size_t WINAPI dkcBufferSize(DKC_BUFFER *p); 00070 00071 DKC_EXTERN BYTE *WINAPI dkcBufferPointer(DKC_BUFFER *p); 00072 00073 00074 00075 #ifndef DKUTIL_C_BUFFER_C 00076 # include "dkcBuffer.c" 00077 #endif 00078 00079 00080 #endif //end of include once