Main Page | Alphabetical List | Class List | File List | Class Members | File Members | Related Pages

dkcCircularStream.c File Reference

#include "dkcCircularStream.h"

Include dependency graph for dkcCircularStream.c:

Include dependency graph

Functions

DKC_CIRCULARSTREAM *WINAPI dkcAllocNewCircularStream (size_t size, short mode, const char *filename, const char *openmode)
int WINAPI dkcFreeDeleteCircularStream (DKC_CIRCULARSTREAM **ptr)
int WINAPI dkcNewCircularStream (DKC_CIRCULARSTREAM *ptr, size_t size)
int WINAPI dkcNewCircularStreamForFile (DKC_CIRCULARSTREAM *ptr, size_t size, const char *filename, const char *openmode)
int WINAPI dkcCircularStreamRead (DKC_CIRCULARSTREAM *ptr, void *buffer, size_t size, size_t *readsize)
 streamをリードする。freadみたいなもの

int WINAPI dkcCircularStreamReference (DKC_CIRCULARSTREAM *ptr, void *buffer, size_t size, size_t *readsize)
 中を覗き見るだけ。引数についてはdkcCircularStreamRead()を見るべし。

int WINAPI dkcCircularStreamWrite (DKC_CIRCULARSTREAM *ptr, const void *buffer, size_t size)
 streamをライトする。fwriteみたいなもの

int WINAPI dkcCircularStreamZero (DKC_CIRCULARSTREAM *ptr)
 stream内をmemset(0)する。

int WINAPI dkcCircularStreamToBuffer (const DKC_STREAM *ptr, char *buff, size_t size, size_t want_size)
 stream内のものをバッファにコピーする。

int WINAPI dkcDeleteCircularStream (DKC_CIRCULARSTREAM *ptr)
 circular streamをデリート fcloseみたいなもの note 必ずストリームを使用したあとはこれを呼んでください。

int WINAPI dkcCircularStreamDump (DKC_CIRCULARSTREAM *ptr, const char *filename, int flag)
 streamをファイルにダンプする。


Function Documentation

DKC_CIRCULARSTREAM* WINAPI dkcAllocNewCircularStream size_t  size,
short  mode,
const char *  filename,
const char *  openmode
 

int WINAPI dkcCircularStreamDump DKC_CIRCULARSTREAM ptr,
const char *  filename,
int  flag
 

streamをファイルにダンプする。

Note:
ファイルとしてストリームを初期化したのならばこの関数は失敗する

int WINAPI dkcCircularStreamRead DKC_CIRCULARSTREAM ptr,
void *  buffer,
size_t  size,
size_t *  readsize
 

streamをリードする。freadみたいなもの

Parameters:
readsize[out] 実際に読んだサイズを返す。NULLを渡してもOK.
Note:
・指定したサイズ(size)よりもストリームバッファのサイズが小さかった場合 readsizeに実際に読んだサイズを入れます。 ・Readしたデータは取り出したデータとして処理され、 そのバッファ内容は次のデータを保存する領域として再利用されます。 つまり、一度Readしたデータは二度と取り出せません。

int WINAPI dkcCircularStreamReference DKC_CIRCULARSTREAM ptr,
void *  buffer,
size_t  size,
size_t *  readsize
 

中を覗き見るだけ。引数についてはdkcCircularStreamRead()を見るべし。

int WINAPI dkcCircularStreamToBuffer const DKC_STREAM ptr,
char *  buff,
size_t  size,
size_t  want_size
 

stream内のものをバッファにコピーする。

int WINAPI dkcCircularStreamWrite DKC_CIRCULARSTREAM ptr,
const void *  buffer,
size_t  size
 

streamをライトする。fwriteみたいなもの

Note:
内部ストリームバッファは円型です。いわいるRingBufferって奴です。 dkcCircularStreamWriteしたらdkcCircularStreamReadしてデータを出してあげましょう。 そうしなければ、いずれ、円型バッファの有効データが一杯になってこの関数は失敗します。 C言語版 boost::circular_bufferみたいなものですね^^;(といいますか、また車輪の再開発してるし・・・。

int WINAPI dkcCircularStreamZero DKC_CIRCULARSTREAM ptr  ) 
 

stream内をmemset(0)する。

int WINAPI dkcDeleteCircularStream DKC_CIRCULARSTREAM ptr  ) 
 

circular streamをデリート fcloseみたいなもの note 必ずストリームを使用したあとはこれを呼んでください。

int WINAPI dkcFreeDeleteCircularStream DKC_CIRCULARSTREAM **  ptr  ) 
 

int WINAPI dkcNewCircularStream DKC_CIRCULARSTREAM ptr,
size_t  size
 

int WINAPI dkcNewCircularStreamForFile DKC_CIRCULARSTREAM ptr,
size_t  size,
const char *  filename,
const char *  openmode
 


Generated on Mon Apr 26 19:36:57 2004 for dkutil_c by doxygen 1.3.6