OpenMPI  0.1.1
base.h
1 /*
2  * Copyright (c) 2004-2007 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 #ifndef OMPI_MCA_PUBSUB_BASE_H
19 #define OMPI_MCA_PUBSUB_BASE_H
20 
21 #include "ompi_config.h"
22 #include "ompi/constants.h"
23 
24 #include "ompi/mca/pubsub/pubsub.h"
25 
26 /*
27  * Global functions for MCA overall PUBSUB
28  */
29 
30 BEGIN_C_DECLS
31 
32 /**
33  * Initialize the PUBSUB MCA framework
34  *
35  * @retval OMPI_SUCCESS Upon success
36  * @retval OMPI_ERROR Upon failures
37  *
38  * This function is invoked during ompi_init();
39  */
40 OMPI_DECLSPEC int ompi_pubsub_base_open(void);
41 
42 /**
43  * Select an available component.
44  *
45  * @retval OMPI_SUCCESS Upon Success
46  * @retval OMPI_NOT_FOUND If no component can be selected
47  * @retval OMPI_ERROR Upon other failure
48  *
49  */
50 OMPI_DECLSPEC int ompi_pubsub_base_select(void);
51 
52 /**
53  * Finalize the PUBSUB MCA framework
54  *
55  * @retval OMPI_SUCCESS Upon success
56  * @retval OMPI_ERROR Upon failures
57  *
58  * This function is invoked during ompi_finalize();
59  */
60 OMPI_DECLSPEC int ompi_pubsub_base_close(void);
61 
62 
63 /* NULL functions */
64 OMPI_DECLSPEC int ompi_pubsub_base_null_publish(char *service, ompi_info_t *info, char *port);
65 OMPI_DECLSPEC int ompi_pubsub_base_null_unpublish(char *service, ompi_info_t *info);
66 OMPI_DECLSPEC char* ompi_pubsub_base_null_lookup(char *service, ompi_info_t *info);
67 
68 /* useful globals */
69 OMPI_DECLSPEC extern int ompi_pubsub_base_output;
70 OMPI_DECLSPEC extern opal_list_t ompi_pubsub_base_components_available;
71 OMPI_DECLSPEC extern ompi_pubsub_base_component_t ompi_pubsub_base_selected_component;
72 OMPI_DECLSPEC extern ompi_pubsub_base_module_t ompi_pubsub;
73 
74 END_C_DECLS
75 
76 #endif /* OMPI_MCA_PUBSUB_BASE_H */
Structure for PUBSUB components.
Definition: pubsub.h:87
Definition: info.h:38
Structure for PUBSUB modules.
Definition: pubsub.h:66
Definition: opal_list.h:147
Dynamic Process Management Interface.