All Classes Namespaces Files Functions Variables Enumerations Enumerator
Functions
libs/common/c/ring_buffer.c File Reference

リングバッファ More...

#include "ring_buffer.h"
Include dependency graph for ring_buffer.c:

Go to the source code of this file.

Functions

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

Detailed Description

リングバッファ

Author:
Satofumi KAMIMURA
Id:
ring_buffer.c 1811 2010-04-30 16:12:05Z satofumi

Definition in file ring_buffer.c.


Function Documentation

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

初期化

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

Definition at line 13 of file ring_buffer.c.

void ring_clear ( ringBuffer_t ring)

リングバッファのクリア

Parameters:
[in]ringリングバッファの構造体

Definition at line 21 of file ring_buffer.c.

int ring_size ( const ringBuffer_t ring)

格納データ数を返す

Parameters:
[in]ringリングバッファの構造体

Definition at line 28 of file ring_buffer.c.

int ring_capacity ( const ringBuffer_t ring)

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

Parameters:
[in]ringリングバッファの構造体

Definition at line 37 of file ring_buffer.c.

int ring_write ( ringBuffer_t ring,
const char *  data,
int  size 
)

データの格納

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

Definition at line 52 of file ring_buffer.c.

int ring_read ( ringBuffer_t ring,
char *  buffer,
int  size 
)

データの取り出し

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

Definition at line 83 of file ring_buffer.c.