This source file includes following definitions.
- mca_bml_base_get_endpoint
   1 
   2 
   3 
   4 
   5 
   6 
   7 
   8 
   9 
  10 
  11 
  12 
  13 
  14 
  15 
  16 
  17 
  18 
  19 
  20 
  21 
  22 
  23 #ifndef MCA_BML_BASE_H
  24 #define MCA_BML_BASE_H
  25 
  26 #include "ompi_config.h"
  27 
  28 #include "ompi/mca/mca.h"
  29 #include "opal/mca/base/mca_base_framework.h"
  30 #include "ompi/mca/bml/bml.h"
  31 #include "ompi/proc/proc.h"
  32 
  33 
  34 
  35 
  36 
  37 
  38 BEGIN_C_DECLS
  39 
  40 struct mca_bml_base_selected_module_t {
  41     opal_list_item_t super;
  42     mca_bml_base_component_t *bml_component;
  43     mca_bml_base_module_t *bml_module;
  44 };
  45 typedef struct mca_bml_base_selected_module_t mca_bml_base_selected_module_t;
  46 
  47 OMPI_DECLSPEC OBJ_CLASS_DECLARATION(mca_bml_base_selected_module_t);
  48 
  49 
  50 
  51 
  52 
  53 OMPI_DECLSPEC  int mca_bml_base_init(bool enable_progress_threads,
  54                                      bool enable_mpi_threads);
  55 OMPI_DECLSPEC  bool mca_bml_base_inited(void);
  56 
  57 OMPI_DECLSPEC  int mca_bml_base_ft_event(int state);
  58 
  59 
  60 
  61 
  62 
  63 OMPI_DECLSPEC extern mca_bml_base_component_t mca_bml_component;
  64 OMPI_DECLSPEC extern mca_bml_base_module_t mca_bml;
  65 OMPI_DECLSPEC extern mca_base_framework_t ompi_bml_base_framework;
  66 OMPI_DECLSPEC extern opal_mutex_t mca_bml_lock;
  67 
  68 static inline struct mca_bml_base_endpoint_t *mca_bml_base_get_endpoint (struct ompi_proc_t *proc) {
  69     if (OPAL_UNLIKELY(NULL == proc->proc_endpoints[OMPI_PROC_ENDPOINT_TAG_BML])) {
  70         OPAL_THREAD_LOCK(&mca_bml_lock);
  71         if (NULL == proc->proc_endpoints[OMPI_PROC_ENDPOINT_TAG_BML]) {
  72             mca_bml.bml_add_proc (proc);
  73         }
  74         OPAL_THREAD_UNLOCK(&mca_bml_lock);
  75     }
  76 
  77     return (struct mca_bml_base_endpoint_t *) proc->proc_endpoints[OMPI_PROC_ENDPOINT_TAG_BML];
  78 }
  79 
  80 
  81 END_C_DECLS
  82 #endif