#ifndef _RING_BUF_H_ #define _RING_BUF_H_ #include #include #ifdef __cplusplus extern "C" { #endif typedef struct{ uint8_t* p_o; /**< Original pointer */ uint8_t* volatile p_r; /**< Read pointer */ uint8_t* volatile p_w; /**< Write pointer */ volatile int32_t fill_cnt; /**< Number of filled slots */ int32_t size; /**< Buffer size */ }RINGBUF; int16_t RINGBUF_Init(RINGBUF *r, uint8_t* buf, int32_t size); int16_t RINGBUF_Put(RINGBUF *r, uint8_t c); int16_t RINGBUF_Get(RINGBUF *r, uint8_t* c); #ifdef __cplusplus } #endif #endif