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-2005 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$
13  *
14  * Additional copyrights may follow
15  *
16  * $HEADER$
17  */
18 /** @file:
19  *
20  * the oob framework
21  */
22 
23 #ifndef _MCA_OOB_BASE_H_
24 #define _MCA_OOB_BASE_H_
25 
26 #include "orte_config.h"
27 
28 #ifdef HAVE_UNISTD_H
29 #include <unistd.h>
30 #endif
31 #ifdef HAVE_SYS_UIO_H
32 #include <sys/uio.h>
33 #endif
34 #ifdef HAVE_NET_UIO_H
35 #include <net/uio.h>
36 #endif
37 
38 #include "orte/mca/oob/oob.h"
39 
40 #include "opal/mca/mca.h"
41 
42 BEGIN_C_DECLS
43 
44 ORTE_DECLSPEC int mca_oob_base_open(void);
45 
46 #if !ORTE_DISABLE_FULL_SUPPORT
47 
48 /*
49  * global flag for use in timing tests
50  */
51 ORTE_DECLSPEC extern int mca_oob_base_output;
52 
53 /*
54  * Flag indicating if this framework has been opened
55  */
56 ORTE_DECLSPEC extern bool orte_oob_base_already_opened;
57 
58 /*
59  * OOB API
60  */
61 
62 /*
63  * Non-blocking versions of send/recv.
64 */
65 
66 
67 /**
68  * associate a component and a module that belongs to it
69  */
71  opal_list_item_t super;
72  mca_oob_base_component_t *oob_component;
73  mca_oob_t *oob_module;
74 };
75 /**
76  * Convenience Typedef
77  */
79 
80 /**
81  * declare the association structure as a class
82  */
84 
85 
86 /*
87  * Global functions for MCA overall collective open and close
88  */
89 ORTE_DECLSPEC int mca_oob_base_init(void);
90 ORTE_DECLSPEC int mca_oob_base_module_init(void);
91 ORTE_DECLSPEC int mca_oob_base_close(void);
92 
93 
94 /*
95  * Global struct holding the selected module's function pointers
96  */
97 ORTE_DECLSPEC extern int mca_oob_base_output;
98 extern char* mca_oob_base_include;
99 extern char* mca_oob_base_exclude;
100 ORTE_DECLSPEC extern opal_list_t mca_oob_base_components;
101 ORTE_DECLSPEC extern opal_list_t mca_oob_base_modules;
102 
103 #endif /* ORTE_DISABLE_FULL_SUPPORT */
104 
105 END_C_DECLS
106 #endif
107 
ORTE_DECLSPEC int mca_oob_base_module_init(void)
Called to request the selected oob components to initialize their connections to the HNP (if not an H...
Definition: oob_base_init.c:109
Contains the internal functions and typedefs for the use of the oob.
associate a component and a module that belongs to it
Definition: base.h:70
BEGIN_C_DECLS ORTE_DECLSPEC int mca_oob_base_open(void)
Function for finding and opening either all MCA components, or the one that was specifically requeste...
Definition: oob_base_open.c:67
Top-level interface for all MCA components.
Definition: opal_list.h:98
ORTE_DECLSPEC int mca_oob_base_init(void)
Function for selecting one module from all those that are available.
Definition: oob_base_init.c:55
ORTE_DECLSPEC OBJ_CLASS_DECLARATION(mca_oob_base_info_t)
declare the association structure as a class
Definition: oob.h:51
Definition: opal_list.h:147
OOB Module.
Definition: oob.h:161