File: a00182_source.html

package info (click to toggle)
hwloc 2.4.1%2Bdfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 22,032 kB
  • sloc: ansic: 58,129; xml: 12,064; sh: 6,822; makefile: 2,200; javascript: 1,623; perl: 380; cpp: 93; php: 8; sed: 4
file content (362 lines) | stat: -rw-r--r-- 78,023 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Hardware Locality (hwloc): plugins.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">Hardware Locality (hwloc)
   &#160;<span id="projectnumber">2.4.1</span>
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('',false,false,'search.php','Search');
});
/* @license-end */</script>
<div id="main-nav"></div>
<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_5cb306d949c7931a3b6c77517393dd34.html">hwloc</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="headertitle">
<div class="title">plugins.h</div>  </div>
</div><!--header-->
<div class="contents">
<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">/*</span></div>
<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment"> * Copyright © 2013-2020 Inria.  All rights reserved.</span></div>
<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment"> * Copyright © 2016 Cisco Systems, Inc.  All rights reserved.</span></div>
<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment"> * See COPYING in top-level directory.</span></div>
<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160; </div>
<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="preprocessor">#ifndef HWLOC_PLUGINS_H</span></div>
<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="preprocessor">#define HWLOC_PLUGINS_H</span></div>
<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160; </div>
<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="keyword">struct </span><a class="code" href="a00380.html">hwloc_backend</a>;</div>
<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160; </div>
<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="preprocessor">#include &quot;hwloc.h&quot;</span></div>
<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160; </div>
<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="preprocessor">#ifdef HWLOC_INSIDE_PLUGIN</span></div>
<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="comment">/* needed for hwloc_plugin_check_namespace() */</span></div>
<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="preprocessor">#ifdef HWLOC_HAVE_LTDL</span></div>
<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="preprocessor">#include &lt;ltdl.h&gt;</span></div>
<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="preprocessor">#else</span></div>
<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include &lt;dlfcn.h&gt;</span></div>
<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160; </div>
<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160; </div>
<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160; </div>
<div class="line"><a name="l00038"></a><span class="lineno"><a class="line" href="a00372.html">   38</a></span>&#160;<span class="keyword">struct </span><a class="code" href="a00372.html">hwloc_disc_component</a> {</div>
<div class="line"><a name="l00042"></a><span class="lineno"><a class="line" href="a00372.html#a4064c3b5d9213027e87caebef380a840">   42</a></span>&#160;  <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="a00372.html#a4064c3b5d9213027e87caebef380a840">name</a>;</div>
<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160; </div>
<div class="line"><a name="l00047"></a><span class="lineno"><a class="line" href="a00372.html#a61ad3151efa02e3dbad5d919758f9c90">   47</a></span>&#160;  <span class="keywordtype">unsigned</span> <a class="code" href="a00372.html#a61ad3151efa02e3dbad5d919758f9c90">phases</a>;</div>
<div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160; </div>
<div class="line"><a name="l00057"></a><span class="lineno"><a class="line" href="a00372.html#acbb9957914dbf7b8f504215aa0c8d3fe">   57</a></span>&#160;  <span class="keywordtype">unsigned</span> <a class="code" href="a00372.html#acbb9957914dbf7b8f504215aa0c8d3fe">excluded_phases</a>;</div>
<div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160; </div>
<div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;  <span class="keyword">struct </span><a class="code" href="a00380.html">hwloc_backend</a> * (*instantiate)(<span class="keyword">struct </span>hwloc_topology *topology, <span class="keyword">struct </span><a class="code" href="a00372.html">hwloc_disc_component</a> *component, <span class="keywordtype">unsigned</span> <a class="code" href="a00372.html#acbb9957914dbf7b8f504215aa0c8d3fe">excluded_phases</a>, <span class="keyword">const</span> <span class="keywordtype">void</span> *data1, <span class="keyword">const</span> <span class="keywordtype">void</span> *data2, <span class="keyword">const</span> <span class="keywordtype">void</span> *data3);</div>
<div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160; </div>
<div class="line"><a name="l00076"></a><span class="lineno"><a class="line" href="a00372.html#ae86d283c272c5ae24073a235efbf6b59">   76</a></span>&#160;  <span class="keywordtype">unsigned</span> <a class="code" href="a00372.html#ae86d283c272c5ae24073a235efbf6b59">priority</a>;</div>
<div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160; </div>
<div class="line"><a name="l00081"></a><span class="lineno"><a class="line" href="a00372.html#ace80cafe2b1732b047b3fc3da47e6517">   81</a></span>&#160;  <span class="keywordtype">unsigned</span> <a class="code" href="a00372.html#ace80cafe2b1732b047b3fc3da47e6517">enabled_by_default</a>;</div>
<div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160; </div>
<div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;  <span class="keyword">struct </span><a class="code" href="a00372.html">hwloc_disc_component</a> * next;</div>
<div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;};</div>
<div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160; </div>
<div class="line"><a name="l00100"></a><span class="lineno"><a class="line" href="a00234.html#ga8c314121c2fc478161bcce758688b9a1">  100</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">enum</span> <a class="code" href="a00234.html#ga8c314121c2fc478161bcce758688b9a1">hwloc_disc_phase_e</a> {</div>
<div class="line"><a name="l00105"></a><span class="lineno"><a class="line" href="a00234.html#gga8c314121c2fc478161bcce758688b9a1ab41c626c79e9ccb1e7d41e7076972283">  105</a></span>&#160;  <a class="code" href="a00234.html#gga8c314121c2fc478161bcce758688b9a1ab41c626c79e9ccb1e7d41e7076972283">HWLOC_DISC_PHASE_GLOBAL</a> = (1U&lt;&lt;0),</div>
<div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160; </div>
<div class="line"><a name="l00109"></a><span class="lineno"><a class="line" href="a00234.html#gga8c314121c2fc478161bcce758688b9a1a6360474df197027761a69bd5fc620250">  109</a></span>&#160;  <a class="code" href="a00234.html#gga8c314121c2fc478161bcce758688b9a1a6360474df197027761a69bd5fc620250">HWLOC_DISC_PHASE_CPU</a> = (1U&lt;&lt;1),</div>
<div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160; </div>
<div class="line"><a name="l00113"></a><span class="lineno"><a class="line" href="a00234.html#gga8c314121c2fc478161bcce758688b9a1ac4264a243844c5fbbff495cdb1b4d51d">  113</a></span>&#160;  <a class="code" href="a00234.html#gga8c314121c2fc478161bcce758688b9a1ac4264a243844c5fbbff495cdb1b4d51d">HWLOC_DISC_PHASE_MEMORY</a> = (1U&lt;&lt;2),</div>
<div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160; </div>
<div class="line"><a name="l00117"></a><span class="lineno"><a class="line" href="a00234.html#gga8c314121c2fc478161bcce758688b9a1a677c52064dd987af4988346319b3675a">  117</a></span>&#160;  <a class="code" href="a00234.html#gga8c314121c2fc478161bcce758688b9a1a677c52064dd987af4988346319b3675a">HWLOC_DISC_PHASE_PCI</a> = (1U&lt;&lt;3),</div>
<div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160; </div>
<div class="line"><a name="l00121"></a><span class="lineno"><a class="line" href="a00234.html#gga8c314121c2fc478161bcce758688b9a1aa8e10626cba9af72f5605a1acbdc0015">  121</a></span>&#160;  <a class="code" href="a00234.html#gga8c314121c2fc478161bcce758688b9a1aa8e10626cba9af72f5605a1acbdc0015">HWLOC_DISC_PHASE_IO</a> = (1U&lt;&lt;4),</div>
<div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160; </div>
<div class="line"><a name="l00125"></a><span class="lineno"><a class="line" href="a00234.html#gga8c314121c2fc478161bcce758688b9a1a8a7cde9bff0ab0d085b102a3e934939b">  125</a></span>&#160;  <a class="code" href="a00234.html#gga8c314121c2fc478161bcce758688b9a1a8a7cde9bff0ab0d085b102a3e934939b">HWLOC_DISC_PHASE_MISC</a> = (1U&lt;&lt;5),</div>
<div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160; </div>
<div class="line"><a name="l00129"></a><span class="lineno"><a class="line" href="a00234.html#gga8c314121c2fc478161bcce758688b9a1a68ca5c7ad75a6d9e5355689411621773">  129</a></span>&#160;  <a class="code" href="a00234.html#gga8c314121c2fc478161bcce758688b9a1a68ca5c7ad75a6d9e5355689411621773">HWLOC_DISC_PHASE_ANNOTATE</a> = (1U&lt;&lt;6),</div>
<div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160; </div>
<div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;  <a class="code" href="a00234.html#gga8c314121c2fc478161bcce758688b9a1ada3ed3f00e74909353d6ea4a96cde5ad">HWLOC_DISC_PHASE_TWEAK</a> = (1U&lt;&lt;7)</div>
<div class="line"><a name="l00137"></a><span class="lineno"><a class="line" href="a00234.html#ga600bba1a62022d5f516800649b1edb61">  137</a></span>&#160;} <a class="code" href="a00234.html#ga600bba1a62022d5f516800649b1edb61">hwloc_disc_phase_t</a>;</div>
<div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160; </div>
<div class="line"><a name="l00140"></a><span class="lineno"><a class="line" href="a00234.html#gaae1b38cf9b12e489884ce2a07275964b">  140</a></span>&#160;<span class="keyword">enum</span> <a class="code" href="a00234.html#gaae1b38cf9b12e489884ce2a07275964b">hwloc_disc_status_flag_e</a> {</div>
<div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;  <a class="code" href="a00234.html#ggaae1b38cf9b12e489884ce2a07275964ba205d644d54a0840bd9165fce7d19e6b1">HWLOC_DISC_STATUS_FLAG_GOT_ALLOWED_RESOURCES</a> = (1UL&lt;&lt;1)</div>
<div class="line"><a name="l00143"></a><span class="lineno"><a class="line" href="a00234.html#ggaae1b38cf9b12e489884ce2a07275964ba205d644d54a0840bd9165fce7d19e6b1">  143</a></span>&#160;};</div>
<div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160; </div>
<div class="line"><a name="l00150"></a><span class="lineno"><a class="line" href="a00376.html">  150</a></span>&#160;<span class="keyword">struct </span><a class="code" href="a00376.html">hwloc_disc_status</a> {</div>
<div class="line"><a name="l00154"></a><span class="lineno"><a class="line" href="a00376.html#abaf7c8c082d43e133171f0723dbf824b">  154</a></span>&#160;  <a class="code" href="a00234.html#ga600bba1a62022d5f516800649b1edb61">hwloc_disc_phase_t</a> <a class="code" href="a00376.html#abaf7c8c082d43e133171f0723dbf824b">phase</a>;</div>
<div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160; </div>
<div class="line"><a name="l00159"></a><span class="lineno"><a class="line" href="a00376.html#a0f95fa42d46a6e7cf8dee8af12afee3a">  159</a></span>&#160;  <span class="keywordtype">unsigned</span> <a class="code" href="a00376.html#a0f95fa42d46a6e7cf8dee8af12afee3a">excluded_phases</a>;</div>
<div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160; </div>
<div class="line"><a name="l00162"></a><span class="lineno"><a class="line" href="a00376.html#ad8b123cecb945a9182eb824ccf8ef9d7">  162</a></span>&#160;  <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> <a class="code" href="a00376.html#ad8b123cecb945a9182eb824ccf8ef9d7">flags</a>;</div>
<div class="line"><a name="l00163"></a><span class="lineno">  163</span>&#160;};</div>
<div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160; </div>
<div class="line"><a name="l00183"></a><span class="lineno"><a class="line" href="a00380.html">  183</a></span>&#160;<span class="keyword">struct </span><a class="code" href="a00380.html">hwloc_backend</a> {</div>
<div class="line"><a name="l00185"></a><span class="lineno">  185</span>&#160;  <span class="keyword">struct </span><a class="code" href="a00372.html">hwloc_disc_component</a> * component;</div>
<div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160;  <span class="keyword">struct </span>hwloc_topology * topology;</div>
<div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;  <span class="keywordtype">int</span> envvar_forced;</div>
<div class="line"><a name="l00191"></a><span class="lineno">  191</span>&#160;  <span class="keyword">struct </span><a class="code" href="a00380.html">hwloc_backend</a> * next;</div>
<div class="line"><a name="l00192"></a><span class="lineno">  192</span>&#160; </div>
<div class="line"><a name="l00196"></a><span class="lineno"><a class="line" href="a00380.html#aeca769840a6ff03e96462a9533adbccd">  196</a></span>&#160;  <span class="keywordtype">unsigned</span> <a class="code" href="a00380.html#aeca769840a6ff03e96462a9533adbccd">phases</a>;</div>
<div class="line"><a name="l00197"></a><span class="lineno">  197</span>&#160; </div>
<div class="line"><a name="l00199"></a><span class="lineno"><a class="line" href="a00380.html#aaa8eafe495aadd81c2e3c4ec527c10ba">  199</a></span>&#160;  <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> <a class="code" href="a00380.html#aaa8eafe495aadd81c2e3c4ec527c10ba">flags</a>;</div>
<div class="line"><a name="l00200"></a><span class="lineno">  200</span>&#160; </div>
<div class="line"><a name="l00207"></a><span class="lineno"><a class="line" href="a00380.html#ab8806f6db077f1bb2e9d63ec99223f7a">  207</a></span>&#160;  <span class="keywordtype">int</span> <a class="code" href="a00380.html#ab8806f6db077f1bb2e9d63ec99223f7a">is_thissystem</a>;</div>
<div class="line"><a name="l00208"></a><span class="lineno">  208</span>&#160; </div>
<div class="line"><a name="l00210"></a><span class="lineno"><a class="line" href="a00380.html#a2ea5bd36b7f06efdb65b98b32af16c68">  210</a></span>&#160;  <span class="keywordtype">void</span> * <a class="code" href="a00380.html#a2ea5bd36b7f06efdb65b98b32af16c68">private_data</a>;</div>
<div class="line"><a name="l00214"></a><span class="lineno"><a class="line" href="a00380.html#a36c4fa86350525b46340c67b802c69c7">  214</a></span>&#160;  void (*<a class="code" href="a00380.html#a36c4fa86350525b46340c67b802c69c7">disable</a>)(<span class="keyword">struct </span><a class="code" href="a00380.html">hwloc_backend</a> *backend);</div>
<div class="line"><a name="l00215"></a><span class="lineno">  215</span>&#160; </div>
<div class="line"><a name="l00221"></a><span class="lineno"><a class="line" href="a00380.html#accff2cd8404be43c3b44cec05e6f609b">  221</a></span>&#160;  int (*<a class="code" href="a00380.html#accff2cd8404be43c3b44cec05e6f609b">discover</a>)(<span class="keyword">struct </span><a class="code" href="a00380.html">hwloc_backend</a> *backend, <span class="keyword">struct </span><a class="code" href="a00376.html">hwloc_disc_status</a> *status);</div>
<div class="line"><a name="l00222"></a><span class="lineno">  222</span>&#160; </div>
<div class="line"><a name="l00227"></a><span class="lineno"><a class="line" href="a00380.html#aaac253491264c20930f44817270bc502">  227</a></span>&#160;  int (*<a class="code" href="a00380.html#aaac253491264c20930f44817270bc502">get_pci_busid_cpuset</a>)(<span class="keyword">struct </span><a class="code" href="a00380.html">hwloc_backend</a> *backend, <span class="keyword">struct </span>hwloc_pcidev_attr_s *busid, <a class="code" href="a00211.html#gaa3c2bf4c776d603dcebbb61b0c923d84">hwloc_bitmap_t</a> cpuset);</div>
<div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;};</div>
<div class="line"><a name="l00229"></a><span class="lineno">  229</span>&#160; </div>
<div class="line"><a name="l00233"></a><span class="lineno"><a class="line" href="a00234.html#gadb068565ab6043cbe4d16bfcce067a61">  233</a></span>&#160;HWLOC_DECLSPEC <span class="keyword">struct </span><a class="code" href="a00380.html">hwloc_backend</a> * <a class="code" href="a00234.html#gadb068565ab6043cbe4d16bfcce067a61">hwloc_backend_alloc</a>(<span class="keyword">struct</span> hwloc_topology *topology, <span class="keyword">struct</span> <a class="code" href="a00372.html">hwloc_disc_component</a> *component);</div>
<div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160; </div>
<div class="line"><a name="l00236"></a><span class="lineno"><a class="line" href="a00234.html#ga4715779d7191833e9b1a7490989a7497">  236</a></span>&#160;HWLOC_DECLSPEC <span class="keywordtype">int</span> <a class="code" href="a00234.html#ga4715779d7191833e9b1a7490989a7497">hwloc_backend_enable</a>(<span class="keyword">struct</span> <a class="code" href="a00380.html">hwloc_backend</a> *backend);</div>
<div class="line"><a name="l00237"></a><span class="lineno">  237</span>&#160; </div>
<div class="line"><a name="l00248"></a><span class="lineno"><a class="line" href="a00235.html#ga397a1bf7d21dd073320ad0045340f463">  248</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">enum</span> <a class="code" href="a00235.html#ga397a1bf7d21dd073320ad0045340f463">hwloc_component_type_e</a> {</div>
<div class="line"><a name="l00250"></a><span class="lineno"><a class="line" href="a00235.html#gga397a1bf7d21dd073320ad0045340f463a5d6e561f467fe9795a29e7368b613900">  250</a></span>&#160;  <a class="code" href="a00235.html#gga397a1bf7d21dd073320ad0045340f463a5d6e561f467fe9795a29e7368b613900">HWLOC_COMPONENT_TYPE_DISC</a>,</div>
<div class="line"><a name="l00251"></a><span class="lineno">  251</span>&#160; </div>
<div class="line"><a name="l00253"></a><span class="lineno">  253</span>&#160;  <a class="code" href="a00235.html#gga397a1bf7d21dd073320ad0045340f463adea00cd839c2141c032e1569fd5592bd">HWLOC_COMPONENT_TYPE_XML</a></div>
<div class="line"><a name="l00254"></a><span class="lineno"><a class="line" href="a00235.html#ga31a5a455f4e666b936f0a9e8fb9a0f47">  254</a></span>&#160;} <a class="code" href="a00235.html#ga31a5a455f4e666b936f0a9e8fb9a0f47">hwloc_component_type_t</a>;</div>
<div class="line"><a name="l00255"></a><span class="lineno">  255</span>&#160; </div>
<div class="line"><a name="l00261"></a><span class="lineno"><a class="line" href="a00384.html">  261</a></span>&#160;<span class="keyword">struct </span><a class="code" href="a00384.html">hwloc_component</a> {</div>
<div class="line"><a name="l00263"></a><span class="lineno"><a class="line" href="a00384.html#a3250bd6fc9713946991d805e48091b2e">  263</a></span>&#160;  <span class="keywordtype">unsigned</span> <a class="code" href="a00384.html#a3250bd6fc9713946991d805e48091b2e">abi</a>;</div>
<div class="line"><a name="l00264"></a><span class="lineno">  264</span>&#160; </div>
<div class="line"><a name="l00282"></a><span class="lineno"><a class="line" href="a00384.html#aea613546886d9b8221cadba920fe3ebc">  282</a></span>&#160;  int (*<a class="code" href="a00384.html#aea613546886d9b8221cadba920fe3ebc">init</a>)(<span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> <a class="code" href="a00384.html#ab8043c5b4cc0e81aabba586ccb194335">flags</a>);</div>
<div class="line"><a name="l00283"></a><span class="lineno">  283</span>&#160; </div>
<div class="line"><a name="l00295"></a><span class="lineno"><a class="line" href="a00384.html#a4612015451a1c706e8ba19114cb8baae">  295</a></span>&#160;  void (*<a class="code" href="a00384.html#a4612015451a1c706e8ba19114cb8baae">finalize</a>)(<span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> <a class="code" href="a00384.html#ab8043c5b4cc0e81aabba586ccb194335">flags</a>);</div>
<div class="line"><a name="l00296"></a><span class="lineno">  296</span>&#160; </div>
<div class="line"><a name="l00298"></a><span class="lineno"><a class="line" href="a00384.html#a789208ada7e17492cfd3a5a88a6bb0ee">  298</a></span>&#160;  <a class="code" href="a00235.html#ga31a5a455f4e666b936f0a9e8fb9a0f47">hwloc_component_type_t</a> <a class="code" href="a00384.html#a789208ada7e17492cfd3a5a88a6bb0ee">type</a>;</div>
<div class="line"><a name="l00299"></a><span class="lineno">  299</span>&#160; </div>
<div class="line"><a name="l00301"></a><span class="lineno"><a class="line" href="a00384.html#ab8043c5b4cc0e81aabba586ccb194335">  301</a></span>&#160;  <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> <a class="code" href="a00384.html#ab8043c5b4cc0e81aabba586ccb194335">flags</a>;</div>
<div class="line"><a name="l00302"></a><span class="lineno">  302</span>&#160; </div>
<div class="line"><a name="l00304"></a><span class="lineno"><a class="line" href="a00384.html#a4b8cffd1d943c29fdc102b841b8598d4">  304</a></span>&#160;  <span class="keywordtype">void</span> * <a class="code" href="a00384.html#a4b8cffd1d943c29fdc102b841b8598d4">data</a>;</div>
<div class="line"><a name="l00305"></a><span class="lineno">  305</span>&#160;};</div>
<div class="line"><a name="l00306"></a><span class="lineno">  306</span>&#160; </div>
<div class="line"><a name="l00317"></a><span class="lineno"><a class="line" href="a00236.html#gab527c1e0f243f057d31a724794ad9f88">  317</a></span>&#160;HWLOC_DECLSPEC <span class="keywordtype">int</span> <a class="code" href="a00236.html#gab527c1e0f243f057d31a724794ad9f88">hwloc_hide_errors</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00318"></a><span class="lineno">  318</span>&#160; </div>
<div class="line"><a name="l00347"></a><span class="lineno">  347</span>&#160;HWLOC_DECLSPEC <a class="code" href="a00244.html">hwloc_obj_t</a></div>
<div class="line"><a name="l00348"></a><span class="lineno"><a class="line" href="a00236.html#ga1e105cfe3c8e77f34cc6df3841deebbc">  348</a></span>&#160;<a class="code" href="a00236.html#ga1e105cfe3c8e77f34cc6df3841deebbc">hwloc__insert_object_by_cpuset</a>(<span class="keyword">struct</span> hwloc_topology *topology, <a class="code" href="a00244.html">hwloc_obj_t</a> root,</div>
<div class="line"><a name="l00349"></a><span class="lineno">  349</span>&#160;                               <a class="code" href="a00244.html">hwloc_obj_t</a> obj, <span class="keyword">const</span> <span class="keywordtype">char</span> *reason);</div>
<div class="line"><a name="l00350"></a><span class="lineno">  350</span>&#160; </div>
<div class="line"><a name="l00367"></a><span class="lineno"><a class="line" href="a00236.html#ga0ef97debde503b56367689b07bb3e901">  367</a></span>&#160;HWLOC_DECLSPEC <span class="keywordtype">void</span> <a class="code" href="a00236.html#ga0ef97debde503b56367689b07bb3e901">hwloc_insert_object_by_parent</a>(<span class="keyword">struct</span> hwloc_topology *topology, <a class="code" href="a00244.html">hwloc_obj_t</a> parent, <a class="code" href="a00244.html">hwloc_obj_t</a> obj);</div>
<div class="line"><a name="l00368"></a><span class="lineno">  368</span>&#160; </div>
<div class="line"><a name="l00373"></a><span class="lineno"><a class="line" href="a00236.html#ga0b5c75b2dc37cea2e8a29c4812baf4b3">  373</a></span>&#160;HWLOC_DECLSPEC <a class="code" href="a00244.html">hwloc_obj_t</a> <a class="code" href="a00236.html#ga0b5c75b2dc37cea2e8a29c4812baf4b3">hwloc_alloc_setup_object</a>(<a class="code" href="a00192.html#ga9d1e76ee15a7dee158b786c30b6a6e38">hwloc_topology_t</a> topology, <a class="code" href="a00190.html#gacd37bb612667dc437d66bfb175a8dc55">hwloc_obj_type_t</a> type, <span class="keywordtype">unsigned</span> os_index);</div>
<div class="line"><a name="l00374"></a><span class="lineno">  374</span>&#160; </div>
<div class="line"><a name="l00383"></a><span class="lineno"><a class="line" href="a00236.html#ga754b61041ceee9685534a2c5d3cd0156">  383</a></span>&#160;HWLOC_DECLSPEC <span class="keywordtype">int</span> <a class="code" href="a00236.html#ga754b61041ceee9685534a2c5d3cd0156">hwloc_obj_add_children_sets</a>(<a class="code" href="a00244.html">hwloc_obj_t</a> obj);</div>
<div class="line"><a name="l00384"></a><span class="lineno">  384</span>&#160; </div>
<div class="line"><a name="l00392"></a><span class="lineno"><a class="line" href="a00236.html#ga120d8bd74922e1030b621409a6b0be61">  392</a></span>&#160;HWLOC_DECLSPEC <span class="keywordtype">int</span> <a class="code" href="a00236.html#ga120d8bd74922e1030b621409a6b0be61">hwloc_topology_reconnect</a>(<a class="code" href="a00192.html#ga9d1e76ee15a7dee158b786c30b6a6e38">hwloc_topology_t</a> topology, <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> flags __hwloc_attribute_unused);</div>
<div class="line"><a name="l00393"></a><span class="lineno">  393</span>&#160; </div>
<div class="line"><a name="l00415"></a><span class="lineno">  415</span>&#160;<span class="keyword">static</span> __hwloc_inline <span class="keywordtype">int</span></div>
<div class="line"><a name="l00416"></a><span class="lineno"><a class="line" href="a00236.html#gac2eaed287bb215cf0bd33014e9e1d374">  416</a></span>&#160;<a class="code" href="a00236.html#gac2eaed287bb215cf0bd33014e9e1d374">hwloc_plugin_check_namespace</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *pluginname __hwloc_attribute_unused, <span class="keyword">const</span> <span class="keywordtype">char</span> *symbol __hwloc_attribute_unused)</div>
<div class="line"><a name="l00417"></a><span class="lineno">  417</span>&#160;{</div>
<div class="line"><a name="l00418"></a><span class="lineno">  418</span>&#160;<span class="preprocessor">#ifdef HWLOC_INSIDE_PLUGIN</span></div>
<div class="line"><a name="l00419"></a><span class="lineno">  419</span>&#160;  <span class="keywordtype">void</span> *sym;</div>
<div class="line"><a name="l00420"></a><span class="lineno">  420</span>&#160;<span class="preprocessor">#ifdef HWLOC_HAVE_LTDL</span></div>
<div class="line"><a name="l00421"></a><span class="lineno">  421</span>&#160;  lt_dlhandle handle = lt_dlopen(NULL);</div>
<div class="line"><a name="l00422"></a><span class="lineno">  422</span>&#160;<span class="preprocessor">#else</span></div>
<div class="line"><a name="l00423"></a><span class="lineno">  423</span>&#160;  <span class="keywordtype">void</span> *handle = dlopen(NULL, RTLD_NOW|RTLD_LOCAL);</div>
<div class="line"><a name="l00424"></a><span class="lineno">  424</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00425"></a><span class="lineno">  425</span>&#160;  <span class="keywordflow">if</span> (!handle)</div>
<div class="line"><a name="l00426"></a><span class="lineno">  426</span>&#160;    <span class="comment">/* cannot check, assume things will work */</span></div>
<div class="line"><a name="l00427"></a><span class="lineno">  427</span>&#160;    <span class="keywordflow">return</span> 0;</div>
<div class="line"><a name="l00428"></a><span class="lineno">  428</span>&#160;<span class="preprocessor">#ifdef HWLOC_HAVE_LTDL</span></div>
<div class="line"><a name="l00429"></a><span class="lineno">  429</span>&#160;  sym = lt_dlsym(handle, symbol);</div>
<div class="line"><a name="l00430"></a><span class="lineno">  430</span>&#160;  lt_dlclose(handle);</div>
<div class="line"><a name="l00431"></a><span class="lineno">  431</span>&#160;<span class="preprocessor">#else</span></div>
<div class="line"><a name="l00432"></a><span class="lineno">  432</span>&#160;  sym = dlsym(handle, symbol);</div>
<div class="line"><a name="l00433"></a><span class="lineno">  433</span>&#160;  dlclose(handle);</div>
<div class="line"><a name="l00434"></a><span class="lineno">  434</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00435"></a><span class="lineno">  435</span>&#160;  <span class="keywordflow">if</span> (!sym) {</div>
<div class="line"><a name="l00436"></a><span class="lineno">  436</span>&#160;    <span class="keyword">static</span> <span class="keywordtype">int</span> verboseenv_checked = 0;</div>
<div class="line"><a name="l00437"></a><span class="lineno">  437</span>&#160;    <span class="keyword">static</span> <span class="keywordtype">int</span> verboseenv_value = 0;</div>
<div class="line"><a name="l00438"></a><span class="lineno">  438</span>&#160;    <span class="keywordflow">if</span> (!verboseenv_checked) {</div>
<div class="line"><a name="l00439"></a><span class="lineno">  439</span>&#160;      <span class="keyword">const</span> <span class="keywordtype">char</span> *verboseenv = getenv(<span class="stringliteral">&quot;HWLOC_PLUGINS_VERBOSE&quot;</span>);</div>
<div class="line"><a name="l00440"></a><span class="lineno">  440</span>&#160;      verboseenv_value = verboseenv ? atoi(verboseenv) : 0;</div>
<div class="line"><a name="l00441"></a><span class="lineno">  441</span>&#160;      verboseenv_checked = 1;</div>
<div class="line"><a name="l00442"></a><span class="lineno">  442</span>&#160;    }</div>
<div class="line"><a name="l00443"></a><span class="lineno">  443</span>&#160;    <span class="keywordflow">if</span> (verboseenv_value)</div>
<div class="line"><a name="l00444"></a><span class="lineno">  444</span>&#160;      fprintf(stderr, <span class="stringliteral">&quot;Plugin `%s&#39; disabling itself because it cannot find the `%s&#39; core symbol.\n&quot;</span>,</div>
<div class="line"><a name="l00445"></a><span class="lineno">  445</span>&#160;              pluginname, symbol);</div>
<div class="line"><a name="l00446"></a><span class="lineno">  446</span>&#160;    <span class="keywordflow">return</span> -1;</div>
<div class="line"><a name="l00447"></a><span class="lineno">  447</span>&#160;  }</div>
<div class="line"><a name="l00448"></a><span class="lineno">  448</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* HWLOC_INSIDE_PLUGIN */</span><span class="preprocessor"></span></div>
<div class="line"><a name="l00449"></a><span class="lineno">  449</span>&#160;  <span class="keywordflow">return</span> 0;</div>
<div class="line"><a name="l00450"></a><span class="lineno">  450</span>&#160;}</div>
<div class="line"><a name="l00451"></a><span class="lineno">  451</span>&#160; </div>
<div class="line"><a name="l00465"></a><span class="lineno">  465</span>&#160;<span class="keyword">static</span> __hwloc_inline <span class="keywordtype">int</span></div>
<div class="line"><a name="l00466"></a><span class="lineno"><a class="line" href="a00237.html#ga60203db6459ebf275bf48c40a37661a0">  466</a></span>&#160;<a class="code" href="a00237.html#ga60203db6459ebf275bf48c40a37661a0">hwloc_filter_check_pcidev_subtype_important</a>(<span class="keywordtype">unsigned</span> classid)</div>
<div class="line"><a name="l00467"></a><span class="lineno">  467</span>&#160;{</div>
<div class="line"><a name="l00468"></a><span class="lineno">  468</span>&#160;  <span class="keywordtype">unsigned</span> baseclass = classid &gt;&gt; 8;</div>
<div class="line"><a name="l00469"></a><span class="lineno">  469</span>&#160;  <span class="keywordflow">return</span> (baseclass == 0x03 <span class="comment">/* PCI_BASE_CLASS_DISPLAY */</span></div>
<div class="line"><a name="l00470"></a><span class="lineno">  470</span>&#160;          || baseclass == 0x02 <span class="comment">/* PCI_BASE_CLASS_NETWORK */</span></div>
<div class="line"><a name="l00471"></a><span class="lineno">  471</span>&#160;          || baseclass == 0x01 <span class="comment">/* PCI_BASE_CLASS_STORAGE */</span></div>
<div class="line"><a name="l00472"></a><span class="lineno">  472</span>&#160;          || baseclass == 0x0b <span class="comment">/* PCI_BASE_CLASS_PROCESSOR */</span></div>
<div class="line"><a name="l00473"></a><span class="lineno">  473</span>&#160;          || classid == 0x0c04 <span class="comment">/* PCI_CLASS_SERIAL_FIBER */</span></div>
<div class="line"><a name="l00474"></a><span class="lineno">  474</span>&#160;          || classid == 0x0c06 <span class="comment">/* PCI_CLASS_SERIAL_INFINIBAND */</span></div>
<div class="line"><a name="l00475"></a><span class="lineno">  475</span>&#160;          || baseclass == 0x12 <span class="comment">/* Processing Accelerators */</span>);</div>
<div class="line"><a name="l00476"></a><span class="lineno">  476</span>&#160;}</div>
<div class="line"><a name="l00477"></a><span class="lineno">  477</span>&#160; </div>
<div class="line"><a name="l00482"></a><span class="lineno">  482</span>&#160;<span class="keyword">static</span> __hwloc_inline <span class="keywordtype">int</span></div>
<div class="line"><a name="l00483"></a><span class="lineno"><a class="line" href="a00237.html#gac7d57a6d669820f360cf2a070a396560">  483</a></span>&#160;<a class="code" href="a00237.html#gac7d57a6d669820f360cf2a070a396560">hwloc_filter_check_osdev_subtype_important</a>(<a class="code" href="a00190.html#gaa9a6941ef7b1c169412518d7ef71b3d2">hwloc_obj_osdev_type_t</a> subtype)</div>
<div class="line"><a name="l00484"></a><span class="lineno">  484</span>&#160;{</div>
<div class="line"><a name="l00485"></a><span class="lineno">  485</span>&#160;  <span class="keywordflow">return</span> (subtype != <a class="code" href="a00190.html#gga64f5d539df299c97ae80ce53fc4b56c0a827ad1643360711a8b6c6af671366791">HWLOC_OBJ_OSDEV_DMA</a>);</div>
<div class="line"><a name="l00486"></a><span class="lineno">  486</span>&#160;}</div>
<div class="line"><a name="l00487"></a><span class="lineno">  487</span>&#160; </div>
<div class="line"><a name="l00494"></a><span class="lineno">  494</span>&#160;<span class="keyword">static</span> __hwloc_inline <span class="keywordtype">int</span></div>
<div class="line"><a name="l00495"></a><span class="lineno"><a class="line" href="a00237.html#ga2f402a43025a8a91e8513be1a15e4635">  495</a></span>&#160;<a class="code" href="a00237.html#ga2f402a43025a8a91e8513be1a15e4635">hwloc_filter_check_keep_object_type</a>(<a class="code" href="a00192.html#ga9d1e76ee15a7dee158b786c30b6a6e38">hwloc_topology_t</a> topology, <a class="code" href="a00190.html#gacd37bb612667dc437d66bfb175a8dc55">hwloc_obj_type_t</a> type)</div>
<div class="line"><a name="l00496"></a><span class="lineno">  496</span>&#160;{</div>
<div class="line"><a name="l00497"></a><span class="lineno">  497</span>&#160;  <span class="keyword">enum</span> <a class="code" href="a00199.html#ga9a5a1f0140cd1952544477833733195b">hwloc_type_filter_e</a> filter = <a class="code" href="a00199.html#gga9a5a1f0140cd1952544477833733195ba4f835955414de92c77d99b8419d4647a">HWLOC_TYPE_FILTER_KEEP_NONE</a>;</div>
<div class="line"><a name="l00498"></a><span class="lineno">  498</span>&#160;  <a class="code" href="a00199.html#ga137ad1178f7a79f2383974d983083401">hwloc_topology_get_type_filter</a>(topology, type, &amp;filter);</div>
<div class="line"><a name="l00499"></a><span class="lineno">  499</span>&#160;  assert(filter != <a class="code" href="a00199.html#gga9a5a1f0140cd1952544477833733195ba63fd24954e18c83ff7eae9588759adb5">HWLOC_TYPE_FILTER_KEEP_IMPORTANT</a>); <span class="comment">/* IMPORTANT only used for I/O */</span></div>
<div class="line"><a name="l00500"></a><span class="lineno">  500</span>&#160;  <span class="keywordflow">return</span> filter == <a class="code" href="a00199.html#gga9a5a1f0140cd1952544477833733195ba4f835955414de92c77d99b8419d4647a">HWLOC_TYPE_FILTER_KEEP_NONE</a> ? 0 : 1;</div>
<div class="line"><a name="l00501"></a><span class="lineno">  501</span>&#160;}</div>
<div class="line"><a name="l00502"></a><span class="lineno">  502</span>&#160; </div>
<div class="line"><a name="l00507"></a><span class="lineno">  507</span>&#160;<span class="keyword">static</span> __hwloc_inline <span class="keywordtype">int</span></div>
<div class="line"><a name="l00508"></a><span class="lineno"><a class="line" href="a00237.html#ga4d2fdce071e5646ef147c9ff1539d1c9">  508</a></span>&#160;<a class="code" href="a00237.html#ga4d2fdce071e5646ef147c9ff1539d1c9">hwloc_filter_check_keep_object</a>(<a class="code" href="a00192.html#ga9d1e76ee15a7dee158b786c30b6a6e38">hwloc_topology_t</a> topology, <a class="code" href="a00244.html">hwloc_obj_t</a> obj)</div>
<div class="line"><a name="l00509"></a><span class="lineno">  509</span>&#160;{</div>
<div class="line"><a name="l00510"></a><span class="lineno">  510</span>&#160;  <a class="code" href="a00190.html#gacd37bb612667dc437d66bfb175a8dc55">hwloc_obj_type_t</a> type = obj-&gt;<a class="code" href="a00244.html#acc4f0803f244867e68fe0036800be5de">type</a>;</div>
<div class="line"><a name="l00511"></a><span class="lineno">  511</span>&#160;  <span class="keyword">enum</span> <a class="code" href="a00199.html#ga9a5a1f0140cd1952544477833733195b">hwloc_type_filter_e</a> filter = <a class="code" href="a00199.html#gga9a5a1f0140cd1952544477833733195ba4f835955414de92c77d99b8419d4647a">HWLOC_TYPE_FILTER_KEEP_NONE</a>;</div>
<div class="line"><a name="l00512"></a><span class="lineno">  512</span>&#160;  <a class="code" href="a00199.html#ga137ad1178f7a79f2383974d983083401">hwloc_topology_get_type_filter</a>(topology, type, &amp;filter);</div>
<div class="line"><a name="l00513"></a><span class="lineno">  513</span>&#160;  <span class="keywordflow">if</span> (filter == <a class="code" href="a00199.html#gga9a5a1f0140cd1952544477833733195ba4f835955414de92c77d99b8419d4647a">HWLOC_TYPE_FILTER_KEEP_NONE</a>)</div>
<div class="line"><a name="l00514"></a><span class="lineno">  514</span>&#160;    <span class="keywordflow">return</span> 0;</div>
<div class="line"><a name="l00515"></a><span class="lineno">  515</span>&#160;  <span class="keywordflow">if</span> (filter == <a class="code" href="a00199.html#gga9a5a1f0140cd1952544477833733195ba63fd24954e18c83ff7eae9588759adb5">HWLOC_TYPE_FILTER_KEEP_IMPORTANT</a>) {</div>
<div class="line"><a name="l00516"></a><span class="lineno">  516</span>&#160;    <span class="keywordflow">if</span> (type == <a class="code" href="a00190.html#ggacd37bb612667dc437d66bfb175a8dc55a5d8117a54df1fbd3606ab19e42cb0ea9">HWLOC_OBJ_PCI_DEVICE</a>)</div>
<div class="line"><a name="l00517"></a><span class="lineno">  517</span>&#160;      <span class="keywordflow">return</span> <a class="code" href="a00237.html#ga60203db6459ebf275bf48c40a37661a0">hwloc_filter_check_pcidev_subtype_important</a>(obj-&gt;<a class="code" href="a00244.html#accd40e29f71f19e88db62ea3df02adc8">attr</a>-&gt;<a class="code" href="a00248.html#a0b66da7ab072f7c016f8ed86701f5a7c">pcidev</a>.<a class="code" href="a00268.html#aee735352d9f1686fd290fc6d6397c334">class_id</a>);</div>
<div class="line"><a name="l00518"></a><span class="lineno">  518</span>&#160;    <span class="keywordflow">if</span> (type == <a class="code" href="a00190.html#ggacd37bb612667dc437d66bfb175a8dc55a51e7280240fd9f25589cbbe538bdb075">HWLOC_OBJ_OS_DEVICE</a>)</div>
<div class="line"><a name="l00519"></a><span class="lineno">  519</span>&#160;      <span class="keywordflow">return</span> <a class="code" href="a00237.html#gac7d57a6d669820f360cf2a070a396560">hwloc_filter_check_osdev_subtype_important</a>(obj-&gt;<a class="code" href="a00244.html#accd40e29f71f19e88db62ea3df02adc8">attr</a>-&gt;<a class="code" href="a00248.html#aaf7a5c38b5185703ff18c46ad2761dcf">osdev</a>.<a class="code" href="a00288.html#a31e019e27e54ac6138d04be639bb96f9">type</a>);</div>
<div class="line"><a name="l00520"></a><span class="lineno">  520</span>&#160;  }</div>
<div class="line"><a name="l00521"></a><span class="lineno">  521</span>&#160;  <span class="keywordflow">return</span> 1;</div>
<div class="line"><a name="l00522"></a><span class="lineno">  522</span>&#160;}</div>
<div class="line"><a name="l00523"></a><span class="lineno">  523</span>&#160; </div>
<div class="line"><a name="l00537"></a><span class="lineno"><a class="line" href="a00238.html#ga706f71cfea09d547d2cbafa642d6e03b">  537</a></span>&#160;HWLOC_DECLSPEC <span class="keywordtype">unsigned</span> <a class="code" href="a00238.html#ga706f71cfea09d547d2cbafa642d6e03b">hwloc_pcidisc_find_cap</a>(<span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *config, <span class="keywordtype">unsigned</span> cap);</div>
<div class="line"><a name="l00538"></a><span class="lineno">  538</span>&#160; </div>
<div class="line"><a name="l00544"></a><span class="lineno"><a class="line" href="a00238.html#ga51d1ebcbf9729987c9d17df3aa57d209">  544</a></span>&#160;HWLOC_DECLSPEC <span class="keywordtype">int</span> <a class="code" href="a00238.html#ga51d1ebcbf9729987c9d17df3aa57d209">hwloc_pcidisc_find_linkspeed</a>(<span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *config, <span class="keywordtype">unsigned</span> offset, <span class="keywordtype">float</span> *linkspeed);</div>
<div class="line"><a name="l00545"></a><span class="lineno">  545</span>&#160; </div>
<div class="line"><a name="l00550"></a><span class="lineno"><a class="line" href="a00238.html#ga6c55fb80c3d0c8c8e61078b3f38adde8">  550</a></span>&#160;HWLOC_DECLSPEC <a class="code" href="a00190.html#gacd37bb612667dc437d66bfb175a8dc55">hwloc_obj_type_t</a> <a class="code" href="a00238.html#ga6c55fb80c3d0c8c8e61078b3f38adde8">hwloc_pcidisc_check_bridge_type</a>(<span class="keywordtype">unsigned</span> device_class, <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *config);</div>
<div class="line"><a name="l00551"></a><span class="lineno">  551</span>&#160; </div>
<div class="line"><a name="l00558"></a><span class="lineno"><a class="line" href="a00238.html#ga95acf6822a49447c11067d0b843965ba">  558</a></span>&#160;HWLOC_DECLSPEC <span class="keywordtype">int</span> <a class="code" href="a00238.html#ga95acf6822a49447c11067d0b843965ba">hwloc_pcidisc_find_bridge_buses</a>(<span class="keywordtype">unsigned</span> domain, <span class="keywordtype">unsigned</span> bus, <span class="keywordtype">unsigned</span> dev, <span class="keywordtype">unsigned</span> func,</div>
<div class="line"><a name="l00559"></a><span class="lineno">  559</span>&#160;                                                   <span class="keywordtype">unsigned</span> *secondary_busp, <span class="keywordtype">unsigned</span> *subordinate_busp,</div>
<div class="line"><a name="l00560"></a><span class="lineno">  560</span>&#160;                                                   <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *config);</div>
<div class="line"><a name="l00561"></a><span class="lineno">  561</span>&#160; </div>
<div class="line"><a name="l00566"></a><span class="lineno"><a class="line" href="a00238.html#gab76ddc4f55db8101ef0d44317965128c">  566</a></span>&#160;HWLOC_DECLSPEC <span class="keywordtype">void</span> <a class="code" href="a00238.html#gab76ddc4f55db8101ef0d44317965128c">hwloc_pcidisc_tree_insert_by_busid</a>(<span class="keyword">struct</span> <a class="code" href="a00244.html">hwloc_obj</a> **treep, <span class="keyword">struct</span> <a class="code" href="a00244.html">hwloc_obj</a> *obj);</div>
<div class="line"><a name="l00567"></a><span class="lineno">  567</span>&#160; </div>
<div class="line"><a name="l00573"></a><span class="lineno"><a class="line" href="a00238.html#gabda1d6c1799e50b9226f8a4da9bd29ea">  573</a></span>&#160;HWLOC_DECLSPEC <span class="keywordtype">int</span> <a class="code" href="a00238.html#gabda1d6c1799e50b9226f8a4da9bd29ea">hwloc_pcidisc_tree_attach</a>(<span class="keyword">struct</span> hwloc_topology *topology, <span class="keyword">struct</span> <a class="code" href="a00244.html">hwloc_obj</a> *tree);</div>
<div class="line"><a name="l00574"></a><span class="lineno">  574</span>&#160; </div>
<div class="line"><a name="l00591"></a><span class="lineno"><a class="line" href="a00239.html#ga7964833550947636ab8975909de3fa98">  591</a></span>&#160;HWLOC_DECLSPEC <span class="keyword">struct </span><a class="code" href="a00244.html">hwloc_obj</a> * <a class="code" href="a00239.html#ga7964833550947636ab8975909de3fa98">hwloc_pci_find_parent_by_busid</a>(<span class="keyword">struct</span> hwloc_topology *topology, <span class="keywordtype">unsigned</span> domain, <span class="keywordtype">unsigned</span> bus, <span class="keywordtype">unsigned</span> dev, <span class="keywordtype">unsigned</span> func);</div>
<div class="line"><a name="l00592"></a><span class="lineno">  592</span>&#160; </div>
<div class="line"><a name="l00598"></a><span class="lineno">  598</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* HWLOC_PLUGINS_H */</span><span class="preprocessor"></span></div>
<div class="ttc" id="aa00190_html_gaa9a6941ef7b1c169412518d7ef71b3d2"><div class="ttname"><a href="a00190.html#gaa9a6941ef7b1c169412518d7ef71b3d2">hwloc_obj_osdev_type_t</a></div><div class="ttdeci">enum hwloc_obj_osdev_type_e hwloc_obj_osdev_type_t</div><div class="ttdoc">Type of a OS device.</div></div>
<div class="ttc" id="aa00190_html_gacd37bb612667dc437d66bfb175a8dc55"><div class="ttname"><a href="a00190.html#gacd37bb612667dc437d66bfb175a8dc55">hwloc_obj_type_t</a></div><div class="ttdeci">hwloc_obj_type_t</div><div class="ttdoc">Type of topology object.</div><div class="ttdef"><b>Definition:</b> hwloc.h:176</div></div>
<div class="ttc" id="aa00190_html_gga64f5d539df299c97ae80ce53fc4b56c0a827ad1643360711a8b6c6af671366791"><div class="ttname"><a href="a00190.html#gga64f5d539df299c97ae80ce53fc4b56c0a827ad1643360711a8b6c6af671366791">HWLOC_OBJ_OSDEV_DMA</a></div><div class="ttdeci">@ HWLOC_OBJ_OSDEV_DMA</div><div class="ttdoc">Operating system dma engine device. For instance the &quot;dma0chan0&quot; DMA channel on Linux.</div><div class="ttdef"><b>Definition:</b> hwloc.h:350</div></div>
<div class="ttc" id="aa00190_html_ggacd37bb612667dc437d66bfb175a8dc55a51e7280240fd9f25589cbbe538bdb075"><div class="ttname"><a href="a00190.html#ggacd37bb612667dc437d66bfb175a8dc55a51e7280240fd9f25589cbbe538bdb075">HWLOC_OBJ_OS_DEVICE</a></div><div class="ttdeci">@ HWLOC_OBJ_OS_DEVICE</div><div class="ttdoc">Operating system device (filtered out by default).</div><div class="ttdef"><b>Definition:</b> hwloc.h:279</div></div>
<div class="ttc" id="aa00190_html_ggacd37bb612667dc437d66bfb175a8dc55a5d8117a54df1fbd3606ab19e42cb0ea9"><div class="ttname"><a href="a00190.html#ggacd37bb612667dc437d66bfb175a8dc55a5d8117a54df1fbd3606ab19e42cb0ea9">HWLOC_OBJ_PCI_DEVICE</a></div><div class="ttdeci">@ HWLOC_OBJ_PCI_DEVICE</div><div class="ttdoc">PCI device (filtered out by default).</div><div class="ttdef"><b>Definition:</b> hwloc.h:269</div></div>
<div class="ttc" id="aa00192_html_ga9d1e76ee15a7dee158b786c30b6a6e38"><div class="ttname"><a href="a00192.html#ga9d1e76ee15a7dee158b786c30b6a6e38">hwloc_topology_t</a></div><div class="ttdeci">struct hwloc_topology * hwloc_topology_t</div><div class="ttdoc">Topology context.</div><div class="ttdef"><b>Definition:</b> hwloc.h:691</div></div>
<div class="ttc" id="aa00199_html_ga137ad1178f7a79f2383974d983083401"><div class="ttname"><a href="a00199.html#ga137ad1178f7a79f2383974d983083401">hwloc_topology_get_type_filter</a></div><div class="ttdeci">int hwloc_topology_get_type_filter(hwloc_topology_t topology, hwloc_obj_type_t type, enum hwloc_type_filter_e *filter)</div><div class="ttdoc">Get the current filtering for the given object type.</div></div>
<div class="ttc" id="aa00199_html_ga9a5a1f0140cd1952544477833733195b"><div class="ttname"><a href="a00199.html#ga9a5a1f0140cd1952544477833733195b">hwloc_type_filter_e</a></div><div class="ttdeci">hwloc_type_filter_e</div><div class="ttdoc">Type filtering flags.</div><div class="ttdef"><b>Definition:</b> hwloc.h:2136</div></div>
<div class="ttc" id="aa00199_html_gga9a5a1f0140cd1952544477833733195ba4f835955414de92c77d99b8419d4647a"><div class="ttname"><a href="a00199.html#gga9a5a1f0140cd1952544477833733195ba4f835955414de92c77d99b8419d4647a">HWLOC_TYPE_FILTER_KEEP_NONE</a></div><div class="ttdeci">@ HWLOC_TYPE_FILTER_KEEP_NONE</div><div class="ttdoc">Ignore all objects of this type.</div><div class="ttdef"><b>Definition:</b> hwloc.h:2150</div></div>
<div class="ttc" id="aa00199_html_gga9a5a1f0140cd1952544477833733195ba63fd24954e18c83ff7eae9588759adb5"><div class="ttname"><a href="a00199.html#gga9a5a1f0140cd1952544477833733195ba63fd24954e18c83ff7eae9588759adb5">HWLOC_TYPE_FILTER_KEEP_IMPORTANT</a></div><div class="ttdeci">@ HWLOC_TYPE_FILTER_KEEP_IMPORTANT</div><div class="ttdoc">Only keep likely-important objects of the given type.</div><div class="ttdef"><b>Definition:</b> hwloc.h:2179</div></div>
<div class="ttc" id="aa00211_html_gaa3c2bf4c776d603dcebbb61b0c923d84"><div class="ttname"><a href="a00211.html#gaa3c2bf4c776d603dcebbb61b0c923d84">hwloc_bitmap_t</a></div><div class="ttdeci">struct hwloc_bitmap_s * hwloc_bitmap_t</div><div class="ttdoc">Set of bits represented as an opaque pointer to an internal bitmap.</div><div class="ttdef"><b>Definition:</b> bitmap.h:68</div></div>
<div class="ttc" id="aa00234_html_ga4715779d7191833e9b1a7490989a7497"><div class="ttname"><a href="a00234.html#ga4715779d7191833e9b1a7490989a7497">hwloc_backend_enable</a></div><div class="ttdeci">int hwloc_backend_enable(struct hwloc_backend *backend)</div><div class="ttdoc">Enable a previously allocated and setup backend.</div></div>
<div class="ttc" id="aa00234_html_ga600bba1a62022d5f516800649b1edb61"><div class="ttname"><a href="a00234.html#ga600bba1a62022d5f516800649b1edb61">hwloc_disc_phase_t</a></div><div class="ttdeci">enum hwloc_disc_phase_e hwloc_disc_phase_t</div><div class="ttdoc">Discovery phase.</div></div>
<div class="ttc" id="aa00234_html_ga8c314121c2fc478161bcce758688b9a1"><div class="ttname"><a href="a00234.html#ga8c314121c2fc478161bcce758688b9a1">hwloc_disc_phase_e</a></div><div class="ttdeci">hwloc_disc_phase_e</div><div class="ttdoc">Discovery phase.</div><div class="ttdef"><b>Definition:</b> plugins.h:100</div></div>
<div class="ttc" id="aa00234_html_gaae1b38cf9b12e489884ce2a07275964b"><div class="ttname"><a href="a00234.html#gaae1b38cf9b12e489884ce2a07275964b">hwloc_disc_status_flag_e</a></div><div class="ttdeci">hwloc_disc_status_flag_e</div><div class="ttdoc">Discovery status flags.</div><div class="ttdef"><b>Definition:</b> plugins.h:140</div></div>
<div class="ttc" id="aa00234_html_gadb068565ab6043cbe4d16bfcce067a61"><div class="ttname"><a href="a00234.html#gadb068565ab6043cbe4d16bfcce067a61">hwloc_backend_alloc</a></div><div class="ttdeci">struct hwloc_backend * hwloc_backend_alloc(struct hwloc_topology *topology, struct hwloc_disc_component *component)</div><div class="ttdoc">Allocate a backend structure, set good default values, initialize backend-&gt;component and topology,...</div></div>
<div class="ttc" id="aa00234_html_gga8c314121c2fc478161bcce758688b9a1a6360474df197027761a69bd5fc620250"><div class="ttname"><a href="a00234.html#gga8c314121c2fc478161bcce758688b9a1a6360474df197027761a69bd5fc620250">HWLOC_DISC_PHASE_CPU</a></div><div class="ttdeci">@ HWLOC_DISC_PHASE_CPU</div><div class="ttdoc">CPU discovery.</div><div class="ttdef"><b>Definition:</b> plugins.h:109</div></div>
<div class="ttc" id="aa00234_html_gga8c314121c2fc478161bcce758688b9a1a677c52064dd987af4988346319b3675a"><div class="ttname"><a href="a00234.html#gga8c314121c2fc478161bcce758688b9a1a677c52064dd987af4988346319b3675a">HWLOC_DISC_PHASE_PCI</a></div><div class="ttdeci">@ HWLOC_DISC_PHASE_PCI</div><div class="ttdoc">Attach PCI devices and bridges to existing CPU objects.</div><div class="ttdef"><b>Definition:</b> plugins.h:117</div></div>
<div class="ttc" id="aa00234_html_gga8c314121c2fc478161bcce758688b9a1a68ca5c7ad75a6d9e5355689411621773"><div class="ttname"><a href="a00234.html#gga8c314121c2fc478161bcce758688b9a1a68ca5c7ad75a6d9e5355689411621773">HWLOC_DISC_PHASE_ANNOTATE</a></div><div class="ttdeci">@ HWLOC_DISC_PHASE_ANNOTATE</div><div class="ttdoc">Annotating existing objects, adding distances, etc.</div><div class="ttdef"><b>Definition:</b> plugins.h:129</div></div>
<div class="ttc" id="aa00234_html_gga8c314121c2fc478161bcce758688b9a1a8a7cde9bff0ab0d085b102a3e934939b"><div class="ttname"><a href="a00234.html#gga8c314121c2fc478161bcce758688b9a1a8a7cde9bff0ab0d085b102a3e934939b">HWLOC_DISC_PHASE_MISC</a></div><div class="ttdeci">@ HWLOC_DISC_PHASE_MISC</div><div class="ttdoc">Misc objects that gets added below anything else.</div><div class="ttdef"><b>Definition:</b> plugins.h:125</div></div>
<div class="ttc" id="aa00234_html_gga8c314121c2fc478161bcce758688b9a1aa8e10626cba9af72f5605a1acbdc0015"><div class="ttname"><a href="a00234.html#gga8c314121c2fc478161bcce758688b9a1aa8e10626cba9af72f5605a1acbdc0015">HWLOC_DISC_PHASE_IO</a></div><div class="ttdeci">@ HWLOC_DISC_PHASE_IO</div><div class="ttdoc">I/O discovery that requires PCI devices (OS devices such as OpenCL, CUDA, etc.).</div><div class="ttdef"><b>Definition:</b> plugins.h:121</div></div>
<div class="ttc" id="aa00234_html_gga8c314121c2fc478161bcce758688b9a1ab41c626c79e9ccb1e7d41e7076972283"><div class="ttname"><a href="a00234.html#gga8c314121c2fc478161bcce758688b9a1ab41c626c79e9ccb1e7d41e7076972283">HWLOC_DISC_PHASE_GLOBAL</a></div><div class="ttdeci">@ HWLOC_DISC_PHASE_GLOBAL</div><div class="ttdoc">xml or synthetic, platform-specific components such as bgq. Discovers everything including CPU,...</div><div class="ttdef"><b>Definition:</b> plugins.h:105</div></div>
<div class="ttc" id="aa00234_html_gga8c314121c2fc478161bcce758688b9a1ac4264a243844c5fbbff495cdb1b4d51d"><div class="ttname"><a href="a00234.html#gga8c314121c2fc478161bcce758688b9a1ac4264a243844c5fbbff495cdb1b4d51d">HWLOC_DISC_PHASE_MEMORY</a></div><div class="ttdeci">@ HWLOC_DISC_PHASE_MEMORY</div><div class="ttdoc">Attach memory to existing CPU objects.</div><div class="ttdef"><b>Definition:</b> plugins.h:113</div></div>
<div class="ttc" id="aa00234_html_gga8c314121c2fc478161bcce758688b9a1ada3ed3f00e74909353d6ea4a96cde5ad"><div class="ttname"><a href="a00234.html#gga8c314121c2fc478161bcce758688b9a1ada3ed3f00e74909353d6ea4a96cde5ad">HWLOC_DISC_PHASE_TWEAK</a></div><div class="ttdeci">@ HWLOC_DISC_PHASE_TWEAK</div><div class="ttdoc">Final tweaks to a ready-to-use topology. This phase runs once the topology is loaded,...</div><div class="ttdef"><b>Definition:</b> plugins.h:136</div></div>
<div class="ttc" id="aa00234_html_ggaae1b38cf9b12e489884ce2a07275964ba205d644d54a0840bd9165fce7d19e6b1"><div class="ttname"><a href="a00234.html#ggaae1b38cf9b12e489884ce2a07275964ba205d644d54a0840bd9165fce7d19e6b1">HWLOC_DISC_STATUS_FLAG_GOT_ALLOWED_RESOURCES</a></div><div class="ttdeci">@ HWLOC_DISC_STATUS_FLAG_GOT_ALLOWED_RESOURCES</div><div class="ttdoc">The sets of allowed resources were already retrieved.</div><div class="ttdef"><b>Definition:</b> plugins.h:142</div></div>
<div class="ttc" id="aa00235_html_ga31a5a455f4e666b936f0a9e8fb9a0f47"><div class="ttname"><a href="a00235.html#ga31a5a455f4e666b936f0a9e8fb9a0f47">hwloc_component_type_t</a></div><div class="ttdeci">enum hwloc_component_type_e hwloc_component_type_t</div><div class="ttdoc">Generic component type.</div></div>
<div class="ttc" id="aa00235_html_ga397a1bf7d21dd073320ad0045340f463"><div class="ttname"><a href="a00235.html#ga397a1bf7d21dd073320ad0045340f463">hwloc_component_type_e</a></div><div class="ttdeci">hwloc_component_type_e</div><div class="ttdoc">Generic component type.</div><div class="ttdef"><b>Definition:</b> plugins.h:248</div></div>
<div class="ttc" id="aa00235_html_gga397a1bf7d21dd073320ad0045340f463a5d6e561f467fe9795a29e7368b613900"><div class="ttname"><a href="a00235.html#gga397a1bf7d21dd073320ad0045340f463a5d6e561f467fe9795a29e7368b613900">HWLOC_COMPONENT_TYPE_DISC</a></div><div class="ttdeci">@ HWLOC_COMPONENT_TYPE_DISC</div><div class="ttdoc">The data field must point to a struct hwloc_disc_component.</div><div class="ttdef"><b>Definition:</b> plugins.h:250</div></div>
<div class="ttc" id="aa00235_html_gga397a1bf7d21dd073320ad0045340f463adea00cd839c2141c032e1569fd5592bd"><div class="ttname"><a href="a00235.html#gga397a1bf7d21dd073320ad0045340f463adea00cd839c2141c032e1569fd5592bd">HWLOC_COMPONENT_TYPE_XML</a></div><div class="ttdeci">@ HWLOC_COMPONENT_TYPE_XML</div><div class="ttdoc">The data field must point to a struct hwloc_xml_component.</div><div class="ttdef"><b>Definition:</b> plugins.h:253</div></div>
<div class="ttc" id="aa00236_html_ga0b5c75b2dc37cea2e8a29c4812baf4b3"><div class="ttname"><a href="a00236.html#ga0b5c75b2dc37cea2e8a29c4812baf4b3">hwloc_alloc_setup_object</a></div><div class="ttdeci">hwloc_obj_t hwloc_alloc_setup_object(hwloc_topology_t topology, hwloc_obj_type_t type, unsigned os_index)</div><div class="ttdoc">Allocate and initialize an object of the given type and physical index.</div></div>
<div class="ttc" id="aa00236_html_ga0ef97debde503b56367689b07bb3e901"><div class="ttname"><a href="a00236.html#ga0ef97debde503b56367689b07bb3e901">hwloc_insert_object_by_parent</a></div><div class="ttdeci">void hwloc_insert_object_by_parent(struct hwloc_topology *topology, hwloc_obj_t parent, hwloc_obj_t obj)</div><div class="ttdoc">Insert an object somewhere in the topology.</div></div>
<div class="ttc" id="aa00236_html_ga120d8bd74922e1030b621409a6b0be61"><div class="ttname"><a href="a00236.html#ga120d8bd74922e1030b621409a6b0be61">hwloc_topology_reconnect</a></div><div class="ttdeci">int hwloc_topology_reconnect(hwloc_topology_t topology, unsigned long flags)</div><div class="ttdoc">Request a reconnection of children and levels in the topology.</div></div>
<div class="ttc" id="aa00236_html_ga1e105cfe3c8e77f34cc6df3841deebbc"><div class="ttname"><a href="a00236.html#ga1e105cfe3c8e77f34cc6df3841deebbc">hwloc__insert_object_by_cpuset</a></div><div class="ttdeci">hwloc_obj_t hwloc__insert_object_by_cpuset(struct hwloc_topology *topology, hwloc_obj_t root, hwloc_obj_t obj, const char *reason)</div><div class="ttdoc">Add an object to the topology.</div></div>
<div class="ttc" id="aa00236_html_ga754b61041ceee9685534a2c5d3cd0156"><div class="ttname"><a href="a00236.html#ga754b61041ceee9685534a2c5d3cd0156">hwloc_obj_add_children_sets</a></div><div class="ttdeci">int hwloc_obj_add_children_sets(hwloc_obj_t obj)</div><div class="ttdoc">Setup object cpusets/nodesets by OR'ing its children.</div></div>
<div class="ttc" id="aa00236_html_gab527c1e0f243f057d31a724794ad9f88"><div class="ttname"><a href="a00236.html#gab527c1e0f243f057d31a724794ad9f88">hwloc_hide_errors</a></div><div class="ttdeci">int hwloc_hide_errors(void)</div><div class="ttdoc">Check whether insertion errors are hidden.</div></div>
<div class="ttc" id="aa00236_html_gac2eaed287bb215cf0bd33014e9e1d374"><div class="ttname"><a href="a00236.html#gac2eaed287bb215cf0bd33014e9e1d374">hwloc_plugin_check_namespace</a></div><div class="ttdeci">static int hwloc_plugin_check_namespace(const char *pluginname, const char *symbol)</div><div class="ttdoc">Make sure that plugins can lookup core symbols.</div><div class="ttdef"><b>Definition:</b> plugins.h:416</div></div>
<div class="ttc" id="aa00237_html_ga2f402a43025a8a91e8513be1a15e4635"><div class="ttname"><a href="a00237.html#ga2f402a43025a8a91e8513be1a15e4635">hwloc_filter_check_keep_object_type</a></div><div class="ttdeci">static int hwloc_filter_check_keep_object_type(hwloc_topology_t topology, hwloc_obj_type_t type)</div><div class="ttdoc">Check whether a non-I/O object type should be filtered-out.</div><div class="ttdef"><b>Definition:</b> plugins.h:495</div></div>
<div class="ttc" id="aa00237_html_ga4d2fdce071e5646ef147c9ff1539d1c9"><div class="ttname"><a href="a00237.html#ga4d2fdce071e5646ef147c9ff1539d1c9">hwloc_filter_check_keep_object</a></div><div class="ttdeci">static int hwloc_filter_check_keep_object(hwloc_topology_t topology, hwloc_obj_t obj)</div><div class="ttdoc">Check whether the given object should be filtered-out.</div><div class="ttdef"><b>Definition:</b> plugins.h:508</div></div>
<div class="ttc" id="aa00237_html_ga60203db6459ebf275bf48c40a37661a0"><div class="ttname"><a href="a00237.html#ga60203db6459ebf275bf48c40a37661a0">hwloc_filter_check_pcidev_subtype_important</a></div><div class="ttdeci">static int hwloc_filter_check_pcidev_subtype_important(unsigned classid)</div><div class="ttdoc">Check whether the given PCI device classid is important.</div><div class="ttdef"><b>Definition:</b> plugins.h:466</div></div>
<div class="ttc" id="aa00237_html_gac7d57a6d669820f360cf2a070a396560"><div class="ttname"><a href="a00237.html#gac7d57a6d669820f360cf2a070a396560">hwloc_filter_check_osdev_subtype_important</a></div><div class="ttdeci">static int hwloc_filter_check_osdev_subtype_important(hwloc_obj_osdev_type_t subtype)</div><div class="ttdoc">Check whether the given OS device subtype is important.</div><div class="ttdef"><b>Definition:</b> plugins.h:483</div></div>
<div class="ttc" id="aa00238_html_ga51d1ebcbf9729987c9d17df3aa57d209"><div class="ttname"><a href="a00238.html#ga51d1ebcbf9729987c9d17df3aa57d209">hwloc_pcidisc_find_linkspeed</a></div><div class="ttdeci">int hwloc_pcidisc_find_linkspeed(const unsigned char *config, unsigned offset, float *linkspeed)</div><div class="ttdoc">Fill linkspeed by reading the PCI config space where PCI_CAP_ID_EXP is at position offset.</div></div>
<div class="ttc" id="aa00238_html_ga6c55fb80c3d0c8c8e61078b3f38adde8"><div class="ttname"><a href="a00238.html#ga6c55fb80c3d0c8c8e61078b3f38adde8">hwloc_pcidisc_check_bridge_type</a></div><div class="ttdeci">hwloc_obj_type_t hwloc_pcidisc_check_bridge_type(unsigned device_class, const unsigned char *config)</div><div class="ttdoc">Return the hwloc object type (PCI device or Bridge) for the given class and configuration space.</div></div>
<div class="ttc" id="aa00238_html_ga706f71cfea09d547d2cbafa642d6e03b"><div class="ttname"><a href="a00238.html#ga706f71cfea09d547d2cbafa642d6e03b">hwloc_pcidisc_find_cap</a></div><div class="ttdeci">unsigned hwloc_pcidisc_find_cap(const unsigned char *config, unsigned cap)</div><div class="ttdoc">Return the offset of the given capability in the PCI config space buffer.</div></div>
<div class="ttc" id="aa00238_html_ga95acf6822a49447c11067d0b843965ba"><div class="ttname"><a href="a00238.html#ga95acf6822a49447c11067d0b843965ba">hwloc_pcidisc_find_bridge_buses</a></div><div class="ttdeci">int hwloc_pcidisc_find_bridge_buses(unsigned domain, unsigned bus, unsigned dev, unsigned func, unsigned *secondary_busp, unsigned *subordinate_busp, const unsigned char *config)</div><div class="ttdoc">Fills the attributes of the given PCI bridge using the given PCI config space.</div></div>
<div class="ttc" id="aa00238_html_gab76ddc4f55db8101ef0d44317965128c"><div class="ttname"><a href="a00238.html#gab76ddc4f55db8101ef0d44317965128c">hwloc_pcidisc_tree_insert_by_busid</a></div><div class="ttdeci">void hwloc_pcidisc_tree_insert_by_busid(struct hwloc_obj **treep, struct hwloc_obj *obj)</div><div class="ttdoc">Insert a PCI object in the given PCI tree by looking at PCI bus IDs.</div></div>
<div class="ttc" id="aa00238_html_gabda1d6c1799e50b9226f8a4da9bd29ea"><div class="ttname"><a href="a00238.html#gabda1d6c1799e50b9226f8a4da9bd29ea">hwloc_pcidisc_tree_attach</a></div><div class="ttdeci">int hwloc_pcidisc_tree_attach(struct hwloc_topology *topology, struct hwloc_obj *tree)</div><div class="ttdoc">Add some hostbridges on top of the given tree of PCI objects and attach them to the topology.</div></div>
<div class="ttc" id="aa00239_html_ga7964833550947636ab8975909de3fa98"><div class="ttname"><a href="a00239.html#ga7964833550947636ab8975909de3fa98">hwloc_pci_find_parent_by_busid</a></div><div class="ttdeci">struct hwloc_obj * hwloc_pci_find_parent_by_busid(struct hwloc_topology *topology, unsigned domain, unsigned bus, unsigned dev, unsigned func)</div><div class="ttdoc">Find the normal parent of a PCI bus ID.</div></div>
<div class="ttc" id="aa00244_html"><div class="ttname"><a href="a00244.html">hwloc_obj</a></div><div class="ttdoc">Structure of a topology object.</div><div class="ttdef"><b>Definition:</b> hwloc.h:395</div></div>
<div class="ttc" id="aa00244_html_acc4f0803f244867e68fe0036800be5de"><div class="ttname"><a href="a00244.html#acc4f0803f244867e68fe0036800be5de">hwloc_obj::type</a></div><div class="ttdeci">hwloc_obj_type_t type</div><div class="ttdoc">Type of object.</div><div class="ttdef"><b>Definition:</b> hwloc.h:397</div></div>
<div class="ttc" id="aa00244_html_accd40e29f71f19e88db62ea3df02adc8"><div class="ttname"><a href="a00244.html#accd40e29f71f19e88db62ea3df02adc8">hwloc_obj::attr</a></div><div class="ttdeci">union hwloc_obj_attr_u * attr</div><div class="ttdoc">Object type-specific Attributes, may be NULL if no attribute value was found.</div><div class="ttdef"><b>Definition:</b> hwloc.h:414</div></div>
<div class="ttc" id="aa00248_html_a0b66da7ab072f7c016f8ed86701f5a7c"><div class="ttname"><a href="a00248.html#a0b66da7ab072f7c016f8ed86701f5a7c">hwloc_obj_attr_u::pcidev</a></div><div class="ttdeci">struct hwloc_obj_attr_u::hwloc_pcidev_attr_s pcidev</div></div>
<div class="ttc" id="aa00248_html_aaf7a5c38b5185703ff18c46ad2761dcf"><div class="ttname"><a href="a00248.html#aaf7a5c38b5185703ff18c46ad2761dcf">hwloc_obj_attr_u::osdev</a></div><div class="ttdeci">struct hwloc_obj_attr_u::hwloc_osdev_attr_s osdev</div></div>
<div class="ttc" id="aa00268_html_aee735352d9f1686fd290fc6d6397c334"><div class="ttname"><a href="a00268.html#aee735352d9f1686fd290fc6d6397c334">hwloc_obj_attr_u::hwloc_pcidev_attr_s::class_id</a></div><div class="ttdeci">unsigned short class_id</div><div class="ttdef"><b>Definition:</b> hwloc.h:639</div></div>
<div class="ttc" id="aa00288_html_a31e019e27e54ac6138d04be639bb96f9"><div class="ttname"><a href="a00288.html#a31e019e27e54ac6138d04be639bb96f9">hwloc_obj_attr_u::hwloc_osdev_attr_s::type</a></div><div class="ttdeci">hwloc_obj_osdev_type_t type</div><div class="ttdef"><b>Definition:</b> hwloc.h:665</div></div>
<div class="ttc" id="aa00372_html"><div class="ttname"><a href="a00372.html">hwloc_disc_component</a></div><div class="ttdoc">Discovery component structure.</div><div class="ttdef"><b>Definition:</b> plugins.h:38</div></div>
<div class="ttc" id="aa00372_html_a4064c3b5d9213027e87caebef380a840"><div class="ttname"><a href="a00372.html#a4064c3b5d9213027e87caebef380a840">hwloc_disc_component::name</a></div><div class="ttdeci">const char * name</div><div class="ttdoc">Name. If this component is built as a plugin, this name does not have to match the plugin filename.</div><div class="ttdef"><b>Definition:</b> plugins.h:42</div></div>
<div class="ttc" id="aa00372_html_a61ad3151efa02e3dbad5d919758f9c90"><div class="ttname"><a href="a00372.html#a61ad3151efa02e3dbad5d919758f9c90">hwloc_disc_component::phases</a></div><div class="ttdeci">unsigned phases</div><div class="ttdoc">Discovery phases performed by this component. OR'ed set of hwloc_disc_phase_t.</div><div class="ttdef"><b>Definition:</b> plugins.h:47</div></div>
<div class="ttc" id="aa00372_html_acbb9957914dbf7b8f504215aa0c8d3fe"><div class="ttname"><a href="a00372.html#acbb9957914dbf7b8f504215aa0c8d3fe">hwloc_disc_component::excluded_phases</a></div><div class="ttdeci">unsigned excluded_phases</div><div class="ttdoc">Component phases to exclude, as an OR'ed set of hwloc_disc_phase_t.</div><div class="ttdef"><b>Definition:</b> plugins.h:57</div></div>
<div class="ttc" id="aa00372_html_ace80cafe2b1732b047b3fc3da47e6517"><div class="ttname"><a href="a00372.html#ace80cafe2b1732b047b3fc3da47e6517">hwloc_disc_component::enabled_by_default</a></div><div class="ttdeci">unsigned enabled_by_default</div><div class="ttdoc">Enabled by default. If unset, if will be disabled unless explicitly requested.</div><div class="ttdef"><b>Definition:</b> plugins.h:81</div></div>
<div class="ttc" id="aa00372_html_ae86d283c272c5ae24073a235efbf6b59"><div class="ttname"><a href="a00372.html#ae86d283c272c5ae24073a235efbf6b59">hwloc_disc_component::priority</a></div><div class="ttdeci">unsigned priority</div><div class="ttdoc">Component priority. Used to sort topology-&gt;components, higher priority first. Also used to decide bet...</div><div class="ttdef"><b>Definition:</b> plugins.h:76</div></div>
<div class="ttc" id="aa00376_html"><div class="ttname"><a href="a00376.html">hwloc_disc_status</a></div><div class="ttdoc">Discovery status structure.</div><div class="ttdef"><b>Definition:</b> plugins.h:150</div></div>
<div class="ttc" id="aa00376_html_a0f95fa42d46a6e7cf8dee8af12afee3a"><div class="ttname"><a href="a00376.html#a0f95fa42d46a6e7cf8dee8af12afee3a">hwloc_disc_status::excluded_phases</a></div><div class="ttdeci">unsigned excluded_phases</div><div class="ttdoc">Dynamically excluded phases. If a component decides during discovery that some phases are no longer n...</div><div class="ttdef"><b>Definition:</b> plugins.h:159</div></div>
<div class="ttc" id="aa00376_html_abaf7c8c082d43e133171f0723dbf824b"><div class="ttname"><a href="a00376.html#abaf7c8c082d43e133171f0723dbf824b">hwloc_disc_status::phase</a></div><div class="ttdeci">hwloc_disc_phase_t phase</div><div class="ttdoc">The current discovery phase that is performed. Must match one of the phases in the component phases f...</div><div class="ttdef"><b>Definition:</b> plugins.h:154</div></div>
<div class="ttc" id="aa00376_html_ad8b123cecb945a9182eb824ccf8ef9d7"><div class="ttname"><a href="a00376.html#ad8b123cecb945a9182eb824ccf8ef9d7">hwloc_disc_status::flags</a></div><div class="ttdeci">unsigned long flags</div><div class="ttdoc">OR'ed set of hwloc_disc_status_flag_e.</div><div class="ttdef"><b>Definition:</b> plugins.h:162</div></div>
<div class="ttc" id="aa00380_html"><div class="ttname"><a href="a00380.html">hwloc_backend</a></div><div class="ttdoc">Discovery backend structure.</div><div class="ttdef"><b>Definition:</b> plugins.h:183</div></div>
<div class="ttc" id="aa00380_html_a2ea5bd36b7f06efdb65b98b32af16c68"><div class="ttname"><a href="a00380.html#a2ea5bd36b7f06efdb65b98b32af16c68">hwloc_backend::private_data</a></div><div class="ttdeci">void * private_data</div><div class="ttdoc">Backend private data, or NULL if none.</div><div class="ttdef"><b>Definition:</b> plugins.h:210</div></div>
<div class="ttc" id="aa00380_html_a36c4fa86350525b46340c67b802c69c7"><div class="ttname"><a href="a00380.html#a36c4fa86350525b46340c67b802c69c7">hwloc_backend::disable</a></div><div class="ttdeci">void(* disable)(struct hwloc_backend *backend)</div><div class="ttdoc">Callback for freeing the private_data. May be NULL.</div><div class="ttdef"><b>Definition:</b> plugins.h:214</div></div>
<div class="ttc" id="aa00380_html_aaa8eafe495aadd81c2e3c4ec527c10ba"><div class="ttname"><a href="a00380.html#aaa8eafe495aadd81c2e3c4ec527c10ba">hwloc_backend::flags</a></div><div class="ttdeci">unsigned long flags</div><div class="ttdoc">Backend flags, currently always 0.</div><div class="ttdef"><b>Definition:</b> plugins.h:199</div></div>
<div class="ttc" id="aa00380_html_aaac253491264c20930f44817270bc502"><div class="ttname"><a href="a00380.html#aaac253491264c20930f44817270bc502">hwloc_backend::get_pci_busid_cpuset</a></div><div class="ttdeci">int(* get_pci_busid_cpuset)(struct hwloc_backend *backend, struct hwloc_pcidev_attr_s *busid, hwloc_bitmap_t cpuset)</div><div class="ttdoc">Callback to retrieve the locality of a PCI object. Called by the PCI core when attaching PCI hierarch...</div><div class="ttdef"><b>Definition:</b> plugins.h:227</div></div>
<div class="ttc" id="aa00380_html_ab8806f6db077f1bb2e9d63ec99223f7a"><div class="ttname"><a href="a00380.html#ab8806f6db077f1bb2e9d63ec99223f7a">hwloc_backend::is_thissystem</a></div><div class="ttdeci">int is_thissystem</div><div class="ttdoc">Backend-specific 'is_thissystem' property. Set to 0 if the backend disables the thissystem flag for t...</div><div class="ttdef"><b>Definition:</b> plugins.h:207</div></div>
<div class="ttc" id="aa00380_html_accff2cd8404be43c3b44cec05e6f609b"><div class="ttname"><a href="a00380.html#accff2cd8404be43c3b44cec05e6f609b">hwloc_backend::discover</a></div><div class="ttdeci">int(* discover)(struct hwloc_backend *backend, struct hwloc_disc_status *status)</div><div class="ttdoc">Main discovery callback. returns -1 on error, either because it couldn't add its objects ot the exist...</div><div class="ttdef"><b>Definition:</b> plugins.h:221</div></div>
<div class="ttc" id="aa00380_html_aeca769840a6ff03e96462a9533adbccd"><div class="ttname"><a href="a00380.html#aeca769840a6ff03e96462a9533adbccd">hwloc_backend::phases</a></div><div class="ttdeci">unsigned phases</div><div class="ttdoc">Discovery phases performed by this component, possibly without some of them if excluded by other comp...</div><div class="ttdef"><b>Definition:</b> plugins.h:196</div></div>
<div class="ttc" id="aa00384_html"><div class="ttname"><a href="a00384.html">hwloc_component</a></div><div class="ttdoc">Generic component structure.</div><div class="ttdef"><b>Definition:</b> plugins.h:261</div></div>
<div class="ttc" id="aa00384_html_a3250bd6fc9713946991d805e48091b2e"><div class="ttname"><a href="a00384.html#a3250bd6fc9713946991d805e48091b2e">hwloc_component::abi</a></div><div class="ttdeci">unsigned abi</div><div class="ttdoc">Component ABI version, set to HWLOC_COMPONENT_ABI.</div><div class="ttdef"><b>Definition:</b> plugins.h:263</div></div>
<div class="ttc" id="aa00384_html_a4612015451a1c706e8ba19114cb8baae"><div class="ttname"><a href="a00384.html#a4612015451a1c706e8ba19114cb8baae">hwloc_component::finalize</a></div><div class="ttdeci">void(* finalize)(unsigned long flags)</div><div class="ttdoc">Process-wide component termination callback.</div><div class="ttdef"><b>Definition:</b> plugins.h:295</div></div>
<div class="ttc" id="aa00384_html_a4b8cffd1d943c29fdc102b841b8598d4"><div class="ttname"><a href="a00384.html#a4b8cffd1d943c29fdc102b841b8598d4">hwloc_component::data</a></div><div class="ttdeci">void * data</div><div class="ttdoc">Component data, pointing to a struct hwloc_disc_component or struct hwloc_xml_component.</div><div class="ttdef"><b>Definition:</b> plugins.h:304</div></div>
<div class="ttc" id="aa00384_html_a789208ada7e17492cfd3a5a88a6bb0ee"><div class="ttname"><a href="a00384.html#a789208ada7e17492cfd3a5a88a6bb0ee">hwloc_component::type</a></div><div class="ttdeci">hwloc_component_type_t type</div><div class="ttdoc">Component type.</div><div class="ttdef"><b>Definition:</b> plugins.h:298</div></div>
<div class="ttc" id="aa00384_html_ab8043c5b4cc0e81aabba586ccb194335"><div class="ttname"><a href="a00384.html#ab8043c5b4cc0e81aabba586ccb194335">hwloc_component::flags</a></div><div class="ttdeci">unsigned long flags</div><div class="ttdoc">Component flags, unused for now.</div><div class="ttdef"><b>Definition:</b> plugins.h:301</div></div>
<div class="ttc" id="aa00384_html_aea613546886d9b8221cadba920fe3ebc"><div class="ttname"><a href="a00384.html#aea613546886d9b8221cadba920fe3ebc">hwloc_component::init</a></div><div class="ttdeci">int(* init)(unsigned long flags)</div><div class="ttdoc">Process-wide component initialization callback.</div><div class="ttdef"><b>Definition:</b> plugins.h:282</div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>