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 #if !defined( DKUTIL_C_BUFFER_C ) && defined(USE_DKC_INDEPENDENT_INCLUDE)
00076 # include "dkcBuffer.c"
00077 #endif
00078
00079
00080 #endif //end of include once