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

dkcCircularStream.h File Reference

#include "dkcStream.h"

Include dependency graph for dkcCircularStream.h:

Include dependency graph

This graph shows which files directly or indirectly include this file:

Included by dependency graph

Go to the source code of this file.

Classes

struct  dkc_CircularStream
 円型ストリーム(リングバッファデータ)構造体 More...


Typedefs

typedef dkc_CircularStream DKC_CIRCULARSTREAM
 円型ストリーム(リングバッファデータ)構造体


Enumerations

enum  edkcCircularStream { edkcCircularStreamInitBuffer = edkcStreamInitBuffer, edkcCircularStreamInitFile = edkcStreamInitFile, edkcCircularStreamDumpAll, edkcCircularStreamDumpEnable }

Functions

DKC_EXTERN DKC_CIRCULARSTREAM
*WINAPI 
dkcAllocNewCircularStream (size_t size, short mode, const char *filename, const char *openmode)
DKC_EXTERN int WINAPI dkcFreeDeleteCircularStream (DKC_CIRCULARSTREAM **ptr)
DKC_EXTERN int WINAPI dkcNewCircularStream (DKC_CIRCULARSTREAM *ptr, size_t size)
DKC_EXTERN int WINAPI dkcNewCircularStreamForFile (DKC_CIRCULARSTREAM *ptr, size_t size, const char *filename, const char *openmode)
DKC_EXTERN int WINAPI dkcDeleteCircularStream (DKC_CIRCULARSTREAM *ptr)
 circular streamをデリート fcloseみたいなもの note 必ずストリームを使用したあとはこれを呼んでください。

DKC_EXTERN int WINAPI dkcCircularStreamRead (DKC_CIRCULARSTREAM *ptr, void *buffer, size_t size, size_t *readsize)
 streamをリードする。freadみたいなもの

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

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

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

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

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


Typedef Documentation

typedef struct dkc_CircularStream DKC_CIRCULARSTREAM
 

円型ストリーム(リングバッファデータ)構造体


Enumeration Type Documentation

enum edkcCircularStream
 

Enumeration values:
edkcCircularStreamInitBuffer 
edkcCircularStreamInitFile 
edkcCircularStreamDumpAll  無効な領域を含めたすべての内部バッファをダンプする。
edkcCircularStreamDumpEnable  有効な領域のみの内部バッファをダンプする。


Function Documentation

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

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

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

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

DKC_EXTERN 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したデータは二度と取り出せません。

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

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

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

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

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

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

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

DKC_EXTERN int WINAPI dkcCircularStreamZero DKC_CIRCULARSTREAM ptr  ) 
 

stream内をmemset(0)する。

DKC_EXTERN int WINAPI dkcDeleteCircularStream DKC_CIRCULARSTREAM ptr  ) 
 

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

DKC_EXTERN int WINAPI dkcFreeDeleteCircularStream DKC_CIRCULARSTREAM **  ptr  ) 
 

DKC_EXTERN int WINAPI dkcNewCircularStream DKC_CIRCULARSTREAM ptr,
size_t  size
 

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


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