全て データ構造 ファイル 関数 変数 型定義 列挙型 列挙型の値 マクロ定義
データ構造 | 関数
include/c/urg_ring_buffer.h

リングバッファ [詳細]

ソースコードを見る。

データ構造

struct  ring_buffer_t
 リングバッファの管理情報 [詳細]

関数

void ring_initialize (ring_buffer_t *ring, char *buffer, const int shift_length)
 初期化
void ring_clear (ring_buffer_t *ring)
 リングバッファのクリア
int ring_size (const ring_buffer_t *ring)
 格納データ数を返す
int ring_capacity (const ring_buffer_t *ring)
 最大の格納データ数を返す
int ring_write (ring_buffer_t *ring, const char *data, int size)
 データの格納
int ring_read (ring_buffer_t *ring, char *buffer, int size)
 データの取り出し

説明

リングバッファ

作者:
Satofumi KAMIMURA
Id:
urg_ring_buffer.h,v c5747add6615 2015/05/07 03:18:34 alexandr

関数

int ring_capacity ( const ring_buffer_t ring)

最大の格納データ数を返す

引数:
[in]ringリングバッファの構造体
void ring_clear ( ring_buffer_t ring)

リングバッファのクリア

引数:
[in]ringリングバッファの構造体
void ring_initialize ( ring_buffer_t ring,
char *  buffer,
const int  shift_length 
)

初期化

引数:
[in]ringリングバッファの構造体
[in]buffer割り当てるバッファ
[in]shift_lengthバッファサイズの 2 の乗数
int ring_read ( ring_buffer_t ring,
char *  buffer,
int  size 
)

データの取り出し

引数:
[in]ringリングバッファの構造体
[out]bufferデータ
[in]size最大のデータサイズ
戻り値:
取り出したデータ数
int ring_size ( const ring_buffer_t ring)

格納データ数を返す

引数:
[in]ringリングバッファの構造体
int ring_write ( ring_buffer_t ring,
const char *  data,
int  size 
)

データの格納

引数:
[in]ringリングバッファの構造体
[in]dataデータ
[in]sizeデータサイズ
戻り値:
格納したデータ数