OpenMPI 0.1.1

- Main Page
- Related Pages
- Modules
- Data Structures
- Files

- File List
- Globals

pubsub.h
Go to the documentation of this file.
1 /*
2 * Copyright (c) 2004-2008 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 /**
19 * @file
20 *
21 * Dynamic Process Management Interface
22 *
23 */
24
25 #ifndef OMPI_MCA_PUBSUB_H
26 #define OMPI_MCA_PUBSUB_H
27
28 #include "ompi_config.h"
29
30 #include "opal/mca/mca.h"
31 #include "opal/mca/base/base.h"
32
33
34 #include "ompi/info/info.h"
35
36 BEGIN_C_DECLS
37
38 /*
39 * Initialize a module
40 */
41 typedef int (*ompi_pubsub_base_module_init_fn_t)(void);
42
43 /*
44 * Publish a data item
45 */
46 typedef int (*ompi_pubsub_base_module_publish_fn_t)(char *service, ompi_info_t *info, char *port);
47
48 /*
49 * Unpublish a data item
50 */
51 typedef int (*ompi_pubsub_base_module_unpublish_fn_t)(char *service, ompi_info_t *info);
52
53 /*
54 * Lookup a data item
55 */
56 typedef char* (*ompi_pubsub_base_module_lookup_fn_t)(char *service, ompi_info_t *info);
57
58 /*
59 * Finalize a module
60 */
61 typedef int (*ompi_pubsub_base_module_finalize_fn_t)(void);
62
63 /**
64 * Structure for PUBSUB modules
65 */
66 struct ompi_pubsub_base_module_1_0_0_t {
67 /** Initialization Function */
68 ompi_pubsub_base_module_init_fn_t init;
69 /* Publish */
70 ompi_pubsub_base_module_publish_fn_t publish;
71 /* Unpublish */
72 ompi_pubsub_base_module_unpublish_fn_t unpublish;
73 /* Lookup */
74 ompi_pubsub_base_module_lookup_fn_t lookup;
75 /* finalize */
76 ompi_pubsub_base_module_finalize_fn_t finalize;
77 };
78 typedef struct ompi_pubsub_base_module_1_0_0_t ompi_pubsub_base_module_1_0_0_t;
79 typedef struct ompi_pubsub_base_module_1_0_0_t ompi_pubsub_base_module_t;
80
81 OMPI_DECLSPEC extern ompi_pubsub_base_module_t ompi_pubsub;
82
83
84 /**
85 * Structure for PUBSUB components.
86 */
87 struct ompi_pubsub_base_component_2_0_0_t {
88 /** MCA base component */
89 mca_base_component_t base_version;
90 /** MCA base data */
91 mca_base_component_data_t base_data;
92 };
93 typedef struct ompi_pubsub_base_component_2_0_0_t ompi_pubsub_base_component_2_0_0_t;
94 typedef struct ompi_pubsub_base_component_2_0_0_t ompi_pubsub_base_component_t;
95
96 /**
97 * Macro for use in components that are of type PUBSUB
98 */
99 #define OMPI_PUBSUB_BASE_VERSION_2_0_0 \
100 MCA_BASE_VERSION_2_0_0, \
101 "pubsub", 2, 0, 0
102
103
104 END_C_DECLS
105
106 #endif /* OMPI_MCA_PUBSUB_H */
mca_base_component_2_0_0_t
Common type for all MCA components.
Definition: mca.h:250
ompi_pubsub_base_component_2_0_0_t::base_version
mca_base_component_t base_version
MCA base component.
Definition: pubsub.h:89
ompi_pubsub_base_component_2_0_0_t
Structure for PUBSUB components.
Definition: pubsub.h:87
mca.h
Top-level interface for all MCA components.
ompi_info_t
Definition: info.h:38
ompi_pubsub_base_module_1_0_0_t::init
ompi_pubsub_base_module_init_fn_t init
Initialization Function.
Definition: pubsub.h:68
ompi_pubsub_base_module_1_0_0_t
Structure for PUBSUB modules.
Definition: pubsub.h:66
mca_base_component_data_2_0_0_t
Meta data for MCA v2.0.0 components.
Definition: mca.h:309
ompi_pubsub_base_component_2_0_0_t::base_data
mca_base_component_data_t base_data
MCA base data.
Definition: pubsub.h:91