summaryrefslogtreecommitdiffstats
path: root/src/H5Pdxpl.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/H5Pdxpl.c')
-rw-r--r--src/H5Pdxpl.c53
1 files changed, 53 insertions, 0 deletions
diff --git a/src/H5Pdxpl.c b/src/H5Pdxpl.c
index 3994d98..67dba0b 100644
--- a/src/H5Pdxpl.c
+++ b/src/H5Pdxpl.c
@@ -80,6 +80,59 @@ done:
FUNC_LEAVE_API(ret_value);
}
+/*-------------------------------------------------------------------------
+ * Function: H5Pget_data_transform
+ *
+ * Purpose:
+ * Gets data transform expression.
+ *
+ *
+ * Return: Returns a non-negative value if successful; otherwise returns a negative value.
+ *
+ *
+ * Programmer: Leon Arber
+ * August 27, 2004
+ *
+ * Modifications:
+ *
+ *-------------------------------------------------------------------------
+ */
+herr_t H5Pget_data_transform(hid_t plist_id, char** expression)
+{
+ H5P_genplist_t *plist; /* Property list pointer */
+ H5Z_data_xform_t *data_xform_prop=NULL; /* New data xform property */
+ herr_t ret_value=SUCCEED; /* return value */
+
+
+ FUNC_ENTER_API(H5Pget_data_transform, FAIL);
+
+ /* Check arguments */
+ if (expression == NULL)
+ HGOTO_ERROR (H5E_ARGS, H5E_BADVALUE, FAIL, "expression cannot be NULL");
+
+ /* Get the plist structure */
+ if(NULL == (plist = H5P_object_verify(plist_id,H5P_DATASET_XFER)))
+ HGOTO_ERROR(H5E_ATOM, H5E_BADATOM, FAIL, "can't find object for ID");
+
+ if(H5P_get(plist, H5D_XFER_XFORM_NAME, &data_xform_prop)<0)
+ HGOTO_ERROR (H5E_PLIST, H5E_CANTSET, FAIL, "Error setting data transform expression");
+
+ /* Get the data transform string */
+ *expression = H5Z_xform_extract_xform_str(data_xform_prop);
+
+done:
+ if(ret_value<0) {
+ if(data_xform_prop)
+ if(H5Z_xform_destroy(data_xform_prop)<0)
+ HDONE_ERROR(H5E_PLINE, H5E_CLOSEERROR, FAIL, "unable to release data transform expression")
+ } /* end if */
+
+ FUNC_LEAVE_API(ret_value);
+}
+
+
+
+
/*-------------------------------------------------------------------------
* Function: H5Pset_buffer