#include "buf.h" // circular buffer functions /* These functions have been rewritten as macros in buf.h for speed reasons. char canProduce() { return (!(((consumer == 0) && (producer == (BUF_SIZE-1))) || (producer == (consumer - 1)))); } char canConsume() { return (producer != consumer); } void produce(char c) { buf[producer] = c; producer = (producer+1) & BUF_MASK; } char consume() { char c; c = buf[consumer]; consumer = (consumer+1) & BUF_MASK; return c; } */ void clear() { producer = 0; consumer = 0; }