diff options
author | Neil Fortner <nfortne2@hdfgroup.org> | 2013-02-05 17:07:02 (GMT) |
---|---|---|
committer | Neil Fortner <nfortne2@hdfgroup.org> | 2013-02-05 17:07:02 (GMT) |
commit | 0e3517d34fb6b4c2c1016ea6be80f3046f6d8549 (patch) | |
tree | 9a0785d26e7444a3cc852f0f8864f1e372855c87 /src/H5Dpublic.h | |
parent | d7a07d62a486f28ca869416762a4b45c7befb45b (diff) | |
download | hdf5-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.h | 13 |
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. |