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:

## 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内のカウンタを０にして事実上すべてクリアーにする。
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内のカウンタを０にして事実上すべてクリアーにする。

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