Components and Plugins: distances

## Typedefs

typedef void * | hwloc_backend_distances_add_handle_t

## Functions

hwloc_backend_distances_add_handle_t | hwloc_backend_distances_add_create (hwloc_topology_t topology, const char *name, unsigned long kind, unsigned long flags)
int | hwloc_backend_distances_add_values (hwloc_topology_t topology, hwloc_backend_distances_add_handle_t handle, unsigned nbobjs, hwloc_obj_t *objs, hwloc_uint64_t *values, unsigned long flags)
int | hwloc_backend_distances_add_commit (hwloc_topology_t topology, hwloc_backend_distances_add_handle_t handle, unsigned long flags)

## Detailed Description

Note
  These structures and functions may change when HWLOC_COMPONENT_ABI is modified.

## Typedef Documentation

## hwloc_backend_distances_add_handle_t

typedef void* hwloc_backend_distances_add_handle_t

Handle to a new distances structure during its addition to the topology.

## Function Documentation

## hwloc_backend_distances_add_commit()

int hwloc_backend_distances_add_commit | ( | hwloc_topology_t | topology,
|  | hwloc_backend_distances_add_handle_t | handle,
|  | unsigned long | flags )

Commit a new distances structure.

This is similar to hwloc_distances_add_commit() but this variant is designed for backend inserting distances during topology discovery.

## hwloc_backend_distances_add_create()

hwloc_backend_distances_add_handle_t hwloc_backend_distances_add_create | ( | hwloc_topology_t | topology,
|  | const char * | name,
|  | unsigned long | kind,
|  | unsigned long | flags )

Create a new empty distances structure.

This is identical to hwloc_distances_add_create() but this variant is designed for backend inserting distances during topology discovery.

## hwloc_backend_distances_add_values()

int hwloc_backend_distances_add_values | ( | hwloc_topology_t | topology,
|  | hwloc_backend_distances_add_handle_t | handle,
|  | unsigned | nbobjs,
|  | hwloc_obj_t * | objs,
|  | hwloc_uint64_t * | values,
|  | unsigned long | flags )

Specify the objects and values in a new empty distances structure.

This is similar to hwloc_distances_add_values() but this variant is designed for backend inserting distances during topology discovery.

The only semantical difference is that `objs` and `values` are not duplicated, but directly attached to the topology. On success, these arrays are given to the core and should not ever be freed by the caller anymore.