blob: e0a81e524de6f764b217b24db9c8b91387d3d39f (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
// SIMPLE FIFO DRIVER
#ifndef FIFO_H
#define FIFO_H
#include <stdint.h>
#include <stdbool.h>
typedef struct fifo_struct
{
bool (*put)(struct fifo_stuct*,uint8_t);
uint8_t (*get)(struct fifo_struct*);
bool (*has)(struct fifo_struct*);
void *data; // opaque! can be a vt52 or a ringbuffer..
}fifo;
volatile bool fifo_put(fifo*,uint8_t);
volatile uint8_t fifo_get(fifo*);
volatile bool fifo_has(fifo*);
#endif
|