libamxc  1.10.3
C Generic Data Containers
amxc_rbuffer.h File Reference

Ambiorix ring buffer API header file. More...

#include <unistd.h>
#include <amxc/amxc_common.h>
#include <amxc/amxc_array.h>

Go to the source code of this file.

Data Structures

struct  _amxc_rbuffer
 The ring buffer structure. More...
 

Typedefs

typedef struct _amxc_rbuffer amxc_rbuffer_t
 The ring buffer structure. More...
 

Functions

int amxc_rbuffer_new (amxc_rbuffer_t **rb, const size_t size)
 Allocates a ring buffer. More...
 
void amxc_rbuffer_delete (amxc_rbuffer_t **rb)
 Frees the previously allocated ring buffer. More...
 
int amxc_rbuffer_init (amxc_rbuffer_t *const rb, const size_t size)
 Initializes a ring buffer. More...
 
void amxc_rbuffer_clean (amxc_rbuffer_t *const rb)
 Frees the buffer and sets all pointers of the ring buffer structure to NULL. More...
 
int amxc_rbuffer_grow (amxc_rbuffer_t *const rb, const size_t size)
 Grows the ring buffer. More...
 
int amxc_rbuffer_shrink (amxc_rbuffer_t *const rb, const size_t size)
 Shrinks the ring buffer. More...
 
ssize_t amxc_rbuffer_read (amxc_rbuffer_t *const rb, char *const buf, size_t count)
 Reads a number of bytes from the ring buffer. More...
 
ssize_t amxc_rbuffer_write (amxc_rbuffer_t *const rb, const char *const buf, const size_t count)
 Writes a number of bytes to the ring buffer. More...
 
size_t amxc_rbuffer_size (const amxc_rbuffer_t *const rb)
 Get the size of the data stored in the ring buffer. More...
 
AMXC_INLINE size_t amxc_rbuffer_capacity (const amxc_rbuffer_t *const rb)
 Get the capacity of the ring buffer. More...
 
AMXC_INLINE bool amxc_rbuffer_is_empty (const amxc_rbuffer_t *const rb)
 Checks that the ring buffer is empty. More...
 

Detailed Description

Ambiorix ring buffer API header file.

Definition in file amxc_rbuffer.h.