\hypertarget{OTF__RBuffer_8h}{\section{ompi/contrib/vt/vt/extlib/otf/otflib/\+O\+T\+F\+\_\+\+R\+Buffer.h File Reference}
\label{OTF__RBuffer_8h}\index{ompi/contrib/vt/vt/extlib/otf/otflib/\+O\+T\+F\+\_\+\+R\+Buffer.\+h@{ompi/contrib/vt/vt/extlib/otf/otflib/\+O\+T\+F\+\_\+\+R\+Buffer.\+h}}
}


Provides read access to trace buffers.  


{\ttfamily \#include $<$stdlib.\+h$>$}\\*
{\ttfamily \#include $<$stdio.\+h$>$}\\*
{\ttfamily \#include \char`\"{}O\+T\+F\+\_\+inttypes.\+h\char`\"{}}\\*
{\ttfamily \#include \char`\"{}O\+T\+F\+\_\+\+File.\+h\char`\"{}}\\*
{\ttfamily \#include \char`\"{}O\+T\+F\+\_\+\+Key\+Value.\+h\char`\"{}}\\*
\subsection*{Data Structures}
\begin{DoxyCompactItemize}
\item 
struct \hyperlink{structstruct__OTF__RBuffer}{struct\+\_\+\+O\+T\+F\+\_\+\+R\+Buffer}
\end{DoxyCompactItemize}
\subsection*{Macros}
\begin{DoxyCompactItemize}
\item 
\#define {\bfseries P\+A\+R\+S\+E\+\_\+\+E\+R\+R\+O\+R}(buffer)
\end{DoxyCompactItemize}
\subsection*{Typedefs}
\begin{DoxyCompactItemize}
\item 
\hypertarget{OTF__RBuffer_8h_a8042e2bbc323bc44933093a0d7e3f982}{typedef struct \hyperlink{structstruct__OTF__RBuffer}{struct\+\_\+\+O\+T\+F\+\_\+\+R\+Buffer} {\bfseries O\+T\+F\+\_\+\+R\+Buffer}}\label{OTF__RBuffer_8h_a8042e2bbc323bc44933093a0d7e3f982}

\end{DoxyCompactItemize}
\subsection*{Functions}
\begin{DoxyCompactItemize}
\item 
\hypertarget{OTF__RBuffer_8h_a9202838998e951e25ef80049f62e1ef6}{\hyperlink{structstruct__OTF__RBuffer}{O\+T\+F\+\_\+\+R\+Buffer} $\ast$ \hyperlink{OTF__RBuffer_8h_a9202838998e951e25ef80049f62e1ef6}{O\+T\+F\+\_\+\+R\+Buffer\+\_\+open} (const char $\ast$filename, \hyperlink{group__fm_ga621c18447ec33f803cc270a9494b0685}{O\+T\+F\+\_\+\+File\+Manager} $\ast$manager)}\label{OTF__RBuffer_8h_a9202838998e951e25ef80049f62e1ef6}

\begin{DoxyCompactList}\small\item\em constructor -\/ internal use only \end{DoxyCompactList}\item 
\hypertarget{OTF__RBuffer_8h_a3fb38f5156e1aa523c5192e79c940657}{\hyperlink{structstruct__OTF__RBuffer}{O\+T\+F\+\_\+\+R\+Buffer} $\ast$ \hyperlink{OTF__RBuffer_8h_a3fb38f5156e1aa523c5192e79c940657}{O\+T\+F\+\_\+\+R\+Buffer\+\_\+open\+\_\+with\+\_\+external\+\_\+buffer} (uint32\+\_\+t len, const char $\ast$buffer, uint8\+\_\+t is\+\_\+compressed)}\label{OTF__RBuffer_8h_a3fb38f5156e1aa523c5192e79c940657}

\begin{DoxyCompactList}\small\item\em constructor -\/ internal use only -- special version with a memory buffer to read from instead of an input file, either compressed or uncompressed \end{DoxyCompactList}\item 
\hypertarget{OTF__RBuffer_8h_a85bb1d0ccbbe4472cfc5eabe7ec66bfd}{int \hyperlink{OTF__RBuffer_8h_a85bb1d0ccbbe4472cfc5eabe7ec66bfd}{O\+T\+F\+\_\+\+R\+Buffer\+\_\+close} (\hyperlink{structstruct__OTF__RBuffer}{O\+T\+F\+\_\+\+R\+Buffer} $\ast$rbuffer)}\label{OTF__RBuffer_8h_a85bb1d0ccbbe4472cfc5eabe7ec66bfd}

\begin{DoxyCompactList}\small\item\em destructor -\/ internal use only \end{DoxyCompactList}\item 
int \hyperlink{OTF__RBuffer_8h_a939382ff92054760c0e3dfa724ecd218}{O\+T\+F\+\_\+\+R\+Buffer\+\_\+set\+Size} (\hyperlink{structstruct__OTF__RBuffer}{O\+T\+F\+\_\+\+R\+Buffer} $\ast$rbuffer, size\+\_\+t size)
\begin{DoxyCompactList}\small\item\em Set buffer size. \end{DoxyCompactList}\item 
void \hyperlink{OTF__RBuffer_8h_ad70746e1a7ea4f8234bc3f0f54ef846b}{O\+T\+F\+\_\+\+R\+Buffer\+\_\+set\+Z\+Buffer\+Size} (\hyperlink{structstruct__OTF__RBuffer}{O\+T\+F\+\_\+\+R\+Buffer} $\ast$rbuffer, uint32\+\_\+t size)
\begin{DoxyCompactList}\small\item\em Set zbuffer size. \end{DoxyCompactList}\item 
int \hyperlink{OTF__RBuffer_8h_a6ade54133afc4e50d66b657fd5a842e0}{O\+T\+F\+\_\+\+R\+Buffer\+\_\+set\+Jump\+Size} (\hyperlink{structstruct__OTF__RBuffer}{O\+T\+F\+\_\+\+R\+Buffer} $\ast$rbuffer, size\+\_\+t size)
\begin{DoxyCompactList}\small\item\em Set 'jumpsize'. \end{DoxyCompactList}\item 
char $\ast$ \hyperlink{OTF__RBuffer_8h_a350c227d53e57cc2c8a0c2a075e1e274}{O\+T\+F\+\_\+\+R\+Buffer\+\_\+get\+Record} (\hyperlink{structstruct__OTF__RBuffer}{O\+T\+F\+\_\+\+R\+Buffer} $\ast$rbuffer)
\begin{DoxyCompactList}\small\item\em Make the next record availabe from the buffer. \end{DoxyCompactList}\item 
int \hyperlink{OTF__RBuffer_8h_aa90bc0461f6c03b7cdcc3bc2e0a006c0}{O\+T\+F\+\_\+\+R\+Buffer\+\_\+guarantee\+Record} (\hyperlink{structstruct__OTF__RBuffer}{O\+T\+F\+\_\+\+R\+Buffer} $\ast$rbuffer)
\begin{DoxyCompactList}\small\item\em Ask the buffer to guarantee at least one complete record at the current read position inside the buffer. \end{DoxyCompactList}\item 
char $\ast$ \hyperlink{OTF__RBuffer_8h_ab3c83286a3028f78a3118223886f1610}{O\+T\+F\+\_\+\+R\+Buffer\+\_\+print\+Record} (\hyperlink{structstruct__OTF__RBuffer}{O\+T\+F\+\_\+\+R\+Buffer} $\ast$rbuffer)
\begin{DoxyCompactList}\small\item\em Print the record at the current buffer position, i.\+e. \end{DoxyCompactList}\item 
int \hyperlink{OTF__RBuffer_8h_aa3993bbf171bac0ed9b855ebd0817b81}{O\+T\+F\+\_\+\+R\+Buffer\+\_\+jump} (\hyperlink{structstruct__OTF__RBuffer}{O\+T\+F\+\_\+\+R\+Buffer} $\ast$rbuffer, uint64\+\_\+t filepos)
\begin{DoxyCompactList}\small\item\em Jump to the given file position and restore buffer and references as if the buffer had reached the position by advancing through the file linearly. \end{DoxyCompactList}\item 
uint64\+\_\+t \hyperlink{OTF__RBuffer_8h_a8a0128be3b37db46ec57b682819279c8}{O\+T\+F\+\_\+\+R\+Buffer\+\_\+read\+Uint64} (\hyperlink{structstruct__OTF__RBuffer}{O\+T\+F\+\_\+\+R\+Buffer} $\ast$rbuffer)
\begin{DoxyCompactList}\small\item\em Read an 64bit unsigned integer in hex format from buffer and return it. \end{DoxyCompactList}\item 
uint32\+\_\+t \hyperlink{OTF__RBuffer_8h_a3b5898fb501f3f1e3915120b9f72c3f7}{O\+T\+F\+\_\+\+R\+Buffer\+\_\+read\+Uint32} (\hyperlink{structstruct__OTF__RBuffer}{O\+T\+F\+\_\+\+R\+Buffer} $\ast$rbuffer)
\begin{DoxyCompactList}\small\item\em Read an unsigned integer in hex format from buffer and return it. \end{DoxyCompactList}\item 
const char $\ast$ \hyperlink{OTF__RBuffer_8h_a9a1ed347f9edb75a9290a71cf47829f7}{O\+T\+F\+\_\+\+R\+Buffer\+\_\+read\+String} (\hyperlink{structstruct__OTF__RBuffer}{O\+T\+F\+\_\+\+R\+Buffer} $\ast$rbuffer)
\begin{DoxyCompactList}\small\item\em Read a string from buffer and return it. \end{DoxyCompactList}\item 
uint32\+\_\+t \hyperlink{OTF__RBuffer_8h_a0a48c97ae958eba5476c5a2438cf1db0}{O\+T\+F\+\_\+\+R\+Buffer\+\_\+read\+Array} (\hyperlink{structstruct__OTF__RBuffer}{O\+T\+F\+\_\+\+R\+Buffer} $\ast$rbuffer, uint32\+\_\+t $\ast$$\ast$array, uint32\+\_\+t $\ast$size)
\begin{DoxyCompactList}\small\item\em Read an array from buffer and return the number of elements. \end{DoxyCompactList}\item 
int \hyperlink{OTF__RBuffer_8h_a1c465e542e8a94fc0e392898ae09aeda}{O\+T\+F\+\_\+\+R\+Buffer\+\_\+test\+Char} (\hyperlink{structstruct__OTF__RBuffer}{O\+T\+F\+\_\+\+R\+Buffer} $\ast$rbuffer, char c)
\begin{DoxyCompactList}\small\item\em Test if the next character equals the given one (leading spaces are ignored). \end{DoxyCompactList}\item 
int \hyperlink{OTF__RBuffer_8h_ac5907caaffa23bb145ad179aff1f484a}{O\+T\+F\+\_\+\+R\+Buffer\+\_\+test\+Keyword} (\hyperlink{structstruct__OTF__RBuffer}{O\+T\+F\+\_\+\+R\+Buffer} $\ast$rbuffer, const char $\ast$string)
\begin{DoxyCompactList}\small\item\em Test if the next string equals the given one (leading spaces are ignored). \end{DoxyCompactList}\item 
int \hyperlink{OTF__RBuffer_8h_af786a462e0ca52efc47a2f6eaa494bcb}{O\+T\+F\+\_\+\+R\+Buffer\+\_\+test\+Prefix} (\hyperlink{structstruct__OTF__RBuffer}{O\+T\+F\+\_\+\+R\+Buffer} $\ast$rbuffer, const char $\ast$string)
\begin{DoxyCompactList}\small\item\em Test if the next string equals the given one (leading spaces are ignored). \end{DoxyCompactList}\item 
int \hyperlink{OTF__RBuffer_8h_a0ce7a161618ed1205206b816910f0624}{O\+T\+F\+\_\+\+R\+Buffer\+\_\+read\+Newline} (\hyperlink{structstruct__OTF__RBuffer}{O\+T\+F\+\_\+\+R\+Buffer} $\ast$rbuffer)
\begin{DoxyCompactList}\small\item\em Read a newline such that the buffer pos is at the next record beginning. \end{DoxyCompactList}\item 
void \hyperlink{OTF__RBuffer_8h_a2091462dd8f009af5d3c73e1eee46780}{O\+T\+F\+\_\+\+R\+Buffer\+\_\+skip\+Spaces} (\hyperlink{structstruct__OTF__RBuffer}{O\+T\+F\+\_\+\+R\+Buffer} $\ast$rbuffer)
\begin{DoxyCompactList}\small\item\em Advance the buffer position while there are spaces. \end{DoxyCompactList}\item 
void \hyperlink{OTF__RBuffer_8h_a731c45a4836e2fab4c93f1a81149687f}{O\+T\+F\+\_\+\+R\+Buffer\+\_\+skip\+Keyword} (\hyperlink{structstruct__OTF__RBuffer}{O\+T\+F\+\_\+\+R\+Buffer} $\ast$rbuffer)
\begin{DoxyCompactList}\small\item\em Advance the buffer position while there are capital letters. \end{DoxyCompactList}\item 
uint64\+\_\+t \hyperlink{OTF__RBuffer_8h_ab4eb842b99d1ffc2afc8aef216273c12}{O\+T\+F\+\_\+\+R\+Buffer\+\_\+get\+Current\+Time} (\hyperlink{structstruct__OTF__RBuffer}{O\+T\+F\+\_\+\+R\+Buffer} $\ast$rbuffer)
\begin{DoxyCompactList}\small\item\em Return the current time of the buffer. \end{DoxyCompactList}\item 
void \hyperlink{OTF__RBuffer_8h_a7fad517b34bfbdbdb0b949ec95128dd5}{O\+T\+F\+\_\+\+R\+Buffer\+\_\+set\+Current\+Time} (\hyperlink{structstruct__OTF__RBuffer}{O\+T\+F\+\_\+\+R\+Buffer} $\ast$rbuffer, uint64\+\_\+t time)
\begin{DoxyCompactList}\small\item\em Set the current time of the buffer to the given one. \end{DoxyCompactList}\item 
uint32\+\_\+t \hyperlink{OTF__RBuffer_8h_acbd26712cd05ed57383feddae9222380}{O\+T\+F\+\_\+\+R\+Buffer\+\_\+get\+Current\+Process} (\hyperlink{structstruct__OTF__RBuffer}{O\+T\+F\+\_\+\+R\+Buffer} $\ast$rbuffer)
\begin{DoxyCompactList}\small\item\em Return the current process of the buffer. \end{DoxyCompactList}\item 
void \hyperlink{OTF__RBuffer_8h_a51b4f92ff82a661b0359202a8e57e7d0}{O\+T\+F\+\_\+\+R\+Buffer\+\_\+set\+Current\+Process} (\hyperlink{structstruct__OTF__RBuffer}{O\+T\+F\+\_\+\+R\+Buffer} $\ast$rbuffer, uint32\+\_\+t process)
\begin{DoxyCompactList}\small\item\em Set the current process of the buffer to the given one. \end{DoxyCompactList}\item 
int \hyperlink{OTF__RBuffer_8h_a0e823b01553ecb784b16e6380a80fed4}{O\+T\+F\+\_\+\+R\+Buffer\+\_\+search\+Time} (\hyperlink{structstruct__OTF__RBuffer}{O\+T\+F\+\_\+\+R\+Buffer} $\ast$rbuffer, uint64\+\_\+t time)
\begin{DoxyCompactList}\small\item\em Search the buffer for the given time and set the buffer position to the next record after that time. \end{DoxyCompactList}\item 
int \hyperlink{OTF__RBuffer_8h_afb4ac6660149954ae87e730efcdca26c}{O\+T\+F\+\_\+\+R\+Buffer\+\_\+get\+File\+Properties} (\hyperlink{structstruct__OTF__RBuffer}{O\+T\+F\+\_\+\+R\+Buffer} $\ast$rbuffer)
\begin{DoxyCompactList}\small\item\em Determine buffers filesize, first\+Time and last\+Time if not already set. \end{DoxyCompactList}\item 
\hypertarget{OTF__RBuffer_8h_a9179abb4befcf1e8fcb30c3768ea575f}{uint64\+\_\+t \hyperlink{OTF__RBuffer_8h_a9179abb4befcf1e8fcb30c3768ea575f}{O\+T\+F\+\_\+\+R\+Buffer\+\_\+get\+File\+Size} (\hyperlink{structstruct__OTF__RBuffer}{O\+T\+F\+\_\+\+R\+Buffer} $\ast$rbuffer)}\label{OTF__RBuffer_8h_a9179abb4befcf1e8fcb30c3768ea575f}

\begin{DoxyCompactList}\small\item\em Returns the filesize of the file attached to this buffer. \end{DoxyCompactList}\item 
\hypertarget{OTF__RBuffer_8h_aeb9bfb0c29cc2e47254559faf856280a}{uint64\+\_\+t \hyperlink{OTF__RBuffer_8h_aeb9bfb0c29cc2e47254559faf856280a}{O\+T\+F\+\_\+\+R\+Buffer\+\_\+get\+File\+Pos} (\hyperlink{structstruct__OTF__RBuffer}{O\+T\+F\+\_\+\+R\+Buffer} $\ast$rbuffer)}\label{OTF__RBuffer_8h_aeb9bfb0c29cc2e47254559faf856280a}

\begin{DoxyCompactList}\small\item\em Returns the fileposition of the file attached to this buffer. \end{DoxyCompactList}\item 
uint32\+\_\+t \hyperlink{OTF__RBuffer_8h_a791da0f2d67728763a1634debe842102}{O\+T\+F\+\_\+\+R\+Buffer\+\_\+read\+Bytes} (\hyperlink{structstruct__OTF__RBuffer}{O\+T\+F\+\_\+\+R\+Buffer} $\ast$rbuffer, uint8\+\_\+t $\ast$array, uint32\+\_\+t max\+\_\+len)
\begin{DoxyCompactList}\small\item\em Read a byte array in hex format from buffer and return the number of bytes read (=lenght of array). \end{DoxyCompactList}\item 
uint32\+\_\+t \hyperlink{OTF__RBuffer_8h_ae59a8f775a51ea541958e01143dc3426}{O\+T\+F\+\_\+\+R\+Buffer\+\_\+read\+Key\+Value\+List} (\hyperlink{structstruct__OTF__RBuffer}{O\+T\+F\+\_\+\+R\+Buffer} $\ast$buffer)
\begin{DoxyCompactList}\small\item\em Read a Key\+Value\+List from the buffer. \end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Detailed Description}
Provides read access to trace buffers. 



\subsection{Macro Definition Documentation}
\hypertarget{OTF__RBuffer_8h_a047503178ba2548c9181ebc8eafedb1c}{\index{O\+T\+F\+\_\+\+R\+Buffer.\+h@{O\+T\+F\+\_\+\+R\+Buffer.\+h}!P\+A\+R\+S\+E\+\_\+\+E\+R\+R\+O\+R@{P\+A\+R\+S\+E\+\_\+\+E\+R\+R\+O\+R}}
\index{P\+A\+R\+S\+E\+\_\+\+E\+R\+R\+O\+R@{P\+A\+R\+S\+E\+\_\+\+E\+R\+R\+O\+R}!O\+T\+F\+\_\+\+R\+Buffer.\+h@{O\+T\+F\+\_\+\+R\+Buffer.\+h}}
\subsubsection[{P\+A\+R\+S\+E\+\_\+\+E\+R\+R\+O\+R}]{\setlength{\rightskip}{0pt plus 5cm}\#define P\+A\+R\+S\+E\+\_\+\+E\+R\+R\+O\+R(
\begin{DoxyParamCaption}
\item[{}]{buffer}
\end{DoxyParamCaption}
)}}\label{OTF__RBuffer_8h_a047503178ba2548c9181ebc8eafedb1c}
{\bfseries Value\+:}
\begin{DoxyCode}
OTF\_Error( \textcolor{stringliteral}{"Parse error in function %s, file: %s, line: %i:\(\backslash\)n %s\(\backslash\)n"}, \(\backslash\)
                \_\_FUNCTION\_\_, \_\_FILE\_\_, \_\_LINE\_\_, \hyperlink{OTF__RBuffer_8h_ab3c83286a3028f78a3118223886f1610}{OTF\_RBuffer\_printRecord}( buffer ) 
      );
\end{DoxyCode}


\subsection{Function Documentation}
\hypertarget{OTF__RBuffer_8h_acbd26712cd05ed57383feddae9222380}{\index{O\+T\+F\+\_\+\+R\+Buffer.\+h@{O\+T\+F\+\_\+\+R\+Buffer.\+h}!O\+T\+F\+\_\+\+R\+Buffer\+\_\+get\+Current\+Process@{O\+T\+F\+\_\+\+R\+Buffer\+\_\+get\+Current\+Process}}
\index{O\+T\+F\+\_\+\+R\+Buffer\+\_\+get\+Current\+Process@{O\+T\+F\+\_\+\+R\+Buffer\+\_\+get\+Current\+Process}!O\+T\+F\+\_\+\+R\+Buffer.\+h@{O\+T\+F\+\_\+\+R\+Buffer.\+h}}
\subsubsection[{O\+T\+F\+\_\+\+R\+Buffer\+\_\+get\+Current\+Process}]{\setlength{\rightskip}{0pt plus 5cm}uint32\+\_\+t O\+T\+F\+\_\+\+R\+Buffer\+\_\+get\+Current\+Process (
\begin{DoxyParamCaption}
\item[{{\bf O\+T\+F\+\_\+\+R\+Buffer} $\ast$}]{rbuffer}
\end{DoxyParamCaption}
)}}\label{OTF__RBuffer_8h_acbd26712cd05ed57383feddae9222380}


Return the current process of the buffer. 



References struct\+\_\+\+O\+T\+F\+\_\+\+R\+Buffer\+::process.

\hypertarget{OTF__RBuffer_8h_ab4eb842b99d1ffc2afc8aef216273c12}{\index{O\+T\+F\+\_\+\+R\+Buffer.\+h@{O\+T\+F\+\_\+\+R\+Buffer.\+h}!O\+T\+F\+\_\+\+R\+Buffer\+\_\+get\+Current\+Time@{O\+T\+F\+\_\+\+R\+Buffer\+\_\+get\+Current\+Time}}
\index{O\+T\+F\+\_\+\+R\+Buffer\+\_\+get\+Current\+Time@{O\+T\+F\+\_\+\+R\+Buffer\+\_\+get\+Current\+Time}!O\+T\+F\+\_\+\+R\+Buffer.\+h@{O\+T\+F\+\_\+\+R\+Buffer.\+h}}
\subsubsection[{O\+T\+F\+\_\+\+R\+Buffer\+\_\+get\+Current\+Time}]{\setlength{\rightskip}{0pt plus 5cm}uint64\+\_\+t O\+T\+F\+\_\+\+R\+Buffer\+\_\+get\+Current\+Time (
\begin{DoxyParamCaption}
\item[{{\bf O\+T\+F\+\_\+\+R\+Buffer} $\ast$}]{rbuffer}
\end{DoxyParamCaption}
)}}\label{OTF__RBuffer_8h_ab4eb842b99d1ffc2afc8aef216273c12}


Return the current time of the buffer. 



References struct\+\_\+\+O\+T\+F\+\_\+\+R\+Buffer\+::time.

\hypertarget{OTF__RBuffer_8h_afb4ac6660149954ae87e730efcdca26c}{\index{O\+T\+F\+\_\+\+R\+Buffer.\+h@{O\+T\+F\+\_\+\+R\+Buffer.\+h}!O\+T\+F\+\_\+\+R\+Buffer\+\_\+get\+File\+Properties@{O\+T\+F\+\_\+\+R\+Buffer\+\_\+get\+File\+Properties}}
\index{O\+T\+F\+\_\+\+R\+Buffer\+\_\+get\+File\+Properties@{O\+T\+F\+\_\+\+R\+Buffer\+\_\+get\+File\+Properties}!O\+T\+F\+\_\+\+R\+Buffer.\+h@{O\+T\+F\+\_\+\+R\+Buffer.\+h}}
\subsubsection[{O\+T\+F\+\_\+\+R\+Buffer\+\_\+get\+File\+Properties}]{\setlength{\rightskip}{0pt plus 5cm}int O\+T\+F\+\_\+\+R\+Buffer\+\_\+get\+File\+Properties (
\begin{DoxyParamCaption}
\item[{{\bf O\+T\+F\+\_\+\+R\+Buffer} $\ast$}]{rbuffer}
\end{DoxyParamCaption}
)}}\label{OTF__RBuffer_8h_afb4ac6660149954ae87e730efcdca26c}


Determine buffers filesize, first\+Time and last\+Time if not already set. 

Return 1 on success, 0 on error.

Determine buffers filesize, first\+Time and last\+Time if not already set.

Return 1 on success, 0 on error. if both are != -\/1 we assume everything is fine and return successful. otherwise we go fetching both. 

References struct\+\_\+\+O\+T\+F\+\_\+\+R\+Buffer\+::filesize, struct\+\_\+\+O\+T\+F\+\_\+\+R\+Buffer\+::first\+Time, struct\+\_\+\+O\+T\+F\+\_\+\+R\+Buffer\+::last\+Time, O\+T\+F\+\_\+\+File\+\_\+size(), O\+T\+F\+\_\+\+R\+Buffer\+\_\+get\+Record(), O\+T\+F\+\_\+\+R\+Buffer\+\_\+jump(), O\+T\+F\+\_\+\+R\+Buffer\+\_\+read\+Newline(), struct\+\_\+\+O\+T\+F\+\_\+\+R\+Buffer\+::size, and struct\+\_\+\+O\+T\+F\+\_\+\+R\+Buffer\+::time.



Referenced by O\+T\+F\+\_\+\+R\+Buffer\+\_\+search\+Time(), O\+T\+F\+\_\+\+Reader\+\_\+read\+Events(), O\+T\+F\+\_\+\+Reader\+\_\+read\+Events\+Unsorted(), O\+T\+F\+\_\+\+Reader\+\_\+read\+Snapshots(), O\+T\+F\+\_\+\+Reader\+\_\+read\+Snapshots\+Unsorted(), O\+T\+F\+\_\+\+Reader\+\_\+read\+Statistics(), and O\+T\+F\+\_\+\+Reader\+\_\+read\+Statistics\+Unsorted().

\hypertarget{OTF__RBuffer_8h_a350c227d53e57cc2c8a0c2a075e1e274}{\index{O\+T\+F\+\_\+\+R\+Buffer.\+h@{O\+T\+F\+\_\+\+R\+Buffer.\+h}!O\+T\+F\+\_\+\+R\+Buffer\+\_\+get\+Record@{O\+T\+F\+\_\+\+R\+Buffer\+\_\+get\+Record}}
\index{O\+T\+F\+\_\+\+R\+Buffer\+\_\+get\+Record@{O\+T\+F\+\_\+\+R\+Buffer\+\_\+get\+Record}!O\+T\+F\+\_\+\+R\+Buffer.\+h@{O\+T\+F\+\_\+\+R\+Buffer.\+h}}
\subsubsection[{O\+T\+F\+\_\+\+R\+Buffer\+\_\+get\+Record}]{\setlength{\rightskip}{0pt plus 5cm}char$\ast$ O\+T\+F\+\_\+\+R\+Buffer\+\_\+get\+Record (
\begin{DoxyParamCaption}
\item[{{\bf O\+T\+F\+\_\+\+R\+Buffer} $\ast$}]{rbuffer}
\end{DoxyParamCaption}
)}}\label{OTF__RBuffer_8h_a350c227d53e57cc2c8a0c2a075e1e274}


Make the next record availabe from the buffer. 

Return the pointer to the record string which is terminated by '~\newline
' not '\textbackslash{}0' ! This funktion must be called before any record access. It ensures the record is available completely in the buffer. Furthermore, time and process information is kept track of. It is recommended to use the 'O\+T\+F\+\_\+\+R\+Buffer\+\_\+read\+X\+X\+X()' functions below to read record components instead of parsing manually. In any case, after reading '\hyperlink{OTF__RBuffer_8h_a0ce7a161618ed1205206b816910f0624}{O\+T\+F\+\_\+\+R\+Buffer\+\_\+read\+Newline()}' needs to be called which proceeds to the next record begin no matter if there are still characters from the current record present or not.

Make the next record availabe from the buffer.

return the pointer to the record string which is terminated by '~\newline
' not '\textbackslash{}0' ! rbuffer funktion must be called before any record access. it ensures the record is available completely in the buffer. furthermore, time and process information is kept track of. It is recommended to use the 'O\+T\+F\+\_\+\+R\+Buffer\+\_\+read\+X\+X\+X()' functions below to read record components instead of parsing manually. In any case, after reading '\hyperlink{OTF__RBuffer_8h_a0ce7a161618ed1205206b816910f0624}{O\+T\+F\+\_\+\+R\+Buffer\+\_\+read\+Newline()}' needs to be called which proceeds to the next record begin no matter if there are still characters from the current record present or not. 

References struct\+\_\+\+O\+T\+F\+\_\+\+R\+Buffer\+::buffer, O\+T\+F\+\_\+\+R\+Buffer\+\_\+guarantee\+Record(), and struct\+\_\+\+O\+T\+F\+\_\+\+R\+Buffer\+::pos.



Referenced by O\+T\+F\+\_\+\+R\+Buffer\+\_\+get\+File\+Properties(), O\+T\+F\+\_\+\+R\+Buffer\+\_\+search\+Time(), O\+T\+F\+\_\+\+Reader\+\_\+read\+Definitions(), O\+T\+F\+\_\+\+Reader\+\_\+read\+Events(), O\+T\+F\+\_\+\+Reader\+\_\+read\+Events\+Unsorted(), O\+T\+F\+\_\+\+Reader\+\_\+read\+Markers(), O\+T\+F\+\_\+\+Reader\+\_\+read\+Snapshots(), O\+T\+F\+\_\+\+Reader\+\_\+read\+Snapshots\+Unsorted(), O\+T\+F\+\_\+\+Reader\+\_\+read\+Statistics(), O\+T\+F\+\_\+\+Reader\+\_\+read\+Statistics\+Unsorted(), O\+T\+F\+\_\+\+R\+Stream\+\_\+read\+Definitions(), O\+T\+F\+\_\+\+R\+Stream\+\_\+read\+Events(), O\+T\+F\+\_\+\+R\+Stream\+\_\+read\+Marker(), O\+T\+F\+\_\+\+R\+Stream\+\_\+read\+Snapshots(), and O\+T\+F\+\_\+\+R\+Stream\+\_\+read\+Statistics().

\hypertarget{OTF__RBuffer_8h_aa90bc0461f6c03b7cdcc3bc2e0a006c0}{\index{O\+T\+F\+\_\+\+R\+Buffer.\+h@{O\+T\+F\+\_\+\+R\+Buffer.\+h}!O\+T\+F\+\_\+\+R\+Buffer\+\_\+guarantee\+Record@{O\+T\+F\+\_\+\+R\+Buffer\+\_\+guarantee\+Record}}
\index{O\+T\+F\+\_\+\+R\+Buffer\+\_\+guarantee\+Record@{O\+T\+F\+\_\+\+R\+Buffer\+\_\+guarantee\+Record}!O\+T\+F\+\_\+\+R\+Buffer.\+h@{O\+T\+F\+\_\+\+R\+Buffer.\+h}}
\subsubsection[{O\+T\+F\+\_\+\+R\+Buffer\+\_\+guarantee\+Record}]{\setlength{\rightskip}{0pt plus 5cm}int O\+T\+F\+\_\+\+R\+Buffer\+\_\+guarantee\+Record (
\begin{DoxyParamCaption}
\item[{{\bf O\+T\+F\+\_\+\+R\+Buffer} $\ast$}]{rbuffer}
\end{DoxyParamCaption}
)}}\label{OTF__RBuffer_8h_aa90bc0461f6c03b7cdcc3bc2e0a006c0}


Ask the buffer to guarantee at least one complete record at the current read position inside the buffer. 

This means one line, e.\+g. '~\newline
' character. If no complete record is found the buffer has to be advanced by reading new contents from file. Return 1 on success, 0 means the file is exceeded. 

References struct\+\_\+\+O\+T\+F\+\_\+\+R\+Buffer\+::lastnewline, O\+T\+F\+\_\+\+R\+Buffer\+\_\+set\+Size(), struct\+\_\+\+O\+T\+F\+\_\+\+R\+Buffer\+::pos, and struct\+\_\+\+O\+T\+F\+\_\+\+R\+Buffer\+::size.



Referenced by O\+T\+F\+\_\+\+Master\+Control\+\_\+read(), O\+T\+F\+\_\+\+R\+Buffer\+\_\+get\+Record(), and O\+T\+F\+\_\+\+R\+Buffer\+\_\+jump().

\hypertarget{OTF__RBuffer_8h_aa3993bbf171bac0ed9b855ebd0817b81}{\index{O\+T\+F\+\_\+\+R\+Buffer.\+h@{O\+T\+F\+\_\+\+R\+Buffer.\+h}!O\+T\+F\+\_\+\+R\+Buffer\+\_\+jump@{O\+T\+F\+\_\+\+R\+Buffer\+\_\+jump}}
\index{O\+T\+F\+\_\+\+R\+Buffer\+\_\+jump@{O\+T\+F\+\_\+\+R\+Buffer\+\_\+jump}!O\+T\+F\+\_\+\+R\+Buffer.\+h@{O\+T\+F\+\_\+\+R\+Buffer.\+h}}
\subsubsection[{O\+T\+F\+\_\+\+R\+Buffer\+\_\+jump}]{\setlength{\rightskip}{0pt plus 5cm}int O\+T\+F\+\_\+\+R\+Buffer\+\_\+jump (
\begin{DoxyParamCaption}
\item[{{\bf O\+T\+F\+\_\+\+R\+Buffer} $\ast$}]{rbuffer, }
\item[{uint64\+\_\+t}]{filepos}
\end{DoxyParamCaption}
)}}\label{OTF__RBuffer_8h_aa3993bbf171bac0ed9b855ebd0817b81}


Jump to the given file position and restore buffer and references as if the buffer had reached the position by advancing through the file linearly. 

In particular, find the next record start, then find next timestamp and process specification in order to set 'time' and 'process' to true values. Return error code 1 on success. Otherwise the file is not that large or there are no appropriate time and process specifications on the tail of the file. Then the buffer contents is undefined

In particular, find the next record start, then find next timestamp and process specification in order to set 'time' and 'process' to true values. Return 1 on success. Otherwise, when 0 is returned the file is not that large or there are no appropriate time and process specifications on the tail of the file. Then the buffer contents is undefined! 

References struct\+\_\+\+O\+T\+F\+\_\+\+R\+Buffer\+::buffer, struct\+\_\+\+O\+T\+F\+\_\+\+R\+Buffer\+::end, struct\+\_\+\+O\+T\+F\+\_\+\+R\+Buffer\+::jumpsize, struct\+\_\+\+O\+T\+F\+\_\+\+R\+Buffer\+::lastnewline, O\+T\+F\+\_\+\+File\+\_\+read(), O\+T\+F\+\_\+\+File\+\_\+seek(), O\+T\+F\+\_\+\+R\+Buffer\+\_\+guarantee\+Record(), O\+T\+F\+\_\+\+R\+Buffer\+\_\+read\+Newline(), struct\+\_\+\+O\+T\+F\+\_\+\+R\+Buffer\+::pos, struct\+\_\+\+O\+T\+F\+\_\+\+R\+Buffer\+::process, and struct\+\_\+\+O\+T\+F\+\_\+\+R\+Buffer\+::time.



Referenced by O\+T\+F\+\_\+\+R\+Buffer\+\_\+get\+File\+Properties(), and O\+T\+F\+\_\+\+R\+Buffer\+\_\+search\+Time().

\hypertarget{OTF__RBuffer_8h_ab3c83286a3028f78a3118223886f1610}{\index{O\+T\+F\+\_\+\+R\+Buffer.\+h@{O\+T\+F\+\_\+\+R\+Buffer.\+h}!O\+T\+F\+\_\+\+R\+Buffer\+\_\+print\+Record@{O\+T\+F\+\_\+\+R\+Buffer\+\_\+print\+Record}}
\index{O\+T\+F\+\_\+\+R\+Buffer\+\_\+print\+Record@{O\+T\+F\+\_\+\+R\+Buffer\+\_\+print\+Record}!O\+T\+F\+\_\+\+R\+Buffer.\+h@{O\+T\+F\+\_\+\+R\+Buffer.\+h}}
\subsubsection[{O\+T\+F\+\_\+\+R\+Buffer\+\_\+print\+Record}]{\setlength{\rightskip}{0pt plus 5cm}char$\ast$ O\+T\+F\+\_\+\+R\+Buffer\+\_\+print\+Record (
\begin{DoxyParamCaption}
\item[{{\bf O\+T\+F\+\_\+\+R\+Buffer} $\ast$}]{rbuffer}
\end{DoxyParamCaption}
)}}\label{OTF__RBuffer_8h_ab3c83286a3028f78a3118223886f1610}


Print the record at the current buffer position, i.\+e. 

until the next newline character. This is for debugging purposes only and won't modify the buffer in any way. 

References struct\+\_\+\+O\+T\+F\+\_\+\+R\+Buffer\+::buffer, and struct\+\_\+\+O\+T\+F\+\_\+\+R\+Buffer\+::pos.

\hypertarget{OTF__RBuffer_8h_a0a48c97ae958eba5476c5a2438cf1db0}{\index{O\+T\+F\+\_\+\+R\+Buffer.\+h@{O\+T\+F\+\_\+\+R\+Buffer.\+h}!O\+T\+F\+\_\+\+R\+Buffer\+\_\+read\+Array@{O\+T\+F\+\_\+\+R\+Buffer\+\_\+read\+Array}}
\index{O\+T\+F\+\_\+\+R\+Buffer\+\_\+read\+Array@{O\+T\+F\+\_\+\+R\+Buffer\+\_\+read\+Array}!O\+T\+F\+\_\+\+R\+Buffer.\+h@{O\+T\+F\+\_\+\+R\+Buffer.\+h}}
\subsubsection[{O\+T\+F\+\_\+\+R\+Buffer\+\_\+read\+Array}]{\setlength{\rightskip}{0pt plus 5cm}uint32\+\_\+t O\+T\+F\+\_\+\+R\+Buffer\+\_\+read\+Array (
\begin{DoxyParamCaption}
\item[{{\bf O\+T\+F\+\_\+\+R\+Buffer} $\ast$}]{rbuffer, }
\item[{uint32\+\_\+t $\ast$$\ast$}]{array, }
\item[{uint32\+\_\+t $\ast$}]{size}
\end{DoxyParamCaption}
)}}\label{OTF__RBuffer_8h_a0a48c97ae958eba5476c5a2438cf1db0}


Read an array from buffer and return the number of elements. 

(re)malloc memory for $\ast$array internally, needs to be freed by caller 

References struct\+\_\+\+O\+T\+F\+\_\+\+R\+Buffer\+::buffer, O\+T\+F\+\_\+\+R\+Buffer\+\_\+read\+Uint32(), O\+T\+F\+\_\+\+R\+Buffer\+\_\+skip\+Spaces(), O\+T\+F\+\_\+\+R\+Buffer\+\_\+test\+Char(), and struct\+\_\+\+O\+T\+F\+\_\+\+R\+Buffer\+::pos.

\hypertarget{OTF__RBuffer_8h_a791da0f2d67728763a1634debe842102}{\index{O\+T\+F\+\_\+\+R\+Buffer.\+h@{O\+T\+F\+\_\+\+R\+Buffer.\+h}!O\+T\+F\+\_\+\+R\+Buffer\+\_\+read\+Bytes@{O\+T\+F\+\_\+\+R\+Buffer\+\_\+read\+Bytes}}
\index{O\+T\+F\+\_\+\+R\+Buffer\+\_\+read\+Bytes@{O\+T\+F\+\_\+\+R\+Buffer\+\_\+read\+Bytes}!O\+T\+F\+\_\+\+R\+Buffer.\+h@{O\+T\+F\+\_\+\+R\+Buffer.\+h}}
\subsubsection[{O\+T\+F\+\_\+\+R\+Buffer\+\_\+read\+Bytes}]{\setlength{\rightskip}{0pt plus 5cm}uint32\+\_\+t O\+T\+F\+\_\+\+R\+Buffer\+\_\+read\+Bytes (
\begin{DoxyParamCaption}
\item[{{\bf O\+T\+F\+\_\+\+R\+Buffer} $\ast$}]{rbuffer, }
\item[{uint8\+\_\+t $\ast$}]{array, }
\item[{uint32\+\_\+t}]{max\+\_\+len}
\end{DoxyParamCaption}
)}}\label{OTF__RBuffer_8h_a791da0f2d67728763a1634debe842102}


Read a byte array in hex format from buffer and return the number of bytes read (=lenght of array). 

If the return value is greater than max\+\_\+len, there is more to read (this indicates an error in some cases!). 

References struct\+\_\+\+O\+T\+F\+\_\+\+R\+Buffer\+::buffer, O\+T\+F\+\_\+\+R\+Buffer\+\_\+skip\+Spaces(), and struct\+\_\+\+O\+T\+F\+\_\+\+R\+Buffer\+::pos.



Referenced by O\+T\+F\+\_\+\+R\+Buffer\+\_\+read\+Key\+Value\+List().

\hypertarget{OTF__RBuffer_8h_ae59a8f775a51ea541958e01143dc3426}{\index{O\+T\+F\+\_\+\+R\+Buffer.\+h@{O\+T\+F\+\_\+\+R\+Buffer.\+h}!O\+T\+F\+\_\+\+R\+Buffer\+\_\+read\+Key\+Value\+List@{O\+T\+F\+\_\+\+R\+Buffer\+\_\+read\+Key\+Value\+List}}
\index{O\+T\+F\+\_\+\+R\+Buffer\+\_\+read\+Key\+Value\+List@{O\+T\+F\+\_\+\+R\+Buffer\+\_\+read\+Key\+Value\+List}!O\+T\+F\+\_\+\+R\+Buffer.\+h@{O\+T\+F\+\_\+\+R\+Buffer.\+h}}
\subsubsection[{O\+T\+F\+\_\+\+R\+Buffer\+\_\+read\+Key\+Value\+List}]{\setlength{\rightskip}{0pt plus 5cm}uint32\+\_\+t O\+T\+F\+\_\+\+R\+Buffer\+\_\+read\+Key\+Value\+List (
\begin{DoxyParamCaption}
\item[{{\bf O\+T\+F\+\_\+\+R\+Buffer} $\ast$}]{buffer}
\end{DoxyParamCaption}
)}}\label{OTF__RBuffer_8h_ae59a8f775a51ea541958e01143dc3426}


Read a Key\+Value\+List from the buffer. 

Return 1 on success, 0 on error 

References struct\+\_\+\+O\+T\+F\+\_\+\+R\+Buffer\+::array, O\+T\+F\+\_\+\+Int32\+To\+Float(), O\+T\+F\+\_\+\+Int64\+To\+Double(), O\+T\+F\+\_\+\+R\+Buffer\+\_\+read\+Bytes(), O\+T\+F\+\_\+\+R\+Buffer\+\_\+read\+Newline(), O\+T\+F\+\_\+\+R\+Buffer\+\_\+read\+Uint32(), O\+T\+F\+\_\+\+R\+Buffer\+\_\+read\+Uint64(), and O\+T\+F\+\_\+\+R\+Buffer\+\_\+test\+Keyword().



Referenced by O\+T\+F\+\_\+\+Reader\+\_\+parse\+Def\+Record(), O\+T\+F\+\_\+\+Reader\+\_\+parse\+Event\+Record(), O\+T\+F\+\_\+\+Reader\+\_\+parse\+Marker\+Record(), O\+T\+F\+\_\+\+Reader\+\_\+parse\+Snapshots\+Record(), and O\+T\+F\+\_\+\+Reader\+\_\+parse\+Statistics\+Record().

\hypertarget{OTF__RBuffer_8h_a0ce7a161618ed1205206b816910f0624}{\index{O\+T\+F\+\_\+\+R\+Buffer.\+h@{O\+T\+F\+\_\+\+R\+Buffer.\+h}!O\+T\+F\+\_\+\+R\+Buffer\+\_\+read\+Newline@{O\+T\+F\+\_\+\+R\+Buffer\+\_\+read\+Newline}}
\index{O\+T\+F\+\_\+\+R\+Buffer\+\_\+read\+Newline@{O\+T\+F\+\_\+\+R\+Buffer\+\_\+read\+Newline}!O\+T\+F\+\_\+\+R\+Buffer.\+h@{O\+T\+F\+\_\+\+R\+Buffer.\+h}}
\subsubsection[{O\+T\+F\+\_\+\+R\+Buffer\+\_\+read\+Newline}]{\setlength{\rightskip}{0pt plus 5cm}int O\+T\+F\+\_\+\+R\+Buffer\+\_\+read\+Newline (
\begin{DoxyParamCaption}
\item[{{\bf O\+T\+F\+\_\+\+R\+Buffer} $\ast$}]{rbuffer}
\end{DoxyParamCaption}
)}}\label{OTF__RBuffer_8h_a0ce7a161618ed1205206b816910f0624}


Read a newline such that the buffer pos is at the next record beginning. 

Skip all characters found, assume they are to be ignored. Return 1 on success, 0 on error. 

References struct\+\_\+\+O\+T\+F\+\_\+\+R\+Buffer\+::buffer, struct\+\_\+\+O\+T\+F\+\_\+\+R\+Buffer\+::end, and struct\+\_\+\+O\+T\+F\+\_\+\+R\+Buffer\+::pos.



Referenced by O\+T\+F\+\_\+\+Master\+Control\+\_\+read(), O\+T\+F\+\_\+\+R\+Buffer\+\_\+get\+File\+Properties(), O\+T\+F\+\_\+\+R\+Buffer\+\_\+jump(), O\+T\+F\+\_\+\+R\+Buffer\+\_\+read\+Key\+Value\+List(), O\+T\+F\+\_\+\+R\+Buffer\+\_\+search\+Time(), O\+T\+F\+\_\+\+Reader\+\_\+parse\+Def\+Record(), O\+T\+F\+\_\+\+Reader\+\_\+parse\+Event\+Record(), O\+T\+F\+\_\+\+Reader\+\_\+parse\+Marker\+Record(), O\+T\+F\+\_\+\+Reader\+\_\+parse\+Snapshots\+Record(), O\+T\+F\+\_\+\+Reader\+\_\+parse\+Statistics\+Record(), O\+T\+F\+\_\+\+Reader\+\_\+read\+Events(), O\+T\+F\+\_\+\+Reader\+\_\+read\+Events\+Unsorted(), O\+T\+F\+\_\+\+Reader\+\_\+read\+Snapshots(), O\+T\+F\+\_\+\+Reader\+\_\+read\+Snapshots\+Unsorted(), O\+T\+F\+\_\+\+Reader\+\_\+read\+Statistics(), and O\+T\+F\+\_\+\+Reader\+\_\+read\+Statistics\+Unsorted().

\hypertarget{OTF__RBuffer_8h_a9a1ed347f9edb75a9290a71cf47829f7}{\index{O\+T\+F\+\_\+\+R\+Buffer.\+h@{O\+T\+F\+\_\+\+R\+Buffer.\+h}!O\+T\+F\+\_\+\+R\+Buffer\+\_\+read\+String@{O\+T\+F\+\_\+\+R\+Buffer\+\_\+read\+String}}
\index{O\+T\+F\+\_\+\+R\+Buffer\+\_\+read\+String@{O\+T\+F\+\_\+\+R\+Buffer\+\_\+read\+String}!O\+T\+F\+\_\+\+R\+Buffer.\+h@{O\+T\+F\+\_\+\+R\+Buffer.\+h}}
\subsubsection[{O\+T\+F\+\_\+\+R\+Buffer\+\_\+read\+String}]{\setlength{\rightskip}{0pt plus 5cm}const char$\ast$ O\+T\+F\+\_\+\+R\+Buffer\+\_\+read\+String (
\begin{DoxyParamCaption}
\item[{{\bf O\+T\+F\+\_\+\+R\+Buffer} $\ast$}]{rbuffer}
\end{DoxyParamCaption}
)}}\label{OTF__RBuffer_8h_a9a1ed347f9edb75a9290a71cf47829f7}


Read a string from buffer and return it. 



References struct\+\_\+\+O\+T\+F\+\_\+\+R\+Buffer\+::buffer, struct\+\_\+\+O\+T\+F\+\_\+\+R\+Buffer\+::end, O\+T\+F\+\_\+\+R\+Buffer\+\_\+skip\+Spaces(), O\+T\+F\+\_\+\+R\+Buffer\+\_\+test\+Char(), and struct\+\_\+\+O\+T\+F\+\_\+\+R\+Buffer\+::pos.

\hypertarget{OTF__RBuffer_8h_a3b5898fb501f3f1e3915120b9f72c3f7}{\index{O\+T\+F\+\_\+\+R\+Buffer.\+h@{O\+T\+F\+\_\+\+R\+Buffer.\+h}!O\+T\+F\+\_\+\+R\+Buffer\+\_\+read\+Uint32@{O\+T\+F\+\_\+\+R\+Buffer\+\_\+read\+Uint32}}
\index{O\+T\+F\+\_\+\+R\+Buffer\+\_\+read\+Uint32@{O\+T\+F\+\_\+\+R\+Buffer\+\_\+read\+Uint32}!O\+T\+F\+\_\+\+R\+Buffer.\+h@{O\+T\+F\+\_\+\+R\+Buffer.\+h}}
\subsubsection[{O\+T\+F\+\_\+\+R\+Buffer\+\_\+read\+Uint32}]{\setlength{\rightskip}{0pt plus 5cm}uint32\+\_\+t O\+T\+F\+\_\+\+R\+Buffer\+\_\+read\+Uint32 (
\begin{DoxyParamCaption}
\item[{{\bf O\+T\+F\+\_\+\+R\+Buffer} $\ast$}]{rbuffer}
\end{DoxyParamCaption}
)}}\label{OTF__RBuffer_8h_a3b5898fb501f3f1e3915120b9f72c3f7}


Read an unsigned integer in hex format from buffer and return it. 



References struct\+\_\+\+O\+T\+F\+\_\+\+R\+Buffer\+::buffer, O\+T\+F\+\_\+\+R\+Buffer\+\_\+skip\+Spaces(), and struct\+\_\+\+O\+T\+F\+\_\+\+R\+Buffer\+::pos.



Referenced by O\+T\+F\+\_\+\+Master\+Control\+\_\+read(), O\+T\+F\+\_\+\+R\+Buffer\+\_\+read\+Array(), and O\+T\+F\+\_\+\+R\+Buffer\+\_\+read\+Key\+Value\+List().

\hypertarget{OTF__RBuffer_8h_a8a0128be3b37db46ec57b682819279c8}{\index{O\+T\+F\+\_\+\+R\+Buffer.\+h@{O\+T\+F\+\_\+\+R\+Buffer.\+h}!O\+T\+F\+\_\+\+R\+Buffer\+\_\+read\+Uint64@{O\+T\+F\+\_\+\+R\+Buffer\+\_\+read\+Uint64}}
\index{O\+T\+F\+\_\+\+R\+Buffer\+\_\+read\+Uint64@{O\+T\+F\+\_\+\+R\+Buffer\+\_\+read\+Uint64}!O\+T\+F\+\_\+\+R\+Buffer.\+h@{O\+T\+F\+\_\+\+R\+Buffer.\+h}}
\subsubsection[{O\+T\+F\+\_\+\+R\+Buffer\+\_\+read\+Uint64}]{\setlength{\rightskip}{0pt plus 5cm}uint64\+\_\+t O\+T\+F\+\_\+\+R\+Buffer\+\_\+read\+Uint64 (
\begin{DoxyParamCaption}
\item[{{\bf O\+T\+F\+\_\+\+R\+Buffer} $\ast$}]{rbuffer}
\end{DoxyParamCaption}
)}}\label{OTF__RBuffer_8h_a8a0128be3b37db46ec57b682819279c8}


Read an 64bit unsigned integer in hex format from buffer and return it. 



References struct\+\_\+\+O\+T\+F\+\_\+\+R\+Buffer\+::buffer, O\+T\+F\+\_\+\+R\+Buffer\+\_\+skip\+Spaces(), and struct\+\_\+\+O\+T\+F\+\_\+\+R\+Buffer\+::pos.



Referenced by O\+T\+F\+\_\+\+R\+Buffer\+\_\+read\+Key\+Value\+List().

\hypertarget{OTF__RBuffer_8h_a0e823b01553ecb784b16e6380a80fed4}{\index{O\+T\+F\+\_\+\+R\+Buffer.\+h@{O\+T\+F\+\_\+\+R\+Buffer.\+h}!O\+T\+F\+\_\+\+R\+Buffer\+\_\+search\+Time@{O\+T\+F\+\_\+\+R\+Buffer\+\_\+search\+Time}}
\index{O\+T\+F\+\_\+\+R\+Buffer\+\_\+search\+Time@{O\+T\+F\+\_\+\+R\+Buffer\+\_\+search\+Time}!O\+T\+F\+\_\+\+R\+Buffer.\+h@{O\+T\+F\+\_\+\+R\+Buffer.\+h}}
\subsubsection[{O\+T\+F\+\_\+\+R\+Buffer\+\_\+search\+Time}]{\setlength{\rightskip}{0pt plus 5cm}int O\+T\+F\+\_\+\+R\+Buffer\+\_\+search\+Time (
\begin{DoxyParamCaption}
\item[{{\bf O\+T\+F\+\_\+\+R\+Buffer} $\ast$}]{rbuffer, }
\item[{uint64\+\_\+t}]{time}
\end{DoxyParamCaption}
)}}\label{OTF__RBuffer_8h_a0e823b01553ecb784b16e6380a80fed4}


Search the buffer for the given time and set the buffer position to the next record after that time. 

Return 1 on success, 0 on error. 

References struct\+\_\+\+O\+T\+F\+\_\+\+R\+Buffer\+::filesize, struct\+\_\+\+O\+T\+F\+\_\+\+R\+Buffer\+::first\+Time, struct\+\_\+\+O\+T\+F\+\_\+\+R\+Buffer\+::last\+Time, O\+T\+F\+\_\+\+R\+Buffer\+\_\+get\+File\+Properties(), O\+T\+F\+\_\+\+R\+Buffer\+\_\+get\+Record(), O\+T\+F\+\_\+\+R\+Buffer\+\_\+jump(), O\+T\+F\+\_\+\+R\+Buffer\+\_\+read\+Newline(), and struct\+\_\+\+O\+T\+F\+\_\+\+R\+Buffer\+::time.



Referenced by O\+T\+F\+\_\+\+Reader\+\_\+read\+Events(), O\+T\+F\+\_\+\+Reader\+\_\+read\+Events\+Unsorted(), O\+T\+F\+\_\+\+Reader\+\_\+read\+Snapshots(), O\+T\+F\+\_\+\+Reader\+\_\+read\+Snapshots\+Unsorted(), O\+T\+F\+\_\+\+Reader\+\_\+read\+Statistics(), O\+T\+F\+\_\+\+Reader\+\_\+read\+Statistics\+Unsorted(), O\+T\+F\+\_\+\+R\+Stream\+\_\+read\+Events(), O\+T\+F\+\_\+\+R\+Stream\+\_\+read\+Snapshots(), and O\+T\+F\+\_\+\+R\+Stream\+\_\+read\+Statistics().

\hypertarget{OTF__RBuffer_8h_a51b4f92ff82a661b0359202a8e57e7d0}{\index{O\+T\+F\+\_\+\+R\+Buffer.\+h@{O\+T\+F\+\_\+\+R\+Buffer.\+h}!O\+T\+F\+\_\+\+R\+Buffer\+\_\+set\+Current\+Process@{O\+T\+F\+\_\+\+R\+Buffer\+\_\+set\+Current\+Process}}
\index{O\+T\+F\+\_\+\+R\+Buffer\+\_\+set\+Current\+Process@{O\+T\+F\+\_\+\+R\+Buffer\+\_\+set\+Current\+Process}!O\+T\+F\+\_\+\+R\+Buffer.\+h@{O\+T\+F\+\_\+\+R\+Buffer.\+h}}
\subsubsection[{O\+T\+F\+\_\+\+R\+Buffer\+\_\+set\+Current\+Process}]{\setlength{\rightskip}{0pt plus 5cm}void O\+T\+F\+\_\+\+R\+Buffer\+\_\+set\+Current\+Process (
\begin{DoxyParamCaption}
\item[{{\bf O\+T\+F\+\_\+\+R\+Buffer} $\ast$}]{rbuffer, }
\item[{uint32\+\_\+t}]{process}
\end{DoxyParamCaption}
)}}\label{OTF__RBuffer_8h_a51b4f92ff82a661b0359202a8e57e7d0}


Set the current process of the buffer to the given one. 



References struct\+\_\+\+O\+T\+F\+\_\+\+R\+Buffer\+::process.

\hypertarget{OTF__RBuffer_8h_a7fad517b34bfbdbdb0b949ec95128dd5}{\index{O\+T\+F\+\_\+\+R\+Buffer.\+h@{O\+T\+F\+\_\+\+R\+Buffer.\+h}!O\+T\+F\+\_\+\+R\+Buffer\+\_\+set\+Current\+Time@{O\+T\+F\+\_\+\+R\+Buffer\+\_\+set\+Current\+Time}}
\index{O\+T\+F\+\_\+\+R\+Buffer\+\_\+set\+Current\+Time@{O\+T\+F\+\_\+\+R\+Buffer\+\_\+set\+Current\+Time}!O\+T\+F\+\_\+\+R\+Buffer.\+h@{O\+T\+F\+\_\+\+R\+Buffer.\+h}}
\subsubsection[{O\+T\+F\+\_\+\+R\+Buffer\+\_\+set\+Current\+Time}]{\setlength{\rightskip}{0pt plus 5cm}void O\+T\+F\+\_\+\+R\+Buffer\+\_\+set\+Current\+Time (
\begin{DoxyParamCaption}
\item[{{\bf O\+T\+F\+\_\+\+R\+Buffer} $\ast$}]{rbuffer, }
\item[{uint64\+\_\+t}]{time}
\end{DoxyParamCaption}
)}}\label{OTF__RBuffer_8h_a7fad517b34bfbdbdb0b949ec95128dd5}


Set the current time of the buffer to the given one. 



References struct\+\_\+\+O\+T\+F\+\_\+\+R\+Buffer\+::time.

\hypertarget{OTF__RBuffer_8h_a6ade54133afc4e50d66b657fd5a842e0}{\index{O\+T\+F\+\_\+\+R\+Buffer.\+h@{O\+T\+F\+\_\+\+R\+Buffer.\+h}!O\+T\+F\+\_\+\+R\+Buffer\+\_\+set\+Jump\+Size@{O\+T\+F\+\_\+\+R\+Buffer\+\_\+set\+Jump\+Size}}
\index{O\+T\+F\+\_\+\+R\+Buffer\+\_\+set\+Jump\+Size@{O\+T\+F\+\_\+\+R\+Buffer\+\_\+set\+Jump\+Size}!O\+T\+F\+\_\+\+R\+Buffer.\+h@{O\+T\+F\+\_\+\+R\+Buffer.\+h}}
\subsubsection[{O\+T\+F\+\_\+\+R\+Buffer\+\_\+set\+Jump\+Size}]{\setlength{\rightskip}{0pt plus 5cm}int O\+T\+F\+\_\+\+R\+Buffer\+\_\+set\+Jump\+Size (
\begin{DoxyParamCaption}
\item[{{\bf O\+T\+F\+\_\+\+R\+Buffer} $\ast$}]{rbuffer, }
\item[{size\+\_\+t}]{size}
\end{DoxyParamCaption}
)}}\label{OTF__RBuffer_8h_a6ade54133afc4e50d66b657fd5a842e0}


Set 'jumpsize'. 

Return 0 if 'size' is greater than the buffer size. 

References struct\+\_\+\+O\+T\+F\+\_\+\+R\+Buffer\+::jumpsize, and struct\+\_\+\+O\+T\+F\+\_\+\+R\+Buffer\+::size.

\hypertarget{OTF__RBuffer_8h_a939382ff92054760c0e3dfa724ecd218}{\index{O\+T\+F\+\_\+\+R\+Buffer.\+h@{O\+T\+F\+\_\+\+R\+Buffer.\+h}!O\+T\+F\+\_\+\+R\+Buffer\+\_\+set\+Size@{O\+T\+F\+\_\+\+R\+Buffer\+\_\+set\+Size}}
\index{O\+T\+F\+\_\+\+R\+Buffer\+\_\+set\+Size@{O\+T\+F\+\_\+\+R\+Buffer\+\_\+set\+Size}!O\+T\+F\+\_\+\+R\+Buffer.\+h@{O\+T\+F\+\_\+\+R\+Buffer.\+h}}
\subsubsection[{O\+T\+F\+\_\+\+R\+Buffer\+\_\+set\+Size}]{\setlength{\rightskip}{0pt plus 5cm}int O\+T\+F\+\_\+\+R\+Buffer\+\_\+set\+Size (
\begin{DoxyParamCaption}
\item[{{\bf O\+T\+F\+\_\+\+R\+Buffer} $\ast$}]{rbuffer, }
\item[{size\+\_\+t}]{size}
\end{DoxyParamCaption}
)}}\label{OTF__RBuffer_8h_a939382ff92054760c0e3dfa724ecd218}


Set buffer size. 

Cannot shrink buffer but only extend. 

References struct\+\_\+\+O\+T\+F\+\_\+\+R\+Buffer\+::buffer, struct\+\_\+\+O\+T\+F\+\_\+\+R\+Buffer\+::jumpsize, and struct\+\_\+\+O\+T\+F\+\_\+\+R\+Buffer\+::size.



Referenced by O\+T\+F\+\_\+\+Master\+Control\+\_\+read(), O\+T\+F\+\_\+\+R\+Buffer\+\_\+guarantee\+Record(), O\+T\+F\+\_\+\+R\+Stream\+\_\+get\+Def\+Buffer(), O\+T\+F\+\_\+\+R\+Stream\+\_\+get\+Event\+Buffer(), O\+T\+F\+\_\+\+R\+Stream\+\_\+get\+Marker\+Buffer(), O\+T\+F\+\_\+\+R\+Stream\+\_\+get\+Snaps\+Buffer(), O\+T\+F\+\_\+\+R\+Stream\+\_\+get\+Stats\+Buffer(), and O\+T\+F\+\_\+\+R\+Stream\+\_\+set\+Def\+Buffer().

\hypertarget{OTF__RBuffer_8h_ad70746e1a7ea4f8234bc3f0f54ef846b}{\index{O\+T\+F\+\_\+\+R\+Buffer.\+h@{O\+T\+F\+\_\+\+R\+Buffer.\+h}!O\+T\+F\+\_\+\+R\+Buffer\+\_\+set\+Z\+Buffer\+Size@{O\+T\+F\+\_\+\+R\+Buffer\+\_\+set\+Z\+Buffer\+Size}}
\index{O\+T\+F\+\_\+\+R\+Buffer\+\_\+set\+Z\+Buffer\+Size@{O\+T\+F\+\_\+\+R\+Buffer\+\_\+set\+Z\+Buffer\+Size}!O\+T\+F\+\_\+\+R\+Buffer.\+h@{O\+T\+F\+\_\+\+R\+Buffer.\+h}}
\subsubsection[{O\+T\+F\+\_\+\+R\+Buffer\+\_\+set\+Z\+Buffer\+Size}]{\setlength{\rightskip}{0pt plus 5cm}void O\+T\+F\+\_\+\+R\+Buffer\+\_\+set\+Z\+Buffer\+Size (
\begin{DoxyParamCaption}
\item[{{\bf O\+T\+F\+\_\+\+R\+Buffer} $\ast$}]{rbuffer, }
\item[{uint32\+\_\+t}]{size}
\end{DoxyParamCaption}
)}}\label{OTF__RBuffer_8h_ad70746e1a7ea4f8234bc3f0f54ef846b}


Set zbuffer size. 



Referenced by O\+T\+F\+\_\+\+R\+Stream\+\_\+get\+Def\+Buffer(), O\+T\+F\+\_\+\+R\+Stream\+\_\+get\+Event\+Buffer(), O\+T\+F\+\_\+\+R\+Stream\+\_\+get\+Marker\+Buffer(), O\+T\+F\+\_\+\+R\+Stream\+\_\+get\+Snaps\+Buffer(), O\+T\+F\+\_\+\+R\+Stream\+\_\+get\+Stats\+Buffer(), and O\+T\+F\+\_\+\+R\+Stream\+\_\+set\+Def\+Buffer().

\hypertarget{OTF__RBuffer_8h_a731c45a4836e2fab4c93f1a81149687f}{\index{O\+T\+F\+\_\+\+R\+Buffer.\+h@{O\+T\+F\+\_\+\+R\+Buffer.\+h}!O\+T\+F\+\_\+\+R\+Buffer\+\_\+skip\+Keyword@{O\+T\+F\+\_\+\+R\+Buffer\+\_\+skip\+Keyword}}
\index{O\+T\+F\+\_\+\+R\+Buffer\+\_\+skip\+Keyword@{O\+T\+F\+\_\+\+R\+Buffer\+\_\+skip\+Keyword}!O\+T\+F\+\_\+\+R\+Buffer.\+h@{O\+T\+F\+\_\+\+R\+Buffer.\+h}}
\subsubsection[{O\+T\+F\+\_\+\+R\+Buffer\+\_\+skip\+Keyword}]{\setlength{\rightskip}{0pt plus 5cm}void O\+T\+F\+\_\+\+R\+Buffer\+\_\+skip\+Keyword (
\begin{DoxyParamCaption}
\item[{{\bf O\+T\+F\+\_\+\+R\+Buffer} $\ast$}]{rbuffer}
\end{DoxyParamCaption}
)}}\label{OTF__RBuffer_8h_a731c45a4836e2fab4c93f1a81149687f}


Advance the buffer position while there are capital letters. 



References struct\+\_\+\+O\+T\+F\+\_\+\+R\+Buffer\+::buffer, and struct\+\_\+\+O\+T\+F\+\_\+\+R\+Buffer\+::pos.



Referenced by O\+T\+F\+\_\+\+Reader\+\_\+parse\+Def\+Record(), O\+T\+F\+\_\+\+Reader\+\_\+parse\+Event\+Record(), and O\+T\+F\+\_\+\+Reader\+\_\+parse\+Marker\+Record().

\hypertarget{OTF__RBuffer_8h_a2091462dd8f009af5d3c73e1eee46780}{\index{O\+T\+F\+\_\+\+R\+Buffer.\+h@{O\+T\+F\+\_\+\+R\+Buffer.\+h}!O\+T\+F\+\_\+\+R\+Buffer\+\_\+skip\+Spaces@{O\+T\+F\+\_\+\+R\+Buffer\+\_\+skip\+Spaces}}
\index{O\+T\+F\+\_\+\+R\+Buffer\+\_\+skip\+Spaces@{O\+T\+F\+\_\+\+R\+Buffer\+\_\+skip\+Spaces}!O\+T\+F\+\_\+\+R\+Buffer.\+h@{O\+T\+F\+\_\+\+R\+Buffer.\+h}}
\subsubsection[{O\+T\+F\+\_\+\+R\+Buffer\+\_\+skip\+Spaces}]{\setlength{\rightskip}{0pt plus 5cm}void O\+T\+F\+\_\+\+R\+Buffer\+\_\+skip\+Spaces (
\begin{DoxyParamCaption}
\item[{{\bf O\+T\+F\+\_\+\+R\+Buffer} $\ast$}]{rbuffer}
\end{DoxyParamCaption}
)}}\label{OTF__RBuffer_8h_a2091462dd8f009af5d3c73e1eee46780}


Advance the buffer position while there are spaces. 



References struct\+\_\+\+O\+T\+F\+\_\+\+R\+Buffer\+::buffer, struct\+\_\+\+O\+T\+F\+\_\+\+R\+Buffer\+::end, and struct\+\_\+\+O\+T\+F\+\_\+\+R\+Buffer\+::pos.



Referenced by O\+T\+F\+\_\+\+R\+Buffer\+\_\+read\+Array(), O\+T\+F\+\_\+\+R\+Buffer\+\_\+read\+Bytes(), O\+T\+F\+\_\+\+R\+Buffer\+\_\+read\+String(), O\+T\+F\+\_\+\+R\+Buffer\+\_\+read\+Uint32(), O\+T\+F\+\_\+\+R\+Buffer\+\_\+read\+Uint64(), O\+T\+F\+\_\+\+R\+Buffer\+\_\+test\+Char(), O\+T\+F\+\_\+\+R\+Buffer\+\_\+test\+Keyword(), O\+T\+F\+\_\+\+R\+Buffer\+\_\+test\+Prefix(), and O\+T\+F\+\_\+\+Reader\+\_\+parse\+Event\+Record().

\hypertarget{OTF__RBuffer_8h_a1c465e542e8a94fc0e392898ae09aeda}{\index{O\+T\+F\+\_\+\+R\+Buffer.\+h@{O\+T\+F\+\_\+\+R\+Buffer.\+h}!O\+T\+F\+\_\+\+R\+Buffer\+\_\+test\+Char@{O\+T\+F\+\_\+\+R\+Buffer\+\_\+test\+Char}}
\index{O\+T\+F\+\_\+\+R\+Buffer\+\_\+test\+Char@{O\+T\+F\+\_\+\+R\+Buffer\+\_\+test\+Char}!O\+T\+F\+\_\+\+R\+Buffer.\+h@{O\+T\+F\+\_\+\+R\+Buffer.\+h}}
\subsubsection[{O\+T\+F\+\_\+\+R\+Buffer\+\_\+test\+Char}]{\setlength{\rightskip}{0pt plus 5cm}int O\+T\+F\+\_\+\+R\+Buffer\+\_\+test\+Char (
\begin{DoxyParamCaption}
\item[{{\bf O\+T\+F\+\_\+\+R\+Buffer} $\ast$}]{rbuffer, }
\item[{char}]{c}
\end{DoxyParamCaption}
)}}\label{OTF__RBuffer_8h_a1c465e542e8a94fc0e392898ae09aeda}


Test if the next character equals the given one (leading spaces are ignored). 

If the right character is found return 1, and advance by 1 step. If the character was not found, keep the buffer position such that the test can be repeated with another character. 

References struct\+\_\+\+O\+T\+F\+\_\+\+R\+Buffer\+::buffer, struct\+\_\+\+O\+T\+F\+\_\+\+R\+Buffer\+::end, O\+T\+F\+\_\+\+R\+Buffer\+\_\+skip\+Spaces(), and struct\+\_\+\+O\+T\+F\+\_\+\+R\+Buffer\+::pos.



Referenced by O\+T\+F\+\_\+\+Master\+Control\+\_\+read(), O\+T\+F\+\_\+\+R\+Buffer\+\_\+read\+Array(), and O\+T\+F\+\_\+\+R\+Buffer\+\_\+read\+String().

\hypertarget{OTF__RBuffer_8h_ac5907caaffa23bb145ad179aff1f484a}{\index{O\+T\+F\+\_\+\+R\+Buffer.\+h@{O\+T\+F\+\_\+\+R\+Buffer.\+h}!O\+T\+F\+\_\+\+R\+Buffer\+\_\+test\+Keyword@{O\+T\+F\+\_\+\+R\+Buffer\+\_\+test\+Keyword}}
\index{O\+T\+F\+\_\+\+R\+Buffer\+\_\+test\+Keyword@{O\+T\+F\+\_\+\+R\+Buffer\+\_\+test\+Keyword}!O\+T\+F\+\_\+\+R\+Buffer.\+h@{O\+T\+F\+\_\+\+R\+Buffer.\+h}}
\subsubsection[{O\+T\+F\+\_\+\+R\+Buffer\+\_\+test\+Keyword}]{\setlength{\rightskip}{0pt plus 5cm}int O\+T\+F\+\_\+\+R\+Buffer\+\_\+test\+Keyword (
\begin{DoxyParamCaption}
\item[{{\bf O\+T\+F\+\_\+\+R\+Buffer} $\ast$}]{rbuffer, }
\item[{const char $\ast$}]{string}
\end{DoxyParamCaption}
)}}\label{OTF__RBuffer_8h_ac5907caaffa23bb145ad179aff1f484a}


Test if the next string equals the given one (leading spaces are ignored). 

The next character must not be an uppercase letter as used in keywords. If the right string is found return 1, and advance the buffer position. If the string was not found, keep the buffer position such that the test can be repeated with another string. 

References struct\+\_\+\+O\+T\+F\+\_\+\+R\+Buffer\+::buffer, O\+T\+F\+\_\+\+R\+Buffer\+\_\+skip\+Spaces(), and struct\+\_\+\+O\+T\+F\+\_\+\+R\+Buffer\+::pos.



Referenced by O\+T\+F\+\_\+\+R\+Buffer\+\_\+read\+Key\+Value\+List(), O\+T\+F\+\_\+\+Reader\+\_\+parse\+Def\+Record(), O\+T\+F\+\_\+\+Reader\+\_\+parse\+Event\+Record(), O\+T\+F\+\_\+\+Reader\+\_\+parse\+Marker\+Record(), O\+T\+F\+\_\+\+Reader\+\_\+parse\+Snapshots\+Record(), and O\+T\+F\+\_\+\+Reader\+\_\+parse\+Statistics\+Record().

\hypertarget{OTF__RBuffer_8h_af786a462e0ca52efc47a2f6eaa494bcb}{\index{O\+T\+F\+\_\+\+R\+Buffer.\+h@{O\+T\+F\+\_\+\+R\+Buffer.\+h}!O\+T\+F\+\_\+\+R\+Buffer\+\_\+test\+Prefix@{O\+T\+F\+\_\+\+R\+Buffer\+\_\+test\+Prefix}}
\index{O\+T\+F\+\_\+\+R\+Buffer\+\_\+test\+Prefix@{O\+T\+F\+\_\+\+R\+Buffer\+\_\+test\+Prefix}!O\+T\+F\+\_\+\+R\+Buffer.\+h@{O\+T\+F\+\_\+\+R\+Buffer.\+h}}
\subsubsection[{O\+T\+F\+\_\+\+R\+Buffer\+\_\+test\+Prefix}]{\setlength{\rightskip}{0pt plus 5cm}int O\+T\+F\+\_\+\+R\+Buffer\+\_\+test\+Prefix (
\begin{DoxyParamCaption}
\item[{{\bf O\+T\+F\+\_\+\+R\+Buffer} $\ast$}]{rbuffer, }
\item[{const char $\ast$}]{string}
\end{DoxyParamCaption}
)}}\label{OTF__RBuffer_8h_af786a462e0ca52efc47a2f6eaa494bcb}


Test if the next string equals the given one (leading spaces are ignored). 

This version is similar to the above function but does not test the following character, i.\+e. it can be used to test for prefixes. If the right string is found return 1, and advance the buffer position. If the string was not found, keep the buffer position such that the test can be repeated with another string. 

References struct\+\_\+\+O\+T\+F\+\_\+\+R\+Buffer\+::buffer, O\+T\+F\+\_\+\+R\+Buffer\+\_\+skip\+Spaces(), and struct\+\_\+\+O\+T\+F\+\_\+\+R\+Buffer\+::pos.



Referenced by O\+T\+F\+\_\+\+Reader\+\_\+parse\+Def\+Record(), O\+T\+F\+\_\+\+Reader\+\_\+parse\+Marker\+Record(), O\+T\+F\+\_\+\+Reader\+\_\+parse\+Snapshots\+Record(), and O\+T\+F\+\_\+\+Reader\+\_\+parse\+Statistics\+Record().

