root/opal/mca/btl/base/base.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


   1 /*
   2  * Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana
   3  *                         University Research and Technology
   4  *                         Corporation.  All rights reserved.
   5  * Copyright (c) 2004-2006 The University of Tennessee and The University
   6  *                         of Tennessee Research Foundation.  All rights
   7  *                         reserved.
   8  * Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
   9  *                         University of Stuttgart.  All rights reserved.
  10  * Copyright (c) 2004-2005 The Regents of the University of California.
  11  *                         All rights reserved.
  12  * Copyright (c) 2006      Sun Microsystems, Inc.  All rights reserved.
  13  * Copyright (c) 2008      Cisco Systems, Inc.  All rights reserved.
  14  * $COPYRIGHT$
  15  *
  16  * Additional copyrights may follow
  17  *
  18  * $HEADER$
  19  */
  20 /**
  21  * @file
  22  */
  23 #ifndef MCA_BTL_BASE_H
  24 #define MCA_BTL_BASE_H
  25 
  26 #include "opal_config.h"
  27 #include "opal/class/opal_list.h"
  28 #include "opal/mca/mca.h"
  29 #include "opal/mca/btl/btl.h"
  30 
  31 BEGIN_C_DECLS
  32 
  33 struct mca_btl_base_selected_module_t {
  34   opal_list_item_t super;
  35   mca_btl_base_component_t *btl_component;
  36   mca_btl_base_module_t *btl_module;
  37 };
  38 typedef struct mca_btl_base_selected_module_t mca_btl_base_selected_module_t;
  39 
  40 
  41 /* holds the recv call back function to be called by the btl on
  42  * a receive.
  43  */
  44 struct mca_btl_base_recv_reg_t {
  45     mca_btl_base_module_recv_cb_fn_t cbfunc;
  46     void* cbdata;
  47 };
  48 typedef struct mca_btl_base_recv_reg_t mca_btl_base_recv_reg_t;
  49 
  50 
  51 OPAL_DECLSPEC OBJ_CLASS_DECLARATION(mca_btl_base_selected_module_t);
  52 
  53 /*
  54  * Global functions for MCA: overall BTL open and close
  55  */
  56 
  57 OPAL_DECLSPEC  int mca_btl_base_select(bool enable_progress_threads, bool enable_mpi_threads);
  58 OPAL_DECLSPEC  void mca_btl_base_dump(
  59     struct mca_btl_base_module_t*,
  60     struct mca_btl_base_endpoint_t*,
  61     int verbose);
  62 OPAL_DECLSPEC  int mca_btl_base_param_register(mca_base_component_t *version,
  63         mca_btl_base_module_t *module);
  64 OPAL_DECLSPEC  int mca_btl_base_param_verify(mca_btl_base_module_t *module);
  65 
  66 /*
  67  * Globals
  68  */
  69 extern char* mca_btl_base_include;
  70 extern char* mca_btl_base_exclude;
  71 extern int mca_btl_base_warn_component_unused;
  72 extern int mca_btl_base_already_opened;
  73 OPAL_DECLSPEC extern opal_list_t mca_btl_base_modules_initialized;
  74 OPAL_DECLSPEC extern bool mca_btl_base_thread_multiple_override;
  75 
  76 OPAL_DECLSPEC extern mca_base_framework_t opal_btl_base_framework;
  77 
  78 extern mca_base_var_enum_flag_t *mca_btl_base_flag_enum;
  79 extern mca_base_var_enum_flag_t *mca_btl_base_atomic_enum;
  80 
  81 END_C_DECLS
  82 
  83 #endif /* MCA_BTL_BASE_H */

/* [<][>][^][v][top][bottom][index][help] */