761402f95f
This commit was SVN r6322.
116 строки
3.5 KiB
C
116 строки
3.5 KiB
C
/*
|
|
* Copyright (c) 2004-2005 The Trustees of Indiana University.
|
|
* All rights reserved.
|
|
* Copyright (c) 2004-2005 The Trustees of the University of Tennessee.
|
|
* All rights reserved.
|
|
* Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
|
|
* University of Stuttgart. All rights reserved.
|
|
* Copyright (c) 2004-2005 The Regents of the University of California.
|
|
* All rights reserved.
|
|
* $COPYRIGHT$
|
|
*
|
|
* Additional copyrights may follow
|
|
*
|
|
* $HEADER$
|
|
*/
|
|
/** @file:
|
|
*/
|
|
|
|
#ifndef MCA_SOH_BASE_H
|
|
#define MCA_SOH_BASE_H
|
|
|
|
/*
|
|
* includes
|
|
*/
|
|
#include "orte_config.h"
|
|
#include "include/orte_constants.h"
|
|
#include "include/orte_types.h"
|
|
|
|
#include "opal/class/opal_list.h"
|
|
#include "dps/dps_types.h"
|
|
#include "mca/mca.h"
|
|
/* #include "mca/ns/ns_types.h" */
|
|
#include "mca/soh/soh.h"
|
|
|
|
|
|
/*
|
|
* Global functions for MCA overall collective open and close
|
|
*/
|
|
#if defined(c_plusplus) || defined(__cplusplus)
|
|
extern "C" {
|
|
#endif
|
|
|
|
OMPI_DECLSPEC int orte_soh_base_open(void);
|
|
OMPI_DECLSPEC int orte_soh_base_select(void);
|
|
OMPI_DECLSPEC int orte_soh_base_close(void);
|
|
|
|
int orte_soh_base_get_proc_soh(orte_proc_state_t *state,
|
|
int *status,
|
|
orte_process_name_t *proc);
|
|
|
|
int orte_soh_base_set_proc_soh(orte_process_name_t *proc,
|
|
orte_proc_state_t state,
|
|
int status);
|
|
|
|
int orte_soh_base_get_node_soh_not_available(orte_node_state_t *state,
|
|
orte_cellid_t cell,
|
|
char *nodename);
|
|
|
|
int orte_soh_base_set_node_soh_not_available(orte_cellid_t cell,
|
|
char *nodename,
|
|
orte_node_state_t state);
|
|
|
|
int orte_soh_base_begin_monitoring_not_available(orte_jobid_t job);
|
|
|
|
|
|
int orte_soh_base_module_finalize_not_available (void);
|
|
|
|
/*
|
|
* DATA TYPE PACKING FUNCTIONS
|
|
*/
|
|
int orte_soh_base_pack_exit_code(orte_buffer_t *buffer, void *src,
|
|
size_t num_vals, orte_data_type_t type);
|
|
|
|
int orte_soh_base_pack_node_state(orte_buffer_t *buffer, void *src,
|
|
size_t num_vals, orte_data_type_t type);
|
|
|
|
int orte_soh_base_pack_proc_state(orte_buffer_t *buffer, void *src,
|
|
size_t num_vals, orte_data_type_t type);
|
|
|
|
/*
|
|
* DATA TYPE UNPACKING FUNCTIONS
|
|
*/
|
|
int orte_soh_base_unpack_exit_code(orte_buffer_t *buffer, void *dest,
|
|
size_t *num_vals, orte_data_type_t type);
|
|
|
|
int orte_soh_base_unpack_node_state(orte_buffer_t *buffer, void *dest,
|
|
size_t *num_vals, orte_data_type_t type);
|
|
|
|
int orte_soh_base_unpack_proc_state(orte_buffer_t *buffer, void *dest,
|
|
size_t *num_vals, orte_data_type_t type);
|
|
|
|
/*
|
|
* globals that might be needed
|
|
*/
|
|
|
|
OMPI_DECLSPEC extern int orte_soh_base_output;
|
|
OMPI_DECLSPEC extern orte_soh_base_module_t orte_soh; /* holds selected module's function pointers */
|
|
OMPI_DECLSPEC extern bool orte_soh_base_selected;
|
|
|
|
typedef struct orte_soh_base_t {
|
|
int soh_output;
|
|
opal_list_t soh_components;
|
|
} orte_soh_base_t;
|
|
|
|
OMPI_DECLSPEC extern orte_soh_base_t orte_soh_base;
|
|
|
|
|
|
/*
|
|
* external API functions will be documented in the mca/soh/soh.h file
|
|
*/
|
|
|
|
#if defined(c_plusplus) || defined(__cplusplus)
|
|
}
|
|
#endif
|
|
#endif
|