HALFRED  0.4.0
Data Structures | Macros | Typedefs | Functions
hal_iobuf.h File Reference

Ring buffer API. More...

Detailed Description

Ring buffer API.

General purpose ring buffer.

Purpose
HALFRED Hardware Abstraction Layer
Version
Revision
1500
License
$License$
#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 IOBufDescIOBuf
 

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)