23 lines
707 B
C
23 lines
707 B
C
#ifndef SRING_H
|
|
#define SRING_H
|
|
|
|
/** Ring buffer data structure */
|
|
typedef struct sring_buffer_t {
|
|
char *data; /**< Dynamically allocated data storage */
|
|
unsigned int size; /**< The buffer's size */
|
|
unsigned int w; /**< write pointer */
|
|
unsigned int r; /**< read pointer */
|
|
} sring_buffer;
|
|
|
|
sring_buffer* sring_create(int iSize);
|
|
void sring_destroy(sring_buffer *buf);
|
|
void sring_clear(sring_buffer *buf);
|
|
int sring_getMaxWrite(sring_buffer *buf);
|
|
int sring_getMaxRead(sring_buffer *buf);
|
|
int sring_write(sring_buffer *buf, char *src, int src_len);
|
|
int sring_read(sring_buffer *buf, char *dst, int dst_len);
|
|
char* sring_read_string(sring_buffer *buf);
|
|
void sring_dump(sring_buffer *buf);
|
|
|
|
#endif
|