From 5450acde53db80f453a658f59ab887212680ca34 Mon Sep 17 00:00:00 2001 From: James Maki Date: Fri, 23 Apr 2010 12:32:53 -0500 Subject: initial commit --- src/cbuffer.h | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 src/cbuffer.h (limited to 'src/cbuffer.h') diff --git a/src/cbuffer.h b/src/cbuffer.h new file mode 100644 index 0000000..5fc2de0 --- /dev/null +++ b/src/cbuffer.h @@ -0,0 +1,22 @@ +#include + +#ifndef __CBUFFER_H +#define __CBUFFER_H + +struct cbuffer { + uint8_t buffer[1 << 10]; + int read_index; + int write_index; +}; + +#define buffer_size(buf) (sizeof((buf)->buffer)) +#define buffer_used(buf) (((buf)->write_index - (buf)->read_index) & (buffer_size(buf) - 1)) +#define buffer_free(buf) (buffer_size(buf) - 1 - buffer_used(buf)) + +int buffered_write(int fd, struct cbuffer *buf); +int buffered_read(int fd, struct cbuffer *buf); + +#define DIR_REV(i) ((i == 1) ? 0 : 1) + +#endif /* ~__CBUFFER_H */ + -- cgit v1.2.3