diff options
author | James Maki <jmaki@multitech.com> | 2010-04-23 12:32:53 -0500 |
---|---|---|
committer | James Maki <jmaki@multitech.com> | 2010-04-23 12:32:53 -0500 |
commit | 5450acde53db80f453a658f59ab887212680ca34 (patch) | |
tree | c67ba88c2d9e5a4fcf84919ea607214618614bd5 /src/cbuffer.h | |
download | venus-gps-5450acde53db80f453a658f59ab887212680ca34.tar.gz venus-gps-5450acde53db80f453a658f59ab887212680ca34.tar.bz2 venus-gps-5450acde53db80f453a658f59ab887212680ca34.zip |
initial commit
Diffstat (limited to 'src/cbuffer.h')
-rw-r--r-- | src/cbuffer.h | 22 |
1 files changed, 22 insertions, 0 deletions
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 <stdint.h> + +#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 */ + |