1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
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
|