summaryrefslogtreecommitdiffstats
path: root/fortran/src
diff options
context:
space:
mode:
Diffstat (limited to 'fortran/src')
-rw-r--r--fortran/src/H5Pf.c33
-rw-r--r--fortran/src/H5Pff.f9054
-rw-r--r--fortran/src/H5f90proto.h4
3 files changed, 91 insertions, 0 deletions
diff --git a/fortran/src/H5Pf.c b/fortran/src/H5Pf.c
index 14c8b45..f9ad983 100644
--- a/fortran/src/H5Pf.c
+++ b/fortran/src/H5Pf.c
@@ -3237,3 +3237,36 @@ DONE:
return ret_value;
}
+/*----------------------------------------------------------------------------
+ * Name: h5pdelete_filter_c
+ * Purpose: Call H5Pdelete_filter to delete one or more filters
+ * Inputs: prp_id - property list identifier
+ * filter - Filter to be deleted
+ * Returns: 0 on success, -1 on failure
+ * Programmer: Quincey Koziol
+ * January 27 2004
+ * Modifications:
+ *---------------------------------------------------------------------------*/
+int_f
+nh5pdelete_filter_c (hid_t_f *prp_id, int_f* filter)
+{
+ int ret_value = -1;
+ hid_t c_prp_id;
+ herr_t ret;
+ H5Z_filter_t c_filter;
+
+ c_filter = (H5Z_filter_t)*filter;
+ c_prp_id = (hid_t)*prp_id;
+
+ /*
+ * Call H5Pdelety_filter function.
+ */
+ ret = H5Pdelete_filter(c_prp_id, c_filter);
+
+ if (ret < 0) goto DONE;
+ ret_value = 0;
+
+DONE:
+ return ret_value;
+}
+
diff --git a/fortran/src/H5Pff.f90 b/fortran/src/H5Pff.f90
index 5715514..a49b602 100644
--- a/fortran/src/H5Pff.f90
+++ b/fortran/src/H5Pff.f90
@@ -6332,4 +6332,58 @@
hdferr = h5pmodify_filter_c(prp_id, filter, flags, cd_nelmts, cd_values )
END SUBROUTINE h5pmodify_filter_f
+!----------------------------------------------------------------------
+! Name: h5pdelete_filter_f
+!
+! Purpose: Delete one or more filters from the filter pipeline.
+!
+! Inputs:
+! prp_id - data creation or transfer property list
+! identifier
+! filter - filter to be deleted
+! Outputs:
+! hdferr: - error code
+! Success: 0
+! Failure: -1
+! Optional parameters:
+! NONE
+!
+! Programmer: Quincey Koziol
+! January 27 2004
+!
+! Modifications:
+!
+! Comment:
+!----------------------------------------------------------------------
+
+ SUBROUTINE h5pdelete_filter_f(prp_id, filter, hdferr)
+!
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5pdelete_filter_f
+!DEC$endif
+!
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier
+ INTEGER, INTENT(IN) :: filter !Filter to be modified
+
+ INTEGER, INTENT(OUT) :: hdferr ! Error code
+
+! INTEGER, EXTERNAL :: h5pdelete_filter_c
+! MS FORTRAN needs explicit interface for C functions called here.
+!
+ INTERFACE
+ INTEGER FUNCTION h5pdelete_filter_c(prp_id, filter)
+ USE H5GLOBAL
+ !DEC$ IF DEFINED(HDF5F90_WINDOWS)
+ !MS$ATTRIBUTES C,reference,alias:'_H5PMODIFY_FILTER_C'::h5pdelete_filter_c
+ !DEC$ ENDIF
+ INTEGER(HID_T), INTENT(IN) :: prp_id
+ INTEGER, INTENT(IN) :: filter
+ END FUNCTION h5pdelete_filter_c
+ END INTERFACE
+
+ hdferr = h5pdelete_filter_c(prp_id, filter)
+ END SUBROUTINE h5pdelete_filter_f
+
END MODULE H5P
diff --git a/fortran/src/H5f90proto.h b/fortran/src/H5f90proto.h
index 5b7c180..e42b59a 100644
--- a/fortran/src/H5f90proto.h
+++ b/fortran/src/H5f90proto.h
@@ -770,6 +770,7 @@ H5_DLL int_f nh5tis_variable_str_c ( hid_t_f *type_id , int_f *flag );
# define nh5pset_layout_c FNAME(H5PSET_LAYOUT_C)
# define nh5pget_layout_c FNAME(H5PGET_LAYOUT_C)
# define nh5pset_filter_c FNAME(H5PSET_FILTER_C)
+# define nh5pdelete_filter_c FNAME(H5PDELETE_FILTER_C)
# define nh5pmodify_filter_c FNAME(H5PMODIFY_FILTER_C)
# define nh5pget_nfilters_c FNAME(H5PGET_NFILTERS_C)
# define nh5pget_filter_c FNAME(H5PGET_FILTER_C)
@@ -876,6 +877,7 @@ H5_DLL int_f nh5tis_variable_str_c ( hid_t_f *type_id , int_f *flag );
# define nh5pset_layout_c FNAME(h5pset_layout_c)
# define nh5pget_layout_c FNAME(h5pget_layout_c)
# define nh5pset_filter_c FNAME(h5pset_filter_c)
+# define nh5pdelete_filter_c FNAME(h5pdelete_filter_c)
# define nh5pmodify_filter_c FNAME(h5pmodify_filter_c)
# define nh5pget_nfilters_c FNAME(h5pget_nfilters_c)
# define nh5pget_filter_c FNAME(h5pget_filter_c)
@@ -1034,6 +1036,8 @@ nh5pget_layout_c (hid_t_f *prp_id, int_f* layout);
H5_DLL int_f
nh5pset_filter_c (hid_t_f *prp_id, int_f* filter, int_f* flags, size_t_f* cd_nelmts, int_f* cd_values );
H5_DLL int_f
+nh5pdelete_filter_c (hid_t_f *prp_id, int_f* filter);
+H5_DLL int_f
nh5pmodify_filter_c (hid_t_f *prp_id, int_f* filter, int_f* flags, size_t_f* cd_nelmts, int_f* cd_values );
H5_DLL int_f
nh5pget_nfilters_c (hid_t_f *prp_id, int_f* nfilters);