Windows-specific helpers

## Functions

int | hwloc_windows_get_nr_processor_groups (hwloc_topology_t topology, unsigned long flags)
int | hwloc_windows_get_processor_group_cpuset (hwloc_topology_t topology, unsigned pg_index, hwloc_cpuset_t cpuset, unsigned long flags)

## Detailed Description

These functions query Windows processor groups. These groups partition the operating system into virtual sets of up to 64 neighbor PUs. Threads and processes may only be bound inside a single group. Although Windows processor groups may be exposed in the hwloc hierarchy as hwloc Groups, they are also often merged into existing hwloc objects such as NUMA nodes or Packages. This API provides explicit information about Windows processor groups so that applications know whether binding to a large set of PUs may fail because it spans over multiple Windows processor groups.

## Function Documentation

## hwloc_windows_get_nr_processor_groups()

int hwloc_windows_get_nr_processor_groups | ( | hwloc_topology_t | topology,
|  | unsigned long | flags )

Get the number of Windows processor groups.

`flags` must be 0 for now.

Returns
  at least `1` on success.
  -1 on error, for instance if the topology does not match the current system (e.g. loaded from another machine through XML).

## hwloc_windows_get_processor_group_cpuset()

int hwloc_windows_get_processor_group_cpuset | ( | hwloc_topology_t | topology,
|  | unsigned | pg_index,
|  | hwloc_cpuset_t | cpuset,
|  | unsigned long | flags )

Get the CPU-set of a Windows processor group.

Get the set of PU included in the processor group specified by `pg_index`. `pg_index` must be between `0` and the value returned by hwloc_windows_get_nr_processor_groups() minus 1.

`flags` must be 0 for now.

Returns
  `0` on success.
  `-1` on error, for instance if `pg_index` is invalid, or if the topology does not match the current system (e.g. loaded from another machine through XML).