blob: 5fc2de087a61c370a1c7fa98bba6c7174ff74be3 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
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 */
|