\hypertarget{rcache__vma__tree_8h}{\section{ompi/mca/rcache/vma/rcache\+\_\+vma\+\_\+tree.h File Reference}
\label{rcache__vma__tree_8h}\index{ompi/mca/rcache/vma/rcache\+\_\+vma\+\_\+tree.\+h@{ompi/mca/rcache/vma/rcache\+\_\+vma\+\_\+tree.\+h}}
}


Copyright (c) 2004-\/2005 The Trustees of Indiana University and Indiana University Research and Technology Corporation.  


{\ttfamily \#include \char`\"{}opal/mca/mca.\+h\char`\"{}}\\*
{\ttfamily \#include \char`\"{}ompi/mca/mpool/mpool.\+h\char`\"{}}\\*
{\ttfamily \#include \char`\"{}rcache\+\_\+vma.\+h\char`\"{}}\\*
\subsection*{Data Structures}
\begin{DoxyCompactItemize}
\item 
struct \hyperlink{structmca__rcache__vma__reg__list__item__t}{mca\+\_\+rcache\+\_\+vma\+\_\+reg\+\_\+list\+\_\+item\+\_\+t}
\item 
struct \hyperlink{structmca__rcache__vma__t}{mca\+\_\+rcache\+\_\+vma\+\_\+t}
\begin{DoxyCompactList}\small\item\em The item in the vma\+\_\+tree itself. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Typedefs}
\begin{DoxyCompactItemize}
\item 
\hypertarget{rcache__vma__tree_8h_a2796eb2c546eb12122512e14abfc0a6b}{typedef struct \\*
\hyperlink{structmca__rcache__vma__reg__list__item__t}{mca\+\_\+rcache\+\_\+vma\+\_\+reg\+\_\+list\+\_\+item\+\_\+t} {\bfseries mca\+\_\+rcache\+\_\+vma\+\_\+reg\+\_\+list\+\_\+item\+\_\+t}}\label{rcache__vma__tree_8h_a2796eb2c546eb12122512e14abfc0a6b}

\item 
\hypertarget{rcache__vma__tree_8h_acd4d929a13fe687e5e188eff3f75164b}{typedef struct \hyperlink{structmca__rcache__vma__t}{mca\+\_\+rcache\+\_\+vma\+\_\+t} {\bfseries mca\+\_\+rcache\+\_\+vma\+\_\+t}}\label{rcache__vma__tree_8h_acd4d929a13fe687e5e188eff3f75164b}

\end{DoxyCompactItemize}
\subsection*{Functions}
\begin{DoxyCompactItemize}
\item 
\hypertarget{rcache__vma__tree_8h_ac0dd71e5ade1d9abe6c63d9e62e141a8}{{\bfseries O\+B\+J\+\_\+\+C\+L\+A\+S\+S\+\_\+\+D\+E\+C\+L\+A\+R\+A\+T\+I\+O\+N} (\hyperlink{structmca__rcache__vma__reg__list__item__t}{mca\+\_\+rcache\+\_\+vma\+\_\+reg\+\_\+list\+\_\+item\+\_\+t})}\label{rcache__vma__tree_8h_ac0dd71e5ade1d9abe6c63d9e62e141a8}

\item 
\hypertarget{rcache__vma__tree_8h_a3a801d206b1de4d923f9ff334c211f22}{{\bfseries O\+B\+J\+\_\+\+C\+L\+A\+S\+S\+\_\+\+D\+E\+C\+L\+A\+R\+A\+T\+I\+O\+N} (\hyperlink{structmca__rcache__vma__t}{mca\+\_\+rcache\+\_\+vma\+\_\+t})}\label{rcache__vma__tree_8h_a3a801d206b1de4d923f9ff334c211f22}

\item 
\hypertarget{rcache__vma__tree_8h_aedba0b11d830ea249863bd9501108b0a}{int {\bfseries mca\+\_\+rcache\+\_\+vma\+\_\+tree\+\_\+init} (\hyperlink{structmca__rcache__vma__module__t}{mca\+\_\+rcache\+\_\+vma\+\_\+module\+\_\+t} $\ast$rcache)}\label{rcache__vma__tree_8h_aedba0b11d830ea249863bd9501108b0a}

\item 
\hypertarget{rcache__vma__tree_8h_a7d7616b95cee16b11d414a85523fca16}{\hyperlink{structmca__mpool__base__registration__t}{mca\+\_\+mpool\+\_\+base\+\_\+registration\+\_\+t} $\ast$ \hyperlink{rcache__vma__tree_8h_a7d7616b95cee16b11d414a85523fca16}{mca\+\_\+rcache\+\_\+vma\+\_\+tree\+\_\+find} (\hyperlink{structmca__rcache__vma__module__t}{mca\+\_\+rcache\+\_\+vma\+\_\+module\+\_\+t} $\ast$rcache, unsigned char $\ast$base, unsigned char $\ast$bound)}\label{rcache__vma__tree_8h_a7d7616b95cee16b11d414a85523fca16}

\begin{DoxyCompactList}\small\item\em Returns the item in the vma tree. \end{DoxyCompactList}\item 
\hypertarget{rcache__vma__tree_8h_a17beaed2b1ff4e55d0d4657cd85115d6}{int \hyperlink{rcache__vma__tree_8h_a17beaed2b1ff4e55d0d4657cd85115d6}{mca\+\_\+rcache\+\_\+vma\+\_\+tree\+\_\+find\+\_\+all} (\hyperlink{structmca__rcache__vma__module__t}{mca\+\_\+rcache\+\_\+vma\+\_\+module\+\_\+t} $\ast$vma\+\_\+rcache, unsigned char $\ast$base, unsigned char $\ast$bound, \hyperlink{structmca__mpool__base__registration__t}{mca\+\_\+mpool\+\_\+base\+\_\+registration\+\_\+t} $\ast$$\ast$regs, int reg\+\_\+cnt)}\label{rcache__vma__tree_8h_a17beaed2b1ff4e55d0d4657cd85115d6}

\begin{DoxyCompactList}\small\item\em Returns all registration that overlaps given memory region. \end{DoxyCompactList}\item 
\hypertarget{rcache__vma__tree_8h_acfe8f01f7908dc696094a22ab4e00734}{int {\bfseries mca\+\_\+rcache\+\_\+vma\+\_\+tree\+\_\+insert} (\hyperlink{structmca__rcache__vma__module__t}{mca\+\_\+rcache\+\_\+vma\+\_\+module\+\_\+t} $\ast$rcache, \hyperlink{structmca__mpool__base__registration__t}{mca\+\_\+mpool\+\_\+base\+\_\+registration\+\_\+t} $\ast$reg, size\+\_\+t limit)}\label{rcache__vma__tree_8h_acfe8f01f7908dc696094a22ab4e00734}

\item 
int \hyperlink{rcache__vma__tree_8h_a7df2677c0339b1ba28017dc49d26797c}{mca\+\_\+rcache\+\_\+vma\+\_\+tree\+\_\+delete} (\hyperlink{structmca__rcache__vma__module__t}{mca\+\_\+rcache\+\_\+vma\+\_\+module\+\_\+t} $\ast$rcache, \hyperlink{structmca__mpool__base__registration__t}{mca\+\_\+mpool\+\_\+base\+\_\+registration\+\_\+t} $\ast$reg)
\begin{DoxyCompactList}\small\item\em \hyperlink{structFunction}{Function} to remove previously memory from the tree without freeing it. \end{DoxyCompactList}\item 
\hypertarget{rcache__vma__tree_8h_ade1d3404cc381c5dbed983a69b423ba4}{void {\bfseries mca\+\_\+rcache\+\_\+vma\+\_\+destroy} (\hyperlink{structmca__rcache__vma__t}{mca\+\_\+rcache\+\_\+vma\+\_\+t} $\ast$vma)}\label{rcache__vma__tree_8h_ade1d3404cc381c5dbed983a69b423ba4}

\end{DoxyCompactItemize}


\subsection{Detailed Description}
Copyright (c) 2004-\/2005 The Trustees of Indiana University and Indiana University Research and Technology Corporation. 

All rights reserved. Copyright (c) 2004-\/2007 The University of Tennessee and The University of Tennessee Research Foundation. All rights reserved. Copyright (c) 2004-\/2005 High Performance Computing Center Stuttgart, University of Stuttgart. All rights reserved. Copyright (c) 2004-\/2005 The Regents of the University of California. All rights reserved.

Copyright (c) 2006 Voltaire. All rights reserved. Copyright (c) 2009 I\+B\+M Corporation. All rights reserved.

\$\+C\+O\+P\+Y\+R\+I\+G\+H\+T\$

Additional copyrights may follow

\$\+H\+E\+A\+D\+E\+R\$

Description of the Registration Cache framework 

\subsection{Function Documentation}
\hypertarget{rcache__vma__tree_8h_a7df2677c0339b1ba28017dc49d26797c}{\index{rcache\+\_\+vma\+\_\+tree.\+h@{rcache\+\_\+vma\+\_\+tree.\+h}!mca\+\_\+rcache\+\_\+vma\+\_\+tree\+\_\+delete@{mca\+\_\+rcache\+\_\+vma\+\_\+tree\+\_\+delete}}
\index{mca\+\_\+rcache\+\_\+vma\+\_\+tree\+\_\+delete@{mca\+\_\+rcache\+\_\+vma\+\_\+tree\+\_\+delete}!rcache\+\_\+vma\+\_\+tree.\+h@{rcache\+\_\+vma\+\_\+tree.\+h}}
\subsubsection[{mca\+\_\+rcache\+\_\+vma\+\_\+tree\+\_\+delete}]{\setlength{\rightskip}{0pt plus 5cm}int mca\+\_\+rcache\+\_\+vma\+\_\+tree\+\_\+delete (
\begin{DoxyParamCaption}
\item[{{\bf mca\+\_\+rcache\+\_\+vma\+\_\+module\+\_\+t} $\ast$}]{vma\+\_\+rcache, }
\item[{{\bf mca\+\_\+mpool\+\_\+base\+\_\+registration\+\_\+t} $\ast$}]{reg}
\end{DoxyParamCaption}
)}}\label{rcache__vma__tree_8h_a7df2677c0339b1ba28017dc49d26797c}


\hyperlink{structFunction}{Function} to remove previously memory from the tree without freeing it. 


\begin{DoxyParams}{Parameters}
{\em base} & pointer to the memory to free\\
\hline
\end{DoxyParams}

\begin{DoxyRetVals}{Return values}
{\em O\+M\+P\+I\+\_\+\+S\+U\+C\+C\+E\+S\+S} & \\
\hline
{\em O\+M\+P\+I\+\_\+\+E\+R\+R\+\_\+\+B\+A\+D\+\_\+\+P\+A\+R\+A\+M} & if the passed base pointer was invalid \\
\hline
\end{DoxyRetVals}


References mca\+\_\+rcache\+\_\+vma\+\_\+t\+::end, ompi\+\_\+rb\+\_\+tree\+\_\+delete(), ompi\+\_\+rb\+\_\+tree\+\_\+find\+\_\+with(), opal\+\_\+list\+\_\+append, opal\+\_\+list\+\_\+get\+\_\+begin(), opal\+\_\+list\+\_\+get\+\_\+end(), opal\+\_\+list\+\_\+get\+\_\+next, opal\+\_\+list\+\_\+get\+\_\+prev, opal\+\_\+list\+\_\+is\+\_\+empty(), opal\+\_\+list\+\_\+remove\+\_\+item(), mca\+\_\+rcache\+\_\+vma\+\_\+t\+::reg\+\_\+list, mca\+\_\+rcache\+\_\+vma\+\_\+t\+::start, mca\+\_\+rcache\+\_\+vma\+\_\+t\+::super, and opal\+\_\+list\+\_\+t\+::super.

