mirror of
https://gitea.osmocom.org/sim-card/simtrace2.git
synced 2026-03-17 05:38:33 +03:00
ringbuffer implementation
This commit is contained in:
22
firmware/src_simtrace/ringbuffer.h
Normal file
22
firmware/src_simtrace/ringbuffer.h
Normal file
@@ -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