1
1
openmpi/opal/dss/dss_get.c
Ralph Castain d70e2e8c2b Merge the ORTE devel branch into the main trunk. Details of what this means will be circulated separately.
Remains to be tested to ensure everything came over cleanly, so please continue to withhold commits a little longer

This commit was SVN r17632.
2008-02-28 01:57:57 +00:00

45 строки
1.3 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$
*/
#include "opal_config.h"
#include "opal/dss/dss_internal.h"
#include "opal/util/output.h"
int opal_dss_get(void **data, opal_dss_value_t *value, opal_data_type_t type)
{
/* check for error */
if (NULL == value || NULL == data) {
return OPAL_ERR_BAD_PARAM;
}
/* okay, we assume that the user has provided memory for the destination.
* check to ensure the data types match.
* this is absolutely critical as "get" will NOT allocate space
* but will assume that *data contains a valid address for the
* type of data being requested
*/
if (type != value->type) {
return OPAL_ERR_TYPE_MISMATCH;
}
/* point the destination at the value */
*data = value->data;
return OPAL_SUCCESS;
}