Finding I/O objects

## Functions

hwloc_obj_t | hwloc_get_non_io_ancestor_obj (hwloc_topology_t topology, hwloc_obj_t ioobj)
hwloc_obj_t | hwloc_get_next_pcidev (hwloc_topology_t topology, hwloc_obj_t prev)
hwloc_obj_t | hwloc_get_pcidev_by_busid (hwloc_topology_t topology, unsigned domain, unsigned bus, unsigned dev, unsigned func)
hwloc_obj_t | hwloc_get_pcidev_by_busidstring (hwloc_topology_t topology, const char *busid)
hwloc_obj_t | hwloc_get_next_osdev (hwloc_topology_t topology, hwloc_obj_t prev)
hwloc_obj_t | hwloc_get_next_bridge (hwloc_topology_t topology, hwloc_obj_t prev)
int | hwloc_bridge_covers_pcibus (hwloc_obj_t bridge, unsigned domain, unsigned bus)

## Detailed Description

## Function Documentation

## hwloc_bridge_covers_pcibus()

int hwloc_bridge_covers_pcibus | ( | hwloc_obj_t | bridge,
|  | unsigned | domain,
|  | unsigned | bus )

inline

## hwloc_get_next_bridge()

hwloc_obj_t hwloc_get_next_bridge | ( | hwloc_topology_t | topology,
|  | hwloc_obj_t | prev )

inline

Get the next bridge in the system.

Returns
  the first bridge if `prev` is `NULL`.
  the next bridge if `prev` is not `NULL`.
  `NULL` if there is no next bridge.

## hwloc_get_next_osdev()

hwloc_obj_t hwloc_get_next_osdev | ( | hwloc_topology_t | topology,
|  | hwloc_obj_t | prev )

inline

Get the next OS device in the system.

Returns
  the first OS device if `prev` is `NULL`.
  the next OS device if `prev` is not `NULL`.
  `NULL` if there is no next OS device.

## hwloc_get_next_pcidev()

hwloc_obj_t hwloc_get_next_pcidev | ( | hwloc_topology_t | topology,
|  | hwloc_obj_t | prev )

inline

Get the next PCI device in the system.

Returns
  the first PCI device if `prev` is `NULL`.
  the next PCI device if `prev` is not `NULL`.
  `NULL` if there is no next PCI device.

## hwloc_get_non_io_ancestor_obj()

hwloc_obj_t hwloc_get_non_io_ancestor_obj | ( | hwloc_topology_t | topology,
|  | hwloc_obj_t | ioobj )

inline

Get the first non-I/O ancestor object.

Given the I/O object `ioobj`, find the smallest non-I/O ancestor object. This object (normal or memory) may then be used for binding because it has non-NULL CPU and node sets and because its locality is the same as `ioobj`.

Returns
  a non-I/O object.

Note
  This function cannot return `NULL`.
  The resulting object is usually a normal object but it could also be a memory object (e.g. NUMA node) in future platforms if I/O objects ever get attached to memory instead of CPUs.

## hwloc_get_pcidev_by_busid()

hwloc_obj_t hwloc_get_pcidev_by_busid | ( | hwloc_topology_t | topology,
|  | unsigned | domain,
|  | unsigned | bus,
|  | unsigned | dev,
|  | unsigned | func )

inline

Find the PCI device object matching the PCI bus id given domain, bus device and function PCI bus id.

Returns
  a matching PCI device object if any, `NULL` otherwise.

## hwloc_get_pcidev_by_busidstring()

hwloc_obj_t hwloc_get_pcidev_by_busidstring | ( | hwloc_topology_t | topology,
|  | const char * | busid )

inline

Find the PCI device object matching the PCI bus id given as a string xxxx:yy:zz.t or yy:zz.t.

Returns
  a matching PCI device object if any, `NULL` otherwise.