HALFRED
0.4.0
|
Ring buffer API. More...
Ring buffer API.
General purpose ring buffer.
#include <stdint.h>
#include <stddef.h>
Go to the source code of this file.
Data Structures | |
struct | IOBufDesc |
Macros | |
#define | IOBUF_DECLARE(name, count, size) |
Typedefs | |
typedef size_t | iobuf_size_t |
typedef struct IOBufDesc * | IOBuf |
Functions | |
IOBuf | IOBUF_Create (iobuf_size_t elem_size, iobuf_size_t max_elem_count) |
IOBuf | IOBUF_Destroy (IOBuf iobuf) |
iobuf_size_t | IOBUF_GetCount (IOBuf iobuf) |
iobuf_size_t | IOBUF_GetSpace (IOBuf iobuf) |
iobuf_size_t | IOBUF_GetSize (IOBuf iobuf) |
IOBuf | IOBUF_Init (void *buf_ptr, iobuf_size_t buf_size, iobuf_size_t elem_size) |
iobuf_size_t | IOBUF_Read (IOBuf iobuf, void *data, iobuf_size_t elem_count) |
iobuf_size_t | IOBUF_Write (IOBuf iobuf, const void *data, iobuf_size_t elem_count) |
iobuf_size_t | IOBUF_ReadNextFragment (IOBuf iobuf, iobuf_size_t fragment_size, void **next_fragment_ptr, iobuf_size_t *next_fragment_size) |
iobuf_size_t | IOBUF_WriteNextFragment (IOBuf iobuf, iobuf_size_t fragment_size, void **next_fragment_ptr, iobuf_size_t *next_fragment_size) |
iobuf_size_t | IOBUF_ReadFast (IOBuf iobuf, void *elem) |
iobuf_size_t | IOBUF_WriteFast (IOBuf iobuf, const void *elem) |
void | IOBUF_Clear (IOBuf iobuf) |
iobuf_size_t | IOBUF_Peek (IOBuf iobuf, void *data, iobuf_size_t elem_count) |
iobuf_size_t | IOBUF_Move (IOBuf dst_iobuf, IOBuf src_iobuf, iobuf_size_t elem_count) |
iobuf_size_t | IOBUF_Remove (IOBuf iobuf, iobuf_size_t elem_count) |