Files
TAIXIN/sdk/include/lib/audio/ring_buffer/ring_buffer.h

22 lines
749 B
C

#ifndef _RING_BUFFER_H_
#define _RING_BUFFER_H_
typedef struct RINGBUF {
uint8_t *data;
uint32_t front;
uint32_t rear;
uint32_t elementsize;
uint32_t elementcount;
} RINGBUF;
RINGBUF *ringbuf_Init(uint8_t elementsize, uint32_t elementcount);
int32_t ringbuf_read_available(RINGBUF *ringbuf);
int32_t ringbuf_write_available(RINGBUF *ringbuf);
int32_t ringbuf_read(RINGBUF *ringbuf, void *data, uint32_t elementcount);
int32_t ringbuf_write(RINGBUF *ringbuf, void *data, uint32_t elementcount);
int32_t ringbuf_move_readptr(RINGBUF *ringbuf, int32_t elementcount);
int32_t ringbuf_read_nomove(RINGBUF *ringbuf, void *data, uint32_t elementcount);
void ringbuf_clean(RINGBUF *ringbuf);
void ringbuf_del(RINGBUF *ringbuf);
#endif