\section{dkc\-Circular\-Stream.c File Reference}
\label{dkcCircularStream_8c}\index{dkcCircularStream.c@{dkcCircularStream.c}}
{\tt \#include \char`\"{}dkc\-Circular\-Stream.h\char`\"{}}\par


Include dependency graph for dkc\-Circular\-Stream.c:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=119pt]{dkcCircularStream_8c__incl}
\end{center}
\end{figure}
\subsection*{Functions}
\begin{CompactItemize}
\item 
{\bf DKC\_\-CIRCULARSTREAM} $\ast$WINAPI {\bf dkc\-Alloc\-New\-Circular\-Stream} (size\_\-t size, short mode, const char $\ast$filename, const char $\ast$openmode)
\item 
int WINAPI {\bf dkc\-Free\-Delete\-Circular\-Stream} ({\bf DKC\_\-CIRCULARSTREAM} $\ast$$\ast$ptr)
\item 
int WINAPI {\bf dkc\-New\-Circular\-Stream} ({\bf DKC\_\-CIRCULARSTREAM} $\ast$ptr, size\_\-t size)
\item 
int WINAPI {\bf dkc\-New\-Circular\-Stream\-For\-File} ({\bf DKC\_\-CIRCULARSTREAM} $\ast$ptr, size\_\-t size, const char $\ast$filename, const char $\ast$openmode)
\item 
int WINAPI {\bf dkc\-Circular\-Stream\-Read} ({\bf DKC\_\-CIRCULARSTREAM} $\ast$ptr, void $\ast$buffer, size\_\-t size, size\_\-t $\ast$readsize)
\begin{CompactList}\small\item\em streamをリードする。freadみたいなもの \item\end{CompactList}\item 
int WINAPI {\bf dkc\-Circular\-Stream\-Reference} ({\bf DKC\_\-CIRCULARSTREAM} $\ast$ptr, void $\ast$buffer, size\_\-t size, size\_\-t $\ast$readsize)
\begin{CompactList}\small\item\em 中を覗き見るだけ。引数についてはdkc\-Circular\-Stream\-Read()を見るべし。 \item\end{CompactList}\item 
int WINAPI {\bf dkc\-Circular\-Stream\-Write} ({\bf DKC\_\-CIRCULARSTREAM} $\ast$ptr, const void $\ast$buffer, size\_\-t size)
\begin{CompactList}\small\item\em streamをライトする。fwriteみたいなもの \item\end{CompactList}\item 
int WINAPI {\bf dkc\-Circular\-Stream\-Zero} ({\bf DKC\_\-CIRCULARSTREAM} $\ast$ptr)
\begin{CompactList}\small\item\em stream内をmemset(0)する。 \item\end{CompactList}\item 
int WINAPI {\bf dkc\-Circular\-Stream\-To\-Buffer} (const {\bf DKC\_\-STREAM} $\ast$ptr, char $\ast$buff, size\_\-t size, size\_\-t want\_\-size)
\begin{CompactList}\small\item\em stream内のものをバッファにコピーする。 \item\end{CompactList}\item 
int WINAPI {\bf dkc\-Delete\-Circular\-Stream} ({\bf DKC\_\-CIRCULARSTREAM} $\ast$ptr)
\begin{CompactList}\small\item\em circular streamをデリート fcloseみたいなもの　note 必ずストリームを使用したあとはこれを呼んでください。 \item\end{CompactList}\item 
int WINAPI {\bf dkc\-Circular\-Stream\-Dump} ({\bf DKC\_\-CIRCULARSTREAM} $\ast$ptr, const char $\ast$filename, int flag)
\begin{CompactList}\small\item\em streamをファイルにダンプする。 \item\end{CompactList}\end{CompactItemize}


\subsection{Function Documentation}
\index{dkcCircularStream.c@{dkc\-Circular\-Stream.c}!dkcAllocNewCircularStream@{dkcAllocNewCircularStream}}
\index{dkcAllocNewCircularStream@{dkcAllocNewCircularStream}!dkcCircularStream.c@{dkc\-Circular\-Stream.c}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}{\bf DKC\_\-CIRCULARSTREAM}$\ast$ WINAPI dkc\-Alloc\-New\-Circular\-Stream (size\_\-t {\em size}, short {\em mode}, const char $\ast$ {\em filename}, const char $\ast$ {\em openmode})}\label{dkcCircularStream_8c_a0}


\index{dkcCircularStream.c@{dkc\-Circular\-Stream.c}!dkcCircularStreamDump@{dkcCircularStreamDump}}
\index{dkcCircularStreamDump@{dkcCircularStreamDump}!dkcCircularStream.c@{dkc\-Circular\-Stream.c}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int WINAPI dkc\-Circular\-Stream\-Dump ({\bf DKC\_\-CIRCULARSTREAM} $\ast$ {\em ptr}, const char $\ast$ {\em filename}, int {\em flag})}\label{dkcCircularStream_8c_a12}


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

\begin{Desc}
\item[Note:]ファイルとしてストリームを初期化したのならばこの関数は失敗する \end{Desc}
\index{dkcCircularStream.c@{dkc\-Circular\-Stream.c}!dkcCircularStreamRead@{dkcCircularStreamRead}}
\index{dkcCircularStreamRead@{dkcCircularStreamRead}!dkcCircularStream.c@{dkc\-Circular\-Stream.c}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int WINAPI dkc\-Circular\-Stream\-Read ({\bf DKC\_\-CIRCULARSTREAM} $\ast$ {\em ptr}, void $\ast$ {\em buffer}, size\_\-t {\em size}, size\_\-t $\ast$ {\em readsize})}\label{dkcCircularStream_8c_a6}


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

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em readsize\mbox{[}out\mbox{]}}]実際に読んだサイズを返す。NULLを渡してもOK. \end{description}
\end{Desc}
\begin{Desc}
\item[Note:]・指定したサイズ(size)よりもストリームバッファのサイズが小さかった場合 readsizeに実際に読んだサイズを入れます。 ・Readしたデータは取り出したデータとして処理され、 そのバッファ内容は次のデータを保存する領域として再利用されます。 つまり、一度\-Readしたデータは二度と取り出せません。 \end{Desc}
\index{dkcCircularStream.c@{dkc\-Circular\-Stream.c}!dkcCircularStreamReference@{dkcCircularStreamReference}}
\index{dkcCircularStreamReference@{dkcCircularStreamReference}!dkcCircularStream.c@{dkc\-Circular\-Stream.c}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int WINAPI dkc\-Circular\-Stream\-Reference ({\bf DKC\_\-CIRCULARSTREAM} $\ast$ {\em ptr}, void $\ast$ {\em buffer}, size\_\-t {\em size}, size\_\-t $\ast$ {\em readsize})}\label{dkcCircularStream_8c_a7}


中を覗き見るだけ。引数についてはdkc\-Circular\-Stream\-Read()を見るべし。 

\index{dkcCircularStream.c@{dkc\-Circular\-Stream.c}!dkcCircularStreamToBuffer@{dkcCircularStreamToBuffer}}
\index{dkcCircularStreamToBuffer@{dkcCircularStreamToBuffer}!dkcCircularStream.c@{dkc\-Circular\-Stream.c}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int WINAPI dkc\-Circular\-Stream\-To\-Buffer (const {\bf DKC\_\-STREAM} $\ast$ {\em ptr}, char $\ast$ {\em buff}, size\_\-t {\em size}, size\_\-t {\em want\_\-size})}\label{dkcCircularStream_8c_a10}


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

\index{dkcCircularStream.c@{dkc\-Circular\-Stream.c}!dkcCircularStreamWrite@{dkcCircularStreamWrite}}
\index{dkcCircularStreamWrite@{dkcCircularStreamWrite}!dkcCircularStream.c@{dkc\-Circular\-Stream.c}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int WINAPI dkc\-Circular\-Stream\-Write ({\bf DKC\_\-CIRCULARSTREAM} $\ast$ {\em ptr}, const void $\ast$ {\em buffer}, size\_\-t {\em size})}\label{dkcCircularStream_8c_a8}


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

\begin{Desc}
\item[Note:]内部ストリームバッファは円型です。いわいるRing\-Bufferって奴です。 dkc\-Circular\-Stream\-Writeしたらdkc\-Circular\-Stream\-Readしてデータを出してあげましょう。 そうしなければ、いずれ、円型バッファの有効データが一杯になってこの関数は失敗します。 C言語版 boost::circular\_\-bufferみたいなものですね＾＾；（といいますか、また車輪の再開発してるし･･･。 \end{Desc}
\index{dkcCircularStream.c@{dkc\-Circular\-Stream.c}!dkcCircularStreamZero@{dkcCircularStreamZero}}
\index{dkcCircularStreamZero@{dkcCircularStreamZero}!dkcCircularStream.c@{dkc\-Circular\-Stream.c}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int WINAPI dkc\-Circular\-Stream\-Zero ({\bf DKC\_\-CIRCULARSTREAM} $\ast$ {\em ptr})}\label{dkcCircularStream_8c_a9}


stream内をmemset(0)する。 

\index{dkcCircularStream.c@{dkc\-Circular\-Stream.c}!dkcDeleteCircularStream@{dkcDeleteCircularStream}}
\index{dkcDeleteCircularStream@{dkcDeleteCircularStream}!dkcCircularStream.c@{dkc\-Circular\-Stream.c}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int WINAPI dkc\-Delete\-Circular\-Stream ({\bf DKC\_\-CIRCULARSTREAM} $\ast$ {\em ptr})}\label{dkcCircularStream_8c_a11}


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

\index{dkcCircularStream.c@{dkc\-Circular\-Stream.c}!dkcFreeDeleteCircularStream@{dkcFreeDeleteCircularStream}}
\index{dkcFreeDeleteCircularStream@{dkcFreeDeleteCircularStream}!dkcCircularStream.c@{dkc\-Circular\-Stream.c}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int WINAPI dkc\-Free\-Delete\-Circular\-Stream ({\bf DKC\_\-CIRCULARSTREAM} $\ast$$\ast$ {\em ptr})}\label{dkcCircularStream_8c_a1}


\index{dkcCircularStream.c@{dkc\-Circular\-Stream.c}!dkcNewCircularStream@{dkcNewCircularStream}}
\index{dkcNewCircularStream@{dkcNewCircularStream}!dkcCircularStream.c@{dkc\-Circular\-Stream.c}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int WINAPI dkc\-New\-Circular\-Stream ({\bf DKC\_\-CIRCULARSTREAM} $\ast$ {\em ptr}, size\_\-t {\em size})}\label{dkcCircularStream_8c_a2}


\index{dkcCircularStream.c@{dkc\-Circular\-Stream.c}!dkcNewCircularStreamForFile@{dkcNewCircularStreamForFile}}
\index{dkcNewCircularStreamForFile@{dkcNewCircularStreamForFile}!dkcCircularStream.c@{dkc\-Circular\-Stream.c}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}int WINAPI dkc\-New\-Circular\-Stream\-For\-File ({\bf DKC\_\-CIRCULARSTREAM} $\ast$ {\em ptr}, size\_\-t {\em size}, const char $\ast$ {\em filename}, const char $\ast$ {\em openmode})}\label{dkcCircularStream_8c_a3}


