mirror of
https://gitea.osmocom.org/sim-card/simtrace2.git
synced 2026-06-16 16:15:25 +03:00
ringbuffer implementation
This commit is contained in:
@@ -0,0 +1,22 @@
|
||||
#ifndef SIMTRACE_RINGBUF_H
|
||||
#define SIMTRACE_RINGBUF_H
|
||||
|
||||
#include <stdint.h>
|
||||
#include <stdbool.h>
|
||||
#include <sys/types.h>
|
||||
|
||||
#define RING_BUFLEN 64
|
||||
|
||||
typedef struct ringbuf {
|
||||
uint8_t buf[RING_BUFLEN];
|
||||
size_t ird;
|
||||
size_t iwr;
|
||||
} ringbuf;
|
||||
|
||||
void rbuf_reset(volatile ringbuf *rb);
|
||||
uint8_t rbuf_read(volatile ringbuf *rb);
|
||||
void rbuf_write(volatile ringbuf *rb, uint8_t item);
|
||||
bool rbuf_is_empty(volatile ringbuf *rb);
|
||||
bool rbuf_is_full(volatile ringbuf *rb);
|
||||
|
||||
#endif /* end of include guard: SIMTRACE_RINGBUF_H */
|
||||
Reference in New Issue
Block a user