\hypertarget{group__handler}{\section{Handler Interface}
\label{group__handler}\index{Handler Interface@{Handler Interface}}
}


In the following, the handler interfaces for all record types are specified.  


\subsection*{Files}
\begin{DoxyCompactItemize}
\item 
file \hyperlink{OTF__HandlerArray_8h}{O\+T\+F\+\_\+\+Handler\+Array.\+h}
\begin{DoxyCompactList}\small\item\em Provides read access to O\+T\+F traces which consist of multiple streams. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Functions}
\begin{DoxyCompactItemize}
\item 
int \hyperlink{group__handler_ga891a782fc88c1f50f5daf27912f9c35e}{O\+T\+F\+\_\+\+Handler\+\_\+\+Definition\+Comment} (void $\ast$user\+Data, uint32\+\_\+t stream, const char $\ast$comment, \hyperlink{OTF__KeyValue_8h_acaf1284a372072cdb927e73406f16db0}{O\+T\+F\+\_\+\+Key\+Value\+List} $\ast$list)
\begin{DoxyCompactList}\small\item\em Provides a comment record. \end{DoxyCompactList}\item 
int \hyperlink{group__handler_ga8a598b3272c3c0aa8c38aba443d83d85}{O\+T\+F\+\_\+\+Handler\+\_\+\+Def\+Timer\+Resolution} (void $\ast$user\+Data, uint32\+\_\+t stream, uint64\+\_\+t ticks\+Per\+Second, \hyperlink{OTF__KeyValue_8h_acaf1284a372072cdb927e73406f16db0}{O\+T\+F\+\_\+\+Key\+Value\+List} $\ast$list)
\begin{DoxyCompactList}\small\item\em Provides the timer resolution. \end{DoxyCompactList}\item 
int \hyperlink{group__handler_ga489b34a42e0d649edf71d260b595cfb2}{O\+T\+F\+\_\+\+Handler\+\_\+\+Def\+Process} (void $\ast$user\+Data, uint32\+\_\+t stream, uint32\+\_\+t process, const char $\ast$name, uint32\+\_\+t parent, \hyperlink{OTF__KeyValue_8h_acaf1284a372072cdb927e73406f16db0}{O\+T\+F\+\_\+\+Key\+Value\+List} $\ast$list)
\begin{DoxyCompactList}\small\item\em Provides a process definition. \end{DoxyCompactList}\item 
int \hyperlink{group__handler_gafed4e6bfcb354916355ed70ff350d621}{O\+T\+F\+\_\+\+Handler\+\_\+\+Def\+Process\+Group} (void $\ast$user\+Data, uint32\+\_\+t stream, uint32\+\_\+t proc\+Group, const char $\ast$name, uint32\+\_\+t number\+Of\+Procs, const uint32\+\_\+t $\ast$procs, \hyperlink{OTF__KeyValue_8h_acaf1284a372072cdb927e73406f16db0}{O\+T\+F\+\_\+\+Key\+Value\+List} $\ast$list)
\begin{DoxyCompactList}\small\item\em Provides a process group definition. \end{DoxyCompactList}\item 
int \hyperlink{group__handler_ga7cc575b0f8b8a83dd2c6eb6f28d629b9}{O\+T\+F\+\_\+\+Handler\+\_\+\+Def\+Attribute\+List} (void $\ast$user\+Data, uint32\+\_\+t stream, uint32\+\_\+t attr\+\_\+token, uint32\+\_\+t num, \hyperlink{OTF__Definitions_8h_a0befdb643b01977d2a93431ca0709e9c}{O\+T\+F\+\_\+\+A\+T\+T\+R\+\_\+\+T\+Y\+P\+E} $\ast$array, \hyperlink{OTF__KeyValue_8h_acaf1284a372072cdb927e73406f16db0}{O\+T\+F\+\_\+\+Key\+Value\+List} $\ast$list)
\begin{DoxyCompactList}\small\item\em Provides a list of attributes that is assigned to a unique token. \end{DoxyCompactList}\item 
int \hyperlink{group__handler_gab7e82723c839d822c249e38fdcb897d7}{O\+T\+F\+\_\+\+Handler\+\_\+\+Def\+Process\+Or\+Group\+Attributes} (void $\ast$user\+Data, uint32\+\_\+t stream, uint32\+\_\+t proc\+\_\+token, uint32\+\_\+t attr\+\_\+token, \hyperlink{OTF__KeyValue_8h_acaf1284a372072cdb927e73406f16db0}{O\+T\+F\+\_\+\+Key\+Value\+List} $\ast$list)
\begin{DoxyCompactList}\small\item\em Provides a process or group attributes definition. \end{DoxyCompactList}\item 
int \hyperlink{group__handler_ga774d92443abee734f9062d2f1c5c03c9}{O\+T\+F\+\_\+\+Handler\+\_\+\+Def\+Function} (void $\ast$user\+Data, uint32\+\_\+t stream, uint32\+\_\+t func, const char $\ast$name, uint32\+\_\+t func\+Group, uint32\+\_\+t source, \hyperlink{OTF__KeyValue_8h_acaf1284a372072cdb927e73406f16db0}{O\+T\+F\+\_\+\+Key\+Value\+List} $\ast$list)
\begin{DoxyCompactList}\small\item\em Provides a function definition. \end{DoxyCompactList}\item 
int \hyperlink{group__handler_gadfb319198d0edb72559b6649c5089078}{O\+T\+F\+\_\+\+Handler\+\_\+\+Def\+Function\+Group} (void $\ast$user\+Data, uint32\+\_\+t stream, uint32\+\_\+t func\+Group, const char $\ast$name, \hyperlink{OTF__KeyValue_8h_acaf1284a372072cdb927e73406f16db0}{O\+T\+F\+\_\+\+Key\+Value\+List} $\ast$list)
\begin{DoxyCompactList}\small\item\em Provides a function group definition. \end{DoxyCompactList}\item 
int \hyperlink{group__handler_ga2a8e0d62c92f747bac86ee41f7b12a3a}{O\+T\+F\+\_\+\+Handler\+\_\+\+Def\+Collective\+Operation} (void $\ast$user\+Data, uint32\+\_\+t stream, uint32\+\_\+t coll\+Op, const char $\ast$name, uint32\+\_\+t type, \hyperlink{OTF__KeyValue_8h_acaf1284a372072cdb927e73406f16db0}{O\+T\+F\+\_\+\+Key\+Value\+List} $\ast$list)
\begin{DoxyCompactList}\small\item\em Provides a collective operation definition. \end{DoxyCompactList}\item 
int \hyperlink{group__handler_ga54af8c9ceb1cb8b32711bbf4b0c1c3d2}{O\+T\+F\+\_\+\+Handler\+\_\+\+Def\+Counter} (void $\ast$user\+Data, uint32\+\_\+t stream, uint32\+\_\+t counter, const char $\ast$name, uint32\+\_\+t properties, uint32\+\_\+t counter\+Group, const char $\ast$unit, \hyperlink{OTF__KeyValue_8h_acaf1284a372072cdb927e73406f16db0}{O\+T\+F\+\_\+\+Key\+Value\+List} $\ast$list)
\begin{DoxyCompactList}\small\item\em Provides a counter definition. \end{DoxyCompactList}\item 
int \hyperlink{group__handler_ga2f6a4d2094685ba375e75f43efb08e0c}{O\+T\+F\+\_\+\+Handler\+\_\+\+Def\+Counter\+Group} (void $\ast$user\+Data, uint32\+\_\+t stream, uint32\+\_\+t counter\+Group, const char $\ast$name, \hyperlink{OTF__KeyValue_8h_acaf1284a372072cdb927e73406f16db0}{O\+T\+F\+\_\+\+Key\+Value\+List} $\ast$list)
\begin{DoxyCompactList}\small\item\em Provides a counter group definition. \end{DoxyCompactList}\item 
int \hyperlink{group__handler_gac719704901387a140bece593cb2072a0}{O\+T\+F\+\_\+\+Handler\+\_\+\+Def\+Scl} (void $\ast$user\+Data, uint32\+\_\+t stream, uint32\+\_\+t source, uint32\+\_\+t source\+File, uint32\+\_\+t line, \hyperlink{OTF__KeyValue_8h_acaf1284a372072cdb927e73406f16db0}{O\+T\+F\+\_\+\+Key\+Value\+List} $\ast$list)
\begin{DoxyCompactList}\small\item\em Provides a source code location (S\+C\+L). \end{DoxyCompactList}\item 
int \hyperlink{group__handler_ga926d6363893bb583d6704841f97375fd}{O\+T\+F\+\_\+\+Handler\+\_\+\+Def\+Scl\+File} (void $\ast$user\+Data, uint32\+\_\+t stream, uint32\+\_\+t source\+File, const char $\ast$name, \hyperlink{OTF__KeyValue_8h_acaf1284a372072cdb927e73406f16db0}{O\+T\+F\+\_\+\+Key\+Value\+List} $\ast$list)
\begin{DoxyCompactList}\small\item\em Provides a source code location (S\+C\+L) file. \end{DoxyCompactList}\item 
int \hyperlink{group__handler_ga4f3eb48757074f28f7417823f1e3c7ea}{O\+T\+F\+\_\+\+Handler\+\_\+\+Def\+Creator} (void $\ast$user\+Data, uint32\+\_\+t stream, const char $\ast$creator, \hyperlink{OTF__KeyValue_8h_acaf1284a372072cdb927e73406f16db0}{O\+T\+F\+\_\+\+Key\+Value\+List} $\ast$list)
\begin{DoxyCompactList}\small\item\em Provides file creator information. \end{DoxyCompactList}\item 
int \hyperlink{group__handler_gad17f5d88bd2dd4790580b62ca113c7bc}{O\+T\+F\+\_\+\+Handler\+\_\+\+Def\+Version} (void $\ast$user\+Data, uint32\+\_\+t stream, uint8\+\_\+t major, uint8\+\_\+t minor, uint8\+\_\+t sub, const char $\ast$string, \hyperlink{OTF__KeyValue_8h_acaf1284a372072cdb927e73406f16db0}{O\+T\+F\+\_\+\+Key\+Value\+List} $\ast$list)
\begin{DoxyCompactList}\small\item\em Provides information on the trace´s otf-\/version. \end{DoxyCompactList}\item 
int \hyperlink{group__handler_ga61aa74a62fb5a22001b835896f8c6033}{O\+T\+F\+\_\+\+Handler\+\_\+\+Def\+File} (void $\ast$user\+Data, uint32\+\_\+t stream, uint32\+\_\+t token, const char $\ast$name, uint32\+\_\+t group, \hyperlink{OTF__KeyValue_8h_acaf1284a372072cdb927e73406f16db0}{O\+T\+F\+\_\+\+Key\+Value\+List} $\ast$list)
\begin{DoxyCompactList}\small\item\em Provides a file definition N\+O\+T\+E\+: this is experimental. \end{DoxyCompactList}\item 
int \hyperlink{group__handler_gaea037b5f57b49f950743db899e87fd30}{O\+T\+F\+\_\+\+Handler\+\_\+\+Def\+File\+Group} (void $\ast$user\+Data, uint32\+\_\+t stream, uint32\+\_\+t token, const char $\ast$name, \hyperlink{OTF__KeyValue_8h_acaf1284a372072cdb927e73406f16db0}{O\+T\+F\+\_\+\+Key\+Value\+List} $\ast$list)
\begin{DoxyCompactList}\small\item\em Provides a file group definition N\+O\+T\+E\+: this is experimental. \end{DoxyCompactList}\item 
int \hyperlink{group__handler_ga4d92a625fae7e352610f45c98cba8770}{O\+T\+F\+\_\+\+Handler\+\_\+\+Def\+Key\+Value} (void $\ast$user\+Data, uint32\+\_\+t stream, uint32\+\_\+t key, \hyperlink{OTF__KeyValue_8h_ae01c39fb5150e8d16f4dc0be2cd7f802}{O\+T\+F\+\_\+\+Type} type, const char $\ast$name, const char $\ast$description, \hyperlink{OTF__KeyValue_8h_acaf1284a372072cdb927e73406f16db0}{O\+T\+F\+\_\+\+Key\+Value\+List} $\ast$list)
\begin{DoxyCompactList}\small\item\em Provides a Key\+Value definition. \end{DoxyCompactList}\item 
int \hyperlink{group__handler_gace85fef0dde1520a866e3a1b3a5a69e3}{O\+T\+F\+\_\+\+Handler\+\_\+\+Def\+Time\+Range} (void $\ast$user\+Data, uint32\+\_\+t stream, uint64\+\_\+t min\+Time, uint64\+\_\+t max\+Time, \hyperlink{OTF__KeyValue_8h_acaf1284a372072cdb927e73406f16db0}{O\+T\+F\+\_\+\+Key\+Value\+List} $\ast$list)
\begin{DoxyCompactList}\small\item\em Provides a Time\+Range definition. \end{DoxyCompactList}\item 
int \hyperlink{group__handler_ga244002346a0b9b9e1fad7d21e45579a1}{O\+T\+F\+\_\+\+Handler\+\_\+\+Def\+Counter\+Assignments} (void $\ast$user\+Data, uint32\+\_\+t stream, uint32\+\_\+t counter, uint32\+\_\+t number\+\_\+of\+\_\+members, const uint32\+\_\+t $\ast$procs\+\_\+or\+\_\+groups, \hyperlink{OTF__KeyValue_8h_acaf1284a372072cdb927e73406f16db0}{O\+T\+F\+\_\+\+Key\+Value\+List} $\ast$list)
\begin{DoxyCompactList}\small\item\em Provides a Counter\+Assignments definition. \end{DoxyCompactList}\item 
int \hyperlink{group__handler_gaa2f346a516366b85e73c6daff262d105}{O\+T\+F\+\_\+\+Handler\+\_\+\+No\+Op} (void $\ast$user\+Data, uint64\+\_\+t time, uint32\+\_\+t process, \hyperlink{OTF__KeyValue_8h_acaf1284a372072cdb927e73406f16db0}{O\+T\+F\+\_\+\+Key\+Value\+List} $\ast$list)
\begin{DoxyCompactList}\small\item\em Provides a no-\/operation event. \end{DoxyCompactList}\item 
int \hyperlink{group__handler_ga727f0937b263cfff104225870639ad26}{O\+T\+F\+\_\+\+Handler\+\_\+\+Enter} (void $\ast$user\+Data, uint64\+\_\+t time, uint32\+\_\+t function, uint32\+\_\+t process, uint32\+\_\+t source, \hyperlink{OTF__KeyValue_8h_acaf1284a372072cdb927e73406f16db0}{O\+T\+F\+\_\+\+Key\+Value\+List} $\ast$list)
\begin{DoxyCompactList}\small\item\em Provides a function entry event. \end{DoxyCompactList}\item 
int \hyperlink{group__handler_ga3059bb13929e24dc5d91d176dc452243}{O\+T\+F\+\_\+\+Handler\+\_\+\+Leave} (void $\ast$user\+Data, uint64\+\_\+t time, uint32\+\_\+t function, uint32\+\_\+t process, uint32\+\_\+t source, \hyperlink{OTF__KeyValue_8h_acaf1284a372072cdb927e73406f16db0}{O\+T\+F\+\_\+\+Key\+Value\+List} $\ast$list)
\begin{DoxyCompactList}\small\item\em Provides a function leave event. \end{DoxyCompactList}\item 
int \hyperlink{group__handler_gadc00bc335c0f3f8929ee66489ab56ec8}{O\+T\+F\+\_\+\+Handler\+\_\+\+Send\+Msg} (void $\ast$user\+Data, uint64\+\_\+t time, uint32\+\_\+t sender, uint32\+\_\+t receiver, uint32\+\_\+t group, uint32\+\_\+t type, uint32\+\_\+t length, uint32\+\_\+t source, \hyperlink{OTF__KeyValue_8h_acaf1284a372072cdb927e73406f16db0}{O\+T\+F\+\_\+\+Key\+Value\+List} $\ast$list)
\begin{DoxyCompactList}\small\item\em Provides a message send event. \end{DoxyCompactList}\item 
int \hyperlink{group__handler_ga165881accaca25994493bd97a0f2e560}{O\+T\+F\+\_\+\+Handler\+\_\+\+Recv\+Msg} (void $\ast$user\+Data, uint64\+\_\+t time, uint32\+\_\+t recv\+Proc, uint32\+\_\+t send\+Proc, uint32\+\_\+t group, uint32\+\_\+t type, uint32\+\_\+t length, uint32\+\_\+t source, \hyperlink{OTF__KeyValue_8h_acaf1284a372072cdb927e73406f16db0}{O\+T\+F\+\_\+\+Key\+Value\+List} $\ast$list)
\begin{DoxyCompactList}\small\item\em Provides a message retrieval event. \end{DoxyCompactList}\item 
int \hyperlink{group__handler_gaa9a78011802eb163a2e84cfad719e689}{O\+T\+F\+\_\+\+Handler\+\_\+\+Counter} (void $\ast$user\+Data, uint64\+\_\+t time, uint32\+\_\+t process, uint32\+\_\+t counter, uint64\+\_\+t value, \hyperlink{OTF__KeyValue_8h_acaf1284a372072cdb927e73406f16db0}{O\+T\+F\+\_\+\+Key\+Value\+List} $\ast$list)
\begin{DoxyCompactList}\small\item\em Provides a counter measurement. \end{DoxyCompactList}\item 
int \hyperlink{group__handler_gad5d39ac2b948b7c505bfa3b64da31c6e}{O\+T\+F\+\_\+\+Handler\+\_\+\+Collective\+Operation} (void $\ast$user\+Data, uint64\+\_\+t time, uint32\+\_\+t process, uint32\+\_\+t collective, uint32\+\_\+t proc\+Group, uint32\+\_\+t root\+Proc, uint32\+\_\+t sent, uint32\+\_\+t received, uint64\+\_\+t duration, uint32\+\_\+t source, \hyperlink{OTF__KeyValue_8h_acaf1284a372072cdb927e73406f16db0}{O\+T\+F\+\_\+\+Key\+Value\+List} $\ast$list)
\begin{DoxyCompactList}\small\item\em Provides a collective operation member event. \end{DoxyCompactList}\item 
int \hyperlink{group__handler_ga29f86ef37782a6f551c3f70e26689371}{O\+T\+F\+\_\+\+Handler\+\_\+\+Begin\+Collective\+Operation} (void $\ast$user\+Data, uint64\+\_\+t time, uint32\+\_\+t process, uint32\+\_\+t coll\+Op, uint64\+\_\+t matching\+Id, uint32\+\_\+t proc\+Group, uint32\+\_\+t root\+Proc, uint64\+\_\+t sent, uint64\+\_\+t received, uint32\+\_\+t scltoken, \hyperlink{OTF__KeyValue_8h_acaf1284a372072cdb927e73406f16db0}{O\+T\+F\+\_\+\+Key\+Value\+List} $\ast$list)
\begin{DoxyCompactList}\small\item\em Provides a begin collective operation member event. \end{DoxyCompactList}\item 
int \hyperlink{group__handler_ga114baa6083938894e3bd02e9e79eb042}{O\+T\+F\+\_\+\+Handler\+\_\+\+End\+Collective\+Operation} (void $\ast$user\+Data, uint64\+\_\+t time, uint32\+\_\+t process, uint64\+\_\+t matching\+Id, \hyperlink{OTF__KeyValue_8h_acaf1284a372072cdb927e73406f16db0}{O\+T\+F\+\_\+\+Key\+Value\+List} $\ast$list)
\begin{DoxyCompactList}\small\item\em Provides an end collective operation member event. \end{DoxyCompactList}\item 
int \hyperlink{group__handler_gafc1de36b905068b77ad34808d0b6ded7}{O\+T\+F\+\_\+\+Handler\+\_\+\+Event\+Comment} (void $\ast$user\+Data, uint64\+\_\+t time, uint32\+\_\+t process, const char $\ast$comment, \hyperlink{OTF__KeyValue_8h_acaf1284a372072cdb927e73406f16db0}{O\+T\+F\+\_\+\+Key\+Value\+List} $\ast$list)
\begin{DoxyCompactList}\small\item\em Provide a comment record. \end{DoxyCompactList}\item 
int \hyperlink{group__handler_ga584e81592f639c72efcd466502291eef}{O\+T\+F\+\_\+\+Handler\+\_\+\+Begin\+Process} (void $\ast$user\+Data, uint64\+\_\+t time, uint32\+\_\+t process, \hyperlink{OTF__KeyValue_8h_acaf1284a372072cdb927e73406f16db0}{O\+T\+F\+\_\+\+Key\+Value\+List} $\ast$list)
\begin{DoxyCompactList}\small\item\em Provides a process creation event. \end{DoxyCompactList}\item 
int \hyperlink{group__handler_gab8160e0288dec3295d2a98b3c90a2168}{O\+T\+F\+\_\+\+Handler\+\_\+\+End\+Process} (void $\ast$user\+Data, uint64\+\_\+t time, uint32\+\_\+t process, \hyperlink{OTF__KeyValue_8h_acaf1284a372072cdb927e73406f16db0}{O\+T\+F\+\_\+\+Key\+Value\+List} $\ast$list)
\begin{DoxyCompactList}\small\item\em Provides a process destruction event. \end{DoxyCompactList}\item 
int \hyperlink{group__handler_ga456b1d688d8a5b703c2fa56144ea8b43}{O\+T\+F\+\_\+\+Handler\+\_\+\+File\+Operation} (void $\ast$user\+Data, uint64\+\_\+t time, uint32\+\_\+t fileid, uint32\+\_\+t process, uint64\+\_\+t handleid, uint32\+\_\+t operation, uint64\+\_\+t bytes, uint64\+\_\+t duration, uint32\+\_\+t source, \hyperlink{OTF__KeyValue_8h_acaf1284a372072cdb927e73406f16db0}{O\+T\+F\+\_\+\+Key\+Value\+List} $\ast$list)
\begin{DoxyCompactList}\small\item\em Provides a file operation event N\+O\+T\+E\+: this is experimental. \end{DoxyCompactList}\item 
int \hyperlink{group__handler_ga144cafbda1e7a17d92f63a3657a7c484}{O\+T\+F\+\_\+\+Handler\+\_\+\+Begin\+File\+Operation} (void $\ast$user\+Data, uint64\+\_\+t time, uint32\+\_\+t process, uint64\+\_\+t matching\+Id, uint32\+\_\+t scltoken, \hyperlink{OTF__KeyValue_8h_acaf1284a372072cdb927e73406f16db0}{O\+T\+F\+\_\+\+Key\+Value\+List} $\ast$list)
\begin{DoxyCompactList}\small\item\em Write a begin file operation record. \end{DoxyCompactList}\item 
int \hyperlink{group__handler_ga21b4a3004d5656232bde46dfe62c92a7}{O\+T\+F\+\_\+\+Handler\+\_\+\+End\+File\+Operation} (void $\ast$user\+Data, uint64\+\_\+t time, uint32\+\_\+t process, uint32\+\_\+t fileid, uint64\+\_\+t matching\+Id, uint64\+\_\+t handle\+Id, uint32\+\_\+t operation, uint64\+\_\+t bytes, uint32\+\_\+t scltoken, \hyperlink{OTF__KeyValue_8h_acaf1284a372072cdb927e73406f16db0}{O\+T\+F\+\_\+\+Key\+Value\+List} $\ast$list)
\begin{DoxyCompactList}\small\item\em Write an end file operation record. \end{DoxyCompactList}\item 
int \hyperlink{group__handler_ga71243293394e773d62e6ee4689b811b0}{O\+T\+F\+\_\+\+Handler\+\_\+\+R\+M\+A\+Put} (void $\ast$user\+Data, uint64\+\_\+t time, uint32\+\_\+t process, uint32\+\_\+t origin, uint32\+\_\+t target, uint32\+\_\+t communicator, uint32\+\_\+t tag, uint64\+\_\+t bytes, uint32\+\_\+t source, \hyperlink{OTF__KeyValue_8h_acaf1284a372072cdb927e73406f16db0}{O\+T\+F\+\_\+\+Key\+Value\+List} $\ast$list)
\begin{DoxyCompactList}\small\item\em Provides a R\+M\+A put event -\/ end marker is anticipated on initiating \hyperlink{structProcess}{Process}. \end{DoxyCompactList}\item 
int \hyperlink{group__handler_ga6f061fd0788fe4db08f817bb370f9045}{O\+T\+F\+\_\+\+Handler\+\_\+\+R\+M\+A\+Put\+Remote\+End} (void $\ast$user\+Data, uint64\+\_\+t time, uint32\+\_\+t process, uint32\+\_\+t origin, uint32\+\_\+t target, uint32\+\_\+t communicator, uint32\+\_\+t tag, uint64\+\_\+t bytes, uint32\+\_\+t source, \hyperlink{OTF__KeyValue_8h_acaf1284a372072cdb927e73406f16db0}{O\+T\+F\+\_\+\+Key\+Value\+List} $\ast$list)
\begin{DoxyCompactList}\small\item\em Provides a R\+M\+A put event with remote finalization marker, i.\+e. \end{DoxyCompactList}\item 
int \hyperlink{group__handler_gac98039210cdf052e49e5de6730b2469a}{O\+T\+F\+\_\+\+Handler\+\_\+\+R\+M\+A\+Get} (void $\ast$user\+Data, uint64\+\_\+t time, uint32\+\_\+t process, uint32\+\_\+t origin, uint32\+\_\+t target, uint32\+\_\+t communicator, uint32\+\_\+t tag, uint64\+\_\+t bytes, uint32\+\_\+t source, \hyperlink{OTF__KeyValue_8h_acaf1284a372072cdb927e73406f16db0}{O\+T\+F\+\_\+\+Key\+Value\+List} $\ast$list)
\begin{DoxyCompactList}\small\item\em Provides a R\+M\+A get event -\/ end marker is anticipated on initiating \hyperlink{structProcess}{Process}. \end{DoxyCompactList}\item 
int \hyperlink{group__handler_gab71b846f0f6d332e6784e755b6faf91f}{O\+T\+F\+\_\+\+Handler\+\_\+\+R\+M\+A\+End} (void $\ast$user\+Data, uint64\+\_\+t time, uint32\+\_\+t process, uint32\+\_\+t remote, uint32\+\_\+t communicator, uint32\+\_\+t tag, uint32\+\_\+t source, \hyperlink{OTF__KeyValue_8h_acaf1284a372072cdb927e73406f16db0}{O\+T\+F\+\_\+\+Key\+Value\+List} $\ast$list)
\begin{DoxyCompactList}\small\item\em Provide a R\+M\+A end event. \end{DoxyCompactList}\item 
int \hyperlink{group__handler_gad29ec26c722eb7012a83927db6e353ed}{O\+T\+F\+\_\+\+Handler\+\_\+\+Snapshot\+Comment} (void $\ast$user\+Data, uint64\+\_\+t time, uint32\+\_\+t process, const char $\ast$comment, \hyperlink{OTF__KeyValue_8h_acaf1284a372072cdb927e73406f16db0}{O\+T\+F\+\_\+\+Key\+Value\+List} $\ast$list)
\begin{DoxyCompactList}\small\item\em Provides a snapshot comment. \end{DoxyCompactList}\item 
int \hyperlink{group__handler_ga2f60b95d08fe8136d83a39cbef9302dd}{O\+T\+F\+\_\+\+Handler\+\_\+\+Enter\+Snapshot} (void $\ast$user\+Data, uint64\+\_\+t time, uint64\+\_\+t originaltime, uint32\+\_\+t function, uint32\+\_\+t process, uint32\+\_\+t source, \hyperlink{OTF__KeyValue_8h_acaf1284a372072cdb927e73406f16db0}{O\+T\+F\+\_\+\+Key\+Value\+List} $\ast$list)
\begin{DoxyCompactList}\small\item\em provides information about a past function call at the time 'originaltime'. \end{DoxyCompactList}\item 
int \hyperlink{group__handler_ga0f90479adbbe8b698ea58c0595de61db}{O\+T\+F\+\_\+\+Handler\+\_\+\+Send\+Snapshot} (void $\ast$user\+Data, uint64\+\_\+t time, uint64\+\_\+t originaltime, uint32\+\_\+t sender, uint32\+\_\+t receiver, uint32\+\_\+t proc\+Group, uint32\+\_\+t tag, uint32\+\_\+t length, uint32\+\_\+t source, \hyperlink{OTF__KeyValue_8h_acaf1284a372072cdb927e73406f16db0}{O\+T\+F\+\_\+\+Key\+Value\+List} $\ast$list)
\begin{DoxyCompactList}\small\item\em provides information about a past message send operation at the time 'originaltime'. \end{DoxyCompactList}\item 
int \hyperlink{group__handler_ga91ce2573ab7733b82bc4f4e5e729743c}{O\+T\+F\+\_\+\+Handler\+\_\+\+Open\+File\+Snapshot} (void $\ast$user\+Data, uint64\+\_\+t time, uint64\+\_\+t originaltime, uint32\+\_\+t fileid, uint32\+\_\+t process, uint64\+\_\+t handleid, uint32\+\_\+t source, \hyperlink{OTF__KeyValue_8h_acaf1284a372072cdb927e73406f16db0}{O\+T\+F\+\_\+\+Key\+Value\+List} $\ast$list)
\begin{DoxyCompactList}\small\item\em Provides a snapshot record for opened(and not yet closed) files. \end{DoxyCompactList}\item 
int \hyperlink{group__handler_gaa424529adf987ae9c60a49c138985523}{O\+T\+F\+\_\+\+Handler\+\_\+\+Begin\+Collop\+Snapshot} (void $\ast$user\+Data, uint64\+\_\+t time, uint64\+\_\+t originaltime, uint32\+\_\+t process, uint32\+\_\+t coll\+Op, uint64\+\_\+t matching\+Id, uint32\+\_\+t proc\+Group, uint32\+\_\+t root\+Proc, uint64\+\_\+t sent, uint64\+\_\+t received, uint32\+\_\+t scltoken, \hyperlink{OTF__KeyValue_8h_acaf1284a372072cdb927e73406f16db0}{O\+T\+F\+\_\+\+Key\+Value\+List} $\ast$list)
\begin{DoxyCompactList}\small\item\em Provides a snapshot record for unfinished collective operations. \end{DoxyCompactList}\item 
int \hyperlink{group__handler_ga29708a8f841a4e1ce4a6d5bd17886a8f}{O\+T\+F\+\_\+\+Handler\+\_\+\+Begin\+File\+Op\+Snapshot} (void $\ast$user\+Data, uint64\+\_\+t time, uint64\+\_\+t originaltime, uint32\+\_\+t process, uint64\+\_\+t matching\+Id, uint32\+\_\+t scltoken, \hyperlink{OTF__KeyValue_8h_acaf1284a372072cdb927e73406f16db0}{O\+T\+F\+\_\+\+Key\+Value\+List} $\ast$list)
\item 
int \hyperlink{group__handler_ga018abb86ca31e33b388414dac59119f1}{O\+T\+F\+\_\+\+Handler\+\_\+\+Summary\+Comment} (void $\ast$user\+Data, uint64\+\_\+t time, uint32\+\_\+t process, const char $\ast$comment, \hyperlink{OTF__KeyValue_8h_acaf1284a372072cdb927e73406f16db0}{O\+T\+F\+\_\+\+Key\+Value\+List} $\ast$list)
\begin{DoxyCompactList}\small\item\em Provides a summary comment. \end{DoxyCompactList}\item 
int \hyperlink{group__handler_ga01a090fafbb393267ebdcf9d3e83ed6b}{O\+T\+F\+\_\+\+Handler\+\_\+\+Function\+Summary} (void $\ast$user\+Data, uint64\+\_\+t time, uint32\+\_\+t function, uint32\+\_\+t process, uint64\+\_\+t invocations, uint64\+\_\+t excl\+Time, uint64\+\_\+t incl\+Time, \hyperlink{OTF__KeyValue_8h_acaf1284a372072cdb927e73406f16db0}{O\+T\+F\+\_\+\+Key\+Value\+List} $\ast$list)
\begin{DoxyCompactList}\small\item\em Provides summarized information for a given function. \end{DoxyCompactList}\item 
int \hyperlink{group__handler_gaca7f7fa2298950096a6e4f1499adfaa2}{O\+T\+F\+\_\+\+Handler\+\_\+\+Function\+Group\+Summary} (void $\ast$user\+Data, uint64\+\_\+t time, uint32\+\_\+t func\+Group, uint32\+\_\+t process, uint64\+\_\+t invocations, uint64\+\_\+t excl\+Time, uint64\+\_\+t incl\+Time, \hyperlink{OTF__KeyValue_8h_acaf1284a372072cdb927e73406f16db0}{O\+T\+F\+\_\+\+Key\+Value\+List} $\ast$list)
\begin{DoxyCompactList}\small\item\em Provides summarized information for a given group of functiongroups. \end{DoxyCompactList}\item 
int \hyperlink{group__handler_ga9c7ab4365119607f952f24e1c326f8ce}{O\+T\+F\+\_\+\+Handler\+\_\+\+Message\+Summary} (void $\ast$user\+Data, uint64\+\_\+t time, uint32\+\_\+t process, uint32\+\_\+t peer, uint32\+\_\+t comm, uint32\+\_\+t type, uint64\+\_\+t sent\+Number, uint64\+\_\+t received\+Number, uint64\+\_\+t sent\+Bytes, uint64\+\_\+t received\+Bytes, \hyperlink{OTF__KeyValue_8h_acaf1284a372072cdb927e73406f16db0}{O\+T\+F\+\_\+\+Key\+Value\+List} $\ast$list)
\begin{DoxyCompactList}\small\item\em Provides summarized information for a given message type. \end{DoxyCompactList}\item 
int \hyperlink{group__handler_ga15e014cae1d11e90a2450dce13bf2b00}{O\+T\+F\+\_\+\+Handler\+\_\+\+Collop\+Summary} (void $\ast$user\+Data, uint64\+\_\+t time, uint32\+\_\+t process, uint32\+\_\+t comm, uint32\+\_\+t collective, uint64\+\_\+t sent\+Number, uint64\+\_\+t received\+Number, uint64\+\_\+t sent\+Bytes, uint64\+\_\+t received\+Bytes, \hyperlink{OTF__KeyValue_8h_acaf1284a372072cdb927e73406f16db0}{O\+T\+F\+\_\+\+Key\+Value\+List} $\ast$list)
\begin{DoxyCompactList}\small\item\em Provides summarized information for collective operations. \end{DoxyCompactList}\item 
int \hyperlink{group__handler_ga16b1bcacc3294c41f6fcffedf3befc40}{O\+T\+F\+\_\+\+Handler\+\_\+\+File\+Operation\+Summary} (void $\ast$user\+Data, uint64\+\_\+t time, uint32\+\_\+t fileid, uint32\+\_\+t process, uint64\+\_\+t nopen, uint64\+\_\+t nclose, uint64\+\_\+t nread, uint64\+\_\+t nwrite, uint64\+\_\+t nseek, uint64\+\_\+t bytesread, uint64\+\_\+t byteswrite, \hyperlink{OTF__KeyValue_8h_acaf1284a372072cdb927e73406f16db0}{O\+T\+F\+\_\+\+Key\+Value\+List} $\ast$list)
\begin{DoxyCompactList}\small\item\em Provides summarized information about file operations. \end{DoxyCompactList}\item 
int \hyperlink{group__handler_ga20edd4c8cb0f4a6e88bc61d3e382691c}{O\+T\+F\+\_\+\+Handler\+\_\+\+File\+Group\+Operation\+Summary} (void $\ast$user\+Data, uint64\+\_\+t time, uint32\+\_\+t groupid, uint32\+\_\+t process, uint64\+\_\+t nopen, uint64\+\_\+t nclose, uint64\+\_\+t nread, uint64\+\_\+t nwrite, uint64\+\_\+t nseek, uint64\+\_\+t bytesread, uint64\+\_\+t byteswrite, \hyperlink{OTF__KeyValue_8h_acaf1284a372072cdb927e73406f16db0}{O\+T\+F\+\_\+\+Key\+Value\+List} $\ast$list)
\begin{DoxyCompactList}\small\item\em Provides summarized information about file operations in a file group. \end{DoxyCompactList}\item 
int \hyperlink{group__handler_ga8260b551b53340dc06281482dedba53a}{O\+T\+F\+\_\+\+Handler\+\_\+\+Unknown\+Record} (void $\ast$user\+Data, uint64\+\_\+t time, uint32\+\_\+t process, const char $\ast$record)
\begin{DoxyCompactList}\small\item\em Can be used to handle records which cannot be read. \end{DoxyCompactList}\item 
int \hyperlink{group__handler_ga5ef064e8150478040235b28f9b9a10e0}{O\+T\+F\+\_\+\+Handler\+\_\+\+Def\+Marker} (void $\ast$user\+Data, uint32\+\_\+t stream, uint32\+\_\+t token, const char $\ast$name, uint32\+\_\+t type, \hyperlink{OTF__KeyValue_8h_acaf1284a372072cdb927e73406f16db0}{O\+T\+F\+\_\+\+Key\+Value\+List} $\ast$list)
\begin{DoxyCompactList}\small\item\em Define a marker. \end{DoxyCompactList}\item 
int \hyperlink{group__handler_gafc1baae8b667046d750968a7aa0bf61f}{O\+T\+F\+\_\+\+Handler\+\_\+\+Marker} (void $\ast$user\+Data, uint64\+\_\+t time, uint32\+\_\+t process, uint32\+\_\+t token, const char $\ast$text, \hyperlink{OTF__KeyValue_8h_acaf1284a372072cdb927e73406f16db0}{O\+T\+F\+\_\+\+Key\+Value\+List} $\ast$list)
\begin{DoxyCompactList}\small\item\em Define a marker. \end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Detailed Description}
In the following, the handler interfaces for all record types are specified. 

The signature of callback handler functions is equal to the signature of corresponding record write functions except for the first argument. The first argument common to all callback handler functions is {\itshape user\+Data} -- a generic pointer to custom user data. The second common argument to all callback hander functions is {\itshape stream} which identifies the stream where the definition occurred. A stream parameter = 0 indicates a global definition which is the default. 

\subsection{Function Documentation}
\hypertarget{group__handler_ga29f86ef37782a6f551c3f70e26689371}{\index{Handler Interface@{Handler Interface}!O\+T\+F\+\_\+\+Handler\+\_\+\+Begin\+Collective\+Operation@{O\+T\+F\+\_\+\+Handler\+\_\+\+Begin\+Collective\+Operation}}
\index{O\+T\+F\+\_\+\+Handler\+\_\+\+Begin\+Collective\+Operation@{O\+T\+F\+\_\+\+Handler\+\_\+\+Begin\+Collective\+Operation}!Handler Interface@{Handler Interface}}
\subsubsection[{O\+T\+F\+\_\+\+Handler\+\_\+\+Begin\+Collective\+Operation}]{\setlength{\rightskip}{0pt plus 5cm}int O\+T\+F\+\_\+\+Handler\+\_\+\+Begin\+Collective\+Operation (
\begin{DoxyParamCaption}
\item[{void $\ast$}]{user\+Data, }
\item[{uint64\+\_\+t}]{time, }
\item[{uint32\+\_\+t}]{process, }
\item[{uint32\+\_\+t}]{coll\+Op, }
\item[{uint64\+\_\+t}]{matching\+Id, }
\item[{uint32\+\_\+t}]{proc\+Group, }
\item[{uint32\+\_\+t}]{root\+Proc, }
\item[{uint64\+\_\+t}]{sent, }
\item[{uint64\+\_\+t}]{received, }
\item[{uint32\+\_\+t}]{scltoken, }
\item[{{\bf O\+T\+F\+\_\+\+Key\+Value\+List} $\ast$}]{list}
\end{DoxyParamCaption}
)}}\label{group__handler_ga29f86ef37782a6f551c3f70e26689371}


Provides a begin collective operation member event. 


\begin{DoxyParams}{Parameters}
{\em user\+Data} & Pointer to user data which can be set with \hyperlink{group__ha_ga65c9d10752139ca29dedd1baeebc146e}{O\+T\+F\+\_\+\+Handler\+Array\+\_\+set\+First\+Handler\+Arg()}. \\
\hline
{\em time} & Time when collective operation was entered by member. \\
\hline
{\em process} & \hyperlink{structProcess}{Process} identifier i.\+e. collective member. \\
\hline
{\em coll\+Op} & Collective identifier to be defined with \hyperlink{group__writer_ga001d8415b10402f81fb41a2c93b4ad68}{O\+T\+F\+\_\+\+Writer\+\_\+write\+Def\+Collective\+Operation()}. \\
\hline
{\em matching\+Id} & Identifier for finding the associated end collective event record. It must be unique within this process. \\
\hline
{\em proc\+Group} & \hyperlink{classGroup}{Group} of processes participating in this collective. \\
\hline
{\em root\+Proc} & Root process if != 0. \\
\hline
{\em sent} & Data volume sent by member or 0. \\
\hline
{\em received} & Data volume received by member or 0. \\
\hline
{\em scltoken} & Explicit source code location or 0.\\
\hline
{\em list} & Pointer to an \hyperlink{OTF__KeyValue_8h_acaf1284a372072cdb927e73406f16db0}{O\+T\+F\+\_\+\+Key\+Value\+List()} that contains individual data.\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
1 on success, 0 if an error occurs. 
\end{DoxyReturn}
\hypertarget{group__handler_gaa424529adf987ae9c60a49c138985523}{\index{Handler Interface@{Handler Interface}!O\+T\+F\+\_\+\+Handler\+\_\+\+Begin\+Collop\+Snapshot@{O\+T\+F\+\_\+\+Handler\+\_\+\+Begin\+Collop\+Snapshot}}
\index{O\+T\+F\+\_\+\+Handler\+\_\+\+Begin\+Collop\+Snapshot@{O\+T\+F\+\_\+\+Handler\+\_\+\+Begin\+Collop\+Snapshot}!Handler Interface@{Handler Interface}}
\subsubsection[{O\+T\+F\+\_\+\+Handler\+\_\+\+Begin\+Collop\+Snapshot}]{\setlength{\rightskip}{0pt plus 5cm}int O\+T\+F\+\_\+\+Handler\+\_\+\+Begin\+Collop\+Snapshot (
\begin{DoxyParamCaption}
\item[{void $\ast$}]{user\+Data, }
\item[{uint64\+\_\+t}]{time, }
\item[{uint64\+\_\+t}]{originaltime, }
\item[{uint32\+\_\+t}]{process, }
\item[{uint32\+\_\+t}]{coll\+Op, }
\item[{uint64\+\_\+t}]{matching\+Id, }
\item[{uint32\+\_\+t}]{proc\+Group, }
\item[{uint32\+\_\+t}]{root\+Proc, }
\item[{uint64\+\_\+t}]{sent, }
\item[{uint64\+\_\+t}]{received, }
\item[{uint32\+\_\+t}]{scltoken, }
\item[{{\bf O\+T\+F\+\_\+\+Key\+Value\+List} $\ast$}]{list}
\end{DoxyParamCaption}
)}}\label{group__handler_gaa424529adf987ae9c60a49c138985523}


Provides a snapshot record for unfinished collective operations. 


\begin{DoxyParams}{Parameters}
{\em user\+Data} & Pointer to user data which can be set with \hyperlink{group__ha_ga65c9d10752139ca29dedd1baeebc146e}{O\+T\+F\+\_\+\+Handler\+Array\+\_\+set\+First\+Handler\+Arg()}. \\
\hline
{\em time} & Current timestamp. \\
\hline
{\em originaltime} & Time when the collective operation began. \\
\hline
{\em process} & \hyperlink{structProcess}{Process} identifier. \\
\hline
{\em coll\+Op} & Collective identifier to be defined with \hyperlink{group__writer_ga001d8415b10402f81fb41a2c93b4ad68}{O\+T\+F\+\_\+\+Writer\+\_\+write\+Def\+Collective\+Operation()}. \\
\hline
{\em matching\+Id} & Identifier for finding the associated end collective event record. It must be unique within this proc\+Group. \\
\hline
{\em proc\+Group} & \hyperlink{classGroup}{Group} of processes participating in this collective. \\
\hline
{\em root\+Proc} & Root process if != 0. \\
\hline
{\em sent} & Data volume sent by member or 0. \\
\hline
{\em received} & Data volume received by member or 0. \\
\hline
{\em scltoken} & Optional reference to source code.\\
\hline
{\em list} & Pointer to an \hyperlink{OTF__KeyValue_8h_acaf1284a372072cdb927e73406f16db0}{O\+T\+F\+\_\+\+Key\+Value\+List()} that contains individual data. \\
\hline
\end{DoxyParams}
\hypertarget{group__handler_ga144cafbda1e7a17d92f63a3657a7c484}{\index{Handler Interface@{Handler Interface}!O\+T\+F\+\_\+\+Handler\+\_\+\+Begin\+File\+Operation@{O\+T\+F\+\_\+\+Handler\+\_\+\+Begin\+File\+Operation}}
\index{O\+T\+F\+\_\+\+Handler\+\_\+\+Begin\+File\+Operation@{O\+T\+F\+\_\+\+Handler\+\_\+\+Begin\+File\+Operation}!Handler Interface@{Handler Interface}}
\subsubsection[{O\+T\+F\+\_\+\+Handler\+\_\+\+Begin\+File\+Operation}]{\setlength{\rightskip}{0pt plus 5cm}int O\+T\+F\+\_\+\+Handler\+\_\+\+Begin\+File\+Operation (
\begin{DoxyParamCaption}
\item[{void $\ast$}]{user\+Data, }
\item[{uint64\+\_\+t}]{time, }
\item[{uint32\+\_\+t}]{process, }
\item[{uint64\+\_\+t}]{matching\+Id, }
\item[{uint32\+\_\+t}]{scltoken, }
\item[{{\bf O\+T\+F\+\_\+\+Key\+Value\+List} $\ast$}]{list}
\end{DoxyParamCaption}
)}}\label{group__handler_ga144cafbda1e7a17d92f63a3657a7c484}


Write a begin file operation record. 


\begin{DoxyParams}{Parameters}
{\em user\+Data} & Pointer to user data which can be set with \hyperlink{group__ha_ga65c9d10752139ca29dedd1baeebc146e}{O\+T\+F\+\_\+\+Handler\+Array\+\_\+set\+First\+Handler\+Arg()}. \\
\hline
{\em time} & Start time of file operation. \\
\hline
{\em process} & \hyperlink{structProcess}{Process} identifier $>$ 0. \\
\hline
{\em matching\+Id} & Operation identifier, used for finding the associated end file operation event record. \\
\hline
{\em scltoken} & Optional reference to source code.\\
\hline
{\em list} & Pointer to an \hyperlink{OTF__KeyValue_8h_acaf1284a372072cdb927e73406f16db0}{O\+T\+F\+\_\+\+Key\+Value\+List()} that contains individual data.\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
1 on success, 0 if an error occurs. 
\end{DoxyReturn}
\hypertarget{group__handler_ga29708a8f841a4e1ce4a6d5bd17886a8f}{\index{Handler Interface@{Handler Interface}!O\+T\+F\+\_\+\+Handler\+\_\+\+Begin\+File\+Op\+Snapshot@{O\+T\+F\+\_\+\+Handler\+\_\+\+Begin\+File\+Op\+Snapshot}}
\index{O\+T\+F\+\_\+\+Handler\+\_\+\+Begin\+File\+Op\+Snapshot@{O\+T\+F\+\_\+\+Handler\+\_\+\+Begin\+File\+Op\+Snapshot}!Handler Interface@{Handler Interface}}
\subsubsection[{O\+T\+F\+\_\+\+Handler\+\_\+\+Begin\+File\+Op\+Snapshot}]{\setlength{\rightskip}{0pt plus 5cm}int O\+T\+F\+\_\+\+Handler\+\_\+\+Begin\+File\+Op\+Snapshot (
\begin{DoxyParamCaption}
\item[{void $\ast$}]{user\+Data, }
\item[{uint64\+\_\+t}]{time, }
\item[{uint64\+\_\+t}]{originaltime, }
\item[{uint32\+\_\+t}]{process, }
\item[{uint64\+\_\+t}]{matching\+Id, }
\item[{uint32\+\_\+t}]{scltoken, }
\item[{{\bf O\+T\+F\+\_\+\+Key\+Value\+List} $\ast$}]{list}
\end{DoxyParamCaption}
)}}\label{group__handler_ga29708a8f841a4e1ce4a6d5bd17886a8f}

\begin{DoxyParams}{Parameters}
{\em user\+Data} & Pointer to user data which can be set with \hyperlink{group__ha_ga65c9d10752139ca29dedd1baeebc146e}{O\+T\+F\+\_\+\+Handler\+Array\+\_\+set\+First\+Handler\+Arg()}. \\
\hline
{\em time} & Current timestamp. \\
\hline
{\em originaltime} & Timestamp when the file has been opened. \\
\hline
{\em process} & \hyperlink{structProcess}{Process} identifier. \\
\hline
{\em matching\+Id} & Identifier for finding the associated end file operation event record. It must be unique. \\
\hline
{\em scltoken} & Optional reference to source code.\\
\hline
{\em list} & Pointer to an \hyperlink{OTF__KeyValue_8h_acaf1284a372072cdb927e73406f16db0}{O\+T\+F\+\_\+\+Key\+Value\+List()} that contains individual data. \\
\hline
\end{DoxyParams}
\hypertarget{group__handler_ga584e81592f639c72efcd466502291eef}{\index{Handler Interface@{Handler Interface}!O\+T\+F\+\_\+\+Handler\+\_\+\+Begin\+Process@{O\+T\+F\+\_\+\+Handler\+\_\+\+Begin\+Process}}
\index{O\+T\+F\+\_\+\+Handler\+\_\+\+Begin\+Process@{O\+T\+F\+\_\+\+Handler\+\_\+\+Begin\+Process}!Handler Interface@{Handler Interface}}
\subsubsection[{O\+T\+F\+\_\+\+Handler\+\_\+\+Begin\+Process}]{\setlength{\rightskip}{0pt plus 5cm}int O\+T\+F\+\_\+\+Handler\+\_\+\+Begin\+Process (
\begin{DoxyParamCaption}
\item[{void $\ast$}]{user\+Data, }
\item[{uint64\+\_\+t}]{time, }
\item[{uint32\+\_\+t}]{process, }
\item[{{\bf O\+T\+F\+\_\+\+Key\+Value\+List} $\ast$}]{list}
\end{DoxyParamCaption}
)}}\label{group__handler_ga584e81592f639c72efcd466502291eef}


Provides a process creation event. 

Marks the explicit begin of a process. This event precedes the very first event of the respective process and should carry the same time stamp. This is especially useful with on-\/line analysis. It tells whether there will be additional records for the given process or not. Without this record type, it could only be guessed that there might not follow more events after a process has reached the bottom of the call stack.


\begin{DoxyParams}{Parameters}
{\em user\+Data} & Pointer to user data which can be set with \hyperlink{group__ha_ga65c9d10752139ca29dedd1baeebc146e}{O\+T\+F\+\_\+\+Handler\+Array\+\_\+set\+First\+Handler\+Arg()}. \\
\hline
{\em time} & Time when process was referenced for the first time. \\
\hline
{\em process} & \hyperlink{structProcess}{Process} identifier $>$ 0.\\
\hline
{\em list} & Pointer to an \hyperlink{OTF__KeyValue_8h_acaf1284a372072cdb927e73406f16db0}{O\+T\+F\+\_\+\+Key\+Value\+List()} that contains individual data.\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
O\+T\+F\+\_\+\+R\+E\+T\+U\+R\+N\+\_\+\+A\+B\+O\+R\+T for aborting the reading process immediately O\+T\+F\+\_\+\+R\+E\+T\+U\+R\+N\+\_\+\+O\+K for continue reading 
\end{DoxyReturn}
\hypertarget{group__handler_gad5d39ac2b948b7c505bfa3b64da31c6e}{\index{Handler Interface@{Handler Interface}!O\+T\+F\+\_\+\+Handler\+\_\+\+Collective\+Operation@{O\+T\+F\+\_\+\+Handler\+\_\+\+Collective\+Operation}}
\index{O\+T\+F\+\_\+\+Handler\+\_\+\+Collective\+Operation@{O\+T\+F\+\_\+\+Handler\+\_\+\+Collective\+Operation}!Handler Interface@{Handler Interface}}
\subsubsection[{O\+T\+F\+\_\+\+Handler\+\_\+\+Collective\+Operation}]{\setlength{\rightskip}{0pt plus 5cm}int O\+T\+F\+\_\+\+Handler\+\_\+\+Collective\+Operation (
\begin{DoxyParamCaption}
\item[{void $\ast$}]{user\+Data, }
\item[{uint64\+\_\+t}]{time, }
\item[{uint32\+\_\+t}]{process, }
\item[{uint32\+\_\+t}]{collective, }
\item[{uint32\+\_\+t}]{proc\+Group, }
\item[{uint32\+\_\+t}]{root\+Proc, }
\item[{uint32\+\_\+t}]{sent, }
\item[{uint32\+\_\+t}]{received, }
\item[{uint64\+\_\+t}]{duration, }
\item[{uint32\+\_\+t}]{source, }
\item[{{\bf O\+T\+F\+\_\+\+Key\+Value\+List} $\ast$}]{list}
\end{DoxyParamCaption}
)}}\label{group__handler_gad5d39ac2b948b7c505bfa3b64da31c6e}


Provides a collective operation member event. 


\begin{DoxyParams}{Parameters}
{\em user\+Data} & Pointer to user data which can be set with \hyperlink{group__ha_ga65c9d10752139ca29dedd1baeebc146e}{O\+T\+F\+\_\+\+Handler\+Array\+\_\+set\+First\+Handler\+Arg()}. \\
\hline
{\em time} & Time when collective operation was entered by member. \\
\hline
{\em process} & \hyperlink{structProcess}{Process} identifier i.\+e. collective member. \\
\hline
{\em collective} & Collective identifier as defined with \hyperlink{group__handler_ga2a8e0d62c92f747bac86ee41f7b12a3a}{O\+T\+F\+\_\+\+Handler\+\_\+\+Def\+Collective\+Operation()}. \\
\hline
{\em proc\+Group} & \hyperlink{classGroup}{Group} of processes participating in this collective. \\
\hline
{\em root\+Proc} & Root process if != 0. \\
\hline
{\em sent} & Data volume sent by member or 0. \\
\hline
{\em received} & Data volume received by member or 0. \\
\hline
{\em duration} & Time spent in collective operation. \\
\hline
{\em source} & Explicit source code location or 0.\\
\hline
{\em list} & Pointer to an \hyperlink{OTF__KeyValue_8h_acaf1284a372072cdb927e73406f16db0}{O\+T\+F\+\_\+\+Key\+Value\+List()} that contains individual data.\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
O\+T\+F\+\_\+\+R\+E\+T\+U\+R\+N\+\_\+\+A\+B\+O\+R\+T for aborting the reading process immediately O\+T\+F\+\_\+\+R\+E\+T\+U\+R\+N\+\_\+\+O\+K for continue reading 
\end{DoxyReturn}
\hypertarget{group__handler_ga15e014cae1d11e90a2450dce13bf2b00}{\index{Handler Interface@{Handler Interface}!O\+T\+F\+\_\+\+Handler\+\_\+\+Collop\+Summary@{O\+T\+F\+\_\+\+Handler\+\_\+\+Collop\+Summary}}
\index{O\+T\+F\+\_\+\+Handler\+\_\+\+Collop\+Summary@{O\+T\+F\+\_\+\+Handler\+\_\+\+Collop\+Summary}!Handler Interface@{Handler Interface}}
\subsubsection[{O\+T\+F\+\_\+\+Handler\+\_\+\+Collop\+Summary}]{\setlength{\rightskip}{0pt plus 5cm}int O\+T\+F\+\_\+\+Handler\+\_\+\+Collop\+Summary (
\begin{DoxyParamCaption}
\item[{void $\ast$}]{user\+Data, }
\item[{uint64\+\_\+t}]{time, }
\item[{uint32\+\_\+t}]{process, }
\item[{uint32\+\_\+t}]{comm, }
\item[{uint32\+\_\+t}]{collective, }
\item[{uint64\+\_\+t}]{sent\+Number, }
\item[{uint64\+\_\+t}]{received\+Number, }
\item[{uint64\+\_\+t}]{sent\+Bytes, }
\item[{uint64\+\_\+t}]{received\+Bytes, }
\item[{{\bf O\+T\+F\+\_\+\+Key\+Value\+List} $\ast$}]{list}
\end{DoxyParamCaption}
)}}\label{group__handler_ga15e014cae1d11e90a2450dce13bf2b00}


Provides summarized information for collective operations. 


\begin{DoxyParams}{Parameters}
{\em user\+Data} & Pointer to user data which can be set with \hyperlink{group__ha_ga65c9d10752139ca29dedd1baeebc146e}{O\+T\+F\+\_\+\+Handler\+Array\+\_\+set\+First\+Handler\+Arg()}. \\
\hline
{\em time} & Time when summary was computed. \\
\hline
{\em process} & \hyperlink{structProcess}{Process} identifier i.\+e. collective member. \\
\hline
{\em comm} & Communicator of collective operation summary. \\
\hline
{\em collective} & Collective identifier as defined with \hyperlink{group__handler_ga2a8e0d62c92f747bac86ee41f7b12a3a}{O\+T\+F\+\_\+\+Handler\+\_\+\+Def\+Collective\+Operation()}. \\
\hline
{\em sent\+Number} & The number of messages sent by member or 0. \\
\hline
{\em received\+Number} & The number of messages received by member or 0. \\
\hline
{\em sent\+Bytes} & The number of bytes sent by member or 0. \\
\hline
{\em received\+Bytes} & The number of bytes received by member or 0.\\
\hline
{\em list} & Pointer to an \hyperlink{OTF__KeyValue_8h_acaf1284a372072cdb927e73406f16db0}{O\+T\+F\+\_\+\+Key\+Value\+List()} that contains individual data.\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
O\+T\+F\+\_\+\+R\+E\+T\+U\+R\+N\+\_\+\+A\+B\+O\+R\+T for aborting the reading process immediately O\+T\+F\+\_\+\+R\+E\+T\+U\+R\+N\+\_\+\+O\+K for continue reading 
\end{DoxyReturn}
\hypertarget{group__handler_gaa9a78011802eb163a2e84cfad719e689}{\index{Handler Interface@{Handler Interface}!O\+T\+F\+\_\+\+Handler\+\_\+\+Counter@{O\+T\+F\+\_\+\+Handler\+\_\+\+Counter}}
\index{O\+T\+F\+\_\+\+Handler\+\_\+\+Counter@{O\+T\+F\+\_\+\+Handler\+\_\+\+Counter}!Handler Interface@{Handler Interface}}
\subsubsection[{O\+T\+F\+\_\+\+Handler\+\_\+\+Counter}]{\setlength{\rightskip}{0pt plus 5cm}int O\+T\+F\+\_\+\+Handler\+\_\+\+Counter (
\begin{DoxyParamCaption}
\item[{void $\ast$}]{user\+Data, }
\item[{uint64\+\_\+t}]{time, }
\item[{uint32\+\_\+t}]{process, }
\item[{uint32\+\_\+t}]{counter, }
\item[{uint64\+\_\+t}]{value, }
\item[{{\bf O\+T\+F\+\_\+\+Key\+Value\+List} $\ast$}]{list}
\end{DoxyParamCaption}
)}}\label{group__handler_gaa9a78011802eb163a2e84cfad719e689}


Provides a counter measurement. 


\begin{DoxyParams}{Parameters}
{\em user\+Data} & Pointer to user data which can be set with \hyperlink{group__ha_ga65c9d10752139ca29dedd1baeebc146e}{O\+T\+F\+\_\+\+Handler\+Array\+\_\+set\+First\+Handler\+Arg()}. \\
\hline
{\em time} & Time when counter was measured. \\
\hline
{\em process} & \hyperlink{structProcess}{Process} where counter measurment took place. \\
\hline
{\em counter} & Counter which was measured. \\
\hline
{\em value} & Counter value.\\
\hline
{\em list} & Pointer to an \hyperlink{OTF__KeyValue_8h_acaf1284a372072cdb927e73406f16db0}{O\+T\+F\+\_\+\+Key\+Value\+List()} that contains individual data.\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
O\+T\+F\+\_\+\+R\+E\+T\+U\+R\+N\+\_\+\+A\+B\+O\+R\+T for aborting the reading process immediately O\+T\+F\+\_\+\+R\+E\+T\+U\+R\+N\+\_\+\+O\+K for continue reading 
\end{DoxyReturn}
\hypertarget{group__handler_ga7cc575b0f8b8a83dd2c6eb6f28d629b9}{\index{Handler Interface@{Handler Interface}!O\+T\+F\+\_\+\+Handler\+\_\+\+Def\+Attribute\+List@{O\+T\+F\+\_\+\+Handler\+\_\+\+Def\+Attribute\+List}}
\index{O\+T\+F\+\_\+\+Handler\+\_\+\+Def\+Attribute\+List@{O\+T\+F\+\_\+\+Handler\+\_\+\+Def\+Attribute\+List}!Handler Interface@{Handler Interface}}
\subsubsection[{O\+T\+F\+\_\+\+Handler\+\_\+\+Def\+Attribute\+List}]{\setlength{\rightskip}{0pt plus 5cm}int O\+T\+F\+\_\+\+Handler\+\_\+\+Def\+Attribute\+List (
\begin{DoxyParamCaption}
\item[{void $\ast$}]{user\+Data, }
\item[{uint32\+\_\+t}]{stream, }
\item[{uint32\+\_\+t}]{attr\+\_\+token, }
\item[{uint32\+\_\+t}]{num, }
\item[{{\bf O\+T\+F\+\_\+\+A\+T\+T\+R\+\_\+\+T\+Y\+P\+E} $\ast$}]{array, }
\item[{{\bf O\+T\+F\+\_\+\+Key\+Value\+List} $\ast$}]{list}
\end{DoxyParamCaption}
)}}\label{group__handler_ga7cc575b0f8b8a83dd2c6eb6f28d629b9}


Provides a list of attributes that is assigned to a unique token. 


\begin{DoxyParams}{Parameters}
{\em user\+Data} & Pointer to user data which can be set with \hyperlink{group__ha_ga65c9d10752139ca29dedd1baeebc146e}{O\+T\+F\+\_\+\+Handler\+Array\+\_\+set\+First\+Handler\+Arg()}. \\
\hline
{\em stream} & Identifies the stream to which this definition belongs to. stream = 0 represents a global definition. \\
\hline
{\em attr\+\_\+token} & Arbitrary but unique attribute list identifier $>$ 0. \\
\hline
{\em num} & Number of elements in the attribute list array. \\
\hline
{\em array} & An array of different attributes with type of \hyperlink{OTF__Definitions_8h_a0befdb643b01977d2a93431ca0709e9c}{O\+T\+F\+\_\+\+A\+T\+T\+R\+\_\+\+T\+Y\+P\+E()}.\\
\hline
{\em list} & Pointer to an \hyperlink{OTF__KeyValue_8h_acaf1284a372072cdb927e73406f16db0}{O\+T\+F\+\_\+\+Key\+Value\+List()} that contains individual data.\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
O\+T\+F\+\_\+\+R\+E\+T\+U\+R\+N\+\_\+\+A\+B\+O\+R\+T for aborting the reading process immediately O\+T\+F\+\_\+\+R\+E\+T\+U\+R\+N\+\_\+\+O\+K for continue reading 
\end{DoxyReturn}
\hypertarget{group__handler_ga2a8e0d62c92f747bac86ee41f7b12a3a}{\index{Handler Interface@{Handler Interface}!O\+T\+F\+\_\+\+Handler\+\_\+\+Def\+Collective\+Operation@{O\+T\+F\+\_\+\+Handler\+\_\+\+Def\+Collective\+Operation}}
\index{O\+T\+F\+\_\+\+Handler\+\_\+\+Def\+Collective\+Operation@{O\+T\+F\+\_\+\+Handler\+\_\+\+Def\+Collective\+Operation}!Handler Interface@{Handler Interface}}
\subsubsection[{O\+T\+F\+\_\+\+Handler\+\_\+\+Def\+Collective\+Operation}]{\setlength{\rightskip}{0pt plus 5cm}int O\+T\+F\+\_\+\+Handler\+\_\+\+Def\+Collective\+Operation (
\begin{DoxyParamCaption}
\item[{void $\ast$}]{user\+Data, }
\item[{uint32\+\_\+t}]{stream, }
\item[{uint32\+\_\+t}]{coll\+Op, }
\item[{const char $\ast$}]{name, }
\item[{uint32\+\_\+t}]{type, }
\item[{{\bf O\+T\+F\+\_\+\+Key\+Value\+List} $\ast$}]{list}
\end{DoxyParamCaption}
)}}\label{group__handler_ga2a8e0d62c92f747bac86ee41f7b12a3a}


Provides a collective operation definition. 


\begin{DoxyParams}{Parameters}
{\em user\+Data} & Pointer to user data which can be set with \hyperlink{group__ha_ga65c9d10752139ca29dedd1baeebc146e}{O\+T\+F\+\_\+\+Handler\+Array\+\_\+set\+First\+Handler\+Arg()}. \\
\hline
{\em stream} & Identifies the stream to which this definition belongs to. stream = 0 represents a global definition. \\
\hline
{\em coll\+Op} & An arbitrary but unique collective op. identifier $>$ 0. \\
\hline
{\em name} & Name of the collective operation e.\+g. \char`\"{}\+M\+P\+I\+\_\+\+Bcast\char`\"{}. \\
\hline
{\em type} & One of the five supported collective classes\+: O\+T\+F\+\_\+\+C\+O\+L\+L\+E\+C\+T\+I\+V\+E\+\_\+\+T\+Y\+P\+E\+\_\+\+U\+N\+K\+N\+O\+W\+N (default), O\+T\+F\+\_\+\+C\+O\+L\+L\+E\+C\+T\+I\+V\+E\+\_\+\+T\+Y\+P\+E\+\_\+\+B\+A\+R\+R\+I\+E\+R, O\+T\+F\+\_\+\+C\+O\+L\+L\+E\+C\+T\+I\+V\+E\+\_\+\+T\+Y\+P\+E\+\_\+\+O\+N\+E2\+A\+L\+L, O\+T\+F\+\_\+\+C\+O\+L\+L\+E\+C\+T\+I\+V\+E\+\_\+\+T\+Y\+P\+E\+\_\+\+A\+L\+L2\+O\+N\+E, O\+T\+F\+\_\+\+C\+O\+L\+L\+E\+C\+T\+I\+V\+E\+\_\+\+T\+Y\+P\+E\+\_\+\+A\+L\+L2\+A\+L\+L.\\
\hline
{\em list} & Pointer to an \hyperlink{OTF__KeyValue_8h_acaf1284a372072cdb927e73406f16db0}{O\+T\+F\+\_\+\+Key\+Value\+List()} that contains individual data.\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
O\+T\+F\+\_\+\+R\+E\+T\+U\+R\+N\+\_\+\+A\+B\+O\+R\+T for aborting the reading process immediately O\+T\+F\+\_\+\+R\+E\+T\+U\+R\+N\+\_\+\+O\+K for continue reading 
\end{DoxyReturn}
\hypertarget{group__handler_ga54af8c9ceb1cb8b32711bbf4b0c1c3d2}{\index{Handler Interface@{Handler Interface}!O\+T\+F\+\_\+\+Handler\+\_\+\+Def\+Counter@{O\+T\+F\+\_\+\+Handler\+\_\+\+Def\+Counter}}
\index{O\+T\+F\+\_\+\+Handler\+\_\+\+Def\+Counter@{O\+T\+F\+\_\+\+Handler\+\_\+\+Def\+Counter}!Handler Interface@{Handler Interface}}
\subsubsection[{O\+T\+F\+\_\+\+Handler\+\_\+\+Def\+Counter}]{\setlength{\rightskip}{0pt plus 5cm}int O\+T\+F\+\_\+\+Handler\+\_\+\+Def\+Counter (
\begin{DoxyParamCaption}
\item[{void $\ast$}]{user\+Data, }
\item[{uint32\+\_\+t}]{stream, }
\item[{uint32\+\_\+t}]{counter, }
\item[{const char $\ast$}]{name, }
\item[{uint32\+\_\+t}]{properties, }
\item[{uint32\+\_\+t}]{counter\+Group, }
\item[{const char $\ast$}]{unit, }
\item[{{\bf O\+T\+F\+\_\+\+Key\+Value\+List} $\ast$}]{list}
\end{DoxyParamCaption}
)}}\label{group__handler_ga54af8c9ceb1cb8b32711bbf4b0c1c3d2}


Provides a counter definition. 


\begin{DoxyParams}{Parameters}
{\em user\+Data} & Pointer to user data which can be set with \hyperlink{group__ha_ga65c9d10752139ca29dedd1baeebc146e}{O\+T\+F\+\_\+\+Handler\+Array\+\_\+set\+First\+Handler\+Arg()}. \\
\hline
{\em stream} & Identifies the stream to which this definition belongs to. stream = 0 represents a global definition. \\
\hline
{\em counter} & An arbitrary but unique counter identifier. \\
\hline
{\em name} & Name of the counter e.\+g. \char`\"{}\+Cache Misses\char`\"{}. \\
\hline
{\em properties} & A combination of a type, scope and vartype counter property. O\+T\+F\+\_\+\+C\+O\+U\+N\+T\+E\+R\+\_\+\+T\+Y\+P\+E\+\_\+\+A\+C\+C (default) represents a counter with monotonously increasing values e.\+g. a F\+L\+O\+P counter. O\+T\+F\+\_\+\+C\+O\+U\+N\+T\+E\+R\+\_\+\+T\+Y\+P\+E\+\_\+\+A\+B\+S on the other hand defines a counter with alternating absolute values e.\+g. the memory usage of a process. The following counter measurement scopes are supported\+: O\+T\+F\+\_\+\+C\+O\+U\+N\+T\+E\+R\+\_\+\+S\+C\+O\+P\+E\+\_\+\+S\+T\+A\+R\+T (default) always refers to the start of the process, O\+T\+F\+\_\+\+C\+O\+U\+N\+T\+E\+R\+\_\+\+S\+C\+O\+P\+E\+\_\+\+P\+O\+I\+N\+T refers to exactly this moment in time, O\+T\+F\+\_\+\+C\+O\+U\+N\+T\+E\+R\+\_\+\+S\+C\+O\+P\+E\+\_\+\+L\+A\+S\+T relates to the previous measurement, and O\+T\+F\+\_\+\+C\+O\+U\+N\+T\+E\+R\+\_\+\+S\+C\+O\+P\+E\+\_\+\+N\+E\+X\+T to the next measurement. Examples\+: O\+T\+F\+\_\+\+C\+O\+U\+N\+T\+E\+R\+\_\+\+T\+Y\+P\+E\+\_\+\+A\+C\+C + O\+T\+F\+\_\+\+C\+O\+U\+N\+T\+E\+R\+\_\+\+S\+C\+O\+P\+E\+\_\+\+S\+T\+A\+R\+T should be used for most standard hardware (P\+A\+P\+I) counters. O\+T\+F\+\_\+\+C\+O\+U\+N\+T\+E\+R\+\_\+\+T\+Y\+P\+E\+\_\+\+A\+B\+S + O\+T\+F\+\_\+\+C\+O\+U\+N\+T\+E\+R\+\_\+\+S\+C\+O\+P\+E\+\_\+\+P\+O\+I\+N\+T could be used to record information 'spikes'. O\+T\+F\+\_\+\+C\+O\+U\+N\+T\+E\+R\+\_\+\+T\+Y\+P\+E\+\_\+\+A\+B\+S + O\+T\+F\+\_\+\+C\+O\+U\+N\+T\+E\+R\+\_\+\+S\+C\+O\+P\+E\+\_\+\+N\+E\+X\+T works for memory allocation recording. The data type can be one of the following\+: C\+O\+U\+N\+T\+E\+R\+\_\+\+V\+A\+R\+T\+Y\+P\+E\+\_\+\{U\+N\+S\+I\+G\+N\+E\+D8,S\+I\+G\+N\+E\+D8,U\+N\+S\+I\+G\+N\+E\+D4,S\+I\+G\+N\+E\+D4, U\+N\+S\+I\+G\+N\+E\+D2,S\+I\+G\+N\+E\+D2,D\+O\+U\+B\+L\+E,F\+L\+O\+A\+T\} You may also use C\+O\+U\+N\+T\+E\+R\+\_\+\+V\+A\+R\+T\+Y\+P\+E\+\_\+\+I\+S\{I\+N\+T\+E\+G\+E\+R,S\+I\+G\+N\+E\+D, U\+N\+S\+I\+G\+N\+E\+D\}(property) to a get a clue about the data type. \\
\hline
{\em counter\+Group} & A previously defined counter group identifier or 0 for no group. \\
\hline
{\em unit} & Unit of the counter e.\+g. \char`\"{}\#\char`\"{} for \char`\"{}number of...\char`\"{} or 0 for no unit.\\
\hline
{\em list} & Pointer to an \hyperlink{OTF__KeyValue_8h_acaf1284a372072cdb927e73406f16db0}{O\+T\+F\+\_\+\+Key\+Value\+List()} that contains individual data.\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
O\+T\+F\+\_\+\+R\+E\+T\+U\+R\+N\+\_\+\+A\+B\+O\+R\+T for aborting the reading process immediately O\+T\+F\+\_\+\+R\+E\+T\+U\+R\+N\+\_\+\+O\+K for continue reading 
\end{DoxyReturn}
\hypertarget{group__handler_ga244002346a0b9b9e1fad7d21e45579a1}{\index{Handler Interface@{Handler Interface}!O\+T\+F\+\_\+\+Handler\+\_\+\+Def\+Counter\+Assignments@{O\+T\+F\+\_\+\+Handler\+\_\+\+Def\+Counter\+Assignments}}
\index{O\+T\+F\+\_\+\+Handler\+\_\+\+Def\+Counter\+Assignments@{O\+T\+F\+\_\+\+Handler\+\_\+\+Def\+Counter\+Assignments}!Handler Interface@{Handler Interface}}
\subsubsection[{O\+T\+F\+\_\+\+Handler\+\_\+\+Def\+Counter\+Assignments}]{\setlength{\rightskip}{0pt plus 5cm}int O\+T\+F\+\_\+\+Handler\+\_\+\+Def\+Counter\+Assignments (
\begin{DoxyParamCaption}
\item[{void $\ast$}]{user\+Data, }
\item[{uint32\+\_\+t}]{stream, }
\item[{uint32\+\_\+t}]{counter, }
\item[{uint32\+\_\+t}]{number\+\_\+of\+\_\+members, }
\item[{const uint32\+\_\+t $\ast$}]{procs\+\_\+or\+\_\+groups, }
\item[{{\bf O\+T\+F\+\_\+\+Key\+Value\+List} $\ast$}]{list}
\end{DoxyParamCaption}
)}}\label{group__handler_ga244002346a0b9b9e1fad7d21e45579a1}


Provides a Counter\+Assignments definition. 


\begin{DoxyParams}{Parameters}
{\em user\+Data} & Pointer to user data which can be set with \hyperlink{group__ha_ga65c9d10752139ca29dedd1baeebc146e}{O\+T\+F\+\_\+\+Handler\+Array\+\_\+set\+First\+Handler\+Arg()}. \\
\hline
{\em stream} & Identifies the stream to which this definition belongs to. stream = 0 represents a global definition.\\
\hline
{\em counter} & Counter id.\\
\hline
{\em number\+\_\+of\+\_\+members} & Number of entries in  array.\\
\hline
{\em procs\+\_\+or\+\_\+groups} & The processes or process groups which have recorded counter data for counter .\\
\hline
{\em list} & Pointer to an \hyperlink{OTF__KeyValue_8h_acaf1284a372072cdb927e73406f16db0}{O\+T\+F\+\_\+\+Key\+Value\+List()} that contains individual data. \\
\hline
\end{DoxyParams}
\hypertarget{group__handler_ga2f6a4d2094685ba375e75f43efb08e0c}{\index{Handler Interface@{Handler Interface}!O\+T\+F\+\_\+\+Handler\+\_\+\+Def\+Counter\+Group@{O\+T\+F\+\_\+\+Handler\+\_\+\+Def\+Counter\+Group}}
\index{O\+T\+F\+\_\+\+Handler\+\_\+\+Def\+Counter\+Group@{O\+T\+F\+\_\+\+Handler\+\_\+\+Def\+Counter\+Group}!Handler Interface@{Handler Interface}}
\subsubsection[{O\+T\+F\+\_\+\+Handler\+\_\+\+Def\+Counter\+Group}]{\setlength{\rightskip}{0pt plus 5cm}int O\+T\+F\+\_\+\+Handler\+\_\+\+Def\+Counter\+Group (
\begin{DoxyParamCaption}
\item[{void $\ast$}]{user\+Data, }
\item[{uint32\+\_\+t}]{stream, }
\item[{uint32\+\_\+t}]{counter\+Group, }
\item[{const char $\ast$}]{name, }
\item[{{\bf O\+T\+F\+\_\+\+Key\+Value\+List} $\ast$}]{list}
\end{DoxyParamCaption}
)}}\label{group__handler_ga2f6a4d2094685ba375e75f43efb08e0c}


Provides a counter group definition. 


\begin{DoxyParams}{Parameters}
{\em user\+Data} & Pointer to user data which can be set with \hyperlink{group__ha_ga65c9d10752139ca29dedd1baeebc146e}{O\+T\+F\+\_\+\+Handler\+Array\+\_\+set\+First\+Handler\+Arg()}. \\
\hline
{\em stream} & Identifies the stream to which this definition belongs to. stream = 0 represents a global definition. \\
\hline
{\em counter\+Group} & An arbitrary but unique counter group identifier $>$ 0. \\
\hline
{\em name} & Counter group name.\\
\hline
{\em list} & Pointer to an \hyperlink{OTF__KeyValue_8h_acaf1284a372072cdb927e73406f16db0}{O\+T\+F\+\_\+\+Key\+Value\+List()} that contains individual data.\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
O\+T\+F\+\_\+\+R\+E\+T\+U\+R\+N\+\_\+\+A\+B\+O\+R\+T for aborting the reading process immediately O\+T\+F\+\_\+\+R\+E\+T\+U\+R\+N\+\_\+\+O\+K for continue reading 
\end{DoxyReturn}
\hypertarget{group__handler_ga4f3eb48757074f28f7417823f1e3c7ea}{\index{Handler Interface@{Handler Interface}!O\+T\+F\+\_\+\+Handler\+\_\+\+Def\+Creator@{O\+T\+F\+\_\+\+Handler\+\_\+\+Def\+Creator}}
\index{O\+T\+F\+\_\+\+Handler\+\_\+\+Def\+Creator@{O\+T\+F\+\_\+\+Handler\+\_\+\+Def\+Creator}!Handler Interface@{Handler Interface}}
\subsubsection[{O\+T\+F\+\_\+\+Handler\+\_\+\+Def\+Creator}]{\setlength{\rightskip}{0pt plus 5cm}int O\+T\+F\+\_\+\+Handler\+\_\+\+Def\+Creator (
\begin{DoxyParamCaption}
\item[{void $\ast$}]{user\+Data, }
\item[{uint32\+\_\+t}]{stream, }
\item[{const char $\ast$}]{creator, }
\item[{{\bf O\+T\+F\+\_\+\+Key\+Value\+List} $\ast$}]{list}
\end{DoxyParamCaption}
)}}\label{group__handler_ga4f3eb48757074f28f7417823f1e3c7ea}


Provides file creator information. 


\begin{DoxyParams}{Parameters}
{\em user\+Data} & Pointer to user data which can be set with \hyperlink{group__ha_ga65c9d10752139ca29dedd1baeebc146e}{O\+T\+F\+\_\+\+Handler\+Array\+\_\+set\+First\+Handler\+Arg()}. \\
\hline
{\em stream} & Identifies the stream to which this definition belongs to. stream = 0 represents a global definition. \\
\hline
{\em creator} & String which identifies the creator of the file e.\+g. \char`\"{}\+T\+A\+U Version x.\+y.\+z\char`\"{}.\\
\hline
{\em list} & Pointer to an \hyperlink{OTF__KeyValue_8h_acaf1284a372072cdb927e73406f16db0}{O\+T\+F\+\_\+\+Key\+Value\+List()} that contains individual data.\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
O\+T\+F\+\_\+\+R\+E\+T\+U\+R\+N\+\_\+\+A\+B\+O\+R\+T for aborting the reading process immediately O\+T\+F\+\_\+\+R\+E\+T\+U\+R\+N\+\_\+\+O\+K for continue reading 
\end{DoxyReturn}
\hypertarget{group__handler_ga61aa74a62fb5a22001b835896f8c6033}{\index{Handler Interface@{Handler Interface}!O\+T\+F\+\_\+\+Handler\+\_\+\+Def\+File@{O\+T\+F\+\_\+\+Handler\+\_\+\+Def\+File}}
\index{O\+T\+F\+\_\+\+Handler\+\_\+\+Def\+File@{O\+T\+F\+\_\+\+Handler\+\_\+\+Def\+File}!Handler Interface@{Handler Interface}}
\subsubsection[{O\+T\+F\+\_\+\+Handler\+\_\+\+Def\+File}]{\setlength{\rightskip}{0pt plus 5cm}int O\+T\+F\+\_\+\+Handler\+\_\+\+Def\+File (
\begin{DoxyParamCaption}
\item[{void $\ast$}]{user\+Data, }
\item[{uint32\+\_\+t}]{stream, }
\item[{uint32\+\_\+t}]{token, }
\item[{const char $\ast$}]{name, }
\item[{uint32\+\_\+t}]{group, }
\item[{{\bf O\+T\+F\+\_\+\+Key\+Value\+List} $\ast$}]{list}
\end{DoxyParamCaption}
)}}\label{group__handler_ga61aa74a62fb5a22001b835896f8c6033}


Provides a file definition N\+O\+T\+E\+: this is experimental. 


\begin{DoxyParams}{Parameters}
{\em user\+Data} & Pointer to user data which can be set with \hyperlink{group__ha_ga65c9d10752139ca29dedd1baeebc146e}{O\+T\+F\+\_\+\+Handler\+Array\+\_\+set\+First\+Handler\+Arg()}. \\
\hline
{\em stream} & Identifies the stream to which this definition belongs to. stream = 0 represents a global definition.\\
\hline
{\em token} & Arbitrary, unique identifier of the file. Has to be $>$ 0.\\
\hline
{\em name} & name of the file\\
\hline
{\em list} & Pointer to an \hyperlink{OTF__KeyValue_8h_acaf1284a372072cdb927e73406f16db0}{O\+T\+F\+\_\+\+Key\+Value\+List()} that contains individual data.\\
\hline
{\em group} & A previously defined file group identifier or 0 for no group. \\
\hline
\end{DoxyParams}
\hypertarget{group__handler_gaea037b5f57b49f950743db899e87fd30}{\index{Handler Interface@{Handler Interface}!O\+T\+F\+\_\+\+Handler\+\_\+\+Def\+File\+Group@{O\+T\+F\+\_\+\+Handler\+\_\+\+Def\+File\+Group}}
\index{O\+T\+F\+\_\+\+Handler\+\_\+\+Def\+File\+Group@{O\+T\+F\+\_\+\+Handler\+\_\+\+Def\+File\+Group}!Handler Interface@{Handler Interface}}
\subsubsection[{O\+T\+F\+\_\+\+Handler\+\_\+\+Def\+File\+Group}]{\setlength{\rightskip}{0pt plus 5cm}int O\+T\+F\+\_\+\+Handler\+\_\+\+Def\+File\+Group (
\begin{DoxyParamCaption}
\item[{void $\ast$}]{user\+Data, }
\item[{uint32\+\_\+t}]{stream, }
\item[{uint32\+\_\+t}]{token, }
\item[{const char $\ast$}]{name, }
\item[{{\bf O\+T\+F\+\_\+\+Key\+Value\+List} $\ast$}]{list}
\end{DoxyParamCaption}
)}}\label{group__handler_gaea037b5f57b49f950743db899e87fd30}


Provides a file group definition N\+O\+T\+E\+: this is experimental. 


\begin{DoxyParams}{Parameters}
{\em user\+Data} & Pointer to user data which can be set with \hyperlink{group__ha_ga65c9d10752139ca29dedd1baeebc146e}{O\+T\+F\+\_\+\+Handler\+Array\+\_\+set\+First\+Handler\+Arg()}. \\
\hline
{\em stream} & Identifies the stream to which this definition belongs to. stream = 0 represents a global definition.\\
\hline
{\em token} & Arbitrary, unique identifier of the file group Has to be $>$ 0.\\
\hline
{\em list} & Pointer to an \hyperlink{OTF__KeyValue_8h_acaf1284a372072cdb927e73406f16db0}{O\+T\+F\+\_\+\+Key\+Value\+List()} that contains individual data.\\
\hline
{\em name} & Name of the file group \\
\hline
\end{DoxyParams}
\hypertarget{group__handler_ga774d92443abee734f9062d2f1c5c03c9}{\index{Handler Interface@{Handler Interface}!O\+T\+F\+\_\+\+Handler\+\_\+\+Def\+Function@{O\+T\+F\+\_\+\+Handler\+\_\+\+Def\+Function}}
\index{O\+T\+F\+\_\+\+Handler\+\_\+\+Def\+Function@{O\+T\+F\+\_\+\+Handler\+\_\+\+Def\+Function}!Handler Interface@{Handler Interface}}
\subsubsection[{O\+T\+F\+\_\+\+Handler\+\_\+\+Def\+Function}]{\setlength{\rightskip}{0pt plus 5cm}int O\+T\+F\+\_\+\+Handler\+\_\+\+Def\+Function (
\begin{DoxyParamCaption}
\item[{void $\ast$}]{user\+Data, }
\item[{uint32\+\_\+t}]{stream, }
\item[{uint32\+\_\+t}]{func, }
\item[{const char $\ast$}]{name, }
\item[{uint32\+\_\+t}]{func\+Group, }
\item[{uint32\+\_\+t}]{source, }
\item[{{\bf O\+T\+F\+\_\+\+Key\+Value\+List} $\ast$}]{list}
\end{DoxyParamCaption}
)}}\label{group__handler_ga774d92443abee734f9062d2f1c5c03c9}


Provides a function definition. 

Defines a function of the given name. Functions can optionally belong to a certain function group provided by the \hyperlink{group__handler_gadfb319198d0edb72559b6649c5089078}{O\+T\+F\+\_\+\+Handler\+\_\+\+Def\+Function\+Group()} handler. A source code reference can be provided aswell.


\begin{DoxyParams}{Parameters}
{\em user\+Data} & Pointer to user data which can be set with \hyperlink{group__ha_ga65c9d10752139ca29dedd1baeebc146e}{O\+T\+F\+\_\+\+Handler\+Array\+\_\+set\+First\+Handler\+Arg()}. \\
\hline
{\em stream} & Identifies the stream to which this definition belongs to. stream = 0 represents a global definition. \\
\hline
{\em func} & Arbitrary but unique function identifier $>$ 0. \\
\hline
{\em name} & Name of the function e.\+g. \char`\"{}\+Do\+Something\char`\"{}. \\
\hline
{\em func\+Group} & A function group identifier preliminary provided by \hyperlink{group__handler_gadfb319198d0edb72559b6649c5089078}{O\+T\+F\+\_\+\+Handler\+\_\+\+Def\+Function\+Group()} or 0 for no function group assignment. \\
\hline
{\em source} & Reference to the function's source code location preliminary provided by \hyperlink{group__handler_gac719704901387a140bece593cb2072a0}{O\+T\+F\+\_\+\+Handler\+\_\+\+Def\+Scl()} or 0 for no source code location assignment.\\
\hline
{\em list} & Pointer to an \hyperlink{OTF__KeyValue_8h_acaf1284a372072cdb927e73406f16db0}{O\+T\+F\+\_\+\+Key\+Value\+List()} that contains individual data.\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
O\+T\+F\+\_\+\+R\+E\+T\+U\+R\+N\+\_\+\+A\+B\+O\+R\+T for aborting the reading process immediately O\+T\+F\+\_\+\+R\+E\+T\+U\+R\+N\+\_\+\+O\+K for continue reading 
\end{DoxyReturn}
\hypertarget{group__handler_gadfb319198d0edb72559b6649c5089078}{\index{Handler Interface@{Handler Interface}!O\+T\+F\+\_\+\+Handler\+\_\+\+Def\+Function\+Group@{O\+T\+F\+\_\+\+Handler\+\_\+\+Def\+Function\+Group}}
\index{O\+T\+F\+\_\+\+Handler\+\_\+\+Def\+Function\+Group@{O\+T\+F\+\_\+\+Handler\+\_\+\+Def\+Function\+Group}!Handler Interface@{Handler Interface}}
\subsubsection[{O\+T\+F\+\_\+\+Handler\+\_\+\+Def\+Function\+Group}]{\setlength{\rightskip}{0pt plus 5cm}int O\+T\+F\+\_\+\+Handler\+\_\+\+Def\+Function\+Group (
\begin{DoxyParamCaption}
\item[{void $\ast$}]{user\+Data, }
\item[{uint32\+\_\+t}]{stream, }
\item[{uint32\+\_\+t}]{func\+Group, }
\item[{const char $\ast$}]{name, }
\item[{{\bf O\+T\+F\+\_\+\+Key\+Value\+List} $\ast$}]{list}
\end{DoxyParamCaption}
)}}\label{group__handler_gadfb319198d0edb72559b6649c5089078}


Provides a function group definition. 


\begin{DoxyParams}{Parameters}
{\em user\+Data} & Pointer to user data which can be set with \hyperlink{group__ha_ga65c9d10752139ca29dedd1baeebc146e}{O\+T\+F\+\_\+\+Handler\+Array\+\_\+set\+First\+Handler\+Arg()}. \\
\hline
{\em stream} & Identifies the stream to which this definition belongs to. stream = 0 represents a global definition. \\
\hline
{\em func\+Group} & An arbitrary but unique function group identifier $>$ 0. \\
\hline
{\em name} & Name of the function group e.\+g. \char`\"{}\+Computation\char`\"{}.\\
\hline
{\em list} & Pointer to an \hyperlink{OTF__KeyValue_8h_acaf1284a372072cdb927e73406f16db0}{O\+T\+F\+\_\+\+Key\+Value\+List()} that contains individual data.\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
O\+T\+F\+\_\+\+R\+E\+T\+U\+R\+N\+\_\+\+A\+B\+O\+R\+T for aborting the reading process immediately O\+T\+F\+\_\+\+R\+E\+T\+U\+R\+N\+\_\+\+O\+K for continue reading 
\end{DoxyReturn}
\hypertarget{group__handler_ga891a782fc88c1f50f5daf27912f9c35e}{\index{Handler Interface@{Handler Interface}!O\+T\+F\+\_\+\+Handler\+\_\+\+Definition\+Comment@{O\+T\+F\+\_\+\+Handler\+\_\+\+Definition\+Comment}}
\index{O\+T\+F\+\_\+\+Handler\+\_\+\+Definition\+Comment@{O\+T\+F\+\_\+\+Handler\+\_\+\+Definition\+Comment}!Handler Interface@{Handler Interface}}
\subsubsection[{O\+T\+F\+\_\+\+Handler\+\_\+\+Definition\+Comment}]{\setlength{\rightskip}{0pt plus 5cm}int O\+T\+F\+\_\+\+Handler\+\_\+\+Definition\+Comment (
\begin{DoxyParamCaption}
\item[{void $\ast$}]{user\+Data, }
\item[{uint32\+\_\+t}]{stream, }
\item[{const char $\ast$}]{comment, }
\item[{{\bf O\+T\+F\+\_\+\+Key\+Value\+List} $\ast$}]{list}
\end{DoxyParamCaption}
)}}\label{group__handler_ga891a782fc88c1f50f5daf27912f9c35e}


Provides a comment record. 


\begin{DoxyParams}{Parameters}
{\em user\+Data} & Pointer to user data which can be set with \hyperlink{group__ha_ga65c9d10752139ca29dedd1baeebc146e}{O\+T\+F\+\_\+\+Handler\+Array\+\_\+set\+First\+Handler\+Arg()}. \\
\hline
{\em stream} & Identifies the stream to which this definition belongs to. stream = 0 represents a global definition. \\
\hline
{\em comment} & Arbitrary comment string.\\
\hline
{\em list} & Pointer to an \hyperlink{OTF__KeyValue_8h_acaf1284a372072cdb927e73406f16db0}{O\+T\+F\+\_\+\+Key\+Value\+List()} that contains individual data.\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
O\+T\+F\+\_\+\+R\+E\+T\+U\+R\+N\+\_\+\+A\+B\+O\+R\+T for aborting the reading process immediately O\+T\+F\+\_\+\+R\+E\+T\+U\+R\+N\+\_\+\+O\+K for continue reading 
\end{DoxyReturn}
\hypertarget{group__handler_ga4d92a625fae7e352610f45c98cba8770}{\index{Handler Interface@{Handler Interface}!O\+T\+F\+\_\+\+Handler\+\_\+\+Def\+Key\+Value@{O\+T\+F\+\_\+\+Handler\+\_\+\+Def\+Key\+Value}}
\index{O\+T\+F\+\_\+\+Handler\+\_\+\+Def\+Key\+Value@{O\+T\+F\+\_\+\+Handler\+\_\+\+Def\+Key\+Value}!Handler Interface@{Handler Interface}}
\subsubsection[{O\+T\+F\+\_\+\+Handler\+\_\+\+Def\+Key\+Value}]{\setlength{\rightskip}{0pt plus 5cm}int O\+T\+F\+\_\+\+Handler\+\_\+\+Def\+Key\+Value (
\begin{DoxyParamCaption}
\item[{void $\ast$}]{user\+Data, }
\item[{uint32\+\_\+t}]{stream, }
\item[{uint32\+\_\+t}]{key, }
\item[{{\bf O\+T\+F\+\_\+\+Type}}]{type, }
\item[{const char $\ast$}]{name, }
\item[{const char $\ast$}]{description, }
\item[{{\bf O\+T\+F\+\_\+\+Key\+Value\+List} $\ast$}]{list}
\end{DoxyParamCaption}
)}}\label{group__handler_ga4d92a625fae7e352610f45c98cba8770}


Provides a Key\+Value definition. 


\begin{DoxyParams}{Parameters}
{\em user\+Data} & Pointer to user data which can be set with \hyperlink{group__ha_ga65c9d10752139ca29dedd1baeebc146e}{O\+T\+F\+\_\+\+Handler\+Array\+\_\+set\+First\+Handler\+Arg()}. \\
\hline
{\em stream} & Identifies the stream to which this definition belongs to. stream = 0 represents a global definition.\\
\hline
{\em key} & Arbitrary, unique identifier of the Key\+Value.\\
\hline
{\em type} & Type of the Key\+Value. See \hyperlink{OTF__KeyValue_8h_ae01c39fb5150e8d16f4dc0be2cd7f802}{O\+T\+F\+\_\+\+Type()}.\\
\hline
{\em list} & Pointer to an \hyperlink{OTF__KeyValue_8h_acaf1284a372072cdb927e73406f16db0}{O\+T\+F\+\_\+\+Key\+Value\+List()} that contains individual data.\\
\hline
{\em name} & Name of the Key\+Value.\\
\hline
{\em description} & Description of the Key\+Value. \\
\hline
\end{DoxyParams}
\hypertarget{group__handler_ga5ef064e8150478040235b28f9b9a10e0}{\index{Handler Interface@{Handler Interface}!O\+T\+F\+\_\+\+Handler\+\_\+\+Def\+Marker@{O\+T\+F\+\_\+\+Handler\+\_\+\+Def\+Marker}}
\index{O\+T\+F\+\_\+\+Handler\+\_\+\+Def\+Marker@{O\+T\+F\+\_\+\+Handler\+\_\+\+Def\+Marker}!Handler Interface@{Handler Interface}}
\subsubsection[{O\+T\+F\+\_\+\+Handler\+\_\+\+Def\+Marker}]{\setlength{\rightskip}{0pt plus 5cm}int O\+T\+F\+\_\+\+Handler\+\_\+\+Def\+Marker (
\begin{DoxyParamCaption}
\item[{void $\ast$}]{user\+Data, }
\item[{uint32\+\_\+t}]{stream, }
\item[{uint32\+\_\+t}]{token, }
\item[{const char $\ast$}]{name, }
\item[{uint32\+\_\+t}]{type, }
\item[{{\bf O\+T\+F\+\_\+\+Key\+Value\+List} $\ast$}]{list}
\end{DoxyParamCaption}
)}}\label{group__handler_ga5ef064e8150478040235b28f9b9a10e0}


Define a marker. 


\begin{DoxyParams}{Parameters}
{\em user\+Data} & Pointer to user data which can be set with \hyperlink{group__ha_ga65c9d10752139ca29dedd1baeebc146e}{O\+T\+F\+\_\+\+Handler\+Array\+\_\+set\+First\+Handler\+Arg()}. \\
\hline
{\em stream} & stream I\+D is ignored here \\
\hline
{\em token} & The newly defined marker token. \\
\hline
{\em name} & Its name \\
\hline
{\em type} & Marker type, one of O\+T\+F\+\_\+\+M\+A\+R\+K\+E\+R\+\_\+\+T\+Y\+P\+E\+\_\+xxx \\
\hline
{\em list} & Pointer to an \hyperlink{OTF__KeyValue_8h_acaf1284a372072cdb927e73406f16db0}{O\+T\+F\+\_\+\+Key\+Value\+List()} that contains individual data.\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
O\+T\+F\+\_\+\+R\+E\+T\+U\+R\+N\+\_\+\+A\+B\+O\+R\+T for aborting the reading process immediately O\+T\+F\+\_\+\+R\+E\+T\+U\+R\+N\+\_\+\+O\+K for continue reading 
\end{DoxyReturn}
\hypertarget{group__handler_ga489b34a42e0d649edf71d260b595cfb2}{\index{Handler Interface@{Handler Interface}!O\+T\+F\+\_\+\+Handler\+\_\+\+Def\+Process@{O\+T\+F\+\_\+\+Handler\+\_\+\+Def\+Process}}
\index{O\+T\+F\+\_\+\+Handler\+\_\+\+Def\+Process@{O\+T\+F\+\_\+\+Handler\+\_\+\+Def\+Process}!Handler Interface@{Handler Interface}}
\subsubsection[{O\+T\+F\+\_\+\+Handler\+\_\+\+Def\+Process}]{\setlength{\rightskip}{0pt plus 5cm}int O\+T\+F\+\_\+\+Handler\+\_\+\+Def\+Process (
\begin{DoxyParamCaption}
\item[{void $\ast$}]{user\+Data, }
\item[{uint32\+\_\+t}]{stream, }
\item[{uint32\+\_\+t}]{process, }
\item[{const char $\ast$}]{name, }
\item[{uint32\+\_\+t}]{parent, }
\item[{{\bf O\+T\+F\+\_\+\+Key\+Value\+List} $\ast$}]{list}
\end{DoxyParamCaption}
)}}\label{group__handler_ga489b34a42e0d649edf71d260b595cfb2}


Provides a process definition. 


\begin{DoxyParams}{Parameters}
{\em user\+Data} & Pointer to user data which can be set with \hyperlink{group__ha_ga65c9d10752139ca29dedd1baeebc146e}{O\+T\+F\+\_\+\+Handler\+Array\+\_\+set\+First\+Handler\+Arg()}. \\
\hline
{\em stream} & Identifies the stream to which this definition belongs to. stream = 0 represents a global definition. \\
\hline
{\em process} & Arbitrary but unique process identifier $>$ 0. \\
\hline
{\em name} & Name of the process e.\+g. \char`\"{}\+Process X\char`\"{}. \\
\hline
{\em parent} & Previously declared parent process identifier or 0 if process has no parent.\\
\hline
{\em list} & Pointer to an \hyperlink{OTF__KeyValue_8h_acaf1284a372072cdb927e73406f16db0}{O\+T\+F\+\_\+\+Key\+Value\+List()} that contains individual data.\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
O\+T\+F\+\_\+\+R\+E\+T\+U\+R\+N\+\_\+\+A\+B\+O\+R\+T for aborting the reading process immediately O\+T\+F\+\_\+\+R\+E\+T\+U\+R\+N\+\_\+\+O\+K for continue reading 
\end{DoxyReturn}
\hypertarget{group__handler_gafed4e6bfcb354916355ed70ff350d621}{\index{Handler Interface@{Handler Interface}!O\+T\+F\+\_\+\+Handler\+\_\+\+Def\+Process\+Group@{O\+T\+F\+\_\+\+Handler\+\_\+\+Def\+Process\+Group}}
\index{O\+T\+F\+\_\+\+Handler\+\_\+\+Def\+Process\+Group@{O\+T\+F\+\_\+\+Handler\+\_\+\+Def\+Process\+Group}!Handler Interface@{Handler Interface}}
\subsubsection[{O\+T\+F\+\_\+\+Handler\+\_\+\+Def\+Process\+Group}]{\setlength{\rightskip}{0pt plus 5cm}int O\+T\+F\+\_\+\+Handler\+\_\+\+Def\+Process\+Group (
\begin{DoxyParamCaption}
\item[{void $\ast$}]{user\+Data, }
\item[{uint32\+\_\+t}]{stream, }
\item[{uint32\+\_\+t}]{proc\+Group, }
\item[{const char $\ast$}]{name, }
\item[{uint32\+\_\+t}]{number\+Of\+Procs, }
\item[{const uint32\+\_\+t $\ast$}]{procs, }
\item[{{\bf O\+T\+F\+\_\+\+Key\+Value\+List} $\ast$}]{list}
\end{DoxyParamCaption}
)}}\label{group__handler_gafed4e6bfcb354916355ed70ff350d621}


Provides a process group definition. 

O\+T\+F supports groups of processes. Their main objective is to classify processes depending on arbitrary characteristics. Processes can reside in multiple groups. This record type is optional.


\begin{DoxyParams}{Parameters}
{\em user\+Data} & Pointer to user data which can be set with \hyperlink{group__ha_ga65c9d10752139ca29dedd1baeebc146e}{O\+T\+F\+\_\+\+Handler\+Array\+\_\+set\+First\+Handler\+Arg()}. \\
\hline
{\em stream} & Identifies the stream to which this definition belongs to. stream = 0 represents a global definition. \\
\hline
{\em proc\+Group} & Arbitrary but unique process group identifier $>$ 0. \\
\hline
{\em name} & Name of the process group e.\+g. \char`\"{}\+Well Balanced\char`\"{}. \\
\hline
{\em number\+Of\+Procs} & The number of processes in the process group. \\
\hline
{\em procs} & Vector of process identifiers as provided by \hyperlink{group__handler_ga489b34a42e0d649edf71d260b595cfb2}{O\+T\+F\+\_\+\+Handler\+\_\+\+Def\+Process()}.\\
\hline
{\em list} & Pointer to an \hyperlink{OTF__KeyValue_8h_acaf1284a372072cdb927e73406f16db0}{O\+T\+F\+\_\+\+Key\+Value\+List()} that contains individual data.\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
O\+T\+F\+\_\+\+R\+E\+T\+U\+R\+N\+\_\+\+A\+B\+O\+R\+T for aborting the reading process immediately O\+T\+F\+\_\+\+R\+E\+T\+U\+R\+N\+\_\+\+O\+K for continue reading 
\end{DoxyReturn}
\hypertarget{group__handler_gab7e82723c839d822c249e38fdcb897d7}{\index{Handler Interface@{Handler Interface}!O\+T\+F\+\_\+\+Handler\+\_\+\+Def\+Process\+Or\+Group\+Attributes@{O\+T\+F\+\_\+\+Handler\+\_\+\+Def\+Process\+Or\+Group\+Attributes}}
\index{O\+T\+F\+\_\+\+Handler\+\_\+\+Def\+Process\+Or\+Group\+Attributes@{O\+T\+F\+\_\+\+Handler\+\_\+\+Def\+Process\+Or\+Group\+Attributes}!Handler Interface@{Handler Interface}}
\subsubsection[{O\+T\+F\+\_\+\+Handler\+\_\+\+Def\+Process\+Or\+Group\+Attributes}]{\setlength{\rightskip}{0pt plus 5cm}int O\+T\+F\+\_\+\+Handler\+\_\+\+Def\+Process\+Or\+Group\+Attributes (
\begin{DoxyParamCaption}
\item[{void $\ast$}]{user\+Data, }
\item[{uint32\+\_\+t}]{stream, }
\item[{uint32\+\_\+t}]{proc\+\_\+token, }
\item[{uint32\+\_\+t}]{attr\+\_\+token, }
\item[{{\bf O\+T\+F\+\_\+\+Key\+Value\+List} $\ast$}]{list}
\end{DoxyParamCaption}
)}}\label{group__handler_gab7e82723c839d822c249e38fdcb897d7}


Provides a process or group attributes definition. 


\begin{DoxyParams}{Parameters}
{\em user\+Data} & Pointer to user data which can be set with \hyperlink{group__ha_ga65c9d10752139ca29dedd1baeebc146e}{O\+T\+F\+\_\+\+Handler\+Array\+\_\+set\+First\+Handler\+Arg()}. \\
\hline
{\em stream} & Identifies the stream to which this definition belongs to. stream = 0 represents a global definition. \\
\hline
{\em proc\+\_\+token} & Arbitrary but unique process or process group identifier $>$ 0. \\
\hline
{\em attr\+\_\+token} & A unique token that was defined with \hyperlink{group__writer_ga2471a44fe29ed62756e3c88d11d935b6}{O\+T\+F\+\_\+\+Writer\+\_\+write\+Def\+Attribute\+List()}.\\
\hline
{\em list} & Pointer to an \hyperlink{OTF__KeyValue_8h_acaf1284a372072cdb927e73406f16db0}{O\+T\+F\+\_\+\+Key\+Value\+List()} that contains individual data.\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
O\+T\+F\+\_\+\+R\+E\+T\+U\+R\+N\+\_\+\+A\+B\+O\+R\+T for aborting the reading process immediately O\+T\+F\+\_\+\+R\+E\+T\+U\+R\+N\+\_\+\+O\+K for continue reading 
\end{DoxyReturn}
\hypertarget{group__handler_gac719704901387a140bece593cb2072a0}{\index{Handler Interface@{Handler Interface}!O\+T\+F\+\_\+\+Handler\+\_\+\+Def\+Scl@{O\+T\+F\+\_\+\+Handler\+\_\+\+Def\+Scl}}
\index{O\+T\+F\+\_\+\+Handler\+\_\+\+Def\+Scl@{O\+T\+F\+\_\+\+Handler\+\_\+\+Def\+Scl}!Handler Interface@{Handler Interface}}
\subsubsection[{O\+T\+F\+\_\+\+Handler\+\_\+\+Def\+Scl}]{\setlength{\rightskip}{0pt plus 5cm}int O\+T\+F\+\_\+\+Handler\+\_\+\+Def\+Scl (
\begin{DoxyParamCaption}
\item[{void $\ast$}]{user\+Data, }
\item[{uint32\+\_\+t}]{stream, }
\item[{uint32\+\_\+t}]{source, }
\item[{uint32\+\_\+t}]{source\+File, }
\item[{uint32\+\_\+t}]{line, }
\item[{{\bf O\+T\+F\+\_\+\+Key\+Value\+List} $\ast$}]{list}
\end{DoxyParamCaption}
)}}\label{group__handler_gac719704901387a140bece593cb2072a0}


Provides a source code location (S\+C\+L). 


\begin{DoxyParams}{Parameters}
{\em user\+Data} & Pointer to user data which can be set with \hyperlink{group__ha_ga65c9d10752139ca29dedd1baeebc146e}{O\+T\+F\+\_\+\+Handler\+Array\+\_\+set\+First\+Handler\+Arg()}. \\
\hline
{\em stream} & Identifies the stream to which this definition belongs to. stream = 0 represents a global definition. \\
\hline
{\em source} & Arbitrary but unique source code location identifier $>$ 0. \\
\hline
{\em source\+File} & Previously defined source file identifier. See O\+T\+W\+\_\+\+Handler\+\_\+\+Def\+Scl\+File(). \\
\hline
{\em line} & Line number.\\
\hline
{\em list} & Pointer to an \hyperlink{OTF__KeyValue_8h_acaf1284a372072cdb927e73406f16db0}{O\+T\+F\+\_\+\+Key\+Value\+List()} that contains individual data.\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
O\+T\+F\+\_\+\+R\+E\+T\+U\+R\+N\+\_\+\+A\+B\+O\+R\+T for aborting the reading process immediately O\+T\+F\+\_\+\+R\+E\+T\+U\+R\+N\+\_\+\+O\+K for continue reading 
\end{DoxyReturn}
\hypertarget{group__handler_ga926d6363893bb583d6704841f97375fd}{\index{Handler Interface@{Handler Interface}!O\+T\+F\+\_\+\+Handler\+\_\+\+Def\+Scl\+File@{O\+T\+F\+\_\+\+Handler\+\_\+\+Def\+Scl\+File}}
\index{O\+T\+F\+\_\+\+Handler\+\_\+\+Def\+Scl\+File@{O\+T\+F\+\_\+\+Handler\+\_\+\+Def\+Scl\+File}!Handler Interface@{Handler Interface}}
\subsubsection[{O\+T\+F\+\_\+\+Handler\+\_\+\+Def\+Scl\+File}]{\setlength{\rightskip}{0pt plus 5cm}int O\+T\+F\+\_\+\+Handler\+\_\+\+Def\+Scl\+File (
\begin{DoxyParamCaption}
\item[{void $\ast$}]{user\+Data, }
\item[{uint32\+\_\+t}]{stream, }
\item[{uint32\+\_\+t}]{source\+File, }
\item[{const char $\ast$}]{name, }
\item[{{\bf O\+T\+F\+\_\+\+Key\+Value\+List} $\ast$}]{list}
\end{DoxyParamCaption}
)}}\label{group__handler_ga926d6363893bb583d6704841f97375fd}


Provides a source code location (S\+C\+L) file. 


\begin{DoxyParams}{Parameters}
{\em user\+Data} & Pointer to user data which can be set with \hyperlink{group__ha_ga65c9d10752139ca29dedd1baeebc146e}{O\+T\+F\+\_\+\+Handler\+Array\+\_\+set\+First\+Handler\+Arg()}. \\
\hline
{\em stream} & Identifies the stream to which this definition belongs to. stream = 0 represents a global definition. \\
\hline
{\em source\+File} & Arbitrary but unique source code location identifier != 0. \\
\hline
{\em name} & \hyperlink{classFile}{File} name.\\
\hline
{\em list} & Pointer to an \hyperlink{OTF__KeyValue_8h_acaf1284a372072cdb927e73406f16db0}{O\+T\+F\+\_\+\+Key\+Value\+List()} that contains individual data.\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
O\+T\+F\+\_\+\+R\+E\+T\+U\+R\+N\+\_\+\+A\+B\+O\+R\+T for aborting the reading process immediately O\+T\+F\+\_\+\+R\+E\+T\+U\+R\+N\+\_\+\+O\+K for continue reading 
\end{DoxyReturn}
\hypertarget{group__handler_gace85fef0dde1520a866e3a1b3a5a69e3}{\index{Handler Interface@{Handler Interface}!O\+T\+F\+\_\+\+Handler\+\_\+\+Def\+Time\+Range@{O\+T\+F\+\_\+\+Handler\+\_\+\+Def\+Time\+Range}}
\index{O\+T\+F\+\_\+\+Handler\+\_\+\+Def\+Time\+Range@{O\+T\+F\+\_\+\+Handler\+\_\+\+Def\+Time\+Range}!Handler Interface@{Handler Interface}}
\subsubsection[{O\+T\+F\+\_\+\+Handler\+\_\+\+Def\+Time\+Range}]{\setlength{\rightskip}{0pt plus 5cm}int O\+T\+F\+\_\+\+Handler\+\_\+\+Def\+Time\+Range (
\begin{DoxyParamCaption}
\item[{void $\ast$}]{user\+Data, }
\item[{uint32\+\_\+t}]{stream, }
\item[{uint64\+\_\+t}]{min\+Time, }
\item[{uint64\+\_\+t}]{max\+Time, }
\item[{{\bf O\+T\+F\+\_\+\+Key\+Value\+List} $\ast$}]{list}
\end{DoxyParamCaption}
)}}\label{group__handler_gace85fef0dde1520a866e3a1b3a5a69e3}


Provides a Time\+Range definition. 


\begin{DoxyParams}{Parameters}
{\em user\+Data} & Pointer to user data which can be set with \hyperlink{group__ha_ga65c9d10752139ca29dedd1baeebc146e}{O\+T\+F\+\_\+\+Handler\+Array\+\_\+set\+First\+Handler\+Arg()}. \\
\hline
{\em stream} & Identifies the stream to which this definition belongs to. stream = 0 represents a global definition.\\
\hline
{\em min\+Time} & The smallest timestamp of the events in this {\itshape stream}.\\
\hline
{\em max\+Time} & The greates timestamp of the events in this {\itshape stream} (inclusive).\\
\hline
{\em list} & Pointer to an \hyperlink{OTF__KeyValue_8h_acaf1284a372072cdb927e73406f16db0}{O\+T\+F\+\_\+\+Key\+Value\+List()} that contains individual data. \\
\hline
\end{DoxyParams}
\hypertarget{group__handler_ga8a598b3272c3c0aa8c38aba443d83d85}{\index{Handler Interface@{Handler Interface}!O\+T\+F\+\_\+\+Handler\+\_\+\+Def\+Timer\+Resolution@{O\+T\+F\+\_\+\+Handler\+\_\+\+Def\+Timer\+Resolution}}
\index{O\+T\+F\+\_\+\+Handler\+\_\+\+Def\+Timer\+Resolution@{O\+T\+F\+\_\+\+Handler\+\_\+\+Def\+Timer\+Resolution}!Handler Interface@{Handler Interface}}
\subsubsection[{O\+T\+F\+\_\+\+Handler\+\_\+\+Def\+Timer\+Resolution}]{\setlength{\rightskip}{0pt plus 5cm}int O\+T\+F\+\_\+\+Handler\+\_\+\+Def\+Timer\+Resolution (
\begin{DoxyParamCaption}
\item[{void $\ast$}]{user\+Data, }
\item[{uint32\+\_\+t}]{stream, }
\item[{uint64\+\_\+t}]{ticks\+Per\+Second, }
\item[{{\bf O\+T\+F\+\_\+\+Key\+Value\+List} $\ast$}]{list}
\end{DoxyParamCaption}
)}}\label{group__handler_ga8a598b3272c3c0aa8c38aba443d83d85}


Provides the timer resolution. 

All timed event records need to be interpreted according to this definition. By default, a timer resolution of 1 us i.\+e. 1,000,000 clock ticks is assumed.


\begin{DoxyParams}{Parameters}
{\em user\+Data} & Pointer to user data which can be set with \hyperlink{group__ha_ga65c9d10752139ca29dedd1baeebc146e}{O\+T\+F\+\_\+\+Handler\+Array\+\_\+set\+First\+Handler\+Arg()}. \\
\hline
{\em stream} & Identifies the stream to which this definition belongs to. stream = 0 represents a global definition. \\
\hline
{\em ticks\+Per\+Second} & Clock ticks per second of the timer.\\
\hline
{\em list} & Pointer to an \hyperlink{OTF__KeyValue_8h_acaf1284a372072cdb927e73406f16db0}{O\+T\+F\+\_\+\+Key\+Value\+List()} that contains individual data.\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
O\+T\+F\+\_\+\+R\+E\+T\+U\+R\+N\+\_\+\+A\+B\+O\+R\+T for aborting the reading process immediately O\+T\+F\+\_\+\+R\+E\+T\+U\+R\+N\+\_\+\+O\+K for continue reading 
\end{DoxyReturn}
\hypertarget{group__handler_gad17f5d88bd2dd4790580b62ca113c7bc}{\index{Handler Interface@{Handler Interface}!O\+T\+F\+\_\+\+Handler\+\_\+\+Def\+Version@{O\+T\+F\+\_\+\+Handler\+\_\+\+Def\+Version}}
\index{O\+T\+F\+\_\+\+Handler\+\_\+\+Def\+Version@{O\+T\+F\+\_\+\+Handler\+\_\+\+Def\+Version}!Handler Interface@{Handler Interface}}
\subsubsection[{O\+T\+F\+\_\+\+Handler\+\_\+\+Def\+Version}]{\setlength{\rightskip}{0pt plus 5cm}int O\+T\+F\+\_\+\+Handler\+\_\+\+Def\+Version (
\begin{DoxyParamCaption}
\item[{void $\ast$}]{user\+Data, }
\item[{uint32\+\_\+t}]{stream, }
\item[{uint8\+\_\+t}]{major, }
\item[{uint8\+\_\+t}]{minor, }
\item[{uint8\+\_\+t}]{sub, }
\item[{const char $\ast$}]{string, }
\item[{{\bf O\+T\+F\+\_\+\+Key\+Value\+List} $\ast$}]{list}
\end{DoxyParamCaption}
)}}\label{group__handler_gad17f5d88bd2dd4790580b62ca113c7bc}


Provides information on the trace´s otf-\/version. 

This record can only be read and not be written.


\begin{DoxyParams}{Parameters}
{\em user\+Data} & Pointer to user data which can be set with \hyperlink{group__ha_ga65c9d10752139ca29dedd1baeebc146e}{O\+T\+F\+\_\+\+Handler\+Array\+\_\+set\+First\+Handler\+Arg()}. \\
\hline
{\em stream} & Identifies the stream to which this definition belongs to. stream = 0 represents a global definition. \\
\hline
{\em major} & major version number \\
\hline
{\em minor} & minor version number \\
\hline
{\em sub} & sub version number \\
\hline
{\em string} & string identifing the version\\
\hline
{\em list} & Pointer to an \hyperlink{OTF__KeyValue_8h_acaf1284a372072cdb927e73406f16db0}{O\+T\+F\+\_\+\+Key\+Value\+List()} that contains individual data.\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
O\+T\+F\+\_\+\+R\+E\+T\+U\+R\+N\+\_\+\+A\+B\+O\+R\+T for aborting the reading process immediately O\+T\+F\+\_\+\+R\+E\+T\+U\+R\+N\+\_\+\+O\+K for continue reading 
\end{DoxyReturn}
\hypertarget{group__handler_ga114baa6083938894e3bd02e9e79eb042}{\index{Handler Interface@{Handler Interface}!O\+T\+F\+\_\+\+Handler\+\_\+\+End\+Collective\+Operation@{O\+T\+F\+\_\+\+Handler\+\_\+\+End\+Collective\+Operation}}
\index{O\+T\+F\+\_\+\+Handler\+\_\+\+End\+Collective\+Operation@{O\+T\+F\+\_\+\+Handler\+\_\+\+End\+Collective\+Operation}!Handler Interface@{Handler Interface}}
\subsubsection[{O\+T\+F\+\_\+\+Handler\+\_\+\+End\+Collective\+Operation}]{\setlength{\rightskip}{0pt plus 5cm}int O\+T\+F\+\_\+\+Handler\+\_\+\+End\+Collective\+Operation (
\begin{DoxyParamCaption}
\item[{void $\ast$}]{user\+Data, }
\item[{uint64\+\_\+t}]{time, }
\item[{uint32\+\_\+t}]{process, }
\item[{uint64\+\_\+t}]{matching\+Id, }
\item[{{\bf O\+T\+F\+\_\+\+Key\+Value\+List} $\ast$}]{list}
\end{DoxyParamCaption}
)}}\label{group__handler_ga114baa6083938894e3bd02e9e79eb042}


Provides an end collective operation member event. 


\begin{DoxyParams}{Parameters}
{\em user\+Data} & Pointer to user data which can be set with \hyperlink{group__ha_ga65c9d10752139ca29dedd1baeebc146e}{O\+T\+F\+\_\+\+Handler\+Array\+\_\+set\+First\+Handler\+Arg()}. \\
\hline
{\em time} & Time when collective operation was entered by member. \\
\hline
{\em process} & \hyperlink{structProcess}{Process} identifier i.\+e. collective member. \\
\hline
{\em matching\+Id} & Matching identifier, must match a previous start collective operation.\\
\hline
{\em list} & Pointer to an \hyperlink{OTF__KeyValue_8h_acaf1284a372072cdb927e73406f16db0}{O\+T\+F\+\_\+\+Key\+Value\+List()} that contains individual data.\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
1 on success, 0 if an error occurs. 
\end{DoxyReturn}
\hypertarget{group__handler_ga21b4a3004d5656232bde46dfe62c92a7}{\index{Handler Interface@{Handler Interface}!O\+T\+F\+\_\+\+Handler\+\_\+\+End\+File\+Operation@{O\+T\+F\+\_\+\+Handler\+\_\+\+End\+File\+Operation}}
\index{O\+T\+F\+\_\+\+Handler\+\_\+\+End\+File\+Operation@{O\+T\+F\+\_\+\+Handler\+\_\+\+End\+File\+Operation}!Handler Interface@{Handler Interface}}
\subsubsection[{O\+T\+F\+\_\+\+Handler\+\_\+\+End\+File\+Operation}]{\setlength{\rightskip}{0pt plus 5cm}int O\+T\+F\+\_\+\+Handler\+\_\+\+End\+File\+Operation (
\begin{DoxyParamCaption}
\item[{void $\ast$}]{user\+Data, }
\item[{uint64\+\_\+t}]{time, }
\item[{uint32\+\_\+t}]{process, }
\item[{uint32\+\_\+t}]{fileid, }
\item[{uint64\+\_\+t}]{matching\+Id, }
\item[{uint64\+\_\+t}]{handle\+Id, }
\item[{uint32\+\_\+t}]{operation, }
\item[{uint64\+\_\+t}]{bytes, }
\item[{uint32\+\_\+t}]{scltoken, }
\item[{{\bf O\+T\+F\+\_\+\+Key\+Value\+List} $\ast$}]{list}
\end{DoxyParamCaption}
)}}\label{group__handler_ga21b4a3004d5656232bde46dfe62c92a7}


Write an end file operation record. 


\begin{DoxyParams}{Parameters}
{\em user\+Data} & Pointer to user data which can be set with \hyperlink{group__ha_ga65c9d10752139ca29dedd1baeebc146e}{O\+T\+F\+\_\+\+Handler\+Array\+\_\+set\+First\+Handler\+Arg()}. \\
\hline
{\em time} & End time of file operation. \\
\hline
{\em process} & \hyperlink{structProcess}{Process} identifier $>$ 0. \\
\hline
{\em fileid} & \hyperlink{classFile}{File} identifier $>$ 0. \\
\hline
{\em matching\+Id} & Operation identifier, must match a previous start file operation event record. \\
\hline
{\em handle\+Id} & Unique file open identifier. \\
\hline
{\em operation} & Type of file operation. See \hyperlink{group__handler_ga456b1d688d8a5b703c2fa56144ea8b43}{O\+T\+F\+\_\+\+Handler\+\_\+\+File\+Operation()}. \\
\hline
{\em bytes} & Depends on operation. See \hyperlink{group__handler_ga456b1d688d8a5b703c2fa56144ea8b43}{O\+T\+F\+\_\+\+Handler\+\_\+\+File\+Operation()}. \\
\hline
{\em scltoken} & Optional reference to source code.\\
\hline
{\em list} & Pointer to an \hyperlink{OTF__KeyValue_8h_acaf1284a372072cdb927e73406f16db0}{O\+T\+F\+\_\+\+Key\+Value\+List()} that contains individual data.\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
1 on success, 0 if an error occurs. 
\end{DoxyReturn}
\hypertarget{group__handler_gab8160e0288dec3295d2a98b3c90a2168}{\index{Handler Interface@{Handler Interface}!O\+T\+F\+\_\+\+Handler\+\_\+\+End\+Process@{O\+T\+F\+\_\+\+Handler\+\_\+\+End\+Process}}
\index{O\+T\+F\+\_\+\+Handler\+\_\+\+End\+Process@{O\+T\+F\+\_\+\+Handler\+\_\+\+End\+Process}!Handler Interface@{Handler Interface}}
\subsubsection[{O\+T\+F\+\_\+\+Handler\+\_\+\+End\+Process}]{\setlength{\rightskip}{0pt plus 5cm}int O\+T\+F\+\_\+\+Handler\+\_\+\+End\+Process (
\begin{DoxyParamCaption}
\item[{void $\ast$}]{user\+Data, }
\item[{uint64\+\_\+t}]{time, }
\item[{uint32\+\_\+t}]{process, }
\item[{{\bf O\+T\+F\+\_\+\+Key\+Value\+List} $\ast$}]{list}
\end{DoxyParamCaption}
)}}\label{group__handler_gab8160e0288dec3295d2a98b3c90a2168}


Provides a process destruction event. 


\begin{DoxyParams}{Parameters}
{\em user\+Data} & Pointer to user data which can be set with \hyperlink{group__ha_ga65c9d10752139ca29dedd1baeebc146e}{O\+T\+F\+\_\+\+Handler\+Array\+\_\+set\+First\+Handler\+Arg()}. \\
\hline
{\em time} & Time when process is referenced for the last time. \hyperlink{structProcess}{Process} identifiers must not be recycled! \\
\hline
{\em process} & \hyperlink{structProcess}{Process} identifier $>$ 0.\\
\hline
{\em list} & Pointer to an \hyperlink{OTF__KeyValue_8h_acaf1284a372072cdb927e73406f16db0}{O\+T\+F\+\_\+\+Key\+Value\+List()} that contains individual data.\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
O\+T\+F\+\_\+\+R\+E\+T\+U\+R\+N\+\_\+\+A\+B\+O\+R\+T for aborting the reading process immediately O\+T\+F\+\_\+\+R\+E\+T\+U\+R\+N\+\_\+\+O\+K for continue reading 
\end{DoxyReturn}
\hypertarget{group__handler_ga727f0937b263cfff104225870639ad26}{\index{Handler Interface@{Handler Interface}!O\+T\+F\+\_\+\+Handler\+\_\+\+Enter@{O\+T\+F\+\_\+\+Handler\+\_\+\+Enter}}
\index{O\+T\+F\+\_\+\+Handler\+\_\+\+Enter@{O\+T\+F\+\_\+\+Handler\+\_\+\+Enter}!Handler Interface@{Handler Interface}}
\subsubsection[{O\+T\+F\+\_\+\+Handler\+\_\+\+Enter}]{\setlength{\rightskip}{0pt plus 5cm}int O\+T\+F\+\_\+\+Handler\+\_\+\+Enter (
\begin{DoxyParamCaption}
\item[{void $\ast$}]{user\+Data, }
\item[{uint64\+\_\+t}]{time, }
\item[{uint32\+\_\+t}]{function, }
\item[{uint32\+\_\+t}]{process, }
\item[{uint32\+\_\+t}]{source, }
\item[{{\bf O\+T\+F\+\_\+\+Key\+Value\+List} $\ast$}]{list}
\end{DoxyParamCaption}
)}}\label{group__handler_ga727f0937b263cfff104225870639ad26}


Provides a function entry event. 


\begin{DoxyParams}{Parameters}
{\em user\+Data} & Pointer to user data which can be set with \hyperlink{group__ha_ga65c9d10752139ca29dedd1baeebc146e}{O\+T\+F\+\_\+\+Handler\+Array\+\_\+set\+First\+Handler\+Arg()}. \\
\hline
{\em time} & The time when the function entry took place. \\
\hline
{\em function} & \hyperlink{structFunction}{Function} which has been entered as defined with O\+T\+F\+\_\+\+Writer\+\_\+def\+Function. \\
\hline
{\em process} & \hyperlink{structProcess}{Process} where action took place. \\
\hline
{\em source} & Explicit source code location identifier $>$ 0 or 0 if no source information available.\\
\hline
{\em list} & Pointer to an \hyperlink{OTF__KeyValue_8h_acaf1284a372072cdb927e73406f16db0}{O\+T\+F\+\_\+\+Key\+Value\+List()} that contains individual data.\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
O\+T\+F\+\_\+\+R\+E\+T\+U\+R\+N\+\_\+\+A\+B\+O\+R\+T for aborting the reading process immediately O\+T\+F\+\_\+\+R\+E\+T\+U\+R\+N\+\_\+\+O\+K for continue reading 
\end{DoxyReturn}
\hypertarget{group__handler_ga2f60b95d08fe8136d83a39cbef9302dd}{\index{Handler Interface@{Handler Interface}!O\+T\+F\+\_\+\+Handler\+\_\+\+Enter\+Snapshot@{O\+T\+F\+\_\+\+Handler\+\_\+\+Enter\+Snapshot}}
\index{O\+T\+F\+\_\+\+Handler\+\_\+\+Enter\+Snapshot@{O\+T\+F\+\_\+\+Handler\+\_\+\+Enter\+Snapshot}!Handler Interface@{Handler Interface}}
\subsubsection[{O\+T\+F\+\_\+\+Handler\+\_\+\+Enter\+Snapshot}]{\setlength{\rightskip}{0pt plus 5cm}int O\+T\+F\+\_\+\+Handler\+\_\+\+Enter\+Snapshot (
\begin{DoxyParamCaption}
\item[{void $\ast$}]{user\+Data, }
\item[{uint64\+\_\+t}]{time, }
\item[{uint64\+\_\+t}]{originaltime, }
\item[{uint32\+\_\+t}]{function, }
\item[{uint32\+\_\+t}]{process, }
\item[{uint32\+\_\+t}]{source, }
\item[{{\bf O\+T\+F\+\_\+\+Key\+Value\+List} $\ast$}]{list}
\end{DoxyParamCaption}
)}}\label{group__handler_ga2f60b95d08fe8136d83a39cbef9302dd}


provides information about a past function call at the time 'originaltime'. 

Parameters 'time', 'function', 'process' ,'source' and the return value have the same meaning as in \hyperlink{group__handler_ga727f0937b263cfff104225870639ad26}{O\+T\+F\+\_\+\+Handler\+\_\+\+Enter()}. \hypertarget{group__handler_gafc1de36b905068b77ad34808d0b6ded7}{\index{Handler Interface@{Handler Interface}!O\+T\+F\+\_\+\+Handler\+\_\+\+Event\+Comment@{O\+T\+F\+\_\+\+Handler\+\_\+\+Event\+Comment}}
\index{O\+T\+F\+\_\+\+Handler\+\_\+\+Event\+Comment@{O\+T\+F\+\_\+\+Handler\+\_\+\+Event\+Comment}!Handler Interface@{Handler Interface}}
\subsubsection[{O\+T\+F\+\_\+\+Handler\+\_\+\+Event\+Comment}]{\setlength{\rightskip}{0pt plus 5cm}int O\+T\+F\+\_\+\+Handler\+\_\+\+Event\+Comment (
\begin{DoxyParamCaption}
\item[{void $\ast$}]{user\+Data, }
\item[{uint64\+\_\+t}]{time, }
\item[{uint32\+\_\+t}]{process, }
\item[{const char $\ast$}]{comment, }
\item[{{\bf O\+T\+F\+\_\+\+Key\+Value\+List} $\ast$}]{list}
\end{DoxyParamCaption}
)}}\label{group__handler_gafc1de36b905068b77ad34808d0b6ded7}


Provide a comment record. 


\begin{DoxyParams}{Parameters}
{\em user\+Data} & Pointer to user data which can be set with \hyperlink{group__ha_ga65c9d10752139ca29dedd1baeebc146e}{O\+T\+F\+\_\+\+Handler\+Array\+\_\+set\+First\+Handler\+Arg()}. \\
\hline
{\em time} & Comments need a timestamp for a proper positioning in the trace. \\
\hline
{\em process} & Comments also need a process identifier for a proper positioning in the trace. \\
\hline
{\em comment} & Arbitrary comment string.\\
\hline
{\em list} & Pointer to an \hyperlink{OTF__KeyValue_8h_acaf1284a372072cdb927e73406f16db0}{O\+T\+F\+\_\+\+Key\+Value\+List()} that contains individual data.\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
O\+T\+F\+\_\+\+R\+E\+T\+U\+R\+N\+\_\+\+A\+B\+O\+R\+T for aborting the reading process immediately O\+T\+F\+\_\+\+R\+E\+T\+U\+R\+N\+\_\+\+O\+K for continue reading 
\end{DoxyReturn}
\hypertarget{group__handler_ga20edd4c8cb0f4a6e88bc61d3e382691c}{\index{Handler Interface@{Handler Interface}!O\+T\+F\+\_\+\+Handler\+\_\+\+File\+Group\+Operation\+Summary@{O\+T\+F\+\_\+\+Handler\+\_\+\+File\+Group\+Operation\+Summary}}
\index{O\+T\+F\+\_\+\+Handler\+\_\+\+File\+Group\+Operation\+Summary@{O\+T\+F\+\_\+\+Handler\+\_\+\+File\+Group\+Operation\+Summary}!Handler Interface@{Handler Interface}}
\subsubsection[{O\+T\+F\+\_\+\+Handler\+\_\+\+File\+Group\+Operation\+Summary}]{\setlength{\rightskip}{0pt plus 5cm}int O\+T\+F\+\_\+\+Handler\+\_\+\+File\+Group\+Operation\+Summary (
\begin{DoxyParamCaption}
\item[{void $\ast$}]{user\+Data, }
\item[{uint64\+\_\+t}]{time, }
\item[{uint32\+\_\+t}]{groupid, }
\item[{uint32\+\_\+t}]{process, }
\item[{uint64\+\_\+t}]{nopen, }
\item[{uint64\+\_\+t}]{nclose, }
\item[{uint64\+\_\+t}]{nread, }
\item[{uint64\+\_\+t}]{nwrite, }
\item[{uint64\+\_\+t}]{nseek, }
\item[{uint64\+\_\+t}]{bytesread, }
\item[{uint64\+\_\+t}]{byteswrite, }
\item[{{\bf O\+T\+F\+\_\+\+Key\+Value\+List} $\ast$}]{list}
\end{DoxyParamCaption}
)}}\label{group__handler_ga20edd4c8cb0f4a6e88bc61d3e382691c}


Provides summarized information about file operations in a file group. 


\begin{DoxyParams}{Parameters}
{\em user\+Data} & Pointer to user data which can be set with \hyperlink{group__ha_ga65c9d10752139ca29dedd1baeebc146e}{O\+T\+F\+\_\+\+Handler\+Array\+\_\+set\+First\+Handler\+Arg()}. \\
\hline
{\em time} & Time when summary was computed. \\
\hline
{\em groupid} & \hyperlink{classGroup}{Group} identifier or 0 for all files. \\
\hline
{\em process} & \hyperlink{structProcess}{Process} where file operations occured. \\
\hline
{\em nopen} & Number of open events. \\
\hline
{\em nclose} & Number of close events. \\
\hline
{\em nread} & Number of read events. \\
\hline
{\em nwrite} & Number of write events. \\
\hline
{\em nseek} & Number of seek events. \\
\hline
{\em bytesread} & Number of bytes read. \\
\hline
{\em byteswrite} & Number of bytes written. \\
\hline
{\em list} & Pointer to an \hyperlink{OTF__KeyValue_8h_acaf1284a372072cdb927e73406f16db0}{O\+T\+F\+\_\+\+Key\+Value\+List()} that contains individual data. \\
\hline
\end{DoxyParams}
\hypertarget{group__handler_ga456b1d688d8a5b703c2fa56144ea8b43}{\index{Handler Interface@{Handler Interface}!O\+T\+F\+\_\+\+Handler\+\_\+\+File\+Operation@{O\+T\+F\+\_\+\+Handler\+\_\+\+File\+Operation}}
\index{O\+T\+F\+\_\+\+Handler\+\_\+\+File\+Operation@{O\+T\+F\+\_\+\+Handler\+\_\+\+File\+Operation}!Handler Interface@{Handler Interface}}
\subsubsection[{O\+T\+F\+\_\+\+Handler\+\_\+\+File\+Operation}]{\setlength{\rightskip}{0pt plus 5cm}int O\+T\+F\+\_\+\+Handler\+\_\+\+File\+Operation (
\begin{DoxyParamCaption}
\item[{void $\ast$}]{user\+Data, }
\item[{uint64\+\_\+t}]{time, }
\item[{uint32\+\_\+t}]{fileid, }
\item[{uint32\+\_\+t}]{process, }
\item[{uint64\+\_\+t}]{handleid, }
\item[{uint32\+\_\+t}]{operation, }
\item[{uint64\+\_\+t}]{bytes, }
\item[{uint64\+\_\+t}]{duration, }
\item[{uint32\+\_\+t}]{source, }
\item[{{\bf O\+T\+F\+\_\+\+Key\+Value\+List} $\ast$}]{list}
\end{DoxyParamCaption}
)}}\label{group__handler_ga456b1d688d8a5b703c2fa56144ea8b43}


Provides a file operation event N\+O\+T\+E\+: this is experimental. 


\begin{DoxyParams}{Parameters}
{\em user\+Data} & Pointer to user data which can be set with \hyperlink{group__ha_ga65c9d10752139ca29dedd1baeebc146e}{O\+T\+F\+\_\+\+Handler\+Array\+\_\+set\+First\+Handler\+Arg()}. \\
\hline
{\em time} & Time when process is referenced for the last time. \hyperlink{structProcess}{Process} identifiers must not be recycled! \\
\hline
{\em process} & \hyperlink{structProcess}{Process} identifier $>$ 0.\\
\hline
{\em handleid} & Unique identifier. This parameter is important for files that are opened multiple times at the same time, to match the close to the correct open. This number has to be unique for every opened file ( Files with the same id must have different handleid !!! ). Recommendation\+: use the timestamp of the openfile record, or an increasing(with every fileopen record) variable for this.\\
\hline
{\em operation} & Kind of operation done on the file and flags further describing the operation. The macro O\+T\+F\+\_\+\+F\+I\+L\+E\+O\+P(operation) should be used to check for the kind of I/\+O operation.
\begin{DoxyItemize}
\item O\+T\+F\+\_\+\+F\+I\+L\+E\+O\+P(operation) can be checked for equality on
\begin{DoxyItemize}
\item O\+T\+F\+\_\+\+F\+I\+L\+E\+O\+P\+\_\+\+O\+P\+E\+N -- open a file
\item O\+T\+F\+\_\+\+F\+I\+L\+E\+O\+P\+\_\+\+C\+L\+O\+S\+E -- close a file
\item O\+T\+F\+\_\+\+F\+I\+L\+E\+O\+P\+\_\+\+R\+E\+A\+D -- read some bytes off a file
\item O\+T\+F\+\_\+\+F\+I\+L\+E\+O\+P\+\_\+\+W\+R\+I\+T\+E -- write some bytes to a file
\item O\+T\+F\+\_\+\+F\+I\+L\+E\+O\+P\+\_\+\+S\+E\+E\+K -- set the file pointer
\item O\+T\+F\+\_\+\+F\+I\+L\+E\+O\+P\+\_\+\+U\+N\+L\+I\+N\+K -- delete a file
\item O\+T\+F\+\_\+\+F\+I\+L\+E\+O\+P\+\_\+\+R\+E\+N\+A\+M\+E -- rename a file
\item O\+T\+F\+\_\+\+F\+I\+L\+E\+O\+P\+\_\+\+D\+U\+P -- duplicate a file desriptor
\item O\+T\+F\+\_\+\+F\+I\+L\+E\+O\+P\+\_\+\+S\+Y\+N\+C -- write dirty buffers to disk
\item O\+T\+F\+\_\+\+F\+I\+L\+E\+O\+P\+\_\+\+L\+O\+C\+K -- acquire a file lock
\item O\+T\+F\+\_\+\+F\+I\+L\+E\+O\+P\+\_\+\+U\+N\+L\+O\+C\+K -- release a file lock
\item O\+T\+F\+\_\+\+F\+I\+L\+E\+O\+P\+\_\+\+O\+T\+H\+E\+R -- none of the above
\end{DoxyItemize}
\item The following flags are supported and can be checked bit-\/wise for existence in operation\+:
\begin{DoxyItemize}
\item O\+T\+F\+\_\+\+I\+O\+F\+L\+A\+G\+\_\+\+I\+O\+F\+A\+I\+L\+E\+D -- e.\+g. could not open file, could not read or write all bytes, a lock could not be acquired, a rename operation failed, etc.
\item O\+T\+F\+\_\+\+I\+O\+F\+L\+A\+G\+\_\+\+A\+S\+Y\+N\+C -- I/\+O is done asynchronously
\item O\+T\+F\+\_\+\+I\+O\+F\+L\+A\+G\+\_\+\+C\+O\+L\+L -- this is a collective I/\+O operation
\item O\+T\+F\+\_\+\+I\+O\+F\+L\+A\+G\+\_\+\+D\+I\+R\+E\+C\+T -- I/\+O is done bypassing the cache
\item O\+T\+F\+\_\+\+I\+O\+F\+L\+A\+G\+\_\+\+S\+Y\+N\+C -- I/\+O is done synchronously
\item O\+T\+F\+\_\+\+I\+O\+F\+L\+A\+G\+\_\+\+I\+S\+R\+E\+A\+D\+L\+O\+C\+K -- lock is a read-\/only file lock
\end{DoxyItemize}
\end{DoxyItemize}\\
\hline
{\em bytes} & Should be 0 for open and close. Number of read/written bytes for read/write operations. New position in the file after a seek operation.\\
\hline
{\em duration} & Time spent in the file operation.\\
\hline
{\em source} & Explicit source code location or 0.\\
\hline
{\em list} & Pointer to an \hyperlink{OTF__KeyValue_8h_acaf1284a372072cdb927e73406f16db0}{O\+T\+F\+\_\+\+Key\+Value\+List()} that contains individual data. \\
\hline
\end{DoxyParams}
\hypertarget{group__handler_ga16b1bcacc3294c41f6fcffedf3befc40}{\index{Handler Interface@{Handler Interface}!O\+T\+F\+\_\+\+Handler\+\_\+\+File\+Operation\+Summary@{O\+T\+F\+\_\+\+Handler\+\_\+\+File\+Operation\+Summary}}
\index{O\+T\+F\+\_\+\+Handler\+\_\+\+File\+Operation\+Summary@{O\+T\+F\+\_\+\+Handler\+\_\+\+File\+Operation\+Summary}!Handler Interface@{Handler Interface}}
\subsubsection[{O\+T\+F\+\_\+\+Handler\+\_\+\+File\+Operation\+Summary}]{\setlength{\rightskip}{0pt plus 5cm}int O\+T\+F\+\_\+\+Handler\+\_\+\+File\+Operation\+Summary (
\begin{DoxyParamCaption}
\item[{void $\ast$}]{user\+Data, }
\item[{uint64\+\_\+t}]{time, }
\item[{uint32\+\_\+t}]{fileid, }
\item[{uint32\+\_\+t}]{process, }
\item[{uint64\+\_\+t}]{nopen, }
\item[{uint64\+\_\+t}]{nclose, }
\item[{uint64\+\_\+t}]{nread, }
\item[{uint64\+\_\+t}]{nwrite, }
\item[{uint64\+\_\+t}]{nseek, }
\item[{uint64\+\_\+t}]{bytesread, }
\item[{uint64\+\_\+t}]{byteswrite, }
\item[{{\bf O\+T\+F\+\_\+\+Key\+Value\+List} $\ast$}]{list}
\end{DoxyParamCaption}
)}}\label{group__handler_ga16b1bcacc3294c41f6fcffedf3befc40}


Provides summarized information about file operations. 


\begin{DoxyParams}{Parameters}
{\em user\+Data} & Pointer to user data which can be set with \hyperlink{group__ha_ga65c9d10752139ca29dedd1baeebc146e}{O\+T\+F\+\_\+\+Handler\+Array\+\_\+set\+First\+Handler\+Arg()}. \\
\hline
{\em time} & Time when summary was computed. \\
\hline
{\em fileid} & \hyperlink{classFile}{File} identifier or 0 for all files. \\
\hline
{\em process} & \hyperlink{structProcess}{Process} where file operations occured. \\
\hline
{\em nopen} & Number of open events. \\
\hline
{\em nclose} & Number of close events. \\
\hline
{\em nread} & Number of read events. \\
\hline
{\em nwrite} & Number of write events. \\
\hline
{\em nseek} & Number of seek events. \\
\hline
{\em bytesread} & Number of bytes read. \\
\hline
{\em byteswrite} & Number of bytes written. \\
\hline
{\em list} & Pointer to an \hyperlink{OTF__KeyValue_8h_acaf1284a372072cdb927e73406f16db0}{O\+T\+F\+\_\+\+Key\+Value\+List()} that contains individual data. \\
\hline
\end{DoxyParams}
\hypertarget{group__handler_gaca7f7fa2298950096a6e4f1499adfaa2}{\index{Handler Interface@{Handler Interface}!O\+T\+F\+\_\+\+Handler\+\_\+\+Function\+Group\+Summary@{O\+T\+F\+\_\+\+Handler\+\_\+\+Function\+Group\+Summary}}
\index{O\+T\+F\+\_\+\+Handler\+\_\+\+Function\+Group\+Summary@{O\+T\+F\+\_\+\+Handler\+\_\+\+Function\+Group\+Summary}!Handler Interface@{Handler Interface}}
\subsubsection[{O\+T\+F\+\_\+\+Handler\+\_\+\+Function\+Group\+Summary}]{\setlength{\rightskip}{0pt plus 5cm}int O\+T\+F\+\_\+\+Handler\+\_\+\+Function\+Group\+Summary (
\begin{DoxyParamCaption}
\item[{void $\ast$}]{user\+Data, }
\item[{uint64\+\_\+t}]{time, }
\item[{uint32\+\_\+t}]{func\+Group, }
\item[{uint32\+\_\+t}]{process, }
\item[{uint64\+\_\+t}]{invocations, }
\item[{uint64\+\_\+t}]{excl\+Time, }
\item[{uint64\+\_\+t}]{incl\+Time, }
\item[{{\bf O\+T\+F\+\_\+\+Key\+Value\+List} $\ast$}]{list}
\end{DoxyParamCaption}
)}}\label{group__handler_gaca7f7fa2298950096a6e4f1499adfaa2}


Provides summarized information for a given group of functiongroups. 


\begin{DoxyParams}{Parameters}
{\em user\+Data} & Pointer to user data which can be set with \hyperlink{group__ha_ga65c9d10752139ca29dedd1baeebc146e}{O\+T\+F\+\_\+\+Handler\+Array\+\_\+set\+First\+Handler\+Arg()}. \\
\hline
{\em time} & Time when summary was computed. \\
\hline
{\em func\+Group} & \hyperlink{structFunction}{Function} group as defined with O\+T\+F\+\_\+\+Handler\+\_\+\+Def\+Function\+Group. \\
\hline
{\em process} & \hyperlink{structProcess}{Process} of the given function group. \\
\hline
{\em invocations} & Number of invocations. \\
\hline
{\em excl\+Time} & Time spent exclusively in the given function group. \\
\hline
{\em incl\+Time} & Time spent in the given function group including all sub-\/routine calls.\\
\hline
{\em list} & Pointer to an \hyperlink{OTF__KeyValue_8h_acaf1284a372072cdb927e73406f16db0}{O\+T\+F\+\_\+\+Key\+Value\+List()} that contains individual data.\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
O\+T\+F\+\_\+\+R\+E\+T\+U\+R\+N\+\_\+\+A\+B\+O\+R\+T for aborting the reading process immediately O\+T\+F\+\_\+\+R\+E\+T\+U\+R\+N\+\_\+\+O\+K for continue reading 
\end{DoxyReturn}
\hypertarget{group__handler_ga01a090fafbb393267ebdcf9d3e83ed6b}{\index{Handler Interface@{Handler Interface}!O\+T\+F\+\_\+\+Handler\+\_\+\+Function\+Summary@{O\+T\+F\+\_\+\+Handler\+\_\+\+Function\+Summary}}
\index{O\+T\+F\+\_\+\+Handler\+\_\+\+Function\+Summary@{O\+T\+F\+\_\+\+Handler\+\_\+\+Function\+Summary}!Handler Interface@{Handler Interface}}
\subsubsection[{O\+T\+F\+\_\+\+Handler\+\_\+\+Function\+Summary}]{\setlength{\rightskip}{0pt plus 5cm}int O\+T\+F\+\_\+\+Handler\+\_\+\+Function\+Summary (
\begin{DoxyParamCaption}
\item[{void $\ast$}]{user\+Data, }
\item[{uint64\+\_\+t}]{time, }
\item[{uint32\+\_\+t}]{function, }
\item[{uint32\+\_\+t}]{process, }
\item[{uint64\+\_\+t}]{invocations, }
\item[{uint64\+\_\+t}]{excl\+Time, }
\item[{uint64\+\_\+t}]{incl\+Time, }
\item[{{\bf O\+T\+F\+\_\+\+Key\+Value\+List} $\ast$}]{list}
\end{DoxyParamCaption}
)}}\label{group__handler_ga01a090fafbb393267ebdcf9d3e83ed6b}


Provides summarized information for a given function. 


\begin{DoxyParams}{Parameters}
{\em user\+Data} & Pointer to user data which can be set with \hyperlink{group__ha_ga65c9d10752139ca29dedd1baeebc146e}{O\+T\+F\+\_\+\+Handler\+Array\+\_\+set\+First\+Handler\+Arg()}. \\
\hline
{\em time} & Time when summary was computed. \\
\hline
{\em function} & \hyperlink{structFunction}{Function} as defined with O\+T\+F\+\_\+\+Handler\+\_\+\+Def\+Function. \\
\hline
{\em process} & \hyperlink{structProcess}{Process} of the given function. \\
\hline
{\em invocations} & Number of invocations. \\
\hline
{\em excl\+Time} & Time spent exclusively in the given function. \\
\hline
{\em incl\+Time} & Time spent in the given function including all sub-\/routine calls.\\
\hline
{\em list} & Pointer to an \hyperlink{OTF__KeyValue_8h_acaf1284a372072cdb927e73406f16db0}{O\+T\+F\+\_\+\+Key\+Value\+List()} that contains individual data.\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
O\+T\+F\+\_\+\+R\+E\+T\+U\+R\+N\+\_\+\+A\+B\+O\+R\+T for aborting the reading process immediately O\+T\+F\+\_\+\+R\+E\+T\+U\+R\+N\+\_\+\+O\+K for continue reading 
\end{DoxyReturn}
\hypertarget{group__handler_ga3059bb13929e24dc5d91d176dc452243}{\index{Handler Interface@{Handler Interface}!O\+T\+F\+\_\+\+Handler\+\_\+\+Leave@{O\+T\+F\+\_\+\+Handler\+\_\+\+Leave}}
\index{O\+T\+F\+\_\+\+Handler\+\_\+\+Leave@{O\+T\+F\+\_\+\+Handler\+\_\+\+Leave}!Handler Interface@{Handler Interface}}
\subsubsection[{O\+T\+F\+\_\+\+Handler\+\_\+\+Leave}]{\setlength{\rightskip}{0pt plus 5cm}int O\+T\+F\+\_\+\+Handler\+\_\+\+Leave (
\begin{DoxyParamCaption}
\item[{void $\ast$}]{user\+Data, }
\item[{uint64\+\_\+t}]{time, }
\item[{uint32\+\_\+t}]{function, }
\item[{uint32\+\_\+t}]{process, }
\item[{uint32\+\_\+t}]{source, }
\item[{{\bf O\+T\+F\+\_\+\+Key\+Value\+List} $\ast$}]{list}
\end{DoxyParamCaption}
)}}\label{group__handler_ga3059bb13929e24dc5d91d176dc452243}


Provides a function leave event. 


\begin{DoxyParams}{Parameters}
{\em user\+Data} & Pointer to user data which can be set with \hyperlink{group__ha_ga65c9d10752139ca29dedd1baeebc146e}{O\+T\+F\+\_\+\+Handler\+Array\+\_\+set\+First\+Handler\+Arg()}. \\
\hline
{\em time} & The time when the function leave took place. \\
\hline
{\em function} & \hyperlink{structFunction}{Function} which was left or 0 if stack integrety checking is not available. \\
\hline
{\em process} & \hyperlink{structProcess}{Process} where action took place. \\
\hline
{\em source} & Explicit source code location identifier $>$ 0 or 0 if no source information available.\\
\hline
{\em list} & Pointer to an \hyperlink{OTF__KeyValue_8h_acaf1284a372072cdb927e73406f16db0}{O\+T\+F\+\_\+\+Key\+Value\+List()} that contains individual data.\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
O\+T\+F\+\_\+\+R\+E\+T\+U\+R\+N\+\_\+\+A\+B\+O\+R\+T for aborting the reading process immediately O\+T\+F\+\_\+\+R\+E\+T\+U\+R\+N\+\_\+\+O\+K for continue reading 
\end{DoxyReturn}
\hypertarget{group__handler_gafc1baae8b667046d750968a7aa0bf61f}{\index{Handler Interface@{Handler Interface}!O\+T\+F\+\_\+\+Handler\+\_\+\+Marker@{O\+T\+F\+\_\+\+Handler\+\_\+\+Marker}}
\index{O\+T\+F\+\_\+\+Handler\+\_\+\+Marker@{O\+T\+F\+\_\+\+Handler\+\_\+\+Marker}!Handler Interface@{Handler Interface}}
\subsubsection[{O\+T\+F\+\_\+\+Handler\+\_\+\+Marker}]{\setlength{\rightskip}{0pt plus 5cm}int O\+T\+F\+\_\+\+Handler\+\_\+\+Marker (
\begin{DoxyParamCaption}
\item[{void $\ast$}]{user\+Data, }
\item[{uint64\+\_\+t}]{time, }
\item[{uint32\+\_\+t}]{process, }
\item[{uint32\+\_\+t}]{token, }
\item[{const char $\ast$}]{text, }
\item[{{\bf O\+T\+F\+\_\+\+Key\+Value\+List} $\ast$}]{list}
\end{DoxyParamCaption}
)}}\label{group__handler_gafc1baae8b667046d750968a7aa0bf61f}


Define a marker. 


\begin{DoxyParams}{Parameters}
{\em user\+Data} & Pointer to user data which can be set with \hyperlink{group__ha_ga65c9d10752139ca29dedd1baeebc146e}{O\+T\+F\+\_\+\+Handler\+Array\+\_\+set\+First\+Handler\+Arg()}. \\
\hline
{\em time} & Time stamp of the marker record. Note that marker records are not sorted according to time stamps! \\
\hline
{\em process} & The process or process group of the marker. \\
\hline
{\em token} & A marker token defined by 'Def\+Marker' before. \\
\hline
{\em text} & Descriptive text. \\
\hline
{\em list} & Pointer to an \hyperlink{OTF__KeyValue_8h_acaf1284a372072cdb927e73406f16db0}{O\+T\+F\+\_\+\+Key\+Value\+List()} that contains individual data.\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
O\+T\+F\+\_\+\+R\+E\+T\+U\+R\+N\+\_\+\+A\+B\+O\+R\+T for aborting the reading process immediately O\+T\+F\+\_\+\+R\+E\+T\+U\+R\+N\+\_\+\+O\+K for continue reading 
\end{DoxyReturn}
\hypertarget{group__handler_ga9c7ab4365119607f952f24e1c326f8ce}{\index{Handler Interface@{Handler Interface}!O\+T\+F\+\_\+\+Handler\+\_\+\+Message\+Summary@{O\+T\+F\+\_\+\+Handler\+\_\+\+Message\+Summary}}
\index{O\+T\+F\+\_\+\+Handler\+\_\+\+Message\+Summary@{O\+T\+F\+\_\+\+Handler\+\_\+\+Message\+Summary}!Handler Interface@{Handler Interface}}
\subsubsection[{O\+T\+F\+\_\+\+Handler\+\_\+\+Message\+Summary}]{\setlength{\rightskip}{0pt plus 5cm}int O\+T\+F\+\_\+\+Handler\+\_\+\+Message\+Summary (
\begin{DoxyParamCaption}
\item[{void $\ast$}]{user\+Data, }
\item[{uint64\+\_\+t}]{time, }
\item[{uint32\+\_\+t}]{process, }
\item[{uint32\+\_\+t}]{peer, }
\item[{uint32\+\_\+t}]{comm, }
\item[{uint32\+\_\+t}]{type, }
\item[{uint64\+\_\+t}]{sent\+Number, }
\item[{uint64\+\_\+t}]{received\+Number, }
\item[{uint64\+\_\+t}]{sent\+Bytes, }
\item[{uint64\+\_\+t}]{received\+Bytes, }
\item[{{\bf O\+T\+F\+\_\+\+Key\+Value\+List} $\ast$}]{list}
\end{DoxyParamCaption}
)}}\label{group__handler_ga9c7ab4365119607f952f24e1c326f8ce}


Provides summarized information for a given message type. 


\begin{DoxyParams}{Parameters}
{\em user\+Data} & Pointer to user data which can be set with \hyperlink{group__ha_ga65c9d10752139ca29dedd1baeebc146e}{O\+T\+F\+\_\+\+Handler\+Array\+\_\+set\+First\+Handler\+Arg()}. \\
\hline
{\em time} & Time when summary was computed. \\
\hline
{\em process} & \hyperlink{structProcess}{Process} where messages originated. \\
\hline
{\em peer} & \hyperlink{structProcess}{Process} where the message is sent to \\
\hline
{\em comm} & Communicator of message summary \\
\hline
{\em type} & Message type/tag. \\
\hline
{\em sent\+Number} & The number of messages sent. \\
\hline
{\em received\+Number} & The number of messages received. \\
\hline
{\em sent\+Bytes} & The number of bytes sent via messages of the given type. \\
\hline
{\em received\+Bytes} & The number of bytes received through messages of the given type.\\
\hline
{\em list} & Pointer to an \hyperlink{OTF__KeyValue_8h_acaf1284a372072cdb927e73406f16db0}{O\+T\+F\+\_\+\+Key\+Value\+List()} that contains individual data.\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
O\+T\+F\+\_\+\+R\+E\+T\+U\+R\+N\+\_\+\+A\+B\+O\+R\+T for aborting the reading process immediately O\+T\+F\+\_\+\+R\+E\+T\+U\+R\+N\+\_\+\+O\+K for continue reading 
\end{DoxyReturn}
\hypertarget{group__handler_gaa2f346a516366b85e73c6daff262d105}{\index{Handler Interface@{Handler Interface}!O\+T\+F\+\_\+\+Handler\+\_\+\+No\+Op@{O\+T\+F\+\_\+\+Handler\+\_\+\+No\+Op}}
\index{O\+T\+F\+\_\+\+Handler\+\_\+\+No\+Op@{O\+T\+F\+\_\+\+Handler\+\_\+\+No\+Op}!Handler Interface@{Handler Interface}}
\subsubsection[{O\+T\+F\+\_\+\+Handler\+\_\+\+No\+Op}]{\setlength{\rightskip}{0pt plus 5cm}int O\+T\+F\+\_\+\+Handler\+\_\+\+No\+Op (
\begin{DoxyParamCaption}
\item[{void $\ast$}]{user\+Data, }
\item[{uint64\+\_\+t}]{time, }
\item[{uint32\+\_\+t}]{process, }
\item[{{\bf O\+T\+F\+\_\+\+Key\+Value\+List} $\ast$}]{list}
\end{DoxyParamCaption}
)}}\label{group__handler_gaa2f346a516366b85e73c6daff262d105}


Provides a no-\/operation event. 

This event only stores a O\+T\+F\+\_\+\+Key\+Value\+List together with a process number and a timestamp.


\begin{DoxyParams}{Parameters}
{\em user\+Data} & Pointer to user data which can be set with \hyperlink{group__ha_ga65c9d10752139ca29dedd1baeebc146e}{O\+T\+F\+\_\+\+Handler\+Array\+\_\+set\+First\+Handler\+Arg()}. \\
\hline
{\em time} & The time associated with this event. \\
\hline
{\em process} & \hyperlink{structProcess}{Process} where action took place. \\
\hline
{\em list} & Pointer to an \hyperlink{OTF__KeyValue_8h_acaf1284a372072cdb927e73406f16db0}{O\+T\+F\+\_\+\+Key\+Value\+List()} that contains individual data.\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
O\+T\+F\+\_\+\+R\+E\+T\+U\+R\+N\+\_\+\+A\+B\+O\+R\+T for aborting the reading process immediately O\+T\+F\+\_\+\+R\+E\+T\+U\+R\+N\+\_\+\+O\+K for continue reading 
\end{DoxyReturn}
\hypertarget{group__handler_ga91ce2573ab7733b82bc4f4e5e729743c}{\index{Handler Interface@{Handler Interface}!O\+T\+F\+\_\+\+Handler\+\_\+\+Open\+File\+Snapshot@{O\+T\+F\+\_\+\+Handler\+\_\+\+Open\+File\+Snapshot}}
\index{O\+T\+F\+\_\+\+Handler\+\_\+\+Open\+File\+Snapshot@{O\+T\+F\+\_\+\+Handler\+\_\+\+Open\+File\+Snapshot}!Handler Interface@{Handler Interface}}
\subsubsection[{O\+T\+F\+\_\+\+Handler\+\_\+\+Open\+File\+Snapshot}]{\setlength{\rightskip}{0pt plus 5cm}int O\+T\+F\+\_\+\+Handler\+\_\+\+Open\+File\+Snapshot (
\begin{DoxyParamCaption}
\item[{void $\ast$}]{user\+Data, }
\item[{uint64\+\_\+t}]{time, }
\item[{uint64\+\_\+t}]{originaltime, }
\item[{uint32\+\_\+t}]{fileid, }
\item[{uint32\+\_\+t}]{process, }
\item[{uint64\+\_\+t}]{handleid, }
\item[{uint32\+\_\+t}]{source, }
\item[{{\bf O\+T\+F\+\_\+\+Key\+Value\+List} $\ast$}]{list}
\end{DoxyParamCaption}
)}}\label{group__handler_ga91ce2573ab7733b82bc4f4e5e729743c}


Provides a snapshot record for opened(and not yet closed) files. 


\begin{DoxyParams}{Parameters}
{\em user\+Data} & Pointer to user data which can be set with \hyperlink{group__ha_ga65c9d10752139ca29dedd1baeebc146e}{O\+T\+F\+\_\+\+Handler\+Array\+\_\+set\+First\+Handler\+Arg()}. \\
\hline
{\em time} & Current timestamp. \\
\hline
{\em originaltime} & Timestamp when the file has been opened. \\
\hline
{\em process} & \hyperlink{structProcess}{Process} identifier. \\
\hline
{\em handleid} & Unique file open identifier. See \hyperlink{group__handler_ga456b1d688d8a5b703c2fa56144ea8b43}{O\+T\+F\+\_\+\+Handler\+\_\+\+File\+Operation()}. \\
\hline
{\em source} & Optional reference to source code.\\
\hline
{\em list} & Pointer to an \hyperlink{OTF__KeyValue_8h_acaf1284a372072cdb927e73406f16db0}{O\+T\+F\+\_\+\+Key\+Value\+List()} that contains individual data. \\
\hline
\end{DoxyParams}
\hypertarget{group__handler_ga165881accaca25994493bd97a0f2e560}{\index{Handler Interface@{Handler Interface}!O\+T\+F\+\_\+\+Handler\+\_\+\+Recv\+Msg@{O\+T\+F\+\_\+\+Handler\+\_\+\+Recv\+Msg}}
\index{O\+T\+F\+\_\+\+Handler\+\_\+\+Recv\+Msg@{O\+T\+F\+\_\+\+Handler\+\_\+\+Recv\+Msg}!Handler Interface@{Handler Interface}}
\subsubsection[{O\+T\+F\+\_\+\+Handler\+\_\+\+Recv\+Msg}]{\setlength{\rightskip}{0pt plus 5cm}int O\+T\+F\+\_\+\+Handler\+\_\+\+Recv\+Msg (
\begin{DoxyParamCaption}
\item[{void $\ast$}]{user\+Data, }
\item[{uint64\+\_\+t}]{time, }
\item[{uint32\+\_\+t}]{recv\+Proc, }
\item[{uint32\+\_\+t}]{send\+Proc, }
\item[{uint32\+\_\+t}]{group, }
\item[{uint32\+\_\+t}]{type, }
\item[{uint32\+\_\+t}]{length, }
\item[{uint32\+\_\+t}]{source, }
\item[{{\bf O\+T\+F\+\_\+\+Key\+Value\+List} $\ast$}]{list}
\end{DoxyParamCaption}
)}}\label{group__handler_ga165881accaca25994493bd97a0f2e560}


Provides a message retrieval event. 


\begin{DoxyParams}{Parameters}
{\em user\+Data} & Pointer to user data which can be set with \hyperlink{group__ha_ga65c9d10752139ca29dedd1baeebc146e}{O\+T\+F\+\_\+\+Handler\+Array\+\_\+set\+First\+Handler\+Arg()}. \\
\hline
{\em time} & The time when the message was received. \\
\hline
{\em recv\+Proc} & Identifier of receiving process. \\
\hline
{\em send\+Proc} & Identifier of sending process. \\
\hline
{\em group} & Process-\/group to which sender and receiver belong to or 0 for no group assignment. \\
\hline
{\em type} & Message type information $>$ 0 or 0 for no information. \\
\hline
{\em length} & Optional message length information. \\
\hline
{\em source} & Explicit source code location identifier $>$ 0 or 0 if no source information available.\\
\hline
{\em list} & Pointer to an \hyperlink{OTF__KeyValue_8h_acaf1284a372072cdb927e73406f16db0}{O\+T\+F\+\_\+\+Key\+Value\+List()} that contains individual data.\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
O\+T\+F\+\_\+\+R\+E\+T\+U\+R\+N\+\_\+\+A\+B\+O\+R\+T for aborting the reading process immediately O\+T\+F\+\_\+\+R\+E\+T\+U\+R\+N\+\_\+\+O\+K for continue reading 
\end{DoxyReturn}
\hypertarget{group__handler_gab71b846f0f6d332e6784e755b6faf91f}{\index{Handler Interface@{Handler Interface}!O\+T\+F\+\_\+\+Handler\+\_\+\+R\+M\+A\+End@{O\+T\+F\+\_\+\+Handler\+\_\+\+R\+M\+A\+End}}
\index{O\+T\+F\+\_\+\+Handler\+\_\+\+R\+M\+A\+End@{O\+T\+F\+\_\+\+Handler\+\_\+\+R\+M\+A\+End}!Handler Interface@{Handler Interface}}
\subsubsection[{O\+T\+F\+\_\+\+Handler\+\_\+\+R\+M\+A\+End}]{\setlength{\rightskip}{0pt plus 5cm}int O\+T\+F\+\_\+\+Handler\+\_\+\+R\+M\+A\+End (
\begin{DoxyParamCaption}
\item[{void $\ast$}]{user\+Data, }
\item[{uint64\+\_\+t}]{time, }
\item[{uint32\+\_\+t}]{process, }
\item[{uint32\+\_\+t}]{remote, }
\item[{uint32\+\_\+t}]{communicator, }
\item[{uint32\+\_\+t}]{tag, }
\item[{uint32\+\_\+t}]{source, }
\item[{{\bf O\+T\+F\+\_\+\+Key\+Value\+List} $\ast$}]{list}
\end{DoxyParamCaption}
)}}\label{group__handler_gab71b846f0f6d332e6784e755b6faf91f}


Provide a R\+M\+A end event. 

The end record marks the finalization of all R\+M\+A operations with the communicator and tag.


\begin{DoxyParams}{Parameters}
{\em user\+Data} & Pointer to user data which can be set with \hyperlink{group__ha_ga65c9d10752139ca29dedd1baeebc146e}{O\+T\+F\+\_\+\+Handler\+Array\+\_\+set\+First\+Handler\+Arg()}. \\
\hline
{\em time} & Time when process is referenced for the last time. \hyperlink{structProcess}{Process} identifiers must not be recycled! \\
\hline
{\em process} & \hyperlink{structProcess}{Process} identifier $>$ 0. \\
\hline
{\em remote} & If $>$0, ends R\+M\+A transfers on \hyperlink{structProcess}{Process} $<$remote$>$, instead of this $<$process$>$. \\
\hline
{\em communicator} & Together with tag, it is used to identify the related R\+M\+A transfer records. \\
\hline
{\em tag} & Together with communicator, it is used to identify the related R\+M\+A transfer records. \\
\hline
{\em source} & Explicit source code location or 0.\\
\hline
{\em list} & Pointer to an \hyperlink{OTF__KeyValue_8h_acaf1284a372072cdb927e73406f16db0}{O\+T\+F\+\_\+\+Key\+Value\+List()} that contains individual data.\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
1 on success, 0 if an error occurs. 
\end{DoxyReturn}
\hypertarget{group__handler_gac98039210cdf052e49e5de6730b2469a}{\index{Handler Interface@{Handler Interface}!O\+T\+F\+\_\+\+Handler\+\_\+\+R\+M\+A\+Get@{O\+T\+F\+\_\+\+Handler\+\_\+\+R\+M\+A\+Get}}
\index{O\+T\+F\+\_\+\+Handler\+\_\+\+R\+M\+A\+Get@{O\+T\+F\+\_\+\+Handler\+\_\+\+R\+M\+A\+Get}!Handler Interface@{Handler Interface}}
\subsubsection[{O\+T\+F\+\_\+\+Handler\+\_\+\+R\+M\+A\+Get}]{\setlength{\rightskip}{0pt plus 5cm}int O\+T\+F\+\_\+\+Handler\+\_\+\+R\+M\+A\+Get (
\begin{DoxyParamCaption}
\item[{void $\ast$}]{user\+Data, }
\item[{uint64\+\_\+t}]{time, }
\item[{uint32\+\_\+t}]{process, }
\item[{uint32\+\_\+t}]{origin, }
\item[{uint32\+\_\+t}]{target, }
\item[{uint32\+\_\+t}]{communicator, }
\item[{uint32\+\_\+t}]{tag, }
\item[{uint64\+\_\+t}]{bytes, }
\item[{uint32\+\_\+t}]{source, }
\item[{{\bf O\+T\+F\+\_\+\+Key\+Value\+List} $\ast$}]{list}
\end{DoxyParamCaption}
)}}\label{group__handler_gac98039210cdf052e49e5de6730b2469a}


Provides a R\+M\+A get event -\/ end marker is anticipated on initiating \hyperlink{structProcess}{Process}. 

N\+O\+T\+E\+: this is experimental


\begin{DoxyParams}{Parameters}
{\em user\+Data} & Pointer to user data which can be set with \hyperlink{group__ha_ga65c9d10752139ca29dedd1baeebc146e}{O\+T\+F\+\_\+\+Handler\+Array\+\_\+set\+First\+Handler\+Arg()}. \\
\hline
{\em time} & Time when process is referenced for the last time. \hyperlink{structProcess}{Process} identifiers must not be recycled! \\
\hline
{\em process} & \hyperlink{structProcess}{Process} identifier $>$ 0. This is the \hyperlink{structProcess}{Process} that initiates the transfer. \\
\hline
{\em origin} & If $>$0, the \hyperlink{structProcess}{Process} whose memory will receive the data from $<$target$>$, instead of this $<$process$>$. \\
\hline
{\em target} & \hyperlink{structProcess}{Process} whose memory will be read. \\
\hline
{\em communicator} & Together with tag, it is used to identify the corresponding R\+M\+A end record. This will be the process group of the R\+M\+A Window in case of M\+P\+I one-\/sided communication. \\
\hline
{\em tag} & Together with communicator, it is used to identify the corresponding R\+M\+A end record. Usually this will be counted upwards to distinguish multiple transfer sections with the same communicator B\+U\+T T\+H\+I\+S I\+S N\+O\+T M\+A\+N\+D\+A\+T\+O\+R\+Y, i.\+e. multiple R\+M\+A end records with the same comm/tag combination may exist. \\
\hline
{\em bytes} & Number of bytes that have been transferred by this call. \\
\hline
{\em source} & Explicit source code location or 0.\\
\hline
{\em list} & Pointer to an \hyperlink{OTF__KeyValue_8h_acaf1284a372072cdb927e73406f16db0}{O\+T\+F\+\_\+\+Key\+Value\+List()} that contains individual data.\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
1 on success, 0 if an error occurs. 
\end{DoxyReturn}
\hypertarget{group__handler_ga71243293394e773d62e6ee4689b811b0}{\index{Handler Interface@{Handler Interface}!O\+T\+F\+\_\+\+Handler\+\_\+\+R\+M\+A\+Put@{O\+T\+F\+\_\+\+Handler\+\_\+\+R\+M\+A\+Put}}
\index{O\+T\+F\+\_\+\+Handler\+\_\+\+R\+M\+A\+Put@{O\+T\+F\+\_\+\+Handler\+\_\+\+R\+M\+A\+Put}!Handler Interface@{Handler Interface}}
\subsubsection[{O\+T\+F\+\_\+\+Handler\+\_\+\+R\+M\+A\+Put}]{\setlength{\rightskip}{0pt plus 5cm}int O\+T\+F\+\_\+\+Handler\+\_\+\+R\+M\+A\+Put (
\begin{DoxyParamCaption}
\item[{void $\ast$}]{user\+Data, }
\item[{uint64\+\_\+t}]{time, }
\item[{uint32\+\_\+t}]{process, }
\item[{uint32\+\_\+t}]{origin, }
\item[{uint32\+\_\+t}]{target, }
\item[{uint32\+\_\+t}]{communicator, }
\item[{uint32\+\_\+t}]{tag, }
\item[{uint64\+\_\+t}]{bytes, }
\item[{uint32\+\_\+t}]{source, }
\item[{{\bf O\+T\+F\+\_\+\+Key\+Value\+List} $\ast$}]{list}
\end{DoxyParamCaption}
)}}\label{group__handler_ga71243293394e773d62e6ee4689b811b0}


Provides a R\+M\+A put event -\/ end marker is anticipated on initiating \hyperlink{structProcess}{Process}. 

N\+O\+T\+E\+: this is experimental


\begin{DoxyParams}{Parameters}
{\em user\+Data} & Pointer to user data which can be set with \hyperlink{group__ha_ga65c9d10752139ca29dedd1baeebc146e}{O\+T\+F\+\_\+\+Handler\+Array\+\_\+set\+First\+Handler\+Arg()}. \\
\hline
{\em time} & Time when process is referenced for the last time. \hyperlink{structProcess}{Process} identifiers must not be recycled! \\
\hline
{\em process} & \hyperlink{structProcess}{Process} identifier $>$ 0. This is the \hyperlink{structProcess}{Process} that initiates the transfer. \\
\hline
{\em origin} & If $>$0, \hyperlink{structProcess}{Process} whose memory will be transferred, instead of this $<$process$>$. \\
\hline
{\em target} & \hyperlink{structProcess}{Process} whose memory will be written. \\
\hline
{\em communicator} & Together with tag, it is used to identify the corresponding R\+M\+A end record. This will be the process group of the R\+M\+A Window in case of M\+P\+I one-\/sided communication. \\
\hline
{\em tag} & Together with communicator, it is used to identify the corresponding R\+M\+A end record. Usually this will be counted upwards to distinguish multiple transfer sections with the same communicator B\+U\+T T\+H\+I\+S I\+S N\+O\+T M\+A\+N\+D\+A\+T\+O\+R\+Y, i.\+e. multiple R\+M\+A end records with the same comm/tag combination may exist. \\
\hline
{\em bytes} & Number of bytes that have been transferred by this call. \\
\hline
{\em source} & Explicit source code location or 0.\\
\hline
{\em list} & Pointer to an \hyperlink{OTF__KeyValue_8h_acaf1284a372072cdb927e73406f16db0}{O\+T\+F\+\_\+\+Key\+Value\+List()} that contains individual data.\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
1 on success, 0 if an error occurs. 
\end{DoxyReturn}
\hypertarget{group__handler_ga6f061fd0788fe4db08f817bb370f9045}{\index{Handler Interface@{Handler Interface}!O\+T\+F\+\_\+\+Handler\+\_\+\+R\+M\+A\+Put\+Remote\+End@{O\+T\+F\+\_\+\+Handler\+\_\+\+R\+M\+A\+Put\+Remote\+End}}
\index{O\+T\+F\+\_\+\+Handler\+\_\+\+R\+M\+A\+Put\+Remote\+End@{O\+T\+F\+\_\+\+Handler\+\_\+\+R\+M\+A\+Put\+Remote\+End}!Handler Interface@{Handler Interface}}
\subsubsection[{O\+T\+F\+\_\+\+Handler\+\_\+\+R\+M\+A\+Put\+Remote\+End}]{\setlength{\rightskip}{0pt plus 5cm}int O\+T\+F\+\_\+\+Handler\+\_\+\+R\+M\+A\+Put\+Remote\+End (
\begin{DoxyParamCaption}
\item[{void $\ast$}]{user\+Data, }
\item[{uint64\+\_\+t}]{time, }
\item[{uint32\+\_\+t}]{process, }
\item[{uint32\+\_\+t}]{origin, }
\item[{uint32\+\_\+t}]{target, }
\item[{uint32\+\_\+t}]{communicator, }
\item[{uint32\+\_\+t}]{tag, }
\item[{uint64\+\_\+t}]{bytes, }
\item[{uint32\+\_\+t}]{source, }
\item[{{\bf O\+T\+F\+\_\+\+Key\+Value\+List} $\ast$}]{list}
\end{DoxyParamCaption}
)}}\label{group__handler_ga6f061fd0788fe4db08f817bb370f9045}


Provides a R\+M\+A put event with remote finalization marker, i.\+e. 

R\+M\+A end marker is anticipated on target \hyperlink{structProcess}{Process}. N\+O\+T\+E\+: this is experimental


\begin{DoxyParams}{Parameters}
{\em user\+Data} & Pointer to user data which can be set with \hyperlink{group__ha_ga65c9d10752139ca29dedd1baeebc146e}{O\+T\+F\+\_\+\+Handler\+Array\+\_\+set\+First\+Handler\+Arg()}. \\
\hline
{\em time} & Time when process is referenced for the last time. \hyperlink{structProcess}{Process} identifiers must not be recycled! \\
\hline
{\em process} & \hyperlink{structProcess}{Process} identifier $>$ 0. This is the \hyperlink{structProcess}{Process} that initiates the transfer. \\
\hline
{\em origin} & If $>$0, \hyperlink{structProcess}{Process} whose memory will be transferred, instead of this $<$process$>$. \\
\hline
{\em target} & \hyperlink{structProcess}{Process} whose memory will be written. That \hyperlink{structProcess}{Process}' stream will also carry the end record for this transaction. \\
\hline
{\em communicator} & Together with tag, it is used to identify the corresponding R\+M\+A end record. This will be the process group of the R\+M\+A Window in case of M\+P\+I one-\/sided communication. \\
\hline
{\em tag} & Together with communicator, it is used to identify the corresponding R\+M\+A end record. Usually this will be counted upwards to distinguish multiple transfer sections with the same communicator B\+U\+T T\+H\+I\+S I\+S N\+O\+T M\+A\+N\+D\+A\+T\+O\+R\+Y, i.\+e. multiple R\+M\+A end records with the same comm/tag combination may exist. \\
\hline
{\em bytes} & Number of bytes that have been transferred by this call. \\
\hline
{\em source} & Explicit source code location or 0.\\
\hline
{\em list} & Pointer to an \hyperlink{OTF__KeyValue_8h_acaf1284a372072cdb927e73406f16db0}{O\+T\+F\+\_\+\+Key\+Value\+List()} that contains individual data.\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
1 on success, 0 if an error occurs. 
\end{DoxyReturn}
\hypertarget{group__handler_gadc00bc335c0f3f8929ee66489ab56ec8}{\index{Handler Interface@{Handler Interface}!O\+T\+F\+\_\+\+Handler\+\_\+\+Send\+Msg@{O\+T\+F\+\_\+\+Handler\+\_\+\+Send\+Msg}}
\index{O\+T\+F\+\_\+\+Handler\+\_\+\+Send\+Msg@{O\+T\+F\+\_\+\+Handler\+\_\+\+Send\+Msg}!Handler Interface@{Handler Interface}}
\subsubsection[{O\+T\+F\+\_\+\+Handler\+\_\+\+Send\+Msg}]{\setlength{\rightskip}{0pt plus 5cm}int O\+T\+F\+\_\+\+Handler\+\_\+\+Send\+Msg (
\begin{DoxyParamCaption}
\item[{void $\ast$}]{user\+Data, }
\item[{uint64\+\_\+t}]{time, }
\item[{uint32\+\_\+t}]{sender, }
\item[{uint32\+\_\+t}]{receiver, }
\item[{uint32\+\_\+t}]{group, }
\item[{uint32\+\_\+t}]{type, }
\item[{uint32\+\_\+t}]{length, }
\item[{uint32\+\_\+t}]{source, }
\item[{{\bf O\+T\+F\+\_\+\+Key\+Value\+List} $\ast$}]{list}
\end{DoxyParamCaption}
)}}\label{group__handler_gadc00bc335c0f3f8929ee66489ab56ec8}


Provides a message send event. 


\begin{DoxyParams}{Parameters}
{\em user\+Data} & Pointer to user data which can be set with \hyperlink{group__ha_ga65c9d10752139ca29dedd1baeebc146e}{O\+T\+F\+\_\+\+Handler\+Array\+\_\+set\+First\+Handler\+Arg()}. \\
\hline
{\em time} & The time when the message was send. \\
\hline
{\em sender} & Sender of the message. \\
\hline
{\em receiver} & Receiver of the message. \\
\hline
{\em group} & Process-\/group to which sender and receiver belong to or 0 for no group assignment. \\
\hline
{\em type} & Message type information $>$ 0 or 0 for no information. \\
\hline
{\em length} & Optional message length information. \\
\hline
{\em source} & Explicit source code location identifier $>$ 0 or 0 if no source information available.\\
\hline
{\em list} & Pointer to an \hyperlink{OTF__KeyValue_8h_acaf1284a372072cdb927e73406f16db0}{O\+T\+F\+\_\+\+Key\+Value\+List()} that contains individual data.\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
O\+T\+F\+\_\+\+R\+E\+T\+U\+R\+N\+\_\+\+A\+B\+O\+R\+T for aborting the reading process immediately O\+T\+F\+\_\+\+R\+E\+T\+U\+R\+N\+\_\+\+O\+K for continue reading 
\end{DoxyReturn}
\hypertarget{group__handler_ga0f90479adbbe8b698ea58c0595de61db}{\index{Handler Interface@{Handler Interface}!O\+T\+F\+\_\+\+Handler\+\_\+\+Send\+Snapshot@{O\+T\+F\+\_\+\+Handler\+\_\+\+Send\+Snapshot}}
\index{O\+T\+F\+\_\+\+Handler\+\_\+\+Send\+Snapshot@{O\+T\+F\+\_\+\+Handler\+\_\+\+Send\+Snapshot}!Handler Interface@{Handler Interface}}
\subsubsection[{O\+T\+F\+\_\+\+Handler\+\_\+\+Send\+Snapshot}]{\setlength{\rightskip}{0pt plus 5cm}int O\+T\+F\+\_\+\+Handler\+\_\+\+Send\+Snapshot (
\begin{DoxyParamCaption}
\item[{void $\ast$}]{user\+Data, }
\item[{uint64\+\_\+t}]{time, }
\item[{uint64\+\_\+t}]{originaltime, }
\item[{uint32\+\_\+t}]{sender, }
\item[{uint32\+\_\+t}]{receiver, }
\item[{uint32\+\_\+t}]{proc\+Group, }
\item[{uint32\+\_\+t}]{tag, }
\item[{uint32\+\_\+t}]{length, }
\item[{uint32\+\_\+t}]{source, }
\item[{{\bf O\+T\+F\+\_\+\+Key\+Value\+List} $\ast$}]{list}
\end{DoxyParamCaption}
)}}\label{group__handler_ga0f90479adbbe8b698ea58c0595de61db}


provides information about a past message send operation at the time 'originaltime'. 

Parameters 'time', 'sender', 'receiver', 'proc\+Group', 'tag', 'length', 'source' and the return value have the same meaning as in \hyperlink{group__handler_gadc00bc335c0f3f8929ee66489ab56ec8}{O\+T\+F\+\_\+\+Handler\+\_\+\+Send\+Msg()}. \hypertarget{group__handler_gad29ec26c722eb7012a83927db6e353ed}{\index{Handler Interface@{Handler Interface}!O\+T\+F\+\_\+\+Handler\+\_\+\+Snapshot\+Comment@{O\+T\+F\+\_\+\+Handler\+\_\+\+Snapshot\+Comment}}
\index{O\+T\+F\+\_\+\+Handler\+\_\+\+Snapshot\+Comment@{O\+T\+F\+\_\+\+Handler\+\_\+\+Snapshot\+Comment}!Handler Interface@{Handler Interface}}
\subsubsection[{O\+T\+F\+\_\+\+Handler\+\_\+\+Snapshot\+Comment}]{\setlength{\rightskip}{0pt plus 5cm}int O\+T\+F\+\_\+\+Handler\+\_\+\+Snapshot\+Comment (
\begin{DoxyParamCaption}
\item[{void $\ast$}]{user\+Data, }
\item[{uint64\+\_\+t}]{time, }
\item[{uint32\+\_\+t}]{process, }
\item[{const char $\ast$}]{comment, }
\item[{{\bf O\+T\+F\+\_\+\+Key\+Value\+List} $\ast$}]{list}
\end{DoxyParamCaption}
)}}\label{group__handler_gad29ec26c722eb7012a83927db6e353ed}


Provides a snapshot comment. 


\begin{DoxyParams}{Parameters}
{\em user\+Data} & Pointer to user data which can be set with \hyperlink{group__ha_ga65c9d10752139ca29dedd1baeebc146e}{O\+T\+F\+\_\+\+Handler\+Array\+\_\+set\+First\+Handler\+Arg()}. \\
\hline
{\em time} & Comments need a timestamp for a proper positioning in the trace. \\
\hline
{\em process} & Comments also need a process identifier for a proper positioning in the trace. \\
\hline
{\em comment} & Arbitrary comment string.\\
\hline
{\em list} & Pointer to an \hyperlink{OTF__KeyValue_8h_acaf1284a372072cdb927e73406f16db0}{O\+T\+F\+\_\+\+Key\+Value\+List()} that contains individual data.\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
O\+T\+F\+\_\+\+R\+E\+T\+U\+R\+N\+\_\+\+A\+B\+O\+R\+T for aborting the reading process immediately O\+T\+F\+\_\+\+R\+E\+T\+U\+R\+N\+\_\+\+O\+K for continue reading 
\end{DoxyReturn}
\hypertarget{group__handler_ga018abb86ca31e33b388414dac59119f1}{\index{Handler Interface@{Handler Interface}!O\+T\+F\+\_\+\+Handler\+\_\+\+Summary\+Comment@{O\+T\+F\+\_\+\+Handler\+\_\+\+Summary\+Comment}}
\index{O\+T\+F\+\_\+\+Handler\+\_\+\+Summary\+Comment@{O\+T\+F\+\_\+\+Handler\+\_\+\+Summary\+Comment}!Handler Interface@{Handler Interface}}
\subsubsection[{O\+T\+F\+\_\+\+Handler\+\_\+\+Summary\+Comment}]{\setlength{\rightskip}{0pt plus 5cm}int O\+T\+F\+\_\+\+Handler\+\_\+\+Summary\+Comment (
\begin{DoxyParamCaption}
\item[{void $\ast$}]{user\+Data, }
\item[{uint64\+\_\+t}]{time, }
\item[{uint32\+\_\+t}]{process, }
\item[{const char $\ast$}]{comment, }
\item[{{\bf O\+T\+F\+\_\+\+Key\+Value\+List} $\ast$}]{list}
\end{DoxyParamCaption}
)}}\label{group__handler_ga018abb86ca31e33b388414dac59119f1}


Provides a summary comment. 


\begin{DoxyParams}{Parameters}
{\em user\+Data} & Pointer to user data which can be set with \hyperlink{group__ha_ga65c9d10752139ca29dedd1baeebc146e}{O\+T\+F\+\_\+\+Handler\+Array\+\_\+set\+First\+Handler\+Arg()}. \\
\hline
{\em time} & Comments need a timestamp for a proper positioning in the trace. \\
\hline
{\em process} & Comments also need a process identifier for a proper positioning in the trace. \\
\hline
{\em comment} & Arbitrary comment string.\\
\hline
{\em list} & Pointer to an \hyperlink{OTF__KeyValue_8h_acaf1284a372072cdb927e73406f16db0}{O\+T\+F\+\_\+\+Key\+Value\+List()} that contains individual data.\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
O\+T\+F\+\_\+\+R\+E\+T\+U\+R\+N\+\_\+\+A\+B\+O\+R\+T for aborting the reading process immediately O\+T\+F\+\_\+\+R\+E\+T\+U\+R\+N\+\_\+\+O\+K for continue reading 
\end{DoxyReturn}
\hypertarget{group__handler_ga8260b551b53340dc06281482dedba53a}{\index{Handler Interface@{Handler Interface}!O\+T\+F\+\_\+\+Handler\+\_\+\+Unknown\+Record@{O\+T\+F\+\_\+\+Handler\+\_\+\+Unknown\+Record}}
\index{O\+T\+F\+\_\+\+Handler\+\_\+\+Unknown\+Record@{O\+T\+F\+\_\+\+Handler\+\_\+\+Unknown\+Record}!Handler Interface@{Handler Interface}}
\subsubsection[{O\+T\+F\+\_\+\+Handler\+\_\+\+Unknown\+Record}]{\setlength{\rightskip}{0pt plus 5cm}int O\+T\+F\+\_\+\+Handler\+\_\+\+Unknown\+Record (
\begin{DoxyParamCaption}
\item[{void $\ast$}]{user\+Data, }
\item[{uint64\+\_\+t}]{time, }
\item[{uint32\+\_\+t}]{process, }
\item[{const char $\ast$}]{record}
\end{DoxyParamCaption}
)}}\label{group__handler_ga8260b551b53340dc06281482dedba53a}


Can be used to handle records which cannot be read. 


\begin{DoxyParams}{Parameters}
{\em user\+Data} & Pointer to user data which can be set with \hyperlink{group__ha_ga65c9d10752139ca29dedd1baeebc146e}{O\+T\+F\+\_\+\+Handler\+Array\+\_\+set\+First\+Handler\+Arg()}. \\
\hline
{\em time} & Time when summary was computed. \\
\hline
{\em process} & If 'time' equals (uin64\+\_\+t) -\/1, the unknown record is a definiton record and 'process' represents the streamid of the record. If 'time' has a valid value ( not (uint64)-\/1 ) the unknown record is an event-\/, statistics-\/ or snapshotrecord and 'process' represents the processid of the record. \\
\hline
{\em record} & string which contains the record.\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
O\+T\+F\+\_\+\+R\+E\+T\+U\+R\+N\+\_\+\+A\+B\+O\+R\+T for aborting the reading process immediately O\+T\+F\+\_\+\+R\+E\+T\+U\+R\+N\+\_\+\+O\+K for continue reading 
\end{DoxyReturn}
