メインページ | アルファベット順一覧 | 構成 | ファイル一覧 | 構成メンバ | ファイルメンバ | 関連ページ

# dkcBuffer.c

説明を見る。

    00001
    00007 #define DKUTIL_C_BUFFER_C
    00008 #include "dkcBuffer.h"
    00009
    00010
    00011
    00013 DKC_BUFFER* WINAPI dkcAllocBuffer(const void *data,size_t size){
    00014     DKC_BUFFER *p;
    00015
    00016     if(0==size) return NULL;
    00017
    00018     p = (DKC_BUFFER *)dkcAllocate(sizeof(DKC_BUFFER));
    00019     if(NULL==p) return NULL;
    00020
    00021
    00022     p->mBuff = (BYTE *)dkcAllocate(size);
    00023     if(NULL==p->mBuff) goto Error;
    00024
    00025     p->mSize = size;
    00026
    00027     if(data){
    00028         if(DKUTIL_FAILED(dkcBufferSet(p,data,size))){
    00029             goto Error;
    00030         }
    00031     }else{
    00032
    00033     }
    00034     return p;
    00035 Error:
    00036     dkcFree((void **)&p);
    00037     return NULL;
    00038 }
    00039
    00040 int WINAPI dkcFreeBuffer(DKC_BUFFER **ptr){
    00041     if(NULL==ptr || NULL==*ptr) return edk_ArgumentException;
    00042     dkcFree((void **)&(*ptr)->mBuff);
    00043     dkcFree((void **)ptr);
    00044     return edk_SUCCEEDED;
    00045 }
    00046
    00047
    00048
    00049 int WINAPI dkcBufferSet(DKC_BUFFER *ptr,const void *data,size_t size)
    00050 {
    00051     return dkcBufferSet_INL(ptr,data,size);
    00052 }
    00053
    00054
    00055 int WINAPI dkcBufferSetOffset(DKC_BUFFER *ptr,
    00056                                                             const void *data,size_t size,size_t offset){
    00057     return dkcBufferSetOffset_INL(ptr,data,size,offset);
    00058 }
    00059
    00060
    00061
    00062
    00063 int WINAPI dkcBufferGet(DKC_BUFFER *ptr,void *data,size_t size){
    00064     return dkcBufferGet_INL(ptr,data,size);
    00065 }
    00066
    00067 int WINAPI dkcBufferGetOffset(DKC_BUFFER *ptr,
    00068                                                             void *data,size_t size,size_t offset){
    00069     return dkcBufferGetOffset_INL(ptr,data,size,offset);
    00070 }
    00071
    00072 int WINAPI dkcBufferResize(DKC_BUFFER *ptr,size_t size)
    00073 {
    00074     return dkcBufferResize_INL(ptr,size);
    00075 }
    00076
    00077
    00078
    00079 DKC_BUFFER* WINAPI dkcAllocBufferCopy(const DKC_BUFFER *ptr){
    00080     return dkcAllocBufferCopy_INL(ptr);
    00081 }
    00082
    00083 size_t WINAPI dkcBufferSize(DKC_BUFFER *p){
    00084     return dkcBufferSize_INL(p);
    00085 }
    00086 BYTE *WINAPI dkcBufferPointer(DKC_BUFFER *p){
    00087     return dkcBufferPointer_INL(p);
    00088 }