summaryrefslogtreecommitdiffstats
path: root/fortran/src/H5Zf.c
diff options
context:
space:
mode:
authorJames Laird <jlaird@hdfgroup.org>2004-07-01 17:38:04 (GMT)
committerJames Laird <jlaird@hdfgroup.org>2004-07-01 17:38:04 (GMT)
commiteab58732d86e9219fa9f41f9ab2e30fae94e4a7d (patch)
tree333b5f2c50c267c14611e042724a7f28d5156ab7 /fortran/src/H5Zf.c
parent3f500747fa0f4379e8e03b82f6d679628d55a8c3 (diff)
downloadhdf5-eab58732d86e9219fa9f41f9ab2e30fae94e4a7d.zip
hdf5-eab58732d86e9219fa9f41f9ab2e30fae94e4a7d.tar.gz
hdf5-eab58732d86e9219fa9f41f9ab2e30fae94e4a7d.tar.bz2
[svn-r8781]
Purpose: HDF5 now supports SZIP with no encoder. Description: SZIP can be configured to have both encoder and decoder or just to have the decoder. HDF5 can now query the configuration of any filter, and will throw errors if users try to write using a filter with encoding disabled. Solution: Added H5Zget_filter_info function, changed API for H5Pget_filter and H5P_get_filter_by_id. See SZIP RFC. Platforms tested: Copper (fortran, C++, parallel), Sleipnir (C++), Arabica (fortran, C++), Verbena (fortran, C++) Misc. update:
Diffstat (limited to 'fortran/src/H5Zf.c')
-rw-r--r--fortran/src/H5Zf.c26
1 files changed, 26 insertions, 0 deletions
diff --git a/fortran/src/H5Zf.c b/fortran/src/H5Zf.c
index 70e0dee..8c2b6b6 100644
--- a/fortran/src/H5Zf.c
+++ b/fortran/src/H5Zf.c
@@ -67,3 +67,29 @@ nh5zfilter_avail_c ( int_f *filter , int_f *flag )
if ( status < 0 ) ret_value = -1;
return ret_value;
}
+
+/*----------------------------------------------------------------------------
+ * Name: h5zget_filter_info_c
+ * Purpose: Call H5Zget_filter_info to find if filter has its encoder
+ * and/or its decoder available
+ * Inputs: filter - filter identifier
+ * Outputs: flag - status flag
+ * Returns: 0 on success, -1 on failure
+ * Programmer: Nat Furrer and James Laird
+ * Wednesday, June 16, 2004
+ * Modifications:
+ *---------------------------------------------------------------------------*/
+
+int_f
+nh5zget_filter_info_c ( int_f *filter , int_f *flag )
+{
+ int ret_value = 0;
+ H5Z_filter_t c_filter;
+ unsigned int c_flag;
+
+ c_filter = (H5Z_filter_t)*filter;
+ ret_value = H5Zget_filter_info(c_filter, &c_flag);
+ *flag = (int_f)c_flag;
+
+ return ret_value;
+}