1 
   2 
   3 
   4 
   5 
   6 
   7 
   8 
   9 
  10 
  11 
  12 
  13 
  14 
  15 
  16 
  17 
  18 
  19 
  20 
  21 
  22 
  23 
  24 
  25 
  26 
  27 
  28 
  29 
  30 #ifndef MCA_RCACHE_BASE_VMA_TREE_H
  31 #define MCA_RCACHE_BASE_VMA_TREE_H
  32 
  33 #include "opal_config.h"
  34 
  35 #include "opal/mca/rcache/rcache.h"
  36 #include "rcache_base_vma.h"
  37 
  38 
  39 
  40 
  41 int mca_rcache_base_vma_tree_init (mca_rcache_base_vma_module_t *vma_module);
  42 
  43 
  44 
  45 
  46 void mca_rcache_base_vma_tree_finalize(mca_rcache_base_vma_module_t *vma_module);
  47 
  48 
  49 
  50 
  51 mca_rcache_base_registration_t *mca_rcache_base_vma_tree_find (mca_rcache_base_vma_module_t *vma_module,
  52                                                                unsigned char *base,
  53                                                                unsigned char *bound);
  54 
  55 
  56 
  57 int mca_rcache_base_vma_tree_find_all (
  58         mca_rcache_base_vma_module_t *vma_module, unsigned char *base,
  59         unsigned char *bound, mca_rcache_base_registration_t **regs,
  60         int reg_cnt);
  61 
  62 
  63 
  64 
  65 int mca_rcache_base_vma_tree_insert (mca_rcache_base_vma_module_t *vma_module,
  66                                      mca_rcache_base_registration_t* reg, size_t limit);
  67 
  68 
  69 
  70 
  71 int mca_rcache_base_vma_tree_delete (mca_rcache_base_vma_module_t *vma_module,
  72                                      mca_rcache_base_registration_t *reg);
  73 
  74 
  75 
  76 
  77 void mca_rcache_base_vma_tree_dump_range (mca_rcache_base_vma_module_t *vma_module,
  78                                           unsigned char *base, size_t size, char *msg);
  79 
  80 
  81 
  82 
  83 
  84 int mca_rcache_base_vma_tree_iterate (mca_rcache_base_vma_module_t *vma_module,
  85                                       unsigned char *base, size_t size, bool partial_ok,
  86                                       int (*callback_fn) (struct mca_rcache_base_registration_t *, void *),
  87                                       void *ctx);
  88 
  89 
  90 
  91 
  92 
  93 
  94 
  95 
  96 size_t mca_rcache_base_vma_tree_size (mca_rcache_base_vma_module_t *vma_module);
  97 
  98 #endif