#ifndef SIMTRACE_RINGBUF_H | |
#define SIMTRACE_RINGBUF_H | |
#include <stdint.h> | |
#include <stdbool.h> | |
#include <sys/types.h> | |
#define RING_BUFLEN 1024 | |
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 */ |