summaryrefslogtreecommitdiffstats
path: root/fortran/src/H5Zff.f90
diff options
context:
space:
mode:
Diffstat (limited to 'fortran/src/H5Zff.f90')
-rw-r--r--fortran/src/H5Zff.f90124
1 files changed, 124 insertions, 0 deletions
diff --git a/fortran/src/H5Zff.f90 b/fortran/src/H5Zff.f90
new file mode 100644
index 0000000..2f33b80
--- /dev/null
+++ b/fortran/src/H5Zff.f90
@@ -0,0 +1,124 @@
+!
+! This file contains FORTRAN90 interfaces for H5I functions
+!
+ MODULE H5Z
+
+ USE H5GLOBAL
+
+ CONTAINS
+
+!----------------------------------------------------------------------
+! Name: h5zunregister_f
+!
+! Purpose: Unregisters specified filetr
+!
+! Inputs: filter - filter; may have one of the following values:
+! H5Z_FILTER_DEFLATE_F
+! H5Z_FILTER_SHUFFLE_F
+! H5Z_FILTER_FLETCHER32_F
+! Outputs:
+! hdferr: - error code
+! Success: 0
+! Failure: -1
+! Optional parameters:
+! NONE
+!
+! Programmer: Elena Pourmal
+! March 12, 2003
+!
+! Modifications:
+!
+! Comment:
+!----------------------------------------------------------------------
+ SUBROUTINE h5zunregister_f(filter, hdferr)
+!
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5zunregister_f
+!DEC$endif
+!
+ IMPLICIT NONE
+ INTEGER, INTENT(IN) :: filter
+ INTEGER, INTENT(OUT) :: hdferr ! Error code
+
+! INTEGER, EXTERNAL :: h5zunregister_c
+! Interface is needed for MS FORTRAN
+!
+ INTERFACE
+ INTEGER FUNCTION h5zunregister_c (filter)
+ USE H5GLOBAL
+ !DEC$ IF DEFINED(HDF5F90_WINDOWS)
+ !MS$ATTRIBUTES C,reference,alias:'_H5ZUNREGISTER_C':: h5zunregister_c
+ !DEC$ ENDIF
+ INTEGER, INTENT(IN) :: filter
+ END FUNCTION h5zunregister_c
+ END INTERFACE
+ hdferr = h5zunregister_c (filter)
+ END SUBROUTINE h5zunregister_f
+!----------------------------------------------------------------------
+! Name: h5zfilter_avail_f
+!
+! Purpose: Queries if filter is available
+!
+! Inputs:
+! filter - filter
+! Outputs:
+! status - status; .TRUE. if filter is available,
+! .FALSE. otherwise
+! hdferr: - error code
+! Success: 0
+! Failure: -1
+! Optional parameters:
+! NONE
+!
+! Programmer: Elena Pourmal
+! March 12, 2003
+!
+! Modifications:
+!
+!----------------------------------------------------------------------
+ SUBROUTINE h5zfilter_avail_f(filter, status, hdferr)
+!
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5zfilter_avail_f
+!DEC$endif
+!
+
+ IMPLICIT NONE
+ INTEGER, INTENT(IN) :: filter ! Filter; may be one of the following:
+ ! H5Z_FILTER_DEFLATE_F
+ ! H5Z_FILTER_SHUFFLE_F
+ ! H5Z_FILTER_FLETCHER32_F
+ LOGICAL, INTENT(OUT) :: status ! Flag, idicates if filter
+ ! is availble not ( TRUE or
+ ! FALSE)
+ INTEGER, INTENT(OUT) :: hdferr ! Error code
+ INTEGER :: flag ! "TRUE/FALSE/ERROR from C"
+
+! INTEGER, EXTERNAL :: h5zfilter_avail_c
+! MS FORTRAN needs explicit interface for C functions called here.
+!
+ INTERFACE
+ INTEGER FUNCTION h5zfilter_avail_c(filter, flag)
+ USE H5GLOBAL
+ !DEC$ IF DEFINED(HDF5F90_WINDOWS)
+ !MS$ATTRIBUTES C,reference,alias:'_H5ZFILTER_AVAIL_C'::h5zfilter_avail_c
+ !DEC$ ENDIF
+ INTEGER, INTENT(IN) :: filter
+ INTEGER :: flag
+ END FUNCTION h5zfilter_avail_c
+ END INTERFACE
+
+ hdferr = h5zfilter_avail_c(filter, flag)
+ status = .TRUE.
+ if (flag .EQ. 0) status = .FALSE.
+
+ END SUBROUTINE h5zfilter_avail_f
+
+ END MODULE H5Z
+
+
+
+
+