Maestro Audio Framework v 1.7
NXP Semiconductors
Loading...
Searching...
No Matches
ringbuffer.h File Reference

Implements a data ringbuffer. More...

#include <stdint.h>

Data Structures

struct  ringbuf_t
 Ringbuffer structure. More...
 

Functions

ringbuf_t * ringbuf_create (uint32_t size)
 Create and initialize a ring buffer structure.
 
void ringbuf_destroy (ringbuf_t *rb)
 Destroy and free ring buffer structure.
 
void ringbuf_clear (ringbuf_t *rb)
 Empty ring buffer structure.
 
uint32_t ringbuf_get_occupancy (ringbuf_t *rb)
 Return the number of bytes stored in the ringbuffer.
 
uint32_t ringbuf_write (ringbuf_t *rb, uint8_t *data, uint32_t size)
 Write data to ring buffer.
 
uint32_t ringbuf_read (ringbuf_t *rb, uint8_t *data, uint32_t size)
 Read data from ring buffer.
 
uint32_t ringbuf_peek (ringbuf_t *rb, uint8_t *data, uint32_t size)
 Peak data from ring buffer without removing it.
 

Function Documentation

◆ ringbuf_create()

ringbuf_t * ringbuf_create ( uint32_t size)
Parameters
sizeBuffer size to be malloc'd
Returns
Initialized and allocated pointer to ring buffer object

◆ ringbuf_destroy()

void ringbuf_destroy ( ringbuf_t * rb)
Parameters
rbPointer to ring buffer object created with ringbuf_create

◆ ringbuf_clear()

void ringbuf_clear ( ringbuf_t * rb)
Parameters
rbPointer to ring buffer object created with ringbuf_create

◆ ringbuf_get_occupancy()

uint32_t ringbuf_get_occupancy ( ringbuf_t * rb)
Parameters
rbPointer to ring buffer object created with ringbuf_create
Returns
Number of bytes of data currently occupying space in the buffer

◆ ringbuf_write()

uint32_t ringbuf_write ( ringbuf_t * rb,
uint8_t * data,
uint32_t size )
Parameters
rbPointer to ring buffer object created with ringbuf_create
dataInput buffer of data to write to ring buffer
sizeNumber of bytes to write to ring buffer, from 'data'
Returns
Number of bytes successfully written to buffer

◆ ringbuf_read()

uint32_t ringbuf_read ( ringbuf_t * rb,
uint8_t * data,
uint32_t size )
Parameters
rbPointer to ring buffer object created with ringbuf_create
dataOutput buffer of data to write from ring buffer. Can be NULL, in which case data is discarded.
sizeNumber of bytes to read from ring buffer, to store in 'data'
Returns
Number of bytes successfully read to buffer or discarded

◆ ringbuf_peek()

uint32_t ringbuf_peek ( ringbuf_t * rb,
uint8_t * data,
uint32_t size )
Parameters
rbPointer to ring buffer object created with ringbuf_create
dataOutput buffer of data to write from ring buffer.
sizeNumber of bytes to read from ring buffer, to store in 'data'
Returns
Number of bytes successfully read to buffer