File indexing completed on 2025-10-31 09:10:36
0001 
0002 
0003 
0004 
0005 
0006 
0007 
0008 
0009 
0010 
0011 
0012 
0013 
0014 
0015 
0016 
0017 #ifndef PMIX_PSENSOR_BASE_H_
0018 #define PMIX_PSENSOR_BASE_H_
0019 
0020 #include "src/include/pmix_config.h"
0021 
0022 #include "src/class/pmix_list.h"
0023 #include "src/mca/base/pmix_mca_base_framework.h"
0024 #include "src/mca/mca.h"
0025 
0026 #include "src/mca/psensor/psensor.h"
0027 
0028 BEGIN_C_DECLS
0029 
0030 
0031 
0032 
0033 PMIX_EXPORT extern pmix_mca_base_framework_t pmix_psensor_base_framework;
0034 
0035 PMIX_EXPORT int pmix_psensor_base_select(void);
0036 
0037 
0038 typedef struct {
0039     pmix_list_t actives;
0040     pmix_event_base_t *evbase;
0041     bool selected;
0042 } pmix_psensor_base_t;
0043 
0044 typedef struct {
0045     pmix_list_item_t super;
0046     pmix_psensor_base_component_t *component;
0047     pmix_psensor_base_module_t *module;
0048     int priority;
0049 } pmix_psensor_active_module_t;
0050 PMIX_CLASS_DECLARATION(pmix_psensor_active_module_t);
0051 
0052 PMIX_EXPORT extern pmix_psensor_base_t pmix_psensor_base;
0053 
0054 PMIX_EXPORT pmix_status_t pmix_psensor_base_start(pmix_peer_t *requestor, pmix_status_t error,
0055                                                   const pmix_info_t *monitor,
0056                                                   const pmix_info_t directives[], size_t ndirs);
0057 
0058 PMIX_EXPORT pmix_status_t pmix_psensor_base_stop(pmix_peer_t *requestor, char *id);
0059 
0060 END_C_DECLS
0061 #endif