00001
00002
00003
00004
00005
00006
00007
00008
00009
00010 #ifndef _ATX_DATA_BUFFER_H_
00011 #define _ATX_DATA_BUFFER_H_
00012
00013
00014
00015
00016 #include "AtxTypes.h"
00017 #include "AtxDefs.h"
00018
00019
00020
00021
00022 typedef struct ATX_DataBuffer ATX_DataBuffer;
00023
00024
00025
00026
00027 #ifdef __cplusplus
00028 extern "C" {
00029 #endif
00030
00031 ATX_Result ATX_DataBuffer_Create(ATX_Size size, ATX_DataBuffer** buffer);
00032 ATX_Result ATX_DataBuffer_Clone(const ATX_DataBuffer* self,
00033 ATX_DataBuffer** clone);
00034 ATX_Result ATX_DataBuffer_Destroy(ATX_DataBuffer* self);
00035 ATX_Result ATX_DataBuffer_SetBuffer(ATX_DataBuffer* self,
00036 ATX_Byte* buffer_memory,
00037 ATX_Size buffer_size);
00038 ATX_Result ATX_DataBuffer_SetBufferSize(ATX_DataBuffer* self,
00039 ATX_Size buffer_size);
00040 ATX_Size ATX_DataBuffer_GetBufferSize(const ATX_DataBuffer* self);
00041 ATX_Result ATX_DataBuffer_Reserve(ATX_DataBuffer* self,
00042 ATX_Size buffer_size);
00043 const ATX_Byte* ATX_DataBuffer_GetData(const ATX_DataBuffer* self);
00044 ATX_Byte* ATX_DataBuffer_UseData(ATX_DataBuffer* self);
00045 ATX_Size ATX_DataBuffer_GetDataSize(const ATX_DataBuffer* self);
00046 ATX_Result ATX_DataBuffer_SetDataSize(ATX_DataBuffer* self, ATX_Size size);
00047 ATX_Result ATX_DataBuffer_SetData(ATX_DataBuffer* self,
00048 const ATX_Byte* data,
00049 ATX_Size data_size);
00050 ATX_Boolean ATX_DataBuffer_Equals(const ATX_DataBuffer* self,
00051 const ATX_DataBuffer* other);
00052 ATX_Result ATX_DataBuffer_AppendData(ATX_DataBuffer* self,
00053 const ATX_Byte* data,
00054 ATX_Size data_size);
00055
00056 #ifdef __cplusplus
00057 }
00058 #endif
00059
00060 #endif