\hypertarget{group__rstream}{\section{Stream Reader Interface}
\label{group__rstream}\index{Stream Reader Interface@{Stream Reader Interface}}
}


rstream provides an interface for dealing with a single stream of a trace.  


\subsection*{Files}
\begin{DoxyCompactItemize}
\item 
file \hyperlink{OTF__RStream_8h}{O\+T\+F\+\_\+\+R\+Stream.\+h}
\begin{DoxyCompactList}\small\item\em Provides read access to trace streams, which consist of multiple buffers. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Typedefs}
\begin{DoxyCompactItemize}
\item 
\hypertarget{group__rstream_ga49ebb89cbfba57c1191d09210e353771}{typedef struct \hyperlink{structstruct__OTF__RStream}{struct\+\_\+\+O\+T\+F\+\_\+\+R\+Stream} \hyperlink{group__rstream_ga49ebb89cbfba57c1191d09210e353771}{O\+T\+F\+\_\+\+R\+Stream}}\label{group__rstream_ga49ebb89cbfba57c1191d09210e353771}

\begin{DoxyCompactList}\small\item\em rstream object \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Functions}
\begin{DoxyCompactItemize}
\item 
\hyperlink{group__rstream_ga49ebb89cbfba57c1191d09210e353771}{O\+T\+F\+\_\+\+R\+Stream} $\ast$ \hyperlink{group__rstream_gab4d7a66eb0c1bec13b3c8a94503a1192}{O\+T\+F\+\_\+\+R\+Stream\+\_\+open} (const char $\ast$name\+Stub, uint32\+\_\+t id, \hyperlink{group__fm_ga621c18447ec33f803cc270a9494b0685}{O\+T\+F\+\_\+\+File\+Manager} $\ast$manager)
\begin{DoxyCompactList}\small\item\em Create a new O\+T\+F\+\_\+\+R\+Stream instance. \end{DoxyCompactList}\item 
int \hyperlink{group__rstream_ga676bd8cc97af56bfe4c06c1d081202c5}{O\+T\+F\+\_\+\+R\+Stream\+\_\+close} (\hyperlink{group__rstream_ga49ebb89cbfba57c1191d09210e353771}{O\+T\+F\+\_\+\+R\+Stream} $\ast$rstream)
\begin{DoxyCompactList}\small\item\em Close an O\+T\+F\+\_\+\+R\+Stream instance and all its related files. \end{DoxyCompactList}\item 
\hyperlink{structstruct__OTF__RBuffer}{O\+T\+F\+\_\+\+R\+Buffer} $\ast$ \hyperlink{group__rstream_ga22f3bb0bc274c984214c346c34bd7df2}{O\+T\+F\+\_\+\+R\+Stream\+\_\+get\+Def\+Buffer} (\hyperlink{group__rstream_ga49ebb89cbfba57c1191d09210e353771}{O\+T\+F\+\_\+\+R\+Stream} $\ast$rstream)
\begin{DoxyCompactList}\small\item\em Returns the definition buffer of the according reader stream. \end{DoxyCompactList}\item 
\hyperlink{structstruct__OTF__RBuffer}{O\+T\+F\+\_\+\+R\+Buffer} $\ast$ \hyperlink{group__rstream_gad67350756e0b267a1a3d9ff1222c2dfe}{O\+T\+F\+\_\+\+R\+Stream\+\_\+set\+Def\+Buffer} (\hyperlink{group__rstream_ga49ebb89cbfba57c1191d09210e353771}{O\+T\+F\+\_\+\+R\+Stream} $\ast$rstream, \hyperlink{structstruct__OTF__RBuffer}{O\+T\+F\+\_\+\+R\+Buffer} $\ast$rbuffer)
\begin{DoxyCompactList}\small\item\em Forces the given definition buffer to the according reader stream. \end{DoxyCompactList}\item 
int \hyperlink{group__rstream_gaa1f0c839f015111a0d9558e0814eadb0}{O\+T\+F\+\_\+\+R\+Stream\+\_\+close\+Def\+Buffer} (\hyperlink{group__rstream_ga49ebb89cbfba57c1191d09210e353771}{O\+T\+F\+\_\+\+R\+Stream} $\ast$rstream)
\begin{DoxyCompactList}\small\item\em Closes the stream definition buffer. \end{DoxyCompactList}\item 
\hyperlink{structstruct__OTF__RBuffer}{O\+T\+F\+\_\+\+R\+Buffer} $\ast$ \hyperlink{group__rstream_ga636ef44491a4aecf182c0411dbe71b5a}{O\+T\+F\+\_\+\+R\+Stream\+\_\+get\+Event\+Buffer} (\hyperlink{group__rstream_ga49ebb89cbfba57c1191d09210e353771}{O\+T\+F\+\_\+\+R\+Stream} $\ast$rstream)
\begin{DoxyCompactList}\small\item\em Returns the event buffer of the according reader stream. \end{DoxyCompactList}\item 
int \hyperlink{group__rstream_ga5a1e34dd3823686adfc183fc4cef558f}{O\+T\+F\+\_\+\+R\+Stream\+\_\+close\+Event\+Buffer} (\hyperlink{group__rstream_ga49ebb89cbfba57c1191d09210e353771}{O\+T\+F\+\_\+\+R\+Stream} $\ast$rstream)
\begin{DoxyCompactList}\small\item\em Closes the stream event buffer. \end{DoxyCompactList}\item 
\hyperlink{structstruct__OTF__RBuffer}{O\+T\+F\+\_\+\+R\+Buffer} $\ast$ \hyperlink{group__rstream_gaebe22f25a86375912c4db4e90d7cf1bd}{O\+T\+F\+\_\+\+R\+Stream\+\_\+get\+Snaps\+Buffer} (\hyperlink{group__rstream_ga49ebb89cbfba57c1191d09210e353771}{O\+T\+F\+\_\+\+R\+Stream} $\ast$rstream)
\begin{DoxyCompactList}\small\item\em Returns the snapshots buffer of the according reader stream. \end{DoxyCompactList}\item 
int \hyperlink{group__rstream_ga1a28b1808896c218490da323c3eb9682}{O\+T\+F\+\_\+\+R\+Stream\+\_\+close\+Snaps\+Buffer} (\hyperlink{group__rstream_ga49ebb89cbfba57c1191d09210e353771}{O\+T\+F\+\_\+\+R\+Stream} $\ast$rstream)
\begin{DoxyCompactList}\small\item\em Closes the stream snapshots buffer. \end{DoxyCompactList}\item 
\hyperlink{structstruct__OTF__RBuffer}{O\+T\+F\+\_\+\+R\+Buffer} $\ast$ \hyperlink{group__rstream_ga8e5bc3bca86fcab4197976d40824777f}{O\+T\+F\+\_\+\+R\+Stream\+\_\+get\+Stats\+Buffer} (\hyperlink{group__rstream_ga49ebb89cbfba57c1191d09210e353771}{O\+T\+F\+\_\+\+R\+Stream} $\ast$rstream)
\begin{DoxyCompactList}\small\item\em Returns the statistics buffer of the according reader stream. \end{DoxyCompactList}\item 
int \hyperlink{group__rstream_ga632157507d70e5e585fcedcee57b72ec}{O\+T\+F\+\_\+\+R\+Stream\+\_\+close\+Stats\+Buffer} (\hyperlink{group__rstream_ga49ebb89cbfba57c1191d09210e353771}{O\+T\+F\+\_\+\+R\+Stream} $\ast$rstream)
\begin{DoxyCompactList}\small\item\em Closes the stream statistics buffer. \end{DoxyCompactList}\item 
\hyperlink{structstruct__OTF__RBuffer}{O\+T\+F\+\_\+\+R\+Buffer} $\ast$ \hyperlink{group__rstream_ga39200e51cf9634d456ea6bd740ad0683}{O\+T\+F\+\_\+\+R\+Stream\+\_\+get\+Marker\+Buffer} (\hyperlink{group__rstream_ga49ebb89cbfba57c1191d09210e353771}{O\+T\+F\+\_\+\+R\+Stream} $\ast$rstream)
\begin{DoxyCompactList}\small\item\em Returns the marker buffer of the according reader stream. \end{DoxyCompactList}\item 
int \hyperlink{group__rstream_ga6ba457d601341c30ba9c31ffad73cb63}{O\+T\+F\+\_\+\+R\+Stream\+\_\+close\+Marker\+Buffer} (\hyperlink{group__rstream_ga49ebb89cbfba57c1191d09210e353771}{O\+T\+F\+\_\+\+R\+Stream} $\ast$rstream)
\begin{DoxyCompactList}\small\item\em Closes the stream marker buffer. \end{DoxyCompactList}\item 
void \hyperlink{group__rstream_ga25964919108452ab9b8ec93de4075a8a}{O\+T\+F\+\_\+\+R\+Stream\+\_\+set\+Buffer\+Sizes} (\hyperlink{group__rstream_ga49ebb89cbfba57c1191d09210e353771}{O\+T\+F\+\_\+\+R\+Stream} $\ast$rstream, uint32\+\_\+t size)
\begin{DoxyCompactList}\small\item\em Set the default buffer size for all buffers managed by this reader stream. \end{DoxyCompactList}\item 
uint32\+\_\+t \hyperlink{group__rstream_ga898905014217f6637eb89d05f7ee0c76}{O\+T\+F\+\_\+\+R\+Stream\+\_\+get\+Buffer\+Sizes} (\hyperlink{group__rstream_ga49ebb89cbfba57c1191d09210e353771}{O\+T\+F\+\_\+\+R\+Stream} $\ast$rstream)
\begin{DoxyCompactList}\small\item\em Get the default buffer size for all buffers managed by this reader stream. \end{DoxyCompactList}\item 
void \hyperlink{group__rstream_ga20a788b3102af11860fa9aac92f7d47f}{O\+T\+F\+\_\+\+R\+Stream\+\_\+set\+Z\+Buffer\+Sizes} (\hyperlink{group__rstream_ga49ebb89cbfba57c1191d09210e353771}{O\+T\+F\+\_\+\+R\+Stream} $\ast$rstream, uint32\+\_\+t size)
\begin{DoxyCompactList}\small\item\em Set the default zbuffer size for all files managed by this reader stream. \end{DoxyCompactList}\item 
uint32\+\_\+t \hyperlink{group__rstream_gae54283534f51598864c681f68ac9a556}{O\+T\+F\+\_\+\+R\+Stream\+\_\+get\+Z\+Buffer\+Sizes} (\hyperlink{group__rstream_ga49ebb89cbfba57c1191d09210e353771}{O\+T\+F\+\_\+\+R\+Stream} $\ast$rstream)
\begin{DoxyCompactList}\small\item\em Get the default zbuffer size for all files managed by this reader stream. \end{DoxyCompactList}\item 
void \hyperlink{group__rstream_ga3171a4e82be47c8129024504dbad14ea}{O\+T\+F\+\_\+\+R\+Stream\+\_\+set\+Record\+Limit} (\hyperlink{group__rstream_ga49ebb89cbfba57c1191d09210e353771}{O\+T\+F\+\_\+\+R\+Stream} $\ast$rstream, uint64\+\_\+t limit)
\begin{DoxyCompactList}\small\item\em Sets the maximum number of records delivered by a single call to O\+T\+F\+\_\+\+R\+Stream\+\_\+read\+X\+Y\+Z(). \end{DoxyCompactList}\item 
uint64\+\_\+t \hyperlink{group__rstream_gae97340bed536aa60c9966d66fcba1dfb}{O\+T\+F\+\_\+\+R\+Stream\+\_\+get\+Record\+Limit} (\hyperlink{group__rstream_ga49ebb89cbfba57c1191d09210e353771}{O\+T\+F\+\_\+\+R\+Stream} $\ast$rstream)
\begin{DoxyCompactList}\small\item\em Returns the current record limit. \end{DoxyCompactList}\item 
uint64\+\_\+t \hyperlink{group__rstream_gae107476b480731bc8ed99209f2aa7838}{O\+T\+F\+\_\+\+R\+Stream\+\_\+read\+Definitions} (\hyperlink{group__rstream_ga49ebb89cbfba57c1191d09210e353771}{O\+T\+F\+\_\+\+R\+Stream} $\ast$rstream, \hyperlink{group__ha_ga25c9228aeaddda3577266eab8a986b27}{O\+T\+F\+\_\+\+Handler\+Array} $\ast$handlers)
\begin{DoxyCompactList}\small\item\em Reads all definitions from the stream. \end{DoxyCompactList}\item 
uint64\+\_\+t \hyperlink{group__rstream_ga23ac8c46c797510749535c5f2991d233}{O\+T\+F\+\_\+\+R\+Stream\+\_\+read\+Events} (\hyperlink{group__rstream_ga49ebb89cbfba57c1191d09210e353771}{O\+T\+F\+\_\+\+R\+Stream} $\ast$rstream, \hyperlink{group__ha_ga25c9228aeaddda3577266eab8a986b27}{O\+T\+F\+\_\+\+Handler\+Array} $\ast$handlers)
\begin{DoxyCompactList}\small\item\em Reads all events from the stream and calls the appropriated handler sorted by time. \end{DoxyCompactList}\item 
uint64\+\_\+t \hyperlink{group__rstream_ga7fedd69f9a05cb908c154ec92550b40a}{O\+T\+F\+\_\+\+R\+Stream\+\_\+read\+Snapshots} (\hyperlink{group__rstream_ga49ebb89cbfba57c1191d09210e353771}{O\+T\+F\+\_\+\+R\+Stream} $\ast$rstream, \hyperlink{group__ha_ga25c9228aeaddda3577266eab8a986b27}{O\+T\+F\+\_\+\+Handler\+Array} $\ast$handlers)
\begin{DoxyCompactList}\small\item\em Reads all snapshots from the stream. \end{DoxyCompactList}\item 
uint64\+\_\+t \hyperlink{group__rstream_ga544ffbec6d6c5224782080cd7cfefe8a}{O\+T\+F\+\_\+\+R\+Stream\+\_\+read\+Statistics} (\hyperlink{group__rstream_ga49ebb89cbfba57c1191d09210e353771}{O\+T\+F\+\_\+\+R\+Stream} $\ast$rstream, \hyperlink{group__ha_ga25c9228aeaddda3577266eab8a986b27}{O\+T\+F\+\_\+\+Handler\+Array} $\ast$handlers)
\begin{DoxyCompactList}\small\item\em Reads all statistics from the stream. \end{DoxyCompactList}\item 
uint64\+\_\+t \hyperlink{group__rstream_ga97e8c6a6f324e11d10dfbb4d91979f6c}{O\+T\+F\+\_\+\+R\+Stream\+\_\+read\+Marker} (\hyperlink{group__rstream_ga49ebb89cbfba57c1191d09210e353771}{O\+T\+F\+\_\+\+R\+Stream} $\ast$rstream, \hyperlink{group__ha_ga25c9228aeaddda3577266eab8a986b27}{O\+T\+F\+\_\+\+Handler\+Array} $\ast$handlers)
\begin{DoxyCompactList}\small\item\em Reads all markers from the stream. \end{DoxyCompactList}\item 
uint8\+\_\+t \hyperlink{group__rstream_gab431c685abea8d7b66020ef4306e8dd4}{O\+T\+F\+\_\+\+R\+Stream\+\_\+event\+Progress} (\hyperlink{group__rstream_ga49ebb89cbfba57c1191d09210e353771}{O\+T\+F\+\_\+\+R\+Stream} $\ast$rstream, uint64\+\_\+t $\ast$minimum, uint64\+\_\+t $\ast$current, uint64\+\_\+t $\ast$maximum)
\begin{DoxyCompactList}\small\item\em depricated. \end{DoxyCompactList}\item 
uint8\+\_\+t \hyperlink{group__rstream_gae3279096459a9dc575f61fa45bd8d216}{O\+T\+F\+\_\+\+R\+Stream\+\_\+snapshot\+Progress} (\hyperlink{group__rstream_ga49ebb89cbfba57c1191d09210e353771}{O\+T\+F\+\_\+\+R\+Stream} $\ast$rstream, uint64\+\_\+t $\ast$minimum, uint64\+\_\+t $\ast$current, uint64\+\_\+t $\ast$maximum)
\begin{DoxyCompactList}\small\item\em depricated. \end{DoxyCompactList}\item 
uint8\+\_\+t \hyperlink{group__rstream_gaa8ec131acf5fbd99e5facc2a25a8e562}{O\+T\+F\+\_\+\+R\+Stream\+\_\+statistic\+Progress} (\hyperlink{group__rstream_ga49ebb89cbfba57c1191d09210e353771}{O\+T\+F\+\_\+\+R\+Stream} $\ast$rstream, uint64\+\_\+t $\ast$minimum, uint64\+\_\+t $\ast$current, uint64\+\_\+t $\ast$maximum)
\begin{DoxyCompactList}\small\item\em depricated. \end{DoxyCompactList}\item 
uint8\+\_\+t \hyperlink{group__rstream_gab28fedd2bf3255f525082350ef5541d1}{O\+T\+F\+\_\+\+R\+Stream\+\_\+event\+Time\+Progress} (\hyperlink{group__rstream_ga49ebb89cbfba57c1191d09210e353771}{O\+T\+F\+\_\+\+R\+Stream} $\ast$rstream, uint64\+\_\+t $\ast$minimum, uint64\+\_\+t $\ast$current, uint64\+\_\+t $\ast$maximum)
\begin{DoxyCompactList}\small\item\em Delivers a progress report for reading events. \end{DoxyCompactList}\item 
uint8\+\_\+t \hyperlink{group__rstream_ga01c49c8fa847762a1bd5b5a1b05ae89d}{O\+T\+F\+\_\+\+R\+Stream\+\_\+snapshot\+Time\+Progress} (\hyperlink{group__rstream_ga49ebb89cbfba57c1191d09210e353771}{O\+T\+F\+\_\+\+R\+Stream} $\ast$rstream, uint64\+\_\+t $\ast$minimum, uint64\+\_\+t $\ast$current, uint64\+\_\+t $\ast$maximum)
\begin{DoxyCompactList}\small\item\em Delivers a progress report for reading snapshots. \end{DoxyCompactList}\item 
uint8\+\_\+t \hyperlink{group__rstream_gac2b5a5a9bcd55ec8a5a933af0e5e5702}{O\+T\+F\+\_\+\+R\+Stream\+\_\+statistic\+Time\+Progress} (\hyperlink{group__rstream_ga49ebb89cbfba57c1191d09210e353771}{O\+T\+F\+\_\+\+R\+Stream} $\ast$rstream, uint64\+\_\+t $\ast$minimum, uint64\+\_\+t $\ast$current, uint64\+\_\+t $\ast$maximum)
\begin{DoxyCompactList}\small\item\em Delivers a progress report for reading statistics. \end{DoxyCompactList}\item 
uint8\+\_\+t \hyperlink{group__rstream_ga637e654ff86ad4ec842142fbdfb1bc37}{O\+T\+F\+\_\+\+R\+Stream\+\_\+event\+Bytes\+Progress} (\hyperlink{group__rstream_ga49ebb89cbfba57c1191d09210e353771}{O\+T\+F\+\_\+\+R\+Stream} $\ast$rstream, uint64\+\_\+t $\ast$minimum, uint64\+\_\+t $\ast$current, uint64\+\_\+t $\ast$maximum)
\begin{DoxyCompactList}\small\item\em Delivers a progress report for reading events. \end{DoxyCompactList}\item 
uint8\+\_\+t \hyperlink{group__rstream_gaec8e71fb3b0420f77b9ac65e1b2d164d}{O\+T\+F\+\_\+\+R\+Stream\+\_\+snapshot\+Bytes\+Progress} (\hyperlink{group__rstream_ga49ebb89cbfba57c1191d09210e353771}{O\+T\+F\+\_\+\+R\+Stream} $\ast$rstream, uint64\+\_\+t $\ast$minimum, uint64\+\_\+t $\ast$current, uint64\+\_\+t $\ast$maximum)
\begin{DoxyCompactList}\small\item\em Delivers a progress report for reading snapshots. \end{DoxyCompactList}\item 
uint8\+\_\+t \hyperlink{group__rstream_ga74495242ae8c2f3a8c09f1c3ec217017}{O\+T\+F\+\_\+\+R\+Stream\+\_\+statistic\+Bytes\+Progress} (\hyperlink{group__rstream_ga49ebb89cbfba57c1191d09210e353771}{O\+T\+F\+\_\+\+R\+Stream} $\ast$rstream, uint64\+\_\+t $\ast$minimum, uint64\+\_\+t $\ast$current, uint64\+\_\+t $\ast$maximum)
\begin{DoxyCompactList}\small\item\em Delivers a progress report for reading statistics. \end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Detailed Description}
rstream provides an interface for dealing with a single stream of a trace. 

A stream consists of up to four different buffers (event buffer, definition buffer, snapshots buffer, statistics buffer).

rstream is structured similarly to the reader, but it is not able to perform jumps to random timestamps, and cannot quit at a certain maximum time stamp.\hypertarget{group__rstream_rstream_example}{}\subsection{A simple Example}\label{group__rstream_rstream_example}
Common includes 
\begin{DoxyCode}
\textcolor{preprocessor}{#include <stdio.h>}
\textcolor{preprocessor}{#include <assert.h>}
\textcolor{preprocessor}{#include "\hyperlink{otf_8h}{otf.h}"}
\end{DoxyCode}


Define the Handler(s). We just want to process the def process event and print out all appearing processes. 
\begin{DoxyCode}
\textcolor{keywordtype}{int} handleDefProcess (\textcolor{keywordtype}{void} *userData, uint32\_t stream, uint32\_t process, \textcolor{keyword}{const} \textcolor{keywordtype}{char} *name, uint32\_t parent)
       \{

    printf( \textcolor{stringliteral}{"process %u is named \(\backslash\)"%s\(\backslash\)"\(\backslash\)n"}, process, name );

    \textcolor{keywordflow}{return} \hyperlink{OTF__Definitions_8h_a9854219f6e514795b1a40ee1ad029468}{OTF\_RETURN\_OK};
\}
\end{DoxyCode}



\begin{DoxyCode}
\textcolor{keywordtype}{int} main( \textcolor{keywordtype}{int} argc, \textcolor{keywordtype}{char}** argv ) \{
\end{DoxyCode}
 \begin{DoxyVerb}Declare a file manager, a reader, and a handler array
\end{DoxyVerb}
 
\begin{DoxyCode}
\hyperlink{structstruct__OTF__RStream}{OTF\_RStream}* rstream;
\hyperlink{structstruct__OTF__FileManager}{OTF\_FileManager}* manager;
\hyperlink{structstruct__OTF__HandlerArray}{OTF\_HandlerArray}* handlers;
\end{DoxyCode}


Initialize the file manager. Do not open more than 100 files. 
\begin{DoxyCode}
manager= \hyperlink{group__fm_gaeaee6fa34285107dfdf42eb1905d5ce2}{OTF\_FileManager\_open}( 100 );
assert( manager );
\end{DoxyCode}


Initialize the handler array. 
\begin{DoxyCode}
handlers = \hyperlink{group__ha_ga7a735836565a79674f38e08caf20698f}{OTF\_HandlerArray\_open}();
assert( handlers );
\end{DoxyCode}


Initialize the rstream object. 
\begin{DoxyCode}
rstream = \hyperlink{group__rstream_gab4d7a66eb0c1bec13b3c8a94503a1192}{OTF\_RStream\_open}( \textcolor{stringliteral}{"mytrace"}, 0, manager );
assert( rstream );
\end{DoxyCode}


Register your callback functions to the handler array. 
\begin{DoxyCode}
\hyperlink{group__ha_ga2f7ab5597bfbaa182d4cf471dc28f1da}{OTF\_HandlerArray\_setHandler}( handlers, (
      \hyperlink{group__ha_gab82e91b18ea38538fcc52af1b5c894e1}{OTF\_FunctionPointer}*) handleDefProcess, OTF\_DEFPROCESS\_RECORD );
\end{DoxyCode}


\begin{DoxyVerb}Do the actual reading.
\end{DoxyVerb}
 
\begin{DoxyCode}
\hyperlink{group__rstream_gae107476b480731bc8ed99209f2aa7838}{OTF\_RStream\_readDefinitions}( rstream, handlers );
\end{DoxyCode}


\begin{DoxyVerb}Clean everything up before exiting the program.
\end{DoxyVerb}
 
\begin{DoxyCode}
    \hyperlink{group__rstream_ga676bd8cc97af56bfe4c06c1d081202c5}{OTF\_RStream\_close}( rstream );
    \hyperlink{group__ha_gab5a17464f32f6b9ddaf0cf6984f953db}{OTF\_HandlerArray\_close}( handlers );
    \hyperlink{group__fm_ga45307a172ee04fa888e9e41dc7f83465}{OTF\_FileManager\_close}( manager );

    \textcolor{keywordflow}{return} 0;
\}
\end{DoxyCode}


Compile and link this using \$ gcc -\/o test test.\+c {\ttfamily otfconfig -\/-\/libs}. 

\subsection{Function Documentation}
\hypertarget{group__rstream_ga676bd8cc97af56bfe4c06c1d081202c5}{\index{Stream Reader Interface@{Stream Reader Interface}!O\+T\+F\+\_\+\+R\+Stream\+\_\+close@{O\+T\+F\+\_\+\+R\+Stream\+\_\+close}}
\index{O\+T\+F\+\_\+\+R\+Stream\+\_\+close@{O\+T\+F\+\_\+\+R\+Stream\+\_\+close}!Stream Reader Interface@{Stream Reader Interface}}
\subsubsection[{O\+T\+F\+\_\+\+R\+Stream\+\_\+close}]{\setlength{\rightskip}{0pt plus 5cm}int O\+T\+F\+\_\+\+R\+Stream\+\_\+close (
\begin{DoxyParamCaption}
\item[{{\bf O\+T\+F\+\_\+\+R\+Stream} $\ast$}]{rstream}
\end{DoxyParamCaption}
)}}\label{group__rstream_ga676bd8cc97af56bfe4c06c1d081202c5}


Close an O\+T\+F\+\_\+\+R\+Stream instance and all its related files. 


\begin{DoxyParams}{Parameters}
{\em rstream} & Pointer to an initialized O\+T\+F\+\_\+\+R\+Stream object. See also \hyperlink{group__rstream_gab4d7a66eb0c1bec13b3c8a94503a1192}{O\+T\+F\+\_\+\+R\+Stream\+\_\+open()}.\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
1 if instance was closed successfully and 0 otherwise. 
\end{DoxyReturn}


Referenced by O\+T\+F\+\_\+\+Reader\+\_\+close\+All\+Streams().

\hypertarget{group__rstream_gaa1f0c839f015111a0d9558e0814eadb0}{\index{Stream Reader Interface@{Stream Reader Interface}!O\+T\+F\+\_\+\+R\+Stream\+\_\+close\+Def\+Buffer@{O\+T\+F\+\_\+\+R\+Stream\+\_\+close\+Def\+Buffer}}
\index{O\+T\+F\+\_\+\+R\+Stream\+\_\+close\+Def\+Buffer@{O\+T\+F\+\_\+\+R\+Stream\+\_\+close\+Def\+Buffer}!Stream Reader Interface@{Stream Reader Interface}}
\subsubsection[{O\+T\+F\+\_\+\+R\+Stream\+\_\+close\+Def\+Buffer}]{\setlength{\rightskip}{0pt plus 5cm}int O\+T\+F\+\_\+\+R\+Stream\+\_\+close\+Def\+Buffer (
\begin{DoxyParamCaption}
\item[{{\bf O\+T\+F\+\_\+\+R\+Stream} $\ast$}]{rstream}
\end{DoxyParamCaption}
)}}\label{group__rstream_gaa1f0c839f015111a0d9558e0814eadb0}


Closes the stream definition buffer. 


\begin{DoxyParams}{Parameters}
{\em rstream} & Pointer to an initialized O\+T\+F\+\_\+\+R\+Stream object. See also \hyperlink{group__rstream_gab4d7a66eb0c1bec13b3c8a94503a1192}{O\+T\+F\+\_\+\+R\+Stream\+\_\+open()}.\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
1 on success, 0 if an error occurs 
\end{DoxyReturn}


References struct\+\_\+\+O\+T\+F\+\_\+\+R\+Stream\+::def\+Buffer, and O\+T\+F\+\_\+\+R\+Buffer\+\_\+close().

\hypertarget{group__rstream_ga5a1e34dd3823686adfc183fc4cef558f}{\index{Stream Reader Interface@{Stream Reader Interface}!O\+T\+F\+\_\+\+R\+Stream\+\_\+close\+Event\+Buffer@{O\+T\+F\+\_\+\+R\+Stream\+\_\+close\+Event\+Buffer}}
\index{O\+T\+F\+\_\+\+R\+Stream\+\_\+close\+Event\+Buffer@{O\+T\+F\+\_\+\+R\+Stream\+\_\+close\+Event\+Buffer}!Stream Reader Interface@{Stream Reader Interface}}
\subsubsection[{O\+T\+F\+\_\+\+R\+Stream\+\_\+close\+Event\+Buffer}]{\setlength{\rightskip}{0pt plus 5cm}int O\+T\+F\+\_\+\+R\+Stream\+\_\+close\+Event\+Buffer (
\begin{DoxyParamCaption}
\item[{{\bf O\+T\+F\+\_\+\+R\+Stream} $\ast$}]{rstream}
\end{DoxyParamCaption}
)}}\label{group__rstream_ga5a1e34dd3823686adfc183fc4cef558f}


Closes the stream event buffer. 


\begin{DoxyParams}{Parameters}
{\em rstream} & Pointer to an initialized O\+T\+F\+\_\+\+R\+Stream object. See also \hyperlink{group__rstream_gab4d7a66eb0c1bec13b3c8a94503a1192}{O\+T\+F\+\_\+\+R\+Stream\+\_\+open()}.\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
1 on success, 0 if an error occurs 
\end{DoxyReturn}


References struct\+\_\+\+O\+T\+F\+\_\+\+R\+Stream\+::event\+Buffer, and O\+T\+F\+\_\+\+R\+Buffer\+\_\+close().

\hypertarget{group__rstream_ga6ba457d601341c30ba9c31ffad73cb63}{\index{Stream Reader Interface@{Stream Reader Interface}!O\+T\+F\+\_\+\+R\+Stream\+\_\+close\+Marker\+Buffer@{O\+T\+F\+\_\+\+R\+Stream\+\_\+close\+Marker\+Buffer}}
\index{O\+T\+F\+\_\+\+R\+Stream\+\_\+close\+Marker\+Buffer@{O\+T\+F\+\_\+\+R\+Stream\+\_\+close\+Marker\+Buffer}!Stream Reader Interface@{Stream Reader Interface}}
\subsubsection[{O\+T\+F\+\_\+\+R\+Stream\+\_\+close\+Marker\+Buffer}]{\setlength{\rightskip}{0pt plus 5cm}int O\+T\+F\+\_\+\+R\+Stream\+\_\+close\+Marker\+Buffer (
\begin{DoxyParamCaption}
\item[{{\bf O\+T\+F\+\_\+\+R\+Stream} $\ast$}]{rstream}
\end{DoxyParamCaption}
)}}\label{group__rstream_ga6ba457d601341c30ba9c31ffad73cb63}


Closes the stream marker buffer. 


\begin{DoxyParams}{Parameters}
{\em rstream} & Pointer to an initialized O\+T\+F\+\_\+\+R\+Stream object. See also \hyperlink{group__rstream_gab4d7a66eb0c1bec13b3c8a94503a1192}{O\+T\+F\+\_\+\+R\+Stream\+\_\+open()}.\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
1 on success, 0 if an error occurs 
\end{DoxyReturn}


References struct\+\_\+\+O\+T\+F\+\_\+\+R\+Stream\+::marker\+Buffer, and O\+T\+F\+\_\+\+R\+Buffer\+\_\+close().

\hypertarget{group__rstream_ga1a28b1808896c218490da323c3eb9682}{\index{Stream Reader Interface@{Stream Reader Interface}!O\+T\+F\+\_\+\+R\+Stream\+\_\+close\+Snaps\+Buffer@{O\+T\+F\+\_\+\+R\+Stream\+\_\+close\+Snaps\+Buffer}}
\index{O\+T\+F\+\_\+\+R\+Stream\+\_\+close\+Snaps\+Buffer@{O\+T\+F\+\_\+\+R\+Stream\+\_\+close\+Snaps\+Buffer}!Stream Reader Interface@{Stream Reader Interface}}
\subsubsection[{O\+T\+F\+\_\+\+R\+Stream\+\_\+close\+Snaps\+Buffer}]{\setlength{\rightskip}{0pt plus 5cm}int O\+T\+F\+\_\+\+R\+Stream\+\_\+close\+Snaps\+Buffer (
\begin{DoxyParamCaption}
\item[{{\bf O\+T\+F\+\_\+\+R\+Stream} $\ast$}]{rstream}
\end{DoxyParamCaption}
)}}\label{group__rstream_ga1a28b1808896c218490da323c3eb9682}


Closes the stream snapshots buffer. 


\begin{DoxyParams}{Parameters}
{\em rstream} & Pointer to an initialized O\+T\+F\+\_\+\+R\+Stream object. See also \hyperlink{group__rstream_gab4d7a66eb0c1bec13b3c8a94503a1192}{O\+T\+F\+\_\+\+R\+Stream\+\_\+open()}.\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
1 on success, 0 if an error occurs 
\end{DoxyReturn}


References O\+T\+F\+\_\+\+R\+Buffer\+\_\+close(), and struct\+\_\+\+O\+T\+F\+\_\+\+R\+Stream\+::snaps\+Buffer.

\hypertarget{group__rstream_ga632157507d70e5e585fcedcee57b72ec}{\index{Stream Reader Interface@{Stream Reader Interface}!O\+T\+F\+\_\+\+R\+Stream\+\_\+close\+Stats\+Buffer@{O\+T\+F\+\_\+\+R\+Stream\+\_\+close\+Stats\+Buffer}}
\index{O\+T\+F\+\_\+\+R\+Stream\+\_\+close\+Stats\+Buffer@{O\+T\+F\+\_\+\+R\+Stream\+\_\+close\+Stats\+Buffer}!Stream Reader Interface@{Stream Reader Interface}}
\subsubsection[{O\+T\+F\+\_\+\+R\+Stream\+\_\+close\+Stats\+Buffer}]{\setlength{\rightskip}{0pt plus 5cm}int O\+T\+F\+\_\+\+R\+Stream\+\_\+close\+Stats\+Buffer (
\begin{DoxyParamCaption}
\item[{{\bf O\+T\+F\+\_\+\+R\+Stream} $\ast$}]{rstream}
\end{DoxyParamCaption}
)}}\label{group__rstream_ga632157507d70e5e585fcedcee57b72ec}


Closes the stream statistics buffer. 


\begin{DoxyParams}{Parameters}
{\em rstream} & Pointer to an initialized O\+T\+F\+\_\+\+R\+Stream object. See also \hyperlink{group__rstream_gab4d7a66eb0c1bec13b3c8a94503a1192}{O\+T\+F\+\_\+\+R\+Stream\+\_\+open()}.\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
1 on success, 0 if an error occurs 
\end{DoxyReturn}


References O\+T\+F\+\_\+\+R\+Buffer\+\_\+close(), and struct\+\_\+\+O\+T\+F\+\_\+\+R\+Stream\+::stats\+Buffer.

\hypertarget{group__rstream_ga637e654ff86ad4ec842142fbdfb1bc37}{\index{Stream Reader Interface@{Stream Reader Interface}!O\+T\+F\+\_\+\+R\+Stream\+\_\+event\+Bytes\+Progress@{O\+T\+F\+\_\+\+R\+Stream\+\_\+event\+Bytes\+Progress}}
\index{O\+T\+F\+\_\+\+R\+Stream\+\_\+event\+Bytes\+Progress@{O\+T\+F\+\_\+\+R\+Stream\+\_\+event\+Bytes\+Progress}!Stream Reader Interface@{Stream Reader Interface}}
\subsubsection[{O\+T\+F\+\_\+\+R\+Stream\+\_\+event\+Bytes\+Progress}]{\setlength{\rightskip}{0pt plus 5cm}uint8\+\_\+t O\+T\+F\+\_\+\+R\+Stream\+\_\+event\+Bytes\+Progress (
\begin{DoxyParamCaption}
\item[{{\bf O\+T\+F\+\_\+\+R\+Stream} $\ast$}]{rstream, }
\item[{uint64\+\_\+t $\ast$}]{minimum, }
\item[{uint64\+\_\+t $\ast$}]{current, }
\item[{uint64\+\_\+t $\ast$}]{maximum}
\end{DoxyParamCaption}
)}}\label{group__rstream_ga637e654ff86ad4ec842142fbdfb1bc37}


Delivers a progress report for reading events. 

\hyperlink{structProgress}{Progress} is given in terms of bytes. The percentage can be computed as ( current -\/ minimum ) / ( maximum -\/ minimum ).

A\+T\+T\+E\+N\+T\+I\+O\+N\+: This in only a rough estimate of the progress, because it is computed based on the block I/\+O from files but not based on the actual bytes processed. This may result in constant values for small traces. See also \hyperlink{group__rstream_gab28fedd2bf3255f525082350ef5541d1}{O\+T\+F\+\_\+\+R\+Stream\+\_\+event\+Time\+Progress()}\+:

The progress report is only valid after one or several calls to \hyperlink{group__rstream_ga23ac8c46c797510749535c5f2991d233}{O\+T\+F\+\_\+\+R\+Stream\+\_\+read\+Events()}. Otherwise the return arguments 'minimum', 'current' and 'maximum' are undefined! If 'minimum' $>$ 'maximum' the values are invalid.


\begin{DoxyParams}{Parameters}
{\em rstream} & Pointer to an initialized O\+T\+F\+\_\+\+R\+Stream object. See also \hyperlink{group__rstream_gab4d7a66eb0c1bec13b3c8a94503a1192}{O\+T\+F\+\_\+\+R\+Stream\+\_\+open()}. \\
\hline
{\em minimum} & Return value for the minium bytes read ( is 0 everytime ). \\
\hline
{\em current} & Return value for the current bytes read. \\
\hline
{\em maximum} & Return value for the filesize.\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
1 on success, 0 if an error occurs. 
\end{DoxyReturn}


References struct\+\_\+\+O\+T\+F\+\_\+\+R\+Stream\+::event\+Buffer, O\+T\+F\+\_\+\+R\+Buffer\+\_\+get\+File\+Pos(), and O\+T\+F\+\_\+\+R\+Buffer\+\_\+get\+File\+Size().

\hypertarget{group__rstream_gab431c685abea8d7b66020ef4306e8dd4}{\index{Stream Reader Interface@{Stream Reader Interface}!O\+T\+F\+\_\+\+R\+Stream\+\_\+event\+Progress@{O\+T\+F\+\_\+\+R\+Stream\+\_\+event\+Progress}}
\index{O\+T\+F\+\_\+\+R\+Stream\+\_\+event\+Progress@{O\+T\+F\+\_\+\+R\+Stream\+\_\+event\+Progress}!Stream Reader Interface@{Stream Reader Interface}}
\subsubsection[{O\+T\+F\+\_\+\+R\+Stream\+\_\+event\+Progress}]{\setlength{\rightskip}{0pt plus 5cm}uint8\+\_\+t O\+T\+F\+\_\+\+R\+Stream\+\_\+event\+Progress (
\begin{DoxyParamCaption}
\item[{{\bf O\+T\+F\+\_\+\+R\+Stream} $\ast$}]{rstream, }
\item[{uint64\+\_\+t $\ast$}]{minimum, }
\item[{uint64\+\_\+t $\ast$}]{current, }
\item[{uint64\+\_\+t $\ast$}]{maximum}
\end{DoxyParamCaption}
)}}\label{group__rstream_gab431c685abea8d7b66020ef4306e8dd4}


depricated. 

\begin{DoxySeeAlso}{See also}
\hyperlink{group__rstream_gab28fedd2bf3255f525082350ef5541d1}{O\+T\+F\+\_\+\+R\+Stream\+\_\+event\+Time\+Progress()} 
\end{DoxySeeAlso}


References O\+T\+F\+\_\+\+R\+Stream\+\_\+event\+Time\+Progress().

\hypertarget{group__rstream_gab28fedd2bf3255f525082350ef5541d1}{\index{Stream Reader Interface@{Stream Reader Interface}!O\+T\+F\+\_\+\+R\+Stream\+\_\+event\+Time\+Progress@{O\+T\+F\+\_\+\+R\+Stream\+\_\+event\+Time\+Progress}}
\index{O\+T\+F\+\_\+\+R\+Stream\+\_\+event\+Time\+Progress@{O\+T\+F\+\_\+\+R\+Stream\+\_\+event\+Time\+Progress}!Stream Reader Interface@{Stream Reader Interface}}
\subsubsection[{O\+T\+F\+\_\+\+R\+Stream\+\_\+event\+Time\+Progress}]{\setlength{\rightskip}{0pt plus 5cm}uint8\+\_\+t O\+T\+F\+\_\+\+R\+Stream\+\_\+event\+Time\+Progress (
\begin{DoxyParamCaption}
\item[{{\bf O\+T\+F\+\_\+\+R\+Stream} $\ast$}]{rstream, }
\item[{uint64\+\_\+t $\ast$}]{minimum, }
\item[{uint64\+\_\+t $\ast$}]{current, }
\item[{uint64\+\_\+t $\ast$}]{maximum}
\end{DoxyParamCaption}
)}}\label{group__rstream_gab28fedd2bf3255f525082350ef5541d1}


Delivers a progress report for reading events. 

It is given in terms of time stamps. A percentage can be computed as ( current -\/ minimum ) / ( maximum -\/ minimum ). This computation takes restricted time intervals into account which is not possible with \hyperlink{group__rstream_ga637e654ff86ad4ec842142fbdfb1bc37}{O\+T\+F\+\_\+\+R\+Stream\+\_\+event\+Bytes\+Progress()}.

The progress report is only valid after one or several calls to \hyperlink{group__rstream_ga23ac8c46c797510749535c5f2991d233}{O\+T\+F\+\_\+\+R\+Stream\+\_\+read\+Events()}. Otherwise the return arguments 'minimum', 'current' and 'maximum' are undefined! If 'minimum' $>$ 'maximum' the values are invalid.


\begin{DoxyParams}{Parameters}
{\em rstream} & Pointer to an initialized O\+T\+F\+\_\+\+R\+Stream object. See also \hyperlink{group__rstream_gab4d7a66eb0c1bec13b3c8a94503a1192}{O\+T\+F\+\_\+\+R\+Stream\+\_\+open()}. \\
\hline
{\em minimum} & Return value for the minium time. \\
\hline
{\em current} & Return value for the current time. \\
\hline
{\em maximum} & Return value for the maximum time.\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
1 on success, 0 if an error occurs. 
\end{DoxyReturn}


References struct\+\_\+\+O\+T\+F\+\_\+\+R\+Stream\+::event\+Buffer, struct\+\_\+\+O\+T\+F\+\_\+\+R\+Buffer\+::first\+Time, struct\+\_\+\+O\+T\+F\+\_\+\+R\+Buffer\+::last\+Time, and struct\+\_\+\+O\+T\+F\+\_\+\+R\+Buffer\+::time.



Referenced by O\+T\+F\+\_\+\+R\+Stream\+\_\+event\+Progress().

\hypertarget{group__rstream_ga898905014217f6637eb89d05f7ee0c76}{\index{Stream Reader Interface@{Stream Reader Interface}!O\+T\+F\+\_\+\+R\+Stream\+\_\+get\+Buffer\+Sizes@{O\+T\+F\+\_\+\+R\+Stream\+\_\+get\+Buffer\+Sizes}}
\index{O\+T\+F\+\_\+\+R\+Stream\+\_\+get\+Buffer\+Sizes@{O\+T\+F\+\_\+\+R\+Stream\+\_\+get\+Buffer\+Sizes}!Stream Reader Interface@{Stream Reader Interface}}
\subsubsection[{O\+T\+F\+\_\+\+R\+Stream\+\_\+get\+Buffer\+Sizes}]{\setlength{\rightskip}{0pt plus 5cm}uint32\+\_\+t O\+T\+F\+\_\+\+R\+Stream\+\_\+get\+Buffer\+Sizes (
\begin{DoxyParamCaption}
\item[{{\bf O\+T\+F\+\_\+\+R\+Stream} $\ast$}]{rstream}
\end{DoxyParamCaption}
)}}\label{group__rstream_ga898905014217f6637eb89d05f7ee0c76}


Get the default buffer size for all buffers managed by this reader stream. 


\begin{DoxyParams}{Parameters}
{\em rstream} & Pointer to an initialized O\+T\+F\+\_\+\+R\+Stream object. See also \hyperlink{group__rstream_gab4d7a66eb0c1bec13b3c8a94503a1192}{O\+T\+F\+\_\+\+R\+Stream\+\_\+open()}.\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Default buffer size for all buffers managed by this reader stream. 
\end{DoxyReturn}


References struct\+\_\+\+O\+T\+F\+\_\+\+R\+Stream\+::buffersizes.

\hypertarget{group__rstream_ga22f3bb0bc274c984214c346c34bd7df2}{\index{Stream Reader Interface@{Stream Reader Interface}!O\+T\+F\+\_\+\+R\+Stream\+\_\+get\+Def\+Buffer@{O\+T\+F\+\_\+\+R\+Stream\+\_\+get\+Def\+Buffer}}
\index{O\+T\+F\+\_\+\+R\+Stream\+\_\+get\+Def\+Buffer@{O\+T\+F\+\_\+\+R\+Stream\+\_\+get\+Def\+Buffer}!Stream Reader Interface@{Stream Reader Interface}}
\subsubsection[{O\+T\+F\+\_\+\+R\+Stream\+\_\+get\+Def\+Buffer}]{\setlength{\rightskip}{0pt plus 5cm}{\bf O\+T\+F\+\_\+\+R\+Buffer}$\ast$ O\+T\+F\+\_\+\+R\+Stream\+\_\+get\+Def\+Buffer (
\begin{DoxyParamCaption}
\item[{{\bf O\+T\+F\+\_\+\+R\+Stream} $\ast$}]{rstream}
\end{DoxyParamCaption}
)}}\label{group__rstream_ga22f3bb0bc274c984214c346c34bd7df2}


Returns the definition buffer of the according reader stream. 


\begin{DoxyParams}{Parameters}
{\em rstream} & Pointer to an initialized O\+T\+F\+\_\+\+R\+Stream object. See also \hyperlink{group__rstream_gab4d7a66eb0c1bec13b3c8a94503a1192}{O\+T\+F\+\_\+\+R\+Stream\+\_\+open()}.\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Initialized O\+T\+F\+\_\+\+R\+Buffer instance or 0 if an error occured. 
\end{DoxyReturn}


References struct\+\_\+\+O\+T\+F\+\_\+\+R\+Stream\+::buffersizes, struct\+\_\+\+O\+T\+F\+\_\+\+R\+Stream\+::def\+Buffer, struct\+\_\+\+O\+T\+F\+\_\+\+R\+Stream\+::id, struct\+\_\+\+O\+T\+F\+\_\+\+R\+Stream\+::manager, struct\+\_\+\+O\+T\+F\+\_\+\+R\+Stream\+::namestub, O\+T\+F\+\_\+get\+Filename(), O\+T\+F\+\_\+\+R\+Buffer\+\_\+open(), O\+T\+F\+\_\+\+R\+Buffer\+\_\+set\+Size(), and O\+T\+F\+\_\+\+R\+Buffer\+\_\+set\+Z\+Buffer\+Size().



Referenced by O\+T\+F\+\_\+\+R\+Stream\+\_\+read\+Definitions().

\hypertarget{group__rstream_ga636ef44491a4aecf182c0411dbe71b5a}{\index{Stream Reader Interface@{Stream Reader Interface}!O\+T\+F\+\_\+\+R\+Stream\+\_\+get\+Event\+Buffer@{O\+T\+F\+\_\+\+R\+Stream\+\_\+get\+Event\+Buffer}}
\index{O\+T\+F\+\_\+\+R\+Stream\+\_\+get\+Event\+Buffer@{O\+T\+F\+\_\+\+R\+Stream\+\_\+get\+Event\+Buffer}!Stream Reader Interface@{Stream Reader Interface}}
\subsubsection[{O\+T\+F\+\_\+\+R\+Stream\+\_\+get\+Event\+Buffer}]{\setlength{\rightskip}{0pt plus 5cm}{\bf O\+T\+F\+\_\+\+R\+Buffer}$\ast$ O\+T\+F\+\_\+\+R\+Stream\+\_\+get\+Event\+Buffer (
\begin{DoxyParamCaption}
\item[{{\bf O\+T\+F\+\_\+\+R\+Stream} $\ast$}]{rstream}
\end{DoxyParamCaption}
)}}\label{group__rstream_ga636ef44491a4aecf182c0411dbe71b5a}


Returns the event buffer of the according reader stream. 


\begin{DoxyParams}{Parameters}
{\em rstream} & Pointer to an initialized O\+T\+F\+\_\+\+R\+Stream object. See also \hyperlink{group__rstream_gab4d7a66eb0c1bec13b3c8a94503a1192}{O\+T\+F\+\_\+\+R\+Stream\+\_\+open()}.\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Initialized O\+T\+F\+\_\+\+R\+Buffer instance or 0 if an error occured. 
\end{DoxyReturn}


References struct\+\_\+\+O\+T\+F\+\_\+\+R\+Stream\+::buffersizes, struct\+\_\+\+O\+T\+F\+\_\+\+R\+Stream\+::event\+Buffer, struct\+\_\+\+O\+T\+F\+\_\+\+R\+Stream\+::id, struct\+\_\+\+O\+T\+F\+\_\+\+R\+Stream\+::manager, struct\+\_\+\+O\+T\+F\+\_\+\+R\+Stream\+::namestub, O\+T\+F\+\_\+get\+Filename(), O\+T\+F\+\_\+\+R\+Buffer\+\_\+open(), O\+T\+F\+\_\+\+R\+Buffer\+\_\+set\+Size(), and O\+T\+F\+\_\+\+R\+Buffer\+\_\+set\+Z\+Buffer\+Size().



Referenced by O\+T\+F\+\_\+\+R\+Stream\+\_\+read\+Events().

\hypertarget{group__rstream_ga39200e51cf9634d456ea6bd740ad0683}{\index{Stream Reader Interface@{Stream Reader Interface}!O\+T\+F\+\_\+\+R\+Stream\+\_\+get\+Marker\+Buffer@{O\+T\+F\+\_\+\+R\+Stream\+\_\+get\+Marker\+Buffer}}
\index{O\+T\+F\+\_\+\+R\+Stream\+\_\+get\+Marker\+Buffer@{O\+T\+F\+\_\+\+R\+Stream\+\_\+get\+Marker\+Buffer}!Stream Reader Interface@{Stream Reader Interface}}
\subsubsection[{O\+T\+F\+\_\+\+R\+Stream\+\_\+get\+Marker\+Buffer}]{\setlength{\rightskip}{0pt plus 5cm}{\bf O\+T\+F\+\_\+\+R\+Buffer}$\ast$ O\+T\+F\+\_\+\+R\+Stream\+\_\+get\+Marker\+Buffer (
\begin{DoxyParamCaption}
\item[{{\bf O\+T\+F\+\_\+\+R\+Stream} $\ast$}]{rstream}
\end{DoxyParamCaption}
)}}\label{group__rstream_ga39200e51cf9634d456ea6bd740ad0683}


Returns the marker buffer of the according reader stream. 


\begin{DoxyParams}{Parameters}
{\em rstream} & Pointer to an initialized O\+T\+F\+\_\+\+R\+Stream object. See also \hyperlink{group__rstream_gab4d7a66eb0c1bec13b3c8a94503a1192}{O\+T\+F\+\_\+\+R\+Stream\+\_\+open()}.\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Initialized O\+T\+F\+\_\+\+R\+Buffer instance or 0 if an error occured. 
\end{DoxyReturn}


References struct\+\_\+\+O\+T\+F\+\_\+\+R\+Stream\+::buffersizes, struct\+\_\+\+O\+T\+F\+\_\+\+R\+Stream\+::id, struct\+\_\+\+O\+T\+F\+\_\+\+R\+Stream\+::manager, struct\+\_\+\+O\+T\+F\+\_\+\+R\+Stream\+::marker\+Buffer, struct\+\_\+\+O\+T\+F\+\_\+\+R\+Stream\+::namestub, O\+T\+F\+\_\+get\+Filename(), O\+T\+F\+\_\+\+R\+Buffer\+\_\+open(), O\+T\+F\+\_\+\+R\+Buffer\+\_\+set\+Size(), and O\+T\+F\+\_\+\+R\+Buffer\+\_\+set\+Z\+Buffer\+Size().



Referenced by O\+T\+F\+\_\+\+R\+Stream\+\_\+read\+Marker().

\hypertarget{group__rstream_gae97340bed536aa60c9966d66fcba1dfb}{\index{Stream Reader Interface@{Stream Reader Interface}!O\+T\+F\+\_\+\+R\+Stream\+\_\+get\+Record\+Limit@{O\+T\+F\+\_\+\+R\+Stream\+\_\+get\+Record\+Limit}}
\index{O\+T\+F\+\_\+\+R\+Stream\+\_\+get\+Record\+Limit@{O\+T\+F\+\_\+\+R\+Stream\+\_\+get\+Record\+Limit}!Stream Reader Interface@{Stream Reader Interface}}
\subsubsection[{O\+T\+F\+\_\+\+R\+Stream\+\_\+get\+Record\+Limit}]{\setlength{\rightskip}{0pt plus 5cm}uint64\+\_\+t O\+T\+F\+\_\+\+R\+Stream\+\_\+get\+Record\+Limit (
\begin{DoxyParamCaption}
\item[{{\bf O\+T\+F\+\_\+\+R\+Stream} $\ast$}]{rstream}
\end{DoxyParamCaption}
)}}\label{group__rstream_gae97340bed536aa60c9966d66fcba1dfb}


Returns the current record limit. 


\begin{DoxyParams}{Parameters}
{\em rstream} & Pointer to an initialized O\+T\+F\+\_\+\+R\+Stream object. See also \hyperlink{group__rstream_gab4d7a66eb0c1bec13b3c8a94503a1192}{O\+T\+F\+\_\+\+R\+Stream\+\_\+open()}.\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Current record limit. 
\end{DoxyReturn}


References struct\+\_\+\+O\+T\+F\+\_\+\+R\+Stream\+::record\+Limit.

\hypertarget{group__rstream_gaebe22f25a86375912c4db4e90d7cf1bd}{\index{Stream Reader Interface@{Stream Reader Interface}!O\+T\+F\+\_\+\+R\+Stream\+\_\+get\+Snaps\+Buffer@{O\+T\+F\+\_\+\+R\+Stream\+\_\+get\+Snaps\+Buffer}}
\index{O\+T\+F\+\_\+\+R\+Stream\+\_\+get\+Snaps\+Buffer@{O\+T\+F\+\_\+\+R\+Stream\+\_\+get\+Snaps\+Buffer}!Stream Reader Interface@{Stream Reader Interface}}
\subsubsection[{O\+T\+F\+\_\+\+R\+Stream\+\_\+get\+Snaps\+Buffer}]{\setlength{\rightskip}{0pt plus 5cm}{\bf O\+T\+F\+\_\+\+R\+Buffer}$\ast$ O\+T\+F\+\_\+\+R\+Stream\+\_\+get\+Snaps\+Buffer (
\begin{DoxyParamCaption}
\item[{{\bf O\+T\+F\+\_\+\+R\+Stream} $\ast$}]{rstream}
\end{DoxyParamCaption}
)}}\label{group__rstream_gaebe22f25a86375912c4db4e90d7cf1bd}


Returns the snapshots buffer of the according reader stream. 


\begin{DoxyParams}{Parameters}
{\em rstream} & Pointer to an initialized O\+T\+F\+\_\+\+R\+Stream object. See also \hyperlink{group__rstream_gab4d7a66eb0c1bec13b3c8a94503a1192}{O\+T\+F\+\_\+\+R\+Stream\+\_\+open()}.\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Initialized O\+T\+F\+\_\+\+R\+Buffer instance or 0 if an error occured. 
\end{DoxyReturn}


References struct\+\_\+\+O\+T\+F\+\_\+\+R\+Stream\+::buffersizes, struct\+\_\+\+O\+T\+F\+\_\+\+R\+Stream\+::id, struct\+\_\+\+O\+T\+F\+\_\+\+R\+Stream\+::manager, struct\+\_\+\+O\+T\+F\+\_\+\+R\+Stream\+::namestub, O\+T\+F\+\_\+get\+Filename(), O\+T\+F\+\_\+\+R\+Buffer\+\_\+open(), O\+T\+F\+\_\+\+R\+Buffer\+\_\+set\+Size(), O\+T\+F\+\_\+\+R\+Buffer\+\_\+set\+Z\+Buffer\+Size(), and struct\+\_\+\+O\+T\+F\+\_\+\+R\+Stream\+::snaps\+Buffer.



Referenced by O\+T\+F\+\_\+\+R\+Stream\+\_\+read\+Snapshots().

\hypertarget{group__rstream_ga8e5bc3bca86fcab4197976d40824777f}{\index{Stream Reader Interface@{Stream Reader Interface}!O\+T\+F\+\_\+\+R\+Stream\+\_\+get\+Stats\+Buffer@{O\+T\+F\+\_\+\+R\+Stream\+\_\+get\+Stats\+Buffer}}
\index{O\+T\+F\+\_\+\+R\+Stream\+\_\+get\+Stats\+Buffer@{O\+T\+F\+\_\+\+R\+Stream\+\_\+get\+Stats\+Buffer}!Stream Reader Interface@{Stream Reader Interface}}
\subsubsection[{O\+T\+F\+\_\+\+R\+Stream\+\_\+get\+Stats\+Buffer}]{\setlength{\rightskip}{0pt plus 5cm}{\bf O\+T\+F\+\_\+\+R\+Buffer}$\ast$ O\+T\+F\+\_\+\+R\+Stream\+\_\+get\+Stats\+Buffer (
\begin{DoxyParamCaption}
\item[{{\bf O\+T\+F\+\_\+\+R\+Stream} $\ast$}]{rstream}
\end{DoxyParamCaption}
)}}\label{group__rstream_ga8e5bc3bca86fcab4197976d40824777f}


Returns the statistics buffer of the according reader stream. 


\begin{DoxyParams}{Parameters}
{\em rstream} & Pointer to an initialized O\+T\+F\+\_\+\+R\+Stream object. See also \hyperlink{group__rstream_gab4d7a66eb0c1bec13b3c8a94503a1192}{O\+T\+F\+\_\+\+R\+Stream\+\_\+open()}.\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Initialized O\+T\+F\+\_\+\+R\+Buffer instance or 0 if an error occured. 
\end{DoxyReturn}


References struct\+\_\+\+O\+T\+F\+\_\+\+R\+Stream\+::buffersizes, struct\+\_\+\+O\+T\+F\+\_\+\+R\+Stream\+::id, struct\+\_\+\+O\+T\+F\+\_\+\+R\+Stream\+::manager, struct\+\_\+\+O\+T\+F\+\_\+\+R\+Stream\+::namestub, O\+T\+F\+\_\+get\+Filename(), O\+T\+F\+\_\+\+R\+Buffer\+\_\+open(), O\+T\+F\+\_\+\+R\+Buffer\+\_\+set\+Size(), O\+T\+F\+\_\+\+R\+Buffer\+\_\+set\+Z\+Buffer\+Size(), and struct\+\_\+\+O\+T\+F\+\_\+\+R\+Stream\+::stats\+Buffer.



Referenced by O\+T\+F\+\_\+\+R\+Stream\+\_\+read\+Statistics().

\hypertarget{group__rstream_gae54283534f51598864c681f68ac9a556}{\index{Stream Reader Interface@{Stream Reader Interface}!O\+T\+F\+\_\+\+R\+Stream\+\_\+get\+Z\+Buffer\+Sizes@{O\+T\+F\+\_\+\+R\+Stream\+\_\+get\+Z\+Buffer\+Sizes}}
\index{O\+T\+F\+\_\+\+R\+Stream\+\_\+get\+Z\+Buffer\+Sizes@{O\+T\+F\+\_\+\+R\+Stream\+\_\+get\+Z\+Buffer\+Sizes}!Stream Reader Interface@{Stream Reader Interface}}
\subsubsection[{O\+T\+F\+\_\+\+R\+Stream\+\_\+get\+Z\+Buffer\+Sizes}]{\setlength{\rightskip}{0pt plus 5cm}uint32\+\_\+t O\+T\+F\+\_\+\+R\+Stream\+\_\+get\+Z\+Buffer\+Sizes (
\begin{DoxyParamCaption}
\item[{{\bf O\+T\+F\+\_\+\+R\+Stream} $\ast$}]{rstream}
\end{DoxyParamCaption}
)}}\label{group__rstream_gae54283534f51598864c681f68ac9a556}


Get the default zbuffer size for all files managed by this reader stream. 


\begin{DoxyParams}{Parameters}
{\em rstream} & Pointer to an initialized O\+T\+F\+\_\+\+R\+Stream object. See also \hyperlink{group__rstream_gab4d7a66eb0c1bec13b3c8a94503a1192}{O\+T\+F\+\_\+\+R\+Stream\+\_\+open()}.\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Default buffer size for all buffers managed by this reader stream. 
\end{DoxyReturn}
\hypertarget{group__rstream_gab4d7a66eb0c1bec13b3c8a94503a1192}{\index{Stream Reader Interface@{Stream Reader Interface}!O\+T\+F\+\_\+\+R\+Stream\+\_\+open@{O\+T\+F\+\_\+\+R\+Stream\+\_\+open}}
\index{O\+T\+F\+\_\+\+R\+Stream\+\_\+open@{O\+T\+F\+\_\+\+R\+Stream\+\_\+open}!Stream Reader Interface@{Stream Reader Interface}}
\subsubsection[{O\+T\+F\+\_\+\+R\+Stream\+\_\+open}]{\setlength{\rightskip}{0pt plus 5cm}{\bf O\+T\+F\+\_\+\+R\+Stream}$\ast$ O\+T\+F\+\_\+\+R\+Stream\+\_\+open (
\begin{DoxyParamCaption}
\item[{const char $\ast$}]{name\+Stub, }
\item[{uint32\+\_\+t}]{id, }
\item[{{\bf O\+T\+F\+\_\+\+File\+Manager} $\ast$}]{manager}
\end{DoxyParamCaption}
)}}\label{group__rstream_gab4d7a66eb0c1bec13b3c8a94503a1192}


Create a new O\+T\+F\+\_\+\+R\+Stream instance. 


\begin{DoxyParams}{Parameters}
{\em name\+Stub} & \hyperlink{classFile}{File} name prefix which is going to be used by all sub-\/files which belong to the reader stream. \\
\hline
{\em id} & Abitrary but unique identifier of the reader stream. Must be $>$ '0' for real streams. Use '0' for global definitions. \\
\hline
{\em manager} & \hyperlink{classFile}{File} handle manager.\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Initialized O\+T\+F\+\_\+\+R\+Stream instance or 0 if an error occurred. 
\end{DoxyReturn}


References struct\+\_\+\+O\+T\+F\+\_\+\+R\+Stream\+::id, struct\+\_\+\+O\+T\+F\+\_\+\+Reader\+::manager, struct\+\_\+\+O\+T\+F\+\_\+\+R\+Stream\+::manager, and struct\+\_\+\+O\+T\+F\+\_\+\+R\+Stream\+::namestub.



Referenced by O\+T\+F\+\_\+\+Reader\+\_\+get\+Stream().

\hypertarget{group__rstream_gae107476b480731bc8ed99209f2aa7838}{\index{Stream Reader Interface@{Stream Reader Interface}!O\+T\+F\+\_\+\+R\+Stream\+\_\+read\+Definitions@{O\+T\+F\+\_\+\+R\+Stream\+\_\+read\+Definitions}}
\index{O\+T\+F\+\_\+\+R\+Stream\+\_\+read\+Definitions@{O\+T\+F\+\_\+\+R\+Stream\+\_\+read\+Definitions}!Stream Reader Interface@{Stream Reader Interface}}
\subsubsection[{O\+T\+F\+\_\+\+R\+Stream\+\_\+read\+Definitions}]{\setlength{\rightskip}{0pt plus 5cm}uint64\+\_\+t O\+T\+F\+\_\+\+R\+Stream\+\_\+read\+Definitions (
\begin{DoxyParamCaption}
\item[{{\bf O\+T\+F\+\_\+\+R\+Stream} $\ast$}]{rstream, }
\item[{{\bf O\+T\+F\+\_\+\+Handler\+Array} $\ast$}]{handlers}
\end{DoxyParamCaption}
)}}\label{group__rstream_gae107476b480731bc8ed99209f2aa7838}


Reads all definitions from the stream. 


\begin{DoxyParams}{Parameters}
{\em rstream} & Pointer to an initialized O\+T\+F\+\_\+\+R\+Stream object. See also \hyperlink{group__rstream_gab4d7a66eb0c1bec13b3c8a94503a1192}{O\+T\+F\+\_\+\+R\+Stream\+\_\+open()}. \\
\hline
{\em handlers} & Pointer to the handler array.\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Number of records read or O\+T\+F\+\_\+\+R\+E\+A\+D\+\_\+\+M\+A\+X\+R\+E\+C\+O\+R\+D\+S 
\end{DoxyReturn}


References struct\+\_\+\+O\+T\+F\+\_\+\+R\+Buffer\+::buffer, struct\+\_\+\+O\+T\+F\+\_\+\+R\+Stream\+::def\+Buffer, struct\+\_\+\+O\+T\+F\+\_\+\+R\+Stream\+::id, O\+T\+F\+\_\+\+Key\+Value\+List\+\_\+reset(), O\+T\+F\+\_\+\+R\+Buffer\+\_\+get\+Record(), O\+T\+F\+\_\+\+Reader\+\_\+parse\+Def\+Record(), O\+T\+F\+\_\+\+R\+Stream\+\_\+get\+Def\+Buffer(), struct\+\_\+\+O\+T\+F\+\_\+\+R\+Buffer\+::pos, and struct\+\_\+\+O\+T\+F\+\_\+\+R\+Stream\+::record\+Limit.

\hypertarget{group__rstream_ga23ac8c46c797510749535c5f2991d233}{\index{Stream Reader Interface@{Stream Reader Interface}!O\+T\+F\+\_\+\+R\+Stream\+\_\+read\+Events@{O\+T\+F\+\_\+\+R\+Stream\+\_\+read\+Events}}
\index{O\+T\+F\+\_\+\+R\+Stream\+\_\+read\+Events@{O\+T\+F\+\_\+\+R\+Stream\+\_\+read\+Events}!Stream Reader Interface@{Stream Reader Interface}}
\subsubsection[{O\+T\+F\+\_\+\+R\+Stream\+\_\+read\+Events}]{\setlength{\rightskip}{0pt plus 5cm}uint64\+\_\+t O\+T\+F\+\_\+\+R\+Stream\+\_\+read\+Events (
\begin{DoxyParamCaption}
\item[{{\bf O\+T\+F\+\_\+\+R\+Stream} $\ast$}]{rstream, }
\item[{{\bf O\+T\+F\+\_\+\+Handler\+Array} $\ast$}]{handlers}
\end{DoxyParamCaption}
)}}\label{group__rstream_ga23ac8c46c797510749535c5f2991d233}


Reads all events from the stream and calls the appropriated handler sorted by time. 


\begin{DoxyParams}{Parameters}
{\em rstream} & Pointer to an initialized O\+T\+F\+\_\+\+R\+Stream object. See also \hyperlink{group__rstream_gab4d7a66eb0c1bec13b3c8a94503a1192}{O\+T\+F\+\_\+\+R\+Stream\+\_\+open()}. \\
\hline
{\em handlers} & Pointer to the handler array.\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Number of records read or O\+T\+F\+\_\+\+R\+E\+A\+D\+\_\+\+M\+A\+X\+R\+E\+C\+O\+R\+D\+S 
\end{DoxyReturn}


References struct\+\_\+\+O\+T\+F\+\_\+\+R\+Buffer\+::buffer, struct\+\_\+\+O\+T\+F\+\_\+\+R\+Stream\+::event\+Buffer, O\+T\+F\+\_\+\+Key\+Value\+List\+\_\+reset(), O\+T\+F\+\_\+\+R\+Buffer\+\_\+get\+Record(), O\+T\+F\+\_\+\+R\+Buffer\+\_\+search\+Time(), O\+T\+F\+\_\+\+Reader\+\_\+parse\+Event\+Record(), O\+T\+F\+\_\+\+R\+Stream\+\_\+get\+Event\+Buffer(), struct\+\_\+\+O\+T\+F\+\_\+\+R\+Buffer\+::pos, struct\+\_\+\+O\+T\+F\+\_\+\+R\+Stream\+::record\+Limit, and struct\+\_\+\+O\+T\+F\+\_\+\+R\+Buffer\+::time.

\hypertarget{group__rstream_ga97e8c6a6f324e11d10dfbb4d91979f6c}{\index{Stream Reader Interface@{Stream Reader Interface}!O\+T\+F\+\_\+\+R\+Stream\+\_\+read\+Marker@{O\+T\+F\+\_\+\+R\+Stream\+\_\+read\+Marker}}
\index{O\+T\+F\+\_\+\+R\+Stream\+\_\+read\+Marker@{O\+T\+F\+\_\+\+R\+Stream\+\_\+read\+Marker}!Stream Reader Interface@{Stream Reader Interface}}
\subsubsection[{O\+T\+F\+\_\+\+R\+Stream\+\_\+read\+Marker}]{\setlength{\rightskip}{0pt plus 5cm}uint64\+\_\+t O\+T\+F\+\_\+\+R\+Stream\+\_\+read\+Marker (
\begin{DoxyParamCaption}
\item[{{\bf O\+T\+F\+\_\+\+R\+Stream} $\ast$}]{rstream, }
\item[{{\bf O\+T\+F\+\_\+\+Handler\+Array} $\ast$}]{handlers}
\end{DoxyParamCaption}
)}}\label{group__rstream_ga97e8c6a6f324e11d10dfbb4d91979f6c}


Reads all markers from the stream. 


\begin{DoxyParams}{Parameters}
{\em rstream} & Pointer to an initialized O\+T\+F\+\_\+\+R\+Stream object. See also \hyperlink{group__rstream_gab4d7a66eb0c1bec13b3c8a94503a1192}{O\+T\+F\+\_\+\+R\+Stream\+\_\+open()}. \\
\hline
{\em handlers} & Pointer to the handler array.\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Number of records read or O\+T\+F\+\_\+\+R\+E\+A\+D\+\_\+\+M\+A\+X\+R\+E\+C\+O\+R\+D\+S 
\end{DoxyReturn}


References struct\+\_\+\+O\+T\+F\+\_\+\+R\+Buffer\+::buffer, struct\+\_\+\+O\+T\+F\+\_\+\+R\+Stream\+::id, struct\+\_\+\+O\+T\+F\+\_\+\+R\+Stream\+::marker\+Buffer, O\+T\+F\+\_\+\+Key\+Value\+List\+\_\+reset(), O\+T\+F\+\_\+\+R\+Buffer\+\_\+get\+Record(), O\+T\+F\+\_\+\+Reader\+\_\+parse\+Marker\+Record(), O\+T\+F\+\_\+\+R\+Stream\+\_\+get\+Marker\+Buffer(), struct\+\_\+\+O\+T\+F\+\_\+\+R\+Buffer\+::pos, and struct\+\_\+\+O\+T\+F\+\_\+\+R\+Stream\+::record\+Limit.

\hypertarget{group__rstream_ga7fedd69f9a05cb908c154ec92550b40a}{\index{Stream Reader Interface@{Stream Reader Interface}!O\+T\+F\+\_\+\+R\+Stream\+\_\+read\+Snapshots@{O\+T\+F\+\_\+\+R\+Stream\+\_\+read\+Snapshots}}
\index{O\+T\+F\+\_\+\+R\+Stream\+\_\+read\+Snapshots@{O\+T\+F\+\_\+\+R\+Stream\+\_\+read\+Snapshots}!Stream Reader Interface@{Stream Reader Interface}}
\subsubsection[{O\+T\+F\+\_\+\+R\+Stream\+\_\+read\+Snapshots}]{\setlength{\rightskip}{0pt plus 5cm}uint64\+\_\+t O\+T\+F\+\_\+\+R\+Stream\+\_\+read\+Snapshots (
\begin{DoxyParamCaption}
\item[{{\bf O\+T\+F\+\_\+\+R\+Stream} $\ast$}]{rstream, }
\item[{{\bf O\+T\+F\+\_\+\+Handler\+Array} $\ast$}]{handlers}
\end{DoxyParamCaption}
)}}\label{group__rstream_ga7fedd69f9a05cb908c154ec92550b40a}


Reads all snapshots from the stream. 


\begin{DoxyParams}{Parameters}
{\em rstream} & Pointer to an initialized O\+T\+F\+\_\+\+R\+Stream object. See also \hyperlink{group__rstream_gab4d7a66eb0c1bec13b3c8a94503a1192}{O\+T\+F\+\_\+\+R\+Stream\+\_\+open()}. \\
\hline
{\em handlers} & Pointer to the handler array.\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Number of records read or O\+T\+F\+\_\+\+R\+E\+A\+D\+\_\+\+M\+A\+X\+R\+E\+C\+O\+R\+D\+S 
\end{DoxyReturn}


References struct\+\_\+\+O\+T\+F\+\_\+\+R\+Buffer\+::buffer, O\+T\+F\+\_\+\+Key\+Value\+List\+\_\+reset(), O\+T\+F\+\_\+\+R\+Buffer\+\_\+get\+Record(), O\+T\+F\+\_\+\+R\+Buffer\+\_\+search\+Time(), O\+T\+F\+\_\+\+Reader\+\_\+parse\+Snapshots\+Record(), O\+T\+F\+\_\+\+R\+Stream\+\_\+get\+Snaps\+Buffer(), struct\+\_\+\+O\+T\+F\+\_\+\+R\+Buffer\+::pos, struct\+\_\+\+O\+T\+F\+\_\+\+R\+Stream\+::record\+Limit, struct\+\_\+\+O\+T\+F\+\_\+\+R\+Stream\+::snaps\+Buffer, and struct\+\_\+\+O\+T\+F\+\_\+\+R\+Buffer\+::time.

\hypertarget{group__rstream_ga544ffbec6d6c5224782080cd7cfefe8a}{\index{Stream Reader Interface@{Stream Reader Interface}!O\+T\+F\+\_\+\+R\+Stream\+\_\+read\+Statistics@{O\+T\+F\+\_\+\+R\+Stream\+\_\+read\+Statistics}}
\index{O\+T\+F\+\_\+\+R\+Stream\+\_\+read\+Statistics@{O\+T\+F\+\_\+\+R\+Stream\+\_\+read\+Statistics}!Stream Reader Interface@{Stream Reader Interface}}
\subsubsection[{O\+T\+F\+\_\+\+R\+Stream\+\_\+read\+Statistics}]{\setlength{\rightskip}{0pt plus 5cm}uint64\+\_\+t O\+T\+F\+\_\+\+R\+Stream\+\_\+read\+Statistics (
\begin{DoxyParamCaption}
\item[{{\bf O\+T\+F\+\_\+\+R\+Stream} $\ast$}]{rstream, }
\item[{{\bf O\+T\+F\+\_\+\+Handler\+Array} $\ast$}]{handlers}
\end{DoxyParamCaption}
)}}\label{group__rstream_ga544ffbec6d6c5224782080cd7cfefe8a}


Reads all statistics from the stream. 


\begin{DoxyParams}{Parameters}
{\em rstream} & Pointer to an initialized O\+T\+F\+\_\+\+R\+Stream object. See also \hyperlink{group__rstream_gab4d7a66eb0c1bec13b3c8a94503a1192}{O\+T\+F\+\_\+\+R\+Stream\+\_\+open()}. \\
\hline
{\em handlers} & Pointer to the handler array.\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Number of records read or O\+T\+F\+\_\+\+R\+E\+A\+D\+\_\+\+M\+A\+X\+R\+E\+C\+O\+R\+D\+S 
\end{DoxyReturn}


References struct\+\_\+\+O\+T\+F\+\_\+\+R\+Buffer\+::buffer, O\+T\+F\+\_\+\+Key\+Value\+List\+\_\+reset(), O\+T\+F\+\_\+\+R\+Buffer\+\_\+get\+Record(), O\+T\+F\+\_\+\+R\+Buffer\+\_\+search\+Time(), O\+T\+F\+\_\+\+Reader\+\_\+parse\+Statistics\+Record(), O\+T\+F\+\_\+\+R\+Stream\+\_\+get\+Stats\+Buffer(), struct\+\_\+\+O\+T\+F\+\_\+\+R\+Buffer\+::pos, struct\+\_\+\+O\+T\+F\+\_\+\+R\+Stream\+::record\+Limit, struct\+\_\+\+O\+T\+F\+\_\+\+R\+Stream\+::stats\+Buffer, and struct\+\_\+\+O\+T\+F\+\_\+\+R\+Buffer\+::time.

\hypertarget{group__rstream_ga25964919108452ab9b8ec93de4075a8a}{\index{Stream Reader Interface@{Stream Reader Interface}!O\+T\+F\+\_\+\+R\+Stream\+\_\+set\+Buffer\+Sizes@{O\+T\+F\+\_\+\+R\+Stream\+\_\+set\+Buffer\+Sizes}}
\index{O\+T\+F\+\_\+\+R\+Stream\+\_\+set\+Buffer\+Sizes@{O\+T\+F\+\_\+\+R\+Stream\+\_\+set\+Buffer\+Sizes}!Stream Reader Interface@{Stream Reader Interface}}
\subsubsection[{O\+T\+F\+\_\+\+R\+Stream\+\_\+set\+Buffer\+Sizes}]{\setlength{\rightskip}{0pt plus 5cm}void O\+T\+F\+\_\+\+R\+Stream\+\_\+set\+Buffer\+Sizes (
\begin{DoxyParamCaption}
\item[{{\bf O\+T\+F\+\_\+\+R\+Stream} $\ast$}]{rstream, }
\item[{uint32\+\_\+t}]{size}
\end{DoxyParamCaption}
)}}\label{group__rstream_ga25964919108452ab9b8ec93de4075a8a}


Set the default buffer size for all buffers managed by this reader stream. 

This is only effective for future buffers and will not change already allocated buffers. Those can be changed with the buffers directly.


\begin{DoxyParams}{Parameters}
{\em rstream} & Pointer to an initialized O\+T\+F\+\_\+\+R\+Stream object. See also \hyperlink{group__rstream_gab4d7a66eb0c1bec13b3c8a94503a1192}{O\+T\+F\+\_\+\+R\+Stream\+\_\+open()}.\\
\hline
{\em size} & Intended buffer size. \\
\hline
\end{DoxyParams}


References struct\+\_\+\+O\+T\+F\+\_\+\+R\+Stream\+::buffersizes.



Referenced by O\+T\+F\+\_\+\+Reader\+\_\+get\+Stream().

\hypertarget{group__rstream_gad67350756e0b267a1a3d9ff1222c2dfe}{\index{Stream Reader Interface@{Stream Reader Interface}!O\+T\+F\+\_\+\+R\+Stream\+\_\+set\+Def\+Buffer@{O\+T\+F\+\_\+\+R\+Stream\+\_\+set\+Def\+Buffer}}
\index{O\+T\+F\+\_\+\+R\+Stream\+\_\+set\+Def\+Buffer@{O\+T\+F\+\_\+\+R\+Stream\+\_\+set\+Def\+Buffer}!Stream Reader Interface@{Stream Reader Interface}}
\subsubsection[{O\+T\+F\+\_\+\+R\+Stream\+\_\+set\+Def\+Buffer}]{\setlength{\rightskip}{0pt plus 5cm}{\bf O\+T\+F\+\_\+\+R\+Buffer}$\ast$ O\+T\+F\+\_\+\+R\+Stream\+\_\+set\+Def\+Buffer (
\begin{DoxyParamCaption}
\item[{{\bf O\+T\+F\+\_\+\+R\+Stream} $\ast$}]{rstream, }
\item[{{\bf O\+T\+F\+\_\+\+R\+Buffer} $\ast$}]{rbuffer}
\end{DoxyParamCaption}
)}}\label{group__rstream_gad67350756e0b267a1a3d9ff1222c2dfe}


Forces the given definition buffer to the according reader stream. 


\begin{DoxyParams}{Parameters}
{\em rstream} & Pointer to an initialized O\+T\+F\+\_\+\+R\+Stream object. See also \hyperlink{group__rstream_gab4d7a66eb0c1bec13b3c8a94503a1192}{O\+T\+F\+\_\+\+R\+Stream\+\_\+open()}. \\
\hline
{\em rbuffer} & The O\+T\+F\+\_\+\+R\+Buffer to use.\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The previously used Buffer or N\+U\+L\+L if none. 
\end{DoxyReturn}


References struct\+\_\+\+O\+T\+F\+\_\+\+R\+Stream\+::buffersizes, struct\+\_\+\+O\+T\+F\+\_\+\+R\+Stream\+::def\+Buffer, O\+T\+F\+\_\+\+R\+Buffer\+\_\+set\+Size(), and O\+T\+F\+\_\+\+R\+Buffer\+\_\+set\+Z\+Buffer\+Size().

\hypertarget{group__rstream_ga3171a4e82be47c8129024504dbad14ea}{\index{Stream Reader Interface@{Stream Reader Interface}!O\+T\+F\+\_\+\+R\+Stream\+\_\+set\+Record\+Limit@{O\+T\+F\+\_\+\+R\+Stream\+\_\+set\+Record\+Limit}}
\index{O\+T\+F\+\_\+\+R\+Stream\+\_\+set\+Record\+Limit@{O\+T\+F\+\_\+\+R\+Stream\+\_\+set\+Record\+Limit}!Stream Reader Interface@{Stream Reader Interface}}
\subsubsection[{O\+T\+F\+\_\+\+R\+Stream\+\_\+set\+Record\+Limit}]{\setlength{\rightskip}{0pt plus 5cm}void O\+T\+F\+\_\+\+R\+Stream\+\_\+set\+Record\+Limit (
\begin{DoxyParamCaption}
\item[{{\bf O\+T\+F\+\_\+\+R\+Stream} $\ast$}]{rstream, }
\item[{uint64\+\_\+t}]{limit}
\end{DoxyParamCaption}
)}}\label{group__rstream_ga3171a4e82be47c8129024504dbad14ea}


Sets the maximum number of records delivered by a single call to O\+T\+F\+\_\+\+R\+Stream\+\_\+read\+X\+Y\+Z(). 

Defaults to O\+T\+F\+\_\+\+R\+E\+A\+D\+\_\+\+M\+A\+X\+R\+E\+C\+O\+R\+D\+S == . 'O\+T\+F\+\_\+\+Reader\+\_\+read\+X\+Y\+Z()' returns with the number of records processed. Successive calls to 'O\+T\+F\+\_\+\+Reader\+\_\+read\+X\+Y\+Z()' will deliver the remaining records.

This function will N\+O\+T destroy a pending read operation, i.\+e. a read operation currently interrupted C\+A\+N be continued!


\begin{DoxyParams}{Parameters}
{\em rstream} & Pointer to an initialized O\+T\+F\+\_\+\+R\+Stream object. See also \hyperlink{group__rstream_gab4d7a66eb0c1bec13b3c8a94503a1192}{O\+T\+F\+\_\+\+R\+Stream\+\_\+open()}. \\
\hline
{\em limit} & new record limit. has to be smaller than or equal to O\+T\+F\+\_\+\+R\+E\+A\+D\+\_\+\+M\+A\+X\+R\+E\+C\+O\+R\+D\+S \\
\hline
\end{DoxyParams}


References struct\+\_\+\+O\+T\+F\+\_\+\+R\+Stream\+::record\+Limit.

\hypertarget{group__rstream_ga20a788b3102af11860fa9aac92f7d47f}{\index{Stream Reader Interface@{Stream Reader Interface}!O\+T\+F\+\_\+\+R\+Stream\+\_\+set\+Z\+Buffer\+Sizes@{O\+T\+F\+\_\+\+R\+Stream\+\_\+set\+Z\+Buffer\+Sizes}}
\index{O\+T\+F\+\_\+\+R\+Stream\+\_\+set\+Z\+Buffer\+Sizes@{O\+T\+F\+\_\+\+R\+Stream\+\_\+set\+Z\+Buffer\+Sizes}!Stream Reader Interface@{Stream Reader Interface}}
\subsubsection[{O\+T\+F\+\_\+\+R\+Stream\+\_\+set\+Z\+Buffer\+Sizes}]{\setlength{\rightskip}{0pt plus 5cm}void O\+T\+F\+\_\+\+R\+Stream\+\_\+set\+Z\+Buffer\+Sizes (
\begin{DoxyParamCaption}
\item[{{\bf O\+T\+F\+\_\+\+R\+Stream} $\ast$}]{rstream, }
\item[{uint32\+\_\+t}]{size}
\end{DoxyParamCaption}
)}}\label{group__rstream_ga20a788b3102af11860fa9aac92f7d47f}


Set the default zbuffer size for all files managed by this reader stream. 

This is only effective for future files and will not change already allocated buffers. Those can be changed with the files directly.


\begin{DoxyParams}{Parameters}
{\em rstream} & Pointer to an initialized O\+T\+F\+\_\+\+R\+Stream object. See also \hyperlink{group__rstream_gab4d7a66eb0c1bec13b3c8a94503a1192}{O\+T\+F\+\_\+\+R\+Stream\+\_\+open()}.\\
\hline
{\em size} & Intended buffer size. \\
\hline
\end{DoxyParams}


Referenced by O\+T\+F\+\_\+\+Reader\+\_\+get\+Stream().

\hypertarget{group__rstream_gaec8e71fb3b0420f77b9ac65e1b2d164d}{\index{Stream Reader Interface@{Stream Reader Interface}!O\+T\+F\+\_\+\+R\+Stream\+\_\+snapshot\+Bytes\+Progress@{O\+T\+F\+\_\+\+R\+Stream\+\_\+snapshot\+Bytes\+Progress}}
\index{O\+T\+F\+\_\+\+R\+Stream\+\_\+snapshot\+Bytes\+Progress@{O\+T\+F\+\_\+\+R\+Stream\+\_\+snapshot\+Bytes\+Progress}!Stream Reader Interface@{Stream Reader Interface}}
\subsubsection[{O\+T\+F\+\_\+\+R\+Stream\+\_\+snapshot\+Bytes\+Progress}]{\setlength{\rightskip}{0pt plus 5cm}uint8\+\_\+t O\+T\+F\+\_\+\+R\+Stream\+\_\+snapshot\+Bytes\+Progress (
\begin{DoxyParamCaption}
\item[{{\bf O\+T\+F\+\_\+\+R\+Stream} $\ast$}]{rstream, }
\item[{uint64\+\_\+t $\ast$}]{minimum, }
\item[{uint64\+\_\+t $\ast$}]{current, }
\item[{uint64\+\_\+t $\ast$}]{maximum}
\end{DoxyParamCaption}
)}}\label{group__rstream_gaec8e71fb3b0420f77b9ac65e1b2d164d}


Delivers a progress report for reading snapshots. 

\hyperlink{structProgress}{Progress} is given in terms of bytes. The percentage can be computed as ( current -\/ minimum ) / ( maximum -\/ minimum ).

A\+T\+T\+E\+N\+T\+I\+O\+N\+: This in only a rough estimate of the progress, because it is computed based on the block I/\+O from files but not based on the actual bytes processed. This may result in constant values for small traces. See also \hyperlink{group__rstream_ga01c49c8fa847762a1bd5b5a1b05ae89d}{O\+T\+F\+\_\+\+R\+Stream\+\_\+snapshot\+Time\+Progress()}\+:

The progress report is only valid after one or several calls to \hyperlink{group__rstream_ga7fedd69f9a05cb908c154ec92550b40a}{O\+T\+F\+\_\+\+R\+Stream\+\_\+read\+Snapshots()}. Otherwise the return arguments 'minimum', 'current' and 'maximum' are undefined! If 'minimum' $>$ 'maximum' the values are invalid.


\begin{DoxyParams}{Parameters}
{\em rstream} & Pointer to an initialized O\+T\+F\+\_\+\+R\+Stream object. See also \hyperlink{group__rstream_gab4d7a66eb0c1bec13b3c8a94503a1192}{O\+T\+F\+\_\+\+R\+Stream\+\_\+open()}. \\
\hline
{\em minimum} & Return value for the minium bytes read ( is 0 everytime ). \\
\hline
{\em current} & Return value for the current bytes read. \\
\hline
{\em maximum} & Return value for the filesize.\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
1 on success, 0 if an error occurs. 
\end{DoxyReturn}


References O\+T\+F\+\_\+\+R\+Buffer\+\_\+get\+File\+Pos(), O\+T\+F\+\_\+\+R\+Buffer\+\_\+get\+File\+Size(), and struct\+\_\+\+O\+T\+F\+\_\+\+R\+Stream\+::snaps\+Buffer.

\hypertarget{group__rstream_gae3279096459a9dc575f61fa45bd8d216}{\index{Stream Reader Interface@{Stream Reader Interface}!O\+T\+F\+\_\+\+R\+Stream\+\_\+snapshot\+Progress@{O\+T\+F\+\_\+\+R\+Stream\+\_\+snapshot\+Progress}}
\index{O\+T\+F\+\_\+\+R\+Stream\+\_\+snapshot\+Progress@{O\+T\+F\+\_\+\+R\+Stream\+\_\+snapshot\+Progress}!Stream Reader Interface@{Stream Reader Interface}}
\subsubsection[{O\+T\+F\+\_\+\+R\+Stream\+\_\+snapshot\+Progress}]{\setlength{\rightskip}{0pt plus 5cm}uint8\+\_\+t O\+T\+F\+\_\+\+R\+Stream\+\_\+snapshot\+Progress (
\begin{DoxyParamCaption}
\item[{{\bf O\+T\+F\+\_\+\+R\+Stream} $\ast$}]{rstream, }
\item[{uint64\+\_\+t $\ast$}]{minimum, }
\item[{uint64\+\_\+t $\ast$}]{current, }
\item[{uint64\+\_\+t $\ast$}]{maximum}
\end{DoxyParamCaption}
)}}\label{group__rstream_gae3279096459a9dc575f61fa45bd8d216}


depricated. 

\begin{DoxySeeAlso}{See also}
\hyperlink{group__rstream_ga01c49c8fa847762a1bd5b5a1b05ae89d}{O\+T\+F\+\_\+\+R\+Stream\+\_\+snapshot\+Time\+Progress()} 
\end{DoxySeeAlso}


References O\+T\+F\+\_\+\+R\+Stream\+\_\+snapshot\+Time\+Progress().

\hypertarget{group__rstream_ga01c49c8fa847762a1bd5b5a1b05ae89d}{\index{Stream Reader Interface@{Stream Reader Interface}!O\+T\+F\+\_\+\+R\+Stream\+\_\+snapshot\+Time\+Progress@{O\+T\+F\+\_\+\+R\+Stream\+\_\+snapshot\+Time\+Progress}}
\index{O\+T\+F\+\_\+\+R\+Stream\+\_\+snapshot\+Time\+Progress@{O\+T\+F\+\_\+\+R\+Stream\+\_\+snapshot\+Time\+Progress}!Stream Reader Interface@{Stream Reader Interface}}
\subsubsection[{O\+T\+F\+\_\+\+R\+Stream\+\_\+snapshot\+Time\+Progress}]{\setlength{\rightskip}{0pt plus 5cm}uint8\+\_\+t O\+T\+F\+\_\+\+R\+Stream\+\_\+snapshot\+Time\+Progress (
\begin{DoxyParamCaption}
\item[{{\bf O\+T\+F\+\_\+\+R\+Stream} $\ast$}]{rstream, }
\item[{uint64\+\_\+t $\ast$}]{minimum, }
\item[{uint64\+\_\+t $\ast$}]{current, }
\item[{uint64\+\_\+t $\ast$}]{maximum}
\end{DoxyParamCaption}
)}}\label{group__rstream_ga01c49c8fa847762a1bd5b5a1b05ae89d}


Delivers a progress report for reading snapshots. 

It is given in terms of time stamps. A percentage can be computed as ( current -\/ minimum ) / ( maximum -\/ minimum ). This computation takes restricted time intervals into account which is not possible with \hyperlink{group__rstream_gaec8e71fb3b0420f77b9ac65e1b2d164d}{O\+T\+F\+\_\+\+R\+Stream\+\_\+snapshot\+Bytes\+Progress()}.

The progress report is only valid after one or several calls to \hyperlink{group__rstream_ga7fedd69f9a05cb908c154ec92550b40a}{O\+T\+F\+\_\+\+R\+Stream\+\_\+read\+Snapshots()}. Otherwise the return arguments 'minimum', 'current' and 'maximum' are undefined! If 'minimum' $>$ 'maximum' the values are invalid.


\begin{DoxyParams}{Parameters}
{\em rstream} & Pointer to an initialized O\+T\+F\+\_\+\+R\+Stream object. See also \hyperlink{group__rstream_gab4d7a66eb0c1bec13b3c8a94503a1192}{O\+T\+F\+\_\+\+R\+Stream\+\_\+open()}. \\
\hline
{\em minimum} & Return value for the minium time. \\
\hline
{\em current} & Return value for the current time. \\
\hline
{\em maximum} & Return value for the maximum time.\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
1 on success, 0 if an error occurs. 
\end{DoxyReturn}


References struct\+\_\+\+O\+T\+F\+\_\+\+R\+Buffer\+::first\+Time, struct\+\_\+\+O\+T\+F\+\_\+\+R\+Buffer\+::last\+Time, struct\+\_\+\+O\+T\+F\+\_\+\+R\+Stream\+::snaps\+Buffer, and struct\+\_\+\+O\+T\+F\+\_\+\+R\+Buffer\+::time.



Referenced by O\+T\+F\+\_\+\+R\+Stream\+\_\+snapshot\+Progress().

\hypertarget{group__rstream_ga74495242ae8c2f3a8c09f1c3ec217017}{\index{Stream Reader Interface@{Stream Reader Interface}!O\+T\+F\+\_\+\+R\+Stream\+\_\+statistic\+Bytes\+Progress@{O\+T\+F\+\_\+\+R\+Stream\+\_\+statistic\+Bytes\+Progress}}
\index{O\+T\+F\+\_\+\+R\+Stream\+\_\+statistic\+Bytes\+Progress@{O\+T\+F\+\_\+\+R\+Stream\+\_\+statistic\+Bytes\+Progress}!Stream Reader Interface@{Stream Reader Interface}}
\subsubsection[{O\+T\+F\+\_\+\+R\+Stream\+\_\+statistic\+Bytes\+Progress}]{\setlength{\rightskip}{0pt plus 5cm}uint8\+\_\+t O\+T\+F\+\_\+\+R\+Stream\+\_\+statistic\+Bytes\+Progress (
\begin{DoxyParamCaption}
\item[{{\bf O\+T\+F\+\_\+\+R\+Stream} $\ast$}]{rstream, }
\item[{uint64\+\_\+t $\ast$}]{minimum, }
\item[{uint64\+\_\+t $\ast$}]{current, }
\item[{uint64\+\_\+t $\ast$}]{maximum}
\end{DoxyParamCaption}
)}}\label{group__rstream_ga74495242ae8c2f3a8c09f1c3ec217017}


Delivers a progress report for reading statistics. 

\hyperlink{structProgress}{Progress} is given in terms of bytes. The percentage can be computed as ( current -\/ minimum ) / ( maximum -\/ minimum ).

A\+T\+T\+E\+N\+T\+I\+O\+N\+: This in only a rough estimate of the progress, because it is computed based on the block I/\+O from files but not based on the actual bytes processed. This may result in constant values for small traces. See also \hyperlink{group__rstream_gac2b5a5a9bcd55ec8a5a933af0e5e5702}{O\+T\+F\+\_\+\+R\+Stream\+\_\+statistic\+Time\+Progress()}\+:

The progress report is only valid after one or several calls to \hyperlink{group__rstream_ga544ffbec6d6c5224782080cd7cfefe8a}{O\+T\+F\+\_\+\+R\+Stream\+\_\+read\+Statistics()}. Otherwise the return arguments 'minimum', 'current' and 'maximum' are undefined! If 'minimum' $>$ 'maximum' the values are invalid.


\begin{DoxyParams}{Parameters}
{\em rstream} & Pointer to an initialized O\+T\+F\+\_\+\+R\+Stream object. See also \hyperlink{group__rstream_gab4d7a66eb0c1bec13b3c8a94503a1192}{O\+T\+F\+\_\+\+R\+Stream\+\_\+open()}. \\
\hline
{\em minimum} & Return value for the minium bytes read ( is 0 everytime ). \\
\hline
{\em current} & Return value for the current bytes read. \\
\hline
{\em maximum} & Return value for the filesize.\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
1 on success, 0 if an error occurs. 
\end{DoxyReturn}


References O\+T\+F\+\_\+\+R\+Buffer\+\_\+get\+File\+Pos(), O\+T\+F\+\_\+\+R\+Buffer\+\_\+get\+File\+Size(), and struct\+\_\+\+O\+T\+F\+\_\+\+R\+Stream\+::stats\+Buffer.

\hypertarget{group__rstream_gaa8ec131acf5fbd99e5facc2a25a8e562}{\index{Stream Reader Interface@{Stream Reader Interface}!O\+T\+F\+\_\+\+R\+Stream\+\_\+statistic\+Progress@{O\+T\+F\+\_\+\+R\+Stream\+\_\+statistic\+Progress}}
\index{O\+T\+F\+\_\+\+R\+Stream\+\_\+statistic\+Progress@{O\+T\+F\+\_\+\+R\+Stream\+\_\+statistic\+Progress}!Stream Reader Interface@{Stream Reader Interface}}
\subsubsection[{O\+T\+F\+\_\+\+R\+Stream\+\_\+statistic\+Progress}]{\setlength{\rightskip}{0pt plus 5cm}uint8\+\_\+t O\+T\+F\+\_\+\+R\+Stream\+\_\+statistic\+Progress (
\begin{DoxyParamCaption}
\item[{{\bf O\+T\+F\+\_\+\+R\+Stream} $\ast$}]{rstream, }
\item[{uint64\+\_\+t $\ast$}]{minimum, }
\item[{uint64\+\_\+t $\ast$}]{current, }
\item[{uint64\+\_\+t $\ast$}]{maximum}
\end{DoxyParamCaption}
)}}\label{group__rstream_gaa8ec131acf5fbd99e5facc2a25a8e562}


depricated. 

\begin{DoxySeeAlso}{See also}
\hyperlink{group__rstream_gac2b5a5a9bcd55ec8a5a933af0e5e5702}{O\+T\+F\+\_\+\+R\+Stream\+\_\+statistic\+Time\+Progress()} 
\end{DoxySeeAlso}


References O\+T\+F\+\_\+\+R\+Stream\+\_\+statistic\+Time\+Progress().

\hypertarget{group__rstream_gac2b5a5a9bcd55ec8a5a933af0e5e5702}{\index{Stream Reader Interface@{Stream Reader Interface}!O\+T\+F\+\_\+\+R\+Stream\+\_\+statistic\+Time\+Progress@{O\+T\+F\+\_\+\+R\+Stream\+\_\+statistic\+Time\+Progress}}
\index{O\+T\+F\+\_\+\+R\+Stream\+\_\+statistic\+Time\+Progress@{O\+T\+F\+\_\+\+R\+Stream\+\_\+statistic\+Time\+Progress}!Stream Reader Interface@{Stream Reader Interface}}
\subsubsection[{O\+T\+F\+\_\+\+R\+Stream\+\_\+statistic\+Time\+Progress}]{\setlength{\rightskip}{0pt plus 5cm}uint8\+\_\+t O\+T\+F\+\_\+\+R\+Stream\+\_\+statistic\+Time\+Progress (
\begin{DoxyParamCaption}
\item[{{\bf O\+T\+F\+\_\+\+R\+Stream} $\ast$}]{rstream, }
\item[{uint64\+\_\+t $\ast$}]{minimum, }
\item[{uint64\+\_\+t $\ast$}]{current, }
\item[{uint64\+\_\+t $\ast$}]{maximum}
\end{DoxyParamCaption}
)}}\label{group__rstream_gac2b5a5a9bcd55ec8a5a933af0e5e5702}


Delivers a progress report for reading statistics. 

It is given in terms of time stamps. A percentage can be computed as ( current -\/ minimum ) / ( maximum -\/ minimum ). This computation takes restricted time intervals into account which is not possible with \hyperlink{group__reader_ga0d8dc79e0595c9733a1320156d96fd02}{O\+T\+F\+\_\+\+Reader\+\_\+statistic\+Bytes\+Progress()}.

The progress report is only valid after one or several calls to \hyperlink{group__reader_ga239cf2bfccfc48f2ce10a9cd4363f595}{O\+T\+F\+\_\+\+Reader\+\_\+read\+Statistics()}. Otherwise the return arguments 'minimum', 'current' and 'maximum' are undefined! If 'minimum' $>$ 'maximum' the values are invalid.


\begin{DoxyParams}{Parameters}
{\em rstream} & Pointer to an initialized O\+T\+F\+\_\+\+R\+Stream object. See also \hyperlink{group__rstream_gab4d7a66eb0c1bec13b3c8a94503a1192}{O\+T\+F\+\_\+\+R\+Stream\+\_\+open()}. \\
\hline
{\em minimum} & Return value for the minium time. \\
\hline
{\em current} & Return value for the current time. \\
\hline
{\em maximum} & Return value for the maximum time.\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
1 on success, 0 if an error occurs. 
\end{DoxyReturn}


References struct\+\_\+\+O\+T\+F\+\_\+\+R\+Buffer\+::first\+Time, struct\+\_\+\+O\+T\+F\+\_\+\+R\+Buffer\+::last\+Time, struct\+\_\+\+O\+T\+F\+\_\+\+R\+Stream\+::stats\+Buffer, and struct\+\_\+\+O\+T\+F\+\_\+\+R\+Buffer\+::time.



Referenced by O\+T\+F\+\_\+\+R\+Stream\+\_\+statistic\+Progress().

