\hypertarget{btl__elan_8h}{\section{ompi/mca/btl/elan/btl\+\_\+elan.h File Reference}
\label{btl__elan_8h}\index{ompi/mca/btl/elan/btl\+\_\+elan.\+h@{ompi/mca/btl/elan/btl\+\_\+elan.\+h}}
}
{\ttfamily \#include \char`\"{}ompi\+\_\+config.\+h\char`\"{}}\\*
{\ttfamily \#include \char`\"{}opal/mca/event/event.\+h\char`\"{}}\\*
{\ttfamily \#include \char`\"{}ompi/class/ompi\+\_\+free\+\_\+list.\+h\char`\"{}}\\*
{\ttfamily \#include \char`\"{}ompi/mca/btl/btl.\+h\char`\"{}}\\*
{\ttfamily \#include \char`\"{}ompi/mca/btl/base/btl\+\_\+base\+\_\+error.\+h\char`\"{}}\\*
{\ttfamily \#include \char`\"{}ompi/mca/btl/base/base.\+h\char`\"{}}\\*
{\ttfamily \#include \char`\"{}btl\+\_\+elan\+\_\+endpoint.\+h\char`\"{}}\\*
{\ttfamily \#include \char`\"{}btl\+\_\+elan\+\_\+frag.\+h\char`\"{}}\\*
{\ttfamily \#include \char`\"{}elan/elan.\+h\char`\"{}}\\*
\subsection*{Data Structures}
\begin{DoxyCompactItemize}
\item 
struct \hyperlink{structmca__btl__elan__component__t}{mca\+\_\+btl\+\_\+elan\+\_\+component\+\_\+t}
\begin{DoxyCompactList}\small\item\em E\+L\+A\+N B\+T\+L component. \end{DoxyCompactList}\item 
struct \hyperlink{structmca__btl__elan__module__t}{mca\+\_\+btl\+\_\+elan\+\_\+module\+\_\+t}
\begin{DoxyCompactList}\small\item\em B\+T\+L Module Interface. \end{DoxyCompactList}\item 
struct \hyperlink{structmca__btl__elan__hdr__t}{mca\+\_\+btl\+\_\+elan\+\_\+hdr\+\_\+t}
\end{DoxyCompactItemize}
\subsection*{Typedefs}
\begin{DoxyCompactItemize}
\item 
\hypertarget{btl__elan_8h_a3dd203affd8e63877c1a69a255697ef2}{typedef struct \\*
\hyperlink{structmca__btl__elan__component__t}{mca\+\_\+btl\+\_\+elan\+\_\+component\+\_\+t} {\bfseries mca\+\_\+btl\+\_\+elan\+\_\+component\+\_\+t}}\label{btl__elan_8h_a3dd203affd8e63877c1a69a255697ef2}

\item 
\hypertarget{btl__elan_8h_a97de3432603aa1e093bbbb204d04faaf}{typedef struct \\*
\hyperlink{structmca__btl__elan__module__t}{mca\+\_\+btl\+\_\+elan\+\_\+module\+\_\+t} {\bfseries mca\+\_\+btl\+\_\+elan\+\_\+module\+\_\+t}}\label{btl__elan_8h_a97de3432603aa1e093bbbb204d04faaf}

\item 
\hypertarget{btl__elan_8h_aecea4a1925eda7d0d0918c2ccf1f12de}{typedef struct \hyperlink{structmca__btl__elan__hdr__t}{mca\+\_\+btl\+\_\+elan\+\_\+hdr\+\_\+t} {\bfseries mca\+\_\+btl\+\_\+elan\+\_\+hdr\+\_\+t}}\label{btl__elan_8h_aecea4a1925eda7d0d0918c2ccf1f12de}

\end{DoxyCompactItemize}
\subsection*{Functions}
\begin{DoxyCompactItemize}
\item 
\hypertarget{btl__elan_8h_a9f953816c2711fbf4467f25ede8baac5}{int \hyperlink{btl__elan_8h_a9f953816c2711fbf4467f25ede8baac5}{mca\+\_\+btl\+\_\+elan\+\_\+component\+\_\+open} (void)}\label{btl__elan_8h_a9f953816c2711fbf4467f25ede8baac5}

\begin{DoxyCompactList}\small\item\em Register E\+L\+A\+N component parameters with the M\+C\+A framework. \end{DoxyCompactList}\item 
\hypertarget{btl__elan_8h_a29228e312ade50e2fc867e417a9d819e}{int \hyperlink{btl__elan_8h_a29228e312ade50e2fc867e417a9d819e}{mca\+\_\+btl\+\_\+elan\+\_\+component\+\_\+close} (void)}\label{btl__elan_8h_a29228e312ade50e2fc867e417a9d819e}

\begin{DoxyCompactList}\small\item\em Any final cleanup before being unloaded. \end{DoxyCompactList}\item 
\hyperlink{structmca__btl__base__module__t}{mca\+\_\+btl\+\_\+base\+\_\+module\+\_\+t} $\ast$$\ast$ \hyperlink{btl__elan_8h_a0957d71f15452ad61dd3db4504c8953e}{mca\+\_\+btl\+\_\+elan\+\_\+component\+\_\+init} (int $\ast$num\+\_\+btl\+\_\+modules, bool allow\+\_\+multi\+\_\+user\+\_\+threads, bool have\+\_\+hidden\+\_\+threads)
\begin{DoxyCompactList}\small\item\em E\+L\+A\+N component initialization. \end{DoxyCompactList}\item 
\hypertarget{btl__elan_8h_a64be59896552eb6ae9e755539647c195}{int \hyperlink{btl__elan_8h_a64be59896552eb6ae9e755539647c195}{mca\+\_\+btl\+\_\+elan\+\_\+component\+\_\+progress} (void)}\label{btl__elan_8h_a64be59896552eb6ae9e755539647c195}

\begin{DoxyCompactList}\small\item\em E\+L\+A\+N component progress. \end{DoxyCompactList}\item 
\hypertarget{btl__elan_8h_a7906a7b7411412353f090223a6c55c69}{int {\bfseries mca\+\_\+btl\+\_\+elan\+\_\+finalize} (struct \hyperlink{structmca__btl__base__module__t}{mca\+\_\+btl\+\_\+base\+\_\+module\+\_\+t} $\ast$btl)}\label{btl__elan_8h_a7906a7b7411412353f090223a6c55c69}

\item 
\hypertarget{btl__elan_8h_a7bf755afc317af81402b1075b9771135}{int {\bfseries mca\+\_\+btl\+\_\+elan\+\_\+ft\+\_\+event} (int state)}\label{btl__elan_8h_a7bf755afc317af81402b1075b9771135}

\end{DoxyCompactItemize}
\subsection*{Variables}
\begin{DoxyCompactItemize}
\item 
\hypertarget{btl__elan_8h_a46f74c8192c2bb3745b444629b5ec359}{O\+M\+P\+I\+\_\+\+M\+O\+D\+U\+L\+E\+\_\+\+D\+E\+C\+L\+S\+P\+E\+C \\*
\hyperlink{structmca__btl__elan__component__t}{mca\+\_\+btl\+\_\+elan\+\_\+component\+\_\+t} {\bfseries mca\+\_\+btl\+\_\+elan\+\_\+component}}\label{btl__elan_8h_a46f74c8192c2bb3745b444629b5ec359}

\item 
\hypertarget{btl__elan_8h_ae5189329a7728da9e168c31e0c9dc152}{\hyperlink{structmca__btl__elan__module__t}{mca\+\_\+btl\+\_\+elan\+\_\+module\+\_\+t} {\bfseries mca\+\_\+btl\+\_\+elan\+\_\+module}}\label{btl__elan_8h_ae5189329a7728da9e168c31e0c9dc152}

\end{DoxyCompactItemize}


\subsection{Function Documentation}
\hypertarget{btl__elan_8h_a0957d71f15452ad61dd3db4504c8953e}{\index{btl\+\_\+elan.\+h@{btl\+\_\+elan.\+h}!mca\+\_\+btl\+\_\+elan\+\_\+component\+\_\+init@{mca\+\_\+btl\+\_\+elan\+\_\+component\+\_\+init}}
\index{mca\+\_\+btl\+\_\+elan\+\_\+component\+\_\+init@{mca\+\_\+btl\+\_\+elan\+\_\+component\+\_\+init}!btl\+\_\+elan.\+h@{btl\+\_\+elan.\+h}}
\subsubsection[{mca\+\_\+btl\+\_\+elan\+\_\+component\+\_\+init}]{\setlength{\rightskip}{0pt plus 5cm}{\bf mca\+\_\+btl\+\_\+base\+\_\+module\+\_\+t}$\ast$$\ast$ mca\+\_\+btl\+\_\+elan\+\_\+component\+\_\+init (
\begin{DoxyParamCaption}
\item[{int $\ast$}]{num\+\_\+btl\+\_\+modules, }
\item[{bool}]{allow\+\_\+multi\+\_\+user\+\_\+threads, }
\item[{bool}]{have\+\_\+hidden\+\_\+threads}
\end{DoxyParamCaption}
)}}\label{btl__elan_8h_a0957d71f15452ad61dd3db4504c8953e}


E\+L\+A\+N component initialization. 


\begin{DoxyParams}{Parameters}
{\em num\+\_\+btl\+\_\+modules} & (O\+U\+T) Number of B\+T\+Ls returned in B\+T\+L array. \\
\hline
{\em allow\+\_\+multi\+\_\+user\+\_\+threads} & (O\+U\+T) Flag indicating wether B\+T\+L supports user threads (T\+R\+U\+E) \\
\hline
{\em have\+\_\+hidden\+\_\+threads} & (O\+U\+T) Flag indicating wether B\+T\+L uses threads (T\+R\+U\+E) \\
\hline
\end{DoxyParams}


References mca\+\_\+btl\+\_\+base\+\_\+module\+\_\+t\+::btl\+\_\+eager\+\_\+limit, mca\+\_\+btl\+\_\+base\+\_\+module\+\_\+t\+::btl\+\_\+max\+\_\+send\+\_\+size, mca\+\_\+btl\+\_\+elan\+\_\+component\+\_\+t\+::elan\+\_\+btls, mca\+\_\+btl\+\_\+elan\+\_\+component\+\_\+t\+::elan\+\_\+free\+\_\+list\+\_\+inc, mca\+\_\+btl\+\_\+elan\+\_\+component\+\_\+t\+::elan\+\_\+free\+\_\+list\+\_\+max, mca\+\_\+btl\+\_\+elan\+\_\+component\+\_\+t\+::elan\+\_\+free\+\_\+list\+\_\+num, mca\+\_\+btl\+\_\+elan\+\_\+component\+\_\+t\+::elan\+\_\+lock, mca\+\_\+btl\+\_\+elan\+\_\+component\+\_\+t\+::elan\+\_\+num\+\_\+btls, mca\+\_\+btl\+\_\+elan\+\_\+module\+\_\+t\+::elan\+\_\+position, mca\+\_\+btl\+\_\+elan\+\_\+component\+\_\+t\+::elan\+\_\+procs, O\+B\+J\+\_\+\+C\+L\+A\+S\+S, O\+B\+J\+\_\+\+C\+O\+N\+S\+T\+R\+U\+C\+T, ompi\+\_\+modex\+\_\+send(), opal\+\_\+output(), mca\+\_\+btl\+\_\+elan\+\_\+module\+\_\+t\+::rdma\+\_\+list, mca\+\_\+btl\+\_\+elan\+\_\+module\+\_\+t\+::send\+\_\+list, mca\+\_\+btl\+\_\+elan\+\_\+component\+\_\+t\+::super, and mca\+\_\+btl\+\_\+elan\+\_\+module\+\_\+t\+::super.

