1
1
openmpi/orte/mca/rml/base/rml_contact.h
2015-06-23 20:59:57 -07:00

84 строки
2.6 KiB
C

/*
* Copyright (c) 2007 Los Alamos National Security, LLC. All rights
* reserved.
* $COPYRIGHT$
*
* Additional copyrights may follow
*
* $HEADER$
*/
/**
* @file
*
* Interface for manipulating how the RML receives contact information
*
* Interface for manipulating how the RML receives contact
* information. These functions are generally used during orte_init
* and orte_finalize.
*/
#include "orte_config.h"
#include "orte/types.h"
#include "opal/dss/dss_types.h"
BEGIN_C_DECLS
/**
* Create packed RML contact information for the given process names
*
* Create packed RML contact information for a given job.
* The information is provided packed in an opal_buffer_t
* structure.
*
* @param[in] jobid Job whose contact information is needed
* @param[out] data Contact information packed in buffer for
* \c name.
*
* @retval ORTE_SUCCESS Successfully found contact information
* @retval ORTE_ERROR Contact information could not be found or shared
*/
ORTE_DECLSPEC int orte_rml_base_get_contact_info(orte_jobid_t job,
opal_buffer_t *data);
/**
* Update the RML with contact information
*
* Update the RML with contact information provided from a call to
* orte_rml_base_get_contact_info(), likely on another host.
*
* @param[in] data Contact information in a packed buffer,
* obtained by call to orte_rml_base_get_contact_info()
*
* @retval ORTE_SUCCESS Successfully updated contact information
*/
ORTE_DECLSPEC int orte_rml_base_update_contact_info(opal_buffer_t* data);
/**
* Parse a contact information string
*
* Parse a contact infromation string, such as that returned by
* orte_rml.get_contact_info(). Generally used to extract the peer
* name from a contact information string. It can also be used to
* extract the contact URI strings, although this is slightly less
* useful as the URIs may be RML componenent specific and not have
* general meaning.
*
* @param[in] contact_info Contact information string for peer
* @param[out] peer Peer name in contact_info
* @param[out] uris URI strings for peer. May be NULL if
* information is not needed
*
* @retval ORTE_SUCCESS Information successfully extraced
* @retval ORTE_ERR_BAD_PARAM The contact_info was not a valid string
* @retval ORTE_ERROR An unspecified error occurred
*/
ORTE_DECLSPEC int orte_rml_base_parse_uris(const char* contact_inf,
orte_process_name_t* peer,
char*** uris);
END_C_DECLS