org.lwjgl.util.hwloc.HWLoc Maven / Gradle / Ivy
/*
* Copyright LWJGL. All rights reserved.
* License terms: https://www.lwjgl.org/license
* MACHINE GENERATED FILE, DO NOT EDIT
*/
package org.lwjgl.util.hwloc;
import javax.annotation.*;
import java.nio.*;
import org.lwjgl.*;
import org.lwjgl.system.*;
import static org.lwjgl.system.APIUtil.*;
import static org.lwjgl.system.Checks.*;
import static org.lwjgl.system.JNI.*;
import static org.lwjgl.system.MemoryStack.*;
import static org.lwjgl.system.MemoryUtil.*;
import java.util.Objects;
import java.util.regex.*;
/**
* Native bindings to hwloc, a portable abstraction (across OS, versions, architectures, ...) of the
* hierarchical topology of modern architectures, including NUMA memory nodes, sockets, shared caches, cores and simultaneous multithreading.
*
* It also gathers various system attributes such as cache and memory information as well as the locality of I/O devices such as network interfaces,
* InfiniBand HCAs or GPUs.
*
* hwloc primarily aims at helping applications with gathering information about increasingly complex parallel computing platforms so as to exploit them
* accordingly and efficiently. For instance, two tasks that tightly cooperate should probably be placed onto cores sharing a cache. However, two
* independent memory-intensive tasks should better be spread out onto different sockets so as to maximize their memory throughput.
*
* hwloc may also help many applications just by providing a portable CPU and memory binding API and a reliable way to find out how many cores and/or
* hardware threads are available.
*/
public class HWLoc {
private static final SharedLibrary HWLOC = Library.loadNative(HWLoc.class, "org.lwjgl.hwloc", Configuration.HWLOC_LIBRARY_NAME.get(Platform.mapLibraryNameBundled("hwloc")), true);
/** Contains the function pointers loaded from the HWLOC {@link SharedLibrary}. */
public static final class Functions {
private Functions() {}
/** Function address. */
public static final long
bitmap_alloc = apiGetFunctionAddress(HWLOC, "hwloc_bitmap_alloc"),
bitmap_alloc_full = apiGetFunctionAddress(HWLOC, "hwloc_bitmap_alloc_full"),
bitmap_free = apiGetFunctionAddress(HWLOC, "hwloc_bitmap_free"),
bitmap_dup = apiGetFunctionAddress(HWLOC, "hwloc_bitmap_dup"),
bitmap_copy = apiGetFunctionAddress(HWLOC, "hwloc_bitmap_copy"),
bitmap_snprintf = apiGetFunctionAddress(HWLOC, "hwloc_bitmap_snprintf"),
bitmap_asprintf = apiGetFunctionAddress(HWLOC, "hwloc_bitmap_asprintf"),
bitmap_sscanf = apiGetFunctionAddress(HWLOC, "hwloc_bitmap_sscanf"),
bitmap_list_snprintf = apiGetFunctionAddress(HWLOC, "hwloc_bitmap_list_snprintf"),
bitmap_list_asprintf = apiGetFunctionAddress(HWLOC, "hwloc_bitmap_list_asprintf"),
bitmap_list_sscanf = apiGetFunctionAddress(HWLOC, "hwloc_bitmap_list_sscanf"),
bitmap_taskset_snprintf = apiGetFunctionAddress(HWLOC, "hwloc_bitmap_taskset_snprintf"),
bitmap_taskset_asprintf = apiGetFunctionAddress(HWLOC, "hwloc_bitmap_taskset_asprintf"),
bitmap_taskset_sscanf = apiGetFunctionAddress(HWLOC, "hwloc_bitmap_taskset_sscanf"),
bitmap_zero = apiGetFunctionAddress(HWLOC, "hwloc_bitmap_zero"),
bitmap_fill = apiGetFunctionAddress(HWLOC, "hwloc_bitmap_fill"),
bitmap_only = apiGetFunctionAddress(HWLOC, "hwloc_bitmap_only"),
bitmap_allbut = apiGetFunctionAddress(HWLOC, "hwloc_bitmap_allbut"),
bitmap_from_ulong = apiGetFunctionAddress(HWLOC, "hwloc_bitmap_from_ulong"),
bitmap_from_ith_ulong = apiGetFunctionAddress(HWLOC, "hwloc_bitmap_from_ith_ulong"),
bitmap_from_ulongs = apiGetFunctionAddress(HWLOC, "hwloc_bitmap_from_ulongs"),
bitmap_set = apiGetFunctionAddress(HWLOC, "hwloc_bitmap_set"),
bitmap_set_range = apiGetFunctionAddress(HWLOC, "hwloc_bitmap_set_range"),
bitmap_set_ith_ulong = apiGetFunctionAddress(HWLOC, "hwloc_bitmap_set_ith_ulong"),
bitmap_clr = apiGetFunctionAddress(HWLOC, "hwloc_bitmap_clr"),
bitmap_clr_range = apiGetFunctionAddress(HWLOC, "hwloc_bitmap_clr_range"),
bitmap_singlify = apiGetFunctionAddress(HWLOC, "hwloc_bitmap_singlify"),
bitmap_to_ulong = apiGetFunctionAddress(HWLOC, "hwloc_bitmap_to_ulong"),
bitmap_to_ith_ulong = apiGetFunctionAddress(HWLOC, "hwloc_bitmap_to_ith_ulong"),
bitmap_to_ulongs = apiGetFunctionAddress(HWLOC, "hwloc_bitmap_to_ulongs"),
bitmap_nr_ulongs = apiGetFunctionAddress(HWLOC, "hwloc_bitmap_nr_ulongs"),
bitmap_isset = apiGetFunctionAddress(HWLOC, "hwloc_bitmap_isset"),
bitmap_iszero = apiGetFunctionAddress(HWLOC, "hwloc_bitmap_iszero"),
bitmap_isfull = apiGetFunctionAddress(HWLOC, "hwloc_bitmap_isfull"),
bitmap_first = apiGetFunctionAddress(HWLOC, "hwloc_bitmap_first"),
bitmap_next = apiGetFunctionAddress(HWLOC, "hwloc_bitmap_next"),
bitmap_last = apiGetFunctionAddress(HWLOC, "hwloc_bitmap_last"),
bitmap_weight = apiGetFunctionAddress(HWLOC, "hwloc_bitmap_weight"),
bitmap_first_unset = apiGetFunctionAddress(HWLOC, "hwloc_bitmap_first_unset"),
bitmap_next_unset = apiGetFunctionAddress(HWLOC, "hwloc_bitmap_next_unset"),
bitmap_last_unset = apiGetFunctionAddress(HWLOC, "hwloc_bitmap_last_unset"),
bitmap_or = apiGetFunctionAddress(HWLOC, "hwloc_bitmap_or"),
bitmap_and = apiGetFunctionAddress(HWLOC, "hwloc_bitmap_and"),
bitmap_andnot = apiGetFunctionAddress(HWLOC, "hwloc_bitmap_andnot"),
bitmap_xor = apiGetFunctionAddress(HWLOC, "hwloc_bitmap_xor"),
bitmap_not = apiGetFunctionAddress(HWLOC, "hwloc_bitmap_not"),
bitmap_intersects = apiGetFunctionAddress(HWLOC, "hwloc_bitmap_intersects"),
bitmap_isincluded = apiGetFunctionAddress(HWLOC, "hwloc_bitmap_isincluded"),
bitmap_isequal = apiGetFunctionAddress(HWLOC, "hwloc_bitmap_isequal"),
bitmap_compare_first = apiGetFunctionAddress(HWLOC, "hwloc_bitmap_compare_first"),
bitmap_compare = apiGetFunctionAddress(HWLOC, "hwloc_bitmap_compare"),
get_api_version = apiGetFunctionAddress(HWLOC, "hwloc_get_api_version"),
compare_types = apiGetFunctionAddress(HWLOC, "hwloc_compare_types"),
topology_init = apiGetFunctionAddress(HWLOC, "hwloc_topology_init"),
topology_load = apiGetFunctionAddress(HWLOC, "hwloc_topology_load"),
topology_destroy = apiGetFunctionAddress(HWLOC, "hwloc_topology_destroy"),
topology_dup = apiGetFunctionAddress(HWLOC, "hwloc_topology_dup"),
topology_abi_check = apiGetFunctionAddress(HWLOC, "hwloc_topology_abi_check"),
topology_check = apiGetFunctionAddress(HWLOC, "hwloc_topology_check"),
topology_get_depth = apiGetFunctionAddress(HWLOC, "hwloc_topology_get_depth"),
get_type_depth = apiGetFunctionAddress(HWLOC, "hwloc_get_type_depth"),
get_type_depth_with_attr = apiGetFunctionAddress(HWLOC, "hwloc_get_type_depth_with_attr"),
get_memory_parents_depth = apiGetFunctionAddress(HWLOC, "hwloc_get_memory_parents_depth"),
get_depth_type = apiGetFunctionAddress(HWLOC, "hwloc_get_depth_type"),
get_nbobjs_by_depth = apiGetFunctionAddress(HWLOC, "hwloc_get_nbobjs_by_depth"),
get_obj_by_depth = apiGetFunctionAddress(HWLOC, "hwloc_get_obj_by_depth"),
obj_type_string = apiGetFunctionAddress(HWLOC, "hwloc_obj_type_string"),
obj_type_snprintf = apiGetFunctionAddress(HWLOC, "hwloc_obj_type_snprintf"),
obj_attr_snprintf = apiGetFunctionAddress(HWLOC, "hwloc_obj_attr_snprintf"),
type_sscanf = apiGetFunctionAddress(HWLOC, "hwloc_type_sscanf"),
modify_infos = apiGetFunctionAddress(HWLOC, "hwloc_modify_infos"),
topology_get_infos = apiGetFunctionAddress(HWLOC, "hwloc_topology_get_infos"),
set_cpubind = apiGetFunctionAddress(HWLOC, "hwloc_set_cpubind"),
get_cpubind = apiGetFunctionAddress(HWLOC, "hwloc_get_cpubind"),
set_proc_cpubind_pid = apiGetFunctionAddress(HWLOC, "hwloc_set_proc_cpubind"),
set_proc_cpubind_handle = apiGetFunctionAddress(HWLOC, "hwloc_set_proc_cpubind"),
get_proc_cpubind_pid = apiGetFunctionAddress(HWLOC, "hwloc_get_proc_cpubind"),
get_proc_cpubind_handle = apiGetFunctionAddress(HWLOC, "hwloc_get_proc_cpubind"),
set_thread_cpubind_pthread = apiGetFunctionAddress(HWLOC, "hwloc_set_thread_cpubind"),
set_thread_cpubind_handle = apiGetFunctionAddress(HWLOC, "hwloc_set_thread_cpubind"),
get_thread_cpubind_pthread = apiGetFunctionAddress(HWLOC, "hwloc_get_thread_cpubind"),
get_thread_cpubind_handle = apiGetFunctionAddress(HWLOC, "hwloc_get_thread_cpubind"),
get_last_cpu_location = apiGetFunctionAddress(HWLOC, "hwloc_get_last_cpu_location"),
get_proc_last_cpu_location_pid = apiGetFunctionAddress(HWLOC, "hwloc_get_proc_last_cpu_location"),
get_proc_last_cpu_location_handle = apiGetFunctionAddress(HWLOC, "hwloc_get_proc_last_cpu_location"),
set_membind = apiGetFunctionAddress(HWLOC, "hwloc_set_membind"),
get_membind = apiGetFunctionAddress(HWLOC, "hwloc_get_membind"),
set_proc_membind_pid = apiGetFunctionAddress(HWLOC, "hwloc_set_proc_membind"),
set_proc_membind_handle = apiGetFunctionAddress(HWLOC, "hwloc_set_proc_membind"),
get_proc_membind_pid = apiGetFunctionAddress(HWLOC, "hwloc_get_proc_membind"),
get_proc_membind_handle = apiGetFunctionAddress(HWLOC, "hwloc_get_proc_membind"),
set_area_membind = apiGetFunctionAddress(HWLOC, "hwloc_set_area_membind"),
get_area_membind = apiGetFunctionAddress(HWLOC, "hwloc_get_area_membind"),
get_area_memlocation = apiGetFunctionAddress(HWLOC, "hwloc_get_area_memlocation"),
alloc = apiGetFunctionAddress(HWLOC, "hwloc_alloc"),
alloc_membind = apiGetFunctionAddress(HWLOC, "hwloc_alloc_membind"),
free = apiGetFunctionAddress(HWLOC, "hwloc_free"),
topology_set_pid_pid = apiGetFunctionAddress(HWLOC, "hwloc_topology_set_pid"),
topology_set_pid_handle = apiGetFunctionAddress(HWLOC, "hwloc_topology_set_pid"),
topology_set_synthetic = apiGetFunctionAddress(HWLOC, "hwloc_topology_set_synthetic"),
topology_set_xml = apiGetFunctionAddress(HWLOC, "hwloc_topology_set_xml"),
topology_set_xmlbuffer = apiGetFunctionAddress(HWLOC, "hwloc_topology_set_xmlbuffer"),
topology_set_components = apiGetFunctionAddress(HWLOC, "hwloc_topology_set_components"),
topology_set_flags = apiGetFunctionAddress(HWLOC, "hwloc_topology_set_flags"),
topology_get_flags = apiGetFunctionAddress(HWLOC, "hwloc_topology_get_flags"),
topology_is_thissystem = apiGetFunctionAddress(HWLOC, "hwloc_topology_is_thissystem"),
topology_get_support = apiGetFunctionAddress(HWLOC, "hwloc_topology_get_support"),
topology_set_type_filter = apiGetFunctionAddress(HWLOC, "hwloc_topology_set_type_filter"),
topology_get_type_filter = apiGetFunctionAddress(HWLOC, "hwloc_topology_get_type_filter"),
topology_set_all_types_filter = apiGetFunctionAddress(HWLOC, "hwloc_topology_set_all_types_filter"),
topology_set_cache_types_filter = apiGetFunctionAddress(HWLOC, "hwloc_topology_set_cache_types_filter"),
topology_set_icache_types_filter = apiGetFunctionAddress(HWLOC, "hwloc_topology_set_icache_types_filter"),
topology_set_io_types_filter = apiGetFunctionAddress(HWLOC, "hwloc_topology_set_io_types_filter"),
topology_set_userdata = apiGetFunctionAddress(HWLOC, "hwloc_topology_set_userdata"),
topology_get_userdata = apiGetFunctionAddress(HWLOC, "hwloc_topology_get_userdata"),
topology_restrict = apiGetFunctionAddress(HWLOC, "hwloc_topology_restrict"),
topology_allow = apiGetFunctionAddress(HWLOC, "hwloc_topology_allow"),
topology_insert_misc_object = apiGetFunctionAddress(HWLOC, "hwloc_topology_insert_misc_object"),
topology_alloc_group_object = apiGetFunctionAddress(HWLOC, "hwloc_topology_alloc_group_object"),
topology_insert_group_object = apiGetFunctionAddress(HWLOC, "hwloc_topology_insert_group_object"),
obj_add_other_obj_sets = apiGetFunctionAddress(HWLOC, "hwloc_obj_add_other_obj_sets"),
topology_refresh = apiGetFunctionAddress(HWLOC, "hwloc_topology_refresh"),
obj_type_is_normal = apiGetFunctionAddress(HWLOC, "hwloc_obj_type_is_normal"),
obj_type_is_io = apiGetFunctionAddress(HWLOC, "hwloc_obj_type_is_io"),
obj_type_is_memory = apiGetFunctionAddress(HWLOC, "hwloc_obj_type_is_memory"),
obj_type_is_cache = apiGetFunctionAddress(HWLOC, "hwloc_obj_type_is_cache"),
obj_type_is_dcache = apiGetFunctionAddress(HWLOC, "hwloc_obj_type_is_dcache"),
obj_type_is_icache = apiGetFunctionAddress(HWLOC, "hwloc_obj_type_is_icache"),
get_largest_objs_inside_cpuset = apiGetFunctionAddress(HWLOC, "hwloc_get_largest_objs_inside_cpuset"),
bitmap_singlify_per_core = apiGetFunctionAddress(HWLOC, "hwloc_bitmap_singlify_per_core"),
get_closest_objs = apiGetFunctionAddress(HWLOC, "hwloc_get_closest_objs"),
get_obj_with_same_locality = apiGetFunctionAddress(HWLOC, "hwloc_get_obj_with_same_locality"),
topology_get_complete_cpuset = apiGetFunctionAddress(HWLOC, "hwloc_topology_get_complete_cpuset"),
topology_get_topology_cpuset = apiGetFunctionAddress(HWLOC, "hwloc_topology_get_topology_cpuset"),
topology_get_allowed_cpuset = apiGetFunctionAddress(HWLOC, "hwloc_topology_get_allowed_cpuset"),
topology_get_complete_nodeset = apiGetFunctionAddress(HWLOC, "hwloc_topology_get_complete_nodeset"),
topology_get_topology_nodeset = apiGetFunctionAddress(HWLOC, "hwloc_topology_get_topology_nodeset"),
topology_get_allowed_nodeset = apiGetFunctionAddress(HWLOC, "hwloc_topology_get_allowed_nodeset"),
memattr_get_by_name = apiGetFunctionAddress(HWLOC, "hwloc_memattr_get_by_name"),
get_local_numanode_objs = apiGetFunctionAddress(HWLOC, "hwloc_get_local_numanode_objs"),
memattr_get_value = apiGetFunctionAddress(HWLOC, "hwloc_memattr_get_value"),
memattr_get_best_target = apiGetFunctionAddress(HWLOC, "hwloc_memattr_get_best_target"),
memattr_get_best_initiator = apiGetFunctionAddress(HWLOC, "hwloc_memattr_get_best_initiator"),
memattr_get_name = apiGetFunctionAddress(HWLOC, "hwloc_memattr_get_name"),
memattr_get_flags = apiGetFunctionAddress(HWLOC, "hwloc_memattr_get_flags"),
memattr_register = apiGetFunctionAddress(HWLOC, "hwloc_memattr_register"),
memattr_set_value = apiGetFunctionAddress(HWLOC, "hwloc_memattr_set_value"),
memattr_get_targets = apiGetFunctionAddress(HWLOC, "hwloc_memattr_get_targets"),
memattr_get_initiators = apiGetFunctionAddress(HWLOC, "hwloc_memattr_get_initiators"),
cpukinds_get_nr = apiGetFunctionAddress(HWLOC, "hwloc_cpukinds_get_nr"),
cpukinds_get_by_cpuset = apiGetFunctionAddress(HWLOC, "hwloc_cpukinds_get_by_cpuset"),
cpukinds_get_info = apiGetFunctionAddress(HWLOC, "hwloc_cpukinds_get_info"),
cpukinds_register = apiGetFunctionAddress(HWLOC, "hwloc_cpukinds_register"),
topology_export_xml = apiGetFunctionAddress(HWLOC, "hwloc_topology_export_xml"),
topology_export_xmlbuffer = apiGetFunctionAddress(HWLOC, "hwloc_topology_export_xmlbuffer"),
free_xmlbuffer = apiGetFunctionAddress(HWLOC, "hwloc_free_xmlbuffer"),
topology_set_userdata_export_callback = apiGetFunctionAddress(HWLOC, "hwloc_topology_set_userdata_export_callback"),
export_obj_userdata = apiGetFunctionAddress(HWLOC, "hwloc_export_obj_userdata"),
export_obj_userdata_base64 = apiGetFunctionAddress(HWLOC, "hwloc_export_obj_userdata_base64"),
topology_set_userdata_import_callback = apiGetFunctionAddress(HWLOC, "hwloc_topology_set_userdata_import_callback"),
topology_export_synthetic = apiGetFunctionAddress(HWLOC, "hwloc_topology_export_synthetic"),
distances_get = apiGetFunctionAddress(HWLOC, "hwloc_distances_get"),
distances_get_by_depth = apiGetFunctionAddress(HWLOC, "hwloc_distances_get_by_depth"),
distances_get_by_type = apiGetFunctionAddress(HWLOC, "hwloc_distances_get_by_type"),
distances_get_by_name = apiGetFunctionAddress(HWLOC, "hwloc_distances_get_by_name"),
distances_get_name = apiGetFunctionAddress(HWLOC, "hwloc_distances_get_name"),
distances_release = apiGetFunctionAddress(HWLOC, "hwloc_distances_release"),
distances_transform = apiGetFunctionAddress(HWLOC, "hwloc_distances_transform"),
distances_add_create = apiGetFunctionAddress(HWLOC, "hwloc_distances_add_create"),
distances_add_values = apiGetFunctionAddress(HWLOC, "hwloc_distances_add_values"),
distances_add_commit = apiGetFunctionAddress(HWLOC, "hwloc_distances_add_commit"),
distances_remove = apiGetFunctionAddress(HWLOC, "hwloc_distances_remove"),
distances_remove_by_depth = apiGetFunctionAddress(HWLOC, "hwloc_distances_remove_by_depth"),
distances_release_remove = apiGetFunctionAddress(HWLOC, "hwloc_distances_release_remove"),
topology_diff_build = apiGetFunctionAddress(HWLOC, "hwloc_topology_diff_build"),
topology_diff_apply = apiGetFunctionAddress(HWLOC, "hwloc_topology_diff_apply"),
topology_diff_destroy = apiGetFunctionAddress(HWLOC, "hwloc_topology_diff_destroy"),
topology_diff_load_xml = apiGetFunctionAddress(HWLOC, "hwloc_topology_diff_load_xml"),
topology_diff_export_xml = apiGetFunctionAddress(HWLOC, "hwloc_topology_diff_export_xml"),
topology_diff_load_xmlbuffer = apiGetFunctionAddress(HWLOC, "hwloc_topology_diff_load_xmlbuffer"),
topology_diff_export_xmlbuffer = apiGetFunctionAddress(HWLOC, "hwloc_topology_diff_export_xmlbuffer");
}
/** Returns the HWLOC {@link SharedLibrary}. */
public static SharedLibrary getLibrary() {
return HWLOC;
}
public static final int HWLOC_API_VERSION = 0x30000;
public static final int HWLOC_COMPONENT_ABI = 8;
public static final int HWLOC_TYPE_UNORDERED = Integer.MAX_VALUE;
public static final int HWLOC_UNKNOWN_INDEX = -1;
/**
* {@code hwloc_obj_type_t}
*
* Enum values:
*
*
* - {@link #HWLOC_OBJ_TYPE_MIN OBJ_TYPE_MIN}
* - {@link #HWLOC_OBJ_MACHINE OBJ_MACHINE}
* - {@link #HWLOC_OBJ_PACKAGE OBJ_PACKAGE}
* - {@link #HWLOC_OBJ_CORE OBJ_CORE}
* - {@link #HWLOC_OBJ_PU OBJ_PU}
* - {@link #HWLOC_OBJ_L1CACHE OBJ_L1CACHE}
* - {@link #HWLOC_OBJ_L2CACHE OBJ_L2CACHE}
* - {@link #HWLOC_OBJ_L3CACHE OBJ_L3CACHE}
* - {@link #HWLOC_OBJ_L4CACHE OBJ_L4CACHE}
* - {@link #HWLOC_OBJ_L5CACHE OBJ_L5CACHE}
* - {@link #HWLOC_OBJ_L1ICACHE OBJ_L1ICACHE}
* - {@link #HWLOC_OBJ_L2ICACHE OBJ_L2ICACHE}
* - {@link #HWLOC_OBJ_L3ICACHE OBJ_L3ICACHE}
* - {@link #HWLOC_OBJ_GROUP OBJ_GROUP}
* - {@link #HWLOC_OBJ_NUMANODE OBJ_NUMANODE}
* - {@link #HWLOC_OBJ_BRIDGE OBJ_BRIDGE}
* - {@link #HWLOC_OBJ_PCI_DEVICE OBJ_PCI_DEVICE}
* - {@link #HWLOC_OBJ_OS_DEVICE OBJ_OS_DEVICE}
* - {@link #HWLOC_OBJ_MISC OBJ_MISC}
* - {@link #HWLOC_OBJ_MEMCACHE OBJ_MEMCACHE}
* - {@link #HWLOC_OBJ_DIE OBJ_DIE}
* - {@link #HWLOC_OBJ_TYPE_MAX OBJ_TYPE_MAX}
*
*/
public static final int
HWLOC_OBJ_TYPE_MIN = 0,
HWLOC_OBJ_MACHINE = 0,
HWLOC_OBJ_PACKAGE = 1,
HWLOC_OBJ_CORE = 2,
HWLOC_OBJ_PU = 3,
HWLOC_OBJ_L1CACHE = 4,
HWLOC_OBJ_L2CACHE = 5,
HWLOC_OBJ_L3CACHE = 6,
HWLOC_OBJ_L4CACHE = 7,
HWLOC_OBJ_L5CACHE = 8,
HWLOC_OBJ_L1ICACHE = 9,
HWLOC_OBJ_L2ICACHE = 10,
HWLOC_OBJ_L3ICACHE = 11,
HWLOC_OBJ_GROUP = 12,
HWLOC_OBJ_NUMANODE = 13,
HWLOC_OBJ_BRIDGE = 14,
HWLOC_OBJ_PCI_DEVICE = 15,
HWLOC_OBJ_OS_DEVICE = 16,
HWLOC_OBJ_MISC = 17,
HWLOC_OBJ_MEMCACHE = 18,
HWLOC_OBJ_DIE = 19,
HWLOC_OBJ_TYPE_MAX = 20;
/**
* {@code hwloc_obj_cache_type_t}
*
* Enum values:
*
*
* - {@link #HWLOC_OBJ_CACHE_UNIFIED OBJ_CACHE_UNIFIED}
* - {@link #HWLOC_OBJ_CACHE_DATA OBJ_CACHE_DATA}
* - {@link #HWLOC_OBJ_CACHE_INSTRUCTION OBJ_CACHE_INSTRUCTION}
*
*/
public static final int
HWLOC_OBJ_CACHE_UNIFIED = 0,
HWLOC_OBJ_CACHE_DATA = 1,
HWLOC_OBJ_CACHE_INSTRUCTION = 2;
/**
* {@code hwloc_obj_bridge_type_t}
*
* Enum values:
*
*
* - {@link #HWLOC_OBJ_BRIDGE_HOST OBJ_BRIDGE_HOST}
* - {@link #HWLOC_OBJ_BRIDGE_PCI OBJ_BRIDGE_PCI}
*
*/
public static final int
HWLOC_OBJ_BRIDGE_HOST = 0,
HWLOC_OBJ_BRIDGE_PCI = 1;
/**
* {@code hwloc_obj_osdev_type_t}
*
* Enum values:
*
*
* - {@link #HWLOC_OBJ_OSDEV_STORAGE OBJ_OSDEV_STORAGE}
* - {@link #HWLOC_OBJ_OSDEV_MEMORY OBJ_OSDEV_MEMORY}
* - {@link #HWLOC_OBJ_OSDEV_GPU OBJ_OSDEV_GPU}
* - {@link #HWLOC_OBJ_OSDEV_COPROC OBJ_OSDEV_COPROC}
* - {@link #HWLOC_OBJ_OSDEV_NETWORK OBJ_OSDEV_NETWORK}
* - {@link #HWLOC_OBJ_OSDEV_OPENFABRICS OBJ_OSDEV_OPENFABRICS}
* - {@link #HWLOC_OBJ_OSDEV_DMA OBJ_OSDEV_DMA}
*
*/
public static final long
HWLOC_OBJ_OSDEV_STORAGE = 1L << 0,
HWLOC_OBJ_OSDEV_MEMORY = 1L << 1,
HWLOC_OBJ_OSDEV_GPU = 1L << 2,
HWLOC_OBJ_OSDEV_COPROC = 1L << 3,
HWLOC_OBJ_OSDEV_NETWORK = 1L << 4,
HWLOC_OBJ_OSDEV_OPENFABRICS = 1L << 5,
HWLOC_OBJ_OSDEV_DMA = 1L << 6;
/**
* {@code enum hwloc_get_type_depth_e}
*
* Enum values:
*
*
* - {@link #HWLOC_TYPE_DEPTH_UNKNOWN TYPE_DEPTH_UNKNOWN}
* - {@link #HWLOC_TYPE_DEPTH_MULTIPLE TYPE_DEPTH_MULTIPLE}
* - {@link #HWLOC_TYPE_DEPTH_NUMANODE TYPE_DEPTH_NUMANODE}
* - {@link #HWLOC_TYPE_DEPTH_BRIDGE TYPE_DEPTH_BRIDGE}
* - {@link #HWLOC_TYPE_DEPTH_PCI_DEVICE TYPE_DEPTH_PCI_DEVICE}
* - {@link #HWLOC_TYPE_DEPTH_OS_DEVICE TYPE_DEPTH_OS_DEVICE}
* - {@link #HWLOC_TYPE_DEPTH_MISC TYPE_DEPTH_MISC}
* - {@link #HWLOC_TYPE_DEPTH_MEMCACHE TYPE_DEPTH_MEMCACHE}
*
*/
public static final int
HWLOC_TYPE_DEPTH_UNKNOWN = -1,
HWLOC_TYPE_DEPTH_MULTIPLE = -2,
HWLOC_TYPE_DEPTH_NUMANODE = -3,
HWLOC_TYPE_DEPTH_BRIDGE = -4,
HWLOC_TYPE_DEPTH_PCI_DEVICE = -5,
HWLOC_TYPE_DEPTH_OS_DEVICE = -6,
HWLOC_TYPE_DEPTH_MISC = -7,
HWLOC_TYPE_DEPTH_MEMCACHE = -8;
/**
* {@code enum hwloc_obj_snprintf_flag_e}
*
* Enum values:
*
*
* - {@link #HWLOC_OBJ_SNPRINTF_FLAG_LONG_NAMES OBJ_SNPRINTF_FLAG_LONG_NAMES}
* - {@link #HWLOC_OBJ_SNPRINTF_FLAG_SHORT_NAMES OBJ_SNPRINTF_FLAG_SHORT_NAMES}
* - {@link #HWLOC_OBJ_SNPRINTF_FLAG_MORE_ATTRS OBJ_SNPRINTF_FLAG_MORE_ATTRS}
* - {@link #HWLOC_OBJ_SNPRINTF_FLAG_NO_UNITS OBJ_SNPRINTF_FLAG_NO_UNITS}
* - {@link #HWLOC_OBJ_SNPRINTF_FLAG_UNITS_1000 OBJ_SNPRINTF_FLAG_UNITS_1000}
* - {@link #HWLOC_OBJ_SNPRINTF_FLAG_OLD_VERBOSE OBJ_SNPRINTF_FLAG_OLD_VERBOSE}
*
*/
public static final long
HWLOC_OBJ_SNPRINTF_FLAG_LONG_NAMES = 1L<<1,
HWLOC_OBJ_SNPRINTF_FLAG_SHORT_NAMES = 1L<<2,
HWLOC_OBJ_SNPRINTF_FLAG_MORE_ATTRS = 1L<<3,
HWLOC_OBJ_SNPRINTF_FLAG_NO_UNITS = 1L<<4,
HWLOC_OBJ_SNPRINTF_FLAG_UNITS_1000 = 1L<<5,
HWLOC_OBJ_SNPRINTF_FLAG_OLD_VERBOSE = 1L<<0;
/**
* {@code hwloc_cpubind_flags_t}
*
* Enum values:
*
*
* - {@link #HWLOC_CPUBIND_PROCESS CPUBIND_PROCESS}
* - {@link #HWLOC_CPUBIND_THREAD CPUBIND_THREAD}
* - {@link #HWLOC_CPUBIND_STRICT CPUBIND_STRICT}
* - {@link #HWLOC_CPUBIND_NOMEMBIND CPUBIND_NOMEMBIND}
*
*/
public static final int
HWLOC_CPUBIND_PROCESS = 1<<0,
HWLOC_CPUBIND_THREAD = 1<<1,
HWLOC_CPUBIND_STRICT = 1<<2,
HWLOC_CPUBIND_NOMEMBIND = 1<<3;
/**
* {@code hwloc_membind_policy_t}
*
* Enum values:
*
*
* - {@link #HWLOC_MEMBIND_DEFAULT MEMBIND_DEFAULT}
* - {@link #HWLOC_MEMBIND_FIRSTTOUCH MEMBIND_FIRSTTOUCH}
* - {@link #HWLOC_MEMBIND_BIND MEMBIND_BIND}
* - {@link #HWLOC_MEMBIND_INTERLEAVE MEMBIND_INTERLEAVE}
* - {@link #HWLOC_MEMBIND_NEXTTOUCH MEMBIND_NEXTTOUCH}
* - {@link #HWLOC_MEMBIND_MIXED MEMBIND_MIXED}
*
*/
public static final int
HWLOC_MEMBIND_DEFAULT = 0,
HWLOC_MEMBIND_FIRSTTOUCH = 1,
HWLOC_MEMBIND_BIND = 2,
HWLOC_MEMBIND_INTERLEAVE = 3,
HWLOC_MEMBIND_NEXTTOUCH = 4,
HWLOC_MEMBIND_MIXED = -1;
/**
* {@code hwloc_membind_flags_t}
*
* Enum values:
*
*
* - {@link #HWLOC_MEMBIND_PROCESS MEMBIND_PROCESS}
* - {@link #HWLOC_MEMBIND_THREAD MEMBIND_THREAD}
* - {@link #HWLOC_MEMBIND_STRICT MEMBIND_STRICT}
* - {@link #HWLOC_MEMBIND_MIGRATE MEMBIND_MIGRATE}
* - {@link #HWLOC_MEMBIND_NOCPUBIND MEMBIND_NOCPUBIND}
* - {@link #HWLOC_MEMBIND_BYNODESET MEMBIND_BYNODESET}
*
*/
public static final int
HWLOC_MEMBIND_PROCESS = 1<<0,
HWLOC_MEMBIND_THREAD = 1<<1,
HWLOC_MEMBIND_STRICT = 1<<2,
HWLOC_MEMBIND_MIGRATE = 1<<3,
HWLOC_MEMBIND_NOCPUBIND = 1<<4,
HWLOC_MEMBIND_BYNODESET = 1<<5;
/** {@code enum hwloc_topology_components_flag_e} */
public static final long HWLOC_TOPOLOGY_COMPONENTS_FLAG_BLACKLIST = 1L<<0;
/**
* {@code enum hwloc_topology_flags_e}
*
* Enum values:
*
*
* - {@link #HWLOC_TOPOLOGY_FLAG_INCLUDE_DISALLOWED TOPOLOGY_FLAG_INCLUDE_DISALLOWED}
* - {@link #HWLOC_TOPOLOGY_FLAG_IS_THISSYSTEM TOPOLOGY_FLAG_IS_THISSYSTEM}
* - {@link #HWLOC_TOPOLOGY_FLAG_THISSYSTEM_ALLOWED_RESOURCES TOPOLOGY_FLAG_THISSYSTEM_ALLOWED_RESOURCES}
* - {@link #HWLOC_TOPOLOGY_FLAG_IMPORT_SUPPORT TOPOLOGY_FLAG_IMPORT_SUPPORT}
* - {@link #HWLOC_TOPOLOGY_FLAG_RESTRICT_TO_CPUBINDING TOPOLOGY_FLAG_RESTRICT_TO_CPUBINDING}
* - {@link #HWLOC_TOPOLOGY_FLAG_RESTRICT_TO_MEMBINDING TOPOLOGY_FLAG_RESTRICT_TO_MEMBINDING}
* - {@link #HWLOC_TOPOLOGY_FLAG_DONT_CHANGE_BINDING TOPOLOGY_FLAG_DONT_CHANGE_BINDING}
* - {@link #HWLOC_TOPOLOGY_FLAG_NO_DISTANCES TOPOLOGY_FLAG_NO_DISTANCES}
* - {@link #HWLOC_TOPOLOGY_FLAG_NO_MEMATTRS TOPOLOGY_FLAG_NO_MEMATTRS}
* - {@link #HWLOC_TOPOLOGY_FLAG_NO_CPUKINDS TOPOLOGY_FLAG_NO_CPUKINDS}
*
*/
public static final long
HWLOC_TOPOLOGY_FLAG_INCLUDE_DISALLOWED = 1L<<0,
HWLOC_TOPOLOGY_FLAG_IS_THISSYSTEM = 1L<<1,
HWLOC_TOPOLOGY_FLAG_THISSYSTEM_ALLOWED_RESOURCES = 1L<<2,
HWLOC_TOPOLOGY_FLAG_IMPORT_SUPPORT = 1L<<3,
HWLOC_TOPOLOGY_FLAG_RESTRICT_TO_CPUBINDING = 1L<<4,
HWLOC_TOPOLOGY_FLAG_RESTRICT_TO_MEMBINDING = 1L<<5,
HWLOC_TOPOLOGY_FLAG_DONT_CHANGE_BINDING = 1L<<6,
HWLOC_TOPOLOGY_FLAG_NO_DISTANCES = 1L<<7,
HWLOC_TOPOLOGY_FLAG_NO_MEMATTRS = 1L<<8,
HWLOC_TOPOLOGY_FLAG_NO_CPUKINDS = 1L<<9;
/**
* {@code enum hwloc_type_filter_e}
*
* Enum values:
*
*
* - {@link #HWLOC_TYPE_FILTER_KEEP_ALL TYPE_FILTER_KEEP_ALL}
* - {@link #HWLOC_TYPE_FILTER_KEEP_NONE TYPE_FILTER_KEEP_NONE}
* - {@link #HWLOC_TYPE_FILTER_KEEP_STRUCTURE TYPE_FILTER_KEEP_STRUCTURE}
* - {@link #HWLOC_TYPE_FILTER_KEEP_IMPORTANT TYPE_FILTER_KEEP_IMPORTANT}
*
*/
public static final int
HWLOC_TYPE_FILTER_KEEP_ALL = 0,
HWLOC_TYPE_FILTER_KEEP_NONE = 1,
HWLOC_TYPE_FILTER_KEEP_STRUCTURE = 2,
HWLOC_TYPE_FILTER_KEEP_IMPORTANT = 3;
/**
* {@code enum hwloc_restrict_flags_e}
*
* Enum values:
*
*
* - {@link #HWLOC_RESTRICT_FLAG_REMOVE_CPULESS RESTRICT_FLAG_REMOVE_CPULESS}
* - {@link #HWLOC_RESTRICT_FLAG_BYNODESET RESTRICT_FLAG_BYNODESET}
* - {@link #HWLOC_RESTRICT_FLAG_REMOVE_MEMLESS RESTRICT_FLAG_REMOVE_MEMLESS}
* - {@link #HWLOC_RESTRICT_FLAG_ADAPT_MISC RESTRICT_FLAG_ADAPT_MISC}
* - {@link #HWLOC_RESTRICT_FLAG_ADAPT_IO RESTRICT_FLAG_ADAPT_IO}
*
*/
public static final long
HWLOC_RESTRICT_FLAG_REMOVE_CPULESS = 1L<<0,
HWLOC_RESTRICT_FLAG_BYNODESET = 1L<<3,
HWLOC_RESTRICT_FLAG_REMOVE_MEMLESS = 1L<<4,
HWLOC_RESTRICT_FLAG_ADAPT_MISC = 1L<<1,
HWLOC_RESTRICT_FLAG_ADAPT_IO = 1L<<2;
/**
* {@code enum hwloc_allow_flags_e}
*
* Enum values:
*
*
* - {@link #HWLOC_ALLOW_FLAG_ALL ALLOW_FLAG_ALL}
* - {@link #HWLOC_ALLOW_FLAG_LOCAL_RESTRICTIONS ALLOW_FLAG_LOCAL_RESTRICTIONS}
* - {@link #HWLOC_ALLOW_FLAG_CUSTOM ALLOW_FLAG_CUSTOM}
*
*/
public static final long
HWLOC_ALLOW_FLAG_ALL = 1L<<0,
HWLOC_ALLOW_FLAG_LOCAL_RESTRICTIONS = 1L<<1,
HWLOC_ALLOW_FLAG_CUSTOM = 1L<<2;
/**
* {@code hwloc_modify_infos_op_e}
*
* Enum values:
*
*
* - {@link #HWLOC_MODIFY_INFOS_OP_ADD MODIFY_INFOS_OP_ADD}
* - {@link #HWLOC_MODIFY_INFOS_OP_ADD_UNIQUE MODIFY_INFOS_OP_ADD_UNIQUE}
* - {@link #HWLOC_MODIFY_INFOS_OP_REPLACE MODIFY_INFOS_OP_REPLACE}
* - {@link #HWLOC_MODIFY_INFOS_OP_REMOVE MODIFY_INFOS_OP_REMOVE}
*
*/
public static final long
HWLOC_MODIFY_INFOS_OP_ADD = 1L<<0,
HWLOC_MODIFY_INFOS_OP_ADD_UNIQUE = 1L<<1,
HWLOC_MODIFY_INFOS_OP_REPLACE = 1L<<2,
HWLOC_MODIFY_INFOS_OP_REMOVE = 1L<<3;
/** {@code enum hwloc_distrib_flags_e} */
public static final long HWLOC_DISTRIB_FLAG_REVERSE = 1L<<0;
/**
* {@code enum hwloc_memattr_id_e}
*
* Enum values:
*
*
* - {@link #HWLOC_MEMATTR_ID_CAPACITY MEMATTR_ID_CAPACITY}
* - {@link #HWLOC_MEMATTR_ID_LOCALITY MEMATTR_ID_LOCALITY}
* - {@link #HWLOC_MEMATTR_ID_BANDWIDTH MEMATTR_ID_BANDWIDTH}
* - {@link #HWLOC_MEMATTR_ID_READ_BANDWIDTH MEMATTR_ID_READ_BANDWIDTH}
* - {@link #HWLOC_MEMATTR_ID_WRITE_BANDWIDTH MEMATTR_ID_WRITE_BANDWIDTH}
* - {@link #HWLOC_MEMATTR_ID_LATENCY MEMATTR_ID_LATENCY}
* - {@link #HWLOC_MEMATTR_ID_READ_LATENCY MEMATTR_ID_READ_LATENCY}
* - {@link #HWLOC_MEMATTR_ID_WRITE_LATENCY MEMATTR_ID_WRITE_LATENCY}
*
*/
public static final int
HWLOC_MEMATTR_ID_CAPACITY = 0,
HWLOC_MEMATTR_ID_LOCALITY = 1,
HWLOC_MEMATTR_ID_BANDWIDTH = 2,
HWLOC_MEMATTR_ID_READ_BANDWIDTH = 4,
HWLOC_MEMATTR_ID_WRITE_BANDWIDTH = 5,
HWLOC_MEMATTR_ID_LATENCY = 3,
HWLOC_MEMATTR_ID_READ_LATENCY = 6,
HWLOC_MEMATTR_ID_WRITE_LATENCY = 7;
/**
* {@code enum hwloc_location_type_e}
*
* Enum values:
*
*
* - {@link #HWLOC_LOCATION_TYPE_CPUSET LOCATION_TYPE_CPUSET}
* - {@link #HWLOC_LOCATION_TYPE_OBJECT LOCATION_TYPE_OBJECT}
*
*/
public static final int
HWLOC_LOCATION_TYPE_CPUSET = 1,
HWLOC_LOCATION_TYPE_OBJECT = 0;
/**
* {@code enum hwloc_local_numanode_flag_e}
*
* Enum values:
*
*
* - {@link #HWLOC_LOCAL_NUMANODE_FLAG_LARGER_LOCALITY LOCAL_NUMANODE_FLAG_LARGER_LOCALITY}
* - {@link #HWLOC_LOCAL_NUMANODE_FLAG_SMALLER_LOCALITY LOCAL_NUMANODE_FLAG_SMALLER_LOCALITY}
* - {@link #HWLOC_LOCAL_NUMANODE_FLAG_ALL LOCAL_NUMANODE_FLAG_ALL}
*
*/
public static final long
HWLOC_LOCAL_NUMANODE_FLAG_LARGER_LOCALITY = 1L<<0,
HWLOC_LOCAL_NUMANODE_FLAG_SMALLER_LOCALITY = 1L<<1,
HWLOC_LOCAL_NUMANODE_FLAG_ALL = 1L<<2;
/**
* {@code enum hwloc_memattr_flag_e}
*
* Enum values:
*
*
* - {@link #HWLOC_MEMATTR_FLAG_HIGHER_FIRST MEMATTR_FLAG_HIGHER_FIRST}
* - {@link #HWLOC_MEMATTR_FLAG_LOWER_FIRST MEMATTR_FLAG_LOWER_FIRST}
* - {@link #HWLOC_MEMATTR_FLAG_NEED_INITIATOR MEMATTR_FLAG_NEED_INITIATOR}
*
*/
public static final long
HWLOC_MEMATTR_FLAG_HIGHER_FIRST = 1L<<0,
HWLOC_MEMATTR_FLAG_LOWER_FIRST = 1L<<1,
HWLOC_MEMATTR_FLAG_NEED_INITIATOR = 1L<<2;
/** {@code enum hwloc_topology_export_xml_flags_e} */
public static final long HWLOC_TOPOLOGY_EXPORT_XML_FLAG_V2 = 1L<<1;
/**
* {@code enum hwloc_topology_export_synthetic_flags_e}
*
* Enum values:
*
*
* - {@link #HWLOC_TOPOLOGY_EXPORT_SYNTHETIC_FLAG_NO_EXTENDED_TYPES TOPOLOGY_EXPORT_SYNTHETIC_FLAG_NO_EXTENDED_TYPES}
* - {@link #HWLOC_TOPOLOGY_EXPORT_SYNTHETIC_FLAG_NO_ATTRS TOPOLOGY_EXPORT_SYNTHETIC_FLAG_NO_ATTRS}
* - {@link #HWLOC_TOPOLOGY_EXPORT_SYNTHETIC_FLAG_V1 TOPOLOGY_EXPORT_SYNTHETIC_FLAG_V1}
* - {@link #HWLOC_TOPOLOGY_EXPORT_SYNTHETIC_FLAG_IGNORE_MEMORY TOPOLOGY_EXPORT_SYNTHETIC_FLAG_IGNORE_MEMORY}
*
*/
public static final long
HWLOC_TOPOLOGY_EXPORT_SYNTHETIC_FLAG_NO_EXTENDED_TYPES = 1L<<0,
HWLOC_TOPOLOGY_EXPORT_SYNTHETIC_FLAG_NO_ATTRS = 1L<<1,
HWLOC_TOPOLOGY_EXPORT_SYNTHETIC_FLAG_V1 = 1L<<2,
HWLOC_TOPOLOGY_EXPORT_SYNTHETIC_FLAG_IGNORE_MEMORY = 1L<<3;
/**
* {@code enum hwloc_distances_kind_e}
*
* Enum values:
*
*
* - {@link #HWLOC_DISTANCES_KIND_FROM_OS DISTANCES_KIND_FROM_OS}
* - {@link #HWLOC_DISTANCES_KIND_FROM_USER DISTANCES_KIND_FROM_USER}
* - {@link #HWLOC_DISTANCES_KIND_MEANS_LATENCY DISTANCES_KIND_MEANS_LATENCY}
* - {@link #HWLOC_DISTANCES_KIND_MEANS_BANDWIDTH DISTANCES_KIND_MEANS_BANDWIDTH}
* - {@link #HWLOC_DISTANCES_KIND_HETEROGENEOUS_TYPES DISTANCES_KIND_HETEROGENEOUS_TYPES}
*
*/
public static final long
HWLOC_DISTANCES_KIND_FROM_OS = 1L<<0,
HWLOC_DISTANCES_KIND_FROM_USER = 1L<<1,
HWLOC_DISTANCES_KIND_MEANS_LATENCY = 1L<<2,
HWLOC_DISTANCES_KIND_MEANS_BANDWIDTH = 1L<<3,
HWLOC_DISTANCES_KIND_HETEROGENEOUS_TYPES = 1L<<4;
/**
* {@code enum hwloc_distances_transform_e}
*
* Enum values:
*
*
* - {@link #HWLOC_DISTANCES_TRANSFORM_REMOVE_NULL DISTANCES_TRANSFORM_REMOVE_NULL}
* - {@link #HWLOC_DISTANCES_TRANSFORM_LINKS DISTANCES_TRANSFORM_LINKS}
* - {@link #HWLOC_DISTANCES_TRANSFORM_MERGE_SWITCH_PORTS DISTANCES_TRANSFORM_MERGE_SWITCH_PORTS}
* - {@link #HWLOC_DISTANCES_TRANSFORM_TRANSITIVE_CLOSURE DISTANCES_TRANSFORM_TRANSITIVE_CLOSURE}
*
*/
public static final int
HWLOC_DISTANCES_TRANSFORM_REMOVE_NULL = 0,
HWLOC_DISTANCES_TRANSFORM_LINKS = 1,
HWLOC_DISTANCES_TRANSFORM_MERGE_SWITCH_PORTS = 2,
HWLOC_DISTANCES_TRANSFORM_TRANSITIVE_CLOSURE = 3;
/**
* {@code enum hwloc_distances_add_flag_e}
*
* Enum values:
*
*
* - {@link #HWLOC_DISTANCES_ADD_FLAG_GROUP DISTANCES_ADD_FLAG_GROUP}
* - {@link #HWLOC_DISTANCES_ADD_FLAG_GROUP_INACCURATE DISTANCES_ADD_FLAG_GROUP_INACCURATE}
*
*/
public static final long
HWLOC_DISTANCES_ADD_FLAG_GROUP = 1L<<0,
HWLOC_DISTANCES_ADD_FLAG_GROUP_INACCURATE = 1L<<1;
/**
* {@code hwloc_topology_diff_obj_attr_type_t}
*
* Enum values:
*
*
* - {@link #HWLOC_TOPOLOGY_DIFF_OBJ_ATTR_SIZE TOPOLOGY_DIFF_OBJ_ATTR_SIZE}
* - {@link #HWLOC_TOPOLOGY_DIFF_OBJ_ATTR_NAME TOPOLOGY_DIFF_OBJ_ATTR_NAME}
* - {@link #HWLOC_TOPOLOGY_DIFF_OBJ_ATTR_INFO TOPOLOGY_DIFF_OBJ_ATTR_INFO}
*
*/
public static final int
HWLOC_TOPOLOGY_DIFF_OBJ_ATTR_SIZE = 0,
HWLOC_TOPOLOGY_DIFF_OBJ_ATTR_NAME = 1,
HWLOC_TOPOLOGY_DIFF_OBJ_ATTR_INFO = 2;
/**
* {@code hwloc_topology_diff_type_t}
*
* Enum values:
*
*
* - {@link #HWLOC_TOPOLOGY_DIFF_OBJ_ATTR TOPOLOGY_DIFF_OBJ_ATTR}
* - {@link #HWLOC_TOPOLOGY_DIFF_TOO_COMPLEX TOPOLOGY_DIFF_TOO_COMPLEX}
*
*/
public static final int
HWLOC_TOPOLOGY_DIFF_OBJ_ATTR = 0,
HWLOC_TOPOLOGY_DIFF_TOO_COMPLEX = 1;
/** {@code enum hwloc_topology_diff_apply_flags_e} */
public static final long HWLOC_TOPOLOGY_DIFF_APPLY_REVERSE = 1L<<0;
protected HWLoc() {
throw new UnsupportedOperationException();
}
// --- [ hwloc_bitmap_alloc ] ---
@NativeType("hwloc_bitmap_t")
public static long hwloc_bitmap_alloc() {
long __functionAddress = Functions.bitmap_alloc;
return invokeP(__functionAddress);
}
// --- [ hwloc_bitmap_alloc_full ] ---
@NativeType("hwloc_bitmap_t")
public static long hwloc_bitmap_alloc_full() {
long __functionAddress = Functions.bitmap_alloc_full;
return invokeP(__functionAddress);
}
// --- [ hwloc_bitmap_free ] ---
public static void hwloc_bitmap_free(@NativeType("hwloc_bitmap_t") long bitmap) {
long __functionAddress = Functions.bitmap_free;
invokePV(bitmap, __functionAddress);
}
// --- [ hwloc_bitmap_dup ] ---
@NativeType("hwloc_bitmap_t")
public static long hwloc_bitmap_dup(@NativeType("hwloc_const_bitmap_t") long bitmap) {
long __functionAddress = Functions.bitmap_dup;
return invokePP(bitmap, __functionAddress);
}
// --- [ hwloc_bitmap_copy ] ---
public static int hwloc_bitmap_copy(@NativeType("hwloc_bitmap_t") long dst, @NativeType("hwloc_const_bitmap_t") long src) {
long __functionAddress = Functions.bitmap_copy;
if (CHECKS) {
check(dst);
check(src);
}
return invokePPI(dst, src, __functionAddress);
}
// --- [ hwloc_bitmap_snprintf ] ---
public static int nhwloc_bitmap_snprintf(long buf, long buflen, long bitmap) {
long __functionAddress = Functions.bitmap_snprintf;
if (CHECKS) {
check(bitmap);
}
return invokePPPI(buf, buflen, bitmap, __functionAddress);
}
public static int hwloc_bitmap_snprintf(@Nullable @NativeType("char *") ByteBuffer buf, @NativeType("hwloc_const_bitmap_t") long bitmap) {
return nhwloc_bitmap_snprintf(memAddressSafe(buf), remainingSafe(buf), bitmap);
}
// --- [ hwloc_bitmap_asprintf ] ---
public static int nhwloc_bitmap_asprintf(long strp, long bitmap) {
long __functionAddress = Functions.bitmap_asprintf;
if (CHECKS) {
check(bitmap);
}
return invokePPI(strp, bitmap, __functionAddress);
}
public static int hwloc_bitmap_asprintf(@NativeType("char **") PointerBuffer strp, @NativeType("hwloc_const_bitmap_t") long bitmap) {
if (CHECKS) {
check(strp, 1);
}
return nhwloc_bitmap_asprintf(memAddress(strp), bitmap);
}
// --- [ hwloc_bitmap_sscanf ] ---
public static int nhwloc_bitmap_sscanf(long bitmap, long string) {
long __functionAddress = Functions.bitmap_sscanf;
if (CHECKS) {
check(bitmap);
}
return invokePPI(bitmap, string, __functionAddress);
}
public static int hwloc_bitmap_sscanf(@NativeType("hwloc_bitmap_t") long bitmap, @NativeType("char const *") ByteBuffer string) {
if (CHECKS) {
checkNT1(string);
}
return nhwloc_bitmap_sscanf(bitmap, memAddress(string));
}
public static int hwloc_bitmap_sscanf(@NativeType("hwloc_bitmap_t") long bitmap, @NativeType("char const *") CharSequence string) {
MemoryStack stack = stackGet(); int stackPointer = stack.getPointer();
try {
stack.nASCII(string, true);
long stringEncoded = stack.getPointerAddress();
return nhwloc_bitmap_sscanf(bitmap, stringEncoded);
} finally {
stack.setPointer(stackPointer);
}
}
// --- [ hwloc_bitmap_list_snprintf ] ---
public static int nhwloc_bitmap_list_snprintf(long buf, long buflen, long bitmap) {
long __functionAddress = Functions.bitmap_list_snprintf;
if (CHECKS) {
check(bitmap);
}
return invokePPPI(buf, buflen, bitmap, __functionAddress);
}
public static int hwloc_bitmap_list_snprintf(@Nullable @NativeType("char *") ByteBuffer buf, @NativeType("hwloc_const_bitmap_t") long bitmap) {
return nhwloc_bitmap_list_snprintf(memAddressSafe(buf), remainingSafe(buf), bitmap);
}
// --- [ hwloc_bitmap_list_asprintf ] ---
public static int nhwloc_bitmap_list_asprintf(long strp, long bitmap) {
long __functionAddress = Functions.bitmap_list_asprintf;
if (CHECKS) {
check(bitmap);
}
return invokePPI(strp, bitmap, __functionAddress);
}
public static int hwloc_bitmap_list_asprintf(@NativeType("char **") PointerBuffer strp, @NativeType("hwloc_const_bitmap_t") long bitmap) {
if (CHECKS) {
check(strp, 1);
}
return nhwloc_bitmap_list_asprintf(memAddress(strp), bitmap);
}
// --- [ hwloc_bitmap_list_sscanf ] ---
public static int nhwloc_bitmap_list_sscanf(long bitmap, long string) {
long __functionAddress = Functions.bitmap_list_sscanf;
if (CHECKS) {
check(bitmap);
}
return invokePPI(bitmap, string, __functionAddress);
}
public static int hwloc_bitmap_list_sscanf(@NativeType("hwloc_bitmap_t") long bitmap, @NativeType("char const *") ByteBuffer string) {
if (CHECKS) {
checkNT1(string);
}
return nhwloc_bitmap_list_sscanf(bitmap, memAddress(string));
}
public static int hwloc_bitmap_list_sscanf(@NativeType("hwloc_bitmap_t") long bitmap, @NativeType("char const *") CharSequence string) {
MemoryStack stack = stackGet(); int stackPointer = stack.getPointer();
try {
stack.nASCII(string, true);
long stringEncoded = stack.getPointerAddress();
return nhwloc_bitmap_list_sscanf(bitmap, stringEncoded);
} finally {
stack.setPointer(stackPointer);
}
}
// --- [ hwloc_bitmap_taskset_snprintf ] ---
public static int nhwloc_bitmap_taskset_snprintf(long buf, long buflen, long bitmap) {
long __functionAddress = Functions.bitmap_taskset_snprintf;
if (CHECKS) {
check(bitmap);
}
return invokePPPI(buf, buflen, bitmap, __functionAddress);
}
public static int hwloc_bitmap_taskset_snprintf(@Nullable @NativeType("char *") ByteBuffer buf, @NativeType("hwloc_const_bitmap_t") long bitmap) {
return nhwloc_bitmap_taskset_snprintf(memAddressSafe(buf), remainingSafe(buf), bitmap);
}
// --- [ hwloc_bitmap_taskset_asprintf ] ---
public static int nhwloc_bitmap_taskset_asprintf(long strp, long bitmap) {
long __functionAddress = Functions.bitmap_taskset_asprintf;
if (CHECKS) {
check(bitmap);
}
return invokePPI(strp, bitmap, __functionAddress);
}
public static int hwloc_bitmap_taskset_asprintf(@NativeType("char **") PointerBuffer strp, @NativeType("hwloc_const_bitmap_t") long bitmap) {
if (CHECKS) {
check(strp, 1);
}
return nhwloc_bitmap_taskset_asprintf(memAddress(strp), bitmap);
}
// --- [ hwloc_bitmap_taskset_sscanf ] ---
public static int nhwloc_bitmap_taskset_sscanf(long bitmap, long string) {
long __functionAddress = Functions.bitmap_taskset_sscanf;
if (CHECKS) {
check(bitmap);
}
return invokePPI(bitmap, string, __functionAddress);
}
public static int hwloc_bitmap_taskset_sscanf(@NativeType("hwloc_bitmap_t") long bitmap, @NativeType("char const *") ByteBuffer string) {
if (CHECKS) {
checkNT1(string);
}
return nhwloc_bitmap_taskset_sscanf(bitmap, memAddress(string));
}
public static int hwloc_bitmap_taskset_sscanf(@NativeType("hwloc_bitmap_t") long bitmap, @NativeType("char const *") CharSequence string) {
MemoryStack stack = stackGet(); int stackPointer = stack.getPointer();
try {
stack.nASCII(string, true);
long stringEncoded = stack.getPointerAddress();
return nhwloc_bitmap_taskset_sscanf(bitmap, stringEncoded);
} finally {
stack.setPointer(stackPointer);
}
}
// --- [ hwloc_bitmap_zero ] ---
public static void hwloc_bitmap_zero(@NativeType("hwloc_bitmap_t") long bitmap) {
long __functionAddress = Functions.bitmap_zero;
if (CHECKS) {
check(bitmap);
}
invokePV(bitmap, __functionAddress);
}
// --- [ hwloc_bitmap_fill ] ---
public static void hwloc_bitmap_fill(@NativeType("hwloc_bitmap_t") long bitmap) {
long __functionAddress = Functions.bitmap_fill;
if (CHECKS) {
check(bitmap);
}
invokePV(bitmap, __functionAddress);
}
// --- [ hwloc_bitmap_only ] ---
public static int hwloc_bitmap_only(@NativeType("hwloc_bitmap_t") long bitmap, @NativeType("unsigned int") int id) {
long __functionAddress = Functions.bitmap_only;
if (CHECKS) {
check(bitmap);
}
return invokePI(bitmap, id, __functionAddress);
}
// --- [ hwloc_bitmap_allbut ] ---
public static int hwloc_bitmap_allbut(@NativeType("hwloc_bitmap_t") long bitmap, @NativeType("unsigned int") int id) {
long __functionAddress = Functions.bitmap_allbut;
if (CHECKS) {
check(bitmap);
}
return invokePI(bitmap, id, __functionAddress);
}
// --- [ hwloc_bitmap_from_ulong ] ---
public static int hwloc_bitmap_from_ulong(@NativeType("hwloc_bitmap_t") long bitmap, @NativeType("unsigned long") long mask) {
long __functionAddress = Functions.bitmap_from_ulong;
if (CHECKS) {
check(bitmap);
}
return invokePNI(bitmap, mask, __functionAddress);
}
// --- [ hwloc_bitmap_from_ith_ulong ] ---
public static int hwloc_bitmap_from_ith_ulong(@NativeType("hwloc_bitmap_t") long bitmap, @NativeType("unsigned int") int i, @NativeType("unsigned long") long mask) {
long __functionAddress = Functions.bitmap_from_ith_ulong;
if (CHECKS) {
check(bitmap);
}
return invokePNI(bitmap, i, mask, __functionAddress);
}
// --- [ hwloc_bitmap_from_ulongs ] ---
public static int nhwloc_bitmap_from_ulongs(long bitmap, int nr, long masks) {
long __functionAddress = Functions.bitmap_from_ulongs;
if (CHECKS) {
check(bitmap);
}
return invokePPI(bitmap, nr, masks, __functionAddress);
}
public static int hwloc_bitmap_from_ulongs(@NativeType("hwloc_bitmap_t") long bitmap, @NativeType("unsigned long const *") CLongBuffer masks) {
return nhwloc_bitmap_from_ulongs(bitmap, masks.remaining(), memAddress(masks));
}
// --- [ hwloc_bitmap_set ] ---
public static int hwloc_bitmap_set(@NativeType("hwloc_bitmap_t") long bitmap, @NativeType("unsigned int") int id) {
long __functionAddress = Functions.bitmap_set;
if (CHECKS) {
check(bitmap);
}
return invokePI(bitmap, id, __functionAddress);
}
// --- [ hwloc_bitmap_set_range ] ---
public static int hwloc_bitmap_set_range(@NativeType("hwloc_bitmap_t") long bitmap, @NativeType("unsigned int") int begin, int end) {
long __functionAddress = Functions.bitmap_set_range;
if (CHECKS) {
check(bitmap);
}
return invokePI(bitmap, begin, end, __functionAddress);
}
// --- [ hwloc_bitmap_set_ith_ulong ] ---
public static int hwloc_bitmap_set_ith_ulong(@NativeType("hwloc_bitmap_t") long bitmap, @NativeType("unsigned int") int i, @NativeType("unsigned long") long mask) {
long __functionAddress = Functions.bitmap_set_ith_ulong;
if (CHECKS) {
check(bitmap);
}
return invokePNI(bitmap, i, mask, __functionAddress);
}
// --- [ hwloc_bitmap_clr ] ---
public static int hwloc_bitmap_clr(@NativeType("hwloc_bitmap_t") long bitmap, @NativeType("unsigned int") int id) {
long __functionAddress = Functions.bitmap_clr;
if (CHECKS) {
check(bitmap);
}
return invokePI(bitmap, id, __functionAddress);
}
// --- [ hwloc_bitmap_clr_range ] ---
public static int hwloc_bitmap_clr_range(@NativeType("hwloc_bitmap_t") long bitmap, @NativeType("unsigned int") int begin, int end) {
long __functionAddress = Functions.bitmap_clr_range;
if (CHECKS) {
check(bitmap);
}
return invokePI(bitmap, begin, end, __functionAddress);
}
// --- [ hwloc_bitmap_singlify ] ---
public static int hwloc_bitmap_singlify(@NativeType("hwloc_bitmap_t") long bitmap) {
long __functionAddress = Functions.bitmap_singlify;
if (CHECKS) {
check(bitmap);
}
return invokePI(bitmap, __functionAddress);
}
// --- [ hwloc_bitmap_to_ulong ] ---
@NativeType("unsigned long")
public static long hwloc_bitmap_to_ulong(@NativeType("hwloc_const_bitmap_t") long bitmap) {
long __functionAddress = Functions.bitmap_to_ulong;
if (CHECKS) {
check(bitmap);
}
return invokePN(bitmap, __functionAddress);
}
// --- [ hwloc_bitmap_to_ith_ulong ] ---
@NativeType("unsigned long")
public static long hwloc_bitmap_to_ith_ulong(@NativeType("hwloc_const_bitmap_t") long bitmap, @NativeType("unsigned int") int i) {
long __functionAddress = Functions.bitmap_to_ith_ulong;
if (CHECKS) {
check(bitmap);
}
return invokePN(bitmap, i, __functionAddress);
}
// --- [ hwloc_bitmap_to_ulongs ] ---
public static int nhwloc_bitmap_to_ulongs(long bitmap, int nr, long masks) {
long __functionAddress = Functions.bitmap_to_ulongs;
if (CHECKS) {
check(bitmap);
}
return invokePPI(bitmap, nr, masks, __functionAddress);
}
public static int hwloc_bitmap_to_ulongs(@NativeType("hwloc_const_bitmap_t") long bitmap, @NativeType("unsigned long *") CLongBuffer masks) {
return nhwloc_bitmap_to_ulongs(bitmap, masks.remaining(), memAddress(masks));
}
// --- [ hwloc_bitmap_nr_ulongs ] ---
public static int hwloc_bitmap_nr_ulongs(@NativeType("hwloc_const_bitmap_t") long bitmap) {
long __functionAddress = Functions.bitmap_nr_ulongs;
if (CHECKS) {
check(bitmap);
}
return invokePI(bitmap, __functionAddress);
}
// --- [ hwloc_bitmap_isset ] ---
@NativeType("int")
public static boolean hwloc_bitmap_isset(@NativeType("hwloc_const_bitmap_t") long bitmap, @NativeType("unsigned int") int id) {
long __functionAddress = Functions.bitmap_isset;
if (CHECKS) {
check(bitmap);
}
return invokePI(bitmap, id, __functionAddress) != 0;
}
// --- [ hwloc_bitmap_iszero ] ---
@NativeType("int")
public static boolean hwloc_bitmap_iszero(@NativeType("hwloc_const_bitmap_t") long bitmap) {
long __functionAddress = Functions.bitmap_iszero;
if (CHECKS) {
check(bitmap);
}
return invokePI(bitmap, __functionAddress) != 0;
}
// --- [ hwloc_bitmap_isfull ] ---
@NativeType("int")
public static boolean hwloc_bitmap_isfull(@NativeType("hwloc_const_bitmap_t") long bitmap) {
long __functionAddress = Functions.bitmap_isfull;
if (CHECKS) {
check(bitmap);
}
return invokePI(bitmap, __functionAddress) != 0;
}
// --- [ hwloc_bitmap_first ] ---
public static int hwloc_bitmap_first(@NativeType("hwloc_const_bitmap_t") long bitmap) {
long __functionAddress = Functions.bitmap_first;
if (CHECKS) {
check(bitmap);
}
return invokePI(bitmap, __functionAddress);
}
// --- [ hwloc_bitmap_next ] ---
public static int hwloc_bitmap_next(@NativeType("hwloc_const_bitmap_t") long bitmap, int prev) {
long __functionAddress = Functions.bitmap_next;
if (CHECKS) {
check(bitmap);
}
return invokePI(bitmap, prev, __functionAddress);
}
// --- [ hwloc_bitmap_last ] ---
public static int hwloc_bitmap_last(@NativeType("hwloc_const_bitmap_t") long bitmap) {
long __functionAddress = Functions.bitmap_last;
if (CHECKS) {
check(bitmap);
}
return invokePI(bitmap, __functionAddress);
}
// --- [ hwloc_bitmap_weight ] ---
public static int hwloc_bitmap_weight(@NativeType("hwloc_const_bitmap_t") long bitmap) {
long __functionAddress = Functions.bitmap_weight;
if (CHECKS) {
check(bitmap);
}
return invokePI(bitmap, __functionAddress);
}
// --- [ hwloc_bitmap_first_unset ] ---
public static int hwloc_bitmap_first_unset(@NativeType("hwloc_const_bitmap_t") long bitmap) {
long __functionAddress = Functions.bitmap_first_unset;
if (CHECKS) {
check(bitmap);
}
return invokePI(bitmap, __functionAddress);
}
// --- [ hwloc_bitmap_next_unset ] ---
public static int hwloc_bitmap_next_unset(@NativeType("hwloc_const_bitmap_t") long bitmap, int prev) {
long __functionAddress = Functions.bitmap_next_unset;
if (CHECKS) {
check(bitmap);
}
return invokePI(bitmap, prev, __functionAddress);
}
// --- [ hwloc_bitmap_last_unset ] ---
public static int hwloc_bitmap_last_unset(@NativeType("hwloc_const_bitmap_t") long bitmap) {
long __functionAddress = Functions.bitmap_last_unset;
if (CHECKS) {
check(bitmap);
}
return invokePI(bitmap, __functionAddress);
}
// --- [ hwloc_bitmap_or ] ---
public static int hwloc_bitmap_or(@NativeType("hwloc_bitmap_t") long res, @NativeType("hwloc_const_bitmap_t") long bitmap1, @NativeType("hwloc_const_bitmap_t") long bitmap2) {
long __functionAddress = Functions.bitmap_or;
if (CHECKS) {
check(res);
check(bitmap1);
check(bitmap2);
}
return invokePPPI(res, bitmap1, bitmap2, __functionAddress);
}
// --- [ hwloc_bitmap_and ] ---
public static int hwloc_bitmap_and(@NativeType("hwloc_bitmap_t") long res, @NativeType("hwloc_const_bitmap_t") long bitmap1, @NativeType("hwloc_const_bitmap_t") long bitmap2) {
long __functionAddress = Functions.bitmap_and;
if (CHECKS) {
check(res);
check(bitmap1);
check(bitmap2);
}
return invokePPPI(res, bitmap1, bitmap2, __functionAddress);
}
// --- [ hwloc_bitmap_andnot ] ---
public static int hwloc_bitmap_andnot(@NativeType("hwloc_bitmap_t") long res, @NativeType("hwloc_const_bitmap_t") long bitmap1, @NativeType("hwloc_const_bitmap_t") long bitmap2) {
long __functionAddress = Functions.bitmap_andnot;
if (CHECKS) {
check(res);
check(bitmap1);
check(bitmap2);
}
return invokePPPI(res, bitmap1, bitmap2, __functionAddress);
}
// --- [ hwloc_bitmap_xor ] ---
public static int hwloc_bitmap_xor(@NativeType("hwloc_bitmap_t") long res, @NativeType("hwloc_const_bitmap_t") long bitmap1, @NativeType("hwloc_const_bitmap_t") long bitmap2) {
long __functionAddress = Functions.bitmap_xor;
if (CHECKS) {
check(res);
check(bitmap1);
check(bitmap2);
}
return invokePPPI(res, bitmap1, bitmap2, __functionAddress);
}
// --- [ hwloc_bitmap_not ] ---
public static int hwloc_bitmap_not(@NativeType("hwloc_bitmap_t") long res, @NativeType("hwloc_const_bitmap_t") long bitmap) {
long __functionAddress = Functions.bitmap_not;
if (CHECKS) {
check(res);
check(bitmap);
}
return invokePPI(res, bitmap, __functionAddress);
}
// --- [ hwloc_bitmap_intersects ] ---
@NativeType("int")
public static boolean hwloc_bitmap_intersects(@NativeType("hwloc_const_bitmap_t") long bitmap1, @NativeType("hwloc_const_bitmap_t") long bitmap2) {
long __functionAddress = Functions.bitmap_intersects;
if (CHECKS) {
check(bitmap1);
check(bitmap2);
}
return invokePPI(bitmap1, bitmap2, __functionAddress) != 0;
}
// --- [ hwloc_bitmap_isincluded ] ---
@NativeType("int")
public static boolean hwloc_bitmap_isincluded(@NativeType("hwloc_const_bitmap_t") long sub_bitmap, @NativeType("hwloc_const_bitmap_t") long super_bitmap) {
long __functionAddress = Functions.bitmap_isincluded;
if (CHECKS) {
check(sub_bitmap);
check(super_bitmap);
}
return invokePPI(sub_bitmap, super_bitmap, __functionAddress) != 0;
}
// --- [ hwloc_bitmap_isequal ] ---
@NativeType("int")
public static boolean hwloc_bitmap_isequal(@NativeType("hwloc_const_bitmap_t") long bitmap1, @NativeType("hwloc_const_bitmap_t") long bitmap2) {
long __functionAddress = Functions.bitmap_isequal;
if (CHECKS) {
check(bitmap1);
check(bitmap2);
}
return invokePPI(bitmap1, bitmap2, __functionAddress) != 0;
}
// --- [ hwloc_bitmap_compare_first ] ---
public static int hwloc_bitmap_compare_first(@NativeType("hwloc_const_bitmap_t") long bitmap1, @NativeType("hwloc_const_bitmap_t") long bitmap2) {
long __functionAddress = Functions.bitmap_compare_first;
if (CHECKS) {
check(bitmap1);
check(bitmap2);
}
return invokePPI(bitmap1, bitmap2, __functionAddress);
}
// --- [ hwloc_bitmap_compare ] ---
public static int hwloc_bitmap_compare(@NativeType("hwloc_const_bitmap_t") long bitmap1, @NativeType("hwloc_const_bitmap_t") long bitmap2) {
long __functionAddress = Functions.bitmap_compare;
if (CHECKS) {
check(bitmap1);
check(bitmap2);
}
return invokePPI(bitmap1, bitmap2, __functionAddress);
}
// --- [ hwloc_get_api_version ] ---
@NativeType("unsigned")
public static int hwloc_get_api_version() {
long __functionAddress = Functions.get_api_version;
return invokeI(__functionAddress);
}
// --- [ hwloc_compare_types ] ---
public static int hwloc_compare_types(@NativeType("hwloc_obj_type_t") int type1, @NativeType("hwloc_obj_type_t") int type2) {
long __functionAddress = Functions.compare_types;
return invokeI(type1, type2, __functionAddress);
}
// --- [ hwloc_topology_init ] ---
public static int nhwloc_topology_init(long topologyp) {
long __functionAddress = Functions.topology_init;
return invokePI(topologyp, __functionAddress);
}
public static int hwloc_topology_init(@NativeType("hwloc_topology_t *") PointerBuffer topologyp) {
if (CHECKS) {
check(topologyp, 1);
}
return nhwloc_topology_init(memAddress(topologyp));
}
// --- [ hwloc_topology_load ] ---
public static int hwloc_topology_load(@NativeType("hwloc_topology_t") long topology) {
long __functionAddress = Functions.topology_load;
if (CHECKS) {
check(topology);
}
return invokePI(topology, __functionAddress);
}
// --- [ hwloc_topology_destroy ] ---
public static void hwloc_topology_destroy(@NativeType("hwloc_topology_t") long topology) {
long __functionAddress = Functions.topology_destroy;
if (CHECKS) {
check(topology);
}
invokePV(topology, __functionAddress);
}
// --- [ hwloc_topology_dup ] ---
public static int nhwloc_topology_dup(long newtopology, long oldtopology) {
long __functionAddress = Functions.topology_dup;
if (CHECKS) {
check(oldtopology);
}
return invokePPI(newtopology, oldtopology, __functionAddress);
}
public static int hwloc_topology_dup(@NativeType("hwloc_topology_t *") PointerBuffer newtopology, @NativeType("hwloc_topology_t") long oldtopology) {
if (CHECKS) {
check(newtopology, 1);
}
return nhwloc_topology_dup(memAddress(newtopology), oldtopology);
}
// --- [ hwloc_topology_abi_check ] ---
public static int hwloc_topology_abi_check(@NativeType("hwloc_topology_t") long topology) {
long __functionAddress = Functions.topology_abi_check;
if (CHECKS) {
check(topology);
}
return invokePI(topology, __functionAddress);
}
// --- [ hwloc_topology_check ] ---
public static void hwloc_topology_check(@NativeType("hwloc_topology_t") long topology) {
long __functionAddress = Functions.topology_check;
if (CHECKS) {
check(topology);
}
invokePV(topology, __functionAddress);
}
// --- [ hwloc_topology_get_depth ] ---
public static int hwloc_topology_get_depth(@NativeType("hwloc_topology_t") long topology) {
long __functionAddress = Functions.topology_get_depth;
if (CHECKS) {
check(topology);
}
return invokePI(topology, __functionAddress);
}
// --- [ hwloc_get_type_depth ] ---
public static int hwloc_get_type_depth(@NativeType("hwloc_topology_t") long topology, @NativeType("hwloc_obj_type_t") int type) {
long __functionAddress = Functions.get_type_depth;
if (CHECKS) {
check(topology);
}
return invokePI(topology, type, __functionAddress);
}
// --- [ hwloc_get_type_depth_with_attr ] ---
public static int nhwloc_get_type_depth_with_attr(long topology, int type, long attrp, long attrsize) {
long __functionAddress = Functions.get_type_depth_with_attr;
if (CHECKS) {
check(topology);
}
return invokePPPI(topology, type, attrp, attrsize, __functionAddress);
}
public static int hwloc_get_type_depth_with_attr(@NativeType("hwloc_topology_t") long topology, @NativeType("hwloc_obj_type_t") int type, @Nullable @NativeType("struct hwloc_obj_attr_u *") hwloc_obj_attr_u.Buffer attrp) {
return nhwloc_get_type_depth_with_attr(topology, type, memAddressSafe(attrp), remainingSafe(attrp));
}
// --- [ hwloc_get_memory_parents_depth ] ---
public static int hwloc_get_memory_parents_depth(@NativeType("hwloc_topology_t") long topology) {
long __functionAddress = Functions.get_memory_parents_depth;
if (CHECKS) {
check(topology);
}
return invokePI(topology, __functionAddress);
}
// --- [ hwloc_get_depth_type ] ---
@NativeType("hwloc_obj_type_t")
public static int hwloc_get_depth_type(@NativeType("hwloc_topology_t") long topology, int depth) {
long __functionAddress = Functions.get_depth_type;
if (CHECKS) {
check(topology);
}
return invokePI(topology, depth, __functionAddress);
}
// --- [ hwloc_get_nbobjs_by_depth ] ---
@NativeType("unsigned")
public static int hwloc_get_nbobjs_by_depth(@NativeType("hwloc_topology_t") long topology, int depth) {
long __functionAddress = Functions.get_nbobjs_by_depth;
if (CHECKS) {
check(topology);
}
return invokePI(topology, depth, __functionAddress);
}
// --- [ hwloc_get_obj_by_depth ] ---
public static long nhwloc_get_obj_by_depth(long topology, int depth, int idx) {
long __functionAddress = Functions.get_obj_by_depth;
if (CHECKS) {
check(topology);
}
return invokePP(topology, depth, idx, __functionAddress);
}
@Nullable
@NativeType("hwloc_obj_t")
public static hwloc_obj hwloc_get_obj_by_depth(@NativeType("hwloc_topology_t") long topology, int depth, @NativeType("unsigned") int idx) {
long __result = nhwloc_get_obj_by_depth(topology, depth, idx);
return hwloc_obj.createSafe(__result);
}
// --- [ hwloc_obj_type_string ] ---
public static long nhwloc_obj_type_string(int type) {
long __functionAddress = Functions.obj_type_string;
return invokeP(type, __functionAddress);
}
@Nullable
@NativeType("char const *")
public static String hwloc_obj_type_string(@NativeType("hwloc_obj_type_t") int type) {
long __result = nhwloc_obj_type_string(type);
return memASCIISafe(__result);
}
// --- [ hwloc_obj_type_snprintf ] ---
public static int nhwloc_obj_type_snprintf(long string, long size, long obj, long flags) {
long __functionAddress = Functions.obj_type_snprintf;
return invokePPPNI(string, size, obj, flags, __functionAddress);
}
public static int hwloc_obj_type_snprintf(@Nullable @NativeType("char *") ByteBuffer string, @NativeType("hwloc_obj_t") hwloc_obj obj, @NativeType("unsigned long") long flags) {
return nhwloc_obj_type_snprintf(memAddressSafe(string), remainingSafe(string), obj.address(), flags);
}
// --- [ hwloc_obj_attr_snprintf ] ---
public static int nhwloc_obj_attr_snprintf(long string, long size, long obj, long separator, long flags) {
long __functionAddress = Functions.obj_attr_snprintf;
return invokePPPPNI(string, size, obj, separator, flags, __functionAddress);
}
public static int hwloc_obj_attr_snprintf(@NativeType("char *") ByteBuffer string, @NativeType("hwloc_obj_t") hwloc_obj obj, @NativeType("char const *") ByteBuffer separator, @NativeType("unsigned long") long flags) {
if (CHECKS) {
checkNT1(separator);
}
return nhwloc_obj_attr_snprintf(memAddress(string), string.remaining(), obj.address(), memAddress(separator), flags);
}
public static int hwloc_obj_attr_snprintf(@NativeType("char *") ByteBuffer string, @NativeType("hwloc_obj_t") hwloc_obj obj, @NativeType("char const *") CharSequence separator, @NativeType("unsigned long") long flags) {
MemoryStack stack = stackGet(); int stackPointer = stack.getPointer();
try {
stack.nASCII(separator, true);
long separatorEncoded = stack.getPointerAddress();
return nhwloc_obj_attr_snprintf(memAddress(string), string.remaining(), obj.address(), separatorEncoded, flags);
} finally {
stack.setPointer(stackPointer);
}
}
// --- [ hwloc_type_sscanf ] ---
public static int nhwloc_type_sscanf(long string, long typep, long attrp, long attrsize) {
long __functionAddress = Functions.type_sscanf;
return invokePPPPI(string, typep, attrp, attrsize, __functionAddress);
}
public static int hwloc_type_sscanf(@NativeType("char const *") ByteBuffer string, @NativeType("hwloc_obj_type_t *") IntBuffer typep, @Nullable @NativeType("struct hwloc_obj_attr_u *") hwloc_obj_attr_u.Buffer attrp) {
if (CHECKS) {
checkNT1(string);
check(typep, 1);
}
return nhwloc_type_sscanf(memAddress(string), memAddress(typep), memAddressSafe(attrp), remainingSafe(attrp));
}
public static int hwloc_type_sscanf(@NativeType("char const *") CharSequence string, @NativeType("hwloc_obj_type_t *") IntBuffer typep, @Nullable @NativeType("struct hwloc_obj_attr_u *") hwloc_obj_attr_u.Buffer attrp) {
if (CHECKS) {
check(typep, 1);
}
MemoryStack stack = stackGet(); int stackPointer = stack.getPointer();
try {
stack.nASCII(string, true);
long stringEncoded = stack.getPointerAddress();
return nhwloc_type_sscanf(stringEncoded, memAddress(typep), memAddressSafe(attrp), remainingSafe(attrp));
} finally {
stack.setPointer(stackPointer);
}
}
// --- [ hwloc_modify_infos ] ---
public static int nhwloc_modify_infos(long infos, long operation, long name, long value) {
long __functionAddress = Functions.modify_infos;
return invokePNPPI(infos, operation, name, value, __functionAddress);
}
public static int hwloc_modify_infos(@NativeType("struct hwloc_infos_s *") hwloc_infos_s infos, @NativeType("unsigned long") long operation, @NativeType("char const *") ByteBuffer name, @NativeType("char const *") ByteBuffer value) {
if (CHECKS) {
checkNT1(name);
checkNT1(value);
}
return nhwloc_modify_infos(infos.address(), operation, memAddress(name), memAddress(value));
}
public static int hwloc_modify_infos(@NativeType("struct hwloc_infos_s *") hwloc_infos_s infos, @NativeType("unsigned long") long operation, @NativeType("char const *") CharSequence name, @NativeType("char const *") CharSequence value) {
MemoryStack stack = stackGet(); int stackPointer = stack.getPointer();
try {
stack.nASCII(name, true);
long nameEncoded = stack.getPointerAddress();
stack.nASCII(value, true);
long valueEncoded = stack.getPointerAddress();
return nhwloc_modify_infos(infos.address(), operation, nameEncoded, valueEncoded);
} finally {
stack.setPointer(stackPointer);
}
}
// --- [ hwloc_topology_get_infos ] ---
public static long nhwloc_topology_get_infos(long topology) {
long __functionAddress = Functions.topology_get_infos;
if (CHECKS) {
check(topology);
}
return invokePP(topology, __functionAddress);
}
@NativeType("struct hwloc_infos_s *")
public static hwloc_infos_s hwloc_topology_get_infos(@NativeType("hwloc_topology_t") long topology) {
long __result = nhwloc_topology_get_infos(topology);
return hwloc_infos_s.create(__result);
}
// --- [ hwloc_set_cpubind ] ---
public static int hwloc_set_cpubind(@NativeType("hwloc_topology_t") long topology, @NativeType("hwloc_const_cpuset_t") long set, int flags) {
long __functionAddress = Functions.set_cpubind;
if (CHECKS) {
check(topology);
check(set);
}
return invokePPI(topology, set, flags, __functionAddress);
}
// --- [ hwloc_get_cpubind ] ---
public static int hwloc_get_cpubind(@NativeType("hwloc_topology_t") long topology, @NativeType("hwloc_cpuset_t") long set, int flags) {
long __functionAddress = Functions.get_cpubind;
if (CHECKS) {
check(topology);
check(set);
}
return invokePPI(topology, set, flags, __functionAddress);
}
// --- [ hwloc_set_proc_cpubind_pid ] ---
public static int hwloc_set_proc_cpubind_pid(@NativeType("hwloc_topology_t") long topology, @NativeType("pid_t") int pid, @NativeType("hwloc_const_cpuset_t") long set, int flags) {
long __functionAddress = Functions.set_proc_cpubind_pid;
if (Platform.get() == Platform.WINDOWS) throw new UnsupportedOperationException();
if (CHECKS) {
check(topology);
check(set);
}
return invokePPI(topology, pid, set, flags, __functionAddress);
}
// --- [ hwloc_set_proc_cpubind_handle ] ---
public static int hwloc_set_proc_cpubind_handle(@NativeType("hwloc_topology_t") long topology, @NativeType("HANDLE") long pid, @NativeType("hwloc_const_cpuset_t") long set, int flags) {
long __functionAddress = Functions.set_proc_cpubind_handle;
if (Platform.get() != Platform.WINDOWS) throw new UnsupportedOperationException();
if (CHECKS) {
check(topology);
check(pid);
check(set);
}
return invokePPPI(topology, pid, set, flags, __functionAddress);
}
// --- [ hwloc_get_proc_cpubind_pid ] ---
public static int hwloc_get_proc_cpubind_pid(@NativeType("hwloc_topology_t") long topology, @NativeType("pid_t") int pid, @NativeType("hwloc_cpuset_t") long set, int flags) {
long __functionAddress = Functions.get_proc_cpubind_pid;
if (Platform.get() == Platform.WINDOWS) throw new UnsupportedOperationException();
if (CHECKS) {
check(topology);
check(set);
}
return invokePPI(topology, pid, set, flags, __functionAddress);
}
// --- [ hwloc_get_proc_cpubind_handle ] ---
public static int hwloc_get_proc_cpubind_handle(@NativeType("hwloc_topology_t") long topology, @NativeType("HANDLE") long pid, @NativeType("hwloc_cpuset_t") long set, int flags) {
long __functionAddress = Functions.get_proc_cpubind_handle;
if (Platform.get() != Platform.WINDOWS) throw new UnsupportedOperationException();
if (CHECKS) {
check(topology);
check(pid);
check(set);
}
return invokePPPI(topology, pid, set, flags, __functionAddress);
}
// --- [ hwloc_set_thread_cpubind_pthread ] ---
public static int hwloc_set_thread_cpubind_pthread(@NativeType("hwloc_topology_t") long topology, @NativeType("pthread_t") long thread, @NativeType("hwloc_const_cpuset_t") long set, int flags) {
long __functionAddress = Functions.set_thread_cpubind_pthread;
if (Platform.get() == Platform.WINDOWS) throw new UnsupportedOperationException();
if (CHECKS) {
check(topology);
check(set);
}
return invokePNPI(topology, thread, set, flags, __functionAddress);
}
// --- [ hwloc_set_thread_cpubind_handle ] ---
public static int hwloc_set_thread_cpubind_handle(@NativeType("hwloc_topology_t") long topology, @NativeType("HANDLE") long thread, @NativeType("hwloc_const_cpuset_t") long set, int flags) {
long __functionAddress = Functions.set_thread_cpubind_handle;
if (Platform.get() != Platform.WINDOWS) throw new UnsupportedOperationException();
if (CHECKS) {
check(topology);
check(thread);
check(set);
}
return invokePPPI(topology, thread, set, flags, __functionAddress);
}
// --- [ hwloc_get_thread_cpubind_pthread ] ---
public static int hwloc_get_thread_cpubind_pthread(@NativeType("hwloc_topology_t") long topology, @NativeType("pthread_t") long thread, @NativeType("hwloc_cpuset_t") long set, int flags) {
long __functionAddress = Functions.get_thread_cpubind_pthread;
if (Platform.get() == Platform.WINDOWS) throw new UnsupportedOperationException();
if (CHECKS) {
check(topology);
check(set);
}
return invokePNPI(topology, thread, set, flags, __functionAddress);
}
// --- [ hwloc_get_thread_cpubind_handle ] ---
public static int hwloc_get_thread_cpubind_handle(@NativeType("hwloc_topology_t") long topology, @NativeType("HANDLE") long thread, @NativeType("hwloc_cpuset_t") long set, int flags) {
long __functionAddress = Functions.get_thread_cpubind_handle;
if (Platform.get() != Platform.WINDOWS) throw new UnsupportedOperationException();
if (CHECKS) {
check(topology);
check(thread);
check(set);
}
return invokePPPI(topology, thread, set, flags, __functionAddress);
}
// --- [ hwloc_get_last_cpu_location ] ---
public static int hwloc_get_last_cpu_location(@NativeType("hwloc_topology_t") long topology, @NativeType("hwloc_cpuset_t") long set, int flags) {
long __functionAddress = Functions.get_last_cpu_location;
if (CHECKS) {
check(topology);
check(set);
}
return invokePPI(topology, set, flags, __functionAddress);
}
// --- [ hwloc_get_proc_last_cpu_location_pid ] ---
public static int hwloc_get_proc_last_cpu_location_pid(@NativeType("hwloc_topology_t") long topology, @NativeType("pid_t") int pid, @NativeType("hwloc_cpuset_t") long set, int flags) {
long __functionAddress = Functions.get_proc_last_cpu_location_pid;
if (Platform.get() == Platform.WINDOWS) throw new UnsupportedOperationException();
if (CHECKS) {
check(topology);
check(set);
}
return invokePPI(topology, pid, set, flags, __functionAddress);
}
// --- [ hwloc_get_proc_last_cpu_location_handle ] ---
public static int hwloc_get_proc_last_cpu_location_handle(@NativeType("hwloc_topology_t") long topology, @NativeType("HANDLE") long pid, @NativeType("hwloc_cpuset_t") long set, int flags) {
long __functionAddress = Functions.get_proc_last_cpu_location_handle;
if (Platform.get() != Platform.WINDOWS) throw new UnsupportedOperationException();
if (CHECKS) {
check(topology);
check(pid);
check(set);
}
return invokePPPI(topology, pid, set, flags, __functionAddress);
}
// --- [ hwloc_set_membind ] ---
public static int hwloc_set_membind(@NativeType("hwloc_topology_t") long topology, @NativeType("hwloc_const_bitmap_t") long set, @NativeType("hwloc_membind_policy_t") int policy, int flags) {
long __functionAddress = Functions.set_membind;
if (CHECKS) {
check(topology);
check(set);
}
return invokePPI(topology, set, policy, flags, __functionAddress);
}
// --- [ hwloc_get_membind ] ---
public static int nhwloc_get_membind(long topology, long set, long policy, int flags) {
long __functionAddress = Functions.get_membind;
if (CHECKS) {
check(topology);
check(set);
}
return invokePPPI(topology, set, policy, flags, __functionAddress);
}
public static int hwloc_get_membind(@NativeType("hwloc_topology_t") long topology, @NativeType("hwloc_bitmap_t") long set, @NativeType("hwloc_membind_policy_t *") IntBuffer policy, int flags) {
if (CHECKS) {
check(policy, 1);
}
return nhwloc_get_membind(topology, set, memAddress(policy), flags);
}
// --- [ hwloc_set_proc_membind_pid ] ---
public static int hwloc_set_proc_membind_pid(@NativeType("hwloc_topology_t") long topology, @NativeType("pid_t") int pid, @NativeType("hwloc_const_bitmap_t") long set, @NativeType("hwloc_membind_policy_t") int policy, int flags) {
long __functionAddress = Functions.set_proc_membind_pid;
if (Platform.get() == Platform.WINDOWS) throw new UnsupportedOperationException();
if (CHECKS) {
check(topology);
check(set);
}
return invokePPI(topology, pid, set, policy, flags, __functionAddress);
}
// --- [ hwloc_set_proc_membind_handle ] ---
public static int hwloc_set_proc_membind_handle(@NativeType("hwloc_topology_t") long topology, @NativeType("HANDLE") long pid, @NativeType("hwloc_const_bitmap_t") long set, @NativeType("hwloc_membind_policy_t") int policy, int flags) {
long __functionAddress = Functions.set_proc_membind_handle;
if (Platform.get() != Platform.WINDOWS) throw new UnsupportedOperationException();
if (CHECKS) {
check(topology);
check(pid);
check(set);
}
return invokePPPI(topology, pid, set, policy, flags, __functionAddress);
}
// --- [ hwloc_get_proc_membind_pid ] ---
public static int nhwloc_get_proc_membind_pid(long topology, int pid, long set, long policy, int flags) {
long __functionAddress = Functions.get_proc_membind_pid;
if (CHECKS) {
check(topology);
check(set);
}
return invokePPPI(topology, pid, set, policy, flags, __functionAddress);
}
public static int hwloc_get_proc_membind_pid(@NativeType("hwloc_topology_t") long topology, @NativeType("pid_t") int pid, @NativeType("hwloc_bitmap_t") long set, @NativeType("hwloc_membind_policy_t *") IntBuffer policy, int flags) {
if (Platform.get() == Platform.WINDOWS) throw new UnsupportedOperationException();
if (CHECKS) {
check(policy, 1);
}
return nhwloc_get_proc_membind_pid(topology, pid, set, memAddress(policy), flags);
}
// --- [ hwloc_get_proc_membind_handle ] ---
public static int nhwloc_get_proc_membind_handle(long topology, long pid, long set, long policy, int flags) {
long __functionAddress = Functions.get_proc_membind_handle;
if (CHECKS) {
check(topology);
check(pid);
check(set);
}
return invokePPPPI(topology, pid, set, policy, flags, __functionAddress);
}
public static int hwloc_get_proc_membind_handle(@NativeType("hwloc_topology_t") long topology, @NativeType("HANDLE") long pid, @NativeType("hwloc_bitmap_t") long set, @NativeType("hwloc_membind_policy_t *") IntBuffer policy, int flags) {
if (Platform.get() != Platform.WINDOWS) throw new UnsupportedOperationException();
if (CHECKS) {
check(policy, 1);
}
return nhwloc_get_proc_membind_handle(topology, pid, set, memAddress(policy), flags);
}
// --- [ hwloc_set_area_membind ] ---
public static int nhwloc_set_area_membind(long topology, long addr, long len, long set, int policy, int flags) {
long __functionAddress = Functions.set_area_membind;
if (CHECKS) {
check(topology);
check(set);
}
return invokePPPPI(topology, addr, len, set, policy, flags, __functionAddress);
}
public static int hwloc_set_area_membind(@NativeType("hwloc_topology_t") long topology, @NativeType("void const *") ByteBuffer addr, @NativeType("hwloc_const_bitmap_t") long set, @NativeType("hwloc_membind_policy_t") int policy, int flags) {
return nhwloc_set_area_membind(topology, memAddress(addr), addr.remaining(), set, policy, flags);
}
// --- [ hwloc_get_area_membind ] ---
public static int nhwloc_get_area_membind(long topology, long addr, long len, long set, long policy, int flags) {
long __functionAddress = Functions.get_area_membind;
if (CHECKS) {
check(topology);
check(set);
}
return invokePPPPPI(topology, addr, len, set, policy, flags, __functionAddress);
}
public static int hwloc_get_area_membind(@NativeType("hwloc_topology_t") long topology, @NativeType("void const *") ByteBuffer addr, @NativeType("hwloc_bitmap_t") long set, @NativeType("hwloc_membind_policy_t *") IntBuffer policy, int flags) {
if (CHECKS) {
check(policy, 1);
}
return nhwloc_get_area_membind(topology, memAddress(addr), addr.remaining(), set, memAddress(policy), flags);
}
// --- [ hwloc_get_area_memlocation ] ---
public static int nhwloc_get_area_memlocation(long topology, long addr, long len, long set, int flags) {
long __functionAddress = Functions.get_area_memlocation;
if (CHECKS) {
check(topology);
check(set);
}
return invokePPPPI(topology, addr, len, set, flags, __functionAddress);
}
public static int hwloc_get_area_memlocation(@NativeType("hwloc_topology_t") long topology, @NativeType("void const *") ByteBuffer addr, @NativeType("hwloc_bitmap_t") long set, int flags) {
return nhwloc_get_area_memlocation(topology, memAddress(addr), addr.remaining(), set, flags);
}
// --- [ hwloc_alloc ] ---
public static long nhwloc_alloc(long topology, long len) {
long __functionAddress = Functions.alloc;
if (CHECKS) {
check(topology);
}
return invokePPP(topology, len, __functionAddress);
}
@Nullable
@NativeType("void *")
public static ByteBuffer hwloc_alloc(@NativeType("hwloc_topology_t") long topology, @NativeType("size_t") long len) {
long __result = nhwloc_alloc(topology, len);
return memByteBufferSafe(__result, (int)len);
}
// --- [ hwloc_alloc_membind ] ---
public static long nhwloc_alloc_membind(long topology, long len, long set, int policy, int flags) {
long __functionAddress = Functions.alloc_membind;
if (CHECKS) {
check(topology);
check(set);
}
return invokePPPP(topology, len, set, policy, flags, __functionAddress);
}
@Nullable
@NativeType("void *")
public static ByteBuffer hwloc_alloc_membind(@NativeType("hwloc_topology_t") long topology, @NativeType("size_t") long len, @NativeType("hwloc_const_bitmap_t") long set, @NativeType("hwloc_membind_policy_t") int policy, int flags) {
long __result = nhwloc_alloc_membind(topology, len, set, policy, flags);
return memByteBufferSafe(__result, (int)len);
}
// --- [ hwloc_free ] ---
public static int nhwloc_free(long topology, long addr, long len) {
long __functionAddress = Functions.free;
if (CHECKS) {
check(topology);
}
return invokePPPI(topology, addr, len, __functionAddress);
}
public static int hwloc_free(@NativeType("hwloc_topology_t") long topology, @NativeType("void *") ByteBuffer addr) {
return nhwloc_free(topology, memAddress(addr), addr.remaining());
}
// --- [ hwloc_topology_set_pid_pid ] ---
public static int hwloc_topology_set_pid_pid(@NativeType("hwloc_topology_t") long topology, @NativeType("pid_t") int pid) {
long __functionAddress = Functions.topology_set_pid_pid;
if (Platform.get() == Platform.WINDOWS) throw new UnsupportedOperationException();
if (CHECKS) {
check(topology);
}
return invokePI(topology, pid, __functionAddress);
}
// --- [ hwloc_topology_set_pid_handle ] ---
public static int hwloc_topology_set_pid_handle(@NativeType("hwloc_topology_t") long topology, @NativeType("HANDLE") long pid) {
long __functionAddress = Functions.topology_set_pid_handle;
if (Platform.get() != Platform.WINDOWS) throw new UnsupportedOperationException();
if (CHECKS) {
check(topology);
check(pid);
}
return invokePPI(topology, pid, __functionAddress);
}
// --- [ hwloc_topology_set_synthetic ] ---
public static int nhwloc_topology_set_synthetic(long topology, long description) {
long __functionAddress = Functions.topology_set_synthetic;
if (CHECKS) {
check(topology);
}
return invokePPI(topology, description, __functionAddress);
}
public static int hwloc_topology_set_synthetic(@NativeType("hwloc_topology_t") long topology, @NativeType("char const *") ByteBuffer description) {
if (CHECKS) {
checkNT1(description);
}
return nhwloc_topology_set_synthetic(topology, memAddress(description));
}
public static int hwloc_topology_set_synthetic(@NativeType("hwloc_topology_t") long topology, @NativeType("char const *") CharSequence description) {
MemoryStack stack = stackGet(); int stackPointer = stack.getPointer();
try {
stack.nASCII(description, true);
long descriptionEncoded = stack.getPointerAddress();
return nhwloc_topology_set_synthetic(topology, descriptionEncoded);
} finally {
stack.setPointer(stackPointer);
}
}
// --- [ hwloc_topology_set_xml ] ---
public static int nhwloc_topology_set_xml(long topology, long xmlpath) {
long __functionAddress = Functions.topology_set_xml;
if (CHECKS) {
check(topology);
}
return invokePPI(topology, xmlpath, __functionAddress);
}
public static int hwloc_topology_set_xml(@NativeType("hwloc_topology_t") long topology, @NativeType("char const *") ByteBuffer xmlpath) {
if (CHECKS) {
checkNT1(xmlpath);
}
return nhwloc_topology_set_xml(topology, memAddress(xmlpath));
}
public static int hwloc_topology_set_xml(@NativeType("hwloc_topology_t") long topology, @NativeType("char const *") CharSequence xmlpath) {
MemoryStack stack = stackGet(); int stackPointer = stack.getPointer();
try {
stack.nUTF8(xmlpath, true);
long xmlpathEncoded = stack.getPointerAddress();
return nhwloc_topology_set_xml(topology, xmlpathEncoded);
} finally {
stack.setPointer(stackPointer);
}
}
// --- [ hwloc_topology_set_xmlbuffer ] ---
public static int nhwloc_topology_set_xmlbuffer(long topology, long buffer, int size) {
long __functionAddress = Functions.topology_set_xmlbuffer;
if (CHECKS) {
check(topology);
}
return invokePPI(topology, buffer, size, __functionAddress);
}
public static int hwloc_topology_set_xmlbuffer(@NativeType("hwloc_topology_t") long topology, @NativeType("char const *") ByteBuffer buffer) {
return nhwloc_topology_set_xmlbuffer(topology, memAddress(buffer), buffer.remaining());
}
public static int hwloc_topology_set_xmlbuffer(@NativeType("hwloc_topology_t") long topology, @NativeType("char const *") CharSequence buffer) {
MemoryStack stack = stackGet(); int stackPointer = stack.getPointer();
try {
int bufferEncodedLength = stack.nASCII(buffer, false);
long bufferEncoded = stack.getPointerAddress();
return nhwloc_topology_set_xmlbuffer(topology, bufferEncoded, bufferEncodedLength);
} finally {
stack.setPointer(stackPointer);
}
}
// --- [ hwloc_topology_set_components ] ---
public static int nhwloc_topology_set_components(long topology, long flags, long name) {
long __functionAddress = Functions.topology_set_components;
if (CHECKS) {
check(topology);
}
return invokePNPI(topology, flags, name, __functionAddress);
}
public static int hwloc_topology_set_components(@NativeType("hwloc_topology_t") long topology, @NativeType("unsigned long") long flags, @NativeType("char const *") ByteBuffer name) {
if (CHECKS) {
checkNT1(name);
}
return nhwloc_topology_set_components(topology, flags, memAddress(name));
}
public static int hwloc_topology_set_components(@NativeType("hwloc_topology_t") long topology, @NativeType("unsigned long") long flags, @NativeType("char const *") CharSequence name) {
MemoryStack stack = stackGet(); int stackPointer = stack.getPointer();
try {
stack.nASCII(name, true);
long nameEncoded = stack.getPointerAddress();
return nhwloc_topology_set_components(topology, flags, nameEncoded);
} finally {
stack.setPointer(stackPointer);
}
}
// --- [ hwloc_topology_set_flags ] ---
public static int hwloc_topology_set_flags(@NativeType("hwloc_topology_t") long topology, @NativeType("unsigned long") long flags) {
long __functionAddress = Functions.topology_set_flags;
if (CHECKS) {
check(topology);
}
return invokePNI(topology, flags, __functionAddress);
}
// --- [ hwloc_topology_get_flags ] ---
@NativeType("unsigned long")
public static long hwloc_topology_get_flags(@NativeType("hwloc_topology_t") long topology) {
long __functionAddress = Functions.topology_get_flags;
if (CHECKS) {
check(topology);
}
return invokePN(topology, __functionAddress);
}
// --- [ hwloc_topology_is_thissystem ] ---
@NativeType("int")
public static boolean hwloc_topology_is_thissystem(@NativeType("hwloc_topology_t") long topology) {
long __functionAddress = Functions.topology_is_thissystem;
if (CHECKS) {
check(topology);
}
return invokePI(topology, __functionAddress) != 0;
}
// --- [ hwloc_topology_get_support ] ---
public static long nhwloc_topology_get_support(long topology) {
long __functionAddress = Functions.topology_get_support;
if (CHECKS) {
check(topology);
}
return invokePP(topology, __functionAddress);
}
@Nullable
@NativeType("struct hwloc_topology_support const *")
public static hwloc_topology_support hwloc_topology_get_support(@NativeType("hwloc_topology_t") long topology) {
long __result = nhwloc_topology_get_support(topology);
return hwloc_topology_support.createSafe(__result);
}
// --- [ hwloc_topology_set_type_filter ] ---
public static int hwloc_topology_set_type_filter(@NativeType("hwloc_topology_t") long topology, @NativeType("hwloc_obj_type_t") int type, @NativeType("enum hwloc_type_filter_e") int filter) {
long __functionAddress = Functions.topology_set_type_filter;
if (CHECKS) {
check(topology);
}
return invokePI(topology, type, filter, __functionAddress);
}
// --- [ hwloc_topology_get_type_filter ] ---
public static int nhwloc_topology_get_type_filter(long topology, int type, long filter) {
long __functionAddress = Functions.topology_get_type_filter;
if (CHECKS) {
check(topology);
}
return invokePPI(topology, type, filter, __functionAddress);
}
public static int hwloc_topology_get_type_filter(@NativeType("hwloc_topology_t") long topology, @NativeType("hwloc_obj_type_t") int type, @NativeType("enum hwloc_type_filter_e *") IntBuffer filter) {
if (CHECKS) {
check(filter, 1);
}
return nhwloc_topology_get_type_filter(topology, type, memAddress(filter));
}
// --- [ hwloc_topology_set_all_types_filter ] ---
public static int hwloc_topology_set_all_types_filter(@NativeType("hwloc_topology_t") long topology, @NativeType("enum hwloc_type_filter_e") int filter) {
long __functionAddress = Functions.topology_set_all_types_filter;
if (CHECKS) {
check(topology);
}
return invokePI(topology, filter, __functionAddress);
}
// --- [ hwloc_topology_set_cache_types_filter ] ---
public static int hwloc_topology_set_cache_types_filter(@NativeType("hwloc_topology_t") long topology, @NativeType("enum hwloc_type_filter_e") int filter) {
long __functionAddress = Functions.topology_set_cache_types_filter;
if (CHECKS) {
check(topology);
}
return invokePI(topology, filter, __functionAddress);
}
// --- [ hwloc_topology_set_icache_types_filter ] ---
public static int hwloc_topology_set_icache_types_filter(@NativeType("hwloc_topology_t") long topology, @NativeType("enum hwloc_type_filter_e") int filter) {
long __functionAddress = Functions.topology_set_icache_types_filter;
if (CHECKS) {
check(topology);
}
return invokePI(topology, filter, __functionAddress);
}
// --- [ hwloc_topology_set_io_types_filter ] ---
public static int hwloc_topology_set_io_types_filter(@NativeType("hwloc_topology_t") long topology, @NativeType("enum hwloc_type_filter_e") int filter) {
long __functionAddress = Functions.topology_set_io_types_filter;
if (CHECKS) {
check(topology);
}
return invokePI(topology, filter, __functionAddress);
}
// --- [ hwloc_topology_set_userdata ] ---
public static void hwloc_topology_set_userdata(@NativeType("hwloc_topology_t") long topology, @NativeType("void const *") long userdata) {
long __functionAddress = Functions.topology_set_userdata;
if (CHECKS) {
check(topology);
}
invokePPV(topology, userdata, __functionAddress);
}
// --- [ hwloc_topology_get_userdata ] ---
@NativeType("void *")
public static long hwloc_topology_get_userdata(@NativeType("hwloc_topology_t") long topology) {
long __functionAddress = Functions.topology_get_userdata;
if (CHECKS) {
check(topology);
}
return invokePP(topology, __functionAddress);
}
// --- [ hwloc_topology_restrict ] ---
public static int hwloc_topology_restrict(@NativeType("hwloc_topology_t") long topology, @NativeType("hwloc_const_bitmap_t") long set, @NativeType("unsigned long") long flags) {
long __functionAddress = Functions.topology_restrict;
if (CHECKS) {
check(topology);
check(set);
}
return invokePPNI(topology, set, flags, __functionAddress);
}
// --- [ hwloc_topology_allow ] ---
public static int hwloc_topology_allow(@NativeType("hwloc_topology_t") long topology, @NativeType("hwloc_const_cpuset_t") long cpuset, @NativeType("hwloc_const_nodeset_t") long nodeset, @NativeType("unsigned long") long flags) {
long __functionAddress = Functions.topology_allow;
if (CHECKS) {
check(topology);
check(cpuset);
check(nodeset);
}
return invokePPPNI(topology, cpuset, nodeset, flags, __functionAddress);
}
// --- [ hwloc_topology_insert_misc_object ] ---
public static long nhwloc_topology_insert_misc_object(long topology, long parent, long name) {
long __functionAddress = Functions.topology_insert_misc_object;
if (CHECKS) {
check(topology);
}
return invokePPPP(topology, parent, name, __functionAddress);
}
@Nullable
@NativeType("hwloc_obj_t")
public static hwloc_obj hwloc_topology_insert_misc_object(@NativeType("hwloc_topology_t") long topology, @NativeType("hwloc_obj_t") hwloc_obj parent, @NativeType("char const *") ByteBuffer name) {
if (CHECKS) {
checkNT1(name);
}
long __result = nhwloc_topology_insert_misc_object(topology, parent.address(), memAddress(name));
return hwloc_obj.createSafe(__result);
}
@Nullable
@NativeType("hwloc_obj_t")
public static hwloc_obj hwloc_topology_insert_misc_object(@NativeType("hwloc_topology_t") long topology, @NativeType("hwloc_obj_t") hwloc_obj parent, @NativeType("char const *") CharSequence name) {
MemoryStack stack = stackGet(); int stackPointer = stack.getPointer();
try {
stack.nASCII(name, true);
long nameEncoded = stack.getPointerAddress();
long __result = nhwloc_topology_insert_misc_object(topology, parent.address(), nameEncoded);
return hwloc_obj.createSafe(__result);
} finally {
stack.setPointer(stackPointer);
}
}
// --- [ hwloc_topology_alloc_group_object ] ---
public static long nhwloc_topology_alloc_group_object(long topology) {
long __functionAddress = Functions.topology_alloc_group_object;
if (CHECKS) {
check(topology);
}
return invokePP(topology, __functionAddress);
}
@Nullable
@NativeType("hwloc_obj_t")
public static hwloc_obj hwloc_topology_alloc_group_object(@NativeType("hwloc_topology_t") long topology) {
long __result = nhwloc_topology_alloc_group_object(topology);
return hwloc_obj.createSafe(__result);
}
// --- [ hwloc_topology_insert_group_object ] ---
public static long nhwloc_topology_insert_group_object(long topology, long group) {
long __functionAddress = Functions.topology_insert_group_object;
if (CHECKS) {
check(topology);
}
return invokePPP(topology, group, __functionAddress);
}
@Nullable
@NativeType("hwloc_obj_t")
public static hwloc_obj hwloc_topology_insert_group_object(@NativeType("hwloc_topology_t") long topology, @NativeType("hwloc_obj_t") hwloc_obj group) {
long __result = nhwloc_topology_insert_group_object(topology, group.address());
return hwloc_obj.createSafe(__result);
}
// --- [ hwloc_obj_add_other_obj_sets ] ---
public static int nhwloc_obj_add_other_obj_sets(long dst, long src) {
long __functionAddress = Functions.obj_add_other_obj_sets;
return invokePPI(dst, src, __functionAddress);
}
public static int hwloc_obj_add_other_obj_sets(@NativeType("hwloc_obj_t") hwloc_obj dst, @NativeType("hwloc_obj_t") hwloc_obj src) {
return nhwloc_obj_add_other_obj_sets(dst.address(), src.address());
}
// --- [ hwloc_topology_refresh ] ---
public static int hwloc_topology_refresh(@NativeType("hwloc_topology_t") long topology) {
long __functionAddress = Functions.topology_refresh;
if (CHECKS) {
check(topology);
}
return invokePI(topology, __functionAddress);
}
// --- [ hwloc_obj_type_is_normal ] ---
@NativeType("int")
public static boolean hwloc_obj_type_is_normal(@NativeType("hwloc_obj_type_t") int type) {
long __functionAddress = Functions.obj_type_is_normal;
return invokeI(type, __functionAddress) != 0;
}
// --- [ hwloc_obj_type_is_io ] ---
@NativeType("int")
public static boolean hwloc_obj_type_is_io(@NativeType("hwloc_obj_type_t") int type) {
long __functionAddress = Functions.obj_type_is_io;
return invokeI(type, __functionAddress) != 0;
}
// --- [ hwloc_obj_type_is_memory ] ---
@NativeType("int")
public static boolean hwloc_obj_type_is_memory(@NativeType("hwloc_obj_type_t") int type) {
long __functionAddress = Functions.obj_type_is_memory;
return invokeI(type, __functionAddress) != 0;
}
// --- [ hwloc_obj_type_is_cache ] ---
@NativeType("int")
public static boolean hwloc_obj_type_is_cache(@NativeType("hwloc_obj_type_t") int type) {
long __functionAddress = Functions.obj_type_is_cache;
return invokeI(type, __functionAddress) != 0;
}
// --- [ hwloc_obj_type_is_dcache ] ---
@NativeType("int")
public static boolean hwloc_obj_type_is_dcache(@NativeType("hwloc_obj_type_t") int type) {
long __functionAddress = Functions.obj_type_is_dcache;
return invokeI(type, __functionAddress) != 0;
}
// --- [ hwloc_obj_type_is_icache ] ---
@NativeType("int")
public static boolean hwloc_obj_type_is_icache(@NativeType("hwloc_obj_type_t") int type) {
long __functionAddress = Functions.obj_type_is_icache;
return invokeI(type, __functionAddress) != 0;
}
// --- [ hwloc_get_largest_objs_inside_cpuset ] ---
public static int nhwloc_get_largest_objs_inside_cpuset(long topology, long set, long objs, int max) {
long __functionAddress = Functions.get_largest_objs_inside_cpuset;
if (CHECKS) {
check(topology);
check(set);
}
return invokePPPI(topology, set, objs, max, __functionAddress);
}
public static int hwloc_get_largest_objs_inside_cpuset(@NativeType("hwloc_topology_t") long topology, @NativeType("hwloc_const_cpuset_t") long set, @NativeType("hwloc_obj_t *") PointerBuffer objs) {
return nhwloc_get_largest_objs_inside_cpuset(topology, set, memAddress(objs), objs.remaining());
}
// --- [ hwloc_bitmap_singlify_per_core ] ---
public static int hwloc_bitmap_singlify_per_core(@NativeType("hwloc_topology_t") long topology, @NativeType("hwloc_bitmap_t") long cpuset, @NativeType("unsigned") int which) {
long __functionAddress = Functions.bitmap_singlify_per_core;
if (CHECKS) {
check(topology);
check(cpuset);
}
return invokePPI(topology, cpuset, which, __functionAddress);
}
// --- [ hwloc_get_closest_objs ] ---
public static int nhwloc_get_closest_objs(long topology, long src, long objs, int max) {
long __functionAddress = Functions.get_closest_objs;
if (CHECKS) {
check(topology);
}
return invokePPPI(topology, src, objs, max, __functionAddress);
}
@NativeType("unsigned")
public static int hwloc_get_closest_objs(@NativeType("hwloc_topology_t") long topology, @NativeType("hwloc_obj_t") hwloc_obj src, @NativeType("hwloc_obj_t *") PointerBuffer objs) {
return nhwloc_get_closest_objs(topology, src.address(), memAddress(objs), objs.remaining());
}
// --- [ hwloc_get_obj_with_same_locality ] ---
public static long nhwloc_get_obj_with_same_locality(long topology, long src, int type, long subtype, long nameprefix, long flags) {
long __functionAddress = Functions.get_obj_with_same_locality;
if (CHECKS) {
check(topology);
}
return invokePPPPNP(topology, src, type, subtype, nameprefix, flags, __functionAddress);
}
@Nullable
@NativeType("hwloc_obj_t")
public static hwloc_obj hwloc_get_obj_with_same_locality(@NativeType("hwloc_topology_t") long topology, @NativeType("hwloc_obj_t") hwloc_obj src, @NativeType("hwloc_obj_type_t") int type, @Nullable @NativeType("char const *") ByteBuffer subtype, @Nullable @NativeType("char const *") ByteBuffer nameprefix, @NativeType("unsigned long") long flags) {
if (CHECKS) {
checkNT1Safe(subtype);
checkNT1Safe(nameprefix);
}
long __result = nhwloc_get_obj_with_same_locality(topology, src.address(), type, memAddressSafe(subtype), memAddressSafe(nameprefix), flags);
return hwloc_obj.createSafe(__result);
}
@Nullable
@NativeType("hwloc_obj_t")
public static hwloc_obj hwloc_get_obj_with_same_locality(@NativeType("hwloc_topology_t") long topology, @NativeType("hwloc_obj_t") hwloc_obj src, @NativeType("hwloc_obj_type_t") int type, @Nullable @NativeType("char const *") CharSequence subtype, @Nullable @NativeType("char const *") CharSequence nameprefix, @NativeType("unsigned long") long flags) {
MemoryStack stack = stackGet(); int stackPointer = stack.getPointer();
try {
stack.nASCIISafe(subtype, true);
long subtypeEncoded = subtype == null ? NULL : stack.getPointerAddress();
stack.nASCIISafe(nameprefix, true);
long nameprefixEncoded = nameprefix == null ? NULL : stack.getPointerAddress();
long __result = nhwloc_get_obj_with_same_locality(topology, src.address(), type, subtypeEncoded, nameprefixEncoded, flags);
return hwloc_obj.createSafe(__result);
} finally {
stack.setPointer(stackPointer);
}
}
// --- [ hwloc_topology_get_complete_cpuset ] ---
@NativeType("hwloc_const_cpuset_t")
public static long hwloc_topology_get_complete_cpuset(@NativeType("hwloc_topology_t") long topology) {
long __functionAddress = Functions.topology_get_complete_cpuset;
if (CHECKS) {
check(topology);
}
return invokePP(topology, __functionAddress);
}
// --- [ hwloc_topology_get_topology_cpuset ] ---
@NativeType("hwloc_const_cpuset_t")
public static long hwloc_topology_get_topology_cpuset(@NativeType("hwloc_topology_t") long topology) {
long __functionAddress = Functions.topology_get_topology_cpuset;
if (CHECKS) {
check(topology);
}
return invokePP(topology, __functionAddress);
}
// --- [ hwloc_topology_get_allowed_cpuset ] ---
@NativeType("hwloc_const_cpuset_t")
public static long hwloc_topology_get_allowed_cpuset(@NativeType("hwloc_topology_t") long topology) {
long __functionAddress = Functions.topology_get_allowed_cpuset;
if (CHECKS) {
check(topology);
}
return invokePP(topology, __functionAddress);
}
// --- [ hwloc_topology_get_complete_nodeset ] ---
@NativeType("hwloc_const_nodeset_t")
public static long hwloc_topology_get_complete_nodeset(@NativeType("hwloc_topology_t") long topology) {
long __functionAddress = Functions.topology_get_complete_nodeset;
if (CHECKS) {
check(topology);
}
return invokePP(topology, __functionAddress);
}
// --- [ hwloc_topology_get_topology_nodeset ] ---
@NativeType("hwloc_const_nodeset_t")
public static long hwloc_topology_get_topology_nodeset(@NativeType("hwloc_topology_t") long topology) {
long __functionAddress = Functions.topology_get_topology_nodeset;
if (CHECKS) {
check(topology);
}
return invokePP(topology, __functionAddress);
}
// --- [ hwloc_topology_get_allowed_nodeset ] ---
@NativeType("hwloc_const_nodeset_t")
public static long hwloc_topology_get_allowed_nodeset(@NativeType("hwloc_topology_t") long topology) {
long __functionAddress = Functions.topology_get_allowed_nodeset;
if (CHECKS) {
check(topology);
}
return invokePP(topology, __functionAddress);
}
// --- [ hwloc_memattr_get_by_name ] ---
public static int nhwloc_memattr_get_by_name(long topology, long name, long id) {
long __functionAddress = Functions.memattr_get_by_name;
if (CHECKS) {
check(topology);
}
return invokePPPI(topology, name, id, __functionAddress);
}
public static int hwloc_memattr_get_by_name(@NativeType("hwloc_topology_t") long topology, @NativeType("char const *") ByteBuffer name, @NativeType("hwloc_memattr_id_t *") IntBuffer id) {
if (CHECKS) {
checkNT1(name);
check(id, 1);
}
return nhwloc_memattr_get_by_name(topology, memAddress(name), memAddress(id));
}
public static int hwloc_memattr_get_by_name(@NativeType("hwloc_topology_t") long topology, @NativeType("char const *") CharSequence name, @NativeType("hwloc_memattr_id_t *") IntBuffer id) {
if (CHECKS) {
check(id, 1);
}
MemoryStack stack = stackGet(); int stackPointer = stack.getPointer();
try {
stack.nASCII(name, true);
long nameEncoded = stack.getPointerAddress();
return nhwloc_memattr_get_by_name(topology, nameEncoded, memAddress(id));
} finally {
stack.setPointer(stackPointer);
}
}
// --- [ hwloc_get_local_numanode_objs ] ---
public static int nhwloc_get_local_numanode_objs(long topology, long location, long nr, long nodes, long flags) {
long __functionAddress = Functions.get_local_numanode_objs;
if (CHECKS) {
check(topology);
}
return invokePPPPNI(topology, location, nr, nodes, flags, __functionAddress);
}
public static int hwloc_get_local_numanode_objs(@NativeType("hwloc_topology_t") long topology, @NativeType("struct hwloc_location *") hwloc_location location, @NativeType("unsigned int *") IntBuffer nr, @NativeType("hwloc_obj_t *") PointerBuffer nodes, @NativeType("unsigned long") long flags) {
if (CHECKS) {
check(nr, 1);
check(nodes, nr.get(nr.position()));
}
return nhwloc_get_local_numanode_objs(topology, location.address(), memAddress(nr), memAddress(nodes), flags);
}
// --- [ hwloc_memattr_get_value ] ---
public static int nhwloc_memattr_get_value(long topology, int attribute, long target_node, long initiator, long flags, long value) {
long __functionAddress = Functions.memattr_get_value;
if (CHECKS) {
check(topology);
}
return invokePPPNPI(topology, attribute, target_node, initiator, flags, value, __functionAddress);
}
public static int hwloc_memattr_get_value(@NativeType("hwloc_topology_t") long topology, @NativeType("hwloc_memattr_id_t") int attribute, @NativeType("hwloc_obj_t") hwloc_obj target_node, @Nullable @NativeType("struct hwloc_location *") hwloc_location initiator, @NativeType("unsigned long") long flags, @NativeType("hwloc_uint64_t *") LongBuffer value) {
if (CHECKS) {
check(value, 1);
}
return nhwloc_memattr_get_value(topology, attribute, target_node.address(), memAddressSafe(initiator), flags, memAddress(value));
}
// --- [ hwloc_memattr_get_best_target ] ---
public static int nhwloc_memattr_get_best_target(long topology, int attribute, long initiator, long flags, long best_target, long value) {
long __functionAddress = Functions.memattr_get_best_target;
if (CHECKS) {
check(topology);
}
return invokePPNPPI(topology, attribute, initiator, flags, best_target, value, __functionAddress);
}
public static int hwloc_memattr_get_best_target(@NativeType("hwloc_topology_t") long topology, @NativeType("hwloc_memattr_id_t") int attribute, @Nullable @NativeType("struct hwloc_location *") hwloc_location initiator, @NativeType("unsigned long") long flags, @NativeType("hwloc_obj_t *") PointerBuffer best_target, @Nullable @NativeType("hwloc_uint64_t *") LongBuffer value) {
if (CHECKS) {
check(best_target, 1);
checkSafe(value, 1);
}
return nhwloc_memattr_get_best_target(topology, attribute, memAddressSafe(initiator), flags, memAddress(best_target), memAddressSafe(value));
}
// --- [ hwloc_memattr_get_best_initiator ] ---
public static int nhwloc_memattr_get_best_initiator(long topology, int attribute, long target, long flags, long best_initiator, long value) {
long __functionAddress = Functions.memattr_get_best_initiator;
if (CHECKS) {
check(topology);
}
return invokePPNPPI(topology, attribute, target, flags, best_initiator, value, __functionAddress);
}
public static int hwloc_memattr_get_best_initiator(@NativeType("hwloc_topology_t") long topology, @NativeType("hwloc_memattr_id_t") int attribute, @NativeType("hwloc_obj_t") hwloc_obj target, @NativeType("unsigned long") long flags, @NativeType("struct hwloc_location *") hwloc_location.Buffer best_initiator, @Nullable @NativeType("hwloc_uint64_t *") LongBuffer value) {
if (CHECKS) {
check(best_initiator, 1);
checkSafe(value, 1);
}
return nhwloc_memattr_get_best_initiator(topology, attribute, target.address(), flags, best_initiator.address(), memAddressSafe(value));
}
// --- [ hwloc_memattr_get_name ] ---
public static int nhwloc_memattr_get_name(long topology, int attribute, long name) {
long __functionAddress = Functions.memattr_get_name;
if (CHECKS) {
check(topology);
}
return invokePPI(topology, attribute, name, __functionAddress);
}
public static int hwloc_memattr_get_name(@NativeType("hwloc_topology_t") long topology, @NativeType("hwloc_memattr_id_t") int attribute, @NativeType("char const **") PointerBuffer name) {
if (CHECKS) {
check(name, 1);
}
return nhwloc_memattr_get_name(topology, attribute, memAddress(name));
}
// --- [ hwloc_memattr_get_flags ] ---
public static int nhwloc_memattr_get_flags(long topology, int attribute, long flags) {
long __functionAddress = Functions.memattr_get_flags;
if (CHECKS) {
check(topology);
}
return invokePPI(topology, attribute, flags, __functionAddress);
}
public static int hwloc_memattr_get_flags(@NativeType("hwloc_topology_t") long topology, @NativeType("hwloc_memattr_id_t") int attribute, @NativeType("unsigned long *") CLongBuffer flags) {
if (CHECKS) {
check(flags, 1);
}
return nhwloc_memattr_get_flags(topology, attribute, memAddress(flags));
}
// --- [ hwloc_memattr_register ] ---
public static int nhwloc_memattr_register(long topology, long name, long flags, long id) {
long __functionAddress = Functions.memattr_register;
if (CHECKS) {
check(topology);
}
return invokePPNPI(topology, name, flags, id, __functionAddress);
}
public static int hwloc_memattr_register(@NativeType("hwloc_topology_t") long topology, @NativeType("char const *") ByteBuffer name, @NativeType("unsigned long") long flags, @NativeType("hwloc_memattr_id_t *") IntBuffer id) {
if (CHECKS) {
checkNT1(name);
check(id, 1);
}
return nhwloc_memattr_register(topology, memAddress(name), flags, memAddress(id));
}
public static int hwloc_memattr_register(@NativeType("hwloc_topology_t") long topology, @NativeType("char const *") CharSequence name, @NativeType("unsigned long") long flags, @NativeType("hwloc_memattr_id_t *") IntBuffer id) {
if (CHECKS) {
check(id, 1);
}
MemoryStack stack = stackGet(); int stackPointer = stack.getPointer();
try {
stack.nASCII(name, true);
long nameEncoded = stack.getPointerAddress();
return nhwloc_memattr_register(topology, nameEncoded, flags, memAddress(id));
} finally {
stack.setPointer(stackPointer);
}
}
// --- [ hwloc_memattr_set_value ] ---
public static int nhwloc_memattr_set_value(long topology, int attribute, long target_node, long initiator, long flags, long value) {
long __functionAddress = Functions.memattr_set_value;
if (CHECKS) {
check(topology);
}
return invokePPPNJI(topology, attribute, target_node, initiator, flags, value, __functionAddress);
}
public static int hwloc_memattr_set_value(@NativeType("hwloc_topology_t") long topology, @NativeType("hwloc_memattr_id_t") int attribute, @NativeType("hwloc_obj_t") hwloc_obj target_node, @Nullable @NativeType("struct hwloc_location *") hwloc_location initiator, @NativeType("unsigned long") long flags, @NativeType("hwloc_uint64_t") long value) {
return nhwloc_memattr_set_value(topology, attribute, target_node.address(), memAddressSafe(initiator), flags, value);
}
// --- [ hwloc_memattr_get_targets ] ---
public static int nhwloc_memattr_get_targets(long topology, int attribute, long initiator, long flags, long nr, long targets, long values) {
long __functionAddress = Functions.memattr_get_targets;
if (CHECKS) {
check(topology);
}
return invokePPNPPPI(topology, attribute, initiator, flags, nr, targets, values, __functionAddress);
}
public static int hwloc_memattr_get_targets(@NativeType("hwloc_topology_t") long topology, @NativeType("hwloc_memattr_id_t") int attribute, @Nullable @NativeType("struct hwloc_location *") hwloc_location initiator, @NativeType("unsigned long") long flags, @NativeType("unsigned int *") IntBuffer nr, @NativeType("hwloc_obj_t *") PointerBuffer targets, @Nullable @NativeType("hwloc_uint64_t *") LongBuffer values) {
if (CHECKS) {
check(nr, 1);
check(targets, nr.get(nr.position()));
checkSafe(values, nr.get(nr.position()));
}
return nhwloc_memattr_get_targets(topology, attribute, memAddressSafe(initiator), flags, memAddress(nr), memAddress(targets), memAddressSafe(values));
}
// --- [ hwloc_memattr_get_initiators ] ---
public static int nhwloc_memattr_get_initiators(long topology, int attribute, long target_node, long flags, long nr, long initiators, long values) {
long __functionAddress = Functions.memattr_get_initiators;
if (CHECKS) {
check(topology);
}
return invokePPNPPPI(topology, attribute, target_node, flags, nr, initiators, values, __functionAddress);
}
public static int hwloc_memattr_get_initiators(@NativeType("hwloc_topology_t") long topology, @NativeType("hwloc_memattr_id_t") int attribute, @NativeType("hwloc_obj_t") hwloc_obj target_node, @NativeType("unsigned long") long flags, @NativeType("unsigned int *") IntBuffer nr, @NativeType("struct hwloc_location *") hwloc_location.Buffer initiators, @Nullable @NativeType("hwloc_uint64_t *") LongBuffer values) {
if (CHECKS) {
check(nr, 1);
check(initiators, nr.get(nr.position()));
checkSafe(values, nr.get(nr.position()));
}
return nhwloc_memattr_get_initiators(topology, attribute, target_node.address(), flags, memAddress(nr), initiators.address(), memAddressSafe(values));
}
// --- [ hwloc_cpukinds_get_nr ] ---
public static int hwloc_cpukinds_get_nr(@NativeType("hwloc_topology_t") long topology, @NativeType("unsigned long") long flags) {
long __functionAddress = Functions.cpukinds_get_nr;
if (CHECKS) {
check(topology);
}
return invokePNI(topology, flags, __functionAddress);
}
// --- [ hwloc_cpukinds_get_by_cpuset ] ---
public static int hwloc_cpukinds_get_by_cpuset(@NativeType("hwloc_topology_t") long topology, @NativeType("hwloc_const_bitmap_t") long cpuset, @NativeType("unsigned long") long flags) {
long __functionAddress = Functions.cpukinds_get_by_cpuset;
if (CHECKS) {
check(topology);
check(cpuset);
}
return invokePPNI(topology, cpuset, flags, __functionAddress);
}
// --- [ hwloc_cpukinds_get_info ] ---
public static int nhwloc_cpukinds_get_info(long topology, int kind_index, long cpuset, long efficiency, long infosp, long flags) {
long __functionAddress = Functions.cpukinds_get_info;
if (CHECKS) {
check(topology);
}
return invokePPPPNI(topology, kind_index, cpuset, efficiency, infosp, flags, __functionAddress);
}
public static int hwloc_cpukinds_get_info(@NativeType("hwloc_topology_t") long topology, @NativeType("unsigned int") int kind_index, @NativeType("hwloc_bitmap_t") long cpuset, @Nullable @NativeType("int *") IntBuffer efficiency, @NativeType("struct hwloc_infos_s **") PointerBuffer infosp, @NativeType("unsigned long") long flags) {
if (CHECKS) {
checkSafe(efficiency, 1);
check(infosp, 1);
}
return nhwloc_cpukinds_get_info(topology, kind_index, cpuset, memAddressSafe(efficiency), memAddress(infosp), flags);
}
// --- [ hwloc_cpukinds_register ] ---
public static int nhwloc_cpukinds_register(long topology, long cpuset, int forced_efficiency, long infos, long flags) {
long __functionAddress = Functions.cpukinds_register;
if (CHECKS) {
check(topology);
check(cpuset);
}
return invokePPPNI(topology, cpuset, forced_efficiency, infos, flags, __functionAddress);
}
public static int hwloc_cpukinds_register(@NativeType("hwloc_topology_t") long topology, @NativeType("hwloc_bitmap_t") long cpuset, int forced_efficiency, @Nullable @NativeType("struct hwloc_infos_s *") hwloc_infos_s infos, @NativeType("unsigned long") long flags) {
return nhwloc_cpukinds_register(topology, cpuset, forced_efficiency, memAddressSafe(infos), flags);
}
// --- [ hwloc_topology_export_xml ] ---
public static int nhwloc_topology_export_xml(long topology, long xmlpath, long flags) {
long __functionAddress = Functions.topology_export_xml;
if (CHECKS) {
check(topology);
}
return invokePPNI(topology, xmlpath, flags, __functionAddress);
}
public static int hwloc_topology_export_xml(@NativeType("hwloc_topology_t") long topology, @NativeType("char const *") ByteBuffer xmlpath, @NativeType("unsigned long") long flags) {
if (CHECKS) {
checkNT1(xmlpath);
}
return nhwloc_topology_export_xml(topology, memAddress(xmlpath), flags);
}
public static int hwloc_topology_export_xml(@NativeType("hwloc_topology_t") long topology, @NativeType("char const *") CharSequence xmlpath, @NativeType("unsigned long") long flags) {
MemoryStack stack = stackGet(); int stackPointer = stack.getPointer();
try {
stack.nUTF8(xmlpath, true);
long xmlpathEncoded = stack.getPointerAddress();
return nhwloc_topology_export_xml(topology, xmlpathEncoded, flags);
} finally {
stack.setPointer(stackPointer);
}
}
// --- [ hwloc_topology_export_xmlbuffer ] ---
public static int nhwloc_topology_export_xmlbuffer(long topology, long xmlbuffer, long buflen, long flags) {
long __functionAddress = Functions.topology_export_xmlbuffer;
if (CHECKS) {
check(topology);
}
return invokePPPNI(topology, xmlbuffer, buflen, flags, __functionAddress);
}
public static int hwloc_topology_export_xmlbuffer(@NativeType("hwloc_topology_t") long topology, @NativeType("char **") PointerBuffer xmlbuffer, @NativeType("int *") IntBuffer buflen, @NativeType("unsigned long") long flags) {
if (CHECKS) {
check(xmlbuffer, 1);
check(buflen, 1);
}
return nhwloc_topology_export_xmlbuffer(topology, memAddress(xmlbuffer), memAddress(buflen), flags);
}
// --- [ hwloc_free_xmlbuffer ] ---
public static void nhwloc_free_xmlbuffer(long topology, long xmlbuffer) {
long __functionAddress = Functions.free_xmlbuffer;
if (CHECKS) {
check(topology);
}
invokePPV(topology, xmlbuffer, __functionAddress);
}
public static void hwloc_free_xmlbuffer(@NativeType("hwloc_topology_t") long topology, @NativeType("char *") ByteBuffer xmlbuffer) {
nhwloc_free_xmlbuffer(topology, memAddress(xmlbuffer));
}
// --- [ hwloc_topology_set_userdata_export_callback ] ---
public static void nhwloc_topology_set_userdata_export_callback(long topology, long export_cb) {
long __functionAddress = Functions.topology_set_userdata_export_callback;
if (CHECKS) {
check(topology);
}
invokePPV(topology, export_cb, __functionAddress);
}
public static void hwloc_topology_set_userdata_export_callback(@NativeType("hwloc_topology_t") long topology, @NativeType("void (*) (void *, hwloc_topology_t, hwloc_obj_t)") topology_set_userdata_export_callbackI export_cb) {
nhwloc_topology_set_userdata_export_callback(topology, export_cb.address());
}
// --- [ hwloc_export_obj_userdata ] ---
public static int nhwloc_export_obj_userdata(long reserved, long topology, long obj, long name, long buffer, long length) {
long __functionAddress = Functions.export_obj_userdata;
if (CHECKS) {
check(topology);
}
return invokePPPPPPI(reserved, topology, obj, name, buffer, length, __functionAddress);
}
public static int hwloc_export_obj_userdata(@NativeType("void *") long reserved, @NativeType("hwloc_topology_t") long topology, @NativeType("hwloc_obj_t") hwloc_obj obj, @NativeType("char const *") ByteBuffer name, @NativeType("void const *") ByteBuffer buffer) {
if (CHECKS) {
checkNT1(name);
}
return nhwloc_export_obj_userdata(reserved, topology, obj.address(), memAddress(name), memAddress(buffer), buffer.remaining());
}
public static int hwloc_export_obj_userdata(@NativeType("void *") long reserved, @NativeType("hwloc_topology_t") long topology, @NativeType("hwloc_obj_t") hwloc_obj obj, @NativeType("char const *") CharSequence name, @NativeType("void const *") ByteBuffer buffer) {
MemoryStack stack = stackGet(); int stackPointer = stack.getPointer();
try {
stack.nASCII(name, true);
long nameEncoded = stack.getPointerAddress();
return nhwloc_export_obj_userdata(reserved, topology, obj.address(), nameEncoded, memAddress(buffer), buffer.remaining());
} finally {
stack.setPointer(stackPointer);
}
}
// --- [ hwloc_export_obj_userdata_base64 ] ---
public static int nhwloc_export_obj_userdata_base64(long reserved, long topology, long obj, long name, long buffer, long length) {
long __functionAddress = Functions.export_obj_userdata_base64;
if (CHECKS) {
check(topology);
}
return invokePPPPPPI(reserved, topology, obj, name, buffer, length, __functionAddress);
}
public static int hwloc_export_obj_userdata_base64(@NativeType("void *") long reserved, @NativeType("hwloc_topology_t") long topology, @NativeType("hwloc_obj_t") hwloc_obj obj, @NativeType("char const *") ByteBuffer name, @NativeType("void const *") ByteBuffer buffer) {
if (CHECKS) {
checkNT1(name);
}
return nhwloc_export_obj_userdata_base64(reserved, topology, obj.address(), memAddress(name), memAddress(buffer), buffer.remaining());
}
public static int hwloc_export_obj_userdata_base64(@NativeType("void *") long reserved, @NativeType("hwloc_topology_t") long topology, @NativeType("hwloc_obj_t") hwloc_obj obj, @NativeType("char const *") CharSequence name, @NativeType("void const *") ByteBuffer buffer) {
MemoryStack stack = stackGet(); int stackPointer = stack.getPointer();
try {
stack.nASCII(name, true);
long nameEncoded = stack.getPointerAddress();
return nhwloc_export_obj_userdata_base64(reserved, topology, obj.address(), nameEncoded, memAddress(buffer), buffer.remaining());
} finally {
stack.setPointer(stackPointer);
}
}
// --- [ hwloc_topology_set_userdata_import_callback ] ---
public static void nhwloc_topology_set_userdata_import_callback(long topology, long import_cb) {
long __functionAddress = Functions.topology_set_userdata_import_callback;
if (CHECKS) {
check(topology);
}
invokePPV(topology, import_cb, __functionAddress);
}
public static void hwloc_topology_set_userdata_import_callback(@NativeType("hwloc_topology_t") long topology, @NativeType("void (*) (hwloc_topology_t, hwloc_obj_t, char const *, void const *, size_t)") topology_set_userdata_import_callbackI import_cb) {
nhwloc_topology_set_userdata_import_callback(topology, import_cb.address());
}
// --- [ hwloc_topology_export_synthetic ] ---
public static int nhwloc_topology_export_synthetic(long topology, long buffer, long buflen, long flags) {
long __functionAddress = Functions.topology_export_synthetic;
if (CHECKS) {
check(topology);
}
return invokePPPNI(topology, buffer, buflen, flags, __functionAddress);
}
public static int hwloc_topology_export_synthetic(@NativeType("hwloc_topology_t") long topology, @NativeType("char *") ByteBuffer buffer, @NativeType("unsigned long") long flags) {
return nhwloc_topology_export_synthetic(topology, memAddress(buffer), buffer.remaining(), flags);
}
// --- [ hwloc_distances_get ] ---
public static int nhwloc_distances_get(long topology, long nr, long distances, long kind, long flags) {
long __functionAddress = Functions.distances_get;
if (CHECKS) {
check(topology);
}
return invokePPPNNI(topology, nr, distances, kind, flags, __functionAddress);
}
public static int hwloc_distances_get(@NativeType("hwloc_topology_t") long topology, @NativeType("unsigned int *") IntBuffer nr, @NativeType("struct hwloc_distances_s **") PointerBuffer distances, @NativeType("unsigned long") long kind, @NativeType("unsigned long") long flags) {
if (CHECKS) {
check(nr, 1);
check(distances, nr.get(nr.position()));
}
return nhwloc_distances_get(topology, memAddress(nr), memAddress(distances), kind, flags);
}
// --- [ hwloc_distances_get_by_depth ] ---
public static int nhwloc_distances_get_by_depth(long topology, int depth, long nr, long distances, long kind, long flags) {
long __functionAddress = Functions.distances_get_by_depth;
if (CHECKS) {
check(topology);
}
return invokePPPNNI(topology, depth, nr, distances, kind, flags, __functionAddress);
}
public static int hwloc_distances_get_by_depth(@NativeType("hwloc_topology_t") long topology, int depth, @NativeType("unsigned int *") IntBuffer nr, @NativeType("struct hwloc_distances_s **") PointerBuffer distances, @NativeType("unsigned long") long kind, @NativeType("unsigned long") long flags) {
if (CHECKS) {
check(nr, 1);
check(distances, nr.get(nr.position()));
}
return nhwloc_distances_get_by_depth(topology, depth, memAddress(nr), memAddress(distances), kind, flags);
}
// --- [ hwloc_distances_get_by_type ] ---
public static int nhwloc_distances_get_by_type(long topology, int type, long nr, long distances, long kind, long flags) {
long __functionAddress = Functions.distances_get_by_type;
if (CHECKS) {
check(topology);
}
return invokePPPNNI(topology, type, nr, distances, kind, flags, __functionAddress);
}
public static int hwloc_distances_get_by_type(@NativeType("hwloc_topology_t") long topology, @NativeType("hwloc_obj_type_t") int type, @NativeType("unsigned int *") IntBuffer nr, @NativeType("struct hwloc_distances_s **") PointerBuffer distances, @NativeType("unsigned long") long kind, @NativeType("unsigned long") long flags) {
if (CHECKS) {
check(nr, 1);
check(distances, nr.get(nr.position()));
}
return nhwloc_distances_get_by_type(topology, type, memAddress(nr), memAddress(distances), kind, flags);
}
// --- [ hwloc_distances_get_by_name ] ---
public static int nhwloc_distances_get_by_name(long topology, long name, long nr, long distances, long flags) {
long __functionAddress = Functions.distances_get_by_name;
if (CHECKS) {
check(topology);
}
return invokePPPPNI(topology, name, nr, distances, flags, __functionAddress);
}
public static int hwloc_distances_get_by_name(@NativeType("hwloc_topology_t") long topology, @NativeType("char const *") ByteBuffer name, @NativeType("unsigned int *") IntBuffer nr, @NativeType("struct hwloc_distances_s **") PointerBuffer distances, @NativeType("unsigned long") long flags) {
if (CHECKS) {
checkNT1(name);
check(nr, 1);
check(distances, nr.get(nr.position()));
}
return nhwloc_distances_get_by_name(topology, memAddress(name), memAddress(nr), memAddress(distances), flags);
}
public static int hwloc_distances_get_by_name(@NativeType("hwloc_topology_t") long topology, @NativeType("char const *") CharSequence name, @NativeType("unsigned int *") IntBuffer nr, @NativeType("struct hwloc_distances_s **") PointerBuffer distances, @NativeType("unsigned long") long flags) {
if (CHECKS) {
check(nr, 1);
check(distances, nr.get(nr.position()));
}
MemoryStack stack = stackGet(); int stackPointer = stack.getPointer();
try {
stack.nASCII(name, true);
long nameEncoded = stack.getPointerAddress();
return nhwloc_distances_get_by_name(topology, nameEncoded, memAddress(nr), memAddress(distances), flags);
} finally {
stack.setPointer(stackPointer);
}
}
// --- [ hwloc_distances_get_name ] ---
public static long nhwloc_distances_get_name(long topology, long distances) {
long __functionAddress = Functions.distances_get_name;
if (CHECKS) {
check(topology);
}
return invokePPP(topology, distances, __functionAddress);
}
@Nullable
@NativeType("char const *")
public static String hwloc_distances_get_name(@NativeType("hwloc_topology_t") long topology, @NativeType("struct hwloc_distances_s *") hwloc_distances_s distances) {
long __result = nhwloc_distances_get_name(topology, distances.address());
return memASCIISafe(__result);
}
// --- [ hwloc_distances_release ] ---
public static void nhwloc_distances_release(long topology, long distances) {
long __functionAddress = Functions.distances_release;
if (CHECKS) {
check(topology);
}
invokePPV(topology, distances, __functionAddress);
}
public static void hwloc_distances_release(@NativeType("hwloc_topology_t") long topology, @NativeType("struct hwloc_distances_s *") hwloc_distances_s distances) {
nhwloc_distances_release(topology, distances.address());
}
// --- [ hwloc_distances_transform ] ---
public static int nhwloc_distances_transform(long topology, long distances, int transform, long transform_attr, long flags) {
long __functionAddress = Functions.distances_transform;
if (CHECKS) {
check(topology);
}
return invokePPPNI(topology, distances, transform, transform_attr, flags, __functionAddress);
}
public static int hwloc_distances_transform(@NativeType("hwloc_topology_t") long topology, @NativeType("struct hwloc_distances_s *") hwloc_distances_s distances, @NativeType("enum hwloc_distances_transform_e") int transform, @NativeType("void *") long transform_attr, @NativeType("unsigned long") long flags) {
return nhwloc_distances_transform(topology, distances.address(), transform, transform_attr, flags);
}
// --- [ hwloc_distances_add_create ] ---
public static long nhwloc_distances_add_create(long topology, long name, long kind, long flags) {
long __functionAddress = Functions.distances_add_create;
if (CHECKS) {
check(topology);
}
return invokePPNNP(topology, name, kind, flags, __functionAddress);
}
@NativeType("hwloc_distances_add_handle_t")
public static long hwloc_distances_add_create(@NativeType("hwloc_topology_t") long topology, @Nullable @NativeType("char const *") ByteBuffer name, @NativeType("unsigned long") long kind, @NativeType("unsigned long") long flags) {
if (CHECKS) {
checkNT1Safe(name);
}
return nhwloc_distances_add_create(topology, memAddressSafe(name), kind, flags);
}
@NativeType("hwloc_distances_add_handle_t")
public static long hwloc_distances_add_create(@NativeType("hwloc_topology_t") long topology, @Nullable @NativeType("char const *") CharSequence name, @NativeType("unsigned long") long kind, @NativeType("unsigned long") long flags) {
MemoryStack stack = stackGet(); int stackPointer = stack.getPointer();
try {
stack.nASCIISafe(name, true);
long nameEncoded = name == null ? NULL : stack.getPointerAddress();
return nhwloc_distances_add_create(topology, nameEncoded, kind, flags);
} finally {
stack.setPointer(stackPointer);
}
}
// --- [ hwloc_distances_add_values ] ---
public static int nhwloc_distances_add_values(long topology, long handle, int nbobjs, long objs, long values, long flags) {
long __functionAddress = Functions.distances_add_values;
if (CHECKS) {
check(topology);
check(handle);
}
return invokePPPPNI(topology, handle, nbobjs, objs, values, flags, __functionAddress);
}
public static int hwloc_distances_add_values(@NativeType("hwloc_topology_t") long topology, @NativeType("hwloc_distances_add_handle_t") long handle, @NativeType("unsigned int") int nbobjs, @NativeType("hwloc_obj_t *") PointerBuffer objs, @NativeType("hwloc_uint64_t *") LongBuffer values, @NativeType("unsigned long") long flags) {
if (CHECKS) {
check(objs, nbobjs);
check(values, nbobjs * nbobjs);
}
return nhwloc_distances_add_values(topology, handle, nbobjs, memAddress(objs), memAddress(values), flags);
}
// --- [ hwloc_distances_add_commit ] ---
public static int hwloc_distances_add_commit(@NativeType("hwloc_topology_t") long topology, @NativeType("hwloc_distances_add_handle_t") long handle, @NativeType("unsigned long") long flags) {
long __functionAddress = Functions.distances_add_commit;
if (CHECKS) {
check(topology);
check(handle);
}
return invokePPNI(topology, handle, flags, __functionAddress);
}
// --- [ hwloc_distances_remove ] ---
public static int hwloc_distances_remove(@NativeType("hwloc_topology_t") long topology) {
long __functionAddress = Functions.distances_remove;
if (CHECKS) {
check(topology);
}
return invokePI(topology, __functionAddress);
}
// --- [ hwloc_distances_remove_by_depth ] ---
public static int hwloc_distances_remove_by_depth(@NativeType("hwloc_topology_t") long topology, int depth) {
long __functionAddress = Functions.distances_remove_by_depth;
if (CHECKS) {
check(topology);
}
return invokePI(topology, depth, __functionAddress);
}
// --- [ hwloc_distances_release_remove ] ---
public static int nhwloc_distances_release_remove(long topology, long distances) {
long __functionAddress = Functions.distances_release_remove;
if (CHECKS) {
check(topology);
}
return invokePPI(topology, distances, __functionAddress);
}
public static int hwloc_distances_release_remove(@NativeType("hwloc_topology_t") long topology, @NativeType("struct hwloc_distances_s *") hwloc_distances_s distances) {
return nhwloc_distances_release_remove(topology, distances.address());
}
// --- [ hwloc_topology_diff_build ] ---
public static int nhwloc_topology_diff_build(long topology, long newtopology, long flags, long diff) {
long __functionAddress = Functions.topology_diff_build;
if (CHECKS) {
check(topology);
check(newtopology);
}
return invokePPNPI(topology, newtopology, flags, diff, __functionAddress);
}
public static int hwloc_topology_diff_build(@NativeType("hwloc_topology_t") long topology, @NativeType("hwloc_topology_t") long newtopology, @NativeType("unsigned long") long flags, @NativeType("hwloc_topology_diff_t *") PointerBuffer diff) {
if (CHECKS) {
check(diff, 1);
}
return nhwloc_topology_diff_build(topology, newtopology, flags, memAddress(diff));
}
// --- [ hwloc_topology_diff_apply ] ---
public static int hwloc_topology_diff_apply(@NativeType("hwloc_topology_t") long topology, @NativeType("hwloc_topology_diff_t") long diff, @NativeType("unsigned long") long flags) {
long __functionAddress = Functions.topology_diff_apply;
if (CHECKS) {
check(topology);
check(diff);
}
return invokePPNI(topology, diff, flags, __functionAddress);
}
// --- [ hwloc_topology_diff_destroy ] ---
public static int hwloc_topology_diff_destroy(@NativeType("hwloc_topology_diff_t") long diff) {
long __functionAddress = Functions.topology_diff_destroy;
if (CHECKS) {
check(diff);
}
return invokePI(diff, __functionAddress);
}
// --- [ hwloc_topology_diff_load_xml ] ---
public static int nhwloc_topology_diff_load_xml(long xmlpath, long diff, long refname) {
long __functionAddress = Functions.topology_diff_load_xml;
return invokePPPI(xmlpath, diff, refname, __functionAddress);
}
public static int hwloc_topology_diff_load_xml(@NativeType("char const *") ByteBuffer xmlpath, @NativeType("hwloc_topology_diff_t *") PointerBuffer diff, @NativeType("char **") PointerBuffer refname) {
if (CHECKS) {
checkNT1(xmlpath);
check(diff, 1);
check(refname, 1);
}
return nhwloc_topology_diff_load_xml(memAddress(xmlpath), memAddress(diff), memAddress(refname));
}
public static int hwloc_topology_diff_load_xml(@NativeType("char const *") CharSequence xmlpath, @NativeType("hwloc_topology_diff_t *") PointerBuffer diff, @NativeType("char **") PointerBuffer refname) {
if (CHECKS) {
check(diff, 1);
check(refname, 1);
}
MemoryStack stack = stackGet(); int stackPointer = stack.getPointer();
try {
stack.nUTF8(xmlpath, true);
long xmlpathEncoded = stack.getPointerAddress();
return nhwloc_topology_diff_load_xml(xmlpathEncoded, memAddress(diff), memAddress(refname));
} finally {
stack.setPointer(stackPointer);
}
}
// --- [ hwloc_topology_diff_export_xml ] ---
public static int nhwloc_topology_diff_export_xml(long diff, long refname, long xmlpath) {
long __functionAddress = Functions.topology_diff_export_xml;
if (CHECKS) {
check(diff);
}
return invokePPPI(diff, refname, xmlpath, __functionAddress);
}
public static int hwloc_topology_diff_export_xml(@NativeType("hwloc_topology_diff_t") long diff, @NativeType("char const *") ByteBuffer refname, @NativeType("char const *") ByteBuffer xmlpath) {
if (CHECKS) {
checkNT1(refname);
checkNT1(xmlpath);
}
return nhwloc_topology_diff_export_xml(diff, memAddress(refname), memAddress(xmlpath));
}
public static int hwloc_topology_diff_export_xml(@NativeType("hwloc_topology_diff_t") long diff, @NativeType("char const *") CharSequence refname, @NativeType("char const *") CharSequence xmlpath) {
MemoryStack stack = stackGet(); int stackPointer = stack.getPointer();
try {
stack.nASCII(refname, true);
long refnameEncoded = stack.getPointerAddress();
stack.nUTF8(xmlpath, true);
long xmlpathEncoded = stack.getPointerAddress();
return nhwloc_topology_diff_export_xml(diff, refnameEncoded, xmlpathEncoded);
} finally {
stack.setPointer(stackPointer);
}
}
// --- [ hwloc_topology_diff_load_xmlbuffer ] ---
public static int nhwloc_topology_diff_load_xmlbuffer(long xmlbuffer, int buflen, long diff, long refname) {
long __functionAddress = Functions.topology_diff_load_xmlbuffer;
return invokePPPI(xmlbuffer, buflen, diff, refname, __functionAddress);
}
public static int hwloc_topology_diff_load_xmlbuffer(@NativeType("char const *") ByteBuffer xmlbuffer, @NativeType("hwloc_topology_diff_t *") PointerBuffer diff, @NativeType("char **") PointerBuffer refname) {
if (CHECKS) {
check(diff, 1);
check(refname, 1);
}
return nhwloc_topology_diff_load_xmlbuffer(memAddress(xmlbuffer), xmlbuffer.remaining(), memAddress(diff), memAddress(refname));
}
// --- [ hwloc_topology_diff_export_xmlbuffer ] ---
public static int nhwloc_topology_diff_export_xmlbuffer(long diff, long refname, long xmlbuffer, long buflen) {
long __functionAddress = Functions.topology_diff_export_xmlbuffer;
if (CHECKS) {
check(diff);
}
return invokePPPPI(diff, refname, xmlbuffer, buflen, __functionAddress);
}
public static int hwloc_topology_diff_export_xmlbuffer(@NativeType("hwloc_topology_diff_t") long diff, @NativeType("char const *") ByteBuffer refname, @NativeType("char **") PointerBuffer xmlbuffer, @NativeType("int *") IntBuffer buflen) {
if (CHECKS) {
checkNT1(refname);
check(xmlbuffer, 1);
check(buflen, 1);
}
return nhwloc_topology_diff_export_xmlbuffer(diff, memAddress(refname), memAddress(xmlbuffer), memAddress(buflen));
}
public static int hwloc_topology_diff_export_xmlbuffer(@NativeType("hwloc_topology_diff_t") long diff, @NativeType("char const *") CharSequence refname, @NativeType("char **") PointerBuffer xmlbuffer, @NativeType("int *") IntBuffer buflen) {
if (CHECKS) {
check(xmlbuffer, 1);
check(buflen, 1);
}
MemoryStack stack = stackGet(); int stackPointer = stack.getPointer();
try {
stack.nASCII(refname, true);
long refnameEncoded = stack.getPointerAddress();
return nhwloc_topology_diff_export_xmlbuffer(diff, refnameEncoded, memAddress(xmlbuffer), memAddress(buflen));
} finally {
stack.setPointer(stackPointer);
}
}
public static int hwloc_get_type_or_below_depth(@NativeType("hwloc_topology_t") long topology, @NativeType("hwloc_obj_type_t") int type) {
int depth = hwloc_get_type_depth(topology, type);
if (depth != HWLOC_TYPE_DEPTH_UNKNOWN) {
return depth;
}
/* find the lowest existing level with type order <= */
for (depth = 0; ; depth++) {
if (hwloc_compare_types(hwloc_get_depth_type(topology, depth), type) > 0) {
return depth - 1;
}
}
/* Shouldn't ever happen, as there is always a PU level with higher order and known depth. */
/* abort(); */
}
public static int hwloc_get_type_or_above_depth(@NativeType("hwloc_topology_t") long topology, @NativeType("hwloc_obj_type_t") int type) {
int depth = hwloc_get_type_depth(topology, type);
if (depth != HWLOC_TYPE_DEPTH_UNKNOWN) {
return depth;
}
/* find the lowest existing level with type order <= */
for (depth = 0; ; depth++) {
if (hwloc_compare_types(hwloc_get_depth_type(topology, depth), type) > 0) {
return depth - 1;
}
}
/* Shouldn't ever happen, as there is always a PU level with higher order and known depth. */
/* abort(); */
}
public static int hwloc_get_nbobjs_by_type(@NativeType("hwloc_topology_t") long topology, @NativeType("hwloc_obj_type_t") int type) {
int depth = hwloc_get_type_depth(topology, type);
if (depth == HWLOC_TYPE_DEPTH_UNKNOWN) {
return 0;
}
if (depth == HWLOC_TYPE_DEPTH_MULTIPLE) {
return -1; /* FIXME: agregate nbobjs from different levels? */
}
return hwloc_get_nbobjs_by_depth(topology, depth);
}
@Nullable
@NativeType("hwloc_obj_t")
public static hwloc_obj hwloc_get_root_obj(@NativeType("hwloc_topology_t") long topology) {
return hwloc_get_obj_by_depth (topology, 0, 0);
}
@Nullable
@NativeType("hwloc_obj_t")
public static hwloc_obj hwloc_get_obj_by_type(@NativeType("hwloc_topology_t") long topology, @NativeType("hwloc_obj_type_t") int type, @NativeType("unsigned") int idx) {
int depth = hwloc_get_type_depth(topology, type);
if (depth == HWLOC_TYPE_DEPTH_UNKNOWN) {
return null;
}
if (depth == HWLOC_TYPE_DEPTH_MULTIPLE) {
return null;
}
return hwloc_get_obj_by_depth(topology, depth, idx);
}
@Nullable
@NativeType("hwloc_obj_t")
public static hwloc_obj hwloc_get_next_obj_by_depth(@NativeType("hwloc_topology_t") long topology, int depth, @Nullable @NativeType("hwloc_obj_t") hwloc_obj prev) {
if (prev == null) {
return hwloc_get_obj_by_depth(topology, depth, 0);
}
if (prev.depth() != depth) {
return null;
}
return prev.next_cousin();
}
@Nullable
@NativeType("hwloc_obj_t")
public static hwloc_obj hwloc_get_next_obj_by_type(@NativeType("hwloc_topology_t") long topology, @NativeType("hwloc_obj_type_t") int type, @Nullable @NativeType("hwloc_obj_t") hwloc_obj prev) {
int depth = hwloc_get_type_depth(topology, type);
if (depth == HWLOC_TYPE_DEPTH_UNKNOWN || depth == HWLOC_TYPE_DEPTH_MULTIPLE) {
return null;
}
return hwloc_get_next_obj_by_depth(topology, depth, prev);
}
@Nullable
@NativeType("char const *")
public static String hwloc_obj_get_info_by_name(@NativeType("hwloc_obj_t") hwloc_obj obj, String name) {
return hwloc_get_info_by_name(obj.infos(), name);
}
@Nullable
@NativeType("char const *")
public static String hwloc_get_info_by_name(@NativeType("struct hwloc_infos_s") hwloc_infos_s infos, String name) {
if (infos.count() == 0) {
return null;
}
hwloc_info_s.Buffer array = Objects.requireNonNull(infos.array());
for (hwloc_info_s info : array) {
if (info.nameString().equals(name)) {
return info.valueString();
}
}
return null;
}
public static int hwloc_obj_add_info(@NativeType("hwloc_obj_t") hwloc_obj obj, @NativeType("char const *") ByteBuffer name, @NativeType("char const *") ByteBuffer value) {
return hwloc_modify_infos(obj.infos(), HWLOC_MODIFY_INFOS_OP_ADD, name, value);
}
public static int hwloc_obj_add_info(@NativeType("hwloc_obj_t") hwloc_obj obj, @NativeType("char const *") CharSequence name, @NativeType("char const *") CharSequence value) {
return hwloc_modify_infos(obj.infos(), HWLOC_MODIFY_INFOS_OP_ADD, name, value);
}
@Nullable
public static ByteBuffer hwloc_alloc_membind_policy(@NativeType("hwloc_topology_t") long topology, @NativeType("size_t") long len, @NativeType("hwloc_const_cpuset_t") long set, @NativeType("hwloc_membind_policy_t") int policy, int flags) {
ByteBuffer p = hwloc_alloc_membind(topology, len, set, policy, flags);
if (p != null) {
return p;
}
if (hwloc_set_membind(topology, set, policy, flags) < 0)
/* hwloc_set_membind() takes care of ignoring errors if non-STRICT */ {
return null;
}
p = hwloc_alloc(topology, len);
if (p != null && policy != HWLOC_MEMBIND_FIRSTTOUCH)
/* Enforce the binding by touching the data */ {
memSet(p, 0);
}
return p;
}
@Nullable
@NativeType("hwloc_obj_t")
public static hwloc_obj hwloc_get_first_largest_obj_inside_cpuset(@NativeType("hwloc_topology_t") long topology, @NativeType("hwloc_const_cpuset_t") long set) {
hwloc_obj obj = Objects.requireNonNull(hwloc_get_root_obj(topology));
if (!hwloc_bitmap_intersects(obj.cpuset(), set)) {
return null;
}
while (!hwloc_bitmap_isincluded(obj.cpuset(), set)) {
/* while the object intersects without being included, look at its children */
hwloc_obj child = obj.first_child();
while (child != null) {
if (hwloc_bitmap_intersects(child.cpuset(), set)) {
break;
}
child = child.next_sibling();
}
if (child == null)
/* no child intersects, return their father */ {
return obj;
}
/* found one intersecting child, look at its children */
obj = child;
}
/* obj is included, return it */
return obj;
}
@Nullable
@NativeType("hwloc_obj_t")
public static hwloc_obj hwloc_get_next_obj_inside_cpuset_by_depth(@NativeType("hwloc_topology_t") long topology, @NativeType("hwloc_const_cpuset_t") long set, int depth, @Nullable @NativeType("hwloc_obj_t") hwloc_obj prev) {
hwloc_obj next = hwloc_get_next_obj_by_depth(topology, depth, prev);
while (next != null && (hwloc_bitmap_iszero(next.cpuset()) || !hwloc_bitmap_isincluded(next.cpuset(), set))) {
next = next.next_cousin();
}
return next;
}
@Nullable
@NativeType("hwloc_obj_t")
public static hwloc_obj hwloc_get_next_obj_inside_cpuset_by_type(@NativeType("hwloc_topology_t") long topology, @NativeType("hwloc_const_cpuset_t") long set, @NativeType("hwloc_obj_type_t") int type, @Nullable @NativeType("hwloc_obj_t") hwloc_obj prev) {
int depth = hwloc_get_type_depth(topology, type);
if (depth == HWLOC_TYPE_DEPTH_UNKNOWN || depth == HWLOC_TYPE_DEPTH_MULTIPLE) {
return null;
}
return hwloc_get_next_obj_inside_cpuset_by_depth(topology, set, depth, prev);
}
@Nullable
@NativeType("hwloc_obj_t")
public static hwloc_obj hwloc_get_obj_inside_cpuset_by_depth(@NativeType("hwloc_topology_t") long topology, @NativeType("hwloc_const_cpuset_t") long set, int depth, @NativeType("unsigned") int idx) {
hwloc_obj obj = hwloc_get_obj_by_depth(topology, depth, 0);
int count = 0;
while (obj != null) {
if (!hwloc_bitmap_iszero(obj.cpuset()) && hwloc_bitmap_isincluded(obj.cpuset(), set)) {
if (count == idx) {
return obj;
}
count++;
}
obj = obj.next_cousin();
}
return null;
}
@Nullable
@NativeType("hwloc_obj_t")
public static hwloc_obj hwloc_get_obj_inside_cpuset_by_type(@NativeType("hwloc_topology_t") long topology, @NativeType("hwloc_const_cpuset_t") long set, @NativeType("hwloc_obj_type_t") int type, @NativeType("unsigned") int idx) {
int depth = hwloc_get_type_depth(topology, type);
if (depth == HWLOC_TYPE_DEPTH_UNKNOWN || depth == HWLOC_TYPE_DEPTH_MULTIPLE) {
return null;
}
return hwloc_get_obj_inside_cpuset_by_depth(topology, set, depth, idx);
}
@NativeType("unsigned")
public static int hwloc_get_nbobjs_inside_cpuset_by_depth(@NativeType("hwloc_topology_t") long topology, @NativeType("hwloc_const_cpuset_t") long set, int depth) {
hwloc_obj obj = hwloc_get_obj_by_depth(topology, depth, 0);
int count = 0;
while (obj != null) {
if (!hwloc_bitmap_iszero(obj.cpuset()) && hwloc_bitmap_isincluded(obj.cpuset(), set)) {
count++;
}
obj = obj.next_cousin();
}
return count;
}
public static int hwloc_get_nbobjs_inside_cpuset_by_type(@NativeType("hwloc_topology_t") long topology, @NativeType("hwloc_const_cpuset_t") long set, @NativeType("hwloc_obj_type_t") int type) {
int depth = hwloc_get_type_depth(topology, type);
if (depth == HWLOC_TYPE_DEPTH_UNKNOWN) {
return 0;
}
if (depth == HWLOC_TYPE_DEPTH_MULTIPLE) {
return -1; /* FIXME: agregate nbobjs from different levels? */
}
return hwloc_get_nbobjs_inside_cpuset_by_depth(topology, set, depth);
}
public static int hwloc_get_obj_index_inside_cpuset(@NativeType("hwloc_topology_t") long topology, @NativeType("hwloc_const_cpuset_t") long set, @NativeType("hwloc_obj_t") hwloc_obj obj) {
if (!hwloc_bitmap_isincluded(obj.cpuset(), set)) {
return -1;
}
/* count how many objects are inside the cpuset on the way from us to the beginning of the level */
int idx = 0;
while ((obj = obj.prev_cousin()) != null) {
if (!hwloc_bitmap_iszero(obj.cpuset()) && hwloc_bitmap_isincluded(obj.cpuset(), set)) {
idx++;
}
}
return idx;
}
@Nullable
@NativeType("hwloc_obj_t")
public static hwloc_obj hwloc_get_child_covering_cpuset(@NativeType("hwloc_topology_t") long topology, @NativeType("hwloc_const_cpuset_t") long set, @NativeType("hwloc_obj_t") hwloc_obj parent) {
if (hwloc_bitmap_iszero(set)) {
return null;
}
hwloc_obj child = parent.first_child();
while (child != null) {
if (child.cpuset() != NULL && hwloc_bitmap_isincluded(set, child.cpuset())) {
return child;
}
child = child.next_sibling();
}
return null;
}
@Nullable
@NativeType("hwloc_obj_t")
public static hwloc_obj hwloc_get_obj_covering_cpuset(@NativeType("hwloc_topology_t") long topology, @NativeType("hwloc_const_cpuset_t") long set) {
if (hwloc_bitmap_iszero(set)) {
return null;
}
hwloc_obj current = Objects.requireNonNull(hwloc_get_root_obj(topology));
if (!hwloc_bitmap_isincluded(set, current.cpuset())) {
return null;
}
while (true) {
hwloc_obj child = hwloc_get_child_covering_cpuset(topology, set, current);
if (child == null) {
return current;
}
current = child;
}
}
@Nullable
@NativeType("hwloc_obj_t")
public static hwloc_obj hwloc_get_next_obj_covering_cpuset_by_depth(@NativeType("hwloc_topology_t") long topology, @NativeType("hwloc_const_cpuset_t") long set, int depth, @Nullable @NativeType("hwloc_obj_t") hwloc_obj prev) {
hwloc_obj next = hwloc_get_next_obj_by_depth(topology, depth, prev);
while (next != null && !hwloc_bitmap_intersects(set, next.cpuset())) {
next = next.next_cousin();
}
return next;
}
@Nullable
@NativeType("hwloc_obj_t")
public static hwloc_obj hwloc_get_next_obj_covering_cpuset_by_type(@NativeType("hwloc_topology_t") long topology, @NativeType("hwloc_const_cpuset_t") long set, @NativeType("hwloc_obj_type_t") int type, @Nullable @NativeType("hwloc_obj_t") hwloc_obj prev) {
int depth = hwloc_get_type_depth(topology, type);
if (depth == HWLOC_TYPE_DEPTH_UNKNOWN || depth == HWLOC_TYPE_DEPTH_MULTIPLE) {
return null;
}
return hwloc_get_next_obj_covering_cpuset_by_depth(topology, set, depth, prev);
}
@Nullable
@NativeType("hwloc_obj_t")
public static hwloc_obj hwloc_get_ancestor_obj_by_depth(@NativeType("hwloc_topology_t") long topology, int depth, @NativeType("hwloc_obj_t") hwloc_obj obj) {
hwloc_obj ancestor = obj;
if (obj.depth() < depth) {
return null;
}
while (ancestor != null && ancestor.depth() > depth) {
ancestor = ancestor.parent();
}
return ancestor;
}
@Nullable
@NativeType("hwloc_obj_t")
public static hwloc_obj hwloc_get_ancestor_obj_by_type(@NativeType("hwloc_topology_t") long topology, @NativeType("hwloc_obj_type_t") int type, @NativeType("hwloc_obj_t") hwloc_obj obj) {
hwloc_obj ancestor = obj.parent();
while (ancestor != null && ancestor.type() != type) {
ancestor = ancestor.parent();
}
return ancestor;
}
@NativeType("hwloc_obj_t")
public static hwloc_obj hwloc_get_common_ancestor_obj(@NativeType("hwloc_topology_t") long topology, @NativeType("hwloc_obj_t") hwloc_obj obj1, @NativeType("hwloc_obj_t") hwloc_obj obj2) {
/* the loop isn't so easy since intermediate ancestors may have
* different depth, causing us to alternate between using obj1->parent
* and obj2->parent. Also, even if at some point we find ancestors of
* of the same depth, their ancestors may have different depth again.
*/
while (obj1.address() != obj2.address()) {
while (obj1.depth() > obj2.depth()) {
obj1 = Objects.requireNonNull(obj1.parent());
}
while (obj2.depth() > obj1.depth()) {
obj2 = Objects.requireNonNull(obj2.parent());
}
if (obj1.address() != obj2.address() && obj1.depth() == obj2.depth()) {
obj1 = Objects.requireNonNull(obj1.parent());
obj2 = Objects.requireNonNull(obj2.parent());
}
}
return obj1;
}
@NativeType("int")
public static boolean hwloc_obj_is_in_subtree(@NativeType("hwloc_topology_t") long topology, @NativeType("hwloc_obj_t") hwloc_obj obj, @NativeType("hwloc_obj_t") hwloc_obj subtree_root) {
long sub_bitmap = obj.cpuset();
long super_bitmap = subtree_root.cpuset();
return sub_bitmap != NULL && super_bitmap != NULL && hwloc_bitmap_isincluded(sub_bitmap, super_bitmap);
}
@Nullable
@NativeType("hwloc_obj_t")
public static hwloc_obj hwloc_get_next_child(@NativeType("hwloc_topology_t") long topology, @NativeType("hwloc_obj_t") hwloc_obj parent, @Nullable @NativeType("hwloc_obj_t") hwloc_obj prev) {
hwloc_obj obj;
int state = 0;
if (prev != null) {
int type = prev.type();
if (type == HWLOC_OBJ_MISC) {
state = 3;
} else if (hwloc_obj_type_is_io(type)) {
state = 2;
} else if (hwloc_obj_type_is_memory(type)) {
state = 1;
}
obj = prev.next_sibling();
} else {
obj = parent.first_child();
}
if (obj == null && state == 0) {
obj = parent.memory_first_child();
state = 1;
}
if (obj == null && state == 1) {
obj = parent.io_first_child();
state = 2;
}
if (obj == null && state == 2) {
obj = parent.misc_first_child();
//state = 3;
}
return obj;
}
public static int hwloc_get_cache_type_depth(@NativeType("hwloc_topology_t") long topology, @NativeType("unsigned") int cachelevel, @NativeType("hwloc_obj_cache_type_t") int cachetype) {
int depth;
int found = HWLOC_TYPE_DEPTH_UNKNOWN;
for (depth = 0; ; depth++) {
hwloc_obj obj = hwloc_get_obj_by_depth(topology, depth, 0);
if (obj == null) {
break;
}
if (!hwloc_obj_type_is_dcache(obj.type()) || obj.attr().cache().depth() != cachelevel)
/* doesn't match, try next depth */ {
continue;
}
if (cachetype == -1) {
if (found != HWLOC_TYPE_DEPTH_UNKNOWN) {
/* second match, return MULTIPLE */
return HWLOC_TYPE_DEPTH_MULTIPLE;
}
/* first match, mark it as found */
found = depth;
continue;
}
if (obj.attr().cache().type() == cachetype || obj.attr().cache().type() == HWLOC_OBJ_CACHE_UNIFIED)
/* exact match (either unified is alone, or we match instruction or data), return immediately */ {
return depth;
}
}
/* went to the bottom, return what we found */
return found;
}
@Nullable
@NativeType("hwloc_obj_t")
public static hwloc_obj hwloc_get_cache_covering_cpuset(@NativeType("hwloc_topology_t") long topology, @NativeType("hwloc_const_cpuset_t") long set) {
hwloc_obj current = hwloc_get_obj_covering_cpuset(topology, set);
while (current != null) {
if (hwloc_obj_type_is_dcache(current.type())) {
return current;
}
current = current.parent();
}
return null;
}
@Nullable
@NativeType("hwloc_obj_t")
public static hwloc_obj hwloc_get_shared_cache_covering_obj(@NativeType("hwloc_topology_t") long topology, @NativeType("hwloc_obj_t") hwloc_obj obj) {
if (obj.cpuset() == NULL) {
return null;
}
hwloc_obj current = obj.parent();
while (current != null) {
if (!hwloc_bitmap_isequal(current.cpuset(), obj.cpuset()) && hwloc_obj_type_is_dcache(current.type())) {
return current;
}
current = current.parent();
}
return null;
}
@Nullable
@NativeType("hwloc_obj_t")
public static hwloc_obj hwloc_get_pu_obj_by_os_index(@NativeType("hwloc_topology_t") long topology, @NativeType("unsigned") int os_index) {
hwloc_obj obj = null;
while ((obj = hwloc_get_next_obj_by_type(topology, HWLOC_OBJ_PU, obj)) != null) {
if (obj.os_index() == os_index) {
return obj;
}
}
return null;
}
@Nullable
@NativeType("hwloc_obj_t")
public static hwloc_obj hwloc_get_numanode_obj_by_os_index(@NativeType("hwloc_topology_t") long topology, @NativeType("unsigned") int os_index) {
hwloc_obj obj = null;
while ((obj = hwloc_get_next_obj_by_type(topology, HWLOC_OBJ_NUMANODE, obj)) != null) {
if (obj.os_index() == os_index) {
return obj;
}
}
return null;
}
@Nullable
@NativeType("hwloc_obj_t")
public static hwloc_obj hwloc_get_obj_below_by_type(@NativeType("hwloc_topology_t") long topology, @NativeType("hwloc_obj_type_t") int type1, @NativeType("unsigned") int idx1, @NativeType("hwloc_obj_type_t") int type2, @NativeType("unsigned") int idx2) {
hwloc_obj obj = hwloc_get_obj_by_type(topology, type1, idx1);
if (obj == null) {
return null;
}
return hwloc_get_obj_inside_cpuset_by_type(topology, obj.cpuset(), type2, idx2);
}
@Nullable
@NativeType("hwloc_obj_t")
public static hwloc_obj hwloc_get_obj_below_array_by_type(@NativeType("hwloc_topology_t") long topology, int nr, @NativeType("hwloc_obj_type_t *") IntBuffer typev, @NativeType("unsigned *") IntBuffer idxv) {
hwloc_obj obj = hwloc_get_root_obj(topology);
for (int i = 0; i < nr; i++) {
if (obj == null) {
return null;
}
obj = hwloc_get_obj_inside_cpuset_by_type(topology, obj.cpuset(), typev.get(typev.position() + i), idxv.get(idxv.position() + i));
}
return obj;
}
public static int hwloc_distrib(@NativeType("hwloc_topology_t") long topology, @NativeType("hwloc_obj_t *") PointerBuffer roots, @NativeType("unsigned") int n_roots, @NativeType("hwloc_cpuset_t *") PointerBuffer set, @NativeType("unsigned") int n, int until, @NativeType("unsigned long") long flags) {
if ((flags & ~HWLOC_DISTRIB_FLAG_REVERSE) != 0) {
return -1;
}
int tot_weight = 0;
for (int i = 0; i < n_roots; i++) {
tot_weight += hwloc_bitmap_weight(hwloc_obj.create(roots.get(roots.position() + i)).cpuset());
}
PointerBuffer cpusetp = set.slice();
for (int i = 0, given = 0, givenweight = 0; i < n_roots; i++) {
hwloc_obj root = hwloc_obj.create(roots.get(roots.position() + ((flags & HWLOC_DISTRIB_FLAG_REVERSE) != 0 ? n_roots - 1 - i : i)));
long cpuset = root.cpuset();
while (!hwloc_obj_type_is_normal(root.type()))
/* If memory/io/misc, walk up to normal parent */ {
root = Objects.requireNonNull(root.parent());
}
int weight = hwloc_bitmap_weight(cpuset);
if (weight == 0) {
continue;
}
/* Give to root a chunk proportional to its weight.
* If previous chunks got rounded-up, we may get a bit less. */
int chunk = (((givenweight + weight) * n + tot_weight - 1) / tot_weight)
- ((givenweight * n + tot_weight - 1) / tot_weight);
if (root.arity() == 0 || chunk <= 1 || root.depth() >= until) {
/* We can't split any more, put everything there. */
if (chunk != 0) {
/* Fill cpusets with ours */
int j;
for (j = 0; j < chunk; j++) {
cpusetp.put(cpusetp.position() + j, hwloc_bitmap_dup(cpuset));
}
} else {
/* We got no chunk, just merge our cpuset to a previous one
* (the first chunk cannot be empty)
* so that this root doesn't get ignored.
*/
hwloc_bitmap_or(cpusetp.get(cpusetp.position() - 1), cpusetp.get(cpusetp.position() - 1), cpuset);
}
} else {
/* Still more to distribute, recurse into children */
hwloc_distrib(topology, root.children(), root.arity(), cpusetp, chunk, until, flags);
}
cpusetp.position(cpusetp.position() + chunk);
given += chunk;
givenweight += weight;
}
return 0;
}
public static int hwloc_cpuset_to_nodeset(@NativeType("hwloc_topology_t") long topology, @NativeType("hwloc_const_cpuset_t") long _cpuset, @NativeType("hwloc_nodeset_t") long nodeset) {
int depth = hwloc_get_type_depth(topology, HWLOC_OBJ_NUMANODE);
hwloc_bitmap_zero(nodeset);
hwloc_obj obj = null;
while ((obj = hwloc_get_next_obj_covering_cpuset_by_depth(topology, _cpuset, depth, obj)) != null) {
if (hwloc_bitmap_set(nodeset, obj.os_index()) < 0) {
return -1;
}
}
return 0;
}
public static int hwloc_cpuset_from_nodeset(@NativeType("hwloc_topology_t") long topology, @NativeType("hwloc_const_cpuset_t") long _cpuset, @NativeType("hwloc_nodeset_t") long nodeset) {
int depth = hwloc_get_type_depth(topology, HWLOC_OBJ_NUMANODE);
hwloc_bitmap_zero(_cpuset);
hwloc_obj obj = null;
while ((obj = hwloc_get_next_obj_by_depth(topology, depth, obj)) != null) {
if (hwloc_bitmap_isset(nodeset, obj.os_index()))
/* no need to check obj->cpuset because objects in levels always have a cpuset */ {
if (hwloc_bitmap_or(_cpuset, _cpuset, obj.cpuset()) < 0) {
return -1;
}
}
}
return 0;
}
@Nullable
@NativeType("hwloc_obj_t")
public static hwloc_obj hwloc_get_non_io_ancestor_obj(@NativeType("hwloc_topology_t") long topology, @NativeType("hwloc_obj_t") hwloc_obj ioobj) {
hwloc_obj obj = ioobj;
while (obj != null && obj.cpuset() == NULL) {
obj = obj.parent();
}
return obj;
}
@Nullable
@NativeType("hwloc_obj_t")
public static hwloc_obj hwloc_get_next_pcidev(@NativeType("hwloc_topology_t") long topology, @Nullable @NativeType("hwloc_obj_t") hwloc_obj prev) {
return hwloc_get_next_obj_by_type(topology, HWLOC_OBJ_PCI_DEVICE, prev);
}
@Nullable
@NativeType("hwloc_obj_t")
public static hwloc_obj hwloc_get_pcidev_by_busid(@NativeType("hwloc_topology_t") long topology, @NativeType("unsigned") int domain, @NativeType("unsigned") int bus, @NativeType("unsigned") int dev, @NativeType("unsigned") int func) {
hwloc_obj obj = null;
while ((obj = hwloc_get_next_pcidev(topology, obj)) != null) {
hwloc_pcidev_attr_s pcidev = obj.attr().pcidev();
if (pcidev.domain() == domain
&& pcidev.bus() == bus
&& pcidev.dev() == dev
&& pcidev.func() == func) {
return obj;
}
}
return null;
}
private static final Pattern BUSID_PATTERN = Pattern.compile("^(?:(\\p{XDigit}+):)?(\\p{XDigit}+):(\\p{XDigit}+)\\.(\\p{XDigit}+)$");
@Nullable
@NativeType("hwloc_obj_t")
public static hwloc_obj hwloc_get_pcidev_by_busidstring(@NativeType("hwloc_topology_t") long topology, @NativeType("char const *") CharSequence busid) {
Matcher m = BUSID_PATTERN.matcher(busid);
if (!m.find()) {
return null;
}
String domainGroup = m.group(1);
int domain = domainGroup == null ? 0 /* default */ : Integer.parseInt(domainGroup, 16);
int bus = Integer.parseInt(m.group(2), 16);
int dev = Integer.parseInt(m.group(3), 16);
int func = Integer.parseInt(m.group(4), 16);
return hwloc_get_pcidev_by_busid(topology, domain, bus, dev, func);
}
@Nullable
@NativeType("hwloc_obj_t")
public static hwloc_obj hwloc_get_next_osdev(@NativeType("hwloc_topology_t") long topology, @Nullable @NativeType("hwloc_obj_t") hwloc_obj prev) {
return hwloc_get_next_obj_by_type(topology, HWLOC_OBJ_OS_DEVICE, prev);
}
@Nullable
@NativeType("hwloc_obj_t")
public static hwloc_obj hwloc_get_next_bridge(@NativeType("hwloc_topology_t") long topology, @Nullable @NativeType("hwloc_obj_t") hwloc_obj prev) {
return hwloc_get_next_obj_by_type(topology, HWLOC_OBJ_BRIDGE, prev);
}
@NativeType("int")
public static boolean hwloc_bridge_covers_pcibus(@NativeType("hwloc_obj_t") hwloc_obj bridge, @NativeType("unsigned") int domain, @NativeType("unsigned") int bus) {
if (bridge.type() != HWLOC_OBJ_BRIDGE) {
return false;
}
hwloc_bridge_attr_s attr = bridge.attr().bridge();
return attr.downstream_type() == HWLOC_OBJ_BRIDGE_PCI
&& attr.downstream_pci_domain() == domain
&& attr.downstream_pci_secondary_bus() <= bus
&& attr.downstream_pci_secondary_bus() >= bus;
}
public static int hwloc_distances_obj_index(@NativeType("struct hwloc_distances_s *") hwloc_distances_s distances, @NativeType("hwloc_obj_t") hwloc_obj obj) {
PointerBuffer objs = distances.objs();
for (int i = 0; i < objs.remaining(); i++) {
if (objs.get(i) == obj.address()) {
return i;
}
}
return -1;
}
public static int hwloc_distances_obj_pair_values(@NativeType("struct hwloc_distances_s *") hwloc_distances_s distances, @NativeType("hwloc_obj_t") hwloc_obj obj1, @NativeType("hwloc_obj_t") hwloc_obj obj2, LongBuffer value1to2, LongBuffer value2to1) {
int i1 = hwloc_distances_obj_index(distances, obj1);
int i2 = hwloc_distances_obj_index(distances, obj2);
if (i1 < 0 || i2 < 0) {
return -1;
}
LongBuffer values = distances.values();
value1to2.put(value1to2.position(), values.get(i1 * distances.nbobjs() + i2));
value2to1.put(value2to1.position(), values.get(i2 * distances.nbobjs() + i1));
return 0;
}
public static int hwloc_distances_remove_by_type(@NativeType("hwloc_topology_t") long topology, @NativeType("hwloc_obj_type_t") int type) {
int depth = hwloc_get_type_depth(topology, type);
if (depth == HWLOC_TYPE_DEPTH_UNKNOWN || depth == HWLOC_TYPE_DEPTH_MULTIPLE) {
return 0;
}
return hwloc_distances_remove_by_depth(topology, depth);
}
}