OpenMPI  0.1.1
base.h
Go to the documentation of this file.
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 "ompi_config.h"
27 #include "opal/class/opal_list.h"
28 #include "opal/mca/mca.h"
29 #include "ompi/mca/btl/btl.h"
30 
31 BEGIN_C_DECLS
32 
34  opal_list_item_t super;
35  mca_btl_base_component_t *btl_component;
36  mca_btl_base_module_t *btl_module;
37 };
39 
40 
41 /* holds the recv call back function to be called by the btl on
42  * a receive.
43  */
46  void* cbdata;
47 };
49 
50 
52 
53 /*
54  * Global functions for MCA: overall BTL open and close
55  */
56 
57 OMPI_DECLSPEC int mca_btl_base_open(void);
58 OMPI_DECLSPEC int mca_btl_base_select(bool enable_progress_threads, bool enable_mpi_threads);
59 OMPI_DECLSPEC int mca_btl_base_close(void);
60 OMPI_DECLSPEC void mca_btl_base_dump(
61  struct mca_btl_base_module_t*,
63  int verbose);
64 OMPI_DECLSPEC int mca_btl_base_param_register(mca_base_component_t *version,
65  mca_btl_base_module_t *module);
66 
67 /*
68  * Globals
69  */
70 OMPI_DECLSPEC extern int mca_btl_base_output;
71 extern char* mca_btl_base_include;
72 extern char* mca_btl_base_exclude;
73 extern int mca_btl_base_warn_component_unused;
74 extern int mca_btl_base_already_opened;
75 OMPI_DECLSPEC extern opal_list_t mca_btl_base_components_opened;
76 OMPI_DECLSPEC extern opal_list_t mca_btl_base_modules_initialized;
77 OMPI_DECLSPEC extern bool mca_btl_base_thread_multiple_override;
78 
79 END_C_DECLS
80 
81 #endif /* MCA_BTL_BASE_H */
Common type for all MCA components.
Definition: mca.h:250
void(* mca_btl_base_module_recv_cb_fn_t)(struct mca_btl_base_module_t *btl, mca_btl_base_tag_t tag, mca_btl_base_descriptor_t *descriptor, void *cbdata)
Callback function that is called asynchronously on receipt of data by the transport layer...
Definition: btl.h:391
Definition: base.h:44
Definition: base.h:33
The opal_list_t interface is used to provide a generic doubly-linked list container for Open MPI...
OMPI_DECLSPEC int mca_btl_base_open(void)
Function for finding and opening either all MCA components, or the one that was specifically requeste...
Definition: btl_base_open.c:87
Top-level interface for all MCA components.
Definition: opal_list.h:98
Byte Transfer Layer (BTL)
ORTE_DECLSPEC OBJ_CLASS_DECLARATION(mca_oob_base_info_t)
declare the association structure as a class
State of ELAN endpoint connection.
Definition: btl_elan_endpoint.h:33
BTL component descriptor.
Definition: btl.h:411
Definition: opal_list.h:147
OMPI_DECLSPEC int mca_btl_base_select(bool enable_progress_threads, bool enable_mpi_threads)
Function for weeding out btl components that don't want to run.
Definition: btl_base_select.c:46
BTL module interface functions and attributes.
Definition: btl.h:786