1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26 #ifndef PMIX_PLOG_H
27 #define PMIX_PLOG_H
28
29 #include <src/include/pmix_config.h>
30 #include "pmix_common.h"
31
32 #include "src/class/pmix_list.h"
33 #include "src/mca/mca.h"
34 #include "src/mca/base/pmix_mca_base_var.h"
35 #include "src/mca/base/pmix_mca_base_framework.h"
36 #include "src/include/pmix_globals.h"
37
38 BEGIN_C_DECLS
39
40
41
42
43
44
45
46 typedef pmix_status_t (*pmix_plog_base_module_init_fn_t)(void);
47
48
49
50
51
52 typedef void (*pmix_plog_base_module_fini_fn_t)(void);
53
54
55
56
57 typedef pmix_status_t (*pmix_plog_base_module_log_fn_t)(const pmix_proc_t *source,
58 const pmix_info_t data[], size_t ndata,
59 const pmix_info_t directives[], size_t ndirs,
60 pmix_op_cbfunc_t cbfunc, void *cbdata);
61
62
63
64
65 typedef struct {
66 char *name;
67 char **channels;
68
69 pmix_plog_base_module_init_fn_t init;
70 pmix_plog_base_module_fini_fn_t finalize;
71 pmix_plog_base_module_log_fn_t log;
72 } pmix_plog_module_t;
73
74
75
76
77 typedef struct {
78 pmix_plog_base_module_log_fn_t log;
79 } pmix_plog_API_module_t;
80
81
82
83 PMIX_EXPORT extern pmix_plog_API_module_t pmix_plog;
84
85
86
87
88 struct pmix_plog_base_component_t {
89 pmix_mca_base_component_t base;
90 pmix_mca_base_component_data_t data;
91 };
92 typedef struct pmix_plog_base_component_t pmix_plog_base_component_t;
93
94
95
96
97 #define PMIX_PLOG_BASE_VERSION_1_0_0 \
98 PMIX_MCA_BASE_VERSION_1_0_0("plog", 1, 0, 0)
99
100 END_C_DECLS
101
102 #endif