#include "dkcBuffer.h"
dkcBuffer.cのインクルード依存関係図
マクロ定義 | |
#define | DKUTIL_C_BUFFER_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 | dkcBufferSetOffset (DKC_BUFFER *ptr, const void *data, size_t size, size_t offset) |
バッファの先頭からoffset分の所にdataをぶち込む | |
int WINAPI | dkcBufferGet (DKC_BUFFER *ptr, void *data, size_t size) |
int WINAPI | dkcBufferGetOffset (DKC_BUFFER *ptr, void *data, size_t size, size_t offset) |
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 の 7 行で定義されています。 |
|
バッファ領域を得る。
dkcBuffer.c の 13 行で定義されています。 参照先 BYTE, dkcAllocate(), dkcBufferSet(), dkcFree(), dkc_Buffer::mBuff, dkc_Buffer::mSize, と NULL. 参照元 dkcAllocArrayOneByOne(), dkcAllocBufferCopy(), dkcAllocSingleListBuffer(), と dkcOpenFileWithSignature(). 00013 { 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 }
|
|
C++で言うcopy constructor
dkcBuffer.c の 105 行で定義されています。 参照先 dkcAllocBuffer(), dkcmNOT_ASSERT, dkc_Buffer::mBuff, dkc_Buffer::mSize, と NULL. 00105 { 00106 dkcmNOT_ASSERT(NULL==ptr || NULL==ptr->mBuff); 00107 00108 return dkcAllocBuffer(ptr->mBuff,ptr->mSize); 00109 }
|
|
バッファの先頭からsize分データをいただく dkcBuffer.c の 71 行で定義されています。 参照先 dkc_memcpy(), dkc_Buffer::mBuff, と dkc_Buffer::mSize. 00071 { 00072 //if(NULL==ptr) return edk_ArgumentException;//fast 00073 return dkc_memcpy(data,size,ptr->mBuff,ptr->mSize); 00074 }
|
|
dkcBuffer.c の 76 行で定義されています。 参照先 dkc_memcpy(), dkc_Buffer::mBuff, と dkc_Buffer::mSize. 参照元 dkcArrayOneByOneReference(). 00077 { 00078 if(ptr->mSize < offset + size){ 00079 return edk_BufferOverFlow; 00080 } 00081 return dkc_memcpy( 00082 data,size, 00083 ptr->mBuff + offset, 00084 size 00085 ); 00086 00087 }
|
|
dkcBuffer.c の 114 行で定義されています。 参照先 dkc_Buffer::mBuff. 参照元 dkcFileWithSignatureCheckCheat(), と FileWithSignatureGetDigest(). 00114 { 00115 return p->mBuff; 00116 }
|
|
バッファのサイズを変える。 dkcBuffer.c の 89 行で定義されています。 参照先 BYTE, dkcReallocate(), dkc_Buffer::mBuff, dkc_Buffer::mSize, と NULL. 参照元 BufferResize(). 00090 { 00091 void *NewPtr; 00092 if(NULL==ptr || 0==size || NULL==ptr->mBuff) return edk_ArgumentException; 00093 if(DKUTIL_FAILED(dkcReallocate(&NewPtr,size,(void **)&(ptr->mBuff)))){ 00094 return edk_FAILED; 00095 } 00096 00097 ptr->mBuff = (BYTE *)NewPtr; 00098 ptr->mSize = size; 00099 00100 return edk_SUCCEEDED; 00101 }
|
|
バッファの先頭にdataをぶち込む dkcBuffer.c の 49 行で定義されています。 参照先 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 }
|
|
バッファの先頭からoffset分の所にdataをぶち込む
dkcBuffer.c の 57 行で定義されています。 参照先 dkc_memcpy(), dkc_Buffer::mBuff, と dkc_Buffer::mSize. 参照元 setData(). 00058 { 00059 if(ptr->mSize < offset + size){ 00060 return edk_BufferOverFlow; 00061 } 00062 return dkc_memcpy( 00063 ptr->mBuff + offset, 00064 ptr->mSize - offset 00065 ,data,size); 00066 }
|
|
バッファのサイズ
dkcBuffer.c の 111 行で定義されています。 参照先 dkc_Buffer::mSize. 参照元 BufferResize(), dkcFileWithSignatureCheckCheat(), と FileWithSignatureGetDigest(). 00111 { 00112 return p->mSize; 00113 }
|
|
dkcAllocBuffer()で確保したリスト領域と内部バッファを削除。dkcAllocBufferと対。 DKC_BUFFERをデリート
dkcBuffer.c の 40 行で定義されています。 参照元 dkcAllocArrayOneByOne(), dkcCloseFileWithSignature(), と dkcFreeArrayOneByOne(). 00040 { 00041 if(NULL==ptr || NULL==*ptr) return edk_ArgumentException; 00042 dkcFree((void **)&(*ptr)->mBuff); 00043 dkcFree((void **)ptr); 00044 return edk_SUCCEEDED; 00045 }
|