#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include "btstack_ring_buffer.h"
#include "btstack_util.h"
Macros | |
#define | __BTSTACK_FILE__ "btstack_ring_buffer.c" |
#define | ERROR_CODE_MEMORY_CAPACITY_EXCEEDED 0x07 |
Functions | |
uint32_t | btstack_ring_buffer_bytes_available (btstack_ring_buffer_t *ring_buffer) |
Get number of bytes available for read. More... | |
uint32_t | btstack_ring_buffer_bytes_free (btstack_ring_buffer_t *ring_buffer) |
Get free space available for write. More... | |
int | btstack_ring_buffer_empty (btstack_ring_buffer_t *ring_buffer) |
Check if ring buffer is empty. More... | |
void | btstack_ring_buffer_init (btstack_ring_buffer_t *ring_buffer, uint8_t *storage, uint32_t storage_size) |
Init ring buffer. More... | |
void | btstack_ring_buffer_read (btstack_ring_buffer_t *ring_buffer, uint8_t *data, uint32_t data_length, uint32_t *number_of_bytes_read) |
Read from ring buffer. More... | |
int | btstack_ring_buffer_write (btstack_ring_buffer_t *ring_buffer, uint8_t *data, uint32_t data_length) |
Write bytes into ring buffer. More... | |
#define __BTSTACK_FILE__ "btstack_ring_buffer.c" |
#define ERROR_CODE_MEMORY_CAPACITY_EXCEEDED 0x07 |
Referenced by btstack_ring_buffer_write().
uint32_t btstack_ring_buffer_bytes_available | ( | btstack_ring_buffer_t * | ring_buffer | ) |
Get number of bytes available for read.
ring_buffer | object |
References btstack_ring_buffer::full, btstack_ring_buffer::last_read_index, btstack_ring_buffer::last_written_index, and btstack_ring_buffer::size.
Referenced by btstack_ring_buffer_bytes_free(), btstack_ring_buffer_empty(), and btstack_ring_buffer_read().
uint32_t btstack_ring_buffer_bytes_free | ( | btstack_ring_buffer_t * | ring_buffer | ) |
Get free space available for write.
ring_buffer | object |
References btstack_ring_buffer_bytes_available(), and btstack_ring_buffer::size.
Referenced by btstack_ring_buffer_write().
int btstack_ring_buffer_empty | ( | btstack_ring_buffer_t * | ring_buffer | ) |
Check if ring buffer is empty.
ring_buffer | object |
References btstack_ring_buffer_bytes_available().
void btstack_ring_buffer_init | ( | btstack_ring_buffer_t * | ring_buffer, |
uint8_t * | storage, | ||
uint32_t | storage_size | ||
) |
Init ring buffer.
ring_buffer | object |
storage | |
storage_size | in bytes |
References btstack_ring_buffer::full, btstack_ring_buffer::last_read_index, btstack_ring_buffer::last_written_index, btstack_ring_buffer::size, and btstack_ring_buffer::storage.
void btstack_ring_buffer_read | ( | btstack_ring_buffer_t * | ring_buffer, |
uint8_t * | buffer, | ||
uint32_t | length, | ||
uint32_t * | number_of_bytes_read | ||
) |
Read from ring buffer.
ring_buffer | object |
buffer | to store read data |
length | to read |
number_of_bytes_read |
References btstack_min(), btstack_ring_buffer_bytes_available(), btstack_ring_buffer::full, btstack_ring_buffer::last_read_index, btstack_ring_buffer::size, and btstack_ring_buffer::storage.
int btstack_ring_buffer_write | ( | btstack_ring_buffer_t * | ring_buffer, |
uint8_t * | data, | ||
uint32_t | data_length | ||
) |
Write bytes into ring buffer.
ring_buffer | object |
data | to store |
data_length |
References btstack_min(), btstack_ring_buffer_bytes_free(), ERROR_CODE_MEMORY_CAPACITY_EXCEEDED, btstack_ring_buffer::full, btstack_ring_buffer::last_read_index, btstack_ring_buffer::last_written_index, btstack_ring_buffer::size, and btstack_ring_buffer::storage.