#include "dkcOSIndependent.h"
#include "dkcStdio.h"
dkcBuffer.hのインクルード依存関係図
このグラフは、どのファイルから直接、間接的にインクルードされているかを示しています。
構成 | |
struct | dkc_Buffer |
型定義 | |
typedef dkc_Buffer | DKC_BUFFER |
関数 | |
DKC_EXTERN DKC_BUFFER *WINAPI | dkcAllocBuffer (const void *data, size_t size) |
バッファ領域を得る。 | |
DKC_EXTERN int WINAPI | dkcFreeBuffer (DKC_BUFFER **ptr) |
dkcAllocBuffer()で確保したリスト領域と内部バッファを削除。dkcAllocBufferと対。 | |
DKC_INLINE void | dkcBufferInit (DKC_BUFFER *p, size_t size) |
dkcAllocBuffer()を使わないで初期化。 | |
DKC_INLINE void | dkcBufferUninit (DKC_BUFFER *p) |
dkcBufferInit()で初期化したものの終了処理 | |
DKC_INLINE int | dkcBufferCopy (DKC_BUFFER *p, const DKC_BUFFER *src) |
DKC_INLINE void | dkcBufferCopyShared (DKC_BUFFER *p, DKC_BUFFER *src) |
DKC_EXTERN int WINAPI | dkcBufferSet (DKC_BUFFER *ptr, const void *data, size_t size) |
DKC_EXTERN int WINAPI | dkcBufferSetOffset (DKC_BUFFER *ptr, const void *data, size_t size, size_t offset) |
バッファの先頭からoffset分の所にdataをぶち込む | |
DKC_EXTERN int WINAPI | dkcBufferGet (DKC_BUFFER *ptr, void *data, size_t size) |
DKC_EXTERN int WINAPI | dkcBufferGetOffset (DKC_BUFFER *ptr, void *data, size_t size, size_t offset) |
DKC_EXTERN int WINAPI | dkcBufferResize (DKC_BUFFER *ptr, size_t size) |
DKC_EXTERN DKC_BUFFER *WINAPI | dkcAllocBufferCopy (const DKC_BUFFER *) |
C++で言うcopy constructor | |
DKC_EXTERN size_t WINAPI | dkcBufferSize (DKC_BUFFER *p) |
バッファのサイズ | |
DKC_EXTERN BYTE *WINAPI | dkcBufferPointer (DKC_BUFFER *p) |
DKC_INLINE int WINAPI | dkcBufferSet_INL (DKC_BUFFER *ptr, const void *data, size_t size) |
DKC_INLINE int WINAPI | dkcBufferSetOffset_INL (DKC_BUFFER *ptr, const void *data, size_t size, size_t offset) |
DKC_INLINE int WINAPI | dkcBufferGet_INL (DKC_BUFFER *ptr, void *data, size_t size) |
DKC_INLINE int WINAPI | dkcBufferGetOffset_INL (DKC_BUFFER *ptr, void *data, size_t size, size_t offset) |
DKC_INLINE int WINAPI | dkcBufferResize_INL (DKC_BUFFER *ptr, size_t size) |
DKC_INLINE DKC_BUFFER *WINAPI | dkcAllocBufferCopy_INL (const DKC_BUFFER *ptr) |
DKC_INLINE size_t WINAPI | dkcBufferSize_INL (DKC_BUFFER *p) |
DKC_INLINE BYTE *WINAPI | dkcBufferPointer_INL (DKC_BUFFER *p) |
dkcBuffer.h で定義されています。
|
バッファー構造体 |
|
バッファ領域を得る。
dkcBuffer.c の 13 行で定義されています。 参照先 BYTE, dkcAllocate(), dkcBufferSet(), dkcFree(), dkc_Buffer::mBuff, dkc_Buffer::mSize, と NULL. 参照元 dkcAllocArrayOneByOne(), dkcAllocBufferCopy_INL(), dkcAllocDCF_Version01_SNOW2(), 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 の 79 行で定義されています。 00079 { 00080 return dkcAllocBufferCopy_INL(ptr); 00081 }
|
|
dkcBuffer.h の 164 行で定義されています。 参照先 dkcAllocBuffer(), dkcmNOT_ASSERT, dkc_Buffer::mBuff, dkc_Buffer::mSize, と NULL. 参照元 dkcAllocBufferCopy(). 00164 { 00165 dkcmNOT_ASSERT(NULL==ptr || NULL==ptr->mBuff); 00166 00167 return dkcAllocBuffer(ptr->mBuff,ptr->mSize); 00168 }
|
|
dkcBuffer.h の 61 行で定義されています。 参照先 BYTE, dkcAllocate(), dkcFree(), dkc_Buffer::mBuff, dkc_Buffer::mSize, と NULL. 00061 { 00062 void *tp = p->mBuff; 00063 if(tp){//メモリが残っていたら削除するなり。 00064 dkcFree(&tp); 00065 } 00066 p->mBuff = (BYTE *)dkcAllocate(src->mSize); 00067 if(NULL==p->mBuff){ 00068 return edk_OutOfMemory; 00069 } 00070 p->mSize = src->mSize; 00071 return edk_SUCCEEDED; 00072 }
|
|
dkcBuffer.h の 73 行で定義されています。 参照先 dkc_Buffer::mBuff, と dkc_Buffer::mSize.
|
|
バッファの先頭からsize分データをいただく dkcBuffer.c の 63 行で定義されています。 参照先 dkcBufferGet_INL(). 00063 { 00064 return dkcBufferGet_INL(ptr,data,size); 00065 }
|
|
dkcBuffer.h の 130 行で定義されています。 参照先 dkc_memcpy(), dkc_Buffer::mBuff, と dkc_Buffer::mSize. 参照元 dkcBufferGet(). 00130 { 00131 //if(NULL==ptr) return edk_ArgumentException;//fast 00132 return dkc_memcpy(data,size,ptr->mBuff,ptr->mSize); 00133 }
|
|
dkcBuffer.c の 67 行で定義されています。 参照元 dkcArrayOneByOneReference(). 00068 { 00069 return dkcBufferGetOffset_INL(ptr,data,size,offset); 00070 }
|
|
dkcBuffer.h の 135 行で定義されています。 参照先 dkc_memcpy(), dkc_Buffer::mBuff, と dkc_Buffer::mSize. 参照元 dkcBufferGetOffset(). 00136 { 00137 if(ptr->mSize < offset + size){ 00138 return edk_BufferOverFlow; 00139 } 00140 return dkc_memcpy( 00141 data,size, 00142 ptr->mBuff + offset, 00143 size 00144 ); 00145 00146 }
|
|
dkcAllocBuffer()を使わないで初期化。
dkcBuffer.h の 50 行で定義されています。 参照先 BYTE, dkcAllocate(), dkc_Buffer::mBuff, と dkc_Buffer::mSize. 00050 { 00051 p->mBuff=(BYTE *)dkcAllocate(size); 00052 p->mSize = size; 00053 }
|
|
dkcBuffer.c の 86 行で定義されています。 参照元 dkcFileWithSignatureCheckCheat(), と FileWithSignatureGetDigest(). 00086 { 00087 return dkcBufferPointer_INL(p); 00088 }
|
|
dkcBuffer.h の 173 行で定義されています。 参照先 dkc_Buffer::mBuff. 参照元 dkcBufferPointer(). 00173 { 00174 return p->mBuff; 00175 }
|
|
バッファのサイズを変える。 dkcBuffer.c の 72 行で定義されています。 参照元 BufferResize(). 00073 { 00074 return dkcBufferResize_INL(ptr,size); 00075 }
|
|
dkcBuffer.h の 148 行で定義されています。 参照先 BYTE, dkcReallocate(), dkc_Buffer::mBuff, dkc_Buffer::mSize, と NULL. 参照元 dkcBufferResize(). 00149 { 00150 void *NewPtr; 00151 if(NULL==ptr || 0==size || NULL==ptr->mBuff) return edk_ArgumentException; 00152 if(DKUTIL_FAILED(dkcReallocate(&NewPtr,size,(void **)&(ptr->mBuff)))){ 00153 return edk_FAILED; 00154 } 00155 00156 ptr->mBuff = (BYTE *)NewPtr; 00157 ptr->mSize = size; 00158 00159 return edk_SUCCEEDED; 00160 }
|
|
バッファの先頭にdataをぶち込む dkcBuffer.c の 49 行で定義されています。 参照先 dkcBufferSet_INL(). 参照元 dkcAllocBuffer(). 00050 { 00051 return dkcBufferSet_INL(ptr,data,size); 00052 }
|
|
dkcBuffer.h の 108 行で定義されています。 参照先 dkc_memcpy(), dkc_Buffer::mBuff, と dkc_Buffer::mSize. 参照元 dkcBufferSet(). 00109 { 00110 //if(NULL==ptr) return edk_ArgumentException;// 00111 00112 return dkc_memcpy(ptr->mBuff,ptr->mSize,data,size); 00113 }
|
|
バッファの先頭からoffset分の所にdataをぶち込む
dkcBuffer.c の 55 行で定義されています。 参照元 setData(). 00056 { 00057 return dkcBufferSetOffset_INL(ptr,data,size,offset); 00058 }
|
|
dkcBuffer.h の 116 行で定義されています。 参照先 dkc_memcpy(), dkc_Buffer::mBuff, と dkc_Buffer::mSize. 参照元 dkcBufferSetOffset(). 00117 { 00118 if(ptr->mSize < offset + size){ 00119 return edk_BufferOverFlow; 00120 } 00121 return dkc_memcpy( 00122 ptr->mBuff + offset, 00123 ptr->mSize - offset 00124 ,data,size); 00125 }
|
|
バッファのサイズ
dkcBuffer.c の 83 行で定義されています。 参照先 dkcBufferSize_INL(). 参照元 BufferResize(), dkcFileWithSignatureCheckCheat(), と FileWithSignatureGetDigest(). 00083 { 00084 return dkcBufferSize_INL(p); 00085 }
|
|
dkcBuffer.h の 170 行で定義されています。 参照先 dkc_Buffer::mSize. 参照元 dkcBufferSize(). 00170 { 00171 return p->mSize; 00172 }
|
|
dkcBufferInit()で初期化したものの終了処理
dkcBuffer.h の 55 行で定義されています。 参照先 dkcFree(), dkc_Buffer::mBuff, と dkc_Buffer::mSize.
|
|
dkcAllocBuffer()で確保したリスト領域と内部バッファを削除。dkcAllocBufferと対。 DKC_BUFFERをデリート
dkcBuffer.c の 40 行で定義されています。 参照元 dkcAllocArrayOneByOne(), dkcCloseFileWithSignature(), dkcFreeArrayOneByOne(), と dkcFreeDCF01(). 00040 { 00041 if(NULL==ptr || NULL==*ptr) return edk_ArgumentException; 00042 dkcFree((void **)&(*ptr)->mBuff); 00043 dkcFree((void **)ptr); 00044 return edk_SUCCEEDED; 00045 }
|