\hypertarget{ompi_2mca_2btl_2base_2base_8h}{\section{ompi/mca/btl/base/base.h File Reference}
\label{ompi_2mca_2btl_2base_2base_8h}\index{ompi/mca/btl/base/base.\+h@{ompi/mca/btl/base/base.\+h}}
}
{\ttfamily \#include \char`\"{}ompi\+\_\+config.\+h\char`\"{}}\\*
{\ttfamily \#include \char`\"{}opal/class/opal\+\_\+list.\+h\char`\"{}}\\*
{\ttfamily \#include \char`\"{}opal/mca/mca.\+h\char`\"{}}\\*
{\ttfamily \#include \char`\"{}ompi/mca/btl/btl.\+h\char`\"{}}\\*
\subsection*{Data Structures}
\begin{DoxyCompactItemize}
\item 
struct \hyperlink{structmca__btl__base__selected__module__t}{mca\+\_\+btl\+\_\+base\+\_\+selected\+\_\+module\+\_\+t}
\item 
struct \hyperlink{structmca__btl__base__recv__reg__t}{mca\+\_\+btl\+\_\+base\+\_\+recv\+\_\+reg\+\_\+t}
\end{DoxyCompactItemize}
\subsection*{Typedefs}
\begin{DoxyCompactItemize}
\item 
\hypertarget{ompi_2mca_2btl_2base_2base_8h_a63791dcdc9892b6bcd6d349be4f5e9fa}{typedef struct \\*
\hyperlink{structmca__btl__base__selected__module__t}{mca\+\_\+btl\+\_\+base\+\_\+selected\+\_\+module\+\_\+t} {\bfseries mca\+\_\+btl\+\_\+base\+\_\+selected\+\_\+module\+\_\+t}}\label{ompi_2mca_2btl_2base_2base_8h_a63791dcdc9892b6bcd6d349be4f5e9fa}

\item 
\hypertarget{ompi_2mca_2btl_2base_2base_8h_a75878d9a4bc279e783cd548a1591fc3c}{typedef struct \\*
\hyperlink{structmca__btl__base__recv__reg__t}{mca\+\_\+btl\+\_\+base\+\_\+recv\+\_\+reg\+\_\+t} {\bfseries mca\+\_\+btl\+\_\+base\+\_\+recv\+\_\+reg\+\_\+t}}\label{ompi_2mca_2btl_2base_2base_8h_a75878d9a4bc279e783cd548a1591fc3c}

\end{DoxyCompactItemize}
\subsection*{Functions}
\begin{DoxyCompactItemize}
\item 
\hypertarget{ompi_2mca_2btl_2base_2base_8h_ac5aec3324fea8766141fb198b28e5342}{O\+M\+P\+I\+\_\+\+D\+E\+C\+L\+S\+P\+E\+C {\bfseries O\+B\+J\+\_\+\+C\+L\+A\+S\+S\+\_\+\+D\+E\+C\+L\+A\+R\+A\+T\+I\+O\+N} (\hyperlink{structmca__btl__base__selected__module__t}{mca\+\_\+btl\+\_\+base\+\_\+selected\+\_\+module\+\_\+t})}\label{ompi_2mca_2btl_2base_2base_8h_ac5aec3324fea8766141fb198b28e5342}

\item 
\hypertarget{ompi_2mca_2btl_2base_2base_8h_a685330c1c7d225678af3059159694eb4}{O\+M\+P\+I\+\_\+\+D\+E\+C\+L\+S\+P\+E\+C int \hyperlink{ompi_2mca_2btl_2base_2base_8h_a685330c1c7d225678af3059159694eb4}{mca\+\_\+btl\+\_\+base\+\_\+open} (void)}\label{ompi_2mca_2btl_2base_2base_8h_a685330c1c7d225678af3059159694eb4}

\begin{DoxyCompactList}\small\item\em \hyperlink{structFunction}{Function} for finding and opening either all M\+C\+A components, or the one that was specifically requested via a M\+C\+A parameter. \end{DoxyCompactList}\item 
O\+M\+P\+I\+\_\+\+D\+E\+C\+L\+S\+P\+E\+C int \hyperlink{ompi_2mca_2btl_2base_2base_8h_a3b1c124046dbc5f7f5df3fa21487a028}{mca\+\_\+btl\+\_\+base\+\_\+select} (bool enable\+\_\+progress\+\_\+threads, bool enable\+\_\+mpi\+\_\+threads)
\begin{DoxyCompactList}\small\item\em \hyperlink{structFunction}{Function} for weeding out btl components that don't want to run. \end{DoxyCompactList}\item 
\hypertarget{ompi_2mca_2btl_2base_2base_8h_a745e0e537350b3b826265f7a3bcf1d9a}{O\+M\+P\+I\+\_\+\+D\+E\+C\+L\+S\+P\+E\+C int {\bfseries mca\+\_\+btl\+\_\+base\+\_\+close} (void)}\label{ompi_2mca_2btl_2base_2base_8h_a745e0e537350b3b826265f7a3bcf1d9a}

\item 
\hypertarget{ompi_2mca_2btl_2base_2base_8h_adf7fa2dca7efd863f6d6a7964c15f11f}{O\+M\+P\+I\+\_\+\+D\+E\+C\+L\+S\+P\+E\+C void {\bfseries mca\+\_\+btl\+\_\+base\+\_\+dump} (struct \hyperlink{structmca__btl__base__module__t}{mca\+\_\+btl\+\_\+base\+\_\+module\+\_\+t} $\ast$, struct \hyperlink{structmca__btl__base__endpoint__t}{mca\+\_\+btl\+\_\+base\+\_\+endpoint\+\_\+t} $\ast$, int verbose)}\label{ompi_2mca_2btl_2base_2base_8h_adf7fa2dca7efd863f6d6a7964c15f11f}

\item 
\hypertarget{ompi_2mca_2btl_2base_2base_8h_a1828ee06fcf9f3750d9acbd92f6fe878}{O\+M\+P\+I\+\_\+\+D\+E\+C\+L\+S\+P\+E\+C int {\bfseries mca\+\_\+btl\+\_\+base\+\_\+param\+\_\+register} (\hyperlink{mca_8h_a8ec1d0b303938c31727745037481d1bf}{mca\+\_\+base\+\_\+component\+\_\+t} $\ast$version, \hyperlink{structmca__btl__base__module__t}{mca\+\_\+btl\+\_\+base\+\_\+module\+\_\+t} $\ast$module)}\label{ompi_2mca_2btl_2base_2base_8h_a1828ee06fcf9f3750d9acbd92f6fe878}

\end{DoxyCompactItemize}
\subsection*{Variables}
\begin{DoxyCompactItemize}
\item 
\hypertarget{ompi_2mca_2btl_2base_2base_8h_a9b13fd280d58fc8d6c94916f44a0777e}{O\+M\+P\+I\+\_\+\+D\+E\+C\+L\+S\+P\+E\+C int {\bfseries mca\+\_\+btl\+\_\+base\+\_\+output}}\label{ompi_2mca_2btl_2base_2base_8h_a9b13fd280d58fc8d6c94916f44a0777e}

\item 
\hypertarget{ompi_2mca_2btl_2base_2base_8h_ac46472fd75178a5216aaf09520b68269}{char $\ast$ {\bfseries mca\+\_\+btl\+\_\+base\+\_\+include}}\label{ompi_2mca_2btl_2base_2base_8h_ac46472fd75178a5216aaf09520b68269}

\item 
\hypertarget{ompi_2mca_2btl_2base_2base_8h_a342b1d40c7bac2da5e2273e322c0e87f}{char $\ast$ {\bfseries mca\+\_\+btl\+\_\+base\+\_\+exclude}}\label{ompi_2mca_2btl_2base_2base_8h_a342b1d40c7bac2da5e2273e322c0e87f}

\item 
\hypertarget{ompi_2mca_2btl_2base_2base_8h_a1237d94f67e26359a53d37461a9cf3ce}{int {\bfseries mca\+\_\+btl\+\_\+base\+\_\+warn\+\_\+component\+\_\+unused}}\label{ompi_2mca_2btl_2base_2base_8h_a1237d94f67e26359a53d37461a9cf3ce}

\item 
\hypertarget{ompi_2mca_2btl_2base_2base_8h_a32cfbfbd38b9d9bfe4f79b8b724ac503}{int {\bfseries mca\+\_\+btl\+\_\+base\+\_\+already\+\_\+opened}}\label{ompi_2mca_2btl_2base_2base_8h_a32cfbfbd38b9d9bfe4f79b8b724ac503}

\item 
\hypertarget{ompi_2mca_2btl_2base_2base_8h_acb2071f359bc34eaac24c8545f0739f9}{O\+M\+P\+I\+\_\+\+D\+E\+C\+L\+S\+P\+E\+C \hyperlink{structopal__list__t}{opal\+\_\+list\+\_\+t} {\bfseries mca\+\_\+btl\+\_\+base\+\_\+components\+\_\+opened}}\label{ompi_2mca_2btl_2base_2base_8h_acb2071f359bc34eaac24c8545f0739f9}

\item 
\hypertarget{ompi_2mca_2btl_2base_2base_8h_a0e15564bba5800a6133f3a219117dc0b}{O\+M\+P\+I\+\_\+\+D\+E\+C\+L\+S\+P\+E\+C \hyperlink{structopal__list__t}{opal\+\_\+list\+\_\+t} {\bfseries mca\+\_\+btl\+\_\+base\+\_\+modules\+\_\+initialized}}\label{ompi_2mca_2btl_2base_2base_8h_a0e15564bba5800a6133f3a219117dc0b}

\item 
\hypertarget{ompi_2mca_2btl_2base_2base_8h_a90ca541b53e11e329f8ee9d72ca45e46}{O\+M\+P\+I\+\_\+\+D\+E\+C\+L\+S\+P\+E\+C bool {\bfseries mca\+\_\+btl\+\_\+base\+\_\+thread\+\_\+multiple\+\_\+override}}\label{ompi_2mca_2btl_2base_2base_8h_a90ca541b53e11e329f8ee9d72ca45e46}

\end{DoxyCompactItemize}


\subsection{Function Documentation}
\hypertarget{ompi_2mca_2btl_2base_2base_8h_a3b1c124046dbc5f7f5df3fa21487a028}{\index{ompi/mca/btl/base/base.\+h@{ompi/mca/btl/base/base.\+h}!mca\+\_\+btl\+\_\+base\+\_\+select@{mca\+\_\+btl\+\_\+base\+\_\+select}}
\index{mca\+\_\+btl\+\_\+base\+\_\+select@{mca\+\_\+btl\+\_\+base\+\_\+select}!ompi/mca/btl/base/base.\+h@{ompi/mca/btl/base/base.\+h}}
\subsubsection[{mca\+\_\+btl\+\_\+base\+\_\+select}]{\setlength{\rightskip}{0pt plus 5cm}O\+M\+P\+I\+\_\+\+D\+E\+C\+L\+S\+P\+E\+C int mca\+\_\+btl\+\_\+base\+\_\+select (
\begin{DoxyParamCaption}
\item[{bool}]{enable\+\_\+progress\+\_\+threads, }
\item[{bool}]{enable\+\_\+mpi\+\_\+threads}
\end{DoxyParamCaption}
)}}\label{ompi_2mca_2btl_2base_2base_8h_a3b1c124046dbc5f7f5df3fa21487a028}


\hyperlink{structFunction}{Function} for weeding out btl components that don't want to run. 

Call the init function on all available components to find out if they want to run. Select all components that don't fail. Failing components will be closed and unloaded. The selected modules will be returned to the caller in a \hyperlink{structopal__list__t}{opal\+\_\+list\+\_\+t}. 

References mca\+\_\+base\+\_\+component\+\_\+2\+\_\+0\+\_\+0\+\_\+t\+::mca\+\_\+component\+\_\+name, mca\+\_\+base\+\_\+component\+\_\+2\+\_\+0\+\_\+0\+\_\+t\+::mca\+\_\+type\+\_\+name, opal\+\_\+argv\+\_\+split(), opal\+\_\+list\+\_\+append, opal\+\_\+list\+\_\+get\+\_\+end(), opal\+\_\+list\+\_\+get\+\_\+first(), opal\+\_\+list\+\_\+get\+\_\+next, opal\+\_\+list\+\_\+get\+\_\+size(), opal\+\_\+list\+\_\+remove\+\_\+item(), opal\+\_\+output\+\_\+verbose(), and orte\+\_\+show\+\_\+help().

