All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Pages
Data Structures | Functions
urg_ring_buffer.h File Reference

リングバッファ More...

Go to the source code of this file.

Data Structures

struct  ring_buffer_t
 リングバッファの管理情報 More...
 

Functions

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

Detailed Description

リングバッファ

Author
Satofumi KAMIMURA

$Id$

Function Documentation

void ring_initialize ( ring_buffer_t ring,
char *  buffer,
const int  shift_length 
)

初期化

Parameters
[in]ringリングバッファの構造体
[in]buffer割り当てるバッファ
[in]shift_lengthバッファサイズの 2 の乗数
void ring_clear ( ring_buffer_t ring)

リングバッファのクリア

Parameters
[in]ringリングバッファの構造体
int ring_size ( const ring_buffer_t ring)

格納データ数を返す

Parameters
[in]ringリングバッファの構造体
int ring_capacity ( const ring_buffer_t ring)

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

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

データの格納

Parameters
[in]ringリングバッファの構造体
[in]dataデータ
[in]sizeデータサイズ
Returns
格納したデータ数
int ring_read ( ring_buffer_t ring,
char *  buffer,
int  size 
)

データの取り出し

Parameters
[in]ringリングバッファの構造体
[out]bufferデータ
[in]size最大のデータサイズ
Returns
取り出したデータ数