\hypertarget{group__hwlocality__types}{\section{Topology Object Types}
\label{group__hwlocality__types}\index{Topology Object Types@{Topology Object Types}}
}
\subsection*{Typedefs}
\begin{DoxyCompactItemize}
\item 
typedef enum \\*
\hyperlink{group__hwlocality__types_ga48a4803c72574191d7ead1c62aaf9860}{hwloc\+\_\+obj\+\_\+bridge\+\_\+type\+\_\+e} \hyperlink{group__hwlocality__types_ga0a947e8c5adcc729b126bd09c01a0153}{hwloc\+\_\+obj\+\_\+bridge\+\_\+type\+\_\+t}
\begin{DoxyCompactList}\small\item\em Type of one side (upstream or downstream) of an I/\+O bridge. \end{DoxyCompactList}\item 
typedef enum \hyperlink{group__hwlocality__types_ga64f5d539df299c97ae80ce53fc4b56c0}{hwloc\+\_\+obj\+\_\+osdev\+\_\+type\+\_\+e} \hyperlink{group__hwlocality__types_ga90c1e82a60ba5871d07645169e636987}{hwloc\+\_\+obj\+\_\+osdev\+\_\+type\+\_\+t}
\begin{DoxyCompactList}\small\item\em Type of a O\+S device. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Enumerations}
\begin{DoxyCompactItemize}
\item 
enum \hyperlink{group__hwlocality__types_gacd37bb612667dc437d66bfb175a8dc55}{hwloc\+\_\+obj\+\_\+type\+\_\+t} \{ \\*
\hyperlink{group__hwlocality__types_ggacd37bb612667dc437d66bfb175a8dc55a3aa1b842d1fd4207ebce171f95a244ec}{H\+W\+L\+O\+C\+\_\+\+O\+B\+J\+\_\+\+S\+Y\+S\+T\+E\+M}, 
\hyperlink{group__hwlocality__types_ggacd37bb612667dc437d66bfb175a8dc55a3f4e83ffc4a259354959ae8a9eaa2a80}{H\+W\+L\+O\+C\+\_\+\+O\+B\+J\+\_\+\+M\+A\+C\+H\+I\+N\+E}, 
\hyperlink{group__hwlocality__types_ggacd37bb612667dc437d66bfb175a8dc55aaf0964881117bdedf1a5e9332cd120dd}{H\+W\+L\+O\+C\+\_\+\+O\+B\+J\+\_\+\+N\+O\+D\+E}, 
\hyperlink{group__hwlocality__types_ggacd37bb612667dc437d66bfb175a8dc55a1ac6e07775ae4324b3fe9dbd72c785ec}{H\+W\+L\+O\+C\+\_\+\+O\+B\+J\+\_\+\+S\+O\+C\+K\+E\+T}, 
\\*
\hyperlink{group__hwlocality__types_ggacd37bb612667dc437d66bfb175a8dc55a56ee0b7eca88f363b75b34fdde8c9ddc}{H\+W\+L\+O\+C\+\_\+\+O\+B\+J\+\_\+\+C\+A\+C\+H\+E}, 
\hyperlink{group__hwlocality__types_ggacd37bb612667dc437d66bfb175a8dc55ac793958f330bca371aa1535de8aff45f}{H\+W\+L\+O\+C\+\_\+\+O\+B\+J\+\_\+\+C\+O\+R\+E}, 
\hyperlink{group__hwlocality__types_ggacd37bb612667dc437d66bfb175a8dc55abca6887e80cb291353b0a0c1da83f661}{H\+W\+L\+O\+C\+\_\+\+O\+B\+J\+\_\+\+P\+U}, 
\hyperlink{group__hwlocality__types_ggacd37bb612667dc437d66bfb175a8dc55a5269ef95be72f88465559d35c9b7ad56}{H\+W\+L\+O\+C\+\_\+\+O\+B\+J\+\_\+\+G\+R\+O\+U\+P}, 
\\*
\hyperlink{group__hwlocality__types_ggacd37bb612667dc437d66bfb175a8dc55a19f8a6953fa91efc76bcbcdf2d22de4d}{H\+W\+L\+O\+C\+\_\+\+O\+B\+J\+\_\+\+M\+I\+S\+C}, 
\hyperlink{group__hwlocality__types_ggacd37bb612667dc437d66bfb175a8dc55a6825f10895fea60aca7a6ba9fe273db0}{H\+W\+L\+O\+C\+\_\+\+O\+B\+J\+\_\+\+B\+R\+I\+D\+G\+E}, 
\hyperlink{group__hwlocality__types_ggacd37bb612667dc437d66bfb175a8dc55a5d8117a54df1fbd3606ab19e42cb0ea9}{H\+W\+L\+O\+C\+\_\+\+O\+B\+J\+\_\+\+P\+C\+I\+\_\+\+D\+E\+V\+I\+C\+E}, 
\hyperlink{group__hwlocality__types_ggacd37bb612667dc437d66bfb175a8dc55a51e7280240fd9f25589cbbe538bdb075}{H\+W\+L\+O\+C\+\_\+\+O\+B\+J\+\_\+\+O\+S\+\_\+\+D\+E\+V\+I\+C\+E}, 
\\*
\hyperlink{group__hwlocality__types_ggacd37bb612667dc437d66bfb175a8dc55addb5f843e1812445a84e6b2a844b1ebc}{H\+W\+L\+O\+C\+\_\+\+O\+B\+J\+\_\+\+T\+Y\+P\+E\+\_\+\+M\+A\+X}
 \}
\begin{DoxyCompactList}\small\item\em Type of topology object. \end{DoxyCompactList}\item 
enum \hyperlink{group__hwlocality__types_ga48a4803c72574191d7ead1c62aaf9860}{hwloc\+\_\+obj\+\_\+bridge\+\_\+type\+\_\+e} \{ \hyperlink{group__hwlocality__types_gga48a4803c72574191d7ead1c62aaf9860a2c7660f3864ad2810c1e72aad285e574}{H\+W\+L\+O\+C\+\_\+\+O\+B\+J\+\_\+\+B\+R\+I\+D\+G\+E\+\_\+\+H\+O\+S\+T}, 
\hyperlink{group__hwlocality__types_gga48a4803c72574191d7ead1c62aaf9860a8f3b4cecf3dab6073d74696d10863c60}{H\+W\+L\+O\+C\+\_\+\+O\+B\+J\+\_\+\+B\+R\+I\+D\+G\+E\+\_\+\+P\+C\+I}
 \}
\begin{DoxyCompactList}\small\item\em Type of one side (upstream or downstream) of an I/\+O bridge. \end{DoxyCompactList}\item 
enum \hyperlink{group__hwlocality__types_ga64f5d539df299c97ae80ce53fc4b56c0}{hwloc\+\_\+obj\+\_\+osdev\+\_\+type\+\_\+e} \{ \\*
\hyperlink{group__hwlocality__types_gga64f5d539df299c97ae80ce53fc4b56c0a689b0488c3c0d08d116751c6b9cb8871}{H\+W\+L\+O\+C\+\_\+\+O\+B\+J\+\_\+\+O\+S\+D\+E\+V\+\_\+\+B\+L\+O\+C\+K}, 
\hyperlink{group__hwlocality__types_gga64f5d539df299c97ae80ce53fc4b56c0aa3a09798ef2836abb236dc3a645ffc90}{H\+W\+L\+O\+C\+\_\+\+O\+B\+J\+\_\+\+O\+S\+D\+E\+V\+\_\+\+G\+P\+U}, 
\hyperlink{group__hwlocality__types_gga64f5d539df299c97ae80ce53fc4b56c0ab715d81155f771573c8682dffc65021b}{H\+W\+L\+O\+C\+\_\+\+O\+B\+J\+\_\+\+O\+S\+D\+E\+V\+\_\+\+N\+E\+T\+W\+O\+R\+K}, 
\hyperlink{group__hwlocality__types_gga64f5d539df299c97ae80ce53fc4b56c0a52157d03694fdae82dddd57ca8c973b6}{H\+W\+L\+O\+C\+\_\+\+O\+B\+J\+\_\+\+O\+S\+D\+E\+V\+\_\+\+O\+P\+E\+N\+F\+A\+B\+R\+I\+C\+S}, 
\\*
\hyperlink{group__hwlocality__types_gga64f5d539df299c97ae80ce53fc4b56c0a827ad1643360711a8b6c6af671366791}{H\+W\+L\+O\+C\+\_\+\+O\+B\+J\+\_\+\+O\+S\+D\+E\+V\+\_\+\+D\+M\+A}
 \}
\begin{DoxyCompactList}\small\item\em Type of a O\+S device. \end{DoxyCompactList}\item 
enum \hyperlink{group__hwlocality__types_ga46323568968005137c32f6a1cd405b74}{hwloc\+\_\+compare\+\_\+types\+\_\+e} \{ \hyperlink{group__hwlocality__types_gga46323568968005137c32f6a1cd405b74a2f8297ea36eba46e7596e810a67298fb}{H\+W\+L\+O\+C\+\_\+\+T\+Y\+P\+E\+\_\+\+U\+N\+O\+R\+D\+E\+R\+E\+D}
 \}
\end{DoxyCompactItemize}
\subsection*{Functions}
\begin{DoxyCompactItemize}
\item 
H\+W\+L\+O\+C\+\_\+\+D\+E\+C\+L\+S\+P\+E\+C int \hyperlink{group__hwlocality__types_gabd7da4f4ea12b420b8ecbde458b27805}{hwloc\+\_\+compare\+\_\+types} (\hyperlink{group__hwlocality__types_gacd37bb612667dc437d66bfb175a8dc55}{hwloc\+\_\+obj\+\_\+type\+\_\+t} type1, \hyperlink{group__hwlocality__types_gacd37bb612667dc437d66bfb175a8dc55}{hwloc\+\_\+obj\+\_\+type\+\_\+t} type2) \+\_\+\+\_\+hwloc\+\_\+attribute\+\_\+const
\begin{DoxyCompactList}\small\item\em Compare the depth of two object types. \end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Detailed Description}


\subsection{Typedef Documentation}
\hypertarget{group__hwlocality__types_ga0a947e8c5adcc729b126bd09c01a0153}{\index{Topology Object Types@{Topology Object Types}!hwloc\+\_\+obj\+\_\+bridge\+\_\+type\+\_\+t@{hwloc\+\_\+obj\+\_\+bridge\+\_\+type\+\_\+t}}
\index{hwloc\+\_\+obj\+\_\+bridge\+\_\+type\+\_\+t@{hwloc\+\_\+obj\+\_\+bridge\+\_\+type\+\_\+t}!Topology Object Types@{Topology Object Types}}
\subsubsection[{hwloc\+\_\+obj\+\_\+bridge\+\_\+type\+\_\+t}]{\setlength{\rightskip}{0pt plus 5cm}typedef enum {\bf hwloc\+\_\+obj\+\_\+bridge\+\_\+type\+\_\+e}  {\bf hwloc\+\_\+obj\+\_\+bridge\+\_\+type\+\_\+t}}}\label{group__hwlocality__types_ga0a947e8c5adcc729b126bd09c01a0153}


Type of one side (upstream or downstream) of an I/\+O bridge. 

\hypertarget{group__hwlocality__types_ga90c1e82a60ba5871d07645169e636987}{\index{Topology Object Types@{Topology Object Types}!hwloc\+\_\+obj\+\_\+osdev\+\_\+type\+\_\+t@{hwloc\+\_\+obj\+\_\+osdev\+\_\+type\+\_\+t}}
\index{hwloc\+\_\+obj\+\_\+osdev\+\_\+type\+\_\+t@{hwloc\+\_\+obj\+\_\+osdev\+\_\+type\+\_\+t}!Topology Object Types@{Topology Object Types}}
\subsubsection[{hwloc\+\_\+obj\+\_\+osdev\+\_\+type\+\_\+t}]{\setlength{\rightskip}{0pt plus 5cm}typedef enum {\bf hwloc\+\_\+obj\+\_\+osdev\+\_\+type\+\_\+e}  {\bf hwloc\+\_\+obj\+\_\+osdev\+\_\+type\+\_\+t}}}\label{group__hwlocality__types_ga90c1e82a60ba5871d07645169e636987}


Type of a O\+S device. 



\subsection{Enumeration Type Documentation}
\hypertarget{group__hwlocality__types_ga46323568968005137c32f6a1cd405b74}{\index{Topology Object Types@{Topology Object Types}!hwloc\+\_\+compare\+\_\+types\+\_\+e@{hwloc\+\_\+compare\+\_\+types\+\_\+e}}
\index{hwloc\+\_\+compare\+\_\+types\+\_\+e@{hwloc\+\_\+compare\+\_\+types\+\_\+e}!Topology Object Types@{Topology Object Types}}
\subsubsection[{hwloc\+\_\+compare\+\_\+types\+\_\+e}]{\setlength{\rightskip}{0pt plus 5cm}enum {\bf hwloc\+\_\+compare\+\_\+types\+\_\+e}}}\label{group__hwlocality__types_ga46323568968005137c32f6a1cd405b74}
\begin{Desc}
\item[Enumerator]\par
\begin{description}
\index{H\+W\+L\+O\+C\+\_\+\+T\+Y\+P\+E\+\_\+\+U\+N\+O\+R\+D\+E\+R\+E\+D@{H\+W\+L\+O\+C\+\_\+\+T\+Y\+P\+E\+\_\+\+U\+N\+O\+R\+D\+E\+R\+E\+D}!Topology Object Types@{Topology Object Types}}\index{Topology Object Types@{Topology Object Types}!H\+W\+L\+O\+C\+\_\+\+T\+Y\+P\+E\+\_\+\+U\+N\+O\+R\+D\+E\+R\+E\+D@{H\+W\+L\+O\+C\+\_\+\+T\+Y\+P\+E\+\_\+\+U\+N\+O\+R\+D\+E\+R\+E\+D}}\item[{\em 
\hypertarget{group__hwlocality__types_gga46323568968005137c32f6a1cd405b74a2f8297ea36eba46e7596e810a67298fb}{H\+W\+L\+O\+C\+\_\+\+T\+Y\+P\+E\+\_\+\+U\+N\+O\+R\+D\+E\+R\+E\+D}\label{group__hwlocality__types_gga46323568968005137c32f6a1cd405b74a2f8297ea36eba46e7596e810a67298fb}
}]Value returned by hwloc\+\_\+compare\+\_\+types when types can not be compared. \end{description}
\end{Desc}
\hypertarget{group__hwlocality__types_ga48a4803c72574191d7ead1c62aaf9860}{\index{Topology Object Types@{Topology Object Types}!hwloc\+\_\+obj\+\_\+bridge\+\_\+type\+\_\+e@{hwloc\+\_\+obj\+\_\+bridge\+\_\+type\+\_\+e}}
\index{hwloc\+\_\+obj\+\_\+bridge\+\_\+type\+\_\+e@{hwloc\+\_\+obj\+\_\+bridge\+\_\+type\+\_\+e}!Topology Object Types@{Topology Object Types}}
\subsubsection[{hwloc\+\_\+obj\+\_\+bridge\+\_\+type\+\_\+e}]{\setlength{\rightskip}{0pt plus 5cm}enum {\bf hwloc\+\_\+obj\+\_\+bridge\+\_\+type\+\_\+e}}}\label{group__hwlocality__types_ga48a4803c72574191d7ead1c62aaf9860}


Type of one side (upstream or downstream) of an I/\+O bridge. 

\begin{Desc}
\item[Enumerator]\par
\begin{description}
\index{H\+W\+L\+O\+C\+\_\+\+O\+B\+J\+\_\+\+B\+R\+I\+D\+G\+E\+\_\+\+H\+O\+S\+T@{H\+W\+L\+O\+C\+\_\+\+O\+B\+J\+\_\+\+B\+R\+I\+D\+G\+E\+\_\+\+H\+O\+S\+T}!Topology Object Types@{Topology Object Types}}\index{Topology Object Types@{Topology Object Types}!H\+W\+L\+O\+C\+\_\+\+O\+B\+J\+\_\+\+B\+R\+I\+D\+G\+E\+\_\+\+H\+O\+S\+T@{H\+W\+L\+O\+C\+\_\+\+O\+B\+J\+\_\+\+B\+R\+I\+D\+G\+E\+\_\+\+H\+O\+S\+T}}\item[{\em 
\hypertarget{group__hwlocality__types_gga48a4803c72574191d7ead1c62aaf9860a2c7660f3864ad2810c1e72aad285e574}{H\+W\+L\+O\+C\+\_\+\+O\+B\+J\+\_\+\+B\+R\+I\+D\+G\+E\+\_\+\+H\+O\+S\+T}\label{group__hwlocality__types_gga48a4803c72574191d7ead1c62aaf9860a2c7660f3864ad2810c1e72aad285e574}
}]Host-\/side of a bridge, only possible upstream. \index{H\+W\+L\+O\+C\+\_\+\+O\+B\+J\+\_\+\+B\+R\+I\+D\+G\+E\+\_\+\+P\+C\+I@{H\+W\+L\+O\+C\+\_\+\+O\+B\+J\+\_\+\+B\+R\+I\+D\+G\+E\+\_\+\+P\+C\+I}!Topology Object Types@{Topology Object Types}}\index{Topology Object Types@{Topology Object Types}!H\+W\+L\+O\+C\+\_\+\+O\+B\+J\+\_\+\+B\+R\+I\+D\+G\+E\+\_\+\+P\+C\+I@{H\+W\+L\+O\+C\+\_\+\+O\+B\+J\+\_\+\+B\+R\+I\+D\+G\+E\+\_\+\+P\+C\+I}}\item[{\em 
\hypertarget{group__hwlocality__types_gga48a4803c72574191d7ead1c62aaf9860a8f3b4cecf3dab6073d74696d10863c60}{H\+W\+L\+O\+C\+\_\+\+O\+B\+J\+\_\+\+B\+R\+I\+D\+G\+E\+\_\+\+P\+C\+I}\label{group__hwlocality__types_gga48a4803c72574191d7ead1c62aaf9860a8f3b4cecf3dab6073d74696d10863c60}
}]P\+C\+I-\/side of a bridge. \end{description}
\end{Desc}
\hypertarget{group__hwlocality__types_ga64f5d539df299c97ae80ce53fc4b56c0}{\index{Topology Object Types@{Topology Object Types}!hwloc\+\_\+obj\+\_\+osdev\+\_\+type\+\_\+e@{hwloc\+\_\+obj\+\_\+osdev\+\_\+type\+\_\+e}}
\index{hwloc\+\_\+obj\+\_\+osdev\+\_\+type\+\_\+e@{hwloc\+\_\+obj\+\_\+osdev\+\_\+type\+\_\+e}!Topology Object Types@{Topology Object Types}}
\subsubsection[{hwloc\+\_\+obj\+\_\+osdev\+\_\+type\+\_\+e}]{\setlength{\rightskip}{0pt plus 5cm}enum {\bf hwloc\+\_\+obj\+\_\+osdev\+\_\+type\+\_\+e}}}\label{group__hwlocality__types_ga64f5d539df299c97ae80ce53fc4b56c0}


Type of a O\+S device. 

\begin{Desc}
\item[Enumerator]\par
\begin{description}
\index{H\+W\+L\+O\+C\+\_\+\+O\+B\+J\+\_\+\+O\+S\+D\+E\+V\+\_\+\+B\+L\+O\+C\+K@{H\+W\+L\+O\+C\+\_\+\+O\+B\+J\+\_\+\+O\+S\+D\+E\+V\+\_\+\+B\+L\+O\+C\+K}!Topology Object Types@{Topology Object Types}}\index{Topology Object Types@{Topology Object Types}!H\+W\+L\+O\+C\+\_\+\+O\+B\+J\+\_\+\+O\+S\+D\+E\+V\+\_\+\+B\+L\+O\+C\+K@{H\+W\+L\+O\+C\+\_\+\+O\+B\+J\+\_\+\+O\+S\+D\+E\+V\+\_\+\+B\+L\+O\+C\+K}}\item[{\em 
\hypertarget{group__hwlocality__types_gga64f5d539df299c97ae80ce53fc4b56c0a689b0488c3c0d08d116751c6b9cb8871}{H\+W\+L\+O\+C\+\_\+\+O\+B\+J\+\_\+\+O\+S\+D\+E\+V\+\_\+\+B\+L\+O\+C\+K}\label{group__hwlocality__types_gga64f5d539df299c97ae80ce53fc4b56c0a689b0488c3c0d08d116751c6b9cb8871}
}]Operating system block device. For instance \char`\"{}sda\char`\"{} on Linux. \index{H\+W\+L\+O\+C\+\_\+\+O\+B\+J\+\_\+\+O\+S\+D\+E\+V\+\_\+\+G\+P\+U@{H\+W\+L\+O\+C\+\_\+\+O\+B\+J\+\_\+\+O\+S\+D\+E\+V\+\_\+\+G\+P\+U}!Topology Object Types@{Topology Object Types}}\index{Topology Object Types@{Topology Object Types}!H\+W\+L\+O\+C\+\_\+\+O\+B\+J\+\_\+\+O\+S\+D\+E\+V\+\_\+\+G\+P\+U@{H\+W\+L\+O\+C\+\_\+\+O\+B\+J\+\_\+\+O\+S\+D\+E\+V\+\_\+\+G\+P\+U}}\item[{\em 
\hypertarget{group__hwlocality__types_gga64f5d539df299c97ae80ce53fc4b56c0aa3a09798ef2836abb236dc3a645ffc90}{H\+W\+L\+O\+C\+\_\+\+O\+B\+J\+\_\+\+O\+S\+D\+E\+V\+\_\+\+G\+P\+U}\label{group__hwlocality__types_gga64f5d539df299c97ae80ce53fc4b56c0aa3a09798ef2836abb236dc3a645ffc90}
}]Operating system G\+P\+U device. For instance the \char`\"{}card0\char`\"{} D\+R\+M device on Linux. \index{H\+W\+L\+O\+C\+\_\+\+O\+B\+J\+\_\+\+O\+S\+D\+E\+V\+\_\+\+N\+E\+T\+W\+O\+R\+K@{H\+W\+L\+O\+C\+\_\+\+O\+B\+J\+\_\+\+O\+S\+D\+E\+V\+\_\+\+N\+E\+T\+W\+O\+R\+K}!Topology Object Types@{Topology Object Types}}\index{Topology Object Types@{Topology Object Types}!H\+W\+L\+O\+C\+\_\+\+O\+B\+J\+\_\+\+O\+S\+D\+E\+V\+\_\+\+N\+E\+T\+W\+O\+R\+K@{H\+W\+L\+O\+C\+\_\+\+O\+B\+J\+\_\+\+O\+S\+D\+E\+V\+\_\+\+N\+E\+T\+W\+O\+R\+K}}\item[{\em 
\hypertarget{group__hwlocality__types_gga64f5d539df299c97ae80ce53fc4b56c0ab715d81155f771573c8682dffc65021b}{H\+W\+L\+O\+C\+\_\+\+O\+B\+J\+\_\+\+O\+S\+D\+E\+V\+\_\+\+N\+E\+T\+W\+O\+R\+K}\label{group__hwlocality__types_gga64f5d539df299c97ae80ce53fc4b56c0ab715d81155f771573c8682dffc65021b}
}]Operating system network device. For instance the \char`\"{}eth0\char`\"{} interface on Linux. \index{H\+W\+L\+O\+C\+\_\+\+O\+B\+J\+\_\+\+O\+S\+D\+E\+V\+\_\+\+O\+P\+E\+N\+F\+A\+B\+R\+I\+C\+S@{H\+W\+L\+O\+C\+\_\+\+O\+B\+J\+\_\+\+O\+S\+D\+E\+V\+\_\+\+O\+P\+E\+N\+F\+A\+B\+R\+I\+C\+S}!Topology Object Types@{Topology Object Types}}\index{Topology Object Types@{Topology Object Types}!H\+W\+L\+O\+C\+\_\+\+O\+B\+J\+\_\+\+O\+S\+D\+E\+V\+\_\+\+O\+P\+E\+N\+F\+A\+B\+R\+I\+C\+S@{H\+W\+L\+O\+C\+\_\+\+O\+B\+J\+\_\+\+O\+S\+D\+E\+V\+\_\+\+O\+P\+E\+N\+F\+A\+B\+R\+I\+C\+S}}\item[{\em 
\hypertarget{group__hwlocality__types_gga64f5d539df299c97ae80ce53fc4b56c0a52157d03694fdae82dddd57ca8c973b6}{H\+W\+L\+O\+C\+\_\+\+O\+B\+J\+\_\+\+O\+S\+D\+E\+V\+\_\+\+O\+P\+E\+N\+F\+A\+B\+R\+I\+C\+S}\label{group__hwlocality__types_gga64f5d539df299c97ae80ce53fc4b56c0a52157d03694fdae82dddd57ca8c973b6}
}]Operating system openfabrics device. For instance the \char`\"{}mlx4\+\_\+0\char`\"{} Infini\+Band H\+C\+A device on Linux. \index{H\+W\+L\+O\+C\+\_\+\+O\+B\+J\+\_\+\+O\+S\+D\+E\+V\+\_\+\+D\+M\+A@{H\+W\+L\+O\+C\+\_\+\+O\+B\+J\+\_\+\+O\+S\+D\+E\+V\+\_\+\+D\+M\+A}!Topology Object Types@{Topology Object Types}}\index{Topology Object Types@{Topology Object Types}!H\+W\+L\+O\+C\+\_\+\+O\+B\+J\+\_\+\+O\+S\+D\+E\+V\+\_\+\+D\+M\+A@{H\+W\+L\+O\+C\+\_\+\+O\+B\+J\+\_\+\+O\+S\+D\+E\+V\+\_\+\+D\+M\+A}}\item[{\em 
\hypertarget{group__hwlocality__types_gga64f5d539df299c97ae80ce53fc4b56c0a827ad1643360711a8b6c6af671366791}{H\+W\+L\+O\+C\+\_\+\+O\+B\+J\+\_\+\+O\+S\+D\+E\+V\+\_\+\+D\+M\+A}\label{group__hwlocality__types_gga64f5d539df299c97ae80ce53fc4b56c0a827ad1643360711a8b6c6af671366791}
}]Operating system dma engine device. For instance the \char`\"{}dma0chan0\char`\"{} D\+M\+A channel on Linux. \end{description}
\end{Desc}
\hypertarget{group__hwlocality__types_gacd37bb612667dc437d66bfb175a8dc55}{\index{Topology Object Types@{Topology Object Types}!hwloc\+\_\+obj\+\_\+type\+\_\+t@{hwloc\+\_\+obj\+\_\+type\+\_\+t}}
\index{hwloc\+\_\+obj\+\_\+type\+\_\+t@{hwloc\+\_\+obj\+\_\+type\+\_\+t}!Topology Object Types@{Topology Object Types}}
\subsubsection[{hwloc\+\_\+obj\+\_\+type\+\_\+t}]{\setlength{\rightskip}{0pt plus 5cm}enum {\bf hwloc\+\_\+obj\+\_\+type\+\_\+t}}}\label{group__hwlocality__types_gacd37bb612667dc437d66bfb175a8dc55}


Type of topology object. 

\begin{DoxyNote}{Note}
Do not rely on the ordering or completeness of the values as new ones may be defined in the future! If you need to compare types, use \hyperlink{group__hwlocality__types_gabd7da4f4ea12b420b8ecbde458b27805}{hwloc\+\_\+compare\+\_\+types()} instead. 
\end{DoxyNote}
\begin{Desc}
\item[Enumerator]\par
\begin{description}
\index{H\+W\+L\+O\+C\+\_\+\+O\+B\+J\+\_\+\+S\+Y\+S\+T\+E\+M@{H\+W\+L\+O\+C\+\_\+\+O\+B\+J\+\_\+\+S\+Y\+S\+T\+E\+M}!Topology Object Types@{Topology Object Types}}\index{Topology Object Types@{Topology Object Types}!H\+W\+L\+O\+C\+\_\+\+O\+B\+J\+\_\+\+S\+Y\+S\+T\+E\+M@{H\+W\+L\+O\+C\+\_\+\+O\+B\+J\+\_\+\+S\+Y\+S\+T\+E\+M}}\item[{\em 
\hypertarget{group__hwlocality__types_ggacd37bb612667dc437d66bfb175a8dc55a3aa1b842d1fd4207ebce171f95a244ec}{H\+W\+L\+O\+C\+\_\+\+O\+B\+J\+\_\+\+S\+Y\+S\+T\+E\+M}\label{group__hwlocality__types_ggacd37bb612667dc437d66bfb175a8dc55a3aa1b842d1fd4207ebce171f95a244ec}
}]Whole system (may be a cluster of machines). The whole system that is accessible to hwloc. That may comprise several machines in S\+S\+I systems like Kerrighed. \index{H\+W\+L\+O\+C\+\_\+\+O\+B\+J\+\_\+\+M\+A\+C\+H\+I\+N\+E@{H\+W\+L\+O\+C\+\_\+\+O\+B\+J\+\_\+\+M\+A\+C\+H\+I\+N\+E}!Topology Object Types@{Topology Object Types}}\index{Topology Object Types@{Topology Object Types}!H\+W\+L\+O\+C\+\_\+\+O\+B\+J\+\_\+\+M\+A\+C\+H\+I\+N\+E@{H\+W\+L\+O\+C\+\_\+\+O\+B\+J\+\_\+\+M\+A\+C\+H\+I\+N\+E}}\item[{\em 
\hypertarget{group__hwlocality__types_ggacd37bb612667dc437d66bfb175a8dc55a3f4e83ffc4a259354959ae8a9eaa2a80}{H\+W\+L\+O\+C\+\_\+\+O\+B\+J\+\_\+\+M\+A\+C\+H\+I\+N\+E}\label{group__hwlocality__types_ggacd37bb612667dc437d66bfb175a8dc55a3f4e83ffc4a259354959ae8a9eaa2a80}
}]Machine. The typical root object type. A set of processors and memory with cache coherency. \index{H\+W\+L\+O\+C\+\_\+\+O\+B\+J\+\_\+\+N\+O\+D\+E@{H\+W\+L\+O\+C\+\_\+\+O\+B\+J\+\_\+\+N\+O\+D\+E}!Topology Object Types@{Topology Object Types}}\index{Topology Object Types@{Topology Object Types}!H\+W\+L\+O\+C\+\_\+\+O\+B\+J\+\_\+\+N\+O\+D\+E@{H\+W\+L\+O\+C\+\_\+\+O\+B\+J\+\_\+\+N\+O\+D\+E}}\item[{\em 
\hypertarget{group__hwlocality__types_ggacd37bb612667dc437d66bfb175a8dc55aaf0964881117bdedf1a5e9332cd120dd}{H\+W\+L\+O\+C\+\_\+\+O\+B\+J\+\_\+\+N\+O\+D\+E}\label{group__hwlocality__types_ggacd37bb612667dc437d66bfb175a8dc55aaf0964881117bdedf1a5e9332cd120dd}
}]N\+U\+M\+A node. A set of processors around memory which the processors can directly access. \index{H\+W\+L\+O\+C\+\_\+\+O\+B\+J\+\_\+\+S\+O\+C\+K\+E\+T@{H\+W\+L\+O\+C\+\_\+\+O\+B\+J\+\_\+\+S\+O\+C\+K\+E\+T}!Topology Object Types@{Topology Object Types}}\index{Topology Object Types@{Topology Object Types}!H\+W\+L\+O\+C\+\_\+\+O\+B\+J\+\_\+\+S\+O\+C\+K\+E\+T@{H\+W\+L\+O\+C\+\_\+\+O\+B\+J\+\_\+\+S\+O\+C\+K\+E\+T}}\item[{\em 
\hypertarget{group__hwlocality__types_ggacd37bb612667dc437d66bfb175a8dc55a1ac6e07775ae4324b3fe9dbd72c785ec}{H\+W\+L\+O\+C\+\_\+\+O\+B\+J\+\_\+\+S\+O\+C\+K\+E\+T}\label{group__hwlocality__types_ggacd37bb612667dc437d66bfb175a8dc55a1ac6e07775ae4324b3fe9dbd72c785ec}
}]Socket, physical package, or chip. In the physical meaning, i.\+e. that you can add or remove physically. \index{H\+W\+L\+O\+C\+\_\+\+O\+B\+J\+\_\+\+C\+A\+C\+H\+E@{H\+W\+L\+O\+C\+\_\+\+O\+B\+J\+\_\+\+C\+A\+C\+H\+E}!Topology Object Types@{Topology Object Types}}\index{Topology Object Types@{Topology Object Types}!H\+W\+L\+O\+C\+\_\+\+O\+B\+J\+\_\+\+C\+A\+C\+H\+E@{H\+W\+L\+O\+C\+\_\+\+O\+B\+J\+\_\+\+C\+A\+C\+H\+E}}\item[{\em 
\hypertarget{group__hwlocality__types_ggacd37bb612667dc437d66bfb175a8dc55a56ee0b7eca88f363b75b34fdde8c9ddc}{H\+W\+L\+O\+C\+\_\+\+O\+B\+J\+\_\+\+C\+A\+C\+H\+E}\label{group__hwlocality__types_ggacd37bb612667dc437d66bfb175a8dc55a56ee0b7eca88f363b75b34fdde8c9ddc}
}]Data cache. Can be L1, L2, L3, ... \index{H\+W\+L\+O\+C\+\_\+\+O\+B\+J\+\_\+\+C\+O\+R\+E@{H\+W\+L\+O\+C\+\_\+\+O\+B\+J\+\_\+\+C\+O\+R\+E}!Topology Object Types@{Topology Object Types}}\index{Topology Object Types@{Topology Object Types}!H\+W\+L\+O\+C\+\_\+\+O\+B\+J\+\_\+\+C\+O\+R\+E@{H\+W\+L\+O\+C\+\_\+\+O\+B\+J\+\_\+\+C\+O\+R\+E}}\item[{\em 
\hypertarget{group__hwlocality__types_ggacd37bb612667dc437d66bfb175a8dc55ac793958f330bca371aa1535de8aff45f}{H\+W\+L\+O\+C\+\_\+\+O\+B\+J\+\_\+\+C\+O\+R\+E}\label{group__hwlocality__types_ggacd37bb612667dc437d66bfb175a8dc55ac793958f330bca371aa1535de8aff45f}
}]Core. A computation unit (may be shared by several logical processors). \index{H\+W\+L\+O\+C\+\_\+\+O\+B\+J\+\_\+\+P\+U@{H\+W\+L\+O\+C\+\_\+\+O\+B\+J\+\_\+\+P\+U}!Topology Object Types@{Topology Object Types}}\index{Topology Object Types@{Topology Object Types}!H\+W\+L\+O\+C\+\_\+\+O\+B\+J\+\_\+\+P\+U@{H\+W\+L\+O\+C\+\_\+\+O\+B\+J\+\_\+\+P\+U}}\item[{\em 
\hypertarget{group__hwlocality__types_ggacd37bb612667dc437d66bfb175a8dc55abca6887e80cb291353b0a0c1da83f661}{H\+W\+L\+O\+C\+\_\+\+O\+B\+J\+\_\+\+P\+U}\label{group__hwlocality__types_ggacd37bb612667dc437d66bfb175a8dc55abca6887e80cb291353b0a0c1da83f661}
}]Processing Unit, or (Logical) Processor. An execution unit (may share a core with some other logical processors, e.\+g. in the case of an S\+M\+T core).

Objects of this kind are always reported and can thus be used as fallback when others are not. \index{H\+W\+L\+O\+C\+\_\+\+O\+B\+J\+\_\+\+G\+R\+O\+U\+P@{H\+W\+L\+O\+C\+\_\+\+O\+B\+J\+\_\+\+G\+R\+O\+U\+P}!Topology Object Types@{Topology Object Types}}\index{Topology Object Types@{Topology Object Types}!H\+W\+L\+O\+C\+\_\+\+O\+B\+J\+\_\+\+G\+R\+O\+U\+P@{H\+W\+L\+O\+C\+\_\+\+O\+B\+J\+\_\+\+G\+R\+O\+U\+P}}\item[{\em 
\hypertarget{group__hwlocality__types_ggacd37bb612667dc437d66bfb175a8dc55a5269ef95be72f88465559d35c9b7ad56}{H\+W\+L\+O\+C\+\_\+\+O\+B\+J\+\_\+\+G\+R\+O\+U\+P}\label{group__hwlocality__types_ggacd37bb612667dc437d66bfb175a8dc55a5269ef95be72f88465559d35c9b7ad56}
}]\hyperlink{classGroup}{Group} objects. Objects which do not fit in the above but are detected by hwloc and are useful to take into account for affinity. For instance, some operating systems expose their arbitrary processors aggregation this way. And hwloc may insert such objects to group N\+U\+M\+A nodes according to their distances.

These objects are ignored when they do not bring any structure. \index{H\+W\+L\+O\+C\+\_\+\+O\+B\+J\+\_\+\+M\+I\+S\+C@{H\+W\+L\+O\+C\+\_\+\+O\+B\+J\+\_\+\+M\+I\+S\+C}!Topology Object Types@{Topology Object Types}}\index{Topology Object Types@{Topology Object Types}!H\+W\+L\+O\+C\+\_\+\+O\+B\+J\+\_\+\+M\+I\+S\+C@{H\+W\+L\+O\+C\+\_\+\+O\+B\+J\+\_\+\+M\+I\+S\+C}}\item[{\em 
\hypertarget{group__hwlocality__types_ggacd37bb612667dc437d66bfb175a8dc55a19f8a6953fa91efc76bcbcdf2d22de4d}{H\+W\+L\+O\+C\+\_\+\+O\+B\+J\+\_\+\+M\+I\+S\+C}\label{group__hwlocality__types_ggacd37bb612667dc437d66bfb175a8dc55a19f8a6953fa91efc76bcbcdf2d22de4d}
}]Miscellaneous objects. Objects without particular meaning, that can e.\+g. be added by the application for its own use. \index{H\+W\+L\+O\+C\+\_\+\+O\+B\+J\+\_\+\+B\+R\+I\+D\+G\+E@{H\+W\+L\+O\+C\+\_\+\+O\+B\+J\+\_\+\+B\+R\+I\+D\+G\+E}!Topology Object Types@{Topology Object Types}}\index{Topology Object Types@{Topology Object Types}!H\+W\+L\+O\+C\+\_\+\+O\+B\+J\+\_\+\+B\+R\+I\+D\+G\+E@{H\+W\+L\+O\+C\+\_\+\+O\+B\+J\+\_\+\+B\+R\+I\+D\+G\+E}}\item[{\em 
\hypertarget{group__hwlocality__types_ggacd37bb612667dc437d66bfb175a8dc55a6825f10895fea60aca7a6ba9fe273db0}{H\+W\+L\+O\+C\+\_\+\+O\+B\+J\+\_\+\+B\+R\+I\+D\+G\+E}\label{group__hwlocality__types_ggacd37bb612667dc437d66bfb175a8dc55a6825f10895fea60aca7a6ba9fe273db0}
}]Bridge. Any bridge that connects the host or an I/\+O bus, to another I/\+O bus. Bridge objects have neither C\+P\+U sets nor node sets. They are not added to the topology unless I/\+O discovery is enabled with \hyperlink{group__hwlocality__configuration_ga6d11e53db143ac39c32cdb3912b71f99}{hwloc\+\_\+topology\+\_\+set\+\_\+flags()}. \index{H\+W\+L\+O\+C\+\_\+\+O\+B\+J\+\_\+\+P\+C\+I\+\_\+\+D\+E\+V\+I\+C\+E@{H\+W\+L\+O\+C\+\_\+\+O\+B\+J\+\_\+\+P\+C\+I\+\_\+\+D\+E\+V\+I\+C\+E}!Topology Object Types@{Topology Object Types}}\index{Topology Object Types@{Topology Object Types}!H\+W\+L\+O\+C\+\_\+\+O\+B\+J\+\_\+\+P\+C\+I\+\_\+\+D\+E\+V\+I\+C\+E@{H\+W\+L\+O\+C\+\_\+\+O\+B\+J\+\_\+\+P\+C\+I\+\_\+\+D\+E\+V\+I\+C\+E}}\item[{\em 
\hypertarget{group__hwlocality__types_ggacd37bb612667dc437d66bfb175a8dc55a5d8117a54df1fbd3606ab19e42cb0ea9}{H\+W\+L\+O\+C\+\_\+\+O\+B\+J\+\_\+\+P\+C\+I\+\_\+\+D\+E\+V\+I\+C\+E}\label{group__hwlocality__types_ggacd37bb612667dc437d66bfb175a8dc55a5d8117a54df1fbd3606ab19e42cb0ea9}
}]P\+C\+I device. These objects have neither C\+P\+U sets nor node sets. They are not added to the topology unless I/\+O discovery is enabled with \hyperlink{group__hwlocality__configuration_ga6d11e53db143ac39c32cdb3912b71f99}{hwloc\+\_\+topology\+\_\+set\+\_\+flags()}. \index{H\+W\+L\+O\+C\+\_\+\+O\+B\+J\+\_\+\+O\+S\+\_\+\+D\+E\+V\+I\+C\+E@{H\+W\+L\+O\+C\+\_\+\+O\+B\+J\+\_\+\+O\+S\+\_\+\+D\+E\+V\+I\+C\+E}!Topology Object Types@{Topology Object Types}}\index{Topology Object Types@{Topology Object Types}!H\+W\+L\+O\+C\+\_\+\+O\+B\+J\+\_\+\+O\+S\+\_\+\+D\+E\+V\+I\+C\+E@{H\+W\+L\+O\+C\+\_\+\+O\+B\+J\+\_\+\+O\+S\+\_\+\+D\+E\+V\+I\+C\+E}}\item[{\em 
\hypertarget{group__hwlocality__types_ggacd37bb612667dc437d66bfb175a8dc55a51e7280240fd9f25589cbbe538bdb075}{H\+W\+L\+O\+C\+\_\+\+O\+B\+J\+\_\+\+O\+S\+\_\+\+D\+E\+V\+I\+C\+E}\label{group__hwlocality__types_ggacd37bb612667dc437d66bfb175a8dc55a51e7280240fd9f25589cbbe538bdb075}
}]Operating system device. These objects have neither C\+P\+U sets nor node sets. They are not added to the topology unless I/\+O discovery is enabled with \hyperlink{group__hwlocality__configuration_ga6d11e53db143ac39c32cdb3912b71f99}{hwloc\+\_\+topology\+\_\+set\+\_\+flags()}. \index{H\+W\+L\+O\+C\+\_\+\+O\+B\+J\+\_\+\+T\+Y\+P\+E\+\_\+\+M\+A\+X@{H\+W\+L\+O\+C\+\_\+\+O\+B\+J\+\_\+\+T\+Y\+P\+E\+\_\+\+M\+A\+X}!Topology Object Types@{Topology Object Types}}\index{Topology Object Types@{Topology Object Types}!H\+W\+L\+O\+C\+\_\+\+O\+B\+J\+\_\+\+T\+Y\+P\+E\+\_\+\+M\+A\+X@{H\+W\+L\+O\+C\+\_\+\+O\+B\+J\+\_\+\+T\+Y\+P\+E\+\_\+\+M\+A\+X}}\item[{\em 
\hypertarget{group__hwlocality__types_ggacd37bb612667dc437d66bfb175a8dc55addb5f843e1812445a84e6b2a844b1ebc}{H\+W\+L\+O\+C\+\_\+\+O\+B\+J\+\_\+\+T\+Y\+P\+E\+\_\+\+M\+A\+X}\label{group__hwlocality__types_ggacd37bb612667dc437d66bfb175a8dc55addb5f843e1812445a84e6b2a844b1ebc}
}]Sentinel value. \end{description}
\end{Desc}


\subsection{Function Documentation}
\hypertarget{group__hwlocality__types_gabd7da4f4ea12b420b8ecbde458b27805}{\index{Topology Object Types@{Topology Object Types}!hwloc\+\_\+compare\+\_\+types@{hwloc\+\_\+compare\+\_\+types}}
\index{hwloc\+\_\+compare\+\_\+types@{hwloc\+\_\+compare\+\_\+types}!Topology Object Types@{Topology Object Types}}
\subsubsection[{hwloc\+\_\+compare\+\_\+types}]{\setlength{\rightskip}{0pt plus 5cm}H\+W\+L\+O\+C\+\_\+\+D\+E\+C\+L\+S\+P\+E\+C int hwloc\+\_\+compare\+\_\+types (
\begin{DoxyParamCaption}
\item[{{\bf hwloc\+\_\+obj\+\_\+type\+\_\+t}}]{type1, }
\item[{{\bf hwloc\+\_\+obj\+\_\+type\+\_\+t}}]{type2}
\end{DoxyParamCaption}
) const}}\label{group__hwlocality__types_gabd7da4f4ea12b420b8ecbde458b27805}


Compare the depth of two object types. 

Types shouldn't be compared as they are, since newer ones may be added in the future. This function returns less than, equal to, or greater than zero respectively if {\ttfamily type1} objects usually include {\ttfamily type2} objects, are the same as {\ttfamily type2} objects, or are included in {\ttfamily type2} objects. If the types can not be compared (because neither is usually contained in the other), H\+W\+L\+O\+C\+\_\+\+T\+Y\+P\+E\+\_\+\+U\+N\+O\+R\+D\+E\+R\+E\+D is returned. Object types containing C\+P\+Us can always be compared (usually, a system contains machines which contain nodes which contain sockets which contain caches, which contain cores, which contain processors).

\begin{DoxyNote}{Note}
H\+W\+L\+O\+C\+\_\+\+O\+B\+J\+\_\+\+P\+U will always be the deepest. 

This does not mean that the actual topology will respect that order\+: e.\+g. as of today cores may also contain caches, and sockets may also contain nodes. This is thus just to be seen as a fallback comparison method. 
\end{DoxyNote}


References H\+W\+L\+O\+C\+\_\+\+O\+B\+J\+\_\+\+B\+R\+I\+D\+G\+E, H\+W\+L\+O\+C\+\_\+\+O\+B\+J\+\_\+\+M\+A\+C\+H\+I\+N\+E, H\+W\+L\+O\+C\+\_\+\+O\+B\+J\+\_\+\+O\+S\+\_\+\+D\+E\+V\+I\+C\+E, H\+W\+L\+O\+C\+\_\+\+O\+B\+J\+\_\+\+P\+C\+I\+\_\+\+D\+E\+V\+I\+C\+E, H\+W\+L\+O\+C\+\_\+\+O\+B\+J\+\_\+\+S\+Y\+S\+T\+E\+M, and H\+W\+L\+O\+C\+\_\+\+T\+Y\+P\+E\+\_\+\+U\+N\+O\+R\+D\+E\+R\+E\+D.



Referenced by hwloc\+\_\+get\+\_\+type\+\_\+or\+\_\+above\+\_\+depth(), and hwloc\+\_\+get\+\_\+type\+\_\+or\+\_\+below\+\_\+depth().

