#pragma once #include #include #include #include #define RING_BUFFER_SIZE 1024 struct ring_buffer { char buffer[RING_BUFFER_SIZE]; int head; int tail; }; int ring_buffer_read(struct ring_buffer* rb, char* dest, int size); void ring_buffer_ack_read(struct ring_buffer* rb, int size); int ring_buffer_write(struct ring_buffer* rb, char* source, int size); int ring_buffer_free_space(struct ring_buffer* rb); int ring_buffer_used_space(struct ring_buffer* rb);