1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 #ifndef PMIX_PLOG_BASE_H_
25 #define PMIX_PLOG_BASE_H_
26
27 #include <src/include/pmix_config.h>
28
29
30 #ifdef HAVE_SYS_TIME_H
31 #include <sys/time.h>
32 #endif
33 #ifdef HAVE_STRING_H
34 #include <string.h>
35 #endif
36
37 #include "src/class/pmix_list.h"
38 #include "src/class/pmix_pointer_array.h"
39 #include "src/threads/threads.h"
40 #include "src/mca/mca.h"
41 #include "src/mca/base/pmix_mca_base_framework.h"
42
43 #include "src/mca/plog/plog.h"
44
45
46 BEGIN_C_DECLS
47
48
49
50
51 PMIX_EXPORT extern pmix_mca_base_framework_t pmix_plog_base_framework;
52
53
54
55
56
57
58 PMIX_EXPORT pmix_status_t pmix_plog_base_select(void);
59
60
61
62
63 struct pmix_plog_base_active_module_t {
64 pmix_list_item_t super;
65 bool reqd;
66 bool added;
67 int pri;
68 pmix_plog_module_t *module;
69 pmix_plog_base_component_t *component;
70 };
71 typedef struct pmix_plog_base_active_module_t pmix_plog_base_active_module_t;
72 PMIX_CLASS_DECLARATION(pmix_plog_base_active_module_t);
73
74
75
76 struct pmix_plog_globals_t {
77 pmix_lock_t lock;
78 pmix_pointer_array_t actives;
79 bool initialized;
80 char **channels;
81 };
82 typedef struct pmix_plog_globals_t pmix_plog_globals_t;
83
84 PMIX_EXPORT extern pmix_plog_globals_t pmix_plog_globals;
85
86 PMIX_EXPORT pmix_status_t pmix_plog_base_log(const pmix_proc_t *source,
87 const pmix_info_t data[], size_t ndata,
88 const pmix_info_t directives[], size_t ndirs,
89 pmix_op_cbfunc_t cbfunc, void *cbdata);
90
91 END_C_DECLS
92
93 #endif