34 typedef struct _ByteArray {
40 #define BYTE_ARRAY_NONE (ByteArray){.len = 0, .data = NULL}
65 #define BYTE_BUFFER_NONE (ByteBuffer){.array = BYTE_ARRAY_NONE, .bytesUsed = 0}
88 #endif // _BYTE_ARRAY_H
Structure for handling generic arrays of bytes.
void ByteBuffer_Reset(ByteBuffer *buffer)
ByteBuffer * ByteBuffer_Append(ByteBuffer *buffer, const void *data, size_t len)
Structure for an embedded ByteArray as a buffer.
ByteBuffer ByteBuffer_Malloc(size_t size)
ByteBuffer ByteBuffer_CreateWithArray(ByteArray array)
ByteBuffer * ByteBuffer_AppendDummyData(ByteBuffer *buffer, size_t len)
ByteBuffer ByteBuffer_CreateAndAppendDummyData(void *data, size_t max_len, size_t len)
ByteBuffer * ByteBuffer_AppendArray(ByteBuffer *buffer, const ByteArray array)
ByteBuffer * ByteBuffer_AppendBuffer(ByteBuffer *buffer, const ByteBuffer bufferToAppend)
ByteArray ByteArray_GetSlice(const ByteArray array, size_t start, size_t len)
ByteArray array
ByteArray holding allocated array w/length = allocated size.
void ByteArray_FillWithDummyData(const ByteArray array)
ByteBuffer * ByteBuffer_AppendCString(ByteBuffer *buffer, const char *data)
ByteBuffer ByteBuffer_Create(void *data, size_t max_len, size_t used)
size_t len
Number of bytes in the data field.
long ByteBuffer_BytesRemaining(const ByteBuffer buffer)
bool ByteBuffer_IsNull(ByteBuffer const buffer)
uint8_t * data
Pointer to an allocated array of data bytes.
ByteArray ByteBuffer_Consume(ByteBuffer *buffer, size_t max_len)
ByteBuffer ByteBuffer_CreateAndAppendFormattedCString(void *data, size_t max_len, const char *format,...)
ByteArray ByteArray_Create(void *data, size_t len)
ByteBuffer ByteBuffer_MallocAndAppend(const void *data, size_t len)
ByteBuffer ByteBuffer_CreateAndAppendArray(void *data, size_t max_len, const ByteArray value)
size_t bytesUsed
Reflects the number of bytes used from the array
ByteBuffer ByteBuffer_CreateAndAppend(void *data, size_t max_len, const void *value, size_t value_len)
void ByteBuffer_Free(ByteBuffer buffer)
ByteBuffer * ByteBuffer_AppendFormattedCString(ByteBuffer *buffer, const char *format,...)
ByteArray ByteArray_CreateWithCString(const char *str)
ByteBuffer ByteBuffer_CreateAndAppendCString(void *data, size_t max_len, const char *value)