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:

## 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
| ) |