1 
   2 
   3 
   4 
   5 
   6 
   7 
   8 
   9 
  10 
  11 
  12 
  13 
  14 
  15 
  16 
  17 #ifndef PMIX_HWLOC_INTERNAL_H
  18 #define PMIX_HWLOC_INTERNAL_H
  19 
  20 
  21 #include <src/include/pmix_config.h>
  22 #include <pmix_common.h>
  23 
  24 #if PMIX_HAVE_HWLOC
  25 #include PMIX_HWLOC_HEADER
  26 
  27 #if HWLOC_API_VERSION < 0x00010b00
  28 #define HWLOC_OBJ_NUMANODE HWLOC_OBJ_NODE
  29 #define HWLOC_OBJ_PACKAGE HWLOC_OBJ_SOCKET
  30 #endif
  31 
  32 extern hwloc_topology_t pmix_hwloc_topology;
  33 #endif
  34 
  35 BEGIN_C_DECLS
  36 
  37 typedef enum {
  38     VM_HOLE_NONE = -1,
  39     VM_HOLE_BEGIN = 0,        
  40     VM_HOLE_AFTER_HEAP = 1,   
  41     VM_HOLE_BEFORE_STACK = 2, 
  42     VM_HOLE_BIGGEST = 3,      
  43     VM_HOLE_IN_LIBS = 4,      
  44     VM_HOLE_CUSTOM = 5,       
  45 } pmix_hwloc_vm_hole_kind_t;
  46 
  47 typedef enum {
  48     VM_MAP_FILE = 0,
  49     VM_MAP_ANONYMOUS = 1,
  50     VM_MAP_HEAP = 2,
  51     VM_MAP_STACK = 3,
  52     VM_MAP_OTHER = 4 
  53 } pmix_hwloc_vm_map_kind_t;
  54 
  55 PMIX_EXPORT pmix_status_t pmix_hwloc_get_topology(pmix_info_t *info, size_t ninfo);
  56 PMIX_EXPORT void pmix_hwloc_cleanup(void);
  57 
  58 END_C_DECLS
  59 
  60 #endif