summaryrefslogtreecommitdiffstats
path: root/src/H5Dpublic.h
diff options
context:
space:
mode:
authorNeil Fortner <nfortne2@hdfgroup.org>2013-02-05 17:07:02 (GMT)
committerNeil Fortner <nfortne2@hdfgroup.org>2013-02-05 17:07:02 (GMT)
commit0e3517d34fb6b4c2c1016ea6be80f3046f6d8549 (patch)
tree9a0785d26e7444a3cc852f0f8864f1e372855c87 /src/H5Dpublic.h
parentd7a07d62a486f28ca869416762a4b45c7befb45b (diff)
downloadhdf5-0e3517d34fb6b4c2c1016ea6be80f3046f6d8549.zip
hdf5-0e3517d34fb6b4c2c1016ea6be80f3046f6d8549.tar.gz
hdf5-0e3517d34fb6b4c2c1016ea6be80f3046f6d8549.tar.bz2
[svn-r23230] Purpose: Implement H5Dscatter and H5Dgather
Description: Adds 2 new API functions, H5Dscatter and H5Dgather. H5Dscatter retrieves data from a specified callback function and scatters it into a selection, defined by a supplied dataspace, within a supplied memory buffer. H5Dgather gathers data from a selection within a supplied memory buffer and passes it in a contiguous form to a supplied callback function. Added tests for these functions Tested: jam, ostrich, koala (h5committest); ummon
Diffstat (limited to 'src/H5Dpublic.h')
-rw-r--r--src/H5Dpublic.h13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/H5Dpublic.h b/src/H5Dpublic.h
index 523f2b2..484b176 100644
--- a/src/H5Dpublic.h
+++ b/src/H5Dpublic.h
@@ -107,6 +107,15 @@ extern "C" {
typedef herr_t (*H5D_operator_t)(void *elem, hid_t type_id, unsigned ndim,
const hsize_t *point, void *operator_data);
+/* Define the operator function pointer for H5Dscatter() */
+typedef herr_t (*H5D_scatter_func_t)(void **src_buf/*out*/,
+ size_t *src_buf_bytes_used/*out*/,
+ void *op_data);
+
+/* Define the operator function pointer for H5Dgather() */
+typedef herr_t (*H5D_gather_func_t)(const void *dst_buf,
+ size_t dst_buf_bytes_used, void *op_data);
+
H5_DLL hid_t H5Dcreate2(hid_t loc_id, const char *name, hid_t type_id,
hid_t space_id, hid_t lcpl_id, hid_t dcpl_id, hid_t dapl_id);
H5_DLL hid_t H5Dcreate_anon(hid_t file_id, hid_t type_id, hid_t space_id,
@@ -131,6 +140,10 @@ H5_DLL herr_t H5Dvlen_get_buf_size(hid_t dataset_id, hid_t type_id, hid_t space_
H5_DLL herr_t H5Dfill(const void *fill, hid_t fill_type, void *buf,
hid_t buf_type, hid_t space);
H5_DLL herr_t H5Dset_extent(hid_t dset_id, const hsize_t size[]);
+H5_DLL herr_t H5Dscatter(H5D_scatter_func_t op, void *op_data, hid_t type_id,
+ hid_t dst_space_id, void *dst_buf);
+H5_DLL herr_t H5Dgather(hid_t src_space_id, void *src_buf, hid_t type_id,
+ size_t dst_buf_size, void *dst_buf, H5D_gather_func_t op, void *op_data);
H5_DLL herr_t H5Ddebug(hid_t dset_id);
/* Symbols defined for compatibility with previous versions of the HDF5 API.