picox  0.1
xfifo_buffer.h ファイル
#include <picox/core/xcore.h>
xfifo_buffer.h の依存先関係図:

[ソースコード]

データ構造

struct  XFifoBuffer
 FIFOバイトバッファ管理構造体 [詳解]
 

マクロ定義

#define XFIFO__ADD_FIRST(x)    ((self->first + x) & self->capacity)
 
#define XFIFO__ADD_LAST(x)    ((self->last + x) & self->capacity)
 

型定義

typedef void(* XFifoAtomicAssigner) (size_t *dst, size_t value)
 アトミックにsize_t変数に代入を行う関数ポインタ
 

関数

static size_t xfifo_capacity (const XFifoBuffer *self)
 最大格納要素数を返します。
 
static void xfifo_clear (XFifoBuffer *self)
 バッファを空にします。
 
static void * xfifo_data (const XFifoBuffer *self)
 要素を格納するバッファを返します。
 
static bool xfifo_empty (const XFifoBuffer *self)
 格納要素数が0かどうかを返します。
 
static bool xfifo_full (const XFifoBuffer *self)
 要素数が上限かどうかを返します。
 
static void xfifo_init (XFifoBuffer *self, void *buffer, size_t size, XFifoAtomicAssigner assigner)
 バッファを初期化します。 [詳解]
 
static uint8_t xfifo_pop (XFifoBuffer *self)
 FIFO先頭から要素を取り出します。
 
static void xfifo_push (XFifoBuffer *self, uint8_t data)
 FIFO末尾に要素を追加します。
 
static size_t xfifo_read (XFifoBuffer *self, void *dst, size_t dsize)
 FIFO先頭から指定サイズのデータを読み込みを試みます。 [詳解]
 
static size_t xfifo_reserve (const XFifoBuffer *self)
 空き要素数を返します。
 
static size_t xfifo_size (const XFifoBuffer *self)
 格納要素数を返します。
 
static size_t xfifo_write (XFifoBuffer *self, const void *src, size_t ssize)
 FIFO末尾に指定サイズのデータの書き込みを試みます。 [詳解]
 
static void XFifoDefaultAtomicAssign (size_t *dst, size_t value)
 

詳解

著者
MaskedW