1
1
George Bosilca 715f6012cf The DSS pack function can use the const attribute for the src field
as it is never modified by the pack functions directly. Enforce it
all over the code base.

This commit was SVN r15026.
2007-06-12 22:47:14 +00:00

88 строки
3.0 KiB
C

/*
* Copyright (c) 2004-2007 The Trustees of Indiana University and Indiana
* University Research and Technology
* Corporation. All rights reserved.
* Copyright (c) 2004-2005 The University of Tennessee and The University
* of Tennessee Research Foundation. 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$
*/
#ifndef MCA_RML_BASE_H
#define MCA_RML_BASE_H
#include "orte_config.h"
#include "opal/mca/mca.h"
#include "orte/mca/rml/rml.h"
#if defined(c_plusplus) || defined(__cplusplus)
extern "C" {
#endif
/*
* Global functions for the RML
*/
ORTE_DECLSPEC int orte_rml_base_open(void);
ORTE_DECLSPEC int orte_rml_base_select(void);
ORTE_DECLSPEC int orte_rml_base_close(void);
/*
* Data type support
*/
ORTE_DECLSPEC int orte_rml_base_compare_tags(orte_rml_tag_t *value1, orte_rml_tag_t *value2, orte_data_type_t type);
ORTE_DECLSPEC int orte_rml_base_copy_tag(orte_rml_tag_t **dest, orte_rml_tag_t *src, orte_data_type_t type);
ORTE_DECLSPEC int orte_rml_base_pack_tag(orte_buffer_t *buffer, const void *src,
orte_std_cntr_t num_vals, orte_data_type_t type);
ORTE_DECLSPEC int orte_rml_base_print_tag(char **output, char *prefix, orte_rml_tag_t *src, orte_data_type_t type);
ORTE_DECLSPEC void orte_rml_base_std_obj_release(orte_data_value_t *value);
ORTE_DECLSPEC int orte_rml_base_size_tag(size_t *size, orte_rml_tag_t *src, orte_data_type_t type);
ORTE_DECLSPEC int orte_rml_base_unpack_tag(orte_buffer_t *buffer, void *dest,
orte_std_cntr_t *num_vals, orte_data_type_t type);
/*
* Internal functions
*/
int orte_rml_base_comm_start(void);
int orte_rml_base_comm_stop(void);
void orte_rml_base_recv(int status, orte_process_name_t* sender,
orte_buffer_t* buffer, orte_rml_tag_t tag,
void* cbdata);
/*
* Global struct holding the base parameters.
*/
struct orte_rml_base_t {
int rml_output;
int rml_debug;
opal_list_t rml_components;
};
typedef struct orte_rml_base_t orte_rml_base_t;
ORTE_DECLSPEC extern orte_rml_base_t orte_rml_base;
ORTE_DECLSPEC extern orte_rml_module_t orte_rml;
ORTE_DECLSPEC extern orte_rml_component_t orte_rml_component;
ORTE_DECLSPEC extern orte_process_name_t orte_rml_name_any;
ORTE_DECLSPEC extern orte_process_name_t orte_rml_name_seed;
/*
* This is the base priority for a RML wrapper component
* If there exists more than one wrapper, then the one with
* the lowest priority wins.
*/
#define RML_SELECT_WRAPPER_PRIORITY -128
#if defined(c_plusplus) || defined(__cplusplus)
}
#endif
#endif /* MCA_RML_BASE_H */