#include "dkcBuffer.h"
#include "dkcStdio.h"
dkcBuffer.cのインクルード依存関係図
関数 | |
DKC_BUFFER *WINAPI | dkcAllocBuffer (const void *data, size_t size) |
バッファ領域を得る。 | |
int WINAPI | dkcFreeBuffer (DKC_BUFFER **ptr) |
dkcAllocBuffer()で確保したリスト領域と内部バッファを削除。dkcAllocBufferと対。 | |
int WINAPI | dkcBufferSet (DKC_BUFFER *ptr, const void *data, size_t size) |
int WINAPI | dkcBufferGet (DKC_BUFFER *ptr, void *data, size_t size) |
int WINAPI | dkcBufferResize (DKC_BUFFER *ptr, size_t size) |
DKC_BUFFER *WINAPI | dkcAllocBufferCopy (const DKC_BUFFER *ptr) |
C++で言うcopy constructor. | |
size_t WINAPI | dkcBufferSize (DKC_BUFFER *p) |
バッファのサイズ | |
BYTE *WINAPI | dkcBufferPointer (DKC_BUFFER *p) |
dkcBuffer.c で定義されています。
|
バッファ領域を得る。
dkcBuffer.c の 13 行で定義されています。 参照先 DKC_BUFFER, dkcAllocate(), dkcBufferSet(), dkcFree(), DKUTIL_FAILED, dkc_Buffer::mBuff, dkc_Buffer::mSize, と NULL. 参照元 dkcAllocBufferCopy(), dkcAllocSingleListBuffer(), と dkcOpenFileWithSignature().
00013 { 00014 DKC_BUFFER *p; 00015 00016 if(0==size) return NULL; 00017 00018 p = dkcAllocate(sizeof(DKC_BUFFER)); 00019 if(NULL==p) return NULL; 00020 00021 00022 p->mBuff = 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(&p); 00037 return NULL; 00038 } |
|
C++で言うcopy constructor.
dkcBuffer.c の 79 行で定義されています。 参照先 DKC_BUFFER, dkcAllocBuffer(), dkcmNOT_ASSERT, dkc_Buffer::mBuff, dkc_Buffer::mSize, と NULL.
00079 { 00080 dkcmNOT_ASSERT(NULL==ptr || NULL==ptr->mBuff); 00081 00082 return dkcAllocBuffer(ptr->mBuff,ptr->mSize); 00083 } |
|
dkcBuffer.c の 58 行で定義されています。 参照先 DKC_BUFFER, dkc_memcpy(), dkc_Buffer::mBuff, と dkc_Buffer::mSize.
00058 { 00059 //if(NULL==ptr) return edk_ArgumentException;//fast 00060 return dkc_memcpy(data,size,ptr->mBuff,ptr->mSize); 00061 } |
|
dkcBuffer.c の 88 行で定義されています。 参照先 BYTE, DKC_BUFFER, と dkc_Buffer::mBuff. 参照元 dkcFileWithSignatureCheckCheat(), と FileWithSignatureGetDigest().
00088 { 00089 return p->mBuff; 00090 } |
|
dkcBuffer.c の 63 行で定義されています。 参照先 DKC_BUFFER, dkcReallocate(), DKUTIL_FAILED, edk_ArgumentException, edk_FAILED, edk_SUCCEEDED, dkc_Buffer::mBuff, dkc_Buffer::mSize, と NULL.
00064 { 00065 void *NewPtr; 00066 if(NULL==ptr || 0==size || NULL==ptr->mBuff) return edk_ArgumentException; 00067 if(DKUTIL_FAILED(dkcReallocate(&NewPtr,size,&ptr->mBuff))){ 00068 return edk_FAILED; 00069 } 00070 00071 ptr->mBuff = NewPtr; 00072 ptr->mSize = size; 00073 00074 return edk_SUCCEEDED; 00075 } |
|
dkcBuffer.c の 49 行で定義されています。 参照先 DKC_BUFFER, dkc_memcpy(), dkc_Buffer::mBuff, と dkc_Buffer::mSize. 参照元 dkcAllocBuffer().
00050 { 00051 //if(NULL==ptr) return edk_ArgumentException;// 00052 00053 return dkc_memcpy(ptr->mBuff,ptr->mSize,data,size); 00054 } |
|
バッファのサイズ
dkcBuffer.c の 85 行で定義されています。 参照先 DKC_BUFFER, と dkc_Buffer::mSize. 参照元 dkcFileWithSignatureCheckCheat(), と FileWithSignatureGetDigest().
00085 { 00086 return p->mSize; 00087 } |
|
dkcAllocBuffer()で確保したリスト領域と内部バッファを削除。dkcAllocBufferと対。 DKC_BUFFERをデリート
dkcBuffer.c の 40 行で定義されています。 参照先 DKC_BUFFER, dkcFree(), edk_ArgumentException, edk_SUCCEEDED, と NULL. 参照元 dkcCloseFileWithSignature().
00040 { 00041 if(NULL==ptr || NULL==*ptr) return edk_ArgumentException; 00042 dkcFree(&(*ptr)->mBuff); 00043 dkcFree(ptr); 00044 return edk_SUCCEEDED; 00045 } |