71 #define BUFFER_ARRAY_LEN(x) (sizeof(x) / sizeof(wickr_buffer_t *)) 74 static const size_t MAX_BUFFER_SIZE = INT32_MAX -
sizeof(
wickr_buffer_t);
76 typedef int (*wickr_buffer_compare_func)(
const volatile void *,
const volatile void *, size_t);
194 wickr_buffer_compare_func compare_func);
size_t length
Definition: buffer.h:52
bool wickr_buffer_is_equal(const wickr_buffer_t *b1, const wickr_buffer_t *b2, wickr_buffer_compare_func compare_func)
Compare buffers for equality.
void wickr_buffer_destroy_zero(wickr_buffer_t **buffer)
Zero-then-deallocate a buffer.
Represents an array of bytes and the length of the allocation associated with those bytes.
Definition: buffer.h:51
wickr_buffer_t * wickr_buffer_copy(const wickr_buffer_t *source)
Copy a buffer.
wickr_buffer_t * wickr_buffer_create_empty(size_t len)
Creates an empty buffer of size length.
wickr_buffer_t * wickr_buffer_create_empty_zero(size_t len)
Creates an zeroed empty buffer of size length.
wickr_buffer_t * wickr_buffer_copy_section(const wickr_buffer_t *source, size_t start, size_t len)
Create a buffer using a subsection of another buffer.
bool wickr_buffer_modify_section(const wickr_buffer_t *buffer, const uint8_t *bytes, size_t start, size_t len)
Modify a subsection of a buffer.
wickr_buffer_t * wickr_buffer_concat(const wickr_buffer_t *buffer1, const wickr_buffer_t *buffer2)
Concatenate two buffers into one new buffer.
wickr_buffer_t * wickr_buffer_create(const uint8_t *bytes, size_t len)
Creates a buffer by copying an existing pointer to bytes of a specified length len.
void wickr_buffer_destroy(wickr_buffer_t **buffer)
Destroy a buffer.
wickr_buffer_t * wickr_buffer_concat_multi(wickr_buffer_t **buffers, uint8_t n_buffers)
Concatenate n buffers.
uint8_t * bytes
Definition: buffer.h:53