Fork of
MiniTLS-GPL
by Donatien Garnier
« Back to documentation index
Core
Buffers
void buffer_init (buffer_t *pBuf, uint8_t *bufdata, size_t size)
Initialize buffer using underlying byte array, set buffer's length to 0 (empty)
void buffer_byref (buffer_t *pBuf, uint8_t *bufdata, size_t length)
Initialize buffer using underlying byte array, set buffer's length to array's size (full)
buffer_t * buffer_new (size_t size)
uint8_t * buffer_data (buffer_t *pBuf)
Get buffer's underlying byte array.
void buffer_reset (buffer_t *pBuf)
Reset buffer (empty)
size_t buffer_size (buffer_t *pBuf)
Get buffer's size.
size_t buffer_length (buffer_t *pBuf)
Get buffer's length.
size_t buffer_space (buffer_t *pBuf)
Get space in buffer.
bool buffer_empty (buffer_t *pBuf)
Is buffer empty.
void buffer_set_length (buffer_t *pBuf, size_t length)
Set buffer's length.
size_t buffer_last_byte_length (buffer_t *pBuf)
Get buffer's last byte's length.
void buffer_set_last_byte_length (buffer_t *pBuf, size_t length)
Set buffer's last byte's length.
size_t buffer_bits_count (buffer_t *pBuf)
Get buffer's bits count.
void buffer_write_byte (buffer_t *pBuf, uint8_t b)
Write one byte to buffer.
void buffer_write_bit (buffer_t *pBuf, uint8_t b)
Write one bit to buffer.
buffer_t * buffer_next (buffer_t *pBuf)
Get next buffer in chain.
void buffer_set_next (buffer_t *pBuf, buffer_t *pNextBuf)
Set next buffer in chain.
void buffer_append (buffer_t *pBuf, buffer_t *pAppBuf)
Append next buffer to the whole chain.
void buffer_unlink (buffer_t *pBuf, buffer_t *pLinkedBuf)
Split chain at specified buffer.
size_t buffer_total_size (buffer_t *pBuf)
Get buffer chain's total size.
size_t buffer_total_length (buffer_t *pBuf)
Get buffer chain's total length.
void buffer_set_total_length (buffer_t *pBuf, size_t length)
Set buffer chain's total length (fill up one buffer and move to the next if needed)
size_t buffer_read_byte (buffer_t *pBuf, uint8_t b)
size_t buffer_read_bit (buffer_t *pBuf, uint8_t b)
void buffer_free (buffer_t *pBuf)
void buffer_dump (buffer_t *pBuf)
Dump a buffer's content to stdout (useful for debugging)
Function Documentation
void buffer_append
(
buffer_t *
pBuf ,
buffer_t *
pAppBuf
)
Append next buffer to the whole chain.
Parameters:
pBuf pointer to buffer_t structure
pAppBuf pointer to buffer to append
Definition at line 244 of file buffer.c .
size_t buffer_bits_count
(
buffer_t *
pBuf )
Get buffer's bits count.
Parameters:
pBuf pointer to buffer_t structure
Returns: total number of valid bits in buffer
Definition at line 160 of file buffer.c .
void buffer_byref
(
buffer_t *
pBuf ,
uint8_t *
bufdata ,
size_t
length
)
Initialize buffer using underlying byte array, set buffer's length to array's size (full)
Parameters:
pBuf pointer to buffer_t structure to initialize
bufdata byte array to use
size size of byte array
Definition at line 59 of file buffer.c .
uint8_t* buffer_data
(
buffer_t *
pBuf )
Get buffer's underlying byte array.
Parameters:
pBuf pointer to buffer_t structure
Returns: underlying array
Definition at line 78 of file buffer.c .
void buffer_dump
(
buffer_t *
pBuf )
Dump a buffer's content to stdout (useful for debugging)
Parameters:
pBuf pointer to buffer_t structure
Definition at line 344 of file buffer.c .
bool buffer_empty
(
buffer_t *
pBuf )
Is buffer empty.
Parameters:
pBuf pointer to buffer_t structure
Returns: true if buffer is empty
Definition at line 122 of file buffer.c .
void buffer_init
(
buffer_t *
pBuf ,
uint8_t *
bufdata ,
size_t
size
)
Initialize buffer using underlying byte array, set buffer's length to 0 (empty)
Parameters:
pBuf pointer to buffer_t structure to initialize
bufdata byte array to use
size size of byte array
Definition at line 40 of file buffer.c .
size_t buffer_last_byte_length
(
buffer_t *
pBuf )
Get buffer's last byte's length.
Parameters:
pBuf pointer to buffer_t structure
Returns: number of valid bits in buffer's last byte
Definition at line 142 of file buffer.c .
size_t buffer_length
(
buffer_t *
pBuf )
Get buffer's length.
Parameters:
pBuf pointer to buffer_t structure
Returns: number of valid bytes in buffer
Definition at line 104 of file buffer.c .
buffer_t* buffer_next
(
buffer_t *
pBuf )
Get next buffer in chain.
Parameters:
pBuf pointer to buffer_t structure
Returns: pointer to next buffer
Definition at line 226 of file buffer.c .
void buffer_reset
(
buffer_t *
pBuf )
Reset buffer (empty)
Parameters:
pBuf pointer to buffer_t structure
Definition at line 86 of file buffer.c .
void buffer_set_last_byte_length
(
buffer_t *
pBuf ,
size_t
length
)
Set buffer's last byte's length.
Parameters:
pBuf pointer to buffer_t structure
length number of valid bits in buffer's last byte
Definition at line 151 of file buffer.c .
void buffer_set_length
(
buffer_t *
pBuf ,
size_t
length
)
Set buffer's length.
Parameters:
pBuf pointer to buffer_t structure
length number of valid bytes in buffer
Definition at line 131 of file buffer.c .
void buffer_set_next
(
buffer_t *
pBuf ,
buffer_t *
pNextBuf
)
Set next buffer in chain.
Parameters:
pBuf pointer to buffer_t structure
pNextBuf pointer to next buffer (or NULL to break chain)
Definition at line 235 of file buffer.c .
void buffer_set_total_length
(
buffer_t *
pBuf ,
size_t
length
)
Set buffer chain's total length (fill up one buffer and move to the next if needed)
Parameters:
pBuf pointer to buffer_t structure
length total length
Definition at line 308 of file buffer.c .
size_t buffer_size
(
buffer_t *
pBuf )
Get buffer's size.
Parameters:
pBuf pointer to buffer_t structure
Returns: buffer's size
Definition at line 95 of file buffer.c .
size_t buffer_space
(
buffer_t *
pBuf )
Get space in buffer.
Parameters:
pBuf pointer to buffer_t structure
Returns: number of free bytes in buffer
Definition at line 113 of file buffer.c .
size_t buffer_total_length
(
buffer_t *
pBuf )
Get buffer chain's total length.
Parameters:
pBuf pointer to buffer_t structure
Returns: number of valid bytes in the whole chain
Definition at line 291 of file buffer.c .
size_t buffer_total_size
(
buffer_t *
pBuf )
Get buffer chain's total size.
Parameters:
pBuf pointer to buffer_t structure
Returns: sum of each buffer's size
Definition at line 274 of file buffer.c .
void buffer_unlink
(
buffer_t *
pBuf ,
buffer_t *
pLinkedBuf
)
Split chain at specified buffer.
Parameters:
pBuf pointer to buffer_t structure
pLinkedBuf pointer to buffer from which to split the chain
Definition at line 259 of file buffer.c .
void buffer_write_bit
(
buffer_t *
pBuf ,
uint8_t
b
)
Write one bit to buffer.
Parameters:
pBuf pointer to buffer_t structure
b bit to append
Definition at line 206 of file buffer.c .
void buffer_write_byte
(
buffer_t *
pBuf ,
uint8_t
b
)
Write one byte to buffer.
Parameters:
pBuf pointer to buffer_t structure
b byte to append
Definition at line 182 of file buffer.c .