struct fifo *fifo_alloc(unsigned int);
unsigned int fifo_put(struct fifo *, void *, unsigned int);
unsigned int fifo_get(struct fifo *, void *, unsigned int);
+void fifo_free(struct fifo *);
static inline unsigned int fifo_len(struct fifo *fifo)
{
return fifo->in - fifo->out;
}
+static inline unsigned int fifo_room(struct fifo *fifo)
+{
+ return fifo->size - fifo->in + fifo->out;
+}
+
#define min(x,y) ({ \
typeof(x) _x = (x); \
typeof(y) _y = (y); \