code_app/modules/base/HGBuffer.h

76 lines
2.4 KiB
C
Raw Normal View History

2022-05-03 10:25:52 +00:00
#ifndef __HGBUFFER_H__
#define __HGBUFFER_H__
#include "HGDef.h"
#include "HGBaseErr.h"
HG_DECLARE_HANDLE(HGBuffer);
/* 创建新的缓冲区
* :
* 1) size: in, ,
* 2) buffer: out,
* :
* 1) size字节大小的内存
*/
HGEXPORT HGResult HGAPI HGBase_CreateBuffer(HGUSize size, HGBuffer* buffer);
/* 通过已有数据创建新的缓冲区
* :
* 1) data: in,
* 2) size: in, ,
* 3) buffer: out,
* :
* 1) size字节大小的内存, , data中的数据拷贝过去
*/
HGEXPORT HGResult HGAPI HGBase_CreateBufferFromData(const HGByte* data, HGUSize size, HGBuffer* buffer);
/* 通过已有数据创建新的缓冲区(不分配内存, 不拷贝数据)
* :
* 1) data: in,
* 2) size: in, ,
* 3) buffer: out,
* :
* 1) , 使
* 2)
*/
HGEXPORT HGResult HGAPI HGBase_CreateBufferWithData(HGByte* data, HGUSize size, HGBuffer* buffer);
/* 通过现有缓冲区创建新的缓冲区
* :
* 1) srcBuffer: in,
* 2) buffer: out,
* :
* 1) size字节大小的内存, ,
*/
HGEXPORT HGResult HGAPI HGBase_CloneBuffer(HGBuffer srcBuffer, HGBuffer* buffer);
/* 销毁缓冲区
* :
* 1) buffer: in,
* :
* 1) ,
*/
HGEXPORT HGResult HGAPI HGBase_DestroyBuffer(HGBuffer buffer);
/* 获取缓冲区数据地址
* :
* 1) buffer: in,
* 2) data: out,
* :
* 1) ,
* 2) ,
*/
HGEXPORT HGResult HGAPI HGBase_GetBufferData(HGBuffer buffer, HGByte** data);
/* 获取缓冲区数据大小
* :
* 1) buffer: in,
* 2) size: out,
* :
* 1) ,
* 2) ,
*/
HGEXPORT HGResult HGAPI HGBase_GetBufferSize(HGBuffer buffer, HGUSize* size);
#endif /* __HGBUFFER_H__ */