1!****h* ROBODoc/H5GLOBAL
2!
3! NAME
4!  MODULE H5GLOBAL
5!
6! FILE
7!  src/fortran/H5f90global.f90
8!
9! PURPOSE
10!  This module is used to pass C stubs for H5 Fortran APIs. The C stubs are
11!  packed into arrays in H5_f.c and these arrays are then passed to Fortran.
12!  This module then uses EQUIVALENCE to assign elements of the arrays to
13!  Fortran equivalent C stubs.
14!
15! NOTES
16!  The size of the C arrays in H5_f.c has to match the values of the variables
17!  declared as PARAMETER, hence if the size of an array in H5_f.c is changed
18!  then the PARAMETER of that corresponding array in Fortran must also be changed.
19!
20! USES
21!  H5FORTRAN_TYPES 	 - This module is generated at run time. See
22!
23! COPYRIGHT
24! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
25!   Copyright by The HDF Group.                                               *
26!   Copyright by the Board of Trustees of the University of Illinois.         *
27!   All rights reserved.                                                      *
28!                                                                             *
29!   This file is part of HDF5.  The full HDF5 copyright notice, including     *
30!   terms governing use, modification, and redistribution, is contained in    *
31!   the COPYING file, which can be found at the root of the source code       *
32!   distribution tree, or in https://support.hdfgroup.org/ftp/HDF5/releases.  *
33!   If you do not have access to either file, you may request a copy from     *
34!   help@hdfgroup.org.                                                        *
35! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
36!
37! AUTHOR
38!  Elena Pourmal
39!
40!*****
41
42MODULE H5GLOBAL
43  USE H5FORTRAN_TYPES
44
45  IMPLICIT NONE
46
47  ! Definitions for reference datatypes.
48  ! If you change the value of these parameters, do not forget to change corresponding
49  ! values in the H5f90.h file.
50  INTEGER, PARAMETER :: REF_REG_BUF_LEN = 3
51
52  ! Parameters used in the function 'h5kind_to_type' located in H5_ff.f90.
53  ! The flag is used to tell the function whether the kind input variable
54  ! is for a REAL or INTEGER data type.
55
56  INTEGER, PARAMETER :: H5_REAL_KIND = 1
57  INTEGER, PARAMETER :: H5_INTEGER_KIND = 0
58
59  TYPE :: hobj_ref_t_f
60     INTEGER(HADDR_T) ref
61  END TYPE hobj_ref_t_f
62
63  TYPE :: hdset_reg_ref_t_f
64     INTEGER, DIMENSION(1:REF_REG_BUF_LEN) :: ref
65  END TYPE hdset_reg_ref_t_f
66
67  INTEGER, PARAMETER :: PREDEF_TYPES_LEN = 17 ! Do not forget to change this
68                                              ! value when new predefined
69                                              ! datatypes are added
70
71  ! Do not forget to change the following line when new predefined
72  ! floating data types are added
73  INTEGER, PARAMETER :: FLOATING_TYPES_LEN = 4
74
75  ! Do not forget to change the following line when new predefined
76  ! integer data types are added
77  INTEGER, PARAMETER :: INTEGER_TYPES_LEN = 27
78
79  INTEGER(HID_T) :: H5T_NATIVE_INTEGER_1, &
80       H5T_NATIVE_INTEGER_2, &
81       H5T_NATIVE_INTEGER_4, &
82       H5T_NATIVE_INTEGER_8, &
83       H5T_NATIVE_REAL_4, &
84       H5T_NATIVE_REAL_8, &
85       H5T_NATIVE_REAL_16, &
86       H5T_NATIVE_INTEGER, &
87       H5T_NATIVE_REAL, &
88       H5T_NATIVE_DOUBLE, &
89       H5T_NATIVE_CHARACTER , &
90       H5T_STD_REF_OBJ,      &
91       H5T_STD_REF_DSETREG, &
92       H5T_IEEE_F32BE,  &
93       H5T_IEEE_F32LE,  &
94       H5T_IEEE_F64BE,  &
95       H5T_IEEE_F64LE,  &
96       H5T_STD_I8BE,    &
97       H5T_STD_I8LE,    &
98       H5T_STD_I16BE,   &
99       H5T_STD_I16LE,   &
100       H5T_STD_I32BE,   &
101       H5T_STD_I32LE,   &
102       H5T_STD_I64BE,   &
103       H5T_STD_I64LE,   &
104       H5T_STD_U8BE,    &
105       H5T_STD_U8LE,    &
106       H5T_STD_U16BE,   &
107       H5T_STD_U16LE,   &
108       H5T_STD_U32BE
109
110! NOTE: Splitting the line since the Fortran 95 standard limits the number of
111!       continuation lines to 39; the F03/F08 standard limits the number
112!       to 255 lines.
113
114  INTEGER(HID_T) :: H5T_STD_U32LE,   &
115       H5T_STD_U64BE,   &
116       H5T_STD_U64LE,   &
117       H5T_STRING,      &
118       H5T_STD_B8BE,    &
119       H5T_STD_B8LE,    &
120       H5T_STD_B16BE,   &
121       H5T_STD_B16LE,   &
122       H5T_STD_B32BE,   &
123       H5T_STD_B32LE,   &
124       H5T_STD_B64BE,   &
125       H5T_STD_B64LE,   &
126       H5T_NATIVE_B8,   &
127       H5T_NATIVE_B16,  &
128       H5T_NATIVE_B32,  &
129       H5T_NATIVE_B64,  &
130       H5T_FORTRAN_S1,  &
131       H5T_C_S1
132
133
134  INTEGER(HID_T), DIMENSION(PREDEF_TYPES_LEN) :: predef_types
135  EQUIVALENCE (predef_types(1), H5T_NATIVE_INTEGER)
136  EQUIVALENCE (predef_types(2), H5T_NATIVE_REAL)
137  EQUIVALENCE (predef_types(3), H5T_NATIVE_DOUBLE)
138  EQUIVALENCE (predef_types(4), H5T_NATIVE_CHARACTER)
139  EQUIVALENCE (predef_types(5), H5T_STD_REF_OBJ)
140  EQUIVALENCE (predef_types(6), H5T_STD_REF_DSETREG)
141  EQUIVALENCE (predef_types(7), H5T_NATIVE_INTEGER_1)
142  EQUIVALENCE (predef_types(8), H5T_NATIVE_INTEGER_2)
143  EQUIVALENCE (predef_types(9), H5T_NATIVE_INTEGER_4)
144  EQUIVALENCE (predef_types(10), H5T_NATIVE_INTEGER_8)
145  EQUIVALENCE (predef_types(11), H5T_NATIVE_REAL_4)
146  EQUIVALENCE (predef_types(12), H5T_NATIVE_REAL_8)
147  EQUIVALENCE (predef_types(13), H5T_NATIVE_REAL_16)
148  EQUIVALENCE (predef_types(14), H5T_NATIVE_B8 )
149  EQUIVALENCE (predef_types(15), H5T_NATIVE_B16)
150  EQUIVALENCE (predef_types(16), H5T_NATIVE_B32)
151  EQUIVALENCE (predef_types(17), H5T_NATIVE_B64)
152
153  INTEGER(HID_T), DIMENSION(FLOATING_TYPES_LEN) :: floating_types
154  EQUIVALENCE (floating_types(1), H5T_IEEE_F32BE )
155  EQUIVALENCE (floating_types(2), H5T_IEEE_F32LE)
156  EQUIVALENCE (floating_types(3), H5T_IEEE_F64BE)
157  EQUIVALENCE (floating_types(4), H5T_IEEE_F64LE)
158
159  INTEGER(HID_T), DIMENSION(INTEGER_TYPES_LEN) :: integer_types
160  EQUIVALENCE (integer_types(1), H5T_STD_I8BE )
161  EQUIVALENCE (integer_types(2), H5T_STD_I8LE)
162  EQUIVALENCE (integer_types(3), H5T_STD_I16BE)
163  EQUIVALENCE (integer_types(4), H5T_STD_I16LE)
164  EQUIVALENCE (integer_types(5), H5T_STD_I32BE)
165  EQUIVALENCE (integer_types(6), H5T_STD_I32LE)
166  EQUIVALENCE (integer_types(7), H5T_STD_I64BE)
167  EQUIVALENCE (integer_types(8), H5T_STD_I64LE)
168  EQUIVALENCE (integer_types(9), H5T_STD_U8BE)
169  EQUIVALENCE (integer_types(10), H5T_STD_U8LE)
170  EQUIVALENCE (integer_types(11), H5T_STD_U16BE)
171  EQUIVALENCE (integer_types(12), H5T_STD_U16LE)
172  EQUIVALENCE (integer_types(13), H5T_STD_U32BE)
173  EQUIVALENCE (integer_types(14), H5T_STD_U32LE)
174  EQUIVALENCE (integer_types(15), H5T_STD_U64BE)
175  EQUIVALENCE (integer_types(16), H5T_STD_U64LE)
176  EQUIVALENCE (integer_types(17), H5T_STRING)
177  EQUIVALENCE (integer_types(18), H5T_STD_B8BE)
178  EQUIVALENCE (integer_types(19), H5T_STD_B8LE)
179  EQUIVALENCE (integer_types(20), H5T_STD_B16BE)
180  EQUIVALENCE (integer_types(21), H5T_STD_B16LE)
181  EQUIVALENCE (integer_types(22), H5T_STD_B32BE)
182  EQUIVALENCE (integer_types(23), H5T_STD_B32LE)
183  EQUIVALENCE (integer_types(24), H5T_STD_B64BE)
184  EQUIVALENCE (integer_types(25), H5T_STD_B64LE)
185  EQUIVALENCE (integer_types(26), H5T_FORTRAN_S1)
186  EQUIVALENCE (integer_types(27), H5T_C_S1)
187
188
189  !      COMMON /PREDEFINED_TYPES/ H5T_NATIVE_INTEGER, &
190  !                                H5T_NATIVE_REAL, &
191  !                                H5T_NATIVE_DOUBLE, &
192  !                                H5T_NATIVE_CHARACTER, &
193  !                                H5T_STD_REF_OBJ, &
194  !                                H5T_STD_REF_DSETREG
195  !DEC$if defined(BUILD_HDF5_DLL)
196  !DEC$ATTRIBUTES DLLEXPORT :: /PREDEFINED_TYPES/
197  !DEC$endif
198  COMMON /PREDEFINED_TYPES/  predef_types
199
200  !      COMMON /FLOATING_TYPES/ H5T_IEEE_F32BE,  &
201  !                              H5T_IEEE_F32LE,  &
202  !                              H5T_IEEE_F64BE,  &
203  !                              H5T_IEEE_F64LE
204  !DEC$if defined(BUILD_HDF5_DLL)
205  !DEC$ATTRIBUTES DLLEXPORT :: /FLOATING_TYPES/
206  !DEC$endif
207  COMMON /FLOATING_TYPES/ floating_types
208  !
209  !      COMMON /INTEGER_TYPES/ H5T_STD_I8BE,  &
210  !                             H5T_STD_I8LE,    &
211  !                             H5T_STD_I16BE,   &
212  !                             H5T_STD_I16LE,   &
213  !                             H5T_STD_I32BE,   &
214  !                             H5T_STD_I32LE,   &
215  !                             H5T_STD_I64BE,   &
216  !                             H5T_STD_I64LE,   &
217  !                             H5T_STD_U8BE,    &
218  !                             H5T_STD_U8LE,    &
219  !                             H5T_STD_U16BE,   &
220  !                             H5T_STD_U16LE,   &
221  !                             H5T_STD_U32BE,   &
222  !                             H5T_STD_U32LE,   &
223  !                             H5T_STD_U64BE,   &
224  !                             H5T_STD_U64LE
225  !DEC$if defined(BUILD_HDF5_DLL)
226  !DEC$ATTRIBUTES DLLEXPORT :: /INTEGER_TYPES/
227  !DEC$endif
228  COMMON /INTEGER_TYPES/ integer_types
229  !
230  ! Fortran flags
231  !
232  !
233  ! H5F flags (DO NOT FORGET TO UPDATE WHEN NEW FLAGS ARE ADDED !)
234  !
235  ! H5F_ACC_DEBUG_F has no effect as of HDF5 1.8.16
236  !
237  ! H5F flags declaration
238  !
239  INTEGER, PARAMETER :: H5F_FLAGS_LEN = 19
240  INTEGER :: H5F_flags(H5F_FLAGS_LEN)
241  !DEC$if defined(BUILD_HDF5_DLL)
242  !DEC$ATTRIBUTES DLLEXPORT :: /H5F_FLAGS/
243  !DEC$endif
244  COMMON /H5F_FLAGS/ H5F_flags
245
246  INTEGER :: H5F_ACC_RDWR_F
247  INTEGER :: H5F_ACC_RDONLY_F
248  INTEGER :: H5F_ACC_TRUNC_F
249  INTEGER :: H5F_ACC_EXCL_F
250  INTEGER :: H5F_ACC_DEBUG_F
251  INTEGER :: H5F_SCOPE_LOCAL_F
252  INTEGER :: H5F_SCOPE_GLOBAL_F
253  INTEGER :: H5F_CLOSE_DEFAULT_F
254  INTEGER :: H5F_CLOSE_WEAK_F
255  INTEGER :: H5F_CLOSE_SEMI_F
256  INTEGER :: H5F_CLOSE_STRONG_F
257  INTEGER :: H5F_OBJ_FILE_F
258  INTEGER :: H5F_OBJ_DATASET_F
259  INTEGER :: H5F_OBJ_GROUP_F
260  INTEGER :: H5F_OBJ_DATATYPE_F
261  INTEGER :: H5F_OBJ_ALL_F
262  INTEGER :: H5F_LIBVER_EARLIEST_F
263  INTEGER :: H5F_LIBVER_LATEST_F
264  INTEGER :: H5F_UNLIMITED_F
265
266  EQUIVALENCE(H5F_flags(1), H5F_ACC_RDWR_F)
267  EQUIVALENCE(H5F_flags(2), H5F_ACC_RDONLY_F)
268  EQUIVALENCE(H5F_flags(3), H5F_ACC_TRUNC_F)
269  EQUIVALENCE(H5F_flags(4), H5F_ACC_EXCL_F)
270  EQUIVALENCE(H5F_flags(5), H5F_ACC_DEBUG_F)
271  EQUIVALENCE(H5F_flags(6), H5F_SCOPE_LOCAL_F)
272  EQUIVALENCE(H5F_flags(7), H5F_SCOPE_GLOBAL_F)
273  EQUIVALENCE(H5F_flags(8), H5F_CLOSE_DEFAULT_F)
274  EQUIVALENCE(H5F_flags(9), H5F_CLOSE_WEAK_F)
275  EQUIVALENCE(H5F_flags(10), H5F_CLOSE_SEMI_F)
276  EQUIVALENCE(H5F_flags(11), H5F_CLOSE_STRONG_F)
277  EQUIVALENCE(H5F_flags(12), H5F_OBJ_FILE_F)
278  EQUIVALENCE(H5F_flags(13), H5F_OBJ_DATASET_F)
279  EQUIVALENCE(H5F_flags(14), H5F_OBJ_GROUP_F)
280  EQUIVALENCE(H5F_flags(15), H5F_OBJ_DATATYPE_F)
281  EQUIVALENCE(H5F_flags(16), H5F_OBJ_ALL_F)
282  EQUIVALENCE(H5F_flags(17), H5F_LIBVER_EARLIEST_F)
283  EQUIVALENCE(H5F_flags(18), H5F_LIBVER_LATEST_F)
284  EQUIVALENCE(H5F_flags(19), H5F_UNLIMITED_F)
285  !
286  ! H5generic flags declaration
287  !
288  INTEGER, PARAMETER :: H5generic_FLAGS_LEN = 9
289  INTEGER :: H5generic_flags(H5generic_FLAGS_LEN)
290  !DEC$if defined(BUILD_HDF5_DLL)
291  !DEC$ATTRIBUTES DLLEXPORT :: /H5generic_FLAGS/
292  !DEC$endif
293  COMMON /H5generic_FLAGS/ H5generic_flags
294
295  INTEGER :: H5_INDEX_UNKNOWN_F
296  INTEGER :: H5_INDEX_NAME_F
297  INTEGER :: H5_INDEX_CRT_ORDER_F
298  INTEGER :: H5_INDEX_N_F
299  INTEGER :: H5_ITER_UNKNOWN_F
300  INTEGER :: H5_ITER_INC_F
301  INTEGER :: H5_ITER_DEC_F
302  INTEGER :: H5_ITER_NATIVE_F
303  INTEGER :: H5_ITER_N_F
304
305  EQUIVALENCE(H5generic_flags(1), H5_INDEX_UNKNOWN_F)
306  EQUIVALENCE(H5generic_flags(2), H5_INDEX_NAME_F)
307  EQUIVALENCE(H5generic_flags(3), H5_INDEX_CRT_ORDER_F)
308  EQUIVALENCE(H5generic_flags(4), H5_INDEX_N_F)
309  EQUIVALENCE(H5generic_flags(5), H5_ITER_UNKNOWN_F)
310  EQUIVALENCE(H5generic_flags(6), H5_ITER_INC_F)
311  EQUIVALENCE(H5generic_flags(7), H5_ITER_DEC_F)
312  EQUIVALENCE(H5generic_flags(8), H5_ITER_NATIVE_F)
313  EQUIVALENCE(H5generic_flags(9), H5_ITER_N_F)
314  !
315  ! H5G flags declaration
316  !
317  INTEGER, PARAMETER :: H5G_FLAGS_LEN = 12
318  INTEGER :: H5G_flags(H5G_FLAGS_LEN)
319  !DEC$if defined(BUILD_HDF5_DLL)
320  !DEC$ATTRIBUTES DLLEXPORT :: /H5G_FLAGS/
321  !DEC$endif
322  COMMON /H5G_FLAGS/ H5G_flags
323
324  INTEGER :: H5G_UNKNOWN_F
325  INTEGER :: H5G_GROUP_F
326  INTEGER :: H5G_DATASET_F
327  INTEGER :: H5G_TYPE_F
328  INTEGER :: H5G_LINK_F
329  INTEGER :: H5G_UDLINK_F
330  INTEGER :: H5G_SAME_LOC_F
331  INTEGER :: H5G_LINK_ERROR_F
332  INTEGER :: H5G_LINK_HARD_F
333  INTEGER :: H5G_LINK_SOFT_F
334  INTEGER :: H5G_STORAGE_TYPE_UNKNOWN_F
335  INTEGER :: H5G_STORAGE_TYPE_SYMBOL_TABLE_F
336  INTEGER :: H5G_STORAGE_TYPE_COMPACT_F
337  INTEGER :: H5G_STORAGE_TYPE_DENSE_F
338
339  EQUIVALENCE(H5G_flags(1), H5G_UNKNOWN_F) ! Unknown object type
340  EQUIVALENCE(H5G_flags(2), H5G_GROUP_F)   ! Object is a group
341  EQUIVALENCE(H5G_flags(3), H5G_DATASET_F) ! Object is a dataset
342  EQUIVALENCE(H5G_flags(4), H5G_TYPE_F)    ! Object is a named data type
343  EQUIVALENCE(H5G_flags(5), H5G_SAME_LOC_F)
344  EQUIVALENCE(H5G_flags(6), H5G_LINK_ERROR_F)
345  EQUIVALENCE(H5G_flags(7), H5G_LINK_HARD_F)
346  EQUIVALENCE(H5G_flags(8), H5G_LINK_SOFT_F)
347
348  EQUIVALENCE(H5G_flags(9), H5G_STORAGE_TYPE_UNKNOWN_F )
349  EQUIVALENCE(H5G_flags(10), H5G_STORAGE_TYPE_SYMBOL_TABLE_F)
350  EQUIVALENCE(H5G_flags(11), H5G_STORAGE_TYPE_COMPACT_F)
351  EQUIVALENCE(H5G_flags(12), H5G_STORAGE_TYPE_DENSE_F)
352  !
353  ! H5D flags declaration
354  !
355
356  INTEGER, PARAMETER :: H5D_FLAGS_LEN = 25
357  INTEGER :: H5D_flags(H5D_FLAGS_LEN)
358  INTEGER, PARAMETER :: H5D_SIZE_FLAGS_LEN = 2
359  INTEGER(SIZE_T) :: H5D_size_flags(H5D_SIZE_FLAGS_LEN)
360  !DEC$if defined(BUILD_HDF5_DLL)
361  !DEC$ATTRIBUTES DLLEXPORT :: /H5D_FLAGS/
362  !DEC$ATTRIBUTES DLLEXPORT :: /H5D_SIZE_FLAGS/
363  !DEC$endif
364  COMMON /H5D_FLAGS/ H5D_flags
365  COMMON /H5D_SIZE_FLAGS/ H5D_size_flags
366
367  INTEGER :: H5D_COMPACT_F
368  INTEGER :: H5D_CONTIGUOUS_F
369  INTEGER :: H5D_CHUNKED_F
370
371  INTEGER :: H5D_ALLOC_TIME_ERROR_F
372  INTEGER :: H5D_ALLOC_TIME_DEFAULT_F
373  INTEGER :: H5D_ALLOC_TIME_EARLY_F
374  INTEGER :: H5D_ALLOC_TIME_LATE_F
375  INTEGER :: H5D_ALLOC_TIME_INCR_F
376
377  INTEGER :: H5D_SPACE_STS_ERROR_F
378  INTEGER :: H5D_SPACE_STS_NOT_ALLOCATED_F
379  INTEGER :: H5D_SPACE_STS_PART_ALLOCATED_F
380  INTEGER :: H5D_SPACE_STS_ALLOCATED_F
381
382  INTEGER :: H5D_FILL_TIME_ERROR_F
383  INTEGER :: H5D_FILL_TIME_ALLOC_F
384  INTEGER :: H5D_FILL_TIME_NEVER_F
385
386  INTEGER :: H5D_FILL_VALUE_ERROR_F
387  INTEGER :: H5D_FILL_VALUE_UNDEFINED_F
388  INTEGER :: H5D_FILL_VALUE_DEFAULT_F
389  INTEGER :: H5D_FILL_VALUE_USER_DEFINED_F
390
391! shortened "_DEFAULT" to "_DFLT" to satisfy the limit of 31
392! characters for variable names in Fortran.
393! shortened "_CONTIGUOUS" to "_CONTIG" to satisfy the limit of 31
394! characters for variable names in Fortran.
395
396  INTEGER(SIZE_T) :: H5D_CHUNK_CACHE_NSLOTS_DFLT_F
397  INTEGER(SIZE_T) :: H5D_CHUNK_CACHE_NBYTES_DFLT_F
398  INTEGER :: H5D_CHUNK_CACHE_W0_DFLT_F
399  INTEGER :: H5D_MPIO_NO_COLLECTIVE_F
400  INTEGER :: H5D_MPIO_CHUNK_INDEPENDENT_F
401  INTEGER :: H5D_MPIO_CHUNK_COLLECTIVE_F
402  INTEGER :: H5D_MPIO_CHUNK_MIXED_F
403  INTEGER :: H5D_MPIO_CONTIG_COLLECTIVE_F
404
405  EQUIVALENCE(H5D_flags(1), H5D_COMPACT_F)
406  EQUIVALENCE(H5D_flags(2), H5D_CONTIGUOUS_F)
407  EQUIVALENCE(H5D_flags(3), H5D_CHUNKED_F)
408
409  EQUIVALENCE(H5D_flags(4), H5D_ALLOC_TIME_ERROR_F)
410  EQUIVALENCE(H5D_flags(5), H5D_ALLOC_TIME_DEFAULT_F)
411  EQUIVALENCE(H5D_flags(6), H5D_ALLOC_TIME_EARLY_F)
412  EQUIVALENCE(H5D_flags(7), H5D_ALLOC_TIME_LATE_F)
413  EQUIVALENCE(H5D_flags(8), H5D_ALLOC_TIME_INCR_F)
414
415  EQUIVALENCE(H5D_flags(9), H5D_SPACE_STS_ERROR_F)
416  EQUIVALENCE(H5D_flags(10), H5D_SPACE_STS_NOT_ALLOCATED_F)
417  EQUIVALENCE(H5D_flags(11), H5D_SPACE_STS_PART_ALLOCATED_F)
418  EQUIVALENCE(H5D_flags(12), H5D_SPACE_STS_ALLOCATED_F)
419
420  EQUIVALENCE(H5D_flags(13), H5D_FILL_TIME_ERROR_F)
421  EQUIVALENCE(H5D_flags(14), H5D_FILL_TIME_ALLOC_F)
422  EQUIVALENCE(H5D_flags(15), H5D_FILL_TIME_NEVER_F)
423
424  EQUIVALENCE(H5D_flags(16), H5D_FILL_VALUE_ERROR_F)
425  EQUIVALENCE(H5D_flags(17), H5D_FILL_VALUE_UNDEFINED_F)
426  EQUIVALENCE(H5D_flags(18), H5D_FILL_VALUE_DEFAULT_F)
427  EQUIVALENCE(H5D_flags(19), H5D_FILL_VALUE_USER_DEFINED_F)
428
429  EQUIVALENCE(H5D_flags(20), H5D_CHUNK_CACHE_W0_DFLT_F)
430  EQUIVALENCE(H5D_flags(21), H5D_MPIO_NO_COLLECTIVE_F)
431  EQUIVALENCE(H5D_flags(22), H5D_MPIO_CHUNK_INDEPENDENT_F)
432  EQUIVALENCE(H5D_flags(23), H5D_MPIO_CHUNK_COLLECTIVE_F)
433  EQUIVALENCE(H5D_flags(24), H5D_MPIO_CHUNK_MIXED_F)
434  EQUIVALENCE(H5D_flags(25), H5D_MPIO_CONTIG_COLLECTIVE_F)
435
436  EQUIVALENCE(H5D_size_flags(1), H5D_CHUNK_CACHE_NSLOTS_DFLT_F)
437  EQUIVALENCE(H5D_size_flags(2), H5D_CHUNK_CACHE_NBYTES_DFLT_F)
438
439  !
440  ! H5E flags declaration
441  !
442  INTEGER, PARAMETER :: H5E_FLAGS_LEN = 4
443  INTEGER :: H5E_flags(H5E_FLAGS_LEN)
444  INTEGER, PARAMETER :: H5E_HID_FLAGS_LEN = 1
445  INTEGER(HID_T) :: H5E_hid_flags(H5E_HID_FLAGS_LEN)
446  !DEC$if defined(BUILD_HDF5_DLL)
447  !DEC$ATTRIBUTES DLLEXPORT :: /H5E_FLAGS/
448  !DEC$ATTRIBUTES DLLEXPORT :: /H5E_HID_FLAGS/
449  !DEC$endif
450  COMMON /H5E_FLAGS/ H5E_flags
451  COMMON /H5E_HID_FLAGS/ H5E_hid_flags
452
453  INTEGER(HID_T) :: H5E_DEFAULT_F
454  INTEGER :: H5E_MAJOR_F
455  INTEGER :: H5E_MINOR_F
456  INTEGER :: H5E_WALK_UPWARD_F
457  INTEGER :: H5E_WALK_DOWNWARD_F
458
459  EQUIVALENCE(H5E_hid_flags(1), H5E_DEFAULT_F)
460  EQUIVALENCE(H5E_flags(1)    , H5E_MAJOR_F)
461  EQUIVALENCE(H5E_flags(2)    , H5E_MINOR_F)
462  EQUIVALENCE(H5E_flags(3)    , H5E_WALK_UPWARD_F)
463  EQUIVALENCE(H5E_flags(4)    , H5E_WALK_DOWNWARD_F)
464
465  !
466  ! H5FD flags declaration
467  !
468  INTEGER, PARAMETER :: H5FD_FLAGS_LEN = 11
469  INTEGER :: H5FD_flags(H5FD_FLAGS_LEN)
470  !DEC$if defined(BUILD_HDF5_DLL)
471  !DEC$ATTRIBUTES DLLEXPORT :: /H5FD_FLAGS/
472  !DEC$endif
473  COMMON /H5FD_FLAGS/ H5FD_flags
474
475  INTEGER :: H5FD_MPIO_INDEPENDENT_F
476  INTEGER :: H5FD_MPIO_COLLECTIVE_F
477  INTEGER :: H5FD_MEM_NOLIST_F
478  INTEGER :: H5FD_MEM_DEFAULT_F
479  INTEGER :: H5FD_MEM_SUPER_F
480  INTEGER :: H5FD_MEM_BTREE_F
481  INTEGER :: H5FD_MEM_DRAW_F
482  INTEGER :: H5FD_MEM_GHEAP_F
483  INTEGER :: H5FD_MEM_LHEAP_F
484  INTEGER :: H5FD_MEM_OHDR_F
485  INTEGER :: H5FD_MEM_NTYPES_F
486
487  EQUIVALENCE(H5FD_flags(1), H5FD_MPIO_INDEPENDENT_F)
488  EQUIVALENCE(H5FD_flags(2), H5FD_MPIO_COLLECTIVE_F)
489  EQUIVALENCE(H5FD_flags(3), H5FD_MEM_NOLIST_F)
490  EQUIVALENCE(H5FD_flags(4), H5FD_MEM_DEFAULT_F)
491  EQUIVALENCE(H5FD_flags(5), H5FD_MEM_SUPER_F)
492  EQUIVALENCE(H5FD_flags(6), H5FD_MEM_BTREE_F)
493  EQUIVALENCE(H5FD_flags(7), H5FD_MEM_DRAW_F)
494  EQUIVALENCE(H5FD_flags(8), H5FD_MEM_GHEAP_F)
495  EQUIVALENCE(H5FD_flags(9), H5FD_MEM_LHEAP_F)
496  EQUIVALENCE(H5FD_flags(10), H5FD_MEM_OHDR_F)
497  EQUIVALENCE(H5FD_flags(11), H5FD_MEM_NTYPES_F)
498  !
499  ! H5FD file drivers flags declaration
500  !
501  INTEGER, PARAMETER :: H5FD_HID_FLAGS_LEN = 7
502  INTEGER(HID_T) :: H5FD_hid_flags(H5FD_HID_FLAGS_LEN)
503  !DEC$if defined(BUILD_HDF5_DLL)
504  !DEC$ATTRIBUTES DLLEXPORT :: /H5FD_HID_FLAGS/
505  !DEC$endif
506  COMMON /H5FD_HID_FLAGS/ H5FD_hid_flags
507
508  INTEGER(HID_T) :: H5FD_CORE_F
509  INTEGER(HID_T) :: H5FD_FAMILY_F
510  INTEGER(HID_T) :: H5FD_LOG_F
511  INTEGER(HID_T) :: H5FD_MPIO_F
512  INTEGER(HID_T) :: H5FD_MULTI_F
513  INTEGER(HID_T) :: H5FD_SEC2_F
514  INTEGER(HID_T) :: H5FD_STDIO_F
515
516  EQUIVALENCE(H5FD_hid_flags(1), H5FD_CORE_F)
517  EQUIVALENCE(H5FD_hid_flags(2), H5FD_FAMILY_F)
518  EQUIVALENCE(H5FD_hid_flags(3), H5FD_LOG_F)
519  EQUIVALENCE(H5FD_hid_flags(4), H5FD_MPIO_F)
520  EQUIVALENCE(H5FD_hid_flags(5), H5FD_MULTI_F)
521  EQUIVALENCE(H5FD_hid_flags(6), H5FD_SEC2_F)
522  EQUIVALENCE(H5FD_hid_flags(7), H5FD_STDIO_F)
523
524  !
525  ! H5I flags declaration
526  !
527  INTEGER, PARAMETER :: H5I_FLAGS_LEN = 7
528  INTEGER :: H5I_flags(H5I_FLAGS_LEN)
529  !DEC$if defined(BUILD_HDF5_DLL)
530  !DEC$ATTRIBUTES DLLEXPORT :: /H5I_FLAGS/
531  !DEC$endif
532  COMMON /H5I_FLAGS/ H5I_flags
533
534  INTEGER ::  H5I_FILE_F
535  INTEGER ::  H5I_GROUP_F
536  INTEGER ::  H5I_DATATYPE_F
537  INTEGER ::  H5I_DATASPACE_F
538  INTEGER ::  H5I_DATASET_F
539  INTEGER ::  H5I_ATTR_F
540  INTEGER ::  H5I_BADID_F
541
542  EQUIVALENCE(H5I_flags(1), H5I_FILE_F)
543  EQUIVALENCE(H5I_flags(2), H5I_GROUP_F)
544  EQUIVALENCE(H5I_flags(3), H5I_DATATYPE_F)
545  EQUIVALENCE(H5I_flags(4), H5I_DATASPACE_F)
546  EQUIVALENCE(H5I_flags(5), H5I_DATASET_F)
547  EQUIVALENCE(H5I_flags(6), H5I_ATTR_F)
548  EQUIVALENCE(H5I_flags(7), H5I_BADID_F)
549  !
550  ! H5L flags declaration
551  !
552  INTEGER, PARAMETER :: H5L_FLAGS_LEN = 6
553  INTEGER :: H5L_flags(H5L_FLAGS_LEN)
554
555  INTEGER :: H5L_TYPE_ERROR_F
556  INTEGER :: H5L_TYPE_HARD_F
557  INTEGER :: H5L_TYPE_SOFT_F
558  INTEGER :: H5L_TYPE_EXTERNAL_F
559  INTEGER :: H5L_SAME_LOC_F
560  INTEGER :: H5L_LINK_CLASS_T_VERS_F
561
562  !DEC$if defined(BUILD_HDF5_DLL)
563  !DEC$ATTRIBUTES DLLEXPORT :: /H5L_FLAGS/
564  !DEC$endif
565  COMMON /H5L_FLAGS/ H5L_flags
566
567  EQUIVALENCE(H5L_flags(1), H5L_TYPE_ERROR_F)
568  EQUIVALENCE(H5L_flags(2), H5L_TYPE_HARD_F)
569  EQUIVALENCE(H5L_flags(3), H5L_TYPE_SOFT_F)
570  EQUIVALENCE(H5L_flags(4), H5L_TYPE_EXTERNAL_F)
571  EQUIVALENCE(H5L_flags(5), H5L_SAME_LOC_F)
572  EQUIVALENCE(H5L_flags(6), H5L_LINK_CLASS_T_VERS_F)
573  !
574  ! H5O flags declaration
575  !
576  INTEGER, PARAMETER :: H5O_FLAGS_LEN = 27
577  INTEGER :: H5o_flags(H5O_FLAGS_LEN)
578  !DEC$if defined(BUILD_HDF5_DLL)
579  !DEC$ATTRIBUTES DLLEXPORT :: /H5O_FLAGS/
580  !DEC$endif
581  COMMON /H5O_FLAGS/ H5O_flags
582
583  INTEGER :: H5O_COPY_SHALLOW_HIERARCHY_F ! *** THESE VARIABLES DO
584  INTEGER :: H5O_COPY_EXPAND_SOFT_LINK_F  ! NOT MATCH THE C VARIABLE
585  INTEGER :: H5O_COPY_EXPAND_EXT_LINK_F   ! IN ORDER
586  INTEGER :: H5O_COPY_EXPAND_REFERENCE_F  ! TO STAY UNDER THE
587  INTEGER :: H5O_COPY_WITHOUT_ATTR_FLAG_F
588  INTEGER :: H5O_COPY_PRESERVE_NULL_FLAG_F
589  INTEGER :: H5O_COPY_ALL_F
590  INTEGER :: H5O_SHMESG_NONE_FLAG_F
591  INTEGER :: H5O_SHMESG_SDSPACE_FLAG_F
592  INTEGER :: H5O_SHMESG_DTYPE_FLAG_F
593  INTEGER :: H5O_SHMESG_FILL_FLAG_F
594  INTEGER :: H5O_SHMESG_PLINE_FLAG_F
595  INTEGER :: H5O_SHMESG_ATTR_FLAG_F
596  INTEGER :: H5O_SHMESG_ALL_FLAG_F
597  INTEGER :: H5O_HDR_CHUNK0_SIZE_F
598  INTEGER :: H5O_HDR_ATTR_CRT_ORDER_TRACK_F ! 32 CHARACTER
599  INTEGER :: H5O_HDR_ATTR_CRT_ORDER_INDEX_F ! VARIABLE
600  INTEGER :: H5O_HDR_ATTR_STORE_PHASE_CHA_F ! LENGTH ***
601  INTEGER :: H5O_HDR_STORE_TIMES_F
602  INTEGER :: H5O_HDR_ALL_FLAGS_F
603  INTEGER :: H5O_SHMESG_MAX_NINDEXES_F
604  INTEGER :: H5O_SHMESG_MAX_LIST_SIZE_F
605  INTEGER :: H5O_TYPE_UNKNOWN_F
606  INTEGER :: H5O_TYPE_GROUP_F
607  INTEGER :: H5O_TYPE_DATASET_F
608  INTEGER :: H5O_TYPE_NAMED_DATATYPE_F
609  INTEGER :: H5O_TYPE_NTYPES_F
610
611  EQUIVALENCE(h5o_flags(1) , H5O_COPY_SHALLOW_HIERARCHY_F)
612  EQUIVALENCE(h5o_flags(2) , H5O_COPY_EXPAND_SOFT_LINK_F)
613  EQUIVALENCE(h5o_flags(3) , H5O_COPY_EXPAND_EXT_LINK_F)
614  EQUIVALENCE(h5o_flags(4) , H5O_COPY_EXPAND_REFERENCE_F)
615  EQUIVALENCE(h5o_flags(5) , H5O_COPY_WITHOUT_ATTR_FLAG_F)
616  EQUIVALENCE(h5o_flags(6) , H5O_COPY_PRESERVE_NULL_FLAG_F)
617  EQUIVALENCE(h5o_flags(7) , H5O_COPY_ALL_F)
618  EQUIVALENCE(h5o_flags(8) , H5O_SHMESG_NONE_FLAG_F)
619  EQUIVALENCE(h5o_flags(9) , H5O_SHMESG_SDSPACE_FLAG_F)
620  EQUIVALENCE(h5o_flags(10) , H5O_SHMESG_DTYPE_FLAG_F)
621  EQUIVALENCE(h5o_flags(11) , H5O_SHMESG_FILL_FLAG_F)
622  EQUIVALENCE(h5o_flags(12) , H5O_SHMESG_PLINE_FLAG_F)
623  EQUIVALENCE(h5o_flags(13) , H5O_SHMESG_ATTR_FLAG_F)
624  EQUIVALENCE(h5o_flags(14) , H5O_SHMESG_ALL_FLAG_F)
625  EQUIVALENCE(h5o_flags(15) , H5O_HDR_CHUNK0_SIZE_F)
626  EQUIVALENCE(h5o_flags(16) , H5O_HDR_ATTR_CRT_ORDER_TRACK_F)
627  EQUIVALENCE(h5o_flags(17) , H5O_HDR_ATTR_CRT_ORDER_INDEX_F)
628  EQUIVALENCE(h5o_flags(18) , H5O_HDR_ATTR_STORE_PHASE_CHA_F)
629  EQUIVALENCE(h5o_flags(19) , H5O_HDR_STORE_TIMES_F)
630  EQUIVALENCE(h5o_flags(20) , H5O_HDR_ALL_FLAGS_F)
631  EQUIVALENCE(h5o_flags(21) , H5O_SHMESG_MAX_NINDEXES_F)
632  EQUIVALENCE(h5o_flags(22) , H5O_SHMESG_MAX_LIST_SIZE_F)
633  EQUIVALENCE(h5o_flags(23) , H5O_TYPE_UNKNOWN_F)
634  EQUIVALENCE(h5o_flags(24) , H5O_TYPE_GROUP_F)
635  EQUIVALENCE(h5o_flags(25) , H5O_TYPE_DATASET_F)
636  EQUIVALENCE(h5o_flags(26) , H5O_TYPE_NAMED_DATATYPE_F)
637  EQUIVALENCE(h5o_flags(27) , H5O_TYPE_NTYPES_F)
638
639  !
640  ! H5P flags declaration
641  !
642  INTEGER, PARAMETER :: H5P_FLAGS_LEN = 18
643  INTEGER(HID_T) H5P_flags(H5P_FLAGS_LEN)
644  !DEC$if defined(BUILD_HDF5_DLL)
645  !DEC$ATTRIBUTES DLLEXPORT :: /H5P_FLAGS/
646  !DEC$endif
647  COMMON /H5P_FLAGS/ H5P_flags
648
649  INTEGER(HID_T) :: H5P_FILE_CREATE_F
650  INTEGER(HID_T) :: H5P_FILE_ACCESS_F
651  INTEGER(HID_T) :: H5P_DATASET_CREATE_F
652  INTEGER(HID_T) :: H5P_DATASET_XFER_F
653  INTEGER(HID_T) :: H5P_FILE_MOUNT_F
654  INTEGER(HID_T) :: H5P_DEFAULT_F
655  INTEGER(HID_T) :: H5P_ROOT_F
656  INTEGER(HID_T) :: H5P_OBJECT_CREATE_F
657  INTEGER(HID_T) :: H5P_DATASET_ACCESS_F
658  INTEGER(HID_T) :: H5P_GROUP_CREATE_F
659  INTEGER(HID_T) :: H5P_GROUP_ACCESS_F
660  INTEGER(HID_T) :: H5P_DATATYPE_CREATE_F
661  INTEGER(HID_T) :: H5P_DATATYPE_ACCESS_F
662  INTEGER(HID_T) :: H5P_STRING_CREATE_F
663  INTEGER(HID_T) :: H5P_ATTRIBUTE_CREATE_F
664  INTEGER(HID_T) :: H5P_OBJECT_COPY_F
665  INTEGER(HID_T) :: H5P_LINK_CREATE_F
666  INTEGER(HID_T) :: H5P_LINK_ACCESS_F
667
668  EQUIVALENCE(H5P_flags(1), H5P_FILE_CREATE_F)
669  EQUIVALENCE(H5P_flags(2), H5P_FILE_ACCESS_F)
670  EQUIVALENCE(H5P_flags(3), H5P_DATASET_CREATE_F)
671  EQUIVALENCE(H5P_flags(4), H5P_DATASET_XFER_F)
672  EQUIVALENCE(H5P_flags(5), H5P_FILE_MOUNT_F)
673  EQUIVALENCE(H5P_flags(6), H5P_DEFAULT_F)
674  EQUIVALENCE(H5P_flags(7), H5P_ROOT_F)
675  EQUIVALENCE(H5P_flags(8), H5P_OBJECT_CREATE_F)
676  EQUIVALENCE(H5P_flags(9), H5P_DATASET_ACCESS_F)
677  EQUIVALENCE(H5P_flags(10), H5P_GROUP_CREATE_F)
678  EQUIVALENCE(H5P_flags(11), H5P_GROUP_ACCESS_F)
679  EQUIVALENCE(H5P_flags(12), H5P_DATATYPE_CREATE_F)
680  EQUIVALENCE(H5P_flags(13), H5P_DATATYPE_ACCESS_F)
681  EQUIVALENCE(H5P_flags(14), H5P_STRING_CREATE_F)
682  EQUIVALENCE(H5P_flags(15), H5P_ATTRIBUTE_CREATE_F)
683  EQUIVALENCE(H5P_flags(16), H5P_OBJECT_COPY_F)
684  EQUIVALENCE(H5P_flags(17), H5P_LINK_CREATE_F)
685  EQUIVALENCE(H5P_flags(18), H5P_LINK_ACCESS_F)
686
687  !
688  ! H5P integers flags declaration
689  !
690  INTEGER, PARAMETER :: H5P_FLAGS_INT_LEN = 2
691  INTEGER :: H5P_flags_int(H5P_FLAGS_INT_LEN)
692  !DEC$if defined(BUILD_HDF5_DLL)
693  !DEC$ATTRIBUTES DLLEXPORT :: /H5P_FLAGS_INT/
694  !DEC$endif
695  COMMON /H5P_FLAGS_INT/ H5P_flags_int
696  INTEGER :: H5P_CRT_ORDER_INDEXED_F
697  INTEGER :: H5P_CRT_ORDER_TRACKED_F
698  EQUIVALENCE(H5P_flags_int(1), H5P_CRT_ORDER_INDEXED_F)
699  EQUIVALENCE(H5P_flags_int(2), H5P_CRT_ORDER_TRACKED_F)
700  !
701  ! H5R flags declaration
702  !
703  INTEGER, PARAMETER :: H5R_FLAGS_LEN = 2
704  INTEGER :: H5R_flags(H5R_FLAGS_LEN)
705  !DEC$if defined(BUILD_HDF5_DLL)
706  !DEC$ATTRIBUTES DLLEXPORT :: /H5R_FLAGS/
707  !DEC$endif
708  COMMON /H5R_FLAGS/ H5R_flags
709
710  INTEGER :: H5R_OBJECT_F
711  INTEGER :: H5R_DATASET_REGION_F
712
713  EQUIVALENCE(H5R_flags(1), H5R_OBJECT_F)
714  EQUIVALENCE(H5R_flags(2), H5R_DATASET_REGION_F)
715
716  !
717  ! H5S flags declaration
718  !
719  INTEGER, PARAMETER :: H5S_FLAGS_LEN = 19
720  INTEGER :: H5S_flags(H5S_FLAGS_LEN)
721  INTEGER, PARAMETER :: H5S_HSIZE_FLAGS_LEN = 1
722  INTEGER(HSIZE_T) H5S_hsize_flags(H5S_HSIZE_FLAGS_LEN)
723  !DEC$if defined(BUILD_HDF5_DLL)
724  !DEC$ATTRIBUTES DLLEXPORT :: /H5S_FLAGS/
725  !DEC$ATTRIBUTES DLLEXPORT :: /H5S_HSIZE_FLAGS/
726  !DEC$endif
727  COMMON /H5S_FLAGS/ H5S_flags
728  COMMON /H5S_HSIZE_FLAGS/ H5S_hsize_flags
729
730  INTEGER(HSIZE_T) :: H5S_UNLIMITED_F
731
732  INTEGER :: H5S_SCALAR_F
733  INTEGER :: H5S_SIMPLE_F
734  INTEGER :: H5S_NULL_F
735
736  INTEGER :: H5S_ALL_F
737
738  INTEGER :: H5S_SELECT_NOOP_F
739  INTEGER :: H5S_SELECT_SET_F
740  INTEGER :: H5S_SELECT_OR_F
741  INTEGER :: H5S_SELECT_AND_F
742  INTEGER :: H5S_SELECT_XOR_F
743  INTEGER :: H5S_SELECT_NOTB_F
744  INTEGER :: H5S_SELECT_NOTA_F
745  INTEGER :: H5S_SELECT_APPEND_F
746  INTEGER :: H5S_SELECT_PREPEND_F
747  INTEGER :: H5S_SELECT_INVALID_F
748
749  INTEGER :: H5S_SEL_ERROR_F
750  INTEGER :: H5S_SEL_NONE_F
751  INTEGER :: H5S_SEL_POINTS_F
752  INTEGER :: H5S_SEL_HYPERSLABS_F
753  INTEGER :: H5S_SEL_ALL_F
754
755  EQUIVALENCE(H5S_hsize_flags(1), H5S_UNLIMITED_F)
756  EQUIVALENCE(H5S_flags(1), H5S_SCALAR_F)
757  EQUIVALENCE(H5S_flags(2), H5S_SIMPLE_F)
758  EQUIVALENCE(H5S_flags(3), H5S_NULL_F)
759  EQUIVALENCE(H5S_flags(4), H5S_SELECT_SET_F)
760  EQUIVALENCE(H5S_flags(5), H5S_SELECT_OR_F)
761  EQUIVALENCE(H5S_flags(6), H5S_ALL_F)
762
763  EQUIVALENCE(H5S_flags(7), H5S_SELECT_NOOP_F)
764  EQUIVALENCE(H5S_flags(8), H5S_SELECT_AND_F)
765  EQUIVALENCE(H5S_flags(9), H5S_SELECT_XOR_F)
766  EQUIVALENCE(H5S_flags(10), H5S_SELECT_NOTB_F)
767  EQUIVALENCE(H5S_flags(11), H5S_SELECT_NOTA_F)
768  EQUIVALENCE(H5S_flags(12), H5S_SELECT_APPEND_F)
769  EQUIVALENCE(H5S_flags(13), H5S_SELECT_PREPEND_F)
770  EQUIVALENCE(H5S_flags(14), H5S_SELECT_INVALID_F)
771
772
773  EQUIVALENCE(H5S_flags(15), H5S_SEL_ERROR_F)
774  EQUIVALENCE(H5S_flags(16), H5S_SEL_NONE_F)
775  EQUIVALENCE(H5S_flags(17), H5S_SEL_POINTS_F)
776  EQUIVALENCE(H5S_flags(18), H5S_SEL_HYPERSLABS_F)
777  EQUIVALENCE(H5S_flags(19), H5S_SEL_ALL_F)
778
779  !
780  ! H5T flags declaration
781  !
782  INTEGER, PARAMETER :: H5T_FLAGS_LEN = 35
783  INTEGER :: H5T_flags(H5T_FLAGS_LEN)
784  !DEC$if defined(BUILD_HDF5_DLL)
785  !DEC$ATTRIBUTES DLLEXPORT :: /H5T_FLAGS/
786  !DEC$endif
787  COMMON /H5T_FLAGS/ H5T_flags
788
789  INTEGER :: H5T_NO_CLASS_F
790  INTEGER :: H5T_INTEGER_F
791  INTEGER :: H5T_FLOAT_F
792  INTEGER :: H5T_TIME_F
793  INTEGER :: H5T_STRING_F
794  INTEGER :: H5T_BITFIELD_F
795  INTEGER :: H5T_OPAQUE_F
796  INTEGER :: H5T_COMPOUND_F
797  INTEGER :: H5T_REFERENCE_F
798  INTEGER :: H5T_ENUM_F
799  INTEGER :: H5T_VLEN_F
800  INTEGER :: H5T_ARRAY_F
801  INTEGER :: H5T_ORDER_LE_F
802  INTEGER :: H5T_ORDER_BE_F
803  INTEGER :: H5T_ORDER_VAX_F
804  INTEGER :: H5T_ORDER_NONE_F
805  INTEGER :: H5T_ORDER_MIXED_F
806  INTEGER :: H5T_PAD_ZERO_F
807  INTEGER :: H5T_PAD_ONE_F
808  INTEGER :: H5T_PAD_BACKGROUND_F
809  INTEGER :: H5T_PAD_ERROR_F
810  INTEGER :: H5T_SGN_NONE_F
811  INTEGER :: H5T_SGN_2_F
812  INTEGER :: H5T_SGN_ERROR_F
813  INTEGER :: H5T_NORM_IMPLIED_F
814  INTEGER :: H5T_NORM_MSBSET_F
815  INTEGER :: H5T_NORM_NONE_F
816  INTEGER :: H5T_CSET_ASCII_F
817  INTEGER :: H5T_CSET_UTF8_F
818  INTEGER :: H5T_STR_NULLTERM_F
819  INTEGER :: H5T_STR_NULLPAD_F
820  INTEGER :: H5T_STR_SPACEPAD_F
821  INTEGER :: H5T_STR_ERROR_F
822  INTEGER :: H5T_DIR_ASCEND_F
823  INTEGER :: H5T_DIR_DESCEND_F
824
825  EQUIVALENCE(H5T_flags(1), H5T_NO_CLASS_F)
826  EQUIVALENCE(H5T_flags(2), H5T_INTEGER_F)
827  EQUIVALENCE(H5T_flags(3), H5T_FLOAT_F)
828  EQUIVALENCE(H5T_flags(4), H5T_TIME_F)
829  EQUIVALENCE(H5T_flags(5), H5T_STRING_F)
830  EQUIVALENCE(H5T_flags(6), H5T_BITFIELD_F)
831  EQUIVALENCE(H5T_flags(7), H5T_OPAQUE_F)
832  EQUIVALENCE(H5T_flags(8), H5T_COMPOUND_F)
833  EQUIVALENCE(H5T_flags(9), H5T_REFERENCE_F)
834  EQUIVALENCE(H5T_flags(10), H5T_ENUM_F)
835  EQUIVALENCE(H5T_flags(11), H5T_ORDER_LE_F)
836  EQUIVALENCE(H5T_flags(12), H5T_ORDER_BE_F)
837  EQUIVALENCE(H5T_flags(13), H5T_ORDER_MIXED_F)
838  EQUIVALENCE(H5T_flags(14), H5T_ORDER_VAX_F)
839  EQUIVALENCE(H5T_flags(15), H5T_ORDER_NONE_F)
840  EQUIVALENCE(H5T_flags(16), H5T_PAD_ZERO_F)
841  EQUIVALENCE(H5T_flags(17), H5T_PAD_ONE_F)
842  EQUIVALENCE(H5T_flags(18), H5T_PAD_BACKGROUND_F)
843  EQUIVALENCE(H5T_flags(19), H5T_PAD_ERROR_F)
844  EQUIVALENCE(H5T_flags(20), H5T_SGN_NONE_F)
845  EQUIVALENCE(H5T_flags(21), H5T_SGN_2_F)
846  EQUIVALENCE(H5T_flags(22), H5T_SGN_ERROR_F)
847  EQUIVALENCE(H5T_flags(23), H5T_NORM_IMPLIED_F)
848  EQUIVALENCE(H5T_flags(24), H5T_NORM_MSBSET_F)
849  EQUIVALENCE(H5T_flags(25), H5T_NORM_NONE_F)
850  EQUIVALENCE(H5T_flags(26), H5T_CSET_ASCII_F)
851  EQUIVALENCE(H5T_flags(27), H5T_CSET_UTF8_F)
852  EQUIVALENCE(H5T_flags(28), H5T_STR_NULLTERM_F)
853  EQUIVALENCE(H5T_flags(29), H5T_STR_NULLPAD_F)
854  EQUIVALENCE(H5T_flags(30), H5T_STR_SPACEPAD_F)
855  EQUIVALENCE(H5T_flags(31), H5T_STR_ERROR_F)
856  EQUIVALENCE(H5T_flags(32), H5T_VLEN_F)
857  EQUIVALENCE(H5T_flags(33), H5T_ARRAY_F)
858  EQUIVALENCE(H5T_flags(34), H5T_DIR_ASCEND_F)
859  EQUIVALENCE(H5T_flags(35), H5T_DIR_DESCEND_F)
860  !
861  ! H5Z flags declaration
862  !
863  INTEGER, PARAMETER :: H5Z_FLAGS_LEN = 20
864  INTEGER :: H5Z_flags(H5Z_FLAGS_LEN)
865  !DEC$if defined(BUILD_HDF5_DLL)
866  !DEC$ATTRIBUTES DLLEXPORT :: /H5Z_FLAGS/
867  !DEC$endif
868  COMMON /H5Z_FLAGS/ H5Z_flags
869
870  INTEGER :: H5Z_FILTER_ERROR_F
871  INTEGER :: H5Z_FILTER_NONE_F
872  INTEGER :: H5Z_FILTER_ALL_F
873  INTEGER :: H5Z_FILTER_DEFLATE_F
874  INTEGER :: H5Z_FILTER_SHUFFLE_F
875  INTEGER :: H5Z_FILTER_FLETCHER32_F
876  INTEGER :: H5Z_FILTER_SZIP_F
877  INTEGER :: H5Z_ERROR_EDC_F
878  INTEGER :: H5Z_DISABLE_EDC_F
879  INTEGER :: H5Z_ENABLE_EDC_F
880  INTEGER :: H5Z_NO_EDC_F
881  INTEGER :: H5Z_FLAG_OPTIONAL_F
882  INTEGER :: H5Z_FILTER_ENCODE_ENABLED_F
883  INTEGER :: H5Z_FILTER_DECODE_ENABLED_F
884  INTEGER :: H5Z_FILTER_NBIT_F
885  INTEGER :: H5Z_FILTER_SCALEOFFSET_F
886  INTEGER :: H5Z_SO_FLOAT_DSCALE_F
887  INTEGER :: H5Z_SO_FLOAT_ESCALE_F
888  INTEGER :: H5Z_SO_INT_F
889  INTEGER :: H5Z_SO_INT_MINBITS_DEFAULT_F
890
891  EQUIVALENCE(H5Z_flags(1), H5Z_FILTER_ERROR_F)
892  EQUIVALENCE(H5Z_flags(2), H5Z_FILTER_NONE_F)
893  EQUIVALENCE(H5Z_flags(3), H5Z_FILTER_DEFLATE_F)
894  EQUIVALENCE(H5Z_flags(4), H5Z_FILTER_SHUFFLE_F)
895  EQUIVALENCE(H5Z_flags(5), H5Z_FILTER_FLETCHER32_F)
896  EQUIVALENCE(H5Z_flags(6), H5Z_ERROR_EDC_F)
897  EQUIVALENCE(H5Z_flags(7), H5Z_DISABLE_EDC_F)
898  EQUIVALENCE(H5Z_flags(8), H5Z_ENABLE_EDC_F)
899  EQUIVALENCE(H5Z_flags(9), H5Z_NO_EDC_F)
900  EQUIVALENCE(H5Z_flags(10), H5Z_FILTER_SZIP_F)
901  EQUIVALENCE(H5Z_flags(11), H5Z_FLAG_OPTIONAL_F)
902  EQUIVALENCE(H5Z_flags(12), H5Z_FILTER_ENCODE_ENABLED_F)
903  EQUIVALENCE(H5Z_flags(13), H5Z_FILTER_DECODE_ENABLED_F)
904  EQUIVALENCE(H5Z_flags(14), H5Z_FILTER_ALL_F)
905  EQUIVALENCE(H5Z_flags(15), H5Z_FILTER_NBIT_F)
906  EQUIVALENCE(H5Z_flags(16), H5Z_FILTER_SCALEOFFSET_F)
907  EQUIVALENCE(H5Z_flags(17), H5Z_SO_FLOAT_DSCALE_F)
908  EQUIVALENCE(H5Z_flags(18), H5Z_SO_FLOAT_ESCALE_F)
909  EQUIVALENCE(H5Z_flags(19), H5Z_SO_INT_F)
910  EQUIVALENCE(H5Z_flags(20), H5Z_SO_INT_MINBITS_DEFAULT_F)
911
912  !
913  ! H5 Library flags declaration
914  !
915  INTEGER, PARAMETER :: H5LIB_FLAGS_LEN =  2
916  INTEGER :: H5LIB_flags(H5LIB_FLAGS_LEN)
917  !DEC$if defined(BUILD_HDF5_DLL)
918  !DEC$ATTRIBUTES DLLEXPORT :: /H5LIB_FLAGS/
919  !DEC$endif
920  COMMON /H5LIB_FLAGS/ H5LIB_flags
921  INTEGER :: H5_SZIP_EC_OM_F
922  INTEGER :: H5_SZIP_NN_OM_F
923  !
924  EQUIVALENCE(H5LIB_flags(1), H5_SZIP_EC_OM_F)
925  EQUIVALENCE(H5LIB_flags(2), H5_SZIP_NN_OM_F)
926
927
928  ! General H5 flags declarations
929  !
930!!$      INTEGER, PARAMETER :: H5_FLAGS_LEN = 2
931!!$      INTEGER H5_flags(H5_FLAGS_LEN)
932!!$!DEC$if defined(BUILD_HDF5_DLL)
933!!$!DEC$ATTRIBUTES DLLEXPORT :: /H5_FLAGS/
934!!$!DEC$endif
935!!$      COMMON /H5_FLAGS/ H5_flags
936!!$
937!!$      INTEGER :: _F
938!!$      INTEGER :: H5F_SCOPE_LOCAL_F
939!!$
940!!$      EQUIVALENCE(H5F_flags(1), H5F_SCOPE_GLOBAL_F)
941!!$      EQUIVALENCE(H5F_flags(2), H5F_SCOPE_LOCAL_F)
942
943END MODULE H5GLOBAL
944
945