Defines |
#define | cfifo(elem) PELIB_CONCAT_2(cfifo_, elem) |
#define | cfifo_t(elem) PELIB_CONCAT_2(cfifo(elem), _t) |
#define | pelib_cfifo_push(elem) PELIB_CONCAT_3(pelib_, cfifo(elem), _push) |
#define | pelib_cfifo_fill(elem) PELIB_CONCAT_3(pelib_, cfifo(elem), _fill) |
#define | pelib_cfifo_pop(elem) PELIB_CONCAT_3(pelib_, cfifo(elem), _pop) |
#define | pelib_cfifo_discard(elem) PELIB_CONCAT_3(pelib_, cfifo(elem), _discard) |
#define | pelib_cfifo_peek(elem) PELIB_CONCAT_3(pelib_, cfifo(elem), _peek) |
#define | pelib_cfifo_last(elem) PELIB_CONCAT_3(pelib_, cfifo(elem), _last) |
#define | pelib_cfifo_is_full(elem) PELIB_CONCAT_3(pelib_, cfifo(elem), _is_full) |
#define | pelib_cfifo_is_empty(elem) PELIB_CONCAT_3(pelib_, cfifo(elem), _is_empty) |
#define | pelib_cfifo_string_content(elem) PELIB_CONCAT_3(pelib_, cfifo(elem), _string_content) |
#define | pelib_cfifo_printf_content(elem) PELIB_CONCAT_3(pelib_, cfifo(elem), _printf_content) |
#define | pelib_cfifo_pushmem(elem) PELIB_CONCAT_3(pelib_, cfifo(elem), _pushmem) |
#define | pelib_cfifo_popmem(elem) PELIB_CONCAT_3(pelib_, cfifo(elem), _popmem) |
#define | pelib_cfifo_peekmem(elem) PELIB_CONCAT_3(pelib_, cfifo(elem), _peekmem) |
#define | pelib_cfifo_peekaddr(elem) PELIB_CONCAT_3(pelib_, cfifo(elem), _peekaddr) |
#define | pelib_cfifo_writeaddr(elem) PELIB_CONCAT_3(pelib_, cfifo(elem), _writeaddr) |
#define | pelib_cfifo_popfifo(elem) PELIB_CONCAT_3(pelib_, cfifo(elem), _popfifo) |
#define | pelib_cfifo_length(elem) PELIB_CONCAT_3(pelib_, cfifo(elem), _length) |
#define | pelib_cfifo_last(elem) PELIB_CONCAT_3(pelib_, cfifo(elem), _last) |
#define | pelib_cfifo_capacity(elem) PELIB_CONCAT_3(pelib_, cfifo(elem), _capacity) |
#define | STRUCT_T cfifo_t(CFIFO_T) |
#define | PELIB_FIFO_ELEM_MAX_CHAR 11 |
Typedefs |
typedef enum pelib_fifo_operation | pelib_fifo_operation_t |
Enumerations |
enum | pelib_fifo_operation { PELIB_CFIFO_PUSH,
PELIB_CFIFO_POP
} |
Functions |
struct | cfifo (CFIFO_T) |
int pelib_cfifo_push() | CFIFO_T (cfifo_t(CFIFO_T)*, CFIFO_T) |
size_t pelib_cfifo_fill() | CFIFO_T (cfifo_t(CFIFO_T)*, size_t n) |
CFIFO_T pelib_cfifo_pop() | CFIFO_T (cfifo_t(CFIFO_T)*) |
CFIFO_T *pelib_cfifo_peekaddr() | CFIFO_T (cfifo_t(CFIFO_T)*, size_t offset, size_t *num, CFIFO_T **remaining) |
CFIFO_T *pelib_cfifo_writeaddr() | CFIFO_T (cfifo_t(CFIFO_T)*, size_t *num, CFIFO_T **remaining) |
size_t pelib_cfifo_pushmem() | CFIFO_T (cfifo_t(CFIFO_T)*, CFIFO_T *addr, size_t n) |
size_t pelib_cfifo_peekmem() | CFIFO_T (cfifo_t(CFIFO_T)*, CFIFO_T *, size_t n, size_t offset) |
size_t pelib_cfifo_popfifo() | CFIFO_T (cfifo_t(CFIFO_T)*, cfifo_t(CFIFO_T)*dest, size_t n) |
generic circular fifo
index of the next element to read at the next pop operation
index of the next element able to receive new data at the next push operation
Last operation, push or pop, performed on this circular fifo. Set to PELIB_CFIFO_POP at fifo initialization
Maximum number of elements this fifo can hold at a given time
Pointer to the memory portion that hold the data
Definition at line 66 of file fifo.h.
Returns the head of the fifo and set the head to the next element
Returns 0 if at least one push operation can be performed on the fifo
Returns 0 if there is at least one element stored in the fifo
Returns the number of elements available in the fifo
Returns the number that was last written in the fifo
Returns the maximum number of elements this fifo can contain