File indexing completed on 2025-02-23 10:12:53
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023
0024
0025 #ifndef PMIX_PLOG_BASE_H_
0026 #define PMIX_PLOG_BASE_H_
0027
0028 #include "src/include/pmix_config.h"
0029
0030 #ifdef HAVE_SYS_TIME_H
0031 # include <sys/time.h> /* for struct timeval */
0032 #endif
0033 #ifdef HAVE_STRING_H
0034 # include <string.h>
0035 #endif
0036
0037 #include "src/class/pmix_list.h"
0038 #include "src/class/pmix_pointer_array.h"
0039 #include "src/mca/base/pmix_mca_base_framework.h"
0040 #include "src/mca/mca.h"
0041 #include "src/threads/pmix_threads.h"
0042
0043 #include "src/mca/plog/plog.h"
0044
0045 BEGIN_C_DECLS
0046
0047
0048
0049
0050 PMIX_EXPORT extern pmix_mca_base_framework_t pmix_plog_base_framework;
0051
0052
0053
0054
0055
0056
0057 PMIX_EXPORT pmix_status_t pmix_plog_base_select(void);
0058
0059
0060
0061
0062 struct pmix_plog_base_active_module_t {
0063 pmix_list_item_t super;
0064 bool reqd;
0065 bool added;
0066 int pri;
0067 pmix_plog_module_t *module;
0068 pmix_plog_base_component_t *component;
0069 };
0070 typedef struct pmix_plog_base_active_module_t pmix_plog_base_active_module_t;
0071 PMIX_CLASS_DECLARATION(pmix_plog_base_active_module_t);
0072
0073
0074 struct pmix_plog_globals_t {
0075 pmix_lock_t lock;
0076 pmix_pointer_array_t actives;
0077 bool initialized;
0078 bool selected;
0079 char **channels;
0080 };
0081 typedef struct pmix_plog_globals_t pmix_plog_globals_t;
0082
0083 PMIX_EXPORT extern pmix_plog_globals_t pmix_plog_globals;
0084
0085 PMIX_EXPORT pmix_status_t pmix_plog_base_log(const pmix_proc_t *source, const pmix_info_t data[],
0086 size_t ndata, const pmix_info_t directives[],
0087 size_t ndirs, pmix_op_cbfunc_t cbfunc, void *cbdata);
0088
0089 END_C_DECLS
0090
0091 #endif