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

dkcCircularMemoryStream.c File Reference

#include "dkcCircularMemoryStream.h"
#include "dkcStdio.h"

Include dependency graph for dkcCircularMemoryStream.c:

Include dependency graph

Functions

DKC_CIRCULAR_MEMORYSTREAM
*WINAPI 
dkcAllocCircularMemoryStream (size_t size)
int WINAPI dkcFreeCircularMemoryStream (DKC_CIRCULAR_MEMORYSTREAM **ptr)
int WINAPI dkcCircularMemoryStreamRead (DKC_CIRCULAR_MEMORYSTREAM *ptr, void *buffer, size_t size, size_t *readsize)
 streamをリードする。freadみたいなもの

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

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

int WINAPI dkcCircularMemoryStreamClear (DKC_CIRCULAR_MEMORYSTREAM *ptr)
 stream内のカウンタを0にして事実上すべてクリアーにする。

int WINAPI dkcCircularMemoryStreamToBuffer (const DKC_CIRCULAR_MEMORYSTREAM *ptr, char *buff, size_t size, size_t want_size)
DKC_CIRCULAR_MEMORYSTREAM
*WINAPI 
dkcAllocCircularMemoryStreamCopy (const DKC_CIRCULAR_MEMORYSTREAM *ptr)

Detailed Description

Since:
2004/3/xx
Note:

Function Documentation

DKC_CIRCULAR_MEMORYSTREAM* WINAPI dkcAllocCircularMemoryStream size_t  size  ) 
 

DKC_CIRCULAR_MEMORYSTREAM* WINAPI dkcAllocCircularMemoryStreamCopy const DKC_CIRCULAR_MEMORYSTREAM ptr  ) 
 

DKC_CIRCULAR_MEMORYSTREAMをコピーする。 C++で言うコピーコンストラクタみたいなもの^^;

int WINAPI dkcCircularMemoryStreamClear DKC_CIRCULAR_MEMORYSTREAM ptr  ) 
 

stream内のカウンタを0にして事実上すべてクリアーにする。

int WINAPI dkcCircularMemoryStreamRead DKC_CIRCULAR_MEMORYSTREAM ptr,
void *  buffer,
size_t  size,
size_t *  readsize
 

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

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

int WINAPI dkcCircularMemoryStreamReference DKC_CIRCULAR_MEMORYSTREAM ptr,
void *  buffer,
size_t  size,
size_t *  readsize
 

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

int WINAPI dkcCircularMemoryStreamToBuffer const DKC_CIRCULAR_MEMORYSTREAM ptr,
char *  buff,
size_t  size,
size_t  want_size
 

int WINAPI dkcCircularMemoryStreamWrite DKC_CIRCULAR_MEMORYSTREAM ptr,
const void *  buffer,
size_t  size
 

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

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

int WINAPI dkcFreeCircularMemoryStream DKC_CIRCULAR_MEMORYSTREAM **  ptr  ) 
 


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