summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNeil Fortner <nfortne2@hdfgroup.org>2015-08-27 17:06:54 (GMT)
committerNeil Fortner <nfortne2@hdfgroup.org>2015-08-27 17:06:54 (GMT)
commitc365b9a59fb706f1943edf851586bb6f67688368 (patch)
tree2fbe7d176f9a36bc689a05b11451e8a59daf239b
parent3c5a088df0afced706a07c92df46494741a2c9ae (diff)
parenta9c28bac4e6822321c8a7a81784526201a2d6b09 (diff)
downloadhdf5-c365b9a59fb706f1943edf851586bb6f67688368.zip
hdf5-c365b9a59fb706f1943edf851586bb6f67688368.tar.gz
hdf5-c365b9a59fb706f1943edf851586bb6f67688368.tar.bz2
[svn-r27593] Merge revisions 27453 through 27592 from trunk to vds branch.
Tested: ummon
-rw-r--r--CMakeFilters.cmake22
-rw-r--r--CMakeInstallation.cmake8
-rw-r--r--CMakeLists.txt101
-rw-r--r--MANIFEST178
-rw-r--r--Makefile.in28
-rw-r--r--README.txt4
-rwxr-xr-xbin/chkcopyright43
-rwxr-xr-xbin/h5vers2
-rw-r--r--c++/CMakeLists.txt9
-rw-r--r--c++/Makefile.in28
-rw-r--r--c++/examples/CMakeLists.txt8
-rw-r--r--c++/examples/Makefile.in28
-rw-r--r--c++/src/CMakeLists.txt33
-rw-r--r--c++/src/H5IdComponent.cpp6
-rw-r--r--c++/src/Makefile.in32
-rw-r--r--c++/src/cpp_doc_config8
-rw-r--r--c++/src/footer.html24
-rw-r--r--c++/test/CMakeLists.txt4
-rw-r--r--c++/test/Makefile.in30
-rw-r--r--c++/test/tfile.cpp12
-rw-r--r--c++/test/tlinks.cpp61
-rw-r--r--config/cmake/ConfigureChecks.cmake11
-rw-r--r--config/cmake/H5pubconf.h.in30
-rw-r--r--config/cmake/HDF518_Examples.cmake.in3
-rw-r--r--config/cmake/HDF5UseFortran.cmake489
-rw-r--r--config/cmake/HDF5_Examples.cmake.in126
-rw-r--r--config/cmake/README.txt.cmake.in8
-rw-r--r--config/cmake/cacheinit.cmake6
-rw-r--r--config/cmake/hdf5-config.cmake.in52
-rw-r--r--config/cmake/libhdf5.settings.cmake.in5
-rw-r--r--config/cmake/mccacheinit.cmake2
-rw-r--r--config/cmake_ext_mod/CTestCustom.cmake16
-rw-r--r--config/cmake_ext_mod/CheckTypeSize.cmake50
-rw-r--r--config/cmake_ext_mod/ConfigureChecks.cmake756
-rw-r--r--config/cmake_ext_mod/FindMPI.cmake684
-rw-r--r--config/cmake_ext_mod/FindSZIP.cmake172
-rw-r--r--config/cmake_ext_mod/GetTimeOfDayTest.cpp15
-rw-r--r--config/cmake_ext_mod/HDFCXXTests.cpp56
-rw-r--r--config/cmake_ext_mod/HDFLibMacros.cmake270
-rw-r--r--config/cmake_ext_mod/HDFMacros.cmake277
-rw-r--r--config/cmake_ext_mod/HDFTests.c466
-rw-r--r--config/cmake_ext_mod/HDFUseFortran.cmake180
-rw-r--r--config/cmake_ext_mod/NSIS.InstallOptions.ini.in37
-rw-r--r--config/cmake_ext_mod/NSIS.template.in974
-rw-r--r--config/cmake_ext_mod/grepTest.cmake64
-rw-r--r--config/cmake_ext_mod/hdf.bmpbin0 -> 1254 bytes
-rw-r--r--config/cmake_ext_mod/hdf.icnsbin0 -> 326012 bytes
-rw-r--r--config/cmake_ext_mod/hdf.icobin0 -> 23558 bytes
-rw-r--r--config/cmake_ext_mod/prunTest.cmake145
-rw-r--r--config/cmake_ext_mod/runTest.cmake207
-rw-r--r--config/cmake_ext_mod/version.plist.in17
-rw-r--r--config/conclude_fc.am33
-rw-r--r--config/lt_vers.am2
-rwxr-xr-xconfigure4260
-rw-r--r--configure.ac287
-rw-r--r--examples/CMakeLists.txt22
-rw-r--r--examples/CMakeTests.cmake67
-rw-r--r--examples/Makefile.in28
-rw-r--r--fortran/Makefile.in28
-rw-r--r--fortran/doc/DevelGuide/masterindex.html589
-rw-r--r--fortran/doc/DevelGuide/robo_functions.html39
-rw-r--r--fortran/doc/DevelGuide/robo_modules.html117
-rw-r--r--fortran/doc/DevelGuide/robo_programs.html39
-rw-r--r--fortran/doc/DevelGuide/robo_sourcefiles.html309
-rw-r--r--fortran/doc/DevelGuide/robo_subroutines.html421
-rw-r--r--fortran/doc/DevelGuide/robodoc.css302
-rw-r--r--fortran/doc/DevelGuide/src/H5Af_c.html41
-rw-r--r--fortran/doc/DevelGuide/src/H5Aff_F03_f90.html130
-rw-r--r--fortran/doc/DevelGuide/src/H5Aff_F90_f90.html56
-rw-r--r--fortran/doc/DevelGuide/src/H5Aff_f90.html1102
-rw-r--r--fortran/doc/DevelGuide/src/H5Df_c.html41
-rw-r--r--fortran/doc/DevelGuide/src/H5Dff_F03_f90.html138
-rw-r--r--fortran/doc/DevelGuide/src/H5Dff_F90_f90.html116
-rw-r--r--fortran/doc/DevelGuide/src/H5Dff_f90.html506
-rw-r--r--fortran/doc/DevelGuide/src/H5Ef_c.html41
-rw-r--r--fortran/doc/DevelGuide/src/H5Eff_f90.html197
-rw-r--r--fortran/doc/DevelGuide/src/H5FDmpiof_c.html41
-rw-r--r--fortran/doc/DevelGuide/src/H5FDmpioff_f90.html253
-rw-r--r--fortran/doc/DevelGuide/src/H5Ff_c.html41
-rw-r--r--fortran/doc/DevelGuide/src/H5Fff_f90.html653
-rw-r--r--fortran/doc/DevelGuide/src/H5Gf_c.html41
-rw-r--r--fortran/doc/DevelGuide/src/H5Gff_f90.html840
-rw-r--r--fortran/doc/DevelGuide/src/H5If_c.html41
-rw-r--r--fortran/doc/DevelGuide/src/H5Iff_f90.html304
-rw-r--r--fortran/doc/DevelGuide/src/H5Lf_c.html41
-rw-r--r--fortran/doc/DevelGuide/src/H5Lff_F03_f90.html181
-rw-r--r--fortran/doc/DevelGuide/src/H5Lff_F90_f90.html50
-rw-r--r--fortran/doc/DevelGuide/src/H5Lff_f90.html637
-rw-r--r--fortran/doc/DevelGuide/src/H5Of_c.html41
-rw-r--r--fortran/doc/DevelGuide/src/H5Off_f90.html198
-rw-r--r--fortran/doc/DevelGuide/src/H5Pf_c.html41
-rw-r--r--fortran/doc/DevelGuide/src/H5Pff_F03_f90.html832
-rw-r--r--fortran/doc/DevelGuide/src/H5Pff_F90_f90.html715
-rw-r--r--fortran/doc/DevelGuide/src/H5Pff_f90.html4752
-rw-r--r--fortran/doc/DevelGuide/src/H5Rf_c.html41
-rw-r--r--fortran/doc/DevelGuide/src/H5Rff_F03_f90.html492
-rw-r--r--fortran/doc/DevelGuide/src/H5Rff_F90_f90.html305
-rw-r--r--fortran/doc/DevelGuide/src/H5Rff_f90.html148
-rw-r--r--fortran/doc/DevelGuide/src/H5Sf_c.html41
-rw-r--r--fortran/doc/DevelGuide/src/H5Sff_f90.html1165
-rw-r--r--fortran/doc/DevelGuide/src/H5Tf_c.html41
-rw-r--r--fortran/doc/DevelGuide/src/H5Tff_f90.html2378
-rw-r--r--fortran/doc/DevelGuide/src/H5Zf_c.html41
-rw-r--r--fortran/doc/DevelGuide/src/H5Zff_f90.html173
-rw-r--r--fortran/doc/DevelGuide/src/H5_DBLE_InterfaceExclude_f90.html53
-rw-r--r--fortran/doc/DevelGuide/src/H5_DBLE_InterfaceInclude_f90.html54
-rw-r--r--fortran/doc/DevelGuide/src/H5_f_c.html41
-rw-r--r--fortran/doc/DevelGuide/src/H5_ff_F03_f90.html83
-rw-r--r--fortran/doc/DevelGuide/src/H5_ff_F90_f90.html48
-rw-r--r--fortran/doc/DevelGuide/src/H5_ff_f90.html269
-rw-r--r--fortran/doc/DevelGuide/src/H5f90global_f90.html61
-rw-r--r--fortran/doc/DevelGuide/src/H5f90kit_c.html44
-rw-r--r--fortran/doc/DevelGuide/src/H5match_types_c.html49
-rw-r--r--fortran/doc/DevelGuide/src/H5test_kind_SIZEOF_f90.html61
-rw-r--r--fortran/doc/DevelGuide/src/H5test_kind_f90.html62
-rw-r--r--fortran/doc/DevelGuide/src/HDF5_f90.html47
-rw-r--r--fortran/doc/DevelGuide/src/HDF5mpio_f90.html45
-rw-r--r--fortran/doc/DevelGuide/test/fflush1_f90.html47
-rw-r--r--fortran/doc/DevelGuide/test/fflush2_f90.html47
-rw-r--r--fortran/doc/DevelGuide/test/fortranlib_test_1_8_f90.html44
-rw-r--r--fortran/doc/DevelGuide/test/fortranlib_test_F03_f90.html45
-rw-r--r--fortran/doc/DevelGuide/test/fortranlib_test_f90.html44
-rw-r--r--fortran/doc/DevelGuide/test/tF2003_f90.html53
-rw-r--r--fortran/doc/DevelGuide/test/tH5A_1_8_f90.html51
-rw-r--r--fortran/doc/DevelGuide/test/tH5A_f90.html47
-rw-r--r--fortran/doc/DevelGuide/test/tH5D_f90.html52
-rw-r--r--fortran/doc/DevelGuide/test/tH5E_f90.html51
-rw-r--r--fortran/doc/DevelGuide/test/tH5F_f90.html47
-rw-r--r--fortran/doc/DevelGuide/test/tH5G_1_8_f90.html49
-rw-r--r--fortran/doc/DevelGuide/test/tH5G_f90.html47
-rw-r--r--fortran/doc/DevelGuide/test/tH5I_f90.html47
-rw-r--r--fortran/doc/DevelGuide/test/tH5O_f90.html47
-rw-r--r--fortran/doc/DevelGuide/test/tH5P_f90.html47
-rw-r--r--fortran/doc/DevelGuide/test/tH5R_f90.html51
-rw-r--r--fortran/doc/DevelGuide/test/tH5S_f90.html54
-rw-r--r--fortran/doc/DevelGuide/test/tH5Sselect_f90.html56
-rw-r--r--fortran/doc/DevelGuide/test/tH5T_f90.html47
-rw-r--r--fortran/doc/DevelGuide/test/tH5VL_f90.html47
-rw-r--r--fortran/doc/DevelGuide/test/tH5Z_f90.html47
-rw-r--r--fortran/doc/DevelGuide/test/t_c.html44
-rw-r--r--fortran/doc/DevelGuide/test/tf_f90.html48
-rw-r--r--fortran/doc/DevelGuide/toc_index.html552
-rw-r--r--fortran/examples/CMakeLists.txt82
-rw-r--r--fortran/examples/CMakeTests.cmake45
-rw-r--r--fortran/examples/Makefile.am14
-rw-r--r--fortran/examples/Makefile.in71
-rw-r--r--fortran/examples/nested_derived_type.f9012
-rw-r--r--fortran/examples/rwdset_fortran2003.f9024
-rw-r--r--fortran/src/CMakeLists.txt313
-rw-r--r--fortran/src/H5Af.c1446
-rw-r--r--fortran/src/H5Aff.F90 (renamed from fortran/src/H5Aff.f90)882
-rw-r--r--fortran/src/H5Aff_F03.f901267
-rw-r--r--fortran/src/H5Aff_F90.f901618
-rw-r--r--fortran/src/H5Df.c1506
-rw-r--r--fortran/src/H5Dff.F901877
-rw-r--r--fortran/src/H5Dff.f901035
-rw-r--r--fortran/src/H5Dff_F03.f902389
-rw-r--r--fortran/src/H5Dff_F90.f903004
-rw-r--r--fortran/src/H5Ef.c65
-rw-r--r--fortran/src/H5Eff.F90 (renamed from fortran/src/H5Eff.f90)119
-rw-r--r--fortran/src/H5Eff_F03.f90108
-rw-r--r--fortran/src/H5Eff_F90.f9089
-rw-r--r--fortran/src/H5FDmpiof.c258
-rw-r--r--fortran/src/H5FDmpioff.f90212
-rw-r--r--fortran/src/H5Ff.c238
-rw-r--r--fortran/src/H5Fff.F90 (renamed from fortran/src/H5Fff.f90)225
-rw-r--r--fortran/src/H5Fff_F03.f9099
-rw-r--r--fortran/src/H5Fff_F90.f9043
-rw-r--r--fortran/src/H5Gf.c393
-rw-r--r--fortran/src/H5Gff.F90 (renamed from fortran/src/H5Gff.f90)249
-rw-r--r--fortran/src/H5If.c104
-rw-r--r--fortran/src/H5Iff.F90 (renamed from fortran/src/H5Iff.f90)73
-rw-r--r--fortran/src/H5Lf.c324
-rw-r--r--fortran/src/H5Lff.F90 (renamed from fortran/src/H5Lff.f90)390
-rw-r--r--fortran/src/H5Lff_F03.f90242
-rw-r--r--fortran/src/H5Lff_F90.f9039
-rw-r--r--fortran/src/H5Of.c86
-rw-r--r--fortran/src/H5Off.F90 (renamed from fortran/src/H5Off.f90)554
-rw-r--r--fortran/src/H5Off_F03.f90435
-rw-r--r--fortran/src/H5Off_F90.f9039
-rw-r--r--fortran/src/H5Pf.c2627
-rw-r--r--fortran/src/H5Pff.F90 (renamed from fortran/src/H5Pff.f90)2765
-rw-r--r--fortran/src/H5Pff_F03.f901267
-rw-r--r--fortran/src/H5Pff_F90.f90949
-rw-r--r--fortran/src/H5Rf.c338
-rw-r--r--fortran/src/H5Rff.F90 (renamed from fortran/src/H5Rff_F03.f90)171
-rw-r--r--fortran/src/H5Rff.f90128
-rw-r--r--fortran/src/H5Rff_F90.f90514
-rw-r--r--fortran/src/H5Sf.c554
-rw-r--r--fortran/src/H5Sff.F901754
-rw-r--r--fortran/src/H5Sff.f901875
-rw-r--r--fortran/src/H5Tf.c681
-rw-r--r--fortran/src/H5Tff.F903082
-rw-r--r--fortran/src/H5Tff.f903105
-rw-r--r--fortran/src/H5Tff_F03.f90223
-rw-r--r--fortran/src/H5Tff_F90.f9095
-rw-r--r--fortran/src/H5Zf.c44
-rw-r--r--fortran/src/H5Zff.F90 (renamed from fortran/src/H5Zff.f90)121
-rw-r--r--fortran/src/H5_DBLE_InterfaceExclude.f9039
-rw-r--r--fortran/src/H5_DBLE_InterfaceInclude.f901859
-rw-r--r--fortran/src/H5_buildiface.F901024
-rw-r--r--fortran/src/H5_f.c290
-rw-r--r--fortran/src/H5_ff.F90 (renamed from fortran/src/H5_ff.f90)183
-rw-r--r--fortran/src/H5_ff_F03.f9075
-rw-r--r--fortran/src/H5_ff_F90.f9034
-rw-r--r--fortran/src/H5config_f.inc.cmake84
-rw-r--r--fortran/src/H5config_f.inc.in59
-rw-r--r--fortran/src/H5f90global.F90 (renamed from fortran/src/H5f90global.f90)125
-rw-r--r--fortran/src/H5f90kit.c32
-rw-r--r--fortran/src/H5f90proto.h1480
-rw-r--r--fortran/src/H5fort_type_defines.h.in16
-rw-r--r--fortran/src/H5match_types.c577
-rw-r--r--fortran/src/H5test_kind.f90269
-rw-r--r--fortran/src/H5test_kind_SIZEOF.f90228
-rw-r--r--fortran/src/H5test_kind_STORAGE_SIZE.f90230
-rw-r--r--fortran/src/HDF5.F90 (renamed from fortran/src/HDF5.f90)12
-rw-r--r--fortran/src/HDF5mpio.f9055
-rw-r--r--fortran/src/Makefile.am164
-rw-r--r--fortran/src/Makefile.in323
-rw-r--r--fortran/src/hdf5_fortrandll.def.in275
-rw-r--r--fortran/test/CMakeLists.txt307
-rw-r--r--fortran/test/CMakeTests.cmake26
-rw-r--r--fortran/test/H5_test_buildiface.F90306
-rw-r--r--fortran/test/Makefile.am63
-rw-r--r--fortran/test/Makefile.in236
-rw-r--r--fortran/test/fflush2.f90297
-rw-r--r--fortran/test/fortranlib_test.f903
-rw-r--r--fortran/test/tH5A.f9019
-rw-r--r--fortran/test/tH5A_1_8.f90177
-rw-r--r--fortran/test/tH5D.f901062
-rw-r--r--fortran/test/tH5E_F03.f9019
-rw-r--r--fortran/test/tH5F_F03.f9013
-rw-r--r--fortran/test/tH5G_1_8.f90207
-rw-r--r--fortran/test/tH5I.f9010
-rw-r--r--fortran/test/tH5L_F03.f9027
-rw-r--r--fortran/test/tH5MISC_1_8.f9053
-rw-r--r--fortran/test/tH5O.f9056
-rw-r--r--fortran/test/tH5O_F03.f904
-rw-r--r--fortran/test/tH5P.f9071
-rw-r--r--fortran/test/tH5P_F03.f9065
-rw-r--r--fortran/test/tH5R.f9037
-rw-r--r--fortran/test/tH5S.f906
-rw-r--r--fortran/test/tH5Sselect.f90219
-rw-r--r--fortran/test/tH5T.f90259
-rw-r--r--fortran/test/tH5T_F03.F90 (renamed from fortran/test/tH5T_F03.f90)358
-rw-r--r--fortran/test/tH5VL.f9030
-rw-r--r--fortran/test/tHDF5.f901
-rw-r--r--fortran/test/tf.F90 (renamed from fortran/test/tf.f90)237
-rw-r--r--fortran/test/tf_F03.f90128
-rw-r--r--fortran/test/tf_F08.f90128
-rw-r--r--fortran/test/tf_F90.f9033
-rw-r--r--fortran/testpar/CMakeLists.txt6
-rw-r--r--fortran/testpar/Makefile.am2
-rw-r--r--fortran/testpar/Makefile.in52
-rw-r--r--hl/CMakeLists.txt8
-rw-r--r--hl/Makefile.in28
-rw-r--r--hl/c++/Makefile.in28
-rw-r--r--hl/c++/examples/CMakeLists.txt4
-rw-r--r--hl/c++/examples/Makefile.in28
-rw-r--r--hl/c++/src/CMakeLists.txt34
-rw-r--r--hl/c++/src/Makefile.in32
-rw-r--r--hl/c++/test/CMakeLists.txt4
-rw-r--r--hl/c++/test/Makefile.in30
-rw-r--r--hl/examples/CMakeLists.txt4
-rw-r--r--hl/examples/Makefile.in28
-rw-r--r--hl/fortran/Makefile.in28
-rw-r--r--hl/fortran/examples/CMakeLists.txt6
-rw-r--r--hl/fortran/examples/Makefile.am2
-rw-r--r--hl/fortran/examples/Makefile.in47
-rw-r--r--hl/fortran/src/CMakeLists.txt180
-rw-r--r--hl/fortran/src/H5DSfc.c36
-rw-r--r--hl/fortran/src/H5DSff.F90 (renamed from hl/fortran/src/H5DSff.f90)101
-rw-r--r--hl/fortran/src/H5HL_buildiface.F90683
-rw-r--r--hl/fortran/src/H5IMfc.c24
-rw-r--r--hl/fortran/src/H5IMff.F90667
-rw-r--r--hl/fortran/src/H5IMff.f90783
-rw-r--r--hl/fortran/src/H5LTf90proto.h1362
-rw-r--r--hl/fortran/src/H5LTfc.c1332
-rw-r--r--hl/fortran/src/H5LTff.F901912
-rw-r--r--hl/fortran/src/H5LTff.f906490
-rw-r--r--hl/fortran/src/H5TBfc.c307
-rw-r--r--hl/fortran/src/H5TBff.F90848
-rw-r--r--hl/fortran/src/H5TBff.f901900
-rw-r--r--hl/fortran/src/Makefile.am38
-rw-r--r--hl/fortran/src/Makefile.in159
-rw-r--r--hl/fortran/src/hdf5_hl_fortrandll.def.in88
-rw-r--r--hl/fortran/test/CMakeLists.txt80
-rw-r--r--hl/fortran/test/CMakeTests.cmake33
-rw-r--r--hl/fortran/test/Makefile.am10
-rw-r--r--hl/fortran/test/Makefile.in79
-rw-r--r--hl/fortran/test/tstds.F90 (renamed from hl/fortran/test/tstds.f90)0
-rw-r--r--hl/fortran/test/tstimage.F90 (renamed from hl/fortran/test/tstimage.f90)0
-rw-r--r--hl/fortran/test/tstlite.F90 (renamed from hl/fortran/test/tstlite.f90)275
-rw-r--r--hl/fortran/test/tsttable.F90 (renamed from hl/fortran/test/tsttable.f90)136
-rw-r--r--hl/src/CMakeLists.txt36
-rw-r--r--hl/src/H5LT.c2
-rw-r--r--hl/src/Makefile.in32
-rw-r--r--hl/test/CMakeLists.txt20
-rw-r--r--hl/test/Makefile.in30
-rw-r--r--hl/tools/CMakeLists.txt14
-rw-r--r--hl/tools/Makefile.in28
-rw-r--r--hl/tools/gif2h5/Makefile.in30
-rw-r--r--m4/aclocal_fc.m4345
-rw-r--r--release_docs/INSTALL_VMS.txt77
-rw-r--r--release_docs/RELEASE.txt2
-rw-r--r--src/CMakeLists.txt47
-rw-r--r--src/H5.c48
-rw-r--r--src/H5Abtree2.c20
-rw-r--r--src/H5B2dbg.c79
-rw-r--r--src/H5B2private.h6
-rw-r--r--src/H5B2test.c53
-rw-r--r--src/H5FDcore.c22
-rw-r--r--src/H5FDdirect.c15
-rw-r--r--src/H5FDlog.c24
-rw-r--r--src/H5FDsec2.c22
-rw-r--r--src/H5FDstdio.c15
-rw-r--r--src/H5Fcwfs.c8
-rw-r--r--src/H5Fdbg.c2
-rw-r--r--src/H5Gbtree2.c22
-rw-r--r--src/H5HF.c66
-rw-r--r--src/H5HFbtree2.c84
-rw-r--r--src/H5HFdbg.c74
-rw-r--r--src/H5HFhuge.c87
-rw-r--r--src/H5HFman.c35
-rw-r--r--src/H5HFpkg.h6
-rw-r--r--src/H5HFprivate.h4
-rw-r--r--src/H5HL.c10
-rw-r--r--src/H5Lexternal.c2
-rw-r--r--src/H5MFaggr.c12
-rw-r--r--src/H5Oalloc.c8
-rw-r--r--src/H5Odbg.c21
-rw-r--r--src/H5Olink.c4
-rw-r--r--src/H5SM.c62
-rw-r--r--src/H5SMbtree2.c51
-rw-r--r--src/H5SMprivate.h2
-rw-r--r--src/H5Tconv.c7
-rw-r--r--src/H5api_adpt.h18
-rw-r--r--src/H5config.h.in54
-rw-r--r--src/H5private.h56
-rw-r--r--src/H5public.h8
-rw-r--r--src/H5system.c62
-rw-r--r--src/Makefile.in31
-rw-r--r--src/libhdf5.settings.in1
-rw-r--r--test/CMakeLists.txt184
-rw-r--r--test/CMakeTests.cmake570
-rw-r--r--test/H5srcdir.h16
-rw-r--r--test/Makefile.in30
-rw-r--r--test/dt_arith.c118
-rw-r--r--test/dtypes.c4
-rw-r--r--test/fheap.c2
-rw-r--r--test/flush2.c4
-rw-r--r--test/gen_cross.c4
-rw-r--r--test/getname.c2
-rw-r--r--test/lheap.c4
-rw-r--r--test/links.c29
-rw-r--r--test/links_env.c4
-rw-r--r--test/mf.c70
-rw-r--r--test/objcopy.c2
-rw-r--r--test/stab.c2
-rw-r--r--test/tconfig.c9
-rw-r--r--test/tfile.c14
-rw-r--r--test/th5o.c2
-rw-r--r--test/trefer.c6
-rw-r--r--test/tsohm.c3
-rw-r--r--test/ttsafe.c43
-rw-r--r--test/ttsafe.h10
-rw-r--r--test/ttsafe_error.c1
-rw-r--r--testpar/CMakeLists.txt8
-rw-r--r--testpar/Makefile.in30
-rw-r--r--tools/Makefile.in28
-rw-r--r--tools/h5copy/CMakeLists.txt10
-rw-r--r--tools/h5copy/Makefile.in30
-rw-r--r--tools/h5diff/CMakeLists.txt16
-rw-r--r--tools/h5diff/Makefile.in30
-rw-r--r--tools/h5dump/CMakeLists.txt10
-rw-r--r--tools/h5dump/Makefile.in30
-rw-r--r--tools/h5import/CMakeLists.txt8
-rw-r--r--tools/h5import/Makefile.in30
-rw-r--r--tools/h5jam/CMakeLists.txt26
-rw-r--r--tools/h5jam/Makefile.in30
-rw-r--r--tools/h5ls/CMakeLists.txt4
-rw-r--r--tools/h5ls/Makefile.in30
-rw-r--r--tools/h5repack/CMakeLists.txt66
-rw-r--r--tools/h5repack/CMakeTests.cmake8
-rw-r--r--tools/h5repack/Makefile.in30
-rw-r--r--tools/h5stat/CMakeLists.txt10
-rw-r--r--tools/h5stat/Makefile.in30
-rw-r--r--tools/lib/CMakeLists.txt36
-rw-r--r--tools/lib/Makefile.in30
-rw-r--r--tools/lib/h5diff_array.c22
-rw-r--r--tools/lib/h5tools_str.c4
-rw-r--r--tools/misc/CMakeLists.txt20
-rw-r--r--tools/misc/Makefile.in30
-rw-r--r--tools/misc/h5debug.c14
-rw-r--r--tools/perform/CMakeLists.txt36
-rw-r--r--tools/perform/Makefile.in30
-rw-r--r--tools/perform/sio_standalone.h11
-rw-r--r--tools/perform/zip_perf.c9
398 files changed, 34254 insertions, 71248 deletions
diff --git a/CMakeFilters.cmake b/CMakeFilters.cmake
index 7050f87..c2b81dc 100644
--- a/CMakeFilters.cmake
+++ b/CMakeFilters.cmake
@@ -28,11 +28,12 @@ option (HDF5_ENABLE_Z_LIB_SUPPORT "Enable Zlib Filters" OFF)
if (HDF5_ENABLE_Z_LIB_SUPPORT)
if (NOT H5_ZLIB_HEADER)
if (NOT ZLIB_USE_EXTERNAL)
- find_package (ZLIB NAMES ${ZLIB_PACKAGE_NAME}${HDF_PACKAGE_EXT})
+ find_package (ZLIB NAMES ${ZLIB_PACKAGE_NAME}${HDF_PACKAGE_EXT} COMPONENTS static shared)
if (NOT ZLIB_FOUND)
find_package (ZLIB) # Legacy find
if (ZLIB_FOUND)
set (LINK_LIBS ${LINK_LIBS} ${ZLIB_LIBRARIES})
+ set (LINK_SHARED_LIBS ${LINK_SHARED_LIBS} ${ZLIB_LIBRARIES})
endif (ZLIB_FOUND)
endif (NOT ZLIB_FOUND)
endif (NOT ZLIB_USE_EXTERNAL)
@@ -45,7 +46,7 @@ if (HDF5_ENABLE_Z_LIB_SUPPORT)
set (ZLIB_INCLUDE_DIRS ${ZLIB_INCLUDE_DIRS} ${ZLIB_INCLUDE_DIR})
else (ZLIB_FOUND)
if (HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "SVN" OR HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "TGZ")
- EXTERNAL_ZLIB_LIBRARY (${HDF5_ALLOW_EXTERNAL_SUPPORT} ${LIB_TYPE})
+ EXTERNAL_ZLIB_LIBRARY (${HDF5_ALLOW_EXTERNAL_SUPPORT})
set (H5_HAVE_FILTER_DEFLATE 1)
set (H5_HAVE_ZLIB_H 1)
set (H5_HAVE_LIBZ 1)
@@ -63,7 +64,10 @@ if (HDF5_ENABLE_Z_LIB_SUPPORT)
if (H5_HAVE_FILTER_DEFLATE)
set (EXTERNAL_FILTERS "${EXTERNAL_FILTERS} DEFLATE")
endif (H5_HAVE_FILTER_DEFLATE)
- set (LINK_LIBS ${LINK_LIBS} ${ZLIB_LIBRARIES})
+ if (BUILD_SHARED_LIBS)
+ set (LINK_SHARED_LIBS ${LINK_SHARED_LIBS} ${ZLIB_SHARED_LIBRARY})
+ endif (BUILD_SHARED_LIBS)
+ set (LINK_LIBS ${LINK_LIBS} ${ZLIB_STATIC_LIBRARY})
INCLUDE_DIRECTORIES (${ZLIB_INCLUDE_DIRS})
message (STATUS "Filter ZLIB is ON")
endif (HDF5_ENABLE_Z_LIB_SUPPORT)
@@ -75,11 +79,12 @@ option (HDF5_ENABLE_SZIP_SUPPORT "Use SZip Filter" OFF)
if (HDF5_ENABLE_SZIP_SUPPORT)
option (HDF5_ENABLE_SZIP_ENCODING "Use SZip Encoding" OFF)
if (NOT SZIP_USE_EXTERNAL)
- find_package (SZIP NAMES ${SZIP_PACKAGE_NAME}${HDF_PACKAGE_EXT})
+ find_package (SZIP NAMES ${SZIP_PACKAGE_NAME}${HDF_PACKAGE_EXT} COMPONENTS static shared)
if (NOT SZIP_FOUND)
find_package (SZIP) # Legacy find
if (SZIP_FOUND)
set (LINK_LIBS ${LINK_LIBS} ${SZIP_LIBRARIES})
+ set (LINK_SHARED_LIBS ${LINK_SHARED_LIBS} ${SZIP_LIBRARIES})
endif (SZIP_FOUND)
endif (NOT SZIP_FOUND)
endif (NOT SZIP_USE_EXTERNAL)
@@ -88,10 +93,10 @@ if (HDF5_ENABLE_SZIP_SUPPORT)
set (H5_HAVE_SZLIB_H 1)
set (H5_HAVE_LIBSZ 1)
set (SZIP_INCLUDE_DIR_GEN ${SZIP_INCLUDE_DIR})
- set (SZIP_INCLUDE_DIRS ${SZIP_INCLUDE_DIR})
+ set (SZIP_INCLUDE_DIRS ${SZIP_INCLUDE_DIRS} ${SZIP_INCLUDE_DIR})
else (SZIP_FOUND)
if (HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "SVN" OR HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "TGZ")
- EXTERNAL_SZIP_LIBRARY (${HDF5_ALLOW_EXTERNAL_SUPPORT} ${LIB_TYPE} ${HDF5_ENABLE_SZIP_ENCODING})
+ EXTERNAL_SZIP_LIBRARY (${HDF5_ALLOW_EXTERNAL_SUPPORT} ${HDF5_ENABLE_SZIP_ENCODING})
set (H5_HAVE_FILTER_SZIP 1)
set (H5_HAVE_SZLIB_H 1)
set (H5_HAVE_LIBSZ 1)
@@ -100,7 +105,10 @@ if (HDF5_ENABLE_SZIP_SUPPORT)
message (FATAL_ERROR "SZIP is Required for SZIP support in HDF5")
endif (HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "SVN" OR HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "TGZ")
endif (SZIP_FOUND)
- set (LINK_LIBS ${LINK_LIBS} ${SZIP_LIBRARIES})
+ if (BUILD_SHARED_LIBS)
+ set (LINK_SHARED_LIBS ${LINK_SHARED_LIBS} ${SZIP_SHARED_LIBRARY})
+ endif (BUILD_SHARED_LIBS)
+ set (LINK_LIBS ${LINK_LIBS} ${SZIP_STATIC_LIBRARY})
INCLUDE_DIRECTORIES (${SZIP_INCLUDE_DIRS})
message (STATUS "Filter SZIP is ON")
if (H5_HAVE_FILTER_SZIP)
diff --git a/CMakeInstallation.cmake b/CMakeInstallation.cmake
index c5db4ea..f87119e 100644
--- a/CMakeInstallation.cmake
+++ b/CMakeInstallation.cmake
@@ -167,11 +167,11 @@ install (
option (HDF5_PACK_EXAMPLES "Package the HDF5 Library Examples Compressed File" OFF)
if (HDF5_PACK_EXAMPLES)
configure_file (
- ${HDF_RESOURCES_DIR}/HDF518_Examples.cmake.in
- ${HDF5_BINARY_DIR}/HDF518_Examples.cmake @ONLY
+ ${HDF_RESOURCES_DIR}/HDF5_Examples.cmake.in
+ ${HDF5_BINARY_DIR}/HDF5_Examples.cmake @ONLY
)
install (
- FILES ${HDF5_BINARY_DIR}/HDF518_Examples.cmake
+ FILES ${HDF5_BINARY_DIR}/HDF5_Examples.cmake
DESTINATION ${HDF5_INSTALL_DATA_DIR}
COMPONENT hdfdocuments
)
@@ -180,7 +180,7 @@ if (HDF5_PACK_EXAMPLES)
COMMAND ${CMAKE_COMMAND} -E tar xzf ${HDF5_EXAMPLES_COMPRESSED_DIR}/${HDF5_EXAMPLES_COMPRESSED}
)
install (
- DIRECTORY ${HDF5_BINARY_DIR}/HDF5Examples-0.1.1-Source
+ DIRECTORY ${HDF5_BINARY_DIR}/HDF5Examples
DESTINATION ${HDF5_INSTALL_DATA_DIR}
USE_SOURCE_PERMISSIONS
COMPONENT hdfdocuments
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 52a883e..c75114e 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -87,6 +87,7 @@ endif ()
# # Add the sub project
# add_subdirectory (Utilities/hdf5-1.8)
#-----------------------------------------------------------------------------
+string(TIMESTAMP CONFIG_DATE "%Y-%m-%d")
#-----------------------------------------------------------------------------
# Allow Visual Studio solution directories
@@ -102,6 +103,8 @@ if (HDF5_USE_FOLDERS)
endif (HDF5_USE_FOLDERS)
option (HDF5_NO_PACKAGES "CPACK - Disable packaging" OFF)
mark_as_advanced (HDF5_NO_PACKAGES)
+option (ALLOW_UNSUPPORTED "Allow unsupported combinations of configure options" OFF)
+mark_as_advanced (ALLOW_UNSUPPORTED)
#-----------------------------------------------------------------------------
# Set the core names of all the libraries
@@ -138,18 +141,30 @@ set (HDF5_HL_F90_C_LIB_NAME "${HDF5_EXTERNAL_LIB_PREFIX}${HDF5_HL_F90_C_LIB_
#-----------------------------------------------------------------------------
# Set the target names of all the libraries
#-----------------------------------------------------------------------------
-set (HDF5_LIB_TARGET ${HDF5_LIB_CORENAME})
-set (HDF5_TEST_LIB_TARGET ${HDF5_TEST_LIB_CORENAME})
-set (HDF5_CPP_LIB_TARGET ${HDF5_CPP_LIB_CORENAME})
-set (HDF5_HL_LIB_TARGET ${HDF5_HL_LIB_CORENAME})
-set (HDF5_HL_CPP_LIB_TARGET ${HDF5_HL_CPP_LIB_CORENAME})
-set (HDF5_TOOLS_LIB_TARGET ${HDF5_TOOLS_LIB_CORENAME})
-set (HDF5_F90_LIB_TARGET ${HDF5_F90_LIB_CORENAME})
-set (HDF5_F90_C_LIB_TARGET ${HDF5_F90_C_LIB_CORENAME})
-set (HDF5_F90_TEST_LIB_TARGET ${HDF5_F90_TEST_LIB_CORENAME})
-set (HDF5_F90_C_TEST_LIB_TARGET ${HDF5_F90_C_TEST_LIB_CORENAME})
-set (HDF5_HL_F90_LIB_TARGET ${HDF5_HL_F90_LIB_CORENAME})
-set (HDF5_HL_F90_C_LIB_TARGET ${HDF5_HL_F90_C_LIB_CORENAME})
+set (HDF5_LIB_TARGET "${HDF5_LIB_CORENAME}-static")
+set (HDF5_TEST_LIB_TARGET "${HDF5_TEST_LIB_CORENAME}-static")
+set (HDF5_CPP_LIB_TARGET "${HDF5_CPP_LIB_CORENAME}-static")
+set (HDF5_HL_LIB_TARGET "${HDF5_HL_LIB_CORENAME}-static")
+set (HDF5_HL_CPP_LIB_TARGET "${HDF5_HL_CPP_LIB_CORENAME}-static")
+set (HDF5_TOOLS_LIB_TARGET "${HDF5_TOOLS_LIB_CORENAME}-static")
+set (HDF5_F90_LIB_TARGET "${HDF5_F90_LIB_CORENAME}-static")
+set (HDF5_F90_C_LIB_TARGET "${HDF5_F90_C_LIB_CORENAME}-static")
+set (HDF5_F90_TEST_LIB_TARGET "${HDF5_F90_TEST_LIB_CORENAME}-static")
+set (HDF5_F90_C_TEST_LIB_TARGET "${HDF5_F90_C_TEST_LIB_CORENAME}-static")
+set (HDF5_HL_F90_LIB_TARGET "${HDF5_HL_F90_LIB_CORENAME}-static")
+set (HDF5_HL_F90_C_LIB_TARGET "${HDF5_HL_F90_C_LIB_CORENAME}-static")
+set (HDF5_LIBSH_TARGET "${HDF5_LIB_CORENAME}-shared")
+set (HDF5_TEST_LIBSH_TARGET "${HDF5_TEST_LIB_CORENAME}-shared")
+set (HDF5_CPP_LIBSH_TARGET "${HDF5_CPP_LIB_CORENAME}-shared")
+set (HDF5_HL_LIBSH_TARGET "${HDF5_HL_LIB_CORENAME}-shared")
+set (HDF5_HL_CPP_LIBSH_TARGET "${HDF5_HL_CPP_LIB_CORENAME}-shared")
+set (HDF5_TOOLS_LIBSH_TARGET "${HDF5_TOOLS_LIB_CORENAME}-shared")
+set (HDF5_F90_LIBSH_TARGET "${HDF5_F90_LIB_CORENAME}-shared")
+set (HDF5_F90_C_LIBSH_TARGET "${HDF5_F90_C_LIB_CORENAME}-shared")
+set (HDF5_F90_TEST_LIBSH_TARGET "${HDF5_F90_TEST_LIB_CORENAME}-shared")
+set (HDF5_F90_C_TEST_LIBSH_TARGET "${HDF5_F90_C_TEST_LIB_CORENAME}-shared")
+set (HDF5_HL_F90_LIBSH_TARGET "${HDF5_HL_F90_LIB_CORENAME}-shared")
+set (HDF5_HL_F90_C_LIBSH_TARGET "${HDF5_HL_F90_C_LIB_CORENAME}-shared")
#-----------------------------------------------------------------------------
# Define some CMake variables for use later in the project
@@ -308,20 +323,15 @@ if (HDF5_BUILD_FRAMEWORKS AND NOT BUILD_SHARED_LIBS)
endif (HDF5_BUILD_FRAMEWORKS AND NOT BUILD_SHARED_LIBS)
#-----------------------------------------------------------------------------
-# Option to Build Shared/Static libs, default is static
+# Option to Build Shared and Static libs, default is static
#-----------------------------------------------------------------------------
-option (BUILD_SHARED_LIBS "Build Shared Libraries" OFF)
-set (LIB_TYPE STATIC)
+option (BUILD_SHARED_LIBS "Build Shared Libraries" ON)
set (H5_ENABLE_SHARED_LIB NO)
-set (H5_ENABLE_STATIC_LIB NO)
if (BUILD_SHARED_LIBS)
- set (LIB_TYPE SHARED)
- set (H5_BUILT_AS_DYNAMIC_LIB 1)
set (H5_ENABLE_SHARED_LIB YES)
-else (BUILD_SHARED_LIBS)
- set (H5_BUILT_AS_STATIC_LIB 1)
- set (H5_ENABLE_STATIC_LIB YES)
+ set (LINK_SHARED_LIBS ${LINK_LIBS})
endif (BUILD_SHARED_LIBS)
+set (H5_ENABLE_STATIC_LIB YES)
set (CMAKE_POSITION_INDEPENDENT_CODE ON)
#-----------------------------------------------------------------------------
@@ -471,6 +481,7 @@ endif (HDF5_ENABLE_PARALLEL)
# Parallel IO usage requires MPI to be Linked and Included
if (H5_HAVE_PARALLEL)
set (LINK_LIBS ${LINK_LIBS} ${MPI_C_LIBRARIES})
+ set (LINK_SHARED_LIBS ${LINK_SHARED_LIBS} ${MPI_C_LIBRARIES})
if (MPI_C_LINK_FLAGS)
set (CMAKE_EXE_LINKER_FLAGS "${MPI_C_LINK_FLAGS} ${CMAKE_EXE_LINKER_FLAGS}")
endif (MPI_C_LINK_FLAGS)
@@ -532,25 +543,36 @@ if (WIN32)
option (HDF5_ENABLE_THREADSAFE "Enable thread-safety" OFF)
if (HDF5_ENABLE_THREADSAFE)
# check for unsupported options
- if (H5_BUILT_AS_STATIC_LIB)
- message (FATAL_ERROR " **** thread-safety option not supported with static library **** ")
- endif (H5_BUILT_AS_STATIC_LIB)
+ message (STATUS " **** thread-safety option not supported with static library **** ")
+ message (STATUS " **** thread-safety option will not be used building static library **** ")
if (HDF5_ENABLE_PARALLEL)
- message (FATAL_ERROR " **** parallel and thread-safety options are not supported **** ")
+ if (NOT ALLOW_UNSUPPORTED)
+ message (FATAL_ERROR " **** parallel and thread-safety options are not supported **** ")
+ else (NOT ALLOW_UNSUPPORTED)
+ message (STATUS " **** Allowing unsupported parallel and thread-safety options **** ")
+ endif (NOT ALLOW_UNSUPPORTED)
endif (HDF5_ENABLE_PARALLEL)
if (HDF5_BUILD_FORTRAN)
- message (FATAL_ERROR " **** Fortran and thread-safety options are not supported **** ")
+ if (NOT ALLOW_UNSUPPORTED)
+ message (STATUS " **** Fortran and thread-safety options are not supported **** ")
+ message (STATUS " **** thread-safety option will not be used building Fortran library **** ")
+ else (NOT ALLOW_UNSUPPORTED)
+ message (STATUS " **** Allowing unsupported Fortran and thread-safety options **** ")
+ endif (NOT ALLOW_UNSUPPORTED)
endif (HDF5_BUILD_FORTRAN)
if (HDF5_BUILD_CPP_LIB)
- message (FATAL_ERROR " **** C++ and thread-safety options are not supported **** ")
+ if (NOT ALLOW_UNSUPPORTED)
+ message (STATUS " **** C++ and thread-safety options are not supported **** ")
+ message (STATUS " **** thread-safety option will not be used building C++ library **** ")
+ else (NOT ALLOW_UNSUPPORTED)
+ message (STATUS " **** Allowing unsupported C++ and thread-safety options **** ")
+ endif (NOT ALLOW_UNSUPPORTED)
endif (HDF5_BUILD_CPP_LIB)
- set (H5_HAVE_THREADSAFE 1)
if (H5_HAVE_IOEO)
message (STATUS " **** Win32 threads requires WINVER>=0x600 (Windows Vista/7/8) **** ")
set (H5_HAVE_WIN_THREADS 1)
else (H5_HAVE_IOEO)
if (NOT H5_HAVE_PTHREAD_H)
- set (H5_HAVE_THREADSAFE 0)
message (FATAL_ERROR " **** thread-safe option requires Win32 threads or Pthreads **** ")
endif (NOT H5_HAVE_PTHREAD_H)
endif (H5_HAVE_IOEO)
@@ -571,9 +593,15 @@ add_subdirectory (${HDF5_SOURCE_DIR}/src ${PROJECT_BINARY_DIR}/src)
if (HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "SVN" OR HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "TGZ")
if (ZLIB_FOUND AND ZLIB_USE_EXTERNAL)
ADD_DEPENDENCIES (${HDF5_LIB_TARGET} ZLIB)
+ if (BUILD_SHARED_LIBS)
+ add_dependencies (${HDF5_LIBSH_TARGET} ZLIB)
+ endif (BUILD_SHARED_LIBS)
endif (ZLIB_FOUND AND ZLIB_USE_EXTERNAL)
if (SZIP_FOUND AND SZIP_USE_EXTERNAL)
ADD_DEPENDENCIES (${HDF5_LIB_TARGET} SZIP)
+ if (BUILD_SHARED_LIBS)
+ add_dependencies (${HDF5_LIBSH_TARGET} SZIP)
+ endif (BUILD_SHARED_LIBS)
endif (SZIP_FOUND AND SZIP_USE_EXTERNAL)
endif (HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "SVN" OR HDF5_ALLOW_EXTERNAL_SUPPORT MATCHES "TGZ")
@@ -652,12 +680,19 @@ set (H5_FC_FUNC "H5_FC_FUNC(name,NAME) name ## _")
set (H5_FC_FUNC_ "H5_FC_FUNC_(name,NAME) name ## _")
if (EXISTS "${HDF5_SOURCE_DIR}/fortran" AND IS_DIRECTORY "${HDF5_SOURCE_DIR}/fortran")
option (HDF5_BUILD_FORTRAN "Build FORTRAN support" OFF)
+ option (SKIP_HDF5_FORTRAN_SHARED "Do not build the fortran shared libraries" OFF)
if (HDF5_BUILD_FORTRAN)
if (BUILD_SHARED_LIBS AND APPLE)
- message (FATAL_ERROR " **** Shared FORTRAN libraries are unsupported **** ")
+ if (NOT ALLOW_UNSUPPORTED)
+ message (STATUS " **** Shared FORTRAN libraries are unsupported **** ")
+ set (SKIP_HDF5_FORTRAN_SHARED ON)
+ else (NOT ALLOW_UNSUPPORTED)
+ message (STATUS " **** Allowing unsupported Fortran shared libraries **** ")
+ endif (NOT ALLOW_UNSUPPORTED)
endif (BUILD_SHARED_LIBS AND APPLE)
option (HDF5_ENABLE_F2003 "Enable FORTRAN 2003 Standard" ON)
include (${HDF_RESOURCES_EXT_DIR}/HDFUseFortran.cmake)
+ include (${HDF_RESOURCES_DIR}/HDF5UseFortran.cmake)
if (HDF5_ENABLE_F2003)
if (NOT FORTRAN_HAVE_ISO_C_BINDING)
set (HDF5_ENABLE_F2003 OFF)
@@ -687,7 +722,11 @@ if (EXISTS "${HDF5_SOURCE_DIR}/c++" AND IS_DIRECTORY "${HDF5_SOURCE_DIR}/c++")
if (HDF5_BUILD_CPP_LIB)
# check for unsupported options
if (HDF5_ENABLE_PARALLEL)
- message (FATAL_ERROR " **** Parallel and C++ options are mutually exclusive **** ")
+ if (NOT ALLOW_UNSUPPORTED)
+ message (FATAL_ERROR " **** Parallel and C++ options are mutually exclusive **** ")
+ else (NOT ALLOW_UNSUPPORTED)
+ message (STATUS " **** Allowing unsupported Parallel and C++ options **** ")
+ endif (NOT ALLOW_UNSUPPORTED)
endif (HDF5_ENABLE_PARALLEL)
if (CMAKE_NO_STD_NAMESPACE)
set (H5_NO_STD 1)
diff --git a/MANIFEST b/MANIFEST
index a7b091b..45eaefc 100644
--- a/MANIFEST
+++ b/MANIFEST
@@ -93,6 +93,7 @@
./config/cce-flags
./config/commence.am
./config/conclude.am
+./config/conclude_fc.am
./config/examples.am
./config/freebsd
./config/gnu-fflags
@@ -170,89 +171,6 @@
./fortran/Makefile.in
./fortran/robodoc.rc
-./fortran/doc/DevelGuide/toc_index.html
-./fortran/doc/DevelGuide/masterindex.html
-./fortran/doc/DevelGuide/robo_subroutines.html
-./fortran/doc/DevelGuide/robo_sourcefiles.html
-./fortran/doc/DevelGuide/robo_functions.html
-./fortran/doc/DevelGuide/robo_modules.html
-./fortran/doc/DevelGuide/robo_programs.html
-./fortran/doc/DevelGuide/robodoc.css
-./fortran/doc/DevelGuide/test/fortranlib_test_f90.html
-./fortran/doc/DevelGuide/test/tH5A_f90.html
-./fortran/doc/DevelGuide/test/tH5VL_f90.html
-./fortran/doc/DevelGuide/test/tH5D_f90.html
-./fortran/doc/DevelGuide/test/tH5E_f90.html
-./fortran/doc/DevelGuide/test/tH5F_f90.html
-./fortran/doc/DevelGuide/test/tH5G_f90.html
-./fortran/doc/DevelGuide/test/fflush1_f90.html
-./fortran/doc/DevelGuide/test/fortranlib_test_1_8_f90.html
-./fortran/doc/DevelGuide/test/tH5A_1_8_f90.html
-./fortran/doc/DevelGuide/test/tf_f90.html
-./fortran/doc/DevelGuide/test/fflush2_f90.html
-./fortran/doc/DevelGuide/test/fortranlib_test_F03_f90.html
-./fortran/doc/DevelGuide/test/tH5I_f90.html
-./fortran/doc/DevelGuide/test/tH5G_1_8_f90.html
-./fortran/doc/DevelGuide/test/tF2003_f90.html
-./fortran/doc/DevelGuide/test/tH5O_f90.html
-./fortran/doc/DevelGuide/test/tH5P_f90.html
-./fortran/doc/DevelGuide/test/tH5R_f90.html
-./fortran/doc/DevelGuide/test/tH5S_f90.html
-./fortran/doc/DevelGuide/test/tH5Sselect_f90.html
-./fortran/doc/DevelGuide/test/tH5T_f90.html
-./fortran/doc/DevelGuide/test/t_c.html
-./fortran/doc/DevelGuide/test/tH5Z_f90.html
-./fortran/doc/DevelGuide/src/H5Fff_f90.html
-./fortran/doc/DevelGuide/src/H5Zf_c.html
-./fortran/doc/DevelGuide/src/H5Pff_F90_f90.html
-./fortran/doc/DevelGuide/src/H5Aff_F03_f90.html
-./fortran/doc/DevelGuide/src/H5match_types_c.html
-./fortran/doc/DevelGuide/src/H5Rff_F90_f90.html
-./fortran/doc/DevelGuide/src/H5Lff_f90.html
-./fortran/doc/DevelGuide/src/H5FDmpiof_c.html
-./fortran/doc/DevelGuide/src/H5_f_c.html
-./fortran/doc/DevelGuide/src/H5Pff_f90.html
-./fortran/doc/DevelGuide/src/H5Rff_f90.html
-./fortran/doc/DevelGuide/src/H5Tff_f90.html
-./fortran/doc/DevelGuide/src/H5test_kind_f90.html
-./fortran/doc/DevelGuide/src/H5Aff_F90_f90.html
-./fortran/doc/DevelGuide/src/H5Zff_f90.html
-./fortran/doc/DevelGuide/src/HDF5_f90.html
-./fortran/doc/DevelGuide/src/H5_DBLE_InterfaceInclude_f90.html
-./fortran/doc/DevelGuide/src/H5f90kit_c.html
-./fortran/doc/DevelGuide/src/H5Aff_f90.html
-./fortran/doc/DevelGuide/src/H5_DBLE_InterfaceExclude_f90.html
-./fortran/doc/DevelGuide/src/H5Eff_f90.html
-./fortran/doc/DevelGuide/src/H5_ff_F03_f90.html
-./fortran/doc/DevelGuide/src/H5Gff_f90.html
-./fortran/doc/DevelGuide/src/H5test_kind_SIZEOF_f90.html
-./fortran/doc/DevelGuide/src/H5Iff_f90.html
-./fortran/doc/DevelGuide/src/H5Dff_F03_f90.html
-./fortran/doc/DevelGuide/src/H5Af_c.html
-./fortran/doc/DevelGuide/src/H5Off_f90.html
-./fortran/doc/DevelGuide/src/H5Df_c.html
-./fortran/doc/DevelGuide/src/H5Sff_f90.html
-./fortran/doc/DevelGuide/src/H5Ef_c.html
-./fortran/doc/DevelGuide/src/HDF5mpio_f90.html
-./fortran/doc/DevelGuide/src/H5Lff_F03_f90.html
-./fortran/doc/DevelGuide/src/H5Ff_c.html
-./fortran/doc/DevelGuide/src/H5f90global_f90.html
-./fortran/doc/DevelGuide/src/H5Gf_c.html
-./fortran/doc/DevelGuide/src/H5If_c.html
-./fortran/doc/DevelGuide/src/H5Pff_F03_f90.html
-./fortran/doc/DevelGuide/src/H5_ff_F90_f90.html
-./fortran/doc/DevelGuide/src/H5Rff_F03_f90.html
-./fortran/doc/DevelGuide/src/H5Lf_c.html
-./fortran/doc/DevelGuide/src/H5Of_c.html
-./fortran/doc/DevelGuide/src/H5Dff_F90_f90.html
-./fortran/doc/DevelGuide/src/H5Pf_c.html
-./fortran/doc/DevelGuide/src/H5FDmpioff_f90.html
-./fortran/doc/DevelGuide/src/H5_ff_f90.html
-./fortran/doc/DevelGuide/src/H5Rf_c.html
-./fortran/doc/DevelGuide/src/H5Sf_c.html
-./fortran/doc/DevelGuide/src/H5Tf_c.html
-./fortran/doc/DevelGuide/src/H5Dff_f90.html
-./fortran/doc/DevelGuide/src/H5Lff_F90_f90.html
./fortran/examples/Makefile.am
./fortran/examples/Makefile.in
@@ -280,68 +198,44 @@
./fortran/examples/rwdset_fortran2003.f90
./fortran/src/H5_f.c
-./fortran/src/H5_ff.f90
-./fortran/src/H5_ff_F90.f90
-./fortran/src/H5_ff_F03.f90
-./fortran/src/H5_DBLE_InterfaceInclude.f90
-./fortran/src/H5_DBLE_InterfaceExclude.f90
+./fortran/src/H5_ff.F90
./fortran/src/H5Af.c
-./fortran/src/H5Aff.f90
-./fortran/src/H5Aff_F90.f90
-./fortran/src/H5Aff_F03.f90
+./fortran/src/H5Aff.F90
./fortran/src/H5Df.c
-./fortran/src/H5Dff.f90
-./fortran/src/H5Dff_F90.f90
-./fortran/src/H5Dff_F03.f90
+./fortran/src/H5Dff.F90
./fortran/src/H5Ef.c
-./fortran/src/H5Eff.f90
-./fortran/src/H5Eff_F90.f90
-./fortran/src/H5Eff_F03.f90
-./fortran/src/H5FDmpiof.c
-./fortran/src/H5FDmpioff.f90
+./fortran/src/H5Eff.F90
./fortran/src/H5Ff.c
-./fortran/src/H5Fff.f90
-./fortran/src/H5Fff_F90.f90
-./fortran/src/H5Fff_F03.f90
+./fortran/src/H5Fff.F90
./fortran/src/H5Gf.c
-./fortran/src/H5Gff.f90
+./fortran/src/H5Gff.F90
./fortran/src/H5If.c
-./fortran/src/H5Iff.f90
+./fortran/src/H5Iff.F90
./fortran/src/H5Lf.c
-./fortran/src/H5Lff.f90
-./fortran/src/H5Lff_F90.f90
-./fortran/src/H5Lff_F03.f90
+./fortran/src/H5Lff.F90
./fortran/src/H5Of.c
-./fortran/src/H5Off.f90
-./fortran/src/H5Off_F90.f90
-./fortran/src/H5Off_F03.f90
+./fortran/src/H5Off.F90
./fortran/src/H5Pf.c
-./fortran/src/H5Pff.f90
-./fortran/src/H5Pff_F90.f90
-./fortran/src/H5Pff_F03.f90
+./fortran/src/H5Pff.F90
./fortran/src/H5Rf.c
-./fortran/src/H5Rff.f90
-./fortran/src/H5Rff_F90.f90
-./fortran/src/H5Rff_F03.f90
+./fortran/src/H5Rff.F90
./fortran/src/H5Sf.c
-./fortran/src/H5Sff.f90
+./fortran/src/H5Sff.F90
./fortran/src/H5Tf.c
-./fortran/src/H5Tff.f90
-./fortran/src/H5Tff_F90.f90
-./fortran/src/H5Tff_F03.f90
+./fortran/src/H5Tff.F90
./fortran/src/H5Zf.c
-./fortran/src/H5Zff.f90
+./fortran/src/H5Zff.F90
./fortran/src/H5f90.h
-./fortran/src/H5f90global.f90
+./fortran/src/H5f90global.F90
./fortran/src/H5f90i.h
./fortran/src/H5f90kit.c
./fortran/src/H5f90proto.h
-./fortran/src/H5test_kind.f90
-./fortran/src/H5test_kind_SIZEOF.f90
-./fortran/src/H5test_kind_STORAGE_SIZE.f90
+./fortran/src/H5_buildiface.F90
./fortran/src/H5match_types.c
-./fortran/src/HDF5.f90
-./fortran/src/HDF5mpio.f90
+./fortran/src/HDF5.F90
+./fortran/src/H5config_f.inc.in
+./fortran/src/H5config_f.inc.cmake
+./fortran/src/H5fort_type_defines.h.in
./fortran/src/Makefile.am
./fortran/src/Makefile.in
./fortran/src/README
@@ -356,12 +250,10 @@
./fortran/test/fortranlib_test.f90
./fortran/test/fortranlib_test_1_8.f90
./fortran/test/fortranlib_test_F03.f90
+./fortran/test/H5_test_buildiface.F90
./fortran/test/t.c
./fortran/test/t.h
-./fortran/test/tf.f90
-./fortran/test/tf_F90.f90
-./fortran/test/tf_F03.f90
-./fortran/test/tf_F08.f90
+./fortran/test/tf.F90
./fortran/test/tH5A.f90
./fortran/test/tH5A_1_8.f90
./fortran/test/tH5D.f90
@@ -381,7 +273,7 @@
./fortran/test/tH5R.f90
./fortran/test/tH5S.f90
./fortran/test/tH5Sselect.f90
-./fortran/test/tH5T_F03.f90
+./fortran/test/tH5T_F03.F90
./fortran/test/tH5T.f90
./fortran/test/tH5VL.f90
./fortran/test/tH5Z.f90
@@ -496,6 +388,7 @@
./c++/src/Makefile.in
./c++/src/RM_stylesheet.css
./c++/src/cpp_doc_config
+./c++/src/footer.html
./c++/src/h5c++.in
./c++/src/header.html
./c++/src/header_files/filelist.xml
@@ -537,7 +430,6 @@
./release_docs/INSTALL_CMake.txt
./release_docs/INSTALL_Cygwin.txt
./release_docs/INSTALL_parallel
-./release_docs/INSTALL_VMS.txt
./release_docs/INSTALL_Windows.txt
./release_docs/RELEASE.txt
./release_docs/USING_HDF5_CMake.txt
@@ -2427,25 +2319,27 @@
./hl/fortran/examples/ex_ds1.f90
./hl/fortran/examples/exlite.f90
./hl/fortran/examples/run-hlfortran-ex.sh.in
+./hl/fortran/src/hdf5_hl_fortrandll.def.in
./hl/fortran/src/H5DSfc.c
-./hl/fortran/src/H5DSff.f90
+./hl/fortran/src/H5DSff.F90
./hl/fortran/src/H5IMcc.c
./hl/fortran/src/H5IMcc.h
./hl/fortran/src/H5IMfc.c
-./hl/fortran/src/H5IMff.f90
+./hl/fortran/src/H5IMff.F90
+./hl/fortran/src/H5HL_buildiface.F90
./hl/fortran/src/H5LTf90proto.h
./hl/fortran/src/H5LTfc.c
-./hl/fortran/src/H5LTff.f90
+./hl/fortran/src/H5LTff.F90
./hl/fortran/src/H5TBfc.c
-./hl/fortran/src/H5TBff.f90
+./hl/fortran/src/H5TBff.F90
./hl/fortran/src/Makefile.am
./hl/fortran/src/Makefile.in
./hl/fortran/test/Makefile.am
./hl/fortran/test/Makefile.in
-./hl/fortran/test/tstds.f90
-./hl/fortran/test/tstimage.f90
-./hl/fortran/test/tstlite.f90
-./hl/fortran/test/tsttable.f90
+./hl/fortran/test/tstds.F90
+./hl/fortran/test/tstimage.F90
+./hl/fortran/test/tstlite.F90
+./hl/fortran/test/tsttable.F90
# hl c++
./hl/c++/COPYING
@@ -2477,6 +2371,7 @@
./config/cmake/hdf5-config-version.cmake.in
./config/cmake/HDFCompilerFlags.cmake
./config/cmake/HDF5Macros.cmake
+./config/cmake/HDF5UseFortran.cmake
./config/cmake/libhdf5.settings.cmake.in
./config/cmake/mccacheinit.cmake
./config/cmake/patch.xml
@@ -2510,6 +2405,7 @@
./config/cmake/UserMacros/Windows_MT.cmake
# CMake-specific Examples Files
+./config/cmake/HDF5_Examples.cmake.in
./config/cmake/HDF518_Examples.cmake.in
./release_docs/USING_CMake_Examples.txt
diff --git a/Makefile.in b/Makefile.in
index edee230..2e9effd 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -128,7 +128,8 @@ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
configure.lineno config.status.lineno
mkinstalldirs = $(SHELL) $(top_srcdir)/bin/mkinstalldirs
-CONFIG_HEADER = $(top_builddir)/src/H5config.h
+CONFIG_HEADER = $(top_builddir)/src/H5config.h \
+ $(top_builddir)/fortran/src/H5config_f.inc
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
AM_V_P = $(am__v_P_@AM_V@)
@@ -288,14 +289,21 @@ F9XMODEXT = @F9XMODEXT@
F9XMODFLAG = @F9XMODFLAG@
F9XSUFFIXFLAG = @F9XSUFFIXFLAG@
FC = @FC@
-FC2003 = @FC2003@
FCFLAGS = @FCFLAGS@
FCFLAGS_f90 = @FCFLAGS_f90@
FCLIBS = @FCLIBS@
FC_VERSION = @FC_VERSION@
FGREP = @FGREP@
+FORTRAN_C_LONG_DOUBLE_IS_UNIQUE = @FORTRAN_C_LONG_DOUBLE_IS_UNIQUE@
+FORTRAN_HAVE_C_LONG_DOUBLE = @FORTRAN_HAVE_C_LONG_DOUBLE@
+FORTRAN_SIZEOF_LONG_DOUBLE = @FORTRAN_SIZEOF_LONG_DOUBLE@
FSEARCH_DIRS = @FSEARCH_DIRS@
GREP = @GREP@
+H5CONFIG_F_IKIND = @H5CONFIG_F_IKIND@
+H5CONFIG_F_NUM_IKIND = @H5CONFIG_F_NUM_IKIND@
+H5CONFIG_F_NUM_RKIND = @H5CONFIG_F_NUM_RKIND@
+H5CONFIG_F_RKIND = @H5CONFIG_F_RKIND@
+H5CONFIG_F_RKIND_SIZEOF = @H5CONFIG_F_RKIND_SIZEOF@
H5_CFLAGS = @H5_CFLAGS@
H5_CPPFLAGS = @H5_CPPFLAGS@
H5_CXXFLAGS = @H5_CXXFLAGS@
@@ -305,13 +313,12 @@ H5_LDFLAGS = @H5_LDFLAGS@
H5_VERSION = @H5_VERSION@
HADDR_T = @HADDR_T@
HAVE_DMALLOC = @HAVE_DMALLOC@
-HAVE_FORTRAN_2003 = @HAVE_FORTRAN_2003@
+HAVE_Fortran_INTEGER_SIZEOF_16 = @HAVE_Fortran_INTEGER_SIZEOF_16@
HAVE_PTHREAD = @HAVE_PTHREAD@
HDF5_HL = @HDF5_HL@
HDF5_INTERFACES = @HDF5_INTERFACES@
HDF_CXX = @HDF_CXX@
HDF_FORTRAN = @HDF_FORTRAN@
-HDF_FORTRAN2003 = @HDF_FORTRAN2003@
HID_T = @HID_T@
HL = @HL@
HL_FOR = @HL_FOR@
@@ -353,9 +360,20 @@ PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
+PAC_C_MAX_REAL_PRECISION = @PAC_C_MAX_REAL_PRECISION@
+PAC_FC_ALL_INTEGER_KINDS = @PAC_FC_ALL_INTEGER_KINDS@
+PAC_FC_ALL_INTEGER_KINDS_SIZEOF = @PAC_FC_ALL_INTEGER_KINDS_SIZEOF@
+PAC_FC_ALL_REAL_KINDS = @PAC_FC_ALL_REAL_KINDS@
+PAC_FC_ALL_REAL_KINDS_SIZEOF = @PAC_FC_ALL_REAL_KINDS_SIZEOF@
+PAC_FC_MAX_REAL_PRECISION = @PAC_FC_MAX_REAL_PRECISION@
+PAC_FORTRAN_NATIVE_DOUBLE_KIND = @PAC_FORTRAN_NATIVE_DOUBLE_KIND@
+PAC_FORTRAN_NATIVE_DOUBLE_SIZEOF = @PAC_FORTRAN_NATIVE_DOUBLE_SIZEOF@
+PAC_FORTRAN_NATIVE_INTEGER_KIND = @PAC_FORTRAN_NATIVE_INTEGER_KIND@
+PAC_FORTRAN_NATIVE_INTEGER_SIZEOF = @PAC_FORTRAN_NATIVE_INTEGER_SIZEOF@
+PAC_FORTRAN_NATIVE_REAL_KIND = @PAC_FORTRAN_NATIVE_REAL_KIND@
+PAC_FORTRAN_NATIVE_REAL_SIZEOF = @PAC_FORTRAN_NATIVE_REAL_SIZEOF@
PARALLEL = @PARALLEL@
PATH_SEPARATOR = @PATH_SEPARATOR@
-PERL = @PERL@
RANLIB = @RANLIB@
ROOT = @ROOT@
RUNPARALLEL = @RUNPARALLEL@
diff --git a/README.txt b/README.txt
index 3ae4df3..a78bec1 100644
--- a/README.txt
+++ b/README.txt
@@ -1,4 +1,4 @@
-HDF5 version 1.9.227 currently under development
+HDF5 version 1.9.229 currently under development
Please refer to the release_docs/INSTALL file for installation instructions.
------------------------------------------------------------------------------
@@ -8,7 +8,7 @@ specific to this release of the library. Several INSTALL* files can also be
found in the release_docs/ directory: INSTALL contains instructions for
compiling and installing the library; INSTALL_parallel contains instructions
for installing the parallel version of the library; similarly-named files
-contain instructions for VMS and several environments on MS Windows systems.
+contain instructions for several environments on MS Windows systems.
Documentation for this release can be found at the following URL:
http://www.hdfgroup.org/HDF5/doc/.
diff --git a/bin/chkcopyright b/bin/chkcopyright
index fe9fe49..07fcb24 100755
--- a/bin/chkcopyright
+++ b/bin/chkcopyright
@@ -56,7 +56,6 @@ HTM_COPYRIGHT=/tmp/h5chkright_HTM.$$ # HTML style copyright
SH_COPYRIGHT=/tmp/h5chkright_SH.$$ # SHELL style copyright
SH_COPYRIGHT2=/tmp/h5chkright_SH2.$$ # SHELL style copyright, 2nd style.
WINBAT_COPYRIGHT=/tmp/h5chkright_WINBAT.$$ # Windows Batch file Copyright notice
-VMSCMD_COPYRIGHT=/tmp/h5chkright_VMSCMD.$$ # VMS command file Copyright notice
CONFIGURE_AC_COPYRIGHT=/tmp/h5chkright_CONFIGURE_AC.$$ # configure.ac file Copyright notice
tmpfixfile=/tmp/h5chkright_fix.$$ # Temporary fixed copy of file
@@ -223,22 +222,6 @@ dnl http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have
dnl access to either file, you may request a copy from help@hdfgroup.org.
EOF
- # VMS command file Copyright notice
- cat > ${VMSCMD_COPYRIGHT} << \EOF
-$!# Copyright by The HDF Group.
-$!# Copyright by the Board of Trustees of the University of Illinois.
-$!# All rights reserved.
-$!#
-$!# This file is part of HDF5. The full HDF5 copyright notice, including
-$!# terms governing use, modification, and redistribution, is contained in
-$!# the files COPYING and Copyright.html. COPYING can be found at the root
-$!# of the source code distribution tree; Copyright.html can be found at the
-$!# root level of an installed copy of the electronic HDF5 document set and
-$!# is linked from the top-level documents page. It can also be found at
-$!# http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have
-$!# access to either file, you may request a copy from help@hdfgroup.org.
-EOF
-
}
# Initialization
@@ -611,28 +594,6 @@ BATCH_FILE()
}
-# Check Windows Batch files
-#
-VMSCMD_FILE()
-{
- f=$1
- case `MATCH_COPYRIGHT $VMSCMD_COPYRIGHT $f` in
- PASSED)
- PASSED $f
- return
- ;;
- FAILED)
- # show the difference
- FAILED $f
- $DIFF ${EXTRACTEDFILE} ${VMSCMD_COPYRIGHT}
- if [ -n "$FIXIT" ]; then
- FIX_COPYRIGHT $VMSCMD_COPYRIGHT $f
- fi
- ;;
- esac
-}
-
-
# Check Configure.in type files
#
CONFIGURE_AC_FILE()
@@ -834,10 +795,6 @@ while read file; do
# Windows Batch files
BATCH_FILE ${file}
;;
- *.com )
- # VMS Command files
- VMSCMD_FILE ${file}
- ;;
*.h5 | *.hdf5 )
# Ignore HDF5 data files
continue
diff --git a/bin/h5vers b/bin/h5vers
index 2aa8023..2fe9105 100755
--- a/bin/h5vers
+++ b/bin/h5vers
@@ -317,7 +317,7 @@ if ($RELEASE) {
# Update the c++/src/cpp_doc_config file
if ($CPP_DOC_CONFIG) {
my $data = read_file($CPP_DOC_CONFIG);
- my $version_string = sprintf("HDF5 version %d.%d.%d%s %s",
+ my $version_string = sprintf("\"%d.%d.%d%s %s\"",
@newver[0,1,2],
$newver[3] eq "" ? "" : "-".$newver[3],
"currently under development");
diff --git a/c++/CMakeLists.txt b/c++/CMakeLists.txt
index 39280e8..6f288a0 100644
--- a/c++/CMakeLists.txt
+++ b/c++/CMakeLists.txt
@@ -7,15 +7,6 @@ PROJECT (HDF5_CPP)
add_definitions (${HDF_EXTRA_C_FLAGS})
#-----------------------------------------------------------------------------
-# Shared/Static Libs
-#-----------------------------------------------------------------------------
-if (BUILD_SHARED_LIBS)
- set (CPP_BUILT_AS_DYNAMIC_LIB 1)
-else (BUILD_SHARED_LIBS)
- set (CPP_BUILT_AS_STATIC_LIB 1)
-endif (BUILD_SHARED_LIBS)
-
-#-----------------------------------------------------------------------------
# Generate configure file
#-----------------------------------------------------------------------------
configure_file (${HDF_RESOURCES_DIR}/H5cxx_config.h.in
diff --git a/c++/Makefile.in b/c++/Makefile.in
index c964e95..4ff4906 100644
--- a/c++/Makefile.in
+++ b/c++/Makefile.in
@@ -106,7 +106,8 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/aclocal_cxx.m4 \
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(SHELL) $(top_srcdir)/bin/mkinstalldirs
-CONFIG_HEADER = $(top_builddir)/src/H5config.h
+CONFIG_HEADER = $(top_builddir)/src/H5config.h \
+ $(top_builddir)/fortran/src/H5config_f.inc
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
AM_V_P = $(am__v_P_@AM_V@)
@@ -448,14 +449,21 @@ F9XMODEXT = @F9XMODEXT@
F9XMODFLAG = @F9XMODFLAG@
F9XSUFFIXFLAG = @F9XSUFFIXFLAG@
FC = @FC@
-FC2003 = @FC2003@
FCFLAGS = @FCFLAGS@
FCFLAGS_f90 = @FCFLAGS_f90@
FCLIBS = @FCLIBS@
FC_VERSION = @FC_VERSION@
FGREP = @FGREP@
+FORTRAN_C_LONG_DOUBLE_IS_UNIQUE = @FORTRAN_C_LONG_DOUBLE_IS_UNIQUE@
+FORTRAN_HAVE_C_LONG_DOUBLE = @FORTRAN_HAVE_C_LONG_DOUBLE@
+FORTRAN_SIZEOF_LONG_DOUBLE = @FORTRAN_SIZEOF_LONG_DOUBLE@
FSEARCH_DIRS = @FSEARCH_DIRS@
GREP = @GREP@
+H5CONFIG_F_IKIND = @H5CONFIG_F_IKIND@
+H5CONFIG_F_NUM_IKIND = @H5CONFIG_F_NUM_IKIND@
+H5CONFIG_F_NUM_RKIND = @H5CONFIG_F_NUM_RKIND@
+H5CONFIG_F_RKIND = @H5CONFIG_F_RKIND@
+H5CONFIG_F_RKIND_SIZEOF = @H5CONFIG_F_RKIND_SIZEOF@
H5_CFLAGS = @H5_CFLAGS@
H5_CPPFLAGS = @H5_CPPFLAGS@
H5_CXXFLAGS = @H5_CXXFLAGS@
@@ -465,13 +473,12 @@ H5_LDFLAGS = @H5_LDFLAGS@
H5_VERSION = @H5_VERSION@
HADDR_T = @HADDR_T@
HAVE_DMALLOC = @HAVE_DMALLOC@
-HAVE_FORTRAN_2003 = @HAVE_FORTRAN_2003@
+HAVE_Fortran_INTEGER_SIZEOF_16 = @HAVE_Fortran_INTEGER_SIZEOF_16@
HAVE_PTHREAD = @HAVE_PTHREAD@
HDF5_HL = @HDF5_HL@
HDF5_INTERFACES = @HDF5_INTERFACES@
HDF_CXX = @HDF_CXX@
HDF_FORTRAN = @HDF_FORTRAN@
-HDF_FORTRAN2003 = @HDF_FORTRAN2003@
HID_T = @HID_T@
HL = @HL@
HL_FOR = @HL_FOR@
@@ -513,9 +520,20 @@ PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
+PAC_C_MAX_REAL_PRECISION = @PAC_C_MAX_REAL_PRECISION@
+PAC_FC_ALL_INTEGER_KINDS = @PAC_FC_ALL_INTEGER_KINDS@
+PAC_FC_ALL_INTEGER_KINDS_SIZEOF = @PAC_FC_ALL_INTEGER_KINDS_SIZEOF@
+PAC_FC_ALL_REAL_KINDS = @PAC_FC_ALL_REAL_KINDS@
+PAC_FC_ALL_REAL_KINDS_SIZEOF = @PAC_FC_ALL_REAL_KINDS_SIZEOF@
+PAC_FC_MAX_REAL_PRECISION = @PAC_FC_MAX_REAL_PRECISION@
+PAC_FORTRAN_NATIVE_DOUBLE_KIND = @PAC_FORTRAN_NATIVE_DOUBLE_KIND@
+PAC_FORTRAN_NATIVE_DOUBLE_SIZEOF = @PAC_FORTRAN_NATIVE_DOUBLE_SIZEOF@
+PAC_FORTRAN_NATIVE_INTEGER_KIND = @PAC_FORTRAN_NATIVE_INTEGER_KIND@
+PAC_FORTRAN_NATIVE_INTEGER_SIZEOF = @PAC_FORTRAN_NATIVE_INTEGER_SIZEOF@
+PAC_FORTRAN_NATIVE_REAL_KIND = @PAC_FORTRAN_NATIVE_REAL_KIND@
+PAC_FORTRAN_NATIVE_REAL_SIZEOF = @PAC_FORTRAN_NATIVE_REAL_SIZEOF@
PARALLEL = @PARALLEL@
PATH_SEPARATOR = @PATH_SEPARATOR@
-PERL = @PERL@
RANLIB = @RANLIB@
ROOT = @ROOT@
RUNPARALLEL = @RUNPARALLEL@
diff --git a/c++/examples/CMakeLists.txt b/c++/examples/CMakeLists.txt
index ff375f3..cfcdd8d 100644
--- a/c++/examples/CMakeLists.txt
+++ b/c++/examples/CMakeLists.txt
@@ -34,16 +34,16 @@ set (tutr_examples
foreach (example ${examples})
add_executable (cpp_ex_${example} ${HDF5_CPP_EXAMPLES_SOURCE_DIR}/${example}.cpp)
- TARGET_NAMING (cpp_ex_${example} ${LIB_TYPE})
- TARGET_C_PROPERTIES (cpp_ex_${example} ${LIB_TYPE} " " " ")
+ TARGET_NAMING (cpp_ex_${example} STATIC)
+ TARGET_C_PROPERTIES (cpp_ex_${example} STATIC " " " ")
target_link_libraries (cpp_ex_${example} ${HDF5_CPP_LIB_TARGET} ${HDF5_LIB_TARGET})
set_target_properties (cpp_ex_${example} PROPERTIES FOLDER examples/cpp)
endforeach (example ${examples})
foreach (example ${tutr_examples})
add_executable (cpp_ex_${example} ${HDF5_CPP_EXAMPLES_SOURCE_DIR}/${example}.cpp)
- TARGET_NAMING (cpp_ex_${example} ${LIB_TYPE})
- TARGET_C_PROPERTIES (cpp_ex_${example} ${LIB_TYPE} " " " ")
+ TARGET_NAMING (cpp_ex_${example} STATIC)
+ TARGET_C_PROPERTIES (cpp_ex_${example} STATIC " " " ")
target_link_libraries (cpp_ex_${example} ${HDF5_CPP_LIB_TARGET} ${HDF5_LIB_TARGET})
set_target_properties (cpp_ex_${example} PROPERTIES FOLDER examples/cpp)
endforeach (example ${tutr_examples})
diff --git a/c++/examples/Makefile.in b/c++/examples/Makefile.in
index 03bd135..9691b5e 100644
--- a/c++/examples/Makefile.in
+++ b/c++/examples/Makefile.in
@@ -112,7 +112,8 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/aclocal_cxx.m4 \
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(SHELL) $(top_srcdir)/bin/mkinstalldirs
-CONFIG_HEADER = $(top_builddir)/src/H5config.h
+CONFIG_HEADER = $(top_builddir)/src/H5config.h \
+ $(top_builddir)/fortran/src/H5config_f.inc
CONFIG_CLEAN_FILES = run-c++-ex.sh testh5c++.sh
CONFIG_CLEAN_VPATH_FILES =
AM_V_P = $(am__v_P_@AM_V@)
@@ -396,14 +397,21 @@ F9XMODEXT = @F9XMODEXT@
F9XMODFLAG = @F9XMODFLAG@
F9XSUFFIXFLAG = @F9XSUFFIXFLAG@
FC = @FC@
-FC2003 = @FC2003@
FCFLAGS = @FCFLAGS@
FCFLAGS_f90 = @FCFLAGS_f90@
FCLIBS = @FCLIBS@
FC_VERSION = @FC_VERSION@
FGREP = @FGREP@
+FORTRAN_C_LONG_DOUBLE_IS_UNIQUE = @FORTRAN_C_LONG_DOUBLE_IS_UNIQUE@
+FORTRAN_HAVE_C_LONG_DOUBLE = @FORTRAN_HAVE_C_LONG_DOUBLE@
+FORTRAN_SIZEOF_LONG_DOUBLE = @FORTRAN_SIZEOF_LONG_DOUBLE@
FSEARCH_DIRS = @FSEARCH_DIRS@
GREP = @GREP@
+H5CONFIG_F_IKIND = @H5CONFIG_F_IKIND@
+H5CONFIG_F_NUM_IKIND = @H5CONFIG_F_NUM_IKIND@
+H5CONFIG_F_NUM_RKIND = @H5CONFIG_F_NUM_RKIND@
+H5CONFIG_F_RKIND = @H5CONFIG_F_RKIND@
+H5CONFIG_F_RKIND_SIZEOF = @H5CONFIG_F_RKIND_SIZEOF@
H5_CFLAGS = @H5_CFLAGS@
H5_CPPFLAGS = @H5_CPPFLAGS@
H5_CXXFLAGS = @H5_CXXFLAGS@
@@ -413,13 +421,12 @@ H5_LDFLAGS = @H5_LDFLAGS@
H5_VERSION = @H5_VERSION@
HADDR_T = @HADDR_T@
HAVE_DMALLOC = @HAVE_DMALLOC@
-HAVE_FORTRAN_2003 = @HAVE_FORTRAN_2003@
+HAVE_Fortran_INTEGER_SIZEOF_16 = @HAVE_Fortran_INTEGER_SIZEOF_16@
HAVE_PTHREAD = @HAVE_PTHREAD@
HDF5_HL = @HDF5_HL@
HDF5_INTERFACES = @HDF5_INTERFACES@
HDF_CXX = @HDF_CXX@
HDF_FORTRAN = @HDF_FORTRAN@
-HDF_FORTRAN2003 = @HDF_FORTRAN2003@
HID_T = @HID_T@
HL = @HL@
HL_FOR = @HL_FOR@
@@ -461,9 +468,20 @@ PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
+PAC_C_MAX_REAL_PRECISION = @PAC_C_MAX_REAL_PRECISION@
+PAC_FC_ALL_INTEGER_KINDS = @PAC_FC_ALL_INTEGER_KINDS@
+PAC_FC_ALL_INTEGER_KINDS_SIZEOF = @PAC_FC_ALL_INTEGER_KINDS_SIZEOF@
+PAC_FC_ALL_REAL_KINDS = @PAC_FC_ALL_REAL_KINDS@
+PAC_FC_ALL_REAL_KINDS_SIZEOF = @PAC_FC_ALL_REAL_KINDS_SIZEOF@
+PAC_FC_MAX_REAL_PRECISION = @PAC_FC_MAX_REAL_PRECISION@
+PAC_FORTRAN_NATIVE_DOUBLE_KIND = @PAC_FORTRAN_NATIVE_DOUBLE_KIND@
+PAC_FORTRAN_NATIVE_DOUBLE_SIZEOF = @PAC_FORTRAN_NATIVE_DOUBLE_SIZEOF@
+PAC_FORTRAN_NATIVE_INTEGER_KIND = @PAC_FORTRAN_NATIVE_INTEGER_KIND@
+PAC_FORTRAN_NATIVE_INTEGER_SIZEOF = @PAC_FORTRAN_NATIVE_INTEGER_SIZEOF@
+PAC_FORTRAN_NATIVE_REAL_KIND = @PAC_FORTRAN_NATIVE_REAL_KIND@
+PAC_FORTRAN_NATIVE_REAL_SIZEOF = @PAC_FORTRAN_NATIVE_REAL_SIZEOF@
PARALLEL = @PARALLEL@
PATH_SEPARATOR = @PATH_SEPARATOR@
-PERL = @PERL@
RANLIB = @RANLIB@
ROOT = @ROOT@
RUNPARALLEL = @RUNPARALLEL@
diff --git a/c++/src/CMakeLists.txt b/c++/src/CMakeLists.txt
index 44b912c..1ae5647 100644
--- a/c++/src/CMakeLists.txt
+++ b/c++/src/CMakeLists.txt
@@ -2,13 +2,6 @@ cmake_minimum_required (VERSION 3.1.0)
PROJECT (HDF5_CPP_SRC)
#-----------------------------------------------------------------------------
-# Shared/Static Libs
-#-----------------------------------------------------------------------------
-if (BUILD_SHARED_LIBS)
- set (CPP_BUILT_AS_DYNAMIC_LIB 1)
-endif (BUILD_SHARED_LIBS)
-
-#-----------------------------------------------------------------------------
# Generate configure file
#-----------------------------------------------------------------------------
configure_file (${HDF_RESOURCES_DIR}/H5cxx_config.h.in
@@ -83,15 +76,31 @@ set (CPP_HDRS
${HDF5_CPP_SRC_SOURCE_DIR}/H5VarLenType.h
)
-add_library (${HDF5_CPP_LIB_TARGET} ${LIB_TYPE} ${CPP_SRCS} ${CPP_HDRS})
-TARGET_C_PROPERTIES (${HDF5_CPP_LIB_TARGET} ${LIB_TYPE} " " " ")
+add_library (${HDF5_CPP_LIB_TARGET} STATIC ${CPP_SRCS} ${CPP_HDRS})
+TARGET_C_PROPERTIES (${HDF5_CPP_LIB_TARGET} STATIC " " " ")
target_link_libraries (${HDF5_CPP_LIB_TARGET} ${HDF5_LIB_TARGET})
set_global_variable (HDF5_LIBRARIES_TO_EXPORT "${HDF5_LIBRARIES_TO_EXPORT};${HDF5_CPP_LIB_TARGET}")
-H5_SET_LIB_OPTIONS (${HDF5_CPP_LIB_TARGET} ${HDF5_CPP_LIB_NAME} ${LIB_TYPE})
+H5_SET_LIB_OPTIONS (${HDF5_CPP_LIB_TARGET} ${HDF5_CPP_LIB_NAME} STATIC)
set_target_properties (${HDF5_CPP_LIB_TARGET} PROPERTIES
FOLDER libraries/cpp
INTERFACE_INCLUDE_DIRECTORIES "$<INSTALL_INTERFACE:$<INSTALL_PREFIX>/include>"
)
+set (install_targets ${HDF5_CPP_LIB_TARGET})
+
+if (BUILD_SHARED_LIBS)
+ add_library (${HDF5_CPP_LIBSH_TARGET} SHARED ${CPP_SRCS} ${CPP_HDRS})
+ TARGET_C_PROPERTIES (${HDF5_CPP_LIBSH_TARGET} SHARED " " " ")
+ target_link_libraries (${HDF5_CPP_LIBSH_TARGET} ${HDF5_LIBSH_TARGET})
+ set_global_variable (HDF5_LIBRARIES_TO_EXPORT "${HDF5_LIBRARIES_TO_EXPORT};${HDF5_CPP_LIBSH_TARGET}")
+ H5_SET_LIB_OPTIONS (${HDF5_CPP_LIBSH_TARGET} ${HDF5_CPP_LIB_NAME} SHARED)
+ set_target_properties (${HDF5_CPP_LIBSH_TARGET} PROPERTIES
+ FOLDER libraries/cpp
+ COMPILE_DEFINITIONS "H5_BUILT_AS_DYNAMIC_LIB"
+ INTERFACE_INCLUDE_DIRECTORIES "$<INSTALL_INTERFACE:$<INSTALL_PREFIX>/include>"
+ INTERFACE_COMPILE_DEFINITIONS H5_BUILT_AS_DYNAMIC_LIB=1
+ )
+ set (install_targets ${install_targets} ${HDF5_CPP_LIBSH_TARGET})
+endif (BUILD_SHARED_LIBS)
#-----------------------------------------------------------------------------
# Add file(s) to CMake Install
@@ -110,12 +119,12 @@ install (
#-----------------------------------------------------------------------------
if (HDF5_EXPORTED_TARGETS)
if (BUILD_SHARED_LIBS)
- INSTALL_TARGET_PDB (${HDF5_CPP_LIB_TARGET} ${HDF5_INSTALL_BIN_DIR} cpplibraries)
+ INSTALL_TARGET_PDB (${HDF5_CPP_LIBSH_TARGET} ${HDF5_INSTALL_BIN_DIR} cpplibraries)
endif (BUILD_SHARED_LIBS)
install (
TARGETS
- ${HDF5_CPP_LIB_TARGET}
+ ${install_targets}
EXPORT
${HDF5_EXPORTED_TARGETS}
LIBRARY DESTINATION ${HDF5_INSTALL_LIB_DIR} COMPONENT cpplibraries
diff --git a/c++/src/H5IdComponent.cpp b/c++/src/H5IdComponent.cpp
index c01d41e..bcd69c4 100644
--- a/c++/src/H5IdComponent.cpp
+++ b/c++/src/H5IdComponent.cpp
@@ -285,15 +285,9 @@ IdComponent::~IdComponent() {}
//--------------------------------------------------------------------------
H5std_string IdComponent::inMemFunc(const char* func_name) const
{
-#ifdef H5_VMS
- H5std_string full_name = fromClass();
- full_name.append("::");
- full_name.append(func_name);
-#else
H5std_string full_name = func_name;
full_name.insert(0, "::");
full_name.insert(0, fromClass());
-#endif /*H5_VMS*/
return (full_name);
}
diff --git a/c++/src/Makefile.in b/c++/src/Makefile.in
index 5dff737..e882e8b 100644
--- a/c++/src/Makefile.in
+++ b/c++/src/Makefile.in
@@ -111,7 +111,8 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/aclocal_cxx.m4 \
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(SHELL) $(top_srcdir)/bin/mkinstalldirs
-CONFIG_HEADER = $(top_builddir)/src/H5config.h
+CONFIG_HEADER = $(top_builddir)/src/H5config.h \
+ $(top_builddir)/fortran/src/H5config_f.inc
CONFIG_CLEAN_FILES = h5c++
CONFIG_CLEAN_VPATH_FILES =
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
@@ -174,7 +175,7 @@ AM_V_at = $(am__v_at_@AM_V@)
am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
am__v_at_0 = @
am__v_at_1 =
-DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/src
+DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/src -I$(top_builddir)/fortran/src
depcomp = $(SHELL) $(top_srcdir)/bin/depcomp
am__depfiles_maybe = depfiles
am__mv = mv -f
@@ -459,14 +460,21 @@ F9XMODEXT = @F9XMODEXT@
F9XMODFLAG = @F9XMODFLAG@
F9XSUFFIXFLAG = @F9XSUFFIXFLAG@
FC = @FC@
-FC2003 = @FC2003@
FCFLAGS = @FCFLAGS@
FCFLAGS_f90 = @FCFLAGS_f90@
FCLIBS = @FCLIBS@
FC_VERSION = @FC_VERSION@
FGREP = @FGREP@
+FORTRAN_C_LONG_DOUBLE_IS_UNIQUE = @FORTRAN_C_LONG_DOUBLE_IS_UNIQUE@
+FORTRAN_HAVE_C_LONG_DOUBLE = @FORTRAN_HAVE_C_LONG_DOUBLE@
+FORTRAN_SIZEOF_LONG_DOUBLE = @FORTRAN_SIZEOF_LONG_DOUBLE@
FSEARCH_DIRS = @FSEARCH_DIRS@
GREP = @GREP@
+H5CONFIG_F_IKIND = @H5CONFIG_F_IKIND@
+H5CONFIG_F_NUM_IKIND = @H5CONFIG_F_NUM_IKIND@
+H5CONFIG_F_NUM_RKIND = @H5CONFIG_F_NUM_RKIND@
+H5CONFIG_F_RKIND = @H5CONFIG_F_RKIND@
+H5CONFIG_F_RKIND_SIZEOF = @H5CONFIG_F_RKIND_SIZEOF@
H5_CFLAGS = @H5_CFLAGS@
H5_CPPFLAGS = @H5_CPPFLAGS@
H5_CXXFLAGS = @H5_CXXFLAGS@
@@ -476,13 +484,12 @@ H5_LDFLAGS = @H5_LDFLAGS@
H5_VERSION = @H5_VERSION@
HADDR_T = @HADDR_T@
HAVE_DMALLOC = @HAVE_DMALLOC@
-HAVE_FORTRAN_2003 = @HAVE_FORTRAN_2003@
+HAVE_Fortran_INTEGER_SIZEOF_16 = @HAVE_Fortran_INTEGER_SIZEOF_16@
HAVE_PTHREAD = @HAVE_PTHREAD@
HDF5_HL = @HDF5_HL@
HDF5_INTERFACES = @HDF5_INTERFACES@
HDF_CXX = @HDF_CXX@
HDF_FORTRAN = @HDF_FORTRAN@
-HDF_FORTRAN2003 = @HDF_FORTRAN2003@
HID_T = @HID_T@
HL = @HL@
HL_FOR = @HL_FOR@
@@ -524,9 +531,20 @@ PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
+PAC_C_MAX_REAL_PRECISION = @PAC_C_MAX_REAL_PRECISION@
+PAC_FC_ALL_INTEGER_KINDS = @PAC_FC_ALL_INTEGER_KINDS@
+PAC_FC_ALL_INTEGER_KINDS_SIZEOF = @PAC_FC_ALL_INTEGER_KINDS_SIZEOF@
+PAC_FC_ALL_REAL_KINDS = @PAC_FC_ALL_REAL_KINDS@
+PAC_FC_ALL_REAL_KINDS_SIZEOF = @PAC_FC_ALL_REAL_KINDS_SIZEOF@
+PAC_FC_MAX_REAL_PRECISION = @PAC_FC_MAX_REAL_PRECISION@
+PAC_FORTRAN_NATIVE_DOUBLE_KIND = @PAC_FORTRAN_NATIVE_DOUBLE_KIND@
+PAC_FORTRAN_NATIVE_DOUBLE_SIZEOF = @PAC_FORTRAN_NATIVE_DOUBLE_SIZEOF@
+PAC_FORTRAN_NATIVE_INTEGER_KIND = @PAC_FORTRAN_NATIVE_INTEGER_KIND@
+PAC_FORTRAN_NATIVE_INTEGER_SIZEOF = @PAC_FORTRAN_NATIVE_INTEGER_SIZEOF@
+PAC_FORTRAN_NATIVE_REAL_KIND = @PAC_FORTRAN_NATIVE_REAL_KIND@
+PAC_FORTRAN_NATIVE_REAL_SIZEOF = @PAC_FORTRAN_NATIVE_REAL_SIZEOF@
PARALLEL = @PARALLEL@
PATH_SEPARATOR = @PATH_SEPARATOR@
-PERL = @PERL@
RANLIB = @RANLIB@
ROOT = @ROOT@
RUNPARALLEL = @RUNPARALLEL@
@@ -670,7 +688,7 @@ CHECK_CLEANFILES = *.chkexe *.chklog *.clog *.clog2
# After making changes, run bin/reconfigure to update other configure related
# files like Makefile.in.
LT_VERS_INTERFACE = 6
-LT_VERS_REVISION = 217
+LT_VERS_REVISION = 219
LT_VERS_AGE = 0
# This is our main target
diff --git a/c++/src/cpp_doc_config b/c++/src/cpp_doc_config
index 53d9a7d..6624fad 100644
--- a/c++/src/cpp_doc_config
+++ b/c++/src/cpp_doc_config
@@ -38,7 +38,7 @@ PROJECT_NAME = "HDF5 C++ API"
# could be handy for archiving the generated documentation or if some version
# control system is used.
-PROJECT_NUMBER = HDF5 version 1.9.227 currently under development
+PROJECT_NUMBER = "1.9.229 currently under development"
# Using the PROJECT_BRIEF tag one can provide an optional one line description
# for a project that appears at the top of each page and should give viewer a
@@ -873,7 +873,7 @@ EXAMPLE_RECURSIVE = NO
# that contain images that are to be included in the documentation (see the
# \image command).
-IMAGE_PATH =
+IMAGE_PATH = ./header_files
# The INPUT_FILTER tag can be used to specify a program that doxygen should
# invoke to filter for each input file. Doxygen will invoke the filter program
@@ -1106,7 +1106,7 @@ HTML_HEADER =
# that doxygen normally uses.
# This tag requires that the tag GENERATE_HTML is set to YES.
-HTML_FOOTER =
+HTML_FOOTER = footer.html
# The HTML_STYLESHEET tag can be used to specify a user-defined cascading style
# sheet that is used by each HTML page. It can be used to fine-tune the look of
@@ -1139,7 +1139,7 @@ HTML_EXTRA_STYLESHEET =
# files will be copied as-is; there are no commands or markers available.
# This tag requires that the tag GENERATE_HTML is set to YES.
-HTML_EXTRA_FILES =
+HTML_EXTRA_FILES = ./header_files/help.jpg
# The HTML_COLORSTYLE_HUE tag controls the color of the HTML output. Doxygen
# will adjust the colors in the stylesheet and background images according to
diff --git a/c++/src/footer.html b/c++/src/footer.html
new file mode 100644
index 0000000..ba37ee7
--- /dev/null
+++ b/c++/src/footer.html
@@ -0,0 +1,24 @@
+
+<!-- INCLUDE VIA PHP FROM <doc_root>/ed_libs/Footer.htm -->
+
+<address>
+<p><hr/></p>
+<table width="100%" border="0">
+ <tr valign="top">
+ <td align="left">
+ <address>
+ <em> The HDF Group Help Desk:</em> <img src="help.jpg" align=top height=16>
+ </address>
+ </td><td width="5%">&nbsp;</td>
+ <td align="right">
+ <a href="https://www.hdfgroup.org/HDF5/doc/Copyright.html">Copyright</a> by
+ <a href="https://www.hdfgroup.org">The HDF Group</a>
+ <br>
+ and the Board of Trustees of the University of Illinois
+ </td>
+ </tr>
+</table>
+</address>
+
+<!-- END PHP INCLUDE FROM <doc_root>/ed_libs/Footer.htm -->
+
diff --git a/c++/test/CMakeLists.txt b/c++/test/CMakeLists.txt
index dcdf3a3..6f1d857 100644
--- a/c++/test/CMakeLists.txt
+++ b/c++/test/CMakeLists.txt
@@ -35,8 +35,8 @@ set (srcdir ${CMAKE_CURRENT_SOURCE_DIR})
configure_file (${HDF5_CPP_TEST_SOURCE_DIR}/H5srcdir_str.h.in H5srcdir_str.h @ONLY)
add_executable (cpp_testhdf5 ${CPP_TEST_SRCS} )
-TARGET_NAMING (cpp_testhdf5 ${LIB_TYPE})
-TARGET_C_PROPERTIES (cpp_testhdf5 ${LIB_TYPE} " " " ")
+TARGET_NAMING (cpp_testhdf5 STATIC)
+TARGET_C_PROPERTIES (cpp_testhdf5 STATIC " " " ")
target_link_libraries (cpp_testhdf5
${HDF5_CPP_LIB_TARGET}
${HDF5_LIB_TARGET}
diff --git a/c++/test/Makefile.in b/c++/test/Makefile.in
index 8711eef..e487e54 100644
--- a/c++/test/Makefile.in
+++ b/c++/test/Makefile.in
@@ -108,7 +108,8 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/aclocal_cxx.m4 \
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(SHELL) $(top_srcdir)/bin/mkinstalldirs
-CONFIG_HEADER = $(top_builddir)/src/H5config.h
+CONFIG_HEADER = $(top_builddir)/src/H5config.h \
+ $(top_builddir)/fortran/src/H5config_f.inc
CONFIG_CLEAN_FILES = H5srcdir_str.h
CONFIG_CLEAN_VPATH_FILES =
am__EXEEXT_1 = testhdf5$(EXEEXT)
@@ -136,7 +137,7 @@ AM_V_at = $(am__v_at_@AM_V@)
am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
am__v_at_0 = @
am__v_at_1 =
-DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/src
+DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/src -I$(top_builddir)/fortran/src
depcomp = $(SHELL) $(top_srcdir)/bin/depcomp
am__depfiles_maybe = depfiles
am__mv = mv -f
@@ -450,14 +451,21 @@ F9XMODEXT = @F9XMODEXT@
F9XMODFLAG = @F9XMODFLAG@
F9XSUFFIXFLAG = @F9XSUFFIXFLAG@
FC = @FC@
-FC2003 = @FC2003@
FCFLAGS = @FCFLAGS@
FCFLAGS_f90 = @FCFLAGS_f90@
FCLIBS = @FCLIBS@
FC_VERSION = @FC_VERSION@
FGREP = @FGREP@
+FORTRAN_C_LONG_DOUBLE_IS_UNIQUE = @FORTRAN_C_LONG_DOUBLE_IS_UNIQUE@
+FORTRAN_HAVE_C_LONG_DOUBLE = @FORTRAN_HAVE_C_LONG_DOUBLE@
+FORTRAN_SIZEOF_LONG_DOUBLE = @FORTRAN_SIZEOF_LONG_DOUBLE@
FSEARCH_DIRS = @FSEARCH_DIRS@
GREP = @GREP@
+H5CONFIG_F_IKIND = @H5CONFIG_F_IKIND@
+H5CONFIG_F_NUM_IKIND = @H5CONFIG_F_NUM_IKIND@
+H5CONFIG_F_NUM_RKIND = @H5CONFIG_F_NUM_RKIND@
+H5CONFIG_F_RKIND = @H5CONFIG_F_RKIND@
+H5CONFIG_F_RKIND_SIZEOF = @H5CONFIG_F_RKIND_SIZEOF@
H5_CFLAGS = @H5_CFLAGS@
H5_CPPFLAGS = @H5_CPPFLAGS@
H5_CXXFLAGS = @H5_CXXFLAGS@
@@ -467,13 +475,12 @@ H5_LDFLAGS = @H5_LDFLAGS@
H5_VERSION = @H5_VERSION@
HADDR_T = @HADDR_T@
HAVE_DMALLOC = @HAVE_DMALLOC@
-HAVE_FORTRAN_2003 = @HAVE_FORTRAN_2003@
+HAVE_Fortran_INTEGER_SIZEOF_16 = @HAVE_Fortran_INTEGER_SIZEOF_16@
HAVE_PTHREAD = @HAVE_PTHREAD@
HDF5_HL = @HDF5_HL@
HDF5_INTERFACES = @HDF5_INTERFACES@
HDF_CXX = @HDF_CXX@
HDF_FORTRAN = @HDF_FORTRAN@
-HDF_FORTRAN2003 = @HDF_FORTRAN2003@
HID_T = @HID_T@
HL = @HL@
HL_FOR = @HL_FOR@
@@ -515,9 +522,20 @@ PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
+PAC_C_MAX_REAL_PRECISION = @PAC_C_MAX_REAL_PRECISION@
+PAC_FC_ALL_INTEGER_KINDS = @PAC_FC_ALL_INTEGER_KINDS@
+PAC_FC_ALL_INTEGER_KINDS_SIZEOF = @PAC_FC_ALL_INTEGER_KINDS_SIZEOF@
+PAC_FC_ALL_REAL_KINDS = @PAC_FC_ALL_REAL_KINDS@
+PAC_FC_ALL_REAL_KINDS_SIZEOF = @PAC_FC_ALL_REAL_KINDS_SIZEOF@
+PAC_FC_MAX_REAL_PRECISION = @PAC_FC_MAX_REAL_PRECISION@
+PAC_FORTRAN_NATIVE_DOUBLE_KIND = @PAC_FORTRAN_NATIVE_DOUBLE_KIND@
+PAC_FORTRAN_NATIVE_DOUBLE_SIZEOF = @PAC_FORTRAN_NATIVE_DOUBLE_SIZEOF@
+PAC_FORTRAN_NATIVE_INTEGER_KIND = @PAC_FORTRAN_NATIVE_INTEGER_KIND@
+PAC_FORTRAN_NATIVE_INTEGER_SIZEOF = @PAC_FORTRAN_NATIVE_INTEGER_SIZEOF@
+PAC_FORTRAN_NATIVE_REAL_KIND = @PAC_FORTRAN_NATIVE_REAL_KIND@
+PAC_FORTRAN_NATIVE_REAL_SIZEOF = @PAC_FORTRAN_NATIVE_REAL_SIZEOF@
PARALLEL = @PARALLEL@
PATH_SEPARATOR = @PATH_SEPARATOR@
-PERL = @PERL@
RANLIB = @RANLIB@
ROOT = @ROOT@
RUNPARALLEL = @RUNPARALLEL@
diff --git a/c++/test/tfile.cpp b/c++/test/tfile.cpp
index f3bbb16..f84ce3a 100644
--- a/c++/test/tfile.cpp
+++ b/c++/test/tfile.cpp
@@ -109,9 +109,7 @@ static void test_file_create()
file1 = new H5File (FILE1, H5F_ACC_EXCL);
// Try to create the same file with H5F_ACC_TRUNC. This should fail
- // because file1 is the same file and is currently open. Skip it on
- // OpenVMS because it creates another version of the file.
-#ifndef H5_HAVE_FILE_VERSIONS
+ // because file1 is the same file and is currently open.
try {
H5File file2 (FILE1, H5F_ACC_TRUNC); // should throw E
@@ -120,7 +118,6 @@ static void test_file_create()
}
catch( FileIException E ) // catch truncating existing file
{} // do nothing, FAIL expected
-#endif // H5_HAVE_FILE_VERSIONS
// Close file1
delete file1;
@@ -141,9 +138,7 @@ static void test_file_create()
file1 = new H5File (FILE1, H5F_ACC_TRUNC);
// Try to create first file again. This should fail because file1
- // is the same file and is currently open. Skip it on OpenVMS because
- // it creates another version of the file.
-#ifndef H5_HAVE_FILE_VERSIONS
+ // is the same file and is currently open.
try {
H5File file2 (FILE1, H5F_ACC_TRUNC); // should throw E
@@ -154,7 +149,7 @@ static void test_file_create()
{} // do nothing, FAIL expected
// Try with H5F_ACC_EXCL. This should fail too because the file already
- // exists. Skip it on OpenVMS because it creates another version of the file.
+ // exists.
try {
H5File file3 (FILE1, H5F_ACC_EXCL); // should throw E
@@ -163,7 +158,6 @@ static void test_file_create()
}
catch( FileIException E ) // catching H5F_ACC_EXCL on existing file
{} // do nothing, FAIL expected
-#endif /*H5_HAVE_FILE_VERSIONS*/
// Get the file-creation template
FileCreatPropList tmpl1 = file1->getCreatePlist();
diff --git a/c++/test/tlinks.cpp b/c++/test/tlinks.cpp
index 291b649..33d10ea 100644
--- a/c++/test/tlinks.cpp
+++ b/c++/test/tlinks.cpp
@@ -58,60 +58,6 @@
/* File for external link test. Created with gen_udlinks.c */
#define LINKED_FILE "be_extlink2.h5"
-#ifdef H5_VMS
-#if 0
-const char *FILENAME[] = {
- "links0",
- "links1",
- "links2",
- "links3",
- "links4a", /* 4 */
- "links4b", /* 5 */
- "links4c", /* 6 */
- "links4d", /* 7 */
- "links5", /* 8 */
- "links6", /* 9 */
- "links7", /* 10 */
- "links8", /* 11 */
- "extlinks0", /* 12: main files */
- "[.tmp]extlinks0", /* 13: */
- "extlinks1", /* 14: target files */
- "[.tmp]extlinks1", /* 15: */
- "extlinks2", /* 16: */
- "[.tmp]extlinks2", /* 17: */
- "extlinks3", /* 18: */
- "[.tmp]extlinks3", /* 19: */
- "extlinks4", /* 20: */
- "[.tmp]extlinks4", /* 21: */
- "extlinks5", /* 22: */
- "[.tmp]extlinks6", /* 23: */
- "extlinks7", /* 24: */
- "[.tmp]extlinks7", /* 25: */
- "[.tmp]extlinks8", /* 26: */
- "extlinks9", /* 27: */
- "[.tmp]extlinks9", /* 28: */
- "extlinks10", /* 29: */ /* TESTS for windows */
- "[.tmp]extlinks10", /* 30: */
- "[.tmp]extlinks11", /* 31: */
- "[.tmp]extlinks12", /* 32: */
- "extlinks13", /* 33: */
- "[.tmp]extlinks13", /* 34: */
- "[.tmp]extlinks14", /* 35: */
- "[.tmp]extlinks15", /* 36: */
- "extlinks16A", /* 37: */ /* TESTS for H5P_set_elink_fapl */
- "extlinks16B", /* 38: */
- "extlinks17", /* 39: */
- "extlinks18A", /* 40: */
- "extlinks18B", /* 41: */
- "extlinks19A", /* 42: */
- "extlinks19B", /* 43: */
- "extlinks20", /* 44: */
- NULL
-};
-#endif // 0
-
-#define TMPDIR "[.tmp]"
-#else
#if 0
const char *FILENAME[] = {
"links0",
@@ -165,7 +111,6 @@ const char *FILENAME[] = {
#endif // 0
#define TMPDIR "tmp"
-#endif
#define FAMILY_SIZE 1024
#define CORE_INCREMENT 1024
@@ -574,16 +519,12 @@ void test_links()
#ifndef H5_NO_DEPRECATED_SYMBOLS
nerrors += test_deprec(my_fapl, new_format);
#endif /* H5_NO_DEPRECATED_SYMBOLS */
-#ifndef H5_CANNOT_OPEN_TWICE
nerrors += external_link_root(my_fapl, new_format) < 0 ? 1 : 0;
-#endif /* H5_CANNOT_OPEN_TWICE */
nerrors += external_link_path(my_fapl, new_format) < 0 ? 1 : 0;
nerrors += external_link_mult(my_fapl, new_format) < 0 ? 1 : 0;
-#ifndef H5_CANNOT_OPEN_TWICE
nerrors += external_link_self(envval, my_fapl, new_format) < 0 ? 1 : 0;
nerrors += external_link_pingpong(envval, my_fapl, new_format) < 0 ? 1 : 0;
nerrors += external_link_toomany(my_fapl, new_format) < 0 ? 1 : 0;
-#endif /* H5_CANNOT_OPEN_TWICE */
nerrors += external_link_dangling(my_fapl, new_format) < 0 ? 1 : 0;
nerrors += external_link_recursive(my_fapl, new_format) < 0 ? 1 : 0;
nerrors += external_link_query(my_fapl, new_format) < 0 ? 1 : 0;
@@ -591,9 +532,7 @@ void test_links()
nerrors += external_link_unlink_dense(my_fapl, new_format) < 0 ? 1 : 0;
nerrors += external_link_move(my_fapl, new_format) < 0 ? 1 : 0;
nerrors += external_link_ride(my_fapl, new_format) < 0 ? 1 : 0;
-#ifndef H5_CANNOT_OPEN_TWICE
nerrors += external_link_closing(envval, my_fapl, new_format) < 0 ? 1 : 0;
-#endif /* H5_CANNOT_OPEN_TWICE */
nerrors += external_link_endian(new_format) < 0 ? 1 : 0;
nerrors += external_link_strong(my_fapl, new_format) < 0 ? 1 : 0;
diff --git a/config/cmake/ConfigureChecks.cmake b/config/cmake/ConfigureChecks.cmake
index 09f1caf..b9f18a9 100644
--- a/config/cmake/ConfigureChecks.cmake
+++ b/config/cmake/ConfigureChecks.cmake
@@ -158,6 +158,17 @@ if (NOT WINDOWS)
endif (HDF5_ENABLE_DIRECT_VFD)
endif (NOT WINDOWS)
+#-----------------------------------------------------------------------------
+# Check if C has __float128 extension
+#-----------------------------------------------------------------------------
+
+CHECK_TYPE_SIZE("__float128" SIZEOF___FLOAT128)
+if(${HAVE_SIZEOF___FLOAT128})
+ SET(H5_HAVE_FLOAT128 1)
+else (${HAVE_SIZEOF___FLOAT128})
+ SET(H5_HAVE_FLOAT128 0)
+ SET(SIZEOF___FLOAT128 0)
+endif(${HAVE_SIZEOF___FLOAT128})
#-----------------------------------------------------------------------------
# Macro to determine the various conversion capabilities
diff --git a/config/cmake/H5pubconf.h.in b/config/cmake/H5pubconf.h.in
index 31bcc08..37bcfbf 100644
--- a/config/cmake/H5pubconf.h.in
+++ b/config/cmake/H5pubconf.h.in
@@ -15,24 +15,6 @@
/* Define if using a Windows compiler (i.e. Visual Studio) */
#cmakedefine H5_HAVE_VISUAL_STUDIO @H5_HAVE_VISUAL_STUDIO@
-/* Defined if HDF5 was built with CMake AND build as a shared library */
-#cmakedefine H5_BUILT_AS_DYNAMIC_LIB @H5_BUILT_AS_DYNAMIC_LIB@
-
-/* Defined if HDF5 was built with CMake AND build as a static library */
-#cmakedefine H5_BUILT_AS_STATIC_LIB @H5_BUILT_AS_STATIC_LIB@
-
-/* Defined if HDF5 CPP was built with CMake AND build as a shared library */
-#cmakedefine H5_CPP_BUILT_AS_DYNAMIC_LIB @H5_CPP_BUILT_AS_DYNAMIC_LIB@
-
-/* Defined if HDF5 CPP was built with CMake AND build as a static library */
-#cmakedefine H5_CPP_BUILT_AS_STATIC_LIB @H5_CPP_BUILT_AS_STATIC_LIB@
-
-/* Defined if HDF5 HL was built with CMake AND build as a shared library */
-#cmakedefine H5_HL_BUILT_AS_DYNAMIC_LIB @H5_HL_BUILT_AS_DYNAMIC_LIB@
-
-/* Defined if HDF5 HL was built with CMake AND build as a static library */
-#cmakedefine H5_HL_BUILT_AS_STATIC_LIB @H5_HL_BUILT_AS_STATIC_LIB@
-
/* Define if building universal (internal helper macro) */
#cmakedefine H5_AC_APPLE_UNIVERSAL_BUILD @H5_AC_APPLE_UNIVERSAL_BUILD@
@@ -63,6 +45,18 @@
/* As FC_FUNC, but for C identifiers containing underscores. */
#define @H5_FC_FUNC_@
+/* Define Fortran Maximum Real Decimal Precision */
+#cmakedefine H5_PAC_FC_MAX_REAL_PRECISION @H5_PAC_FC_MAX_REAL_PRECISION@
+
+/* Define C Maximum Real Decimal Precision */
+#cmakedefine H5_PAC_C_MAX_REAL_PRECISION @H5_PAC_C_MAX_REAL_PRECISION@
+
+/* Define if we have Fortran C_LONG_DOUBLE */
+#cmakedefine H5_FORTRAN_HAVE_C_LONG_DOUBLE @H5_FORTRAN_HAVE_C_LONG_DOUBLE@
+
+/* Determine if __float128 is available */
+#cmakedefine H5_HAVE_FLOAT128 @H5_HAVE_FLOAT128@
+
/* Define to 1 if you have the `alarm' function. */
#cmakedefine H5_HAVE_ALARM @H5_HAVE_ALARM@
diff --git a/config/cmake/HDF518_Examples.cmake.in b/config/cmake/HDF518_Examples.cmake.in
index febf20a..c82fcf2 100644
--- a/config/cmake/HDF518_Examples.cmake.in
+++ b/config/cmake/HDF518_Examples.cmake.in
@@ -13,7 +13,6 @@ set(CTEST_DASHBOARD_ROOT ${CTEST_SCRIPT_DIRECTORY})
set(CTEST_BUILD_CONFIGURATION "Release")
#set(NO_MAC_FORTRAN "true")
#set(BUILD_OPTIONS "${BUILD_OPTIONS} -DHDF_BUILD_FORTRAN:BOOL=ON")
-set(BUILD_OPTIONS "${BUILD_OPTIONS} -DHDF_ENABLE_F2003:BOOL=ON")
#set(CTEST_USE_TAR_SOURCE "${CTEST_SCRIPT_ARG}")
###############################################################################################################
@@ -123,4 +122,4 @@ if(res GREATER 0)
endif(res GREATER 0)
#-----------------------------------------------------------------------------
##############################################################################################################
-message(STATUS "DONE") \ No newline at end of file
+message(STATUS "DONE")
diff --git a/config/cmake/HDF5UseFortran.cmake b/config/cmake/HDF5UseFortran.cmake
new file mode 100644
index 0000000..8ca10a7
--- /dev/null
+++ b/config/cmake/HDF5UseFortran.cmake
@@ -0,0 +1,489 @@
+
+## Check for non-standard extenstion quadmath.h
+
+CHECK_INCLUDE_FILES(quadmath.h C_HAVE_QUADMATH)
+
+if (${C_HAVE_QUADMATH})
+ set(HAVE_QUADMATH 1)
+else ()
+ set(HAVE_QUADMATH 0)
+endif()
+
+#
+# This file provides functions for HDF5 specific Fortran support.
+#
+#-------------------------------------------------------------------------------
+ENABLE_LANGUAGE (Fortran)
+
+# The provided CMake Fortran macros don't provide a general compile/run function
+# so this one is used.
+#-----------------------------------------------------------------------------
+MACRO (FORTRAN_RUN FUNCTION CODE RUN_RESULT_VAR1 COMPILE_RESULT_VAR RETURN)
+# MSB CHECK WHY THIS CHECK?
+# if (NOT DEFINED ${RUN_RESULT_VAR})
+ message (STATUS "Detecting Fortran ${FUNCTION}")
+ if (CMAKE_REQUIRED_LIBRARIES)
+ set (CHECK_FUNCTION_EXISTS_ADD_LIBRARIES
+ "-DLINK_LIBRARIES:STRING=${CMAKE_REQUIRED_LIBRARIES}")
+ else (CMAKE_REQUIRED_LIBRARIES)
+ set (CHECK_FUNCTION_EXISTS_ADD_LIBRARIES)
+ endif (CMAKE_REQUIRED_LIBRARIES)
+ file (WRITE
+ ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/testFortranCompiler1.f90
+ "${CODE}"
+ )
+ TRY_RUN (RUN_RESULT_VAR COMPILE_RESULT_VAR
+ ${CMAKE_BINARY_DIR}
+ ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/testFortranCompiler1.f90
+ CMAKE_FLAGS "${CHECK_FUNCTION_EXISTS_ADD_LIBRARIES}"
+ RUN_OUTPUT_VARIABLE OUTPUT
+ )
+
+
+
+ set(${RETURN} ${OUTPUT})
+
+ #message ( "Test result1 ${RETURN} ")
+ #message ( "Test result3 ${RESULT} ")
+ #message ( "Test result2 ${CMAKE_MATCH_0} ")
+ #message ( "Test result4 ${CMAKE_MATCH_1} ")
+ #message ( "* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ")
+ #message ( "Test result2 ${COMPILE_RESULT_VAR} ")
+ #message ( "* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ")
+ #message ( "Test result1 ${RUN_RESULT_VAR} ")
+ #message ( "* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ")
+
+ if (${COMPILE_RESULT_VAR})
+ if (${RUN_RESULT_VAR} MATCHES 0)
+ message (STATUS "Testing Fortran ${FUNCTION} - OK")
+ file (APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
+ "Determining if the Fortran ${FUNCTION} exists passed with the following output:\n"
+ "${OUTPUT}\n\n"
+ )
+ else ()
+ message (STATUS "Testing Fortran ${FUNCTION} - Fail")
+ file (APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
+ "Determining if the Fortran ${FUNCTION} exists failed with the following output:\n"
+ "${OUTPUT}\n\n")
+ endif ()
+ endif ()
+# endif (NOT DEFINED ${RUN_RESULT_VAR})
+ENDMACRO (FORTRAN_RUN)
+
+#-----------------------------------------------------------------------------
+# Check to see C_LONG_DOUBLE is available
+CHECK_FORTRAN_FEATURE(c_long_double
+ "
+ PROGRAM main
+ USE ISO_C_BINDING
+ REAL(KIND=C_LONG_DOUBLE) :: d
+ END PROGRAM
+ "
+ FORTRAN_HAVE_C_LONG_DOUBLE
+)
+if (${FORTRAN_HAVE_C_LONG_DOUBLE})
+ set(FORTRAN_HAVE_C_LONG_DOUBLE 1)
+else ()
+ set(FORTRAN_HAVE_C_LONG_DOUBLE 0)
+endif()
+
+# Check to see C_LONG_DOUBLE is different from C_DOUBLE
+
+CHECK_FORTRAN_FEATURE(c_long_double
+ "
+ MODULE type_mod
+ USE ISO_C_BINDING
+ INTERFACE h5t
+ MODULE PROCEDURE h5t_c_double
+ MODULE PROCEDURE h5t_c_long_double
+ END INTERFACE
+ CONTAINS
+ SUBROUTINE h5t_c_double(r)
+ REAL(KIND=C_DOUBLE) :: r
+ END SUBROUTINE h5t_c_double
+ SUBROUTINE h5t_c_long_double(d)
+ REAL(KIND=C_LONG_DOUBLE) :: d
+ END SUBROUTINE h5t_c_long_double
+ END MODULE type_mod
+ PROGRAM main
+ USE ISO_C_BINDING
+ USE type_mod
+ REAL(KIND=C_DOUBLE) :: r
+ REAL(KIND=C_LONG_DOUBLE) :: d
+ CALL h5t(r)
+ CALL h5t(d)
+ END PROGRAM main
+ "
+ FORTRAN_C_LONG_DOUBLE_IS_UNIQUE
+)
+if (${FORTRAN_C_LONG_DOUBLE_IS_UNIQUE})
+ set(FORTRAN_C_LONG_DOUBLE_IS_UNIQUE 1)
+else ()
+ set(FORTRAN_C_LONG_DOUBLE_IS_UNIQUE 0)
+endif()
+
+## Set the sizeof function for use later in the fortran tests
+if(FORTRAN_HAVE_STORAGE_SIZE)
+ set(FC_SIZEOF_A "STORAGE_SIZE(a, c_size_t)/STORAGE_SIZE(c_char_'a',c_size_t)")
+ set(FC_SIZEOF_B "STORAGE_SIZE(b, c_size_t)/STORAGE_SIZE(c_char_'a',c_size_t)")
+ set(FC_SIZEOF_C "STORAGE_SIZE(c, c_size_t)/STORAGE_SIZE(c_char_'a',c_size_t)")
+elseif(FORTRAN_HAVE_C_SIZEOF)
+ set(FC_SIZEOF_A "SIZEOF(a)")
+ set(FC_SIZEOF_B "SIZEOF(b)")
+ set(FC_SIZEOF_C "SIZEOF(c)")
+else(FORTRAN_HAVE_STORAGE_SIZE)
+ message (FATAL_ERROR "Fortran compiler requires either intrinsic functions SIZEOF or STORAGE_SIZE")
+endif(FORTRAN_HAVE_STORAGE_SIZE)
+
+#-----------------------------------------------------------------------------
+# Determine the available KINDs for REALs and INTEGERs
+#-----------------------------------------------------------------------------
+
+FORTRAN_RUN("REAL and INTEGER KINDs"
+ "
+ PROGRAM main
+ IMPLICIT NONE
+ INTEGER :: ik, k, lastkind, max_decimal_prec
+ INTEGER :: num_rkinds, num_ikinds
+ num_ikinds = 0
+ lastkind=SELECTED_INT_KIND(1)
+ ! Find integer KINDs
+ DO ik=2,36
+ k = SELECTED_INT_KIND(ik)
+ IF (k .NE. lastkind) THEN
+ num_ikinds = num_ikinds + 1
+ WRITE(*,'(I0)',ADVANCE='NO') lastkind
+ lastkind = k
+ IF(k.GT.0) WRITE(*,'(A)',ADVANCE='NO') ','
+ ENDIF
+ IF (k .LE. 0) EXIT
+ ENDDO
+ IF (lastkind.NE.-1) THEN
+ num_ikinds = num_ikinds + 1
+ WRITE(*,'(I0)') lastkind
+ ELSE
+ WRITE(*,'()')
+ ENDIF
+ ! Find real KINDs
+ num_rkinds = 0
+ lastkind=SELECTED_REAL_KIND(1)
+ max_decimal_prec = 1
+ DO ik=2,36
+ k = SELECTED_REAL_KIND(ik)
+ IF (k .NE. lastkind) THEN
+ num_rkinds = num_rkinds + 1
+ WRITE(*,'(I0)',ADVANCE='NO') lastkind
+ lastkind = k
+ IF(k.GT.0) WRITE(*,'(A)',ADVANCE='NO') ','
+ max_decimal_prec = ik
+ ENDIF
+ IF (k .LE. 0) EXIT
+ ENDDO
+ IF (lastkind.NE.-1)THEN
+ num_rkinds = num_rkinds + 1
+ WRITE(*,'(I0)') lastkind
+ ELSE
+ WRITE(*,'()')
+ ENDIF
+ WRITE(*,'(I0)') max_decimal_prec
+ WRITE(*,'(I0)') num_ikinds
+ WRITE(*,'(I0)') num_rkinds
+ END
+ "
+ XX
+ YY
+ PROG_OUTPUT
+)
+# dnl The output from the above program will be:
+# dnl -- LINE 1 -- valid integer kinds (comma seperated list)
+# dnl -- LINE 2 -- valid real kinds (comma seperated list)
+# dnl -- LINE 3 -- max decimal precision for reals
+# dnl -- LINE 4 -- number of valid integer kinds
+# dnl -- LINE 5 -- number of valid real kinds
+
+# Convert the string to a list of strings by replacing the carriage return with a semicolon
+string(REGEX REPLACE "\n" ";" PROG_OUTPUT "${PROG_OUTPUT}")
+
+list(GET PROG_OUTPUT 0 pac_validIntKinds)
+list(GET PROG_OUTPUT 1 pac_validRealKinds)
+list(GET PROG_OUTPUT 2 H5_PAC_FC_MAX_REAL_PRECISION)
+
+set(PAC_FC_ALL_INTEGER_KINDS "\{${pac_validIntKinds}\}")
+set(PAC_FC_ALL_REAL_KINDS "\{${pac_validRealKinds}\}")
+
+list(GET PROG_OUTPUT 3 NUM_IKIND)
+list(GET PROG_OUTPUT 4 NUM_RKIND)
+
+set(H5CONFIG_F_NUM_IKIND "INTEGER, PARAMETER :: num_ikinds = ${NUM_IKIND}")
+set(H5CONFIG_F_IKIND "INTEGER, DIMENSION(1:num_ikinds) :: ikind = (/${pac_validIntKinds}/)")
+
+message ( " ........REAL KINDS FOUND ${PAC_FC_ALL_REAL_KINDS}")
+message ( " ........INTEGER KINDS FOUND ${PAC_FC_ALL_REAL_KINDS}")
+message ( " ........MAX DECIMAL PRECISION ${H5_PAC_FC_MAX_REAL_PRECISION}")
+
+#-----------------------------------------------------------------------------
+# Determine the available KINDs for REALs and INTEGERs
+#-----------------------------------------------------------------------------
+# **********
+# INTEGERS
+# **********
+string(REGEX REPLACE "," ";" VAR "${pac_validIntKinds}")
+
+foreach( KIND ${VAR} )
+ set(PROG_SRC
+ "
+ PROGRAM main
+ USE ISO_C_BINDING
+ IMPLICIT NONE
+ INTEGER (KIND=${KIND}) a
+ WRITE(*,'(I0)') ${FC_SIZEOF_A}
+ END
+ "
+ )
+ FORTRAN_RUN("INTEGER KIND SIZEOF" ${PROG_SRC}
+ XX
+ YY
+ PROG_OUTPUT1
+ )
+ string(REGEX REPLACE "\n" "" PROG_OUTPUT1 "${PROG_OUTPUT1}")
+ set(pack_int_sizeof "${pack_int_sizeof} ${PROG_OUTPUT1},")
+endforeach(KIND)
+string(STRIP ${pack_int_sizeof} pack_int_sizeof)
+
+
+#Remove trailing comma
+string(REGEX REPLACE ",$" "" pack_int_sizeof "${pack_int_sizeof}")
+#Remove spaces
+string(REGEX REPLACE " " "" pack_int_sizeof "${pack_int_sizeof}")
+
+set(PAC_FC_ALL_INTEGER_KINDS_SIZEOF "\{${pack_int_sizeof}\}")
+
+message("...FOUND SIZEOF for INTEGER KINDs ${PAC_FC_ALL_INTEGER_KINDS_SIZEOF}")
+# **********
+# REALS
+# **********
+string(REGEX REPLACE "," ";" VAR "${pac_validRealKinds}")
+
+#find the maximum kind of the real
+list(LENGTH VAR LEN_VAR)
+MATH (EXPR _LEN "${LEN_VAR}-1")
+list(GET VAR ${_LEN} max_real_fortran_kind)
+
+foreach( KIND ${VAR} )
+ set(PROG_SRC
+ "
+ PROGRAM main
+ USE ISO_C_BINDING
+ IMPLICIT NONE
+ REAL (KIND=${KIND}) a
+ WRITE(*,'(I0)') ${FC_SIZEOF_A}
+ END
+ "
+ )
+ FORTRAN_RUN("REAL KIND SIZEOF" ${PROG_SRC}
+ XX
+ YY
+ PROG_OUTPUT1
+ )
+ string(REGEX REPLACE "\n" "" PROG_OUTPUT1 "${PROG_OUTPUT1}")
+ set(pack_real_sizeof "${pack_real_sizeof} ${PROG_OUTPUT1},")
+endforeach(KIND)
+string(STRIP ${pack_real_sizeof} pack_real_sizeof)
+
+#Remove trailing comma
+string(REGEX REPLACE ",$" "" pack_real_sizeof "${pack_real_sizeof}")
+#Remove spaces
+string(REGEX REPLACE " " "" pack_real_sizeof "${pack_real_sizeof}")
+
+set(H5CONFIG_F_RKIND_SIZEOF "INTEGER, DIMENSION(1:num_rkinds) :: rkind_sizeof = (/${pack_real_sizeof}/)")
+
+message("...FOUND SIZEOF for REAL KINDs \{${pack_real_sizeof}\}")
+
+set(PAC_FC_ALL_REAL_KINDS_SIZEOF "\{${pack_real_sizeof}\}")
+
+#find the maximum kind of the real
+string(REGEX REPLACE "," ";" VAR "${pack_real_sizeof}")
+list(LENGTH VAR LEN_VAR)
+MATH (EXPR _LEN "${LEN_VAR}-1")
+list(GET VAR ${_LEN} max_real_fortran_sizeof)
+
+#-----------------------------------------------------------------------------
+# Find sizeof of native kinds
+#-----------------------------------------------------------------------------
+FORTRAN_RUN("SIZEOF NATIVE KINDs"
+ "
+ PROGRAM main
+ USE ISO_C_BINDING
+ IMPLICIT NONE
+ INTEGER a
+ REAL b
+ DOUBLE PRECISION c
+ WRITE(*,*) ${FC_SIZEOF_A}
+ WRITE(*,*) kind(a)
+ WRITE(*,*) ${FC_SIZEOF_B}
+ WRITE(*,*) kind(b)
+ WRITE(*,*) ${FC_SIZEOF_C}
+ WRITE(*,*) kind(c)
+ END
+ "
+ XX
+ YY
+ PROG_OUTPUT
+)
+# dnl The output from the above program will be:
+# dnl -- LINE 1 -- sizeof INTEGER
+# dnl -- LINE 2 -- kind of INTEGER
+# dnl -- LINE 3 -- sizeof REAL
+# dnl -- LINE 4 -- kind of REAL
+# dnl -- LINE 5 -- sizeof DOUBLE PRECISION
+# dnl -- LINE 6 -- kind of DOUBLE PRECISION
+
+# Convert the string to a list of strings by replacing the carriage return with a semicolon
+string(REGEX REPLACE "\n" ";" PROG_OUTPUT "${PROG_OUTPUT}")
+
+list(GET PROG_OUTPUT 0 PAC_FORTRAN_NATIVE_INTEGER_SIZEOF)
+list(GET PROG_OUTPUT 1 PAC_FORTRAN_NATIVE_INTEGER_KIND)
+list(GET PROG_OUTPUT 2 PAC_FORTRAN_NATIVE_REAL_SIZEOF)
+list(GET PROG_OUTPUT 3 PAC_FORTRAN_NATIVE_REAL_KIND)
+list(GET PROG_OUTPUT 4 PAC_FORTRAN_NATIVE_DOUBLE_SIZEOF)
+list(GET PROG_OUTPUT 5 PAC_FORTRAN_NATIVE_DOUBLE_KIND)
+
+set(FORTRAN_SIZEOF_LONG_DOUBLE ${${HDF_PREFIX}_SIZEOF_LONG_DOUBLE})
+#set(H5_SIZEOF_LONG_DOUBLE ${${HDF_PREFIX}_SIZEOF_LONG_DOUBLE})
+
+# remove the invalid kind from the list
+if(NOT(${SIZEOF___FLOAT128} EQUAL 0))
+ if(NOT(${SIZEOF___FLOAT128} EQUAL ${max_real_fortran_sizeof})
+ AND NOT(${FORTRAN_SIZEOF_LONG_DOUBLE} EQUAL ${max_real_fortran_sizeof})
+ # account for the fact that the C compiler can have 16-byte __float128 and the fortran compiler only has 8-byte doubles,
+ # so we don't want to remove the 8-byte fortran doubles.
+ AND NOT(${PAC_FORTRAN_NATIVE_DOUBLE_SIZEOF} EQUAL ${max_real_fortran_sizeof}))
+ message(WARNING "
+ Fortran REAL(KIND=${max_real_fortran_kind}) is $max_real_fortran_sizeof Bytes, but no corresponding C float type exists of that size
+ !!! Fortran interfaces will not be generated for REAL(KIND=${max_real_fortran_kind}) !!!")
+ string(REGEX REPLACE ",[0-9]+}" "}" PAC_FC_ALL_REAL_KINDS ${PAC_FC_ALL_REAL_KINDS})
+ string(REGEX REPLACE ",[0-9]+}" "}" PAC_FC_ALL_REAL_KINDS_SIZEOF ${PAC_FC_ALL_REAL_KINDS_SIZEOF})
+ MATH (EXPR NUM_RKIND "${NUM_RKIND} - 1")
+ endif()
+endif(NOT(${SIZEOF___FLOAT128} EQUAL 0))
+
+set(H5CONFIG_F_NUM_RKIND "INTEGER, PARAMETER :: num_rkinds = ${NUM_RKIND}")
+
+string(REGEX REPLACE "{" "" OUT_VAR ${PAC_FC_ALL_REAL_KINDS})
+string(REGEX REPLACE "}" "" OUT_VAR ${OUT_VAR})
+set(H5CONFIG_F_RKIND "INTEGER, DIMENSION(1:num_rkinds) :: rkind = (/${OUT_VAR}/)")
+
+string(REGEX REPLACE "{" "" OUT_VAR ${PAC_FC_ALL_REAL_KINDS_SIZEOF})
+string(REGEX REPLACE "}" "" OUT_VAR ${OUT_VAR})
+set(H5CONFIG_F_RKIND_SIZEOF "INTEGER, DIMENSION(1:num_rkinds) :: rkind_sizeof = (/${OUT_VAR}/)")
+
+ENABLE_LANGUAGE (C)
+
+#-----------------------------------------------------------------------------
+# The provided CMake C macros don't provide a general compile/run function
+# so this one is used.
+#-----------------------------------------------------------------------------
+MACRO (C_RUN FUNCTION CODE RETURN)
+ message (STATUS "Detecting C ${FUNCTION}")
+ if (CMAKE_REQUIRED_LIBRARIES)
+ set (CHECK_FUNCTION_EXISTS_ADD_LIBRARIES
+ "-DLINK_LIBRARIES:STRING=${CMAKE_REQUIRED_LIBRARIES}")
+ else (CMAKE_REQUIRED_LIBRARIES)
+ set (CHECK_FUNCTION_EXISTS_ADD_LIBRARIES)
+ endif (CMAKE_REQUIRED_LIBRARIES)
+ file (WRITE
+ ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/testCCompiler1.c
+ ${CODE}
+ )
+ TRY_RUN (RUN_RESULT_VAR COMPILE_RESULT_VAR
+ ${CMAKE_BINARY_DIR}
+ ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/testCCompiler1.c
+ CMAKE_FLAGS "${CHECK_FUNCTION_EXISTS_ADD_LIBRARIES}"
+ RUN_OUTPUT_VARIABLE OUTPUT
+ )
+
+ set(${RETURN} ${OUTPUT})
+
+ #message ( "* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ")
+ #message ( "Test COMPILE_RESULT_VAR ${COMPILE_RESULT_VAR} ")
+ #message ( "* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ")
+ #message ( "Test RUN_RESULT_VAR ${RUN_RESULT_VAR} ")
+ #message ( "* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ")
+
+ if (${COMPILE_RESULT_VAR})
+ if (${RUN_RESULT_VAR} MATCHES 1)
+ set (${RUN_RESULT_VAR} 1 CACHE INTERNAL "Have C function ${FUNCTION}")
+ message (STATUS "Testing C ${FUNCTION} - OK")
+ file (APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
+ "Determining if the C ${FUNCTION} exists passed with the following output:\n"
+ "${OUTPUT}\n\n"
+ )
+ else ()
+ message (STATUS "Testing C ${FUNCTION} - Fail")
+ set (${RUN_RESULT_VAR} 0 CACHE INTERNAL "Have C function ${FUNCTION}")
+ file (APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
+ "Determining if the C ${FUNCTION} exists failed with the following output:\n"
+ "${OUTPUT}\n\n")
+ endif ()
+ else ()
+ message (FATAL_ERROR "Compilation of C ${FUNCTION} - Failed")
+ endif()
+ENDMACRO (C_RUN)
+
+set(PROG_SRC
+ "
+#include <float.h>
+#include <stdio.h>
+#define CHECK_FLOAT128 ${SIZEOF___FLOAT128}
+#if CHECK_FLOAT128!=0
+# if ${HAVE_QUADMATH}!=0
+#include <quadmath.h>
+# endif
+# ifdef FLT128_DIG
+#define C_FLT128_DIG FLT128_DIG
+# else
+#define C_FLT128_DIG 0
+# endif
+#else
+#define C_FLT128_DIG 0
+#endif
+#if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
+#define C_LDBL_DIG DECIMAL_DIG
+#else
+#define C_LDBL_DIG LDBL_DIG
+#endif
+ int main() {
+ printf(\"%d\\\\n%d\\\\n\", C_LDBL_DIG, C_FLT128_DIG)\\\;
+ return 1\\\;
+ }
+ "
+ )
+
+C_RUN("maximum decimal precision for C" ${PROG_SRC} PROG_OUTPUT)
+
+# dnl The output from the above program will be:
+# dnl -- LINE 1 -- long double decimal precision
+# dnl -- LINE 2 -- __float128 decimal precision
+
+# Convert the string to a list of strings by replacing the carriage return with a semicolon
+string(REGEX REPLACE "\n" ";" PROG_OUTPUT "${PROG_OUTPUT}")
+
+list(GET PROG_OUTPUT 0 LDBL_DIG)
+list(GET PROG_OUTPUT 1 FLT128_DIG)
+
+if(SIZEOF___FLOAT128 EQUAL 0 OR FLT128_DIG EQUAL 0)
+ SET(H5_HAVE_FLOAT128 0)
+ SET(SIZEOF___FLOAT128 0)
+ set(H5_PAC_C_MAX_REAL_PRECISION ${LDBL_DIG})
+else ()
+ set(H5_PAC_C_MAX_REAL_PRECISION ${FLT128_DIG})
+endif()
+
+
+# Setting definition if there is a 16 byte fortran integer
+string(FIND ${PAC_FC_ALL_INTEGER_KINDS_SIZEOF} "16" pos)
+if(${pos} EQUAL -1)
+ set(HAVE_Fortran_INTEGER_SIZEOF_16 0)
+else ()
+ set(HAVE_Fortran_INTEGER_SIZEOF_16 1)
+endif ()
diff --git a/config/cmake/HDF5_Examples.cmake.in b/config/cmake/HDF5_Examples.cmake.in
new file mode 100644
index 0000000..d0c0509
--- /dev/null
+++ b/config/cmake/HDF5_Examples.cmake.in
@@ -0,0 +1,126 @@
+cmake_minimum_required(VERSION 3.1.0 FATAL_ERROR)
+###############################################################################################################
+# This script will build and run the examples from a compressed file
+# Execute from a command line:
+# ctest -S HDF5_Examples.cmake,HDF5Examples -C Release -V -O test.log
+###############################################################################################################
+
+set(INSTALLDIR "@CMAKE_INSTALL_PREFIX@")
+set(CTEST_CMAKE_GENERATOR "@CMAKE_GENERATOR@")
+set(STATICLIBRARIES "@H5_ENABLE_STATIC_LIB@")
+set(CTEST_SOURCE_NAME ${CTEST_SCRIPT_ARG})
+set(CTEST_DASHBOARD_ROOT ${CTEST_SCRIPT_DIRECTORY})
+set(CTEST_BUILD_CONFIGURATION "Release")
+#set(NO_MAC_FORTRAN "true")
+#set(BUILD_OPTIONS "${BUILD_OPTIONS} -DHDF_BUILD_FORTRAN:BOOL=ON")
+set(BUILD_OPTIONS "${BUILD_OPTIONS} -DHDF_ENABLE_F2003:BOOL=ON")
+#set(CTEST_USE_TAR_SOURCE "${CTEST_SCRIPT_ARG}")
+
+###############################################################################################################
+# Adjust the following SET Commands as needed
+###############################################################################################################
+if(WIN32)
+ if(STATICLIBRARIES)
+ set(BUILD_OPTIONS "${BUILD_OPTIONS} -DBUILD_SHARED_LIBS:BOOL=OFF")
+ endif(STATICLIBRARIES)
+ set(ENV{HDF5_DIR} "${INSTALLDIR}/cmake")
+ set(CTEST_BINARY_NAME ${CTEST_SOURCE_NAME}\\build)
+ set(CTEST_SOURCE_DIRECTORY "${CTEST_DASHBOARD_ROOT}\\${CTEST_SOURCE_NAME}")
+ set(CTEST_BINARY_DIRECTORY "${CTEST_DASHBOARD_ROOT}\\${CTEST_BINARY_NAME}")
+else(WIN32)
+ if(STATICLIBRARIES)
+ set(BUILD_OPTIONS "${BUILD_OPTIONS} -DBUILD_SHARED_LIBS:BOOL=OFF -DCMAKE_ANSI_CFLAGS:STRING=-fPIC")
+ endif(STATICLIBRARIES)
+ set(ENV{HDF5_DIR} "${INSTALLDIR}/share/cmake")
+ set(ENV{LD_LIBRARY_PATH} "${INSTALLDIR}/lib")
+ set(CTEST_BINARY_NAME ${CTEST_SOURCE_NAME}/build)
+ set(CTEST_SOURCE_DIRECTORY "${CTEST_DASHBOARD_ROOT}/${CTEST_SOURCE_NAME}")
+ set(CTEST_BINARY_DIRECTORY "${CTEST_DASHBOARD_ROOT}/${CTEST_BINARY_NAME}")
+endif(WIN32)
+
+###############################################################################################################
+# For any comments please contact cdashhelp@hdfgroup.org
+#
+###############################################################################################################
+
+#-----------------------------------------------------------------------------
+# MAC machines need special option
+#-----------------------------------------------------------------------------
+if(APPLE)
+ # Compiler choice
+ execute_process(COMMAND xcrun --find cc OUTPUT_VARIABLE XCODE_CC OUTPUT_STRIP_TRAILING_WHITESPACE)
+ execute_process(COMMAND xcrun --find c++ OUTPUT_VARIABLE XCODE_CXX OUTPUT_STRIP_TRAILING_WHITESPACE)
+ set(ENV{CC} "${XCODE_CC}")
+ set(ENV{CXX} "${XCODE_CXX}")
+ if(NOT NO_MAC_FORTRAN)
+ # Shared fortran is not supported, build static
+ set(BUILD_OPTIONS "${BUILD_OPTIONS} -DBUILD_SHARED_LIBS:BOOL=OFF -DCMAKE_ANSI_CFLAGS:STRING=-fPIC")
+ else(NOT NO_MAC_FORTRAN)
+ set(BUILD_OPTIONS "${BUILD_OPTIONS} -DHDF_BUILD_FORTRAN:BOOL=OFF")
+ endif(NOT NO_MAC_FORTRAN)
+ set(BUILD_OPTIONS "${BUILD_OPTIONS} -DCTEST_USE_LAUNCHERS:BOOL=ON -DCMAKE_BUILD_WITH_INSTALL_RPATH:BOOL=OFF")
+endif(APPLE)
+
+#-----------------------------------------------------------------------------
+set(CTEST_CMAKE_COMMAND "\"${CMAKE_COMMAND}\"")
+## --------------------------
+if(CTEST_USE_TAR_SOURCE)
+ ## Uncompress source if tar or zip file provided
+ ## --------------------------
+ if(WIN32)
+ message(STATUS "extracting... [${CMAKE_EXECUTABLE_NAME} -E tar -xvf ${CTEST_USE_TAR_SOURCE}.zip]")
+ execute_process(COMMAND ${CMAKE_EXECUTABLE_NAME} -E tar -xvf ${CTEST_USE_TAR_SOURCE}.zip RESULT_VARIABLE rv)
+ else(WIN32)
+ message(STATUS "extracting... [${CMAKE_EXECUTABLE_NAME} -E tar -xvf ${CTEST_USE_TAR_SOURCE}.tar]")
+ execute_process(COMMAND ${CMAKE_EXECUTABLE_NAME} -E tar -xvf ${CTEST_USE_TAR_SOURCE}.tar RESULT_VARIABLE rv)
+ endif(WIN32)
+
+ if(NOT rv EQUAL 0)
+ message(STATUS "extracting... [error-(${rv}) clean up]")
+ file(REMOVE_RECURSE "${CTEST_SOURCE_DIRECTORY}")
+ message(FATAL_ERROR "error: extract of ${CTEST_SOURCE_NAME} failed")
+ endif(NOT rv EQUAL 0)
+endif(CTEST_USE_TAR_SOURCE)
+
+#-----------------------------------------------------------------------------
+## Clear the build directory
+## --------------------------
+set(CTEST_START_WITH_EMPTY_BINARY_DIRECTORY TRUE)
+if (EXISTS "${CTEST_BINARY_DIRECTORY}" AND IS_DIRECTORY "${CTEST_BINARY_DIRECTORY}")
+ ctest_empty_binary_directory(${CTEST_BINARY_DIRECTORY})
+else (EXISTS "${CTEST_BINARY_DIRECTORY}" AND IS_DIRECTORY "${CTEST_BINARY_DIRECTORY}")
+ file(MAKE_DIRECTORY "${CTEST_BINARY_DIRECTORY}")
+endif (EXISTS "${CTEST_BINARY_DIRECTORY}" AND IS_DIRECTORY "${CTEST_BINARY_DIRECTORY}")
+
+# Use multiple CPU cores to build
+include(ProcessorCount)
+ProcessorCount(N)
+if(NOT N EQUAL 0)
+ if(NOT WIN32)
+ set(CTEST_BUILD_FLAGS -j${N})
+ endif(NOT WIN32)
+ set(ctest_test_args ${ctest_test_args} PARALLEL_LEVEL ${N})
+endif()
+set (CTEST_CONFIGURE_COMMAND
+ "${CTEST_CMAKE_COMMAND} -C \"${CTEST_SOURCE_DIRECTORY}/config/cmake/cacheinit.cmake\" -DCMAKE_BUILD_TYPE:STRING=${CTEST_BUILD_CONFIGURATION} ${BUILD_OPTIONS} \"-G${CTEST_CMAKE_GENERATOR}\" \"${CTEST_SOURCE_DIRECTORY}\""
+)
+
+#-----------------------------------------------------------------------------
+## -- set output to english
+set($ENV{LC_MESSAGES} "en_EN")
+
+#-----------------------------------------------------------------------------
+configure_file(${CTEST_SOURCE_DIRECTORY}/config/cmake/CTestCustom.cmake ${CTEST_BINARY_DIRECTORY}/CTestCustom.cmake)
+ctest_read_custom_files ("${CTEST_BINARY_DIRECTORY}")
+## NORMAL process
+## --------------------------
+ctest_start (Experimental)
+ctest_configure (BUILD "${CTEST_BINARY_DIRECTORY}")
+ctest_build (BUILD "${CTEST_BINARY_DIRECTORY}" APPEND)
+ctest_test (BUILD "${CTEST_BINARY_DIRECTORY}" APPEND ${ctest_test_args} RETURN_VALUE res)
+if(res GREATER 0)
+ message (FATAL_ERROR "tests FAILED")
+endif(res GREATER 0)
+#-----------------------------------------------------------------------------
+##############################################################################################################
+message(STATUS "DONE") \ No newline at end of file
diff --git a/config/cmake/README.txt.cmake.in b/config/cmake/README.txt.cmake.in
index cc8baeb..a12c5aa 100644
--- a/config/cmake/README.txt.cmake.in
+++ b/config/cmake/README.txt.cmake.in
@@ -26,18 +26,18 @@ After Installation
===========================================================================
The examples folder, HDF5Examples, located in the
HDF5 install folder, can be built and tested with CMake and the supplied
-HDF518_Examples.cmake file. The HDF518_Examples.cmake expects HDF5 to have
+HDF5_Examples.cmake file. The HDF5_Examples.cmake expects HDF5 to have
been installed in the default location with above compilers. Also, the CMake
utility should be installed.
To test the installation with the examples;
Create a directory to run the examples.
Copy HDF5Examples folder to this directory.
- Copy HDF518_Examples.cmake to this directory.
- Edit HDF518_Examples.cmake line 8 to set INSTALLDIR to where HDF5 is installed.
+ Copy HDF5_Examples.cmake to this directory.
+ Edit HDF5_Examples.cmake line 8 to set INSTALLDIR to where HDF5 is installed.
(The default should be correct unless you installed into a different folder.)
Execute from this directory:
- ctest -S HDF518_Examples.cmake,HDF5Examples-0.1.1-Source -C Release -V -O test.log
+ ctest -S HDF5_Examples.cmake,HDF5Examples -C Release -V -O test.log
When executed, the ctest script will save the results to the log file, test.log, as
indicated by the ctest command. If you wish the to see more build and test information,
diff --git a/config/cmake/cacheinit.cmake b/config/cmake/cacheinit.cmake
index f869949..cca6e98 100644
--- a/config/cmake/cacheinit.cmake
+++ b/config/cmake/cacheinit.cmake
@@ -4,18 +4,12 @@
# EXTERNAL cache entries
########################
-set (BUILD_SHARED_LIBS ON CACHE BOOL "Build Shared Libraries" FORCE)
-
-set (BUILD_TESTING ON CACHE BOOL "Build HDF5 Unit Testing" FORCE)
-
set (CMAKE_INSTALL_FRAMEWORK_PREFIX "Library/Frameworks" CACHE STRING "Frameworks installation directory" FORCE)
set (HDF_PACKAGE_EXT "" CACHE STRING "Name of HDF package extension" FORCE)
set (HDF5_BUILD_FORTRAN ON CACHE BOOL "Build FORTRAN support" FORCE)
-set (HDF5_ENABLE_F2003 ON CACHE BOOL "Enable FORTRAN 2003 Standard" FORCE)
-
set (HDF5_BUILD_GENERATORS OFF CACHE BOOL "Build Test Generators" FORCE)
set (HDF5_ENABLE_Z_LIB_SUPPORT ON CACHE BOOL "Enable Zlib Filters" FORCE)
diff --git a/config/cmake/hdf5-config.cmake.in b/config/cmake/hdf5-config.cmake.in
index 667d3e6..adeec55 100644
--- a/config/cmake/hdf5-config.cmake.in
+++ b/config/cmake/hdf5-config.cmake.in
@@ -6,6 +6,8 @@
string(TOUPPER @HDF5_PACKAGE@ HDF5_PACKAGE_NAME)
set (${HDF5_PACKAGE_NAME}_VALID_COMPONENTS
+ static
+ shared
C
CXX
Fortran
@@ -20,7 +22,6 @@ set (${HDF5_PACKAGE_NAME}_VALID_COMPONENTS
#-----------------------------------------------------------------------------
set (${HDF5_PACKAGE_NAME}_ENABLE_PARALLEL @HDF5_ENABLE_PARALLEL@)
set (${HDF5_PACKAGE_NAME}_BUILD_FORTRAN @HDF5_BUILD_FORTRAN@)
-set (${HDF5_PACKAGE_NAME}_ENABLE_F2003 @HDF5_ENABLE_F2003@)
set (${HDF5_PACKAGE_NAME}_BUILD_CPP_LIB @HDF5_BUILD_CPP_LIB@)
set (${HDF5_PACKAGE_NAME}_BUILD_TOOLS @HDF5_BUILD_TOOLS@)
set (${HDF5_PACKAGE_NAME}_BUILD_HL_LIB @HDF5_BUILD_HL_LIB@)
@@ -68,12 +69,6 @@ if (${HDF5_PACKAGE_NAME}_BUILD_TOOLS)
set_and_check (${HDF5_PACKAGE_NAME}_TOOLS_DIR "@PACKAGE_CURRENT_BUILD_DIR@/bin")
endif ()
-if (HDF5_BUILD_SHARED_LIBS)
- set (H5_BUILT_AS_DYNAMIC_LIB 1)
-else ()
- set (H5_BUILT_AS_STATIC_LIB 1)
-endif ()
-
#-----------------------------------------------------------------------------
# Version Strings
#-----------------------------------------------------------------------------
@@ -95,14 +90,25 @@ if (NOT TARGET "@HDF5_PACKAGE@")
include (@PACKAGE_SHARE_INSTALL_DIR@/@HDF5_PACKAGE@@HDF_PACKAGE_EXT@-targets.cmake)
endif ()
-# Handle default component :
+# Handle default component(static) :
if (NOT ${HDF5_PACKAGE_NAME}_FIND_COMPONENTS)
- set (${HDF5_PACKAGE_NAME}_FIND_COMPONENTS C HL)
- set (${HDF5_PACKAGE_NAME}_FIND_REQUIRED_C true)
+ set (${HDF5_PACKAGE_NAME}_LIB_TYPE)
+ set (${HDF5_PACKAGE_NAME}_FIND_COMPONENTS C HL static)
+ set (${HDF5_PACKAGE_NAME}_FIND_REQUIRED_static_C true)
endif ()
# Handle requested components:
list (REMOVE_DUPLICATES ${HDF5_PACKAGE_NAME}_FIND_COMPONENTS)
+foreach (comp IN LISTS ${HDF5_PACKAGE_NAME}_FIND_COMPONENTS)
+ if (${comp} STREQUAL "shared")
+ list (REMOVE_ITEM ${HDF5_PACKAGE_NAME}_FIND_COMPONENTS ${comp})
+ set (${HDF5_PACKAGE_NAME}_LIB_TYPE ${${HDF5_PACKAGE_NAME}_LIB_TYPE} ${comp})
+ elseif (${comp} STREQUAL "static")
+ list (REMOVE_ITEM ${HDF5_PACKAGE_NAME}_FIND_COMPONENTS ${comp})
+ set (${HDF5_PACKAGE_NAME}_LIB_TYPE ${${HDF5_PACKAGE_NAME}_LIB_TYPE} ${comp})
+ endif ()
+endforeach ()
+foreach (libtype IN LISTS ${HDF5_PACKAGE_NAME}_LIB_TYPE)
foreach (comp IN LISTS ${HDF5_PACKAGE_NAME}_FIND_COMPONENTS)
set (hdf5_comp2)
if (${comp} STREQUAL "C")
@@ -122,26 +128,28 @@ list (REMOVE_DUPLICATES ${HDF5_PACKAGE_NAME}_FIND_COMPONENTS)
set (hdf5_comp2 "hdf5_hl_f90cstub")
set (hdf5_comp "hdf5_hl_fortran")
endif ()
- list (FIND ${HDF5_PACKAGE_NAME}_EXPORT_LIBRARIES "${hdf5_comp}" HAVE_COMP)
+ list (FIND ${HDF5_PACKAGE_NAME}_EXPORT_LIBRARIES "${hdf5_comp}-${libtype}" HAVE_COMP)
if (${HAVE_COMP} LESS 0)
- set (${HDF5_PACKAGE_NAME}_${comp}_FOUND 0)
+ set (${HDF5_PACKAGE_NAME}_${libtype}_${comp}_FOUND 0)
else ()
if (hdf5_comp2)
- list (FIND ${HDF5_PACKAGE_NAME}_EXPORT_LIBRARIES "${hdf5_comp2}" HAVE_COMP2)
+ list (FIND ${HDF5_PACKAGE_NAME}_EXPORT_LIBRARIES "${hdf5_comp2}-${libtype}" HAVE_COMP2)
if (${HAVE_COMP2} LESS 0)
- set (${HDF5_PACKAGE_NAME}_${comp}_FOUND 0)
+ set (${HDF5_PACKAGE_NAME}_${libtype}_${comp}_FOUND 0)
else ()
- set (${HDF5_PACKAGE_NAME}_${comp}_FOUND 1)
- string(TOUPPER ${HDF5_PACKAGE_NAME}_${comp}_LIBRARY COMP_LIBRARY)
- set (${HDF5_PACKAGE_NAME}_LIBRARIES ${${HDF5_PACKAGE_NAME}_LIBRARIES} ${hdf5_comp2} ${hdf5_comp})
+ set (${HDF5_PACKAGE_NAME}_${libtype}_${comp}_FOUND 1)
+ string(TOUPPER ${HDF5_PACKAGE_NAME}_${comp}_${libtype}_LIBRARY COMP_LIBRARY)
+ set (${COMP_LIBRARY} ${${COMP_LIBRARY}} ${hdf5_comp2}-${libtype} ${hdf5_comp}-${libtype})
endif ()
else ()
- set (${HDF5_PACKAGE_NAME}_${comp}_FOUND 1)
- string(TOUPPER ${HDF5_PACKAGE_NAME}_${comp}_LIBRARY COMP_LIBRARY)
- set (${HDF5_PACKAGE_NAME}_LIBRARIES ${${HDF5_PACKAGE_NAME}_LIBRARIES} ${hdf5_comp})
+ set (${HDF5_PACKAGE_NAME}_${libtype}_${comp}_FOUND 1)
+ string(TOUPPER ${HDF5_PACKAGE_NAME}_${comp}_${libtype}_LIBRARY COMP_LIBRARY)
+ set (${COMP_LIBRARY} ${${COMP_LIBRARY}} ${hdf5_comp}-${libtype})
endif ()
endif ()
endforeach ()
+endforeach ()
- check_required_components(${HDF5_PACKAGE_NAME}_FIND_COMPONENTS)
- \ No newline at end of file
+foreach (libtype IN LISTS ${HDF5_PACKAGE_NAME}_LIB_TYPE)
+ check_required_components(${HDF5_PACKAGE_NAME}_${libtype})
+endforeach ()
diff --git a/config/cmake/libhdf5.settings.cmake.in b/config/cmake/libhdf5.settings.cmake.in
index e2124e1..ba764a4 100644
--- a/config/cmake/libhdf5.settings.cmake.in
+++ b/config/cmake/libhdf5.settings.cmake.in
@@ -38,12 +38,11 @@ Languages:
----------
Fortran: @HDF5_BUILD_FORTRAN@
@BUILD_FORTRAN_CONDITIONAL_TRUE@ Fortran Compiler: @CMAKE_Fortran_COMPILER@
-@BUILD_FORTRAN_CONDITIONAL_TRUE@ Fortran 2003 Compiler: @HDF5_ENABLE_F2003@
@BUILD_FORTRAN_CONDITIONAL_TRUE@ Fortran Flags: @CMAKE_Fortran_FLAGS@
@BUILD_FORTRAN_CONDITIONAL_TRUE@ H5 Fortran Flags: @H5_FCFLAGS@
@BUILD_FORTRAN_CONDITIONAL_TRUE@ AM Fortran Flags: @AM_FCFLAGS@
@BUILD_FORTRAN_CONDITIONAL_TRUE@ Shared Fortran Library: @H5_ENABLE_SHARED_LIB@
-@BUILD_FORTRAN_CONDITIONAL_TRUE@ Static Fortran Library: @H5_ENABLE_STATIC_LIB@
+@BUILD_FORTRAN_CONDITIONAL_TRUE@ Static Fortran Library: YES
C++: @HDF5_BUILD_CPP_LIB@
@BUILD_CXX_CONDITIONAL_TRUE@ C++ Compiler: @CMAKE_CXX_COMPILER@
@@ -51,7 +50,7 @@ Languages:
@BUILD_CXX_CONDITIONAL_TRUE@ H5 C++ Flags: @H5_CXXFLAGS@
@BUILD_CXX_CONDITIONAL_TRUE@ AM C++ Flags: @AM_CXXFLAGS@
@BUILD_CXX_CONDITIONAL_TRUE@ Shared C++ Library: @H5_ENABLE_SHARED_LIB@
-@BUILD_CXX_CONDITIONAL_TRUE@ Static C++ Library: @H5_ENABLE_STATIC_LIB@
+@BUILD_CXX_CONDITIONAL_TRUE@ Static C++ Library: YES
Features:
---------
diff --git a/config/cmake/mccacheinit.cmake b/config/cmake/mccacheinit.cmake
index af506e6..39ec124 100644
--- a/config/cmake/mccacheinit.cmake
+++ b/config/cmake/mccacheinit.cmake
@@ -16,8 +16,6 @@ set (HDF5_BUILD_EXAMPLES ON CACHE BOOL "Build HDF5 Library Examples" FORCE)
set (HDF5_BUILD_FORTRAN ON CACHE BOOL "Build FORTRAN support" FORCE)
-set (HDF5_ENABLE_F2003 ON CACHE BOOL "Enable FORTRAN 2003 Standard" FORCE)
-
set (HDF5_BUILD_HL_LIB ON CACHE BOOL "Build HIGH Level HDF5 Library" FORCE)
set (HDF5_BUILD_TOOLS ON CACHE BOOL "Build HDF5 Tools" FORCE)
diff --git a/config/cmake_ext_mod/CTestCustom.cmake b/config/cmake_ext_mod/CTestCustom.cmake
new file mode 100644
index 0000000..025bce4
--- /dev/null
+++ b/config/cmake_ext_mod/CTestCustom.cmake
@@ -0,0 +1,16 @@
+set (CTEST_CUSTOM_MAXIMUM_NUMBER_OF_WARNINGS 3000)
+
+set (CTEST_CUSTOM_WARNING_EXCEPTION
+ ${CTEST_CUSTOM_WARNING_EXCEPTION}
+ "note.*expected.*void.*but argument is of type.*volatile"
+ "SZIP.src.*:[ \t]*warning"
+ "jpeg.src.*:[ \t]*warning"
+ "POSIX name for this item is deprecated"
+ "disabling jobserver mode"
+ "warning.*implicit declaration of function"
+ "note: expanded from macro"
+)
+
+set (CTEST_CUSTOM_MEMCHECK_IGNORE
+ ${CTEST_CUSTOM_MEMCHECK_IGNORE}
+)
diff --git a/config/cmake_ext_mod/CheckTypeSize.cmake b/config/cmake_ext_mod/CheckTypeSize.cmake
new file mode 100644
index 0000000..5095a27
--- /dev/null
+++ b/config/cmake_ext_mod/CheckTypeSize.cmake
@@ -0,0 +1,50 @@
+#
+# Check if the type exists and determine size of type. if the type
+# exists, the size will be stored to the variable.
+#
+# CHECK_TYPE_SIZE - macro which checks the size of type
+# VARIABLE - variable to store size if the type exists.
+# HAVE_${VARIABLE} - does the variable exists or not
+#
+
+MACRO (HDF_CHECK_TYPE_SIZE TYPE VARIABLE)
+ set (CMAKE_ALLOW_UNKNOWN_VARIABLE_READ_ACCESS 1)
+ if ("HAVE_${VARIABLE}" MATCHES "^HAVE_${VARIABLE}$")
+ set (MACRO_CHECK_TYPE_SIZE_FLAGS
+ "-DCHECK_TYPE_SIZE_TYPE=\"${TYPE}\" ${CMAKE_REQUIRED_FLAGS}"
+ )
+ foreach (def HAVE_SYS_TYPES_H HAVE_STDINT_H HAVE_STDDEF_H HAVE_INTTYPES_H)
+ if ("${def}")
+ set (MACRO_CHECK_TYPE_SIZE_FLAGS "${MACRO_CHECK_TYPE_SIZE_FLAGS} -D${def}")
+ endif ("${def}")
+ endforeach (def)
+
+ message (STATUS "Check size of ${TYPE}")
+ if (CMAKE_REQUIRED_LIBRARIES)
+ set (CHECK_TYPE_SIZE_ADD_LIBRARIES
+ "-DLINK_LIBRARIES:STRING=${CMAKE_REQUIRED_LIBRARIES}"
+ )
+ endif (CMAKE_REQUIRED_LIBRARIES)
+ try_run (${VARIABLE} HAVE_${VARIABLE}
+ ${CMAKE_BINARY_DIR}
+ ${HDF_RESOURCES_EXT_DIR}/CheckTypeSize.c
+ CMAKE_FLAGS -DCOMPILE_DEFINITIONS:STRING=${MACRO_CHECK_TYPE_SIZE_FLAGS}
+ "${CHECK_TYPE_SIZE_ADD_LIBRARIES}"
+ OUTPUT_VARIABLE OUTPUT
+ )
+ if (HAVE_${VARIABLE})
+ message (STATUS "Check size of ${TYPE} - done")
+ file (APPEND
+ ${CMAKE_BINARY_DIR}/CMakeFiles/CMakeOutput.log
+ "Determining size of ${TYPE} passed with the following output:\n${OUTPUT}\n\n"
+ )
+ else (HAVE_${VARIABLE})
+ message (STATUS "Check size of ${TYPE} - failed")
+ file (APPEND
+ ${CMAKE_BINARY_DIR}/CMakeFiles/CMakeError.log
+ "Determining size of ${TYPE} failed with the following output:\n${OUTPUT}\n\n"
+ )
+ endif (HAVE_${VARIABLE})
+ endif ("HAVE_${VARIABLE}" MATCHES "^HAVE_${VARIABLE}$")
+ set (CMAKE_ALLOW_UNKNOWN_VARIABLE_READ_ACCESS)
+ENDMACRO (HDF_CHECK_TYPE_SIZE)
diff --git a/config/cmake_ext_mod/ConfigureChecks.cmake b/config/cmake_ext_mod/ConfigureChecks.cmake
new file mode 100644
index 0000000..e058b10
--- /dev/null
+++ b/config/cmake_ext_mod/ConfigureChecks.cmake
@@ -0,0 +1,756 @@
+#-----------------------------------------------------------------------------
+# Include all the necessary files for macros
+#-----------------------------------------------------------------------------
+include (${CMAKE_ROOT}/Modules/CheckFunctionExists.cmake)
+include (${CMAKE_ROOT}/Modules/CheckIncludeFile.cmake)
+include (${CMAKE_ROOT}/Modules/CheckIncludeFileCXX.cmake)
+include (${CMAKE_ROOT}/Modules/CheckIncludeFiles.cmake)
+include (${CMAKE_ROOT}/Modules/CheckLibraryExists.cmake)
+include (${CMAKE_ROOT}/Modules/CheckSymbolExists.cmake)
+include (${CMAKE_ROOT}/Modules/CheckTypeSize.cmake)
+include (${CMAKE_ROOT}/Modules/CheckVariableExists.cmake)
+include (${CMAKE_ROOT}/Modules/CheckFortranFunctionExists.cmake)
+include (${CMAKE_ROOT}/Modules/TestBigEndian.cmake)
+if(CMAKE_CXX_COMPILER)
+ include (${CMAKE_ROOT}/Modules/TestForSTDNamespace.cmake)
+endif(CMAKE_CXX_COMPILER)
+
+#-----------------------------------------------------------------------------
+# APPLE/Darwin setup
+#-----------------------------------------------------------------------------
+if (APPLE)
+ list (LENGTH CMAKE_OSX_ARCHITECTURES ARCH_LENGTH)
+ if (ARCH_LENGTH GREATER 1)
+ set (CMAKE_OSX_ARCHITECTURES "" CACHE STRING "" FORCE)
+ message(FATAL_ERROR "Building Universal Binaries on OS X is NOT supported by the HDF5 project. This is"
+ "due to technical reasons. The best approach would be build each architecture in separate directories"
+ "and use the 'lipo' tool to combine them into a single executable or library. The 'CMAKE_OSX_ARCHITECTURES'"
+ "variable has been set to a blank value which will build the default architecture for this system.")
+ endif ()
+ set (${HDF_PREFIX}_AC_APPLE_UNIVERSAL_BUILD 0)
+endif (APPLE)
+
+# Check for Darwin (not just Apple - we also want to catch OpenDarwin)
+if (${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
+ set (${HDF_PREFIX}_HAVE_DARWIN 1)
+endif (${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
+
+# Check for Solaris
+if (${CMAKE_SYSTEM_NAME} MATCHES "SunOS")
+ set (${HDF_PREFIX}_HAVE_SOLARIS 1)
+endif (${CMAKE_SYSTEM_NAME} MATCHES "SunOS")
+
+#-----------------------------------------------------------------------------
+# This MACRO checks IF the symbol exists in the library and IF it
+# does, it appends library to the list.
+#-----------------------------------------------------------------------------
+set (LINK_LIBS "")
+MACRO (CHECK_LIBRARY_EXISTS_CONCAT LIBRARY SYMBOL VARIABLE)
+ CHECK_LIBRARY_EXISTS ("${LIBRARY};${LINK_LIBS}" ${SYMBOL} "" ${VARIABLE})
+ if (${VARIABLE})
+ set (LINK_LIBS ${LINK_LIBS} ${LIBRARY})
+ endif (${VARIABLE})
+ENDMACRO (CHECK_LIBRARY_EXISTS_CONCAT)
+
+# ----------------------------------------------------------------------
+# WINDOWS Hard code Values
+# ----------------------------------------------------------------------
+
+set (WINDOWS)
+if (WIN32)
+ if (MINGW)
+ set (${HDF_PREFIX}_HAVE_MINGW 1)
+ set (WINDOWS 1) # MinGW tries to imitate Windows
+ set (CMAKE_REQUIRED_FLAGS "-DWIN32_LEAN_AND_MEAN=1 -DNOGDI=1")
+ endif (MINGW)
+ set (${HDF_PREFIX}_HAVE_WIN32_API 1)
+ set (CMAKE_REQUIRED_LIBRARIES "ws2_32.lib;wsock32.lib")
+ if (NOT UNIX AND NOT MINGW)
+ set (WINDOWS 1)
+ set (CMAKE_REQUIRED_FLAGS "/DWIN32_LEAN_AND_MEAN=1 /DNOGDI=1")
+ if (MSVC)
+ set (${HDF_PREFIX}_HAVE_VISUAL_STUDIO 1)
+ endif (MSVC)
+ endif (NOT UNIX AND NOT MINGW)
+endif (WIN32)
+
+if (WINDOWS)
+ set (${HDF_PREFIX}_HAVE_STDDEF_H 1)
+ set (${HDF_PREFIX}_HAVE_SYS_STAT_H 1)
+ set (${HDF_PREFIX}_HAVE_SYS_TYPES_H 1)
+ set (${HDF_PREFIX}_HAVE_LIBM 1)
+ set (${HDF_PREFIX}_HAVE_STRDUP 1)
+ set (${HDF_PREFIX}_HAVE_SYSTEM 1)
+ set (${HDF_PREFIX}_HAVE_LONGJMP 1)
+ if (NOT MINGW)
+ set (${HDF_PREFIX}_HAVE_GETHOSTNAME 1)
+ endif (NOT MINGW)
+ if (NOT UNIX AND NOT CYGWIN AND NOT MINGW)
+ set (${HDF_PREFIX}_HAVE_GETCONSOLESCREENBUFFERINFO 1)
+ endif (NOT UNIX AND NOT CYGWIN AND NOT MINGW)
+ set (${HDF_PREFIX}_HAVE_FUNCTION 1)
+ set (${HDF_PREFIX}_GETTIMEOFDAY_GIVES_TZ 1)
+ set (${HDF_PREFIX}_HAVE_TIMEZONE 1)
+ set (${HDF_PREFIX}_HAVE_GETTIMEOFDAY 1)
+ if (MINGW)
+ set (${HDF_PREFIX}_HAVE_WINSOCK2_H 1)
+ endif (MINGW)
+ set (${HDF_PREFIX}_HAVE_LIBWS2_32 1)
+ set (${HDF_PREFIX}_HAVE_LIBWSOCK32 1)
+endif (WINDOWS)
+
+# ----------------------------------------------------------------------
+# END of WINDOWS Hard code Values
+# ----------------------------------------------------------------------
+
+if (CYGWIN)
+ set (${HDF_PREFIX}_HAVE_LSEEK64 0)
+endif (CYGWIN)
+
+#-----------------------------------------------------------------------------
+# Check for the math library "m"
+#-----------------------------------------------------------------------------
+if (NOT WINDOWS)
+ CHECK_LIBRARY_EXISTS_CONCAT ("m" ceil ${HDF_PREFIX}_HAVE_LIBM)
+ CHECK_LIBRARY_EXISTS_CONCAT ("dl" dlopen ${HDF_PREFIX}_HAVE_LIBDL)
+ CHECK_LIBRARY_EXISTS_CONCAT ("ws2_32" WSAStartup ${HDF_PREFIX}_HAVE_LIBWS2_32)
+ CHECK_LIBRARY_EXISTS_CONCAT ("wsock32" gethostbyname ${HDF_PREFIX}_HAVE_LIBWSOCK32)
+endif (NOT WINDOWS)
+
+CHECK_LIBRARY_EXISTS_CONCAT ("ucb" gethostname ${HDF_PREFIX}_HAVE_LIBUCB)
+CHECK_LIBRARY_EXISTS_CONCAT ("socket" connect ${HDF_PREFIX}_HAVE_LIBSOCKET)
+CHECK_LIBRARY_EXISTS ("c" gethostbyname "" NOT_NEED_LIBNSL)
+
+if (NOT NOT_NEED_LIBNSL)
+ CHECK_LIBRARY_EXISTS_CONCAT ("nsl" gethostbyname ${HDF_PREFIX}_HAVE_LIBNSL)
+endif (NOT NOT_NEED_LIBNSL)
+
+# For other tests to use the same libraries
+set (CMAKE_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES} ${LINK_LIBS})
+
+set (USE_INCLUDES "")
+if (WINDOWS)
+ set (USE_INCLUDES ${USE_INCLUDES} "windows.h")
+endif (WINDOWS)
+
+if (NOT WINDOWS)
+ TEST_BIG_ENDIAN (${HDF_PREFIX}_WORDS_BIGENDIAN)
+endif (NOT WINDOWS)
+
+# For other specific tests, use this MACRO.
+MACRO (HDF_FUNCTION_TEST OTHER_TEST)
+ if ("${HDF_PREFIX}_${OTHER_TEST}" MATCHES "^${HDF_PREFIX}_${OTHER_TEST}$")
+ set (MACRO_CHECK_FUNCTION_DEFINITIONS "-D${OTHER_TEST} ${CMAKE_REQUIRED_FLAGS}")
+ set (OTHER_TEST_ADD_LIBRARIES)
+ if (CMAKE_REQUIRED_LIBRARIES)
+ set (OTHER_TEST_ADD_LIBRARIES "-DLINK_LIBRARIES:STRING=${CMAKE_REQUIRED_LIBRARIES}")
+ endif (CMAKE_REQUIRED_LIBRARIES)
+
+ foreach (def ${HDF_EXTRA_TEST_DEFINITIONS})
+ set (MACRO_CHECK_FUNCTION_DEFINITIONS "${MACRO_CHECK_FUNCTION_DEFINITIONS} -D${def}=${${def}}")
+ endforeach (def)
+
+ foreach (def
+ HAVE_SYS_TIME_H
+ HAVE_UNISTD_H
+ HAVE_SYS_TYPES_H
+ HAVE_SYS_SOCKET_H
+ )
+ if ("${${HDF_PREFIX}_${def}}")
+ set (MACRO_CHECK_FUNCTION_DEFINITIONS "${MACRO_CHECK_FUNCTION_DEFINITIONS} -D${def}")
+ endif ("${${HDF_PREFIX}_${def}}")
+ endforeach (def)
+
+ if (LARGEFILE)
+ set (MACRO_CHECK_FUNCTION_DEFINITIONS
+ "${MACRO_CHECK_FUNCTION_DEFINITIONS} -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE"
+ )
+ endif (LARGEFILE)
+
+ #message (STATUS "Performing ${OTHER_TEST}")
+ TRY_COMPILE (${OTHER_TEST}
+ ${CMAKE_BINARY_DIR}
+ ${HDF_RESOURCES_EXT_DIR}/HDFTests.c
+ CMAKE_FLAGS -DCOMPILE_DEFINITIONS:STRING=${MACRO_CHECK_FUNCTION_DEFINITIONS}
+ "${OTHER_TEST_ADD_LIBRARIES}"
+ OUTPUT_VARIABLE OUTPUT
+ )
+ if (${OTHER_TEST})
+ set (${HDF_PREFIX}_${OTHER_TEST} 1 CACHE INTERNAL "Other test ${FUNCTION}")
+ message (STATUS "Performing Other Test ${OTHER_TEST} - Success")
+ else (${OTHER_TEST})
+ message (STATUS "Performing Other Test ${OTHER_TEST} - Failed")
+ set (${HDF_PREFIX}_${OTHER_TEST} "" CACHE INTERNAL "Other test ${FUNCTION}")
+ file (APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
+ "Performing Other Test ${OTHER_TEST} failed with the following output:\n"
+ "${OUTPUT}\n"
+ )
+ endif (${OTHER_TEST})
+ endif ("${HDF_PREFIX}_${OTHER_TEST}" MATCHES "^${HDF_PREFIX}_${OTHER_TEST}$")
+ENDMACRO (HDF_FUNCTION_TEST)
+
+#-----------------------------------------------------------------------------
+# Check for these functions before the time headers are checked
+#-----------------------------------------------------------------------------
+HDF_FUNCTION_TEST (STDC_HEADERS)
+
+#-----------------------------------------------------------------------------
+# Check IF header file exists and add it to the list.
+#-----------------------------------------------------------------------------
+MACRO (CHECK_INCLUDE_FILE_CONCAT FILE VARIABLE)
+ CHECK_INCLUDE_FILES ("${USE_INCLUDES};${FILE}" ${VARIABLE})
+ if (${VARIABLE})
+ set (USE_INCLUDES ${USE_INCLUDES} ${FILE})
+ endif (${VARIABLE})
+ENDMACRO (CHECK_INCLUDE_FILE_CONCAT)
+
+#-----------------------------------------------------------------------------
+# Check for the existence of certain header files
+#-----------------------------------------------------------------------------
+CHECK_INCLUDE_FILE_CONCAT ("sys/resource.h" ${HDF_PREFIX}_HAVE_SYS_RESOURCE_H)
+CHECK_INCLUDE_FILE_CONCAT ("sys/time.h" ${HDF_PREFIX}_HAVE_SYS_TIME_H)
+CHECK_INCLUDE_FILE_CONCAT ("unistd.h" ${HDF_PREFIX}_HAVE_UNISTD_H)
+CHECK_INCLUDE_FILE_CONCAT ("sys/ioctl.h" ${HDF_PREFIX}_HAVE_SYS_IOCTL_H)
+CHECK_INCLUDE_FILE_CONCAT ("sys/stat.h" ${HDF_PREFIX}_HAVE_SYS_STAT_H)
+CHECK_INCLUDE_FILE_CONCAT ("sys/socket.h" ${HDF_PREFIX}_HAVE_SYS_SOCKET_H)
+CHECK_INCLUDE_FILE_CONCAT ("sys/types.h" ${HDF_PREFIX}_HAVE_SYS_TYPES_H)
+CHECK_INCLUDE_FILE_CONCAT ("stddef.h" ${HDF_PREFIX}_HAVE_STDDEF_H)
+CHECK_INCLUDE_FILE_CONCAT ("setjmp.h" ${HDF_PREFIX}_HAVE_SETJMP_H)
+CHECK_INCLUDE_FILE_CONCAT ("features.h" ${HDF_PREFIX}_HAVE_FEATURES_H)
+CHECK_INCLUDE_FILE_CONCAT ("dirent.h" ${HDF_PREFIX}_HAVE_DIRENT_H)
+CHECK_INCLUDE_FILE_CONCAT ("stdint.h" ${HDF_PREFIX}_HAVE_STDINT_H)
+
+# IF the c compiler found stdint, check the C++ as well. On some systems this
+# file will be found by C but not C++, only do this test IF the C++ compiler
+# has been initialized (e.g. the project also includes some c++)
+if (${HDF_PREFIX}_HAVE_STDINT_H AND CMAKE_CXX_COMPILER_LOADED)
+ CHECK_INCLUDE_FILE_CXX ("stdint.h" ${HDF_PREFIX}_HAVE_STDINT_H_CXX)
+ if (NOT ${HDF_PREFIX}_HAVE_STDINT_H_CXX)
+ set (${HDF_PREFIX}_HAVE_STDINT_H "" CACHE INTERNAL "Have includes HAVE_STDINT_H")
+ set (USE_INCLUDES ${USE_INCLUDES} "stdint.h")
+ endif (NOT ${HDF_PREFIX}_HAVE_STDINT_H_CXX)
+endif (${HDF_PREFIX}_HAVE_STDINT_H AND CMAKE_CXX_COMPILER_LOADED)
+
+# Darwin
+CHECK_INCLUDE_FILE_CONCAT ("mach/mach_time.h" ${HDF_PREFIX}_HAVE_MACH_MACH_TIME_H)
+
+# Windows
+CHECK_INCLUDE_FILE_CONCAT ("io.h" ${HDF_PREFIX}_HAVE_IO_H)
+if (NOT CYGWIN)
+ CHECK_INCLUDE_FILE_CONCAT ("winsock2.h" ${HDF_PREFIX}_HAVE_WINSOCK2_H)
+endif (NOT CYGWIN)
+CHECK_INCLUDE_FILE_CONCAT ("sys/timeb.h" ${HDF_PREFIX}_HAVE_SYS_TIMEB_H)
+
+if (CMAKE_SYSTEM_NAME MATCHES "OSF")
+ CHECK_INCLUDE_FILE_CONCAT ("sys/sysinfo.h" ${HDF_PREFIX}_HAVE_SYS_SYSINFO_H)
+ CHECK_INCLUDE_FILE_CONCAT ("sys/proc.h" ${HDF_PREFIX}_HAVE_SYS_PROC_H)
+else (CMAKE_SYSTEM_NAME MATCHES "OSF")
+ set (${HDF_PREFIX}_HAVE_SYS_SYSINFO_H "" CACHE INTERNAL "" FORCE)
+ set (${HDF_PREFIX}_HAVE_SYS_PROC_H "" CACHE INTERNAL "" FORCE)
+endif (CMAKE_SYSTEM_NAME MATCHES "OSF")
+
+CHECK_INCLUDE_FILE_CONCAT ("globus/common.h" ${HDF_PREFIX}_HAVE_GLOBUS_COMMON_H)
+CHECK_INCLUDE_FILE_CONCAT ("pdb.h" ${HDF_PREFIX}_HAVE_PDB_H)
+CHECK_INCLUDE_FILE_CONCAT ("pthread.h" ${HDF_PREFIX}_HAVE_PTHREAD_H)
+CHECK_INCLUDE_FILE_CONCAT ("srbclient.h" ${HDF_PREFIX}_HAVE_SRBCLIENT_H)
+CHECK_INCLUDE_FILE_CONCAT ("string.h" ${HDF_PREFIX}_HAVE_STRING_H)
+CHECK_INCLUDE_FILE_CONCAT ("strings.h" ${HDF_PREFIX}_HAVE_STRINGS_H)
+CHECK_INCLUDE_FILE_CONCAT ("stdlib.h" ${HDF_PREFIX}_HAVE_STDLIB_H)
+CHECK_INCLUDE_FILE_CONCAT ("memory.h" ${HDF_PREFIX}_HAVE_MEMORY_H)
+CHECK_INCLUDE_FILE_CONCAT ("dlfcn.h" ${HDF_PREFIX}_HAVE_DLFCN_H)
+CHECK_INCLUDE_FILE_CONCAT ("inttypes.h" ${HDF_PREFIX}_HAVE_INTTYPES_H)
+CHECK_INCLUDE_FILE_CONCAT ("netinet/in.h" ${HDF_PREFIX}_HAVE_NETINET_IN_H)
+
+#-----------------------------------------------------------------------------
+# Check for large file support
+#-----------------------------------------------------------------------------
+
+# The linux-lfs option is deprecated.
+set (LINUX_LFS 0)
+
+set (HDF_EXTRA_C_FLAGS)
+set (HDF_EXTRA_FLAGS)
+if (NOT WINDOWS)
+ if (NOT ${HDF_PREFIX}_HAVE_SOLARIS)
+ # Linux Specific flags
+ # This was originally defined as _POSIX_SOURCE which was updated to
+ # _POSIX_C_SOURCE=199506L to expose a greater amount of POSIX
+ # functionality so clock_gettime and CLOCK_MONOTONIC are defined
+ # correctly.
+ # POSIX feature information can be found in the gcc manual at:
+ # http://www.gnu.org/s/libc/manual/html_node/Feature-Test-Macros.html
+ set (HDF_EXTRA_C_FLAGS -D_POSIX_C_SOURCE=199506L)
+ # _BSD_SOURCE deprecated in GLIBC >= 2.20
+ TRY_RUN (HAVE_DEFAULT_SOURCE_RUN HAVE_DEFAULT_SOURCE_COMPILE
+ ${CMAKE_BINARY_DIR}
+ ${HDF_RESOURCES_EXT_DIR}/HDFTests.c
+ CMAKE_FLAGS -DCOMPILE_DEFINITIONS:STRING=-DHAVE_DEFAULT_SOURCE
+ OUTPUT_VARIABLE OUTPUT
+ )
+ if (HAVE_DEFAULT_SOURCE_COMPILE AND HAVE_DEFAULT_SOURCE_RUN)
+ set (HDF_EXTRA_FLAGS -D_DEFAULT_SOURCE)
+ else (HAVE_DEFAULT_SOURCE_COMPILE AND HAVE_DEFAULT_SOURCE_RUN)
+ set (HDF_EXTRA_FLAGS -D_BSD_SOURCE)
+ endif (HAVE_DEFAULT_SOURCE_COMPILE AND HAVE_DEFAULT_SOURCE_RUN)
+
+ option (HDF_ENABLE_LARGE_FILE "Enable support for large (64-bit) files on Linux." ON)
+ if (HDF_ENABLE_LARGE_FILE)
+ set (msg "Performing TEST_LFS_WORKS")
+ TRY_RUN (TEST_LFS_WORKS_RUN TEST_LFS_WORKS_COMPILE
+ ${CMAKE_BINARY_DIR}
+ ${HDF_RESOURCES_EXT_DIR}/HDFTests.c
+ CMAKE_FLAGS -DCOMPILE_DEFINITIONS:STRING=-DTEST_LFS_WORKS
+ OUTPUT_VARIABLE OUTPUT
+ )
+ if (TEST_LFS_WORKS_COMPILE)
+ if (TEST_LFS_WORKS_RUN MATCHES 0)
+ set (TEST_LFS_WORKS 1 CACHE INTERNAL ${msg})
+ set (LARGEFILE 1)
+ set (HDF_EXTRA_FLAGS ${HDF_EXTRA_FLAGS} -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE)
+ message (STATUS "${msg}... yes")
+ else (TEST_LFS_WORKS_RUN MATCHES 0)
+ set (TEST_LFS_WORKS "" CACHE INTERNAL ${msg})
+ message (STATUS "${msg}... no")
+ file (APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
+ "Test TEST_LFS_WORKS Run failed with the following output and exit code:\n ${OUTPUT}\n"
+ )
+ endif (TEST_LFS_WORKS_RUN MATCHES 0)
+ else (TEST_LFS_WORKS_COMPILE )
+ set (TEST_LFS_WORKS "" CACHE INTERNAL ${msg})
+ message (STATUS "${msg}... no")
+ file (APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
+ "Test TEST_LFS_WORKS Compile failed with the following output:\n ${OUTPUT}\n"
+ )
+ endif (TEST_LFS_WORKS_COMPILE)
+ endif (HDF_ENABLE_LARGE_FILE)
+ set (CMAKE_REQUIRED_DEFINITIONS ${CMAKE_REQUIRED_DEFINITIONS} ${HDF_EXTRA_FLAGS})
+ endif (NOT ${HDF_PREFIX}_HAVE_SOLARIS)
+endif (NOT WINDOWS)
+
+add_definitions (${HDF_EXTRA_FLAGS})
+
+#-----------------------------------------------------------------------------
+# Check for HAVE_OFF64_T functionality
+#-----------------------------------------------------------------------------
+if (NOT WINDOWS OR MINGW)
+ HDF_FUNCTION_TEST (HAVE_OFF64_T)
+ if (${HDF_PREFIX}_HAVE_OFF64_T)
+ CHECK_FUNCTION_EXISTS (lseek64 ${HDF_PREFIX}_HAVE_LSEEK64)
+ CHECK_FUNCTION_EXISTS (fseeko64 ${HDF_PREFIX}_HAVE_FSEEKO64)
+ CHECK_FUNCTION_EXISTS (ftello64 ${HDF_PREFIX}_HAVE_FTELLO64)
+ CHECK_FUNCTION_EXISTS (ftruncate64 ${HDF_PREFIX}_HAVE_FTRUNCATE64)
+ endif (${HDF_PREFIX}_HAVE_OFF64_T)
+
+ CHECK_FUNCTION_EXISTS (fseeko ${HDF_PREFIX}_HAVE_FSEEKO)
+ CHECK_FUNCTION_EXISTS (ftello ${HDF_PREFIX}_HAVE_FTELLO)
+
+ HDF_FUNCTION_TEST (HAVE_STAT64_STRUCT)
+ if (HAVE_STAT64_STRUCT)
+ CHECK_FUNCTION_EXISTS (fstat64 ${HDF_PREFIX}_HAVE_FSTAT64)
+ CHECK_FUNCTION_EXISTS (stat64 ${HDF_PREFIX}_HAVE_STAT64)
+ endif (HAVE_STAT64_STRUCT)
+endif (NOT WINDOWS OR MINGW)
+
+#-----------------------------------------------------------------------------
+# Check the size in bytes of all the int and float types
+#-----------------------------------------------------------------------------
+MACRO (HDF_CHECK_TYPE_SIZE type var)
+ set (aType ${type})
+ set (aVar ${var})
+# message (STATUS "Checking size of ${aType} and storing into ${aVar}")
+ CHECK_TYPE_SIZE (${aType} ${aVar})
+ if (NOT ${aVar})
+ set (${aVar} 0 CACHE INTERNAL "SizeOf for ${aType}")
+# message (STATUS "Size of ${aType} was NOT Found")
+ endif (NOT ${aVar})
+ENDMACRO (HDF_CHECK_TYPE_SIZE)
+
+HDF_CHECK_TYPE_SIZE (char ${HDF_PREFIX}_SIZEOF_CHAR)
+HDF_CHECK_TYPE_SIZE (short ${HDF_PREFIX}_SIZEOF_SHORT)
+HDF_CHECK_TYPE_SIZE (int ${HDF_PREFIX}_SIZEOF_INT)
+HDF_CHECK_TYPE_SIZE (unsigned ${HDF_PREFIX}_SIZEOF_UNSIGNED)
+if (NOT APPLE)
+ HDF_CHECK_TYPE_SIZE (long ${HDF_PREFIX}_SIZEOF_LONG)
+endif (NOT APPLE)
+HDF_CHECK_TYPE_SIZE ("long long" ${HDF_PREFIX}_SIZEOF_LONG_LONG)
+HDF_CHECK_TYPE_SIZE (__int64 ${HDF_PREFIX}_SIZEOF___INT64)
+if (NOT ${HDF_PREFIX}_SIZEOF___INT64)
+ set (${HDF_PREFIX}_SIZEOF___INT64 0)
+endif (NOT ${HDF_PREFIX}_SIZEOF___INT64)
+
+HDF_CHECK_TYPE_SIZE (float ${HDF_PREFIX}_SIZEOF_FLOAT)
+HDF_CHECK_TYPE_SIZE (double ${HDF_PREFIX}_SIZEOF_DOUBLE)
+HDF_CHECK_TYPE_SIZE ("long double" ${HDF_PREFIX}_SIZEOF_LONG_DOUBLE)
+
+HDF_CHECK_TYPE_SIZE (int8_t ${HDF_PREFIX}_SIZEOF_INT8_T)
+HDF_CHECK_TYPE_SIZE (uint8_t ${HDF_PREFIX}_SIZEOF_UINT8_T)
+HDF_CHECK_TYPE_SIZE (int_least8_t ${HDF_PREFIX}_SIZEOF_INT_LEAST8_T)
+HDF_CHECK_TYPE_SIZE (uint_least8_t ${HDF_PREFIX}_SIZEOF_UINT_LEAST8_T)
+HDF_CHECK_TYPE_SIZE (int_fast8_t ${HDF_PREFIX}_SIZEOF_INT_FAST8_T)
+HDF_CHECK_TYPE_SIZE (uint_fast8_t ${HDF_PREFIX}_SIZEOF_UINT_FAST8_T)
+
+HDF_CHECK_TYPE_SIZE (int16_t ${HDF_PREFIX}_SIZEOF_INT16_T)
+HDF_CHECK_TYPE_SIZE (uint16_t ${HDF_PREFIX}_SIZEOF_UINT16_T)
+HDF_CHECK_TYPE_SIZE (int_least16_t ${HDF_PREFIX}_SIZEOF_INT_LEAST16_T)
+HDF_CHECK_TYPE_SIZE (uint_least16_t ${HDF_PREFIX}_SIZEOF_UINT_LEAST16_T)
+HDF_CHECK_TYPE_SIZE (int_fast16_t ${HDF_PREFIX}_SIZEOF_INT_FAST16_T)
+HDF_CHECK_TYPE_SIZE (uint_fast16_t ${HDF_PREFIX}_SIZEOF_UINT_FAST16_T)
+
+HDF_CHECK_TYPE_SIZE (int32_t ${HDF_PREFIX}_SIZEOF_INT32_T)
+HDF_CHECK_TYPE_SIZE (uint32_t ${HDF_PREFIX}_SIZEOF_UINT32_T)
+HDF_CHECK_TYPE_SIZE (int_least32_t ${HDF_PREFIX}_SIZEOF_INT_LEAST32_T)
+HDF_CHECK_TYPE_SIZE (uint_least32_t ${HDF_PREFIX}_SIZEOF_UINT_LEAST32_T)
+HDF_CHECK_TYPE_SIZE (int_fast32_t ${HDF_PREFIX}_SIZEOF_INT_FAST32_T)
+HDF_CHECK_TYPE_SIZE (uint_fast32_t ${HDF_PREFIX}_SIZEOF_UINT_FAST32_T)
+
+HDF_CHECK_TYPE_SIZE (int64_t ${HDF_PREFIX}_SIZEOF_INT64_T)
+HDF_CHECK_TYPE_SIZE (uint64_t ${HDF_PREFIX}_SIZEOF_UINT64_T)
+HDF_CHECK_TYPE_SIZE (int_least64_t ${HDF_PREFIX}_SIZEOF_INT_LEAST64_T)
+HDF_CHECK_TYPE_SIZE (uint_least64_t ${HDF_PREFIX}_SIZEOF_UINT_LEAST64_T)
+HDF_CHECK_TYPE_SIZE (int_fast64_t ${HDF_PREFIX}_SIZEOF_INT_FAST64_T)
+HDF_CHECK_TYPE_SIZE (uint_fast64_t ${HDF_PREFIX}_SIZEOF_UINT_FAST64_T)
+
+if (NOT APPLE)
+ HDF_CHECK_TYPE_SIZE (size_t ${HDF_PREFIX}_SIZEOF_SIZE_T)
+ HDF_CHECK_TYPE_SIZE (ssize_t ${HDF_PREFIX}_SIZEOF_SSIZE_T)
+ if (NOT ${HDF_PREFIX}_SIZEOF_SSIZE_T)
+ set (${HDF_PREFIX}_SIZEOF_SSIZE_T 0)
+ endif (NOT ${HDF_PREFIX}_SIZEOF_SSIZE_T)
+ if (NOT WINDOWS)
+ HDF_CHECK_TYPE_SIZE (ptrdiff_t ${HDF_PREFIX}_SIZEOF_PTRDIFF_T)
+ endif (NOT WINDOWS)
+endif (NOT APPLE)
+
+HDF_CHECK_TYPE_SIZE (off_t ${HDF_PREFIX}_SIZEOF_OFF_T)
+HDF_CHECK_TYPE_SIZE (off64_t ${HDF_PREFIX}_SIZEOF_OFF64_T)
+if (NOT ${HDF_PREFIX}_SIZEOF_OFF64_T)
+ set (${HDF_PREFIX}_SIZEOF_OFF64_T 0)
+endif (NOT ${HDF_PREFIX}_SIZEOF_OFF64_T)
+
+if (NOT WINDOWS)
+ #-----------------------------------------------------------------------------
+ # Check if the dev_t type is a scalar type
+ #-----------------------------------------------------------------------------
+ HDF_FUNCTION_TEST (DEV_T_IS_SCALAR)
+
+ # ----------------------------------------------------------------------
+ # Check for MONOTONIC_TIMER support (used in clock_gettime). This has
+ # to be done after any POSIX/BSD defines to ensure that the test gets
+ # the correct POSIX level on linux.
+ CHECK_VARIABLE_EXISTS (CLOCK_MONOTONIC HAVE_CLOCK_MONOTONIC)
+
+ #-----------------------------------------------------------------------------
+ # Check a bunch of time functions
+ #-----------------------------------------------------------------------------
+ foreach (test
+ HAVE_TM_GMTOFF
+ HAVE___TM_GMTOFF
+# HAVE_TIMEZONE
+ HAVE_STRUCT_TIMEZONE
+ GETTIMEOFDAY_GIVES_TZ
+ TIME_WITH_SYS_TIME
+ HAVE_TM_ZONE
+ HAVE_STRUCT_TM_TM_ZONE
+ )
+ HDF_FUNCTION_TEST (${test})
+ endforeach (test)
+ if (NOT CYGWIN AND NOT MINGW)
+ HDF_FUNCTION_TEST (HAVE_TIMEZONE)
+# HDF_FUNCTION_TEST (HAVE_STAT_ST_BLOCKS)
+ endif (NOT CYGWIN AND NOT MINGW)
+
+ # ----------------------------------------------------------------------
+ # Does the struct stat have the st_blocks field? This field is not Posix.
+ #
+ HDF_FUNCTION_TEST (HAVE_STAT_ST_BLOCKS)
+
+ # ----------------------------------------------------------------------
+ # How do we figure out the width of a tty in characters?
+ #
+ CHECK_FUNCTION_EXISTS (ioctl ${HDF_PREFIX}_HAVE_IOCTL)
+ HDF_FUNCTION_TEST (HAVE_STRUCT_VIDEOCONFIG)
+ HDF_FUNCTION_TEST (HAVE_STRUCT_TEXT_INFO)
+ CHECK_FUNCTION_EXISTS (_getvideoconfig ${HDF_PREFIX}_HAVE__GETVIDEOCONFIG)
+ CHECK_FUNCTION_EXISTS (gettextinfo ${HDF_PREFIX}_HAVE_GETTEXTINFO)
+ CHECK_FUNCTION_EXISTS (_scrsize ${HDF_PREFIX}_HAVE__SCRSIZE)
+ if (NOT CYGWIN AND NOT MINGW)
+ CHECK_FUNCTION_EXISTS (GetConsoleScreenBufferInfo ${HDF_PREFIX}_HAVE_GETCONSOLESCREENBUFFERINFO)
+ endif (NOT CYGWIN AND NOT MINGW)
+ CHECK_SYMBOL_EXISTS (TIOCGWINSZ "sys/ioctl.h" ${HDF_PREFIX}_HAVE_TIOCGWINSZ)
+ CHECK_SYMBOL_EXISTS (TIOCGETD "sys/ioctl.h" ${HDF_PREFIX}_HAVE_TIOCGETD)
+endif (NOT WINDOWS)
+
+#-----------------------------------------------------------------------------
+# Check for some functions that are used
+#
+CHECK_FUNCTION_EXISTS (alarm ${HDF_PREFIX}_HAVE_ALARM)
+CHECK_FUNCTION_EXISTS (fork ${HDF_PREFIX}_HAVE_FORK)
+CHECK_FUNCTION_EXISTS (frexpf ${HDF_PREFIX}_HAVE_FREXPF)
+CHECK_FUNCTION_EXISTS (frexpl ${HDF_PREFIX}_HAVE_FREXPL)
+
+CHECK_FUNCTION_EXISTS (gethostname ${HDF_PREFIX}_HAVE_GETHOSTNAME)
+CHECK_FUNCTION_EXISTS (getpwuid ${HDF_PREFIX}_HAVE_GETPWUID)
+CHECK_FUNCTION_EXISTS (getrusage ${HDF_PREFIX}_HAVE_GETRUSAGE)
+CHECK_FUNCTION_EXISTS (lstat ${HDF_PREFIX}_HAVE_LSTAT)
+
+CHECK_FUNCTION_EXISTS (rand_r ${HDF_PREFIX}_HAVE_RAND_R)
+CHECK_FUNCTION_EXISTS (random ${HDF_PREFIX}_HAVE_RANDOM)
+CHECK_FUNCTION_EXISTS (setsysinfo ${HDF_PREFIX}_HAVE_SETSYSINFO)
+
+CHECK_FUNCTION_EXISTS (signal ${HDF_PREFIX}_HAVE_SIGNAL)
+CHECK_FUNCTION_EXISTS (longjmp ${HDF_PREFIX}_HAVE_LONGJMP)
+CHECK_FUNCTION_EXISTS (setjmp ${HDF_PREFIX}_HAVE_SETJMP)
+CHECK_FUNCTION_EXISTS (siglongjmp ${HDF_PREFIX}_HAVE_SIGLONGJMP)
+CHECK_FUNCTION_EXISTS (sigsetjmp ${HDF_PREFIX}_HAVE_SIGSETJMP)
+CHECK_FUNCTION_EXISTS (sigprocmask ${HDF_PREFIX}_HAVE_SIGPROCMASK)
+
+CHECK_FUNCTION_EXISTS (snprintf ${HDF_PREFIX}_HAVE_SNPRINTF)
+CHECK_FUNCTION_EXISTS (srandom ${HDF_PREFIX}_HAVE_SRANDOM)
+CHECK_FUNCTION_EXISTS (strdup ${HDF_PREFIX}_HAVE_STRDUP)
+CHECK_FUNCTION_EXISTS (symlink ${HDF_PREFIX}_HAVE_SYMLINK)
+CHECK_FUNCTION_EXISTS (system ${HDF_PREFIX}_HAVE_SYSTEM)
+
+CHECK_FUNCTION_EXISTS (tmpfile ${HDF_PREFIX}_HAVE_TMPFILE)
+CHECK_FUNCTION_EXISTS (asprintf ${HDF_PREFIX}_HAVE_ASPRINTF)
+CHECK_FUNCTION_EXISTS (vasprintf ${HDF_PREFIX}_HAVE_VASPRINTF)
+CHECK_FUNCTION_EXISTS (waitpid ${HDF_PREFIX}_HAVE_WAITPID)
+
+CHECK_FUNCTION_EXISTS (vsnprintf ${HDF_PREFIX}_HAVE_VSNPRINTF)
+if (NOT WINDOWS)
+ if (${HDF_PREFIX}_HAVE_VSNPRINTF)
+ HDF_FUNCTION_TEST (VSNPRINTF_WORKS)
+ endif (${HDF_PREFIX}_HAVE_VSNPRINTF)
+endif (NOT WINDOWS)
+
+#-----------------------------------------------------------------------------
+# sigsetjmp is special; may actually be a macro
+#-----------------------------------------------------------------------------
+if (NOT ${HDF_PREFIX}_HAVE_SIGSETJMP)
+ if (${HDF_PREFIX}_HAVE_SETJMP_H)
+ CHECK_SYMBOL_EXISTS (sigsetjmp "setjmp.h" ${HDF_PREFIX}_HAVE_MACRO_SIGSETJMP)
+ if (${HDF_PREFIX}_HAVE_MACRO_SIGSETJMP)
+ set (${HDF_PREFIX}_HAVE_SIGSETJMP 1)
+ endif (${HDF_PREFIX}_HAVE_MACRO_SIGSETJMP)
+ endif (${HDF_PREFIX}_HAVE_SETJMP_H)
+endif (NOT ${HDF_PREFIX}_HAVE_SIGSETJMP)
+
+#-----------------------------------------------------------------------------
+# Check a bunch of other functions
+#-----------------------------------------------------------------------------
+if (NOT WINDOWS)
+ foreach (test
+ HAVE_ATTRIBUTE
+ HAVE_C99_FUNC
+# STDC_HEADERS
+ HAVE_FUNCTION
+ HAVE_C99_DESIGNATED_INITIALIZER
+ SYSTEM_SCOPE_THREADS
+ HAVE_SOCKLEN_T
+ CXX_HAVE_OFFSETOF
+ )
+ HDF_FUNCTION_TEST (${test})
+ endforeach (test)
+endif (NOT WINDOWS)
+
+# For other CXX specific tests, use this MACRO.
+MACRO (HDF_CXX_FUNCTION_TEST OTHER_TEST)
+ if ("${OTHER_TEST}" MATCHES "^${OTHER_TEST}$")
+ set (MACRO_CHECK_FUNCTION_DEFINITIONS "-D${OTHER_TEST} ${CMAKE_REQUIRED_FLAGS}")
+ set (OTHER_TEST_ADD_LIBRARIES)
+ if (CMAKE_REQUIRED_LIBRARIES)
+ set (OTHER_TEST_ADD_LIBRARIES "-DLINK_LIBRARIES:STRING=${CMAKE_REQUIRED_LIBRARIES}")
+ endif (CMAKE_REQUIRED_LIBRARIES)
+
+ foreach (def ${HDF_EXTRA_TEST_DEFINITIONS})
+ set (MACRO_CHECK_FUNCTION_DEFINITIONS "${MACRO_CHECK_FUNCTION_DEFINITIONS} -D${def}=${${def}}")
+ endforeach (def)
+
+ foreach (def
+ HAVE_SYS_TIME_H
+ HAVE_UNISTD_H
+ HAVE_SYS_TYPES_H
+ HAVE_SYS_SOCKET_H
+ )
+ if ("${${HDF_PREFIX}_${def}}")
+ set (MACRO_CHECK_FUNCTION_DEFINITIONS "${MACRO_CHECK_FUNCTION_DEFINITIONS} -D${def}")
+ endif ("${${HDF_PREFIX}_${def}}")
+ endforeach (def)
+
+ if (LARGEFILE)
+ set (MACRO_CHECK_FUNCTION_DEFINITIONS
+ "${MACRO_CHECK_FUNCTION_DEFINITIONS} -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE"
+ )
+ endif (LARGEFILE)
+
+ #message (STATUS "Performing ${OTHER_TEST}")
+ TRY_COMPILE (${OTHER_TEST}
+ ${CMAKE_BINARY_DIR}
+ ${HDF_RESOURCES_EXT_DIR}/HDFCXXTests.cpp
+ CMAKE_FLAGS -DCOMPILE_DEFINITIONS:STRING=${MACRO_CHECK_FUNCTION_DEFINITIONS}
+ "${OTHER_TEST_ADD_LIBRARIES}"
+ OUTPUT_VARIABLE OUTPUT
+ )
+ if (${OTHER_TEST} EQUAL 0)
+ set (${OTHER_TEST} 1 CACHE INTERNAL "CXX test ${FUNCTION}")
+ message (STATUS "Performing CXX Test ${OTHER_TEST} - Success")
+ else (${OTHER_TEST} EQUAL 0)
+ message (STATUS "Performing CXX Test ${OTHER_TEST} - Failed")
+ set (${OTHER_TEST} "" CACHE INTERNAL "CXX test ${FUNCTION}")
+ file (APPEND ${CMAKE_BINARY_DIR}/CMakeFiles/CMakeError.log
+ "Performing CXX Test ${OTHER_TEST} failed with the following output:\n"
+ "${OUTPUT}\n"
+ )
+ endif (${OTHER_TEST} EQUAL 0)
+ endif ("${OTHER_TEST}" MATCHES "^${OTHER_TEST}$")
+ENDMACRO (HDF_CXX_FUNCTION_TEST)
+
+#-----------------------------------------------------------------------------
+# Check a bunch of cxx functions
+#-----------------------------------------------------------------------------
+if (CMAKE_CXX_COMPILER_LOADED)
+ foreach (test
+ OLD_HEADER_FILENAME
+ ${HDF_PREFIX}_NO_NAMESPACE
+ ${HDF_PREFIX}_NO_STD
+ BOOL_NOTDEFINED
+ NO_STATIC_CAST
+ )
+ HDF_CXX_FUNCTION_TEST (${test})
+ endforeach (test)
+endif (CMAKE_CXX_COMPILER_LOADED)
+
+#-----------------------------------------------------------------------------
+# Check if InitOnceExecuteOnce is available
+#-----------------------------------------------------------------------------
+if (WINDOWS)
+ if (NOT HDF_NO_IOEO_TEST)
+ message (STATUS "Checking for InitOnceExecuteOnce:")
+ if ("${${HDF_PREFIX}_HAVE_IOEO}" MATCHES "^${${HDF_PREFIX}_HAVE_IOEO}$")
+ if (LARGEFILE)
+ set (CMAKE_REQUIRED_DEFINITIONS
+ "${CURRENT_TEST_DEFINITIONS} -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE"
+ )
+ endif (LARGEFILE)
+ set (MACRO_CHECK_FUNCTION_DEFINITIONS
+ "-DHAVE_IOEO ${CMAKE_REQUIRED_FLAGS}")
+ if (CMAKE_REQUIRED_LIBRARIES)
+ set (CHECK_C_SOURCE_COMPILES_ADD_LIBRARIES
+ "-DLINK_LIBRARIES:STRING=${CMAKE_REQUIRED_LIBRARIES}")
+ else (CMAKE_REQUIRED_LIBRARIES)
+ set (CHECK_C_SOURCE_COMPILES_ADD_LIBRARIES)
+ endif (CMAKE_REQUIRED_LIBRARIES)
+ if (CMAKE_REQUIRED_INCLUDES)
+ set (CHECK_C_SOURCE_COMPILES_ADD_INCLUDES
+ "-DINCLUDE_DIRECTORIES:STRING=${CMAKE_REQUIRED_INCLUDES}")
+ else (CMAKE_REQUIRED_INCLUDES)
+ set (CHECK_C_SOURCE_COMPILES_ADD_INCLUDES)
+ endif (CMAKE_REQUIRED_INCLUDES)
+
+ TRY_RUN(HAVE_IOEO_EXITCODE HAVE_IOEO_COMPILED
+ ${CMAKE_BINARY_DIR}
+ ${HDF_RESOURCES_EXT_DIR}/HDFTests.c
+ COMPILE_DEFINITIONS ${CMAKE_REQUIRED_DEFINITIONS}
+ CMAKE_FLAGS -DCOMPILE_DEFINITIONS:STRING=${MACRO_CHECK_FUNCTION_DEFINITIONS}
+ -DCMAKE_SKIP_RPATH:BOOL=${CMAKE_SKIP_RPATH}
+ "${CHECK_C_SOURCE_COMPILES_ADD_LIBRARIES}"
+ "${CHECK_C_SOURCE_COMPILES_ADD_INCLUDES}"
+ COMPILE_OUTPUT_VARIABLE OUTPUT)
+ # if it did not compile make the return value fail code of 1
+ if (NOT HAVE_IOEO_COMPILED)
+ set (HAVE_IOEO_EXITCODE 1)
+ endif (NOT HAVE_IOEO_COMPILED)
+ # if the return value was 0 then it worked
+ if ("${HAVE_IOEO_EXITCODE}" EQUAL 0)
+ set (${HDF_PREFIX}_HAVE_IOEO 1 CACHE INTERNAL "Test InitOnceExecuteOnce")
+ message (STATUS "Performing Test InitOnceExecuteOnce - Success")
+ file (APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
+ "Performing C SOURCE FILE Test InitOnceExecuteOnce succeded with the following output:\n"
+ "${OUTPUT}\n"
+ "Return value: ${HAVE_IOEO}\n")
+ else ("${HAVE_IOEO_EXITCODE}" EQUAL 0)
+ if (CMAKE_CROSSCOMPILING AND "${HAVE_IOEO_EXITCODE}" MATCHES "FAILED_TO_RUN")
+ set (${HDF_PREFIX}_HAVE_IOEO "${HAVE_IOEO_EXITCODE}")
+ else (CMAKE_CROSSCOMPILING AND "${HAVE_IOEO_EXITCODE}" MATCHES "FAILED_TO_RUN")
+ set (${HDF_PREFIX}_HAVE_IOEO "" CACHE INTERNAL "Test InitOnceExecuteOnce")
+ endif (CMAKE_CROSSCOMPILING AND "${HAVE_IOEO_EXITCODE}" MATCHES "FAILED_TO_RUN")
+
+ message (STATUS "Performing Test InitOnceExecuteOnce - Failed")
+ file (APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
+ "Performing InitOnceExecuteOnce Test failed with the following output:\n"
+ "${OUTPUT}\n"
+ "Return value: ${HAVE_IOEO_EXITCODE}\n")
+ endif ("${HAVE_IOEO_EXITCODE}" EQUAL 0)
+ endif ("${${HDF_PREFIX}_HAVE_IOEO}" MATCHES "^${${HDF_PREFIX}_HAVE_IOEO}$")
+ endif (NOT HDF_NO_IOEO_TEST)
+endif (WINDOWS)
+
+#-----------------------------------------------------------------------------
+# Determine how 'inline' is used
+#-----------------------------------------------------------------------------
+set (HDF_EXTRA_TEST_DEFINITIONS INLINE_TEST_INLINE)
+foreach (inline_test inline __inline__ __inline)
+ set (INLINE_TEST_INLINE ${inline_test})
+ HDF_FUNCTION_TEST (INLINE_TEST_${inline_test})
+endforeach (inline_test)
+
+set (HDF_EXTRA_TEST_DEFINITIONS)
+if (INLINE_TEST___inline__)
+ set (${HDF_PREFIX}_inline __inline__)
+else (INLINE_TEST___inline__)
+ if (INLINE_TEST___inline)
+ set (${HDF_PREFIX}_inline __inline)
+ else (INLINE_TEST___inline)
+ if (INLINE_TEST_inline)
+ set (${HDF_PREFIX}_inline inline)
+ endif (INLINE_TEST_inline)
+ endif (INLINE_TEST___inline)
+endif (INLINE_TEST___inline__)
+
+#-----------------------------------------------------------------------------
+# Check how to print a Long Long integer
+#-----------------------------------------------------------------------------
+if (NOT ${HDF_PREFIX}_PRINTF_LL_WIDTH OR ${HDF_PREFIX}_PRINTF_LL_WIDTH MATCHES "unknown")
+ set (PRINT_LL_FOUND 0)
+ message (STATUS "Checking for appropriate format for 64 bit long:")
+ foreach (HDF5_PRINTF_LL l64 l L q I64 ll)
+ set (CURRENT_TEST_DEFINITIONS "-DPRINTF_LL_WIDTH=${HDF5_PRINTF_LL}")
+ if (${HDF_PREFIX}_SIZEOF_LONG_LONG)
+ set (CURRENT_TEST_DEFINITIONS "${CURRENT_TEST_DEFINITIONS} -DHAVE_LONG_LONG")
+ endif (${HDF_PREFIX}_SIZEOF_LONG_LONG)
+ TRY_RUN (HDF5_PRINTF_LL_TEST_RUN HDF5_PRINTF_LL_TEST_COMPILE
+ ${CMAKE_BINARY_DIR}
+ ${HDF_RESOURCES_EXT_DIR}/HDFTests.c
+ CMAKE_FLAGS -DCOMPILE_DEFINITIONS:STRING=${CURRENT_TEST_DEFINITIONS}
+ OUTPUT_VARIABLE OUTPUT
+ )
+ if (HDF5_PRINTF_LL_TEST_COMPILE)
+ if (HDF5_PRINTF_LL_TEST_RUN MATCHES 0)
+ set (${HDF_PREFIX}_PRINTF_LL_WIDTH "\"${HDF5_PRINTF_LL}\"" CACHE INTERNAL "Width for printf for type `long long' or `__int64', us. `ll")
+ set (PRINT_LL_FOUND 1)
+ else (HDF5_PRINTF_LL_TEST_RUN MATCHES 0)
+ message ("Width with ${HDF5_PRINTF_LL} failed with result: ${HDF5_PRINTF_LL_TEST_RUN}")
+ endif (HDF5_PRINTF_LL_TEST_RUN MATCHES 0)
+ else (HDF5_PRINTF_LL_TEST_COMPILE)
+ file (APPEND ${CMAKE_BINARY_DIR}/CMakeFiles/CMakeError.log
+ "Test ${HDF_PREFIX}_PRINTF_LL_WIDTH for ${HDF5_PRINTF_LL} failed with the following output:\n ${OUTPUT}\n"
+ )
+ endif (HDF5_PRINTF_LL_TEST_COMPILE)
+ endforeach (HDF5_PRINTF_LL)
+
+ if (PRINT_LL_FOUND)
+ message (STATUS "Checking for apropriate format for 64 bit long: found ${${HDF_PREFIX}_PRINTF_LL_WIDTH}")
+ else (PRINT_LL_FOUND)
+ message (STATUS "Checking for apropriate format for 64 bit long: not found")
+ set (${HDF_PREFIX}_PRINTF_LL_WIDTH "\"unknown\"" CACHE INTERNAL
+ "Width for printf for type `long long' or `__int64', us. `ll"
+ )
+ endif (PRINT_LL_FOUND)
+endif (NOT ${HDF_PREFIX}_PRINTF_LL_WIDTH OR ${HDF_PREFIX}_PRINTF_LL_WIDTH MATCHES "unknown")
+
+# ----------------------------------------------------------------------
+# Set the flag to indicate that the machine can handle converting
+# denormalized floating-point values.
+# (This flag should be set for all machines, except for the Crays, where
+# the cache value is set in it's config file)
+#
+set (${HDF_PREFIX}_CONVERT_DENORMAL_FLOAT 1)
diff --git a/config/cmake_ext_mod/FindMPI.cmake b/config/cmake_ext_mod/FindMPI.cmake
new file mode 100644
index 0000000..1c9a2e3
--- /dev/null
+++ b/config/cmake_ext_mod/FindMPI.cmake
@@ -0,0 +1,684 @@
+#.rst:
+# FindMPI
+# -------
+#
+# Find a Message Passing Interface (MPI) implementation
+#
+# The Message Passing Interface (MPI) is a library used to write
+# high-performance distributed-memory parallel applications, and is
+# typically deployed on a cluster. MPI is a standard interface (defined
+# by the MPI forum) for which many implementations are available. All
+# of them have somewhat different include paths, libraries to link
+# against, etc., and this module tries to smooth out those differences.
+#
+# === Variables ===
+#
+# This module will set the following variables per language in your
+# project, where <lang> is one of C, CXX, or Fortran:
+#
+# ::
+#
+# MPI_<lang>_FOUND TRUE if FindMPI found MPI flags for <lang>
+# MPI_<lang>_COMPILER MPI Compiler wrapper for <lang>
+# MPI_<lang>_COMPILE_FLAGS Compilation flags for MPI programs
+# MPI_<lang>_INCLUDE_PATH Include path(s) for MPI header
+# MPI_<lang>_LINK_FLAGS Linking flags for MPI programs
+# MPI_<lang>_LIBRARIES All libraries to link MPI programs against
+#
+# Additionally, FindMPI sets the following variables for running MPI
+# programs from the command line:
+#
+# ::
+#
+# MPIEXEC Executable for running MPI programs
+# MPIEXEC_NUMPROC_FLAG Flag to pass to MPIEXEC before giving
+# it the number of processors to run on
+# MPIEXEC_PREFLAGS Flags to pass to MPIEXEC directly
+# before the executable to run.
+# MPIEXEC_POSTFLAGS Flags to pass to MPIEXEC after other flags
+#
+# === Usage ===
+#
+# To use this module, simply call FindMPI from a CMakeLists.txt file, or
+# run find_package(MPI), then run CMake. If you are happy with the
+# auto- detected configuration for your language, then you're done. If
+# not, you have two options:
+#
+# ::
+#
+# 1. Set MPI_<lang>_COMPILER to the MPI wrapper (mpicc, etc.) of your
+# choice and reconfigure. FindMPI will attempt to determine all the
+# necessary variables using THAT compiler's compile and link flags.
+# 2. If this fails, or if your MPI implementation does not come with
+# a compiler wrapper, then set both MPI_<lang>_LIBRARIES and
+# MPI_<lang>_INCLUDE_PATH. You may also set any other variables
+# listed above, but these two are required. This will circumvent
+# autodetection entirely.
+#
+# When configuration is successful, MPI_<lang>_COMPILER will be set to
+# the compiler wrapper for <lang>, if it was found. MPI_<lang>_FOUND
+# and other variables above will be set if any MPI implementation was
+# found for <lang>, regardless of whether a compiler was found.
+#
+# When using MPIEXEC to execute MPI applications, you should typically
+# use all of the MPIEXEC flags as follows:
+#
+# ::
+#
+# ${MPIEXEC} ${MPIEXEC_NUMPROC_FLAG} PROCS
+# ${MPIEXEC_PREFLAGS} EXECUTABLE ${MPIEXEC_POSTFLAGS} ARGS
+#
+# where PROCS is the number of processors on which to execute the
+# program, EXECUTABLE is the MPI program, and ARGS are the arguments to
+# pass to the MPI program.
+#
+# === Backward Compatibility ===
+#
+# For backward compatibility with older versions of FindMPI, these
+# variables are set, but deprecated:
+#
+# ::
+#
+# MPI_FOUND MPI_COMPILER MPI_LIBRARY
+# MPI_COMPILE_FLAGS MPI_INCLUDE_PATH MPI_EXTRA_LIBRARY
+# MPI_LINK_FLAGS MPI_LIBRARIES
+#
+# In new projects, please use the MPI_<lang>_XXX equivalents.
+
+#=============================================================================
+# Copyright 2001-2011 Kitware, Inc.
+# Copyright 2010-2011 Todd Gamblin tgamblin@llnl.gov
+# Copyright 2001-2009 Dave Partyka
+#
+# Distributed under the OSI-approved BSD License (the "License");
+# see accompanying file Copyright.txt for details.
+#
+# This software is distributed WITHOUT ANY WARRANTY; without even the
+# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+# See the License for more information.
+#=============================================================================
+# (To distribute this file outside of CMake, substitute the full
+# License text for the above reference.)
+
+# include this to handle the QUIETLY and REQUIRED arguments
+include(${CMAKE_ROOT}/Modules/FindPackageHandleStandardArgs.cmake)
+include(GetPrerequisites)
+
+#
+# This part detects MPI compilers, attempting to wade through the mess of compiler names in
+# a sensible way.
+#
+# The compilers are detected in this order:
+#
+# 1. Try to find the most generic available MPI compiler, as this is usually set up by
+# cluster admins. e.g., if plain old mpicc is available, we'll use it and assume it's
+# the right compiler.
+#
+# 2. If a generic mpicc is NOT found, then we attempt to find one that matches
+# CMAKE_<lang>_COMPILER_ID. e.g. if you are using XL compilers, we'll try to find mpixlc
+# and company, but not mpiicc. This hopefully prevents toolchain mismatches.
+#
+# If you want to force a particular MPI compiler other than what we autodetect (e.g. if you
+# want to compile regular stuff with GNU and parallel stuff with Intel), you can always set
+# your favorite MPI_<lang>_COMPILER explicitly and this stuff will be ignored.
+#
+
+# Start out with the generic MPI compiler names, as these are most commonly used.
+set(_MPI_C_COMPILER_NAMES mpicc mpcc mpicc_r mpcc_r)
+set(_MPI_CXX_COMPILER_NAMES mpicxx mpiCC mpcxx mpCC mpic++ mpc++
+ mpicxx_r mpiCC_r mpcxx_r mpCC_r mpic++_r mpc++_r)
+set(_MPI_Fortran_COMPILER_NAMES mpif95 mpif95_r mpf95 mpf95_r
+ mpif90 mpif90_r mpf90 mpf90_r
+ mpif77 mpif77_r mpf77 mpf77_r)
+
+# GNU compiler names
+set(_MPI_GNU_C_COMPILER_NAMES mpigcc mpgcc mpigcc_r mpgcc_r)
+set(_MPI_GNU_CXX_COMPILER_NAMES mpig++ mpg++ mpig++_r mpg++_r)
+set(_MPI_GNU_Fortran_COMPILER_NAMES mpigfortran mpgfortran mpigfortran_r mpgfortran_r
+ mpig77 mpig77_r mpg77 mpg77_r)
+
+# Intel MPI compiler names
+set(_MPI_Intel_C_COMPILER_NAMES mpiicc)
+set(_MPI_Intel_CXX_COMPILER_NAMES mpiicpc mpiicxx mpiic++ mpiiCC)
+set(_MPI_Intel_Fortran_COMPILER_NAMES mpiifort mpiif95 mpiif90 mpiif77)
+
+# PGI compiler names
+set(_MPI_PGI_C_COMPILER_NAMES mpipgcc mppgcc)
+set(_MPI_PGI_CXX_COMPILER_NAMES mpipgCC mppgCC)
+set(_MPI_PGI_Fortran_COMPILER_NAMES mpipgf95 mpipgf90 mppgf95 mppgf90 mpipgf77 mppgf77)
+
+# XLC MPI Compiler names
+set(_MPI_XL_C_COMPILER_NAMES mpxlc mpxlc_r mpixlc mpixlc_r)
+set(_MPI_XL_CXX_COMPILER_NAMES mpixlcxx mpixlC mpixlc++ mpxlcxx mpxlc++ mpixlc++ mpxlCC
+ mpixlcxx_r mpixlC_r mpixlc++_r mpxlcxx_r mpxlc++_r mpixlc++_r mpxlCC_r)
+set(_MPI_XL_Fortran_COMPILER_NAMES mpixlf95 mpixlf95_r mpxlf95 mpxlf95_r
+ mpixlf90 mpixlf90_r mpxlf90 mpxlf90_r
+ mpixlf77 mpixlf77_r mpxlf77 mpxlf77_r
+ mpixlf mpixlf_r mpxlf mpxlf_r)
+
+# append vendor-specific compilers to the list if we either don't know the compiler id,
+# or if we know it matches the regular compiler.
+foreach (lang C CXX Fortran)
+ foreach (id GNU Intel PGI XL)
+ if (NOT CMAKE_${lang}_COMPILER_ID OR CMAKE_${lang}_COMPILER_ID STREQUAL id)
+ list(APPEND _MPI_${lang}_COMPILER_NAMES ${_MPI_${id}_${lang}_COMPILER_NAMES})
+ endif()
+ unset(_MPI_${id}_${lang}_COMPILER_NAMES) # clean up the namespace here
+ endforeach()
+endforeach()
+
+
+# Names to try for MPI exec
+set(_MPI_EXEC_NAMES mpiexec mpirun lamexec srun)
+
+# Grab the path to MPI from the registry if we're on windows.
+set(_MPI_PREFIX_PATH)
+if(WIN32)
+ # MSMPI
+ file(TO_CMAKE_PATH "$ENV{MSMPI_BIN}" msmpi_bin_path) # The default path ends with a '\' and doesn't mix with ';' when appending.
+ list(APPEND _MPI_PREFIX_PATH "${msmpi_bin_path}")
+ unset(msmpi_bin_path)
+ list(APPEND _MPI_PREFIX_PATH "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\MPI;InstallRoot]/Bin")
+ list(APPEND _MPI_PREFIX_PATH "$ENV{MSMPI_INC}/..") # The SDK is installed separately from the runtime
+ # MPICH
+ list(APPEND _MPI_PREFIX_PATH "[HKEY_LOCAL_MACHINE\\SOFTWARE\\MPICH\\SMPD;binary]/..")
+ list(APPEND _MPI_PREFIX_PATH "[HKEY_LOCAL_MACHINE\\SOFTWARE\\MPICH2;Path]")
+ list(APPEND _MPI_PREFIX_PATH "$ENV{ProgramW6432}/MPICH2/")
+endif()
+
+# Build a list of prefixes to search for MPI.
+foreach(SystemPrefixDir ${CMAKE_SYSTEM_PREFIX_PATH})
+ foreach(MpiPackageDir ${_MPI_PREFIX_PATH})
+ if(EXISTS ${SystemPrefixDir}/${MpiPackageDir})
+ list(APPEND _MPI_PREFIX_PATH "${SystemPrefixDir}/${MpiPackageDir}")
+ endif()
+ endforeach()
+endforeach()
+
+function (_mpi_check_compiler compiler options cmdvar resvar)
+ execute_process(
+ COMMAND "${compiler}" ${options}
+ OUTPUT_VARIABLE cmdline OUTPUT_STRIP_TRAILING_WHITESPACE
+ ERROR_VARIABLE cmdline ERROR_STRIP_TRAILING_WHITESPACE
+ RESULT_VARIABLE success)
+ # Intel MPI 5.0.1 will return a zero return code even when the
+ # argument to the MPI compiler wrapper is unknown. Attempt to
+ # catch this case.
+ if("${cmdline}" MATCHES "undefined reference")
+ set(success 255 )
+ endif()
+ set(${cmdvar} "${cmdline}" PARENT_SCOPE)
+ set(${resvar} "${success}" PARENT_SCOPE)
+endfunction()
+
+#
+# interrogate_mpi_compiler(lang try_libs)
+#
+# Attempts to extract compiler and linker args from an MPI compiler. The arguments set
+# by this function are:
+#
+# MPI_<lang>_INCLUDE_PATH MPI_<lang>_LINK_FLAGS MPI_<lang>_FOUND
+# MPI_<lang>_COMPILE_FLAGS MPI_<lang>_LIBRARIES
+#
+# MPI_<lang>_COMPILER must be set beforehand to the absolute path to an MPI compiler for
+# <lang>. Additionally, MPI_<lang>_INCLUDE_PATH and MPI_<lang>_LIBRARIES may be set
+# to skip autodetection.
+#
+# If try_libs is TRUE, this will also attempt to find plain MPI libraries in the usual
+# way. In general, this is not as effective as interrogating the compilers, as it
+# ignores language-specific flags and libraries. However, some MPI implementations
+# (Windows implementations) do not have compiler wrappers, so this approach must be used.
+#
+function (interrogate_mpi_compiler lang try_libs)
+ # MPI_${lang}_NO_INTERROGATE will be set to a compiler name when the *regular* compiler was
+ # discovered to be the MPI compiler. This happens on machines like the Cray XE6 that use
+ # modules to set cc, CC, and ftn to the MPI compilers. If the user force-sets another MPI
+ # compiler, MPI_${lang}_COMPILER won't be equal to MPI_${lang}_NO_INTERROGATE, and we'll
+ # inspect that compiler anew. This allows users to set new compilers w/o rm'ing cache.
+ string(COMPARE NOTEQUAL "${MPI_${lang}_NO_INTERROGATE}" "${MPI_${lang}_COMPILER}" interrogate)
+
+ # If MPI is set already in the cache, don't bother with interrogating the compiler.
+ if (interrogate AND ((NOT MPI_${lang}_INCLUDE_PATH) OR (NOT MPI_${lang}_LIBRARIES)))
+ if (MPI_${lang}_COMPILER)
+ # Check whether the -showme:compile option works. This indicates that we have either OpenMPI
+ # or a newer version of LAM-MPI, and implies that -showme:link will also work.
+ _mpi_check_compiler("${MPI_${lang}_COMPILER}" "-showme:compile" MPI_COMPILE_CMDLINE MPI_COMPILER_RETURN)
+ if (MPI_COMPILER_RETURN EQUAL 0)
+ # If we appear to have -showme:compile, then we should
+ # also have -showme:link. Try it.
+ execute_process(
+ COMMAND ${MPI_${lang}_COMPILER} -showme:link
+ OUTPUT_VARIABLE MPI_LINK_CMDLINE OUTPUT_STRIP_TRAILING_WHITESPACE
+ ERROR_VARIABLE MPI_LINK_CMDLINE ERROR_STRIP_TRAILING_WHITESPACE
+ RESULT_VARIABLE MPI_COMPILER_RETURN)
+
+ if (MPI_COMPILER_RETURN EQUAL 0)
+ # We probably have -showme:incdirs and -showme:libdirs as well,
+ # so grab that while we're at it.
+ execute_process(
+ COMMAND ${MPI_${lang}_COMPILER} -showme:incdirs
+ OUTPUT_VARIABLE MPI_INCDIRS OUTPUT_STRIP_TRAILING_WHITESPACE
+ ERROR_VARIABLE MPI_INCDIRS ERROR_STRIP_TRAILING_WHITESPACE)
+
+ execute_process(
+ COMMAND ${MPI_${lang}_COMPILER} -showme:libdirs
+ OUTPUT_VARIABLE MPI_LIBDIRS OUTPUT_STRIP_TRAILING_WHITESPACE
+ ERROR_VARIABLE MPI_LIBDIRS ERROR_STRIP_TRAILING_WHITESPACE)
+
+ else()
+ # reset things here if something went wrong.
+ set(MPI_COMPILE_CMDLINE)
+ set(MPI_LINK_CMDLINE)
+ endif()
+ endif ()
+
+ # Older versions of LAM-MPI have "-showme". Try to find that.
+ if (NOT MPI_COMPILER_RETURN EQUAL 0)
+ _mpi_check_compiler("${MPI_${lang}_COMPILER}" "-showme" MPI_COMPILE_CMDLINE MPI_COMPILER_RETURN)
+ endif()
+
+ # MVAPICH uses -compile-info and -link-info. Try them.
+ if (NOT MPI_COMPILER_RETURN EQUAL 0)
+ _mpi_check_compiler("${MPI_${lang}_COMPILER}" "-compile-info" MPI_COMPILE_CMDLINE MPI_COMPILER_RETURN)
+
+ # If we have compile-info, also have link-info.
+ if (MPI_COMPILER_RETURN EQUAL 0)
+ execute_process(
+ COMMAND ${MPI_${lang}_COMPILER} -link-info
+ OUTPUT_VARIABLE MPI_LINK_CMDLINE OUTPUT_STRIP_TRAILING_WHITESPACE
+ ERROR_VARIABLE MPI_LINK_CMDLINE ERROR_STRIP_TRAILING_WHITESPACE
+ RESULT_VARIABLE MPI_COMPILER_RETURN)
+ endif()
+
+ # make sure we got compile and link. Reset vars if something's wrong.
+ if (NOT MPI_COMPILER_RETURN EQUAL 0)
+ set(MPI_COMPILE_CMDLINE)
+ set(MPI_LINK_CMDLINE)
+ endif()
+ endif()
+
+ # MPICH just uses "-show". Try it.
+ if (NOT MPI_COMPILER_RETURN EQUAL 0)
+ _mpi_check_compiler("${MPI_${lang}_COMPILER}" "-show" MPI_COMPILE_CMDLINE MPI_COMPILER_RETURN)
+ endif()
+
+ if (MPI_COMPILER_RETURN EQUAL 0)
+ # We have our command lines, but we might need to copy MPI_COMPILE_CMDLINE
+ # into MPI_LINK_CMDLINE, if we didn't find the link line.
+ if (NOT MPI_LINK_CMDLINE)
+ set(MPI_LINK_CMDLINE ${MPI_COMPILE_CMDLINE})
+ endif()
+ else()
+ message(STATUS "Unable to determine MPI from MPI driver ${MPI_${lang}_COMPILER}")
+ set(MPI_COMPILE_CMDLINE)
+ set(MPI_LINK_CMDLINE)
+ endif()
+
+ # Here, we're done with the interrogation part, and we'll try to extract args we care
+ # about from what we learned from the compiler wrapper scripts.
+
+ # If interrogation came back with something, extract our variable from the MPI command line
+ if (MPI_COMPILE_CMDLINE OR MPI_LINK_CMDLINE)
+ # Extract compile flags from the compile command line.
+ string(REGEX MATCHALL "(^| )-[Df]([^\" ]+|\"[^\"]+\")" MPI_ALL_COMPILE_FLAGS "${MPI_COMPILE_CMDLINE}")
+ set(MPI_COMPILE_FLAGS_WORK)
+
+ foreach(FLAG ${MPI_ALL_COMPILE_FLAGS})
+ if (MPI_COMPILE_FLAGS_WORK)
+ set(MPI_COMPILE_FLAGS_WORK "${MPI_COMPILE_FLAGS_WORK} ${FLAG}")
+ else()
+ set(MPI_COMPILE_FLAGS_WORK ${FLAG})
+ endif()
+ endforeach()
+
+ # Extract include paths from compile command line
+ string(REGEX MATCHALL "(^| )-I([^\" ]+|\"[^\"]+\")" MPI_ALL_INCLUDE_PATHS "${MPI_COMPILE_CMDLINE}")
+ foreach(IPATH ${MPI_ALL_INCLUDE_PATHS})
+ string(REGEX REPLACE "^ ?-I" "" IPATH ${IPATH})
+ string(REPLACE "//" "/" IPATH ${IPATH})
+ list(APPEND MPI_INCLUDE_PATH_WORK ${IPATH})
+ endforeach()
+
+ # try using showme:incdirs if extracting didn't work.
+ if (NOT MPI_INCLUDE_PATH_WORK)
+ set(MPI_INCLUDE_PATH_WORK ${MPI_INCDIRS})
+ separate_arguments(MPI_INCLUDE_PATH_WORK)
+ endif()
+
+ # If all else fails, just search for mpi.h in the normal include paths.
+ if (NOT MPI_INCLUDE_PATH_WORK)
+ set(MPI_HEADER_PATH "MPI_HEADER_PATH-NOTFOUND" CACHE FILEPATH "Cleared" FORCE)
+ find_path(MPI_HEADER_PATH mpi.h
+ HINTS ${_MPI_BASE_DIR} ${_MPI_PREFIX_PATH}
+ PATH_SUFFIXES include)
+ set(MPI_INCLUDE_PATH_WORK ${MPI_HEADER_PATH})
+ endif()
+
+ # Extract linker paths from the link command line
+ string(REGEX MATCHALL "(^| |-Wl,)-L([^\" ]+|\"[^\"]+\")" MPI_ALL_LINK_PATHS "${MPI_LINK_CMDLINE}")
+ set(MPI_LINK_PATH)
+ foreach(LPATH ${MPI_ALL_LINK_PATHS})
+ string(REGEX REPLACE "^(| |-Wl,)-L" "" LPATH ${LPATH})
+ string(REPLACE "//" "/" LPATH ${LPATH})
+ list(APPEND MPI_LINK_PATH ${LPATH})
+ endforeach()
+
+ # try using showme:libdirs if extracting didn't work.
+ if (NOT MPI_LINK_PATH)
+ set(MPI_LINK_PATH ${MPI_LIBDIRS})
+ separate_arguments(MPI_LINK_PATH)
+ endif()
+
+ # Extract linker flags from the link command line
+ string(REGEX MATCHALL "(^| )(-Wl,|-Xlinker )([^\" ]+|\"[^\"]+\")" MPI_ALL_LINK_FLAGS "${MPI_LINK_CMDLINE}")
+ set(MPI_LINK_FLAGS_WORK)
+ foreach(FLAG ${MPI_ALL_LINK_FLAGS})
+ if (MPI_LINK_FLAGS_WORK)
+ set(MPI_LINK_FLAGS_WORK "${MPI_LINK_FLAGS_WORK} ${FLAG}")
+ else()
+ set(MPI_LINK_FLAGS_WORK ${FLAG})
+ endif()
+ endforeach()
+
+ # Extract the set of libraries to link against from the link command
+ # line
+ string(REGEX MATCHALL "(^| )-l([^\" ]+|\"[^\"]+\")" MPI_LIBNAMES "${MPI_LINK_CMDLINE}")
+
+ # add the compiler implicit directories because some compilers
+ # such as the intel compiler have libraries that show up
+ # in the showme list that can only be found in the implicit
+ # link directories of the compiler.
+ if (DEFINED CMAKE_${lang}_IMPLICIT_LINK_DIRECTORIES)
+ set(MPI_LINK_PATH
+ "${MPI_LINK_PATH};${CMAKE_${lang}_IMPLICIT_LINK_DIRECTORIES}")
+ endif ()
+
+ # Determine full path names for all of the libraries that one needs
+ # to link against in an MPI program
+ foreach(LIB ${MPI_LIBNAMES})
+ string(REGEX REPLACE "^ ?-l" "" LIB ${LIB})
+ # MPI_LIB is cached by find_library, but we don't want that. Clear it first.
+ set(MPI_LIB "MPI_LIB-NOTFOUND" CACHE FILEPATH "Cleared" FORCE)
+ find_library(MPI_LIB NAMES ${LIB} HINTS ${MPI_LINK_PATH})
+
+ if (MPI_LIB)
+ list(APPEND MPI_LIBRARIES_WORK ${MPI_LIB})
+ elseif (NOT MPI_FIND_QUIETLY)
+ message(WARNING "Unable to find MPI library ${LIB}")
+ endif()
+ endforeach()
+
+ # Sanity check MPI_LIBRARIES to make sure there are enough libraries
+ list(LENGTH MPI_LIBRARIES_WORK MPI_NUMLIBS)
+ list(LENGTH MPI_LIBNAMES MPI_NUMLIBS_EXPECTED)
+ if (NOT MPI_NUMLIBS EQUAL MPI_NUMLIBS_EXPECTED)
+ set(MPI_LIBRARIES_WORK "MPI_${lang}_LIBRARIES-NOTFOUND")
+ endif()
+ endif()
+
+ elseif(try_libs)
+ # If we didn't have an MPI compiler script to interrogate, attempt to find everything
+ # with plain old find functions. This is nasty because MPI implementations have LOTS of
+ # different library names, so this section isn't going to be very generic. We need to
+ # make sure it works for MS MPI, though, since there are no compiler wrappers for that.
+ find_path(MPI_HEADER_PATH mpi.h
+ HINTS ${_MPI_BASE_DIR} ${_MPI_PREFIX_PATH}
+ PATH_SUFFIXES include Inc)
+ set(MPI_INCLUDE_PATH_WORK ${MPI_HEADER_PATH})
+
+ # Decide between 32-bit and 64-bit libraries for Microsoft's MPI
+ if("${CMAKE_SIZEOF_VOID_P}" EQUAL 8)
+ set(MS_MPI_ARCH_DIR x64)
+ set(MS_MPI_ARCH_DIR2 amd64)
+ else()
+ set(MS_MPI_ARCH_DIR x86)
+ set(MS_MPI_ARCH_DIR2 i386)
+ endif()
+
+ set(MPI_LIB "MPI_LIB-NOTFOUND" CACHE FILEPATH "Cleared" FORCE)
+ find_library(MPI_LIB
+ NAMES mpi mpich mpich2 msmpi
+ HINTS ${_MPI_BASE_DIR} ${_MPI_PREFIX_PATH}
+ PATH_SUFFIXES lib lib/${MS_MPI_ARCH_DIR} Lib Lib/${MS_MPI_ARCH_DIR} lib/${MS_MPI_ARCH_DIR2} Lib/${MS_MPI_ARCH_DIR2})
+ set(MPI_LIBRARIES_WORK ${MPI_LIB})
+
+ # Right now, we only know about the extra libs for C++.
+ # We could add Fortran here (as there is usually libfmpich, etc.), but
+ # this really only has to work with MS MPI on Windows.
+ # Assume that other MPI's are covered by the compiler wrappers.
+ if (${lang} STREQUAL CXX)
+ set(MPI_LIB "MPI_LIB-NOTFOUND" CACHE FILEPATH "Cleared" FORCE)
+ find_library(MPI_LIB
+ NAMES mpi++ mpicxx cxx mpi_cxx
+ HINTS ${_MPI_BASE_DIR} ${_MPI_PREFIX_PATH}
+ PATH_SUFFIXES lib)
+ if (MPI_LIBRARIES_WORK AND MPI_LIB)
+ list(APPEND MPI_LIBRARIES_WORK ${MPI_LIB})
+ endif()
+ endif()
+
+ if (${lang} STREQUAL Fortran)
+ set(MPI_HEADER_PATH "MPI_HEADER_PATH-NOTFOUND" CACHE FILEPATH "Cleared" FORCE)
+ find_path(MPI_HEADER_PATH mpifptr.h
+ HINTS ${_MPI_BASE_DIR} ${_MPI_PREFIX_PATH}
+ PATH_SUFFIXES include include/${MS_MPI_ARCH_DIR} include/${MS_MPI_ARCH_DIR2} Inc Inc/${MS_MPI_ARCH_DIR} Inc/${MS_MPI_ARCH_DIR2})
+ if (MPI_INCLUDE_PATH_WORK AND MPI_HEADER_PATH)
+ list(APPEND MPI_INCLUDE_PATH_WORK ${MPI_HEADER_PATH})
+ endif()
+
+ set(MPI_LIB "MPI_LIB-NOTFOUND" CACHE FILEPATH "Cleared" FORCE)
+ find_library(MPI_LIB
+ NAMES fmpi fmpich fmpich2 fmpich2g msmpifec msmpifmc
+ HINTS ${_MPI_BASE_DIR} ${_MPI_PREFIX_PATH}
+ PATH_SUFFIXES lib lib/${MS_MPI_ARCH_DIR} Lib Lib/${MS_MPI_ARCH_DIR})
+ if (MPI_LIBRARIES_WORK AND MPI_LIB)
+ list(APPEND MPI_LIBRARIES_WORK ${MPI_LIB})
+ endif()
+ endif()
+
+ if (NOT MPI_LIBRARIES_WORK)
+ set(MPI_LIBRARIES_WORK "MPI_${lang}_LIBRARIES-NOTFOUND")
+ endif()
+ endif()
+
+ # If we found MPI, set up all of the appropriate cache entries
+ set(MPI_${lang}_COMPILE_FLAGS ${MPI_COMPILE_FLAGS_WORK} CACHE STRING "MPI ${lang} compilation flags" FORCE)
+ set(MPI_${lang}_INCLUDE_PATH ${MPI_INCLUDE_PATH_WORK} CACHE STRING "MPI ${lang} include path" FORCE)
+ set(MPI_${lang}_LINK_FLAGS ${MPI_LINK_FLAGS_WORK} CACHE STRING "MPI ${lang} linking flags" FORCE)
+ set(MPI_${lang}_LIBRARIES ${MPI_LIBRARIES_WORK} CACHE STRING "MPI ${lang} libraries to link against" FORCE)
+ mark_as_advanced(MPI_${lang}_COMPILE_FLAGS MPI_${lang}_INCLUDE_PATH MPI_${lang}_LINK_FLAGS MPI_${lang}_LIBRARIES)
+
+ # clear out our temporary lib/header detectionv variable here.
+ set(MPI_LIB "MPI_LIB-NOTFOUND" CACHE INTERNAL "Scratch variable for MPI lib detection" FORCE)
+ set(MPI_HEADER_PATH "MPI_HEADER_PATH-NOTFOUND" CACHE INTERNAL "Scratch variable for MPI header detection" FORCE)
+ endif()
+
+ # finally set a found variable for each MPI language
+ if (MPI_${lang}_INCLUDE_PATH AND MPI_${lang}_LIBRARIES)
+ set(MPI_${lang}_FOUND TRUE PARENT_SCOPE)
+ else()
+ set(MPI_${lang}_FOUND FALSE PARENT_SCOPE)
+ endif()
+endfunction()
+
+
+# This function attempts to compile with the regular compiler, to see if MPI programs
+# work with it. This is a last ditch attempt after we've tried interrogating mpicc and
+# friends, and after we've tried to find generic libraries. Works on machines like
+# Cray XE6, where the modules environment changes what MPI version cc, CC, and ftn use.
+function(try_regular_compiler lang success)
+ set(scratch_directory ${CMAKE_CURRENT_BINARY_DIR}${CMAKE_FILES_DIRECTORY})
+ if (${lang} STREQUAL Fortran)
+ set(test_file ${scratch_directory}/cmake_mpi_test.f90)
+ file(WRITE ${test_file}
+ "program hello\n"
+ "include 'mpif.h'\n"
+ "integer ierror\n"
+ "call MPI_INIT(ierror)\n"
+ "call MPI_FINALIZE(ierror)\n"
+ "end\n")
+ else()
+ if (${lang} STREQUAL CXX)
+ set(test_file ${scratch_directory}/cmake_mpi_test.cpp)
+ else()
+ set(test_file ${scratch_directory}/cmake_mpi_test.c)
+ endif()
+ file(WRITE ${test_file}
+ "#include <mpi.h>\n"
+ "int main(int argc, char **argv) {\n"
+ " MPI_Init(&argc, &argv);\n"
+ " MPI_Finalize();\n"
+ "}\n")
+ endif()
+ try_compile(compiler_has_mpi ${scratch_directory} ${test_file})
+ if (compiler_has_mpi)
+ set(MPI_${lang}_NO_INTERROGATE ${CMAKE_${lang}_COMPILER} CACHE STRING "Whether to interrogate MPI ${lang} compiler" FORCE)
+ set(MPI_${lang}_COMPILER ${CMAKE_${lang}_COMPILER} CACHE STRING "MPI ${lang} compiler" FORCE)
+ set(MPI_${lang}_COMPILE_FLAGS "" CACHE STRING "MPI ${lang} compilation flags" FORCE)
+ set(MPI_${lang}_INCLUDE_PATH "" CACHE STRING "MPI ${lang} include path" FORCE)
+ set(MPI_${lang}_LINK_FLAGS "" CACHE STRING "MPI ${lang} linking flags" FORCE)
+ set(MPI_${lang}_LIBRARIES "" CACHE STRING "MPI ${lang} libraries to link against" FORCE)
+ endif()
+ set(${success} ${compiler_has_mpi} PARENT_SCOPE)
+ unset(compiler_has_mpi CACHE)
+endfunction()
+
+# End definitions, commence real work here.
+
+# Most mpi distros have some form of mpiexec which gives us something we can reliably look for.
+find_program(MPIEXEC
+ NAMES ${_MPI_EXEC_NAMES}
+ HINTS ${MPI_HOME} $ENV{MPI_HOME}
+ PATHS ${_MPI_PREFIX_PATH}
+ PATH_SUFFIXES bin
+ DOC "Executable for running MPI programs.")
+
+# call get_filename_component twice to remove mpiexec and the directory it exists in (typically bin).
+# This gives us a fairly reliable base directory to search for /bin /lib and /include from.
+get_filename_component(_MPI_BASE_DIR "${MPIEXEC}" PATH)
+get_filename_component(_MPI_BASE_DIR "${_MPI_BASE_DIR}" PATH)
+
+set(MPIEXEC_NUMPROC_FLAG "-np" CACHE STRING "Flag used by MPI to specify the number of processes for MPIEXEC; the next option will be the number of processes.")
+set(MPIEXEC_PREFLAGS "" CACHE STRING "These flags will be directly before the executable that is being run by MPIEXEC.")
+set(MPIEXEC_POSTFLAGS "" CACHE STRING "These flags will come after all flags given to MPIEXEC.")
+set(MPIEXEC_MAX_NUMPROCS "2" CACHE STRING "Maximum number of processors available to run MPI applications.")
+mark_as_advanced(MPIEXEC MPIEXEC_NUMPROC_FLAG MPIEXEC_PREFLAGS MPIEXEC_POSTFLAGS MPIEXEC_MAX_NUMPROCS)
+
+
+#=============================================================================
+# Backward compatibility input hacks. Propagate the FindMPI hints to C and
+# CXX if the respective new versions are not defined. Translate the old
+# MPI_LIBRARY and MPI_EXTRA_LIBRARY to respective MPI_${lang}_LIBRARIES.
+#
+# Once we find the new variables, we translate them back into their old
+# equivalents below.
+foreach (lang C CXX)
+ # Old input variables.
+ set(_MPI_OLD_INPUT_VARS COMPILER COMPILE_FLAGS INCLUDE_PATH LINK_FLAGS)
+
+ # Set new vars based on their old equivalents, if the new versions are not already set.
+ foreach (var ${_MPI_OLD_INPUT_VARS})
+ if (NOT MPI_${lang}_${var} AND MPI_${var})
+ set(MPI_${lang}_${var} "${MPI_${var}}")
+ endif()
+ endforeach()
+
+ # Special handling for MPI_LIBRARY and MPI_EXTRA_LIBRARY, which we nixed in the
+ # new FindMPI. These need to be merged into MPI_<lang>_LIBRARIES
+ if (NOT MPI_${lang}_LIBRARIES AND (MPI_LIBRARY OR MPI_EXTRA_LIBRARY))
+ set(MPI_${lang}_LIBRARIES ${MPI_LIBRARY} ${MPI_EXTRA_LIBRARY})
+ endif()
+endforeach()
+#=============================================================================
+
+
+# This loop finds the compilers and sends them off for interrogation.
+foreach (lang C CXX Fortran)
+ if (CMAKE_${lang}_COMPILER_WORKS)
+ # If the user supplies a compiler *name* instead of an absolute path, assume that we need to find THAT compiler.
+ if (MPI_${lang}_COMPILER)
+ is_file_executable(MPI_${lang}_COMPILER MPI_COMPILER_IS_EXECUTABLE)
+ if (NOT MPI_COMPILER_IS_EXECUTABLE)
+ # Get rid of our default list of names and just search for the name the user wants.
+ set(_MPI_${lang}_COMPILER_NAMES ${MPI_${lang}_COMPILER})
+ set(MPI_${lang}_COMPILER "MPI_${lang}_COMPILER-NOTFOUND" CACHE FILEPATH "Cleared" FORCE)
+ # If the user specifies a compiler, we don't want to try to search libraries either.
+ set(try_libs FALSE)
+ endif()
+ else()
+ set(try_libs TRUE)
+ endif()
+
+ find_program(MPI_${lang}_COMPILER
+ NAMES ${_MPI_${lang}_COMPILER_NAMES}
+ HINTS ${_MPI_BASE_DIR}/bin
+ PATHS ${_MPI_PREFIX_PATH}
+ )
+ interrogate_mpi_compiler(${lang} ${try_libs})
+ mark_as_advanced(MPI_${lang}_COMPILER)
+
+ # last ditch try -- if nothing works so far, just try running the regular compiler and
+ # see if we can create an MPI executable.
+ set(regular_compiler_worked 0)
+ if (NOT MPI_${lang}_LIBRARIES OR NOT MPI_${lang}_INCLUDE_PATH)
+ try_regular_compiler(${lang} regular_compiler_worked)
+ endif()
+
+ set(MPI_${lang}_FIND_QUIETLY ${MPI_FIND_QUIETLY})
+ set(MPI_${lang}_FIND_REQUIRED ${MPI_FIND_REQUIRED})
+ set(MPI_${lang}_FIND_VERSION ${MPI_FIND_VERSION})
+ set(MPI_${lang}_FIND_VERSION_EXACT ${MPI_FIND_VERSION_EXACT})
+
+ if (regular_compiler_worked)
+ find_package_handle_standard_args(MPI_${lang} DEFAULT_MSG MPI_${lang}_COMPILER)
+ else()
+ find_package_handle_standard_args(MPI_${lang} DEFAULT_MSG MPI_${lang}_LIBRARIES MPI_${lang}_INCLUDE_PATH)
+ endif()
+ endif()
+endforeach()
+
+
+#=============================================================================
+# More backward compatibility stuff
+#
+# Bare MPI sans ${lang} vars are set to CXX then C, depending on what was found.
+# This mimics the behavior of the old language-oblivious FindMPI.
+set(_MPI_OLD_VARS FOUND COMPILER INCLUDE_PATH COMPILE_FLAGS LINK_FLAGS LIBRARIES)
+if (MPI_CXX_FOUND)
+ foreach (var ${_MPI_OLD_VARS})
+ set(MPI_${var} ${MPI_CXX_${var}})
+ endforeach()
+elseif (MPI_C_FOUND)
+ foreach (var ${_MPI_OLD_VARS})
+ set(MPI_${var} ${MPI_C_${var}})
+ endforeach()
+else()
+ # Note that we might still have found Fortran, but you'll need to use MPI_Fortran_FOUND
+ set(MPI_FOUND FALSE)
+endif()
+
+# Chop MPI_LIBRARIES into the old-style MPI_LIBRARY and MPI_EXTRA_LIBRARY, and set them in cache.
+if (MPI_LIBRARIES)
+ list(GET MPI_LIBRARIES 0 MPI_LIBRARY_WORK)
+ set(MPI_LIBRARY ${MPI_LIBRARY_WORK} CACHE FILEPATH "MPI library to link against" FORCE)
+else()
+ set(MPI_LIBRARY "MPI_LIBRARY-NOTFOUND" CACHE FILEPATH "MPI library to link against" FORCE)
+endif()
+
+list(LENGTH MPI_LIBRARIES MPI_NUMLIBS)
+if (MPI_NUMLIBS GREATER 1)
+ set(MPI_EXTRA_LIBRARY_WORK ${MPI_LIBRARIES})
+ list(REMOVE_AT MPI_EXTRA_LIBRARY_WORK 0)
+ set(MPI_EXTRA_LIBRARY ${MPI_EXTRA_LIBRARY_WORK} CACHE STRING "Extra MPI libraries to link against" FORCE)
+else()
+ set(MPI_EXTRA_LIBRARY "MPI_EXTRA_LIBRARY-NOTFOUND" CACHE STRING "Extra MPI libraries to link against" FORCE)
+endif()
+#=============================================================================
+
+# unset these vars to cleanup namespace
+unset(_MPI_OLD_VARS)
+unset(_MPI_PREFIX_PATH)
+unset(_MPI_BASE_DIR)
+foreach (lang C CXX Fortran)
+ unset(_MPI_${lang}_COMPILER_NAMES)
+endforeach()
diff --git a/config/cmake_ext_mod/FindSZIP.cmake b/config/cmake_ext_mod/FindSZIP.cmake
new file mode 100644
index 0000000..5f0f031
--- /dev/null
+++ b/config/cmake_ext_mod/FindSZIP.cmake
@@ -0,0 +1,172 @@
+
+# - Find SZIP library
+# - Derived from the FindTiff.cmake that is included with cmake
+# Find the native SZIP includes and library
+# This module defines
+# SZIP_INCLUDE_DIRS, where to find tiff.h, etc.
+# SZIP_LIBRARIES, libraries to link against to use SZIP.
+# SZIP_FOUND, If false, do not try to use SZIP.
+# also defined, but not for general use are
+# SZIP_LIBRARY, where to find the SZIP library.
+# SZIP_LIBRARY_DEBUG - Debug version of SZIP library
+# SZIP_LIBRARY_RELEASE - Release Version of SZIP library
+
+# message (STATUS "Finding SZIP library and headers..." )
+
+############################################
+#
+# Check the existence of the libraries.
+#
+############################################
+# This macro was taken directly from the FindQt4.cmake file that is included
+# with the CMake distribution. This is NOT my work. All work was done by the
+# original authors of the FindQt4.cmake file. Only minor modifications were
+# made to remove references to Qt and make this file more generally applicable
+#########################################################################
+
+MACRO (SZIP_ADJUST_LIB_VARS basename)
+ if (${basename}_INCLUDE_DIR)
+
+ # if only the release version was found, set the debug variable also to the release version
+ if (${basename}_LIBRARY_RELEASE AND NOT ${basename}_LIBRARY_DEBUG)
+ set (${basename}_LIBRARY_DEBUG ${${basename}_LIBRARY_RELEASE})
+ set (${basename}_LIBRARY ${${basename}_LIBRARY_RELEASE})
+ set (${basename}_LIBRARIES ${${basename}_LIBRARY_RELEASE})
+ endif (${basename}_LIBRARY_RELEASE AND NOT ${basename}_LIBRARY_DEBUG)
+
+ # if only the debug version was found, set the release variable also to the debug version
+ if (${basename}_LIBRARY_DEBUG AND NOT ${basename}_LIBRARY_RELEASE)
+ set (${basename}_LIBRARY_RELEASE ${${basename}_LIBRARY_DEBUG})
+ set (${basename}_LIBRARY ${${basename}_LIBRARY_DEBUG})
+ set (${basename}_LIBRARIES ${${basename}_LIBRARY_DEBUG})
+ endif (${basename}_LIBRARY_DEBUG AND NOT ${basename}_LIBRARY_RELEASE)
+ if (${basename}_LIBRARY_DEBUG AND ${basename}_LIBRARY_RELEASE)
+ # if the generator supports configuration types then set
+ # optimized and debug libraries, or if the CMAKE_BUILD_TYPE has a value
+ if (CMAKE_CONFIGURATION_TYPES OR CMAKE_BUILD_TYPE)
+ set (${basename}_LIBRARY optimized ${${basename}_LIBRARY_RELEASE} debug ${${basename}_LIBRARY_DEBUG})
+ else (CMAKE_CONFIGURATION_TYPES OR CMAKE_BUILD_TYPE)
+ # if there are no configuration types and CMAKE_BUILD_TYPE has no value
+ # then just use the release libraries
+ set (${basename}_LIBRARY ${${basename}_LIBRARY_RELEASE} )
+ endif (CMAKE_CONFIGURATION_TYPES OR CMAKE_BUILD_TYPE)
+ set (${basename}_LIBRARIES optimized ${${basename}_LIBRARY_RELEASE} debug ${${basename}_LIBRARY_DEBUG})
+ endif (${basename}_LIBRARY_DEBUG AND ${basename}_LIBRARY_RELEASE)
+
+ set (${basename}_LIBRARY ${${basename}_LIBRARY} CACHE FILEPATH "The ${basename} library")
+
+ if (${basename}_LIBRARY)
+ set (${basename}_FOUND 1)
+ endif (${basename}_LIBRARY)
+
+ endif (${basename}_INCLUDE_DIR )
+
+ # Make variables changeble to the advanced user
+ MARK_AS_ADVANCED (${basename}_LIBRARY ${basename}_LIBRARY_RELEASE ${basename}_LIBRARY_DEBUG ${basename}_INCLUDE_DIR )
+ENDMACRO (SZIP_ADJUST_LIB_VARS)
+
+
+# Look for the header file.
+set (SZIP_INCLUDE_SEARCH_DIRS
+ $ENV{SZIP_INSTALL}/include
+ $ENV{SZIP_INSTALL}/include/szip
+ /usr/include
+ /usr/include/szip
+)
+
+set (SZIP_LIB_SEARCH_DIRS
+ $ENV{SZIP_INSTALL}/lib
+ /usr/lib
+)
+
+set (SZIP_BIN_SEARCH_DIRS
+ $ENV{SZIP_INSTALL}/bin
+ /usr/bin
+)
+
+FIND_PATH (SZIP_INCLUDE_DIR
+ NAMES szlib.h
+ PATHS ${SZIP_INCLUDE_SEARCH_DIRS}
+ NO_DEFAULT_PATH
+)
+
+if (WIN32)
+ set (SZIP_SEARCH_DEBUG_NAMES "sz_d;libsz_d")
+ set (SZIP_SEARCH_RELEASE_NAMES "sz;libsz;libszip")
+else (WIN32)
+ set (SZIP_SEARCH_DEBUG_NAMES "sz_d")
+ set (SZIP_SEARCH_RELEASE_NAMES "sz;szip")
+endif (WIN32)
+
+# Look for the library.
+FIND_LIBRARY (SZIP_LIBRARY_DEBUG
+ NAMES ${SZIP_SEARCH_DEBUG_NAMES}
+ PATHS ${SZIP_LIB_SEARCH_DIRS}
+ NO_DEFAULT_PATH
+)
+
+FIND_LIBRARY (SZIP_LIBRARY_RELEASE
+ NAMES ${SZIP_SEARCH_RELEASE_NAMES}
+ PATHS ${SZIP_LIB_SEARCH_DIRS}
+ NO_DEFAULT_PATH
+)
+
+SZIP_ADJUST_LIB_VARS (SZIP)
+
+if (SZIP_INCLUDE_DIR AND SZIP_LIBRARY)
+ set (SZIP_FOUND 1)
+ set (SZIP_LIBRARIES ${SZIP_LIBRARY})
+ set (SZIP_INCLUDE_DIRS ${SZIP_INCLUDE_DIR})
+ if (SZIP_LIBRARY_DEBUG)
+ get_filename_component (SZIP_LIBRARY_PATH ${SZIP_LIBRARY_DEBUG} PATH)
+ set (SZIP_LIB_DIR ${SZIP_LIBRARY_PATH})
+ elseif (SZIP_LIBRARY_RELEASE)
+ get_filename_component (SZIP_LIBRARY_PATH ${SZIP_LIBRARY_RELEASE} PATH)
+ set (SZIP_LIB_DIR ${SZIP_LIBRARY_PATH})
+ endif (SZIP_LIBRARY_DEBUG)
+
+else (SZIP_INCLUDE_DIR AND SZIP_LIBRARY)
+ set (SZIP_FOUND 0)
+ set (SZIP_LIBRARIES)
+ set (SZIP_INCLUDE_DIRS)
+endif (SZIP_INCLUDE_DIR AND SZIP_LIBRARY)
+
+# Report the results.
+if (NOT SZIP_FOUND)
+ set (SZIP_DIR_MESSAGE
+ "SZip was not found. Make sure SZIP_LIBRARY and SZIP_INCLUDE_DIR are set or set the SZIP_INSTALL environment variable."
+ )
+ if (NOT SZIP_FIND_QUIETLY)
+ message (STATUS "${SZIP_DIR_MESSAGE}")
+ else (NOT SZIP_FIND_QUIETLY)
+ if (SZIP_FIND_REQUIRED)
+ message (FATAL_ERROR "SZip was NOT found and is Required by this project")
+ endif (SZIP_FIND_REQUIRED)
+ endif (NOT SZIP_FIND_QUIETLY)
+endif (NOT SZIP_FOUND)
+
+if (SZIP_FOUND)
+ include (CheckSymbolExists)
+ #############################################
+ # Find out if SZIP was build using dll's
+ #############################################
+ # Save required variable
+ set (CMAKE_REQUIRED_INCLUDES_SAVE ${CMAKE_REQUIRED_INCLUDES})
+ set (CMAKE_REQUIRED_FLAGS_SAVE ${CMAKE_REQUIRED_FLAGS})
+ # Add SZIP_INCLUDE_DIR to CMAKE_REQUIRED_INCLUDES
+ set (CMAKE_REQUIRED_INCLUDES "${CMAKE_REQUIRED_INCLUDES};${SZIP_INCLUDE_DIRS}")
+
+ # Restore CMAKE_REQUIRED_INCLUDES and CMAKE_REQUIRED_FLAGS variables
+ set (CMAKE_REQUIRED_INCLUDES ${CMAKE_REQUIRED_INCLUDES_SAVE})
+ set (CMAKE_REQUIRED_FLAGS ${CMAKE_REQUIRED_FLAGS_SAVE})
+ #
+ #############################################
+endif (SZIP_FOUND)
+
+if (FIND_SZIP_DEBUG)
+ message (STATUS "SZIP_INCLUDE_DIR: ${SZIP_INCLUDE_DIR}")
+ message (STATUS "SZIP_INCLUDE_DIRS: ${SZIP_INCLUDE_DIRS}")
+ message (STATUS "SZIP_LIBRARY_DEBUG: ${SZIP_LIBRARY_DEBUG}")
+ message (STATUS "SZIP_LIBRARY_RELEASE: ${SZIP_LIBRARY_RELEASE}")
+ message (STATUS "CMAKE_BUILD_TYPE: ${CMAKE_BUILD_TYPE}")
+endif (FIND_SZIP_DEBUG)
diff --git a/config/cmake_ext_mod/GetTimeOfDayTest.cpp b/config/cmake_ext_mod/GetTimeOfDayTest.cpp
new file mode 100644
index 0000000..3b5bf60
--- /dev/null
+++ b/config/cmake_ext_mod/GetTimeOfDayTest.cpp
@@ -0,0 +1,15 @@
+#if defined (TRY_SYS_TIME_H)
+#include <sys/time.h>
+/* #include <time.h> */
+#endif
+
+
+#if defined (TRY_TIME_H)
+#include <time.h>
+#endif
+
+int main(int argc, char **argv) {
+ struct timeval t1;
+ gettimeofday(&t1, 0x00);
+ return 0;
+}
diff --git a/config/cmake_ext_mod/HDFCXXTests.cpp b/config/cmake_ext_mod/HDFCXXTests.cpp
new file mode 100644
index 0000000..6b47421
--- /dev/null
+++ b/config/cmake_ext_mod/HDFCXXTests.cpp
@@ -0,0 +1,56 @@
+
+#ifdef OLD_HEADER_FILENAME
+
+#include <iostream>
+
+int main(void) { return 0; }
+
+#endif
+
+
+#ifdef HDF_NO_NAMESPACE
+
+namespace HDF {
+int fnord;
+}
+
+int main(void) {
+ using namespace HDF;
+ fnord = 37;
+ return 0;
+}
+
+#endif
+
+#ifdef HDF_NO_STD
+
+#include <string>
+
+using namespace std;
+
+int main(void) {
+ string myString("testing namespace std");
+ return 0;
+}
+
+#endif
+
+#ifdef BOOL_NOTDEFINED
+int main(void) {
+ bool flag;
+ return 0;
+}
+
+#endif
+
+#ifdef NO_STATIC_CAST
+
+int main(void) {
+ float test_float;
+ int test_int;
+ test_float = 37.0;
+ test_int = static_cast <int> (test_float);
+ return 0;
+}
+
+#endif
diff --git a/config/cmake_ext_mod/HDFLibMacros.cmake b/config/cmake_ext_mod/HDFLibMacros.cmake
new file mode 100644
index 0000000..7660a8a
--- /dev/null
+++ b/config/cmake_ext_mod/HDFLibMacros.cmake
@@ -0,0 +1,270 @@
+#-------------------------------------------------------------------------------
+MACRO (EXTERNAL_JPEG_LIBRARY compress_type jpeg_pic)
+ # May need to build JPEG with PIC on x64 machines with gcc
+ # Need to use CMAKE_ANSI_CFLAGS define so that compiler test works
+
+ if (${compress_type} MATCHES "SVN")
+ EXTERNALPROJECT_ADD (JPEG
+ SVN_REPOSITORY ${JPEG_URL}
+ # [SVN_REVISION rev]
+ INSTALL_COMMAND ""
+ CMAKE_ARGS
+ -DBUILD_SHARED_LIBS:BOOL=${BUILD_SHARED_LIBS}
+ -DJPEG_PACKAGE_EXT:STRING=${HDF_PACKAGE_EXT}
+ -DJPEG_EXTERNALLY_CONFIGURED:BOOL=OFF
+ -DCMAKE_BUILD_TYPE:STRING=${CMAKE_BUILD_TYPE}
+ -DCMAKE_INSTALL_PREFIX:PATH=${CMAKE_INSTALL_PREFIX}
+ -DCMAKE_RUNTIME_OUTPUT_DIRECTORY:PATH=${CMAKE_RUNTIME_OUTPUT_DIRECTORY}
+ -DCMAKE_LIBRARY_OUTPUT_DIRECTORY:PATH=${CMAKE_LIBRARY_OUTPUT_DIRECTORY}
+ -DCMAKE_ARCHIVE_OUTPUT_DIRECTORY:PATH=${CMAKE_ARCHIVE_OUTPUT_DIRECTORY}
+ -DCMAKE_ANSI_CFLAGS:STRING=${jpeg_pic}
+ )
+ elseif (${compress_type} MATCHES "GIT")
+ EXTERNALPROJECT_ADD (JPEG
+ GIT_REPOSITORY ${JPEG_URL}
+ INSTALL_COMMAND ""
+ CMAKE_ARGS
+ -DBUILD_SHARED_LIBS:BOOL=${BUILD_SHARED_LIBS}
+ -DJPEG_PACKAGE_EXT:STRING=${HDF_PACKAGE_EXT}
+ -DJPEG_EXTERNALLY_CONFIGURED:BOOL=OFF
+ -DCMAKE_BUILD_TYPE:STRING=${CMAKE_BUILD_TYPE}
+ -DCMAKE_INSTALL_PREFIX:PATH=${CMAKE_INSTALL_PREFIX}
+ -DCMAKE_RUNTIME_OUTPUT_DIRECTORY:PATH=${CMAKE_RUNTIME_OUTPUT_DIRECTORY}
+ -DCMAKE_LIBRARY_OUTPUT_DIRECTORY:PATH=${CMAKE_LIBRARY_OUTPUT_DIRECTORY}
+ -DCMAKE_ARCHIVE_OUTPUT_DIRECTORY:PATH=${CMAKE_ARCHIVE_OUTPUT_DIRECTORY}
+ -DCMAKE_ANSI_CFLAGS:STRING=${jpeg_pic}
+ )
+ elseif (${compress_type} MATCHES "TGZ")
+ EXTERNALPROJECT_ADD (JPEG
+ URL ${JPEG_URL}
+ URL_MD5 ""
+ INSTALL_COMMAND ""
+ CMAKE_ARGS
+ -DBUILD_SHARED_LIBS:BOOL=${BUILD_SHARED_LIBS}
+ -DJPEG_PACKAGE_EXT:STRING=${HDF_PACKAGE_EXT}
+ -DJPEG_EXTERNALLY_CONFIGURED:BOOL=OFF
+ -DCMAKE_BUILD_TYPE:STRING=${CMAKE_BUILD_TYPE}
+ -DCMAKE_INSTALL_PREFIX:PATH=${CMAKE_INSTALL_PREFIX}
+ -DCMAKE_RUNTIME_OUTPUT_DIRECTORY:PATH=${CMAKE_RUNTIME_OUTPUT_DIRECTORY}
+ -DCMAKE_LIBRARY_OUTPUT_DIRECTORY:PATH=${CMAKE_LIBRARY_OUTPUT_DIRECTORY}
+ -DCMAKE_ARCHIVE_OUTPUT_DIRECTORY:PATH=${CMAKE_ARCHIVE_OUTPUT_DIRECTORY}
+ -DCMAKE_ANSI_CFLAGS:STRING=${jpeg_pic}
+ )
+ endif (${compress_type} MATCHES "SVN")
+ externalproject_get_property (JPEG BINARY_DIR SOURCE_DIR)
+
+##include (${BINARY_DIR}/${JPEG_PACKAGE_NAME}${HDF_PACKAGE_EXT}-targets.cmake)
+# Create imported target jpeg-static
+ add_library(jpeg-static STATIC IMPORTED)
+# Create imported target jpeg-shared
+ add_library(jpeg-shared SHARED IMPORTED)
+ if (BUILD_SHARED_LIBS)
+ HDF_IMPORT_SET_LIB_OPTIONS (jpeg-shared "jpeg" SHARED "")
+ add_dependencies (JPEG jpeg-shared)
+ set (JPEG_SHARED_LIBRARY "jpeg-shared")
+ set (JPEG_LIBRARIES ${JPEG_shared_LIBRARY})
+ endif (BUILD_SHARED_LIBS)
+ HDF_IMPORT_SET_LIB_OPTIONS (jpeg-static "jpeg" STATIC "")
+ add_dependencies (JPEG jpeg-static)
+ set (JPEG_STATIC_LIBRARY "jpeg-static")
+ set (JPEG_LIBRARIES ${JPEG_static_LIBRARY})
+
+ set (JPEG_INCLUDE_DIR_GEN "${BINARY_DIR}")
+ set (JPEG_INCLUDE_DIR "${SOURCE_DIR}/src")
+ set (JPEG_FOUND 1)
+ set (JPEG_INCLUDE_DIRS ${JPEG_INCLUDE_DIR_GEN} ${JPEG_INCLUDE_DIR})
+ENDMACRO (EXTERNAL_JPEG_LIBRARY)
+
+#-------------------------------------------------------------------------------
+MACRO (PACKAGE_JPEG_LIBRARY compress_type)
+ add_custom_target (JPEG-GenHeader-Copy ALL
+ COMMAND ${CMAKE_COMMAND} -E copy_if_different ${JPEG_INCLUDE_DIR_GEN}/jconfig.h ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/
+ COMMENT "Copying ${JPEG_INCLUDE_DIR_GEN}/jconfig.h to ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/"
+ )
+ set (EXTERNAL_HEADER_LIST ${EXTERNAL_HEADER_LIST} ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/jconfig.h)
+ if (${compress_type} MATCHES "SVN" OR ${compress_type} MATCHES "TGZ")
+ add_dependencies (JPEG-GenHeader-Copy JPEG)
+ endif (${compress_type} MATCHES "SVN" OR ${compress_type} MATCHES "TGZ")
+ENDMACRO (PACKAGE_JPEG_LIBRARY)
+
+#-------------------------------------------------------------------------------
+MACRO (EXTERNAL_SZIP_LIBRARY compress_type encoding)
+ if (${compress_type} MATCHES "SVN")
+ EXTERNALPROJECT_ADD (SZIP
+ SVN_REPOSITORY ${SZIP_URL}
+ # [SVN_REVISION rev]
+ INSTALL_COMMAND ""
+ CMAKE_ARGS
+ -DBUILD_SHARED_LIBS:BOOL=${BUILD_SHARED_LIBS}
+ -DSZIP_PACKAGE_EXT:STRING=${HDF_PACKAGE_EXT}
+ -DSZIP_EXTERNALLY_CONFIGURED:BOOL=OFF
+ -DCMAKE_BUILD_TYPE:STRING=${CMAKE_BUILD_TYPE}
+ -DCMAKE_INSTALL_PREFIX:PATH=${CMAKE_INSTALL_PREFIX}
+ -DCMAKE_RUNTIME_OUTPUT_DIRECTORY:PATH=${CMAKE_RUNTIME_OUTPUT_DIRECTORY}
+ -DCMAKE_LIBRARY_OUTPUT_DIRECTORY:PATH=${CMAKE_LIBRARY_OUTPUT_DIRECTORY}
+ -DCMAKE_ARCHIVE_OUTPUT_DIRECTORY:PATH=${CMAKE_ARCHIVE_OUTPUT_DIRECTORY}
+ -DCMAKE_ANSI_CFLAGS:STRING=${CMAKE_ANSI_CFLAGS}
+ -DSZIP_ENABLE_ENCODING:BOOL=${encoding}
+ )
+ elseif (${compress_type} MATCHES "GIT")
+ EXTERNALPROJECT_ADD (SZIP
+ GIT_REPOSITORY ${SZIP_URL}
+ # [SVN_REVISION rev]
+ INSTALL_COMMAND ""
+ CMAKE_ARGS
+ -DBUILD_SHARED_LIBS:BOOL=${BUILD_SHARED_LIBS}
+ -DSZIP_PACKAGE_EXT:STRING=${HDF_PACKAGE_EXT}
+ -DSZIP_EXTERNALLY_CONFIGURED:BOOL=OFF
+ -DCMAKE_BUILD_TYPE:STRING=${CMAKE_BUILD_TYPE}
+ -DCMAKE_INSTALL_PREFIX:PATH=${CMAKE_INSTALL_PREFIX}
+ -DCMAKE_RUNTIME_OUTPUT_DIRECTORY:PATH=${CMAKE_RUNTIME_OUTPUT_DIRECTORY}
+ -DCMAKE_LIBRARY_OUTPUT_DIRECTORY:PATH=${CMAKE_LIBRARY_OUTPUT_DIRECTORY}
+ -DCMAKE_ARCHIVE_OUTPUT_DIRECTORY:PATH=${CMAKE_ARCHIVE_OUTPUT_DIRECTORY}
+ -DCMAKE_ANSI_CFLAGS:STRING=${CMAKE_ANSI_CFLAGS}
+ -DSZIP_ENABLE_ENCODING:BOOL=${encoding}
+ )
+ elseif (${compress_type} MATCHES "TGZ")
+ EXTERNALPROJECT_ADD (SZIP
+ URL ${SZIP_URL}
+ URL_MD5 ""
+ INSTALL_COMMAND ""
+ CMAKE_ARGS
+ -DBUILD_SHARED_LIBS:BOOL=${BUILD_SHARED_LIBS}
+ -DSZIP_PACKAGE_EXT:STRING=${HDF_PACKAGE_EXT}
+ -DSZIP_EXTERNALLY_CONFIGURED:BOOL=OFF
+ -DCMAKE_BUILD_TYPE:STRING=${CMAKE_BUILD_TYPE}
+ -DCMAKE_INSTALL_PREFIX:PATH=${CMAKE_INSTALL_PREFIX}
+ -DCMAKE_RUNTIME_OUTPUT_DIRECTORY:PATH=${CMAKE_RUNTIME_OUTPUT_DIRECTORY}
+ -DCMAKE_LIBRARY_OUTPUT_DIRECTORY:PATH=${CMAKE_LIBRARY_OUTPUT_DIRECTORY}
+ -DCMAKE_ARCHIVE_OUTPUT_DIRECTORY:PATH=${CMAKE_ARCHIVE_OUTPUT_DIRECTORY}
+ -DCMAKE_ANSI_CFLAGS:STRING=${CMAKE_ANSI_CFLAGS}
+ -DSZIP_ENABLE_ENCODING:BOOL=${encoding}
+ )
+ endif (${compress_type} MATCHES "SVN")
+ externalproject_get_property (SZIP BINARY_DIR SOURCE_DIR)
+
+##include (${BINARY_DIR}/${SZIP_PACKAGE_NAME}${HDF_PACKAGE_EXT}-targets.cmake)
+# Create imported target szip-static
+ add_library(szip-static STATIC IMPORTED)
+# Create imported target szip-shared
+ add_library(szip-shared SHARED IMPORTED)
+ if (BUILD_SHARED_LIBS)
+ HDF_IMPORT_SET_LIB_OPTIONS (szip-shared "szip" SHARED "")
+ add_dependencies (SZIP szip-shared)
+ set (SZIP_SHARED_LIBRARY "szip-shared")
+ set (SZIP_LIBRARIES ${SZIP_shared_LIBRARY})
+ endif (BUILD_SHARED_LIBS)
+ HDF_IMPORT_SET_LIB_OPTIONS (szip-static "szip" STATIC "")
+ add_dependencies (SZIP szip-static)
+ set (SZIP_STATIC_LIBRARY "szip-static")
+ set (SZIP_LIBRARIES ${SZIP_static_LIBRARY})
+
+ set (SZIP_INCLUDE_DIR_GEN "${BINARY_DIR}")
+ set (SZIP_INCLUDE_DIR "${SOURCE_DIR}/src")
+ set (SZIP_FOUND 1)
+ set (SZIP_INCLUDE_DIRS ${SZIP_INCLUDE_DIR_GEN} ${SZIP_INCLUDE_DIR})
+ENDMACRO (EXTERNAL_SZIP_LIBRARY)
+
+#-------------------------------------------------------------------------------
+MACRO (PACKAGE_SZIP_LIBRARY compress_type)
+ add_custom_target (SZIP-GenHeader-Copy ALL
+ COMMAND ${CMAKE_COMMAND} -E copy_if_different ${SZIP_INCLUDE_DIR_GEN}/SZconfig.h ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/
+ COMMENT "Copying ${SZIP_INCLUDE_DIR_GEN}/SZconfig.h to ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/"
+ )
+ set (EXTERNAL_HEADER_LIST ${EXTERNAL_HEADER_LIST} ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/SZconfig.h)
+ if (${compress_type} MATCHES "SVN" OR ${compress_type} MATCHES "TGZ")
+ add_dependencies (SZIP-GenHeader-Copy SZIP)
+ endif (${compress_type} MATCHES "SVN" OR ${compress_type} MATCHES "TGZ")
+ENDMACRO (PACKAGE_SZIP_LIBRARY)
+
+#-------------------------------------------------------------------------------
+MACRO (EXTERNAL_ZLIB_LIBRARY compress_type)
+ if (${compress_type} MATCHES "SVN")
+ EXTERNALPROJECT_ADD (ZLIB
+ SVN_REPOSITORY ${ZLIB_URL}
+ # [SVN_REVISION rev]
+ INSTALL_COMMAND ""
+ CMAKE_ARGS
+ -DBUILD_SHARED_LIBS:BOOL=${BUILD_SHARED_LIBS}
+ -DZLIB_PACKAGE_EXT:STRING=${HDF_PACKAGE_EXT}
+ -DZLIB_EXTERNALLY_CONFIGURED:BOOL=OFF
+ -DCMAKE_BUILD_TYPE:STRING=${CMAKE_BUILD_TYPE}
+ -DCMAKE_INSTALL_PREFIX:PATH=${CMAKE_INSTALL_PREFIX}
+ -DCMAKE_RUNTIME_OUTPUT_DIRECTORY:PATH=${CMAKE_RUNTIME_OUTPUT_DIRECTORY}
+ -DCMAKE_LIBRARY_OUTPUT_DIRECTORY:PATH=${CMAKE_LIBRARY_OUTPUT_DIRECTORY}
+ -DCMAKE_ARCHIVE_OUTPUT_DIRECTORY:PATH=${CMAKE_ARCHIVE_OUTPUT_DIRECTORY}
+ -DCMAKE_ANSI_CFLAGS:STRING=${CMAKE_ANSI_CFLAGS}
+ )
+ elseif (${compress_type} MATCHES "GIT")
+ EXTERNALPROJECT_ADD (ZLIB
+ GIT_REPOSITORY ${ZLIB_URL}
+ # [SVN_REVISION rev]
+ INSTALL_COMMAND ""
+ CMAKE_ARGS
+ -DBUILD_SHARED_LIBS:BOOL=${BUILD_SHARED_LIBS}
+ -DZLIB_PACKAGE_EXT:STRING=${HDF_PACKAGE_EXT}
+ -DZLIB_EXTERNALLY_CONFIGURED:BOOL=OFF
+ -DCMAKE_BUILD_TYPE:STRING=${CMAKE_BUILD_TYPE}
+ -DCMAKE_INSTALL_PREFIX:PATH=${CMAKE_INSTALL_PREFIX}
+ -DCMAKE_RUNTIME_OUTPUT_DIRECTORY:PATH=${CMAKE_RUNTIME_OUTPUT_DIRECTORY}
+ -DCMAKE_LIBRARY_OUTPUT_DIRECTORY:PATH=${CMAKE_LIBRARY_OUTPUT_DIRECTORY}
+ -DCMAKE_ARCHIVE_OUTPUT_DIRECTORY:PATH=${CMAKE_ARCHIVE_OUTPUT_DIRECTORY}
+ -DCMAKE_ANSI_CFLAGS:STRING=${CMAKE_ANSI_CFLAGS}
+ )
+ elseif (${compress_type} MATCHES "TGZ")
+ EXTERNALPROJECT_ADD (ZLIB
+ URL ${ZLIB_URL}
+ URL_MD5 ""
+ INSTALL_COMMAND ""
+ CMAKE_ARGS
+ -DBUILD_SHARED_LIBS:BOOL=${BUILD_SHARED_LIBS}
+ -DZLIB_PACKAGE_EXT:STRING=${HDF_PACKAGE_EXT}
+ -DZLIB_EXTERNALLY_CONFIGURED:BOOL=OFF
+ -DCMAKE_BUILD_TYPE:STRING=${CMAKE_BUILD_TYPE}
+ -DCMAKE_INSTALL_PREFIX:PATH=${CMAKE_INSTALL_PREFIX}
+ -DCMAKE_RUNTIME_OUTPUT_DIRECTORY:PATH=${CMAKE_RUNTIME_OUTPUT_DIRECTORY}
+ -DCMAKE_LIBRARY_OUTPUT_DIRECTORY:PATH=${CMAKE_LIBRARY_OUTPUT_DIRECTORY}
+ -DCMAKE_ARCHIVE_OUTPUT_DIRECTORY:PATH=${CMAKE_ARCHIVE_OUTPUT_DIRECTORY}
+ -DCMAKE_ANSI_CFLAGS:STRING=${CMAKE_ANSI_CFLAGS}
+ )
+ endif (${compress_type} MATCHES "SVN")
+ externalproject_get_property (ZLIB BINARY_DIR SOURCE_DIR)
+
+ if (WIN32)
+ set (ZLIB_LIB_NAME "zlib")
+ else (WIN32)
+ set (ZLIB_LIB_NAME "z")
+ endif (WIN32)
+##include (${BINARY_DIR}/${ZLIB_PACKAGE_NAME}${HDF_PACKAGE_EXT}-targets.cmake)
+# Create imported target zlib-static
+ add_library(zlib-static STATIC IMPORTED)
+# Create imported target zlib-shared
+ add_library(zlib-shared SHARED IMPORTED)
+ if (BUILD_SHARED_LIBS)
+ HDF_IMPORT_SET_LIB_OPTIONS (zlib-shared ${ZLIB_LIB_NAME} SHARED "")
+ add_dependencies (ZLIB zlib-shared)
+ set (ZLIB_SHARED_LIBRARY "zlib-shared")
+ set (ZLIB_LIBRARIES ${ZLIB_SHARED_LIBRARY})
+ endif (BUILD_SHARED_LIBS)
+ HDF_IMPORT_SET_LIB_OPTIONS (zlib-static ${ZLIB_LIB_NAME} STATIC "")
+ add_dependencies (ZLIB zlib-static)
+ set (ZLIB_STATIC_LIBRARY "zlib-static")
+ set (ZLIB_LIBRARIES ${ZLIB_static_LIBRARY})
+
+ set (ZLIB_INCLUDE_DIR_GEN "${BINARY_DIR}")
+ set (ZLIB_INCLUDE_DIR "${SOURCE_DIR}")
+ set (ZLIB_FOUND 1)
+ set (ZLIB_INCLUDE_DIRS ${ZLIB_INCLUDE_DIR_GEN} ${ZLIB_INCLUDE_DIR})
+ENDMACRO (EXTERNAL_ZLIB_LIBRARY)
+
+#-------------------------------------------------------------------------------
+MACRO (PACKAGE_ZLIB_LIBRARY compress_type)
+ add_custom_target (ZLIB-GenHeader-Copy ALL
+ COMMAND ${CMAKE_COMMAND} -E copy_if_different ${ZLIB_INCLUDE_DIR_GEN}/zconf.h ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/
+ COMMENT "Copying ${ZLIB_INCLUDE_DIR_GEN}/zconf.h to ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/"
+ )
+ set (EXTERNAL_HEADER_LIST ${EXTERNAL_HEADER_LIST} ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/zconf.h)
+ if (${compress_type} MATCHES "SVN" OR ${compress_type} MATCHES "TGZ")
+ add_dependencies (ZLIB-GenHeader-Copy ZLIB)
+ endif (${compress_type} MATCHES "SVN" OR ${compress_type} MATCHES "TGZ")
+ENDMACRO (PACKAGE_ZLIB_LIBRARY)
diff --git a/config/cmake_ext_mod/HDFMacros.cmake b/config/cmake_ext_mod/HDFMacros.cmake
new file mode 100644
index 0000000..d3ac36b
--- /dev/null
+++ b/config/cmake_ext_mod/HDFMacros.cmake
@@ -0,0 +1,277 @@
+#-------------------------------------------------------------------------------
+macro (SET_GLOBAL_VARIABLE name value)
+ set (${name} ${value} CACHE INTERNAL "Used to pass variables between directories" FORCE)
+endmacro (SET_GLOBAL_VARIABLE)
+
+#-------------------------------------------------------------------------------
+macro (IDE_GENERATED_PROPERTIES SOURCE_PATH HEADERS SOURCES)
+ #set(source_group_path "Source/AIM/${NAME}")
+ string (REPLACE "/" "\\\\" source_group_path ${SOURCE_PATH})
+ source_group (${source_group_path} FILES ${HEADERS} ${SOURCES})
+
+ #-- The following is needed if we ever start to use OS X Frameworks but only
+ #-- works on CMake 2.6 and greater
+ #set_property (SOURCE ${HEADERS}
+ # PROPERTY MACOSX_PACKAGE_LOCATION Headers/${NAME}
+ #)
+endmacro (IDE_GENERATED_PROPERTIES)
+
+#-------------------------------------------------------------------------------
+macro (IDE_SOURCE_PROPERTIES SOURCE_PATH HEADERS SOURCES)
+ # install (FILES ${HEADERS}
+ # DESTINATION include/R3D/${NAME}
+ # COMPONENT Headers
+ # )
+
+ string (REPLACE "/" "\\\\" source_group_path ${SOURCE_PATH} )
+ source_group (${source_group_path} FILES ${HEADERS} ${SOURCES})
+
+ #-- The following is needed if we ever start to use OS X Frameworks but only
+ #-- works on CMake 2.6 and greater
+ #set_property (SOURCE ${HEADERS}
+ # PROPERTY MACOSX_PACKAGE_LOCATION Headers/${NAME}
+ #)
+endmacro (IDE_SOURCE_PROPERTIES)
+
+#-------------------------------------------------------------------------------
+macro (TARGET_NAMING libtarget libtype)
+ if (${libtype} MATCHES "SHARED")
+ set_target_properties (${libtarget} PROPERTIES OUTPUT_NAME "${libtarget}${ARGN}")
+ endif (${libtype} MATCHES "SHARED")
+endmacro (TARGET_NAMING)
+
+#-------------------------------------------------------------------------------
+macro (INSTALL_TARGET_PDB libtarget targetdestination targetcomponent)
+ if (WIN32 AND MSVC)
+ get_target_property (target_name ${libtarget} OUTPUT_NAME_RELWITHDEBINFO)
+ install (
+ FILES
+ ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/${CMAKE_BUILD_TYPE}/${CMAKE_IMPORT_LIBRARY_PREFIX}${target_name}.pdb
+ DESTINATION
+ ${targetdestination}
+ CONFIGURATIONS RelWithDebInfo
+ COMPONENT ${targetcomponent}
+ )
+ endif (WIN32 AND MSVC)
+endmacro (INSTALL_TARGET_PDB)
+
+#-------------------------------------------------------------------------------
+macro (INSTALL_PROGRAM_PDB progtarget targetdestination targetcomponent)
+ if (WIN32 AND MSVC)
+ get_target_property (target_name ${progtarget} OUTPUT_NAME_RELWITHDEBINFO)
+ get_target_property (target_prefix ${progtarget} PREFIX)
+ install (
+ FILES
+ ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/${CMAKE_BUILD_TYPE}/${target_prefix}${target_name}.pdb
+ DESTINATION
+ ${targetdestination}
+ CONFIGURATIONS RelWithDebInfo
+ COMPONENT ${targetcomponent}
+ )
+ endif (WIN32 AND MSVC)
+endmacro (INSTALL_PROGRAM_PDB)
+
+#-------------------------------------------------------------------------------
+macro (HDF_SET_LIB_OPTIONS libtarget libname libtype)
+ if (${libtype} MATCHES "SHARED")
+ if (WIN32)
+ set (LIB_RELEASE_NAME "${libname}")
+ set (LIB_DEBUG_NAME "${libname}_D")
+ else (WIN32)
+ set (LIB_RELEASE_NAME "${libname}")
+ set (LIB_DEBUG_NAME "${libname}_debug")
+ endif (WIN32)
+ else (${libtype} MATCHES "SHARED")
+ if (WIN32)
+ set (LIB_RELEASE_NAME "lib${libname}")
+ set (LIB_DEBUG_NAME "lib${libname}_D")
+ else (WIN32)
+ set (LIB_RELEASE_NAME "${libname}")
+ set (LIB_DEBUG_NAME "${libname}_debug")
+ endif (WIN32)
+ endif (${libtype} MATCHES "SHARED")
+
+ set_target_properties (${libtarget}
+ PROPERTIES
+ OUTPUT_NAME_DEBUG ${LIB_DEBUG_NAME}
+ OUTPUT_NAME_RELEASE ${LIB_RELEASE_NAME}
+ OUTPUT_NAME_MINSIZEREL ${LIB_RELEASE_NAME}
+ OUTPUT_NAME_RELWITHDEBINFO ${LIB_RELEASE_NAME}
+ )
+
+ #----- Use MSVC Naming conventions for Shared Libraries
+ if (MINGW AND ${libtype} MATCHES "SHARED")
+ set_target_properties (${libtarget}
+ PROPERTIES
+ IMPORT_SUFFIX ".lib"
+ IMPORT_PREFIX ""
+ PREFIX ""
+ )
+ endif (MINGW AND ${libtype} MATCHES "SHARED")
+
+endmacro (HDF_SET_LIB_OPTIONS)
+
+#-------------------------------------------------------------------------------
+macro (HDF_IMPORT_SET_LIB_OPTIONS libtarget libname libtype libversion)
+ HDF_SET_LIB_OPTIONS (${libtarget} ${libname} ${libtype})
+
+ if (${importtype} MATCHES "IMPORT")
+ set (importprefix "${CMAKE_STATIC_LIBRARY_PREFIX}")
+ endif (${importtype} MATCHES "IMPORT")
+ if (${CMAKE_BUILD_TYPE} MATCHES "Debug")
+ set (IMPORT_LIB_NAME ${LIB_DEBUG_NAME})
+ else (${CMAKE_BUILD_TYPE} MATCHES "Debug")
+ set (IMPORT_LIB_NAME ${LIB_RELEASE_NAME})
+ endif (${CMAKE_BUILD_TYPE} MATCHES "Debug")
+
+ if (${libtype} MATCHES "SHARED")
+ if (WIN32)
+ if (MINGW)
+ set_target_properties (${libtarget} PROPERTIES
+ IMPORTED_IMPLIB "${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/${IMPORT_LIB_NAME}.lib"
+ IMPORTED_LOCATION "${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/${IMPORT_LIB_NAME}${CMAKE_SHARED_LIBRARY_SUFFIX}"
+ )
+ else (MINGW)
+ set_target_properties (${libtarget} PROPERTIES
+ IMPORTED_IMPLIB "${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/${CMAKE_BUILD_TYPE}/${CMAKE_IMPORT_LIBRARY_PREFIX}${IMPORT_LIB_NAME}${CMAKE_IMPORT_LIBRARY_SUFFIX}"
+ IMPORTED_LOCATION "${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/${CMAKE_BUILD_TYPE}/${CMAKE_IMPORT_LIBRARY_PREFIX}${IMPORT_LIB_NAME}${CMAKE_SHARED_LIBRARY_SUFFIX}"
+ )
+ endif (MINGW)
+ else (WIN32)
+ if (CYGWIN)
+ set_target_properties (${libtarget} PROPERTIES
+ IMPORTED_IMPLIB "${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/${CMAKE_IMPORT_LIBRARY_PREFIX}${IMPORT_LIB_NAME}${CMAKE_IMPORT_LIBRARY_SUFFIX}"
+ IMPORTED_LOCATION "${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/${CMAKE_IMPORT_LIBRARY_PREFIX}${IMPORT_LIB_NAME}${CMAKE_SHARED_LIBRARY_SUFFIX}"
+ )
+ else (CYGWIN)
+ set_target_properties (${libtarget} PROPERTIES
+ IMPORTED_LOCATION "${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/${CMAKE_SHARED_LIBRARY_PREFIX}${IMPORT_LIB_NAME}${CMAKE_SHARED_LIBRARY_SUFFIX}"
+ IMPORTED_SONAME "${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/${CMAKE_SHARED_LIBRARY_PREFIX}${IMPORT_LIB_NAME}${CMAKE_SHARED_LIBRARY_SUFFIX}.${libversion}"
+ SOVERSION "${libversion}"
+ )
+ endif (CYGWIN)
+ endif (WIN32)
+ else (${libtype} MATCHES "SHARED")
+ if (WIN32 AND NOT MINGW)
+ set_target_properties (${libtarget} PROPERTIES
+ IMPORTED_LOCATION "${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/${CMAKE_BUILD_TYPE}/${IMPORT_LIB_NAME}${CMAKE_STATIC_LIBRARY_SUFFIX}"
+ IMPORTED_LINK_INTERFACE_LANGUAGES "C"
+ )
+ else (WIN32 AND NOT MINGW)
+ set_target_properties (${libtarget} PROPERTIES
+ IMPORTED_LOCATION "${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/${CMAKE_STATIC_LIBRARY_PREFIX}${IMPORT_LIB_NAME}${CMAKE_STATIC_LIBRARY_SUFFIX}"
+ IMPORTED_LINK_INTERFACE_LANGUAGES "C"
+ )
+ endif (WIN32 AND NOT MINGW)
+ endif (${libtype} MATCHES "SHARED")
+
+endmacro (HDF_IMPORT_SET_LIB_OPTIONS)
+
+#-------------------------------------------------------------------------------
+macro (TARGET_C_PROPERTIES wintarget libtype addcompileflags addlinkflags)
+ if (MSVC)
+ TARGET_MSVC_PROPERTIES (${wintarget} ${libtype} "${addcompileflags} ${WIN_COMPILE_FLAGS}" "${addlinkflags} ${WIN_LINK_FLAGS}")
+ else (MSVC)
+ set_target_properties (${wintarget}
+ PROPERTIES
+ COMPILE_FLAGS "${addcompileflags}"
+ LINK_FLAGS "${addlinkflags}"
+ )
+ endif (MSVC)
+endmacro (TARGET_C_PROPERTIES)
+
+#-------------------------------------------------------------------------------
+macro (TARGET_MSVC_PROPERTIES wintarget libtype addcompileflags addlinkflags)
+ if (MSVC)
+ set_target_properties (${wintarget}
+ PROPERTIES
+ COMPILE_FLAGS "${addcompileflags}"
+ LINK_FLAGS "${addlinkflags}"
+ )
+ endif (MSVC)
+endmacro (TARGET_MSVC_PROPERTIES)
+
+#-------------------------------------------------------------------------------
+macro (TARGET_FORTRAN_PROPERTIES forttarget libtype addcompileflags addlinkflags)
+ if (WIN32)
+ TARGET_FORTRAN_WIN_PROPERTIES (${forttarget} ${libtype} "${addcompileflags} ${WIN_COMPILE_FLAGS}" "${addlinkflags} ${WIN_LINK_FLAGS}")
+ endif (WIN32)
+endmacro (TARGET_FORTRAN_PROPERTIES)
+
+#-------------------------------------------------------------------------------
+macro (TARGET_FORTRAN_WIN_PROPERTIES forttarget libtype addcompileflags addlinkflags)
+ if (MSVC)
+ if (${libtype} MATCHES "SHARED")
+ set_target_properties (${forttarget}
+ PROPERTIES
+ COMPILE_FLAGS "/dll ${addcompileflags}"
+ LINK_FLAGS "/SUBSYSTEM:CONSOLE ${addlinkflags}"
+ )
+ else (${libtype} MATCHES "SHARED")
+ set_target_properties (${forttarget}
+ PROPERTIES
+ COMPILE_FLAGS "${addcompileflags}"
+ LINK_FLAGS "/SUBSYSTEM:CONSOLE ${addlinkflags}"
+ )
+ endif (${libtype} MATCHES "SHARED")
+ endif (MSVC)
+endmacro (TARGET_FORTRAN_WIN_PROPERTIES)
+
+#-----------------------------------------------------------------------------
+# Configure the README.txt file for the binary package
+#-----------------------------------------------------------------------------
+macro (HDF_README_PROPERTIES target_fortran)
+ set (BINARY_SYSTEM_NAME ${CMAKE_SYSTEM_NAME})
+ set (BINARY_PLATFORM "${CMAKE_SYSTEM_NAME}")
+ if (WIN32)
+ set (BINARY_EXAMPLE_ENDING "zip")
+ set (BINARY_INSTALL_ENDING "msi")
+ if (CMAKE_CL_64)
+ set (BINARY_SYSTEM_NAME "win64")
+ else (CMAKE_CL_64)
+ set (BINARY_SYSTEM_NAME "win32")
+ endif (CMAKE_CL_64)
+ if (${CMAKE_SYSTEM_VERSION} MATCHES "6.1")
+ set (BINARY_PLATFORM "${BINARY_PLATFORM} 7")
+ elseif (${CMAKE_SYSTEM_VERSION} MATCHES "6.2")
+ set (BINARY_PLATFORM "${BINARY_PLATFORM} 8")
+ endif (${CMAKE_SYSTEM_VERSION} MATCHES "6.1")
+ set (BINARY_PLATFORM "${BINARY_PLATFORM} ${MSVC_C_ARCHITECTURE_ID}")
+ if (${CMAKE_C_COMPILER_VERSION} MATCHES "16.*")
+ set (BINARY_PLATFORM "${BINARY_PLATFORM}, using VISUAL STUDIO 2010")
+ elseif (${CMAKE_C_COMPILER_VERSION} MATCHES "15.*")
+ set (BINARY_PLATFORM "${BINARY_PLATFORM}, using VISUAL STUDIO 2008")
+ elseif (${CMAKE_C_COMPILER_VERSION} MATCHES "17.*")
+ set (BINARY_PLATFORM "${BINARY_PLATFORM}, using VISUAL STUDIO 2012")
+ elseif (${CMAKE_C_COMPILER_VERSION} MATCHES "18.*")
+ set (BINARY_PLATFORM "${BINARY_PLATFORM}, using VISUAL STUDIO 2013")
+ else (${CMAKE_C_COMPILER_VERSION} MATCHES "16.*")
+ set (BINARY_PLATFORM "${BINARY_PLATFORM}, using VISUAL STUDIO ${CMAKE_C_COMPILER_VERSION}")
+ endif (${CMAKE_C_COMPILER_VERSION} MATCHES "16.*")
+ elseif (APPLE)
+ set (BINARY_EXAMPLE_ENDING "tar.gz")
+ set (BINARY_INSTALL_ENDING "dmg")
+ set (BINARY_PLATFORM "${BINARY_PLATFORM} ${CMAKE_SYSTEM_VERSION} ${CMAKE_SYSTEM_PROCESSOR}")
+ set (BINARY_PLATFORM "${BINARY_PLATFORM}, using ${CMAKE_C_COMPILER_ID} C ${CMAKE_C_COMPILER_VERSION}")
+ else (WIN32)
+ set (BINARY_EXAMPLE_ENDING "tar.gz")
+ set (BINARY_INSTALL_ENDING "sh")
+ set (BINARY_PLATFORM "${BINARY_PLATFORM} ${CMAKE_SYSTEM_VERSION} ${CMAKE_SYSTEM_PROCESSOR}")
+ set (BINARY_PLATFORM "${BINARY_PLATFORM}, using ${CMAKE_C_COMPILER_ID} C ${CMAKE_C_COMPILER_VERSION}")
+ endif (WIN32)
+
+ if (target_fortran)
+ set (BINARY_PLATFORM "${BINARY_PLATFORM} / ${CMAKE_Fortran_COMPILER_ID} Fortran")
+ endif (target_fortran)
+
+ if (BUILD_SHARED_LIBS)
+ set (LIB_TYPE "Static and Shared")
+ else (BUILD_SHARED_LIBS)
+ set (LIB_TYPE "Static")
+ endif (BUILD_SHARED_LIBS)
+
+ configure_file (
+ ${HDF_RESOURCES_DIR}/README.txt.cmake.in
+ ${CMAKE_BINARY_DIR}/README.txt @ONLY
+ )
+endmacro (HDF_README_PROPERTIES)
diff --git a/config/cmake_ext_mod/HDFTests.c b/config/cmake_ext_mod/HDFTests.c
new file mode 100644
index 0000000..1c23ac3
--- /dev/null
+++ b/config/cmake_ext_mod/HDFTests.c
@@ -0,0 +1,466 @@
+#define SIMPLE_TEST(x) int main(){ x; return 0; }
+
+#ifdef HAVE_C99_DESIGNATED_INITIALIZER
+
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+# ifdef __cplusplus
+extern "C"
+# endif
+int FC_DUMMY_MAIN()
+{ return 1;}
+#endif
+#endif
+int
+main ()
+{
+
+ typedef struct
+ {
+ int x;
+ union
+ {
+ int i;
+ double d;
+ }u;
+ }di_struct_t;
+ di_struct_t x =
+ { 0,
+ { .d = 0.0}};
+ ;
+ return 0;
+}
+
+#endif
+
+#ifdef HAVE_C99_FUNC
+
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+# ifdef __cplusplus
+ extern "C"
+# endif
+ int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
+int
+main ()
+{
+ const char *fname = __func__;
+ ;
+ return 0;
+}
+
+#endif
+
+#ifdef VSNPRINTF_WORKS
+#include <stdio.h>
+#include <stdlib.h>
+#include <stdarg.h>
+
+int test_vsnprintf(const char *fmt,...)
+{
+ va_list ap;
+ char *s = malloc(16);
+ int ret;
+
+ va_start(ap, fmt);
+ ret=vsnprintf(s,16,"%s",ap);
+ va_end(ap);
+
+ return(ret!=42 ? 1 : 0);
+}
+
+int main(void)
+{
+ return(test_vsnprintf("%s","A string that is longer than 16 characters"));
+}
+#endif
+
+
+#ifdef TIME_WITH_SYS_TIME
+/* Time with sys/time test */
+
+#include <sys/types.h>
+#include <sys/time.h>
+#include <time.h>
+
+int
+main ()
+{
+if ((struct tm *) 0)
+return 0;
+ ;
+ return 0;
+}
+
+#endif
+
+#ifdef STDC_HEADERS
+#include <stdlib.h>
+#include <stdarg.h>
+#include <string.h>
+#include <float.h>
+int main() { return 0; }
+#endif /* STDC_HEADERS */
+
+
+#ifdef HAVE_ATTRIBUTE
+
+#if 0
+static void test int __attribute((unused)) var)
+{
+ int __attribute__((unused)) x = var;
+}
+
+int main(void)
+{
+ test(19);
+}
+
+#else
+int
+main ()
+{
+int __attribute__((unused)) x
+ ;
+ return 0;
+}
+#endif
+
+
+#endif /* HAVE_ATTRIBUTE */
+
+#ifdef HAVE_FUNCTION
+
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+# ifdef __cplusplus
+ extern "C"
+# endif
+ int FC_DUMMY_MAIN() { return 1; }
+#endif
+#endif
+int
+main ()
+{
+(void)__FUNCTION__
+ ;
+ return 0;
+}
+
+#endif /* HAVE_FUNCTION */
+
+#ifdef HAVE_TM_GMTOFF
+
+#ifdef HAVE_SYS_TIME_H
+#include <sys/time.h>
+#endif
+#include <time.h>
+SIMPLE_TEST(struct tm tm; tm.tm_gmtoff=0);
+
+#endif /* HAVE_TM_GMTOFF */
+
+#ifdef HAVE___TM_GMTOFF
+
+#ifdef HAVE_SYS_TIME_H
+#include <sys/time.h>
+#endif
+#include <time.h>
+SIMPLE_TEST(struct tm tm; tm.__tm_gmtoff=0);
+
+#endif /* HAVE_TM_GMTOFF */
+
+#ifdef HAVE_TIMEZONE
+
+#ifdef HAVE_SYS_TIME_H
+#include <sys/time.h>
+#endif
+#include <time.h>
+SIMPLE_TEST(timezone=0);
+
+#endif /* HAVE_TIMEZONE */
+
+#ifdef HAVE_STRUCT_TIMEZONE
+
+#include <sys/types.h>
+#ifdef HAVE_SYS_TIME_H
+#include <sys/time.h>
+#endif
+#include <time.h>
+SIMPLE_TEST(struct timezone tz; tz.tz_minuteswest=0);
+
+#endif /* HAVE_STRUCT_TIMEZONE */
+
+#ifdef HAVE_STAT_ST_BLOCKS
+
+#include <sys/stat.h>
+SIMPLE_TEST(struct stat sb; sb.st_blocks=0);
+
+#endif /* HAVE_STAT_ST_BLOCKS */
+
+#ifdef PRINTF_LL_WIDTH
+
+#ifdef HAVE_LONG_LONG
+# define LL_TYPE long long
+#else /* HAVE_LONG_LONG */
+# define LL_TYPE __int64
+#endif /* HAVE_LONG_LONG */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+
+int main(void)
+{
+ char *llwidthArgs[] = { "l64", "l", "L", "q", "ll", NULL };
+ char *s = malloc(128);
+ char **currentArg = NULL;
+ LL_TYPE x = (LL_TYPE)1048576 * (LL_TYPE)1048576;
+ for (currentArg = llwidthArgs; *currentArg != NULL; currentArg++)
+ {
+ char formatString[64];
+ sprintf(formatString, "%%%sd", *currentArg);
+ sprintf(s, formatString, x);
+ if (strcmp(s, "1099511627776") == 0)
+ {
+ printf("PRINTF_LL_WIDTH=[%s]\n", *currentArg);
+ return 0;
+ }
+ }
+ return 1;
+}
+
+#endif /* PRINTF_LL_WIDTH */
+
+#ifdef SYSTEM_SCOPE_THREADS
+#include <stdlib.h>
+#include <pthread.h>
+
+int main(void)
+{
+ pthread_attr_t attribute;
+ int ret;
+
+ pthread_attr_init(&attribute);
+ ret=pthread_attr_setscope(&attribute, PTHREAD_SCOPE_SYSTEM);
+ if (ret==0)
+ return 0;
+ return 1;
+}
+
+#endif /* SYSTEM_SCOPE_THREADS */
+
+#ifdef HAVE_SOCKLEN_T
+
+#include <stdio.h>
+#include <stdlib.h>
+#ifdef HAVE_UNISTD_H
+#include <unistd.h>
+#endif
+#ifdef HAVE_SYS_TYPES_H
+#include <sys/types.h>
+#endif
+#ifdef HAVE_SYS_SOCKET_H
+#include <sys/socket.h>
+#endif
+
+SIMPLE_TEST(socklen_t foo);
+
+#endif /* HAVE_SOCKLEN_T */
+
+#ifdef DEV_T_IS_SCALAR
+
+#ifdef HAVE_SYS_TYPES_H
+#include <sys/types.h>
+#endif
+
+int main ()
+{
+ dev_t d1, d2;
+ if(d1==d2)
+ return 0;
+ return 1;
+}
+
+#endif /* DEV_T_IS_SCALAR */
+
+#ifdef HAVE_OFF64_T
+#include <sys/types.h>
+int main()
+{
+ off64_t n = 0;
+ return (int)n;
+}
+#endif
+
+#ifdef HAVE_STAT64_STRUCT
+#include <sys/types.h>
+#include <sys/stat.h>],
+struct stat64 sb;
+int main()
+{
+ return 0;
+}
+#endif
+
+#ifdef TEST_DIRECT_VFD_WORKS
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <fcntl.h>
+int main(void)
+{
+ int fid;
+ if((fid=open("tst_file", O_CREAT | O_TRUNC | O_DIRECT, 0755))<0)
+ return 1;
+ close(fid);
+ remove("tst_file");
+ return 0;
+}
+#endif
+
+#ifdef HAVE_DIRECT
+ SIMPLE_TEST(posix_memalign());
+#endif
+
+#ifdef HAVE_DEFAULT_SOURCE
+/* check default source */
+#include <features.h>
+
+int
+main(void)
+{
+#ifdef __GLIBC_PREREQ
+ return __GLIBC_PREREQ(2,19);
+#else
+ return 0;
+#endif /* defined(__GLIBC_PREREQ) */
+}
+#endif
+
+#ifdef TEST_LFS_WORKS
+/* Return 0 when LFS is available and 1 otherwise. */
+#define _LARGEFILE_SOURCE
+#define _LARGEFILE64_SOURCE
+#define _LARGE_FILES
+#define _FILE_OFFSET_BITS 64
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <assert.h>
+#include <stdio.h>
+
+int main(int argc, char **argv)
+{
+ /* check that off_t can hold 2^63 - 1 and perform basic operations... */
+#define OFF_T_64 (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
+ if (OFF_T_64 % 2147483647 != 1)
+ return 1;
+
+ /* stat breaks on SCO OpenServer */
+ struct stat buf;
+ stat( argv[0], &buf );
+ if (!S_ISREG(buf.st_mode))
+ return 2;
+
+ FILE *file = fopen( argv[0], "r" );
+ off_t offset = ftello( file );
+ fseek( file, offset, SEEK_CUR );
+ fclose( file );
+ return 0;
+}
+#endif
+
+#ifdef GETTIMEOFDAY_GIVES_TZ
+#include <time.h>
+#ifdef HAVE_SYS_TIME_H
+#include <sys/time.h>
+#endif
+int main(void)
+{
+ struct timeval tv;
+ struct timezone tz;
+ tz.tz_minuteswest = 7777; /* Initialize to an unreasonable number */
+ tz.tz_dsttime = 7;
+ gettimeofday(&tv, &tz);
+ /* Check whether the function returned any value at all */
+ if(tz.tz_minuteswest == 7777 && tz.tz_dsttime == 7)
+ return 1;
+ else return 0;
+}
+#endif
+
+#ifdef CXX_HAVE_OFFSETOF
+
+#include <stdio.h>
+#include <stddef.h>
+
+#ifdef FC_DUMMY_MAIN
+#ifndef FC_DUMMY_MAIN_EQ_F77
+# ifdef __cplusplus
+extern "C"
+# endif
+int FC_DUMMY_MAIN()
+{ return 1;}
+#endif
+#endif
+int
+main ()
+{
+
+ struct index_st
+ {
+ unsigned char type;
+ unsigned char num;
+ unsigned int len;
+ };
+ typedef struct index_st index_t;
+ int x,y;
+ x = offsetof(struct index_st, len);
+ y = offsetof(index_t, num)
+
+ ;
+ return 0;
+}
+
+#endif
+
+#ifdef HAVE_IOEO
+
+#include <windows.h>
+typedef void (WINAPI *PGNSI)(LPSYSTEM_INFO);
+int main ()
+{
+ PGNSI pGNSI;
+ pGNSI = (PGNSI) GetProcAddress(
+ GetModuleHandle(TEXT("kernel32.dll")),
+ "InitOnceExecuteOnce");
+ if(NULL == pGNSI)
+ return 1;
+ else
+ return 0;
+}
+
+#endif /* HAVE_IOEO */
+
+#ifdef HAVE_STRUCT_VIDEOCONFIG
+
+SIMPLE_TEST(struct videoconfig w; w.numtextcols=0);
+
+#endif /* HAVE_TM_GMTOFF */
+
+#ifdef HAVE_STRUCT_TEXT_INFO
+
+SIMPLE_TEST(struct text_info w; w.screenwidth=0);
+
+#endif /* HAVE_TM_GMTOFF */
+
+
+#if defined( INLINE_TEST_inline ) || defined( INLINE_TEST___inline__ ) || defined( INLINE_TEST___inline )
+#ifndef __cplusplus
+typedef int foo_t;
+static INLINE_TEST_INLINE foo_t static_foo () { return 0; }
+INLINE_TEST_INLINE foo_t foo () {return 0; }
+int main() { return 0; }
+#endif
+
+#endif /* INLINE_TEST */
diff --git a/config/cmake_ext_mod/HDFUseFortran.cmake b/config/cmake_ext_mod/HDFUseFortran.cmake
new file mode 100644
index 0000000..c1df8cf
--- /dev/null
+++ b/config/cmake_ext_mod/HDFUseFortran.cmake
@@ -0,0 +1,180 @@
+#
+# This file provides functions for Fortran support.
+#
+#-------------------------------------------------------------------------------
+ENABLE_LANGUAGE (Fortran)
+
+#-----------------------------------------------------------------------------
+# Detect name mangling convention used between Fortran and C
+#-----------------------------------------------------------------------------
+include (FortranCInterface)
+FortranCInterface_HEADER (
+ ${CMAKE_BINARY_DIR}/FCMangle.h
+ MACRO_NAMESPACE "H5_FC_"
+ SYMBOL_NAMESPACE "H5_FC_"
+ SYMBOLS mysub mymod:my_sub
+)
+
+file (STRINGS ${CMAKE_BINARY_DIR}/FCMangle.h CONTENTS REGEX "H5_FC_GLOBAL\\(.*,.*\\) +(.*)")
+string (REGEX MATCH "H5_FC_GLOBAL\\(.*,.*\\) +(.*)" RESULT ${CONTENTS})
+set (H5_FC_FUNC "H5_FC_FUNC(name,NAME) ${CMAKE_MATCH_1}")
+
+file (STRINGS ${CMAKE_BINARY_DIR}/FCMangle.h CONTENTS REGEX "H5_FC_GLOBAL_\\(.*,.*\\) +(.*)")
+string (REGEX MATCH "H5_FC_GLOBAL_\\(.*,.*\\) +(.*)" RESULT ${CONTENTS})
+set (H5_FC_FUNC_ "H5_FC_FUNC_(name,NAME) ${CMAKE_MATCH_1}")
+
+#-----------------------------------------------------------------------------
+# The provided CMake Fortran macros don't provide a general check function
+# so this one is used for a sizeof test.
+#-----------------------------------------------------------------------------
+MACRO (CHECK_FORTRAN_FEATURE FUNCTION CODE VARIABLE)
+ message (STATUS "Testing Fortran ${FUNCTION}")
+ if (CMAKE_REQUIRED_LIBRARIES)
+ set (CHECK_FUNCTION_EXISTS_ADD_LIBRARIES
+ "-DLINK_LIBRARIES:STRING=${CMAKE_REQUIRED_LIBRARIES}")
+ else (CMAKE_REQUIRED_LIBRARIES)
+ set (CHECK_FUNCTION_EXISTS_ADD_LIBRARIES)
+ endif (CMAKE_REQUIRED_LIBRARIES)
+ file (WRITE
+ ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/testFortranCompiler.f90
+ "${CODE}"
+ )
+ TRY_COMPILE (RESULT_VAR
+ ${CMAKE_BINARY_DIR}
+ ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/testFortranCompiler.f90
+ CMAKE_FLAGS "${CHECK_FUNCTION_EXISTS_ADD_LIBRARIES}"
+ OUTPUT_VARIABLE OUTPUT
+ )
+
+# message ( "* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ")
+# message ( "Test result ${OUTPUT}")
+# message ( "* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ")
+
+ if (${RESULT_VAR})
+ set (${VARIABLE} 1 CACHE INTERNAL "Have Fortran function ${FUNCTION}")
+ message (STATUS "Testing Fortran ${FUNCTION} - OK")
+ file (APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
+ "Determining if the Fortran ${FUNCTION} exists passed with the following output:\n"
+ "${OUTPUT}\n\n"
+ )
+ else ()
+ message (STATUS "Testing Fortran ${FUNCTION} - Fail")
+ set (${VARIABLE} 0 CACHE INTERNAL "Have Fortran function ${FUNCTION}")
+ file (APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
+ "Determining if the Fortran ${FUNCTION} exists failed with the following output:\n"
+ "${OUTPUT}\n\n")
+ endif ()
+
+ENDMACRO (CHECK_FORTRAN_FEATURE)
+
+#-----------------------------------------------------------------------------
+# Configure Checks which require Fortran compilation must go in here
+# not in the main ConfigureChecks.cmake files, because if the user has
+# no Fortran compiler, problems arise.
+#
+# Be careful with leading spaces here, do not remove them.
+#-----------------------------------------------------------------------------
+
+# Check for Non-standard extension intrinsic function SIZEOF
+set(FORTRAN_HAVE_SIZEOF FALSE)
+CHECK_FORTRAN_FEATURE(sizeof
+ "
+ PROGRAM main
+ i = sizeof(x)
+ END PROGRAM
+ "
+ FORTRAN_HAVE_SIZEOF
+)
+
+# Check for F2008 standard intrinsic function C_SIZEOF
+set(FORTRAN_HAVE_C_SIZEOF FALSE)
+CHECK_FORTRAN_FEATURE(c_sizeof
+ "
+ PROGRAM main
+ USE ISO_C_BINDING
+ INTEGER(C_INT) :: a
+ INTEGER(C_SIZE_T) :: result
+ result = c_sizeof(a)
+ END PROGRAM
+ "
+ FORTRAN_HAVE_C_SIZEOF
+)
+
+# Check for F2008 standard intrinsic function STORAGE_SIZE
+CHECK_FORTRAN_FEATURE(storage_size
+ "
+ PROGRAM main
+ INTEGER :: a
+ INTEGER :: result
+ result = storage_size(a)
+ END PROGRAM
+ "
+ FORTRAN_HAVE_STORAGE_SIZE
+)
+
+# Check for F2008 standard intrinsic module "ISO_FORTRAN_ENV"
+set(HAVE_ISO_FORTRAN_ENV FALSE)
+CHECK_FORTRAN_FEATURE(ISO_FORTRAN_ENV
+ "
+ PROGRAM main
+ USE, INTRINSIC :: ISO_FORTRAN_ENV
+ END PROGRAM
+ "
+ HAVE_ISO_FORTRAN_ENV
+)
+
+set(FORTRAN_DEFAULT_REAL_NOT_DOUBLE FALSE)
+CHECK_FORTRAN_FEATURE(RealIsNotDouble
+ "
+ MODULE type_mod
+ INTERFACE h5t
+ MODULE PROCEDURE h5t_real
+ MODULE PROCEDURE h5t_dble
+ END INTERFACE
+ CONTAINS
+ SUBROUTINE h5t_real(r)
+ REAL :: r
+ END SUBROUTINE h5t_real
+ SUBROUTINE h5t_dble(d)
+ DOUBLE PRECISION :: d
+ END SUBROUTINE h5t_dble
+ END MODULE type_mod
+ PROGRAM main
+ USE type_mod
+ REAL :: r
+ DOUBLE PRECISION :: d
+ CALL h5t(r)
+ CALL h5t(d)
+ END PROGRAM main
+ "
+ FORTRAN_DEFAULT_REAL_NOT_DOUBLE
+)
+
+#-----------------------------------------------------------------------------
+# Checks if the ISO_C_BINDING module meets all the requirements
+#-----------------------------------------------------------------------------
+set(FORTRAN_HAVE_ISO_C_BINDING FALSE)
+CHECK_FORTRAN_FEATURE(iso_c_binding
+ "
+ PROGRAM main
+ USE iso_c_binding
+ IMPLICIT NONE
+ TYPE(C_PTR) :: ptr
+ TYPE(C_FUNPTR) :: funptr
+ INTEGER(C_INT64_T) :: c_int64_type
+ CHARACTER(LEN=80, KIND=c_char), TARGET :: ichr
+ ptr = C_LOC(ichr(1:1))
+ END PROGRAM
+ "
+ FORTRAN_HAVE_ISO_C_BINDING
+)
+
+#-----------------------------------------------------------------------------
+# Add debug information (intel Fortran : JB)
+#-----------------------------------------------------------------------------
+if (CMAKE_Fortran_COMPILER MATCHES ifort)
+ if (WIN32)
+ set (CMAKE_Fortran_FLAGS_DEBUG "/debug:full /dbglibs " CACHE "flags" STRING FORCE)
+ set (CMAKE_EXE_LINKER_FLAGS_DEBUG "/DEBUG" CACHE "flags" STRING FORCE)
+ endif (WIN32)
+endif (CMAKE_Fortran_COMPILER MATCHES ifort)
diff --git a/config/cmake_ext_mod/NSIS.InstallOptions.ini.in b/config/cmake_ext_mod/NSIS.InstallOptions.ini.in
new file mode 100644
index 0000000..9954f28
--- /dev/null
+++ b/config/cmake_ext_mod/NSIS.InstallOptions.ini.in
@@ -0,0 +1,37 @@
+[Settings]
+NumFields=5
+
+[Field 1]
+Type=label
+Text=By default the @CPACK_PACKAGE_NAME@ bin directory is added to the system PATH. This allows shared library (dll) discovery (if installed) and running HDF5 tools from the command line.
+Left=0
+Right=-1
+Top=0
+Bottom=20
+
+[Field 2]
+Type=radiobutton
+Text=Do not add @CPACK_PACKAGE_NAME@ to the system PATH
+Left=0
+Right=-1
+Top=30
+Bottom=40
+State=0
+
+[Field 3]
+Type=radiobutton
+Text=Add @CPACK_PACKAGE_NAME@ to the system PATH for all users
+Left=0
+Right=-1
+Top=40
+Bottom=50
+State=1
+
+[Field 4]
+Type=radiobutton
+Text=Add @CPACK_PACKAGE_NAME@ to the system PATH for current user
+Left=0
+Right=-1
+Top=50
+Bottom=60
+State=0
diff --git a/config/cmake_ext_mod/NSIS.template.in b/config/cmake_ext_mod/NSIS.template.in
new file mode 100644
index 0000000..ecced05
--- /dev/null
+++ b/config/cmake_ext_mod/NSIS.template.in
@@ -0,0 +1,974 @@
+; CPack install script designed for a nmake build
+
+;--------------------------------
+; You must define these values
+
+ !define VERSION "@CPACK_PACKAGE_VERSION@"
+ !define PATCH "@CPACK_PACKAGE_VERSION_PATCH@"
+ !define INST_DIR "@CPACK_TEMPORARY_DIRECTORY@"
+
+;--------------------------------
+;Variables
+
+ Var MUI_TEMP
+ Var STARTMENU_FOLDER
+ Var SV_ALLUSERS
+ Var START_MENU
+ Var DO_NOT_ADD_TO_PATH
+ Var ADD_TO_PATH_ALL_USERS
+ Var ADD_TO_PATH_CURRENT_USER
+ Var INSTALL_DESKTOP
+ Var IS_DEFAULT_INSTALLDIR
+;--------------------------------
+;Include Modern UI
+
+ !include "MUI.nsh"
+
+ ;Default installation folder
+ InstallDir "@CPACK_NSIS_INSTALL_ROOT@\@CPACK_PACKAGE_INSTALL_DIRECTORY@"
+
+;--------------------------------
+;General
+
+ ;Name and file
+ Name "@CPACK_NSIS_PACKAGE_NAME@"
+ OutFile "@CPACK_TOPLEVEL_DIRECTORY@/@CPACK_OUTPUT_FILE_NAME@"
+
+ ;Set compression
+ SetCompressor @CPACK_NSIS_COMPRESSOR@
+
+@CPACK_NSIS_DEFINES@
+
+ !include Sections.nsh
+
+;--- Component support macros: ---
+; The code for the add/remove functionality is from:
+; http://nsis.sourceforge.net/Add/Remove_Functionality
+; It has been modified slightly and extended to provide
+; inter-component dependencies.
+Var AR_SecFlags
+Var AR_RegFlags
+@CPACK_NSIS_SECTION_SELECTED_VARS@
+
+; Loads the "selected" flag for the section named SecName into the
+; variable VarName.
+!macro LoadSectionSelectedIntoVar SecName VarName
+ SectionGetFlags ${${SecName}} $${VarName}
+ IntOp $${VarName} $${VarName} & ${SF_SELECTED} ;Turn off all other bits
+!macroend
+
+; Loads the value of a variable... can we get around this?
+!macro LoadVar VarName
+ IntOp $R0 0 + $${VarName}
+!macroend
+
+; Sets the value of a variable
+!macro StoreVar VarName IntValue
+ IntOp $${VarName} 0 + ${IntValue}
+!macroend
+
+!macro InitSection SecName
+ ; This macro reads component installed flag from the registry and
+ ;changes checked state of the section on the components page.
+ ;Input: section index constant name specified in Section command.
+
+ ClearErrors
+ ;Reading component status from registry
+ ReadRegDWORD $AR_RegFlags HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\@CPACK_PACKAGE_INSTALL_REGISTRY_KEY@\Components\${SecName}" "Installed"
+ IfErrors "default_${SecName}"
+ ;Status will stay default if registry value not found
+ ;(component was never installed)
+ IntOp $AR_RegFlags $AR_RegFlags & ${SF_SELECTED} ;Turn off all other bits
+ SectionGetFlags ${${SecName}} $AR_SecFlags ;Reading default section flags
+ IntOp $AR_SecFlags $AR_SecFlags & 0xFFFE ;Turn lowest (enabled) bit off
+ IntOp $AR_SecFlags $AR_RegFlags | $AR_SecFlags ;Change lowest bit
+
+ ; Note whether this component was installed before
+ !insertmacro StoreVar ${SecName}_was_installed $AR_RegFlags
+ IntOp $R0 $AR_RegFlags & $AR_RegFlags
+
+ ;Writing modified flags
+ SectionSetFlags ${${SecName}} $AR_SecFlags
+
+ "default_${SecName}:"
+ !insertmacro LoadSectionSelectedIntoVar ${SecName} ${SecName}_selected
+!macroend
+
+!macro FinishSection SecName
+ ; This macro reads section flag set by user and removes the section
+ ;if it is not selected.
+ ;Then it writes component installed flag to registry
+ ;Input: section index constant name specified in Section command.
+
+ SectionGetFlags ${${SecName}} $AR_SecFlags ;Reading section flags
+ ;Checking lowest bit:
+ IntOp $AR_SecFlags $AR_SecFlags & ${SF_SELECTED}
+ IntCmp $AR_SecFlags 1 "leave_${SecName}"
+ ;Section is not selected:
+ ;Calling Section uninstall macro and writing zero installed flag
+ !insertmacro "Remove_${${SecName}}"
+ WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\@CPACK_PACKAGE_INSTALL_REGISTRY_KEY@\Components\${SecName}" \
+ "Installed" 0
+ Goto "exit_${SecName}"
+
+ "leave_${SecName}:"
+ ;Section is selected:
+ WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\@CPACK_PACKAGE_INSTALL_REGISTRY_KEY@\Components\${SecName}" \
+ "Installed" 1
+
+ "exit_${SecName}:"
+!macroend
+
+!macro RemoveSection_CPack SecName
+ ; This macro is used to call section's Remove_... macro
+ ;from the uninstaller.
+ ;Input: section index constant name specified in Section command.
+
+ !insertmacro "Remove_${${SecName}}"
+!macroend
+
+; Determine whether the selection of SecName changed
+!macro MaybeSelectionChanged SecName
+ !insertmacro LoadVar ${SecName}_selected
+ SectionGetFlags ${${SecName}} $R1
+ IntOp $R1 $R1 & ${SF_SELECTED} ;Turn off all other bits
+
+ ; See if the status has changed:
+ IntCmp $R0 $R1 "${SecName}_unchanged"
+ !insertmacro LoadSectionSelectedIntoVar ${SecName} ${SecName}_selected
+
+ IntCmp $R1 ${SF_SELECTED} "${SecName}_was_selected"
+ !insertmacro "Deselect_required_by_${SecName}"
+ goto "${SecName}_unchanged"
+
+ "${SecName}_was_selected:"
+ !insertmacro "Select_${SecName}_depends"
+
+ "${SecName}_unchanged:"
+!macroend
+;--- End of Add/Remove macros ---
+
+;--------------------------------
+;Interface Settings
+
+ !define MUI_HEADERIMAGE
+ !define MUI_ABORTWARNING
+
+;--------------------------------
+; path functions
+
+!verbose 3
+!include "WinMessages.NSH"
+!verbose 4
+
+;----------------------------------------
+; based upon a script of "Written by KiCHiK 2003-01-18 05:57:02"
+;----------------------------------------
+!verbose 3
+!include "WinMessages.NSH"
+!verbose 4
+;====================================================
+; get_NT_environment
+; Returns: the selected environment
+; Output : head of the stack
+;====================================================
+!macro select_NT_profile UN
+Function ${UN}select_NT_profile
+ StrCmp $ADD_TO_PATH_ALL_USERS "1" 0 environment_single
+ DetailPrint "Selected environment for all users"
+ Push "all"
+ Return
+ environment_single:
+ DetailPrint "Selected environment for current user only."
+ Push "current"
+ Return
+FunctionEnd
+!macroend
+!insertmacro select_NT_profile ""
+!insertmacro select_NT_profile "un."
+;----------------------------------------------------
+!define NT_current_env 'HKCU "Environment"'
+!define NT_all_env 'HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment"'
+
+!ifndef WriteEnvStr_RegKey
+ !ifdef ALL_USERS
+ !define WriteEnvStr_RegKey \
+ 'HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment"'
+ !else
+ !define WriteEnvStr_RegKey 'HKCU "Environment"'
+ !endif
+!endif
+
+; AddToPath - Adds the given dir to the search path.
+; Input - head of the stack
+; Note - Win9x systems requires reboot
+
+Function AddToPath
+ Exch $0
+ Push $1
+ Push $2
+ Push $3
+
+ # don't add if the path doesn't exist
+ IfFileExists "$0\*.*" "" AddToPath_done
+
+ ReadEnvStr $1 PATH
+ ; if the path is too long for a NSIS variable NSIS will return a 0
+ ; length string. If we find that, then warn and skip any path
+ ; modification as it will trash the existing path.
+ StrLen $2 $1
+ IntCmp $2 0 CheckPathLength_ShowPathWarning CheckPathLength_Done CheckPathLength_Done
+ CheckPathLength_ShowPathWarning:
+ Messagebox MB_OK|MB_ICONEXCLAMATION "Warning! PATH too long installer unable to modify PATH!"
+ Goto AddToPath_done
+ CheckPathLength_Done:
+ Push "$1;"
+ Push "$0;"
+ Call StrStr
+ Pop $2
+ StrCmp $2 "" "" AddToPath_done
+ Push "$1;"
+ Push "$0\;"
+ Call StrStr
+ Pop $2
+ StrCmp $2 "" "" AddToPath_done
+ GetFullPathName /SHORT $3 $0
+ Push "$1;"
+ Push "$3;"
+ Call StrStr
+ Pop $2
+ StrCmp $2 "" "" AddToPath_done
+ Push "$1;"
+ Push "$3\;"
+ Call StrStr
+ Pop $2
+ StrCmp $2 "" "" AddToPath_done
+
+ Call IsNT
+ Pop $1
+ StrCmp $1 1 AddToPath_NT
+ ; Not on NT
+ StrCpy $1 $WINDIR 2
+ FileOpen $1 "$1\autoexec.bat" a
+ FileSeek $1 -1 END
+ FileReadByte $1 $2
+ IntCmp $2 26 0 +2 +2 # DOS EOF
+ FileSeek $1 -1 END # write over EOF
+ FileWrite $1 "$\r$\nSET PATH=%PATH%;$3$\r$\n"
+ FileClose $1
+ SetRebootFlag true
+ Goto AddToPath_done
+
+ AddToPath_NT:
+ StrCmp $ADD_TO_PATH_ALL_USERS "1" ReadAllKey
+ ReadRegStr $1 ${NT_current_env} "PATH"
+ Goto DoTrim
+ ReadAllKey:
+ ReadRegStr $1 ${NT_all_env} "PATH"
+ DoTrim:
+ StrCmp $1 "" AddToPath_NTdoIt
+ Push $1
+ Call Trim
+ Pop $1
+ StrCpy $0 "$1;$0"
+ AddToPath_NTdoIt:
+ StrCmp $ADD_TO_PATH_ALL_USERS "1" WriteAllKey
+ WriteRegExpandStr ${NT_current_env} "PATH" $0
+ Goto DoSend
+ WriteAllKey:
+ WriteRegExpandStr ${NT_all_env} "PATH" $0
+ DoSend:
+ SendMessage ${HWND_BROADCAST} ${WM_WININICHANGE} 0 "STR:Environment" /TIMEOUT=5000
+
+ AddToPath_done:
+ Pop $3
+ Pop $2
+ Pop $1
+ Pop $0
+FunctionEnd
+
+
+; RemoveFromPath - Remove a given dir from the path
+; Input: head of the stack
+
+Function un.RemoveFromPath
+ Exch $0
+ Push $1
+ Push $2
+ Push $3
+ Push $4
+ Push $5
+ Push $6
+
+ IntFmt $6 "%c" 26 # DOS EOF
+
+ Call un.IsNT
+ Pop $1
+ StrCmp $1 1 unRemoveFromPath_NT
+ ; Not on NT
+ StrCpy $1 $WINDIR 2
+ FileOpen $1 "$1\autoexec.bat" r
+ GetTempFileName $4
+ FileOpen $2 $4 w
+ GetFullPathName /SHORT $0 $0
+ StrCpy $0 "SET PATH=%PATH%;$0"
+ Goto unRemoveFromPath_dosLoop
+
+ unRemoveFromPath_dosLoop:
+ FileRead $1 $3
+ StrCpy $5 $3 1 -1 # read last char
+ StrCmp $5 $6 0 +2 # if DOS EOF
+ StrCpy $3 $3 -1 # remove DOS EOF so we can compare
+ StrCmp $3 "$0$\r$\n" unRemoveFromPath_dosLoopRemoveLine
+ StrCmp $3 "$0$\n" unRemoveFromPath_dosLoopRemoveLine
+ StrCmp $3 "$0" unRemoveFromPath_dosLoopRemoveLine
+ StrCmp $3 "" unRemoveFromPath_dosLoopEnd
+ FileWrite $2 $3
+ Goto unRemoveFromPath_dosLoop
+ unRemoveFromPath_dosLoopRemoveLine:
+ SetRebootFlag true
+ Goto unRemoveFromPath_dosLoop
+
+ unRemoveFromPath_dosLoopEnd:
+ FileClose $2
+ FileClose $1
+ StrCpy $1 $WINDIR 2
+ Delete "$1\autoexec.bat"
+ CopyFiles /SILENT $4 "$1\autoexec.bat"
+ Delete $4
+ Goto unRemoveFromPath_done
+
+ unRemoveFromPath_NT:
+ StrCmp $ADD_TO_PATH_ALL_USERS "1" unReadAllKey
+ ReadRegStr $1 ${NT_current_env} "PATH"
+ Goto unDoTrim
+ unReadAllKey:
+ ReadRegStr $1 ${NT_all_env} "PATH"
+ unDoTrim:
+ StrCpy $5 $1 1 -1 # copy last char
+ StrCmp $5 ";" +2 # if last char != ;
+ StrCpy $1 "$1;" # append ;
+ Push $1
+ Push "$0;"
+ Call un.StrStr ; Find `$0;` in $1
+ Pop $2 ; pos of our dir
+ StrCmp $2 "" unRemoveFromPath_done
+ ; else, it is in path
+ # $0 - path to add
+ # $1 - path var
+ StrLen $3 "$0;"
+ StrLen $4 $2
+ StrCpy $5 $1 -$4 # $5 is now the part before the path to remove
+ StrCpy $6 $2 "" $3 # $6 is now the part after the path to remove
+ StrCpy $3 $5$6
+
+ StrCpy $5 $3 1 -1 # copy last char
+ StrCmp $5 ";" 0 +2 # if last char == ;
+ StrCpy $3 $3 -1 # remove last char
+
+ StrCmp $ADD_TO_PATH_ALL_USERS "1" unWriteAllKey
+ WriteRegExpandStr ${NT_current_env} "PATH" $3
+ Goto unDoSend
+ unWriteAllKey:
+ WriteRegExpandStr ${NT_all_env} "PATH" $3
+ unDoSend:
+ SendMessage ${HWND_BROADCAST} ${WM_WININICHANGE} 0 "STR:Environment" /TIMEOUT=5000
+
+ unRemoveFromPath_done:
+ Pop $6
+ Pop $5
+ Pop $4
+ Pop $3
+ Pop $2
+ Pop $1
+ Pop $0
+FunctionEnd
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+; Uninstall sutff
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+
+###########################################
+# Utility Functions #
+###########################################
+
+;====================================================
+; IsNT - Returns 1 if the current system is NT, 0
+; otherwise.
+; Output: head of the stack
+;====================================================
+; IsNT
+; no input
+; output, top of the stack = 1 if NT or 0 if not
+;
+; Usage:
+; Call IsNT
+; Pop $R0
+; ($R0 at this point is 1 or 0)
+
+!macro IsNT un
+Function ${un}IsNT
+ Push $0
+ ReadRegStr $0 HKLM "SOFTWARE\Microsoft\Windows NT\CurrentVersion" CurrentVersion
+ StrCmp $0 "" 0 IsNT_yes
+ ; we are not NT.
+ Pop $0
+ Push 0
+ Return
+
+ IsNT_yes:
+ ; NT!!!
+ Pop $0
+ Push 1
+FunctionEnd
+!macroend
+!insertmacro IsNT ""
+!insertmacro IsNT "un."
+
+; StrStr
+; input, top of stack = string to search for
+; top of stack-1 = string to search in
+; output, top of stack (replaces with the portion of the string remaining)
+; modifies no other variables.
+;
+; Usage:
+; Push "this is a long ass string"
+; Push "ass"
+; Call StrStr
+; Pop $R0
+; ($R0 at this point is "ass string")
+
+!macro StrStr un
+Function ${un}StrStr
+Exch $R1 ; st=haystack,old$R1, $R1=needle
+ Exch ; st=old$R1,haystack
+ Exch $R2 ; st=old$R1,old$R2, $R2=haystack
+ Push $R3
+ Push $R4
+ Push $R5
+ StrLen $R3 $R1
+ StrCpy $R4 0
+ ; $R1=needle
+ ; $R2=haystack
+ ; $R3=len(needle)
+ ; $R4=cnt
+ ; $R5=tmp
+ loop:
+ StrCpy $R5 $R2 $R3 $R4
+ StrCmp $R5 $R1 done
+ StrCmp $R5 "" done
+ IntOp $R4 $R4 + 1
+ Goto loop
+done:
+ StrCpy $R1 $R2 "" $R4
+ Pop $R5
+ Pop $R4
+ Pop $R3
+ Pop $R2
+ Exch $R1
+FunctionEnd
+!macroend
+!insertmacro StrStr ""
+!insertmacro StrStr "un."
+
+Function Trim ; Added by Pelaca
+ Exch $R1
+ Push $R2
+Loop:
+ StrCpy $R2 "$R1" 1 -1
+ StrCmp "$R2" " " RTrim
+ StrCmp "$R2" "$\n" RTrim
+ StrCmp "$R2" "$\r" RTrim
+ StrCmp "$R2" ";" RTrim
+ GoTo Done
+RTrim:
+ StrCpy $R1 "$R1" -1
+ Goto Loop
+Done:
+ Pop $R2
+ Exch $R1
+FunctionEnd
+
+Function ConditionalAddToRegisty
+ Pop $0
+ Pop $1
+ StrCmp "$0" "" ConditionalAddToRegisty_EmptyString
+ WriteRegStr SHCTX "Software\Microsoft\Windows\CurrentVersion\Uninstall\@CPACK_PACKAGE_INSTALL_REGISTRY_KEY@" \
+ "$1" "$0"
+ ;MessageBox MB_OK "Set Registry: '$1' to '$0'"
+ DetailPrint "Set install registry entry: '$1' to '$0'"
+ ConditionalAddToRegisty_EmptyString:
+FunctionEnd
+
+;--------------------------------
+
+!ifdef CPACK_USES_DOWNLOAD
+Function DownloadFile
+ IfFileExists $INSTDIR\* +2
+ CreateDirectory $INSTDIR
+ Pop $0
+
+ ; Skip if already downloaded
+ IfFileExists $INSTDIR\$0 0 +2
+ Return
+
+ StrCpy $1 "@CPACK_DOWNLOAD_SITE@"
+
+ try_again:
+ NSISdl::download "$1/$0" "$INSTDIR\$0"
+
+ Pop $1
+ StrCmp $1 "success" success
+ StrCmp $1 "Cancelled" cancel
+ MessageBox MB_OK "Download failed: $1"
+ cancel:
+ Return
+ success:
+FunctionEnd
+!endif
+
+;--------------------------------
+; Installation types
+@CPACK_NSIS_INSTALLATION_TYPES@
+
+;--------------------------------
+; Component sections
+@CPACK_NSIS_COMPONENT_SECTIONS@
+
+;--------------------------------
+; Define some macro setting for the gui
+@CPACK_NSIS_INSTALLER_MUI_ICON_CODE@
+@CPACK_NSIS_INSTALLER_ICON_CODE@
+@CPACK_NSIS_INSTALLER_MUI_COMPONENTS_DESC@
+@CPACK_NSIS_INSTALLER_MUI_FINISHPAGE_RUN_CODE@
+
+;--------------------------------
+;Pages
+ !insertmacro MUI_PAGE_WELCOME
+
+ !insertmacro MUI_PAGE_LICENSE "@CPACK_RESOURCE_FILE_LICENSE@"
+ Page custom InstallOptionsPage
+ !insertmacro MUI_PAGE_DIRECTORY
+
+ ;Start Menu Folder Page Configuration
+ !define MUI_STARTMENUPAGE_REGISTRY_ROOT "SHCTX"
+ !define MUI_STARTMENUPAGE_REGISTRY_KEY "Software\@CPACK_PACKAGE_VENDOR@\@CPACK_PACKAGE_INSTALL_REGISTRY_KEY@"
+ !define MUI_STARTMENUPAGE_REGISTRY_VALUENAME "Start Menu Folder"
+ !insertmacro MUI_PAGE_STARTMENU Application $STARTMENU_FOLDER
+
+ @CPACK_NSIS_PAGE_COMPONENTS@
+
+ !insertmacro MUI_PAGE_INSTFILES
+ !insertmacro MUI_PAGE_FINISH
+
+ !insertmacro MUI_UNPAGE_CONFIRM
+ !insertmacro MUI_UNPAGE_INSTFILES
+
+;--------------------------------
+;Languages
+
+ !insertmacro MUI_LANGUAGE "English" ;first language is the default language
+ !insertmacro MUI_LANGUAGE "Albanian"
+ !insertmacro MUI_LANGUAGE "Arabic"
+ !insertmacro MUI_LANGUAGE "Basque"
+ !insertmacro MUI_LANGUAGE "Belarusian"
+ !insertmacro MUI_LANGUAGE "Bosnian"
+ !insertmacro MUI_LANGUAGE "Breton"
+ !insertmacro MUI_LANGUAGE "Bulgarian"
+ !insertmacro MUI_LANGUAGE "Croatian"
+ !insertmacro MUI_LANGUAGE "Czech"
+ !insertmacro MUI_LANGUAGE "Danish"
+ !insertmacro MUI_LANGUAGE "Dutch"
+ !insertmacro MUI_LANGUAGE "Estonian"
+ !insertmacro MUI_LANGUAGE "Farsi"
+ !insertmacro MUI_LANGUAGE "Finnish"
+ !insertmacro MUI_LANGUAGE "French"
+ !insertmacro MUI_LANGUAGE "German"
+ !insertmacro MUI_LANGUAGE "Greek"
+ !insertmacro MUI_LANGUAGE "Hebrew"
+ !insertmacro MUI_LANGUAGE "Hungarian"
+ !insertmacro MUI_LANGUAGE "Icelandic"
+ !insertmacro MUI_LANGUAGE "Indonesian"
+ !insertmacro MUI_LANGUAGE "Irish"
+ !insertmacro MUI_LANGUAGE "Italian"
+ !insertmacro MUI_LANGUAGE "Japanese"
+ !insertmacro MUI_LANGUAGE "Korean"
+ !insertmacro MUI_LANGUAGE "Kurdish"
+ !insertmacro MUI_LANGUAGE "Latvian"
+ !insertmacro MUI_LANGUAGE "Lithuanian"
+ !insertmacro MUI_LANGUAGE "Luxembourgish"
+ !insertmacro MUI_LANGUAGE "Macedonian"
+ !insertmacro MUI_LANGUAGE "Malay"
+ !insertmacro MUI_LANGUAGE "Mongolian"
+ !insertmacro MUI_LANGUAGE "Norwegian"
+ !insertmacro MUI_LANGUAGE "Polish"
+ !insertmacro MUI_LANGUAGE "Portuguese"
+ !insertmacro MUI_LANGUAGE "PortugueseBR"
+ !insertmacro MUI_LANGUAGE "Romanian"
+ !insertmacro MUI_LANGUAGE "Russian"
+ !insertmacro MUI_LANGUAGE "Serbian"
+ !insertmacro MUI_LANGUAGE "SerbianLatin"
+ !insertmacro MUI_LANGUAGE "SimpChinese"
+ !insertmacro MUI_LANGUAGE "Slovak"
+ !insertmacro MUI_LANGUAGE "Slovenian"
+ !insertmacro MUI_LANGUAGE "Spanish"
+ !insertmacro MUI_LANGUAGE "Swedish"
+ !insertmacro MUI_LANGUAGE "Thai"
+ !insertmacro MUI_LANGUAGE "TradChinese"
+ !insertmacro MUI_LANGUAGE "Turkish"
+ !insertmacro MUI_LANGUAGE "Ukrainian"
+ !insertmacro MUI_LANGUAGE "Welsh"
+
+
+;--------------------------------
+;Reserve Files
+
+ ;These files should be inserted before other files in the data block
+ ;Keep these lines before any File command
+ ;Only for solid compression (by default, solid compression is enabled for BZIP2 and LZMA)
+
+ ReserveFile "NSIS.InstallOptions.ini"
+ !insertmacro MUI_RESERVEFILE_INSTALLOPTIONS
+
+;--------------------------------
+;Installer Sections
+
+Section "-Core installation"
+ ;Use the entire tree produced by the INSTALL target. Keep the
+ ;list of directories here in sync with the RMDir commands below.
+ SetOutPath "$INSTDIR"
+ @CPACK_NSIS_EXTRA_PREINSTALL_COMMANDS@
+ @CPACK_NSIS_FULL_INSTALL@
+
+ ;Store installation folder
+ WriteRegStr SHCTX "Software\@CPACK_PACKAGE_VENDOR@\@CPACK_PACKAGE_INSTALL_REGISTRY_KEY@" "" $INSTDIR
+
+ ;Create uninstaller
+ WriteUninstaller "$INSTDIR\Uninstall.exe"
+ Push "DisplayName"
+ Push "@CPACK_NSIS_DISPLAY_NAME@"
+ Call ConditionalAddToRegisty
+ Push "DisplayVersion"
+ Push "@CPACK_PACKAGE_VERSION@"
+ Call ConditionalAddToRegisty
+ Push "Publisher"
+ Push "@CPACK_PACKAGE_VENDOR@"
+ Call ConditionalAddToRegisty
+ Push "UninstallString"
+ Push "$INSTDIR\Uninstall.exe"
+ Call ConditionalAddToRegisty
+ Push "NoRepair"
+ Push "1"
+ Call ConditionalAddToRegisty
+
+ !ifdef CPACK_NSIS_ADD_REMOVE
+ ;Create add/remove functionality
+ Push "ModifyPath"
+ Push "$INSTDIR\AddRemove.exe"
+ Call ConditionalAddToRegisty
+ !else
+ Push "NoModify"
+ Push "1"
+ Call ConditionalAddToRegisty
+ !endif
+
+ ; Optional registration
+ Push "DisplayIcon"
+ Push "$INSTDIR\@CPACK_NSIS_INSTALLED_ICON_NAME@"
+ Call ConditionalAddToRegisty
+ Push "HelpLink"
+ Push "@CPACK_NSIS_HELP_LINK@"
+ Call ConditionalAddToRegisty
+ Push "URLInfoAbout"
+ Push "@CPACK_NSIS_URL_INFO_ABOUT@"
+ Call ConditionalAddToRegisty
+ Push "Contact"
+ Push "@CPACK_NSIS_CONTACT@"
+ Call ConditionalAddToRegisty
+ !insertmacro MUI_INSTALLOPTIONS_READ $INSTALL_DESKTOP "NSIS.InstallOptions.ini" "Field 5" "State"
+ !insertmacro MUI_STARTMENU_WRITE_BEGIN Application
+
+ ;Create shortcuts
+ CreateDirectory "$SMPROGRAMS\$STARTMENU_FOLDER"
+@CPACK_NSIS_CREATE_ICONS@
+@CPACK_NSIS_CREATE_ICONS_EXTRA@
+ CreateShortCut "$SMPROGRAMS\$STARTMENU_FOLDER\Uninstall.lnk" "$INSTDIR\Uninstall.exe"
+
+ ;Read a value from an InstallOptions INI file
+ !insertmacro MUI_INSTALLOPTIONS_READ $DO_NOT_ADD_TO_PATH "NSIS.InstallOptions.ini" "Field 2" "State"
+ !insertmacro MUI_INSTALLOPTIONS_READ $ADD_TO_PATH_ALL_USERS "NSIS.InstallOptions.ini" "Field 3" "State"
+ !insertmacro MUI_INSTALLOPTIONS_READ $ADD_TO_PATH_CURRENT_USER "NSIS.InstallOptions.ini" "Field 4" "State"
+
+ ; Write special uninstall registry entries
+ Push "StartMenu"
+ Push "$STARTMENU_FOLDER"
+ Call ConditionalAddToRegisty
+ Push "DoNotAddToPath"
+ Push "$DO_NOT_ADD_TO_PATH"
+ Call ConditionalAddToRegisty
+ Push "AddToPathAllUsers"
+ Push "$ADD_TO_PATH_ALL_USERS"
+ Call ConditionalAddToRegisty
+ Push "AddToPathCurrentUser"
+ Push "$ADD_TO_PATH_CURRENT_USER"
+ Call ConditionalAddToRegisty
+ Push "InstallToDesktop"
+ Push "$INSTALL_DESKTOP"
+ Call ConditionalAddToRegisty
+
+ !insertmacro MUI_STARTMENU_WRITE_END
+
+@CPACK_NSIS_EXTRA_INSTALL_COMMANDS@
+
+SectionEnd
+
+Section "-Add to path"
+ Push $INSTDIR\bin
+ StrCmp "@CPACK_NSIS_MODIFY_PATH@" "ON" 0 doNotAddToPath
+ StrCmp $DO_NOT_ADD_TO_PATH "1" doNotAddToPath 0
+ Call AddToPath
+ doNotAddToPath:
+SectionEnd
+
+;--------------------------------
+; Create custom pages
+Function InstallOptionsPage
+ !insertmacro MUI_HEADER_TEXT "Install Options" "Choose options for installing @CPACK_NSIS_PACKAGE_NAME@"
+ !insertmacro MUI_INSTALLOPTIONS_DISPLAY "NSIS.InstallOptions.ini"
+
+FunctionEnd
+
+;--------------------------------
+; determine admin versus local install
+Function un.onInit
+
+ ClearErrors
+ UserInfo::GetName
+ IfErrors noLM
+ Pop $0
+ UserInfo::GetAccountType
+ Pop $1
+ StrCmp $1 "Admin" 0 +3
+ SetShellVarContext all
+ ;MessageBox MB_OK 'User "$0" is in the Admin group'
+ Goto done
+ StrCmp $1 "Power" 0 +3
+ SetShellVarContext all
+ ;MessageBox MB_OK 'User "$0" is in the Power Users group'
+ Goto done
+
+ noLM:
+ ;Get installation folder from registry if available
+
+ done:
+
+FunctionEnd
+
+;--- Add/Remove callback functions: ---
+!macro SectionList MacroName
+ ;This macro used to perform operation on multiple sections.
+ ;List all of your components in following manner here.
+@CPACK_NSIS_COMPONENT_SECTION_LIST@
+!macroend
+
+Section -FinishComponents
+ ;Removes unselected components and writes component status to registry
+ !insertmacro SectionList "FinishSection"
+
+!ifdef CPACK_NSIS_ADD_REMOVE
+ ; Get the name of the installer executable
+ System::Call 'kernel32::GetModuleFileNameA(i 0, t .R0, i 1024) i r1'
+ StrCpy $R3 $R0
+
+ ; Strip off the last 13 characters, to see if we have AddRemove.exe
+ StrLen $R1 $R0
+ IntOp $R1 $R0 - 13
+ StrCpy $R2 $R0 13 $R1
+ StrCmp $R2 "AddRemove.exe" addremove_installed
+
+ ; We're not running AddRemove.exe, so install it
+ CopyFiles $R3 $INSTDIR\AddRemove.exe
+
+ addremove_installed:
+!endif
+SectionEnd
+;--- End of Add/Remove callback functions ---
+
+;--------------------------------
+; Component dependencies
+Function .onSelChange
+ !insertmacro SectionList MaybeSelectionChanged
+FunctionEnd
+
+;--------------------------------
+;Uninstaller Section
+
+Section "Uninstall"
+ ReadRegStr $START_MENU SHCTX \
+ "Software\Microsoft\Windows\CurrentVersion\Uninstall\@CPACK_PACKAGE_INSTALL_REGISTRY_KEY@" "StartMenu"
+ ;MessageBox MB_OK "Start menu is in: $START_MENU"
+ ReadRegStr $DO_NOT_ADD_TO_PATH SHCTX \
+ "Software\Microsoft\Windows\CurrentVersion\Uninstall\@CPACK_PACKAGE_INSTALL_REGISTRY_KEY@" "DoNotAddToPath"
+ ReadRegStr $ADD_TO_PATH_ALL_USERS SHCTX \
+ "Software\Microsoft\Windows\CurrentVersion\Uninstall\@CPACK_PACKAGE_INSTALL_REGISTRY_KEY@" "AddToPathAllUsers"
+ ReadRegStr $ADD_TO_PATH_CURRENT_USER SHCTX \
+ "Software\Microsoft\Windows\CurrentVersion\Uninstall\@CPACK_PACKAGE_INSTALL_REGISTRY_KEY@" "AddToPathCurrentUser"
+ ;MessageBox MB_OK "Add to path: $DO_NOT_ADD_TO_PATH all users: $ADD_TO_PATH_ALL_USERS"
+ ReadRegStr $INSTALL_DESKTOP SHCTX \
+ "Software\Microsoft\Windows\CurrentVersion\Uninstall\@CPACK_PACKAGE_INSTALL_REGISTRY_KEY@" "InstallToDesktop"
+ ;MessageBox MB_OK "Install to desktop: $INSTALL_DESKTOP "
+
+@CPACK_NSIS_EXTRA_UNINSTALL_COMMANDS@
+
+ ;Remove files we installed.
+ ;Keep the list of directories here in sync with the File commands above.
+@CPACK_NSIS_DELETE_FILES@
+@CPACK_NSIS_DELETE_DIRECTORIES@
+
+!ifdef CPACK_NSIS_ADD_REMOVE
+ ;Remove the add/remove program
+ Delete "$INSTDIR\AddRemove.exe"
+!endif
+
+ ;Remove the uninstaller itself.
+ Delete "$INSTDIR\Uninstall.exe"
+ DeleteRegKey SHCTX "Software\Microsoft\Windows\CurrentVersion\Uninstall\@CPACK_PACKAGE_INSTALL_REGISTRY_KEY@"
+
+ ;Remove the installation directory if it is empty.
+ RMDir "$INSTDIR"
+
+ ; Remove the registry entries.
+ DeleteRegKey SHCTX "Software\@CPACK_PACKAGE_VENDOR@\@CPACK_PACKAGE_INSTALL_REGISTRY_KEY@"
+
+ ; Removes all optional components
+ !insertmacro SectionList "RemoveSection_CPack"
+
+ !insertmacro MUI_STARTMENU_GETFOLDER Application $MUI_TEMP
+
+ Delete "$SMPROGRAMS\$MUI_TEMP\Uninstall.lnk"
+@CPACK_NSIS_DELETE_ICONS@
+@CPACK_NSIS_DELETE_ICONS_EXTRA@
+
+ ;Delete empty start menu parent diretories
+ StrCpy $MUI_TEMP "$SMPROGRAMS\$MUI_TEMP"
+
+ startMenuDeleteLoop:
+ ClearErrors
+ RMDir $MUI_TEMP
+ GetFullPathName $MUI_TEMP "$MUI_TEMP\.."
+
+ IfErrors startMenuDeleteLoopDone
+
+ StrCmp "$MUI_TEMP" "$SMPROGRAMS" startMenuDeleteLoopDone startMenuDeleteLoop
+ startMenuDeleteLoopDone:
+
+ ; If the user changed the shortcut, then untinstall may not work. This should
+ ; try to fix it.
+ StrCpy $MUI_TEMP "$START_MENU"
+ Delete "$SMPROGRAMS\$MUI_TEMP\Uninstall.lnk"
+@CPACK_NSIS_DELETE_ICONS_EXTRA@
+
+ ;Delete empty start menu parent diretories
+ StrCpy $MUI_TEMP "$SMPROGRAMS\$MUI_TEMP"
+
+ secondStartMenuDeleteLoop:
+ ClearErrors
+ RMDir $MUI_TEMP
+ GetFullPathName $MUI_TEMP "$MUI_TEMP\.."
+
+ IfErrors secondStartMenuDeleteLoopDone
+
+ StrCmp "$MUI_TEMP" "$SMPROGRAMS" secondStartMenuDeleteLoopDone secondStartMenuDeleteLoop
+ secondStartMenuDeleteLoopDone:
+
+ DeleteRegKey /ifempty SHCTX "Software\@CPACK_PACKAGE_VENDOR@\@CPACK_PACKAGE_INSTALL_REGISTRY_KEY@"
+
+ Push $INSTDIR\bin
+ StrCmp $DO_NOT_ADD_TO_PATH_ "1" doNotRemoveFromPath 0
+ Call un.RemoveFromPath
+ doNotRemoveFromPath:
+SectionEnd
+
+;--------------------------------
+; determine admin versus local install
+; Is install for "AllUsers" or "JustMe"?
+; Default to "JustMe" - set to "AllUsers" if admin or on Win9x
+; This function is used for the very first "custom page" of the installer.
+; This custom page does not show up visibly, but it executes prior to the
+; first visible page and sets up $INSTDIR properly...
+; Choose different default installation folder based on SV_ALLUSERS...
+; "Program Files" for AllUsers, "My Documents" for JustMe...
+
+Function .onInit
+ StrCmp "@CPACK_NSIS_ENABLE_UNINSTALL_BEFORE_INSTALL@" "ON" 0 inst
+
+ ReadRegStr $0 HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\@CPACK_PACKAGE_INSTALL_REGISTRY_KEY@" "UninstallString"
+ StrCmp $0 "" inst
+
+ MessageBox MB_YESNOCANCEL|MB_ICONEXCLAMATION \
+ "@CPACK_NSIS_PACKAGE_NAME@ is already installed. $\n$\nDo you want to uninstall the old version before installing the new one?" \
+ IDYES uninst IDNO inst
+ Abort
+
+;Run the uninstaller
+uninst:
+ ClearErrors
+ StrLen $2 "\Uninstall.exe"
+ StrCpy $3 $0 -$2 # remove "\Uninstall.exe" from UninstallString to get path
+ ExecWait '$0 _?=$3' ;Do not copy the uninstaller to a temp file
+
+ IfErrors uninst_failed inst
+uninst_failed:
+ MessageBox MB_OK|MB_ICONSTOP "Uninstall failed."
+ Abort
+
+
+inst:
+ ; Reads components status for registry
+ !insertmacro SectionList "InitSection"
+
+ ; check to see if /D has been used to change
+ ; the install directory by comparing it to the
+ ; install directory that is expected to be the
+ ; default
+ StrCpy $IS_DEFAULT_INSTALLDIR 0
+ StrCmp "$INSTDIR" "@CPACK_NSIS_INSTALL_ROOT@\@CPACK_PACKAGE_INSTALL_DIRECTORY@" 0 +2
+ StrCpy $IS_DEFAULT_INSTALLDIR 1
+
+ StrCpy $SV_ALLUSERS "JustMe"
+ ; if default install dir then change the default
+ ; if it is installed for JustMe
+ StrCmp "$IS_DEFAULT_INSTALLDIR" "1" 0 +2
+ StrCpy $INSTDIR "$DOCUMENTS\@CPACK_PACKAGE_INSTALL_DIRECTORY@"
+
+ ClearErrors
+ UserInfo::GetName
+ IfErrors noLM
+ Pop $0
+ UserInfo::GetAccountType
+ Pop $1
+ StrCmp $1 "Admin" 0 +4
+ SetShellVarContext all
+ ;MessageBox MB_OK 'User "$0" is in the Admin group'
+ StrCpy $SV_ALLUSERS "AllUsers"
+ Goto done
+ StrCmp $1 "Power" 0 +4
+ SetShellVarContext all
+ ;MessageBox MB_OK 'User "$0" is in the Power Users group'
+ StrCpy $SV_ALLUSERS "AllUsers"
+ Goto done
+
+ noLM:
+ StrCpy $SV_ALLUSERS "AllUsers"
+ ;Get installation folder from registry if available
+
+ done:
+ StrCmp $SV_ALLUSERS "AllUsers" 0 +3
+ StrCmp "$IS_DEFAULT_INSTALLDIR" "1" 0 +2
+ StrCpy $INSTDIR "@CPACK_NSIS_INSTALL_ROOT@\@CPACK_PACKAGE_INSTALL_DIRECTORY@"
+
+ StrCmp "@CPACK_NSIS_MODIFY_PATH@" "ON" 0 noOptionsPage
+ !insertmacro MUI_INSTALLOPTIONS_EXTRACT "NSIS.InstallOptions.ini"
+
+ noOptionsPage:
+FunctionEnd
diff --git a/config/cmake_ext_mod/grepTest.cmake b/config/cmake_ext_mod/grepTest.cmake
new file mode 100644
index 0000000..5f07134
--- /dev/null
+++ b/config/cmake_ext_mod/grepTest.cmake
@@ -0,0 +1,64 @@
+# grepTest.cmake executes a command and captures the output in a file. File is then compared
+# against a reference file. Exit status of command can also be compared.
+
+# arguments checking
+if (NOT TEST_PROGRAM)
+ message (FATAL_ERROR "Require TEST_PROGRAM to be defined")
+endif (NOT TEST_PROGRAM)
+#if (NOT TEST_ARGS)
+# message (STATUS "Require TEST_ARGS to be defined")
+#endif (NOT TEST_ARGS)
+if (NOT TEST_FOLDER)
+ message ( FATAL_ERROR "Require TEST_FOLDER to be defined")
+endif (NOT TEST_FOLDER)
+if (NOT TEST_OUTPUT)
+ message (FATAL_ERROR "Require TEST_OUTPUT to be defined")
+endif (NOT TEST_OUTPUT)
+#if (NOT TEST_EXPECT)
+# message (STATUS "Require TEST_EXPECT to be defined")
+#endif (NOT TEST_EXPECT)
+if (NOT TEST_FILTER)
+ message (STATUS "Require TEST_FILTER to be defined")
+endif (NOT TEST_FILTER)
+if (NOT TEST_REFERENCE)
+ message (FATAL_ERROR "Require TEST_REFERENCE to be defined")
+endif (NOT TEST_REFERENCE)
+
+message (STATUS "COMMAND: ${TEST_PROGRAM} ${TEST_ARGS}")
+
+# run the test program, capture the stdout/stderr and the result var
+execute_process (
+ COMMAND ${TEST_PROGRAM} ${TEST_ARGS}
+ WORKING_DIRECTORY ${TEST_FOLDER}
+ RESULT_VARIABLE TEST_RESULT
+ OUTPUT_FILE ${TEST_OUTPUT}
+ ERROR_FILE ${TEST_OUTPUT}.err
+ OUTPUT_VARIABLE TEST_ERROR
+ ERROR_VARIABLE TEST_ERROR
+)
+
+message (STATUS "COMMAND Result: ${TEST_RESULT}")
+message (STATUS "COMMAND Error: ${TEST_ERROR}")
+
+# now grep the output with the reference
+file (READ ${TEST_FOLDER}/${TEST_OUTPUT} TEST_STREAM)
+
+# TEST_REFERENCE should always be matched
+string (REGEX MATCH "${TEST_REFERENCE}" TEST_MATCH ${TEST_STREAM})
+string (COMPARE EQUAL "${TEST_REFERENCE}" "${TEST_MATCH}" TEST_RESULT)
+if (${TEST_RESULT} STREQUAL "0")
+ message (FATAL_ERROR "Failed: The output of ${TEST_PROGRAM} did not contain ${TEST_REFERENCE}")
+endif (${TEST_RESULT} STREQUAL "0")
+
+string (REGEX MATCH "${TEST_FILTER}" TEST_MATCH ${TEST_STREAM})
+if (${TEST_EXPECT} STREQUAL "1")
+ # TEST_EXPECT (1) interperts TEST_FILTER as NOT to match
+ string (LENGTH "${TEST_MATCH}" TEST_RESULT)
+ if (NOT ${TEST_RESULT} STREQUAL "0")
+ message (FATAL_ERROR "Failed: The output of ${TEST_PROGRAM} did contain ${TEST_FILTER}")
+ endif (NOT ${TEST_RESULT} STREQUAL "0")
+endif (${TEST_EXPECT} STREQUAL "1")
+
+# everything went fine...
+message ("Passed: The output of ${TEST_PROGRAM} matched")
+
diff --git a/config/cmake_ext_mod/hdf.bmp b/config/cmake_ext_mod/hdf.bmp
new file mode 100644
index 0000000..9e9e4aa
--- /dev/null
+++ b/config/cmake_ext_mod/hdf.bmp
Binary files differ
diff --git a/config/cmake_ext_mod/hdf.icns b/config/cmake_ext_mod/hdf.icns
new file mode 100644
index 0000000..66f025d
--- /dev/null
+++ b/config/cmake_ext_mod/hdf.icns
Binary files differ
diff --git a/config/cmake_ext_mod/hdf.ico b/config/cmake_ext_mod/hdf.ico
new file mode 100644
index 0000000..26abc96
--- /dev/null
+++ b/config/cmake_ext_mod/hdf.ico
Binary files differ
diff --git a/config/cmake_ext_mod/prunTest.cmake b/config/cmake_ext_mod/prunTest.cmake
new file mode 100644
index 0000000..3d5ec31
--- /dev/null
+++ b/config/cmake_ext_mod/prunTest.cmake
@@ -0,0 +1,145 @@
+# runTest.cmake executes a command and captures the output in a file. File is then compared
+# against a reference file. Exit status of command can also be compared.
+cmake_policy(SET CMP0007 NEW)
+
+# arguments checking
+if (NOT TEST_PROGRAM)
+ message (FATAL_ERROR "Require TEST_PROGRAM to be defined")
+endif (NOT TEST_PROGRAM)
+#if (NOT TEST_ARGS)
+# message (STATUS "Require TEST_ARGS to be defined")
+#endif (NOT TEST_ARGS)
+if (NOT TEST_FOLDER)
+ message ( FATAL_ERROR "Require TEST_FOLDER to be defined")
+endif (NOT TEST_FOLDER)
+if (NOT TEST_OUTPUT)
+ message (FATAL_ERROR "Require TEST_OUTPUT to be defined")
+endif (NOT TEST_OUTPUT)
+#if (NOT TEST_EXPECT)
+# message (STATUS "Require TEST_EXPECT to be defined")
+#endif (NOT TEST_EXPECT)
+#if (NOT TEST_FILTER)
+# message (STATUS "Require TEST_FILTER to be defined")
+#endif (NOT TEST_FILTER)
+if (NOT TEST_SKIP_COMPARE AND NOT TEST_REFERENCE)
+ message (FATAL_ERROR "Require TEST_REFERENCE to be defined")
+endif (NOT TEST_SKIP_COMPARE AND NOT TEST_REFERENCE)
+
+set (ERROR_APPEND 1)
+
+message (STATUS "COMMAND: ${TEST_PROGRAM} ${TEST_ARGS}")
+
+if (TEST_ENV_VAR)
+ set (ENV{${TEST_ENV_VAR}} "${TEST_ENV_VALUE}")
+endif (TEST_ENV_VAR)
+
+# run the test program, capture the stdout/stderr and the result var
+EXECUTE_PROCESS (
+ COMMAND ${TEST_PROGRAM} ${TEST_ARGS}
+ WORKING_DIRECTORY ${TEST_FOLDER}
+ RESULT_VARIABLE TEST_RESULT
+ OUTPUT_FILE ${TEST_OUTPUT}
+ ERROR_FILE ${TEST_OUTPUT}.err
+ OUTPUT_VARIABLE TEST_ERROR
+ ERROR_VARIABLE TEST_ERROR
+)
+
+message (STATUS "COMMAND Result: ${TEST_RESULT}")
+
+file (READ ${TEST_FOLDER}/${TEST_REFERENCE} TEST_STREAM)
+file (WRITE ${TEST_FOLDER}/P_${TEST_REFERENCE} "${TEST_STREAM}")
+
+if (ERROR_APPEND)
+ file (READ ${TEST_FOLDER}/${TEST_OUTPUT}.err TEST_STREAM)
+ file (APPEND ${TEST_FOLDER}/${TEST_OUTPUT} "${TEST_STREAM}")
+endif (ERROR_APPEND)
+
+if (TEST_APPEND)
+ file (APPEND ${TEST_FOLDER}/${TEST_OUTPUT} "${TEST_APPEND} ${TEST_ERROR}\n")
+endif (TEST_APPEND)
+
+message (STATUS "COMMAND Error: ${TEST_ERROR}")
+
+if (TEST_MASK)
+ file (READ ${TEST_FOLDER}/${TEST_OUTPUT} TEST_STREAM)
+ STRING(REGEX REPLACE "Storage:[^\n]+\n" "Storage: <details removed for portability>\n" TEST_STREAM "${TEST_STREAM}")
+ file (WRITE ${TEST_FOLDER}/${TEST_OUTPUT} "${TEST_STREAM}")
+endif (TEST_MASK)
+
+if (TEST_MASK_MOD)
+ file (READ ${TEST_FOLDER}/${TEST_OUTPUT} TEST_STREAM)
+ STRING(REGEX REPLACE "Modified:[^\n]+\n" "Modified: XXXX-XX-XX XX:XX:XX XXX\n" TEST_STREAM "${TEST_STREAM}")
+ file (WRITE ${TEST_FOLDER}/${TEST_OUTPUT} "${TEST_STREAM}")
+endif (TEST_MASK_MOD)
+
+if (TEST_MASK_ERROR)
+ file (READ ${TEST_FOLDER}/${TEST_OUTPUT} TEST_STREAM)
+ STRING(REGEX REPLACE "thread [0-9]*:" "thread (IDs):" TEST_STREAM "${TEST_STREAM}")
+ STRING(REGEX REPLACE ": ([^\n]*)[.]c " ": (file name) " TEST_STREAM "${TEST_STREAM}")
+ STRING(REGEX REPLACE " line [0-9]*" " line (number)" TEST_STREAM "${TEST_STREAM}")
+ STRING(REGEX REPLACE "v[1-9]*[.][0-9]*[.]" "version (number)." TEST_STREAM "${TEST_STREAM}")
+ STRING(REGEX REPLACE "[1-9]*[.][0-9]*[.][0-9]*[^)]*" "version (number)" TEST_STREAM "${TEST_STREAM}")
+ STRING(REGEX REPLACE "H5Eget_auto[1-2]*" "H5Eget_auto(1 or 2)" TEST_STREAM "${TEST_STREAM}")
+ STRING(REGEX REPLACE "H5Eset_auto[1-2]*" "H5Eset_auto(1 or 2)" TEST_STREAM "${TEST_STREAM}")
+ file (WRITE ${TEST_FOLDER}/${TEST_OUTPUT} "${TEST_STREAM}")
+endif (TEST_MASK_ERROR)
+
+if (TEST_FILTER)
+ file (READ ${TEST_FOLDER}/${TEST_OUTPUT} TEST_STREAM)
+ STRING(REGEX REPLACE "${TEST_FILTER}" "" TEST_STREAM "${TEST_STREAM}")
+ file (WRITE ${TEST_FOLDER}/${TEST_OUTPUT} "${TEST_STREAM}")
+endif (TEST_FILTER)
+
+#if (TEST_REF_FILTER)
+# message (STATUS "TEST_REF_FILTER: ${TEST_APPEND}${TEST_REF_FILTER}")
+# file (READ ${TEST_FOLDER}/P_${TEST_REFERENCE} TEST_STREAM)
+# STRING(REGEX REPLACE "${TEST_APPEND}" "${TEST_REF_FILTER}" TEST_STREAM "${TEST_STREAM}")
+# file (WRITE ${TEST_FOLDER}/P_${TEST_REFERENCE} "${TEST_STREAM}")
+#endif (TEST_REF_FILTER)
+
+if (NOT TEST_SKIP_COMPARE)
+ if (WIN32 AND NOT MINGW)
+ file (READ ${TEST_FOLDER}/P_${TEST_REFERENCE} TEST_STREAM)
+ file (WRITE ${TEST_FOLDER}/P_${TEST_REFERENCE} "${TEST_STREAM}")
+ endif (WIN32 AND NOT MINGW)
+
+ # now compare the output with the reference
+ EXECUTE_PROCESS (
+ COMMAND ${CMAKE_COMMAND} -E compare_files ${TEST_FOLDER}/${TEST_OUTPUT} ${TEST_FOLDER}/P_${TEST_REFERENCE}
+ RESULT_VARIABLE TEST_RESULT
+ )
+ if (NOT ${TEST_RESULT} STREQUAL 0)
+ set (TEST_RESULT 0)
+ file (STRINGS ${TEST_FOLDER}/${TEST_OUTPUT} test_act)
+ LIST (LENGTH test_act len_act)
+ file (STRINGS ${TEST_FOLDER}/P_${TEST_REFERENCE} test_ref)
+ LIST (LENGTH test_ref len_ref)
+ if (NOT ${len_act} STREQUAL "0")
+ MATH (EXPR _FP_LEN "${len_ref} - 1")
+ foreach (line RANGE 0 ${_FP_LEN})
+ LIST (GET test_act ${line} str_act)
+ LIST (GET test_ref ${line} str_ref)
+ if (NOT "${str_act}" STREQUAL "${str_ref}")
+ if (NOT "${str_act}" STREQUAL "")
+ set (TEST_RESULT 1)
+ message ("line = ${line}\n***ACTUAL: ${str_act}\n****REFER: ${str_ref}\n")
+ endif (NOT "${str_act}" STREQUAL "")
+ endif (NOT "${str_act}" STREQUAL "${str_ref}")
+ endforeach (line RANGE 0 ${_FP_LEN})
+ endif (NOT ${len_act} STREQUAL "0")
+ if (NOT ${len_act} STREQUAL ${len_ref})
+ set (TEST_RESULT 1)
+ endif (NOT ${len_act} STREQUAL ${len_ref})
+ endif (NOT ${TEST_RESULT} STREQUAL 0)
+
+ message (STATUS "COMPARE Result: ${TEST_RESULT}")
+
+ # again, if return value is !=0 scream and shout
+ if (NOT ${TEST_RESULT} STREQUAL 0)
+ message (FATAL_ERROR "Failed: The output of ${TEST_OUTPUT} did not match P_${TEST_REFERENCE}")
+ endif (NOT ${TEST_RESULT} STREQUAL 0)
+endif (NOT TEST_SKIP_COMPARE)
+
+# everything went fine...
+message ("Passed: The output of ${TEST_PROGRAM} matches P_${TEST_REFERENCE}")
+
diff --git a/config/cmake_ext_mod/runTest.cmake b/config/cmake_ext_mod/runTest.cmake
new file mode 100644
index 0000000..bfaae2b
--- /dev/null
+++ b/config/cmake_ext_mod/runTest.cmake
@@ -0,0 +1,207 @@
+# runTest.cmake executes a command and captures the output in a file. File is then compared
+# against a reference file. Exit status of command can also be compared.
+cmake_policy(SET CMP0007 NEW)
+
+# arguments checking
+if (NOT TEST_PROGRAM)
+ message (FATAL_ERROR "Require TEST_PROGRAM to be defined")
+endif (NOT TEST_PROGRAM)
+#if (NOT TEST_ARGS)
+# message (STATUS "Require TEST_ARGS to be defined")
+#endif (NOT TEST_ARGS)
+if (NOT TEST_FOLDER)
+ message ( FATAL_ERROR "Require TEST_FOLDER to be defined")
+endif (NOT TEST_FOLDER)
+if (NOT TEST_OUTPUT)
+ message (FATAL_ERROR "Require TEST_OUTPUT to be defined")
+endif (NOT TEST_OUTPUT)
+if (NOT TEST_EXPECT)
+ message (STATUS "Require TEST_EXPECT to be defined")
+endif (NOT TEST_EXPECT)
+#if (NOT TEST_FILTER)
+# message (STATUS "Require TEST_FILTER to be defined")
+#endif (NOT TEST_FILTER)
+if (NOT TEST_SKIP_COMPARE AND NOT TEST_REFERENCE)
+ message (FATAL_ERROR "Require TEST_REFERENCE to be defined")
+endif (NOT TEST_SKIP_COMPARE AND NOT TEST_REFERENCE)
+
+if (NOT TEST_ERRREF)
+ set (ERROR_APPEND 1)
+endif (NOT TEST_ERRREF)
+
+message (STATUS "COMMAND: ${TEST_PROGRAM} ${TEST_ARGS}")
+
+if (TEST_ENV_VAR)
+ set (ENV{${TEST_ENV_VAR}} "${TEST_ENV_VALUE}")
+endif (TEST_ENV_VAR)
+
+if (NOT TEST_INPUT)
+ # run the test program, capture the stdout/stderr and the result var
+ EXECUTE_PROCESS (
+ COMMAND ${TEST_PROGRAM} ${TEST_ARGS}
+ WORKING_DIRECTORY ${TEST_FOLDER}
+ RESULT_VARIABLE TEST_RESULT
+ OUTPUT_FILE ${TEST_OUTPUT}
+ ERROR_FILE ${TEST_OUTPUT}.err
+ OUTPUT_VARIABLE TEST_ERROR
+ ERROR_VARIABLE TEST_ERROR
+ )
+else (NOT TEST_INPUT)
+ # run the test program with stdin, capture the stdout/stderr and the result var
+ EXECUTE_PROCESS (
+ COMMAND ${TEST_PROGRAM} ${TEST_ARGS}
+ WORKING_DIRECTORY ${TEST_FOLDER}
+ RESULT_VARIABLE TEST_RESULT
+ INPUT_FILE ${TEST_INPUT}
+ OUTPUT_FILE ${TEST_OUTPUT}
+ ERROR_FILE ${TEST_OUTPUT}.err
+ OUTPUT_VARIABLE TEST_ERROR
+ ERROR_VARIABLE TEST_ERROR
+ )
+endif (NOT TEST_INPUT)
+
+message (STATUS "COMMAND Result: ${TEST_RESULT}")
+
+if (ERROR_APPEND)
+ file (READ ${TEST_FOLDER}/${TEST_OUTPUT}.err TEST_STREAM)
+ file (APPEND ${TEST_FOLDER}/${TEST_OUTPUT} "${TEST_STREAM}")
+endif (ERROR_APPEND)
+
+if (TEST_APPEND)
+ file (APPEND ${TEST_FOLDER}/${TEST_OUTPUT} "${TEST_APPEND} ${TEST_RESULT}\n")
+endif (TEST_APPEND)
+
+# if the return value is !=${TEST_EXPECT} bail out
+if (NOT ${TEST_RESULT} STREQUAL ${TEST_EXPECT})
+ message ( FATAL_ERROR "Failed: Test program ${TEST_PROGRAM} exited != ${TEST_EXPECT}.\n${TEST_ERROR}")
+endif (NOT ${TEST_RESULT} STREQUAL ${TEST_EXPECT})
+
+message (STATUS "COMMAND Error: ${TEST_ERROR}")
+
+if (TEST_MASK)
+ file (READ ${TEST_FOLDER}/${TEST_OUTPUT} TEST_STREAM)
+ STRING(REGEX REPLACE "Storage:[^\n]+\n" "Storage: <details removed for portability>\n" TEST_STREAM "${TEST_STREAM}")
+ file (WRITE ${TEST_FOLDER}/${TEST_OUTPUT} "${TEST_STREAM}")
+endif (TEST_MASK)
+
+if (TEST_MASK_MOD)
+ file (READ ${TEST_FOLDER}/${TEST_OUTPUT} TEST_STREAM)
+ STRING(REGEX REPLACE "Modified:[^\n]+\n" "Modified: XXXX-XX-XX XX:XX:XX XXX\n" TEST_STREAM "${TEST_STREAM}")
+ file (WRITE ${TEST_FOLDER}/${TEST_OUTPUT} "${TEST_STREAM}")
+endif (TEST_MASK_MOD)
+
+if (TEST_MASK_ERROR)
+ if (NOT TEST_ERRREF)
+ file (READ ${TEST_FOLDER}/${TEST_OUTPUT} TEST_STREAM)
+ else (NOT TEST_ERRREF)
+ file (READ ${TEST_FOLDER}/${TEST_OUTPUT}.err TEST_STREAM)
+ endif (NOT TEST_ERRREF)
+ STRING(REGEX REPLACE "thread [0-9]*:" "thread (IDs):" TEST_STREAM "${TEST_STREAM}")
+ STRING(REGEX REPLACE ": ([^\n]*)[.]c " ": (file name) " TEST_STREAM "${TEST_STREAM}")
+ STRING(REGEX REPLACE " line [0-9]*" " line (number)" TEST_STREAM "${TEST_STREAM}")
+ STRING(REGEX REPLACE "v[1-9]*[.][0-9]*[.]" "version (number)." TEST_STREAM "${TEST_STREAM}")
+ STRING(REGEX REPLACE "[1-9]*[.][0-9]*[.][0-9]*[^)]*" "version (number)" TEST_STREAM "${TEST_STREAM}")
+ STRING(REGEX REPLACE "H5Eget_auto[1-2]*" "H5Eget_auto(1 or 2)" TEST_STREAM "${TEST_STREAM}")
+ STRING(REGEX REPLACE "H5Eset_auto[1-2]*" "H5Eset_auto(1 or 2)" TEST_STREAM "${TEST_STREAM}")
+ if (NOT TEST_ERRREF)
+ file (WRITE ${TEST_FOLDER}/${TEST_OUTPUT} "${TEST_STREAM}")
+ else (NOT TEST_ERRREF)
+ file (WRITE ${TEST_FOLDER}/${TEST_OUTPUT}.err "${TEST_STREAM}")
+ endif (NOT TEST_ERRREF)
+endif (TEST_MASK_ERROR)
+
+if (TEST_FILTER)
+ file (READ ${TEST_FOLDER}/${TEST_OUTPUT} TEST_STREAM)
+ STRING(REGEX REPLACE "${TEST_FILTER}" "" TEST_STREAM "${TEST_STREAM}")
+ file (WRITE ${TEST_FOLDER}/${TEST_OUTPUT} "${TEST_STREAM}")
+endif (TEST_FILTER)
+
+if (NOT TEST_SKIP_COMPARE)
+ if (WIN32 AND NOT MINGW)
+ file (READ ${TEST_FOLDER}/${TEST_REFERENCE} TEST_STREAM)
+ file (WRITE ${TEST_FOLDER}/${TEST_REFERENCE} "${TEST_STREAM}")
+ endif (WIN32 AND NOT MINGW)
+
+ # now compare the output with the reference
+ EXECUTE_PROCESS (
+ COMMAND ${CMAKE_COMMAND} -E compare_files ${TEST_FOLDER}/${TEST_OUTPUT} ${TEST_FOLDER}/${TEST_REFERENCE}
+ RESULT_VARIABLE TEST_RESULT
+ )
+ if (NOT ${TEST_RESULT} STREQUAL 0)
+ set (TEST_RESULT 0)
+ file (STRINGS ${TEST_FOLDER}/${TEST_OUTPUT} test_act)
+ LIST (LENGTH test_act len_act)
+ file (STRINGS ${TEST_FOLDER}/${TEST_REFERENCE} test_ref)
+ LIST (LENGTH test_ref len_ref)
+ if (NOT ${len_act} STREQUAL "0")
+ MATH (EXPR _FP_LEN "${len_ref} - 1")
+ foreach (line RANGE 0 ${_FP_LEN})
+ LIST (GET test_act ${line} str_act)
+ LIST (GET test_ref ${line} str_ref)
+ if (NOT "${str_act}" STREQUAL "${str_ref}")
+ if (NOT "${str_act}" STREQUAL "")
+ set (TEST_RESULT 1)
+ message ("line = ${line}\n***ACTUAL: ${str_act}\n****REFER: ${str_ref}\n")
+ endif (NOT "${str_act}" STREQUAL "")
+ endif (NOT "${str_act}" STREQUAL "${str_ref}")
+ endforeach (line RANGE 0 ${_FP_LEN})
+ endif (NOT ${len_act} STREQUAL "0")
+ if (NOT ${len_act} STREQUAL ${len_ref})
+ set (TEST_RESULT 1)
+ endif (NOT ${len_act} STREQUAL ${len_ref})
+ endif (NOT ${TEST_RESULT} STREQUAL 0)
+
+ message (STATUS "COMPARE Result: ${TEST_RESULT}")
+
+ # again, if return value is !=0 scream and shout
+ if (NOT ${TEST_RESULT} STREQUAL 0)
+ message (FATAL_ERROR "Failed: The output of ${TEST_OUTPUT} did not match ${TEST_REFERENCE}")
+ endif (NOT ${TEST_RESULT} STREQUAL 0)
+
+ if (TEST_ERRREF)
+ if (WIN32 AND NOT MINGW)
+ file (READ ${TEST_FOLDER}/${TEST_ERRREF} TEST_STREAM)
+ file (WRITE ${TEST_FOLDER}/${TEST_ERRREF} "${TEST_STREAM}")
+ endif (WIN32 AND NOT MINGW)
+
+ # now compare the error output with the error reference
+ EXECUTE_PROCESS (
+ COMMAND ${CMAKE_COMMAND} -E compare_files ${TEST_FOLDER}/${TEST_OUTPUT}.err ${TEST_FOLDER}/${TEST_ERRREF}
+ RESULT_VARIABLE TEST_RESULT
+ )
+ if (NOT ${TEST_RESULT} STREQUAL 0)
+ set (TEST_RESULT 0)
+ file (STRINGS ${TEST_FOLDER}/${TEST_OUTPUT}.err test_act)
+ LIST (LENGTH test_act len_act)
+ file (STRINGS ${TEST_FOLDER}/${TEST_ERRREF} test_ref)
+ LIST (LENGTH test_ref len_ref)
+ MATH (EXPR _FP_LEN "${len_ref} - 1")
+ if (NOT ${len_act} STREQUAL "0")
+ MATH (EXPR _FP_LEN "${len_ref} - 1")
+ foreach (line RANGE 0 ${_FP_LEN})
+ LIST (GET test_act ${line} str_act)
+ LIST (GET test_ref ${line} str_ref)
+ if (NOT "${str_act}" STREQUAL "${str_ref}")
+ if (NOT "${str_act}" STREQUAL "")
+ set (TEST_RESULT 1)
+ message ("line = ${line}\n***ACTUAL: ${str_act}\n****REFER: ${str_ref}\n")
+ endif (NOT "${str_act}" STREQUAL "")
+ endif (NOT "${str_act}" STREQUAL "${str_ref}")
+ endforeach (line RANGE 0 ${_FP_LEN})
+ endif (NOT ${len_act} STREQUAL "0")
+ if (NOT ${len_act} STREQUAL ${len_ref})
+ set (TEST_RESULT 1)
+ endif (NOT ${len_act} STREQUAL ${len_ref})
+ endif (NOT ${TEST_RESULT} STREQUAL 0)
+
+ message (STATUS "COMPARE Result: ${TEST_RESULT}")
+
+ # again, if return value is !=0 scream and shout
+ if (NOT ${TEST_RESULT} STREQUAL 0)
+ message (FATAL_ERROR "Failed: The error output of ${TEST_OUTPUT}.err did not match ${TEST_ERRREF}")
+ endif (NOT ${TEST_RESULT} STREQUAL 0)
+ endif (TEST_ERRREF)
+endif (NOT TEST_SKIP_COMPARE)
+
+# everything went fine...
+message ("Passed: The output of ${TEST_PROGRAM} matches ${TEST_REFERENCE}")
diff --git a/config/cmake_ext_mod/version.plist.in b/config/cmake_ext_mod/version.plist.in
new file mode 100644
index 0000000..817d89e
--- /dev/null
+++ b/config/cmake_ext_mod/version.plist.in
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+
+<plist version="1.0">
+<dict>
+ <key>BuildVersion</key>
+ <string>@CPACK_PACKAGE_VERSION_MAJOR@</string>
+ <key>CFBundleShortVersionString</key>
+ <string>@CPACK_APPLE_GUI_SHORT_VERSION_STRING@</string>
+ <key>CFBundleVersion</key>
+ <string>@CPACK_APPLE_GUI_SHORT_VERSION_STRING@</string>
+ <key>ProjectName</key>
+ <string>@CPACK_APPLE_GUI_BUNDLE_NAME@</string>
+ <key>SourceVersion</key>
+ <string>@CPACK_PACKAGE_VERSION_MINOR@</string>
+</dict>
+</plist>
diff --git a/config/conclude_fc.am b/config/conclude_fc.am
new file mode 100644
index 0000000..d9e7b56
--- /dev/null
+++ b/config/conclude_fc.am
@@ -0,0 +1,33 @@
+## config/conclude_fc.am
+## (Use double hashes for copyright notice so that automake treats it as
+## comments and does not pass it to Makefile.in)
+## Copyright by The HDF Group.
+## Copyright by the Board of Trustees of the University of Illinois.
+## All rights reserved.
+##
+## This file is part of HDF5. The full HDF5 copyright notice, including
+## terms governing use, modification, and redistribution, is contained in
+## the files COPYING and Copyright.html. COPYING can be found at the root
+## of the source code distribution tree; Copyright.html can be found at the
+## root level of an installed copy of the electronic HDF5 document set and
+## is linked from the top-level documents page. It can also be found at
+## http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have
+## access to either file, you may request a copy from help@hdfgroup.org.
+
+
+## Textually included at the end of the Fortran HDF5 Makefiles.am.
+
+# Makefile.am include fragment with Fortran helper rules and macros.
+
+# AM_FCCPPFLAGS, FCCPPFLAGS are currently not used.
+
+PPFCCOMPILE = $(FC) $(FCDEFS) $(DEFAULT_INCLUDES) $(FCINCLUDES) $(AM_FCCPPFLAGS) $(FCCPPFLAGS) $(AM_FCFLAGS) $(FCFLAGS)
+LTPPFCCOMPILE = $(LIBTOOL) --tag=FC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(PPFCCOMPILE)
+
+# Treat all .f90 and .F90 files as preprocessed Fortran.
+.f90.o:
+ $(PPFCCOMPILE) -c -o $@ $(FCFLAGS) $<
+.F90.o:
+ $(PPFCCOMPILE) -c -o $@ $(FCFLAGS) $<
+
+include $(top_srcdir)/config/conclude.am
diff --git a/config/lt_vers.am b/config/lt_vers.am
index ac029c0..20959db 100644
--- a/config/lt_vers.am
+++ b/config/lt_vers.am
@@ -19,7 +19,7 @@
# After making changes, run bin/reconfigure to update other configure related
# files like Makefile.in.
LT_VERS_INTERFACE = 6
-LT_VERS_REVISION = 217
+LT_VERS_REVISION = 219
LT_VERS_AGE = 0
## If the API changes *at all*, increment LT_VERS_INTERFACE and
diff --git a/configure b/configure
index 4245fe5..fd230cc 100755
--- a/configure
+++ b/configure
@@ -1,7 +1,7 @@
#! /bin/sh
# From configure.ac Id: configure.ac 22697 2012-08-19 14:35:47Z hdftest .
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for HDF5 1.9.227.
+# Generated by GNU Autoconf 2.69 for HDF5 1.9.229.
#
# Report bugs to <help@hdfgroup.org>.
#
@@ -199,6 +199,7 @@ test -x / || exit 1"
as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO
eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" &&
test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1
+test \$(( 1 + 1 )) = 2 || exit 1
test -n \"\${ZSH_VERSION+set}\${BASH_VERSION+set}\" || (
ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
@@ -206,8 +207,7 @@ test -x / || exit 1"
ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO
PATH=/empty FPATH=/empty; export PATH FPATH
test \"X\`printf %s \$ECHO\`\" = \"X\$ECHO\" \\
- || test \"X\`print -r -- \$ECHO\`\" = \"X\$ECHO\" ) || exit 1
-test \$(( 1 + 1 )) = 2 || exit 1"
+ || test \"X\`print -r -- \$ECHO\`\" = \"X\$ECHO\" ) || exit 1"
if (eval "$as_required") 2>/dev/null; then :
as_have_required=yes
else
@@ -591,8 +591,8 @@ MAKEFLAGS=
# Identity of this package.
PACKAGE_NAME='HDF5'
PACKAGE_TARNAME='hdf5'
-PACKAGE_VERSION='1.9.227'
-PACKAGE_STRING='HDF5 1.9.227'
+PACKAGE_VERSION='1.9.229'
+PACKAGE_STRING='HDF5 1.9.229'
PACKAGE_BUGREPORT='help@hdfgroup.org'
PACKAGE_URL=''
@@ -682,7 +682,6 @@ AM_MAKEFLAGS
LT_STATIC_EXEC
USE_PLUGINS_CONDITIONAL_FALSE
USE_PLUGINS_CONDITIONAL_TRUE
-CPP
OTOOL64
OTOOL
LIPO
@@ -699,8 +698,6 @@ ac_ct_DUMPBIN
DUMPBIN
LD
FGREP
-EGREP
-GREP
SED
LIBTOOL
FORTRAN_SHARED_CONDITIONAL_FALSE
@@ -713,7 +710,6 @@ PARALLEL
TIME
TR
AR
-PERL
HL_FOR
HL
CXXCPP
@@ -722,16 +718,26 @@ am__fastdepCXX_TRUE
CXXDEPMODE
ac_ct_CXX
CXXFLAGS
-FORTRAN_DEFAULT_REALisDBLE_F_FALSE
-FORTRAN_DEFAULT_REALisDBLE_F_TRUE
-FORTRAN_2003_CONDITIONAL_F_FALSE
-FORTRAN_2003_CONDITIONAL_F_TRUE
-FORTRAN_HAVE_STORAGE_SIZE_FALSE
-FORTRAN_HAVE_STORAGE_SIZE_TRUE
-FORTRAN_HAVE_C_SIZEOF_FALSE
-FORTRAN_HAVE_C_SIZEOF_TRUE
-FORTRAN_HAVE_SIZEOF_FALSE
-FORTRAN_HAVE_SIZEOF_TRUE
+H5CONFIG_F_IKIND
+H5CONFIG_F_NUM_IKIND
+H5CONFIG_F_RKIND_SIZEOF
+H5CONFIG_F_RKIND
+H5CONFIG_F_NUM_RKIND
+FORTRAN_SIZEOF_LONG_DOUBLE
+FORTRAN_C_LONG_DOUBLE_IS_UNIQUE
+FORTRAN_HAVE_C_LONG_DOUBLE
+HAVE_Fortran_INTEGER_SIZEOF_16
+PAC_FORTRAN_NATIVE_DOUBLE_SIZEOF
+PAC_FORTRAN_NATIVE_DOUBLE_KIND
+PAC_FORTRAN_NATIVE_REAL_SIZEOF
+PAC_FORTRAN_NATIVE_REAL_KIND
+PAC_FORTRAN_NATIVE_INTEGER_SIZEOF
+PAC_FORTRAN_NATIVE_INTEGER_KIND
+PAC_FC_ALL_INTEGER_KINDS_SIZEOF
+PAC_FC_ALL_REAL_KINDS_SIZEOF
+PAC_FC_ALL_INTEGER_KINDS
+PAC_FC_MAX_REAL_PRECISION
+PAC_FC_ALL_REAL_KINDS
FCLIBS
F9XMODEXT
F9XMODFLAG
@@ -748,8 +754,10 @@ HSIZE_T
HADDR_T
R_INTEGER
R_LARGE
-HAVE_FORTRAN_2003
HDF5_INTERFACES
+EGREP
+GREP
+CPP
am__fastdepCC_FALSE
am__fastdepCC_TRUE
CCDEPMODE
@@ -766,6 +774,7 @@ ac_ct_CC
LDFLAGS
CFLAGS
CC
+PAC_C_MAX_REAL_PRECISION
UNAME_INFO
enable_static
enable_shared
@@ -778,9 +787,7 @@ INSTRUMENT
HDF5_HL
CXX
HDF_CXX
-FC2003
FC
-HDF_FORTRAN2003
HDF_FORTRAN
STATIC_EXEC
MPE
@@ -880,7 +887,6 @@ enable_maintainer_mode
enable_dependency_tracking
enable_unsupported
enable_fortran
-enable_fortran2003
enable_cxx
enable_hl
enable_shared
@@ -926,13 +932,13 @@ CFLAGS
LDFLAGS
LIBS
CPPFLAGS
+CPP
FC
FCFLAGS
CXX
CXXFLAGS
CCC
-CXXCPP
-CPP'
+CXXCPP'
# Initialize some variables set by options.
@@ -1473,7 +1479,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures HDF5 1.9.227 to adapt to many kinds of systems.
+\`configure' configures HDF5 1.9.229 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1543,7 +1549,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of HDF5 1.9.227:";;
+ short | recursive ) echo "Configuration of HDF5 1.9.229:";;
esac
cat <<\_ACEOF
@@ -1561,9 +1567,7 @@ Optional Features:
--disable-dependency-tracking
speeds up one-time build
--enable-unsupported Allow unsupported combinations of configure options
- --enable-fortran Compile the Fortran 90/95 interface [default=no]
- --enable-fortran2003 Compile the Fortran 2003 interface, must also
- specify --enable-fortran [default=no]
+ --enable-fortran Compile the Fortran interface [default=no]
--enable-cxx Compile the C++ interface [default=no]
--enable-hl Enable the high level library [default=yes]
--enable-shared[=PKGS] build shared libraries [default=yes]
@@ -1661,12 +1665,12 @@ Some influential environment variables:
LIBS libraries to pass to the linker, e.g. -l<library>
CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if
you have headers in a nonstandard directory <include dir>
+ CPP C preprocessor
FC Fortran compiler command
FCFLAGS Fortran compiler flags
CXX C++ compiler command
CXXFLAGS C++ compiler flags
CXXCPP C++ preprocessor
- CPP C preprocessor
Use these variables to override the choices made by `configure' or to help
it to find libraries and programs with nonstandard names/locations.
@@ -1734,7 +1738,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-HDF5 configure 1.9.227
+HDF5 configure 1.9.229
generated by GNU Autoconf 2.69
Copyright (C) 2012 Free Software Foundation, Inc.
@@ -1786,6 +1790,444 @@ fi
} # ac_fn_c_try_compile
+# ac_fn_c_check_type LINENO TYPE VAR INCLUDES
+# -------------------------------------------
+# Tests whether TYPE exists after having included INCLUDES, setting cache
+# variable VAR accordingly.
+ac_fn_c_check_type ()
+{
+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
+$as_echo_n "checking for $2... " >&6; }
+if eval \${$3+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ eval "$3=no"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+$4
+int
+main ()
+{
+if (sizeof ($2))
+ return 0;
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+$4
+int
+main ()
+{
+if (sizeof (($2)))
+ return 0;
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+
+else
+ eval "$3=yes"
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+eval ac_res=\$$3
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+
+} # ac_fn_c_check_type
+
+# ac_fn_c_try_cpp LINENO
+# ----------------------
+# Try to preprocess conftest.$ac_ext, and return whether this succeeded.
+ac_fn_c_try_cpp ()
+{
+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ if { { ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err
+ ac_status=$?
+ if test -s conftest.err; then
+ grep -v '^ *+' conftest.err >conftest.er1
+ cat conftest.er1 >&5
+ mv -f conftest.er1 conftest.err
+ fi
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; } > conftest.i && {
+ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ }; then :
+ ac_retval=0
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_retval=1
+fi
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+ as_fn_set_status $ac_retval
+
+} # ac_fn_c_try_cpp
+
+# ac_fn_c_try_run LINENO
+# ----------------------
+# Try to link conftest.$ac_ext, and return whether this succeeded. Assumes
+# that executables *can* be run.
+ac_fn_c_try_run ()
+{
+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ if { { ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+ (eval "$ac_link") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; } && { ac_try='./conftest$ac_exeext'
+ { { case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+ (eval "$ac_try") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; }; then :
+ ac_retval=0
+else
+ $as_echo "$as_me: program exited with status $ac_status" >&5
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_retval=$ac_status
+fi
+ rm -rf conftest.dSYM conftest_ipa8_conftest.oo
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+ as_fn_set_status $ac_retval
+
+} # ac_fn_c_try_run
+
+# ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES
+# -------------------------------------------------------
+# Tests whether HEADER exists and can be compiled using the include files in
+# INCLUDES, setting the cache variable VAR accordingly.
+ac_fn_c_check_header_compile ()
+{
+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
+$as_echo_n "checking for $2... " >&6; }
+if eval \${$3+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+$4
+#include <$2>
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ eval "$3=yes"
+else
+ eval "$3=no"
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+eval ac_res=\$$3
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+
+} # ac_fn_c_check_header_compile
+
+# ac_fn_c_compute_int LINENO EXPR VAR INCLUDES
+# --------------------------------------------
+# Tries to find the compile-time value of EXPR in a program that includes
+# INCLUDES, setting VAR accordingly. Returns whether the value could be
+# computed
+ac_fn_c_compute_int ()
+{
+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ if test "$cross_compiling" = yes; then
+ # Depending upon the size, compute the lo and hi bounds.
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+$4
+int
+main ()
+{
+static int test_array [1 - 2 * !(($2) >= 0)];
+test_array [0] = 0;
+return test_array [0];
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ ac_lo=0 ac_mid=0
+ while :; do
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+$4
+int
+main ()
+{
+static int test_array [1 - 2 * !(($2) <= $ac_mid)];
+test_array [0] = 0;
+return test_array [0];
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ ac_hi=$ac_mid; break
+else
+ as_fn_arith $ac_mid + 1 && ac_lo=$as_val
+ if test $ac_lo -le $ac_mid; then
+ ac_lo= ac_hi=
+ break
+ fi
+ as_fn_arith 2 '*' $ac_mid + 1 && ac_mid=$as_val
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ done
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+$4
+int
+main ()
+{
+static int test_array [1 - 2 * !(($2) < 0)];
+test_array [0] = 0;
+return test_array [0];
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ ac_hi=-1 ac_mid=-1
+ while :; do
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+$4
+int
+main ()
+{
+static int test_array [1 - 2 * !(($2) >= $ac_mid)];
+test_array [0] = 0;
+return test_array [0];
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ ac_lo=$ac_mid; break
+else
+ as_fn_arith '(' $ac_mid ')' - 1 && ac_hi=$as_val
+ if test $ac_mid -le $ac_hi; then
+ ac_lo= ac_hi=
+ break
+ fi
+ as_fn_arith 2 '*' $ac_mid && ac_mid=$as_val
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ done
+else
+ ac_lo= ac_hi=
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+# Binary search between lo and hi bounds.
+while test "x$ac_lo" != "x$ac_hi"; do
+ as_fn_arith '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo && ac_mid=$as_val
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+$4
+int
+main ()
+{
+static int test_array [1 - 2 * !(($2) <= $ac_mid)];
+test_array [0] = 0;
+return test_array [0];
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ ac_hi=$ac_mid
+else
+ as_fn_arith '(' $ac_mid ')' + 1 && ac_lo=$as_val
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+done
+case $ac_lo in #((
+?*) eval "$3=\$ac_lo"; ac_retval=0 ;;
+'') ac_retval=1 ;;
+esac
+ else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+$4
+static long int longval () { return $2; }
+static unsigned long int ulongval () { return $2; }
+#include <stdio.h>
+#include <stdlib.h>
+int
+main ()
+{
+
+ FILE *f = fopen ("conftest.val", "w");
+ if (! f)
+ return 1;
+ if (($2) < 0)
+ {
+ long int i = longval ();
+ if (i != ($2))
+ return 1;
+ fprintf (f, "%ld", i);
+ }
+ else
+ {
+ unsigned long int i = ulongval ();
+ if (i != ($2))
+ return 1;
+ fprintf (f, "%lu", i);
+ }
+ /* Do not output a trailing newline, as this causes \r\n confusion
+ on some platforms. */
+ return ferror (f) || fclose (f) != 0;
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+ echo >>conftest.val; read $3 <conftest.val; ac_retval=0
+else
+ ac_retval=1
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+ conftest.$ac_objext conftest.beam conftest.$ac_ext
+rm -f conftest.val
+
+ fi
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+ as_fn_set_status $ac_retval
+
+} # ac_fn_c_compute_int
+
+# ac_fn_c_check_header_mongrel LINENO HEADER VAR INCLUDES
+# -------------------------------------------------------
+# Tests whether HEADER exists, giving a warning if it cannot be compiled using
+# the include files in INCLUDES and setting the cache variable VAR
+# accordingly.
+ac_fn_c_check_header_mongrel ()
+{
+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ if eval \${$3+:} false; then :
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
+$as_echo_n "checking for $2... " >&6; }
+if eval \${$3+:} false; then :
+ $as_echo_n "(cached) " >&6
+fi
+eval ac_res=\$$3
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+else
+ # Is the header compilable?
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 usability" >&5
+$as_echo_n "checking $2 usability... " >&6; }
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+$4
+#include <$2>
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ ac_header_compiler=yes
+else
+ ac_header_compiler=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_compiler" >&5
+$as_echo "$ac_header_compiler" >&6; }
+
+# Is the header present?
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 presence" >&5
+$as_echo_n "checking $2 presence... " >&6; }
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <$2>
+_ACEOF
+if ac_fn_c_try_cpp "$LINENO"; then :
+ ac_header_preproc=yes
+else
+ ac_header_preproc=no
+fi
+rm -f conftest.err conftest.i conftest.$ac_ext
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5
+$as_echo "$ac_header_preproc" >&6; }
+
+# So? What about this header?
+case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in #((
+ yes:no: )
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&5
+$as_echo "$as_me: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&2;}
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
+$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
+ ;;
+ no:yes:* )
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: present but cannot be compiled" >&5
+$as_echo "$as_me: WARNING: $2: present but cannot be compiled" >&2;}
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: check for missing prerequisite headers?" >&5
+$as_echo "$as_me: WARNING: $2: check for missing prerequisite headers?" >&2;}
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: see the Autoconf documentation" >&5
+$as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;}
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&5
+$as_echo "$as_me: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&2;}
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
+$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
+( $as_echo "## -------------------------------- ##
+## Report this to help@hdfgroup.org ##
+## -------------------------------- ##"
+ ) | sed "s/^/$as_me: WARNING: /" >&2
+ ;;
+esac
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
+$as_echo_n "checking for $2... " >&6; }
+if eval \${$3+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ eval "$3=\$ac_header_compiler"
+fi
+eval ac_res=\$$3
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+fi
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+
+} # ac_fn_c_check_header_mongrel
+
# ac_fn_fc_try_compile LINENO
# ---------------------------
# Try to compile conftest.$ac_ext, and return whether this succeeded.
@@ -1824,10 +2266,10 @@ fi
} # ac_fn_fc_try_compile
-# ac_fn_c_try_link LINENO
-# -----------------------
+# ac_fn_fc_try_link LINENO
+# ------------------------
# Try to link conftest.$ac_ext, and return whether this succeeded.
-ac_fn_c_try_link ()
+ac_fn_fc_try_link ()
{
as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
rm -f conftest.$ac_objext conftest$ac_exeext
@@ -1847,7 +2289,7 @@ $as_echo "$ac_try_echo"; } >&5
fi
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; } && {
- test -z "$ac_c_werror_flag" ||
+ test -z "$ac_fc_werror_flag" ||
test ! -s conftest.err
} && test -s conftest$ac_exeext && {
test "$cross_compiling" = yes ||
@@ -1868,12 +2310,12 @@ fi
eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
as_fn_set_status $ac_retval
-} # ac_fn_c_try_link
+} # ac_fn_fc_try_link
-# ac_fn_fc_try_link LINENO
-# ------------------------
+# ac_fn_c_try_link LINENO
+# -----------------------
# Try to link conftest.$ac_ext, and return whether this succeeded.
-ac_fn_fc_try_link ()
+ac_fn_c_try_link ()
{
as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
rm -f conftest.$ac_objext conftest$ac_exeext
@@ -1893,7 +2335,7 @@ $as_echo "$ac_try_echo"; } >&5
fi
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; } && {
- test -z "$ac_fc_werror_flag" ||
+ test -z "$ac_c_werror_flag" ||
test ! -s conftest.err
} && test -s conftest$ac_exeext && {
test "$cross_compiling" = yes ||
@@ -1914,7 +2356,49 @@ fi
eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
as_fn_set_status $ac_retval
-} # ac_fn_fc_try_link
+} # ac_fn_c_try_link
+
+# ac_fn_fc_try_run LINENO
+# -----------------------
+# Try to link conftest.$ac_ext, and return whether this succeeded. Assumes
+# that executables *can* be run.
+ac_fn_fc_try_run ()
+{
+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ if { { ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+ (eval "$ac_link") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; } && { ac_try='./conftest$ac_exeext'
+ { { case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+ (eval "$ac_try") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; }; then :
+ ac_retval=0
+else
+ $as_echo "$as_me: program exited with status $ac_status" >&5
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_retval=$ac_status
+fi
+ rm -rf conftest.dSYM conftest_ipa8_conftest.oo
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+ as_fn_set_status $ac_retval
+
+} # ac_fn_fc_try_run
# ac_fn_cxx_try_compile LINENO
# ----------------------------
@@ -2037,116 +2521,6 @@ fi
} # ac_fn_cxx_try_link
-# ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES
-# -------------------------------------------------------
-# Tests whether HEADER exists and can be compiled using the include files in
-# INCLUDES, setting the cache variable VAR accordingly.
-ac_fn_c_check_header_compile ()
-{
- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$4
-#include <$2>
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- eval "$3=yes"
-else
- eval "$3=no"
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-eval ac_res=\$$3
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-
-} # ac_fn_c_check_header_compile
-
-# ac_fn_c_try_cpp LINENO
-# ----------------------
-# Try to preprocess conftest.$ac_ext, and return whether this succeeded.
-ac_fn_c_try_cpp ()
-{
- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- if { { ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err
- ac_status=$?
- if test -s conftest.err; then
- grep -v '^ *+' conftest.err >conftest.er1
- cat conftest.er1 >&5
- mv -f conftest.er1 conftest.err
- fi
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } > conftest.i && {
- test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
- test ! -s conftest.err
- }; then :
- ac_retval=0
-else
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_retval=1
-fi
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
- as_fn_set_status $ac_retval
-
-} # ac_fn_c_try_cpp
-
-# ac_fn_c_try_run LINENO
-# ----------------------
-# Try to link conftest.$ac_ext, and return whether this succeeded. Assumes
-# that executables *can* be run.
-ac_fn_c_try_run ()
-{
- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- if { { ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_link") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } && { ac_try='./conftest$ac_exeext'
- { { case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; }; then :
- ac_retval=0
-else
- $as_echo "$as_me: program exited with status $ac_status" >&5
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_retval=$ac_status
-fi
- rm -rf conftest.dSYM conftest_ipa8_conftest.oo
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
- as_fn_set_status $ac_retval
-
-} # ac_fn_c_try_run
-
# ac_fn_c_check_func LINENO FUNC VAR
# ----------------------------------
# Tests whether FUNC exists, setting the cache variable VAR accordingly
@@ -2222,398 +2596,6 @@ $as_echo "$ac_res" >&6; }
} # ac_fn_c_check_func
-# ac_fn_c_check_header_mongrel LINENO HEADER VAR INCLUDES
-# -------------------------------------------------------
-# Tests whether HEADER exists, giving a warning if it cannot be compiled using
-# the include files in INCLUDES and setting the cache variable VAR
-# accordingly.
-ac_fn_c_check_header_mongrel ()
-{
- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- if eval \${$3+:} false; then :
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
- $as_echo_n "(cached) " >&6
-fi
-eval ac_res=\$$3
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-else
- # Is the header compilable?
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 usability" >&5
-$as_echo_n "checking $2 usability... " >&6; }
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$4
-#include <$2>
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_header_compiler=yes
-else
- ac_header_compiler=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_compiler" >&5
-$as_echo "$ac_header_compiler" >&6; }
-
-# Is the header present?
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 presence" >&5
-$as_echo_n "checking $2 presence... " >&6; }
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <$2>
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
- ac_header_preproc=yes
-else
- ac_header_preproc=no
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5
-$as_echo "$ac_header_preproc" >&6; }
-
-# So? What about this header?
-case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in #((
- yes:no: )
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&5
-$as_echo "$as_me: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&2;}
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
-$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
- ;;
- no:yes:* )
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: present but cannot be compiled" >&5
-$as_echo "$as_me: WARNING: $2: present but cannot be compiled" >&2;}
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: check for missing prerequisite headers?" >&5
-$as_echo "$as_me: WARNING: $2: check for missing prerequisite headers?" >&2;}
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: see the Autoconf documentation" >&5
-$as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;}
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&5
-$as_echo "$as_me: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&2;}
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
-$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
-( $as_echo "## -------------------------------- ##
-## Report this to help@hdfgroup.org ##
-## -------------------------------- ##"
- ) | sed "s/^/$as_me: WARNING: /" >&2
- ;;
-esac
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- eval "$3=\$ac_header_compiler"
-fi
-eval ac_res=\$$3
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-fi
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-
-} # ac_fn_c_check_header_mongrel
-
-# ac_fn_c_check_type LINENO TYPE VAR INCLUDES
-# -------------------------------------------
-# Tests whether TYPE exists after having included INCLUDES, setting cache
-# variable VAR accordingly.
-ac_fn_c_check_type ()
-{
- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- eval "$3=no"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$4
-#ifdef FC_DUMMY_MAIN
-#ifndef FC_DUMMY_MAIN_EQ_F77
-# ifdef __cplusplus
- extern "C"
-# endif
- int FC_DUMMY_MAIN() { return 1; }
-#endif
-#endif
-int
-main ()
-{
-if (sizeof ($2))
- return 0;
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$4
-#ifdef FC_DUMMY_MAIN
-#ifndef FC_DUMMY_MAIN_EQ_F77
-# ifdef __cplusplus
- extern "C"
-# endif
- int FC_DUMMY_MAIN() { return 1; }
-#endif
-#endif
-int
-main ()
-{
-if (sizeof (($2)))
- return 0;
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-
-else
- eval "$3=yes"
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-eval ac_res=\$$3
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-
-} # ac_fn_c_check_type
-
-# ac_fn_c_compute_int LINENO EXPR VAR INCLUDES
-# --------------------------------------------
-# Tries to find the compile-time value of EXPR in a program that includes
-# INCLUDES, setting VAR accordingly. Returns whether the value could be
-# computed
-ac_fn_c_compute_int ()
-{
- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- if test "$cross_compiling" = yes; then
- # Depending upon the size, compute the lo and hi bounds.
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$4
-#ifdef FC_DUMMY_MAIN
-#ifndef FC_DUMMY_MAIN_EQ_F77
-# ifdef __cplusplus
- extern "C"
-# endif
- int FC_DUMMY_MAIN() { return 1; }
-#endif
-#endif
-int
-main ()
-{
-static int test_array [1 - 2 * !(($2) >= 0)];
-test_array [0] = 0;
-return test_array [0];
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_lo=0 ac_mid=0
- while :; do
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$4
-#ifdef FC_DUMMY_MAIN
-#ifndef FC_DUMMY_MAIN_EQ_F77
-# ifdef __cplusplus
- extern "C"
-# endif
- int FC_DUMMY_MAIN() { return 1; }
-#endif
-#endif
-int
-main ()
-{
-static int test_array [1 - 2 * !(($2) <= $ac_mid)];
-test_array [0] = 0;
-return test_array [0];
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_hi=$ac_mid; break
-else
- as_fn_arith $ac_mid + 1 && ac_lo=$as_val
- if test $ac_lo -le $ac_mid; then
- ac_lo= ac_hi=
- break
- fi
- as_fn_arith 2 '*' $ac_mid + 1 && ac_mid=$as_val
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- done
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$4
-#ifdef FC_DUMMY_MAIN
-#ifndef FC_DUMMY_MAIN_EQ_F77
-# ifdef __cplusplus
- extern "C"
-# endif
- int FC_DUMMY_MAIN() { return 1; }
-#endif
-#endif
-int
-main ()
-{
-static int test_array [1 - 2 * !(($2) < 0)];
-test_array [0] = 0;
-return test_array [0];
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_hi=-1 ac_mid=-1
- while :; do
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$4
-#ifdef FC_DUMMY_MAIN
-#ifndef FC_DUMMY_MAIN_EQ_F77
-# ifdef __cplusplus
- extern "C"
-# endif
- int FC_DUMMY_MAIN() { return 1; }
-#endif
-#endif
-int
-main ()
-{
-static int test_array [1 - 2 * !(($2) >= $ac_mid)];
-test_array [0] = 0;
-return test_array [0];
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_lo=$ac_mid; break
-else
- as_fn_arith '(' $ac_mid ')' - 1 && ac_hi=$as_val
- if test $ac_mid -le $ac_hi; then
- ac_lo= ac_hi=
- break
- fi
- as_fn_arith 2 '*' $ac_mid && ac_mid=$as_val
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- done
-else
- ac_lo= ac_hi=
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-# Binary search between lo and hi bounds.
-while test "x$ac_lo" != "x$ac_hi"; do
- as_fn_arith '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo && ac_mid=$as_val
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$4
-#ifdef FC_DUMMY_MAIN
-#ifndef FC_DUMMY_MAIN_EQ_F77
-# ifdef __cplusplus
- extern "C"
-# endif
- int FC_DUMMY_MAIN() { return 1; }
-#endif
-#endif
-int
-main ()
-{
-static int test_array [1 - 2 * !(($2) <= $ac_mid)];
-test_array [0] = 0;
-return test_array [0];
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_hi=$ac_mid
-else
- as_fn_arith '(' $ac_mid ')' + 1 && ac_lo=$as_val
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-done
-case $ac_lo in #((
-?*) eval "$3=\$ac_lo"; ac_retval=0 ;;
-'') ac_retval=1 ;;
-esac
- else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$4
-static long int longval () { return $2; }
-static unsigned long int ulongval () { return $2; }
-#include <stdio.h>
-#include <stdlib.h>
-#ifdef FC_DUMMY_MAIN
-#ifndef FC_DUMMY_MAIN_EQ_F77
-# ifdef __cplusplus
- extern "C"
-# endif
- int FC_DUMMY_MAIN() { return 1; }
-#endif
-#endif
-int
-main ()
-{
-
- FILE *f = fopen ("conftest.val", "w");
- if (! f)
- return 1;
- if (($2) < 0)
- {
- long int i = longval ();
- if (i != ($2))
- return 1;
- fprintf (f, "%ld", i);
- }
- else
- {
- unsigned long int i = ulongval ();
- if (i != ($2))
- return 1;
- fprintf (f, "%lu", i);
- }
- /* Do not output a trailing newline, as this causes \r\n confusion
- on some platforms. */
- return ferror (f) || fclose (f) != 0;
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
- echo >>conftest.val; read $3 <conftest.val; ac_retval=0
-else
- ac_retval=1
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
-rm -f conftest.val
-
- fi
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
- as_fn_set_status $ac_retval
-
-} # ac_fn_c_compute_int
-
# ac_fn_c_check_decl LINENO SYMBOL VAR INCLUDES
# ---------------------------------------------
# Tests whether SYMBOL is declared in INCLUDES, setting cache variable VAR
@@ -2671,7 +2653,7 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by HDF5 $as_me 1.9.227, which was
+It was created by HDF5 $as_me 1.9.229, which was
generated by GNU Autoconf 2.69. Invocation command line was
$ $0 $@
@@ -3020,6 +3002,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
ac_config_headers="$ac_config_headers src/H5config.h"
@@ -3542,7 +3525,7 @@ fi
# Define the identity of the package.
PACKAGE='hdf5'
- VERSION='1.9.227'
+ VERSION='1.9.229'
cat >>confdefs.h <<_ACEOF
@@ -3864,7 +3847,6 @@ $as_echo "done" >&6; }
## MPE: whether MPE option is enabled. Default no.
## STATIC_EXEC: whether static-exec is enabled. Default no.
## HDF_FORTRAN: whether Fortran is enabled. Default no.
-## HDF_FORTRAN2003: whether Fortran 2003 is enabled. Default no.
## FC: Fortran compiler.
## HDF_CXX: whether C++ is enabled. Default no.
## CXX: C++ compiler.
@@ -3872,6 +3854,7 @@ $as_echo "done" >&6; }
## INSTRUMENT: whether INSTRUMENT is enabled. No default set here.
## CODESTACK: whether CODESTACK is enabled. Default no.
## HAVE_DMALLOC: whether system has dmalloc support. Default no.
+## HAVE_FLOAT128: whether system has Quad-Precision Math Library. Default no.
## DIRECT_VFD: whether DIRECT_VFD is enabled. Default no.
## THREADSAFE: whether THREADSAFE is enabled. Default no.
## STATIC_SHARED: whether static and/or shared libraries are requested.
@@ -3883,9 +3866,7 @@ $as_echo "done" >&6; }
MPE=no
STATIC_EXEC=no
HDF_FORTRAN=no
- HDF_FORTRAN2003=no
HDF_FORTRAN=no
- HDF_FORTRAN2003=no
HDF_CXX=no
HDF_CXX=no
HDF5_HL=yes
@@ -3899,6 +3880,7 @@ $as_echo "done" >&6; }
UNAME_INFO=`uname -a`
+
## ----------------------------------------------------------------------
## Some platforms have broken basename, and/or xargs programs. Check
## that it actually does what it's supposed to do. Catch this early
@@ -5122,6 +5104,1175 @@ $as_echo "yes" >&6; }
esac
## ----------------------------------------------------------------------
+## Data types and their sizes.
+##
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5
+$as_echo_n "checking how to run the C preprocessor... " >&6; }
+# On Suns, sometimes $CPP names a directory.
+if test -n "$CPP" && test -d "$CPP"; then
+ CPP=
+fi
+if test -z "$CPP"; then
+ if ${ac_cv_prog_CPP+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ # Double quotes because CPP needs to be expanded
+ for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp"
+ do
+ ac_preproc_ok=false
+for ac_c_preproc_warn_flag in '' yes
+do
+ # Use a header file that comes with gcc, so configuring glibc
+ # with a fresh cross-compiler works.
+ # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+ # <limits.h> exists even on freestanding compilers.
+ # On the NeXT, cc -E runs the code through the compiler's parser,
+ # not just through cpp. "Syntax error" is here to catch this case.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+ Syntax error
+_ACEOF
+if ac_fn_c_try_cpp "$LINENO"; then :
+
+else
+ # Broken: fails on valid input.
+continue
+fi
+rm -f conftest.err conftest.i conftest.$ac_ext
+
+ # OK, works on sane cases. Now check whether nonexistent headers
+ # can be detected and how.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <ac_nonexistent.h>
+_ACEOF
+if ac_fn_c_try_cpp "$LINENO"; then :
+ # Broken: success on invalid input.
+continue
+else
+ # Passes both tests.
+ac_preproc_ok=:
+break
+fi
+rm -f conftest.err conftest.i conftest.$ac_ext
+
+done
+# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
+rm -f conftest.i conftest.err conftest.$ac_ext
+if $ac_preproc_ok; then :
+ break
+fi
+
+ done
+ ac_cv_prog_CPP=$CPP
+
+fi
+ CPP=$ac_cv_prog_CPP
+else
+ ac_cv_prog_CPP=$CPP
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5
+$as_echo "$CPP" >&6; }
+ac_preproc_ok=false
+for ac_c_preproc_warn_flag in '' yes
+do
+ # Use a header file that comes with gcc, so configuring glibc
+ # with a fresh cross-compiler works.
+ # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+ # <limits.h> exists even on freestanding compilers.
+ # On the NeXT, cc -E runs the code through the compiler's parser,
+ # not just through cpp. "Syntax error" is here to catch this case.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+ Syntax error
+_ACEOF
+if ac_fn_c_try_cpp "$LINENO"; then :
+
+else
+ # Broken: fails on valid input.
+continue
+fi
+rm -f conftest.err conftest.i conftest.$ac_ext
+
+ # OK, works on sane cases. Now check whether nonexistent headers
+ # can be detected and how.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <ac_nonexistent.h>
+_ACEOF
+if ac_fn_c_try_cpp "$LINENO"; then :
+ # Broken: success on invalid input.
+continue
+else
+ # Passes both tests.
+ac_preproc_ok=:
+break
+fi
+rm -f conftest.err conftest.i conftest.$ac_ext
+
+done
+# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
+rm -f conftest.i conftest.err conftest.$ac_ext
+if $ac_preproc_ok; then :
+
+else
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "C preprocessor \"$CPP\" fails sanity check
+See \`config.log' for more details" "$LINENO" 5; }
+fi
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5
+$as_echo_n "checking for grep that handles long lines and -e... " >&6; }
+if ${ac_cv_path_GREP+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -z "$GREP"; then
+ ac_path_GREP_found=false
+ # Loop through the user's path and test for each of PROGNAME-LIST
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_prog in grep ggrep; do
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
+ as_fn_executable_p "$ac_path_GREP" || continue
+# Check for GNU ac_path_GREP and select it if it is found.
+ # Check for GNU $ac_path_GREP
+case `"$ac_path_GREP" --version 2>&1` in
+*GNU*)
+ ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;;
+*)
+ ac_count=0
+ $as_echo_n 0123456789 >"conftest.in"
+ while :
+ do
+ cat "conftest.in" "conftest.in" >"conftest.tmp"
+ mv "conftest.tmp" "conftest.in"
+ cp "conftest.in" "conftest.nl"
+ $as_echo 'GREP' >> "conftest.nl"
+ "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break
+ diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
+ as_fn_arith $ac_count + 1 && ac_count=$as_val
+ if test $ac_count -gt ${ac_path_GREP_max-0}; then
+ # Best one so far, save it but keep looking for a better one
+ ac_cv_path_GREP="$ac_path_GREP"
+ ac_path_GREP_max=$ac_count
+ fi
+ # 10*(2^10) chars as input seems more than enough
+ test $ac_count -gt 10 && break
+ done
+ rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
+esac
+
+ $ac_path_GREP_found && break 3
+ done
+ done
+ done
+IFS=$as_save_IFS
+ if test -z "$ac_cv_path_GREP"; then
+ as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
+ fi
+else
+ ac_cv_path_GREP=$GREP
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5
+$as_echo "$ac_cv_path_GREP" >&6; }
+ GREP="$ac_cv_path_GREP"
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5
+$as_echo_n "checking for egrep... " >&6; }
+if ${ac_cv_path_EGREP+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
+ then ac_cv_path_EGREP="$GREP -E"
+ else
+ if test -z "$EGREP"; then
+ ac_path_EGREP_found=false
+ # Loop through the user's path and test for each of PROGNAME-LIST
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_prog in egrep; do
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
+ as_fn_executable_p "$ac_path_EGREP" || continue
+# Check for GNU ac_path_EGREP and select it if it is found.
+ # Check for GNU $ac_path_EGREP
+case `"$ac_path_EGREP" --version 2>&1` in
+*GNU*)
+ ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;;
+*)
+ ac_count=0
+ $as_echo_n 0123456789 >"conftest.in"
+ while :
+ do
+ cat "conftest.in" "conftest.in" >"conftest.tmp"
+ mv "conftest.tmp" "conftest.in"
+ cp "conftest.in" "conftest.nl"
+ $as_echo 'EGREP' >> "conftest.nl"
+ "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break
+ diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
+ as_fn_arith $ac_count + 1 && ac_count=$as_val
+ if test $ac_count -gt ${ac_path_EGREP_max-0}; then
+ # Best one so far, save it but keep looking for a better one
+ ac_cv_path_EGREP="$ac_path_EGREP"
+ ac_path_EGREP_max=$ac_count
+ fi
+ # 10*(2^10) chars as input seems more than enough
+ test $ac_count -gt 10 && break
+ done
+ rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
+esac
+
+ $ac_path_EGREP_found && break 3
+ done
+ done
+ done
+IFS=$as_save_IFS
+ if test -z "$ac_cv_path_EGREP"; then
+ as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
+ fi
+else
+ ac_cv_path_EGREP=$EGREP
+fi
+
+ fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5
+$as_echo "$ac_cv_path_EGREP" >&6; }
+ EGREP="$ac_cv_path_EGREP"
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
+$as_echo_n "checking for ANSI C header files... " >&6; }
+if ${ac_cv_header_stdc+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <stdlib.h>
+#include <stdarg.h>
+#include <string.h>
+#include <float.h>
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ ac_cv_header_stdc=yes
+else
+ ac_cv_header_stdc=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+if test $ac_cv_header_stdc = yes; then
+ # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <string.h>
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+ $EGREP "memchr" >/dev/null 2>&1; then :
+
+else
+ ac_cv_header_stdc=no
+fi
+rm -f conftest*
+
+fi
+
+if test $ac_cv_header_stdc = yes; then
+ # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <stdlib.h>
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+ $EGREP "free" >/dev/null 2>&1; then :
+
+else
+ ac_cv_header_stdc=no
+fi
+rm -f conftest*
+
+fi
+
+if test $ac_cv_header_stdc = yes; then
+ # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
+ if test "$cross_compiling" = yes; then :
+ :
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <ctype.h>
+#include <stdlib.h>
+#if ((' ' & 0x0FF) == 0x020)
+# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
+# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
+#else
+# define ISLOWER(c) \
+ (('a' <= (c) && (c) <= 'i') \
+ || ('j' <= (c) && (c) <= 'r') \
+ || ('s' <= (c) && (c) <= 'z'))
+# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
+#endif
+
+#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
+int
+main ()
+{
+ int i;
+ for (i = 0; i < 256; i++)
+ if (XOR (islower (i), ISLOWER (i))
+ || toupper (i) != TOUPPER (i))
+ return 2;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+
+else
+ ac_cv_header_stdc=no
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+ conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5
+$as_echo "$ac_cv_header_stdc" >&6; }
+if test $ac_cv_header_stdc = yes; then
+
+$as_echo "#define STDC_HEADERS 1" >>confdefs.h
+
+fi
+
+# On IRIX 5.3, sys/types and inttypes.h are conflicting.
+for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \
+ inttypes.h stdint.h unistd.h
+do :
+ as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
+ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default
+"
+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
+ cat >>confdefs.h <<_ACEOF
+#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+
+done
+
+
+ac_fn_c_check_type "$LINENO" "off_t" "ac_cv_type_off_t" "$ac_includes_default"
+if test "x$ac_cv_type_off_t" = xyes; then :
+
+else
+
+cat >>confdefs.h <<_ACEOF
+#define off_t long int
+_ACEOF
+
+fi
+
+ac_fn_c_check_type "$LINENO" "size_t" "ac_cv_type_size_t" "$ac_includes_default"
+if test "x$ac_cv_type_size_t" = xyes; then :
+
+else
+
+cat >>confdefs.h <<_ACEOF
+#define size_t unsigned long
+_ACEOF
+
+fi
+
+ac_fn_c_check_type "$LINENO" "ssize_t" "ac_cv_type_ssize_t" "$ac_includes_default"
+if test "x$ac_cv_type_ssize_t" = xyes; then :
+
+else
+
+cat >>confdefs.h <<_ACEOF
+#define ssize_t long
+_ACEOF
+
+fi
+
+ac_fn_c_check_type "$LINENO" "ptrdiff_t" "ac_cv_type_ptrdiff_t" "$ac_includes_default"
+if test "x$ac_cv_type_ptrdiff_t" = xyes; then :
+
+else
+
+cat >>confdefs.h <<_ACEOF
+#define ptrdiff_t long
+_ACEOF
+
+fi
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether byte ordering is bigendian" >&5
+$as_echo_n "checking whether byte ordering is bigendian... " >&6; }
+if ${ac_cv_c_bigendian+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_cv_c_bigendian=unknown
+ # See if we're dealing with a universal compiler.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#ifndef __APPLE_CC__
+ not a universal capable compiler
+ #endif
+ typedef int dummy;
+
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+
+ # Check for potential -arch flags. It is not universal unless
+ # there are at least two -arch flags with different values.
+ ac_arch=
+ ac_prev=
+ for ac_word in $CC $CFLAGS $CPPFLAGS $LDFLAGS; do
+ if test -n "$ac_prev"; then
+ case $ac_word in
+ i?86 | x86_64 | ppc | ppc64)
+ if test -z "$ac_arch" || test "$ac_arch" = "$ac_word"; then
+ ac_arch=$ac_word
+ else
+ ac_cv_c_bigendian=universal
+ break
+ fi
+ ;;
+ esac
+ ac_prev=
+ elif test "x$ac_word" = "x-arch"; then
+ ac_prev=arch
+ fi
+ done
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ if test $ac_cv_c_bigendian = unknown; then
+ # See if sys/param.h defines the BYTE_ORDER macro.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <sys/types.h>
+ #include <sys/param.h>
+
+int
+main ()
+{
+#if ! (defined BYTE_ORDER && defined BIG_ENDIAN \
+ && defined LITTLE_ENDIAN && BYTE_ORDER && BIG_ENDIAN \
+ && LITTLE_ENDIAN)
+ bogus endian macros
+ #endif
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ # It does; now see whether it defined to BIG_ENDIAN or not.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <sys/types.h>
+ #include <sys/param.h>
+
+int
+main ()
+{
+#if BYTE_ORDER != BIG_ENDIAN
+ not big endian
+ #endif
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ ac_cv_c_bigendian=yes
+else
+ ac_cv_c_bigendian=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ fi
+ if test $ac_cv_c_bigendian = unknown; then
+ # See if <limits.h> defines _LITTLE_ENDIAN or _BIG_ENDIAN (e.g., Solaris).
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <limits.h>
+
+int
+main ()
+{
+#if ! (defined _LITTLE_ENDIAN || defined _BIG_ENDIAN)
+ bogus endian macros
+ #endif
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ # It does; now see whether it defined to _BIG_ENDIAN or not.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <limits.h>
+
+int
+main ()
+{
+#ifndef _BIG_ENDIAN
+ not big endian
+ #endif
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ ac_cv_c_bigendian=yes
+else
+ ac_cv_c_bigendian=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ fi
+ if test $ac_cv_c_bigendian = unknown; then
+ # Compile a test program.
+ if test "$cross_compiling" = yes; then :
+ # Try to guess by grepping values from an object file.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+short int ascii_mm[] =
+ { 0x4249, 0x4765, 0x6E44, 0x6961, 0x6E53, 0x7953, 0 };
+ short int ascii_ii[] =
+ { 0x694C, 0x5454, 0x656C, 0x6E45, 0x6944, 0x6E61, 0 };
+ int use_ascii (int i) {
+ return ascii_mm[i] + ascii_ii[i];
+ }
+ short int ebcdic_ii[] =
+ { 0x89D3, 0xE3E3, 0x8593, 0x95C5, 0x89C4, 0x9581, 0 };
+ short int ebcdic_mm[] =
+ { 0xC2C9, 0xC785, 0x95C4, 0x8981, 0x95E2, 0xA8E2, 0 };
+ int use_ebcdic (int i) {
+ return ebcdic_mm[i] + ebcdic_ii[i];
+ }
+ extern int foo;
+
+int
+main ()
+{
+return use_ascii (foo) == use_ebcdic (foo);
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ if grep BIGenDianSyS conftest.$ac_objext >/dev/null; then
+ ac_cv_c_bigendian=yes
+ fi
+ if grep LiTTleEnDian conftest.$ac_objext >/dev/null ; then
+ if test "$ac_cv_c_bigendian" = unknown; then
+ ac_cv_c_bigendian=no
+ else
+ # finding both strings is unlikely to happen, but who knows?
+ ac_cv_c_bigendian=unknown
+ fi
+ fi
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+$ac_includes_default
+int
+main ()
+{
+
+ /* Are we little or big endian? From Harbison&Steele. */
+ union
+ {
+ long int l;
+ char c[sizeof (long int)];
+ } u;
+ u.l = 1;
+ return u.c[sizeof (long int) - 1] == 1;
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+ ac_cv_c_bigendian=no
+else
+ ac_cv_c_bigendian=yes
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+ conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+ fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_bigendian" >&5
+$as_echo "$ac_cv_c_bigendian" >&6; }
+ case $ac_cv_c_bigendian in #(
+ yes)
+ $as_echo "#define WORDS_BIGENDIAN 1" >>confdefs.h
+;; #(
+ no)
+ ;; #(
+ universal)
+
+$as_echo "#define AC_APPLE_UNIVERSAL_BUILD 1" >>confdefs.h
+
+ ;; #(
+ *)
+ as_fn_error $? "unknown endianness
+ presetting ac_cv_c_bigendian=no (or yes) will help" "$LINENO" 5 ;;
+ esac
+
+# The cast to long int works around a bug in the HP C Compiler
+# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
+# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
+# This bug is HP SR number 8606223364.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of char" >&5
+$as_echo_n "checking size of char... " >&6; }
+if ${ac_cv_sizeof_char+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (char))" "ac_cv_sizeof_char" "$ac_includes_default"; then :
+
+else
+ if test "$ac_cv_type_char" = yes; then
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error 77 "cannot compute sizeof (char)
+See \`config.log' for more details" "$LINENO" 5; }
+ else
+ ac_cv_sizeof_char=0
+ fi
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_char" >&5
+$as_echo "$ac_cv_sizeof_char" >&6; }
+
+
+
+cat >>confdefs.h <<_ACEOF
+#define SIZEOF_CHAR $ac_cv_sizeof_char
+_ACEOF
+
+
+# The cast to long int works around a bug in the HP C Compiler
+# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
+# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
+# This bug is HP SR number 8606223364.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of short" >&5
+$as_echo_n "checking size of short... " >&6; }
+if ${ac_cv_sizeof_short+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (short))" "ac_cv_sizeof_short" "$ac_includes_default"; then :
+
+else
+ if test "$ac_cv_type_short" = yes; then
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error 77 "cannot compute sizeof (short)
+See \`config.log' for more details" "$LINENO" 5; }
+ else
+ ac_cv_sizeof_short=0
+ fi
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_short" >&5
+$as_echo "$ac_cv_sizeof_short" >&6; }
+
+
+
+cat >>confdefs.h <<_ACEOF
+#define SIZEOF_SHORT $ac_cv_sizeof_short
+_ACEOF
+
+
+# The cast to long int works around a bug in the HP C Compiler
+# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
+# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
+# This bug is HP SR number 8606223364.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of int" >&5
+$as_echo_n "checking size of int... " >&6; }
+if ${ac_cv_sizeof_int+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (int))" "ac_cv_sizeof_int" "$ac_includes_default"; then :
+
+else
+ if test "$ac_cv_type_int" = yes; then
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error 77 "cannot compute sizeof (int)
+See \`config.log' for more details" "$LINENO" 5; }
+ else
+ ac_cv_sizeof_int=0
+ fi
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_int" >&5
+$as_echo "$ac_cv_sizeof_int" >&6; }
+
+
+
+cat >>confdefs.h <<_ACEOF
+#define SIZEOF_INT $ac_cv_sizeof_int
+_ACEOF
+
+
+# The cast to long int works around a bug in the HP C Compiler
+# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
+# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
+# This bug is HP SR number 8606223364.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of unsigned" >&5
+$as_echo_n "checking size of unsigned... " >&6; }
+if ${ac_cv_sizeof_unsigned+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (unsigned))" "ac_cv_sizeof_unsigned" "$ac_includes_default"; then :
+
+else
+ if test "$ac_cv_type_unsigned" = yes; then
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error 77 "cannot compute sizeof (unsigned)
+See \`config.log' for more details" "$LINENO" 5; }
+ else
+ ac_cv_sizeof_unsigned=0
+ fi
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_unsigned" >&5
+$as_echo "$ac_cv_sizeof_unsigned" >&6; }
+
+
+
+cat >>confdefs.h <<_ACEOF
+#define SIZEOF_UNSIGNED $ac_cv_sizeof_unsigned
+_ACEOF
+
+
+# The cast to long int works around a bug in the HP C Compiler
+# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
+# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
+# This bug is HP SR number 8606223364.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of long" >&5
+$as_echo_n "checking size of long... " >&6; }
+if ${ac_cv_sizeof_long+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (long))" "ac_cv_sizeof_long" "$ac_includes_default"; then :
+
+else
+ if test "$ac_cv_type_long" = yes; then
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error 77 "cannot compute sizeof (long)
+See \`config.log' for more details" "$LINENO" 5; }
+ else
+ ac_cv_sizeof_long=0
+ fi
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_long" >&5
+$as_echo "$ac_cv_sizeof_long" >&6; }
+
+
+
+cat >>confdefs.h <<_ACEOF
+#define SIZEOF_LONG $ac_cv_sizeof_long
+_ACEOF
+
+
+# The cast to long int works around a bug in the HP C Compiler
+# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
+# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
+# This bug is HP SR number 8606223364.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of long long" >&5
+$as_echo_n "checking size of long long... " >&6; }
+if ${ac_cv_sizeof_long_long+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (long long))" "ac_cv_sizeof_long_long" "$ac_includes_default"; then :
+
+else
+ if test "$ac_cv_type_long_long" = yes; then
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error 77 "cannot compute sizeof (long long)
+See \`config.log' for more details" "$LINENO" 5; }
+ else
+ ac_cv_sizeof_long_long=0
+ fi
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_long_long" >&5
+$as_echo "$ac_cv_sizeof_long_long" >&6; }
+
+
+
+cat >>confdefs.h <<_ACEOF
+#define SIZEOF_LONG_LONG $ac_cv_sizeof_long_long
+_ACEOF
+
+
+# The cast to long int works around a bug in the HP C Compiler
+# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
+# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
+# This bug is HP SR number 8606223364.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of __int64" >&5
+$as_echo_n "checking size of __int64... " >&6; }
+if ${ac_cv_sizeof___int64+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (__int64))" "ac_cv_sizeof___int64" "$ac_includes_default"; then :
+
+else
+ if test "$ac_cv_type___int64" = yes; then
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error 77 "cannot compute sizeof (__int64)
+See \`config.log' for more details" "$LINENO" 5; }
+ else
+ ac_cv_sizeof___int64=0
+ fi
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof___int64" >&5
+$as_echo "$ac_cv_sizeof___int64" >&6; }
+
+
+
+cat >>confdefs.h <<_ACEOF
+#define SIZEOF___INT64 $ac_cv_sizeof___int64
+_ACEOF
+
+
+# The cast to long int works around a bug in the HP C Compiler
+# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
+# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
+# This bug is HP SR number 8606223364.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of float" >&5
+$as_echo_n "checking size of float... " >&6; }
+if ${ac_cv_sizeof_float+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (float))" "ac_cv_sizeof_float" "$ac_includes_default"; then :
+
+else
+ if test "$ac_cv_type_float" = yes; then
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error 77 "cannot compute sizeof (float)
+See \`config.log' for more details" "$LINENO" 5; }
+ else
+ ac_cv_sizeof_float=0
+ fi
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_float" >&5
+$as_echo "$ac_cv_sizeof_float" >&6; }
+
+
+
+cat >>confdefs.h <<_ACEOF
+#define SIZEOF_FLOAT $ac_cv_sizeof_float
+_ACEOF
+
+
+# The cast to long int works around a bug in the HP C Compiler
+# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
+# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
+# This bug is HP SR number 8606223364.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of double" >&5
+$as_echo_n "checking size of double... " >&6; }
+if ${ac_cv_sizeof_double+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (double))" "ac_cv_sizeof_double" "$ac_includes_default"; then :
+
+else
+ if test "$ac_cv_type_double" = yes; then
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error 77 "cannot compute sizeof (double)
+See \`config.log' for more details" "$LINENO" 5; }
+ else
+ ac_cv_sizeof_double=0
+ fi
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_double" >&5
+$as_echo "$ac_cv_sizeof_double" >&6; }
+
+
+
+cat >>confdefs.h <<_ACEOF
+#define SIZEOF_DOUBLE $ac_cv_sizeof_double
+_ACEOF
+
+
+# The cast to long int works around a bug in the HP C Compiler
+# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
+# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
+# This bug is HP SR number 8606223364.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of long double" >&5
+$as_echo_n "checking size of long double... " >&6; }
+if ${ac_cv_sizeof_long_double+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (long double))" "ac_cv_sizeof_long_double" "$ac_includes_default"; then :
+
+else
+ if test "$ac_cv_type_long_double" = yes; then
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error 77 "cannot compute sizeof (long double)
+See \`config.log' for more details" "$LINENO" 5; }
+ else
+ ac_cv_sizeof_long_double=0
+ fi
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_long_double" >&5
+$as_echo "$ac_cv_sizeof_long_double" >&6; }
+
+
+
+cat >>confdefs.h <<_ACEOF
+#define SIZEOF_LONG_DOUBLE $ac_cv_sizeof_long_double
+_ACEOF
+
+
+
+## Check for non-standard extenstion __FLOAT128
+HAVE_FLOAT128=0
+HAVE_QUADMATH=0
+FLT128_DIG=0
+LDBL_DIG=0
+
+# The cast to long int works around a bug in the HP C Compiler
+# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
+# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
+# This bug is HP SR number 8606223364.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of __float128" >&5
+$as_echo_n "checking size of __float128... " >&6; }
+if ${ac_cv_sizeof___float128+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (__float128))" "ac_cv_sizeof___float128" "$ac_includes_default"; then :
+
+else
+ if test "$ac_cv_type___float128" = yes; then
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error 77 "cannot compute sizeof (__float128)
+See \`config.log' for more details" "$LINENO" 5; }
+ else
+ ac_cv_sizeof___float128=0
+ fi
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof___float128" >&5
+$as_echo "$ac_cv_sizeof___float128" >&6; }
+
+
+
+cat >>confdefs.h <<_ACEOF
+#define SIZEOF___FLOAT128 $ac_cv_sizeof___float128
+_ACEOF
+
+
+# The cast to long int works around a bug in the HP C Compiler
+# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
+# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
+# This bug is HP SR number 8606223364.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of _Quad" >&5
+$as_echo_n "checking size of _Quad... " >&6; }
+if ${ac_cv_sizeof__Quad+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (_Quad))" "ac_cv_sizeof__Quad" "$ac_includes_default"; then :
+
+else
+ if test "$ac_cv_type__Quad" = yes; then
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error 77 "cannot compute sizeof (_Quad)
+See \`config.log' for more details" "$LINENO" 5; }
+ else
+ ac_cv_sizeof__Quad=0
+ fi
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof__Quad" >&5
+$as_echo "$ac_cv_sizeof__Quad" >&6; }
+
+
+
+cat >>confdefs.h <<_ACEOF
+#define SIZEOF__QUAD $ac_cv_sizeof__Quad
+_ACEOF
+
+
+for ac_header in quadmath.h
+do :
+ ac_fn_c_check_header_mongrel "$LINENO" "quadmath.h" "ac_cv_header_quadmath_h" "$ac_includes_default"
+if test "x$ac_cv_header_quadmath_h" = xyes; then :
+ cat >>confdefs.h <<_ACEOF
+#define HAVE_QUADMATH_H 1
+_ACEOF
+ HAVE_QUADMATH=1
+fi
+
+done
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking maximum decimal precision for C" >&5
+$as_echo_n "checking maximum decimal precision for C... " >&6; }
+rm -f pac_Cconftest.out
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+
+ #include <float.h>
+ #include <stdio.h>
+ #define CHECK_FLOAT128 $ac_cv_sizeof___float128
+ #if CHECK_FLOAT128!=0
+ # if $HAVE_QUADMATH!=0
+ #include <quadmath.h>
+ # endif
+ # ifdef FLT128_DIG
+ #define C_FLT128_DIG FLT128_DIG
+ # else
+ #define C_FLT128_DIG 0
+ # endif
+ #else
+ #define C_FLT128_DIG 0
+ #endif
+ #if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
+ #define C_LDBL_DIG DECIMAL_DIG
+ #else
+ #define C_LDBL_DIG LDBL_DIG
+ #endif
+
+int
+main ()
+{
+
+ FILE * pFile;
+ pFile = fopen("pac_Cconftest.out","w");
+ fprintf(pFile, "%d\n%d\n", C_LDBL_DIG, C_FLT128_DIG);
+
+ ;
+ return 0;
+}
+
+_ACEOF
+ if test "$cross_compiling" = yes; then :
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "cannot run test program while cross compiling
+See \`config.log' for more details" "$LINENO" 5; }
+else
+ if ac_fn_c_try_run "$LINENO"; then :
+
+ if test -s pac_Cconftest.out ; then
+ LDBL_DIG="`sed -n '1p' pac_Cconftest.out`"
+ FLT128_DIG="`sed -n '2p' pac_Cconftest.out`"
+ else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: No output from test program!" >&5
+$as_echo "$as_me: WARNING: No output from test program!" >&2;}
+ fi
+ rm -f pac_Cconftest.out
+
+else
+
+ as_fn_error $? "C program fails to build or run!" "$LINENO" 5
+
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+ conftest.$ac_objext conftest.beam
+fi
+
+
+
+if test "$ac_cv_sizeof___float128" != 0 && test "$FLT128_DIG" != 0 ; then
+
+$as_echo "#define HAVE_FLOAT128 1" >>confdefs.h
+
+ PAC_C_MAX_REAL_PRECISION=$FLT128_DIG
+else
+ PAC_C_MAX_REAL_PRECISION=$LDBL_DIG
+fi
+
+cat >>confdefs.h <<_ACEOF
+#define PAC_C_MAX_REAL_PRECISION $PAC_C_MAX_REAL_PRECISION
+_ACEOF
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $PAC_C_MAX_REAL_PRECISION" >&5
+$as_echo "$PAC_C_MAX_REAL_PRECISION" >&6; }
+## ----------------------------------------------------------------------
## Check if they would like the Fortran interface compiled
##
HDF5_INTERFACES=""
@@ -5139,38 +6290,17 @@ else
echo "no"
fi
+if test "X$HDF_FORTRAN" = "Xyes"; then
-## ----------------------------------------------------------------------
-## Check if they would like the Fortran 2003 interface compiled
-##
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if Fortran 2003 interface enabled" >&5
-$as_echo_n "checking if Fortran 2003 interface enabled... " >&6; }
-# Check whether --enable-fortran2003 was given.
-if test "${enable_fortran2003+set}" = set; then :
- enableval=$enable_fortran2003; HDF_FORTRAN2003=$enableval
-fi
-
-
-## ----------------------------------------------------------------------
-## Check to make sure --enable-fortran is present if --enable-fortran2003
-## was specified
-
-if test "X$HDF_FORTRAN2003" = "Xyes" && test "X$HDF_FORTRAN" = "Xno"; then
- echo "no"
- as_fn_error $? "--enable-fortran must be used with --enable-fortran2003" "$LINENO" 5
-else
- if test "X$HDF_FORTRAN2003" = "Xyes" && test "X$HDF_FORTRAN" = "Xyes"; then
- echo "yes"
- else
- echo "no"
- fi
-fi
+## We will output an include file for Fortran, H5config_f.inc which
+## contains various configure definitions used by the Fortran Library.
+## Prepend H5_ to all macro names. This avoids name conflict between HDF5 macro
+## names and those generated by another software package that uses the HDF5 library.
+ ac_config_headers="$ac_config_headers fortran/src/H5config_f.inc"
-if test "X$HDF_FORTRAN" = "Xyes"; then
HDF_FORTRAN=yes
-
HDF5_INTERFACES="$HDF5_INTERFACES fortran"
## --------------------------------------------------------------------
@@ -5771,6 +6901,43 @@ ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $ac_fcflags_srcext conftest
ac_compiler_gnu=$ac_cv_fc_compiler_gnu
+ ## Checking if the compiler supports the required Fortran 2003 features and
+ ## stopping if it does not.
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking if Fortran compiler version compatible with Fortran 2003 HDF" >&5
+$as_echo_n "checking if Fortran compiler version compatible with Fortran 2003 HDF... " >&6; }
+ HAVE_F2003_REQUIREMENTS="no"
+ cat > conftest.$ac_ext <<_ACEOF
+ program main
+
+
+ USE iso_c_binding
+ IMPLICIT NONE
+ TYPE(C_PTR) :: ptr
+ TYPE(C_FUNPTR) :: funptr
+ CHARACTER(LEN=80, KIND=c_char), TARGET :: ichr
+
+ ptr = C_LOC(ichr(1:1))
+
+
+ end
+_ACEOF
+if ac_fn_fc_try_link "$LINENO"; then :
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+ HAVE_F2003_REQUIREMENTS=yes
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+
+
+ if test "X$HAVE_F2003_REQUIREMENTS" = "Xno"; then
+ as_fn_error $? "Fortran compiler lacks required Fortran 2003 features; unsupported Fortran 2003 compiler, remove --enable-fortran" "$LINENO" 5
+ fi
+
## --------------------------------------------------------------------
## Define wrappers for the C compiler to use Fortran function names
##
@@ -6120,7 +7287,6 @@ ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5'
ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $ac_fcflags_srcext conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_fc_compiler_gnu
-
ac_ext=${ac_fc_srcext-f}
ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5'
ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $ac_fcflags_srcext conftest.$ac_ext $LIBS >&5'
@@ -6535,142 +7701,748 @@ rm -f core conftest.err conftest.$ac_objext \
- ## Check to see if -r8 was specified to determine if we need to
- ## compile the DOUBLE PRECISION interfaces.
+ ## Set the sizeof function for use later in the fortran tests
+ if test "X$HAVE_STORAGE_SIZE_FORTRAN" = "Xyes";then
+ FC_SIZEOF_A="STORAGE_SIZE(a, c_size_t)/STORAGE_SIZE(c_char_'a',c_size_t)"
+ FC_SIZEOF_B="STORAGE_SIZE(b, c_size_t)/STORAGE_SIZE(c_char_'a',c_size_t)"
+ FC_SIZEOF_C="STORAGE_SIZE(c, c_size_t)/STORAGE_SIZE(c_char_'a',c_size_t)"
+ else
+ if test "X$HAVE_SIZEOF_FORTRAN" = "Xyes";then
+ FC_SIZEOF_A="SIZEOF(a)"
+ FC_SIZEOF_B="SIZEOF(b)"
+ FC_SIZEOF_C="SIZEOF(c)"
+ else
+ ## If neither intrinsic functions SIZEOF or STORAGE_SIZE is available then stop configure with an error
+ as_fn_error $? "Fortran compiler requires either intrinsic functions SIZEOF or STORAGE_SIZE" "$LINENO" 5
+ fi
+ fi
- FORTRAN_DEFAULT_REALisDBLE="no"
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking if Fortran default REAL is DOUBLE PRECISION" >&5
-$as_echo_n "checking if Fortran default REAL is DOUBLE PRECISION... " >&6; }
+ ## See if the fortran compiler supports the intrinsic module "ISO_FORTRAN_ENV"
+ HAVE_ISO_FORTRAN_ENV="no"
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking if Fortran compiler supports intrinsic module ISO_FORTRAN_ENV" >&5
+$as_echo_n "checking if Fortran compiler supports intrinsic module ISO_FORTRAN_ENV... " >&6; }
cat > conftest.$ac_ext <<_ACEOF
- MODULE type_mod
- INTERFACE h5t
- MODULE PROCEDURE h5t_real
- MODULE PROCEDURE h5t_dble
- END INTERFACE
- CONTAINS
- SUBROUTINE h5t_real(r)
- REAL :: r
- END SUBROUTINE h5t_real
- SUBROUTINE h5t_dble(d)
- DOUBLE PRECISION :: d
- END SUBROUTINE h5t_dble
- END MODULE type_mod
- PROGRAM main
- USE type_mod
- REAL :: r
- DOUBLE PRECISION :: d
- CALL h5t(r)
- CALL h5t(d)
- END PROGRAM main
+ PROGRAM main
+ USE, INTRINSIC :: ISO_FORTRAN_ENV
+ END PROGRAM
_ACEOF
-if ac_fn_fc_try_compile "$LINENO"; then :
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-else
+if ac_fn_fc_try_link "$LINENO"; then :
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
- FORTRAN_DEFAULT_REALisDBLE="yes"
+ HAVE_ISO_FORTRAN_ENV="yes"
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+ ## Check KIND and size of native integer
- if test "X$HDF_FORTRAN2003" = "Xyes"; then
+ac_ext=${ac_fc_srcext-f}
+ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5'
+ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $ac_fcflags_srcext conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_fc_compiler_gnu
- ## Checking if the compiler supports the required Fortran 2003 features and
- ## disable Fortran 2003 if it does not.
+rm -f pac_fconftest.out
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking if Fortran compiler version compatible with Fortran 2003 HDF" >&5
-$as_echo_n "checking if Fortran compiler version compatible with Fortran 2003 HDF... " >&6; }
- HAVE_FORTRAN_2003="no"
- HAVE_F2003_REQUIREMENTS="no"
- cat > conftest.$ac_ext <<_ACEOF
- program main
+if test "$cross_compiling" = yes; then :
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "cannot run test program while cross compiling
+See \`config.log' for more details" "$LINENO" 5; }
+else
+ cat > conftest.$ac_ext <<_ACEOF
- USE iso_c_binding
+ PROGRAM main
IMPLICIT NONE
- TYPE(C_PTR) :: ptr
- TYPE(C_FUNPTR) :: funptr
- CHARACTER(LEN=80, KIND=c_char), TARGET :: ichr
+ INTEGER :: ik, k, lastkind, max_decimal_prec
+ INTEGER :: num_rkinds, num_ikinds
+ num_ikinds = 0
+ lastkind=SELECTED_INT_KIND(1)
+ OPEN(8, FILE='pac_fconftest.out', form='formatted')
+ ! Find integer KINDs
+ DO ik=2,36
+ k = SELECTED_INT_KIND(ik)
+ IF (k .NE. lastkind) THEN
+ num_ikinds = num_ikinds + 1
+ WRITE(8,'(I0)',ADVANCE='NO') lastkind
+ lastkind = k
+ IF(k.GT.0) WRITE(8,'(A)',ADVANCE='NO') ','
+ ENDIF
+ IF (k .LE. 0) EXIT
+ ENDDO
+ IF (lastkind.NE.-1) THEN
+ num_ikinds = num_ikinds + 1
+ WRITE(8,'(I0)') lastkind
+ ELSE
+ WRITE(8,'()')
+ ENDIF
+ ! Find real KINDs
+ num_rkinds = 0
+ lastkind=SELECTED_REAL_KIND(1)
+ max_decimal_prec = 1
+ DO ik=2,36
+ k = SELECTED_REAL_KIND(ik)
+ IF (k .NE. lastkind) THEN
+ num_rkinds = num_rkinds + 1
+ WRITE(8,'(I0)',ADVANCE='NO') lastkind
+ lastkind = k
+ IF(k.GT.0) WRITE(8,'(A)',ADVANCE='NO') ','
+ max_decimal_prec = ik
+ ENDIF
+ IF (k .LE. 0) EXIT
+ ENDDO
+ IF (lastkind.NE.-1)THEN
+ num_rkinds = num_rkinds + 1
+ WRITE(8,'(I0)') lastkind
+ ELSE
+ WRITE(8,'()')
+ ENDIF
+ WRITE(8,'(I0)') max_decimal_prec
+ WRITE(8,'(I0)') num_ikinds
+ WRITE(8,'(I0)') num_rkinds
+ END
+
+
+_ACEOF
+if ac_fn_fc_try_run "$LINENO"; then :
+
+ if test -s pac_fconftest.out ; then
+
+
+ pac_validIntKinds="`sed -n '1p' pac_fconftest.out`"
+ pac_validRealKinds="`sed -n '2p' pac_fconftest.out`"
+ PAC_FC_MAX_REAL_PRECISION="`sed -n '3p' pac_fconftest.out`"
- ptr = C_LOC(ichr(1:1))
+cat >>confdefs.h <<_ACEOF
+#define PAC_FC_MAX_REAL_PRECISION $PAC_FC_MAX_REAL_PRECISION
+_ACEOF
- end
+ PAC_FC_ALL_INTEGER_KINDS="{`echo $pac_validIntKinds`}"
+ PAC_FC_ALL_REAL_KINDS="{`echo $pac_validRealKinds`}"
+
+ H5CONFIG_F_NUM_IKIND="INTEGER, PARAMETER :: num_ikinds = `sed -n '4p' pac_fconftest.out`"
+ H5CONFIG_F_IKIND="INTEGER, DIMENSION(1:num_ikinds) :: ikind = (/`echo $pac_validIntKinds`/)"
+ H5CONFIG_F_NUM_RKIND="INTEGER, PARAMETER :: num_rkinds = `sed -n '5p' pac_fconftest.out`"
+ H5CONFIG_F_RKIND="INTEGER, DIMENSION(1:num_rkinds) :: rkind = (/`echo $pac_validRealKinds`/)"
+
+
+cat >>confdefs.h <<_ACEOF
+#define H5CONFIG_F_NUM_RKIND $H5CONFIG_F_NUM_RKIND
_ACEOF
-if ac_fn_fc_try_link "$LINENO"; then :
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
- HAVE_F2003_REQUIREMENTS=yes
+
+
+cat >>confdefs.h <<_ACEOF
+#define H5CONFIG_F_NUM_IKIND $H5CONFIG_F_NUM_IKIND
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+#define H5CONFIG_F_RKIND $H5CONFIG_F_RKIND
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+#define H5CONFIG_F_IKIND $H5CONFIG_F_IKIND
+_ACEOF
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Fortran INTEGER KINDs" >&5
+$as_echo_n "checking for Fortran INTEGER KINDs... " >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PAC_FC_ALL_INTEGER_KINDS" >&5
+$as_echo "$PAC_FC_ALL_INTEGER_KINDS" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Fortran REAL KINDs" >&5
+$as_echo_n "checking for Fortran REAL KINDs... " >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PAC_FC_ALL_REAL_KINDS" >&5
+$as_echo "$PAC_FC_ALL_REAL_KINDS" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Fortran REALs maximum decimal precision" >&5
+$as_echo_n "checking for Fortran REALs maximum decimal precision... " >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PAC_FC_MAX_REAL_PRECISION" >&5
+$as_echo "$PAC_FC_MAX_REAL_PRECISION" >&6; }
+ else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: Error" >&5
+$as_echo "Error" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: No output from test program!" >&5
+$as_echo "$as_me: WARNING: No output from test program!" >&2;}
+ fi
+ rm -f pac_fconftest.out
+
else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: Error" >&5
+$as_echo "Error" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Failed to run program to determine available KINDs" >&5
+$as_echo "$as_me: WARNING: Failed to run program to determine available KINDs" >&2;}
+
fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+ conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+
+ac_ext=${ac_fc_srcext-f}
+ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5'
+ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $ac_fcflags_srcext conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_fc_compiler_gnu
+
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking sizeof of native KINDS" >&5
+$as_echo_n "checking sizeof of native KINDS... " >&6; }
+ac_ext=${ac_fc_srcext-f}
+ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5'
+ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $ac_fcflags_srcext conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_fc_compiler_gnu
+
+pack_int_sizeof=""
+rm -f pac_fconftest.out
+ cat > conftest.$ac_ext <<_ACEOF
+
+
+ PROGRAM main
+ USE ISO_C_BINDING
+ IMPLICIT NONE
+ INTEGER a
+ REAL b
+ DOUBLE PRECISION c
+ OPEN(8, FILE='pac_fconftest.out', FORM='formatted')
+ WRITE(8,*) $FC_SIZEOF_A
+ WRITE(8,*) kind(a)
+ WRITE(8,*) $FC_SIZEOF_B
+ WRITE(8,*) kind(b)
+ WRITE(8,*) $FC_SIZEOF_C
+ WRITE(8,*) kind(c)
+ CLOSE(8)
+ END
+
+
+_ACEOF
+ if test "$cross_compiling" = yes; then :
+
+ pack_int_sizeof=""
+
+else
+ if ac_fn_fc_try_run "$LINENO"; then :
+
+ if test -s pac_fconftest.out ; then
+ PAC_FORTRAN_NATIVE_INTEGER_KIND="`sed -n '1p' pac_fconftest.out`"
+ PAC_FORTRAN_NATIVE_INTEGER_SIZEOF="`sed -n '2p' pac_fconftest.out`"
+ PAC_FORTRAN_NATIVE_REAL_KIND="`sed -n '3p' pac_fconftest.out`"
+ PAC_FORTRAN_NATIVE_REAL_SIZEOF="`sed -n '4p' pac_fconftest.out`"
+ PAC_FORTRAN_NATIVE_DOUBLE_KIND="`sed -n '5p' pac_fconftest.out`"
+ PAC_FORTRAN_NATIVE_DOUBLE_SIZEOF="`sed -n '6p' pac_fconftest.out`"
+ else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: No output from test program!" >&5
+$as_echo "$as_me: WARNING: No output from test program!" >&2;}
+ fi
+ rm -f pac_fconftest.out
+
+else
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Fortran program fails to build or run!" >&5
+$as_echo "$as_me: WARNING: Fortran program fails to build or run!" >&2;}
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+ conftest.$ac_objext conftest.beam
+fi
- if test "X$HAVE_F2003_REQUIREMENTS" = "Xno"; then
- as_fn_error $? "Fortran compiler lacks required Fortran 2003 features; unsupported Fortran 2003 compiler, remove --enable-fortran2003" "$LINENO" 5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $pack_int_sizeof" >&5
+$as_echo "$pack_int_sizeof" >&6; }
+ac_ext=${ac_fc_srcext-f}
+ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5'
+ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $ac_fcflags_srcext conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_fc_compiler_gnu
+
+
+
+ ## Find all available KINDs
+
+ac_ext=${ac_fc_srcext-f}
+ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5'
+ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $ac_fcflags_srcext conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_fc_compiler_gnu
+
+rm -f pac_fconftest.out
+
+if test "$cross_compiling" = yes; then :
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "cannot run test program while cross compiling
+See \`config.log' for more details" "$LINENO" 5; }
+else
+ cat > conftest.$ac_ext <<_ACEOF
+
+
+ PROGRAM main
+ IMPLICIT NONE
+ INTEGER :: ik, k, lastkind, max_decimal_prec
+ INTEGER :: num_rkinds, num_ikinds
+ num_ikinds = 0
+ lastkind=SELECTED_INT_KIND(1)
+ OPEN(8, FILE='pac_fconftest.out', form='formatted')
+ ! Find integer KINDs
+ DO ik=2,36
+ k = SELECTED_INT_KIND(ik)
+ IF (k .NE. lastkind) THEN
+ num_ikinds = num_ikinds + 1
+ WRITE(8,'(I0)',ADVANCE='NO') lastkind
+ lastkind = k
+ IF(k.GT.0) WRITE(8,'(A)',ADVANCE='NO') ','
+ ENDIF
+ IF (k .LE. 0) EXIT
+ ENDDO
+ IF (lastkind.NE.-1) THEN
+ num_ikinds = num_ikinds + 1
+ WRITE(8,'(I0)') lastkind
+ ELSE
+ WRITE(8,'()')
+ ENDIF
+ ! Find real KINDs
+ num_rkinds = 0
+ lastkind=SELECTED_REAL_KIND(1)
+ max_decimal_prec = 1
+ DO ik=2,36
+ k = SELECTED_REAL_KIND(ik)
+ IF (k .NE. lastkind) THEN
+ num_rkinds = num_rkinds + 1
+ WRITE(8,'(I0)',ADVANCE='NO') lastkind
+ lastkind = k
+ IF(k.GT.0) WRITE(8,'(A)',ADVANCE='NO') ','
+ max_decimal_prec = ik
+ ENDIF
+ IF (k .LE. 0) EXIT
+ ENDDO
+ IF (lastkind.NE.-1)THEN
+ num_rkinds = num_rkinds + 1
+ WRITE(8,'(I0)') lastkind
+ ELSE
+ WRITE(8,'()')
+ ENDIF
+ WRITE(8,'(I0)') max_decimal_prec
+ WRITE(8,'(I0)') num_ikinds
+ WRITE(8,'(I0)') num_rkinds
+ END
+
+
+_ACEOF
+if ac_fn_fc_try_run "$LINENO"; then :
+
+ if test -s pac_fconftest.out ; then
+
+
+ pac_validIntKinds="`sed -n '1p' pac_fconftest.out`"
+ pac_validRealKinds="`sed -n '2p' pac_fconftest.out`"
+ PAC_FC_MAX_REAL_PRECISION="`sed -n '3p' pac_fconftest.out`"
+
+cat >>confdefs.h <<_ACEOF
+#define PAC_FC_MAX_REAL_PRECISION $PAC_FC_MAX_REAL_PRECISION
+_ACEOF
+
+
+ PAC_FC_ALL_INTEGER_KINDS="{`echo $pac_validIntKinds`}"
+ PAC_FC_ALL_REAL_KINDS="{`echo $pac_validRealKinds`}"
+
+ H5CONFIG_F_NUM_IKIND="INTEGER, PARAMETER :: num_ikinds = `sed -n '4p' pac_fconftest.out`"
+ H5CONFIG_F_IKIND="INTEGER, DIMENSION(1:num_ikinds) :: ikind = (/`echo $pac_validIntKinds`/)"
+ H5CONFIG_F_NUM_RKIND="INTEGER, PARAMETER :: num_rkinds = `sed -n '5p' pac_fconftest.out`"
+ H5CONFIG_F_RKIND="INTEGER, DIMENSION(1:num_rkinds) :: rkind = (/`echo $pac_validRealKinds`/)"
+
+
+cat >>confdefs.h <<_ACEOF
+#define H5CONFIG_F_NUM_RKIND $H5CONFIG_F_NUM_RKIND
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+#define H5CONFIG_F_NUM_IKIND $H5CONFIG_F_NUM_IKIND
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+#define H5CONFIG_F_RKIND $H5CONFIG_F_RKIND
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+#define H5CONFIG_F_IKIND $H5CONFIG_F_IKIND
+_ACEOF
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Fortran INTEGER KINDs" >&5
+$as_echo_n "checking for Fortran INTEGER KINDs... " >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PAC_FC_ALL_INTEGER_KINDS" >&5
+$as_echo "$PAC_FC_ALL_INTEGER_KINDS" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Fortran REAL KINDs" >&5
+$as_echo_n "checking for Fortran REAL KINDs... " >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PAC_FC_ALL_REAL_KINDS" >&5
+$as_echo "$PAC_FC_ALL_REAL_KINDS" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Fortran REALs maximum decimal precision" >&5
+$as_echo_n "checking for Fortran REALs maximum decimal precision... " >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PAC_FC_MAX_REAL_PRECISION" >&5
+$as_echo "$PAC_FC_MAX_REAL_PRECISION" >&6; }
else
- HAVE_FORTRAN_2003="yes"
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: Error" >&5
+$as_echo "Error" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: No output from test program!" >&5
+$as_echo "$as_me: WARNING: No output from test program!" >&2;}
fi
- fi
+ rm -f pac_fconftest.out
+
else
- FC="no"
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: Error" >&5
+$as_echo "Error" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Failed to run program to determine available KINDs" >&5
+$as_echo "$as_me: WARNING: Failed to run program to determine available KINDs" >&2;}
+
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+ conftest.$ac_objext conftest.beam conftest.$ac_ext
fi
-## Change back to the C language
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+ac_ext=${ac_fc_srcext-f}
+ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5'
+ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $ac_fcflags_srcext conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_fc_compiler_gnu
- if test "X$HAVE_SIZEOF_FORTRAN" = "Xyes"; then
- FORTRAN_HAVE_SIZEOF_TRUE=
- FORTRAN_HAVE_SIZEOF_FALSE='#'
+ ## Find all sizeofs for available KINDs
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking sizeof of available INTEGER KINDs" >&5
+$as_echo_n "checking sizeof of available INTEGER KINDs... " >&6; }
+ac_ext=${ac_fc_srcext-f}
+ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5'
+ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $ac_fcflags_srcext conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_fc_compiler_gnu
+
+pack_int_sizeof=""
+rm -f pac_fconftest.out
+
+for kind in `echo $pac_validIntKinds | sed -e 's/,/ /g'`; do
+ cat > conftest.$ac_ext <<_ACEOF
+
+
+ PROGRAM main
+ USE ISO_C_BINDING
+ IMPLICIT NONE
+ INTEGER (KIND=$kind) a
+ OPEN(8, FILE='pac_fconftest.out', FORM='formatted')
+ WRITE(8,'(I0)') $FC_SIZEOF_A
+ CLOSE(8)
+ END
+
+
+_ACEOF
+ if test "$cross_compiling" = yes; then :
+
+ pack_int_sizeof=""
+
else
- FORTRAN_HAVE_SIZEOF_TRUE='#'
- FORTRAN_HAVE_SIZEOF_FALSE=
-fi
+ if ac_fn_fc_try_run "$LINENO"; then :
+
+ if test -s pac_fconftest.out ; then
+ sizes="`cat pac_fconftest.out`"
+ pack_int_sizeof="$pack_int_sizeof $sizes,"
+ else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: No output from test program!" >&5
+$as_echo "$as_me: WARNING: No output from test program!" >&2;}
+ fi
+ rm -f pac_fconftest.out
- if test "X$HAVE_C_SIZEOF_FORTRAN" = "Xyes"; then
- FORTRAN_HAVE_C_SIZEOF_TRUE=
- FORTRAN_HAVE_C_SIZEOF_FALSE='#'
else
- FORTRAN_HAVE_C_SIZEOF_TRUE='#'
- FORTRAN_HAVE_C_SIZEOF_FALSE=
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Fortran program fails to build or run!" >&5
+$as_echo "$as_me: WARNING: Fortran program fails to build or run!" >&2;}
+
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+ conftest.$ac_objext conftest.beam
fi
- if test "X$HAVE_STORAGE_SIZE_FORTRAN" = "Xyes"; then
- FORTRAN_HAVE_STORAGE_SIZE_TRUE=
- FORTRAN_HAVE_STORAGE_SIZE_FALSE='#'
+done
+PAC_FC_ALL_INTEGER_KINDS_SIZEOF="{`echo $pack_int_sizeof | sed -e 's/,$//' | sed -e 's/ //g'`}"
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $PAC_FC_ALL_INTEGER_KINDS_SIZEOF" >&5
+$as_echo "$PAC_FC_ALL_INTEGER_KINDS_SIZEOF" >&6; }
+ac_ext=${ac_fc_srcext-f}
+ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5'
+ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $ac_fcflags_srcext conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_fc_compiler_gnu
+
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking sizeof of available REAL KINDs" >&5
+$as_echo_n "checking sizeof of available REAL KINDs... " >&6; }
+ac_ext=${ac_fc_srcext-f}
+ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5'
+ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $ac_fcflags_srcext conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_fc_compiler_gnu
+
+pack_real_sizeof=""
+rm -f pac_fconftest.out
+for kind in `echo $pac_validRealKinds | sed -e 's/,/ /g'`; do
+ cat > conftest.$ac_ext <<_ACEOF
+
+
+ PROGRAM main
+ USE ISO_C_BINDING
+ IMPLICIT NONE
+ REAL (KIND=$kind) :: a
+ OPEN(8, FILE='pac_fconftest.out', FORM='formatted')
+ WRITE(8,'(I0)') $FC_SIZEOF_A
+ CLOSE(8)
+ END
+
+
+_ACEOF
+ if test "$cross_compiling" = yes; then :
+
+ pack_real_sizeof=""
+
+else
+ if ac_fn_fc_try_run "$LINENO"; then :
+
+ if test -s pac_fconftest.out ; then
+ sizes="`cat pac_fconftest.out`"
+ pack_real_sizeof="$pack_real_sizeof $sizes,"
+ else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: No output from test program!" >&5
+$as_echo "$as_me: WARNING: No output from test program!" >&2;}
+ fi
+ rm -f pac_fconftest.out
+
else
- FORTRAN_HAVE_STORAGE_SIZE_TRUE='#'
- FORTRAN_HAVE_STORAGE_SIZE_FALSE=
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Fortran program fails to build or run!" >&5
+$as_echo "$as_me: WARNING: Fortran program fails to build or run!" >&2;}
+
fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+ conftest.$ac_objext conftest.beam
+fi
+
+done
+PAC_FC_ALL_REAL_KINDS_SIZEOF="{`echo $pack_real_sizeof | sed -e 's/,$//' | sed -e 's/ //g'`}"
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $PAC_FC_ALL_REAL_KINDS_SIZEOF" >&5
+$as_echo "$PAC_FC_ALL_REAL_KINDS_SIZEOF" >&6; }
+ac_ext=${ac_fc_srcext-f}
+ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5'
+ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $ac_fcflags_srcext conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_fc_compiler_gnu
+
+
+
+
+
+
+
+
+
+
+
+
+
- if test "X$HAVE_FORTRAN_2003" = "Xyes"; then
- FORTRAN_2003_CONDITIONAL_F_TRUE=
- FORTRAN_2003_CONDITIONAL_F_FALSE='#'
+
+
+
+
+
+
+
+
+
+
+ ## Setting definition if there is a 16 byte fortran integer
+ if `echo $PAC_FC_ALL_INTEGER_KINDS_SIZEOF | grep '16' >/dev/null`; then
+ HAVE_Fortran_INTEGER_SIZEOF_16="1"
+
+$as_echo "#define HAVE_Fortran_INTEGER_SIZEOF_16 1" >>confdefs.h
+
+ else
+ HAVE_Fortran_INTEGER_SIZEOF_16="0"
+
+$as_echo "#define HAVE_Fortran_INTEGER_SIZEOF_16 0" >>confdefs.h
+
+ fi
+
+ if test "X$HAVE_STORAGE_SIZE_FORTRAN" = "Xyes"; then
+
+$as_echo "#define FORTRAN_HAVE_STORAGE_SIZE 1" >>confdefs.h
+
+ fi
+
+ if test "X$HAVE_C_SIZEOF_FORTRAN" = "Xyes"; then
+
+$as_echo "#define FORTRAN_HAVE_C_SIZEOF 1" >>confdefs.h
+
+ fi
+
+ if test "X$HAVE_SIZEOF_FORTRAN" = "Xyes"; then
+
+$as_echo "#define FORTRAN_HAVE_SIZEOF 1" >>confdefs.h
+
+ fi
+
+ ## See if C_LONG_DOUBLE is available
+
+ HAVE_C_LONG_DOUBLE_FORTRAN="no"
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking if Fortran compiler supports intrinsic C_LONG_DOUBLE" >&5
+$as_echo_n "checking if Fortran compiler supports intrinsic C_LONG_DOUBLE... " >&6; }
+ cat > conftest.$ac_ext <<_ACEOF
+
+ PROGRAM main
+ USE ISO_C_BINDING
+ REAL(KIND=C_LONG_DOUBLE) :: d
+ END PROGRAM
+
+_ACEOF
+if ac_fn_fc_try_link "$LINENO"; then :
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+ HAVE_C_LONG_DOUBLE_FORTRAN="yes"
else
- FORTRAN_2003_CONDITIONAL_F_TRUE='#'
- FORTRAN_2003_CONDITIONAL_F_FALSE=
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+
+
+ FORTRAN_HAVE_C_LONG_DOUBLE="0"
+ if test "X$HAVE_C_LONG_DOUBLE_FORTRAN" = "Xyes"; then
+ FORTRAN_HAVE_C_LONG_DOUBLE="1"
+
+$as_echo "#define FORTRAN_HAVE_C_LONG_DOUBLE 1" >>confdefs.h
+
+ fi
+
+ ## Is C_LONG_DOUBLE different from C_DOUBLE
+ FORTRAN_C_LONG_DOUBLE_IS_UNIQUE="0"
+ if test "X$FORTRAN_HAVE_C_LONG_DOUBLE"; then
+
+ C_LONG_DOUBLE_IS_UNIQUE_FORTRAN="no"
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking if Fortran C_LONG_DOUBLE is different from C_DOUBLE" >&5
+$as_echo_n "checking if Fortran C_LONG_DOUBLE is different from C_DOUBLE... " >&6; }
+
+ cat > conftest.$ac_ext <<_ACEOF
+
+ MODULE type_mod
+ USE ISO_C_BINDING
+ INTERFACE h5t
+ MODULE PROCEDURE h5t_c_double
+ MODULE PROCEDURE h5t_c_long_double
+ END INTERFACE
+ CONTAINS
+ SUBROUTINE h5t_c_double(r)
+ REAL(KIND=C_DOUBLE) :: r
+ END SUBROUTINE h5t_c_double
+ SUBROUTINE h5t_c_long_double(d)
+ REAL(KIND=C_LONG_DOUBLE) :: d
+ END SUBROUTINE h5t_c_long_double
+ END MODULE type_mod
+ PROGRAM main
+ USE ISO_C_BINDING
+ USE type_mod
+ REAL(KIND=C_DOUBLE) :: r
+ REAL(KIND=C_LONG_DOUBLE) :: d
+ CALL h5t(r)
+ CALL h5t(d)
+ END PROGRAM main
- if test "X$FORTRAN_DEFAULT_REALisDBLE" = "Xyes"; then
- FORTRAN_DEFAULT_REALisDBLE_F_TRUE=
- FORTRAN_DEFAULT_REALisDBLE_F_FALSE='#'
+_ACEOF
+if ac_fn_fc_try_compile "$LINENO"; then :
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+ C_LONG_DOUBLE_IS_UNIQUE_FORTRAN="yes"
else
- FORTRAN_DEFAULT_REALisDBLE_F_TRUE='#'
- FORTRAN_DEFAULT_REALisDBLE_F_FALSE=
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+ if test "X$C_LONG_DOUBLE_IS_UNIQUE_FORTRAN" = "Xyes"; then
+ FORTRAN_C_LONG_DOUBLE_IS_UNIQUE="1"
+
+$as_echo "#define FORTRAN_C_LONG_DOUBLE_IS_UNIQUE 1" >>confdefs.h
+
+ else
+ FORTRAN_C_LONG_DOUBLE_IS_UNIQUE="0"
+ fi
+ fi
+ FORTRAN_SIZEOF_LONG_DOUBLE=${ac_cv_sizeof_long_double}
+
+cat >>confdefs.h <<_ACEOF
+#define FORTRAN_SIZEOF_LONG_DOUBLE "${ac_cv_sizeof_long_double}"
+_ACEOF
+
+
+
+ max_real_fortran_sizeof="`echo $PAC_FC_ALL_REAL_KINDS_SIZEOF | sed -ne 's/.*,\([0-9]*\)\}/\1/p'`"
+ max_real_fortran_kind="`echo \"$PAC_FC_ALL_REAL_KINDS\" | sed -ne 's/.*,\([0-9]*\)\}/\1/p'`"
+
+ if test "$ac_cv_sizeof___float128" != 0;then
+ if test "$ac_cv_sizeof___float128" != "$max_real_fortran_sizeof" &&
+ test "${ac_cv_sizeof_long_double}" != "$max_real_fortran_sizeof" &&
+ test "${ac_cv_sizeof_double}" != "$max_real_fortran_sizeof" ; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING:
+ Fortran REAL(KIND=$max_real_fortran_kind) is $max_real_fortran_sizeof Bytes, but no corresponding C float type exists of that size
+ !!! Fortran interfaces will not be generated for REAL(KIND=$max_real_fortran_kind) !!!
+ " >&5
+$as_echo "$as_me: WARNING:
+ Fortran REAL(KIND=$max_real_fortran_kind) is $max_real_fortran_sizeof Bytes, but no corresponding C float type exists of that size
+ !!! Fortran interfaces will not be generated for REAL(KIND=$max_real_fortran_kind) !!!
+ " >&2;}
+ PAC_FC_ALL_REAL_KINDS="`echo $PAC_FC_ALL_REAL_KINDS | sed -e 's/,[0-9]\+}/}/g'`"
+ PAC_FC_ALL_REAL_KINDS_SIZEOF="`echo $PAC_FC_ALL_REAL_KINDS_SIZEOF | sed -e 's/,[0-9]\+}/}/g'`"
+ fi
+ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Fortran interoperable KINDS with C" >&5
+$as_echo_n "checking for Fortran interoperable KINDS with C... " >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PAC_FC_ALL_REAL_KINDS" >&5
+$as_echo "$PAC_FC_ALL_REAL_KINDS" >&6; }
+
+ H5CONFIG_F_NUM_RKIND="INTEGER, PARAMETER :: num_rkinds = `echo \"$PAC_FC_ALL_REAL_KINDS\" | tr -d -c ',\n' | awk '{ print length + 1; }'`"
+ H5CONFIG_F_RKIND="INTEGER, DIMENSION(1:num_rkinds) :: rkind = (/`echo $PAC_FC_ALL_REAL_KINDS | sed -e 's/{//g' | sed -e 's/}//g' | sed -e 's/ /,/g'`/)"
+ H5CONFIG_F_RKIND_SIZEOF="INTEGER, DIMENSION(1:num_rkinds) :: rkind_sizeof = (/`echo $PAC_FC_ALL_REAL_KINDS_SIZEOF | sed -e 's/{//g' | sed -e 's/}//g'| sed -e 's/ /,/g'`/)"
+
+
+cat >>confdefs.h <<_ACEOF
+#define H5CONFIG_F_NUM_RKIND $H5CONFIG_F_NUM_RKIND
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+#define H5CONFIG_F_RKIND $H5CONFIG_F_RKIND
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+#define H5CONFIG_F_RKIND_SIZEOF $H5CONFIG_F_RKIND_SIZEOF
+_ACEOF
+
+
+## Change back to the C language
+ ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+else
+ FC="no"
+fi
## ----------------------------------------------------------------------
## Check if they would like the C++ interface compiled
@@ -7425,68 +9197,12 @@ if test "X$HDF5_HL" = "Xyes"; then
$as_echo "#define INCLUDE_HL 1" >>confdefs.h
-
- ## If Fortran's default real is double precision and HL is being built then configure
- ## should fail due to bug HDFFV-889.
- if test "X$FORTRAN_DEFAULT_REALisDBLE" = "Xyes"; then
- as_fn_error $? "Fortran high-level routines are not supported when the default REAL is DOUBLE PRECISION, use configure option --disable-hl." "$LINENO" 5
- fi
else
echo "no"
fi
## ----------------------------------------------------------------------
-## Check if they have Perl installed on their system. We only need Perl
-## if they're using a GNU compiler.
-##
- PERL=""
-if test "X$GCC" = "Xyes"; then
- for ac_prog in perl
-do
- # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_PERL+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$PERL"; then
- ac_cv_prog_PERL="$PERL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_PERL="$ac_prog"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-PERL=$ac_cv_prog_PERL
-if test -n "$PERL"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PERL" >&5
-$as_echo "$PERL" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- test -n "$PERL" && break
-done
-
-fi
-
-## ----------------------------------------------------------------------
## Check which archiving tool to use. This needs to be done before
## the AM_PROG_LIBTOOL macro.
##
@@ -7938,136 +9654,6 @@ Xsed="$SED -e 1s/^X//"
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5
-$as_echo_n "checking for grep that handles long lines and -e... " >&6; }
-if ${ac_cv_path_GREP+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -z "$GREP"; then
- ac_path_GREP_found=false
- # Loop through the user's path and test for each of PROGNAME-LIST
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_prog in grep ggrep; do
- for ac_exec_ext in '' $ac_executable_extensions; do
- ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
- as_fn_executable_p "$ac_path_GREP" || continue
-# Check for GNU ac_path_GREP and select it if it is found.
- # Check for GNU $ac_path_GREP
-case `"$ac_path_GREP" --version 2>&1` in
-*GNU*)
- ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;;
-*)
- ac_count=0
- $as_echo_n 0123456789 >"conftest.in"
- while :
- do
- cat "conftest.in" "conftest.in" >"conftest.tmp"
- mv "conftest.tmp" "conftest.in"
- cp "conftest.in" "conftest.nl"
- $as_echo 'GREP' >> "conftest.nl"
- "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break
- diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
- as_fn_arith $ac_count + 1 && ac_count=$as_val
- if test $ac_count -gt ${ac_path_GREP_max-0}; then
- # Best one so far, save it but keep looking for a better one
- ac_cv_path_GREP="$ac_path_GREP"
- ac_path_GREP_max=$ac_count
- fi
- # 10*(2^10) chars as input seems more than enough
- test $ac_count -gt 10 && break
- done
- rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-esac
-
- $ac_path_GREP_found && break 3
- done
- done
- done
-IFS=$as_save_IFS
- if test -z "$ac_cv_path_GREP"; then
- as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
- fi
-else
- ac_cv_path_GREP=$GREP
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5
-$as_echo "$ac_cv_path_GREP" >&6; }
- GREP="$ac_cv_path_GREP"
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5
-$as_echo_n "checking for egrep... " >&6; }
-if ${ac_cv_path_EGREP+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
- then ac_cv_path_EGREP="$GREP -E"
- else
- if test -z "$EGREP"; then
- ac_path_EGREP_found=false
- # Loop through the user's path and test for each of PROGNAME-LIST
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_prog in egrep; do
- for ac_exec_ext in '' $ac_executable_extensions; do
- ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
- as_fn_executable_p "$ac_path_EGREP" || continue
-# Check for GNU ac_path_EGREP and select it if it is found.
- # Check for GNU $ac_path_EGREP
-case `"$ac_path_EGREP" --version 2>&1` in
-*GNU*)
- ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;;
-*)
- ac_count=0
- $as_echo_n 0123456789 >"conftest.in"
- while :
- do
- cat "conftest.in" "conftest.in" >"conftest.tmp"
- mv "conftest.tmp" "conftest.in"
- cp "conftest.in" "conftest.nl"
- $as_echo 'EGREP' >> "conftest.nl"
- "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break
- diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
- as_fn_arith $ac_count + 1 && ac_count=$as_val
- if test $ac_count -gt ${ac_path_EGREP_max-0}; then
- # Best one so far, save it but keep looking for a better one
- ac_cv_path_EGREP="$ac_path_EGREP"
- ac_path_EGREP_max=$ac_count
- fi
- # 10*(2^10) chars as input seems more than enough
- test $ac_count -gt 10 && break
- done
- rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-esac
-
- $ac_path_EGREP_found && break 3
- done
- done
- done
-IFS=$as_save_IFS
- if test -z "$ac_cv_path_EGREP"; then
- as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
- fi
-else
- ac_cv_path_EGREP=$EGREP
-fi
-
- fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5
-$as_echo "$ac_cv_path_EGREP" >&6; }
- EGREP="$ac_cv_path_EGREP"
-
-
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for fgrep" >&5
$as_echo_n "checking for fgrep... " >&6; }
if ${ac_cv_path_FGREP+:} false; then :
@@ -11008,281 +12594,6 @@ $as_echo "$lt_cv_ld_force_load" >&6; }
;;
esac
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5
-$as_echo_n "checking how to run the C preprocessor... " >&6; }
-# On Suns, sometimes $CPP names a directory.
-if test -n "$CPP" && test -d "$CPP"; then
- CPP=
-fi
-if test -z "$CPP"; then
- if ${ac_cv_prog_CPP+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- # Double quotes because CPP needs to be expanded
- for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp"
- do
- ac_preproc_ok=false
-for ac_c_preproc_warn_flag in '' yes
-do
- # Use a header file that comes with gcc, so configuring glibc
- # with a fresh cross-compiler works.
- # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- # <limits.h> exists even on freestanding compilers.
- # On the NeXT, cc -E runs the code through the compiler's parser,
- # not just through cpp. "Syntax error" is here to catch this case.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
- Syntax error
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
-
-else
- # Broken: fails on valid input.
-continue
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
- # OK, works on sane cases. Now check whether nonexistent headers
- # can be detected and how.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <ac_nonexistent.h>
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
- # Broken: success on invalid input.
-continue
-else
- # Passes both tests.
-ac_preproc_ok=:
-break
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
-done
-# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.i conftest.err conftest.$ac_ext
-if $ac_preproc_ok; then :
- break
-fi
-
- done
- ac_cv_prog_CPP=$CPP
-
-fi
- CPP=$ac_cv_prog_CPP
-else
- ac_cv_prog_CPP=$CPP
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5
-$as_echo "$CPP" >&6; }
-ac_preproc_ok=false
-for ac_c_preproc_warn_flag in '' yes
-do
- # Use a header file that comes with gcc, so configuring glibc
- # with a fresh cross-compiler works.
- # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- # <limits.h> exists even on freestanding compilers.
- # On the NeXT, cc -E runs the code through the compiler's parser,
- # not just through cpp. "Syntax error" is here to catch this case.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
- Syntax error
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
-
-else
- # Broken: fails on valid input.
-continue
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
- # OK, works on sane cases. Now check whether nonexistent headers
- # can be detected and how.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <ac_nonexistent.h>
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
- # Broken: success on invalid input.
-continue
-else
- # Passes both tests.
-ac_preproc_ok=:
-break
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
-done
-# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.i conftest.err conftest.$ac_ext
-if $ac_preproc_ok; then :
-
-else
- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "C preprocessor \"$CPP\" fails sanity check
-See \`config.log' for more details" "$LINENO" 5; }
-fi
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
-$as_echo_n "checking for ANSI C header files... " >&6; }
-if ${ac_cv_header_stdc+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <stdlib.h>
-#include <stdarg.h>
-#include <string.h>
-#include <float.h>
-
-#ifdef FC_DUMMY_MAIN
-#ifndef FC_DUMMY_MAIN_EQ_F77
-# ifdef __cplusplus
- extern "C"
-# endif
- int FC_DUMMY_MAIN() { return 1; }
-#endif
-#endif
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_header_stdc=yes
-else
- ac_cv_header_stdc=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-if test $ac_cv_header_stdc = yes; then
- # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <string.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "memchr" >/dev/null 2>&1; then :
-
-else
- ac_cv_header_stdc=no
-fi
-rm -f conftest*
-
-fi
-
-if test $ac_cv_header_stdc = yes; then
- # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <stdlib.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "free" >/dev/null 2>&1; then :
-
-else
- ac_cv_header_stdc=no
-fi
-rm -f conftest*
-
-fi
-
-if test $ac_cv_header_stdc = yes; then
- # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
- if test "$cross_compiling" = yes; then :
- :
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <ctype.h>
-#include <stdlib.h>
-#if ((' ' & 0x0FF) == 0x020)
-# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
-# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
-#else
-# define ISLOWER(c) \
- (('a' <= (c) && (c) <= 'i') \
- || ('j' <= (c) && (c) <= 'r') \
- || ('s' <= (c) && (c) <= 'z'))
-# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
-#endif
-
-#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
-int
-main ()
-{
- int i;
- for (i = 0; i < 256; i++)
- if (XOR (islower (i), ISLOWER (i))
- || toupper (i) != TOUPPER (i))
- return 2;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
-
-else
- ac_cv_header_stdc=no
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
-fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5
-$as_echo "$ac_cv_header_stdc" >&6; }
-if test $ac_cv_header_stdc = yes; then
-
-$as_echo "#define STDC_HEADERS 1" >>confdefs.h
-
-fi
-
-# On IRIX 5.3, sys/types and inttypes.h are conflicting.
-for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \
- inttypes.h stdint.h unistd.h
-do :
- as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
-ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default
-"
-if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
- cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-
-done
-
-
for ac_header in dlfcn.h
do :
ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default
@@ -22470,7 +23781,7 @@ case "$host_cpu-$host_vendor-$host_os" in
##
## POSIX feature information can be found in the gcc manual at:
## http://www.gnu.org/s/libc/manual/html_node/Feature-Test-Macros.html
- H5_CPPFLAGS="-D_POSIX_C_SOURCE=200112L $H5_CPPFLAGS"
+##SCOT H5_CPPFLAGS="-D_POSIX_C_SOURCE=200112L $H5_CPPFLAGS"
## Need to add this so that O_DIRECT is visible for the direct
## VFD on Linux systems.
@@ -22588,656 +23899,6 @@ $as_echo "skipping test for stat64() and fstat64()" >&6; }
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-## ----------------------------------------------------------------------
-## Data types and their sizes.
-##
-ac_fn_c_check_type "$LINENO" "off_t" "ac_cv_type_off_t" "$ac_includes_default"
-if test "x$ac_cv_type_off_t" = xyes; then :
-
-else
-
-cat >>confdefs.h <<_ACEOF
-#define off_t long int
-_ACEOF
-
-fi
-
-ac_fn_c_check_type "$LINENO" "size_t" "ac_cv_type_size_t" "$ac_includes_default"
-if test "x$ac_cv_type_size_t" = xyes; then :
-
-else
-
-cat >>confdefs.h <<_ACEOF
-#define size_t unsigned long
-_ACEOF
-
-fi
-
-ac_fn_c_check_type "$LINENO" "ssize_t" "ac_cv_type_ssize_t" "$ac_includes_default"
-if test "x$ac_cv_type_ssize_t" = xyes; then :
-
-else
-
-cat >>confdefs.h <<_ACEOF
-#define ssize_t long
-_ACEOF
-
-fi
-
-ac_fn_c_check_type "$LINENO" "ptrdiff_t" "ac_cv_type_ptrdiff_t" "$ac_includes_default"
-if test "x$ac_cv_type_ptrdiff_t" = xyes; then :
-
-else
-
-cat >>confdefs.h <<_ACEOF
-#define ptrdiff_t long
-_ACEOF
-
-fi
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether byte ordering is bigendian" >&5
-$as_echo_n "checking whether byte ordering is bigendian... " >&6; }
-if ${ac_cv_c_bigendian+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_cv_c_bigendian=unknown
- # See if we're dealing with a universal compiler.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#ifndef __APPLE_CC__
- not a universal capable compiler
- #endif
- typedef int dummy;
-
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-
- # Check for potential -arch flags. It is not universal unless
- # there are at least two -arch flags with different values.
- ac_arch=
- ac_prev=
- for ac_word in $CC $CFLAGS $CPPFLAGS $LDFLAGS; do
- if test -n "$ac_prev"; then
- case $ac_word in
- i?86 | x86_64 | ppc | ppc64)
- if test -z "$ac_arch" || test "$ac_arch" = "$ac_word"; then
- ac_arch=$ac_word
- else
- ac_cv_c_bigendian=universal
- break
- fi
- ;;
- esac
- ac_prev=
- elif test "x$ac_word" = "x-arch"; then
- ac_prev=arch
- fi
- done
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- if test $ac_cv_c_bigendian = unknown; then
- # See if sys/param.h defines the BYTE_ORDER macro.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <sys/types.h>
- #include <sys/param.h>
-
-#ifdef FC_DUMMY_MAIN
-#ifndef FC_DUMMY_MAIN_EQ_F77
-# ifdef __cplusplus
- extern "C"
-# endif
- int FC_DUMMY_MAIN() { return 1; }
-#endif
-#endif
-int
-main ()
-{
-#if ! (defined BYTE_ORDER && defined BIG_ENDIAN \
- && defined LITTLE_ENDIAN && BYTE_ORDER && BIG_ENDIAN \
- && LITTLE_ENDIAN)
- bogus endian macros
- #endif
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- # It does; now see whether it defined to BIG_ENDIAN or not.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <sys/types.h>
- #include <sys/param.h>
-
-#ifdef FC_DUMMY_MAIN
-#ifndef FC_DUMMY_MAIN_EQ_F77
-# ifdef __cplusplus
- extern "C"
-# endif
- int FC_DUMMY_MAIN() { return 1; }
-#endif
-#endif
-int
-main ()
-{
-#if BYTE_ORDER != BIG_ENDIAN
- not big endian
- #endif
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_c_bigendian=yes
-else
- ac_cv_c_bigendian=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- fi
- if test $ac_cv_c_bigendian = unknown; then
- # See if <limits.h> defines _LITTLE_ENDIAN or _BIG_ENDIAN (e.g., Solaris).
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <limits.h>
-
-#ifdef FC_DUMMY_MAIN
-#ifndef FC_DUMMY_MAIN_EQ_F77
-# ifdef __cplusplus
- extern "C"
-# endif
- int FC_DUMMY_MAIN() { return 1; }
-#endif
-#endif
-int
-main ()
-{
-#if ! (defined _LITTLE_ENDIAN || defined _BIG_ENDIAN)
- bogus endian macros
- #endif
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- # It does; now see whether it defined to _BIG_ENDIAN or not.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <limits.h>
-
-#ifdef FC_DUMMY_MAIN
-#ifndef FC_DUMMY_MAIN_EQ_F77
-# ifdef __cplusplus
- extern "C"
-# endif
- int FC_DUMMY_MAIN() { return 1; }
-#endif
-#endif
-int
-main ()
-{
-#ifndef _BIG_ENDIAN
- not big endian
- #endif
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_c_bigendian=yes
-else
- ac_cv_c_bigendian=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- fi
- if test $ac_cv_c_bigendian = unknown; then
- # Compile a test program.
- if test "$cross_compiling" = yes; then :
- # Try to guess by grepping values from an object file.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-short int ascii_mm[] =
- { 0x4249, 0x4765, 0x6E44, 0x6961, 0x6E53, 0x7953, 0 };
- short int ascii_ii[] =
- { 0x694C, 0x5454, 0x656C, 0x6E45, 0x6944, 0x6E61, 0 };
- int use_ascii (int i) {
- return ascii_mm[i] + ascii_ii[i];
- }
- short int ebcdic_ii[] =
- { 0x89D3, 0xE3E3, 0x8593, 0x95C5, 0x89C4, 0x9581, 0 };
- short int ebcdic_mm[] =
- { 0xC2C9, 0xC785, 0x95C4, 0x8981, 0x95E2, 0xA8E2, 0 };
- int use_ebcdic (int i) {
- return ebcdic_mm[i] + ebcdic_ii[i];
- }
- extern int foo;
-
-#ifdef FC_DUMMY_MAIN
-#ifndef FC_DUMMY_MAIN_EQ_F77
-# ifdef __cplusplus
- extern "C"
-# endif
- int FC_DUMMY_MAIN() { return 1; }
-#endif
-#endif
-int
-main ()
-{
-return use_ascii (foo) == use_ebcdic (foo);
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- if grep BIGenDianSyS conftest.$ac_objext >/dev/null; then
- ac_cv_c_bigendian=yes
- fi
- if grep LiTTleEnDian conftest.$ac_objext >/dev/null ; then
- if test "$ac_cv_c_bigendian" = unknown; then
- ac_cv_c_bigendian=no
- else
- # finding both strings is unlikely to happen, but who knows?
- ac_cv_c_bigendian=unknown
- fi
- fi
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$ac_includes_default
-#ifdef FC_DUMMY_MAIN
-#ifndef FC_DUMMY_MAIN_EQ_F77
-# ifdef __cplusplus
- extern "C"
-# endif
- int FC_DUMMY_MAIN() { return 1; }
-#endif
-#endif
-int
-main ()
-{
-
- /* Are we little or big endian? From Harbison&Steele. */
- union
- {
- long int l;
- char c[sizeof (long int)];
- } u;
- u.l = 1;
- return u.c[sizeof (long int) - 1] == 1;
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
- ac_cv_c_bigendian=no
-else
- ac_cv_c_bigendian=yes
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
- fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_bigendian" >&5
-$as_echo "$ac_cv_c_bigendian" >&6; }
- case $ac_cv_c_bigendian in #(
- yes)
- $as_echo "#define WORDS_BIGENDIAN 1" >>confdefs.h
-;; #(
- no)
- ;; #(
- universal)
-
-$as_echo "#define AC_APPLE_UNIVERSAL_BUILD 1" >>confdefs.h
-
- ;; #(
- *)
- as_fn_error $? "unknown endianness
- presetting ac_cv_c_bigendian=no (or yes) will help" "$LINENO" 5 ;;
- esac
-
-# The cast to long int works around a bug in the HP C Compiler
-# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
-# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
-# This bug is HP SR number 8606223364.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of char" >&5
-$as_echo_n "checking size of char... " >&6; }
-if ${ac_cv_sizeof_char+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (char))" "ac_cv_sizeof_char" "$ac_includes_default"; then :
-
-else
- if test "$ac_cv_type_char" = yes; then
- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error 77 "cannot compute sizeof (char)
-See \`config.log' for more details" "$LINENO" 5; }
- else
- ac_cv_sizeof_char=0
- fi
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_char" >&5
-$as_echo "$ac_cv_sizeof_char" >&6; }
-
-
-
-cat >>confdefs.h <<_ACEOF
-#define SIZEOF_CHAR $ac_cv_sizeof_char
-_ACEOF
-
-
-# The cast to long int works around a bug in the HP C Compiler
-# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
-# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
-# This bug is HP SR number 8606223364.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of short" >&5
-$as_echo_n "checking size of short... " >&6; }
-if ${ac_cv_sizeof_short+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (short))" "ac_cv_sizeof_short" "$ac_includes_default"; then :
-
-else
- if test "$ac_cv_type_short" = yes; then
- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error 77 "cannot compute sizeof (short)
-See \`config.log' for more details" "$LINENO" 5; }
- else
- ac_cv_sizeof_short=0
- fi
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_short" >&5
-$as_echo "$ac_cv_sizeof_short" >&6; }
-
-
-
-cat >>confdefs.h <<_ACEOF
-#define SIZEOF_SHORT $ac_cv_sizeof_short
-_ACEOF
-
-
-# The cast to long int works around a bug in the HP C Compiler
-# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
-# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
-# This bug is HP SR number 8606223364.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of int" >&5
-$as_echo_n "checking size of int... " >&6; }
-if ${ac_cv_sizeof_int+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (int))" "ac_cv_sizeof_int" "$ac_includes_default"; then :
-
-else
- if test "$ac_cv_type_int" = yes; then
- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error 77 "cannot compute sizeof (int)
-See \`config.log' for more details" "$LINENO" 5; }
- else
- ac_cv_sizeof_int=0
- fi
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_int" >&5
-$as_echo "$ac_cv_sizeof_int" >&6; }
-
-
-
-cat >>confdefs.h <<_ACEOF
-#define SIZEOF_INT $ac_cv_sizeof_int
-_ACEOF
-
-
-# The cast to long int works around a bug in the HP C Compiler
-# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
-# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
-# This bug is HP SR number 8606223364.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of unsigned" >&5
-$as_echo_n "checking size of unsigned... " >&6; }
-if ${ac_cv_sizeof_unsigned+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (unsigned))" "ac_cv_sizeof_unsigned" "$ac_includes_default"; then :
-
-else
- if test "$ac_cv_type_unsigned" = yes; then
- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error 77 "cannot compute sizeof (unsigned)
-See \`config.log' for more details" "$LINENO" 5; }
- else
- ac_cv_sizeof_unsigned=0
- fi
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_unsigned" >&5
-$as_echo "$ac_cv_sizeof_unsigned" >&6; }
-
-
-
-cat >>confdefs.h <<_ACEOF
-#define SIZEOF_UNSIGNED $ac_cv_sizeof_unsigned
-_ACEOF
-
-
-# The cast to long int works around a bug in the HP C Compiler
-# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
-# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
-# This bug is HP SR number 8606223364.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of long" >&5
-$as_echo_n "checking size of long... " >&6; }
-if ${ac_cv_sizeof_long+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (long))" "ac_cv_sizeof_long" "$ac_includes_default"; then :
-
-else
- if test "$ac_cv_type_long" = yes; then
- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error 77 "cannot compute sizeof (long)
-See \`config.log' for more details" "$LINENO" 5; }
- else
- ac_cv_sizeof_long=0
- fi
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_long" >&5
-$as_echo "$ac_cv_sizeof_long" >&6; }
-
-
-
-cat >>confdefs.h <<_ACEOF
-#define SIZEOF_LONG $ac_cv_sizeof_long
-_ACEOF
-
-
-# The cast to long int works around a bug in the HP C Compiler
-# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
-# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
-# This bug is HP SR number 8606223364.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of long long" >&5
-$as_echo_n "checking size of long long... " >&6; }
-if ${ac_cv_sizeof_long_long+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (long long))" "ac_cv_sizeof_long_long" "$ac_includes_default"; then :
-
-else
- if test "$ac_cv_type_long_long" = yes; then
- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error 77 "cannot compute sizeof (long long)
-See \`config.log' for more details" "$LINENO" 5; }
- else
- ac_cv_sizeof_long_long=0
- fi
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_long_long" >&5
-$as_echo "$ac_cv_sizeof_long_long" >&6; }
-
-
-
-cat >>confdefs.h <<_ACEOF
-#define SIZEOF_LONG_LONG $ac_cv_sizeof_long_long
-_ACEOF
-
-
-# The cast to long int works around a bug in the HP C Compiler
-# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
-# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
-# This bug is HP SR number 8606223364.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of __int64" >&5
-$as_echo_n "checking size of __int64... " >&6; }
-if ${ac_cv_sizeof___int64+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (__int64))" "ac_cv_sizeof___int64" "$ac_includes_default"; then :
-
-else
- if test "$ac_cv_type___int64" = yes; then
- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error 77 "cannot compute sizeof (__int64)
-See \`config.log' for more details" "$LINENO" 5; }
- else
- ac_cv_sizeof___int64=0
- fi
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof___int64" >&5
-$as_echo "$ac_cv_sizeof___int64" >&6; }
-
-
-
-cat >>confdefs.h <<_ACEOF
-#define SIZEOF___INT64 $ac_cv_sizeof___int64
-_ACEOF
-
-
-# The cast to long int works around a bug in the HP C Compiler
-# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
-# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
-# This bug is HP SR number 8606223364.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of float" >&5
-$as_echo_n "checking size of float... " >&6; }
-if ${ac_cv_sizeof_float+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (float))" "ac_cv_sizeof_float" "$ac_includes_default"; then :
-
-else
- if test "$ac_cv_type_float" = yes; then
- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error 77 "cannot compute sizeof (float)
-See \`config.log' for more details" "$LINENO" 5; }
- else
- ac_cv_sizeof_float=0
- fi
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_float" >&5
-$as_echo "$ac_cv_sizeof_float" >&6; }
-
-
-
-cat >>confdefs.h <<_ACEOF
-#define SIZEOF_FLOAT $ac_cv_sizeof_float
-_ACEOF
-
-
-# The cast to long int works around a bug in the HP C Compiler
-# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
-# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
-# This bug is HP SR number 8606223364.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of double" >&5
-$as_echo_n "checking size of double... " >&6; }
-if ${ac_cv_sizeof_double+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (double))" "ac_cv_sizeof_double" "$ac_includes_default"; then :
-
-else
- if test "$ac_cv_type_double" = yes; then
- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error 77 "cannot compute sizeof (double)
-See \`config.log' for more details" "$LINENO" 5; }
- else
- ac_cv_sizeof_double=0
- fi
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_double" >&5
-$as_echo "$ac_cv_sizeof_double" >&6; }
-
-
-
-cat >>confdefs.h <<_ACEOF
-#define SIZEOF_DOUBLE $ac_cv_sizeof_double
-_ACEOF
-
-
-# The cast to long int works around a bug in the HP C Compiler
-# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
-# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
-# This bug is HP SR number 8606223364.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of long double" >&5
-$as_echo_n "checking size of long double... " >&6; }
-if ${ac_cv_sizeof_long_double+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (long double))" "ac_cv_sizeof_long_double" "$ac_includes_default"; then :
-
-else
- if test "$ac_cv_type_long_double" = yes; then
- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error 77 "cannot compute sizeof (long double)
-See \`config.log' for more details" "$LINENO" 5; }
- else
- ac_cv_sizeof_long_double=0
- fi
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_long_double" >&5
-$as_echo "$ac_cv_sizeof_long_double" >&6; }
-
-
-
-cat >>confdefs.h <<_ACEOF
-#define SIZEOF_LONG_DOUBLE $ac_cv_sizeof_long_double
-_ACEOF
-
-
-
## Checkpoint the cache
cat >confcache <<\_ACEOF
# This file is a shell script that caches the results of configure
@@ -26528,13 +27189,13 @@ all_packages="ac,b,b2,d,e,f,g,hg,hl,i,mf,mm,o,p,s,t,v,z"
case "X-$DEBUG_PKG" in
X-yes)
DEBUG_PKG="d,e,f,g,hg,i,mm,o,p,s,t,v,z"
- H5_CPPFLAGS="$H5_CPPFLAGS -UNDEBUG"
+## H5_CPPFLAGS="$H5_CPPFLAGS -UNDEBUG"
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: default ($DEBUG_PKG)" >&5
$as_echo "default ($DEBUG_PKG)" >&6; }
;;
X-all)
DEBUG_PKG=$all_packages
- H5_CPPFLAGS="$H5_CPPFLAGS -UNDEBUG"
+## H5_CPPFLAGS="$H5_CPPFLAGS -UNDEBUG"
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: all ($DEBUG_PKG)" >&5
$as_echo "all ($DEBUG_PKG)" >&6; }
;;
@@ -26542,7 +27203,7 @@ $as_echo "all ($DEBUG_PKG)" >&6; }
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: none" >&5
$as_echo "none" >&6; }
DEBUG_PKG=
- H5_CPPFLAGS="$H5_CPPFLAGS -DNDEBUG"
+## H5_CPPFLAGS="$H5_CPPFLAGS -DNDEBUG"
;;
*)
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $DEBUG_PKG" >&5
@@ -28803,7 +29464,7 @@ Usage: $0 [OPTIONS]
Report bugs to <bug-libtool@gnu.org>."
lt_cl_version="\
-HDF5 config.lt 1.9.227
+HDF5 config.lt 1.9.229
configured by $0, generated by GNU Autoconf 2.69.
Copyright (C) 2011 Free Software Foundation, Inc.
@@ -30317,7 +30978,7 @@ else
fi
-ac_config_files="$ac_config_files src/libhdf5.settings Makefile src/Makefile test/Makefile test/testcheck_version.sh test/testerror.sh test/H5srcdir_str.h test/testlibinfo.sh test/testlinks_env.sh test/test_plugin.sh testpar/Makefile tools/Makefile tools/h5dump/Makefile tools/h5dump/testh5dump.sh tools/h5dump/testh5dumppbits.sh tools/h5dump/testh5dumpvds.sh tools/h5dump/testh5dumpxml.sh tools/h5ls/testh5ls.sh tools/h5ls/testh5lsvds.sh tools/h5import/Makefile tools/h5import/h5importtestutil.sh tools/h5diff/Makefile tools/h5diff/testh5diff.sh tools/h5diff/testph5diff.sh tools/h5jam/Makefile tools/h5jam/testh5jam.sh tools/h5repack/Makefile tools/h5repack/h5repack.sh tools/h5repack/h5repack_plugin.sh tools/h5ls/Makefile tools/h5copy/Makefile tools/h5copy/testh5copy.sh tools/lib/Makefile tools/misc/Makefile tools/misc/h5cc tools/misc/testh5mkgrp.sh tools/misc/testh5repart.sh tools/misc/vds/Makefile tools/h5stat/testh5stat.sh tools/h5stat/Makefile tools/perform/Makefile examples/Makefile examples/run-c-ex.sh examples/testh5cc.sh c++/Makefile c++/src/Makefile c++/src/h5c++ c++/test/Makefile c++/test/H5srcdir_str.h c++/examples/Makefile c++/examples/run-c++-ex.sh c++/examples/testh5c++.sh fortran/Makefile fortran/src/h5fc fortran/src/Makefile fortran/test/Makefile fortran/testpar/Makefile fortran/examples/Makefile fortran/examples/run-fortran-ex.sh fortran/examples/testh5fc.sh hl/Makefile hl/src/Makefile hl/test/Makefile hl/test/H5srcdir_str.h hl/tools/Makefile hl/tools/gif2h5/Makefile hl/tools/gif2h5/h52giftest.sh hl/examples/Makefile hl/examples/run-hlc-ex.sh hl/c++/Makefile hl/c++/src/Makefile hl/c++/test/Makefile hl/c++/examples/Makefile hl/c++/examples/run-hlc++-ex.sh hl/fortran/Makefile hl/fortran/src/Makefile hl/fortran/test/Makefile hl/fortran/examples/Makefile hl/fortran/examples/run-hlfortran-ex.sh"
+ac_config_files="$ac_config_files src/libhdf5.settings Makefile src/Makefile test/Makefile test/testcheck_version.sh test/testerror.sh test/H5srcdir_str.h test/testlibinfo.sh test/testlinks_env.sh test/test_plugin.sh testpar/Makefile tools/Makefile tools/h5dump/Makefile tools/h5dump/testh5dump.sh tools/h5dump/testh5dumppbits.sh tools/h5dump/testh5dumpxml.sh tools/h5ls/testh5ls.sh tools/h5import/Makefile tools/h5import/h5importtestutil.sh tools/h5diff/Makefile tools/h5diff/testh5diff.sh tools/h5diff/testph5diff.sh tools/h5jam/Makefile tools/h5jam/testh5jam.sh tools/h5repack/Makefile tools/h5repack/h5repack.sh tools/h5repack/h5repack_plugin.sh tools/h5ls/Makefile tools/h5copy/Makefile tools/h5copy/testh5copy.sh tools/lib/Makefile tools/misc/Makefile tools/misc/h5cc tools/misc/testh5mkgrp.sh tools/misc/testh5repart.sh tools/h5stat/testh5stat.sh tools/h5stat/Makefile tools/perform/Makefile examples/Makefile examples/run-c-ex.sh examples/testh5cc.sh c++/Makefile c++/src/Makefile c++/src/h5c++ c++/test/Makefile c++/test/H5srcdir_str.h c++/examples/Makefile c++/examples/run-c++-ex.sh c++/examples/testh5c++.sh fortran/Makefile fortran/src/h5fc fortran/src/Makefile fortran/src/H5fort_type_defines.h fortran/test/Makefile fortran/testpar/Makefile fortran/examples/Makefile fortran/examples/run-fortran-ex.sh fortran/examples/testh5fc.sh hl/Makefile hl/src/Makefile hl/test/Makefile hl/test/H5srcdir_str.h hl/tools/Makefile hl/tools/gif2h5/Makefile hl/tools/gif2h5/h52giftest.sh hl/examples/Makefile hl/examples/run-hlc-ex.sh hl/c++/Makefile hl/c++/src/Makefile hl/c++/test/Makefile hl/c++/examples/Makefile hl/c++/examples/run-hlc++-ex.sh hl/fortran/Makefile hl/fortran/src/Makefile hl/fortran/test/Makefile hl/fortran/examples/Makefile hl/fortran/examples/run-hlfortran-ex.sh"
cat >confcache <<\_ACEOF
@@ -30457,26 +31118,7 @@ if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then
as_fn_error $? "conditional \"am__fastdepCC\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
-if test -z "${FORTRAN_HAVE_SIZEOF_TRUE}" && test -z "${FORTRAN_HAVE_SIZEOF_FALSE}"; then
- as_fn_error $? "conditional \"FORTRAN_HAVE_SIZEOF\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${FORTRAN_HAVE_C_SIZEOF_TRUE}" && test -z "${FORTRAN_HAVE_C_SIZEOF_FALSE}"; then
- as_fn_error $? "conditional \"FORTRAN_HAVE_C_SIZEOF\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${FORTRAN_HAVE_STORAGE_SIZE_TRUE}" && test -z "${FORTRAN_HAVE_STORAGE_SIZE_FALSE}"; then
- as_fn_error $? "conditional \"FORTRAN_HAVE_STORAGE_SIZE\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${FORTRAN_2003_CONDITIONAL_F_TRUE}" && test -z "${FORTRAN_2003_CONDITIONAL_F_FALSE}"; then
- as_fn_error $? "conditional \"FORTRAN_2003_CONDITIONAL_F\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${FORTRAN_DEFAULT_REALisDBLE_F_TRUE}" && test -z "${FORTRAN_DEFAULT_REALisDBLE_F_FALSE}"; then
- as_fn_error $? "conditional \"FORTRAN_DEFAULT_REALisDBLE_F\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
+
if test -z "${am__fastdepCXX_TRUE}" && test -z "${am__fastdepCXX_FALSE}"; then
as_fn_error $? "conditional \"am__fastdepCXX\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
@@ -30489,7 +31131,6 @@ if test -z "${USE_PLUGINS_CONDITIONAL_TRUE}" && test -z "${USE_PLUGINS_CONDITION
as_fn_error $? "conditional \"USE_PLUGINS_CONDITIONAL\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
-
if test -z "${BUILD_SHARED_SZIP_CONDITIONAL_TRUE}" && test -z "${BUILD_SHARED_SZIP_CONDITIONAL_FALSE}"; then
as_fn_error $? "conditional \"BUILD_SHARED_SZIP_CONDITIONAL\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
@@ -30919,7 +31560,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by HDF5 $as_me 1.9.227, which was
+This file was extended by HDF5 $as_me 1.9.229, which was
generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -30985,7 +31626,7 @@ _ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
-HDF5 config.status 1.9.227
+HDF5 config.status 1.9.229
configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\"
@@ -31579,6 +32220,7 @@ do
"src/H5config.h") CONFIG_HEADERS="$CONFIG_HEADERS src/H5config.h" ;;
"pubconf") CONFIG_COMMANDS="$CONFIG_COMMANDS pubconf" ;;
"depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;;
+ "fortran/src/H5config_f.inc") CONFIG_HEADERS="$CONFIG_HEADERS fortran/src/H5config_f.inc" ;;
"libtool") CONFIG_COMMANDS="$CONFIG_COMMANDS libtool" ;;
"src/libhdf5.settings") CONFIG_FILES="$CONFIG_FILES src/libhdf5.settings" ;;
"Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
@@ -31635,6 +32277,7 @@ do
"fortran/Makefile") CONFIG_FILES="$CONFIG_FILES fortran/Makefile" ;;
"fortran/src/h5fc") CONFIG_FILES="$CONFIG_FILES fortran/src/h5fc" ;;
"fortran/src/Makefile") CONFIG_FILES="$CONFIG_FILES fortran/src/Makefile" ;;
+ "fortran/src/H5fort_type_defines.h") CONFIG_FILES="$CONFIG_FILES fortran/src/H5fort_type_defines.h" ;;
"fortran/test/Makefile") CONFIG_FILES="$CONFIG_FILES fortran/test/Makefile" ;;
"fortran/testpar/Makefile") CONFIG_FILES="$CONFIG_FILES fortran/testpar/Makefile" ;;
"fortran/examples/Makefile") CONFIG_FILES="$CONFIG_FILES fortran/examples/Makefile" ;;
@@ -32364,6 +33007,7 @@ $as_echo X"$file" |
done
}
;;
+ "fortran/src/H5config_f.inc":H) cat fortran/src/H5config_f.inc | sed '1d;s%^/\* \(.*\) \*/%\1%;s/#define /#define H5_/;s/#undef /#undef H5_/' >fortran/src/H5config_f.inc.tmp; mv -f fortran/src/H5config_f.inc.tmp fortran/src/H5config_f.inc ;;
"libtool":C)
# See if we are running on zsh, and set the options which allow our
diff --git a/configure.ac b/configure.ac
index 103d25c..eef593a 100644
--- a/configure.ac
+++ b/configure.ac
@@ -26,7 +26,8 @@ AC_PREREQ([2.69])
## NOTE: Do not forget to change the version number here when we do a
## release!!!
##
-AC_INIT([HDF5], [1.9.227], [help@hdfgroup.org])
+AC_INIT([HDF5], [1.9.229], [help@hdfgroup.org])
+
AC_CONFIG_SRCDIR([src/H5.c])
AC_CONFIG_HEADER([src/H5config.h])
@@ -149,7 +150,6 @@ AC_MSG_RESULT([done])
## MPE: whether MPE option is enabled. Default no.
## STATIC_EXEC: whether static-exec is enabled. Default no.
## HDF_FORTRAN: whether Fortran is enabled. Default no.
-## HDF_FORTRAN2003: whether Fortran 2003 is enabled. Default no.
## FC: Fortran compiler.
## HDF_CXX: whether C++ is enabled. Default no.
## CXX: C++ compiler.
@@ -157,6 +157,7 @@ AC_MSG_RESULT([done])
## INSTRUMENT: whether INSTRUMENT is enabled. No default set here.
## CODESTACK: whether CODESTACK is enabled. Default no.
## HAVE_DMALLOC: whether system has dmalloc support. Default no.
+## HAVE_FLOAT128: whether system has Quad-Precision Math Library. Default no.
## DIRECT_VFD: whether DIRECT_VFD is enabled. Default no.
## THREADSAFE: whether THREADSAFE is enabled. Default no.
## STATIC_SHARED: whether static and/or shared libraries are requested.
@@ -168,9 +169,7 @@ AC_SUBST([EXTERNAL_FILTERS])
AC_SUBST([MPE]) MPE=no
AC_SUBST([STATIC_EXEC]) STATIC_EXEC=no
AC_SUBST([HDF_FORTRAN]) HDF_FORTRAN=no
-AC_SUBST([HDF_FORTRAN2003]) HDF_FORTRAN2003=no
AC_SUBST([FC]) HDF_FORTRAN=no
-AC_SUBST([FC2003]) HDF_FORTRAN2003=no
AC_SUBST([HDF_CXX]) HDF_CXX=no
AC_SUBST([CXX]) HDF_CXX=no
AC_SUBST([HDF5_HL]) HDF5_HL=yes
@@ -183,6 +182,7 @@ AC_SUBST([STATIC_SHARED])
AC_SUBST([enable_shared])
AC_SUBST([enable_static])
AC_SUBST([UNAME_INFO]) UNAME_INFO=`uname -a`
+AC_SUBST([PAC_C_MAX_REAL_PRECISION])
## ----------------------------------------------------------------------
## Some platforms have broken basename, and/or xargs programs. Check
@@ -347,13 +347,57 @@ case "X-$ALLOW_UNSUPPORTED" in
esac
## ----------------------------------------------------------------------
+## Data types and their sizes.
+##
+AC_TYPE_OFF_T
+AC_CHECK_TYPE([size_t], [],
+ [AC_DEFINE_UNQUOTED([size_t], [unsigned long],
+ [Define to `unsigned long' if <sys/types.h> does not define.])])
+AC_CHECK_TYPE([ssize_t], [],
+ [AC_DEFINE_UNQUOTED([ssize_t], [long],
+ [Define to `long' if <sys/types.h> does not define.])])
+AC_CHECK_TYPE([ptrdiff_t], [],
+ [AC_DEFINE_UNQUOTED([ptrdiff_t], [long],
+ [Define to `long' if <sys/types.h> does not define.])])
+AC_C_BIGENDIAN
+AC_CHECK_SIZEOF([char], [1])
+AC_CHECK_SIZEOF([short], [2])
+AC_CHECK_SIZEOF([int], [4])
+AC_CHECK_SIZEOF([unsigned], [4])
+AC_CHECK_SIZEOF([long], [4])
+AC_CHECK_SIZEOF([long long], [8])
+AC_CHECK_SIZEOF([__int64], [8])
+AC_CHECK_SIZEOF([float], [4])
+AC_CHECK_SIZEOF([double], [8])
+AC_CHECK_SIZEOF([long double], [8])
+
+## Check for non-standard extenstion __FLOAT128
+HAVE_FLOAT128=0
+HAVE_QUADMATH=0
+FLT128_DIG=0
+LDBL_DIG=0
+
+AC_CHECK_SIZEOF([__float128])
+AC_CHECK_SIZEOF([_Quad])
+AC_CHECK_HEADERS([quadmath.h], [HAVE_QUADMATH=1], [])
+PAC_FC_LDBL_DIG
+
+if test "$ac_cv_sizeof___float128" != 0 && test "$FLT128_DIG" != 0 ; then
+ AC_DEFINE([HAVE_FLOAT128], [1], [Determine if __float128 is available])
+ PAC_C_MAX_REAL_PRECISION=$FLT128_DIG
+else
+ PAC_C_MAX_REAL_PRECISION=$LDBL_DIG
+fi
+AC_DEFINE_UNQUOTED([PAC_C_MAX_REAL_PRECISION], $PAC_C_MAX_REAL_PRECISION, [Determine the maximum decimal precision in C])
+AC_MSG_RESULT([$PAC_C_MAX_REAL_PRECISION])
+## ----------------------------------------------------------------------
## Check if they would like the Fortran interface compiled
##
AC_SUBST([HDF5_INTERFACES]) HDF5_INTERFACES=""
AC_MSG_CHECKING([if Fortran interface enabled])
AC_ARG_ENABLE([fortran],
[AS_HELP_STRING([--enable-fortran],
- [Compile the Fortran 90/95 interface [default=no]])],
+ [Compile the Fortran interface [default=no]])],
[HDF_FORTRAN=$enableval])
if test "X$HDF_FORTRAN" = "Xyes"; then
@@ -362,35 +406,16 @@ else
echo "no"
fi
-
-## ----------------------------------------------------------------------
-## Check if they would like the Fortran 2003 interface compiled
-##
-AC_MSG_CHECKING([if Fortran 2003 interface enabled])
-AC_ARG_ENABLE([fortran2003],
- [AS_HELP_STRING([--enable-fortran2003],
- [Compile the Fortran 2003 interface, must also specify --enable-fortran [default=no]])],
- [HDF_FORTRAN2003=$enableval])
-
-## ----------------------------------------------------------------------
-## Check to make sure --enable-fortran is present if --enable-fortran2003
-## was specified
-
-if test "X$HDF_FORTRAN2003" = "Xyes" && test "X$HDF_FORTRAN" = "Xno"; then
- echo "no"
- AC_MSG_ERROR([--enable-fortran must be used with --enable-fortran2003])
-else
- if test "X$HDF_FORTRAN2003" = "Xyes" && test "X$HDF_FORTRAN" = "Xyes"; then
- echo "yes"
- else
- echo "no"
- fi
-fi
-
if test "X$HDF_FORTRAN" = "Xyes"; then
+## We will output an include file for Fortran, H5config_f.inc which
+## contains various configure definitions used by the Fortran Library.
+## Prepend H5_ to all macro names. This avoids name conflict between HDF5 macro
+## names and those generated by another software package that uses the HDF5 library.
+ AC_CONFIG_HEADERS([fortran/src/H5config_f.inc],
+ [cat fortran/src/H5config_f.inc | sed '1d;s%^/\* \(.*\) \*/%\1%;s/#define /#define H5_/;s/#undef /#undef H5_/' >fortran/src/H5config_f.inc.tmp; mv -f fortran/src/H5config_f.inc.tmp fortran/src/H5config_f.inc])
+
AC_SUBST([FC]) HDF_FORTRAN=yes
- AC_SUBST([HAVE_FORTRAN_2003])
HDF5_INTERFACES="$HDF5_INTERFACES fortran"
@@ -423,6 +448,14 @@ if test "X$HDF_FORTRAN" = "Xyes"; then
## Change to the Fortran 90 language
AC_LANG_PUSH(Fortran)
+ ## Checking if the compiler supports the required Fortran 2003 features and
+ ## stopping if it does not.
+ PAC_PROG_FC_HAVE_F2003_REQUIREMENTS
+
+ if test "X$HAVE_F2003_REQUIREMENTS" = "Xno"; then
+ AC_MSG_ERROR([Fortran compiler lacks required Fortran 2003 features; unsupported Fortran 2003 compiler, remove --enable-fortran])
+ fi
+
## --------------------------------------------------------------------
## Define wrappers for the C compiler to use Fortran function names
##
@@ -434,39 +467,142 @@ if test "X$HDF_FORTRAN" = "Xyes"; then
## See if the fortran compiler supports the intrinsic function "C_SIZEOF"
PAC_PROG_FC_C_SIZEOF
-
+
## See if the fortran compiler supports the intrinsic function "STORAGE_SIZE"
PAC_PROG_FC_STORAGE_SIZE
- ## Check to see if -r8 was specified to determine if we need to
- ## compile the DOUBLE PRECISION interfaces.
- PAC_PROG_FC_DEFAULT_REALisDBLE
+ ## Set the sizeof function for use later in the fortran tests
+ if test "X$HAVE_STORAGE_SIZE_FORTRAN" = "Xyes";then
+ FC_SIZEOF_A="STORAGE_SIZE(a, c_size_t)/STORAGE_SIZE(c_char_'a',c_size_t)"
+ FC_SIZEOF_B="STORAGE_SIZE(b, c_size_t)/STORAGE_SIZE(c_char_'a',c_size_t)"
+ FC_SIZEOF_C="STORAGE_SIZE(c, c_size_t)/STORAGE_SIZE(c_char_'a',c_size_t)"
+ else
+ if test "X$HAVE_SIZEOF_FORTRAN" = "Xyes";then
+ FC_SIZEOF_A="SIZEOF(a)"
+ FC_SIZEOF_B="SIZEOF(b)"
+ FC_SIZEOF_C="SIZEOF(c)"
+ else
+ ## If neither intrinsic functions SIZEOF or STORAGE_SIZE is available then stop configure with an error
+ AC_MSG_ERROR([Fortran compiler requires either intrinsic functions SIZEOF or STORAGE_SIZE])
+ fi
+ fi
- if test "X$HDF_FORTRAN2003" = "Xyes"; then
+ ## See if the fortran compiler supports the intrinsic module "ISO_FORTRAN_ENV"
+ PAC_PROG_FC_ISO_FORTRAN_ENV
+ ## Check KIND and size of native integer
+ PAC_FC_NATIVE_INTEGER
+
+ ## Find all available KINDs
+ PAC_FC_AVAIL_KINDS
+ ## Find all sizeofs for available KINDs
+ PAC_FC_SIZEOF_INT_KINDS
+ PAC_FC_SIZEOF_REAL_KINDS
+
+ AC_SUBST([PAC_FC_ALL_REAL_KINDS])
+ AC_SUBST([PAC_FC_MAX_REAL_PRECISION])
+ AC_SUBST([PAC_FC_ALL_INTEGER_KINDS])
+ AC_SUBST([PAC_FC_ALL_REAL_KINDS_SIZEOF])
+ AC_SUBST([PAC_FC_ALL_INTEGER_KINDS_SIZEOF])
+ AC_SUBST([PAC_FORTRAN_NATIVE_INTEGER_KIND])
+ AC_SUBST([PAC_FORTRAN_NATIVE_INTEGER_SIZEOF])
+ AC_SUBST([PAC_FORTRAN_NATIVE_REAL_KIND])
+ AC_SUBST([PAC_FORTRAN_NATIVE_REAL_SIZEOF])
+ AC_SUBST([PAC_FORTRAN_NATIVE_DOUBLE_KIND])
+ AC_SUBST([PAC_FORTRAN_NATIVE_DOUBLE_SIZEOF])
+ AC_SUBST([HAVE_Fortran_INTEGER_SIZEOF_16])
+ AC_SUBST([FORTRAN_HAVE_C_LONG_DOUBLE])
+ AC_SUBST([FORTRAN_C_LONG_DOUBLE_IS_UNIQUE])
+ AC_SUBST([FORTRAN_SIZEOF_LONG_DOUBLE])
+ AC_SUBST([H5CONFIG_F_NUM_RKIND])
+ AC_SUBST([H5CONFIG_F_RKIND])
+ AC_SUBST([H5CONFIG_F_RKIND_SIZEOF])
+ AC_SUBST([H5CONFIG_F_NUM_IKIND])
+ AC_SUBST([H5CONFIG_F_IKIND])
+
+ ## Setting definition if there is a 16 byte fortran integer
+ if `echo $PAC_FC_ALL_INTEGER_KINDS_SIZEOF | grep '16' >/dev/null`; then
+ HAVE_Fortran_INTEGER_SIZEOF_16="1"
+ AC_DEFINE([HAVE_Fortran_INTEGER_SIZEOF_16], [1], [Determine if INTEGER*16 is available])
+ else
+ HAVE_Fortran_INTEGER_SIZEOF_16="0"
+ AC_DEFINE([HAVE_Fortran_INTEGER_SIZEOF_16], [0], [Determine if INTEGER*16 is available])
+ fi
+
+ if test "X$HAVE_STORAGE_SIZE_FORTRAN" = "Xyes"; then
+ AC_DEFINE([FORTRAN_HAVE_STORAGE_SIZE], [1], [Define if we have Fortran intrinsic STORAGE_SIZE])
+ fi
+
+ if test "X$HAVE_C_SIZEOF_FORTRAN" = "Xyes"; then
+ AC_DEFINE([FORTRAN_HAVE_C_SIZEOF], [1], [Define if we have Fortran intrinsic C_SIZEOF])
+ fi
+
+ if test "X$HAVE_SIZEOF_FORTRAN" = "Xyes"; then
+ AC_DEFINE([FORTRAN_HAVE_SIZEOF], [1], [Define if we have Fortran intrinsic SIZEOF])
+ fi
- ## Checking if the compiler supports the required Fortran 2003 features and
- ## disable Fortran 2003 if it does not.
- PAC_PROG_FC_HAVE_F2003_REQUIREMENTS
+ ## See if C_LONG_DOUBLE is available
+ PAC_PROG_FC_HAVE_C_LONG_DOUBLE
- if test "X$HAVE_F2003_REQUIREMENTS" = "Xno"; then
- AC_MSG_ERROR([Fortran compiler lacks required Fortran 2003 features; unsupported Fortran 2003 compiler, remove --enable-fortran2003])
+ FORTRAN_HAVE_C_LONG_DOUBLE="0"
+ if test "X$HAVE_C_LONG_DOUBLE_FORTRAN" = "Xyes"; then
+ FORTRAN_HAVE_C_LONG_DOUBLE="1"
+ AC_DEFINE([FORTRAN_HAVE_C_LONG_DOUBLE], [1], [Define if we have Fortran C_LONG_DOUBLE])
+ fi
+
+ ## Is C_LONG_DOUBLE different from C_DOUBLE
+ FORTRAN_C_LONG_DOUBLE_IS_UNIQUE="0"
+ if test "X$FORTRAN_HAVE_C_LONG_DOUBLE"; then
+ PAC_PROG_FC_C_LONG_DOUBLE_EQ_C_DOUBLE
+ if test "X$C_LONG_DOUBLE_IS_UNIQUE_FORTRAN" = "Xyes"; then
+ FORTRAN_C_LONG_DOUBLE_IS_UNIQUE="1"
+ AC_DEFINE([FORTRAN_C_LONG_DOUBLE_IS_UNIQUE], [1], [Define if Fortran C_LONG_DOUBLE is different from C_DOUBLE])
else
- HAVE_FORTRAN_2003="yes"
+ FORTRAN_C_LONG_DOUBLE_IS_UNIQUE="0"
+ fi
+ fi
+
+ FORTRAN_SIZEOF_LONG_DOUBLE=${ac_cv_sizeof_long_double}
+ AC_DEFINE_UNQUOTED([FORTRAN_SIZEOF_LONG_DOUBLE], ["${ac_cv_sizeof_long_double}"], [Determine the size of C long double])
+
+
+ dnl get the largest sizeof for REAL kinds
+ max_real_fortran_sizeof="`echo $PAC_FC_ALL_REAL_KINDS_SIZEOF | sed -ne 's/.*,\([[0-9]]*\)\}/\1/p'`"
+ max_real_fortran_kind="`echo \"[$]PAC_FC_ALL_REAL_KINDS\" | sed -ne 's/.*,\([[0-9]]*\)\}/\1/p'`"
+
+ dnl remove the invalid kind from the list
+ if test "$ac_cv_sizeof___float128" != 0;then
+ if test "$ac_cv_sizeof___float128" != "$max_real_fortran_sizeof" &&
+ test "${ac_cv_sizeof_long_double}" != "$max_real_fortran_sizeof" &&
+ dnl account for the fact that the C compiler can have 16-byte __float128 and the Fortran compiler only has 8-byte doubles,
+ dnl so we don't want to remove the 8-byte Fortran doubles. This is sometimes the case if different C and Fortran vendors
+ dnl are used (for example gnu and pgi).
+ test "${ac_cv_sizeof_double}" != "$max_real_fortran_sizeof" ; then
+ AC_MSG_WARN([
+ Fortran REAL(KIND=$max_real_fortran_kind) is $max_real_fortran_sizeof Bytes, but no corresponding C float type exists of that size
+ !!! Fortran interfaces will not be generated for REAL(KIND=$max_real_fortran_kind) !!!
+ ])
+ PAC_FC_ALL_REAL_KINDS="`echo $PAC_FC_ALL_REAL_KINDS | sed -e 's/,[[0-9]]\+}/}/g'`"
+ PAC_FC_ALL_REAL_KINDS_SIZEOF="`echo $PAC_FC_ALL_REAL_KINDS_SIZEOF | sed -e 's/,[[0-9]]\+}/}/g'`"
fi
fi
+ AC_MSG_CHECKING([for Fortran interoperable KINDS with C])
+ AC_MSG_RESULT([$PAC_FC_ALL_REAL_KINDS])
+
+ dnl count the number of real kinds
+ H5CONFIG_F_NUM_RKIND="INTEGER, PARAMETER :: num_rkinds = `echo \"[$]PAC_FC_ALL_REAL_KINDS\" | tr -d -c ',\n' | awk '{ print length + 1; }'`"
+ H5CONFIG_F_RKIND="INTEGER, DIMENSION(1:num_rkinds) :: rkind = (/`echo $PAC_FC_ALL_REAL_KINDS | sed -e 's/{//g' | sed -e 's/}//g' | sed -e 's/ /,/g'`/)"
+ H5CONFIG_F_RKIND_SIZEOF="INTEGER, DIMENSION(1:num_rkinds) :: rkind_sizeof = (/`echo $PAC_FC_ALL_REAL_KINDS_SIZEOF | sed -e 's/{//g' | sed -e 's/}//g'| sed -e 's/ /,/g'`/)"
+
+ AC_DEFINE_UNQUOTED([H5CONFIG_F_NUM_RKIND], $H5CONFIG_F_NUM_RKIND, [Define number of valid Fortran REAL KINDs])
+ AC_DEFINE_UNQUOTED([H5CONFIG_F_RKIND], $H5CONFIG_F_RKIND, [Define valid Fortran REAL KINDs])
+ AC_DEFINE_UNQUOTED([H5CONFIG_F_RKIND_SIZEOF], $H5CONFIG_F_RKIND_SIZEOF, [Define valid Fortran REAL KINDs Sizeof])
+
+## Change back to the C language
+ AC_LANG_POP(Fortran)
else
FC="no"
fi
-## Change back to the C language
-AC_LANG_POP(Fortran)
-
-AM_CONDITIONAL([FORTRAN_HAVE_SIZEOF], [test "X$HAVE_SIZEOF_FORTRAN" = "Xyes"])
-AM_CONDITIONAL([FORTRAN_HAVE_C_SIZEOF], [test "X$HAVE_C_SIZEOF_FORTRAN" = "Xyes"])
-AM_CONDITIONAL([FORTRAN_HAVE_STORAGE_SIZE], [test "X$HAVE_STORAGE_SIZE_FORTRAN" = "Xyes"])
-AM_CONDITIONAL([FORTRAN_2003_CONDITIONAL_F], [test "X$HAVE_FORTRAN_2003" = "Xyes"])
-AM_CONDITIONAL([FORTRAN_DEFAULT_REALisDBLE_F], [test "X$FORTRAN_DEFAULT_REALisDBLE" = "Xyes"])
-
## ----------------------------------------------------------------------
## Check if they would like the C++ interface compiled
##
@@ -530,27 +666,12 @@ if test "X$HDF5_HL" = "Xyes"; then
HL="hl"
AC_DEFINE([INCLUDE_HL], [1],
[Define if HDF5's high-level library headers should be included in hdf5.h])
-
- ## If Fortran's default real is double precision and HL is being built then configure
- ## should fail due to bug HDFFV-889.
- if test "X$FORTRAN_DEFAULT_REALisDBLE" = "Xyes"; then
- AC_MSG_ERROR([Fortran high-level routines are not supported when the default REAL is DOUBLE PRECISION, use configure option --disable-hl.])
- fi
else
echo "no"
fi
## ----------------------------------------------------------------------
-## Check if they have Perl installed on their system. We only need Perl
-## if they're using a GNU compiler.
-##
-AC_SUBST([PERL]) PERL=""
-if test "X$GCC" = "Xyes"; then
- AC_CHECK_PROGS([PERL], [perl],, [$PATH])
-fi
-
-## ----------------------------------------------------------------------
## Check which archiving tool to use. This needs to be done before
## the AM_PROG_LIBTOOL macro.
##
@@ -975,7 +1096,7 @@ case "$host_cpu-$host_vendor-$host_os" in
##
## POSIX feature information can be found in the gcc manual at:
## http://www.gnu.org/s/libc/manual/html_node/Feature-Test-Macros.html
- H5_CPPFLAGS="-D_POSIX_C_SOURCE=200112L $H5_CPPFLAGS"
+##SCOT H5_CPPFLAGS="-D_POSIX_C_SOURCE=200112L $H5_CPPFLAGS"
## Need to add this so that O_DIRECT is visible for the direct
## VFD on Linux systems.
@@ -1016,31 +1137,6 @@ AC_TRY_COMPILE([
[AC_CHECK_FUNCS([stat64 fstat64])],
[AC_MSG_RESULT([skipping test for stat64() and fstat64()])])
-## ----------------------------------------------------------------------
-## Data types and their sizes.
-##
-AC_TYPE_OFF_T
-AC_CHECK_TYPE([size_t], [],
- [AC_DEFINE_UNQUOTED([size_t], [unsigned long],
- [Define to `unsigned long' if <sys/types.h> does not define.])])
-AC_CHECK_TYPE([ssize_t], [],
- [AC_DEFINE_UNQUOTED([ssize_t], [long],
- [Define to `long' if <sys/types.h> does not define.])])
-AC_CHECK_TYPE([ptrdiff_t], [],
- [AC_DEFINE_UNQUOTED([ptrdiff_t], [long],
- [Define to `long' if <sys/types.h> does not define.])])
-AC_C_BIGENDIAN
-AC_CHECK_SIZEOF([char], [1])
-AC_CHECK_SIZEOF([short], [2])
-AC_CHECK_SIZEOF([int], [4])
-AC_CHECK_SIZEOF([unsigned], [4])
-AC_CHECK_SIZEOF([long], [4])
-AC_CHECK_SIZEOF([long long], [8])
-AC_CHECK_SIZEOF([__int64], [8])
-AC_CHECK_SIZEOF([float], [4])
-AC_CHECK_SIZEOF([double], [8])
-AC_CHECK_SIZEOF([long double], [8])
-
## Checkpoint the cache
AC_CACHE_SAVE
@@ -1804,18 +1900,18 @@ all_packages="ac,b,b2,d,e,f,g,hg,hl,i,mf,mm,o,p,s,t,v,z"
case "X-$DEBUG_PKG" in
X-yes)
DEBUG_PKG="d,e,f,g,hg,i,mm,o,p,s,t,v,z"
- H5_CPPFLAGS="$H5_CPPFLAGS -UNDEBUG"
+## H5_CPPFLAGS="$H5_CPPFLAGS -UNDEBUG"
AC_MSG_RESULT([default ($DEBUG_PKG)])
;;
X-all)
DEBUG_PKG=$all_packages
- H5_CPPFLAGS="$H5_CPPFLAGS -UNDEBUG"
+## H5_CPPFLAGS="$H5_CPPFLAGS -UNDEBUG"
AC_MSG_RESULT([all ($DEBUG_PKG)])
;;
X-no|X-none)
AC_MSG_RESULT([none])
DEBUG_PKG=
- H5_CPPFLAGS="$H5_CPPFLAGS -DNDEBUG"
+## H5_CPPFLAGS="$H5_CPPFLAGS -DNDEBUG"
;;
*)
AC_MSG_RESULT([$DEBUG_PKG])
@@ -3043,6 +3139,7 @@ AC_CONFIG_FILES([src/libhdf5.settings
fortran/Makefile
fortran/src/h5fc
fortran/src/Makefile
+ fortran/src/H5fort_type_defines.h
fortran/test/Makefile
fortran/testpar/Makefile
fortran/examples/Makefile
diff --git a/examples/CMakeLists.txt b/examples/CMakeLists.txt
index 7add410..8cabba6 100644
--- a/examples/CMakeLists.txt
+++ b/examples/CMakeLists.txt
@@ -46,18 +46,32 @@ set (examples
foreach (example ${examples})
add_executable (${example} ${HDF5_EXAMPLES_SOURCE_DIR}/${example}.c)
- TARGET_NAMING (${example} ${LIB_TYPE})
- TARGET_C_PROPERTIES (${example} ${LIB_TYPE} " " " ")
+ TARGET_NAMING (${example} STATIC)
+ TARGET_C_PROPERTIES (${example} STATIC " " " ")
target_link_libraries (${example} ${HDF5_LIB_TARGET})
set_target_properties (${example} PROPERTIES FOLDER examples)
+ if (BUILD_SHARED_LIBS)
+ add_executable (${example}-shared ${HDF5_EXAMPLES_SOURCE_DIR}/${example}.c)
+ TARGET_NAMING (${example}-shared SHARED)
+ TARGET_C_PROPERTIES (${example}-shared SHARED " " " ")
+ target_link_libraries (${example}-shared ${HDF5_LIBSH_TARGET})
+ set_target_properties (${example}-shared PROPERTIES FOLDER examples)
+ endif (BUILD_SHARED_LIBS)
endforeach (example ${examples})
if (H5_HAVE_PARALLEL)
add_executable (ph5example ${HDF5_EXAMPLES_SOURCE_DIR}/ph5example.c)
- TARGET_NAMING (ph5example ${LIB_TYPE})
- TARGET_C_PROPERTIES (ph5example ${LIB_TYPE} " " " ")
+ TARGET_NAMING (ph5example STATIC)
+ TARGET_C_PROPERTIES (ph5example STATIC " " " ")
target_link_libraries (ph5example ${HDF5_LIB_TARGET})
set_target_properties (ph5example PROPERTIES FOLDER examples)
+ if (BUILD_SHARED_LIBS)
+ add_executable (ph5example-shared ${HDF5_EXAMPLES_SOURCE_DIR}/ph5example.c)
+ TARGET_NAMING (ph5example-shared SHARED)
+ TARGET_C_PROPERTIES (ph5example-shared SHARED " " " ")
+ target_link_libraries (ph5example-shared ${HDF5_LIBSH_TARGET})
+ set_target_properties (ph5example-shared PROPERTIES FOLDER examples)
+ endif (BUILD_SHARED_LIBS)
endif (H5_HAVE_PARALLEL)
if (BUILD_TESTING)
diff --git a/examples/CMakeTests.cmake b/examples/CMakeTests.cmake
index 342bc2e..2cf82b8 100644
--- a/examples/CMakeTests.cmake
+++ b/examples/CMakeTests.cmake
@@ -5,6 +5,10 @@
##############################################################################
##############################################################################
file (MAKE_DIRECTORY ${PROJECT_BINARY_DIR}/red ${PROJECT_BINARY_DIR}/blue ${PROJECT_BINARY_DIR}/u2w)
+ if (BUILD_SHARED_LIBS)
+ file (MAKE_DIRECTORY "${PROJECT_BINARY_DIR}/H5EX-shared")
+ file (MAKE_DIRECTORY ${PROJECT_BINARY_DIR}/H5EX-shared/red ${PROJECT_BINARY_DIR}/H5EX-shared/blue ${PROJECT_BINARY_DIR}/H5EX-shared/u2w)
+ endif (BUILD_SHARED_LIBS)
# Remove any output file left over from previous test run
add_test (
@@ -68,6 +72,61 @@
set (last_test "EXAMPLES-${example}")
endforeach (example ${examples})
+ if (BUILD_SHARED_LIBS)
+ # Remove any output file left over from previous test run
+ add_test (
+ NAME EXAMPLES-shared-clear-objects
+ COMMAND ${CMAKE_COMMAND}
+ -E remove
+ Attributes.h5
+ btrees_file.h5
+ cmprss.h5
+ default_file.h5
+ dset.h5
+ extend.h5
+ extlink_prefix_source.h5
+ extlink_source.h5
+ extlink_target.h5
+ group.h5
+ groups.h5
+ hard_link.h5
+ mount1.h5
+ mount2.h5
+ one_index_file.h5
+ only_dspaces_and_attrs_file.h5
+ only_huge_mesgs_file.h5
+ REF_REG.h5
+ refere.h5
+ SDS.h5
+ SDScompound.h5
+ SDSextendible.h5
+ Select.h5
+ separate_indexes_file.h5
+ small_lists_file.h5
+ soft_link.h5
+ subset.h5
+ unix2win.h5
+ blue/prefix_target.h5
+ red/prefix_target.h5
+ u2w/u2w_target.h5
+ WORKING_DIRECTORY
+ ${PROJECT_BINARY_DIR}/H5EX-shared
+ )
+ if (NOT "${last_test}" STREQUAL "")
+ set_tests_properties (EXAMPLES-shared-clear-objects PROPERTIES DEPENDS ${last_test})
+ endif (NOT "${last_test}" STREQUAL "")
+ set (last_test "EXAMPLES-shared-clear-objects")
+
+ foreach (example ${examples})
+ add_test (NAME EXAMPLES-shared-${example} COMMAND $<TARGET_FILE:${example}-shared>)
+ set_tests_properties (EXAMPLES-shared-${example} PROPERTIES WORKING_DIRECTORY ${PROJECT_BINARY_DIR}/H5EX-shared)
+ if (NOT "${last_test}" STREQUAL "")
+ set_tests_properties (EXAMPLES-shared-${example} PROPERTIES DEPENDS ${last_test})
+ endif (NOT "${last_test}" STREQUAL "")
+ set (last_test "EXAMPLES-shared-${example}")
+ endforeach (example ${examples})
+ endif (BUILD_SHARED_LIBS)
+
### Windows pops up a modal permission dialog on this test
if (H5_HAVE_PARALLEL AND NOT WIN32)
add_test (NAME EXAMPLES-ph5example COMMAND $<TARGET_FILE:ph5example>)
@@ -75,4 +134,12 @@
set_tests_properties (EXAMPLES-ph5example PROPERTIES DEPENDS ${last_test})
endif (NOT "${last_test}" STREQUAL "")
set (last_test "EXAMPLES-ph5example")
+ if (BUILD_SHARED_LIBS)
+ add_test (NAME EXAMPLES-shared-ph5example COMMAND $<TARGET_FILE:ph5example-shared>)
+ set_tests_properties (EXAMPLES-shared-ph5example PROPERTIES WORKING_DIRECTORY ${PROJECT_BINARY_DIR}/H5EX-shared)
+ if (NOT "${last_test}" STREQUAL "")
+ set_tests_properties (EXAMPLES-shared-ph5example PROPERTIES DEPENDS ${last_test})
+ endif (NOT "${last_test}" STREQUAL "")
+ set (last_test "EXAMPLES-shared-ph5example")
+ endif (BUILD_SHARED_LIBS)
endif (H5_HAVE_PARALLEL AND NOT WIN32)
diff --git a/examples/Makefile.in b/examples/Makefile.in
index 0840b94..c403545 100644
--- a/examples/Makefile.in
+++ b/examples/Makefile.in
@@ -112,7 +112,8 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/aclocal_cxx.m4 \
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(SHELL) $(top_srcdir)/bin/mkinstalldirs
-CONFIG_HEADER = $(top_builddir)/src/H5config.h
+CONFIG_HEADER = $(top_builddir)/src/H5config.h \
+ $(top_builddir)/fortran/src/H5config_f.inc
CONFIG_CLEAN_FILES = run-c-ex.sh testh5cc.sh
CONFIG_CLEAN_VPATH_FILES =
AM_V_P = $(am__v_P_@AM_V@)
@@ -396,14 +397,21 @@ F9XMODEXT = @F9XMODEXT@
F9XMODFLAG = @F9XMODFLAG@
F9XSUFFIXFLAG = @F9XSUFFIXFLAG@
FC = @FC@
-FC2003 = @FC2003@
FCFLAGS = @FCFLAGS@
FCFLAGS_f90 = @FCFLAGS_f90@
FCLIBS = @FCLIBS@
FC_VERSION = @FC_VERSION@
FGREP = @FGREP@
+FORTRAN_C_LONG_DOUBLE_IS_UNIQUE = @FORTRAN_C_LONG_DOUBLE_IS_UNIQUE@
+FORTRAN_HAVE_C_LONG_DOUBLE = @FORTRAN_HAVE_C_LONG_DOUBLE@
+FORTRAN_SIZEOF_LONG_DOUBLE = @FORTRAN_SIZEOF_LONG_DOUBLE@
FSEARCH_DIRS = @FSEARCH_DIRS@
GREP = @GREP@
+H5CONFIG_F_IKIND = @H5CONFIG_F_IKIND@
+H5CONFIG_F_NUM_IKIND = @H5CONFIG_F_NUM_IKIND@
+H5CONFIG_F_NUM_RKIND = @H5CONFIG_F_NUM_RKIND@
+H5CONFIG_F_RKIND = @H5CONFIG_F_RKIND@
+H5CONFIG_F_RKIND_SIZEOF = @H5CONFIG_F_RKIND_SIZEOF@
H5_CFLAGS = @H5_CFLAGS@
H5_CPPFLAGS = @H5_CPPFLAGS@
H5_CXXFLAGS = @H5_CXXFLAGS@
@@ -413,13 +421,12 @@ H5_LDFLAGS = @H5_LDFLAGS@
H5_VERSION = @H5_VERSION@
HADDR_T = @HADDR_T@
HAVE_DMALLOC = @HAVE_DMALLOC@
-HAVE_FORTRAN_2003 = @HAVE_FORTRAN_2003@
+HAVE_Fortran_INTEGER_SIZEOF_16 = @HAVE_Fortran_INTEGER_SIZEOF_16@
HAVE_PTHREAD = @HAVE_PTHREAD@
HDF5_HL = @HDF5_HL@
HDF5_INTERFACES = @HDF5_INTERFACES@
HDF_CXX = @HDF_CXX@
HDF_FORTRAN = @HDF_FORTRAN@
-HDF_FORTRAN2003 = @HDF_FORTRAN2003@
HID_T = @HID_T@
HL = @HL@
HL_FOR = @HL_FOR@
@@ -461,9 +468,20 @@ PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
+PAC_C_MAX_REAL_PRECISION = @PAC_C_MAX_REAL_PRECISION@
+PAC_FC_ALL_INTEGER_KINDS = @PAC_FC_ALL_INTEGER_KINDS@
+PAC_FC_ALL_INTEGER_KINDS_SIZEOF = @PAC_FC_ALL_INTEGER_KINDS_SIZEOF@
+PAC_FC_ALL_REAL_KINDS = @PAC_FC_ALL_REAL_KINDS@
+PAC_FC_ALL_REAL_KINDS_SIZEOF = @PAC_FC_ALL_REAL_KINDS_SIZEOF@
+PAC_FC_MAX_REAL_PRECISION = @PAC_FC_MAX_REAL_PRECISION@
+PAC_FORTRAN_NATIVE_DOUBLE_KIND = @PAC_FORTRAN_NATIVE_DOUBLE_KIND@
+PAC_FORTRAN_NATIVE_DOUBLE_SIZEOF = @PAC_FORTRAN_NATIVE_DOUBLE_SIZEOF@
+PAC_FORTRAN_NATIVE_INTEGER_KIND = @PAC_FORTRAN_NATIVE_INTEGER_KIND@
+PAC_FORTRAN_NATIVE_INTEGER_SIZEOF = @PAC_FORTRAN_NATIVE_INTEGER_SIZEOF@
+PAC_FORTRAN_NATIVE_REAL_KIND = @PAC_FORTRAN_NATIVE_REAL_KIND@
+PAC_FORTRAN_NATIVE_REAL_SIZEOF = @PAC_FORTRAN_NATIVE_REAL_SIZEOF@
PARALLEL = @PARALLEL@
PATH_SEPARATOR = @PATH_SEPARATOR@
-PERL = @PERL@
RANLIB = @RANLIB@
ROOT = @ROOT@
RUNPARALLEL = @RUNPARALLEL@
diff --git a/fortran/Makefile.in b/fortran/Makefile.in
index 55ede05..5d5d63e 100644
--- a/fortran/Makefile.in
+++ b/fortran/Makefile.in
@@ -110,7 +110,8 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/aclocal_cxx.m4 \
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(SHELL) $(top_srcdir)/bin/mkinstalldirs
-CONFIG_HEADER = $(top_builddir)/src/H5config.h
+CONFIG_HEADER = $(top_builddir)/src/H5config.h \
+ $(top_builddir)/fortran/src/H5config_f.inc
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
AM_V_P = $(am__v_P_@AM_V@)
@@ -452,14 +453,21 @@ F9XMODEXT = @F9XMODEXT@
F9XMODFLAG = @F9XMODFLAG@
F9XSUFFIXFLAG = @F9XSUFFIXFLAG@
FC = @FC@
-FC2003 = @FC2003@
FCFLAGS = @FCFLAGS@
FCFLAGS_f90 = @FCFLAGS_f90@
FCLIBS = @FCLIBS@
FC_VERSION = @FC_VERSION@
FGREP = @FGREP@
+FORTRAN_C_LONG_DOUBLE_IS_UNIQUE = @FORTRAN_C_LONG_DOUBLE_IS_UNIQUE@
+FORTRAN_HAVE_C_LONG_DOUBLE = @FORTRAN_HAVE_C_LONG_DOUBLE@
+FORTRAN_SIZEOF_LONG_DOUBLE = @FORTRAN_SIZEOF_LONG_DOUBLE@
FSEARCH_DIRS = @FSEARCH_DIRS@
GREP = @GREP@
+H5CONFIG_F_IKIND = @H5CONFIG_F_IKIND@
+H5CONFIG_F_NUM_IKIND = @H5CONFIG_F_NUM_IKIND@
+H5CONFIG_F_NUM_RKIND = @H5CONFIG_F_NUM_RKIND@
+H5CONFIG_F_RKIND = @H5CONFIG_F_RKIND@
+H5CONFIG_F_RKIND_SIZEOF = @H5CONFIG_F_RKIND_SIZEOF@
H5_CFLAGS = @H5_CFLAGS@
H5_CPPFLAGS = @H5_CPPFLAGS@
H5_CXXFLAGS = @H5_CXXFLAGS@
@@ -469,13 +477,12 @@ H5_LDFLAGS = @H5_LDFLAGS@
H5_VERSION = @H5_VERSION@
HADDR_T = @HADDR_T@
HAVE_DMALLOC = @HAVE_DMALLOC@
-HAVE_FORTRAN_2003 = @HAVE_FORTRAN_2003@
+HAVE_Fortran_INTEGER_SIZEOF_16 = @HAVE_Fortran_INTEGER_SIZEOF_16@
HAVE_PTHREAD = @HAVE_PTHREAD@
HDF5_HL = @HDF5_HL@
HDF5_INTERFACES = @HDF5_INTERFACES@
HDF_CXX = @HDF_CXX@
HDF_FORTRAN = @HDF_FORTRAN@
-HDF_FORTRAN2003 = @HDF_FORTRAN2003@
HID_T = @HID_T@
HL = @HL@
HL_FOR = @HL_FOR@
@@ -517,9 +524,20 @@ PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
+PAC_C_MAX_REAL_PRECISION = @PAC_C_MAX_REAL_PRECISION@
+PAC_FC_ALL_INTEGER_KINDS = @PAC_FC_ALL_INTEGER_KINDS@
+PAC_FC_ALL_INTEGER_KINDS_SIZEOF = @PAC_FC_ALL_INTEGER_KINDS_SIZEOF@
+PAC_FC_ALL_REAL_KINDS = @PAC_FC_ALL_REAL_KINDS@
+PAC_FC_ALL_REAL_KINDS_SIZEOF = @PAC_FC_ALL_REAL_KINDS_SIZEOF@
+PAC_FC_MAX_REAL_PRECISION = @PAC_FC_MAX_REAL_PRECISION@
+PAC_FORTRAN_NATIVE_DOUBLE_KIND = @PAC_FORTRAN_NATIVE_DOUBLE_KIND@
+PAC_FORTRAN_NATIVE_DOUBLE_SIZEOF = @PAC_FORTRAN_NATIVE_DOUBLE_SIZEOF@
+PAC_FORTRAN_NATIVE_INTEGER_KIND = @PAC_FORTRAN_NATIVE_INTEGER_KIND@
+PAC_FORTRAN_NATIVE_INTEGER_SIZEOF = @PAC_FORTRAN_NATIVE_INTEGER_SIZEOF@
+PAC_FORTRAN_NATIVE_REAL_KIND = @PAC_FORTRAN_NATIVE_REAL_KIND@
+PAC_FORTRAN_NATIVE_REAL_SIZEOF = @PAC_FORTRAN_NATIVE_REAL_SIZEOF@
PARALLEL = @PARALLEL@
PATH_SEPARATOR = @PATH_SEPARATOR@
-PERL = @PERL@
RANLIB = @RANLIB@
ROOT = @ROOT@
RUNPARALLEL = @RUNPARALLEL@
diff --git a/fortran/doc/DevelGuide/masterindex.html b/fortran/doc/DevelGuide/masterindex.html
deleted file mode 100644
index 9765ea0..0000000
--- a/fortran/doc/DevelGuide/masterindex.html
+++ /dev/null
@@ -1,589 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-type" content="text/html; charset=ISO-8859-1" />
-<link rel="stylesheet" href="./robodoc.css" type="text/css" />
-<title>Index</title>
-<!-- Source: ./ -->
-</head>
-<body>
-<div id="logo">
-<a name="robo_top_of_doc">HDF5 FORTRAN Developer's Guide</a>
-</div> <!-- logo -->
-<div id="extra">
-</div> <!-- extra -->
-<div id="navigation">
-<a class="menuitem" href="./toc_index.html#top">Table of Contents</a>
-<a class="menuitem" href="./robo_sourcefiles.html#top">Sourcefiles</a>
-<a class="menuitem" href="#top">Index</a>
-<a class="menuitem" href="./robo_functions.html#top">Functions</a>
-<a class="menuitem" href="./robo_modules.html#top">Modules</a>
-<a class="menuitem" href="./robo_procedures.html#top">Procedures</a>
-<a class="menuitem" href="./robo_subroutines.html#top">Subroutines</a>
-</div> <!-- navigation -->
-<div id="content">
-<h1>Index</h1>
-<h2><a href="#A">A</a> - <a href="#B">B</a> - <a href="#C">C</a> - <a href="#D">D</a> - <a href="#E">E</a> - <a href="#F">F</a> - <a href="#G">G</a> - <a href="#H">H</a> - <a href="#I">I</a> - <a href="#J">J</a> - <a href="#K">K</a> - <a href="#L">L</a> - <a href="#M">M</a> - <a href="#N">N</a> - <a href="#O">O</a> - <a href="#P">P</a> - <a href="#Q">Q</a> - <a href="#R">R</a> - <a href="#S">S</a> - <a href="#T">T</a> - <a href="#U">U</a> - <a href="#V">V</a> - <a href="#W">W</a> - <a href="#X">X</a> - <a href="#Y">Y</a> - <a href="#Z">Z</a> - <a href="#0">0</a> - <a href="#1">1</a> - <a href="#2">2</a> - <a href="#3">3</a> - <a href="#4">4</a> - <a href="#5">5</a> - <a href="#6">6</a> - <a href="#7">7</a> - <a href="#8">8</a> - <a href="#9">9</a></h2>
-<a href="./src/H5Pff_F03_f90.html#robo80" class="indexitem" > h5pget_double</a>
-<a href="./src/H5Pff_f90.html#robo81" class="indexitem" > h5pget_hyper_vector_size_f</a>
-<a href="./src/H5Pff_f90.html#robo82" class="indexitem" > h5pset_family_offset_f</a>
-<a href="./src/H5Pff_f90.html#robo83" class="indexitem" > h5pset_fapl_family_f</a>
-<a href="./src/H5Pff_f90.html#robo84" class="indexitem" > h5pset_meta_block_size_f</a>
-<h2><a name="F"></a>F</h2><a href="./test/fflush1_f90.html#robo_top_of_doc" class="indexitem" >fflush1.f90</a>
-<a href="./test/fflush2_f90.html#robo_top_of_doc" class="indexitem" >fflush2.f90</a>
-<a href="./test/fflush1_f90.html#robo0" class="indexitem" >fortran/test/fflush1.f90</a>
-<a href="./test/fflush2_f90.html#robo1" class="indexitem" >fortran/test/fflush2.f90</a>
-<a href="./test/fortranlib_test_f90.html#robo2" class="indexitem" >fortran/test/fortranlib_test.f90</a>
-<a href="./test/fortranlib_test_1_8_f90.html#robo3" class="indexitem" >fortran/test/fortranlib_test_1_8.f90</a>
-<a href="./test/fortranlib_test_F03_f90.html#robo4" class="indexitem" >fortran/test/fortranlib_test_F03.f90</a>
-<a href="./test/t_c.html#robo5" class="indexitem" >fortran/test/tc.c</a>
-<a href="./test/tf_f90.html#robo6" class="indexitem" >fortran/test/tf.f90</a>
-<a href="./test/tH5A_f90.html#robo7" class="indexitem" >fortran/test/tH5A.f90</a>
-<a href="./test/tH5A_1_8_f90.html#robo8" class="indexitem" >fortran/test/tH5A_1_8.f90</a>
-<a href="./test/tH5D_f90.html#robo9" class="indexitem" >fortran/test/tH5D.f90</a>
-<a href="./test/tH5E_f90.html#robo10" class="indexitem" >fortran/test/tH5E.f90</a>
-<a href="./test/tH5E_F03_f90.html#robo11" class="indexitem" >fortran/test/tH5E_F03.f90</a>
-<a href="./test/tH5F_f90.html#robo12" class="indexitem" >fortran/test/tH5F.f90</a>
-<a href="./test/tH5G_f90.html#robo13" class="indexitem" >fortran/test/tH5G.f90</a>
-<a href="./test/tH5G_1_8_f90.html#robo14" class="indexitem" >fortran/test/tH5G_1_8.f90</a>
-<a href="./test/tH5I_f90.html#robo15" class="indexitem" >fortran/test/tH5I.f90</a>
-<a href="./test/tH5L_F03_f90.html#robo16" class="indexitem" >fortran/test/tH5L_F03.f90</a>
-<a href="./test/tH5O_f90.html#robo17" class="indexitem" >fortran/test/tH5O.f90</a>
-<a href="./test/tH5P_f90.html#robo18" class="indexitem" >fortran/test/tH5P.f90</a>
-<a href="./test/tH5P_F03_f90.html#robo19" class="indexitem" >fortran/test/tH5P_F03.f90</a>
-<a href="./test/tH5R_f90.html#robo20" class="indexitem" >fortran/test/tH5R.f90</a>
-<a href="./test/tH5S_f90.html#robo21" class="indexitem" >fortran/test/tH5S.f90</a>
-<a href="./test/tH5Sselect_f90.html#robo22" class="indexitem" >fortran/test/tH5Sselect.f90</a>
-<a href="./test/tH5T_f90.html#robo23" class="indexitem" >fortran/test/tH5T.f90</a>
-<a href="./test/tH5T_F03_f90.html#robo24" class="indexitem" >fortran/test/tH5T_F03.f90</a>
-<a href="./test/tH5VL_f90.html#robo25" class="indexitem" >fortran/test/tH5VL.f90</a>
-<a href="./test/tH5Z_f90.html#robo26" class="indexitem" >fortran/test/tH5Z.f90</a>
-<a href="./test/fortranlib_test_f90.html#robo_top_of_doc" class="indexitem" >fortranlib_test.f90</a>
-<a href="./test/fortranlib_test_1_8_f90.html#robo_top_of_doc" class="indexitem" >fortranlib_test_1_8.f90</a>
-<a href="./test/fortranlib_test_F03_f90.html#robo_top_of_doc" class="indexitem" >fortranlib_test_F03.f90</a>
-<h2><a name="H"></a>H</h2><a href="./src/H5_DBLE_InterfaceExclude_f90.html#robo_top_of_doc" class="indexitem" >H5_DBLE_InterfaceExclude.f90</a>
-<a href="./src/H5_DBLE_InterfaceInclude_f90.html#robo_top_of_doc" class="indexitem" >H5_DBLE_InterfaceInclude.f90</a>
-<a href="./src/H5_ff_f90.html#robo_top_of_doc" class="indexitem" >H5_ff.f90</a>
-<a href="./src/H5_ff_F03_f90.html#robo_top_of_doc" class="indexitem" >H5_ff_F03.f90</a>
-<a href="./src/H5_ff_F90_f90.html#robo_top_of_doc" class="indexitem" >H5_ff_F90.f90</a>
-<a href="./src/H5Aff_f90.html#robo27" class="indexitem" >H5A</a>
-<a href="./src/H5Aff_F03_f90.html#robo28" class="indexitem" >H5A (F03)</a>
-<a href="./src/H5Aff_F90_f90.html#robo29" class="indexitem" >H5A (F90)</a>
-<a href="./src/H5Aff_f90.html#robo85" class="indexitem" >h5aclose_f</a>
-<a href="./src/H5Aff_f90.html#robo86" class="indexitem" >h5acreate_by_name_f</a>
-<a href="./src/H5Aff_f90.html#robo87" class="indexitem" >h5acreate_f</a>
-<a href="./src/H5Aff_f90.html#robo88" class="indexitem" >h5adelete_by_idx_f</a>
-<a href="./src/H5Aff_f90.html#robo89" class="indexitem" >h5adelete_by_name_f</a>
-<a href="./src/H5Aff_f90.html#robo90" class="indexitem" >h5adelete_f</a>
-<a href="./src/H5Aff_f90.html#robo91" class="indexitem" >H5Aexists_by_name_f</a>
-<a href="./src/H5Aff_f90.html#robo92" class="indexitem" >H5Aexists_f</a>
-<a href="./src/H5Af_c.html#robo30" class="indexitem" >H5Af</a>
-<a href="./src/H5Af_c.html#robo_top_of_doc" class="indexitem" >H5Af.c</a>
-<a href="./src/H5Aff_f90.html#robo_top_of_doc" class="indexitem" >H5Aff.f90</a>
-<a href="./src/H5Aff_F03_f90.html#robo_top_of_doc" class="indexitem" >H5Aff_F03.f90</a>
-<a href="./src/H5Aff_F90_f90.html#robo_top_of_doc" class="indexitem" >H5Aff_F90.f90</a>
-<a href="./src/H5Aff_f90.html#robo93" class="indexitem" >h5aget_create_plist_f</a>
-<a href="./src/H5Aff_f90.html#robo94" class="indexitem" >h5aget_info_by_idx_f</a>
-<a href="./src/H5Aff_f90.html#robo95" class="indexitem" >h5aget_info_by_name_f</a>
-<a href="./src/H5Aff_f90.html#robo96" class="indexitem" >h5aget_info_f</a>
-<a href="./src/H5Aff_f90.html#robo97" class="indexitem" >h5aget_name_by_idx_f</a>
-<a href="./src/H5Aff_f90.html#robo98" class="indexitem" >h5aget_name_f</a>
-<a href="./src/H5Aff_f90.html#robo99" class="indexitem" >h5aget_num_attrs_f</a>
-<a href="./src/H5Aff_f90.html#robo100" class="indexitem" >h5aget_space_f</a>
-<a href="./src/H5Aff_f90.html#robo101" class="indexitem" >h5aget_storage_size_f</a>
-<a href="./src/H5Aff_f90.html#robo102" class="indexitem" >h5aget_type_f</a>
-<a href="./src/H5Aff_f90.html#robo103" class="indexitem" >h5aopen_by_idx_f</a>
-<a href="./src/H5Aff_f90.html#robo104" class="indexitem" >H5Aopen_by_name_f</a>
-<a href="./src/H5Aff_f90.html#robo105" class="indexitem" >h5aopen_f</a>
-<a href="./src/H5Aff_f90.html#robo106" class="indexitem" >h5aopen_idx_f</a>
-<a href="./src/H5Aff_f90.html#robo107" class="indexitem" >h5aopen_name_f</a>
-<a href="./src/H5Aff_F03_f90.html#robo108" class="indexitem" >h5aread_f</a>
-<a href="./src/H5Aff_f90.html#robo109" class="indexitem" >h5arename_by_name_f</a>
-<a href="./src/H5Aff_f90.html#robo110" class="indexitem" >h5arename_f</a>
-<a href="./src/H5_ff_f90.html#robo111" class="indexitem" >h5check_version_f</a>
-<a href="./src/H5_ff_f90.html#robo112" class="indexitem" >h5close_f</a>
-<a href="./src/H5Dff_f90.html#robo31" class="indexitem" >H5D</a>
-<a href="./src/H5Dff_F03_f90.html#robo32" class="indexitem" >H5D (F03)</a>
-<a href="./src/H5Dff_F90_f90.html#robo33" class="indexitem" >H5D (F90)</a>
-<a href="./src/H5Dff_f90.html#robo113" class="indexitem" >h5dclose_f</a>
-<a href="./src/H5Dff_f90.html#robo114" class="indexitem" >h5dcreate_anon_f</a>
-<a href="./src/H5Dff_f90.html#robo115" class="indexitem" >h5dcreate_f</a>
-<a href="./src/H5Df_c.html#robo34" class="indexitem" >H5Df</a>
-<a href="./src/H5Df_c.html#robo_top_of_doc" class="indexitem" >H5Df.c</a>
-<a href="./src/H5Dff_f90.html#robo_top_of_doc" class="indexitem" >H5Dff.f90</a>
-<a href="./src/H5Dff_F03_f90.html#robo_top_of_doc" class="indexitem" >H5Dff_F03.f90</a>
-<a href="./src/H5Dff_F90_f90.html#robo_top_of_doc" class="indexitem" >H5Dff_F90.f90</a>
-<a href="./src/H5Dff_f90.html#robo116" class="indexitem" >h5dget_access_plist_f</a>
-<a href="./src/H5Dff_f90.html#robo117" class="indexitem" >h5dget_create_plist_f</a>
-<a href="./src/H5Dff_f90.html#robo118" class="indexitem" >h5dget_space_f</a>
-<a href="./src/H5Dff_f90.html#robo119" class="indexitem" >h5dget_space_status_f</a>
-<a href="./src/H5Dff_f90.html#robo120" class="indexitem" >h5dget_storage_size_f</a>
-<a href="./src/H5Dff_f90.html#robo121" class="indexitem" >h5dget_type_f</a>
-<a href="./src/H5_ff_f90.html#robo122" class="indexitem" >h5dont_atexit_f</a>
-<a href="./src/H5Dff_f90.html#robo123" class="indexitem" >h5dopen_f</a>
-<a href="./src/H5Dff_F90_f90.html#robo124" class="indexitem" >h5dread_f</a>
-<a href="./src/H5Dff_f90.html#robo125" class="indexitem" >h5dset_extent</a>
-<a href="./src/H5Dff_f90.html#robo126" class="indexitem" >h5dvlen_get_max_len_f</a>
-<a href="./src/H5Dff_F03_f90.html#robo127" class="indexitem" >h5dvlen_reclaim</a>
-<a href="./src/H5Eff_f90.html#robo35" class="indexitem" >H5E</a>
-<a href="./src/H5Eff_F03_f90.html#robo36" class="indexitem" >H5E (F03)</a>
-<a href="./src/H5Eff_F90_f90.html#robo37" class="indexitem" >H5E (F90)</a>
-<a href="./src/H5Eff_f90.html#robo128" class="indexitem" >h5eclear_f</a>
-<a href="./src/H5Ef_c.html#robo38" class="indexitem" >H5Ef</a>
-<a href="./src/H5Ef_c.html#robo_top_of_doc" class="indexitem" >H5Ef.c</a>
-<a href="./src/H5Eff_f90.html#robo_top_of_doc" class="indexitem" >H5Eff.f90</a>
-<a href="./src/H5Eff_F03_f90.html#robo_top_of_doc" class="indexitem" >H5Eff_F03.f90</a>
-<a href="./src/H5Eff_F90_f90.html#robo_top_of_doc" class="indexitem" >H5Eff_F90.f90</a>
-<a href="./src/H5Eff_F03_f90.html#robo129" class="indexitem" >h5eget_auto_f</a>
-<a href="./src/H5Eff_f90.html#robo130" class="indexitem" >h5eget_major_f</a>
-<a href="./src/H5Eff_f90.html#robo131" class="indexitem" >h5eget_minor_f</a>
-<a href="./src/H5Eff_f90.html#robo132" class="indexitem" >h5eprint_f</a>
-<a href="./src/H5Eff_F03_f90.html#robo133" class="indexitem" >h5eset_auto2_f</a>
-<a href="./src/H5Eff_F90_f90.html#robo134" class="indexitem" >h5eset_auto_f</a>
-<a href="./src/H5Fff_f90.html#robo39" class="indexitem" >H5F</a>
-<a href="./src/H5f90global_f90.html#robo_top_of_doc" class="indexitem" >H5f90global.f90</a>
-<a href="./src/H5f90kit_c.html#robo40" class="indexitem" >H5f90kit</a>
-<a href="./src/H5f90kit_c.html#robo_top_of_doc" class="indexitem" >H5f90kit.c</a>
-<a href="./src/H5Fff_f90.html#robo135" class="indexitem" >h5fclose_f</a>
-<a href="./src/H5Fff_f90.html#robo136" class="indexitem" >h5fcreate_f</a>
-<a href="./src/H5FDmpioff_f90.html#robo41" class="indexitem" >H5FDMPIO</a>
-<a href="./src/H5FDmpiof_c.html#robo42" class="indexitem" >H5FDmpiof</a>
-<a href="./src/H5FDmpiof_c.html#robo_top_of_doc" class="indexitem" >H5FDmpiof.c</a>
-<a href="./src/H5FDmpioff_f90.html#robo_top_of_doc" class="indexitem" >H5FDmpioff.f90</a>
-<a href="./src/H5Ff_c.html#robo43" class="indexitem" >H5Ff</a>
-<a href="./src/H5Ff_c.html#robo_top_of_doc" class="indexitem" >H5Ff.c</a>
-<a href="./src/H5Fff_f90.html#robo_top_of_doc" class="indexitem" >H5Fff.f90</a>
-<a href="./src/H5Fff_f90.html#robo137" class="indexitem" >h5fflush_f</a>
-<a href="./src/H5Fff_f90.html#robo138" class="indexitem" >h5fget_access_plist_f</a>
-<a href="./src/H5Fff_f90.html#robo139" class="indexitem" >h5fget_create_plist_f</a>
-<a href="./src/H5Fff_f90.html#robo140" class="indexitem" >h5fget_filesize_f</a>
-<a href="./src/H5Fff_f90.html#robo141" class="indexitem" >h5fget_freespace_f</a>
-<a href="./src/H5Fff_f90.html#robo142" class="indexitem" >h5fget_name_f</a>
-<a href="./src/H5Fff_f90.html#robo143" class="indexitem" >h5fget_obj_count_f</a>
-<a href="./src/H5Fff_f90.html#robo144" class="indexitem" >h5fget_obj_ids_f</a>
-<a href="./src/H5Fff_f90.html#robo145" class="indexitem" >h5fis_hdf5_f</a>
-<a href="./src/H5Fff_f90.html#robo146" class="indexitem" >h5fmount_f</a>
-<a href="./src/H5Fff_f90.html#robo147" class="indexitem" >h5fopen_f</a>
-<a href="./src/H5Fff_f90.html#robo148" class="indexitem" >h5freopen_f</a>
-<a href="./src/H5Fff_f90.html#robo149" class="indexitem" >h5funmount_f</a>
-<a href="./src/H5Gff_f90.html#robo44" class="indexitem" >H5G</a>
-<a href="./src/H5_ff_f90.html#robo150" class="indexitem" >h5garbage_collect_f</a>
-<a href="./src/H5Gff_f90.html#robo151" class="indexitem" >h5gclose_f</a>
-<a href="./src/H5Gff_f90.html#robo152" class="indexitem" >H5Gcreate_anon_f</a>
-<a href="./src/H5Gff_f90.html#robo153" class="indexitem" >h5gcreate_f</a>
-<a href="./src/H5_ff_f90.html#robo154" class="indexitem" >h5get_libversion_f</a>
-<a href="./src/H5Gf_c.html#robo45" class="indexitem" >H5Gf</a>
-<a href="./src/H5Gf_c.html#robo_top_of_doc" class="indexitem" >H5Gf.c</a>
-<a href="./src/H5Gff_f90.html#robo_top_of_doc" class="indexitem" >H5Gff.f90</a>
-<a href="./src/H5Gff_f90.html#robo155" class="indexitem" >h5gget_comment_f</a>
-<a href="./src/H5Gff_f90.html#robo156" class="indexitem" >H5Gget_create_plist_f</a>
-<a href="./src/H5Gff_f90.html#robo157" class="indexitem" >h5gget_info_by_idx_f</a>
-<a href="./src/H5Gff_f90.html#robo158" class="indexitem" >h5gget_info_by_name_f</a>
-<a href="./src/H5Gff_f90.html#robo159" class="indexitem" >h5gget_info_f</a>
-<a href="./src/H5Gff_f90.html#robo160" class="indexitem" >h5gget_linkval_f</a>
-<a href="./src/H5Gff_f90.html#robo161" class="indexitem" >h5gget_obj_info_idx_f</a>
-<a href="./src/H5Gff_f90.html#robo162" class="indexitem" >h5glink2_f</a>
-<a href="./src/H5Gff_f90.html#robo163" class="indexitem" >h5glink_f</a>
-<a href="./src/H5f90global_f90.html#robo46" class="indexitem" >H5GLOBAL</a>
-<a href="./src/H5Gff_f90.html#robo164" class="indexitem" >h5gmove2_f</a>
-<a href="./src/H5Gff_f90.html#robo165" class="indexitem" >h5gmove_f</a>
-<a href="./src/H5Gff_f90.html#robo166" class="indexitem" >h5gn_members_f</a>
-<a href="./src/H5Gff_f90.html#robo167" class="indexitem" >h5gopen_f</a>
-<a href="./src/H5Gff_f90.html#robo168" class="indexitem" >h5gset_comment_f</a>
-<a href="./src/H5Gff_f90.html#robo169" class="indexitem" >h5gunlink_f</a>
-<a href="./src/H5Iff_f90.html#robo47" class="indexitem" >H5I</a>
-<a href="./src/H5Iff_f90.html#robo170" class="indexitem" >h5idec_ref_f</a>
-<a href="./src/H5If_c.html#robo48" class="indexitem" >H5If</a>
-<a href="./src/H5If_c.html#robo_top_of_doc" class="indexitem" >H5If.c</a>
-<a href="./src/H5Iff_f90.html#robo_top_of_doc" class="indexitem" >H5Iff.f90</a>
-<a href="./src/H5Iff_f90.html#robo171" class="indexitem" >h5iget_file_id_f</a>
-<a href="./src/H5Iff_f90.html#robo172" class="indexitem" >h5iget_name_f</a>
-<a href="./src/H5Iff_f90.html#robo173" class="indexitem" >h5iget_ref_f</a>
-<a href="./src/H5Iff_f90.html#robo174" class="indexitem" >h5iget_type_f</a>
-<a href="./src/H5Iff_f90.html#robo175" class="indexitem" >h5iinc_ref_f</a>
-<a href="./src/H5Iff_f90.html#robo176" class="indexitem" >h5iis_valid_f</a>
-<a href="./src/H5_ff_f90.html#robo177" class="indexitem" >h5kind_to_type</a>
-<a href="./src/H5Lff_f90.html#robo49" class="indexitem" >H5L</a>
-<a href="./src/H5Lff_F03_f90.html#robo50" class="indexitem" >H5L (F03)</a>
-<a href="./src/H5Lff_F90_f90.html#robo51" class="indexitem" >H5L (F90)</a>
-<a href="./src/H5Lff_f90.html#robo178" class="indexitem" >h5lcopy_f</a>
-<a href="./src/H5Lff_f90.html#robo179" class="indexitem" >H5Lcreate_external_f</a>
-<a href="./src/H5Lff_f90.html#robo180" class="indexitem" >H5Lcreate_hard_f</a>
-<a href="./src/H5Lff_f90.html#robo181" class="indexitem" >H5Lcreate_soft_f</a>
-<a href="./src/H5Lff_f90.html#robo182" class="indexitem" >h5ldelete_by_idx_f</a>
-<a href="./src/H5Lff_f90.html#robo183" class="indexitem" >h5ldelete_f</a>
-<a href="./src/H5Lff_f90.html#robo184" class="indexitem" >H5Lexists_f</a>
-<a href="./src/H5Lf_c.html#robo52" class="indexitem" >H5Lf</a>
-<a href="./src/H5Lf_c.html#robo_top_of_doc" class="indexitem" >H5Lf.c</a>
-<a href="./src/H5Lff_f90.html#robo_top_of_doc" class="indexitem" >H5Lff.f90</a>
-<a href="./src/H5Lff_F03_f90.html#robo_top_of_doc" class="indexitem" >H5Lff_F03.f90</a>
-<a href="./src/H5Lff_F90_f90.html#robo_top_of_doc" class="indexitem" >H5Lff_F90.f90</a>
-<a href="./src/H5Lff_f90.html#robo185" class="indexitem" >h5lget_info_by_idx_f</a>
-<a href="./src/H5Lff_f90.html#robo186" class="indexitem" >h5lget_info_f</a>
-<a href="./src/H5Lff_f90.html#robo187" class="indexitem" >h5lget_name_by_idx_f</a>
-<a href="./src/H5_ff_f90.html#robo53" class="indexitem" >H5LIB</a>
-<a href="./src/H5_ff_F03_f90.html#robo54" class="indexitem" >H5LIB_PROVISIONAL</a>
-<a href="./src/H5_ff_F90_f90.html#robo55" class="indexitem" >H5LIB_PROVISIONAL (F90)</a>
-<a href="./src/H5Lff_f90.html#robo188" class="indexitem" >h5lis_registered_f</a>
-<a href="./src/H5Lff_F03_f90.html#robo189" class="indexitem" >h5literate_by_name_f</a>
-<a href="./src/H5Lff_F03_f90.html#robo190" class="indexitem" >h5literate_f</a>
-<a href="./src/H5Lff_f90.html#robo191" class="indexitem" >h5lmove_f</a>
-<a href="./src/H5match_types_c.html#robo192" class="indexitem" >H5match_types</a>
-<a href="./src/H5match_types_c.html#robo_top_of_doc" class="indexitem" >H5match_types.c</a>
-<a href="./src/H5Off_f90.html#robo56" class="indexitem" >H5O</a>
-<a href="./src/H5Off_F03_f90.html#robo57" class="indexitem" >H5O (F03)</a>
-<a href="./src/H5Off_F90_f90.html#robo58" class="indexitem" >H5O (F90)</a>
-<a href="./src/H5Off_f90.html#robo193" class="indexitem" >h5oclose_f</a>
-<a href="./src/H5Of_c.html#robo59" class="indexitem" >H5Of</a>
-<a href="./src/H5Of_c.html#robo_top_of_doc" class="indexitem" >H5Of.c</a>
-<a href="./src/H5Off_f90.html#robo_top_of_doc" class="indexitem" >H5Off.f90</a>
-<a href="./src/H5Off_F03_f90.html#robo_top_of_doc" class="indexitem" >H5Off_F03.f90</a>
-<a href="./src/H5Off_F90_f90.html#robo_top_of_doc" class="indexitem" >H5Off_F90.f90</a>
-<a href="./src/H5_ff_F03_f90.html#robo194" class="indexitem" >h5offsetof</a>
-<a href="./src/H5Off_f90.html#robo195" class="indexitem" >h5olink_f</a>
-<a href="./src/H5Off_f90.html#robo196" class="indexitem" >h5oopen_f</a>
-<a href="./src/H5Off_f90.html#robo197" class="indexitem" >h5open_by_addr_f</a>
-<a href="./src/H5_ff_f90.html#robo198" class="indexitem" >h5open_f</a>
-<a href="./src/H5Off_F03_f90.html#robo199" class="indexitem" >h5ovisit_f</a>
-<a href="./src/H5Pff_F90_f90.html#robo60" class="indexitem" >H5P (_F90)</a>
-<a href="./src/H5Pff_F03_f90.html#robo61" class="indexitem" >H5P (F03)</a>
-<a href="./src/H5Pff_f90.html#robo62" class="indexitem" >H5P (F90)</a>
-<a href="./src/H5Pff_f90.html#robo200" class="indexitem" >h5pall_filters_avail_f</a>
-<a href="./src/H5Pff_f90.html#robo201" class="indexitem" >h5pclose_class_f</a>
-<a href="./src/H5Pff_f90.html#robo202" class="indexitem" >h5pclose_f</a>
-<a href="./src/H5Pff_f90.html#robo203" class="indexitem" >h5pcopy_f</a>
-<a href="./src/H5Pff_f90.html#robo204" class="indexitem" >h5pcopy_prop_f</a>
-<a href="./src/H5Pff_F03_f90.html#robo205" class="indexitem" >h5pcreate_class_f</a>
-<a href="./src/H5Pff_F90_f90.html#robo206" class="indexitem" >h5pcreate_class_f</a>
-<a href="./src/H5Pff_f90.html#robo207" class="indexitem" >h5pcreate_f</a>
-<a href="./src/H5Pff_f90.html#robo208" class="indexitem" >h5pequal_f</a>
-<a href="./src/H5Pff_f90.html#robo209" class="indexitem" >h5pexist_f</a>
-<a href="./src/H5Pf_c.html#robo63" class="indexitem" >H5Pf</a>
-<a href="./src/H5Pf_c.html#robo_top_of_doc" class="indexitem" >H5Pf.c</a>
-<a href="./src/H5Pff_f90.html#robo_top_of_doc" class="indexitem" >H5Pff.f90</a>
-<a href="./src/H5Pff_F03_f90.html#robo_top_of_doc" class="indexitem" >H5Pff_F03.f90</a>
-<a href="./src/H5Pff_F90_f90.html#robo_top_of_doc" class="indexitem" >H5Pff_F90.f90</a>
-<a href="./src/H5Pff_f90.html#robo210" class="indexitem" >h5pfill_value_defined_f</a>
-<a href="./src/H5Pff_f90.html#robo211" class="indexitem" >h5pget_alignment_f</a>
-<a href="./src/H5Pff_f90.html#robo212" class="indexitem" >h5pget_alloc_time_f</a>
-<a href="./src/H5Pff_f90.html#robo213" class="indexitem" >H5Pget_attr_creation_order_f</a>
-<a href="./src/H5Pff_f90.html#robo214" class="indexitem" >H5Pget_attr_phase_change_f</a>
-<a href="./src/H5Pff_f90.html#robo215" class="indexitem" >h5pget_btree_ratios_f</a>
-<a href="./src/H5Pff_f90.html#robo216" class="indexitem" >h5pget_buffer_f</a>
-<a href="./src/H5Pff_f90.html#robo217" class="indexitem" >h5pget_cache_f</a>
-<a href="./src/H5Pff_F03_f90.html#robo218" class="indexitem" >h5pget_char</a>
-<a href="./src/H5Pff_F90_f90.html#robo219" class="indexitem" >h5pget_char</a>
-<a href="./src/H5Pff_f90.html#robo220" class="indexitem" >H5Pget_char_encoding_f</a>
-<a href="./src/H5Pff_f90.html#robo221" class="indexitem" >H5Pget_chunk_cache_f</a>
-<a href="./src/H5Pff_f90.html#robo222" class="indexitem" >h5pget_chunk_f</a>
-<a href="./src/H5Pff_f90.html#robo223" class="indexitem" >h5pget_class_f</a>
-<a href="./src/H5Pff_f90.html#robo224" class="indexitem" >h5pget_class_name_f</a>
-<a href="./src/H5Pff_f90.html#robo225" class="indexitem" >h5pget_class_parent_f</a>
-<a href="./src/H5Pff_f90.html#robo226" class="indexitem" >h5pget_copy_object_f</a>
-<a href="./src/H5Pff_f90.html#robo227" class="indexitem" >H5Pget_create_inter_group_f</a>
-<a href="./src/H5Pff_f90.html#robo228" class="indexitem" >h5pget_data_transform_f</a>
-<a href="./src/H5Pff_F90_f90.html#robo229" class="indexitem" >h5pget_double</a>
-<a href="./src/H5Pff_f90.html#robo230" class="indexitem" >h5pget_driver_f</a>
-<a href="./src/H5FDmpioff_f90.html#robo231" class="indexitem" >h5pget_dxpl_mpio_f</a>
-<a href="./src/H5Pff_f90.html#robo232" class="indexitem" >h5pget_edc_check_f</a>
-<a href="./src/H5Pff_f90.html#robo233" class="indexitem" >H5Pget_est_link_info_f</a>
-<a href="./src/H5Pff_f90.html#robo234" class="indexitem" >h5pget_external_count_f</a>
-<a href="./src/H5Pff_f90.html#robo235" class="indexitem" >h5pget_external_f</a>
-<a href="./src/H5Pff_f90.html#robo236" class="indexitem" >h5pget_fapl_core_f</a>
-<a href="./src/H5Pff_f90.html#robo237" class="indexitem" >h5pget_fapl_direct_f</a>
-<a href="./src/H5Pff_f90.html#robo238" class="indexitem" >h5pget_fapl_family_f</a>
-<a href="./src/H5FDmpioff_f90.html#robo239" class="indexitem" >h5pget_fapl_mpio_f</a>
-<a href="./src/H5FDmpioff_f90.html#robo240" class="indexitem" >h5pget_fapl_mpiposix_f</a>
-<a href="./src/H5Pff_f90.html#robo241" class="indexitem" >h5pget_fapl_multi_f</a>
-<a href="./src/H5Pff_f90.html#robo242" class="indexitem" >h5pget_fclose_degree_f</a>
-<a href="./src/H5Pff_f90.html#robo243" class="indexitem" >h5pget_fill_time_f</a>
-<a href="./src/H5Pff_f90.html#robo244" class="indexitem" >h5pget_filter_by_id_f</a>
-<a href="./src/H5Pff_f90.html#robo245" class="indexitem" >h5pget_filter_f</a>
-<a href="./src/H5Pff_f90.html#robo246" class="indexitem" >h5pget_gc_references_f</a>
-<a href="./src/H5Pff_F03_f90.html#robo247" class="indexitem" >h5pget_integer</a>
-<a href="./src/H5Pff_F90_f90.html#robo248" class="indexitem" >h5pget_integer</a>
-<a href="./src/H5Pff_f90.html#robo249" class="indexitem" >h5pget_istore_k_f</a>
-<a href="./src/H5Pff_f90.html#robo250" class="indexitem" >h5pget_layout_f</a>
-<a href="./src/H5Pff_f90.html#robo251" class="indexitem" >H5Pget_link_creation_order_f</a>
-<a href="./src/H5Pff_f90.html#robo252" class="indexitem" >H5Pget_link_phase_change_f</a>
-<a href="./src/H5Pff_f90.html#robo253" class="indexitem" >H5Pget_local_heap_size_hint_f</a>
-<a href="./src/H5Pff_f90.html#robo254" class="indexitem" >h5pget_meta_block_size_f</a>
-<a href="./src/H5Pff_f90.html#robo255" class="indexitem" >h5pget_nfilters_f</a>
-<a href="./src/H5Pff_f90.html#robo256" class="indexitem" >h5pget_nlinks_f</a>
-<a href="./src/H5Pff_f90.html#robo257" class="indexitem" >h5pget_npros_f</a>
-<a href="./src/H5Pff_f90.html#robo258" class="indexitem" >H5Pget_obj_track_times_f</a>
-<a href="./src/H5Pff_f90.html#robo259" class="indexitem" >h5pget_preserve_f</a>
-<a href="./src/H5Pff_F90_f90.html#robo260" class="indexitem" >h5pget_real</a>
-<a href="./src/H5Pff_F03_f90.html#robo261" class="indexitem" >h5pget_real</a>
-<a href="./src/H5Pff_f90.html#robo262" class="indexitem" >h5pget_sec2_f</a>
-<a href="./src/H5Pff_f90.html#robo263" class="indexitem" >h5pget_sieve_buf_size_f</a>
-<a href="./src/H5Pff_f90.html#robo264" class="indexitem" >h5pget_size_f</a>
-<a href="./src/H5Pff_f90.html#robo265" class="indexitem" >h5pget_sizes_f</a>
-<a href="./src/H5Pff_f90.html#robo266" class="indexitem" >h5pget_small_data_block_size_f</a>
-<a href="./src/H5Pff_f90.html#robo267" class="indexitem" >h5pget_split_f</a>
-<a href="./src/H5Pff_f90.html#robo268" class="indexitem" >h5pget_stdio_f</a>
-<a href="./src/H5Pff_f90.html#robo269" class="indexitem" >h5pget_sym_k_f</a>
-<a href="./src/H5Pff_f90.html#robo270" class="indexitem" >h5pget_userblock_f</a>
-<a href="./src/H5Pff_f90.html#robo271" class="indexitem" >h5pget_version_f</a>
-<a href="./src/H5Pff_F03_f90.html#robo273" class="indexitem" >h5pinsert_char</a>
-<a href="./src/H5Pff_F90_f90.html#robo272" class="indexitem" >h5pinsert_char</a>
-<a href="./src/H5Pff_F90_f90.html#robo275" class="indexitem" >h5pinsert_double</a>
-<a href="./src/H5Pff_F03_f90.html#robo274" class="indexitem" >h5pinsert_double</a>
-<a href="./src/H5Pff_F90_f90.html#robo277" class="indexitem" >h5pinsert_integer</a>
-<a href="./src/H5Pff_F03_f90.html#robo276" class="indexitem" >h5pinsert_integer</a>
-<a href="./src/H5Pff_F03_f90.html#robo278" class="indexitem" >h5pinsert_ptr</a>
-<a href="./src/H5Pff_F90_f90.html#robo279" class="indexitem" >h5pinsert_real</a>
-<a href="./src/H5Pff_F03_f90.html#robo280" class="indexitem" >h5pinsert_real</a>
-<a href="./src/H5Pff_f90.html#robo281" class="indexitem" >h5pisa_class_f</a>
-<a href="./src/H5Pff_f90.html#robo282" class="indexitem" >h5pmodify_filter_f</a>
-<a href="./src/H5Pff_F03_f90.html#robo283" class="indexitem" >h5pregister_char</a>
-<a href="./src/H5Pff_F90_f90.html#robo284" class="indexitem" >h5pregister_char</a>
-<a href="./src/H5Pff_F03_f90.html#robo286" class="indexitem" >h5pregister_double</a>
-<a href="./src/H5Pff_F90_f90.html#robo285" class="indexitem" >h5pregister_double</a>
-<a href="./src/H5Pff_F90_f90.html#robo288" class="indexitem" >h5pregister_integer</a>
-<a href="./src/H5Pff_F03_f90.html#robo287" class="indexitem" >h5pregister_integer</a>
-<a href="./src/H5Pff_F03_f90.html#robo289" class="indexitem" >h5pregister_ptr</a>
-<a href="./src/H5Pff_F90_f90.html#robo290" class="indexitem" >h5pregister_real</a>
-<a href="./src/H5Pff_F03_f90.html#robo291" class="indexitem" >h5pregister_real</a>
-<a href="./src/H5Pff_f90.html#robo292" class="indexitem" >h5premove_f</a>
-<a href="./src/H5Pff_f90.html#robo293" class="indexitem" >h5premove_filter_f</a>
-<a href="./src/H5Pff_F90_f90.html#robo295" class="indexitem" >h5pset(get)fill_value_f</a>
-<a href="./src/H5Pff_F03_f90.html#robo294" class="indexitem" >h5pset(get)fill_value_f</a>
-<a href="./src/H5Pff_f90.html#robo296" class="indexitem" >h5pset_alignment_f</a>
-<a href="./src/H5Pff_f90.html#robo297" class="indexitem" >h5pset_alloc_time_f</a>
-<a href="./src/H5Pff_f90.html#robo298" class="indexitem" >H5Pset_attr_creation_order_f</a>
-<a href="./src/H5Pff_f90.html#robo299" class="indexitem" >H5Pset_attr_phase_change_f</a>
-<a href="./src/H5Pff_f90.html#robo300" class="indexitem" >h5pset_btree_ratios_f</a>
-<a href="./src/H5Pff_f90.html#robo301" class="indexitem" >h5pset_buffer_f</a>
-<a href="./src/H5Pff_f90.html#robo302" class="indexitem" >h5pset_cache_f</a>
-<a href="./src/H5Pff_F03_f90.html#robo303" class="indexitem" >h5pset_char</a>
-<a href="./src/H5Pff_F90_f90.html#robo304" class="indexitem" >h5pset_char</a>
-<a href="./src/H5Pff_f90.html#robo305" class="indexitem" >H5Pset_char_encoding_f</a>
-<a href="./src/H5Pff_f90.html#robo306" class="indexitem" >H5Pset_chunk_cache_f</a>
-<a href="./src/H5Pff_f90.html#robo307" class="indexitem" >h5pset_chunk_f</a>
-<a href="./src/H5Pff_f90.html#robo308" class="indexitem" >h5pset_copy_object_f</a>
-<a href="./src/H5Pff_f90.html#robo309" class="indexitem" >H5Pset_create_inter_group_f</a>
-<a href="./src/H5Pff_f90.html#robo310" class="indexitem" >h5pset_data_transform_f</a>
-<a href="./src/H5Pff_f90.html#robo311" class="indexitem" >h5pset_deflate_f</a>
-<a href="./src/H5Pff_F90_f90.html#robo312" class="indexitem" >h5pset_double</a>
-<a href="./src/H5Pff_F03_f90.html#robo313" class="indexitem" >h5pset_double</a>
-<a href="./src/H5FDmpioff_f90.html#robo314" class="indexitem" >h5pset_dxpl_mpio_f</a>
-<a href="./src/H5Pff_f90.html#robo315" class="indexitem" >h5pset_edc_check_f</a>
-<a href="./src/H5Pff_f90.html#robo316" class="indexitem" >h5pset_est_link_info_f</a>
-<a href="./src/H5Pff_f90.html#robo317" class="indexitem" >h5pset_external_f</a>
-<a href="./src/H5Pff_f90.html#robo318" class="indexitem" >h5pset_fapl_core_f</a>
-<a href="./src/H5Pff_f90.html#robo319" class="indexitem" >h5pset_fapl_direct_f</a>
-<a href="./src/H5FDmpioff_f90.html#robo320" class="indexitem" >h5pset_fapl_mpio_f</a>
-<a href="./src/H5FDmpioff_f90.html#robo321" class="indexitem" >h5pset_fapl_mpiposix_f</a>
-<a href="./src/H5Pff_f90.html#robo322" class="indexitem" >h5pset_fapl_multi_l</a>
-<a href="./src/H5Pff_f90.html#robo323" class="indexitem" >h5pset_fapl_multi_s</a>
-<a href="./src/H5Pff_f90.html#robo324" class="indexitem" >h5pset_fapl_sec2_f</a>
-<a href="./src/H5Pff_f90.html#robo325" class="indexitem" >h5pset_fapl_split_f</a>
-<a href="./src/H5Pff_f90.html#robo326" class="indexitem" >h5pset_fapl_stdio_f</a>
-<a href="./src/H5Pff_f90.html#robo327" class="indexitem" >h5pset_fclose_degree_f</a>
-<a href="./src/H5Pff_f90.html#robo328" class="indexitem" >h5pset_fill_time_f</a>
-<a href="./src/H5Pff_f90.html#robo329" class="indexitem" >h5pset_filter_f</a>
-<a href="./src/H5Pff_f90.html#robo330" class="indexitem" >h5pset_fletcher32_f</a>
-<a href="./src/H5Pff_f90.html#robo331" class="indexitem" >h5pset_gc_references_f</a>
-<a href="./src/H5Pff_f90.html#robo332" class="indexitem" >h5pset_hyper_vector_size_f</a>
-<a href="./src/H5Pff_F03_f90.html#robo334" class="indexitem" >h5pset_integer</a>
-<a href="./src/H5Pff_F90_f90.html#robo333" class="indexitem" >h5pset_integer</a>
-<a href="./src/H5Pff_f90.html#robo335" class="indexitem" >h5pset_istore_k_f</a>
-<a href="./src/H5Pff_f90.html#robo336" class="indexitem" >h5pset_layout_f</a>
-<a href="./src/H5Pff_f90.html#robo337" class="indexitem" >H5Pset_libver_bounds_f</a>
-<a href="./src/H5Pff_f90.html#robo338" class="indexitem" >H5Pset_link_creation_order_f</a>
-<a href="./src/H5Pff_f90.html#robo339" class="indexitem" >h5pset_link_phase_change_f</a>
-<a href="./src/H5Pff_f90.html#robo340" class="indexitem" >H5Pset_local_heap_size_hint_f</a>
-<a href="./src/H5Pff_f90.html#robo341" class="indexitem" >H5Pset_nbit_f</a>
-<a href="./src/H5Pff_f90.html#robo342" class="indexitem" >h5pset_nlinks_f</a>
-<a href="./src/H5Pff_f90.html#robo343" class="indexitem" >H5Pset_obj_track_times_f</a>
-<a href="./src/H5Pff_f90.html#robo344" class="indexitem" >h5pset_preserve_f</a>
-<a href="./src/H5Pff_F90_f90.html#robo346" class="indexitem" >h5pset_real</a>
-<a href="./src/H5Pff_F03_f90.html#robo345" class="indexitem" >h5pset_real</a>
-<a href="./src/H5Pff_f90.html#robo347" class="indexitem" >h5pset_scaleoffset_f</a>
-<a href="./src/H5Pff_f90.html#robo348" class="indexitem" >H5Pset_shared_mesg_index_f</a>
-<a href="./src/H5Pff_f90.html#robo349" class="indexitem" >H5Pset_shared_mesg_nindexes_f</a>
-<a href="./src/H5Pff_f90.html#robo350" class="indexitem" >h5pset_shuffle_f</a>
-<a href="./src/H5Pff_f90.html#robo351" class="indexitem" >h5pset_sieve_buf_size_f</a>
-<a href="./src/H5Pff_f90.html#robo352" class="indexitem" >h5pset_sizes_f</a>
-<a href="./src/H5Pff_f90.html#robo353" class="indexitem" >h5pset_small_data_block_size_f</a>
-<a href="./src/H5Pff_f90.html#robo354" class="indexitem" >h5pset_sym_k_f</a>
-<a href="./src/H5Pff_f90.html#robo355" class="indexitem" >h5pset_szip_f</a>
-<a href="./src/H5Pff_f90.html#robo356" class="indexitem" >h5pset_userblock_f</a>
-<a href="./src/H5Pff_f90.html#robo357" class="indexitem" >h5punregister_f</a>
-<a href="./src/H5Rff_f90.html#robo64" class="indexitem" >H5R</a>
-<a href="./src/H5Rff_F03_f90.html#robo65" class="indexitem" >H5R (F03)</a>
-<a href="./src/H5Rff_F90_f90.html#robo66" class="indexitem" >H5R (F90)</a>
-<a href="./src/H5Rff_F03_f90.html#robo358" class="indexitem" >h5rcreate_object_f</a>
-<a href="./src/H5Rff_F90_f90.html#robo359" class="indexitem" >h5rcreate_object_f</a>
-<a href="./src/H5Rff_F03_f90.html#robo360" class="indexitem" >h5rcreate_ptr_f</a>
-<a href="./src/H5Rff_F03_f90.html#robo362" class="indexitem" >h5rcreate_region_f</a>
-<a href="./src/H5Rff_F90_f90.html#robo361" class="indexitem" >h5rcreate_region_f</a>
-<a href="./src/H5Rff_F03_f90.html#robo363" class="indexitem" >h5rdereference_object_f</a>
-<a href="./src/H5Rff_F90_f90.html#robo364" class="indexitem" >h5rdereference_object_f</a>
-<a href="./src/H5Rff_F03_f90.html#robo365" class="indexitem" >h5rdereference_ptr_f</a>
-<a href="./src/H5Rff_F90_f90.html#robo367" class="indexitem" >h5rdereference_region_f</a>
-<a href="./src/H5Rff_F03_f90.html#robo366" class="indexitem" >h5rdereference_region_f</a>
-<a href="./src/H5Rf_c.html#robo67" class="indexitem" >H5Rf</a>
-<a href="./src/H5Rf_c.html#robo_top_of_doc" class="indexitem" >H5Rf.c</a>
-<a href="./src/H5Rff_f90.html#robo_top_of_doc" class="indexitem" >H5Rff.f90</a>
-<a href="./src/H5Rff_F03_f90.html#robo_top_of_doc" class="indexitem" >H5Rff_F03.f90</a>
-<a href="./src/H5Rff_F90_f90.html#robo_top_of_doc" class="indexitem" >H5Rff_F90.f90</a>
-<a href="./src/H5Rff_F03_f90.html#robo369" class="indexitem" >h5rget_name_object_f</a>
-<a href="./src/H5Rff_F90_f90.html#robo368" class="indexitem" >h5rget_name_object_f</a>
-<a href="./src/H5Rff_F03_f90.html#robo370" class="indexitem" >h5rget_name_ptr_f</a>
-<a href="./src/H5Rff_F90_f90.html#robo371" class="indexitem" >h5rget_name_region_f</a>
-<a href="./src/H5Rff_F03_f90.html#robo372" class="indexitem" >h5rget_name_region_f</a>
-<a href="./src/H5Rff_F03_f90.html#robo373" class="indexitem" >h5rget_obj_type_f</a>
-<a href="./src/H5Rff_f90.html#robo374" class="indexitem" >h5rget_object_type_obj_f</a>
-<a href="./src/H5Rff_f90.html#robo375" class="indexitem" >h5rget_region_region_f</a>
-<a href="./src/H5Sff_f90.html#robo68" class="indexitem" >H5S</a>
-<a href="./src/H5Sff_f90.html#robo376" class="indexitem" >h5sclose_f</a>
-<a href="./src/H5Sff_f90.html#robo377" class="indexitem" >h5scopy_f</a>
-<a href="./src/H5Sff_f90.html#robo378" class="indexitem" >h5screate_f</a>
-<a href="./src/H5Sff_f90.html#robo379" class="indexitem" >h5screate_simple_f</a>
-<a href="./src/H5Sff_f90.html#robo380" class="indexitem" >H5Sdecode_f</a>
-<a href="./src/H5Sff_f90.html#robo381" class="indexitem" >H5Sencode_f</a>
-<a href="./src/H5Sff_f90.html#robo382" class="indexitem" >h5sextent_copy_f</a>
-<a href="./src/H5Sff_f90.html#robo383" class="indexitem" >h5sextent_equal_f</a>
-<a href="./src/H5Sf_c.html#robo69" class="indexitem" >H5Sf</a>
-<a href="./src/H5Sf_c.html#robo_top_of_doc" class="indexitem" >H5Sf.c</a>
-<a href="./src/H5Sff_f90.html#robo_top_of_doc" class="indexitem" >H5Sff.f90</a>
-<a href="./src/H5Sff_f90.html#robo384" class="indexitem" >h5sget_select_bounds_f</a>
-<a href="./src/H5Sff_f90.html#robo385" class="indexitem" >h5sget_select_elem_npoints_f</a>
-<a href="./src/H5Sff_f90.html#robo386" class="indexitem" >h5sget_select_elem_pointlist_f</a>
-<a href="./src/H5Sff_f90.html#robo387" class="indexitem" >h5sget_select_hyper_blocklist_f</a>
-<a href="./src/H5Sff_f90.html#robo388" class="indexitem" >h5sget_select_hyper_nblocks_f</a>
-<a href="./src/H5Sff_f90.html#robo389" class="indexitem" >h5sget_select_npoints_f</a>
-<a href="./src/H5Sff_f90.html#robo390" class="indexitem" >h5sget_select_type_f</a>
-<a href="./src/H5Sff_f90.html#robo391" class="indexitem" >h5sget_simple_extent_dims_f</a>
-<a href="./src/H5Sff_f90.html#robo392" class="indexitem" >h5sget_simple_extent_ndims_f</a>
-<a href="./src/H5Sff_f90.html#robo393" class="indexitem" >h5sget_simple_extent_npoints_f</a>
-<a href="./src/H5Sff_f90.html#robo394" class="indexitem" >h5sget_simple_extent_type_f</a>
-<a href="./src/H5Sff_f90.html#robo395" class="indexitem" >h5sis_simple_f</a>
-<a href="./src/H5Sff_f90.html#robo396" class="indexitem" >h5soffset_simple_f</a>
-<a href="./src/H5Sff_f90.html#robo397" class="indexitem" >h5sselect_all_f</a>
-<a href="./src/H5Sff_f90.html#robo398" class="indexitem" >h5sselect_elements_f</a>
-<a href="./src/H5Sff_f90.html#robo399" class="indexitem" >h5sselect_hyperslab_f</a>
-<a href="./src/H5Sff_f90.html#robo400" class="indexitem" >h5sselect_none_f</a>
-<a href="./src/H5Sff_f90.html#robo401" class="indexitem" >h5sselect_valid_f</a>
-<a href="./src/H5Sff_f90.html#robo402" class="indexitem" >h5sset_extent_none_f</a>
-<a href="./src/H5Sff_f90.html#robo403" class="indexitem" >h5sset_extent_simple_f</a>
-<a href="./src/H5Tff_f90.html#robo70" class="indexitem" >H5T</a>
-<a href="./src/H5Tff_F03_f90.html#robo71" class="indexitem" >H5T (F03)</a>
-<a href="./src/H5Tff_F90_f90.html#robo72" class="indexitem" >H5T (F90)</a>
-<a href="./src/H5Tff_f90.html#robo404" class="indexitem" >h5tarray_create_f</a>
-<a href="./src/H5Tff_f90.html#robo405" class="indexitem" >h5tclose_f</a>
-<a href="./src/H5Tff_f90.html#robo406" class="indexitem" >h5tcommit_anon_f</a>
-<a href="./src/H5Tff_f90.html#robo407" class="indexitem" >h5tcommit_f</a>
-<a href="./src/H5Tff_f90.html#robo408" class="indexitem" >h5tcommitted_f</a>
-<a href="./src/H5Tff_f90.html#robo409" class="indexitem" >h5tcompiler_conv_f</a>
-<a href="./src/H5Tff_F03_f90.html#robo410" class="indexitem" >H5Tconvert_f</a>
-<a href="./src/H5Tff_f90.html#robo411" class="indexitem" >h5tcopy_f</a>
-<a href="./src/H5Tff_f90.html#robo412" class="indexitem" >h5tcreate_f</a>
-<a href="./src/H5Tff_f90.html#robo413" class="indexitem" >H5Tdecode_f</a>
-<a href="./src/H5Tff_f90.html#robo414" class="indexitem" >h5tenaum_insert_f</a>
-<a href="./src/H5Tff_f90.html#robo415" class="indexitem" >H5Tencode_f</a>
-<a href="./src/H5Tff_f90.html#robo416" class="indexitem" >h5tenum_create_f</a>
-<a href="./src/H5Tff_f90.html#robo417" class="indexitem" >h5tenum_nameof_f</a>
-<a href="./src/H5Tff_f90.html#robo418" class="indexitem" >h5tenum_valuof_f</a>
-<a href="./src/H5Tff_f90.html#robo419" class="indexitem" >h5tequal_f</a>
-<a href="./src/H5test_kind_f90.html#robo420" class="indexitem" >H5test_kind</a>
-<a href="./src/H5test_kind_f90.html#robo_top_of_doc" class="indexitem" >H5test_kind.f90</a>
-<a href="./src/H5test_kind_SIZEOF_f90.html#robo421" class="indexitem" >H5test_kind_SIZEOF</a>
-<a href="./src/H5test_kind_SIZEOF_f90.html#robo_top_of_doc" class="indexitem" >H5test_kind_SIZEOF.f90</a>
-<a href="./src/H5Tf_c.html#robo73" class="indexitem" >H5Tf</a>
-<a href="./src/H5Tf_c.html#robo_top_of_doc" class="indexitem" >H5Tf.c</a>
-<a href="./src/H5Tff_f90.html#robo_top_of_doc" class="indexitem" >H5Tff.f90</a>
-<a href="./src/H5Tff_F03_f90.html#robo_top_of_doc" class="indexitem" >H5Tff_F03.f90</a>
-<a href="./src/H5Tff_F90_f90.html#robo_top_of_doc" class="indexitem" >H5Tff_F90.f90</a>
-<a href="./src/H5Tff_f90.html#robo422" class="indexitem" >h5tget_array_dims_f</a>
-<a href="./src/H5Tff_f90.html#robo423" class="indexitem" >h5tget_array_ndims_f</a>
-<a href="./src/H5Tff_f90.html#robo424" class="indexitem" >h5tget_class_f</a>
-<a href="./src/H5Tff_f90.html#robo425" class="indexitem" >h5tget_create_plist_f</a>
-<a href="./src/H5Tff_f90.html#robo426" class="indexitem" >h5tget_cset_f</a>
-<a href="./src/H5Tff_f90.html#robo427" class="indexitem" >h5tget_ebias_f</a>
-<a href="./src/H5Tff_f90.html#robo428" class="indexitem" >h5tget_fields_f</a>
-<a href="./src/H5Tff_f90.html#robo429" class="indexitem" >h5tget_inpad_f</a>
-<a href="./src/H5Tff_f90.html#robo430" class="indexitem" >h5tget_member_class_f</a>
-<a href="./src/H5Tff_f90.html#robo431" class="indexitem" >h5tget_member_index_f</a>
-<a href="./src/H5Tff_f90.html#robo432" class="indexitem" >h5tget_member_name_f</a>
-<a href="./src/H5Tff_f90.html#robo433" class="indexitem" >h5tget_member_offset_f</a>
-<a href="./src/H5Tff_f90.html#robo434" class="indexitem" >h5tget_member_type_f</a>
-<a href="./src/H5Tff_f90.html#robo435" class="indexitem" >h5tget_member_value_f</a>
-<a href="./src/H5Tff_f90.html#robo436" class="indexitem" >h5tget_native_type_f</a>
-<a href="./src/H5Tff_f90.html#robo437" class="indexitem" >h5tget_nmembers_f</a>
-<a href="./src/H5Tff_f90.html#robo438" class="indexitem" >h5tget_norm_f</a>
-<a href="./src/H5Tff_f90.html#robo439" class="indexitem" >h5tget_offset_f</a>
-<a href="./src/H5Tff_f90.html#robo440" class="indexitem" >h5tget_order_f</a>
-<a href="./src/H5Tff_f90.html#robo441" class="indexitem" >h5tget_pad_f</a>
-<a href="./src/H5Tff_f90.html#robo442" class="indexitem" >h5tget_precision_f</a>
-<a href="./src/H5Tff_f90.html#robo443" class="indexitem" >h5tget_sign_f</a>
-<a href="./src/H5Tff_f90.html#robo444" class="indexitem" >h5tget_size_f</a>
-<a href="./src/H5Tff_f90.html#robo445" class="indexitem" >h5tget_strpad_f</a>
-<a href="./src/H5Tff_f90.html#robo446" class="indexitem" >h5tget_super_f</a>
-<a href="./src/H5Tff_f90.html#robo447" class="indexitem" >h5tget_tag_f</a>
-<a href="./src/H5Tff_f90.html#robo448" class="indexitem" >h5tinsert_f</a>
-<a href="./src/H5Tff_f90.html#robo449" class="indexitem" >h5tis_variable_str_f</a>
-<a href="./src/H5Tff_f90.html#robo450" class="indexitem" >h5topen_f</a>
-<a href="./src/H5Tff_f90.html#robo451" class="indexitem" >h5tpack_f</a>
-<a href="./src/H5Tff_f90.html#robo452" class="indexitem" >h5tset_cset_f</a>
-<a href="./src/H5Tff_f90.html#robo453" class="indexitem" >h5tset_ebias_f</a>
-<a href="./src/H5Tff_f90.html#robo454" class="indexitem" >h5tset_fields_f</a>
-<a href="./src/H5Tff_f90.html#robo455" class="indexitem" >h5tset_inpad_f</a>
-<a href="./src/H5Tff_f90.html#robo456" class="indexitem" >h5tset_norm_f</a>
-<a href="./src/H5Tff_f90.html#robo457" class="indexitem" >h5tset_offset_f</a>
-<a href="./src/H5Tff_f90.html#robo458" class="indexitem" >h5tset_order_f</a>
-<a href="./src/H5Tff_f90.html#robo459" class="indexitem" >h5tset_pad_f</a>
-<a href="./src/H5Tff_f90.html#robo460" class="indexitem" >h5tset_precision_f</a>
-<a href="./src/H5Tff_f90.html#robo461" class="indexitem" >h5tset_sign_f</a>
-<a href="./src/H5Tff_f90.html#robo462" class="indexitem" >h5tset_size_f</a>
-<a href="./src/H5Tff_f90.html#robo463" class="indexitem" >h5tset_strpad_f</a>
-<a href="./src/H5Tff_f90.html#robo464" class="indexitem" >h5tset_tag_f</a>
-<a href="./src/H5Tff_f90.html#robo465" class="indexitem" >h5tvlen_create_f</a>
-<a href="./src/H5Zff_f90.html#robo74" class="indexitem" >H5Z</a>
-<a href="./src/H5Zf_c.html#robo75" class="indexitem" >H5Zf</a>
-<a href="./src/H5Zf_c.html#robo_top_of_doc" class="indexitem" >H5Zf.c</a>
-<a href="./src/H5Zff_f90.html#robo_top_of_doc" class="indexitem" >H5Zff.f90</a>
-<a href="./src/H5Zff_f90.html#robo466" class="indexitem" >h5zfilter_avail_f</a>
-<a href="./src/H5Zff_f90.html#robo467" class="indexitem" >h5zget_filter_info_f</a>
-<a href="./src/H5Zff_f90.html#robo468" class="indexitem" >h5zunregister_f</a>
-<a href="./src/HDF5_f90.html#robo76" class="indexitem" >HDF5</a>
-<a href="./src/HDF5mpio_f90.html#robo77" class="indexitem" >HDF5 (mpio)</a>
-<a href="./src/HDF5_f90.html#robo_top_of_doc" class="indexitem" >HDF5.f90</a>
-<a href="./src/HDF5mpio_f90.html#robo_top_of_doc" class="indexitem" >HDF5mpio.f90</a>
-<h2><a name="S"></a>S</h2><a href="./src/H5_DBLE_InterfaceExclude_f90.html#robo78" class="indexitem" >src/H5_DBLE_InterfaceExclude.f90</a>
-<a href="./src/H5_DBLE_InterfaceInclude_f90.html#robo79" class="indexitem" >src/H5_DBLE_InterfaceInclude.f90</a>
-<h2><a name="T"></a>T</h2><a href="./test/t_c.html#robo_top_of_doc" class="indexitem" >t.c</a>
-<a href="./test/tf_f90.html#robo_top_of_doc" class="indexitem" >tf.f90</a>
-<a href="./test/tH5A_f90.html#robo_top_of_doc" class="indexitem" >tH5A.f90</a>
-<a href="./test/tH5A_1_8_f90.html#robo_top_of_doc" class="indexitem" >tH5A_1_8.f90</a>
-<a href="./test/tH5D_f90.html#robo_top_of_doc" class="indexitem" >tH5D.f90</a>
-<a href="./test/tH5E_f90.html#robo_top_of_doc" class="indexitem" >tH5E.f90</a>
-<a href="./test/tH5E_F03_f90.html#robo_top_of_doc" class="indexitem" >tH5E_F03.f90</a>
-<a href="./test/tH5F_f90.html#robo_top_of_doc" class="indexitem" >tH5F.f90</a>
-<a href="./test/tH5G_f90.html#robo_top_of_doc" class="indexitem" >tH5G.f90</a>
-<a href="./test/tH5G_1_8_f90.html#robo_top_of_doc" class="indexitem" >tH5G_1_8.f90</a>
-<a href="./test/tH5I_f90.html#robo_top_of_doc" class="indexitem" >tH5I.f90</a>
-<a href="./test/tH5L_F03_f90.html#robo_top_of_doc" class="indexitem" >tH5L_F03.f90</a>
-<a href="./test/tH5O_f90.html#robo_top_of_doc" class="indexitem" >tH5O.f90</a>
-<a href="./test/tH5P_f90.html#robo_top_of_doc" class="indexitem" >tH5P.f90</a>
-<a href="./test/tH5P_F03_f90.html#robo_top_of_doc" class="indexitem" >tH5P_F03.f90</a>
-<a href="./test/tH5R_f90.html#robo_top_of_doc" class="indexitem" >tH5R.f90</a>
-<a href="./test/tH5S_f90.html#robo_top_of_doc" class="indexitem" >tH5S.f90</a>
-<a href="./test/tH5Sselect_f90.html#robo_top_of_doc" class="indexitem" >tH5Sselect.f90</a>
-<a href="./test/tH5T_f90.html#robo_top_of_doc" class="indexitem" >tH5T.f90</a>
-<a href="./test/tH5T_F03_f90.html#robo_top_of_doc" class="indexitem" >tH5T_F03.f90</a>
-<a href="./test/tH5VL_f90.html#robo_top_of_doc" class="indexitem" >tH5VL.f90</a>
-<a href="./test/tH5Z_f90.html#robo_top_of_doc" class="indexitem" >tH5Z.f90</a>
-<h2><a href="#A">A</a> - <a href="#B">B</a> - <a href="#C">C</a> - <a href="#D">D</a> - <a href="#E">E</a> - <a href="#F">F</a> - <a href="#G">G</a> - <a href="#H">H</a> - <a href="#I">I</a> - <a href="#J">J</a> - <a href="#K">K</a> - <a href="#L">L</a> - <a href="#M">M</a> - <a href="#N">N</a> - <a href="#O">O</a> - <a href="#P">P</a> - <a href="#Q">Q</a> - <a href="#R">R</a> - <a href="#S">S</a> - <a href="#T">T</a> - <a href="#U">U</a> - <a href="#V">V</a> - <a href="#W">W</a> - <a href="#X">X</a> - <a href="#Y">Y</a> - <a href="#Z">Z</a> - <a href="#0">0</a> - <a href="#1">1</a> - <a href="#2">2</a> - <a href="#3">3</a> - <a href="#4">4</a> - <a href="#5">5</a> - <a href="#6">6</a> - <a href="#7">7</a> - <a href="#8">8</a> - <a href="#9">9</a></h2>
-</div> <!-- content -->
-<div id="footer">
-<p>Generated from ./ on Sun Aug 14 2011 22:49:38
-</p>
-</div> <!-- footer -->
-</body>
-</html>
diff --git a/fortran/doc/DevelGuide/robo_functions.html b/fortran/doc/DevelGuide/robo_functions.html
deleted file mode 100644
index e4f253a..0000000
--- a/fortran/doc/DevelGuide/robo_functions.html
+++ /dev/null
@@ -1,39 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-type" content="text/html; charset=ISO-8859-1" />
-<link rel="stylesheet" href="./robodoc.css" type="text/css" />
-<title>Functions</title>
-<!-- Source: ./ -->
-</head>
-<body>
-<div id="logo">
-<a name="robo_top_of_doc">HDF5 FORTRAN Developer's Guide</a>
-</div> <!-- logo -->
-<div id="extra">
-</div> <!-- extra -->
-<div id="navigation">
-<a class="menuitem" href="./toc_index.html#top">Table of Contents</a>
-<a class="menuitem" href="./robo_sourcefiles.html#top">Sourcefiles</a>
-<a class="menuitem" href="./masterindex.html#top">Index</a>
-<a class="menuitem" href="#top">Functions</a>
-<a class="menuitem" href="./robo_modules.html#top">Modules</a>
-<a class="menuitem" href="./robo_procedures.html#top">Procedures</a>
-<a class="menuitem" href="./robo_subroutines.html#top">Subroutines</a>
-</div> <!-- navigation -->
-<div id="content">
-<h1>Functions</h1>
-<h2><a href="#A">A</a> - <a href="#B">B</a> - <a href="#C">C</a> - <a href="#D">D</a> - <a href="#E">E</a> - <a href="#F">F</a> - <a href="#G">G</a> - <a href="#H">H</a> - <a href="#I">I</a> - <a href="#J">J</a> - <a href="#K">K</a> - <a href="#L">L</a> - <a href="#M">M</a> - <a href="#N">N</a> - <a href="#O">O</a> - <a href="#P">P</a> - <a href="#Q">Q</a> - <a href="#R">R</a> - <a href="#S">S</a> - <a href="#T">T</a> - <a href="#U">U</a> - <a href="#V">V</a> - <a href="#W">W</a> - <a href="#X">X</a> - <a href="#Y">Y</a> - <a href="#Z">Z</a> - <a href="#0">0</a> - <a href="#1">1</a> - <a href="#2">2</a> - <a href="#3">3</a> - <a href="#4">4</a> - <a href="#5">5</a> - <a href="#6">6</a> - <a href="#7">7</a> - <a href="#8">8</a> - <a href="#9">9</a></h2>
-<h2><a name="H"></a>H</h2><a href="./src/H5_ff_f90.html#robo177" class="indexitem" >h5kind_to_type</a>
-<a href="./src/H5_ff_F03_f90.html#robo194" class="indexitem" >h5offsetof</a>
-<h2><a href="#A">A</a> - <a href="#B">B</a> - <a href="#C">C</a> - <a href="#D">D</a> - <a href="#E">E</a> - <a href="#F">F</a> - <a href="#G">G</a> - <a href="#H">H</a> - <a href="#I">I</a> - <a href="#J">J</a> - <a href="#K">K</a> - <a href="#L">L</a> - <a href="#M">M</a> - <a href="#N">N</a> - <a href="#O">O</a> - <a href="#P">P</a> - <a href="#Q">Q</a> - <a href="#R">R</a> - <a href="#S">S</a> - <a href="#T">T</a> - <a href="#U">U</a> - <a href="#V">V</a> - <a href="#W">W</a> - <a href="#X">X</a> - <a href="#Y">Y</a> - <a href="#Z">Z</a> - <a href="#0">0</a> - <a href="#1">1</a> - <a href="#2">2</a> - <a href="#3">3</a> - <a href="#4">4</a> - <a href="#5">5</a> - <a href="#6">6</a> - <a href="#7">7</a> - <a href="#8">8</a> - <a href="#9">9</a></h2>
-</div> <!-- content -->
-<div id="footer">
-<p>Generated from ./ on Sun Aug 14 2011 22:49:38
-</p>
-</div> <!-- footer -->
-</body>
-</html>
diff --git a/fortran/doc/DevelGuide/robo_modules.html b/fortran/doc/DevelGuide/robo_modules.html
deleted file mode 100644
index 8e57f38..0000000
--- a/fortran/doc/DevelGuide/robo_modules.html
+++ /dev/null
@@ -1,117 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-type" content="text/html; charset=ISO-8859-1" />
-<link rel="stylesheet" href="./robodoc.css" type="text/css" />
-<title>Modules</title>
-<!-- Source: ./ -->
-</head>
-<body>
-<div id="logo">
-<a name="robo_top_of_doc">HDF5 FORTRAN Developer's Guide</a>
-</div> <!-- logo -->
-<div id="extra">
-</div> <!-- extra -->
-<div id="navigation">
-<a class="menuitem" href="./toc_index.html#top">Table of Contents</a>
-<a class="menuitem" href="./robo_sourcefiles.html#top">Sourcefiles</a>
-<a class="menuitem" href="./masterindex.html#top">Index</a>
-<a class="menuitem" href="./robo_functions.html#top">Functions</a>
-<a class="menuitem" href="#top">Modules</a>
-<a class="menuitem" href="./robo_procedures.html#top">Procedures</a>
-<a class="menuitem" href="./robo_subroutines.html#top">Subroutines</a>
-</div> <!-- navigation -->
-<div id="content">
-<h1>Modules</h1>
-<h2><a href="#A">A</a> - <a href="#B">B</a> - <a href="#C">C</a> - <a href="#D">D</a> - <a href="#E">E</a> - <a href="#F">F</a> - <a href="#G">G</a> - <a href="#H">H</a> - <a href="#I">I</a> - <a href="#J">J</a> - <a href="#K">K</a> - <a href="#L">L</a> - <a href="#M">M</a> - <a href="#N">N</a> - <a href="#O">O</a> - <a href="#P">P</a> - <a href="#Q">Q</a> - <a href="#R">R</a> - <a href="#S">S</a> - <a href="#T">T</a> - <a href="#U">U</a> - <a href="#V">V</a> - <a href="#W">W</a> - <a href="#X">X</a> - <a href="#Y">Y</a> - <a href="#Z">Z</a> - <a href="#0">0</a> - <a href="#1">1</a> - <a href="#2">2</a> - <a href="#3">3</a> - <a href="#4">4</a> - <a href="#5">5</a> - <a href="#6">6</a> - <a href="#7">7</a> - <a href="#8">8</a> - <a href="#9">9</a></h2>
-<h2><a name="F"></a>F</h2><a href="./test/fflush1_f90.html#robo0" class="indexitem" >fortran/test/fflush1.f90</a>
-<a href="./test/fflush2_f90.html#robo1" class="indexitem" >fortran/test/fflush2.f90</a>
-<a href="./test/fortranlib_test_f90.html#robo2" class="indexitem" >fortran/test/fortranlib_test.f90</a>
-<a href="./test/fortranlib_test_1_8_f90.html#robo3" class="indexitem" >fortran/test/fortranlib_test_1_8.f90</a>
-<a href="./test/fortranlib_test_F03_f90.html#robo4" class="indexitem" >fortran/test/fortranlib_test_F03.f90</a>
-<a href="./test/t_c.html#robo5" class="indexitem" >fortran/test/tc.c</a>
-<a href="./test/tf_f90.html#robo6" class="indexitem" >fortran/test/tf.f90</a>
-<a href="./test/tH5A_f90.html#robo7" class="indexitem" >fortran/test/tH5A.f90</a>
-<a href="./test/tH5A_1_8_f90.html#robo8" class="indexitem" >fortran/test/tH5A_1_8.f90</a>
-<a href="./test/tH5D_f90.html#robo9" class="indexitem" >fortran/test/tH5D.f90</a>
-<a href="./test/tH5E_f90.html#robo10" class="indexitem" >fortran/test/tH5E.f90</a>
-<a href="./test/tH5E_F03_f90.html#robo11" class="indexitem" >fortran/test/tH5E_F03.f90</a>
-<a href="./test/tH5F_f90.html#robo12" class="indexitem" >fortran/test/tH5F.f90</a>
-<a href="./test/tH5G_f90.html#robo13" class="indexitem" >fortran/test/tH5G.f90</a>
-<a href="./test/tH5G_1_8_f90.html#robo14" class="indexitem" >fortran/test/tH5G_1_8.f90</a>
-<a href="./test/tH5I_f90.html#robo15" class="indexitem" >fortran/test/tH5I.f90</a>
-<a href="./test/tH5L_F03_f90.html#robo16" class="indexitem" >fortran/test/tH5L_F03.f90</a>
-<a href="./test/tH5O_f90.html#robo17" class="indexitem" >fortran/test/tH5O.f90</a>
-<a href="./test/tH5P_f90.html#robo18" class="indexitem" >fortran/test/tH5P.f90</a>
-<a href="./test/tH5P_F03_f90.html#robo19" class="indexitem" >fortran/test/tH5P_F03.f90</a>
-<a href="./test/tH5R_f90.html#robo20" class="indexitem" >fortran/test/tH5R.f90</a>
-<a href="./test/tH5S_f90.html#robo21" class="indexitem" >fortran/test/tH5S.f90</a>
-<a href="./test/tH5Sselect_f90.html#robo22" class="indexitem" >fortran/test/tH5Sselect.f90</a>
-<a href="./test/tH5T_f90.html#robo23" class="indexitem" >fortran/test/tH5T.f90</a>
-<a href="./test/tH5T_F03_f90.html#robo24" class="indexitem" >fortran/test/tH5T_F03.f90</a>
-<a href="./test/tH5VL_f90.html#robo25" class="indexitem" >fortran/test/tH5VL.f90</a>
-<a href="./test/tH5Z_f90.html#robo26" class="indexitem" >fortran/test/tH5Z.f90</a>
-<h2><a name="H"></a>H</h2><a href="./src/H5Aff_f90.html#robo27" class="indexitem" >H5A</a>
-<a href="./src/H5Aff_F03_f90.html#robo28" class="indexitem" >H5A (F03)</a>
-<a href="./src/H5Aff_F90_f90.html#robo29" class="indexitem" >H5A (F90)</a>
-<a href="./src/H5Af_c.html#robo30" class="indexitem" >H5Af</a>
-<a href="./src/H5Dff_f90.html#robo31" class="indexitem" >H5D</a>
-<a href="./src/H5Dff_F03_f90.html#robo32" class="indexitem" >H5D (F03)</a>
-<a href="./src/H5Dff_F90_f90.html#robo33" class="indexitem" >H5D (F90)</a>
-<a href="./src/H5Df_c.html#robo34" class="indexitem" >H5Df</a>
-<a href="./src/H5Eff_f90.html#robo35" class="indexitem" >H5E</a>
-<a href="./src/H5Eff_F03_f90.html#robo36" class="indexitem" >H5E (F03)</a>
-<a href="./src/H5Eff_F90_f90.html#robo37" class="indexitem" >H5E (F90)</a>
-<a href="./src/H5Ef_c.html#robo38" class="indexitem" >H5Ef</a>
-<a href="./src/H5Fff_f90.html#robo39" class="indexitem" >H5F</a>
-<a href="./src/H5f90kit_c.html#robo40" class="indexitem" >H5f90kit</a>
-<a href="./src/H5FDmpioff_f90.html#robo41" class="indexitem" >H5FDMPIO</a>
-<a href="./src/H5FDmpiof_c.html#robo42" class="indexitem" >H5FDmpiof</a>
-<a href="./src/H5Ff_c.html#robo43" class="indexitem" >H5Ff</a>
-<a href="./src/H5Gff_f90.html#robo44" class="indexitem" >H5G</a>
-<a href="./src/H5Gf_c.html#robo45" class="indexitem" >H5Gf</a>
-<a href="./src/H5f90global_f90.html#robo46" class="indexitem" >H5GLOBAL</a>
-<a href="./src/H5Iff_f90.html#robo47" class="indexitem" >H5I</a>
-<a href="./src/H5If_c.html#robo48" class="indexitem" >H5If</a>
-<a href="./src/H5Lff_f90.html#robo49" class="indexitem" >H5L</a>
-<a href="./src/H5Lff_F03_f90.html#robo50" class="indexitem" >H5L (F03)</a>
-<a href="./src/H5Lff_F90_f90.html#robo51" class="indexitem" >H5L (F90)</a>
-<a href="./src/H5Lf_c.html#robo52" class="indexitem" >H5Lf</a>
-<a href="./src/H5_ff_f90.html#robo53" class="indexitem" >H5LIB</a>
-<a href="./src/H5_ff_F03_f90.html#robo54" class="indexitem" >H5LIB_PROVISIONAL</a>
-<a href="./src/H5_ff_F90_f90.html#robo55" class="indexitem" >H5LIB_PROVISIONAL (F90)</a>
-<a href="./src/H5Off_f90.html#robo56" class="indexitem" >H5O</a>
-<a href="./src/H5Off_F03_f90.html#robo57" class="indexitem" >H5O (F03)</a>
-<a href="./src/H5Off_F90_f90.html#robo58" class="indexitem" >H5O (F90)</a>
-<a href="./src/H5Of_c.html#robo59" class="indexitem" >H5Of</a>
-<a href="./src/H5Pff_F90_f90.html#robo60" class="indexitem" >H5P (_F90)</a>
-<a href="./src/H5Pff_F03_f90.html#robo61" class="indexitem" >H5P (F03)</a>
-<a href="./src/H5Pff_f90.html#robo62" class="indexitem" >H5P (F90)</a>
-<a href="./src/H5Pf_c.html#robo63" class="indexitem" >H5Pf</a>
-<a href="./src/H5Rff_f90.html#robo64" class="indexitem" >H5R</a>
-<a href="./src/H5Rff_F03_f90.html#robo65" class="indexitem" >H5R (F03)</a>
-<a href="./src/H5Rff_F90_f90.html#robo66" class="indexitem" >H5R (F90)</a>
-<a href="./src/H5Rf_c.html#robo67" class="indexitem" >H5Rf</a>
-<a href="./src/H5Sff_f90.html#robo68" class="indexitem" >H5S</a>
-<a href="./src/H5Sf_c.html#robo69" class="indexitem" >H5Sf</a>
-<a href="./src/H5Tff_f90.html#robo70" class="indexitem" >H5T</a>
-<a href="./src/H5Tff_F03_f90.html#robo71" class="indexitem" >H5T (F03)</a>
-<a href="./src/H5Tff_F90_f90.html#robo72" class="indexitem" >H5T (F90)</a>
-<a href="./src/H5Tf_c.html#robo73" class="indexitem" >H5Tf</a>
-<a href="./src/H5Zff_f90.html#robo74" class="indexitem" >H5Z</a>
-<a href="./src/H5Zf_c.html#robo75" class="indexitem" >H5Zf</a>
-<a href="./src/HDF5_f90.html#robo76" class="indexitem" >HDF5</a>
-<a href="./src/HDF5mpio_f90.html#robo77" class="indexitem" >HDF5 (mpio)</a>
-<h2><a name="S"></a>S</h2><a href="./src/H5_DBLE_InterfaceExclude_f90.html#robo78" class="indexitem" >src/H5_DBLE_InterfaceExclude.f90</a>
-<a href="./src/H5_DBLE_InterfaceInclude_f90.html#robo79" class="indexitem" >src/H5_DBLE_InterfaceInclude.f90</a>
-<h2><a href="#A">A</a> - <a href="#B">B</a> - <a href="#C">C</a> - <a href="#D">D</a> - <a href="#E">E</a> - <a href="#F">F</a> - <a href="#G">G</a> - <a href="#H">H</a> - <a href="#I">I</a> - <a href="#J">J</a> - <a href="#K">K</a> - <a href="#L">L</a> - <a href="#M">M</a> - <a href="#N">N</a> - <a href="#O">O</a> - <a href="#P">P</a> - <a href="#Q">Q</a> - <a href="#R">R</a> - <a href="#S">S</a> - <a href="#T">T</a> - <a href="#U">U</a> - <a href="#V">V</a> - <a href="#W">W</a> - <a href="#X">X</a> - <a href="#Y">Y</a> - <a href="#Z">Z</a> - <a href="#0">0</a> - <a href="#1">1</a> - <a href="#2">2</a> - <a href="#3">3</a> - <a href="#4">4</a> - <a href="#5">5</a> - <a href="#6">6</a> - <a href="#7">7</a> - <a href="#8">8</a> - <a href="#9">9</a></h2>
-</div> <!-- content -->
-<div id="footer">
-<p>Generated from ./ on Sun Aug 14 2011 22:49:38
-</p>
-</div> <!-- footer -->
-</body>
-</html>
diff --git a/fortran/doc/DevelGuide/robo_programs.html b/fortran/doc/DevelGuide/robo_programs.html
deleted file mode 100644
index 8c35230..0000000
--- a/fortran/doc/DevelGuide/robo_programs.html
+++ /dev/null
@@ -1,39 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-type" content="text/html; charset=ISO-8859-1" />
-<link rel="stylesheet" href="./robodoc.css" type="text/css" />
-<title>Programs</title>
-<!-- Source: ./ -->
-</head>
-<body>
-<div id="logo">
-<a name="robo_top_of_doc">HDF5 FORTRAN Developer's Guide</a>
-</div> <!-- logo -->
-<div id="extra">
-</div> <!-- extra -->
-<div id="navigation">
-<a class="menuitem" href="./toc_index.html#top">Table of Contents</a>
-<a class="menuitem" href="./robo_sourcefiles.html#top">Sourcefiles</a>
-<a class="menuitem" href="./masterindex.html#top">Index</a>
-<a class="menuitem" href="./robo_functions.html#top">Functions</a>
-<a class="menuitem" href="./robo_modules.html#top">Modules</a>
-<a class="menuitem" href="#top">Programs</a>
-<a class="menuitem" href="./robo_subroutines.html#top">Subroutines</a>
-</div> <!-- navigation -->
-<div id="content">
-<h1>Programs</h1>
-<h2><a href="#A">A</a> - <a href="#B">B</a> - <a href="#C">C</a> - <a href="#D">D</a> - <a href="#E">E</a> - <a href="#F">F</a> - <a href="#G">G</a> - <a href="#H">H</a> - <a href="#I">I</a> - <a href="#J">J</a> - <a href="#K">K</a> - <a href="#L">L</a> - <a href="#M">M</a> - <a href="#N">N</a> - <a href="#O">O</a> - <a href="#P">P</a> - <a href="#Q">Q</a> - <a href="#R">R</a> - <a href="#S">S</a> - <a href="#T">T</a> - <a href="#U">U</a> - <a href="#V">V</a> - <a href="#W">W</a> - <a href="#X">X</a> - <a href="#Y">Y</a> - <a href="#Z">Z</a> - <a href="#0">0</a> - <a href="#1">1</a> - <a href="#2">2</a> - <a href="#3">3</a> - <a href="#4">4</a> - <a href="#5">5</a> - <a href="#6">6</a> - <a href="#7">7</a> - <a href="#8">8</a> - <a href="#9">9</a></h2>
-<h2><a name="H"></a>H</h2><a href="./src/H5test_kind_f90.html#robo132" class="indexitem" >H5test_kind</a>
-<a href="./src/H5test_kind_SIZEOF_f90.html#robo133" class="indexitem" >H5test_kind_SIZEOF</a>
-<h2><a href="#A">A</a> - <a href="#B">B</a> - <a href="#C">C</a> - <a href="#D">D</a> - <a href="#E">E</a> - <a href="#F">F</a> - <a href="#G">G</a> - <a href="#H">H</a> - <a href="#I">I</a> - <a href="#J">J</a> - <a href="#K">K</a> - <a href="#L">L</a> - <a href="#M">M</a> - <a href="#N">N</a> - <a href="#O">O</a> - <a href="#P">P</a> - <a href="#Q">Q</a> - <a href="#R">R</a> - <a href="#S">S</a> - <a href="#T">T</a> - <a href="#U">U</a> - <a href="#V">V</a> - <a href="#W">W</a> - <a href="#X">X</a> - <a href="#Y">Y</a> - <a href="#Z">Z</a> - <a href="#0">0</a> - <a href="#1">1</a> - <a href="#2">2</a> - <a href="#3">3</a> - <a href="#4">4</a> - <a href="#5">5</a> - <a href="#6">6</a> - <a href="#7">7</a> - <a href="#8">8</a> - <a href="#9">9</a></h2>
-</div> <!-- content -->
-<div id="footer">
-<p>Generated from ./ on Wed Oct 22 2008 15:34:43
-</p>
-</div> <!-- footer -->
-</body>
-</html>
diff --git a/fortran/doc/DevelGuide/robo_sourcefiles.html b/fortran/doc/DevelGuide/robo_sourcefiles.html
deleted file mode 100644
index 63a8637..0000000
--- a/fortran/doc/DevelGuide/robo_sourcefiles.html
+++ /dev/null
@@ -1,309 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-type" content="text/html; charset=ISO-8859-1" />
-<link rel="stylesheet" href="./robodoc.css" type="text/css" />
-<title>Sourcefiles</title>
-<!-- Source: ./ -->
-</head>
-<body>
-<div id="logo">
-<a name="robo_top_of_doc">HDF5 FORTRAN Developer's Guide</a>
-</div> <!-- logo -->
-<div id="extra">
-</div> <!-- extra -->
-<div id="navigation">
-<a class="menuitem" href="./toc_index.html#top">Table of Contents</a>
-<a class="menuitem" href="#top">Sourcefiles</a>
-<a class="menuitem" href="./masterindex.html#top">Index</a>
-<a class="menuitem" href="./robo_functions.html#top">Functions</a>
-<a class="menuitem" href="./robo_modules.html#top">Modules</a>
-<a class="menuitem" href="./robo_procedures.html#top">Procedures</a>
-<a class="menuitem" href="./robo_subroutines.html#top">Subroutines</a>
-</div> <!-- navigation -->
-<div id="content">
-<ul>
-<li>
-./<ul>
-<li>
-./doc/<ul>
-</ul>
-</li>
-<li>
-./examples/<ul>
-</ul>
-</li>
-<li>
-./src/<ul>
-<li>
-<a href="./src/H5_DBLE_InterfaceExclude_f90.html#robo_top_of_doc"><tt>
-H5_DBLE_InterfaceExclude.f90</tt></a></li>
-<li>
-<a href="./src/H5_DBLE_InterfaceInclude_f90.html#robo_top_of_doc"><tt>
-H5_DBLE_InterfaceInclude.f90</tt></a></li>
-<li>
-<a href="./src/H5_ff_f90.html#robo_top_of_doc"><tt>
-H5_ff.f90</tt></a></li>
-<li>
-<a href="./src/H5_ff_F03_f90.html#robo_top_of_doc"><tt>
-H5_ff_F03.f90</tt></a></li>
-<li>
-<a href="./src/H5_ff_F90_f90.html#robo_top_of_doc"><tt>
-H5_ff_F90.f90</tt></a></li>
-<li>
-<a href="./src/H5Af_c.html#robo_top_of_doc"><tt>
-H5Af.c</tt></a></li>
-<li>
-<a href="./src/H5Aff_f90.html#robo_top_of_doc"><tt>
-H5Aff.f90</tt></a></li>
-<li>
-<a href="./src/H5Aff_F03_f90.html#robo_top_of_doc"><tt>
-H5Aff_F03.f90</tt></a></li>
-<li>
-<a href="./src/H5Aff_F90_f90.html#robo_top_of_doc"><tt>
-H5Aff_F90.f90</tt></a></li>
-<li>
-<a href="./src/H5Df_c.html#robo_top_of_doc"><tt>
-H5Df.c</tt></a></li>
-<li>
-<a href="./src/H5Dff_f90.html#robo_top_of_doc"><tt>
-H5Dff.f90</tt></a></li>
-<li>
-<a href="./src/H5Dff_F03_f90.html#robo_top_of_doc"><tt>
-H5Dff_F03.f90</tt></a></li>
-<li>
-<a href="./src/H5Dff_F90_f90.html#robo_top_of_doc"><tt>
-H5Dff_F90.f90</tt></a></li>
-<li>
-<a href="./src/H5Ef_c.html#robo_top_of_doc"><tt>
-H5Ef.c</tt></a></li>
-<li>
-<a href="./src/H5Eff_f90.html#robo_top_of_doc"><tt>
-H5Eff.f90</tt></a></li>
-<li>
-<a href="./src/H5Eff_F03_f90.html#robo_top_of_doc"><tt>
-H5Eff_F03.f90</tt></a></li>
-<li>
-<a href="./src/H5Eff_F90_f90.html#robo_top_of_doc"><tt>
-H5Eff_F90.f90</tt></a></li>
-<li>
-<a href="./src/H5f90global_f90.html#robo_top_of_doc"><tt>
-H5f90global.f90</tt></a></li>
-<li>
-<a href="./src/H5f90kit_c.html#robo_top_of_doc"><tt>
-H5f90kit.c</tt></a></li>
-<li>
-<a href="./src/H5FDmpiof_c.html#robo_top_of_doc"><tt>
-H5FDmpiof.c</tt></a></li>
-<li>
-<a href="./src/H5FDmpioff_f90.html#robo_top_of_doc"><tt>
-H5FDmpioff.f90</tt></a></li>
-<li>
-<a href="./src/H5Ff_c.html#robo_top_of_doc"><tt>
-H5Ff.c</tt></a></li>
-<li>
-<a href="./src/H5Fff_f90.html#robo_top_of_doc"><tt>
-H5Fff.f90</tt></a></li>
-<li>
-<a href="./src/H5Gf_c.html#robo_top_of_doc"><tt>
-H5Gf.c</tt></a></li>
-<li>
-<a href="./src/H5Gff_f90.html#robo_top_of_doc"><tt>
-H5Gff.f90</tt></a></li>
-<li>
-<a href="./src/H5If_c.html#robo_top_of_doc"><tt>
-H5If.c</tt></a></li>
-<li>
-<a href="./src/H5Iff_f90.html#robo_top_of_doc"><tt>
-H5Iff.f90</tt></a></li>
-<li>
-<a href="./src/H5Lf_c.html#robo_top_of_doc"><tt>
-H5Lf.c</tt></a></li>
-<li>
-<a href="./src/H5Lff_f90.html#robo_top_of_doc"><tt>
-H5Lff.f90</tt></a></li>
-<li>
-<a href="./src/H5Lff_F03_f90.html#robo_top_of_doc"><tt>
-H5Lff_F03.f90</tt></a></li>
-<li>
-<a href="./src/H5Lff_F90_f90.html#robo_top_of_doc"><tt>
-H5Lff_F90.f90</tt></a></li>
-<li>
-<a href="./src/H5match_types_c.html#robo_top_of_doc"><tt>
-H5match_types.c</tt></a></li>
-<li>
-<a href="./src/H5Of_c.html#robo_top_of_doc"><tt>
-H5Of.c</tt></a></li>
-<li>
-<a href="./src/H5Off_f90.html#robo_top_of_doc"><tt>
-H5Off.f90</tt></a></li>
-<li>
-<a href="./src/H5Off_F03_f90.html#robo_top_of_doc"><tt>
-H5Off_F03.f90</tt></a></li>
-<li>
-<a href="./src/H5Off_F90_f90.html#robo_top_of_doc"><tt>
-H5Off_F90.f90</tt></a></li>
-<li>
-<a href="./src/H5Pf_c.html#robo_top_of_doc"><tt>
-H5Pf.c</tt></a></li>
-<li>
-<a href="./src/H5Pff_f90.html#robo_top_of_doc"><tt>
-H5Pff.f90</tt></a></li>
-<li>
-<a href="./src/H5Pff_F03_f90.html#robo_top_of_doc"><tt>
-H5Pff_F03.f90</tt></a></li>
-<li>
-<a href="./src/H5Pff_F90_f90.html#robo_top_of_doc"><tt>
-H5Pff_F90.f90</tt></a></li>
-<li>
-<a href="./src/H5Rf_c.html#robo_top_of_doc"><tt>
-H5Rf.c</tt></a></li>
-<li>
-<a href="./src/H5Rff_f90.html#robo_top_of_doc"><tt>
-H5Rff.f90</tt></a></li>
-<li>
-<a href="./src/H5Rff_F03_f90.html#robo_top_of_doc"><tt>
-H5Rff_F03.f90</tt></a></li>
-<li>
-<a href="./src/H5Rff_F90_f90.html#robo_top_of_doc"><tt>
-H5Rff_F90.f90</tt></a></li>
-<li>
-<a href="./src/H5Sf_c.html#robo_top_of_doc"><tt>
-H5Sf.c</tt></a></li>
-<li>
-<a href="./src/H5Sff_f90.html#robo_top_of_doc"><tt>
-H5Sff.f90</tt></a></li>
-<li>
-<a href="./src/H5test_kind_f90.html#robo_top_of_doc"><tt>
-H5test_kind.f90</tt></a></li>
-<li>
-<a href="./src/H5test_kind_SIZEOF_f90.html#robo_top_of_doc"><tt>
-H5test_kind_SIZEOF.f90</tt></a></li>
-<li>
-<a href="./src/H5Tf_c.html#robo_top_of_doc"><tt>
-H5Tf.c</tt></a></li>
-<li>
-<a href="./src/H5Tff_f90.html#robo_top_of_doc"><tt>
-H5Tff.f90</tt></a></li>
-<li>
-<a href="./src/H5Tff_F03_f90.html#robo_top_of_doc"><tt>
-H5Tff_F03.f90</tt></a></li>
-<li>
-<a href="./src/H5Tff_F90_f90.html#robo_top_of_doc"><tt>
-H5Tff_F90.f90</tt></a></li>
-<li>
-<a href="./src/H5Zf_c.html#robo_top_of_doc"><tt>
-H5Zf.c</tt></a></li>
-<li>
-<a href="./src/H5Zff_f90.html#robo_top_of_doc"><tt>
-H5Zff.f90</tt></a></li>
-<li>
-<a href="./src/HDF5_f90.html#robo_top_of_doc"><tt>
-HDF5.f90</tt></a></li>
-<li>
-<a href="./src/HDF5mpio_f90.html#robo_top_of_doc"><tt>
-HDF5mpio.f90</tt></a></li>
-</ul>
-</li>
-<li>
-./test/<ul>
-<li>
-<a href="./test/fflush1_f90.html#robo_top_of_doc"><tt>
-fflush1.f90</tt></a></li>
-<li>
-<a href="./test/fflush2_f90.html#robo_top_of_doc"><tt>
-fflush2.f90</tt></a></li>
-<li>
-<a href="./test/fortranlib_test_f90.html#robo_top_of_doc"><tt>
-fortranlib_test.f90</tt></a></li>
-<li>
-<a href="./test/fortranlib_test_1_8_f90.html#robo_top_of_doc"><tt>
-fortranlib_test_1_8.f90</tt></a></li>
-<li>
-<a href="./test/fortranlib_test_F03_f90.html#robo_top_of_doc"><tt>
-fortranlib_test_F03.f90</tt></a></li>
-<li>
-<a href="./test/t_c.html#robo_top_of_doc"><tt>
-t.c</tt></a></li>
-<li>
-<a href="./test/tf_f90.html#robo_top_of_doc"><tt>
-tf.f90</tt></a></li>
-<li>
-<a href="./test/tH5A_f90.html#robo_top_of_doc"><tt>
-tH5A.f90</tt></a></li>
-<li>
-<a href="./test/tH5A_1_8_f90.html#robo_top_of_doc"><tt>
-tH5A_1_8.f90</tt></a></li>
-<li>
-<a href="./test/tH5D_f90.html#robo_top_of_doc"><tt>
-tH5D.f90</tt></a></li>
-<li>
-<a href="./test/tH5E_f90.html#robo_top_of_doc"><tt>
-tH5E.f90</tt></a></li>
-<li>
-<a href="./test/tH5E_F03_f90.html#robo_top_of_doc"><tt>
-tH5E_F03.f90</tt></a></li>
-<li>
-<a href="./test/tH5F_f90.html#robo_top_of_doc"><tt>
-tH5F.f90</tt></a></li>
-<li>
-<a href="./test/tH5G_f90.html#robo_top_of_doc"><tt>
-tH5G.f90</tt></a></li>
-<li>
-<a href="./test/tH5G_1_8_f90.html#robo_top_of_doc"><tt>
-tH5G_1_8.f90</tt></a></li>
-<li>
-<a href="./test/tH5I_f90.html#robo_top_of_doc"><tt>
-tH5I.f90</tt></a></li>
-<li>
-<a href="./test/tH5L_F03_f90.html#robo_top_of_doc"><tt>
-tH5L_F03.f90</tt></a></li>
-<li>
-<a href="./test/tH5O_f90.html#robo_top_of_doc"><tt>
-tH5O.f90</tt></a></li>
-<li>
-<a href="./test/tH5P_f90.html#robo_top_of_doc"><tt>
-tH5P.f90</tt></a></li>
-<li>
-<a href="./test/tH5P_F03_f90.html#robo_top_of_doc"><tt>
-tH5P_F03.f90</tt></a></li>
-<li>
-<a href="./test/tH5R_f90.html#robo_top_of_doc"><tt>
-tH5R.f90</tt></a></li>
-<li>
-<a href="./test/tH5S_f90.html#robo_top_of_doc"><tt>
-tH5S.f90</tt></a></li>
-<li>
-<a href="./test/tH5Sselect_f90.html#robo_top_of_doc"><tt>
-tH5Sselect.f90</tt></a></li>
-<li>
-<a href="./test/tH5T_f90.html#robo_top_of_doc"><tt>
-tH5T.f90</tt></a></li>
-<li>
-<a href="./test/tH5T_F03_f90.html#robo_top_of_doc"><tt>
-tH5T_F03.f90</tt></a></li>
-<li>
-<a href="./test/tH5VL_f90.html#robo_top_of_doc"><tt>
-tH5VL.f90</tt></a></li>
-<li>
-<a href="./test/tH5Z_f90.html#robo_top_of_doc"><tt>
-tH5Z.f90</tt></a></li>
-</ul>
-</li>
-<li>
-./testpar/<ul>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div> <!-- content -->
-<div id="footer">
-<p>Generated from ./ on Sun Aug 14 2011 22:49:38
-</p>
-</div> <!-- footer -->
-</body>
-</html>
diff --git a/fortran/doc/DevelGuide/robo_subroutines.html b/fortran/doc/DevelGuide/robo_subroutines.html
deleted file mode 100644
index 0846c77..0000000
--- a/fortran/doc/DevelGuide/robo_subroutines.html
+++ /dev/null
@@ -1,421 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-type" content="text/html; charset=ISO-8859-1" />
-<link rel="stylesheet" href="./robodoc.css" type="text/css" />
-<title>Subroutines</title>
-<!-- Source: ./ -->
-</head>
-<body>
-<div id="logo">
-<a name="robo_top_of_doc">HDF5 FORTRAN Developer's Guide</a>
-</div> <!-- logo -->
-<div id="extra">
-</div> <!-- extra -->
-<div id="navigation">
-<a class="menuitem" href="./toc_index.html#top">Table of Contents</a>
-<a class="menuitem" href="./robo_sourcefiles.html#top">Sourcefiles</a>
-<a class="menuitem" href="./masterindex.html#top">Index</a>
-<a class="menuitem" href="./robo_functions.html#top">Functions</a>
-<a class="menuitem" href="./robo_modules.html#top">Modules</a>
-<a class="menuitem" href="./robo_procedures.html#top">Procedures</a>
-<a class="menuitem" href="#top">Subroutines</a>
-</div> <!-- navigation -->
-<div id="content">
-<h1>Subroutines</h1>
-<h2><a href="#A">A</a> - <a href="#B">B</a> - <a href="#C">C</a> - <a href="#D">D</a> - <a href="#E">E</a> - <a href="#F">F</a> - <a href="#G">G</a> - <a href="#H">H</a> - <a href="#I">I</a> - <a href="#J">J</a> - <a href="#K">K</a> - <a href="#L">L</a> - <a href="#M">M</a> - <a href="#N">N</a> - <a href="#O">O</a> - <a href="#P">P</a> - <a href="#Q">Q</a> - <a href="#R">R</a> - <a href="#S">S</a> - <a href="#T">T</a> - <a href="#U">U</a> - <a href="#V">V</a> - <a href="#W">W</a> - <a href="#X">X</a> - <a href="#Y">Y</a> - <a href="#Z">Z</a> - <a href="#0">0</a> - <a href="#1">1</a> - <a href="#2">2</a> - <a href="#3">3</a> - <a href="#4">4</a> - <a href="#5">5</a> - <a href="#6">6</a> - <a href="#7">7</a> - <a href="#8">8</a> - <a href="#9">9</a></h2>
-<a href="./src/H5Pff_F03_f90.html#robo80" class="indexitem" > h5pget_double</a>
-<a href="./src/H5Pff_f90.html#robo81" class="indexitem" > h5pget_hyper_vector_size_f</a>
-<a href="./src/H5Pff_f90.html#robo82" class="indexitem" > h5pset_family_offset_f</a>
-<a href="./src/H5Pff_f90.html#robo83" class="indexitem" > h5pset_fapl_family_f</a>
-<a href="./src/H5Pff_f90.html#robo84" class="indexitem" > h5pset_meta_block_size_f</a>
-<h2><a name="H"></a>H</h2><a href="./src/H5Aff_f90.html#robo85" class="indexitem" >h5aclose_f</a>
-<a href="./src/H5Aff_f90.html#robo86" class="indexitem" >h5acreate_by_name_f</a>
-<a href="./src/H5Aff_f90.html#robo87" class="indexitem" >h5acreate_f</a>
-<a href="./src/H5Aff_f90.html#robo88" class="indexitem" >h5adelete_by_idx_f</a>
-<a href="./src/H5Aff_f90.html#robo89" class="indexitem" >h5adelete_by_name_f</a>
-<a href="./src/H5Aff_f90.html#robo90" class="indexitem" >h5adelete_f</a>
-<a href="./src/H5Aff_f90.html#robo91" class="indexitem" >H5Aexists_by_name_f</a>
-<a href="./src/H5Aff_f90.html#robo92" class="indexitem" >H5Aexists_f</a>
-<a href="./src/H5Aff_f90.html#robo93" class="indexitem" >h5aget_create_plist_f</a>
-<a href="./src/H5Aff_f90.html#robo94" class="indexitem" >h5aget_info_by_idx_f</a>
-<a href="./src/H5Aff_f90.html#robo95" class="indexitem" >h5aget_info_by_name_f</a>
-<a href="./src/H5Aff_f90.html#robo96" class="indexitem" >h5aget_info_f</a>
-<a href="./src/H5Aff_f90.html#robo97" class="indexitem" >h5aget_name_by_idx_f</a>
-<a href="./src/H5Aff_f90.html#robo98" class="indexitem" >h5aget_name_f</a>
-<a href="./src/H5Aff_f90.html#robo99" class="indexitem" >h5aget_num_attrs_f</a>
-<a href="./src/H5Aff_f90.html#robo100" class="indexitem" >h5aget_space_f</a>
-<a href="./src/H5Aff_f90.html#robo101" class="indexitem" >h5aget_storage_size_f</a>
-<a href="./src/H5Aff_f90.html#robo102" class="indexitem" >h5aget_type_f</a>
-<a href="./src/H5Aff_f90.html#robo103" class="indexitem" >h5aopen_by_idx_f</a>
-<a href="./src/H5Aff_f90.html#robo104" class="indexitem" >H5Aopen_by_name_f</a>
-<a href="./src/H5Aff_f90.html#robo105" class="indexitem" >h5aopen_f</a>
-<a href="./src/H5Aff_f90.html#robo106" class="indexitem" >h5aopen_idx_f</a>
-<a href="./src/H5Aff_f90.html#robo107" class="indexitem" >h5aopen_name_f</a>
-<a href="./src/H5Aff_F03_f90.html#robo108" class="indexitem" >h5aread_f</a>
-<a href="./src/H5Aff_f90.html#robo109" class="indexitem" >h5arename_by_name_f</a>
-<a href="./src/H5Aff_f90.html#robo110" class="indexitem" >h5arename_f</a>
-<a href="./src/H5_ff_f90.html#robo111" class="indexitem" >h5check_version_f</a>
-<a href="./src/H5_ff_f90.html#robo112" class="indexitem" >h5close_f</a>
-<a href="./src/H5Dff_f90.html#robo113" class="indexitem" >h5dclose_f</a>
-<a href="./src/H5Dff_f90.html#robo114" class="indexitem" >h5dcreate_anon_f</a>
-<a href="./src/H5Dff_f90.html#robo115" class="indexitem" >h5dcreate_f</a>
-<a href="./src/H5Dff_f90.html#robo116" class="indexitem" >h5dget_access_plist_f</a>
-<a href="./src/H5Dff_f90.html#robo117" class="indexitem" >h5dget_create_plist_f</a>
-<a href="./src/H5Dff_f90.html#robo118" class="indexitem" >h5dget_space_f</a>
-<a href="./src/H5Dff_f90.html#robo119" class="indexitem" >h5dget_space_status_f</a>
-<a href="./src/H5Dff_f90.html#robo120" class="indexitem" >h5dget_storage_size_f</a>
-<a href="./src/H5Dff_f90.html#robo121" class="indexitem" >h5dget_type_f</a>
-<a href="./src/H5_ff_f90.html#robo122" class="indexitem" >h5dont_atexit_f</a>
-<a href="./src/H5Dff_f90.html#robo123" class="indexitem" >h5dopen_f</a>
-<a href="./src/H5Dff_F90_f90.html#robo124" class="indexitem" >h5dread_f</a>
-<a href="./src/H5Dff_f90.html#robo125" class="indexitem" >h5dset_extent</a>
-<a href="./src/H5Dff_f90.html#robo126" class="indexitem" >h5dvlen_get_max_len_f</a>
-<a href="./src/H5Dff_F03_f90.html#robo127" class="indexitem" >h5dvlen_reclaim</a>
-<a href="./src/H5Eff_f90.html#robo128" class="indexitem" >h5eclear_f</a>
-<a href="./src/H5Eff_F03_f90.html#robo129" class="indexitem" >h5eget_auto_f</a>
-<a href="./src/H5Eff_f90.html#robo130" class="indexitem" >h5eget_major_f</a>
-<a href="./src/H5Eff_f90.html#robo131" class="indexitem" >h5eget_minor_f</a>
-<a href="./src/H5Eff_f90.html#robo132" class="indexitem" >h5eprint_f</a>
-<a href="./src/H5Eff_F03_f90.html#robo133" class="indexitem" >h5eset_auto2_f</a>
-<a href="./src/H5Eff_F90_f90.html#robo134" class="indexitem" >h5eset_auto_f</a>
-<a href="./src/H5Fff_f90.html#robo135" class="indexitem" >h5fclose_f</a>
-<a href="./src/H5Fff_f90.html#robo136" class="indexitem" >h5fcreate_f</a>
-<a href="./src/H5Fff_f90.html#robo137" class="indexitem" >h5fflush_f</a>
-<a href="./src/H5Fff_f90.html#robo138" class="indexitem" >h5fget_access_plist_f</a>
-<a href="./src/H5Fff_f90.html#robo139" class="indexitem" >h5fget_create_plist_f</a>
-<a href="./src/H5Fff_f90.html#robo140" class="indexitem" >h5fget_filesize_f</a>
-<a href="./src/H5Fff_f90.html#robo141" class="indexitem" >h5fget_freespace_f</a>
-<a href="./src/H5Fff_f90.html#robo142" class="indexitem" >h5fget_name_f</a>
-<a href="./src/H5Fff_f90.html#robo143" class="indexitem" >h5fget_obj_count_f</a>
-<a href="./src/H5Fff_f90.html#robo144" class="indexitem" >h5fget_obj_ids_f</a>
-<a href="./src/H5Fff_f90.html#robo145" class="indexitem" >h5fis_hdf5_f</a>
-<a href="./src/H5Fff_f90.html#robo146" class="indexitem" >h5fmount_f</a>
-<a href="./src/H5Fff_f90.html#robo147" class="indexitem" >h5fopen_f</a>
-<a href="./src/H5Fff_f90.html#robo148" class="indexitem" >h5freopen_f</a>
-<a href="./src/H5Fff_f90.html#robo149" class="indexitem" >h5funmount_f</a>
-<a href="./src/H5_ff_f90.html#robo150" class="indexitem" >h5garbage_collect_f</a>
-<a href="./src/H5Gff_f90.html#robo151" class="indexitem" >h5gclose_f</a>
-<a href="./src/H5Gff_f90.html#robo152" class="indexitem" >H5Gcreate_anon_f</a>
-<a href="./src/H5Gff_f90.html#robo153" class="indexitem" >h5gcreate_f</a>
-<a href="./src/H5_ff_f90.html#robo154" class="indexitem" >h5get_libversion_f</a>
-<a href="./src/H5Gff_f90.html#robo155" class="indexitem" >h5gget_comment_f</a>
-<a href="./src/H5Gff_f90.html#robo156" class="indexitem" >H5Gget_create_plist_f</a>
-<a href="./src/H5Gff_f90.html#robo157" class="indexitem" >h5gget_info_by_idx_f</a>
-<a href="./src/H5Gff_f90.html#robo158" class="indexitem" >h5gget_info_by_name_f</a>
-<a href="./src/H5Gff_f90.html#robo159" class="indexitem" >h5gget_info_f</a>
-<a href="./src/H5Gff_f90.html#robo160" class="indexitem" >h5gget_linkval_f</a>
-<a href="./src/H5Gff_f90.html#robo161" class="indexitem" >h5gget_obj_info_idx_f</a>
-<a href="./src/H5Gff_f90.html#robo162" class="indexitem" >h5glink2_f</a>
-<a href="./src/H5Gff_f90.html#robo163" class="indexitem" >h5glink_f</a>
-<a href="./src/H5Gff_f90.html#robo164" class="indexitem" >h5gmove2_f</a>
-<a href="./src/H5Gff_f90.html#robo165" class="indexitem" >h5gmove_f</a>
-<a href="./src/H5Gff_f90.html#robo166" class="indexitem" >h5gn_members_f</a>
-<a href="./src/H5Gff_f90.html#robo167" class="indexitem" >h5gopen_f</a>
-<a href="./src/H5Gff_f90.html#robo168" class="indexitem" >h5gset_comment_f</a>
-<a href="./src/H5Gff_f90.html#robo169" class="indexitem" >h5gunlink_f</a>
-<a href="./src/H5Iff_f90.html#robo170" class="indexitem" >h5idec_ref_f</a>
-<a href="./src/H5Iff_f90.html#robo171" class="indexitem" >h5iget_file_id_f</a>
-<a href="./src/H5Iff_f90.html#robo172" class="indexitem" >h5iget_name_f</a>
-<a href="./src/H5Iff_f90.html#robo173" class="indexitem" >h5iget_ref_f</a>
-<a href="./src/H5Iff_f90.html#robo174" class="indexitem" >h5iget_type_f</a>
-<a href="./src/H5Iff_f90.html#robo175" class="indexitem" >h5iinc_ref_f</a>
-<a href="./src/H5Iff_f90.html#robo176" class="indexitem" >h5iis_valid_f</a>
-<a href="./src/H5Lff_f90.html#robo178" class="indexitem" >h5lcopy_f</a>
-<a href="./src/H5Lff_f90.html#robo179" class="indexitem" >H5Lcreate_external_f</a>
-<a href="./src/H5Lff_f90.html#robo180" class="indexitem" >H5Lcreate_hard_f</a>
-<a href="./src/H5Lff_f90.html#robo181" class="indexitem" >H5Lcreate_soft_f</a>
-<a href="./src/H5Lff_f90.html#robo182" class="indexitem" >h5ldelete_by_idx_f</a>
-<a href="./src/H5Lff_f90.html#robo183" class="indexitem" >h5ldelete_f</a>
-<a href="./src/H5Lff_f90.html#robo184" class="indexitem" >H5Lexists_f</a>
-<a href="./src/H5Lff_f90.html#robo185" class="indexitem" >h5lget_info_by_idx_f</a>
-<a href="./src/H5Lff_f90.html#robo186" class="indexitem" >h5lget_info_f</a>
-<a href="./src/H5Lff_f90.html#robo187" class="indexitem" >h5lget_name_by_idx_f</a>
-<a href="./src/H5Lff_f90.html#robo188" class="indexitem" >h5lis_registered_f</a>
-<a href="./src/H5Lff_F03_f90.html#robo189" class="indexitem" >h5literate_by_name_f</a>
-<a href="./src/H5Lff_F03_f90.html#robo190" class="indexitem" >h5literate_f</a>
-<a href="./src/H5Lff_f90.html#robo191" class="indexitem" >h5lmove_f</a>
-<a href="./src/H5Off_f90.html#robo193" class="indexitem" >h5oclose_f</a>
-<a href="./src/H5Off_f90.html#robo195" class="indexitem" >h5olink_f</a>
-<a href="./src/H5Off_f90.html#robo196" class="indexitem" >h5oopen_f</a>
-<a href="./src/H5Off_f90.html#robo197" class="indexitem" >h5open_by_addr_f</a>
-<a href="./src/H5_ff_f90.html#robo198" class="indexitem" >h5open_f</a>
-<a href="./src/H5Off_F03_f90.html#robo199" class="indexitem" >h5ovisit_f</a>
-<a href="./src/H5Pff_f90.html#robo200" class="indexitem" >h5pall_filters_avail_f</a>
-<a href="./src/H5Pff_f90.html#robo201" class="indexitem" >h5pclose_class_f</a>
-<a href="./src/H5Pff_f90.html#robo202" class="indexitem" >h5pclose_f</a>
-<a href="./src/H5Pff_f90.html#robo203" class="indexitem" >h5pcopy_f</a>
-<a href="./src/H5Pff_f90.html#robo204" class="indexitem" >h5pcopy_prop_f</a>
-<a href="./src/H5Pff_F03_f90.html#robo205" class="indexitem" >h5pcreate_class_f</a>
-<a href="./src/H5Pff_F90_f90.html#robo206" class="indexitem" >h5pcreate_class_f</a>
-<a href="./src/H5Pff_f90.html#robo207" class="indexitem" >h5pcreate_f</a>
-<a href="./src/H5Pff_f90.html#robo208" class="indexitem" >h5pequal_f</a>
-<a href="./src/H5Pff_f90.html#robo209" class="indexitem" >h5pexist_f</a>
-<a href="./src/H5Pff_f90.html#robo210" class="indexitem" >h5pfill_value_defined_f</a>
-<a href="./src/H5Pff_f90.html#robo211" class="indexitem" >h5pget_alignment_f</a>
-<a href="./src/H5Pff_f90.html#robo212" class="indexitem" >h5pget_alloc_time_f</a>
-<a href="./src/H5Pff_f90.html#robo213" class="indexitem" >H5Pget_attr_creation_order_f</a>
-<a href="./src/H5Pff_f90.html#robo214" class="indexitem" >H5Pget_attr_phase_change_f</a>
-<a href="./src/H5Pff_f90.html#robo215" class="indexitem" >h5pget_btree_ratios_f</a>
-<a href="./src/H5Pff_f90.html#robo216" class="indexitem" >h5pget_buffer_f</a>
-<a href="./src/H5Pff_f90.html#robo217" class="indexitem" >h5pget_cache_f</a>
-<a href="./src/H5Pff_F03_f90.html#robo218" class="indexitem" >h5pget_char</a>
-<a href="./src/H5Pff_F90_f90.html#robo219" class="indexitem" >h5pget_char</a>
-<a href="./src/H5Pff_f90.html#robo220" class="indexitem" >H5Pget_char_encoding_f</a>
-<a href="./src/H5Pff_f90.html#robo221" class="indexitem" >H5Pget_chunk_cache_f</a>
-<a href="./src/H5Pff_f90.html#robo222" class="indexitem" >h5pget_chunk_f</a>
-<a href="./src/H5Pff_f90.html#robo223" class="indexitem" >h5pget_class_f</a>
-<a href="./src/H5Pff_f90.html#robo224" class="indexitem" >h5pget_class_name_f</a>
-<a href="./src/H5Pff_f90.html#robo225" class="indexitem" >h5pget_class_parent_f</a>
-<a href="./src/H5Pff_f90.html#robo226" class="indexitem" >h5pget_copy_object_f</a>
-<a href="./src/H5Pff_f90.html#robo227" class="indexitem" >H5Pget_create_inter_group_f</a>
-<a href="./src/H5Pff_f90.html#robo228" class="indexitem" >h5pget_data_transform_f</a>
-<a href="./src/H5Pff_F90_f90.html#robo229" class="indexitem" >h5pget_double</a>
-<a href="./src/H5Pff_f90.html#robo230" class="indexitem" >h5pget_driver_f</a>
-<a href="./src/H5FDmpioff_f90.html#robo231" class="indexitem" >h5pget_dxpl_mpio_f</a>
-<a href="./src/H5Pff_f90.html#robo232" class="indexitem" >h5pget_edc_check_f</a>
-<a href="./src/H5Pff_f90.html#robo233" class="indexitem" >H5Pget_est_link_info_f</a>
-<a href="./src/H5Pff_f90.html#robo234" class="indexitem" >h5pget_external_count_f</a>
-<a href="./src/H5Pff_f90.html#robo235" class="indexitem" >h5pget_external_f</a>
-<a href="./src/H5Pff_f90.html#robo236" class="indexitem" >h5pget_fapl_core_f</a>
-<a href="./src/H5Pff_f90.html#robo237" class="indexitem" >h5pget_fapl_direct_f</a>
-<a href="./src/H5Pff_f90.html#robo238" class="indexitem" >h5pget_fapl_family_f</a>
-<a href="./src/H5FDmpioff_f90.html#robo239" class="indexitem" >h5pget_fapl_mpio_f</a>
-<a href="./src/H5FDmpioff_f90.html#robo240" class="indexitem" >h5pget_fapl_mpiposix_f</a>
-<a href="./src/H5Pff_f90.html#robo241" class="indexitem" >h5pget_fapl_multi_f</a>
-<a href="./src/H5Pff_f90.html#robo242" class="indexitem" >h5pget_fclose_degree_f</a>
-<a href="./src/H5Pff_f90.html#robo243" class="indexitem" >h5pget_fill_time_f</a>
-<a href="./src/H5Pff_f90.html#robo244" class="indexitem" >h5pget_filter_by_id_f</a>
-<a href="./src/H5Pff_f90.html#robo245" class="indexitem" >h5pget_filter_f</a>
-<a href="./src/H5Pff_f90.html#robo246" class="indexitem" >h5pget_gc_references_f</a>
-<a href="./src/H5Pff_F03_f90.html#robo247" class="indexitem" >h5pget_integer</a>
-<a href="./src/H5Pff_F90_f90.html#robo248" class="indexitem" >h5pget_integer</a>
-<a href="./src/H5Pff_f90.html#robo249" class="indexitem" >h5pget_istore_k_f</a>
-<a href="./src/H5Pff_f90.html#robo250" class="indexitem" >h5pget_layout_f</a>
-<a href="./src/H5Pff_f90.html#robo251" class="indexitem" >H5Pget_link_creation_order_f</a>
-<a href="./src/H5Pff_f90.html#robo252" class="indexitem" >H5Pget_link_phase_change_f</a>
-<a href="./src/H5Pff_f90.html#robo253" class="indexitem" >H5Pget_local_heap_size_hint_f</a>
-<a href="./src/H5Pff_f90.html#robo254" class="indexitem" >h5pget_meta_block_size_f</a>
-<a href="./src/H5Pff_f90.html#robo255" class="indexitem" >h5pget_nfilters_f</a>
-<a href="./src/H5Pff_f90.html#robo256" class="indexitem" >h5pget_nlinks_f</a>
-<a href="./src/H5Pff_f90.html#robo257" class="indexitem" >h5pget_npros_f</a>
-<a href="./src/H5Pff_f90.html#robo258" class="indexitem" >H5Pget_obj_track_times_f</a>
-<a href="./src/H5Pff_f90.html#robo259" class="indexitem" >h5pget_preserve_f</a>
-<a href="./src/H5Pff_F90_f90.html#robo260" class="indexitem" >h5pget_real</a>
-<a href="./src/H5Pff_F03_f90.html#robo261" class="indexitem" >h5pget_real</a>
-<a href="./src/H5Pff_f90.html#robo262" class="indexitem" >h5pget_sec2_f</a>
-<a href="./src/H5Pff_f90.html#robo263" class="indexitem" >h5pget_sieve_buf_size_f</a>
-<a href="./src/H5Pff_f90.html#robo264" class="indexitem" >h5pget_size_f</a>
-<a href="./src/H5Pff_f90.html#robo265" class="indexitem" >h5pget_sizes_f</a>
-<a href="./src/H5Pff_f90.html#robo266" class="indexitem" >h5pget_small_data_block_size_f</a>
-<a href="./src/H5Pff_f90.html#robo267" class="indexitem" >h5pget_split_f</a>
-<a href="./src/H5Pff_f90.html#robo268" class="indexitem" >h5pget_stdio_f</a>
-<a href="./src/H5Pff_f90.html#robo269" class="indexitem" >h5pget_sym_k_f</a>
-<a href="./src/H5Pff_f90.html#robo270" class="indexitem" >h5pget_userblock_f</a>
-<a href="./src/H5Pff_f90.html#robo271" class="indexitem" >h5pget_version_f</a>
-<a href="./src/H5Pff_F03_f90.html#robo273" class="indexitem" >h5pinsert_char</a>
-<a href="./src/H5Pff_F90_f90.html#robo272" class="indexitem" >h5pinsert_char</a>
-<a href="./src/H5Pff_F90_f90.html#robo275" class="indexitem" >h5pinsert_double</a>
-<a href="./src/H5Pff_F03_f90.html#robo274" class="indexitem" >h5pinsert_double</a>
-<a href="./src/H5Pff_F90_f90.html#robo277" class="indexitem" >h5pinsert_integer</a>
-<a href="./src/H5Pff_F03_f90.html#robo276" class="indexitem" >h5pinsert_integer</a>
-<a href="./src/H5Pff_F03_f90.html#robo278" class="indexitem" >h5pinsert_ptr</a>
-<a href="./src/H5Pff_F90_f90.html#robo279" class="indexitem" >h5pinsert_real</a>
-<a href="./src/H5Pff_F03_f90.html#robo280" class="indexitem" >h5pinsert_real</a>
-<a href="./src/H5Pff_f90.html#robo281" class="indexitem" >h5pisa_class_f</a>
-<a href="./src/H5Pff_f90.html#robo282" class="indexitem" >h5pmodify_filter_f</a>
-<a href="./src/H5Pff_F03_f90.html#robo283" class="indexitem" >h5pregister_char</a>
-<a href="./src/H5Pff_F90_f90.html#robo284" class="indexitem" >h5pregister_char</a>
-<a href="./src/H5Pff_F03_f90.html#robo286" class="indexitem" >h5pregister_double</a>
-<a href="./src/H5Pff_F90_f90.html#robo285" class="indexitem" >h5pregister_double</a>
-<a href="./src/H5Pff_F90_f90.html#robo288" class="indexitem" >h5pregister_integer</a>
-<a href="./src/H5Pff_F03_f90.html#robo287" class="indexitem" >h5pregister_integer</a>
-<a href="./src/H5Pff_F03_f90.html#robo289" class="indexitem" >h5pregister_ptr</a>
-<a href="./src/H5Pff_F90_f90.html#robo290" class="indexitem" >h5pregister_real</a>
-<a href="./src/H5Pff_F03_f90.html#robo291" class="indexitem" >h5pregister_real</a>
-<a href="./src/H5Pff_f90.html#robo292" class="indexitem" >h5premove_f</a>
-<a href="./src/H5Pff_f90.html#robo293" class="indexitem" >h5premove_filter_f</a>
-<a href="./src/H5Pff_F90_f90.html#robo295" class="indexitem" >h5pset(get)fill_value_f</a>
-<a href="./src/H5Pff_F03_f90.html#robo294" class="indexitem" >h5pset(get)fill_value_f</a>
-<a href="./src/H5Pff_f90.html#robo296" class="indexitem" >h5pset_alignment_f</a>
-<a href="./src/H5Pff_f90.html#robo297" class="indexitem" >h5pset_alloc_time_f</a>
-<a href="./src/H5Pff_f90.html#robo298" class="indexitem" >H5Pset_attr_creation_order_f</a>
-<a href="./src/H5Pff_f90.html#robo299" class="indexitem" >H5Pset_attr_phase_change_f</a>
-<a href="./src/H5Pff_f90.html#robo300" class="indexitem" >h5pset_btree_ratios_f</a>
-<a href="./src/H5Pff_f90.html#robo301" class="indexitem" >h5pset_buffer_f</a>
-<a href="./src/H5Pff_f90.html#robo302" class="indexitem" >h5pset_cache_f</a>
-<a href="./src/H5Pff_F03_f90.html#robo303" class="indexitem" >h5pset_char</a>
-<a href="./src/H5Pff_F90_f90.html#robo304" class="indexitem" >h5pset_char</a>
-<a href="./src/H5Pff_f90.html#robo305" class="indexitem" >H5Pset_char_encoding_f</a>
-<a href="./src/H5Pff_f90.html#robo306" class="indexitem" >H5Pset_chunk_cache_f</a>
-<a href="./src/H5Pff_f90.html#robo307" class="indexitem" >h5pset_chunk_f</a>
-<a href="./src/H5Pff_f90.html#robo308" class="indexitem" >h5pset_copy_object_f</a>
-<a href="./src/H5Pff_f90.html#robo309" class="indexitem" >H5Pset_create_inter_group_f</a>
-<a href="./src/H5Pff_f90.html#robo310" class="indexitem" >h5pset_data_transform_f</a>
-<a href="./src/H5Pff_f90.html#robo311" class="indexitem" >h5pset_deflate_f</a>
-<a href="./src/H5Pff_F90_f90.html#robo312" class="indexitem" >h5pset_double</a>
-<a href="./src/H5Pff_F03_f90.html#robo313" class="indexitem" >h5pset_double</a>
-<a href="./src/H5FDmpioff_f90.html#robo314" class="indexitem" >h5pset_dxpl_mpio_f</a>
-<a href="./src/H5Pff_f90.html#robo315" class="indexitem" >h5pset_edc_check_f</a>
-<a href="./src/H5Pff_f90.html#robo316" class="indexitem" >h5pset_est_link_info_f</a>
-<a href="./src/H5Pff_f90.html#robo317" class="indexitem" >h5pset_external_f</a>
-<a href="./src/H5Pff_f90.html#robo318" class="indexitem" >h5pset_fapl_core_f</a>
-<a href="./src/H5Pff_f90.html#robo319" class="indexitem" >h5pset_fapl_direct_f</a>
-<a href="./src/H5FDmpioff_f90.html#robo320" class="indexitem" >h5pset_fapl_mpio_f</a>
-<a href="./src/H5FDmpioff_f90.html#robo321" class="indexitem" >h5pset_fapl_mpiposix_f</a>
-<a href="./src/H5Pff_f90.html#robo322" class="indexitem" >h5pset_fapl_multi_l</a>
-<a href="./src/H5Pff_f90.html#robo323" class="indexitem" >h5pset_fapl_multi_s</a>
-<a href="./src/H5Pff_f90.html#robo324" class="indexitem" >h5pset_fapl_sec2_f</a>
-<a href="./src/H5Pff_f90.html#robo325" class="indexitem" >h5pset_fapl_split_f</a>
-<a href="./src/H5Pff_f90.html#robo326" class="indexitem" >h5pset_fapl_stdio_f</a>
-<a href="./src/H5Pff_f90.html#robo327" class="indexitem" >h5pset_fclose_degree_f</a>
-<a href="./src/H5Pff_f90.html#robo328" class="indexitem" >h5pset_fill_time_f</a>
-<a href="./src/H5Pff_f90.html#robo329" class="indexitem" >h5pset_filter_f</a>
-<a href="./src/H5Pff_f90.html#robo330" class="indexitem" >h5pset_fletcher32_f</a>
-<a href="./src/H5Pff_f90.html#robo331" class="indexitem" >h5pset_gc_references_f</a>
-<a href="./src/H5Pff_f90.html#robo332" class="indexitem" >h5pset_hyper_vector_size_f</a>
-<a href="./src/H5Pff_F03_f90.html#robo334" class="indexitem" >h5pset_integer</a>
-<a href="./src/H5Pff_F90_f90.html#robo333" class="indexitem" >h5pset_integer</a>
-<a href="./src/H5Pff_f90.html#robo335" class="indexitem" >h5pset_istore_k_f</a>
-<a href="./src/H5Pff_f90.html#robo336" class="indexitem" >h5pset_layout_f</a>
-<a href="./src/H5Pff_f90.html#robo337" class="indexitem" >H5Pset_libver_bounds_f</a>
-<a href="./src/H5Pff_f90.html#robo338" class="indexitem" >H5Pset_link_creation_order_f</a>
-<a href="./src/H5Pff_f90.html#robo339" class="indexitem" >h5pset_link_phase_change_f</a>
-<a href="./src/H5Pff_f90.html#robo340" class="indexitem" >H5Pset_local_heap_size_hint_f</a>
-<a href="./src/H5Pff_f90.html#robo341" class="indexitem" >H5Pset_nbit_f</a>
-<a href="./src/H5Pff_f90.html#robo342" class="indexitem" >h5pset_nlinks_f</a>
-<a href="./src/H5Pff_f90.html#robo343" class="indexitem" >H5Pset_obj_track_times_f</a>
-<a href="./src/H5Pff_f90.html#robo344" class="indexitem" >h5pset_preserve_f</a>
-<a href="./src/H5Pff_F90_f90.html#robo346" class="indexitem" >h5pset_real</a>
-<a href="./src/H5Pff_F03_f90.html#robo345" class="indexitem" >h5pset_real</a>
-<a href="./src/H5Pff_f90.html#robo347" class="indexitem" >h5pset_scaleoffset_f</a>
-<a href="./src/H5Pff_f90.html#robo348" class="indexitem" >H5Pset_shared_mesg_index_f</a>
-<a href="./src/H5Pff_f90.html#robo349" class="indexitem" >H5Pset_shared_mesg_nindexes_f</a>
-<a href="./src/H5Pff_f90.html#robo350" class="indexitem" >h5pset_shuffle_f</a>
-<a href="./src/H5Pff_f90.html#robo351" class="indexitem" >h5pset_sieve_buf_size_f</a>
-<a href="./src/H5Pff_f90.html#robo352" class="indexitem" >h5pset_sizes_f</a>
-<a href="./src/H5Pff_f90.html#robo353" class="indexitem" >h5pset_small_data_block_size_f</a>
-<a href="./src/H5Pff_f90.html#robo354" class="indexitem" >h5pset_sym_k_f</a>
-<a href="./src/H5Pff_f90.html#robo355" class="indexitem" >h5pset_szip_f</a>
-<a href="./src/H5Pff_f90.html#robo356" class="indexitem" >h5pset_userblock_f</a>
-<a href="./src/H5Pff_f90.html#robo357" class="indexitem" >h5punregister_f</a>
-<a href="./src/H5Rff_F03_f90.html#robo358" class="indexitem" >h5rcreate_object_f</a>
-<a href="./src/H5Rff_F90_f90.html#robo359" class="indexitem" >h5rcreate_object_f</a>
-<a href="./src/H5Rff_F03_f90.html#robo360" class="indexitem" >h5rcreate_ptr_f</a>
-<a href="./src/H5Rff_F03_f90.html#robo362" class="indexitem" >h5rcreate_region_f</a>
-<a href="./src/H5Rff_F90_f90.html#robo361" class="indexitem" >h5rcreate_region_f</a>
-<a href="./src/H5Rff_F03_f90.html#robo363" class="indexitem" >h5rdereference_object_f</a>
-<a href="./src/H5Rff_F90_f90.html#robo364" class="indexitem" >h5rdereference_object_f</a>
-<a href="./src/H5Rff_F03_f90.html#robo365" class="indexitem" >h5rdereference_ptr_f</a>
-<a href="./src/H5Rff_F90_f90.html#robo367" class="indexitem" >h5rdereference_region_f</a>
-<a href="./src/H5Rff_F03_f90.html#robo366" class="indexitem" >h5rdereference_region_f</a>
-<a href="./src/H5Rff_F03_f90.html#robo369" class="indexitem" >h5rget_name_object_f</a>
-<a href="./src/H5Rff_F90_f90.html#robo368" class="indexitem" >h5rget_name_object_f</a>
-<a href="./src/H5Rff_F03_f90.html#robo370" class="indexitem" >h5rget_name_ptr_f</a>
-<a href="./src/H5Rff_F90_f90.html#robo371" class="indexitem" >h5rget_name_region_f</a>
-<a href="./src/H5Rff_F03_f90.html#robo372" class="indexitem" >h5rget_name_region_f</a>
-<a href="./src/H5Rff_F03_f90.html#robo373" class="indexitem" >h5rget_obj_type_f</a>
-<a href="./src/H5Rff_f90.html#robo374" class="indexitem" >h5rget_object_type_obj_f</a>
-<a href="./src/H5Rff_f90.html#robo375" class="indexitem" >h5rget_region_region_f</a>
-<a href="./src/H5Sff_f90.html#robo376" class="indexitem" >h5sclose_f</a>
-<a href="./src/H5Sff_f90.html#robo377" class="indexitem" >h5scopy_f</a>
-<a href="./src/H5Sff_f90.html#robo378" class="indexitem" >h5screate_f</a>
-<a href="./src/H5Sff_f90.html#robo379" class="indexitem" >h5screate_simple_f</a>
-<a href="./src/H5Sff_f90.html#robo380" class="indexitem" >H5Sdecode_f</a>
-<a href="./src/H5Sff_f90.html#robo381" class="indexitem" >H5Sencode_f</a>
-<a href="./src/H5Sff_f90.html#robo382" class="indexitem" >h5sextent_copy_f</a>
-<a href="./src/H5Sff_f90.html#robo383" class="indexitem" >h5sextent_equal_f</a>
-<a href="./src/H5Sff_f90.html#robo384" class="indexitem" >h5sget_select_bounds_f</a>
-<a href="./src/H5Sff_f90.html#robo385" class="indexitem" >h5sget_select_elem_npoints_f</a>
-<a href="./src/H5Sff_f90.html#robo386" class="indexitem" >h5sget_select_elem_pointlist_f</a>
-<a href="./src/H5Sff_f90.html#robo387" class="indexitem" >h5sget_select_hyper_blocklist_f</a>
-<a href="./src/H5Sff_f90.html#robo388" class="indexitem" >h5sget_select_hyper_nblocks_f</a>
-<a href="./src/H5Sff_f90.html#robo389" class="indexitem" >h5sget_select_npoints_f</a>
-<a href="./src/H5Sff_f90.html#robo390" class="indexitem" >h5sget_select_type_f</a>
-<a href="./src/H5Sff_f90.html#robo391" class="indexitem" >h5sget_simple_extent_dims_f</a>
-<a href="./src/H5Sff_f90.html#robo392" class="indexitem" >h5sget_simple_extent_ndims_f</a>
-<a href="./src/H5Sff_f90.html#robo393" class="indexitem" >h5sget_simple_extent_npoints_f</a>
-<a href="./src/H5Sff_f90.html#robo394" class="indexitem" >h5sget_simple_extent_type_f</a>
-<a href="./src/H5Sff_f90.html#robo395" class="indexitem" >h5sis_simple_f</a>
-<a href="./src/H5Sff_f90.html#robo396" class="indexitem" >h5soffset_simple_f</a>
-<a href="./src/H5Sff_f90.html#robo397" class="indexitem" >h5sselect_all_f</a>
-<a href="./src/H5Sff_f90.html#robo398" class="indexitem" >h5sselect_elements_f</a>
-<a href="./src/H5Sff_f90.html#robo399" class="indexitem" >h5sselect_hyperslab_f</a>
-<a href="./src/H5Sff_f90.html#robo400" class="indexitem" >h5sselect_none_f</a>
-<a href="./src/H5Sff_f90.html#robo401" class="indexitem" >h5sselect_valid_f</a>
-<a href="./src/H5Sff_f90.html#robo402" class="indexitem" >h5sset_extent_none_f</a>
-<a href="./src/H5Sff_f90.html#robo403" class="indexitem" >h5sset_extent_simple_f</a>
-<a href="./src/H5Tff_f90.html#robo404" class="indexitem" >h5tarray_create_f</a>
-<a href="./src/H5Tff_f90.html#robo405" class="indexitem" >h5tclose_f</a>
-<a href="./src/H5Tff_f90.html#robo406" class="indexitem" >h5tcommit_anon_f</a>
-<a href="./src/H5Tff_f90.html#robo407" class="indexitem" >h5tcommit_f</a>
-<a href="./src/H5Tff_f90.html#robo408" class="indexitem" >h5tcommitted_f</a>
-<a href="./src/H5Tff_f90.html#robo409" class="indexitem" >h5tcompiler_conv_f</a>
-<a href="./src/H5Tff_F03_f90.html#robo410" class="indexitem" >H5Tconvert_f</a>
-<a href="./src/H5Tff_f90.html#robo411" class="indexitem" >h5tcopy_f</a>
-<a href="./src/H5Tff_f90.html#robo412" class="indexitem" >h5tcreate_f</a>
-<a href="./src/H5Tff_f90.html#robo413" class="indexitem" >H5Tdecode_f</a>
-<a href="./src/H5Tff_f90.html#robo414" class="indexitem" >h5tenaum_insert_f</a>
-<a href="./src/H5Tff_f90.html#robo415" class="indexitem" >H5Tencode_f</a>
-<a href="./src/H5Tff_f90.html#robo416" class="indexitem" >h5tenum_create_f</a>
-<a href="./src/H5Tff_f90.html#robo417" class="indexitem" >h5tenum_nameof_f</a>
-<a href="./src/H5Tff_f90.html#robo418" class="indexitem" >h5tenum_valuof_f</a>
-<a href="./src/H5Tff_f90.html#robo419" class="indexitem" >h5tequal_f</a>
-<a href="./src/H5Tff_f90.html#robo422" class="indexitem" >h5tget_array_dims_f</a>
-<a href="./src/H5Tff_f90.html#robo423" class="indexitem" >h5tget_array_ndims_f</a>
-<a href="./src/H5Tff_f90.html#robo424" class="indexitem" >h5tget_class_f</a>
-<a href="./src/H5Tff_f90.html#robo425" class="indexitem" >h5tget_create_plist_f</a>
-<a href="./src/H5Tff_f90.html#robo426" class="indexitem" >h5tget_cset_f</a>
-<a href="./src/H5Tff_f90.html#robo427" class="indexitem" >h5tget_ebias_f</a>
-<a href="./src/H5Tff_f90.html#robo428" class="indexitem" >h5tget_fields_f</a>
-<a href="./src/H5Tff_f90.html#robo429" class="indexitem" >h5tget_inpad_f</a>
-<a href="./src/H5Tff_f90.html#robo430" class="indexitem" >h5tget_member_class_f</a>
-<a href="./src/H5Tff_f90.html#robo431" class="indexitem" >h5tget_member_index_f</a>
-<a href="./src/H5Tff_f90.html#robo432" class="indexitem" >h5tget_member_name_f</a>
-<a href="./src/H5Tff_f90.html#robo433" class="indexitem" >h5tget_member_offset_f</a>
-<a href="./src/H5Tff_f90.html#robo434" class="indexitem" >h5tget_member_type_f</a>
-<a href="./src/H5Tff_f90.html#robo435" class="indexitem" >h5tget_member_value_f</a>
-<a href="./src/H5Tff_f90.html#robo436" class="indexitem" >h5tget_native_type_f</a>
-<a href="./src/H5Tff_f90.html#robo437" class="indexitem" >h5tget_nmembers_f</a>
-<a href="./src/H5Tff_f90.html#robo438" class="indexitem" >h5tget_norm_f</a>
-<a href="./src/H5Tff_f90.html#robo439" class="indexitem" >h5tget_offset_f</a>
-<a href="./src/H5Tff_f90.html#robo440" class="indexitem" >h5tget_order_f</a>
-<a href="./src/H5Tff_f90.html#robo441" class="indexitem" >h5tget_pad_f</a>
-<a href="./src/H5Tff_f90.html#robo442" class="indexitem" >h5tget_precision_f</a>
-<a href="./src/H5Tff_f90.html#robo443" class="indexitem" >h5tget_sign_f</a>
-<a href="./src/H5Tff_f90.html#robo444" class="indexitem" >h5tget_size_f</a>
-<a href="./src/H5Tff_f90.html#robo445" class="indexitem" >h5tget_strpad_f</a>
-<a href="./src/H5Tff_f90.html#robo446" class="indexitem" >h5tget_super_f</a>
-<a href="./src/H5Tff_f90.html#robo447" class="indexitem" >h5tget_tag_f</a>
-<a href="./src/H5Tff_f90.html#robo448" class="indexitem" >h5tinsert_f</a>
-<a href="./src/H5Tff_f90.html#robo449" class="indexitem" >h5tis_variable_str_f</a>
-<a href="./src/H5Tff_f90.html#robo450" class="indexitem" >h5topen_f</a>
-<a href="./src/H5Tff_f90.html#robo451" class="indexitem" >h5tpack_f</a>
-<a href="./src/H5Tff_f90.html#robo452" class="indexitem" >h5tset_cset_f</a>
-<a href="./src/H5Tff_f90.html#robo453" class="indexitem" >h5tset_ebias_f</a>
-<a href="./src/H5Tff_f90.html#robo454" class="indexitem" >h5tset_fields_f</a>
-<a href="./src/H5Tff_f90.html#robo455" class="indexitem" >h5tset_inpad_f</a>
-<a href="./src/H5Tff_f90.html#robo456" class="indexitem" >h5tset_norm_f</a>
-<a href="./src/H5Tff_f90.html#robo457" class="indexitem" >h5tset_offset_f</a>
-<a href="./src/H5Tff_f90.html#robo458" class="indexitem" >h5tset_order_f</a>
-<a href="./src/H5Tff_f90.html#robo459" class="indexitem" >h5tset_pad_f</a>
-<a href="./src/H5Tff_f90.html#robo460" class="indexitem" >h5tset_precision_f</a>
-<a href="./src/H5Tff_f90.html#robo461" class="indexitem" >h5tset_sign_f</a>
-<a href="./src/H5Tff_f90.html#robo462" class="indexitem" >h5tset_size_f</a>
-<a href="./src/H5Tff_f90.html#robo463" class="indexitem" >h5tset_strpad_f</a>
-<a href="./src/H5Tff_f90.html#robo464" class="indexitem" >h5tset_tag_f</a>
-<a href="./src/H5Tff_f90.html#robo465" class="indexitem" >h5tvlen_create_f</a>
-<a href="./src/H5Zff_f90.html#robo466" class="indexitem" >h5zfilter_avail_f</a>
-<a href="./src/H5Zff_f90.html#robo467" class="indexitem" >h5zget_filter_info_f</a>
-<a href="./src/H5Zff_f90.html#robo468" class="indexitem" >h5zunregister_f</a>
-<h2><a href="#A">A</a> - <a href="#B">B</a> - <a href="#C">C</a> - <a href="#D">D</a> - <a href="#E">E</a> - <a href="#F">F</a> - <a href="#G">G</a> - <a href="#H">H</a> - <a href="#I">I</a> - <a href="#J">J</a> - <a href="#K">K</a> - <a href="#L">L</a> - <a href="#M">M</a> - <a href="#N">N</a> - <a href="#O">O</a> - <a href="#P">P</a> - <a href="#Q">Q</a> - <a href="#R">R</a> - <a href="#S">S</a> - <a href="#T">T</a> - <a href="#U">U</a> - <a href="#V">V</a> - <a href="#W">W</a> - <a href="#X">X</a> - <a href="#Y">Y</a> - <a href="#Z">Z</a> - <a href="#0">0</a> - <a href="#1">1</a> - <a href="#2">2</a> - <a href="#3">3</a> - <a href="#4">4</a> - <a href="#5">5</a> - <a href="#6">6</a> - <a href="#7">7</a> - <a href="#8">8</a> - <a href="#9">9</a></h2>
-</div> <!-- content -->
-<div id="footer">
-<p>Generated from ./ on Sun Aug 14 2011 22:49:38
-</p>
-</div> <!-- footer -->
-</body>
-</html>
diff --git a/fortran/doc/DevelGuide/robodoc.css b/fortran/doc/DevelGuide/robodoc.css
deleted file mode 100644
index 207a172..0000000
--- a/fortran/doc/DevelGuide/robodoc.css
+++ /dev/null
@@ -1,302 +0,0 @@
-/****h* ROBODoc/ROBODoc Cascading Style Sheet
- * FUNCTION
- * This is the default cascading style sheet for documentation
- * generated with ROBODoc.
- * You can edit this file to your own liking and then use
- * it with the option
- * --css <filename>
- *
- * This style-sheet defines the following layout
- * +----------------------------------------+
- * | logo |
- * +----------------------------------------+
- * | extra |
- * +----------------------------------------+
- * | | navi- |
- * | | gation |
- * | content | |
- * | | |
- * +----------------------------------------+
- * | footer |
- * +----------------------------------------+
- *
- * This style-sheet is based on a style-sheet that was automatically
- * generated with the Strange Banana stylesheet generator.
- * See http://www.strangebanana.com/generator.aspx
- *
- ******
- * $Id: html_generator.c,v 1.94 2008/06/17 11:49:27 gumpu Exp $
- */
-
-body
-{
- background-color: rgb(255,255,255);
- color: rgb(98,84,55);
- font-family: Arial, serif;
- border-color: rgb(226,199,143);
-}
-
-pre
-{
- font-family: monospace;
- margin: 15px;
- padding: 5px;
- white-space: pre;
- color: #000;
-}
-
-pre.source
-{
- background-color: #ffe;
- border: dashed #aa9 1px;
-}
-
-p
-{
- margin:15px;
-}
-
-p.item_name
-{
- font-weight: bolder;
- margin:5px;
- font-size: 120%;
-}
-
-#content
-{
- font-size: 100%;
- color: rgb(0,0,0);
- background-color: rgb(255,255,255);
- border-left-width: 0px;
- border-right-width: 0px;
- border-top-width: 0px;
- border-bottom-width: 0px;
- border-left-style: none;
- border-right-style: none;
- border-top-style: none;
- border-bottom-style: none;
- padding: 40px 31px 14px 17px;
- border-color: rgb(0,0,0);
- text-align: justify;
-}
-
-#navigation
-{
- background-color: rgb(98,84,55);
- color: rgb(230,221,202);
- font-family: "Times New Roman", serif;
- font-style: normal;
- border-color: rgb(0,0,0);
-}
-
-a.menuitem
-{
- font-size: 120%;
- background-color: rgb(0,0,0);
- color: rgb(195,165,100);
- font-variant: normal;
- text-transform: none;
- font-weight: normal;
- padding: 1px 8px 3px 1px;
- margin-left: 5px;
- margin-right: 5px;
- margin-top: 5px;
- margin-bottom: 5px;
- border-color: rgb(159,126,57);
- text-align: right;
-}
-
-#logo, #logo a
-{
- font-size: 130%;
- background-color: rgb(198,178,135);
- color: rgb(98,84,55);
- font-family: Georgia, serif;
- font-style: normal;
- font-variant: normal;
- text-transform: none;
- font-weight: bold;
- padding: 20px 18px 20px 18px;
- border-color: rgb(255,255,255);
- text-align: right;
-}
-
-#extra, #extra a
-{
- font-size: 128%;
- background-color: rgb(0,0,0);
- color: rgb(230,221,202);
- font-style: normal;
- font-variant: normal;
- text-transform: none;
- font-weight: normal;
- border-left-width: 0px;
- border-right-width: 0px;
- border-top-width: 0px;
- border-bottom-width: 0px;
- border-left-style: none;
- border-right-style: none;
- border-top-style: none;
- border-bottom-style: none;
- padding: 12px 12px 12px 12px;
- border-color: rgb(195,165,100);
- text-align: center;
-}
-
-#content a
-{
- color: rgb(159,126,57);
- text-decoration: none;
-}
-
-#content a:hover, #content a:active
-{
- color: rgb(255,255,255);
- background-color: rgb(159,126,57);
-}
-
-a.indexitem
-{
- display: block;
-}
-
-h1, h2, h3, h4, h5, h6
-{
- background-color: rgb(221,221,221);
- font-family: Arial, serif;
- font-style: normal;
- font-variant: normal;
- text-transform: none;
- font-weight: normal;
-}
-
-h1
-{
- font-size: 151%;
-}
-
-h2
-{
- font-size: 142%;
-}
-
-h3
-{
- font-size: 133%;
-}
-
-h4
-{
- font-size: 124%;
-}
-
-h5
-{
- font-size: 115%;
-}
-
-h6
-{
- font-size: 106%;
-}
-
-#navigation a
-{
- text-decoration: none;
-}
-
-.menuitem:hover
-{
- background-color: rgb(195,165,100);
- color: rgb(0,0,0);
-}
-
-#extra a
-{
- text-decoration: none;
-}
-
-#logo a
-{
- text-decoration: none;
-}
-
-#extra a:hover
-{
-}
-
-/* layout */
-#navigation
-{
- width: 22%;
- position: relative;
- top: 0;
- right: 0;
- float: right;
- text-align: center;
- margin-left: 10px;
-}
-
-.menuitem {width: auto;}
-#content {width: auto;}
-.menuitem {display: block;}
-
-
-div#footer
-{
- background-color: rgb(198,178,135);
- color: rgb(98,84,55);
- clear: left;
- width: 100%;
- font-size: 71%;
-}
-
-div#footer a
-{
- background-color: rgb(198,178,135);
- color: rgb(98,84,55);
-}
-
-div#footer p
-{
- margin:0;
- padding:5px 10px
-}
-
-span.keyword
-{
- color: #00F;
-}
-
-span.comment
-{
- color: #080;
-}
-
-span.quote
-{
- color: #F00;
-}
-
-span.squote
-{
- color: #F0F;
-}
-
-span.sign
-{
- color: #008B8B;
-}
-
-span.line_number
-{
- color: #808080;
-}
-
-@media print
-{
- #navigation {display: none;}
- #content {padding: 0px;}
- #content a {text-decoration: underline;}
-}
diff --git a/fortran/doc/DevelGuide/src/H5Af_c.html b/fortran/doc/DevelGuide/src/H5Af_c.html
deleted file mode 100644
index 7fcecc1..0000000
--- a/fortran/doc/DevelGuide/src/H5Af_c.html
+++ /dev/null
@@ -1,41 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-type" content="text/html; charset=ISO-8859-1" />
-<link rel="stylesheet" href="../robodoc.css" type="text/css" />
-<title>./src/H5Af.c</title>
-<!-- Source: ./src/H5Af.c -->
-</head>
-<body>
-<div id="logo">
-<a name="robo_top_of_doc">HDF5 FORTRAN Developer's Guide</a>
-</div> <!-- logo -->
-<div id="navigation">
-<a class="menuitem" href="../toc_index.html#top">Table of Contents</a>
-<a class="menuitem" href="../robo_sourcefiles.html#top">Sourcefiles</a>
-<a class="menuitem" href="../masterindex.html#top">Index</a>
-<a class="menuitem" href="../robo_functions.html#top">Functions</a>
-<a class="menuitem" href="../robo_modules.html#top">Modules</a>
-<a class="menuitem" href="../robo_procedures.html#top">Procedures</a>
-<a class="menuitem" href="../robo_subroutines.html#top">Subroutines</a>
-</div> <!-- navigation -->
-<div id="content">
-<hr />
-<a name="H5Af2fH5Af"></a>
-<a name="robo30"></a><h2>H5Af</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="../robo_modules.html#robo_top_of_doc">Modules</a> ]</p>
-<p class="item_name">PURPOSE</p>
-<pre> This file contains C stubs for <a href="./H5Aff_f90.html#robo27">H5A</a> Fortran APIs
-</pre>
-
-</div> <!-- content -->
-<div id="footer">
-<p>Generated from ./src/H5Af.c on Sun Aug 14 2011 22:49:38
-</p>
-</div> <!-- footer -->
-</body>
-</html>
diff --git a/fortran/doc/DevelGuide/src/H5Aff_F03_f90.html b/fortran/doc/DevelGuide/src/H5Aff_F03_f90.html
deleted file mode 100644
index 9e503f4..0000000
--- a/fortran/doc/DevelGuide/src/H5Aff_F03_f90.html
+++ /dev/null
@@ -1,130 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-type" content="text/html; charset=ISO-8859-1" />
-<link rel="stylesheet" href="../robodoc.css" type="text/css" />
-<title>./src/H5Aff_F03.f90</title>
-<!-- Source: ./src/H5Aff_F03.f90 -->
-</head>
-<body>
-<div id="logo">
-<a name="robo_top_of_doc">HDF5 FORTRAN Developer's Guide</a>
-</div> <!-- logo -->
-<div id="navigation">
-<a class="menuitem" href="../toc_index.html#top">Table of Contents</a>
-<a class="menuitem" href="../robo_sourcefiles.html#top">Sourcefiles</a>
-<a class="menuitem" href="../masterindex.html#top">Index</a>
-<a class="menuitem" href="../robo_functions.html#top">Functions</a>
-<a class="menuitem" href="../robo_modules.html#top">Modules</a>
-<a class="menuitem" href="../robo_procedures.html#top">Procedures</a>
-<a class="menuitem" href="../robo_subroutines.html#top">Subroutines</a>
-</div> <!-- navigation -->
-<div id="content">
-<hr />
-<a name="ROBODoc2fH5A2028F0329"></a>
-<a name="robo28"></a><h2>H5A (F03)</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="../robo_modules.html#robo_top_of_doc">Modules</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> H5A_PROVISIONAL
-</pre>
-<p class="item_name">FILE</p>
-<pre> src/fortran/src/<a href="#robo_top_of_doc">H5Aff_F03.f90</a>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> This file contains Fortran 90 and Fortran 2003 interfaces for <a href="./H5Aff_f90.html#robo27">H5A</a> functions.
- It contains the same functions as <a href="./H5Aff_F90_f90.html#robo_top_of_doc">H5Aff_F90.f90</a> but includes the
- Fortran 2003 functions and the interface listings. This file will be compiled
- instead of <a href="./H5Aff_F90_f90.html#robo_top_of_doc">H5Aff_F90.f90</a> if Fortran 2003 functions are enabled.
-</pre>
-<p class="item_name">NOTES</p>
-<pre> (A) C_LOC and character strings according to the Fortran 2003 standard:
-
- 15.1.2.5 C_LOC(X)
-
- Argument. X shall either
-
- (1) have interoperable type and type parameters and be
- (a) a variable that has the TARGET attribute and is interoperable,
- (b) an allocated allocatable variable that has the TARGET attribute
- and is not an array of zero size, or
- (c) an associated scalar pointer, or
- (2) be a nonpolymorphic scalar, have no length type parameters, and be
- (a) a nonallocatable, nonpointer variable that has the TARGET attribute,
- (b) an allocated allocatable variable that has the TARGET attribute, or
- (c) an associated pointer.
-
- - When X is a character, for interoperability the standard is:
-
- 15.2.1 Interoperability of intrinsic types
-
- ...if the type is character, interoperability also requires that the length type parameter
- be omitted or be specified by an initialization expression whose value is one.
-
- THEREFORE compilers that have not extended the standard require
-
- CHARACTER(LEN=1), TARGET :: chr
- or
- CHARACTER, TARGET :: chr
-
- (B)
- *** IMPORTANT ***
- If you add a new <a href="./H5Aff_f90.html#robo27">H5A</a> function you must add the function name to the
- Windows dll file 'hdf5_fortrandll.def' in the fortran/src directory.
- This is needed for Windows based operating systems.
-</pre>
-
-<hr />
-<a name="H5A2028F03292fh5aread5ff"></a>
-<a name="robo108"></a><h2>h5aread_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo28">H5A (F03)</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5aread_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Reads an attribute.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> attr_id - attribute identifier
- memtype_id - attribute memory type identifier
- dims - 1D array of size 7, stores sizes of the
- - buf array dimensions.
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> buf - buffer to read attribute data in
- hdferr - Returns 0 if successful and -1 if fails
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- August 12, 1999
-</pre>
-<p class="item_name">HISTORY</p>
-<pre> Explicit Fortran interfaces are added for
- called C functions (it is needed for Windows
- port). February 27, 2001
-
- dims parameter was added to make code portable;
- Aprile 4, 2001
-
- Changed buf intent to INOUT to be consistant
- with how the C functions handles it. The pg
- compiler will return 0 if a buf value is not set.
- February, 2008
-</pre>
-<p class="item_name">NOTES</p>
-<pre> This function is overloaded to write INTEGER,
- REAL, DOUBLE PRECISION and CHARACTER buffers
- up to 7 dimensions.
-</pre>
-
-</div> <!-- content -->
-<div id="footer">
-<p>Generated from ./src/H5Aff_F03.f90 on Sun Aug 14 2011 22:49:38
-</p>
-</div> <!-- footer -->
-</body>
-</html>
diff --git a/fortran/doc/DevelGuide/src/H5Aff_F90_f90.html b/fortran/doc/DevelGuide/src/H5Aff_F90_f90.html
deleted file mode 100644
index aa01b49..0000000
--- a/fortran/doc/DevelGuide/src/H5Aff_F90_f90.html
+++ /dev/null
@@ -1,56 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-type" content="text/html; charset=ISO-8859-1" />
-<link rel="stylesheet" href="../robodoc.css" type="text/css" />
-<title>./src/H5Aff_F90.f90</title>
-<!-- Source: ./src/H5Aff_F90.f90 -->
-</head>
-<body>
-<div id="logo">
-<a name="robo_top_of_doc">HDF5 FORTRAN Developer's Guide</a>
-</div> <!-- logo -->
-<div id="navigation">
-<a class="menuitem" href="../toc_index.html#top">Table of Contents</a>
-<a class="menuitem" href="../robo_sourcefiles.html#top">Sourcefiles</a>
-<a class="menuitem" href="../masterindex.html#top">Index</a>
-<a class="menuitem" href="../robo_functions.html#top">Functions</a>
-<a class="menuitem" href="../robo_modules.html#top">Modules</a>
-<a class="menuitem" href="../robo_procedures.html#top">Procedures</a>
-<a class="menuitem" href="../robo_subroutines.html#top">Subroutines</a>
-</div> <!-- navigation -->
-<div id="content">
-<hr />
-<a name="ROBODoc2fH5A2028F9029"></a>
-<a name="robo29"></a><h2>H5A (F90)</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="../robo_modules.html#robo_top_of_doc">Modules</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> H5A_PROVISIONAL
-</pre>
-<p class="item_name">FILE</p>
-<pre> fortran/src/<a href="#robo_top_of_doc">H5Aff_F90.f90</a>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> This file contains Fortran 90 interfaces for <a href="./H5Aff_f90.html#robo27">H5A</a> functions. It contains
- the same functions as <a href="./H5Aff_F03_f90.html#robo_top_of_doc">H5Aff_F03.f90</a> but excludes the Fortran 2003 functions
- and the interface listings. This file will be compiled instead of <a href="./H5Aff_F03_f90.html#robo_top_of_doc">H5Aff_F03.f90</a>
- if Fortran 2003 functions are not enabled.
-</pre>
-<p class="item_name">NOTES</p>
-<pre> *** IMPORTANT ***
- If you add a new <a href="./H5Aff_f90.html#robo27">H5A</a> function you must add the function name to the
- Windows dll file 'hdf5_fortrandll.def' in the fortran/src directory.
- This is needed for Windows based operating systems.
-</pre>
-
-</div> <!-- content -->
-<div id="footer">
-<p>Generated from ./src/H5Aff_F90.f90 on Sun Aug 14 2011 22:49:38
-</p>
-</div> <!-- footer -->
-</body>
-</html>
diff --git a/fortran/doc/DevelGuide/src/H5Aff_f90.html b/fortran/doc/DevelGuide/src/H5Aff_f90.html
deleted file mode 100644
index 268c1db..0000000
--- a/fortran/doc/DevelGuide/src/H5Aff_f90.html
+++ /dev/null
@@ -1,1102 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-type" content="text/html; charset=ISO-8859-1" />
-<link rel="stylesheet" href="../robodoc.css" type="text/css" />
-<title>./src/H5Aff.f90</title>
-<!-- Source: ./src/H5Aff.f90 -->
-</head>
-<body>
-<div id="logo">
-<a name="robo_top_of_doc">HDF5 FORTRAN Developer's Guide</a>
-</div> <!-- logo -->
-<div id="navigation">
-<a class="menuitem" href="../toc_index.html#top">Table of Contents</a>
-<a class="menuitem" href="../robo_sourcefiles.html#top">Sourcefiles</a>
-<a class="menuitem" href="../masterindex.html#top">Index</a>
-<a class="menuitem" href="../robo_functions.html#top">Functions</a>
-<a class="menuitem" href="../robo_modules.html#top">Modules</a>
-<a class="menuitem" href="../robo_procedures.html#top">Procedures</a>
-<a class="menuitem" href="../robo_subroutines.html#top">Subroutines</a>
-</div> <!-- navigation -->
-<div id="content">
-<hr />
-<a name="ROBODoc2fH5A"></a>
-<a name="robo27"></a><h2>H5A</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="../robo_modules.html#robo_top_of_doc">Modules</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> MODULE <strong>H5A</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> This file contains Fortran interfaces for <strong>H5A</strong> functions. It includes
- all the functions that are independent on whether the Fortran 2003 functions
- are enabled or disabled.
-</pre>
-<p class="item_name">NOTES</p>
-<pre> *** IMPORTANT ***
- If you add a new <strong>H5A</strong> function you must add the function name to the
- Windows dll file 'hdf5_fortrandll.def' in the fortran/src directory.
- This is needed for Windows based operating systems.
-</pre>
-
-<hr />
-<a name="H5A2fh5aclose5ff"></a>
-<a name="robo85"></a><h2>h5aclose_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo27">H5A</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5aclose_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Closes the specified attribute.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> attr_id - attribute identifier
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> hdferr - Returns 0 if successful and -1 if fails
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- August 12, 1999
-</pre>
-<p class="item_name">HISTORY</p>
-<pre> Explicit Fortran interfaces are added for
- called C functions (it is needed for Windows
- port). February 27, 2001
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5aclose_f</strong><span class="sign">(</span>attr_id<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> attr_id <span class="sign">!</span> Attribute identifier
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
-</pre>
-
-<hr />
-<a name="H5A2fh5acreate5fby5fname5ff"></a>
-<a name="robo86"></a><h2>h5acreate_by_name_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo27">H5A</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5acreate_by_name_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Creates an attribute attached to a specified object
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> loc_id - Location or object identifier; may be dataset or group
- obj_name - Name, relative to loc_id, of object that attribute is to be attached to
- attr_name - Attribute name
- type_id - Attribute datatype identifier
- space_id - Attribute dataspace identifier
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> attr - an attribute identifier
- hdferr - Returns 0 if successful and -1 if fails
-</pre>
-<p class="item_name">OPTIONAL PARAMETERS</p>
-<pre> acpl_id - Attribute creation property list identifier (Currently not used.)
- aapl_id - Attribute access property list identifier (Currently not used.)
- lapl_id - Link access property list
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> M. Scot Breitenfeld
- February, 2008
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5acreate_by_name_f</strong><span class="sign">(</span>loc_id<span class="sign">,</span> obj_name<span class="sign">,</span> attr_name<span class="sign">,</span> type_id<span class="sign">,</span> space_id<span class="sign">,</span> attr<span class="sign">,</span> hdferr<span class="sign">,</span> <span class="sign">&amp;</span>
- acpl_id<span class="sign">,</span> aapl_id<span class="sign">,</span> lapl_id<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> loc_id
- CHARACTER<span class="sign">(</span>LEN<span class="sign">=</span><span class="sign">*</span><span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> obj_name
- CHARACTER<span class="sign">(</span>LEN<span class="sign">=</span><span class="sign">*</span><span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> attr_name
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> type_id
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> space_id
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> attr
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr
-
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span><span class="sign">,</span> OPTIONAL <span class="sign">:</span><span class="sign">:</span> acpl_id
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span><span class="sign">,</span> OPTIONAL <span class="sign">:</span><span class="sign">:</span> aapl_id
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span><span class="sign">,</span> OPTIONAL <span class="sign">:</span><span class="sign">:</span> lapl_id
-</pre>
-
-<hr />
-<a name="H5A2fh5acreate5ff"></a>
-<a name="robo87"></a><h2>h5acreate_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo27">H5A</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5acreate_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Creates a dataset as an attribute of a group, dataset, or named datatype
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> loc_id - identifier of an object (group, dataset,
- or named datatype) attribute is attached to
- name - attribute name
- type_id - attribute datatype identifier
- space_id - attribute dataspace identifier
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> attr_id - attribute identifier
- hdferr - Returns 0 if successful and -1 if fails
-</pre>
-<p class="item_name">OPTIONAL PARAMETERS</p>
-<pre> acpl_id - Attribute creation property list identifier
- appl_id - Attribute access property list identifier
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- August 12, 1999
-</pre>
-<p class="item_name">HISTORY</p>
-<pre> Explicit Fortran interfaces are added for
- called C functions (it is needed for Windows
- port). February 27, 2001
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5acreate_f</strong><span class="sign">(</span>loc_id<span class="sign">,</span> name<span class="sign">,</span> type_id<span class="sign">,</span> space_id<span class="sign">,</span> attr_id<span class="sign">,</span> <span class="sign">&amp;</span>
- hdferr<span class="sign">,</span> acpl_id<span class="sign">,</span> aapl_id <span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> loc_id <span class="sign">!</span> Object identifier
- CHARACTER<span class="sign">(</span>LEN<span class="sign">=</span><span class="sign">*</span><span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> name <span class="sign">!</span> Attribute name
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> type_id <span class="sign">!</span> Attribute datatype identifier
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> space_id <span class="sign">!</span> Attribute dataspace identifier
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> attr_id <span class="sign">!</span> Attribute identifier
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code<span class="sign">:</span>
- <span class="sign">!</span> 0 on success and <span class="sign">-</span>1 on failure
-</pre>
-
-<hr />
-<a name="H5A2fh5adelete5fby5fidx5ff"></a>
-<a name="robo88"></a><h2>h5adelete_by_idx_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo27">H5A</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5adelete_by_idx_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Deletes an attribute from an object according to index order
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> loc_id - Location or object identifier; may be dataset or group
- obj_name - Name of object, relative to location, from which attribute is to be removed
- idx_type - Type of index; Possible values are:
- H5_INDEX_UNKNOWN_F = -1 - Unknown index type
- H5_INDEX_NAME_F - Index on names
- H5_INDEX_CRT_ORDER_F - Index on creation order
- H5_INDEX_N_F - Number of indices defined
-
- order - Order in which to iterate over index; Possible values are:
- H5_ITER_UNKNOWN_F - Unknown order
- H5_ITER_INC_F - Increasing order
- H5_ITER_DEC_F - Decreasing order
- H5_ITER_NATIVE_F - No particular order, whatever is fastest
- H5_ITER_N_F - Number of iteration orders
-
- n - Offset within index
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> hdferr - Returns 0 if successful and -1 if fails
-</pre>
-<p class="item_name">OPTIONAL PARAMETERS</p>
-<pre> lapl_id - Link access property list
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> M. Scot Breitenfeld
- January, 2008
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5adelete_by_idx_f</strong><span class="sign">(</span>loc_id<span class="sign">,</span> obj_name<span class="sign">,</span> idx_type<span class="sign">,</span> order<span class="sign">,</span> n<span class="sign">,</span> hdferr<span class="sign">,</span> lapl_id<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> loc_id <span class="sign">!</span> Identifer <span class="keyword">for</span> object to which attribute is attached
- CHARACTER<span class="sign">(</span>LEN<span class="sign">=</span><span class="sign">*</span><span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> obj_name <span class="sign">!</span> Name of object<span class="sign">,</span> relative to location<span class="sign">,</span>
- <span class="sign">!</span> from which attribute is to be removed
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> idx_type <span class="sign">!</span> Type of index<span class="sign">;</span> Possible values are<span class="sign">:</span>
- <span class="sign">!</span> H5_INDEX_UNKNOWN_F <span class="sign">-</span> Unknown index type
- <span class="sign">!</span> H5_INDEX_NAME_F <span class="sign">-</span> Index on names
- <span class="sign">!</span> H5_INDEX_CRT_ORDER_F <span class="sign">-</span> Index on creation order
- <span class="sign">!</span> H5_INDEX_N_F <span class="sign">-</span> Number of indices defined
-
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> order <span class="sign">!</span> Order in which to iterate over index<span class="sign">;</span> Possible values are<span class="sign">:</span>
- <span class="sign">!</span> H5_ITER_UNKNOWN_F <span class="sign">-</span> Unknown order
- <span class="sign">!</span> H5_ITER_INC_F <span class="sign">-</span> Increasing order
- <span class="sign">!</span> H5_ITER_DEC_F <span class="sign">-</span> Decreasing order
- <span class="sign">!</span> H5_ITER_NATIVE_F <span class="sign">-</span> No particular order<span class="sign">,</span> whatever is fastest
- <span class="sign">!</span> H5_ITER_N_F <span class="sign">-</span> Number of iteration orders
- INTEGER<span class="sign">(</span>HSIZE_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> n <span class="sign">!</span> Offset within index
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code<span class="sign">:</span>
- <span class="sign">!</span> 0 on success and <span class="sign">-</span>1 on failure
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> OPTIONAL<span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> lapl_id <span class="sign">!</span> Link access property list
-</pre>
-
-<hr />
-<a name="H5A2fh5adelete5fby5fname5ff"></a>
-<a name="robo89"></a><h2>h5adelete_by_name_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo27">H5A</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5adelete_by_name_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Removes an attribute from a specified location
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> loc_id - Identifer for object to which attribute is attached
- obj_name - Name of attribute to open
- attr_name - Attribute access property list
- lapl_id - Link access property list
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> hdferr - Returns 0 if successful and -1 if fails
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> M. Scot Breitenfeld
- January, 2008
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5adelete_by_name_f</strong><span class="sign">(</span>loc_id<span class="sign">,</span> obj_name<span class="sign">,</span> attr_name<span class="sign">,</span> hdferr<span class="sign">,</span> lapl_id<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> loc_id <span class="sign">!</span> Identifer <span class="keyword">for</span> object to which attribute is attached
- CHARACTER<span class="sign">(</span>LEN<span class="sign">=</span><span class="sign">*</span><span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> obj_name <span class="sign">!</span> Name of object<span class="sign">,</span> relative to location<span class="sign">,</span>
- <span class="sign">!</span> from which attribute is to be removed
- CHARACTER<span class="sign">(</span>LEN<span class="sign">=</span><span class="sign">*</span><span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> attr_name <span class="sign">!</span> Name of attribute to delete
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code<span class="sign">:</span>
- <span class="sign">!</span> 0 on success and <span class="sign">-</span>1 on failure
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> OPTIONAL<span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> lapl_id <span class="sign">!</span> Link access property list
-</pre>
-
-<hr />
-<a name="H5A2fh5adelete5ff"></a>
-<a name="robo90"></a><h2>h5adelete_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo27">H5A</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5adelete_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Deletes an attribute of an object (group, dataset or
- named datatype)
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> obj_id - object identifier
- name - attribute name
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> hdferr - Returns 0 if successful and -1 if fails
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- August 12, 1999
-</pre>
-<p class="item_name">HISTORY</p>
-<pre> Explicit Fortran interfaces are added for
- called C functions (it is needed for Windows
- port). February 27, 2001
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5adelete_f</strong><span class="sign">(</span>obj_id<span class="sign">,</span> name<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> obj_id <span class="sign">!</span> Object identifier
- CHARACTER<span class="sign">(</span>LEN<span class="sign">=</span><span class="sign">*</span><span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> name <span class="sign">!</span> Attribute name
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
-</pre>
-
-<hr />
-<a name="H5A2fH5Aexists5fby5fname5ff"></a>
-<a name="robo91"></a><h2>H5Aexists_by_name_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo27">H5A</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>H5Aexists_by_name_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Determines whether an attribute with a given name exists on an object
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> loc_id - Location identifier
- obj_name - Object name either relative to loc_id, absolute from the file’s root group, or '.' (a dot)
- attr_name - Attribute name
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> attr_exists - attribute exists status
- hdferr - Returns 0 if successful and -1 if fails
-</pre>
-<p class="item_name">OPTIONAL PARAMETERS</p>
-<pre> lapl_id - Link access property list identifier
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> M. Scot Breitenfeld
- February, 2008
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE h5aexists_by_name_f<span class="sign">(</span>loc_id<span class="sign">,</span> obj_name<span class="sign">,</span> attr_name<span class="sign">,</span> attr_exists<span class="sign">,</span> hdferr<span class="sign">,</span> lapl_id<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> loc_id <span class="sign">!</span> Location identifier
- CHARACTER<span class="sign">(</span>LEN<span class="sign">=</span><span class="sign">*</span><span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> obj_name <span class="sign">!</span> Object name either relative to loc_id<span class="sign">,</span>
- <span class="sign">!</span> absolute from the file<span class="sign">â</span><span class="sign">€</span><span class="sign">™</span>s root group<span class="sign">,</span> or <span class="squote">'.'</span>
- CHARACTER<span class="sign">(</span>LEN<span class="sign">=</span><span class="sign">*</span><span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> attr_name <span class="sign">!</span> Attribute name
- LOGICAL<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> attr_exists <span class="sign">!</span> <span class="sign">.</span>TRUE<span class="sign">.</span> <span class="keyword">if</span> exists<span class="sign">,</span> <span class="sign">.</span>FALSE<span class="sign">.</span> otherwise
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code<span class="sign">:</span>
- <span class="sign">!</span> 0 on success and <span class="sign">-</span>1 on failure
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> OPTIONAL<span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> lapl_id <span class="sign">!</span> Link access property list identifier
-</pre>
-
-<hr />
-<a name="H5A2fH5Aexists5ff"></a>
-<a name="robo92"></a><h2>H5Aexists_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo27">H5A</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>H5Aexists_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Determines whether an attribute with a given name exists on an object
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> obj_id - Object identifier
- attr_name - Attribute name
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> attr_exists - attribute exists status
- hdferr - Returns 0 if successful and -1 if fails
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> M. Scot Breitenfeld
- February, 2008
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE h5aexists_f<span class="sign">(</span>obj_id<span class="sign">,</span> attr_name<span class="sign">,</span> attr_exists<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> obj_id <span class="sign">!</span> Object identifier
- CHARACTER<span class="sign">(</span>LEN<span class="sign">=</span><span class="sign">*</span><span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> attr_name <span class="sign">!</span> Attribute name
- LOGICAL<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> attr_exists <span class="sign">!</span> <span class="sign">.</span>TRUE<span class="sign">.</span> <span class="keyword">if</span> exists<span class="sign">,</span> <span class="sign">.</span>FALSE<span class="sign">.</span> otherwise
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code<span class="sign">:</span>
- <span class="sign">!</span> 0 on success and <span class="sign">-</span>1 on failure
-</pre>
-
-<hr />
-<a name="H5A2fh5aget5fcreate5fplist5ff"></a>
-<a name="robo93"></a><h2>h5aget_create_plist_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo27">H5A</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5aget_create_plist_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Gets an attribute creation property list identifier
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> attr_id - Identifier of the attribute
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> creation_prop_id - Identifier for the attribute’s creation property
- hdferr - Returns 0 if successful and -1 if fails
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> M. Scot Breitenfeld
- January, 2008
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5aget_create_plist_f</strong><span class="sign">(</span>attr_id<span class="sign">,</span> creation_prop_id<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> attr_id <span class="sign">!</span> Identifier of the attribute
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> creation_prop_id <span class="sign">!</span> Identifier <span class="keyword">for</span> the attribute<span class="sign">â</span><span class="sign">€</span><span class="sign">™</span>s creation property
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
- <span class="sign">!</span> 0 on success and <span class="sign">-</span>1 on failure
-</pre>
-
-<hr />
-<a name="H5A2fh5aget5finfo5fby5fidx5ff"></a>
-<a name="robo94"></a><h2>h5aget_info_by_idx_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo27">H5A</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5aget_info_by_idx_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Retrieves attribute information, by attribute index position
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> loc_id - Location of object to which attribute is attached
- obj_name - Name of object to which attribute is attached, relative to location
- idx_type - Type of index
- order - Index traversal order
- n - Attribute’s position in index
-
- OUTPUTS NOTE: In C it is defined as a structure: H5A_info_t
- corder_valid - indicates whether the creation order data is valid for this attribute
- corder - is a positive integer containing the creation order of the attribute
- cset - indicates the character set used for the attribute’s name
- data_size - indicates the size, in the number of characters, of the attribute
- hdferr - Returns 0 if successful and -1 if fails
-</pre>
-<p class="item_name">OPTIONAL PARAMETERS</p>
-<pre> lapl_id - Link access property list
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> M. Scot Breitenfeld
- January, 2008
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5aget_info_by_idx_f</strong><span class="sign">(</span>loc_id<span class="sign">,</span> obj_name<span class="sign">,</span> idx_type<span class="sign">,</span> order<span class="sign">,</span> n<span class="sign">,</span> <span class="sign">&amp;</span>
- f_corder_valid<span class="sign">,</span> corder<span class="sign">,</span> cset<span class="sign">,</span> data_size<span class="sign">,</span> hdferr<span class="sign">,</span> lapl_id<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> loc_id <span class="sign">!</span> Object identifier
- CHARACTER<span class="sign">(</span>LEN<span class="sign">=</span><span class="sign">*</span><span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> obj_name <span class="sign">!</span> Name of object to which attribute is attached
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> idx_type <span class="sign">!</span> Type of index<span class="sign">;</span> Possible values are<span class="sign">:</span>
- <span class="sign">!</span> H5_INDEX_UNKNOWN_F <span class="sign">-</span> Unknown index type
- <span class="sign">!</span> H5_INDEX_NAME_F <span class="sign">-</span> Index on names
- <span class="sign">!</span> H5_INDEX_CRT_ORDER_F <span class="sign">-</span> Index on creation order
- <span class="sign">!</span> H5_INDEX_N_F <span class="sign">-</span> Number of indices defined
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> order <span class="sign">!</span> Order in which to iterate over index<span class="sign">;</span> Possible values are<span class="sign">:</span>
- <span class="sign">!</span> H5_ITER_UNKNOWN_F <span class="sign">-</span> Unknown order
- <span class="sign">!</span> H5_ITER_INC_F <span class="sign">-</span> Increasing order
- <span class="sign">!</span> H5_ITER_DEC_F <span class="sign">-</span> Decreasing order
- <span class="sign">!</span> H5_ITER_NATIVE_F <span class="sign">-</span> No particular order<span class="sign">,</span> whatever is fastest
-
- INTEGER<span class="sign">(</span>HSIZE_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> n <span class="sign">!</span> Attribute<span class="sign">â</span><span class="sign">€</span><span class="sign">™</span>s position in index
-
-
- LOGICAL<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> f_corder_valid <span class="sign">!</span> Indicates whether the creation order data is valid <span class="keyword">for</span> this attribute
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> corder <span class="sign">!</span> Is a positive integer containing the creation order of the attribute
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> cset <span class="sign">!</span> Indicates the character set used <span class="keyword">for</span> the attribute<span class="sign">â</span><span class="sign">€</span><span class="sign">™</span>s name
- INTEGER<span class="sign">(</span>HSIZE_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> data_size <span class="sign">!</span> Indicates the size<span class="sign">,</span> in the number of characters<span class="sign">,</span> of the attribute
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code<span class="sign">:</span>
- <span class="sign">!</span> 0 on success and <span class="sign">-</span>1 on failure
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> OPTIONAL<span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> lapl_id <span class="sign">!</span> Link access property list
-</pre>
-
-<hr />
-<a name="H5A2fh5aget5finfo5fby5fname5ff"></a>
-<a name="robo95"></a><h2>h5aget_info_by_name_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo27">H5A</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5aget_info_by_name_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Retrieves attribute information, by attribute name
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> loc_id - Location of object to which attribute is attached
- obj_name - Name of object to which attribute is attached, relative to location
- attr_name - Attribute name
-
- OUTPUTS NOTE: In C it is defined as a structure: H5A_info_t
- corder_valid - indicates whether the creation order data is valid for this attribute
- corder - is a positive integer containing the creation order of the attribute
- cset - indicates the character set used for the attribute’s name
- data_size - indicates the size, in the number of characters, of the attribute
- hdferr - Returns 0 if successful and -1 if fails
-</pre>
-<p class="item_name">OPTIONAL PARAMETERS</p>
-<pre> lapl_id - Link access property list
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> M. Scot Breitenfeld
- January, 2008
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5aget_info_by_name_f</strong><span class="sign">(</span>loc_id<span class="sign">,</span> obj_name<span class="sign">,</span> attr_name<span class="sign">,</span> <span class="sign">&amp;</span>
- f_corder_valid<span class="sign">,</span> corder<span class="sign">,</span> cset<span class="sign">,</span> data_size<span class="sign">,</span> hdferr<span class="sign">,</span> lapl_id<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> loc_id <span class="sign">!</span> Object identifier
- CHARACTER<span class="sign">(</span>LEN<span class="sign">=</span><span class="sign">*</span><span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> obj_name <span class="sign">!</span> Name of object to which attribute is attached
- CHARACTER<span class="sign">(</span>LEN<span class="sign">=</span><span class="sign">*</span><span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> attr_name <span class="sign">!</span> Attribute name
-
-
- LOGICAL<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> f_corder_valid <span class="sign">!</span> Indicates whether the creation order data is valid <span class="keyword">for</span> this attribute
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> corder <span class="sign">!</span> Is a positive integer containing the creation order of the attribute
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> cset <span class="sign">!</span> Indicates the character set used <span class="keyword">for</span> the attribute<span class="sign">â</span><span class="sign">€</span><span class="sign">™</span>s name
- INTEGER<span class="sign">(</span>HSIZE_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> data_size <span class="sign">!</span> Indicates the size<span class="sign">,</span> in the number of characters<span class="sign">,</span> of the attribute
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code<span class="sign">:</span>
- <span class="sign">!</span> 0 on success and <span class="sign">-</span>1 on failure
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> OPTIONAL<span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> lapl_id <span class="sign">!</span> Link access property list
-</pre>
-
-<hr />
-<a name="H5A2fh5aget5finfo5ff"></a>
-<a name="robo96"></a><h2>h5aget_info_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo27">H5A</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5aget_info_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Retrieves attribute information, by attribute identifier
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> attr_id - attribute identifier
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> NOTE: In C it is defined as a structure: H5A_info_t
-
- corder_valid - indicates whether the creation order data is valid for this attribute
- corder - is a positive integer containing the creation order of the attribute
- cset - indicates the character set used for the attribute’s name
- data_size - indicates the size, in the number of characters, of the attribute
- hdferr - Returns 0 if successful and -1 if fails
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> M. Scot Breitenfeld
- January, 2008
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5aget_info_f</strong><span class="sign">(</span>attr_id<span class="sign">,</span> f_corder_valid<span class="sign">,</span> corder<span class="sign">,</span> cset<span class="sign">,</span> data_size<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> attr_id <span class="sign">!</span> Attribute identifier
-
- LOGICAL<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> f_corder_valid <span class="sign">!</span> Indicates whether the creation order data is valid <span class="keyword">for</span> this attribute
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> corder <span class="sign">!</span> Is a positive integer containing the creation order of the attribute
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> cset <span class="sign">!</span> Indicates the character set used <span class="keyword">for</span> the attribute<span class="sign">â</span><span class="sign">€</span><span class="sign">™</span>s name
- INTEGER<span class="sign">(</span>HSIZE_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> data_size <span class="sign">!</span> Indicates the size<span class="sign">,</span> in the number of characters<span class="sign">,</span> of the attribute
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code<span class="sign">:</span>
- <span class="sign">!</span> 0 on success and <span class="sign">-</span>1 on failure
-</pre>
-
-<hr />
-<a name="H5A2fh5aget5fname5fby5fidx5ff"></a>
-<a name="robo97"></a><h2>h5aget_name_by_idx_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo27">H5A</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5aget_name_by_idx_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Gets an attribute name, by attribute index position.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> loc_id - Location of object to which attribute is attached
- obj_name - Name of object to which attribute is attached, relative to location
- idx_type - Type of index; Possible values are:
- H5_INDEX_UNKNOWN_F = -1 - Unknown index type
- H5_INDEX_NAME_F - Index on names
- H5_INDEX_CRT_ORDER_F - Index on creation order
- H5_INDEX_N_F - Number of indices defined
-
- order - Order in which to iterate over index; Possible values are:
- H5_ITER_UNKNOWN_F - Unknown order
- H5_ITER_INC_F - Increasing order
- H5_ITER_DEC_F - Decreasing order
- H5_ITER_NATIVE_F - No particular order, whatever is fastest
- H5_ITER_N_F - Number of iteration orders
- order - Index traversal order
- n - Attribute’s position in index
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> name - Attribute name
- hdferr - Returns 0 if successful and -1 if fails
-</pre>
-<p class="item_name">OPTIONAL PARAMETERS</p>
-<pre> lapl_id - Link access property list
- size - Size, in bytes, of attribute name
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> M. Scot Breitenfeld
- January, 2008
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5aget_name_by_idx_f</strong><span class="sign">(</span>loc_id<span class="sign">,</span> obj_name<span class="sign">,</span> idx_type<span class="sign">,</span> order<span class="sign">,</span> <span class="sign">&amp;</span>
- n<span class="sign">,</span> name<span class="sign">,</span> hdferr<span class="sign">,</span> size<span class="sign">,</span> lapl_id<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> loc_id <span class="sign">!</span> Identifer <span class="keyword">for</span> object to which attribute is attached
- CHARACTER<span class="sign">(</span>LEN<span class="sign">=</span><span class="sign">*</span><span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> obj_name <span class="sign">!</span> Name of object<span class="sign">,</span> relative to location<span class="sign">,</span>
- <span class="sign">!</span> from which attribute is to be removed <span class="sign">*</span>TEST<span class="sign">*</span> check NULL
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> idx_type <span class="sign">!</span> Type of index<span class="sign">;</span> Possible values are<span class="sign">:</span>
- <span class="sign">!</span> H5_INDEX_UNKNOWN_F <span class="sign">-</span> Unknown index type
- <span class="sign">!</span> H5_INDEX_NAME_F <span class="sign">-</span> Index on names
- <span class="sign">!</span> H5_INDEX_CRT_ORDER_F <span class="sign">-</span> Index on creation order
- <span class="sign">!</span> H5_INDEX_N_F <span class="sign">-</span> Number of indices defined
-
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> order <span class="sign">!</span> Order in which to iterate over index<span class="sign">;</span> Possible values are<span class="sign">:</span>
- <span class="sign">!</span> H5_ITER_UNKNOWN_F <span class="sign">-</span> Unknown order
- <span class="sign">!</span> H5_ITER_INC_F <span class="sign">-</span> Increasing order
- <span class="sign">!</span> H5_ITER_DEC_F <span class="sign">-</span> Decreasing order
- <span class="sign">!</span> H5_ITER_NATIVE_F <span class="sign">-</span> No particular order<span class="sign">,</span> whatever is fastest
- <span class="sign">!</span> H5_ITER_N_F <span class="sign">-</span> Number of iteration orders
- INTEGER<span class="sign">(</span>HSIZE_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> n <span class="sign">!</span> Attribute<span class="sign">â</span><span class="sign">€</span><span class="sign">™</span>s position in index
- CHARACTER<span class="sign">(</span>LEN<span class="sign">=</span><span class="sign">*</span><span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> name <span class="sign">!</span> Attribute name
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code<span class="sign">:</span>
- <span class="sign">!</span> Returns attribute name size<span class="sign">,</span>
- <span class="sign">!</span> <span class="sign">-</span>1 <span class="keyword">if</span> fail
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> OPTIONAL<span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> lapl_id <span class="sign">!</span> Link access property list
- INTEGER<span class="sign">(</span>SIZE_T<span class="sign">)</span><span class="sign">,</span> OPTIONAL<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> size <span class="sign">!</span> Indicates the size<span class="sign">,</span> in the number of characters<span class="sign">,</span>
- <span class="sign">!</span> of the attribute
-</pre>
-
-<hr />
-<a name="H5A2fh5aget5fname5ff"></a>
-<a name="robo98"></a><h2>h5aget_name_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo27">H5A</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5aget_name_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Gets an attribute name.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> attr_id - attribute identifier
- size - size of a buffer to read name in
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> buf - buffer to read name in
- hdferr - Returns 0 if successful and -1 if fails
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- August 12, 1999
-</pre>
-<p class="item_name">HISTORY</p>
-<pre> Explicit Fortran interfaces are added for
- called C functions (it is needed for Windows
- port). February 27, 2001
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5aget_name_f</strong><span class="sign">(</span>attr_id<span class="sign">,</span> size<span class="sign">,</span> buf<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> attr_id <span class="sign">!</span> Attribute identifier
- INTEGER<span class="sign">(</span>SIZE_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> size <span class="sign">!</span> Buffer size
- CHARACTER<span class="sign">(</span>LEN<span class="sign">=</span><span class="sign">*</span><span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>INOUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> buf <span class="sign">!</span> Buffer to hold attribute name
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code<span class="sign">:</span>
- <span class="sign">!</span> name length is successful<span class="sign">,</span> <span class="sign">-</span>1 <span class="keyword">if</span> fail
-</pre>
-
-<hr />
-<a name="H5A2fh5aget5fnum5fattrs5ff"></a>
-<a name="robo99"></a><h2>h5aget_num_attrs_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo27">H5A</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5aget_num_attrs_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Determines the number of attributes attached to an object.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> obj_id - object (group, dataset, or named datatype)
- identifier
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> attr_num - number of attributes attached to the object
- hdferr - Returns 0 if successful and -1 if fails
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- August 12, 1999
-</pre>
-<p class="item_name">HISTORY</p>
-<pre> Explicit Fortran interfaces are added for
- called C functions (it is needed for Windows
- port). February 27, 2001
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5aget_num_attrs_f</strong><span class="sign">(</span>obj_id<span class="sign">,</span> attr_num<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> obj_id <span class="sign">!</span> Object identifier
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> attr_num <span class="sign">!</span> Number of attributes of the object
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
-</pre>
-
-<hr />
-<a name="H5A2fh5aget5fspace5ff"></a>
-<a name="robo100"></a><h2>h5aget_space_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo27">H5A</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5aget_space_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Gets a copy of the dataspace for an attribute.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> attr_id - attribute identifier
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> space_id - attribite dataspace identifier
- hdferr - Returns 0 if successful and -1 if fails
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- August 12, 1999
-</pre>
-<p class="item_name">HISTORY</p>
-<pre> Explicit Fortran interfaces are added for
- called C functions (it is needed for Windows
- port). February 27, 2001
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5aget_space_f</strong><span class="sign">(</span>attr_id<span class="sign">,</span> space_id<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> attr_id <span class="sign">!</span> Attribute identifier
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> space_id <span class="sign">!</span> Attribute dataspace identifier
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
-</pre>
-
-<hr />
-<a name="H5A2fh5aget5fstorage5fsize5ff"></a>
-<a name="robo101"></a><h2>h5aget_storage_size_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo27">H5A</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5aget_storage_size_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Returns the amount of storage required for an attribute.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> attr_id - attribute identifier
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> size - attribute storage size
- hdferr - Returns 0 if successful and -1 if fails
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> M. Scot Breitenfeld
- January, 2008
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5aget_storage_size_f</strong><span class="sign">(</span>attr_id<span class="sign">,</span> size<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> attr_id <span class="sign">!</span> Attribute identifier
- INTEGER<span class="sign">(</span>HSIZE_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> size <span class="sign">!</span> Attribute storage requirement
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
-</pre>
-
-<hr />
-<a name="H5A2fh5aget5ftype5ff"></a>
-<a name="robo102"></a><h2>h5aget_type_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo27">H5A</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5aget_type_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Gets an attribute datatype.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> attr_id - attribute identifier
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> type_id - attribute datatype identifier
- hdferr - Returns 0 if successful and -1 if fails
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- August 12, 1999
-</pre>
-<p class="item_name">HISTORY</p>
-<pre> Explicit Fortran interfaces are added for
- called C functions (it is needed for Windows
- port). February 27, 2001
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5aget_type_f</strong><span class="sign">(</span>attr_id<span class="sign">,</span> type_id<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> attr_id <span class="sign">!</span> Attribute identifier
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> type_id <span class="sign">!</span> Attribute datatype identifier
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
-</pre>
-
-<hr />
-<a name="H5A2fh5aopen5fby5fidx5ff"></a>
-<a name="robo103"></a><h2>h5aopen_by_idx_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo27">H5A</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5aopen_by_idx_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Opens an existing attribute that is attached to an object specified by location and name
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> loc_id - Location of object to which attribute is attached
- obj_name - Name of object to which attribute is attached, relative to location
- idx_type - Type of index
- order - Index traversal order
- n - Attribute’s position in index
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> hdferr - Returns 0 if successful and -1 if fails
-</pre>
-<p class="item_name">OPTIONAL PARAMETERS</p>
-<pre> aapl_id - Attribute access property list
- lapl_id - Link access property list
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> M. Scot Breitenfeld
- January, 2008
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5aopen_by_idx_f</strong><span class="sign">(</span>loc_id<span class="sign">,</span> obj_name<span class="sign">,</span> idx_type<span class="sign">,</span> order<span class="sign">,</span> n<span class="sign">,</span> attr_id<span class="sign">,</span> hdferr<span class="sign">,</span> aapl_id<span class="sign">,</span> lapl_id<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> loc_id <span class="sign">!</span> Object identifier
- CHARACTER<span class="sign">(</span>LEN<span class="sign">=</span><span class="sign">*</span><span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> obj_name <span class="sign">!</span> Name of object to which attribute is attached
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> idx_type <span class="sign">!</span> Type of index<span class="sign">;</span> Possible values are<span class="sign">:</span>
- <span class="sign">!</span> H5_INDEX_UNKNOWN_F <span class="sign">-</span> Unknown index type
- <span class="sign">!</span> H5_INDEX_NAME_F <span class="sign">-</span> Index on names
- <span class="sign">!</span> H5_INDEX_CRT_ORDER_F <span class="sign">-</span> Index on creation order
- <span class="sign">!</span> H5_INDEX_N_F <span class="sign">-</span> Number of indices defined
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> order <span class="sign">!</span> Order in which to iterate over index<span class="sign">;</span> Possible values are<span class="sign">:</span>
- <span class="sign">!</span> H5_ITER_UNKNOWN_F <span class="sign">-</span> Unknown order
- <span class="sign">!</span> H5_ITER_INC_F <span class="sign">-</span> Increasing order
- <span class="sign">!</span> H5_ITER_DEC_F <span class="sign">-</span> Decreasing order
- <span class="sign">!</span> H5_ITER_NATIVE_F <span class="sign">-</span> No particular order<span class="sign">,</span> whatever is fastest
-
- INTEGER<span class="sign">(</span>HSIZE_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> n <span class="sign">!</span> Attribute<span class="sign">â</span><span class="sign">€</span><span class="sign">™</span>s position in index
-
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> attr_id <span class="sign">!</span> Attribute identifier
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code<span class="sign">:</span>
- <span class="sign">!</span> 0 on success and <span class="sign">-</span>1 on failure
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> OPTIONAL<span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> aapl_id <span class="sign">!</span> Attribute access property list
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> OPTIONAL<span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> lapl_id <span class="sign">!</span> Link access property list
-</pre>
-
-<hr />
-<a name="H5A2fH5Aopen5fby5fname5ff"></a>
-<a name="robo104"></a><h2>H5Aopen_by_name_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo27">H5A</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>H5Aopen_by_name_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Opens an attribute for an object by object name and attribute name.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> loc_id - Location from which to find object to which attribute is attached
- obj_name - Object name either relative to loc_id, absolute from the file’s root group, or '.' (a dot)
- attr_name - Attribute name
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> attr_id - attribute identifier
- hdferr - Returns 0 if successful and -1 if fails
-</pre>
-<p class="item_name">OPTIONAL PARAMETERS</p>
-<pre> aapl_id - Attribute access property list (Currently unused; should be passed in as H5P_DEFAULT.)
- lapl_id - Link access property list identifier
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> M. Scot Breitenfeld
- February, 2008
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE h5aopen_by_name_f<span class="sign">(</span>loc_id<span class="sign">,</span> obj_name<span class="sign">,</span> attr_name<span class="sign">,</span> attr_id<span class="sign">,</span> hdferr<span class="sign">,</span> aapl_id<span class="sign">,</span> lapl_id<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> loc_id <span class="sign">!</span> Location identifier
- CHARACTER<span class="sign">(</span>LEN<span class="sign">=</span><span class="sign">*</span><span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> obj_name <span class="sign">!</span> Object name either relative to loc_id<span class="sign">,</span>
- <span class="sign">!</span> absolute from the file<span class="sign">â</span><span class="sign">€</span><span class="sign">™</span>s root group<span class="sign">,</span> or <span class="squote">'.'</span>
- CHARACTER<span class="sign">(</span>LEN<span class="sign">=</span><span class="sign">*</span><span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> attr_name <span class="sign">!</span> Attribute name
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> attr_id <span class="sign">!</span> Attribute identifier
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code<span class="sign">:</span>
- <span class="sign">!</span> 0 on success and <span class="sign">-</span>1 on failure
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> OPTIONAL<span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> aapl_id <span class="sign">!</span> Attribute access property list
- <span class="sign">!</span> <span class="sign">(</span>Currently unused<span class="sign">;</span> should be passed in as H5P_DEFAULT_F<span class="sign">)</span>
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> OPTIONAL<span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> lapl_id <span class="sign">!</span> Link access property list identifier
-</pre>
-
-<hr />
-<a name="H5A2fh5aopen5ff"></a>
-<a name="robo105"></a><h2>h5aopen_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo27">H5A</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5aopen_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Opens an attribute for an object specified by object
- identifier and attribute name
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> obj_id - Identifer for object to which attribute is attached
- attr_name - Name of attribute to open
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> attr_id - attribute identifier
-</pre>
-<p class="item_name">OPTIONAL PARAMETERS</p>
-<pre> aapl_id - Attribute access property list
- hdferr - Returns 0 if successful and -1 if fails
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> M. Scot Breitenfeld
- January, 2008
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5aopen_f</strong><span class="sign">(</span>obj_id<span class="sign">,</span> attr_name<span class="sign">,</span> attr_id<span class="sign">,</span> hdferr<span class="sign">,</span> aapl_id<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> obj_id <span class="sign">!</span> Object identifier
- CHARACTER<span class="sign">(</span>LEN<span class="sign">=</span><span class="sign">*</span><span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> attr_name <span class="sign">!</span> Attribute name
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> attr_id <span class="sign">!</span> Attribute identifier
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
- <span class="sign">!</span> Success<span class="sign">:</span> 0
- <span class="sign">!</span> Failure<span class="sign">:</span> <span class="sign">-</span>1
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> OPTIONAL<span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> aapl_id <span class="sign">!</span> Attribute access property list
-</pre>
-
-<hr />
-<a name="H5A2fh5aopen5fidx5ff"></a>
-<a name="robo106"></a><h2>h5aopen_idx_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo27">H5A</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5aopen_idx_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Opens the attribute specified by its index.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> obj_id - identifier of a group, dataset, or named
- datatype an attribute to be attached to
- index - index of the attribute to open (zero-based)
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> attr_id - attribute identifier
- hdferr - Returns 0 if successful and -1 if fails
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- August 12, 1999
-</pre>
-<p class="item_name">HISTORY</p>
-<pre> Explicit Fortran interfaces are added for
- called C functions (it is needed for Windows
- port). February 27, 2001
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5aopen_idx_f</strong><span class="sign">(</span>obj_id<span class="sign">,</span> index<span class="sign">,</span> attr_id<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> obj_id <span class="sign">!</span> Object identifier
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> index <span class="sign">!</span> Attribute index
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> attr_id <span class="sign">!</span> Attribute identifier
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
-</pre>
-
-<hr />
-<a name="H5A2fh5aopen5fname5ff"></a>
-<a name="robo107"></a><h2>h5aopen_name_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo27">H5A</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5aopen_name_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Opens an attribute specified by name.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> obj_id - identifier of a group, dataset, or named
- datatype atttribute to be attached to
- name - attribute name
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> attr_id - attribute identifier
- hdferr - Returns 0 if successful and -1 if fails
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- August 12, 1999
-</pre>
-<p class="item_name">HISTORY</p>
-<pre> Explicit Fortran interfaces are added for
- called C functions (it is needed for Windows
- port). February 27, 2001
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5aopen_name_f</strong><span class="sign">(</span>obj_id<span class="sign">,</span> name<span class="sign">,</span> attr_id<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> obj_id <span class="sign">!</span> Object identifier
- CHARACTER<span class="sign">(</span>LEN<span class="sign">=</span><span class="sign">*</span><span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> name <span class="sign">!</span> Attribute name
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> attr_id <span class="sign">!</span> Attribute identifier
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
-</pre>
-
-<hr />
-<a name="H5A2fh5arename5fby5fname5ff"></a>
-<a name="robo109"></a><h2>h5arename_by_name_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo27">H5A</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5arename_by_name_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Renames an attribute
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> loc_id - Location or object identifier; may be dataset or group
- obj_name - Name of object, relative to location,
- whose attribute is to be renamed
- old_attr_name - Prior attribute name
- new_attr_name - New attribute name
- lapl_id - Link access property list identifier
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> hdferr - Returns 0 if successful and -1 if fails
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> M. Scot Breitenfeld
- January, 2008
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5arename_by_name_f</strong><span class="sign">(</span>loc_id<span class="sign">,</span> obj_name<span class="sign">,</span> old_attr_name<span class="sign">,</span> new_attr_name<span class="sign">,</span> <span class="sign">&amp;</span>
- hdferr<span class="sign">,</span> lapl_id<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> loc_id <span class="sign">!</span> Object identifier
- CHARACTER<span class="sign">(</span>LEN<span class="sign">=</span><span class="sign">*</span><span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> obj_name <span class="sign">!</span> Name of object<span class="sign">,</span> relative to location<span class="sign">,</span>
- <span class="sign">!</span> whose attribute is to be renamed
- CHARACTER<span class="sign">(</span>LEN<span class="sign">=</span><span class="sign">*</span><span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> old_attr_name <span class="sign">!</span> Prior attribute name
- CHARACTER<span class="sign">(</span>LEN<span class="sign">=</span><span class="sign">*</span><span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> new_attr_name <span class="sign">!</span> New attribute name
-
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code<span class="sign">:</span>
- <span class="sign">!</span> 0 on success and <span class="sign">-</span>1 on failure
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> OPTIONAL<span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> lapl_id <span class="sign">!</span> Link access property list identifier
-</pre>
-
-<hr />
-<a name="H5A2fh5arename5ff"></a>
-<a name="robo110"></a><h2>h5arename_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo27">H5A</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5arename_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Renames an attribute
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> loc_id - Location or object identifier; may be dataset or group
- old_attr_name - Prior attribute name
- new_attr_name - New attribute name
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> hdferr - Returns 0 if successful and -1 if fails
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> M. Scot Breitenfeld
- January, 2008
-</pre>
-<p class="item_name">HISTORY</p>
-<pre> N/A
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5arename_f</strong><span class="sign">(</span>loc_id<span class="sign">,</span> old_attr_name<span class="sign">,</span> new_attr_name<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> loc_id <span class="sign">!</span> Object identifier
- CHARACTER<span class="sign">(</span>LEN<span class="sign">=</span><span class="sign">*</span><span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> old_attr_name <span class="sign">!</span> Prior attribute name
- CHARACTER<span class="sign">(</span>LEN<span class="sign">=</span><span class="sign">*</span><span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> new_attr_name <span class="sign">!</span> New attribute name
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code<span class="sign">:</span>
- <span class="sign">!</span> 0 on success and <span class="sign">-</span>1 on failure
-</pre>
-
-</div> <!-- content -->
-<div id="footer">
-<p>Generated from ./src/H5Aff.f90 on Sun Aug 14 2011 22:49:38
-</p>
-</div> <!-- footer -->
-</body>
-</html>
diff --git a/fortran/doc/DevelGuide/src/H5Df_c.html b/fortran/doc/DevelGuide/src/H5Df_c.html
deleted file mode 100644
index 1e163f2..0000000
--- a/fortran/doc/DevelGuide/src/H5Df_c.html
+++ /dev/null
@@ -1,41 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-type" content="text/html; charset=ISO-8859-1" />
-<link rel="stylesheet" href="../robodoc.css" type="text/css" />
-<title>./src/H5Df.c</title>
-<!-- Source: ./src/H5Df.c -->
-</head>
-<body>
-<div id="logo">
-<a name="robo_top_of_doc">HDF5 FORTRAN Developer's Guide</a>
-</div> <!-- logo -->
-<div id="navigation">
-<a class="menuitem" href="../toc_index.html#top">Table of Contents</a>
-<a class="menuitem" href="../robo_sourcefiles.html#top">Sourcefiles</a>
-<a class="menuitem" href="../masterindex.html#top">Index</a>
-<a class="menuitem" href="../robo_functions.html#top">Functions</a>
-<a class="menuitem" href="../robo_modules.html#top">Modules</a>
-<a class="menuitem" href="../robo_procedures.html#top">Procedures</a>
-<a class="menuitem" href="../robo_subroutines.html#top">Subroutines</a>
-</div> <!-- navigation -->
-<div id="content">
-<hr />
-<a name="H5Df2fH5Df"></a>
-<a name="robo34"></a><h2>H5Df</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="../robo_modules.html#robo_top_of_doc">Modules</a> ]</p>
-<p class="item_name">PURPOSE</p>
-<pre> This file contains C stubs for <a href="./H5Dff_f90.html#robo31">H5D</a> Fortran APIs
-</pre>
-
-</div> <!-- content -->
-<div id="footer">
-<p>Generated from ./src/H5Df.c on Sun Aug 14 2011 22:49:38
-</p>
-</div> <!-- footer -->
-</body>
-</html>
diff --git a/fortran/doc/DevelGuide/src/H5Dff_F03_f90.html b/fortran/doc/DevelGuide/src/H5Dff_F03_f90.html
deleted file mode 100644
index 0bb4173..0000000
--- a/fortran/doc/DevelGuide/src/H5Dff_F03_f90.html
+++ /dev/null
@@ -1,138 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-type" content="text/html; charset=ISO-8859-1" />
-<link rel="stylesheet" href="../robodoc.css" type="text/css" />
-<title>./src/H5Dff_F03.f90</title>
-<!-- Source: ./src/H5Dff_F03.f90 -->
-</head>
-<body>
-<div id="logo">
-<a name="robo_top_of_doc">HDF5 FORTRAN Developer's Guide</a>
-</div> <!-- logo -->
-<div id="navigation">
-<a class="menuitem" href="../toc_index.html#top">Table of Contents</a>
-<a class="menuitem" href="../robo_sourcefiles.html#top">Sourcefiles</a>
-<a class="menuitem" href="../masterindex.html#top">Index</a>
-<a class="menuitem" href="../robo_functions.html#top">Functions</a>
-<a class="menuitem" href="../robo_modules.html#top">Modules</a>
-<a class="menuitem" href="../robo_procedures.html#top">Procedures</a>
-<a class="menuitem" href="../robo_subroutines.html#top">Subroutines</a>
-</div> <!-- navigation -->
-<div id="content">
-<hr />
-<a name="ROBODoc2fH5D2028F0329"></a>
-<a name="robo32"></a><h2>H5D (F03)</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="../robo_modules.html#robo_top_of_doc">Modules</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> H5D_PROVISIONAL
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> This file contains Fortran 90 and Fortran 2003 interfaces for <a href="./H5Dff_f90.html#robo31">H5D</a> functions.
- It contains the same functions as H5Dff_DEPRECIATE.f90 but includes the
- Fortran 2003 functions and the interface listings. This file will be compiled
- instead of H5Dff_DEPRECIATE.f90 if Fortran 2003 functions are enabled.
-</pre>
-<p class="item_name">NOTES</p>
-<pre> (1) The maximum rank of an array allowed in Fortran is 7, therefore
- we only provide an interface for arrays up to and including rank 7.
-
- (2) Unfortunately we are using a generic interface and one of the factors
- used in determining the proper routine to select is that of the array
- rank being passed. Therefore, we can not create just one subroutine for
- each array type (integer, real, etc...) and use a
- rank 1 array of assumed size to handle multiple ranks, i.e.
- (i.e. integer, dimension(*) :: ... )
- (i.e. real , dimension(*) :: ... ) etc...
-
- (3) Could not place the USE ISO_C_BINDING in the module header because it may
- conflict with the USE ISO_C_BINDING included in the user's program. Moved
- the statement instead to each subroutine.
-
-
- (4) C_LOC and character strings according to the Fortran 2003 standard:
-
- 15.1.2.5 C_LOC(X)
-
- Argument. X shall either
-
- (A) have interoperable type and type parameters and be
- (a) a variable that has the TARGET attribute and is interoperable,
- (b) an allocated allocatable variable that has the TARGET attribute
- and is not an array of zero size, or
- (c) an associated scalar pointer, or
- (B) be a nonpolymorphic scalar, have no length type parameters, and be
- (a) a nonallocatable, nonpointer variable that has the TARGET attribute,
- (b) an allocated allocatable variable that has the TARGET attribute, or
- (c) an associated pointer.
-
- - When X is a character, for interoperability the standard is:
-
- 15.2.1 Interoperability of intrinsic types
-
- ...if the type is character, interoperability also requires that the length type parameter
- be omitted or be specified by an initialization expression whose value is one.
-
- THEREFORE compilers that have not extended the standard require the
- argument in C_LOC to be of the variant:
-
- CHARACTER(LEN=1), TARGET :: chr
- or
- CHARACTER, TARGET :: chr
- (B)
- *** IMPORTANT ***
- If you add a new <a href="./H5Dff_f90.html#robo31">H5D</a> function you must add the function name to the
- Windows dll file 'hdf5_fortrandll.def' in the fortran/src directory.
- This is needed for Windows based operating systems.
-</pre>
-
-<hr />
-<a name="H5D2fh5dvlen5freclaim"></a>
-<a name="robo127"></a><h2>h5dvlen_reclaim</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="./H5Dff_f90.html#robo31">H5D</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5dvlen_reclaim</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Reclaims VL datatype memory buffers.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> type_id - Identifier of the datatype.
- space_id - Identifier of the dataspace.
- plist_id - Identifier of the property list used to create the buffer.
- buf - Pointer to the buffer to be reclaimed.
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> hdferr - error code
- Success: 0
- Failure: -1
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> M. Scot Breitenfeld
- January 11, 2011
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE H5Dvlen_reclaim_f<span class="sign">(</span>type_id<span class="sign">,</span> space_id<span class="sign">,</span> plist_id<span class="sign">,</span> buf<span class="sign">,</span> hdferr<span class="sign">)</span>
-
- USE ISO_C_BINDING
- IMPLICIT NONE
-
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> type_id <span class="sign">!</span> Identifier of the datatype<span class="sign">.</span>
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> space_id <span class="sign">!</span> Identifier of the dataspace<span class="sign">.</span>
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> plist_id <span class="sign">!</span> Identifier of the property list used to create the buffer<span class="sign">.</span>
- TYPE<span class="sign">(</span>C_PTR<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>INOUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> buf <span class="sign">!</span> Pointer to the buffer to be reclaimed<span class="sign">.</span>
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code<span class="sign">.</span>
-</pre>
-
-</div> <!-- content -->
-<div id="footer">
-<p>Generated from ./src/H5Dff_F03.f90 on Sun Aug 14 2011 22:49:38
-</p>
-</div> <!-- footer -->
-</body>
-</html>
diff --git a/fortran/doc/DevelGuide/src/H5Dff_F90_f90.html b/fortran/doc/DevelGuide/src/H5Dff_F90_f90.html
deleted file mode 100644
index afebdd8..0000000
--- a/fortran/doc/DevelGuide/src/H5Dff_F90_f90.html
+++ /dev/null
@@ -1,116 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-type" content="text/html; charset=ISO-8859-1" />
-<link rel="stylesheet" href="../robodoc.css" type="text/css" />
-<title>./src/H5Dff_F90.f90</title>
-<!-- Source: ./src/H5Dff_F90.f90 -->
-</head>
-<body>
-<div id="logo">
-<a name="robo_top_of_doc">HDF5 FORTRAN Developer's Guide</a>
-</div> <!-- logo -->
-<div id="navigation">
-<a class="menuitem" href="../toc_index.html#top">Table of Contents</a>
-<a class="menuitem" href="../robo_sourcefiles.html#top">Sourcefiles</a>
-<a class="menuitem" href="../masterindex.html#top">Index</a>
-<a class="menuitem" href="../robo_functions.html#top">Functions</a>
-<a class="menuitem" href="../robo_modules.html#top">Modules</a>
-<a class="menuitem" href="../robo_procedures.html#top">Procedures</a>
-<a class="menuitem" href="../robo_subroutines.html#top">Subroutines</a>
-</div> <!-- navigation -->
-<div id="content">
-<hr />
-<a name="ROBODoc2fH5D2028F9029"></a>
-<a name="robo33"></a><h2>H5D (F90)</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="../robo_modules.html#robo_top_of_doc">Modules</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> H5D_PROVISIONAL
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> This file contains Fortran 90 interfaces for <a href="./H5Dff_f90.html#robo31">H5D</a> functions. It contains
- the same functions as <a href="./H5Dff_F03_f90.html#robo_top_of_doc">H5Dff_F03.f90</a> but excludes the Fortran 2003 functions
- and the interface listings. This file will be compiled instead of <a href="./H5Dff_F03_f90.html#robo_top_of_doc">H5Dff_F03.f90</a>
- if Fortran 2003 functions are not enabled.
-</pre>
-<p class="item_name">NOTES</p>
-<pre> (1) The maximum rank of an array allowed in Fortran is 7, therefore
- we only provide an interface for arrays up to and including rank 7.
-
- (2) Unfortunately we are using a generic interface and one of the factors
- used in determining the proper routine to select is that of the array
- rank being passed, therefore we can not create just one subroutine for
- each array type (integer, real, etc...) of various ranks and then use a
- rank 1 array of assumed size in the just one subroutine,
- (i.e. integer, dimension(*) :: ... )
- (i.e. real , dimension(*) :: ... ) etc...
-
- (3)
- *** IMPORTANT ***
- If you add a new <a href="./H5Dff_f90.html#robo31">H5D</a> function you must add the function name to the
- Windows dll file 'hdf5_fortrandll.def' in the fortran/src directory.
- This is needed for Windows based operating systems.
-</pre>
-
-<hr />
-<a name="H5D2fh5dread5ff"></a>
-<a name="robo124"></a><h2>h5dread_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="./H5Dff_f90.html#robo31">H5D</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5dread_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Reads raw data from the specified dataset into buf,
- converting from file datatype and dataspace to memory
- datatype and dataspace.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> dset_id - dataset identifier
- mem_type_id - memory type identifier
- dims - 1-dim array of size 7; dims(k) has the size
- of k-th dimension of the buf array
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> buf - buffer to read data in
- hdferr: - error code
- Success: 0
- Failure: -1
-</pre>
-<p class="item_name">OPTIONAL PARAMETERS</p>
-<pre> mem_space_id - memory dataspace identifier
- file_space_id - file dataspace identifier
- xfer_prp - trasfer property list identifier
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- August 12, 1999
-</pre>
-<p class="item_name">HISTORY</p>
-<pre> Explicit Fortran interfaces were added for
- called C functions (it is needed for Windows
- port). February 28, 2001
-
- dims parameter was added to make code portable;
- n parameter was replaced with dims parameter in
- the h5dwrite_reference_obj and h5dwrite_reference_dsetreg
- functions. April 2, 2001
-</pre>
-<p class="item_name">NOTES</p>
-<pre> This function is overloaded to read INTEGER,
- REAL, DOUBLE PRECISION and CHARACTER buffers
- up to 7 dimensions, and one dimensional buffers
- of the TYPE(hobj_ref_t_f) and TYPE(hdset_reg_ref_t_f) types.
-</pre>
-
-</div> <!-- content -->
-<div id="footer">
-<p>Generated from ./src/H5Dff_F90.f90 on Sun Aug 14 2011 22:49:38
-</p>
-</div> <!-- footer -->
-</body>
-</html>
diff --git a/fortran/doc/DevelGuide/src/H5Dff_f90.html b/fortran/doc/DevelGuide/src/H5Dff_f90.html
deleted file mode 100644
index 5444a93..0000000
--- a/fortran/doc/DevelGuide/src/H5Dff_f90.html
+++ /dev/null
@@ -1,506 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-type" content="text/html; charset=ISO-8859-1" />
-<link rel="stylesheet" href="../robodoc.css" type="text/css" />
-<title>./src/H5Dff.f90</title>
-<!-- Source: ./src/H5Dff.f90 -->
-</head>
-<body>
-<div id="logo">
-<a name="robo_top_of_doc">HDF5 FORTRAN Developer's Guide</a>
-</div> <!-- logo -->
-<div id="navigation">
-<a class="menuitem" href="../toc_index.html#top">Table of Contents</a>
-<a class="menuitem" href="../robo_sourcefiles.html#top">Sourcefiles</a>
-<a class="menuitem" href="../masterindex.html#top">Index</a>
-<a class="menuitem" href="../robo_functions.html#top">Functions</a>
-<a class="menuitem" href="../robo_modules.html#top">Modules</a>
-<a class="menuitem" href="../robo_procedures.html#top">Procedures</a>
-<a class="menuitem" href="../robo_subroutines.html#top">Subroutines</a>
-</div> <!-- navigation -->
-<div id="content">
-<hr />
-<a name="ROBODoc2fH5D"></a>
-<a name="robo31"></a><h2>H5D</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="../robo_modules.html#robo_top_of_doc">Modules</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> MODULE <strong>H5D</strong>
-</pre>
-<p class="item_name">FILE</p>
-<pre> fortran/src/<a href="#robo_top_of_doc">H5Dff.f90</a>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> This file contains Fortran interfaces for <strong>H5D</strong> functions. It includes
- all the functions that are independent on whether the Fortran 2003 functions
- are enabled or disabled.
-</pre>
-<p class="item_name">NOTES</p>
-<pre> *** IMPORTANT ***
- If you add a new <strong>H5D</strong> function you must add the function name to the
- Windows dll file 'hdf5_fortrandll.def' in the fortran/src directory.
- This is needed for Windows based operating systems.
-</pre>
-
-<hr />
-<a name="H5D2fh5dclose5ff"></a>
-<a name="robo113"></a><h2>h5dclose_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo31">H5D</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5dclose_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Closes a dataset.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> dset_id - dataset identifier
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> hdferr - Returns 0 if successful and -1 if fails
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- August 12, 1999
-</pre>
-<p class="item_name">HISTORY</p>
-<pre> Explicit Fortran interfaces were added for
- called C functions (it is needed for Windows
- port). February 28, 2001
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5dclose_f</strong><span class="sign">(</span>dset_id<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> dset_id <span class="sign">!</span> Dataset identifier
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
-</pre>
-
-<hr />
-<a name="H5D2fh5dcreate5fanon5ff"></a>
-<a name="robo114"></a><h2>h5dcreate_anon_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo31">H5D</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5dcreate_anon_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Creates a dataset in a file without linking it into the file structure
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> loc_id - Identifier of the file or group within which to create the dataset.
- type_id - Identifier of the datatype to use when creating the dataset.
- space_id - Identifier of the dataspace to use when creating the dataset.
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> dset_id - dataset identifier
- hdferr - Returns 0 if successful and -1 if fails
-</pre>
-<p class="item_name">OPTIONAL PARAMETERS</p>
-<pre> dcpl_id - Dataset creation property list identifier.
- dapl_id - Dataset access property list identifier.
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> M. Scot Breitenfeld
- February 11, 2008
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5dcreate_anon_f</strong><span class="sign">(</span>loc_id<span class="sign">,</span> type_id<span class="sign">,</span> space_id<span class="sign">,</span> dset_id<span class="sign">,</span> hdferr<span class="sign">,</span> dcpl_id<span class="sign">,</span> dapl_id<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> loc_id <span class="sign">!</span> File or group identifier<span class="sign">.</span>
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> type_id <span class="sign">!</span> Datatype identifier<span class="sign">.</span>
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> space_id <span class="sign">!</span> Dataspace identifier<span class="sign">.</span>
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> dset_id <span class="sign">!</span> Dataset identifier<span class="sign">.</span>
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code<span class="sign">.</span>
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> OPTIONAL<span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> dcpl_id <span class="sign">!</span> Dataset creation property list identifier<span class="sign">.</span>
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> OPTIONAL<span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> dapl_id <span class="sign">!</span> Dataset access property list identifier<span class="sign">.</span>
-</pre>
-
-<hr />
-<a name="H5D2fh5dcreate5ff"></a>
-<a name="robo115"></a><h2>h5dcreate_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo31">H5D</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5dcreate_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Creates a dataset at the specified location
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> loc_id - file or group identifier
- name - dataset name
- type_id - dataset datatype identifier
- space_id - dataset dataspace identifier
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> dset_id - dataset identifier
- hdferr - Returns 0 if successful and -1 if fails
-</pre>
-<p class="item_name">OPTIONAL PARAMETERS</p>
-<pre> creation_prp - Dataset creation property list
- lcpl_id - Link creation property list
- dapl_id - Dataset access property list
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- August 12, 1999
-</pre>
-<p class="item_name">HISTORY</p>
-<pre> - Explicit Fortran interfaces were added for
- called C functions (it is needed for Windows
- port). February 28, 2001
-
- - Added version's 1.8 new optional parameters
- February, 2008
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5dcreate_f</strong><span class="sign">(</span>loc_id<span class="sign">,</span> name<span class="sign">,</span> type_id<span class="sign">,</span> space_id<span class="sign">,</span> dset_id<span class="sign">,</span> <span class="sign">&amp;</span>
- hdferr<span class="sign">,</span> dcpl_id<span class="sign">,</span> lcpl_id<span class="sign">,</span> dapl_id<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> loc_id <span class="sign">!</span> File or group identifier
- CHARACTER<span class="sign">(</span>LEN<span class="sign">=</span><span class="sign">*</span><span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> name <span class="sign">!</span> Name of the dataset
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> type_id <span class="sign">!</span> Datatype identifier
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> space_id <span class="sign">!</span> Dataspace identifier
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> dset_id <span class="sign">!</span> Dataset identifier
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
-</pre>
-
-<hr />
-<a name="H5D2fh5dget5faccess5fplist5ff"></a>
-<a name="robo116"></a><h2>h5dget_access_plist_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo31">H5D</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5dget_access_plist_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Returns a copy of the dataset creation property list.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> dset_id - Dataset identifier
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> plist_id - Dataset access property list identifier
- hdferr - Returns 0 if successful and -1 if fails
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> M. Scot Breitenfeld
- April 13, 2009
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source">SUBROUTINE <strong>h5dget_access_plist_f</strong><span class="sign">(</span>dset_id<span class="sign">,</span> plist_id<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> dset_id
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> plist_id
- INTEGER <span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr
-</pre>
-
-<hr />
-<a name="H5D2fh5dget5fcreate5fplist5ff"></a>
-<a name="robo117"></a><h2>h5dget_create_plist_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo31">H5D</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5dget_create_plist_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Returns an identifier for a copy of the dataset creation
- property list for a dataset.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> dataset_id - dataset identifier
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> plist_id - creation property list identifier
- hdferr - Returns 0 if successful and -1 if fails
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- August 12, 1999
-</pre>
-<p class="item_name">HISTORY</p>
-<pre> Explicit Fortran interfaces were added for
- called C functions (it is needed for Windows
- port). February 28, 2001
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5dget_create_plist_f</strong><span class="sign">(</span>dataset_id<span class="sign">,</span> plist_id<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> dataset_id <span class="sign">!</span> Dataset identifier
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> plist_id <span class="sign">!</span> Dataset creation
- <span class="sign">!</span> property list identifier
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
-</pre>
-
-<hr />
-<a name="H5D2fh5dget5fspace5ff"></a>
-<a name="robo118"></a><h2>h5dget_space_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo31">H5D</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5dget_space_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Returns an identifier for a copy of the dataspace for a
- dataset.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> dataset_id - dataset identifier
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> dataspace_id - dataspace identifier
- hdferr - Returns 0 if successful and -1 if fails
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- August 12, 1999
-</pre>
-<p class="item_name">HISTORY</p>
-<pre> Explicit Fortran interfaces were added for
- called C functions (it is needed for Windows
- port). February 28, 2001
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5dget_space_f</strong><span class="sign">(</span>dataset_id<span class="sign">,</span> dataspace_id<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> dataset_id <span class="sign">!</span> Dataset identifier
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> dataspace_id <span class="sign">!</span> Dataspace identifier
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
-</pre>
-
-<hr />
-<a name="H5D2fh5dget5fspace5fstatus5ff"></a>
-<a name="robo119"></a><h2>h5dget_space_status_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo31">H5D</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5dget_space_status_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Returns the status of data space allocation.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> dset_id - dataset identifier
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> flag - status; may have one of the following values:
- H5D_SPACE_STS_ERROR_F
- H5D_SPACE_STS_NOT_ALLOCATED_F
- H5D_SPACE_STS_PART_ALLOCATED_F
- H5D_SPACE_STS_ALLOCATED_F
- hdferr - Returns 0 if successful and -1 if fails
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- March 12, 2003
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5dget_space_status_f</strong><span class="sign">(</span>dset_id<span class="sign">,</span> flag<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> dset_id <span class="sign">!</span> Dataspace identifier
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> flag <span class="sign">!</span> Memory buffer to fill in
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
-</pre>
-
-<hr />
-<a name="H5D2fh5dget5fstorage5fsize5ff"></a>
-<a name="robo120"></a><h2>h5dget_storage_size_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo31">H5D</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5dget_storage_size_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Returns the amount of storage requires by a dataset
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> dataset_id - dataset identifier
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> size - datastorage size
- hdferr - Returns 0 if successful and -1 if fails
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- October 15, 2002
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5dget_storage_size_f</strong><span class="sign">(</span>dataset_id<span class="sign">,</span> size<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> dataset_id <span class="sign">!</span> Dataset identifier
- INTEGER<span class="sign">(</span>HSIZE_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> size <span class="sign">!</span> Amount of storage
- <span class="sign">!</span> allocated <span class="keyword">for</span> dataset
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
-</pre>
-
-<hr />
-<a name="H5D2fh5dget5ftype5ff"></a>
-<a name="robo121"></a><h2>h5dget_type_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo31">H5D</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5dget_type_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Returns an identifier for a copy of the datatype for a
- dataset.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> dataset_id - dataset identifier
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> datatype_id - dataspace identifier
- hdferr - Returns 0 if successful and -1 if fails
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- August 12, 1999
-</pre>
-<p class="item_name">HISTORY</p>
-<pre> Explicit Fortran interfaces were added for
- called C functions (it is needed for Windows
- port). February 28, 2001
-</pre>
-<p class="item_name">NOTES</p>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5dget_type_f</strong><span class="sign">(</span>dataset_id<span class="sign">,</span> datatype_id<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> dataset_id <span class="sign">!</span> Dataset identifier
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> datatype_id <span class="sign">!</span> Datatype identifier
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
-</pre>
-
-<hr />
-<a name="H5D2fh5dopen5ff"></a>
-<a name="robo123"></a><h2>h5dopen_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo31">H5D</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5dopen_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Opens an existing dataset.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> loc_id - file or group identifier
- name - dataset name
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> dset_id - dataset identifier
- hdferr - Returns 0 if successful and -1 if fails
-</pre>
-<p class="item_name">OPTIONAL PARAMETERS</p>
-<pre> dapl_id - Dataset access property list
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- August 12, 1999
-</pre>
-<p class="item_name">HISTORY</p>
-<pre> -Explicit Fortran interfaces were added for
- called C functions (it is needed for Windows
- port). February 28, 2001
-
- -Added 1.8 (optional) parameter dapl_id
- February, 2008, M. Scot Breitenfeld
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5dopen_f</strong><span class="sign">(</span>loc_id<span class="sign">,</span> name<span class="sign">,</span> dset_id<span class="sign">,</span> hdferr<span class="sign">,</span> dapl_id<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> loc_id <span class="sign">!</span> File or group identifier
- CHARACTER<span class="sign">(</span>LEN<span class="sign">=</span><span class="sign">*</span><span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> name <span class="sign">!</span> Name of the dataset
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> dset_id <span class="sign">!</span> Dataset identifier
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> OPTIONAL<span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> dapl_id <span class="sign">!</span> Dataset access property list
-</pre>
-
-<hr />
-<a name="H5D2fh5dset5fextent"></a>
-<a name="robo125"></a><h2>h5dset_extent</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo31">H5D</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5dset_extent</strong> (instead of obsolete name: h5dextend_f)
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Extends a dataset with unlimited dimension.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> dataset_id - dataset identifier
- size - array containing the new magnitude of
- each dimension
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> hdferr - Returns 0 if successful and -1 if fails
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- August 12, 1999
-</pre>
-<p class="item_name">HISTORY</p>
-<pre> Explicit Fortran interfaces were added for
- called C functions (it is needed for Windows
- port). February 28, 2001
-
- Changed name from the now obsolete h5dextend_f
- to h5dset_extent_f. Provided interface to old name
- for backward compatability. -MSB- March 14, 2008
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE h5dset_extent_f<span class="sign">(</span>dataset_id<span class="sign">,</span> size<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> dataset_id <span class="sign">!</span> Dataset identifier
- INTEGER<span class="sign">(</span>HSIZE_T<span class="sign">)</span><span class="sign">,</span> DIMENSION<span class="comment">(*), INTENT(IN) :: size
- ! Array containing
- ! dimensions' sizes
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-</pre>
-
-<hr />
-<a name="H5D2fh5dvlen5fget5fmax5flen5ff"></a>
-<a name="robo126"></a><h2>h5dvlen_get_max_len_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo31">H5D</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5dvlen_get_max_len_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Returns maximum length of the VL array elements
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> dataset_id - dataset identifier
- type_id - datatype identifier
- space_id - dataspace identifier
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> size - buffer size
- hdferr - Returns 0 if successful and -1 if fails
-</pre>
-<p class="item_name">OPTIONAL PARAMETERS</p>
-<pre> NONE
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- October 15, 2002
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5dvlen_get_max_len_f</strong><span class="sign">(</span>dataset_id<span class="sign">,</span> type_id<span class="sign">,</span> space_id<span class="sign">,</span> len<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> dataset_id <span class="sign">!</span> Dataset identifier
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> type_id <span class="sign">!</span> Datatype identifier
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> space_id <span class="sign">!</span> Dataspace identifier
- INTEGER<span class="sign">(</span>SIZE_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> len <span class="sign">!</span> Maximum length of the element
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
-</pre>
-
-</div> <!-- content -->
-<div id="footer">
-<p>Generated from ./src/H5Dff.f90 on Sun Aug 14 2011 22:49:38
-</p>
-</div> <!-- footer -->
-</body>
-</html>
diff --git a/fortran/doc/DevelGuide/src/H5Ef_c.html b/fortran/doc/DevelGuide/src/H5Ef_c.html
deleted file mode 100644
index 79b7914..0000000
--- a/fortran/doc/DevelGuide/src/H5Ef_c.html
+++ /dev/null
@@ -1,41 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-type" content="text/html; charset=ISO-8859-1" />
-<link rel="stylesheet" href="../robodoc.css" type="text/css" />
-<title>./src/H5Ef.c</title>
-<!-- Source: ./src/H5Ef.c -->
-</head>
-<body>
-<div id="logo">
-<a name="robo_top_of_doc">HDF5 FORTRAN Developer's Guide</a>
-</div> <!-- logo -->
-<div id="navigation">
-<a class="menuitem" href="../toc_index.html#top">Table of Contents</a>
-<a class="menuitem" href="../robo_sourcefiles.html#top">Sourcefiles</a>
-<a class="menuitem" href="../masterindex.html#top">Index</a>
-<a class="menuitem" href="../robo_functions.html#top">Functions</a>
-<a class="menuitem" href="../robo_modules.html#top">Modules</a>
-<a class="menuitem" href="../robo_procedures.html#top">Procedures</a>
-<a class="menuitem" href="../robo_subroutines.html#top">Subroutines</a>
-</div> <!-- navigation -->
-<div id="content">
-<hr />
-<a name="H5Ef2fH5Ef"></a>
-<a name="robo38"></a><h2>H5Ef</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="../robo_modules.html#robo_top_of_doc">Modules</a> ]</p>
-<p class="item_name">PURPOSE</p>
-<pre> This file contains C stubs for <a href="./H5Eff_f90.html#robo35">H5E</a> Fortran APIs
-</pre>
-
-</div> <!-- content -->
-<div id="footer">
-<p>Generated from ./src/H5Ef.c on Sun Aug 14 2011 22:49:38
-</p>
-</div> <!-- footer -->
-</body>
-</html>
diff --git a/fortran/doc/DevelGuide/src/H5Eff_f90.html b/fortran/doc/DevelGuide/src/H5Eff_f90.html
deleted file mode 100644
index 7eb95e6..0000000
--- a/fortran/doc/DevelGuide/src/H5Eff_f90.html
+++ /dev/null
@@ -1,197 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-type" content="text/html; charset=ISO-8859-1" />
-<link rel="stylesheet" href="../robodoc.css" type="text/css" />
-<title>./src/H5Eff.f90</title>
-<!-- Source: ./src/H5Eff.f90 -->
-</head>
-<body>
-<div id="logo">
-<a name="robo_top_of_doc">HDF5 FORTRAN Developer's Guide</a>
-</div> <!-- logo -->
-<div id="navigation">
-<a class="menuitem" href="../toc_index.html#top">Table of Contents</a>
-<a class="menuitem" href="../robo_sourcefiles.html#top">Sourcefiles</a>
-<a class="menuitem" href="../masterindex.html#top">Index</a>
-<a class="menuitem" href="../robo_functions.html#top">Functions</a>
-<a class="menuitem" href="../robo_modules.html#top">Modules</a>
-<a class="menuitem" href="../robo_procedures.html#top">Procedures</a>
-<a class="menuitem" href="../robo_subroutines.html#top">Subroutines</a>
-</div> <!-- navigation -->
-<div id="content">
-<hr />
-<a name="ROBODoc2fH5E"></a>
-<a name="robo35"></a><h2>H5E</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="../robo_modules.html#robo_top_of_doc">Modules</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> MODULE <strong>H5E</strong>
-</pre>
-<p class="item_name">FILE</p>
-<pre> fortran/src/<a href="#robo_top_of_doc">H5Eff.f90</a>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> This Module contains Fortran interfaces for <strong>H5E</strong> functions.
-</pre>
-<p class="item_name">NOTES</p>
-<pre> *** IMPORTANT ***
- If you add a new <strong>H5E</strong> function to the module you must add the function name
- to the Windows dll file 'hdf5_fortrandll.def' in the fortran/src directory.
- This is needed for Windows based operating systems.
-</pre>
-
-<hr />
-<a name="H5E2fh5eclear5ff"></a>
-<a name="robo128"></a><h2>h5eclear_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo35">H5E</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5eclear_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Clears the error stack for the current thread.
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> hdferr - Returns 0 if successful and -1 if fails
-</pre>
-<p class="item_name">OPTIONAL PARAMETERS</p>
-<pre> estack_id - Error Stack id
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- August 12, 1999
-</pre>
-<p class="item_name">HISTORY</p>
-<pre> Explicit Fortran interfaces were added for
- called C functions (it is needed for Windows
- port). April 6, 2001
-
- Added optional error stack identifier in order to bring
- the function in line with the h5eclear2 routine.
- MSB, July 9, 2009
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5eclear_f</strong><span class="sign">(</span>hdferr<span class="sign">,</span> estack_id<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> OPTIONAL<span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> estack_id
-</pre>
-
-<hr />
-<a name="H5E2fh5eget5fmajor5ff"></a>
-<a name="robo130"></a><h2>h5eget_major_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo35">H5E</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5eget_major_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Returns a character string describing an error specified
- by a major error number.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> error_no - major error number
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> name - character string describing the error
- namelen - number of characters in the name buffer
- hdferr - Returns 0 if successful and -1 if fails
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- August 12, 1999
-</pre>
-<p class="item_name">HISTORY</p>
-<pre> Explicit Fortran interfaces were added for
- called C functions (it is needed for Windows
- port). April 6, 2001
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5eget_major_f</strong><span class="sign">(</span>error_no<span class="sign">,</span> name<span class="sign">,</span> namelen<span class="sign">,</span> hdferr<span class="sign">)</span>
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> error_no <span class="sign">!</span> Major error number
- CHARACTER<span class="sign">(</span>LEN<span class="sign">=</span><span class="sign">*</span><span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> name <span class="sign">!</span> Character string describing
- <span class="sign">!</span> the error<span class="sign">.</span>
- INTEGER<span class="sign">(</span>SIZE_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> namelen <span class="sign">!</span> Anticipated number of characters
- <span class="sign">!</span> in name<span class="sign">.</span>
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
-</pre>
-
-<hr />
-<a name="H5E2fh5eget5fminor5ff"></a>
-<a name="robo131"></a><h2>h5eget_minor_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo35">H5E</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5eget_minor_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Returns a character string describing an error specified
- by a minor error number.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> error_no - minor error number
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> name - character string describing the error
- hdferr - Returns 0 if successful and -1 if fails
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- August 12, 1999
-</pre>
-<p class="item_name">HISTORY</p>
-<pre> Explicit Fortran interfaces were added for
- called C functions (it is needed for Windows
- port). April 6, 2001
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5eget_minor_f</strong><span class="sign">(</span>error_no<span class="sign">,</span> name<span class="sign">,</span> hdferr<span class="sign">)</span>
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> error_no <span class="sign">!</span> Major error number
- CHARACTER<span class="sign">(</span>LEN<span class="sign">=</span><span class="sign">*</span><span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> name <span class="sign">!</span> Character string describing
- <span class="sign">!</span> the error
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
-</pre>
-
-<hr />
-<a name="H5E2fh5eprint5ff"></a>
-<a name="robo132"></a><h2>h5eprint_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo35">H5E</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5eprint_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Prints the error stack in a default manner.
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> hdferr - Returns 0 if successful and -1 if fails
-</pre>
-<p class="item_name">OPTIONAL PARAMETERS</p>
-<pre> name - name of the file that contains print output
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- August 12, 1999
-</pre>
-<p class="item_name">HISTORY</p>
-<pre> Explicit Fortran interfaces were added for
- called C functions (it is needed for Windows
- port). April 6, 2001
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5eprint_f</strong><span class="sign">(</span>hdferr<span class="sign">,</span> name<span class="sign">)</span>
- CHARACTER<span class="sign">(</span>LEN<span class="sign">=</span><span class="sign">*</span><span class="sign">)</span><span class="sign">,</span> OPTIONAL<span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> name <span class="sign">!</span> File name
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
-</pre>
-
-</div> <!-- content -->
-<div id="footer">
-<p>Generated from ./src/H5Eff.f90 on Sun Aug 14 2011 22:49:38
-</p>
-</div> <!-- footer -->
-</body>
-</html>
diff --git a/fortran/doc/DevelGuide/src/H5FDmpiof_c.html b/fortran/doc/DevelGuide/src/H5FDmpiof_c.html
deleted file mode 100644
index 74143d2..0000000
--- a/fortran/doc/DevelGuide/src/H5FDmpiof_c.html
+++ /dev/null
@@ -1,41 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-type" content="text/html; charset=ISO-8859-1" />
-<link rel="stylesheet" href="../robodoc.css" type="text/css" />
-<title>./src/H5FDmpiof.c</title>
-<!-- Source: ./src/H5FDmpiof.c -->
-</head>
-<body>
-<div id="logo">
-<a name="robo_top_of_doc">HDF5 FORTRAN Developer's Guide</a>
-</div> <!-- logo -->
-<div id="navigation">
-<a class="menuitem" href="../toc_index.html#top">Table of Contents</a>
-<a class="menuitem" href="../robo_sourcefiles.html#top">Sourcefiles</a>
-<a class="menuitem" href="../masterindex.html#top">Index</a>
-<a class="menuitem" href="../robo_functions.html#top">Functions</a>
-<a class="menuitem" href="../robo_modules.html#top">Modules</a>
-<a class="menuitem" href="../robo_procedures.html#top">Procedures</a>
-<a class="menuitem" href="../robo_subroutines.html#top">Subroutines</a>
-</div> <!-- navigation -->
-<div id="content">
-<hr />
-<a name="H5FDmpiof2fH5FDmpiof"></a>
-<a name="robo42"></a><h2>H5FDmpiof</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="../robo_modules.html#robo_top_of_doc">Modules</a> ]</p>
-<p class="item_name">PURPOSE</p>
-<pre> This file contains C stubs for Parallel Fortran APIs
-</pre>
-
-</div> <!-- content -->
-<div id="footer">
-<p>Generated from ./src/H5FDmpiof.c on Sun Aug 14 2011 22:49:38
-</p>
-</div> <!-- footer -->
-</body>
-</html>
diff --git a/fortran/doc/DevelGuide/src/H5FDmpioff_f90.html b/fortran/doc/DevelGuide/src/H5FDmpioff_f90.html
deleted file mode 100644
index 473b5db..0000000
--- a/fortran/doc/DevelGuide/src/H5FDmpioff_f90.html
+++ /dev/null
@@ -1,253 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-type" content="text/html; charset=ISO-8859-1" />
-<link rel="stylesheet" href="../robodoc.css" type="text/css" />
-<title>./src/H5FDmpioff.f90</title>
-<!-- Source: ./src/H5FDmpioff.f90 -->
-</head>
-<body>
-<div id="logo">
-<a name="robo_top_of_doc">HDF5 FORTRAN Developer's Guide</a>
-</div> <!-- logo -->
-<div id="navigation">
-<a class="menuitem" href="../toc_index.html#top">Table of Contents</a>
-<a class="menuitem" href="../robo_sourcefiles.html#top">Sourcefiles</a>
-<a class="menuitem" href="../masterindex.html#top">Index</a>
-<a class="menuitem" href="../robo_functions.html#top">Functions</a>
-<a class="menuitem" href="../robo_modules.html#top">Modules</a>
-<a class="menuitem" href="../robo_procedures.html#top">Procedures</a>
-<a class="menuitem" href="../robo_subroutines.html#top">Subroutines</a>
-</div> <!-- navigation -->
-<div id="content">
-<hr />
-<a name="ROBODoc2fH5FDMPIO"></a>
-<a name="robo41"></a><h2>H5FDMPIO</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="../robo_modules.html#robo_top_of_doc">Modules</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> MODULE <strong>H5FDMPIO</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> This file contains Fortran interfaces for H5P functions needed by
- parallel MPI programs.
-</pre>
-<p class="item_name">NOTES</p>
-<pre> *** IMPORTANT ***
- If you add a new H5P function you must add the function name to the
- Windows dll file 'hdf5_fortrandll.def' in the fortran/src directory.
- This is needed for Windows based operating systems.
-</pre>
-
-<hr />
-<a name="H5FDMPIO2fh5pget5fdxpl5fmpio5ff"></a>
-<a name="robo231"></a><h2>h5pget_dxpl_mpio_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo41">H5FDMPIO</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5pget_dxpl_mpio_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Returns the data transfer mode.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> prp_id - data transfer property list identifier
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> data_xfer_mode- transfer mode; possible values are:
- H5FD_MPIO_INDEPENDENT_F
- H5FD_MPIO_COLLECTIVE_F
- hdferr - Returns 0 if successful and -1 if fails
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- November, 2000
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5pget_dxpl_mpio_f</strong><span class="sign">(</span>prp_id<span class="sign">,</span> data_xfer_mode<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> prp_id <span class="sign">!</span> Property list identifier
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> data_xfer_mode <span class="sign">!</span> Data transfer mode<span class="sign">.</span> Possible values are<span class="sign">:</span>
- <span class="sign">!</span> H5FD_MPIO_INDEPENDENT_F
- <span class="sign">!</span> H5FD_MPIO_COLLECTIVE_F
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
-</pre>
-
-<hr />
-<a name="H5FDMPIO2fh5pget5ffapl5fmpio5ff"></a>
-<a name="robo239"></a><h2>h5pget_fapl_mpio_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo41">H5FDMPIO</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5pget_fapl_mpio_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Returns MPI communicator information.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> prp_id - file access property list identifier
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> comm - MPI-2 communicator
- info - MPI-2 info object
- hdferr - Returns 0 if successful and -1 if fails
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- November, 2000
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5pget_fapl_mpio_f</strong><span class="sign">(</span>prp_id<span class="sign">,</span> comm<span class="sign">,</span> info<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> prp_id <span class="sign">!</span> Property list identifier
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> comm <span class="sign">!</span> buffer to <span class="keyword">return</span> communicator
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> info <span class="sign">!</span> buffer to <span class="keyword">return</span> info object
- <span class="sign">!</span> as defined in MPI_FILE_OPEN of MPI<span class="sign">-</span>2
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
-</pre>
-
-<hr />
-<a name="H5FDMPIO2fh5pget5ffapl5fmpiposix5ff"></a>
-<a name="robo240"></a><h2>h5pget_fapl_mpiposix_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo41">H5FDMPIO</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5pget_fapl_mpiposix_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Returns MPI communicator information.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> prp_id - file access property list identifier
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> comm - MPI-2 communicator
- use_gpfs - flag to use GPFS hints
- hdferr - Returns 0 if successful and -1 if fails
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- May 6, 2003
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5pget_fapl_mpiposix_f</strong><span class="sign">(</span>prp_id<span class="sign">,</span> comm<span class="sign">,</span> use_gpfs<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> prp_id <span class="sign">!</span> Property list identifier
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> comm <span class="sign">!</span> Buffer to <span class="keyword">return</span> communicator
- LOGICAL<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> use_gpfs
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
-</pre>
-
-<hr />
-<a name="H5FDMPIO2fh5pset5fdxpl5fmpio5ff"></a>
-<a name="robo314"></a><h2>h5pset_dxpl_mpio_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo41">H5FDMPIO</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5pset_dxpl_mpio_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Sets data transfer mode.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> prp_id - data transfer property list identifier
- data_xfer_mode - transfer mode; possible values are:
- H5FD_MPIO_INDEPENDENT_F
- H5FD_MPIO_COLLECTIVE_F
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> hdferr - Returns 0 if successful and -1 if fails
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- November, 2000
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5pset_dxpl_mpio_f</strong><span class="sign">(</span>prp_id<span class="sign">,</span> data_xfer_mode<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> prp_id <span class="sign">!</span> Property list identifier
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> data_xfer_mode <span class="sign">!</span> Data transfer mode<span class="sign">.</span> Possible values are<span class="sign">:</span>
- <span class="sign">!</span> H5FD_MPIO_INDEPENDENT_F
- <span class="sign">!</span> H5FD_MPIO_COLLECTIVE_F
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
-</pre>
-
-<hr />
-<a name="H5FDMPIO2fh5pset5ffapl5fmpio5ff"></a>
-<a name="robo320"></a><h2>h5pset_fapl_mpio_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo41">H5FDMPIO</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5pset_fapl_mpio_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Stores MPI IO communicator information to the file
- access property list.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> prp_id - file access property list identifier
- comm - MPI-2 communicator
- info - MPI-2 info object
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> hdferr - Returns 0 if successful and -1 if fails
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- November, 2000
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5pset_fapl_mpio_f</strong><span class="sign">(</span>prp_id<span class="sign">,</span> comm<span class="sign">,</span> info<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> prp_id <span class="sign">!</span> Property list identifier
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> comm <span class="sign">!</span> MPI communicator to be used <span class="keyword">for</span> file open
- <span class="sign">!</span> as defined in MPI_FILE_OPEN of MPI<span class="sign">-</span>2
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> info <span class="sign">!</span> MPI info object to be used <span class="keyword">for</span> file open
- <span class="sign">!</span> as defined in MPI_FILE_OPEN of MPI<span class="sign">-</span>2
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
-</pre>
-
-<hr />
-<a name="H5FDMPIO2fh5pset5ffapl5fmpiposix5ff"></a>
-<a name="robo321"></a><h2>h5pset_fapl_mpiposix_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo41">H5FDMPIO</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5pset_fapl_mpiposix_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Stores MPI IO communicator information to the file
- access property list.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> prp_id - file access property list identifier
- comm - MPI-2 communicator
- use_gpfs - logical flag to use the GPFS hints
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> hdferr - Returns 0 if successful and -1 if fails
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- May 6, 2003
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5pset_fapl_mpiposix_f</strong><span class="sign">(</span>prp_id<span class="sign">,</span> comm<span class="sign">,</span> use_gpfs<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> prp_id <span class="sign">!</span> Property list identifier
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> comm <span class="sign">!</span> MPI communicator to be used <span class="keyword">for</span> file open
- <span class="sign">!</span> as defined in MPI_FILE_OPEN of MPI<span class="sign">-</span>2
- LOGICAL<span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> use_gpfs
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
-</pre>
-
-</div> <!-- content -->
-<div id="footer">
-<p>Generated from ./src/H5FDmpioff.f90 on Sun Aug 14 2011 22:49:38
-</p>
-</div> <!-- footer -->
-</body>
-</html>
diff --git a/fortran/doc/DevelGuide/src/H5Ff_c.html b/fortran/doc/DevelGuide/src/H5Ff_c.html
deleted file mode 100644
index c91a62d..0000000
--- a/fortran/doc/DevelGuide/src/H5Ff_c.html
+++ /dev/null
@@ -1,41 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-type" content="text/html; charset=ISO-8859-1" />
-<link rel="stylesheet" href="../robodoc.css" type="text/css" />
-<title>./src/H5Ff.c</title>
-<!-- Source: ./src/H5Ff.c -->
-</head>
-<body>
-<div id="logo">
-<a name="robo_top_of_doc">HDF5 FORTRAN Developer's Guide</a>
-</div> <!-- logo -->
-<div id="navigation">
-<a class="menuitem" href="../toc_index.html#top">Table of Contents</a>
-<a class="menuitem" href="../robo_sourcefiles.html#top">Sourcefiles</a>
-<a class="menuitem" href="../masterindex.html#top">Index</a>
-<a class="menuitem" href="../robo_functions.html#top">Functions</a>
-<a class="menuitem" href="../robo_modules.html#top">Modules</a>
-<a class="menuitem" href="../robo_procedures.html#top">Procedures</a>
-<a class="menuitem" href="../robo_subroutines.html#top">Subroutines</a>
-</div> <!-- navigation -->
-<div id="content">
-<hr />
-<a name="H5Ff2fH5Ff"></a>
-<a name="robo43"></a><h2>H5Ff</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="../robo_modules.html#robo_top_of_doc">Modules</a> ]</p>
-<p class="item_name">PURPOSE</p>
-<pre> This file contains C stubs for <a href="./H5Fff_f90.html#robo39">H5F</a> Fortran APIs
-</pre>
-
-</div> <!-- content -->
-<div id="footer">
-<p>Generated from ./src/H5Ff.c on Sun Aug 14 2011 22:49:38
-</p>
-</div> <!-- footer -->
-</body>
-</html>
diff --git a/fortran/doc/DevelGuide/src/H5Fff_f90.html b/fortran/doc/DevelGuide/src/H5Fff_f90.html
deleted file mode 100644
index b0164c9..0000000
--- a/fortran/doc/DevelGuide/src/H5Fff_f90.html
+++ /dev/null
@@ -1,653 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-type" content="text/html; charset=ISO-8859-1" />
-<link rel="stylesheet" href="../robodoc.css" type="text/css" />
-<title>./src/H5Fff.f90</title>
-<!-- Source: ./src/H5Fff.f90 -->
-</head>
-<body>
-<div id="logo">
-<a name="robo_top_of_doc">HDF5 FORTRAN Developer's Guide</a>
-</div> <!-- logo -->
-<div id="navigation">
-<a class="menuitem" href="../toc_index.html#top">Table of Contents</a>
-<a class="menuitem" href="../robo_sourcefiles.html#top">Sourcefiles</a>
-<a class="menuitem" href="../masterindex.html#top">Index</a>
-<a class="menuitem" href="../robo_functions.html#top">Functions</a>
-<a class="menuitem" href="../robo_modules.html#top">Modules</a>
-<a class="menuitem" href="../robo_procedures.html#top">Procedures</a>
-<a class="menuitem" href="../robo_subroutines.html#top">Subroutines</a>
-</div> <!-- navigation -->
-<div id="content">
-<hr />
-<a name="ROBODoc2fH5F"></a>
-<a name="robo39"></a><h2>H5F</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="../robo_modules.html#robo_top_of_doc">Modules</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> MODULE <strong>H5F</strong>
-</pre>
-<p class="item_name">FILE</p>
-<pre> <a href="#robo_top_of_doc">H5Fff.f90</a>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> This file contains Fortran interfaces for <strong>H5F</strong> functions.
-</pre>
-<p class="item_name">NOTES</p>
-<pre> *** IMPORTANT ***
- If you add a new <strong>H5F</strong> function you must add the function name to the
- Windows dll file 'hdf5_fortrandll.def' in the fortran/src directory.
- This is needed for Windows based operating systems.
-</pre>
-
-<hr />
-<a name="H5F2fh5fclose5ff"></a>
-<a name="robo135"></a><h2>h5fclose_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo39">H5F</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5fclose_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Closes <a href="./HDF5_f90.html#robo76">HDF5</a> file.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> file_id - file identifier
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> hdferr - Returns 0 if successful and -1 if fails
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- August 12, 1999
-</pre>
-<p class="item_name">HISTORY</p>
-<pre> Explicit Fortran interfaces were added for
- called C functions (it is needed for Windows
- port). February 28, 2001
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5fclose_f</strong><span class="sign">(</span>file_id<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> file_id <span class="sign">!</span> File identifier
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
-</pre>
-
-<hr />
-<a name="H5F2fh5fcreate5ff"></a>
-<a name="robo136"></a><h2>h5fcreate_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo39">H5F</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5fcreate_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Creates <a href="./HDF5_f90.html#robo76">HDF5</a> files.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> name - name of the file to create
- access_flags - File access flags. Allowable values are:
- H5F_ACC_TRUNC_F
- H5F_ACC_EXCL_F
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> file_id - file identifier
- hdferr - Returns 0 if successful and -1 if fails
-</pre>
-<p class="item_name">OPTIONAL PARAMETERS</p>
-<pre> creation_prp - file creation property list identifier
- access_prp - file access property list identifier
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- August 12, 1999
-</pre>
-<p class="item_name">HISTORY</p>
-<pre> Explicit Fortran interfaces were added for
- called C functions (it is needed for Windows
- port). February 28, 2001
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5fcreate_f</strong><span class="sign">(</span>name<span class="sign">,</span> access_flags<span class="sign">,</span> file_id<span class="sign">,</span> hdferr<span class="sign">,</span> <span class="sign">&amp;</span>
- creation_prp<span class="sign">,</span> access_prp<span class="sign">)</span>
- IMPLICIT NONE
- CHARACTER<span class="sign">(</span>LEN<span class="sign">=</span><span class="sign">*</span><span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> name <span class="sign">!</span> Name of the file
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> access_flags <span class="sign">!</span> File access flags
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> file_id <span class="sign">!</span> File identifier
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> OPTIONAL<span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> creation_prp
- <span class="sign">!</span> File creation propertly
- <span class="sign">!</span> list identifier
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> OPTIONAL<span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> access_prp
- <span class="sign">!</span> File access property list
- <span class="sign">!</span> identifier
-</pre>
-
-<hr />
-<a name="H5F2fh5fflush5ff"></a>
-<a name="robo137"></a><h2>h5fflush_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo39">H5F</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5fflush_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Flushes all buffers associated WITH a file to disk
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> object_id - identifier of object used to identify the file.
- scope - specifies the scope of the flushing action.
- Possible values are:
- H5F_SCOPE_GLOBAL_F
- H5F_SCOPE_LOCAL_F
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> hdferr - Returns 0 if successful and -1 if fails
-</pre>
-<p class="item_name">OPTIONAL PARAMETERS</p>
-<pre> creation_prp - file creation property list identifier
- access_prp - file access property list identifier
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- August 12, 1999
-</pre>
-<p class="item_name">HISTORY</p>
-<pre> Explicit Fortran interfaces were added for
- called C functions (it is needed for Windows
- port). February 28, 2001
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5fflush_f</strong><span class="sign">(</span>object_id<span class="sign">,</span> scope<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> object_id <span class="sign">!</span>identifier <span class="keyword">for</span> any object
- <span class="sign">!</span>associate with a file<span class="sign">,</span>
- <span class="sign">!</span>including the file itself<span class="sign">,</span>
- <span class="sign">!</span>a dataset<span class="sign">,</span> a group<span class="sign">,</span> an
- <span class="sign">!</span>attribute<span class="sign">,</span> or a named
- <span class="sign">!</span>data type
-
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> scope <span class="sign">!</span>scope of the flushing
- <span class="sign">!</span>action<span class="sign">,</span> possible values
- <span class="sign">!</span>are<span class="sign">:</span> H5F_SCOPE_GLOBAL_F
- <span class="sign">!</span> which flushes the entire
- <span class="sign">!</span>virtual file<span class="sign">,</span>
- <span class="sign">!</span>and H5F_SCOPE_LOCAL_F
- <span class="sign">!</span>which flushes only the
- <span class="sign">!</span>specified file<span class="sign">.</span>
-
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
-</pre>
-
-<hr />
-<a name="H5F2fh5fget5faccess5fplist5ff"></a>
-<a name="robo138"></a><h2>h5fget_access_plist_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo39">H5F</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5fget_access_plist_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Returns a file access property list identifier.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> file_id - identifier of a file to creation property list of
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> access_id - access property list identifier
- hdferr - Returns 0 if successful and -1 if fails
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- August 12, 1999
-</pre>
-<p class="item_name">HISTORY</p>
-<pre> Explicit Fortran interfaces were added for
- called C functions (it is needed for Windows
- port). February 28, 2001
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5fget_access_plist_f</strong><span class="sign">(</span>file_id<span class="sign">,</span> access_id<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> file_id <span class="sign">!</span> File identifier
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> access_id <span class="sign">!</span> File access property
- <span class="sign">!</span> list identifier
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
-</pre>
-
-<hr />
-<a name="H5F2fh5fget5fcreate5fplist5ff"></a>
-<a name="robo139"></a><h2>h5fget_create_plist_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo39">H5F</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5fget_create_plist_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Returns a file creation property list identifier.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> file_id - identifier of a file to creation property list of
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> prop_id - creation property list identifier
- hdferr - Returns 0 if successful and -1 if fails
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- August 12, 1999
-</pre>
-<p class="item_name">HISTORY</p>
-<pre> Explicit Fortran interfaces were added for
- called C functions (it is needed for Windows
- port). February 28, 2001
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5fget_create_plist_f</strong><span class="sign">(</span>file_id<span class="sign">,</span> prop_id<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> file_id <span class="sign">!</span> File identifier
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> prop_id <span class="sign">!</span> File creation property
- <span class="sign">!</span> list identifier
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
-</pre>
-
-<hr />
-<a name="H5F2fh5fget5ffilesize5ff"></a>
-<a name="robo140"></a><h2>h5fget_filesize_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo39">H5F</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5fget_filesize_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Retrieves the file size of the <a href="./HDF5_f90.html#robo76">HDF5</a> file.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> file_id - file identifier
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> size - file size
- hdferr - Returns 0 if successful and -1 if fails
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- July 7, 2004
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5fget_filesize_f</strong><span class="sign">(</span>file_id<span class="sign">,</span> size<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> file_id <span class="sign">!</span> file identifier
- INTEGER<span class="sign">(</span>HSIZE_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> size <span class="sign">!</span> Size of the file
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code<span class="sign">:</span> 0 on success<span class="sign">,</span>
- <span class="sign">!</span> <span class="sign">-</span>1 <span class="keyword">if</span> fail
-</pre>
-
-<hr />
-<a name="H5F2fh5fget5ffreespace5ff"></a>
-<a name="robo141"></a><h2>h5fget_freespace_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo39">H5F</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5fget_freespace_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Get amount of free space within a file
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> file_id - file identifier
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> free_space - amount of free space in file
- hdferr - Returns 0 if successful and -1 if fails
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Quincey Koziol
- October 7, 2003
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5fget_freespace_f</strong><span class="sign">(</span>file_id<span class="sign">,</span> free_space<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> file_id <span class="sign">!</span> File identifier
- INTEGER<span class="sign">(</span>HSSIZE_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> free_space
- <span class="sign">!</span> amount of free space in file
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
-</pre>
-
-<hr />
-<a name="H5F2fh5fget5fname5ff"></a>
-<a name="robo142"></a><h2>h5fget_name_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo39">H5F</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5fget_name_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Gets the name of the file from the object identifier
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> obj_id - object identifier
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> buf - buffer to store the read name
- size - actual size of the name
- hdferr - Returns 0 if successful and -1 if fails
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- July 6, 2004
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5fget_name_f</strong><span class="sign">(</span>obj_id<span class="sign">,</span> buf<span class="sign">,</span> size<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> obj_id <span class="sign">!</span> Object identifier
- CHARACTER<span class="sign">(</span>LEN<span class="sign">=</span><span class="sign">*</span><span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>INOUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> buf
- <span class="sign">!</span> Buffer to hold file name
- INTEGER<span class="sign">(</span>SIZE_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> size <span class="sign">!</span> Size of the file name
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code<span class="sign">:</span> 0 on success<span class="sign">,</span>
- <span class="sign">!</span> <span class="sign">-</span>1 <span class="keyword">if</span> fail
-</pre>
-
-<hr />
-<a name="H5F2fh5fget5fobj5fcount5ff"></a>
-<a name="robo143"></a><h2>h5fget_obj_count_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo39">H5F</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5fget_obj_count_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Gets number of the objects open within a file
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> file_id - file identifier
- obj_type - type of the object; possible values are:
- H5F_OBJ_FILE_F
- H5F_OBJ_DATASET_F
- H5F_OBJ_GROUP_F
- H5F_OBJ_DATATYPE_F
- H5F_OBJ_ALL_F
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> obj_count - number of open objects
- hdferr - Returns 0 if successful and -1 if fails
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- September 30, 2002
-</pre>
-<p class="item_name">HISTORY</p>
-<pre> Changed the type of obj_count to INTEGER(SIZE_T)
- September 25, 2008 EIP
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5fget_obj_count_f</strong><span class="sign">(</span>file_id<span class="sign">,</span> obj_type<span class="sign">,</span> obj_count<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> file_id <span class="sign">!</span> File identifier
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> obj_type <span class="sign">!</span> Object type
- INTEGER<span class="sign">(</span>SIZE_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> obj_count
- <span class="sign">!</span> Number of open objects
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
-</pre>
-
-<hr />
-<a name="H5F2fh5fget5fobj5fids5ff"></a>
-<a name="robo144"></a><h2>h5fget_obj_ids_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo39">H5F</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5fget_obj_ids_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Get list of open objects identifiers within a file
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> file_id - file identifier
- obj_type - type of the object; possible values are:
- H5F_OBJ_FILE_F
- H5F_OBJ_DATASET_F
- H5F_OBJ_GROUP_F
- H5F_OBJ_DATATYPE_F
- H5F_OBJ_ALL_F
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> obj_ids - array of open object identifiers
- hdferr - Returns 0 if successful and -1 if fails
-</pre>
-<p class="item_name">OPTIONAL PARAMETERS</p>
-<pre> num_objs - number of open objects
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- September 30, 2002
-</pre>
-<p class="item_name">HISTORY</p>
-<pre> Added optional parameter num_objs for number of open objects
- of the specified type and changed type of max_obj to
- INTEGER(SIZE_T)
- September 25, 2008 EIP
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5fget_obj_ids_f</strong><span class="sign">(</span>file_id<span class="sign">,</span> obj_type<span class="sign">,</span> max_objs<span class="sign">,</span> obj_ids<span class="sign">,</span> hdferr<span class="sign">,</span> num_objs<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> file_id <span class="sign">!</span> File identifier
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> obj_type <span class="sign">!</span> Object type
- INTEGER<span class="sign">(</span>SIZE_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> max_objs <span class="sign">!</span> Maximum <span class="sign">#</span> of objects to retrieve
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> DIMENSION<span class="comment">(*), INTENT(INOUT) :: obj_ids
- ! Array of open objects iidentifiers
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- INTEGER(SIZE_T), INTENT(OUT), OPTIONAL :: num_objs ! number of open objects
-</pre>
-
-<hr />
-<a name="H5F2fh5fis5fhdf55ff"></a>
-<a name="robo145"></a><h2>h5fis_hdf5_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo39">H5F</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5fis_hdf5_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Determines whether a file is in the <a href="./HDF5_f90.html#robo76">HDF5</a> format.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> name - name of the file to check
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> status - indicates if file is and <a href="./HDF5_f90.html#robo76">HDF5</a> file
- hdferr - Returns 0 if successful and -1 if fails
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- August 12, 1999
-</pre>
-<p class="item_name">HISTORY</p>
-<pre> Explicit Fortran interfaces were added for
- called C functions (it is needed for Windows
- port). February 28, 2001
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5fis_hdf5_f</strong><span class="sign">(</span>name<span class="sign">,</span> status<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- CHARACTER<span class="sign">(</span>LEN<span class="sign">=</span><span class="sign">*</span><span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> name <span class="sign">!</span> Name of the file
- LOGICAL<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> status <span class="sign">!</span> Indicates <span class="keyword">if</span> file
- <span class="sign">!</span> is an <a href="./HDF5_f90.html#robo76">HDF5</a> file
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
-</pre>
-
-<hr />
-<a name="H5F2fh5fmount5ff"></a>
-<a name="robo146"></a><h2>h5fmount_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo39">H5F</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5fmount_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Mounts a file.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> loc_id - the identifier for of file or group in
- which name is defined
- name - the name of the group onto which the file
- specified by child_id is to be mounted.
- child_id - the identifier of the file to be mounted.
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> hdferr - Returns 0 if successful and -1 if fails
-</pre>
-<p class="item_name">OPTIONAL PARAMETERS</p>
-<pre> access_prp - the identifier of the property list to be used
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- August 12, 1999
-</pre>
-<p class="item_name">HISTORY</p>
-<pre> Explicit Fortran interfaces were added for
- called C functions (it is needed for Windows
- port). February 28, 2001
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5fmount_f</strong><span class="sign">(</span>loc_id<span class="sign">,</span> name<span class="sign">,</span> child_id<span class="sign">,</span> hdferr<span class="sign">,</span> access_prp<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> loc_id <span class="sign">!</span> Identifier <span class="keyword">for</span> file or group
- <span class="sign">!</span> in which dsetname is defined
- CHARACTER<span class="sign">(</span>LEN<span class="sign">=</span><span class="sign">*</span><span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> name <span class="sign">!</span> Name of the group
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> child_id <span class="sign">!</span> File identifier <span class="keyword">for</span> the
- <span class="sign">!</span> file to be mounted
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> OPTIONAL<span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> access_prp
- <span class="sign">!</span> File access property list
- <span class="sign">!</span> identifier
-</pre>
-
-<hr />
-<a name="H5F2fh5fopen5ff"></a>
-<a name="robo147"></a><h2>h5fopen_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo39">H5F</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5fopen_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Opens <a href="./HDF5_f90.html#robo76">HDF5</a> file.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> name - name of the file to acecss
- access_flags - File access flags. Allowable values are:
- H5F_ACC_RDWR_F
- H5F_ACC_RDONLY_F
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> file_id - file identifier
- hdferr - Returns 0 if successful and -1 if fails
-</pre>
-<p class="item_name">OPTIONAL PARAMETERS</p>
-<pre> access_prp - file access property list identifier
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- August 12, 1999
-</pre>
-<p class="item_name">HISTORY</p>
-<pre> Explicit Fortran interfaces were added for
- called C functions (it is needed for Windows
- port). February 28, 2001
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5fopen_f</strong><span class="sign">(</span>name<span class="sign">,</span> access_flags<span class="sign">,</span> file_id<span class="sign">,</span> hdferr<span class="sign">,</span> access_prp<span class="sign">)</span>
- IMPLICIT NONE
- CHARACTER<span class="sign">(</span>LEN<span class="sign">=</span><span class="sign">*</span><span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> name <span class="sign">!</span> Name of the file
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> access_flags <span class="sign">!</span> File access flags
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> file_id <span class="sign">!</span> File identifier
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> OPTIONAL<span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> access_prp
- <span class="sign">!</span> File access property list
- <span class="sign">!</span> identifier
-</pre>
-
-<hr />
-<a name="H5F2fh5freopen5ff"></a>
-<a name="robo148"></a><h2>h5freopen_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo39">H5F</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5freopen_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Reopens <a href="./HDF5_f90.html#robo76">HDF5</a> file.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> file_id - identifier of a file for which an
- additional identifier is required
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> ret_file_id - new file identifier
- hdferr - Returns 0 if successful and -1 if fails
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- August 12, 1999
-</pre>
-<p class="item_name">HISTORY</p>
-<pre> Explicit Fortran interfaces were added for
- called C functions (it is needed for Windows
- port). February 28, 2001
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5freopen_f</strong><span class="sign">(</span>file_id<span class="sign">,</span> ret_file_id<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> file_id <span class="sign">!</span> File identifier
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> ret_file_id <span class="sign">!</span> New File identifier
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
-</pre>
-
-<hr />
-<a name="H5F2fh5funmount5ff"></a>
-<a name="robo149"></a><h2>h5funmount_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo39">H5F</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5funmount_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Unmounts a file.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> loc_id - the identifier for of file or group in
- which name is defined
- name - the name of the mount point
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> hdferr - Returns 0 if successful and -1 if fails
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- August 12, 1999
-</pre>
-<p class="item_name">HISTORY</p>
-<pre> Explicit Fortran interfaces were added for
- called C functions (it is needed for Windows
- port). February 28, 2001
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5funmount_f</strong><span class="sign">(</span>loc_id<span class="sign">,</span> name<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> loc_id <span class="sign">!</span> Identifier <span class="keyword">for</span> file or group
- <span class="sign">!</span> at which the specified file
- <span class="sign">!</span> is to be unmounted
- CHARACTER<span class="sign">(</span>LEN<span class="sign">=</span><span class="sign">*</span><span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> name <span class="sign">!</span> Name of the mount point
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
-</pre>
-
-</div> <!-- content -->
-<div id="footer">
-<p>Generated from ./src/H5Fff.f90 on Sun Aug 14 2011 22:49:38
-</p>
-</div> <!-- footer -->
-</body>
-</html>
diff --git a/fortran/doc/DevelGuide/src/H5Gf_c.html b/fortran/doc/DevelGuide/src/H5Gf_c.html
deleted file mode 100644
index a71f0e8..0000000
--- a/fortran/doc/DevelGuide/src/H5Gf_c.html
+++ /dev/null
@@ -1,41 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-type" content="text/html; charset=ISO-8859-1" />
-<link rel="stylesheet" href="../robodoc.css" type="text/css" />
-<title>./src/H5Gf.c</title>
-<!-- Source: ./src/H5Gf.c -->
-</head>
-<body>
-<div id="logo">
-<a name="robo_top_of_doc">HDF5 FORTRAN Developer's Guide</a>
-</div> <!-- logo -->
-<div id="navigation">
-<a class="menuitem" href="../toc_index.html#top">Table of Contents</a>
-<a class="menuitem" href="../robo_sourcefiles.html#top">Sourcefiles</a>
-<a class="menuitem" href="../masterindex.html#top">Index</a>
-<a class="menuitem" href="../robo_functions.html#top">Functions</a>
-<a class="menuitem" href="../robo_modules.html#top">Modules</a>
-<a class="menuitem" href="../robo_procedures.html#top">Procedures</a>
-<a class="menuitem" href="../robo_subroutines.html#top">Subroutines</a>
-</div> <!-- navigation -->
-<div id="content">
-<hr />
-<a name="H5Gf2fH5Gf"></a>
-<a name="robo45"></a><h2>H5Gf</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="../robo_modules.html#robo_top_of_doc">Modules</a> ]</p>
-<p class="item_name">PURPOSE</p>
-<pre> This file contains C stubs for <a href="./H5Gff_f90.html#robo44">H5G</a> Fortran APIs
-</pre>
-
-</div> <!-- content -->
-<div id="footer">
-<p>Generated from ./src/H5Gf.c on Sun Aug 14 2011 22:49:38
-</p>
-</div> <!-- footer -->
-</body>
-</html>
diff --git a/fortran/doc/DevelGuide/src/H5Gff_f90.html b/fortran/doc/DevelGuide/src/H5Gff_f90.html
deleted file mode 100644
index 74ec2f4..0000000
--- a/fortran/doc/DevelGuide/src/H5Gff_f90.html
+++ /dev/null
@@ -1,840 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-type" content="text/html; charset=ISO-8859-1" />
-<link rel="stylesheet" href="../robodoc.css" type="text/css" />
-<title>./src/H5Gff.f90</title>
-<!-- Source: ./src/H5Gff.f90 -->
-</head>
-<body>
-<div id="logo">
-<a name="robo_top_of_doc">HDF5 FORTRAN Developer's Guide</a>
-</div> <!-- logo -->
-<div id="navigation">
-<a class="menuitem" href="../toc_index.html#top">Table of Contents</a>
-<a class="menuitem" href="../robo_sourcefiles.html#top">Sourcefiles</a>
-<a class="menuitem" href="../masterindex.html#top">Index</a>
-<a class="menuitem" href="../robo_functions.html#top">Functions</a>
-<a class="menuitem" href="../robo_modules.html#top">Modules</a>
-<a class="menuitem" href="../robo_procedures.html#top">Procedures</a>
-<a class="menuitem" href="../robo_subroutines.html#top">Subroutines</a>
-</div> <!-- navigation -->
-<div id="content">
-<hr />
-<a name="ROBODoc2fH5G"></a>
-<a name="robo44"></a><h2>H5G</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="../robo_modules.html#robo_top_of_doc">Modules</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> MODULE <strong>H5G</strong>
-</pre>
-<p class="item_name">FILE</p>
-<pre> fortran/src/<a href="#robo_top_of_doc">H5Gff.f90</a>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> This file contains Fortran interfaces for <strong>H5G</strong> functions.
-</pre>
-<p class="item_name">NOTES</p>
-<pre> *** IMPORTANT ***
- If you add a new <strong>H5G</strong> function you must add the function name to the
- Windows dll file 'hdf5_fortrandll.def' in the fortran/src directory.
- This is needed for Windows based operating systems.
-</pre>
-
-<hr />
-<a name="H5G2fh5gclose5ff"></a>
-<a name="robo151"></a><h2>h5gclose_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo44">H5G</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5gclose_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Closes the specified group.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> grp_id - group identifier
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> hdferr - Returns 0 if successful and -1 if fails
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- August 12, 1999
-</pre>
-<p class="item_name">HISTORY</p>
-<pre> Explicit Fortran interfaces were added for
- called C functions (it is needed for Windows
- port). March 5, 2001
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5gclose_f</strong><span class="sign">(</span>grp_id<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> grp_id <span class="sign">!</span> Group identifier
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
-</pre>
-
-<hr />
-<a name="H5G2fH5Gcreate5fanon5ff"></a>
-<a name="robo152"></a><h2>H5Gcreate_anon_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo44">H5G</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>H5Gcreate_anon_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Creates a new empty group without linking it into the file structure.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> loc_id - Location identifier
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> grp_id - group identifier
- hdferr - Returns 0 if successful and -1 if fails
-</pre>
-<p class="item_name">OPTIONAL PARAMETERS</p>
-<pre> gcpl_id - Group creation property list identifier
- gapl_id - Group access property list identifier
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> M. Scot Breitenfeld
- February 15, 2008
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE h5Gcreate_anon_f<span class="sign">(</span>loc_id<span class="sign">,</span> grp_id<span class="sign">,</span> hdferr<span class="sign">,</span> gcpl_id<span class="sign">,</span> gapl_id<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> loc_id <span class="sign">!</span> File or group identifier
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> grp_id <span class="sign">!</span> Group identifier
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> OPTIONAL<span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> gcpl_id <span class="sign">!</span> Property list <span class="keyword">for</span> group creation
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> OPTIONAL<span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> gapl_id <span class="sign">!</span> Property list <span class="keyword">for</span> group access
-</pre>
-
-<hr />
-<a name="H5G2fh5gcreate5ff"></a>
-<a name="robo153"></a><h2>h5gcreate_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo44">H5G</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5gcreate_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Creates a new group.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> loc_id - location identifier
- name - group name at the specified location
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> grp_id - group identifier
- hdferr - Returns 0 if successful and -1 if fails
-</pre>
-<p class="item_name">OPTIONAL PARAMETERS</p>
-<pre> size_hint - a parameter indicating the number of bytes to
- reserve for the names that will appear in the group
- lcpl_id - Property list for link creation
- gcpl_id - Property list for group creation
- gapl_id - Property list for group access
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- August 12, 1999
-</pre>
-<p class="item_name">HISTORY</p>
-<pre> Explicit Fortran interfaces were added for
- called C functions (it is needed for Windows
- port). March 5, 2001
-
- Added additional optional paramaters in 1.8
- MSB - February 27, 2008
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5gcreate_f</strong><span class="sign">(</span>loc_id<span class="sign">,</span> name<span class="sign">,</span> grp_id<span class="sign">,</span> hdferr<span class="sign">,</span> size_hint<span class="sign">,</span> lcpl_id<span class="sign">,</span> gcpl_id<span class="sign">,</span> gapl_id<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> loc_id <span class="sign">!</span> File or group identifier
- CHARACTER<span class="sign">(</span>LEN<span class="sign">=</span><span class="sign">*</span><span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> name <span class="sign">!</span> Name of the group
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> grp_id <span class="sign">!</span> Group identifier
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
- INTEGER<span class="sign">(</span>SIZE_T<span class="sign">)</span><span class="sign">,</span> OPTIONAL<span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> size_hint
- <span class="sign">!</span> Parameter indicating
- <span class="sign">!</span> the number of bytes
- <span class="sign">!</span> to reserve <span class="keyword">for</span> the
- <span class="sign">!</span> names that will appear
- <span class="sign">!</span> in the group<span class="sign">.</span> Set to OBJECT_NAMELEN_DEFAULT_F
- <span class="sign">!</span> <span class="keyword">if</span> using any of the optional
- <span class="sign">!</span> parameters lcpl_id<span class="sign">,</span> gcpl_id<span class="sign">,</span> and<span class="sign">/</span>or gapl_id when not
- <span class="sign">!</span> using keywords in specifying the optional parameters
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> OPTIONAL<span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> lcpl_id <span class="sign">!</span> Property list <span class="keyword">for</span> link creation
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> OPTIONAL<span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> gcpl_id <span class="sign">!</span> Property list <span class="keyword">for</span> group creation
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> OPTIONAL<span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> gapl_id <span class="sign">!</span> Property list <span class="keyword">for</span> group access
-</pre>
-
-<hr />
-<a name="H5G2fh5gget5fcomment5ff"></a>
-<a name="robo155"></a><h2>h5gget_comment_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo44">H5G</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5gget_comment_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Retrieves comment for specified object.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> loc_id - location identifier
- name - name of the object at specified location
- size - size of the buffer required to hold comment
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> buffer - buffer to hold object's comment
- hdferr - Returns 0 if successful and -1 if fails
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- August 12, 1999
-</pre>
-<p class="item_name">HISTORY</p>
-<pre> Explicit Fortran interfaces were added for
- called C functions (it is needed for Windows
- port). March 5, 2001
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5gget_comment_f</strong><span class="sign">(</span>loc_id<span class="sign">,</span> name<span class="sign">,</span> size<span class="sign">,</span> buffer<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> loc_id <span class="sign">!</span> File or group identifier
- CHARACTER<span class="sign">(</span>LEN<span class="sign">=</span><span class="sign">*</span><span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> name <span class="sign">!</span> Current name of an object
- INTEGER<span class="sign">(</span>SIZE_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> size <span class="sign">!</span> Maximum number of buffer
- CHARACTER<span class="sign">(</span>LEN<span class="sign">=</span>size<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> buffer
- <span class="sign">!</span> Buffer to hold a comment
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
-</pre>
-
-<hr />
-<a name="H5G2fH5Gget5fcreate5fplist5ff"></a>
-<a name="robo156"></a><h2>H5Gget_create_plist_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo44">H5G</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>H5Gget_create_plist_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Gets a group creation property list identifier.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> grp_id - group identifier
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> gcpl_id - Group creation property list identifier
- hdferr - Returns 0 if successful and -1 if fails
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> M. Scot Breitenfeld
- February 15, 2008
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE h5gget_create_plist_f<span class="sign">(</span>grp_id<span class="sign">,</span> gcpl_id<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> grp_id <span class="sign">!</span> Group identifier
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> gcpl_id <span class="sign">!</span> Property list <span class="keyword">for</span> group creation
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
-</pre>
-
-<hr />
-<a name="H5G2fh5gget5finfo5fby5fidx5ff"></a>
-<a name="robo157"></a><h2>h5gget_info_by_idx_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo44">H5G</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5gget_info_by_idx_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Retrieves information about a group, according to the group’s position within an index.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> loc_id - File or group identifier
- group_name - Name of group containing group for which information is to be retrieved
- index_type - Index type
- order - Order of the count in the index
- n - Position in the index of the group for which information is retrieved
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> storage_type - Type of storage for links in group
- H5G_STORAGE_TYPE_COMPACT: Compact storage
- H5G_STORAGE_TYPE_DENSE: Indexed storage
- H5G_STORAGE_TYPE_SYMBOL_TABLE: Symbol tables, the original <a href="./HDF5_f90.html#robo76">HDF5</a> structure
- nlinks - Number of links in group
- max_corder - Current maximum creation order value for group
- hdferr - Returns 0 if successful and -1 if fails
-</pre>
-<p class="item_name">OPTIONAL PARAMETERS</p>
-<pre> lapl_id - Link access property list
- mounted - Whether group has a file mounted on it
-</pre>
-<p class="item_name">NOTES</p>
-<pre> In C the output is defined as a structure: H5G_info_t
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> M. Scot Breitenfeld
- February 18, 2008
-</pre>
-<p class="item_name">HISTORY</p>
-<pre> Added 'mounted' paramater
- M. Scot Breitenfeld
- July 16, 2008
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5gget_info_by_idx_f</strong><span class="sign">(</span>loc_id<span class="sign">,</span> group_name<span class="sign">,</span> index_type<span class="sign">,</span> order<span class="sign">,</span> n<span class="sign">,</span> <span class="sign">&amp;</span>
- storage_type<span class="sign">,</span> nlinks<span class="sign">,</span> max_corder<span class="sign">,</span> hdferr<span class="sign">,</span> lapl_id<span class="sign">,</span> mounted<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> loc_id <span class="sign">!</span> File or group identifier
- CHARACTER<span class="sign">(</span>LEN<span class="sign">=</span><span class="sign">*</span><span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> group_name <span class="sign">!</span> Name of group containing group <span class="keyword">for</span> which information is to be retrieved
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> index_type <span class="sign">!</span> Index type
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> order <span class="sign">!</span> Order of the count in the index
- INTEGER<span class="sign">(</span>HSIZE_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> n <span class="sign">!</span> Position in the index of the group <span class="keyword">for</span> which information is retrieved
-
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> storage_type <span class="sign">!</span> Type of storage <span class="keyword">for</span> links in group<span class="sign">:</span>
- <span class="sign">!</span> H5G_STORAGE_TYPE_COMPACT_F<span class="sign">:</span> Compact storage
- <span class="sign">!</span> H5G_STORAGE_TYPE_DENSE_F<span class="sign">:</span> Indexed storage
- <span class="sign">!</span> H5G_STORAGE_TYPE_SYMBOL_TABLE_F<span class="sign">:</span> Symbol tables<span class="sign">,</span> the original <a href="./HDF5_f90.html#robo76">HDF5</a> structure
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> nlinks <span class="sign">!</span> Number of links in group
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> max_corder <span class="sign">!</span> Current maximum creation order value <span class="keyword">for</span> group
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code<span class="sign">:</span>
- <span class="sign">!</span> 0 on success and <span class="sign">-</span>1 on failure
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> OPTIONAL<span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> lapl_id <span class="sign">!</span> Link access property list
- LOGICAL<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span><span class="sign">,</span> OPTIONAL <span class="sign">:</span><span class="sign">:</span> mounted <span class="sign">!</span> Whether group has a file mounted on it
-</pre>
-
-<hr />
-<a name="H5G2fh5gget5finfo5fby5fname5ff"></a>
-<a name="robo158"></a><h2>h5gget_info_by_name_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo44">H5G</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5gget_info_by_name_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Retrieves information about a group.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> loc_id - File or group identifier
- group_name - Name of group containing group for which information is to be retrieved
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> storage_type - Type of storage for links in group
- H5G_STORAGE_TYPE_COMPACT: Compact storage
- H5G_STORAGE_TYPE_DENSE: Indexed storage
- H5G_STORAGE_TYPE_SYMBOL_TABLE: Symbol tables, the original <a href="./HDF5_f90.html#robo76">HDF5</a> structure
- nlinks - Number of links in group
- max_corder - Current maximum creation order value for group
- hdferr - Returns 0 if successful and -1 if fails
-</pre>
-<p class="item_name">OPTIONAL PARAMETERS</p>
-<pre> lapl_id - Link access property list
- mounted - Whether group has a file mounted on it
-</pre>
-<p class="item_name">NOTES</p>
-<pre> In C the output is defined as a structure: H5G_info_t
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> M. Scot Breitenfeld
- February 18, 2008
-</pre>
-<p class="item_name">HISTORY</p>
-<pre> Added 'mounted' paramater
- M. Scot Breitenfeld
- July 16, 2008
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5gget_info_by_name_f</strong><span class="sign">(</span>loc_id<span class="sign">,</span> group_name<span class="sign">,</span> <span class="sign">&amp;</span>
- storage_type<span class="sign">,</span> nlinks<span class="sign">,</span> max_corder<span class="sign">,</span> hdferr<span class="sign">,</span> lapl_id<span class="sign">,</span> mounted<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> loc_id <span class="sign">!</span> File or group identifier
- CHARACTER<span class="sign">(</span>LEN<span class="sign">=</span><span class="sign">*</span><span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> group_name <span class="sign">!</span> Name of group containing group <span class="keyword">for</span> which information is to be retrieved
-
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> storage_type <span class="sign">!</span> Type of storage <span class="keyword">for</span> links in group<span class="sign">:</span>
- <span class="sign">!</span> H5G_STORAGE_TYPE_COMPACT_F<span class="sign">:</span> Compact storage
- <span class="sign">!</span> H5G_STORAGE_TYPE_DENSE_F<span class="sign">:</span> Indexed storage
- <span class="sign">!</span> H5G_STORAGE_TYPE_SYMBOL_TABLE_F<span class="sign">:</span> Symbol tables<span class="sign">,</span> the original <a href="./HDF5_f90.html#robo76">HDF5</a> structure
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> nlinks <span class="sign">!</span> Number of links in group
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> max_corder <span class="sign">!</span> Current maximum creation order value <span class="keyword">for</span> group
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code<span class="sign">:</span>
- <span class="sign">!</span> 0 on success and <span class="sign">-</span>1 on failure
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> OPTIONAL<span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> lapl_id <span class="sign">!</span> Link access property list
- LOGICAL<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span><span class="sign">,</span> OPTIONAL <span class="sign">:</span><span class="sign">:</span> mounted <span class="sign">!</span> Whether group has a file mounted on it
-</pre>
-
-<hr />
-<a name="H5G2fh5gget5finfo5ff"></a>
-<a name="robo159"></a><h2>h5gget_info_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo44">H5G</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5gget_info_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Retrieves information about a group
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> group_id - Group identifier
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> storage_type - Type of storage for links in group
- H5G_STORAGE_TYPE_COMPACT: Compact storage
- H5G_STORAGE_TYPE_DENSE: Indexed storage
- H5G_STORAGE_TYPE_SYMBOL_TABLE: Symbol tables, the original <a href="./HDF5_f90.html#robo76">HDF5</a> structure
- nlinks - Number of links in group
- max_corder - Current maximum creation order value for group
- hdferr - Returns 0 if successful and -1 if fails
-</pre>
-<p class="item_name">OPTIONAL PARAMETERS</p>
-<pre> mounted - Whether group has a file mounted on it
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> M. Scot Breitenfeld
- February 15, 2008
-</pre>
-<p class="item_name">NOTES</p>
-<pre> In C the output is defined as a structure: H5G_info_t
-</pre>
-<p class="item_name">HISTORY</p>
-<pre> - Added 'mounted' paramater
- M. Scot Breitenfeld
- July 16, 2008
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5gget_info_f</strong><span class="sign">(</span>group_id<span class="sign">,</span> storage_type<span class="sign">,</span> nlinks<span class="sign">,</span> max_corder<span class="sign">,</span> hdferr<span class="sign">,</span> mounted<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> group_id <span class="sign">!</span> Group identifier
-
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> storage_type <span class="sign">!</span> Type of storage <span class="keyword">for</span> links in group<span class="sign">:</span>
- <span class="sign">!</span> H5G_STORAGE_TYPE_COMPACT_F<span class="sign">:</span> Compact storage
- <span class="sign">!</span> H5G_STORAGE_TYPE_DENSE_F<span class="sign">:</span> Indexed storage
- <span class="sign">!</span> H5G_STORAGE_TYPE_SYMBOL_TABLE_F<span class="sign">:</span> Symbol tables<span class="sign">,</span> the original <a href="./HDF5_f90.html#robo76">HDF5</a> structure
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> nlinks <span class="sign">!</span> Number of links in group
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> max_corder <span class="sign">!</span> Current maximum creation order value <span class="keyword">for</span> group
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code<span class="sign">:</span>
- <span class="sign">!</span> 0 on success and <span class="sign">-</span>1 on failure
- LOGICAL<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span><span class="sign">,</span> OPTIONAL <span class="sign">:</span><span class="sign">:</span> mounted <span class="sign">!</span> Whether group has a file mounted on it
-</pre>
-
-<hr />
-<a name="H5G2fh5gget5flinkval5ff"></a>
-<a name="robo160"></a><h2>h5gget_linkval_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo44">H5G</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5gget_linkval_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Returns the name of the object that the symbolic link
- points to.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> loc_id - location identifier
- name - symbolic link to the object whose name
- is to be returned.
- size - maximum number of characters to be returned
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> buffer - a buffer to hold the name of the object
- being sought
- hdferr - Returns 0 if successful and -1 if fails
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- August 12, 1999
-</pre>
-<p class="item_name">HISTORY</p>
-<pre> Explicit Fortran interfaces were added for
- called C functions (it is needed for Windows
- port). March 5, 2001
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5gget_linkval_f</strong><span class="sign">(</span>loc_id<span class="sign">,</span> name<span class="sign">,</span> size<span class="sign">,</span> buffer<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> loc_id <span class="sign">!</span> File or group identifier
- CHARACTER<span class="sign">(</span>LEN<span class="sign">=</span><span class="sign">*</span><span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> name <span class="sign">!</span> Current name of an object
- INTEGER<span class="sign">(</span>SIZE_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> size <span class="sign">!</span> Maximum number of buffer
- CHARACTER<span class="sign">(</span>LEN<span class="sign">=</span>size<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> buffer
- <span class="sign">!</span> Buffer to hold a name of
- <span class="sign">!</span> the object symbolic link
- <span class="sign">!</span> points to
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
-</pre>
-
-<hr />
-<a name="H5G2fh5gget5fobj5finfo5fidx5ff"></a>
-<a name="robo161"></a><h2>h5gget_obj_info_idx_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo44">H5G</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5gget_obj_info_idx_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Returns name and type of the group member identified by
- its index.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> loc_id - location identifier
- name - name of the group at the specified location
- idx - object index (zero-based)
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> obj_name - object name
- obj_type - object type
- hdferr - Returns 0 if successful and -1 if fails
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- August 12, 1999
-</pre>
-<p class="item_name">HISTORY</p>
-<pre> Explicit Fortran interfaces were added for
- called C functions (it is needed for Windows
- port). March 5, 2001
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5gget_obj_info_idx_f</strong><span class="sign">(</span>loc_id<span class="sign">,</span> name<span class="sign">,</span> idx<span class="sign">,</span> <span class="sign">&amp;</span>
- obj_name<span class="sign">,</span> obj_type<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> loc_id <span class="sign">!</span> File or group identifier
- CHARACTER<span class="sign">(</span>LEN<span class="sign">=</span><span class="sign">*</span><span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> name <span class="sign">!</span> Name of the group
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> idx <span class="sign">!</span> Index of member object
- CHARACTER<span class="sign">(</span>LEN<span class="sign">=</span><span class="sign">*</span><span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> obj_name <span class="sign">!</span> Name of the object
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> obj_type <span class="sign">!</span> Object type
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
-</pre>
-
-<hr />
-<a name="H5G2fh5glink25ff"></a>
-<a name="robo162"></a><h2>h5glink2_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo44">H5G</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5glink2_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Creates a link of the specified type from new_name
- to current_name. current_name and new_name are interpreted
- releative to current and new location identifiers.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> cur_loc_id - location identifier
- cur_name - name of the existing object if link is a
- hard link. Can be anything for the soft link.
- link_type - link type; possible values are:
- H5G_LINK_HARD_F (0)
- H5G_LINK_SOFT_F (1)
- new_loc_id - new location identifier
- new_name - new name for the object
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> hdferr - Returns 0 if successful and -1 if fails
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- September 25, 2002
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5glink2_f</strong><span class="sign">(</span>cur_loc_id<span class="sign">,</span> cur_name<span class="sign">,</span> link_type<span class="sign">,</span> new_loc_id<span class="sign">,</span> <span class="sign">&amp;</span>
- new_name<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> cur_loc_id <span class="sign">!</span> File or group identifier
- CHARACTER<span class="sign">(</span>LEN<span class="sign">=</span><span class="sign">*</span><span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> cur_name
- <span class="sign">!</span> Current name of an object
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> link_type <span class="sign">!</span> link type
- <span class="sign">!</span> Possible values are<span class="sign">:</span>
- <span class="sign">!</span> H5G_LINK_HARD_F <span class="sign">(</span>0<span class="sign">)</span> or
- <span class="sign">!</span> H5G_LINK_SOFT_F <span class="sign">(</span>1<span class="sign">)</span>
-
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> new_loc_id <span class="sign">!</span> File or group identifier
- CHARACTER<span class="sign">(</span>LEN<span class="sign">=</span><span class="sign">*</span><span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> new_name <span class="sign">!</span> New name of an object
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
-</pre>
-
-<hr />
-<a name="H5G2fh5glink5ff"></a>
-<a name="robo163"></a><h2>h5glink_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo44">H5G</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5glink_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Creates a link of the specified type from new_name
- to current_name.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> loc_id - location identifier
- link_type - link type; possible values are:
- H5G_LINK_HARD_F (0)
- H5G_LINK_SOFT_F (1)
- current_name - name of the existing object if link is a
- hard link. Can be anything for the soft link
- new_name - new name for the object
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> hdferr - Returns 0 if successful and -1 if fails
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- August 12, 1999
-</pre>
-<p class="item_name">HISTORY</p>
-<pre> Explicit Fortran interfaces were added for
- called C functions (it is needed for Windows
- port). March 5, 2001
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5glink_f</strong><span class="sign">(</span>loc_id<span class="sign">,</span> link_type<span class="sign">,</span> current_name<span class="sign">,</span> <span class="sign">&amp;</span>
- new_name<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> loc_id <span class="sign">!</span> File or group identifier
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> link_type <span class="sign">!</span> link type
- <span class="sign">!</span> Possible values are<span class="sign">:</span>
- <span class="sign">!</span> H5G_LINK_HARD_F <span class="sign">(</span>0<span class="sign">)</span> or
- <span class="sign">!</span> H5G_LINK_SOFT_F <span class="sign">(</span>1<span class="sign">)</span>
-
- CHARACTER<span class="sign">(</span>LEN<span class="sign">=</span><span class="sign">*</span><span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> current_name
- <span class="sign">!</span> Current name of an object
- CHARACTER<span class="sign">(</span>LEN<span class="sign">=</span><span class="sign">*</span><span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> new_name <span class="sign">!</span> New name of an object
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
-</pre>
-
-<hr />
-<a name="H5G2fh5gmove25ff"></a>
-<a name="robo164"></a><h2>h5gmove2_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo44">H5G</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5gmove2_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Renames an object within an <a href="./HDF5_f90.html#robo76">HDF5</a> file.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> src_loc_id - original location identifier
- src_name - object's name at specified original location
- dst_loc_id - original location identifier
- dst_name - object's new name
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> hdferr - Returns 0 if successful and -1 if fails
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- September 25, 2002
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5gmove2_f</strong><span class="sign">(</span>src_loc_id<span class="sign">,</span> src_name<span class="sign">,</span> dst_loc_id<span class="sign">,</span> dst_name<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> src_loc_id <span class="sign">!</span> File or group identifier
- CHARACTER<span class="sign">(</span>LEN<span class="sign">=</span><span class="sign">*</span><span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> src_name <span class="sign">!</span> Original name of an object
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> dst_loc_id <span class="sign">!</span> File or group identifier
- CHARACTER<span class="sign">(</span>LEN<span class="sign">=</span><span class="sign">*</span><span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> dst_name <span class="sign">!</span> New name of an object
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
-</pre>
-
-<hr />
-<a name="H5G2fh5gmove5ff"></a>
-<a name="robo165"></a><h2>h5gmove_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo44">H5G</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5gmove_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Renames an object within an <a href="./HDF5_f90.html#robo76">HDF5</a> file.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> loc_id - location identifier
- name - object's name at specified location
- new_name - object's new name
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> hdferr - Returns 0 if successful and -1 if fails
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- August 12, 1999
-</pre>
-<p class="item_name">HISTORY</p>
-<pre> Explicit Fortran interfaces were added for
- called C functions (it is needed for Windows
- port). March 5, 2001
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5gmove_f</strong><span class="sign">(</span>loc_id<span class="sign">,</span> name<span class="sign">,</span> new_name<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> loc_id <span class="sign">!</span> File or group identifier
- CHARACTER<span class="sign">(</span>LEN<span class="sign">=</span><span class="sign">*</span><span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> name <span class="sign">!</span> Current name of an object
- CHARACTER<span class="sign">(</span>LEN<span class="sign">=</span><span class="sign">*</span><span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> new_name <span class="sign">!</span> New name of an object
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
-</pre>
-
-<hr />
-<a name="H5G2fh5gn5fmembers5ff"></a>
-<a name="robo166"></a><h2>h5gn_members_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo44">H5G</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5gn_members_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Returns the number of group members.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> loc_id - location identifier
- name - name of the group at the specified location
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> nmembers - number of group members
- hdferr - Returns 0 if successful and -1 if fails
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- August 12, 1999
-</pre>
-<p class="item_name">HISTORY</p>
-<pre> Explicit Fortran interfaces were added for
- called C functions (it is needed for Windows
- port). March 5, 2001
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5gn_members_f</strong><span class="sign">(</span>loc_id<span class="sign">,</span> name<span class="sign">,</span> nmembers<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> loc_id <span class="sign">!</span> File or group identifier
- CHARACTER<span class="sign">(</span>LEN<span class="sign">=</span><span class="sign">*</span><span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> name <span class="sign">!</span> Name of the group
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> nmembers <span class="sign">!</span> Number of members in the
- <span class="sign">!</span> group
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
-</pre>
-
-<hr />
-<a name="H5G2fh5gopen5ff"></a>
-<a name="robo167"></a><h2>h5gopen_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo44">H5G</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5gopen_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Opens an existing group.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> loc_id - location identifier
- name - name of the group to open
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> grp_id - group identifier
- hdferr - Returns 0 if successful and -1 if fails
-</pre>
-<p class="item_name">OPTIONAL PARAMETERS</p>
-<pre> gapl_id - Group access property list identifier
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- August 12, 1999
-</pre>
-<p class="item_name">HISTORY</p>
-<pre> Explicit Fortran interfaces were added for
- called C functions (it is needed for Windows
- port). March 5, 2001
-
- Added 1.8 (optional) parameter gapl_id
- February, 2008 M. Scot Breitenfeld
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5gopen_f</strong><span class="sign">(</span>loc_id<span class="sign">,</span> name<span class="sign">,</span> grp_id<span class="sign">,</span> hdferr<span class="sign">,</span> gapl_id<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> loc_id <span class="sign">!</span> File or group identifier
- CHARACTER<span class="sign">(</span>LEN<span class="sign">=</span><span class="sign">*</span><span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> name <span class="sign">!</span> Name of the group
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> grp_id <span class="sign">!</span> File identifier
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> OPTIONAL<span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> gapl_id <span class="sign">!</span> Group access property list identifier
-</pre>
-
-<hr />
-<a name="H5G2fh5gset5fcomment5ff"></a>
-<a name="robo168"></a><h2>h5gset_comment_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo44">H5G</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5gset_comment_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Sets comment for specified object.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> loc_id - location identifier
- name - name of the object
- comment - comment to set for the object
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> hdferr - Returns 0 if successful and -1 if fails
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- August 12, 1999
-</pre>
-<p class="item_name">HISTORY</p>
-<pre> Explicit Fortran interfaces were added for
- called C functions (it is needed for Windows
- port). March 5, 2001
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5gset_comment_f</strong><span class="sign">(</span>loc_id<span class="sign">,</span> name<span class="sign">,</span> comment<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> loc_id <span class="sign">!</span> File or group identifier
- CHARACTER<span class="sign">(</span>LEN<span class="sign">=</span><span class="sign">*</span><span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> name <span class="sign">!</span> Current name of an object
- CHARACTER<span class="sign">(</span>LEN<span class="sign">=</span><span class="sign">*</span><span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> comment <span class="sign">!</span> New name of an object
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
-</pre>
-
-<hr />
-<a name="H5G2fh5gunlink5ff"></a>
-<a name="robo169"></a><h2>h5gunlink_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo44">H5G</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5gunlink_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Removes the specified name from the group graph and
- decrements the link count for the object to which name
- points
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> loc_id - location identifier
- name - name of the object to unlink
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> hdferr - Returns 0 if successful and -1 if fails
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- August 12, 1999
-</pre>
-<p class="item_name">HISTORY</p>
-<pre> Explicit Fortran interfaces were added for
- called C functions (it is needed for Windows
- port). March 5, 2001
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5gunlink_f</strong><span class="sign">(</span>loc_id<span class="sign">,</span> name<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> loc_id <span class="sign">!</span> File or group identifier
- CHARACTER<span class="sign">(</span>LEN<span class="sign">=</span><span class="sign">*</span><span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> name <span class="sign">!</span> Name of an object
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
-</pre>
-
-</div> <!-- content -->
-<div id="footer">
-<p>Generated from ./src/H5Gff.f90 on Sun Aug 14 2011 22:49:38
-</p>
-</div> <!-- footer -->
-</body>
-</html>
diff --git a/fortran/doc/DevelGuide/src/H5If_c.html b/fortran/doc/DevelGuide/src/H5If_c.html
deleted file mode 100644
index 8dccce7..0000000
--- a/fortran/doc/DevelGuide/src/H5If_c.html
+++ /dev/null
@@ -1,41 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-type" content="text/html; charset=ISO-8859-1" />
-<link rel="stylesheet" href="../robodoc.css" type="text/css" />
-<title>./src/H5If.c</title>
-<!-- Source: ./src/H5If.c -->
-</head>
-<body>
-<div id="logo">
-<a name="robo_top_of_doc">HDF5 FORTRAN Developer's Guide</a>
-</div> <!-- logo -->
-<div id="navigation">
-<a class="menuitem" href="../toc_index.html#top">Table of Contents</a>
-<a class="menuitem" href="../robo_sourcefiles.html#top">Sourcefiles</a>
-<a class="menuitem" href="../masterindex.html#top">Index</a>
-<a class="menuitem" href="../robo_functions.html#top">Functions</a>
-<a class="menuitem" href="../robo_modules.html#top">Modules</a>
-<a class="menuitem" href="../robo_procedures.html#top">Procedures</a>
-<a class="menuitem" href="../robo_subroutines.html#top">Subroutines</a>
-</div> <!-- navigation -->
-<div id="content">
-<hr />
-<a name="H5If2fH5If"></a>
-<a name="robo48"></a><h2>H5If</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="../robo_modules.html#robo_top_of_doc">Modules</a> ]</p>
-<p class="item_name">PURPOSE</p>
-<pre> This file contains C stubs for <a href="./H5Iff_f90.html#robo47">H5I</a> Fortran APIs
-</pre>
-
-</div> <!-- content -->
-<div id="footer">
-<p>Generated from ./src/H5If.c on Sun Aug 14 2011 22:49:38
-</p>
-</div> <!-- footer -->
-</body>
-</html>
diff --git a/fortran/doc/DevelGuide/src/H5Iff_f90.html b/fortran/doc/DevelGuide/src/H5Iff_f90.html
deleted file mode 100644
index 5987581..0000000
--- a/fortran/doc/DevelGuide/src/H5Iff_f90.html
+++ /dev/null
@@ -1,304 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-type" content="text/html; charset=ISO-8859-1" />
-<link rel="stylesheet" href="../robodoc.css" type="text/css" />
-<title>./src/H5Iff.f90</title>
-<!-- Source: ./src/H5Iff.f90 -->
-</head>
-<body>
-<div id="logo">
-<a name="robo_top_of_doc">HDF5 FORTRAN Developer's Guide</a>
-</div> <!-- logo -->
-<div id="navigation">
-<a class="menuitem" href="../toc_index.html#top">Table of Contents</a>
-<a class="menuitem" href="../robo_sourcefiles.html#top">Sourcefiles</a>
-<a class="menuitem" href="../masterindex.html#top">Index</a>
-<a class="menuitem" href="../robo_functions.html#top">Functions</a>
-<a class="menuitem" href="../robo_modules.html#top">Modules</a>
-<a class="menuitem" href="../robo_procedures.html#top">Procedures</a>
-<a class="menuitem" href="../robo_subroutines.html#top">Subroutines</a>
-</div> <!-- navigation -->
-<div id="content">
-<hr />
-<a name="ROBODoc2fH5I"></a>
-<a name="robo47"></a><h2>H5I</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="../robo_modules.html#robo_top_of_doc">Modules</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> MODULE <strong>H5I</strong>
-</pre>
-<p class="item_name">FILE</p>
-<pre> fortran/src/<a href="#robo_top_of_doc">H5Iff.f90</a>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> This file contains Fortran interfaces for <strong>H5I</strong> functions.
-</pre>
-<p class="item_name">NOTES</p>
-<pre> *** IMPORTANT ***
- If you add a new <strong>H5I</strong> function you must add the function name to the
- Windows dll file 'hdf5_fortrandll.def' in the fortran/src directory.
- This is needed for Windows based operating systems.
-</pre>
-
-<hr />
-<a name="H5I2fh5idec5fref5ff"></a>
-<a name="robo170"></a><h2>h5idec_ref_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo47">H5I</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5idec_ref_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Decrements the reference count of an ID
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> obj_id - Object identifier
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> ref_count - Current reference count of the ID
- hdferr: - Error code
- Success: 0
- Failure: -1
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Quincey Koziol
- December 9, 2003
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5idec_ref_f</strong><span class="sign">(</span>obj_id<span class="sign">,</span> ref_count<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> obj_id <span class="sign">!</span> Object identifier
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> ref_count <span class="sign">!</span> Current reference count of ID
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
-</pre>
-
-<hr />
-<a name="H5I2fh5iget5ffile5fid5ff"></a>
-<a name="robo171"></a><h2>h5iget_file_id_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo47">H5I</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5iget_file_id_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Obtains file identifier from the object identifier
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> obj_id - object identifier
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> file_id - file identifier
- hdferr: - error code
- Success: 0
- Failure: -1
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- August 23, 2004
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5iget_file_id_f</strong><span class="sign">(</span>obj_id<span class="sign">,</span> file_id<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> obj_id <span class="sign">!</span> Object identifier
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> file_id <span class="sign">!</span> File identifier
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
-</pre>
-
-<hr />
-<a name="H5I2fh5iget5fname5ff"></a>
-<a name="robo172"></a><h2>h5iget_name_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo47">H5I</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5iget_name_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Gets a name of an object specified by its idetifier.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> obj_id - attribute identifier
- buf_size - size of a buffer to read name in
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> buf - buffer to read name in, name will be truncated if
- buffer is not big enough
- name_size - name size
- hdferr: - error code
- Success: 0
- Failure: -1
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- March 12, 2003
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5iget_name_f</strong><span class="sign">(</span>obj_id<span class="sign">,</span> buf<span class="sign">,</span> buf_size<span class="sign">,</span> name_size<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> obj_id <span class="sign">!</span> Object identifier
- INTEGER<span class="sign">(</span>SIZE_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> buf_size <span class="sign">!</span> Buffer size
- CHARACTER<span class="sign">(</span>LEN<span class="sign">=</span><span class="sign">*</span><span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> buf <span class="sign">!</span> Buffer to hold object name
- INTEGER<span class="sign">(</span>SIZE_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> name_size <span class="sign">!</span> Actual name size
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code<span class="sign">:</span>
- <span class="sign">!</span> 0 <span class="keyword">if</span> successful<span class="sign">,</span>
- <span class="sign">!</span> <span class="sign">-</span>1 <span class="keyword">if</span> fail
-</pre>
-
-<hr />
-<a name="H5I2fh5iget5fref5ff"></a>
-<a name="robo173"></a><h2>h5iget_ref_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo47">H5I</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5iget_ref_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Retrieves the reference count of an ID
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> obj_id - object identifier
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> ref_count - Current reference count of the ID
- hdferr: - error code
- Success: 0
- Failure: -1
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Quincey Koziol
- December 9, 2003
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5iget_ref_f</strong><span class="sign">(</span>obj_id<span class="sign">,</span> ref_count<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> obj_id <span class="sign">!</span> Object identifier
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> ref_count <span class="sign">!</span> Current reference count of ID
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
-</pre>
-
-<hr />
-<a name="H5I2fh5iget5ftype5ff"></a>
-<a name="robo174"></a><h2>h5iget_type_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo47">H5I</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5iget_type_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Retrieves the type of an object.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> obj_id - object identifier
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> type - type of the object, possible values:
- H5I_FILE_F
- H5I_GROUP_F
- H5I_DATATYPE_F
- H5I_DATASPACE_F
- H5I_DATASET_F
- H5I_ATTR_F
- H5I_BADID_F
- hdferr: - error code
- Success: 0
- Failure: -1
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- August 12, 1999
-</pre>
-<p class="item_name">HISTORY</p>
-<pre> Explicit Fortran interfaces were added for
- called C functions (it is needed for Windows
- port). March 5, 2001
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5iget_type_f</strong><span class="sign">(</span>obj_id<span class="sign">,</span> TYPE<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> obj_id <span class="sign">!</span> Object identifier
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> TYPE <span class="sign">!</span> type of an object<span class="sign">.</span>
- <span class="sign">!</span> possible values are<span class="sign">:</span>
- <span class="sign">!</span> H5I_FILE_F
- <span class="sign">!</span> H5I_GROUP_F
- <span class="sign">!</span> H5I_DATATYPE_F
- <span class="sign">!</span> H5I_DATASPACE_F
- <span class="sign">!</span> H5I_DATASET_F
- <span class="sign">!</span> H5I_ATTR_F
- <span class="sign">!</span> H5I_BADID_F
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
-</pre>
-
-<hr />
-<a name="H5I2fh5iinc5fref5ff"></a>
-<a name="robo175"></a><h2>h5iinc_ref_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo47">H5I</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5iinc_ref_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Increments the reference count of an ID
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> obj_id - object identifier
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> ref_count - Current reference count of the ID
- hdferr: - error code
- Success: 0
- Failure: -1
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Quincey Koziol
- December 9, 2003
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5iinc_ref_f</strong><span class="sign">(</span>obj_id<span class="sign">,</span> ref_count<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> obj_id <span class="sign">!</span> Object identifier
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> ref_count <span class="sign">!</span> Current reference count of ID
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
-</pre>
-
-<hr />
-<a name="H5I2fh5iis5fvalid5ff"></a>
-<a name="robo176"></a><h2>h5iis_valid_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo47">H5I</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <a href="#robo171">h5iget_file_id_f</a>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Check if an ID is valid without producing an error message
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> id - identifier
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> valid - status of id as a valid identifier
- hdferr: - error code
- Success: 0
- Failure: -1
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> M. Scot Breitenfeld
- April 13, 2009
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5iis_valid_f</strong><span class="sign">(</span>id<span class="sign">,</span> valid<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> id <span class="sign">!</span> Identifier
- LOGICAL<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> valid <span class="sign">!</span> Status of id as a valid identifier
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
-</pre>
-
-</div> <!-- content -->
-<div id="footer">
-<p>Generated from ./src/H5Iff.f90 on Sun Aug 14 2011 22:49:38
-</p>
-</div> <!-- footer -->
-</body>
-</html>
diff --git a/fortran/doc/DevelGuide/src/H5Lf_c.html b/fortran/doc/DevelGuide/src/H5Lf_c.html
deleted file mode 100644
index 9adb759..0000000
--- a/fortran/doc/DevelGuide/src/H5Lf_c.html
+++ /dev/null
@@ -1,41 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-type" content="text/html; charset=ISO-8859-1" />
-<link rel="stylesheet" href="../robodoc.css" type="text/css" />
-<title>./src/H5Lf.c</title>
-<!-- Source: ./src/H5Lf.c -->
-</head>
-<body>
-<div id="logo">
-<a name="robo_top_of_doc">HDF5 FORTRAN Developer's Guide</a>
-</div> <!-- logo -->
-<div id="navigation">
-<a class="menuitem" href="../toc_index.html#top">Table of Contents</a>
-<a class="menuitem" href="../robo_sourcefiles.html#top">Sourcefiles</a>
-<a class="menuitem" href="../masterindex.html#top">Index</a>
-<a class="menuitem" href="../robo_functions.html#top">Functions</a>
-<a class="menuitem" href="../robo_modules.html#top">Modules</a>
-<a class="menuitem" href="../robo_procedures.html#top">Procedures</a>
-<a class="menuitem" href="../robo_subroutines.html#top">Subroutines</a>
-</div> <!-- navigation -->
-<div id="content">
-<hr />
-<a name="H5Lf2fH5Lf"></a>
-<a name="robo52"></a><h2>H5Lf</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="../robo_modules.html#robo_top_of_doc">Modules</a> ]</p>
-<p class="item_name">PURPOSE</p>
-<pre> This file contains C stubs for <a href="./H5Lff_f90.html#robo49">H5L</a> Fortran APIs
-</pre>
-
-</div> <!-- content -->
-<div id="footer">
-<p>Generated from ./src/H5Lf.c on Sun Aug 14 2011 22:49:38
-</p>
-</div> <!-- footer -->
-</body>
-</html>
diff --git a/fortran/doc/DevelGuide/src/H5Lff_F03_f90.html b/fortran/doc/DevelGuide/src/H5Lff_F03_f90.html
deleted file mode 100644
index 6b9640b..0000000
--- a/fortran/doc/DevelGuide/src/H5Lff_F03_f90.html
+++ /dev/null
@@ -1,181 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-type" content="text/html; charset=ISO-8859-1" />
-<link rel="stylesheet" href="../robodoc.css" type="text/css" />
-<title>./src/H5Lff_F03.f90</title>
-<!-- Source: ./src/H5Lff_F03.f90 -->
-</head>
-<body>
-<div id="logo">
-<a name="robo_top_of_doc">HDF5 FORTRAN Developer's Guide</a>
-</div> <!-- logo -->
-<div id="navigation">
-<a class="menuitem" href="../toc_index.html#top">Table of Contents</a>
-<a class="menuitem" href="../robo_sourcefiles.html#top">Sourcefiles</a>
-<a class="menuitem" href="../masterindex.html#top">Index</a>
-<a class="menuitem" href="../robo_functions.html#top">Functions</a>
-<a class="menuitem" href="../robo_modules.html#top">Modules</a>
-<a class="menuitem" href="../robo_procedures.html#top">Procedures</a>
-<a class="menuitem" href="../robo_subroutines.html#top">Subroutines</a>
-</div> <!-- navigation -->
-<div id="content">
-<hr />
-<a name="ROBODoc2fH5L2028F0329"></a>
-<a name="robo50"></a><h2>H5L (F03)</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="../robo_modules.html#robo_top_of_doc">Modules</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> H5L_PROVISIONAL
-</pre>
-<p class="item_name">FILE</p>
-<pre> src/fortran/src/<a href="#robo_top_of_doc">H5Lff_F03.f90</a>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> This file contains Fortran 90 and Fortran 2003 interfaces for <a href="./H5Lff_f90.html#robo49">H5L</a> functions.
- It contains the same functions as H5Lff_DEPRECIATE.f90 but includes the
- Fortran 2003 functions and the interface listings. This file will be compiled
- instead of H5Lff_DEPRECIATE.f90 if Fortran 2003 functions are enabled.
-</pre>
-<p class="item_name">NOTES</p>
-<pre> *** IMPORTANT ***
- If you add a new <a href="./H5Aff_f90.html#robo27">H5A</a> function you must add the function name to the
- Windows dll file 'hdf5_fortrandll.def' in the fortran/src directory.
- This is needed for Windows based operating systems.
-</pre>
-
-<hr />
-<a name="H5L2028F03292fh5literate5fby5fname5ff"></a>
-<a name="robo189"></a><h2>h5literate_by_name_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo50">H5L (F03)</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5literate_by_name_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Iterates through links in a group.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> loc_id - File or group identifier specifying location of subject group
- group_name - Name of subject group
- index_type - Type of index which determines the order
- order - Order within index
- idx - Iteration position at which to start
- op - Callback function passing data regarding the link to the calling application
- op_data - User-defined pointer to data required by the application for its processing of the link
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> idx - Position at which an interrupted iteration may be restarted
- hdferr - Error code:
- Success: 0
- Failure: -1
-</pre>
-<p class="item_name">OPTIONAL PARAMETERS</p>
-<pre> lapl_id - Link access property list
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> M. Scot Breitenfeld
- Augest 18, 2008
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5literate_by_name_f</strong><span class="sign">(</span>loc_id<span class="sign">,</span> group_name<span class="sign">,</span> index_type<span class="sign">,</span> order<span class="sign">,</span> idx<span class="sign">,</span> op<span class="sign">,</span> op_data<span class="sign">,</span> return_value<span class="sign">,</span> hdferr<span class="sign">,</span> lapl_id<span class="sign">)</span>
- USE ISO_C_BINDING
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> loc_id <span class="sign">!</span> Identifier specifying subject group
- CHARACTER<span class="sign">(</span>LEN<span class="sign">=</span><span class="sign">*</span><span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> group_name <span class="sign">!</span> Name of subject group
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> index_type <span class="sign">!</span> Type of index which determines the order<span class="sign">:</span>
- <span class="sign">!</span> H5_INDEX_NAME_F <span class="sign">-</span> Alpha<span class="sign">-</span>numeric index on name
- <span class="sign">!</span> H5_INDEX_CRT_ORDER_F <span class="sign">-</span> Index on creation order
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> order <span class="sign">!</span> Order within index<span class="sign">:</span>
- <span class="sign">!</span> H5_ITER_INC_F <span class="sign">-</span> Increasing order
- <span class="sign">!</span> H5_ITER_DEC_F <span class="sign">-</span> Decreasing order
- <span class="sign">!</span> H5_ITER_NATIVE_F <span class="sign">-</span> Fastest available order
- INTEGER<span class="sign">(</span>HSIZE_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>INOUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> idx <span class="sign">!</span> IN <span class="sign">:</span> Iteration position at which to start
- <span class="sign">!</span> OUT<span class="sign">:</span> Position at which an interrupted iteration may be restarted
-
- TYPE<span class="sign">(</span>C_FUNPTR<span class="sign">)</span><span class="sign">:</span><span class="sign">:</span> op <span class="sign">!</span> Callback function passing data regarding the link to the calling application
- TYPE<span class="sign">(</span>C_PTR<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> op_data <span class="sign">!</span> User<span class="sign">-</span>defined pointer to data required by the application <span class="keyword">for</span> its processing of the link
-
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> return_value <span class="sign">!</span> Success<span class="sign">:</span> The <span class="keyword">return</span> value of the first operator that
- <span class="sign">!</span> returns non<span class="sign">-</span>zero<span class="sign">,</span> or zero <span class="keyword">if</span> all members were
- <span class="sign">!</span> processed with no operator returning non<span class="sign">-</span>zero<span class="sign">.</span>
-
- <span class="sign">!</span> Failure<span class="sign">:</span> Negative <span class="keyword">if</span> something goes wrong within the
- <span class="sign">!</span> library<span class="sign">,</span> or the negative value returned by one
- <span class="sign">!</span> of the operators<span class="sign">.</span>
-
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code<span class="sign">:</span>
- <span class="sign">!</span> 0 on success and <span class="sign">-</span>1 on failure
-
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> OPTIONAL<span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> lapl_id <span class="sign">!</span> Link access property list
-</pre>
-
-<hr />
-<a name="H5L2028F03292fh5literate5ff"></a>
-<a name="robo190"></a><h2>h5literate_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo50">H5L (F03)</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5literate_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Iterates through links in a group.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> group_id - Identifier specifying subject group
- index_type - Type of index which determines the order
- order - Order within index
- idx - Iteration position at which to start
- op - Callback function passing data regarding the link to the calling application
- op_data - User-defined pointer to data required by the application for its processing of the link
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> idx - Position at which an interrupted iteration may be restarted
- hdferr - Error code:
- Success: 0
- Failure: -1
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> M. Scot Breitenfeld
- July 8, 2008
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5literate_f</strong><span class="sign">(</span>group_id<span class="sign">,</span> index_type<span class="sign">,</span> order<span class="sign">,</span> idx<span class="sign">,</span> op<span class="sign">,</span> op_data<span class="sign">,</span> return_value<span class="sign">,</span> hdferr<span class="sign">)</span>
- USE ISO_C_BINDING
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> group_id <span class="sign">!</span> Identifier specifying subject group
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> index_type <span class="sign">!</span> Type of index which determines the order<span class="sign">:</span>
- <span class="sign">!</span> H5_INDEX_NAME_F <span class="sign">-</span> Alpha<span class="sign">-</span>numeric index on name
- <span class="sign">!</span> H5_INDEX_CRT_ORDER_F <span class="sign">-</span> Index on creation order
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> order <span class="sign">!</span> Order within index<span class="sign">:</span>
- <span class="sign">!</span> H5_ITER_INC_F <span class="sign">-</span> Increasing order
- <span class="sign">!</span> H5_ITER_DEC_F <span class="sign">-</span> Decreasing order
- <span class="sign">!</span> H5_ITER_NATIVE_F <span class="sign">-</span> Fastest available order
- INTEGER<span class="sign">(</span>HSIZE_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>INOUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> idx <span class="sign">!</span> IN <span class="sign">:</span> Iteration position at which to start
- <span class="sign">!</span> OUT<span class="sign">:</span> Position at which an interrupted iteration may be restarted
-
- TYPE<span class="sign">(</span>C_FUNPTR<span class="sign">)</span><span class="sign">:</span><span class="sign">:</span> op <span class="sign">!</span> Callback function passing data regarding the link to the calling application
- TYPE<span class="sign">(</span>C_PTR<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> op_data <span class="sign">!</span> User<span class="sign">-</span>defined pointer to data required by the application <span class="keyword">for</span> its processing of the link
-
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> return_value <span class="sign">!</span> Success<span class="sign">:</span> The <span class="keyword">return</span> value of the first operator that
- <span class="sign">!</span> returns non<span class="sign">-</span>zero<span class="sign">,</span> or zero <span class="keyword">if</span> all members were
- <span class="sign">!</span> processed with no operator returning non<span class="sign">-</span>zero<span class="sign">.</span>
-
- <span class="sign">!</span> Failure<span class="sign">:</span> Negative <span class="keyword">if</span> something goes wrong within the
- <span class="sign">!</span> library<span class="sign">,</span> or the negative value returned by one
- <span class="sign">!</span> of the operators<span class="sign">.</span>
-
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code<span class="sign">:</span>
- <span class="sign">!</span> 0 on success and <span class="sign">-</span>1 on failure
-</pre>
-
-</div> <!-- content -->
-<div id="footer">
-<p>Generated from ./src/H5Lff_F03.f90 on Sun Aug 14 2011 22:49:38
-</p>
-</div> <!-- footer -->
-</body>
-</html>
diff --git a/fortran/doc/DevelGuide/src/H5Lff_F90_f90.html b/fortran/doc/DevelGuide/src/H5Lff_F90_f90.html
deleted file mode 100644
index 6d1a9bb..0000000
--- a/fortran/doc/DevelGuide/src/H5Lff_F90_f90.html
+++ /dev/null
@@ -1,50 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-type" content="text/html; charset=ISO-8859-1" />
-<link rel="stylesheet" href="../robodoc.css" type="text/css" />
-<title>./src/H5Lff_F90.f90</title>
-<!-- Source: ./src/H5Lff_F90.f90 -->
-</head>
-<body>
-<div id="logo">
-<a name="robo_top_of_doc">HDF5 FORTRAN Developer's Guide</a>
-</div> <!-- logo -->
-<div id="navigation">
-<a class="menuitem" href="../toc_index.html#top">Table of Contents</a>
-<a class="menuitem" href="../robo_sourcefiles.html#top">Sourcefiles</a>
-<a class="menuitem" href="../masterindex.html#top">Index</a>
-<a class="menuitem" href="../robo_functions.html#top">Functions</a>
-<a class="menuitem" href="../robo_modules.html#top">Modules</a>
-<a class="menuitem" href="../robo_procedures.html#top">Procedures</a>
-<a class="menuitem" href="../robo_subroutines.html#top">Subroutines</a>
-</div> <!-- navigation -->
-<div id="content">
-<hr />
-<a name="ROBODoc2fH5L2028F9029"></a>
-<a name="robo51"></a><h2>H5L (F90)</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="../robo_modules.html#robo_top_of_doc">Modules</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> MODULE H5L_PROVISIONAL
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> This file contains Fortran 90 interfaces for <a href="./H5Lff_f90.html#robo49">H5L</a> functions. It contains
- the same functions as <a href="./H5Lff_F03_f90.html#robo_top_of_doc">H5Lff_F03.f90</a> but excludes the Fortran 2003 functions
- and the interface listings. This file will be compiled instead of <a href="./H5Lff_F03_f90.html#robo_top_of_doc">H5Lff_F03.f90</a>
- if Fortran 2003 functions are not enabled.
-
- NOTE
- Currently contains no functions.
-</pre>
-
-</div> <!-- content -->
-<div id="footer">
-<p>Generated from ./src/H5Lff_F90.f90 on Sun Aug 14 2011 22:49:38
-</p>
-</div> <!-- footer -->
-</body>
-</html>
diff --git a/fortran/doc/DevelGuide/src/H5Lff_f90.html b/fortran/doc/DevelGuide/src/H5Lff_f90.html
deleted file mode 100644
index 1a209f2..0000000
--- a/fortran/doc/DevelGuide/src/H5Lff_f90.html
+++ /dev/null
@@ -1,637 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-type" content="text/html; charset=ISO-8859-1" />
-<link rel="stylesheet" href="../robodoc.css" type="text/css" />
-<title>./src/H5Lff.f90</title>
-<!-- Source: ./src/H5Lff.f90 -->
-</head>
-<body>
-<div id="logo">
-<a name="robo_top_of_doc">HDF5 FORTRAN Developer's Guide</a>
-</div> <!-- logo -->
-<div id="navigation">
-<a class="menuitem" href="../toc_index.html#top">Table of Contents</a>
-<a class="menuitem" href="../robo_sourcefiles.html#top">Sourcefiles</a>
-<a class="menuitem" href="../masterindex.html#top">Index</a>
-<a class="menuitem" href="../robo_functions.html#top">Functions</a>
-<a class="menuitem" href="../robo_modules.html#top">Modules</a>
-<a class="menuitem" href="../robo_procedures.html#top">Procedures</a>
-<a class="menuitem" href="../robo_subroutines.html#top">Subroutines</a>
-</div> <!-- navigation -->
-<div id="content">
-<hr />
-<a name="ROBODoc2fH5L"></a>
-<a name="robo49"></a><h2>H5L</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="../robo_modules.html#robo_top_of_doc">Modules</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> MODULE <strong>H5L</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> This file contains Fortran interfaces for <strong>H5L</strong> functions. It includes
- all the functions that are independent on whether the Fortran 2003 functions
- are enabled or disabled.
-</pre>
-<p class="item_name">NOTES</p>
-<pre> *** IMPORTANT ***
- If you add a new <strong>H5L</strong> function you must add the function name to the
- Windows dll file 'hdf5_fortrandll.def' in the fortran/src directory.
- This is needed for Windows based operating systems.
-</pre>
-
-<hr />
-<a name="H5L2fh5lcopy5ff"></a>
-<a name="robo178"></a><h2>h5lcopy_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo49">H5L</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5lcopy_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Copies a link from one location to another.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> src_loc_id - Location identifier of the source link
- src_name - Name of the link to be copied
- dest_loc_id - Location identifier specifying the destination of the copy
- dest_name - Name to be assigned to the NEW copy
- loc_id - Identifier of the file or group containing the object
- name - Name of the link to delete
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> hdferr - Returns 0 if successful and -1 if fails
-</pre>
-<p class="item_name">OPTIONAL PARAMETERS</p>
-<pre> lcpl_id - Link creation property list identifier
- lapl_id - Link access property list identifier
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> M. Scot Breitenfeld
- February 27, 2008
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5lcopy_f</strong><span class="sign">(</span>src_loc_id<span class="sign">,</span> src_name<span class="sign">,</span> dest_loc_id<span class="sign">,</span> dest_name<span class="sign">,</span> hdferr<span class="sign">,</span> <span class="sign">&amp;</span>
- lcpl_id<span class="sign">,</span> lapl_id<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> src_loc_id <span class="sign">!</span> Location identifier of the source link
- CHARACTER<span class="sign">(</span>LEN<span class="sign">=</span><span class="sign">*</span><span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> src_name <span class="sign">!</span> Name of the link to be copied
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> dest_loc_id <span class="sign">!</span> Location identifier specifying the destination of the copy
- CHARACTER<span class="sign">(</span>LEN<span class="sign">=</span><span class="sign">*</span><span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> dest_name <span class="sign">!</span> Name to be assigned to the NEW copy
-
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code<span class="sign">:</span>
- <span class="sign">!</span> 0 on success and <span class="sign">-</span>1 on failure
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> OPTIONAL<span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> lcpl_id <span class="sign">!</span> Link creation property list identifier
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> OPTIONAL<span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> lapl_id <span class="sign">!</span> Link access property list identifier
-</pre>
-
-<hr />
-<a name="H5L2fH5Lcreate5fexternal5ff"></a>
-<a name="robo179"></a><h2>H5Lcreate_external_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo49">H5L</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>H5Lcreate_external_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Creates a soft link to an object in a different file.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> file_name - Name of the file containing the target object. Neither the file nor the target object is
- required to exist. May be the file the link is being created in.
- obj_name - Path within the target file to the target object.
- link_loc_id - The file or group identifier for the new link.
- link_name - The name of the new link.
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> hdferr - Returns 0 if successful and -1 if fails
-</pre>
-<p class="item_name">OPTIONAL PARAMETERS</p>
-<pre> lcpl_id - Link creation property list identifier.
- lapl_id - Link access property list identifier.
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> M. Scot Breitenfeld
- February 27, 2008
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE h5lcreate_external_f<span class="sign">(</span>file_name<span class="sign">,</span> obj_name<span class="sign">,</span> link_loc_id<span class="sign">,</span> link_name<span class="sign">,</span> hdferr<span class="sign">,</span> lcpl_id<span class="sign">,</span> lapl_id<span class="sign">)</span>
- IMPLICIT NONE
- CHARACTER<span class="sign">(</span>LEN<span class="sign">=</span><span class="sign">*</span><span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> file_name <span class="sign">!</span> Name of the file containing the target object<span class="sign">.</span> Neither
- <span class="sign">!</span> the file nor the target object is required to exist<span class="sign">.</span>
- <span class="sign">!</span> May be the file the link is being created in<span class="sign">.</span>
- CHARACTER<span class="sign">(</span>LEN<span class="sign">=</span><span class="sign">*</span><span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> obj_name <span class="sign">!</span> Name of the target object<span class="sign">,</span> which must already exist<span class="sign">.</span>
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> link_loc_id <span class="sign">!</span> The file or group identifier <span class="keyword">for</span> the new link<span class="sign">.</span>
- CHARACTER<span class="sign">(</span>LEN<span class="sign">=</span><span class="sign">*</span><span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> link_name <span class="sign">!</span> The name of the new link<span class="sign">.</span>
-
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code<span class="sign">:</span>
- <span class="sign">!</span> 0 on success and <span class="sign">-</span>1 on failure
-
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> OPTIONAL<span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> lcpl_id <span class="sign">!</span> Link creation property list identifier<span class="sign">.</span>
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> OPTIONAL<span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> lapl_id <span class="sign">!</span> Link access property list identifier<span class="sign">.</span>
-</pre>
-
-<hr />
-<a name="H5L2fH5Lcreate5fhard5ff"></a>
-<a name="robo180"></a><h2>H5Lcreate_hard_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo49">H5L</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>H5Lcreate_hard_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Creates a hard link to an object.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> obj_loc_id - The file or group identifier for the target object.
- obj_name - Name of the target object, which must already exist.
- link_loc_id - The file or group identifier for the new link.
- link_name - The name of the new link.
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> hdferr - Returns 0 if successful and -1 if fails
-</pre>
-<p class="item_name">OPTIONAL PARAMETERS</p>
-<pre> lcpl_id - Link creation property list identifier.
- lapl_id - Link access property list identifier.
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> M. Scot Breitenfeld
- February 27, 2008
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE h5lcreate_hard_f<span class="sign">(</span>obj_loc_id<span class="sign">,</span> obj_name<span class="sign">,</span> link_loc_id<span class="sign">,</span> link_name<span class="sign">,</span> hdferr<span class="sign">,</span> lcpl_id<span class="sign">,</span> lapl_id<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> obj_loc_id <span class="sign">!</span> The file or group identifier <span class="keyword">for</span> the target object<span class="sign">.</span>
- CHARACTER<span class="sign">(</span>LEN<span class="sign">=</span><span class="sign">*</span><span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> obj_name <span class="sign">!</span> Name of the target object<span class="sign">,</span> which must already exist<span class="sign">.</span>
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> link_loc_id <span class="sign">!</span> The file or group identifier <span class="keyword">for</span> the new link<span class="sign">.</span>
- CHARACTER<span class="sign">(</span>LEN<span class="sign">=</span><span class="sign">*</span><span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> link_name <span class="sign">!</span> The name of the new link<span class="sign">.</span>
-
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code<span class="sign">:</span>
- <span class="sign">!</span> 0 on success and <span class="sign">-</span>1 on failure
-
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> OPTIONAL<span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> lcpl_id <span class="sign">!</span> Link creation property list identifier<span class="sign">.</span>
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> OPTIONAL<span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> lapl_id <span class="sign">!</span> Link access property list identifier<span class="sign">.</span>
-</pre>
-
-<hr />
-<a name="H5L2fH5Lcreate5fsoft5ff"></a>
-<a name="robo181"></a><h2>H5Lcreate_soft_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo49">H5L</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>H5Lcreate_soft_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Creates a soft link to an object.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> target_path - Path to the target object, which is not required to exist.
- link_loc_id - The file or group identifier for the new link.
- link_name - The name of the new link.
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> hdferr - Returns 0 if successful and -1 if fails
-</pre>
-<p class="item_name">OPTIONAL PARAMETERS</p>
-<pre> lcpl_id - Link creation property list identifier.
- lapl_id - Link access property list identifier.
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> M. Scot Breitenfeld
- February 20, 2008
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE h5lcreate_soft_f<span class="sign">(</span>target_path<span class="sign">,</span> link_loc_id<span class="sign">,</span> link_name<span class="sign">,</span> hdferr<span class="sign">,</span> lcpl_id<span class="sign">,</span> lapl_id<span class="sign">)</span>
- IMPLICIT NONE
- CHARACTER<span class="sign">(</span>LEN<span class="sign">=</span><span class="sign">*</span><span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> target_path <span class="sign">!</span> Path to the target object<span class="sign">,</span> which is not required to exist<span class="sign">.</span>
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> link_loc_id <span class="sign">!</span> The file or group identifier <span class="keyword">for</span> the new link<span class="sign">.</span>
- CHARACTER<span class="sign">(</span>LEN<span class="sign">=</span><span class="sign">*</span><span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> link_name <span class="sign">!</span> The name of the new link<span class="sign">.</span>
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code<span class="sign">:</span>
- <span class="sign">!</span> 0 on success and <span class="sign">-</span>1 on failure
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> OPTIONAL<span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> lcpl_id <span class="sign">!</span> Link creation property list identifier<span class="sign">.</span>
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> OPTIONAL<span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> lapl_id <span class="sign">!</span> Link access property list identifier<span class="sign">.</span>
-</pre>
-
-<hr />
-<a name="H5L2fh5ldelete5fby5fidx5ff"></a>
-<a name="robo182"></a><h2>h5ldelete_by_idx_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo49">H5L</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5ldelete_by_idx_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Removes the nth link in a group.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> loc_id - File or group identifier specifying location of subject group
- group_name - Name of subject group
- index_field - Type of index; Possible values are:
- H5_INDEX_UNKNOWN_F = -1 - Unknown index type
- H5_INDEX_NAME_F - Index on names
- H5_INDEX_CRT_ORDER_F - Index on creation order
- H5_INDEX_N_F - Number of indices defined
-
- order - Order within field or index; Possible values are:
- H5_ITER_UNKNOWN_F - Unknown order
- H5_ITER_INC_F - Increasing order
- H5_ITER_DEC_F - Decreasing order
- H5_ITER_NATIVE_F - No particular order, whatever is fastest
- H5_ITER_N_F - Number of iteration orders
-
- n - Link for which to retrieve information
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> hdferr - Returns 0 if successful and -1 if fails
-</pre>
-<p class="item_name">OPTIONAL PARAMETERS</p>
-<pre> lapl_id - Link access property list
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> M. Scot Breitenfeld
- February 29, 2008
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5ldelete_by_idx_f</strong><span class="sign">(</span>loc_id<span class="sign">,</span> group_name<span class="sign">,</span> index_field<span class="sign">,</span> order<span class="sign">,</span> n<span class="sign">,</span> hdferr<span class="sign">,</span> lapl_id<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> loc_id <span class="sign">!</span> Identifer <span class="keyword">for</span> object to which attribute is attached
- CHARACTER<span class="sign">(</span>LEN<span class="sign">=</span><span class="sign">*</span><span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> group_name <span class="sign">!</span> Name of object<span class="sign">,</span> relative to location<span class="sign">,</span>
- <span class="sign">!</span> from which attribute is to be removed
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> index_field <span class="sign">!</span> Type of index<span class="sign">;</span> Possible values are<span class="sign">:</span>
- <span class="sign">!</span> H5_INDEX_UNKNOWN_F <span class="sign">-</span> Unknown index type
- <span class="sign">!</span> H5_INDEX_NAME_F <span class="sign">-</span> Index on names
- <span class="sign">!</span> H5_INDEX_CRT_ORDER_F <span class="sign">-</span> Index on creation order
- <span class="sign">!</span> H5_INDEX_N_F <span class="sign">-</span> Number of indices defined
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> order <span class="sign">!</span> Order in which to iterate over index<span class="sign">;</span> Possible values are<span class="sign">:</span>
- <span class="sign">!</span> H5_ITER_UNKNOWN_F <span class="sign">-</span> Unknown order
- <span class="sign">!</span> H5_ITER_INC_F <span class="sign">-</span> Increasing order
- <span class="sign">!</span> H5_ITER_DEC_F <span class="sign">-</span> Decreasing order
- <span class="sign">!</span> H5_ITER_NATIVE_F <span class="sign">-</span> No particular order<span class="sign">,</span> whatever is fastest
- <span class="sign">!</span> H5_ITER_N_F <span class="sign">-</span> Number of iteration orders
- INTEGER<span class="sign">(</span>HSIZE_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> n <span class="sign">!</span> Offset within index
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code<span class="sign">:</span>
- <span class="sign">!</span> 0 on success and <span class="sign">-</span>1 on failure
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> OPTIONAL<span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> lapl_id <span class="sign">!</span> Link access property list
-</pre>
-
-<hr />
-<a name="H5L2fh5ldelete5ff"></a>
-<a name="robo183"></a><h2>h5ldelete_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo49">H5L</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5ldelete_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Removes a link from a group.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> loc_id - Identifier of the file or group containing the object
- name - Name of the link to delete
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> hdferr - Returns 0 if successful and -1 if fails
-</pre>
-<p class="item_name">OPTIONAL PARAMETERS</p>
-<pre> lapl_id - Link access property list identifier
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> M. Scot Breitenfeld
- January, 2008
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5ldelete_f</strong><span class="sign">(</span>loc_id<span class="sign">,</span> name<span class="sign">,</span> hdferr<span class="sign">,</span> lapl_id<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> loc_id <span class="sign">!</span> Identifier of the file or group containing the object
- CHARACTER<span class="sign">(</span>LEN<span class="sign">=</span><span class="sign">*</span><span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> name <span class="sign">!</span> Name of the link to delete
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code<span class="sign">:</span>
- <span class="sign">!</span> 0 on success and <span class="sign">-</span>1 on failure
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> OPTIONAL<span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> lapl_id <span class="sign">!</span> Link access property list identifier
-</pre>
-
-<hr />
-<a name="H5L2fH5Lexists5ff"></a>
-<a name="robo184"></a><h2>H5Lexists_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo49">H5L</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>H5Lexists_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Check if a link with a particular name exists in a group.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> loc_id - Identifier of the file or group to query.
- name - Link name to check
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> link_exists - link exists status (.TRUE.,.FALSE.)
- hdferr - Returns 0 if successful and -1 if fails
-</pre>
-<p class="item_name">OPTIONAL PARAMETERS</p>
-<pre> lapl_id - Link access property list identifier.
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> M. Scot Breitenfeld
- February 29, 2008
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE h5lexists_f<span class="sign">(</span>loc_id<span class="sign">,</span> name<span class="sign">,</span> link_exists<span class="sign">,</span> hdferr<span class="sign">,</span> lapl_id<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> loc_id <span class="sign">!</span> Identifier of the file or group to query<span class="sign">.</span>
- CHARACTER<span class="sign">(</span>LEN<span class="sign">=</span><span class="sign">*</span><span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> name <span class="sign">!</span> Link name to check<span class="sign">.</span>
- LOGICAL<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> link_exists <span class="sign">!</span> <span class="sign">.</span>TRUE<span class="sign">.</span> <span class="keyword">if</span> exists<span class="sign">,</span> <span class="sign">.</span>FALSE<span class="sign">.</span> otherwise
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code<span class="sign">:</span>
- <span class="sign">!</span> 0 on success and <span class="sign">-</span>1 on failure
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> OPTIONAL<span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> lapl_id
- <span class="sign">!</span> Link access property list identifier<span class="sign">.</span>
-</pre>
-
-<hr />
-<a name="H5L2fh5lget5finfo5fby5fidx5ff"></a>
-<a name="robo185"></a><h2>h5lget_info_by_idx_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo49">H5L</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5lget_info_by_idx_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Retrieves metadata for a link in a group, according to the order within a field or index.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> loc_id - File or group identifier specifying location of subject group
- group_name - Name of subject group
- index_field - Index or field which determines the order
- order - Order within field or index
- n - Link for which to retrieve information
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> NOTE: In C these are defined as a structure: H5L_info_t
- corder_valid - Indicates whether the creation order data is valid for this attribute
- corder - Is a positive integer containing the creation order of the attribute
- cset - Indicates the character set used for the attribute’s name
- address - If the link is a hard link, address specifies the file address that the link points to
- val_size - If the link is a symbolic link, val_size will be the length of the link value, e.g.,
- the length of the name of the pointed-to object with a null terminator.
- hdferr - Returns 0 if successful and -1 if fails
-</pre>
-<p class="item_name">OPTIONAL PARAMETERS</p>
-<pre> lapl_id - Link access property list
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> M. Scot Breitenfeld
- February 29, 2008
-</pre>
-<p class="item_name">HISTORY</p>
-<pre> Changed the link_type names to match those in C (bug 1720) from,
- H5L_LINK_HARD_F, H5L_LINK_SOFT_F,H5L_LINK_EXTERNAL_F,H5L_LINK_ERROR_F
- to
- H5L_TYPE_HARD_F, H5L_TYPE_SOFT_F,H5L_TYPE_EXTERNAL_F,H5L_TYPE_ERROR_F
- MSB January 8, 2010.
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5lget_info_by_idx_f</strong><span class="sign">(</span>loc_id<span class="sign">,</span> group_name<span class="sign">,</span> index_field<span class="sign">,</span> order<span class="sign">,</span> n<span class="sign">,</span> <span class="sign">&amp;</span>
- link_type<span class="sign">,</span> f_corder_valid<span class="sign">,</span> corder<span class="sign">,</span> cset<span class="sign">,</span> address<span class="sign">,</span> val_size<span class="sign">,</span> hdferr<span class="sign">,</span> lapl_id<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> loc_id <span class="sign">!</span> File or group identifier specifying location of subject group
- CHARACTER<span class="sign">(</span>LEN<span class="sign">=</span><span class="sign">*</span><span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> group_name <span class="sign">!</span> Name of subject group
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> index_field <span class="sign">!</span> Index or field which determines the order
- <span class="sign">!</span> H5_INDEX_UNKNOWN_F <span class="sign">-</span> Unknown index type
- <span class="sign">!</span> H5_INDEX_NAME_F <span class="sign">-</span> Index on names
- <span class="sign">!</span> H5_INDEX_CRT_ORDER_F <span class="sign">-</span> Index on creation order
- <span class="sign">!</span> H5_INDEX_N_F <span class="sign">-</span> Number of indices defined
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> order <span class="sign">!</span> Order in which to iterate over index<span class="sign">;</span> Possible values are<span class="sign">:</span>
- <span class="sign">!</span> H5_ITER_UNKNOWN_F <span class="sign">-</span> Unknown order
- <span class="sign">!</span> H5_ITER_INC_F <span class="sign">-</span> Increasing order
- <span class="sign">!</span> H5_ITER_DEC_F <span class="sign">-</span> Decreasing order
- <span class="sign">!</span> H5_ITER_NATIVE_F <span class="sign">-</span> No particular order<span class="sign">,</span> whatever is fastest
- INTEGER<span class="sign">(</span>HSIZE_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> n <span class="sign">!</span> Attribute<span class="sign">â</span><span class="sign">€</span><span class="sign">™</span>s position in index
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> link_type <span class="sign">!</span> Specifies the link class<span class="sign">:</span>
- <span class="sign">!</span> H5L_TYPE_HARD_F <span class="sign">-</span> Hard link
- <span class="sign">!</span> H5L_TYPE_SOFT_F <span class="sign">-</span> Soft link
- <span class="sign">!</span> H5L_TYPE_EXTERNAL_F <span class="sign">-</span> External link
- <span class="sign">!</span> H5L_TYPE_ERROR _F <span class="sign">-</span> Error
- LOGICAL<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> f_corder_valid <span class="sign">!</span> Indicates whether the creation order data is valid <span class="keyword">for</span> this attribute
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> corder <span class="sign">!</span> Is a positive integer containing the creation order of the attribute
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> cset <span class="sign">!</span> Indicates the character set used <span class="keyword">for</span> the attribute<span class="sign">â</span><span class="sign">€</span><span class="sign">™</span>s name
- INTEGER<span class="sign">(</span>HADDR_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> address <span class="sign">!</span> If the link is a hard link<span class="sign">,</span> address specifies the file address that the link points to
- INTEGER<span class="sign">(</span>SIZE_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> val_size <span class="sign">!</span> If the link is a symbolic link<span class="sign">,</span> val_size will be the length of the link value<span class="sign">,</span> e<span class="sign">.</span>g<span class="sign">.</span><span class="sign">,</span>
- <span class="sign">!</span> the length of the name of the pointed<span class="sign">-</span>to object with a null terminator<span class="sign">.</span>
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code<span class="sign">:</span>
- <span class="sign">!</span> 0 on success and <span class="sign">-</span>1 on failure
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> OPTIONAL<span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> lapl_id <span class="sign">!</span> Link access property list
-</pre>
-
-<hr />
-<a name="H5L2fh5lget5finfo5ff"></a>
-<a name="robo186"></a><h2>h5lget_info_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo49">H5L</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5lget_info_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Returns information about a link.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> link_loc_id - File or group identifier.
- link_name - Name of the link for which information is being sought
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> NOTE: In C these are contained in the structure H5L_info_t
-
- cset - indicates the character set used for link’s name.
- corder - specifies the link’s creation order position.
- corder_valid - indicates whether the value in corder is valid.
- link_type - specifies the link class:
- H5L_TYPE_HARD_F - Hard link
- H5L_TYPE_SOFT_F - Soft link
- H5L_TYPE_EXTERNAL_F - External link
- H5L_TYPE_ERROR_ F - Error
- address - If the link is a hard link, address specifies the file address that the link points to
- val_size - If the link is a symbolic link, val_size will be the length of the link value, e.g.,
- the length of the name of the pointed-to object with a null terminator.
- hdferr - Returns 0 if successful and -1 if fails
-</pre>
-<p class="item_name">OPTIONAL PARAMETERS</p>
-<pre> lapl_id - Link access property list
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> M. Scot Breitenfeld
- February 29, 2008
-</pre>
-<p class="item_name">HISTORY</p>
-<pre> Changed the link_type names to match those in C (bug 1720) from,
- H5L_LINK_HARD_F, H5L_LINK_SOFT_F,H5L_LINK_EXTERNAL_F,H5L_LINK_ERROR_F
- to
- H5L_TYPE_HARD_F, H5L_TYPE_SOFT_F,H5L_TYPE_EXTERNAL_F,H5L_TYPE_ERROR_F
- MSB January 8, 2010.
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5lget_info_f</strong><span class="sign">(</span>link_loc_id<span class="sign">,</span> link_name<span class="sign">,</span> <span class="sign">&amp;</span>
- cset<span class="sign">,</span> corder<span class="sign">,</span> f_corder_valid<span class="sign">,</span> link_type<span class="sign">,</span> address<span class="sign">,</span> val_size<span class="sign">,</span> <span class="sign">&amp;</span>
- hdferr<span class="sign">,</span> lapl_id<span class="sign">)</span>
- IMPLICIT NONE
-
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> link_loc_id <span class="sign">!</span> File or group identifier<span class="sign">.</span>
- CHARACTER<span class="sign">(</span>LEN<span class="sign">=</span><span class="sign">*</span><span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> link_name <span class="sign">!</span> Name of the link <span class="keyword">for</span> which information is being sought
-
-<span class="sign">!</span> OUTPUTS NOTE<span class="sign">:</span> In C these are contained in the structure H5L_info_t
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> cset <span class="sign">!</span> Indicates the character set used <span class="keyword">for</span> the link<span class="sign">â</span><span class="sign">€</span><span class="sign">™</span>s name<span class="sign">.</span>
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> corder <span class="sign">!</span> Specifies the link<span class="sign">â</span><span class="sign">€</span><span class="sign">™</span>s creation order position<span class="sign">.</span>
- LOGICAL<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> f_corder_valid <span class="sign">!</span> Indicates whether the value in corder is valid<span class="sign">.</span>
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> link_type <span class="sign">!</span> Specifies the link class<span class="sign">:</span>
- <span class="sign">!</span> H5L_TYPE_HARD_F <span class="sign">-</span> Hard link
- <span class="sign">!</span> H5L_TYPE_SOFT_F <span class="sign">-</span> Soft link
- <span class="sign">!</span> H5L_TYPE_EXTERNAL_F <span class="sign">-</span> External link
- <span class="sign">!</span> H5L_TYPE_ERROR _F <span class="sign">-</span> Error
- INTEGER<span class="sign">(</span>HADDR_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> address <span class="sign">!</span> If the link is a hard link<span class="sign">,</span> address specifies the file address that the link points to
- INTEGER<span class="sign">(</span>SIZE_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> val_size <span class="sign">!</span> If the link is a symbolic link<span class="sign">,</span> val_size will be the length of the link value<span class="sign">,</span> e<span class="sign">.</span>g<span class="sign">.</span><span class="sign">,</span>
- <span class="sign">!</span> the length of the name of the pointed<span class="sign">-</span>to object with a null terminator<span class="sign">.</span>
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code<span class="sign">:</span>
- <span class="sign">!</span> 0 on success and <span class="sign">-</span>1 on failure
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> OPTIONAL<span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> lapl_id <span class="sign">!</span> Link access property list
-</pre>
-
-<hr />
-<a name="H5L2fh5lget5fname5fby5fidx5ff"></a>
-<a name="robo187"></a><h2>h5lget_name_by_idx_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo49">H5L</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5lget_name_by_idx_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Retrieves name of the nth link in a group, according to the order within a specified field or index.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> loc_id - File or group identifier specifying location of subject group
- group_name - Name of subject group
- index_field - Index or field which determines the order
- order - Order within field or index
- n - Link for which to retrieve information
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> name - Buffer in which link value is returned
- hdferr - Returns 0 if successful and -1 if fails
-</pre>
-<p class="item_name">OPTIONAL PARAMETERS</p>
-<pre> lapl_id - List access property list identifier.
- size - Maximum number of characters of link value to be returned.
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> M. Scot Breitenfeld
- March 10, 2008
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5lget_name_by_idx_f</strong><span class="sign">(</span>loc_id<span class="sign">,</span> group_name<span class="sign">,</span> index_field<span class="sign">,</span> order<span class="sign">,</span> n<span class="sign">,</span> <span class="sign">&amp;</span>
- name<span class="sign">,</span> hdferr<span class="sign">,</span> size<span class="sign">,</span> lapl_id<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> loc_id <span class="sign">!</span> File or group identifier specifying location of subject group
- CHARACTER<span class="sign">(</span>LEN<span class="sign">=</span><span class="sign">*</span><span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> group_name <span class="sign">!</span> Name of subject group
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> index_field <span class="sign">!</span> Index or field which determines the order
- <span class="sign">!</span> H5_INDEX_UNKNOWN_F <span class="sign">-</span> Unknown index type
- <span class="sign">!</span> H5_INDEX_NAME_F <span class="sign">-</span> Index on names
- <span class="sign">!</span> H5_INDEX_CRT_ORDER_F <span class="sign">-</span> Index on creation order
- <span class="sign">!</span> H5_INDEX_N_F <span class="sign">-</span> Number of indices defined
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> order <span class="sign">!</span> Order in which to iterate over index<span class="sign">;</span> Possible values are<span class="sign">:</span>
- <span class="sign">!</span> H5_ITER_UNKNOWN_F <span class="sign">-</span> Unknown order
- <span class="sign">!</span> H5_ITER_INC_F <span class="sign">-</span> Increasing order
- <span class="sign">!</span> H5_ITER_DEC_F <span class="sign">-</span> Decreasing order
- <span class="sign">!</span> H5_ITER_NATIVE_F <span class="sign">-</span> No particular order<span class="sign">,</span> whatever is fastest
- INTEGER<span class="sign">(</span>HSIZE_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> n <span class="sign">!</span> Attribute<span class="sign">â</span><span class="sign">€</span><span class="sign">™</span>s position in index
- CHARACTER<span class="sign">(</span>LEN<span class="sign">=</span><span class="sign">*</span><span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> name <span class="sign">!</span> Buffer in which link value is returned
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code<span class="sign">:</span>
- <span class="sign">!</span> 0 on success and <span class="sign">-</span>1 on failure
-</pre>
-
-<hr />
-<a name="H5L2fh5lis5fregistered5ff"></a>
-<a name="robo188"></a><h2>h5lis_registered_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo49">H5L</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5lis_registered_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Determines whether a class of user-defined links is registered.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> link_cls_id - User-defined link class identifier
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> registered - .TRUE. - if the link class has been registered
- .FALSE. - if it is unregistered
- hdferr - Error code
- Success: 0
- Failure: -1
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> M. Scot Breitenfeld
- February 29, 2008
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5lis_registered_f</strong><span class="sign">(</span>link_cls_id<span class="sign">,</span> registered<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> link_cls_id <span class="sign">!</span> User<span class="sign">-</span>defined link class identifier
- LOGICAL<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> registered <span class="sign">!</span> <span class="sign">.</span>TRUE<span class="sign">.</span> <span class="sign">-</span> <span class="keyword">if</span> the link class has been registered and
- <span class="sign">!</span> <span class="sign">.</span>FALSE<span class="sign">.</span> <span class="sign">-</span> <span class="keyword">if</span> it is unregistered
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code<span class="sign">:</span>
- <span class="sign">!</span> 0 on success and <span class="sign">-</span>1 on failure
-</pre>
-
-<hr />
-<a name="H5L2fh5lmove5ff"></a>
-<a name="robo191"></a><h2>h5lmove_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo49">H5L</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5lmove_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Renames a link within an <a href="./HDF5_f90.html#robo76">HDF5</a> file.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> src_loc_id - Original file or group identifier.
- src_name - Original link name.
- dest_loc_id - Destination file or group identifier.
- dest_name - NEW link name.
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> hdferr - Error code:
- 0 on success and -1 on failure
-</pre>
-<p class="item_name">OPTIONAL PARAMETERS</p>
-<pre> lcpl_id - Link creation property list identifier to be associated WITH the NEW link.
- lapl_id - Link access property list identifier to be associated WITH the NEW link.
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> M. Scot Breitenfeld
- March 3, 2008
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5lmove_f</strong><span class="sign">(</span>src_loc_id<span class="sign">,</span> src_name<span class="sign">,</span> dest_loc_id<span class="sign">,</span> dest_name<span class="sign">,</span> hdferr<span class="sign">,</span> lcpl_id<span class="sign">,</span> lapl_id<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> src_loc_id <span class="sign">!</span> Original file or group identifier<span class="sign">.</span>
- CHARACTER<span class="sign">(</span>LEN<span class="sign">=</span><span class="sign">*</span><span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> src_name <span class="sign">!</span> Original link name<span class="sign">.</span>
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> dest_loc_id <span class="sign">!</span> Destination file or group identifier<span class="sign">.</span>
- CHARACTER<span class="sign">(</span>LEN<span class="sign">=</span><span class="sign">*</span><span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> dest_name <span class="sign">!</span> NEW link name<span class="sign">.</span>
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code<span class="sign">:</span>
- <span class="sign">!</span> 0 on success and <span class="sign">-</span>1 on failure
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> OPTIONAL<span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> lcpl_id <span class="sign">!</span> Link creation property list identifier
- <span class="sign">!</span> to be associated WITH the NEW link<span class="sign">.</span>
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> OPTIONAL<span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> lapl_id <span class="sign">!</span> Link access property list identifier
- <span class="sign">!</span> to be associated WITH the NEW link<span class="sign">.</span>
-</pre>
-
-</div> <!-- content -->
-<div id="footer">
-<p>Generated from ./src/H5Lff.f90 on Sun Aug 14 2011 22:49:38
-</p>
-</div> <!-- footer -->
-</body>
-</html>
diff --git a/fortran/doc/DevelGuide/src/H5Of_c.html b/fortran/doc/DevelGuide/src/H5Of_c.html
deleted file mode 100644
index e4a97e9..0000000
--- a/fortran/doc/DevelGuide/src/H5Of_c.html
+++ /dev/null
@@ -1,41 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-type" content="text/html; charset=ISO-8859-1" />
-<link rel="stylesheet" href="../robodoc.css" type="text/css" />
-<title>./src/H5Of.c</title>
-<!-- Source: ./src/H5Of.c -->
-</head>
-<body>
-<div id="logo">
-<a name="robo_top_of_doc">HDF5 FORTRAN Developer's Guide</a>
-</div> <!-- logo -->
-<div id="navigation">
-<a class="menuitem" href="../toc_index.html#top">Table of Contents</a>
-<a class="menuitem" href="../robo_sourcefiles.html#top">Sourcefiles</a>
-<a class="menuitem" href="../masterindex.html#top">Index</a>
-<a class="menuitem" href="../robo_functions.html#top">Functions</a>
-<a class="menuitem" href="../robo_modules.html#top">Modules</a>
-<a class="menuitem" href="../robo_procedures.html#top">Procedures</a>
-<a class="menuitem" href="../robo_subroutines.html#top">Subroutines</a>
-</div> <!-- navigation -->
-<div id="content">
-<hr />
-<a name="H5Of2fH5Of"></a>
-<a name="robo59"></a><h2>H5Of</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="../robo_modules.html#robo_top_of_doc">Modules</a> ]</p>
-<p class="item_name">PURPOSE</p>
-<pre> This file contains C stubs for <a href="./H5Off_f90.html#robo56">H5O</a> Fortran APIs
-</pre>
-
-</div> <!-- content -->
-<div id="footer">
-<p>Generated from ./src/H5Of.c on Sun Aug 14 2011 22:49:38
-</p>
-</div> <!-- footer -->
-</body>
-</html>
diff --git a/fortran/doc/DevelGuide/src/H5Off_f90.html b/fortran/doc/DevelGuide/src/H5Off_f90.html
deleted file mode 100644
index 790810e..0000000
--- a/fortran/doc/DevelGuide/src/H5Off_f90.html
+++ /dev/null
@@ -1,198 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-type" content="text/html; charset=ISO-8859-1" />
-<link rel="stylesheet" href="../robodoc.css" type="text/css" />
-<title>./src/H5Off.f90</title>
-<!-- Source: ./src/H5Off.f90 -->
-</head>
-<body>
-<div id="logo">
-<a name="robo_top_of_doc">HDF5 FORTRAN Developer's Guide</a>
-</div> <!-- logo -->
-<div id="navigation">
-<a class="menuitem" href="../toc_index.html#top">Table of Contents</a>
-<a class="menuitem" href="../robo_sourcefiles.html#top">Sourcefiles</a>
-<a class="menuitem" href="../masterindex.html#top">Index</a>
-<a class="menuitem" href="../robo_functions.html#top">Functions</a>
-<a class="menuitem" href="../robo_modules.html#top">Modules</a>
-<a class="menuitem" href="../robo_procedures.html#top">Procedures</a>
-<a class="menuitem" href="../robo_subroutines.html#top">Subroutines</a>
-</div> <!-- navigation -->
-<div id="content">
-<hr />
-<a name="ROBODoc2fH5O"></a>
-<a name="robo56"></a><h2>H5O</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="../robo_modules.html#robo_top_of_doc">Modules</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> MODULE <strong>H5O</strong>
-</pre>
-<p class="item_name">FILE</p>
-<pre> fortran/src/<a href="#robo_top_of_doc">H5Off.f90</a>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> This file contains Fortran interfaces for <strong>H5O</strong> functions. It includes
- all the functions that are independent on whether the Fortran 2003 functions
- are enabled or disabled.
-</pre>
-<p class="item_name">NOTES</p>
-<pre> *** IMPORTANT ***
- If you add a new <strong>H5O</strong> function you must add the function name to the
- Windows dll file 'hdf5_fortrandll.def' in the fortran/src directory.
- This is needed for Windows based operating systems.
-</pre>
-
-<hr />
-<a name="H5O2fh5oclose5ff"></a>
-<a name="robo193"></a><h2>h5oclose_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo56">H5O</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5oclose_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Closes an object in an <a href="./HDF5_f90.html#robo76">HDF5</a> file.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> object_id - Object identifier
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> hdferr - Returns 0 if successful and -1 if fails
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> M. Scot Breitenfeld
- December 17, 2008
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5oclose_f</strong><span class="sign">(</span>object_id<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> object_id
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr
-</pre>
-
-<hr />
-<a name="H5O2fh5olink5ff"></a>
-<a name="robo195"></a><h2>h5olink_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo56">H5O</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5olink_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Creates a hard link to an object in an <a href="./HDF5_f90.html#robo76">HDF5</a> file.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> object_id - Object to be linked.
- new_loc_id - File or group identifier specifying location at which object is to be linked.
- new_link_name - Name of link to be created, relative to new_loc_id.
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> hdferr: - error code
- Success: 0
- Failure: -1
-</pre>
-<p class="item_name">OPTIONAL PARAMETERS</p>
-<pre> lcpl_id - Link creation property list identifier.
- lapl_id - Link access property list identifier.
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> M. Scot Breitenfeld
- April 21, 2008
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5olink_f</strong><span class="sign">(</span>object_id<span class="sign">,</span> new_loc_id<span class="sign">,</span> new_link_name<span class="sign">,</span> hdferr<span class="sign">,</span> lcpl_id<span class="sign">,</span> lapl_id<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> object_id <span class="sign">!</span> Object to be linked
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> new_loc_id <span class="sign">!</span> File or group identifier specifying
- <span class="sign">!</span> location at which object is to be linked<span class="sign">.</span>
- CHARACTER<span class="sign">(</span>LEN<span class="sign">=</span><span class="sign">*</span><span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> new_link_name <span class="sign">!</span> Name of link to be created<span class="sign">,</span> relative to new_loc_id<span class="sign">.</span>
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
- <span class="sign">!</span> Success<span class="sign">:</span> 0
- <span class="sign">!</span> Failure<span class="sign">:</span> <span class="sign">-</span>1
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> OPTIONAL<span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> lcpl_id <span class="sign">!</span> Link creation property list identifier<span class="sign">.</span>
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> OPTIONAL<span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> lapl_id <span class="sign">!</span> Link creation property list identifier<span class="sign">.</span>
-</pre>
-
-<hr />
-<a name="H5O2fh5oopen5ff"></a>
-<a name="robo196"></a><h2>h5oopen_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo56">H5O</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5oopen_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Opens an object in an <a href="./HDF5_f90.html#robo76">HDF5</a> file by location identifier and path name.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> loc_id - File or group identifier
- name - Path to the object, relative to loc_id.
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> obj_id - Object identifier for the opened object
- hdferr: - error code
- Success: 0
- Failure: -1
-</pre>
-<p class="item_name">OPTIONAL PARAMETERS</p>
-<pre> lapl_id - Access property list identifier for the link pointing to the object
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> M. Scot Breitenfeld
- April 18, 2008
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5oopen_f</strong><span class="sign">(</span>loc_id<span class="sign">,</span> name<span class="sign">,</span> obj_id<span class="sign">,</span> hdferr<span class="sign">,</span> lapl_id<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> loc_id <span class="sign">!</span> File or group identifier
- CHARACTER<span class="sign">(</span>LEN<span class="sign">=</span><span class="sign">*</span><span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> name <span class="sign">!</span> Path to the object<span class="sign">,</span> relative to loc_id
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> obj_id <span class="sign">!</span> Object identifier <span class="keyword">for</span> the opened object
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
- <span class="sign">!</span> Success<span class="sign">:</span> 0
- <span class="sign">!</span> Failure<span class="sign">:</span> <span class="sign">-</span>1
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> OPTIONAL<span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> lapl_id <span class="sign">!</span> Attribute access property list
-</pre>
-
-<hr />
-<a name="H5O2fh5open5fby5faddr5ff"></a>
-<a name="robo197"></a><h2>h5open_by_addr_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo56">H5O</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> h5oopen_by_addr_f
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Opens an object using its address within an <a href="./HDF5_f90.html#robo76">HDF5</a> file.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> loc_id - File or group identifier
- addr - Object’s address in the file
- OUTPUTS:
- obj_id - Object identifier for the opened object
- hdferr - Returns 0 if successful and -1 if fails
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> M. Scot Breitenfeld
- September 14, 2009
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE h5oopen_by_addr_f<span class="sign">(</span>loc_id<span class="sign">,</span> addr<span class="sign">,</span> obj_id<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> loc_id <span class="sign">!</span> File or group identifier
- INTEGER<span class="sign">(</span>HADDR_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> addr <span class="sign">!</span> Object<span class="sign">â</span><span class="sign">€</span><span class="sign">™</span>s address in the file
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> obj_id <span class="sign">!</span> Object identifier <span class="keyword">for</span> the opened object
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code<span class="sign">:</span>
- <span class="sign">!</span> 0 on success and <span class="sign">-</span>1 on failure
-</pre>
-
-</div> <!-- content -->
-<div id="footer">
-<p>Generated from ./src/H5Off.f90 on Sun Aug 14 2011 22:49:38
-</p>
-</div> <!-- footer -->
-</body>
-</html>
diff --git a/fortran/doc/DevelGuide/src/H5Pf_c.html b/fortran/doc/DevelGuide/src/H5Pf_c.html
deleted file mode 100644
index 6b8079a..0000000
--- a/fortran/doc/DevelGuide/src/H5Pf_c.html
+++ /dev/null
@@ -1,41 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-type" content="text/html; charset=ISO-8859-1" />
-<link rel="stylesheet" href="../robodoc.css" type="text/css" />
-<title>./src/H5Pf.c</title>
-<!-- Source: ./src/H5Pf.c -->
-</head>
-<body>
-<div id="logo">
-<a name="robo_top_of_doc">HDF5 FORTRAN Developer's Guide</a>
-</div> <!-- logo -->
-<div id="navigation">
-<a class="menuitem" href="../toc_index.html#top">Table of Contents</a>
-<a class="menuitem" href="../robo_sourcefiles.html#top">Sourcefiles</a>
-<a class="menuitem" href="../masterindex.html#top">Index</a>
-<a class="menuitem" href="../robo_functions.html#top">Functions</a>
-<a class="menuitem" href="../robo_modules.html#top">Modules</a>
-<a class="menuitem" href="../robo_procedures.html#top">Procedures</a>
-<a class="menuitem" href="../robo_subroutines.html#top">Subroutines</a>
-</div> <!-- navigation -->
-<div id="content">
-<hr />
-<a name="H5Pf2fH5Pf"></a>
-<a name="robo63"></a><h2>H5Pf</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="../robo_modules.html#robo_top_of_doc">Modules</a> ]</p>
-<p class="item_name">PURPOSE</p>
-<pre> This file contains C stubs for H5P Fortran APIs
-</pre>
-
-</div> <!-- content -->
-<div id="footer">
-<p>Generated from ./src/H5Pf.c on Sun Aug 14 2011 22:49:38
-</p>
-</div> <!-- footer -->
-</body>
-</html>
diff --git a/fortran/doc/DevelGuide/src/H5Pff_F03_f90.html b/fortran/doc/DevelGuide/src/H5Pff_F03_f90.html
deleted file mode 100644
index 51882ba..0000000
--- a/fortran/doc/DevelGuide/src/H5Pff_F03_f90.html
+++ /dev/null
@@ -1,832 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-type" content="text/html; charset=ISO-8859-1" />
-<link rel="stylesheet" href="../robodoc.css" type="text/css" />
-<title>./src/H5Pff_F03.f90</title>
-<!-- Source: ./src/H5Pff_F03.f90 -->
-</head>
-<body>
-<div id="logo">
-<a name="robo_top_of_doc">HDF5 FORTRAN Developer's Guide</a>
-</div> <!-- logo -->
-<div id="navigation">
-<a class="menuitem" href="../toc_index.html#top">Table of Contents</a>
-<a class="menuitem" href="../robo_sourcefiles.html#top">Sourcefiles</a>
-<a class="menuitem" href="../masterindex.html#top">Index</a>
-<a class="menuitem" href="../robo_functions.html#top">Functions</a>
-<a class="menuitem" href="../robo_modules.html#top">Modules</a>
-<a class="menuitem" href="../robo_procedures.html#top">Procedures</a>
-<a class="menuitem" href="../robo_subroutines.html#top">Subroutines</a>
-</div> <!-- navigation -->
-<div id="content">
-<hr />
-<a name="ROBODoc2fH5P2028F0329"></a>
-<a name="robo61"></a><h2>H5P (F03)</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="../robo_modules.html#robo_top_of_doc">Modules</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> H5P_PROVISIONAL
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> This file contains Fortran 90 and Fortran 2003 interfaces for H5P functions.
- It contains the same functions as H5Pff_DEPRECIATE.f90 but includes the
- Fortran 2003 functions and the interface listings. This file will be compiled
- instead of H5Pff_DEPRECIATE.f90 if Fortran 2003 functions are enabled.
-</pre>
-<p class="item_name">NOTES</p>
-<pre> *** IMPORTANT ***
- If you add a new H5P function you must add the function name to the
- Windows dll file 'hdf5_fortrandll.def' in the fortran/src directory.
- This is needed for Windows based operating systems.
-</pre>
-
-<hr />
-<a name="H5P2028F03292f20h5pget5fdouble"></a>
-<a name="robo80"></a><h2> h5pget_double</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo61">H5P (F03)</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <a href="./H5Pff_F90_f90.html#robo229">h5pget_double</a>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Gets a property list value
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> prp_id - iproperty list identifier to modify
- name - name of property to modify
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> value - value of property
- hdferr: - error code
- Success: 0
- Failure: -1
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- October 9, 2002
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <a href="./H5Pff_F90_f90.html#robo229">h5pget_double</a><span class="sign">(</span>prp_id<span class="sign">,</span> name<span class="sign">,</span> value<span class="sign">,</span> hdferr<span class="sign">)</span>
- USE<span class="sign">,</span> INTRINSIC <span class="sign">:</span><span class="sign">:</span> ISO_C_BINDING
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> prp_id <span class="sign">!</span> Property list identifier
- CHARACTER<span class="sign">(</span>LEN<span class="sign">=</span><span class="sign">*</span><span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> name <span class="sign">!</span> Name of property to modify
- DOUBLE PRECISION<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span><span class="sign">,</span> TARGET <span class="sign">:</span><span class="sign">:</span> value <span class="sign">!</span> Property value
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
-</pre>
-
-<hr />
-<a name="H5P2028F03292fh5pcreate5fclass5ff"></a>
-<a name="robo205"></a><h2>h5pcreate_class_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo61">H5P (F03)</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5pcreate_class_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Create a new property list class
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> parent - Property list identifier of the parent class
- Possible values include:
- H5P_ROOT_F
- H5P_FILE_CREATE_F
- H5P_FILE_ACCESS_F
- H5P_DATASET_CREATE_F
- H5P_DATASET_XFER_F
- H5P_FILE_MOUNT_F
- name - name of the class we are creating
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> class - porperty list class identifier
- hdferr: - error code
-
- Success: 0
- Failure: -1
-</pre>
-<p class="item_name">OPTIONAL PARAMETERS</p>
-<pre> H5P_cls_create_func_t (create) - Callback routine called when a property list is created
- create_data - User pointer to any class creation information needed
- H5P_cls_copy_func_t (copy) - Callback routine called when a property list is copied
- copy_data - User pointer to any class copy information needed
- H5P_cls_close_func_t (close) - Callback routine called when a property list is being closed
- close_data - User pointer to any class close information needed
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- October 9, 2002
-</pre>
-<p class="item_name">HISTORY</p>
-<pre> Added callback arguments
- M. Scot Breitenfeld, July 3, 2008
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5pcreate_class_f</strong><span class="sign">(</span>parent<span class="sign">,</span> name<span class="sign">,</span> class<span class="sign">,</span> hdferr<span class="sign">,</span> create<span class="sign">,</span> create_data<span class="sign">,</span> copy<span class="sign">,</span> copy_data<span class="sign">,</span> close<span class="sign">,</span> close_data<span class="sign">)</span>
- USE iso_c_binding
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> parent <span class="sign">!</span> parent property list class identifier
- CHARACTER<span class="sign">(</span>LEN<span class="sign">=</span><span class="sign">*</span><span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> name <span class="sign">!</span> name of property tocreate
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> class <span class="sign">!</span> property list class identifier
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
- TYPE<span class="sign">(</span>C_PTR<span class="sign">)</span><span class="sign">,</span> OPTIONAL <span class="sign">:</span><span class="sign">:</span> create_data<span class="sign">,</span> copy_data<span class="sign">,</span> close_data
- TYPE<span class="sign">(</span>C_FUNPTR<span class="sign">)</span><span class="sign">,</span> OPTIONAL <span class="sign">:</span><span class="sign">:</span> create<span class="sign">,</span> copy<span class="sign">,</span> close
-</pre>
-
-<hr />
-<a name="H5P2028F03292fh5pget5fchar"></a>
-<a name="robo218"></a><h2>h5pget_char</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo61">H5P (F03)</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5pget_char</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Gets a property list value
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> prp_id - iproperty list identifier to modify
- name - name of property to modify
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> value - value of property
- hdferr: - error code
- Success: 0
- Failure: -1
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- October 9, 2002
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5pget_char</strong><span class="sign">(</span>prp_id<span class="sign">,</span> name<span class="sign">,</span> value<span class="sign">,</span> hdferr<span class="sign">)</span>
- USE<span class="sign">,</span> INTRINSIC <span class="sign">:</span><span class="sign">:</span> ISO_C_BINDING
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> prp_id <span class="sign">!</span> Property list identifier
- CHARACTER<span class="sign">(</span>LEN<span class="sign">=</span><span class="sign">*</span><span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> name <span class="sign">!</span> Name of property to modify
- CHARACTER<span class="sign">(</span>LEN<span class="sign">=</span><span class="sign">*</span><span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> value <span class="sign">!</span> Property value
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
-</pre>
-
-<hr />
-<a name="H5P2028F03292fh5pget5finteger"></a>
-<a name="robo247"></a><h2>h5pget_integer</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo61">H5P (F03)</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5pget_integer</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Gets a property list value
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> prp_id - iproperty list identifier to modify
- name - name of property to modify
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> value - value of property
- hdferr: - error code
- Success: 0
- Failure: -1
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- October 9, 2002
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5pget_integer</strong><span class="sign">(</span>prp_id<span class="sign">,</span> name<span class="sign">,</span> value<span class="sign">,</span> hdferr<span class="sign">)</span>
- USE<span class="sign">,</span> INTRINSIC <span class="sign">:</span><span class="sign">:</span> ISO_C_BINDING
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> prp_id <span class="sign">!</span> Property list identifier
- CHARACTER<span class="sign">(</span>LEN<span class="sign">=</span><span class="sign">*</span><span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> name <span class="sign">!</span> Name of property to modify
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span><span class="sign">,</span> TARGET <span class="sign">:</span><span class="sign">:</span> value <span class="sign">!</span> Property value
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
-</pre>
-
-<hr />
-<a name="H5P2028F03292fh5pget5freal"></a>
-<a name="robo261"></a><h2>h5pget_real</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo61">H5P (F03)</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5pget_real</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Gets a property list value
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> prp_id - iproperty list identifier to modify
- name - name of property to modify
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> value - value of property
- hdferr: - error code
- Success: 0
- Failure: -1
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- October 9, 2002
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5pget_real</strong><span class="sign">(</span>prp_id<span class="sign">,</span> name<span class="sign">,</span> value<span class="sign">,</span> hdferr<span class="sign">)</span>
- USE<span class="sign">,</span> INTRINSIC <span class="sign">:</span><span class="sign">:</span> ISO_C_BINDING
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> prp_id <span class="sign">!</span> Property list identifier
- CHARACTER<span class="sign">(</span>LEN<span class="sign">=</span><span class="sign">*</span><span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> name <span class="sign">!</span> Name of property to modify
- REAL<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span><span class="sign">,</span> TARGET <span class="sign">:</span><span class="sign">:</span> value <span class="sign">!</span> Property value
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
-</pre>
-
-<hr />
-<a name="H5P2028F03292fh5pinsert5fchar"></a>
-<a name="robo273"></a><h2>h5pinsert_char</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo61">H5P (F03)</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5pinsert_char</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Registers a temporary property with a property list class.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> plist - property list identifier
- permanent property within
- name - name of property to insert
- size - size of property in bytes
- value - initial value for the property
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> hdferr: - error code
- Success: 0
- Failure: -1
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- October 10, 2002
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5pinsert_char</strong><span class="sign">(</span>plist<span class="sign">,</span> name<span class="sign">,</span> size<span class="sign">,</span> value<span class="sign">,</span> hdferr<span class="sign">)</span>
- USE iso_c_binding
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> plist <span class="sign">!</span> Property list identifier
- CHARACTER<span class="sign">(</span>LEN<span class="sign">=</span><span class="sign">*</span><span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> name <span class="sign">!</span> Name of property to insert
- INTEGER<span class="sign">(</span>SIZE_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> size <span class="sign">!</span> Size of property value
- CHARACTER<span class="sign">(</span>LEN<span class="sign">=</span><span class="sign">*</span><span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> value <span class="sign">!</span> Property value
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
-</pre>
-
-<hr />
-<a name="H5P2028F03292fh5pinsert5fdouble"></a>
-<a name="robo274"></a><h2>h5pinsert_double</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo61">H5P (F03)</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5pinsert_double</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Registers a temporary property with a property list class.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> plist - property list identifier
- permanent property within
- name - name of property to insert
- size - size of property in bytes
- value - initial value for the property
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> hdferr: - error code
- Success: 0
- Failure: -1
-</pre>
-<p class="item_name">OPTIONAL PARAMETERS</p>
-<pre> NONE
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- October 10, 2002
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5pinsert_double</strong><span class="sign">(</span>plist<span class="sign">,</span> name<span class="sign">,</span> size<span class="sign">,</span> value<span class="sign">,</span> hdferr<span class="sign">)</span>
- USE iso_c_binding
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> plist <span class="sign">!</span> Property list identifier
- CHARACTER<span class="sign">(</span>LEN<span class="sign">=</span><span class="sign">*</span><span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> name <span class="sign">!</span> Name of property to insert
- INTEGER<span class="sign">(</span>SIZE_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> size <span class="sign">!</span> Size of the property value
- DOUBLE PRECISION<span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span><span class="sign">,</span> TARGET <span class="sign">:</span><span class="sign">:</span> value <span class="sign">!</span> Property value
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
-</pre>
-
-<hr />
-<a name="H5P2028F03292fh5pinsert5finteger"></a>
-<a name="robo276"></a><h2>h5pinsert_integer</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo61">H5P (F03)</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5pinsert_integer</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Registers a temporary property with a property list class.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> plist - property list identifier
- name - name of property to insert
- size - size of property in bytes
- value - initial value for the property
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> hdferr: - error code
- Success: 0
- Failure: -1
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- October 10, 2002
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5pinsert_integer</strong><span class="sign">(</span>plist<span class="sign">,</span> name<span class="sign">,</span> size<span class="sign">,</span> value<span class="sign">,</span> hdferr<span class="sign">)</span>
- USE iso_c_binding
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> plist <span class="sign">!</span> Property list identifier
- CHARACTER<span class="sign">(</span>LEN<span class="sign">=</span><span class="sign">*</span><span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> name <span class="sign">!</span> Name of property to insert
- INTEGER<span class="sign">(</span>SIZE_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> size <span class="sign">!</span> Size of the property value
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span><span class="sign">,</span> TARGET <span class="sign">:</span><span class="sign">:</span> value <span class="sign">!</span> Property value
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
-</pre>
-
-<hr />
-<a name="H5P2028F03292fh5pinsert5fptr"></a>
-<a name="robo278"></a><h2>h5pinsert_ptr</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo61">H5P (F03)</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5pinsert_ptr</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Registers a temporary property with a property list class.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> plist - property list identifier
- permanent property within
- name - name of property to insert
- size - size of property in bytes
- value - initial value for the property
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> hdferr: - error code
- Success: 0
- Failure: -1
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> M. Scot Breitenfeld
- June 24, 2008
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5pinsert_ptr</strong><span class="sign">(</span>plist<span class="sign">,</span> name<span class="sign">,</span> size<span class="sign">,</span> value<span class="sign">,</span> hdferr<span class="sign">)</span>
- USE iso_c_binding
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> plist <span class="sign">!</span> Property list identifier
- CHARACTER<span class="sign">(</span>LEN<span class="sign">=</span><span class="sign">*</span><span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> name <span class="sign">!</span> Name of property to insert
- INTEGER<span class="sign">(</span>SIZE_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> size <span class="sign">!</span> Size of property value
- TYPE<span class="sign">(</span>c_ptr<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> value <span class="sign">!</span> Property value
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
-</pre>
-
-<hr />
-<a name="H5P2028F03292fh5pinsert5freal"></a>
-<a name="robo280"></a><h2>h5pinsert_real</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo61">H5P (F03)</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5pinsert_real</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Registers a temporary property with a property list class.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> plist - property list identifier
- permanent property within
- name - name of property to insert
- size - size of property in bytes
- value - initial value for the property
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> hdferr: - error code
- Success: 0
- Failure: -1
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- October 10, 2002
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5pinsert_real</strong><span class="sign">(</span>plist<span class="sign">,</span> name<span class="sign">,</span> size<span class="sign">,</span> value<span class="sign">,</span> hdferr<span class="sign">)</span>
- USE iso_c_binding
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> plist <span class="sign">!</span> Property list identifier
- CHARACTER<span class="sign">(</span>LEN<span class="sign">=</span><span class="sign">*</span><span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> name <span class="sign">!</span> Name of property to insert
- INTEGER<span class="sign">(</span>SIZE_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> size <span class="sign">!</span> Size of the property value
- REAL<span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span><span class="sign">,</span> TARGET <span class="sign">:</span><span class="sign">:</span> value <span class="sign">!</span> Property value
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
-</pre>
-
-<hr />
-<a name="H5P2028F03292fh5pregister5fchar"></a>
-<a name="robo283"></a><h2>h5pregister_char</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo61">H5P (F03)</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5pregister_char</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Registers a permanent property with a property list class.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> class - property list class to register
- permanent property within
- name - name of property to register
- size - size of property in bytes
- value - default value for property in newly
- created property lists
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> hdferr: - error code
- Success: 0
- Failure: -1
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- October 10, 2002
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5pregister_char</strong><span class="sign">(</span>class<span class="sign">,</span> name<span class="sign">,</span> size<span class="sign">,</span> value<span class="sign">,</span> hdferr<span class="sign">)</span>
- USE ISO_C_BINDING
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> class <span class="sign">!</span> Property list class identifier
- CHARACTER<span class="sign">(</span>LEN<span class="sign">=</span><span class="sign">*</span><span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> name <span class="sign">!</span> Name of property to <span class="keyword">register</span>
- INTEGER<span class="sign">(</span>SIZE_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> size <span class="sign">!</span> size of the property value
- CHARACTER<span class="sign">(</span>LEN<span class="sign">=</span><span class="sign">*</span><span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> value <span class="sign">!</span> Property value
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
-</pre>
-
-<hr />
-<a name="H5P2028F03292fh5pregister5fdouble"></a>
-<a name="robo286"></a><h2>h5pregister_double</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo61">H5P (F03)</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5pregister_double</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Registers a permanent property with a property list class.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> class - property list class to register
- permanent property within
- name - name of property to register
- size - size of property in bytes
- value - default value for property in newly
- created property lists
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> hdferr: - error code
- Success: 0
- Failure: -1
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- October 10, 2002
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5pregister_double</strong><span class="sign">(</span>class<span class="sign">,</span> name<span class="sign">,</span> size<span class="sign">,</span> value<span class="sign">,</span> hdferr<span class="sign">)</span>
- USE ISO_C_BINDING
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> class <span class="sign">!</span> Property list class identifier
- CHARACTER<span class="sign">(</span>LEN<span class="sign">=</span><span class="sign">*</span><span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> name <span class="sign">!</span> Name of property to <span class="keyword">register</span>
- INTEGER<span class="sign">(</span>SIZE_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> size <span class="sign">!</span> size of the property value
- DOUBLE PRECISION<span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span><span class="sign">,</span> TARGET <span class="sign">:</span><span class="sign">:</span> value <span class="sign">!</span> Property value
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
-</pre>
-
-<hr />
-<a name="H5P2028F03292fh5pregister5finteger"></a>
-<a name="robo287"></a><h2>h5pregister_integer</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo61">H5P (F03)</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5pregister_integer</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Registers a permanent property with a property list class.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> class - property list class to register
- permanent property within
- name - name of property to register
- size - size of property in bytes
- value - default value for property in newly
- created property lists
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> hdferr: - error code
- Success: 0
- Failure: -1
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- October 10, 2002
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5pregister_integer</strong><span class="sign">(</span>class<span class="sign">,</span> name<span class="sign">,</span> size<span class="sign">,</span> value<span class="sign">,</span> hdferr<span class="sign">)</span>
- USE ISO_C_BINDING
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> class <span class="sign">!</span> Property list class identifier
- CHARACTER<span class="sign">(</span>LEN<span class="sign">=</span><span class="sign">*</span><span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> name <span class="sign">!</span> Name of property to <span class="keyword">register</span>
- INTEGER<span class="sign">(</span>SIZE_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> size <span class="sign">!</span> Size of the property value
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span><span class="sign">,</span> TARGET <span class="sign">:</span><span class="sign">:</span> value <span class="sign">!</span> Property value
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
-</pre>
-
-<hr />
-<a name="H5P2028F03292fh5pregister5fptr"></a>
-<a name="robo289"></a><h2>h5pregister_ptr</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo61">H5P (F03)</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5pregister_ptr</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Registers a permanent property with a property list class.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> class - property list class to register
- permanent property within
- name - name of property to register
- size - size of property in bytes
- value - default value for property in newly
- created property lists
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> hdferr: - error code
- Success: 0
- Failure: -1
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> M. Scot Breitenfeld
- June 24, 2008
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5pregister_ptr</strong><span class="sign">(</span>class<span class="sign">,</span> name<span class="sign">,</span> size<span class="sign">,</span> value<span class="sign">,</span> hdferr<span class="sign">)</span>
- USE ISO_C_BINDING
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> class <span class="sign">!</span> Property list class identifier
- CHARACTER<span class="sign">(</span>LEN<span class="sign">=</span><span class="sign">*</span><span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> name <span class="sign">!</span> Name of property to <span class="keyword">register</span>
- INTEGER<span class="sign">(</span>SIZE_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> size <span class="sign">!</span> Size of the property value
- TYPE<span class="sign">(</span>C_PTR<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> value <span class="sign">!</span> Property value
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
-</pre>
-
-<hr />
-<a name="H5P2028F03292fh5pregister5freal"></a>
-<a name="robo291"></a><h2>h5pregister_real</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo61">H5P (F03)</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5pregister_real</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Registers a permanent property with a property list class.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> class - property list class to register
- permanent property within
- name - name of property to register
- size - size of property in bytes
- value - default value for property in newly
- created property lists
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> hdferr: - error code
- Success: 0
- Failure: -1
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- October 10, 2002
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5pregister_real</strong><span class="sign">(</span>class<span class="sign">,</span> name<span class="sign">,</span> size<span class="sign">,</span> value<span class="sign">,</span> hdferr<span class="sign">)</span>
- USE ISO_C_BINDING
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> class <span class="sign">!</span> Property list class identifier
- CHARACTER<span class="sign">(</span>LEN<span class="sign">=</span><span class="sign">*</span><span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> name <span class="sign">!</span> Name of property to <span class="keyword">register</span>
- INTEGER<span class="sign">(</span>SIZE_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> size <span class="sign">!</span> size of the property value
- REAL<span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span><span class="sign">,</span> TARGET <span class="sign">:</span><span class="sign">:</span> value <span class="sign">!</span> Property value
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
-</pre>
-
-<hr />
-<a name="H5P2028F03292fh5pset28get29fill5fvalue5ff"></a>
-<a name="robo294"></a><h2>h5pset(get)fill_value_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo61">H5P (F03)</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5pset(get)fill_value_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Sets(gets) fill value for a dataset creation property list
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> prp_id - dataset creation property list identifier
- type_id - datatype identifier for fill value
- fillvalue - fill value
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> type_id - datatype identifier for fill value
- fillvalue - fill value
- hdferr: - error code
- Success: 0
- Failure: -1
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- August 12, 1999
-</pre>
-<p class="item_name">HISTORY</p>
-<pre> Explicit Fortran interfaces were added for
- called C functions (it is needed for Windows
- port). March 14, 2001
-
- Added the recommended way of passing fillvalue
- and that is by passing the C address, all other
- ways are obsolete and should be avoided. June, 2008 MSB
-</pre>
-<p class="item_name">NOTES</p>
-<pre> <strong>h5pset(get)fill_value_f</strong> function is overloaded to support
- INTEGER, REAL, DOUBLE PRECISION and CHARACTER dtatypes.
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE h5pset_fill_value_integer<span class="sign">(</span>prp_id<span class="sign">,</span> type_id<span class="sign">,</span> fillvalue<span class="sign">,</span> hdferr<span class="sign">)</span>
- USE<span class="sign">,</span> INTRINSIC <span class="sign">:</span><span class="sign">:</span> ISO_C_BINDING
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> prp_id <span class="sign">!</span> Property list identifier
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> type_id <span class="sign">!</span> Datatype identifier of
- <span class="sign">!</span> of fillvalue datatype
- <span class="sign">!</span> <span class="sign">(</span>in memory<span class="sign">)</span>
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span><span class="sign">,</span> TARGET <span class="sign">:</span><span class="sign">:</span> fillvalue <span class="sign">!</span> Fillvalue
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
-</pre>
-
-<hr />
-<a name="H5P2028F03292fh5pset5fchar"></a>
-<a name="robo303"></a><h2>h5pset_char</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo61">H5P (F03)</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5pset_char</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Sets a property list value
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> prp_id - iproperty list identifier to modify
- name - name of property to modify
- value - value to set property to
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> hdferr: - error code
- Success: 0
- Failure: -1
-</pre>
-<p class="item_name">OPTIONAL PARAMETERS</p>
-<pre> NONE
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- October 9, 2002
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5pset_char</strong><span class="sign">(</span>prp_id<span class="sign">,</span> name<span class="sign">,</span> value<span class="sign">,</span> hdferr<span class="sign">)</span>
- USE<span class="sign">,</span> INTRINSIC <span class="sign">:</span><span class="sign">:</span> ISO_C_BINDING
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> prp_id <span class="sign">!</span> Property list identifier
- CHARACTER<span class="sign">(</span>LEN<span class="sign">=</span><span class="sign">*</span><span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> name <span class="sign">!</span> Name of property to modify
- CHARACTER<span class="sign">(</span>LEN<span class="sign">=</span><span class="sign">*</span><span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> value <span class="sign">!</span> Property value
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
-</pre>
-
-<hr />
-<a name="H5P2028F03292fh5pset5fdouble"></a>
-<a name="robo313"></a><h2>h5pset_double</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo61">H5P (F03)</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5pset_double</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Sets a property list value
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> prp_id - iproperty list identifier to modify
- name - name of property to modify
- value - value to set property to
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> hdferr: - error code
- Success: 0
- Failure: -1
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- October 9, 2002
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5pset_double</strong><span class="sign">(</span>prp_id<span class="sign">,</span> name<span class="sign">,</span> value<span class="sign">,</span> hdferr<span class="sign">)</span>
- USE<span class="sign">,</span> INTRINSIC <span class="sign">:</span><span class="sign">:</span> ISO_C_BINDING
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> prp_id <span class="sign">!</span> Property list identifier
- CHARACTER<span class="sign">(</span>LEN<span class="sign">=</span><span class="sign">*</span><span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> name <span class="sign">!</span> Name of property to modify
- DOUBLE PRECISION<span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span><span class="sign">,</span> TARGET <span class="sign">:</span><span class="sign">:</span> value <span class="sign">!</span> Property value
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
-</pre>
-
-<hr />
-<a name="H5P2028F03292fh5pset5finteger"></a>
-<a name="robo334"></a><h2>h5pset_integer</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo61">H5P (F03)</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5pset_integer</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Sets a property list value
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> prp_id - iproperty list identifier to modify
- name - name of property to modify
- value - value to set property to
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> hdferr: - error code
- Success: 0
- Failure: -1
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- October 9, 2002
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5pset_integer</strong><span class="sign">(</span>prp_id<span class="sign">,</span> name<span class="sign">,</span> value<span class="sign">,</span> hdferr<span class="sign">)</span>
- USE<span class="sign">,</span> INTRINSIC <span class="sign">:</span><span class="sign">:</span> ISO_C_BINDING
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> prp_id <span class="sign">!</span> Property list identifier
- CHARACTER<span class="sign">(</span>LEN<span class="sign">=</span><span class="sign">*</span><span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> name <span class="sign">!</span> Name of property to modify
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span><span class="sign">,</span> TARGET <span class="sign">:</span><span class="sign">:</span> value <span class="sign">!</span> Property value
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
-</pre>
-
-<hr />
-<a name="H5P2028F03292fh5pset5freal"></a>
-<a name="robo345"></a><h2>h5pset_real</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo61">H5P (F03)</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5pset_real</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Sets a property list value
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> prp_id - iproperty list identifier to modify
- name - name of property to modify
- value - value to set property to
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> hdferr: - error code
- Success: 0
- Failure: -1
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- October 9, 2002
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5pset_real</strong><span class="sign">(</span>prp_id<span class="sign">,</span> name<span class="sign">,</span> value<span class="sign">,</span> hdferr<span class="sign">)</span>
- USE<span class="sign">,</span> INTRINSIC <span class="sign">:</span><span class="sign">:</span> ISO_C_BINDING
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> prp_id <span class="sign">!</span> Property list identifier
- CHARACTER<span class="sign">(</span>LEN<span class="sign">=</span><span class="sign">*</span><span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> name <span class="sign">!</span> Name of property to modify
- REAL<span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span><span class="sign">,</span> TARGET <span class="sign">:</span><span class="sign">:</span> value <span class="sign">!</span> Property value
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
-</pre>
-
-</div> <!-- content -->
-<div id="footer">
-<p>Generated from ./src/H5Pff_F03.f90 on Sun Aug 14 2011 22:49:38
-</p>
-</div> <!-- footer -->
-</body>
-</html>
diff --git a/fortran/doc/DevelGuide/src/H5Pff_F90_f90.html b/fortran/doc/DevelGuide/src/H5Pff_F90_f90.html
deleted file mode 100644
index 5f8d579..0000000
--- a/fortran/doc/DevelGuide/src/H5Pff_F90_f90.html
+++ /dev/null
@@ -1,715 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-type" content="text/html; charset=ISO-8859-1" />
-<link rel="stylesheet" href="../robodoc.css" type="text/css" />
-<title>./src/H5Pff_F90.f90</title>
-<!-- Source: ./src/H5Pff_F90.f90 -->
-</head>
-<body>
-<div id="logo">
-<a name="robo_top_of_doc">HDF5 FORTRAN Developer's Guide</a>
-</div> <!-- logo -->
-<div id="navigation">
-<a class="menuitem" href="../toc_index.html#top">Table of Contents</a>
-<a class="menuitem" href="../robo_sourcefiles.html#top">Sourcefiles</a>
-<a class="menuitem" href="../masterindex.html#top">Index</a>
-<a class="menuitem" href="../robo_functions.html#top">Functions</a>
-<a class="menuitem" href="../robo_modules.html#top">Modules</a>
-<a class="menuitem" href="../robo_procedures.html#top">Procedures</a>
-<a class="menuitem" href="../robo_subroutines.html#top">Subroutines</a>
-</div> <!-- navigation -->
-<div id="content">
-<hr />
-<a name="ROBODoc2fH5P20285fF9029"></a>
-<a name="robo60"></a><h2>H5P (_F90)</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="../robo_modules.html#robo_top_of_doc">Modules</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> H5P_PROVISIONAL
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> This file contains Fortran 90 interfaces for H5P functions. It contains
- the same functions as <a href="./H5Pff_F03_f90.html#robo_top_of_doc">H5Pff_F03.f90</a> but excludes the Fortran 2003 functions
- and the interface listings. This file will be compiled instead of <a href="./H5Pff_F03_f90.html#robo_top_of_doc">H5Pff_F03.f90</a>
- if Fortran 2003 functions are not enabled.
-</pre>
-<p class="item_name">NOTES</p>
-<pre> *** IMPORTANT ***
- If you add a new H5P function you must add the function name to the
- Windows dll file 'hdf5_fortrandll.def' in the fortran/src directory.
- This is needed for Windows based operating systems.
-</pre>
-
-<hr />
-<a name="H5P2028F90292fh5pcreate5fclass5ff"></a>
-<a name="robo206"></a><h2>h5pcreate_class_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="./H5Pff_f90.html#robo62">H5P (F90)</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5pcreate_class_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Create a new property list class
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> parent - Property list identifier of the parent class
- Possible values include:
- H5P_ROOT_F
- H5P_FILE_CREATE_F
- H5P_FILE_ACCESS_F
- H5P_DATASET_CREATE_F
- H5P_DATASET_XFER_F
- H5P_FILE_MOUNT_F
- name - name of the class we are creating
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> class - property list class identifier
- hdferr - error code
- Success: 0
- Failure: -1
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- October 9, 2002
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5pcreate_class_f</strong><span class="sign">(</span>parent<span class="sign">,</span> name<span class="sign">,</span> class<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> parent <span class="sign">!</span> parent property list class
- <span class="sign">!</span> identifier
- CHARACTER<span class="sign">(</span>LEN<span class="sign">=</span><span class="sign">*</span><span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> name <span class="sign">!</span> name of property tocreate
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> class <span class="sign">!</span> property list class identifier
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
-</pre>
-
-<hr />
-<a name="H5P2028F90292fh5pget5fchar"></a>
-<a name="robo219"></a><h2>h5pget_char</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="./H5Pff_f90.html#robo62">H5P (F90)</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5pget_char</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Gets a property list value
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> prp_id - iproperty list identifier to modify
- name - name of property to modify
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> value - value of property
- hdferr - error code
- Success: 0
- Failure: -1
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- October 9, 2002
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5pget_char</strong><span class="sign">(</span>prp_id<span class="sign">,</span> name<span class="sign">,</span> value<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> prp_id <span class="sign">!</span> Property list identifier
- CHARACTER<span class="sign">(</span>LEN<span class="sign">=</span><span class="sign">*</span><span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> name <span class="sign">!</span> Name of property to modify
- CHARACTER<span class="sign">(</span>LEN<span class="sign">=</span><span class="sign">*</span><span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> value <span class="sign">!</span> Property value
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
-</pre>
-
-<hr />
-<a name="H5P2028F90292fh5pget5fdouble"></a>
-<a name="robo229"></a><h2>h5pget_double</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="./H5Pff_f90.html#robo62">H5P (F90)</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5pget_double</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Gets a property list value
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> prp_id - iproperty list identifier to modify
- name - name of property to modify
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> value - value of property
- hdferr - error code
- Success: 0
- Failure: -1
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- October 9, 2002
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5pget_double</strong><span class="sign">(</span>prp_id<span class="sign">,</span> name<span class="sign">,</span> value<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> prp_id <span class="sign">!</span> Property list identifier
- CHARACTER<span class="sign">(</span>LEN<span class="sign">=</span><span class="sign">*</span><span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> name <span class="sign">!</span> Name of property to modify
- DOUBLE PRECISION<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> value <span class="sign">!</span> Property value
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
-</pre>
-
-<hr />
-<a name="H5P2028F90292fh5pget5finteger"></a>
-<a name="robo248"></a><h2>h5pget_integer</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="./H5Pff_f90.html#robo62">H5P (F90)</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5pget_integer</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Gets a property list value
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> prp_id - iproperty list identifier to modify
- name - name of property to modify
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> value - value of property
- hdferr - error code
- Success: 0
- Failure: -1
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- October 9, 2002
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5pget_integer</strong><span class="sign">(</span>prp_id<span class="sign">,</span> name<span class="sign">,</span> value<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> prp_id <span class="sign">!</span> Property list identifier
- CHARACTER<span class="sign">(</span>LEN<span class="sign">=</span><span class="sign">*</span><span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> name <span class="sign">!</span> Name of property to modify
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> value <span class="sign">!</span> Property value
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
-</pre>
-
-<hr />
-<a name="H5P2028F90292fh5pget5freal"></a>
-<a name="robo260"></a><h2>h5pget_real</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="./H5Pff_f90.html#robo62">H5P (F90)</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5pget_real</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Gets a property list value
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> prp_id - iproperty list identifier to modify
- name - name of property to modify
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> value - value of property
- hdferr - error code
- Success: 0
- Failure: -1
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- October 9, 2002
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5pget_real</strong><span class="sign">(</span>prp_id<span class="sign">,</span> name<span class="sign">,</span> value<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> prp_id <span class="sign">!</span> Property list identifier
- CHARACTER<span class="sign">(</span>LEN<span class="sign">=</span><span class="sign">*</span><span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> name <span class="sign">!</span> Name of property to modify
- REAL<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> value <span class="sign">!</span> Property value
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
-</pre>
-
-<hr />
-<a name="H5P2028F90292fh5pinsert5fchar"></a>
-<a name="robo272"></a><h2>h5pinsert_char</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="./H5Pff_f90.html#robo62">H5P (F90)</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5pinsert_char</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Registers a temporary property with a property list class.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> plist - property list identifier
- permanent property within
- name - name of property to insert
- size - size of property in bytes
- value - initial value for the property
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> hdferr - error code
- Success: 0
- Failure: -1
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- October 10, 2002
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source">SUBROUTINE <strong>h5pinsert_char</strong><span class="sign">(</span>plist<span class="sign">,</span> name<span class="sign">,</span> size<span class="sign">,</span> value<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> plist <span class="sign">!</span> Property list identifier
- CHARACTER<span class="sign">(</span>LEN<span class="sign">=</span><span class="sign">*</span><span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> name <span class="sign">!</span> Name of property to insert
- INTEGER<span class="sign">(</span>SIZE_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> size <span class="sign">!</span> Size of property value
- CHARACTER<span class="sign">(</span>LEN<span class="sign">=</span><span class="sign">*</span><span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> value <span class="sign">!</span> Property value
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
-</pre>
-
-<hr />
-<a name="H5P2028F90292fh5pinsert5fdouble"></a>
-<a name="robo275"></a><h2>h5pinsert_double</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="./H5Pff_f90.html#robo62">H5P (F90)</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5pinsert_double</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Registers a temporary property with a property list class.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> plist - property list identifier
- permanent property within
- name - name of property to insert
- size - size of property in bytes
- value - initial value for the property
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> hdferr - error code
- Success: 0
- Failure: -1
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- October 10, 2002
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5pinsert_double</strong><span class="sign">(</span>plist<span class="sign">,</span> name<span class="sign">,</span> size<span class="sign">,</span> value<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> plist <span class="sign">!</span> Property list identifier
- CHARACTER<span class="sign">(</span>LEN<span class="sign">=</span><span class="sign">*</span><span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> name <span class="sign">!</span> Name of property to insert
- INTEGER<span class="sign">(</span>SIZE_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> size <span class="sign">!</span> Size of the property value
- DOUBLE PRECISION<span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> value <span class="sign">!</span> Property value
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
-</pre>
-
-<hr />
-<a name="H5P2028F90292fh5pinsert5finteger"></a>
-<a name="robo277"></a><h2>h5pinsert_integer</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="./H5Pff_f90.html#robo62">H5P (F90)</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5pinsert_integer</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Registers a temporary property with a property list class.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> plist - property list identifier
- name - name of property to insert
- size - size of property in bytes
- value - initial value for the property
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> hdferr - error code
- Success: 0
- Failure: -1
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- October 10, 2002
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5pinsert_integer</strong><span class="sign">(</span>plist<span class="sign">,</span> name<span class="sign">,</span> size<span class="sign">,</span> value<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> plist <span class="sign">!</span> Property list identifier
- CHARACTER<span class="sign">(</span>LEN<span class="sign">=</span><span class="sign">*</span><span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> name <span class="sign">!</span> Name of property to insert
- INTEGER<span class="sign">(</span>SIZE_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> size <span class="sign">!</span> Size of the property value
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> value <span class="sign">!</span> Property value
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
-</pre>
-
-<hr />
-<a name="H5P2028F90292fh5pinsert5freal"></a>
-<a name="robo279"></a><h2>h5pinsert_real</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="./H5Pff_f90.html#robo62">H5P (F90)</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5pinsert_real</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Registers a temporary property with a property list class.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> plist - property list identifier
- permanent property within
- name - name of property to insert
- size - size of property in bytes
- value - initial value for the property
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> hdferr - error code
- Success: 0
- Failure: -1
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- October 10, 2002
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5pinsert_real</strong><span class="sign">(</span>plist<span class="sign">,</span> name<span class="sign">,</span> size<span class="sign">,</span> value<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> plist <span class="sign">!</span> Property list identifier
- CHARACTER<span class="sign">(</span>LEN<span class="sign">=</span><span class="sign">*</span><span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> name <span class="sign">!</span> Name of property to insert
- INTEGER<span class="sign">(</span>SIZE_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> size <span class="sign">!</span> Size of the property value
- REAL<span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> value <span class="sign">!</span> Property value
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
-</pre>
-
-<hr />
-<a name="H5P2028F90292fh5pregister5fchar"></a>
-<a name="robo284"></a><h2>h5pregister_char</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="./H5Pff_f90.html#robo62">H5P (F90)</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5pregister_char</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Registers a permanent property with a property list class.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> class - property list class to register
- permanent property within
- name - name of property to register
- size - size of property in bytes
- value - default value for property in newly
- created property lists
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> hdferr - error code
- Success: 0
- Failure: -1
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- October 10, 2002
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5pregister_char</strong><span class="sign">(</span>class<span class="sign">,</span> name<span class="sign">,</span> size<span class="sign">,</span> value<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> class <span class="sign">!</span> Property list class identifier
- CHARACTER<span class="sign">(</span>LEN<span class="sign">=</span><span class="sign">*</span><span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> name <span class="sign">!</span> Name of property to <span class="keyword">register</span>
- INTEGER<span class="sign">(</span>SIZE_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> size <span class="sign">!</span> size of the property value
- CHARACTER<span class="sign">(</span>LEN<span class="sign">=</span><span class="sign">*</span><span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> value <span class="sign">!</span> Property value
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
-</pre>
-
-<hr />
-<a name="H5P2028F90292fh5pregister5fdouble"></a>
-<a name="robo285"></a><h2>h5pregister_double</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="./H5Pff_f90.html#robo62">H5P (F90)</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5pregister_double</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Registers a permanent property with a property list class.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> class - property list class to register
- permanent property within
- name - name of property to register
- size - size of property in bytes
- value - default value for property in newly
- created property lists
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> hdferr - error code
- Success: 0
- Failure: -1
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- October 10, 2002
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5pregister_double</strong><span class="sign">(</span>class<span class="sign">,</span> name<span class="sign">,</span> size<span class="sign">,</span> value<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> class <span class="sign">!</span> Property list class identifier
- CHARACTER<span class="sign">(</span>LEN<span class="sign">=</span><span class="sign">*</span><span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> name <span class="sign">!</span> Name of property to <span class="keyword">register</span>
- INTEGER<span class="sign">(</span>SIZE_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> size <span class="sign">!</span> Size of the property value
- DOUBLE PRECISION<span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> value <span class="sign">!</span> Property value
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
-</pre>
-
-<hr />
-<a name="H5P2028F90292fh5pregister5finteger"></a>
-<a name="robo288"></a><h2>h5pregister_integer</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="./H5Pff_f90.html#robo62">H5P (F90)</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5pregister_integer</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Registers a permanent property with a property list class.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> class - property list class to register
- permanent property within
- name - name of property to register
- size - size of property in bytes
- value - default value for property in newly
- created property lists
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> hdferr - error code
- Success: 0
- Failure: -1
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- October 10, 2002
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5pregister_integer</strong><span class="sign">(</span>class<span class="sign">,</span> name<span class="sign">,</span> size<span class="sign">,</span> value<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> class <span class="sign">!</span> Property list class identifier
- CHARACTER<span class="sign">(</span>LEN<span class="sign">=</span><span class="sign">*</span><span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> name <span class="sign">!</span> Name of property to <span class="keyword">register</span>
- INTEGER<span class="sign">(</span>SIZE_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> size <span class="sign">!</span> Size of the property value
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> value <span class="sign">!</span> Property value
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
-</pre>
-
-<hr />
-<a name="H5P2028F90292fh5pregister5freal"></a>
-<a name="robo290"></a><h2>h5pregister_real</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="./H5Pff_f90.html#robo62">H5P (F90)</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5pregister_real</strong>
-
- PURPOSE Registers a permanent property with a property list class.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> class - property list class to register
- permanent property within
- name - name of property to register
- size - size of property in bytes
- value - default value for property in newly
- created property lists
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> hdferr - error code
- Success: 0
- Failure: -1
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- October 10, 2002
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5pregister_real</strong><span class="sign">(</span>class<span class="sign">,</span> name<span class="sign">,</span> size<span class="sign">,</span> value<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> class <span class="sign">!</span> Property list class identifier
- CHARACTER<span class="sign">(</span>LEN<span class="sign">=</span><span class="sign">*</span><span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> name <span class="sign">!</span> Name of property to <span class="keyword">register</span>
- INTEGER<span class="sign">(</span>SIZE_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> size <span class="sign">!</span> size of the property value
- REAL<span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> value <span class="sign">!</span> Property value
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
-</pre>
-
-<hr />
-<a name="H5P2028F90292fh5pset28get29fill5fvalue5ff"></a>
-<a name="robo295"></a><h2>h5pset(get)fill_value_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="./H5Pff_f90.html#robo62">H5P (F90)</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5pset(get)fill_value_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Sets(gets) fill value for a dataset creation property list
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> prp_id - dataset creation property list identifier
- type_id - datatype identifier for fill value
- fillvalue - fill value
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> type_id - datatype identifier for fill value
- fillvalue - fill value
- hdferr - error code
- Success: 0
- Failure: -1
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- August 12, 1999
-</pre>
-<p class="item_name">HISTORY</p>
-<pre> Explicit Fortran interfaces were added for
- called C functions (it is needed for Windows
- port). March 14, 2001
-</pre>
-<p class="item_name">NOTES</p>
-<pre> <strong>h5pset(get)fill_value_f</strong> function is overloaded to support
- INTEGER, REAL, DOUBLE PRECISION and CHARACTER dtatypes.
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE h5pset_fill_value_integer<span class="sign">(</span>prp_id<span class="sign">,</span> type_id<span class="sign">,</span> fillvalue<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> prp_id <span class="sign">!</span> Property list identifier
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> type_id <span class="sign">!</span> Datatype identifier of
- <span class="sign">!</span> of fillvalue datatype
- <span class="sign">!</span> <span class="sign">(</span>in memory<span class="sign">)</span>
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> fillvalue <span class="sign">!</span> Fillvalue
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
-</pre>
-
-<hr />
-<a name="H5P2028F90292fh5pset5fchar"></a>
-<a name="robo304"></a><h2>h5pset_char</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="./H5Pff_f90.html#robo62">H5P (F90)</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5pset_char</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Sets a property list value
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> prp_id - iproperty list identifier to modify
- name - name of property to modify
- value - value to set property to
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> hdferr - error code
- Success: 0
- Failure: -1
-</pre>
-<p class="item_name">OPTIONAL PARAMETERS</p>
-<pre> NONE
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- October 9, 2002
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5pset_char</strong><span class="sign">(</span>prp_id<span class="sign">,</span> name<span class="sign">,</span> value<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> prp_id <span class="sign">!</span> Property list identifier
- CHARACTER<span class="sign">(</span>LEN<span class="sign">=</span><span class="sign">*</span><span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> name <span class="sign">!</span> Name of property to modify
- CHARACTER<span class="sign">(</span>LEN<span class="sign">=</span><span class="sign">*</span><span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> value <span class="sign">!</span> Property value
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
-</pre>
-
-<hr />
-<a name="H5P2028F90292fh5pset5fdouble"></a>
-<a name="robo312"></a><h2>h5pset_double</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="./H5Pff_f90.html#robo62">H5P (F90)</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5pset_double</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Sets a property list value
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> prp_id - iproperty list identifier to modify
- name - name of property to modify
- value - value to set property to
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> hdferr: - error code
- Success: 0
- Failure: -1
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- October 9, 2002
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5pset_double</strong><span class="sign">(</span>prp_id<span class="sign">,</span> name<span class="sign">,</span> value<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> prp_id <span class="sign">!</span> Property list identifier
- CHARACTER<span class="sign">(</span>LEN<span class="sign">=</span><span class="sign">*</span><span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> name <span class="sign">!</span> Name of property to modify
- DOUBLE PRECISION<span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> value <span class="sign">!</span> Property value
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
-</pre>
-
-<hr />
-<a name="H5P2028F90292fh5pset5finteger"></a>
-<a name="robo333"></a><h2>h5pset_integer</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="./H5Pff_f90.html#robo62">H5P (F90)</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5pset_integer</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Sets a property list value
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> prp_id - iproperty list identifier to modify
- name - name of property to modify
- value - value to set property to
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> hdferr: - error code
- Success: 0
- Failure: -1
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- October 9, 2002
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5pset_integer</strong><span class="sign">(</span>prp_id<span class="sign">,</span> name<span class="sign">,</span> value<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> prp_id <span class="sign">!</span> Property list identifier
- CHARACTER<span class="sign">(</span>LEN<span class="sign">=</span><span class="sign">*</span><span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> name <span class="sign">!</span> Name of property to modify
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> value <span class="sign">!</span> Property value
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
-</pre>
-
-<hr />
-<a name="H5P2028F90292fh5pset5freal"></a>
-<a name="robo346"></a><h2>h5pset_real</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="./H5Pff_f90.html#robo62">H5P (F90)</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5pset_real</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Sets a property list value
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> prp_id - iproperty list identifier to modify
- name - name of property to modify
- value - value to set property to
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> hdferr: - error code
- Success: 0
- Failure: -1
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- October 9, 2002
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5pset_real</strong><span class="sign">(</span>prp_id<span class="sign">,</span> name<span class="sign">,</span> value<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> prp_id <span class="sign">!</span> Property list identifier
- CHARACTER<span class="sign">(</span>LEN<span class="sign">=</span><span class="sign">*</span><span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> name <span class="sign">!</span> Name of property to modify
- REAL<span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> value <span class="sign">!</span> Property value
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
-</pre>
-
-</div> <!-- content -->
-<div id="footer">
-<p>Generated from ./src/H5Pff_F90.f90 on Sun Aug 14 2011 22:49:38
-</p>
-</div> <!-- footer -->
-</body>
-</html>
diff --git a/fortran/doc/DevelGuide/src/H5Pff_f90.html b/fortran/doc/DevelGuide/src/H5Pff_f90.html
deleted file mode 100644
index 0e9ff5c..0000000
--- a/fortran/doc/DevelGuide/src/H5Pff_f90.html
+++ /dev/null
@@ -1,4752 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-type" content="text/html; charset=ISO-8859-1" />
-<link rel="stylesheet" href="../robodoc.css" type="text/css" />
-<title>./src/H5Pff.f90</title>
-<!-- Source: ./src/H5Pff.f90 -->
-</head>
-<body>
-<div id="logo">
-<a name="robo_top_of_doc">HDF5 FORTRAN Developer's Guide</a>
-</div> <!-- logo -->
-<div id="navigation">
-<a class="menuitem" href="../toc_index.html#top">Table of Contents</a>
-<a class="menuitem" href="../robo_sourcefiles.html#top">Sourcefiles</a>
-<a class="menuitem" href="../masterindex.html#top">Index</a>
-<a class="menuitem" href="../robo_functions.html#top">Functions</a>
-<a class="menuitem" href="../robo_modules.html#top">Modules</a>
-<a class="menuitem" href="../robo_procedures.html#top">Procedures</a>
-<a class="menuitem" href="../robo_subroutines.html#top">Subroutines</a>
-</div> <!-- navigation -->
-<div id="content">
-<hr />
-<a name="ROBODoc2fH5P2028F9029"></a>
-<a name="robo62"></a><h2>H5P (F90)</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="../robo_modules.html#robo_top_of_doc">Modules</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> H5P_PROVISIONAL
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> This file contains Fortran interfaces for H5P functions. It includes
- all the functions that are independent on whether the Fortran 2003 functions
- are enabled or disabled.
-</pre>
-<p class="item_name">NOTES</p>
-<pre> *** IMPORTANT ***
- If you add a new H5P function you must add the function name to the
- Windows dll file 'hdf5_fortrandll.def' in the fortran/src directory.
- This is needed for Windows based operating systems.
-</pre>
-
-<hr />
-<a name="H5P2f20h5pget5fhyper5fvector5fsize5ff"></a>
-<a name="robo81"></a><h2> h5pget_hyper_vector_size_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> h5pget_hyper_vector_size_f
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Get the number of "I/O" vectors (vector size)
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> plist_id - dataset transfer property list identifier
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> size - vector size
- hdferr - error code
- Success: 0
- Failure: -1
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- October 7, 2002
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE h5pget_hyper_vector_size_f<span class="sign">(</span>plist_id<span class="sign">,</span> size<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> plist_id <span class="sign">!</span> Dataset transfer property list identifier
- INTEGER<span class="sign">(</span>SIZE_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> size <span class="sign">!</span> Vector size
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
- <span class="sign">!</span> 0 on success and <span class="sign">-</span>1 on failure
-</pre>
-
-<hr />
-<a name="H5P2f20h5pset5ffamily5foffset5ff"></a>
-<a name="robo82"></a><h2> h5pset_family_offset_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> h5pset_family_offset_f
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Sets offset for family file driver.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> prp_id - file creation property list identifier
- offset - file offset
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> hdferr - error code
- Success: 0
- Failure: -1
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- 19 March 2003
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE h5pset_family_offset_f<span class="sign">(</span>prp_id<span class="sign">,</span> offset<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> prp_id <span class="sign">!</span> Property list identifier
- INTEGER<span class="sign">(</span>HSIZE_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> offset <span class="sign">!</span> Offset in bytes
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
- <span class="sign">!</span> 0 on success and <span class="sign">-</span>1 on failure
-</pre>
-
-<hr />
-<a name="H5P2f20h5pset5ffapl5ffamily5ff"></a>
-<a name="robo83"></a><h2> h5pset_fapl_family_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> h5pset_fapl_family_f
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Sets the file access property list to use the family driver.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> prp_id - file access property list identifier
- memb_size - size in bytes of each file member
- memb_plist - identifier of the file access property
- list to be used for each family member
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> hdferr - error code
- Success: 0
- Failure: -1
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- August 12, 1999
-</pre>
-<p class="item_name">HISTORY</p>
-<pre> Explicit Fortran interfaces were added for
- called C functions (it is needed for Windows
- port). March 14, 2001
-
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE h5pset_fapl_family_f<span class="sign">(</span>prp_id<span class="sign">,</span> memb_size<span class="sign">,</span> memb_plist <span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> prp_id <span class="sign">!</span> Property list identifier
- INTEGER<span class="sign">(</span>HSIZE_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> memb_size <span class="sign">!</span> Logical size<span class="sign">,</span> in bytes<span class="sign">,</span>
- <span class="sign">!</span> of each family member
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> memb_plist <span class="sign">!</span> Identifier of the file
- <span class="sign">!</span> access property list <span class="keyword">for</span>
- <span class="sign">!</span> each member of the family
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
- <span class="sign">!</span> 0 on success and <span class="sign">-</span>1 on failure
-</pre>
-
-<hr />
-<a name="H5P2f20h5pset5fmeta5fblock5fsize5ff"></a>
-<a name="robo84"></a><h2> h5pset_meta_block_size_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> h5pset_meta_block_size_f
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Sets the minimum size of metadata block allocations
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> plist_id - file access property list identifier
- size - metatdata block size
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> hdferr - error code
- Success: 0
- Failure: -1
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- October 7, 2002
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE h5pset_meta_block_size_f<span class="sign">(</span>plist_id<span class="sign">,</span> size<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> plist_id <span class="sign">!</span> File access property list identifier
- INTEGER<span class="sign">(</span>HSIZE_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> size <span class="sign">!</span> Block size in bytes<span class="sign">;</span>
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
- <span class="sign">!</span> 0 on success and <span class="sign">-</span>1 on failure
-</pre>
-
-<hr />
-<a name="H5P2fh5pall5ffilters5favail5ff"></a>
-<a name="robo200"></a><h2>h5pall_filters_avail_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5pall_filters_avail_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Checks if all filters set in the dataset creation
- property list are available
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> prp_id - data creation property list identifier
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> flag - .TRUE. if all filters are available
- .FALSE. otherwise
- hdferr - error code
- Success: 0
- Failure: -1
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- April 10 2003
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5pall_filters_avail_f</strong><span class="sign">(</span>prp_id<span class="sign">,</span> flag<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> prp_id <span class="sign">!</span> Dataset creation property
- <span class="sign">!</span> list identifier
- LOGICAL<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> flag <span class="sign">!</span> <span class="sign">.</span>TRUE<span class="sign">.</span> <span class="keyword">if</span> all filters are available
- <span class="sign">!</span> <span class="sign">.</span>FALSE<span class="sign">.</span> otherwise
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
- <span class="sign">!</span> 0 on success and <span class="sign">-</span>1 on failure
-</pre>
-
-<hr />
-<a name="H5P2fh5pclose5fclass5ff"></a>
-<a name="robo201"></a><h2>h5pclose_class_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5pclose_class_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Closes an existing property list class.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> class - Property list class identifier
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> hdferr - error code
- Success: 0
- Failure: -1
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- October 9, 2002
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5pclose_class_f</strong><span class="sign">(</span>class<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> class <span class="sign">!</span> Property list class identifier
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
- <span class="sign">!</span> 0 on success and <span class="sign">-</span>1 on failure
-</pre>
-
-<hr />
-<a name="H5P2fh5pclose5ff"></a>
-<a name="robo202"></a><h2>h5pclose_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5pclose_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Terminates access to a property list.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> prp_id - identifier of the property list to
- terminate access to.
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> hdferr - error code
- Success: 0
- Failure: -1
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- August 12, 1999
-</pre>
-<p class="item_name">HISTORY</p>
-<pre> Explicit Fortran interfaces were added for
- called C functions (it is needed for Windows
- port). March 14, 2001
-
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5pclose_f</strong><span class="sign">(</span>prp_id<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> prp_id <span class="sign">!</span> Property list identifier
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
- <span class="sign">!</span> 0 on success and <span class="sign">-</span>1 on failure
-</pre>
-
-<hr />
-<a name="H5P2fh5pcopy5ff"></a>
-<a name="robo203"></a><h2>h5pcopy_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5pcopy_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Copies an existing property list to create a new
- property list
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> prp_id - property list identifier
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> new_prp_id - new property list identifier
- hdferr: - error code
- Success: 0
- Failure: -1
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- August 12, 1999
-</pre>
-<p class="item_name">HISTORY</p>
-<pre> Explicit Fortran interfaces were added for
- called C functions (it is needed for Windows
- port). March 14, 2001
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5pcopy_f</strong><span class="sign">(</span>prp_id<span class="sign">,</span> new_prp_id<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> prp_id <span class="sign">!</span> Property list identifier
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> new_prp_id <span class="sign">!</span> Identifier of property list
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
- <span class="sign">!</span> 0 on success and <span class="sign">-</span>1 on failure
-</pre>
-
-<hr />
-<a name="H5P2fh5pcopy5fprop5ff"></a>
-<a name="robo204"></a><h2>h5pcopy_prop_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5pcopy_prop_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Copies a property from one list or class to another.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> dst_id - Identifier of the destination property list
- src_id - Identifier of the source property list
- name - name of the property to copy
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> hdferr: - error code
- Success: 0
- Failure: -1
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- October 9, 2002
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5pcopy_prop_f</strong><span class="sign">(</span>dst_id<span class="sign">,</span> src_id<span class="sign">,</span> name<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> dst_id <span class="sign">!</span> Destination property list
- <span class="sign">!</span> identifier
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> src_id <span class="sign">!</span> Source property list identifier
- CHARACTER<span class="sign">(</span>LEN<span class="sign">=</span><span class="sign">*</span><span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> name <span class="sign">!</span> Property name
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
- <span class="sign">!</span> 0 on success and <span class="sign">-</span>1 on failure
-</pre>
-
-<hr />
-<a name="H5P2fh5pcreate5ff"></a>
-<a name="robo207"></a><h2>h5pcreate_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5pcreate_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Creates a new property as an instance of a property
- list class.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> class - type of the property class to be created.
- Possible values are:
- H5P_FILE_CREATE_F
- H5P_FILE_ACCESS_F
- H5P_DATASET_CREATE_F
- H5P_DATASET_XFER_F
- H5P_FILE_MOUNT_F
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> prp_id - property list identifier
- hdferr - error code
- Success: 0
- Failure: -1
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- August 12, 1999
-</pre>
-<p class="item_name">HISTORY</p>
-<pre> Explicit Fortran interfaces were added for
- called C functions (it is needed for Windows
- port). March 14, 2001
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5pcreate_f</strong><span class="sign">(</span>class<span class="sign">,</span> prp_id<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> class <span class="sign">!</span> The type of the property list
- <span class="sign">!</span> to be created<span class="sign">.</span> Possible values are<span class="sign">:</span>
- <span class="sign">!</span> H5P_FILE_CREATE_F
- <span class="sign">!</span> H5P_FILE_ACCESS_F
- <span class="sign">!</span> H5P_DATASET_CREATE_F
- <span class="sign">!</span> H5P_DATASET_XFER_F
- <span class="sign">!</span> H5P_FILE_MOUNT_F
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> prp_id <span class="sign">!</span> Property list identifier
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
- <span class="sign">!</span> 0 on success and <span class="sign">-</span>1 on failure
-</pre>
-
-<hr />
-<a name="H5P2fh5pequal5ff"></a>
-<a name="robo208"></a><h2>h5pequal_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5pequal_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Checks if two property lists are eqaul
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> plist1_id - property list identifier
- plist2_id - property list identifier
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> flag - flag, possible values
- .TRUE. or .FALSE.
- hdferr: - error code
- Success: 0
- Failure: -1, flag is set to .FALSE.
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- September 30, 2002
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5pequal_f</strong><span class="sign">(</span>plist1_id<span class="sign">,</span> plist2_id<span class="sign">,</span> flag<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> plist1_id <span class="sign">!</span> Property list identifier
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> plist2_id <span class="sign">!</span> Property list identifier
- LOGICAL<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> flag <span class="sign">!</span> Flag
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
- <span class="sign">!</span> 0 on success and <span class="sign">-</span>1 on failure
-</pre>
-
-<hr />
-<a name="H5P2fh5pexist5ff"></a>
-<a name="robo209"></a><h2>h5pexist_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5pexist_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Queries whether a property name exists in a property list or class.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> prp_id - property list identifier to query
- name - name of property to check for
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> flag - logical flag
- hdferr - error code
- Success: 0
- Failure: -1
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- October 9, 2002
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5pexist_f</strong><span class="sign">(</span>prp_id<span class="sign">,</span> name<span class="sign">,</span> flag<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> prp_id <span class="sign">!</span> Property list identifier
- CHARACTER<span class="sign">(</span>LEN<span class="sign">=</span><span class="sign">*</span><span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> name <span class="sign">!</span> Name of property to modify
- LOGICAL<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> flag <span class="sign">!</span> <span class="sign">.</span>TRUE<span class="sign">.</span> <span class="keyword">if</span> exists<span class="sign">,</span> <span class="sign">.</span>FALSE<span class="sign">.</span> otherwise
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
- <span class="sign">!</span> 0 on success and <span class="sign">-</span>1 on failure
-</pre>
-
-<hr />
-<a name="H5P2fh5pfill5fvalue5fdefined5ff"></a>
-<a name="robo210"></a><h2>h5pfill_value_defined_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5pfill_value_defined_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Check if fill value is defined.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> plist_id - dataset creation property list identifier
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> flag - fill value status flag
- Possible values are:
- H5D_FILL_VALUE_ERROR_F
- H5D_FILL_VALUE_UNDEFINED_F
- H5D_FILL_VALUE_DEFAULT_F
- H5D_FILL_VALUE_USER_DEFINED_F
- hdferr - error code
- Success: 0
- Failure: -1
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- October 4, 2002
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5pfill_value_defined_f</strong><span class="sign">(</span>plist_id<span class="sign">,</span> flag<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> plist_id <span class="sign">!</span> Dataset creation property list identifier
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> flag <span class="sign">!</span> Fill value status flag
- <span class="sign">!</span> H5D_FILL_VALUE_ERROR_F
- <span class="sign">!</span> H5D_FILL_VALUE_UNDEFINED_F
- <span class="sign">!</span> H5D_FILL_VALUE_DEFAULT_F
- <span class="sign">!</span> H5D_FILL_VALUE_USER_DEFINED_F
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
- <span class="sign">!</span> 0 on success and <span class="sign">-</span>1 on failure
-</pre>
-
-<hr />
-<a name="H5P2fh5pget5falignment5ff"></a>
-<a name="robo211"></a><h2>h5pget_alignment_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5pget_alignment_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Retrieves the current settings for alignment
- properties from a file access property list.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> prp_id - file access property list identifier
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> threshold - threshold value
- alignment - alignment value
- hdferr - error code
- Success: 0
- Failure: -1
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- August 12, 1999
-</pre>
-<p class="item_name">HISTORY</p>
-<pre> Explicit Fortran interfaces were added for
- called C functions (it is needed for Windows
- port). March 14, 2001
-
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5pget_alignment_f</strong><span class="sign">(</span>prp_id<span class="sign">,</span> threshold<span class="sign">,</span> alignment<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> prp_id <span class="sign">!</span> Property list identifier
- INTEGER<span class="sign">(</span>HSIZE_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> threshold <span class="sign">!</span> Threshold value
- INTEGER<span class="sign">(</span>HSIZE_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> alignment <span class="sign">!</span> alignment value
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
- <span class="sign">!</span> 0 on success and <span class="sign">-</span>1 on failure
-</pre>
-
-<hr />
-<a name="H5P2fh5pget5falloc5ftime5ff"></a>
-<a name="robo212"></a><h2>h5pget_alloc_time_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5pget_alloc_time_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Get space allocation time for dataset during creation.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> plist_id - dataset creation property list identifier
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> flag - allocation time flag:
- H5D_ALLOC_TIME_ERROR_F
- H5D_ALLOC_TIME_DEFAULT_F
- H5D_ALLOC_TIME_EARLY_F
- H5D_ALLOC_TIME_LATE_F
- H5D_ALLOC_TIME_INCR_F
- hdferr: - error code
- Success: 0
- Failure: -1
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- October 4, 2002
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5pget_alloc_time_f</strong><span class="sign">(</span>plist_id<span class="sign">,</span> flag<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> plist_id <span class="sign">!</span> Dataset creation property list identifier
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> flag <span class="sign">!</span> Allocation time flag<span class="sign">:</span>
- <span class="sign">!</span> H5D_ALLOC_TIME_ERROR_F
- <span class="sign">!</span> H5D_ALLOC_TIME_DEFAULT_F
- <span class="sign">!</span> H5D_ALLOC_TIME_EARLY_F
- <span class="sign">!</span> H5D_ALLOC_TIME_LATE_F
- <span class="sign">!</span> H5D_ALLOC_TIME_INCR_F
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
- <span class="sign">!</span> 0 on success and <span class="sign">-</span>1 on failure
-</pre>
-
-<hr />
-<a name="H5P2fH5Pget5fattr5fcreation5forder5ff"></a>
-<a name="robo213"></a><h2>H5Pget_attr_creation_order_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>H5Pget_attr_creation_order_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Retrieves tracking and indexing settings for attribute creation order
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> ocpl_id - Object (group or dataset) creation property list identifier
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> crt_order_flags - Flags specifying whether to track and index attribute creation order
- hdferr - Error code
- Success: 0
- Failure: -1
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> M. Scot Breitenfeld
- February, 2008
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE h5pget_attr_creation_order_f<span class="sign">(</span>ocpl_id<span class="sign">,</span> crt_order_flags<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> ocpl_id <span class="sign">!</span> Object <span class="sign">(</span>group or dataset<span class="sign">)</span> creation property list identifier
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> crt_order_flags <span class="sign">!</span> Flags specifying whether to track and index attribute creation order
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
- <span class="sign">!</span> 0 on success and <span class="sign">-</span>1 on failure
-</pre>
-
-<hr />
-<a name="H5P2fH5Pget5fattr5fphase5fchange5ff"></a>
-<a name="robo214"></a><h2>H5Pget_attr_phase_change_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>H5Pget_attr_phase_change_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Retrieves attribute storage phase change thresholds
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> ocpl_id - Object (dataset or group) creation property list identifier
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> max_compact - Maximum number of attributes to be stored in compact storage
- (Default: 8)
- min_dense - Minimum number of attributes to be stored in dense storage
- (Default: 6)
- hdferr - Error code
- Success: 0
- Failure: -1
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> M. Scot Breitenfeld
- January, 2008
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE h5pget_attr_phase_change_f<span class="sign">(</span>ocpl_id<span class="sign">,</span> max_compact<span class="sign">,</span> min_dense<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> ocpl_id <span class="sign">!</span> Object <span class="sign">(</span>dataset or group<span class="sign">)</span> creation property list identifier
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> max_compact <span class="sign">!</span> Maximum number of attributes to be stored in compact storage
- <span class="sign">!</span> <span class="sign">(</span>Default<span class="sign">:</span> 8<span class="sign">)</span>
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> min_dense <span class="sign">!</span> Minimum number of attributes to be stored in dense storage
- <span class="sign">!</span> <span class="sign">(</span>Default<span class="sign">:</span> 6<span class="sign">)</span>
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
- <span class="sign">!</span> 0 on success and <span class="sign">-</span>1 on failure
-</pre>
-
-<hr />
-<a name="H5P2fh5pget5fbtree5fratios5ff"></a>
-<a name="robo215"></a><h2>h5pget_btree_ratios_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5pget_btree_ratios_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Gets B-tree split ratios for a dataset transfer property list
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> prp_id - the dataset transfer property list
- identifier
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> left - the B-tree split ratio for left-most nodes
- middle - the B-tree split ratio for all other nodes
- right - the B-tree split ratio for right-most nodes
- hdferr - error code
- Success: 0
- Failure: -1
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- August 12, 1999
-</pre>
-<p class="item_name">HISTORY</p>
-<pre> Explicit Fortran interfaces were added for
- called C functions (it is needed for Windows
- port). March 14, 2001
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5pget_btree_ratios_f</strong><span class="sign">(</span>prp_id<span class="sign">,</span> left<span class="sign">,</span> middle<span class="sign">,</span> right<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> prp_id <span class="sign">!</span> Property list identifier
- REAL<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> left <span class="sign">!</span> The B<span class="sign">-</span>tree split ratio <span class="keyword">for</span> left<span class="sign">-</span>most nodes<span class="sign">.</span>
- REAL<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> middle <span class="sign">!</span> The B<span class="sign">-</span>tree split ratio <span class="keyword">for</span> all other nodes
- REAL<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> right <span class="sign">!</span> The B<span class="sign">-</span>tree split ratio <span class="keyword">for</span> right<span class="sign">-</span>most
- <span class="sign">!</span> nodes and lone nodes<span class="sign">.</span>
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
- <span class="sign">!</span> 0 on success and <span class="sign">-</span>1 on failure
-</pre>
-
-<hr />
-<a name="H5P2fh5pget5fbuffer5ff"></a>
-<a name="robo216"></a><h2>h5pget_buffer_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5pget_buffer_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Gets size for conversion buffer
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> plist_id - data transfer property list identifier
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> size - buffer size
- hdferr - error code
- Success: 0
- Failure: -1
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- October 2, 2002
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5pget_buffer_f</strong><span class="sign">(</span>plist_id<span class="sign">,</span> size<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> plist_id <span class="sign">!</span> Data transfer property list identifier
- INTEGER<span class="sign">(</span>HSIZE_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> size <span class="sign">!</span> Buffer size in bytes<span class="sign">;</span>
- <span class="sign">!</span> buffer is allocated and freed by
- <span class="sign">!</span> the library<span class="sign">.</span>
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
- <span class="sign">!</span> 0 on success and <span class="sign">-</span>1 on failure
-</pre>
-
-<hr />
-<a name="H5P2fh5pget5fcache5ff"></a>
-<a name="robo217"></a><h2>h5pget_cache_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5pget_cache_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Queries the meta data cache and raw data chunk cache
- parameters.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> prp_id - file access property list identifier
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> mdc_nelmts - number of elements (objects) in the meta
- data cache
- rdcc_nelmts - number of elements (objects) in the raw
- data chunk cache
- rdcc_nbytes - total size of the raw data chunk cache, in bytes
- rdcc_w0 - preemption policy (0 or 1)
- hdferr - error code
- Success: 0
- Failure: -1
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- August 12, 1999
-</pre>
-<p class="item_name">HISTORY</p>
-<pre> Explicit Fortran interfaces were added for
- called C functions (it is needed for Windows
- port). March 14, 2001
-
- Bug fix: type of the rdcc_nelmts parameter should be INTEGER
- instead of INTEGER(SIZE_T) October 10, 2003
-
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5pget_cache_f</strong><span class="sign">(</span>prp_id<span class="sign">,</span> mdc_nelmts<span class="sign">,</span> rdcc_nelmts<span class="sign">,</span> rdcc_nbytes<span class="sign">,</span> rdcc_w0<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> prp_id <span class="sign">!</span> Property list identifier
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> mdc_nelmts <span class="sign">!</span> Number of elements <span class="sign">(</span>objects<span class="sign">)</span>
- <span class="sign">!</span> in the meta data cache
- INTEGER<span class="sign">(</span>SIZE_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> rdcc_nelmts <span class="sign">!</span> Number of elements <span class="sign">(</span>objects<span class="sign">)</span>
- <span class="sign">!</span> in the meta data cache
- INTEGER<span class="sign">(</span>SIZE_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> rdcc_nbytes <span class="sign">!</span> Total size of the raw data
- <span class="sign">!</span> chunk cache<span class="sign">,</span> in bytes
- REAL<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> rdcc_w0 <span class="sign">!</span> Preemption policy
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
- <span class="sign">!</span> 0 on success and <span class="sign">-</span>1 on failure
-</pre>
-
-<hr />
-<a name="H5P2fH5Pget5fchar5fencoding5ff"></a>
-<a name="robo220"></a><h2>H5Pget_char_encoding_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>H5Pget_char_encoding_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Retrieves the character encoding used to create a string
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> plist_id - Property list identifier
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> encoding - Valid values for encoding are:
- H5T_CSET_ASCII_F -&gt; US ASCII
- H5T_CSET_UTF8_F -&gt; UTF-8 Unicode encoding
- hdferr - Error code
- Success: 0
- Failure: -1
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> M. Scot Breitenfeld
- March 3, 2008
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE h5pget_char_encoding_f<span class="sign">(</span>plist_id<span class="sign">,</span> encoding<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> plist_id <span class="sign">!</span> Property list identifier
-
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> encoding <span class="sign">!</span> Valid values <span class="keyword">for</span> encoding are<span class="sign">:</span>
- <span class="sign">!</span> H5T_CSET_ASCII_F <span class="sign">-</span><span class="sign">&gt;</span> US ASCII
- <span class="sign">!</span> H5T_CSET_UTF8_F <span class="sign">-</span><span class="sign">&gt;</span> UTF<span class="sign">-</span>8 Unicode encoding
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
- <span class="sign">!</span> 0 on success and <span class="sign">-</span>1 on failure
-</pre>
-
-<hr />
-<a name="H5P2fH5Pget5fchunk5fcache5ff"></a>
-<a name="robo221"></a><h2>H5Pget_chunk_cache_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>H5Pget_chunk_cache_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Retrieves the maximum possible number of elements in the meta
- data cache and the maximum possible number of elements and
- bytes and the RDCC_W0 value in the raw data chunk cache. Any
- (or all) arguments may be null pointers in which case the
- corresponding datum is not returned. If these properties have
- not been set on this property list, the default values for a
- file access property list are returned.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> dapl_id - Dataset access property list identifier.
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> rdcc_nslots - Number of chunk slots in the raw data chunk cache hash table.
- rdcc_nbytes - Total size of the raw data chunk cache, in bytes.
- rdcc_w0 - Preemption policy.
- hdferr - Error code
- Success: 0
- Failure: -1
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> M. Scot Breitenfeld
- April 13, 2009
-</pre>
-<p class="item_name">HISTORY</p>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE h5pget_chunk_cache_f<span class="sign">(</span>dapl_id<span class="sign">,</span> rdcc_nslots<span class="sign">,</span> rdcc_nbytes<span class="sign">,</span> rdcc_w0<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> dapl_id <span class="sign">!</span> Dataset access property list identifier<span class="sign">.</span>
- INTEGER<span class="sign">(</span>SIZE_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> rdcc_nslots <span class="sign">!</span> Number of chunk slots in the raw data chunk cache hash table<span class="sign">.</span>
- INTEGER<span class="sign">(</span>SIZE_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> rdcc_nbytes <span class="sign">!</span> Total size of the raw data chunk cache<span class="sign">,</span> in bytes<span class="sign">.</span>
- REAL<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> rdcc_w0 <span class="sign">!</span> Preemption policy<span class="sign">.</span>
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code<span class="sign">:</span>
- <span class="sign">!</span> 0 on success and <span class="sign">-</span>1 on failure
-</pre>
-
-<hr />
-<a name="H5P2fh5pget5fchunk5ff"></a>
-<a name="robo222"></a><h2>h5pget_chunk_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5pget_chunk_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Retrieves the size of chunks for the raw data of a
- chunked layout dataset
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> prp_id - property list identifier
- ndims - size of dims array
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> dims - array with dimension sizes for each chunk
- hdferr - error code
- Success: number of chunk dimensions
- Failure: -1
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- August 12, 1999
-</pre>
-<p class="item_name">HISTORY</p>
-<pre> Explicit Fortran interfaces were added for
- called C functions (it is needed for Windows
- port). March 14, 2001
-
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5pget_chunk_f</strong><span class="sign">(</span>prp_id<span class="sign">,</span> ndims<span class="sign">,</span> dims<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> prp_id <span class="sign">!</span> Property list identifier
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> ndims <span class="sign">!</span> Number of chunk dimensions to
- <span class="sign">!</span> to <span class="keyword">return</span>
- INTEGER<span class="sign">(</span>HSIZE_T<span class="sign">)</span><span class="sign">,</span> DIMENSION<span class="sign">(</span>ndims<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> dims
- <span class="sign">!</span> Array containing sizes of
- <span class="sign">!</span> chunk dimensions
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code<span class="sign">:</span>
- <span class="sign">!</span> number of chunk dimensions on success<span class="sign">,</span>
- <span class="sign">!</span> <span class="sign">-</span>1 on failure
-</pre>
-
-<hr />
-<a name="H5P2fh5pget5fclass5ff"></a>
-<a name="robo223"></a><h2>h5pget_class_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5pget_class_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Returns the property list class for a property list.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> prp_id - property list identifier
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> classtype - property list class
- Possible values are:
- H5P_ROOT_F
- H5P_FILE_CREATE_F
- H5P_FILE_ACCESS_F
- H5PE_DATASET_CREATE_F
- H5P_DATASET_XFER_F
- H5P_FILE_MOUNT_F
- hdferr: - error code
- Success: 0
- Failure: -1
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- August 12, 1999
-</pre>
-<p class="item_name">HISTORY</p>
-<pre> Explicit Fortran interfaces were added for
- called C functions (it is needed for Windows
- port). March 14, 2001
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5pget_class_f</strong><span class="sign">(</span>prp_id<span class="sign">,</span> classtype<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> prp_id <span class="sign">!</span> Property list identifier
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> classtype <span class="sign">!</span> The type of the property list
- <span class="sign">!</span> to be created<span class="sign">.</span> Possible values are<span class="sign">:</span>
- <span class="sign">!</span> H5P_ROOT_F
- <span class="sign">!</span> H5P_FILE_CREATE_F
- <span class="sign">!</span> H5P_FILE_ACCESS_F
- <span class="sign">!</span> H5PE_DATASET_CREATE_F
- <span class="sign">!</span> H5P_DATASET_XFER_F
- <span class="sign">!</span> H5P_FILE_MOUNT_F
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
- <span class="sign">!</span> 0 on success and <span class="sign">-</span>1 on failure
-</pre>
-
-<hr />
-<a name="H5P2fh5pget5fclass5fname5ff"></a>
-<a name="robo224"></a><h2>h5pget_class_name_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5pget_class_name_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Queries the name of a class.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> prp_id - property list identifier to query
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> name - name of a class
- size - Actual length of the class name
- NOTE: If provided buffer "name" is smaller,
- than name will be truncated to fit into
- provided user buffer
- hdferr: - error code
- Success: 0
- Failure: -1
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- October 9, 2002
-</pre>
-<p class="item_name">HISTORY</p>
-<pre> Returned the size of name as an argument
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5pget_class_name_f</strong><span class="sign">(</span>prp_id<span class="sign">,</span> name<span class="sign">,</span> size<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> prp_id <span class="sign">!</span> Property list identifier
- CHARACTER<span class="sign">(</span>LEN<span class="sign">=</span><span class="sign">*</span><span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> name <span class="sign">!</span> Buffer to retireve class name
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> size <span class="sign">!</span> Actual length of the class name
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
- <span class="sign">!</span> 0 on success and <span class="sign">-</span>1 on failure
-</pre>
-
-<hr />
-<a name="H5P2fh5pget5fclass5fparent5ff"></a>
-<a name="robo225"></a><h2>h5pget_class_parent_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5pget_class_parent_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Retrieves the parent class of a genric property class.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> prp_id - property list identifier to query
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> parent_id - identifier of the parent class
- hdferr: - error code
- Success: 0
- Failure: -1
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- October 9, 2002
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5pget_class_parent_f</strong><span class="sign">(</span>prp_id<span class="sign">,</span> parent_id<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> prp_id <span class="sign">!</span> Property list identifier
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> parent_id <span class="sign">!</span> Parent class property list
- <span class="sign">!</span> identifier
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
- <span class="sign">!</span> 0 on success and <span class="sign">-</span>1 on failure
-</pre>
-
-<hr />
-<a name="H5P2fh5pget5fcopy5fobject5ff"></a>
-<a name="robo226"></a><h2>h5pget_copy_object_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5pget_copy_object_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Retrieves the properties to be used when an object is copied.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> ocp_plist_id - Object copy property list identifier
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> copy_options - Copy option(s) to be get
- hdferr - Error code
- Success: 0
- Failure: -1
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> M. Scot Breitenfeld
- March 3, 2008
-</pre>
-<p class="item_name">HISTORY</p>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5pget_copy_object_f</strong><span class="sign">(</span>ocp_plist_id<span class="sign">,</span> copy_options<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> ocp_plist_id <span class="sign">!</span> Object copy property list identifier
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> copy_options <span class="sign">!</span> Valid copy options returned are<span class="sign">:</span>
- <span class="sign">!</span> H5O_COPY_SHALLOW_HIERARCHY_F
- <span class="sign">!</span> H5O_COPY_EXPAND_SOFT_LINK_F
- <span class="sign">!</span> H5O_COPY_EXPAND_EXT_LINK_F
- <span class="sign">!</span> H5O_COPY_EXPAND_REFERENCE_F
- <span class="sign">!</span> H5O_COPY_WITHOUT_ATTR_FLAG_F
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
- <span class="sign">!</span> 0 on success and <span class="sign">-</span>1 on failure
-</pre>
-
-<hr />
-<a name="H5P2fH5Pget5fcreate5finter5fgroup5ff"></a>
-<a name="robo227"></a><h2>H5Pget_create_inter_group_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>H5Pget_create_inter_group_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Determines whether property is set to enable creating missing intermediate groups.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> lcpl_id - Link creation property list identifier
- crt_intermed_group - Specifying whether to create intermediate groups upon
- the creation of an object
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> hdferr - Error code
- Success: 0
- Failure: -1
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> M. Scot Breitenfeld
- April 4, 2008
-</pre>
-<p class="item_name">HISTORY</p>
-<pre> The long subroutine name (&gt;31) on older f90 compilers causes problems
- so the name was shortened
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE h5pget_create_inter_group_f<span class="sign">(</span>lcpl_id<span class="sign">,</span> crt_intermed_group<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> lcpl_id <span class="sign">!</span> Link creation property list identifier
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> crt_intermed_group <span class="sign">!</span> Flag specifying whether to create intermediate groups
- <span class="sign">!</span> upon creation of an object
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
- <span class="sign">!</span> 0 on success and <span class="sign">-</span>1 on failure
-</pre>
-
-<hr />
-<a name="H5P2fh5pget5fdata5ftransform5ff"></a>
-<a name="robo228"></a><h2>h5pget_data_transform_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5pget_data_transform_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Retrieves a data transform expression.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> plist_id - Identifier of the property list or class
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> expression - buffer to hold transform expression
- hdferr - Error code
- Success: Actual lenght of the expression
- If provided buffer "expression" is
- smaller, than expression will be
- truncated to fit into
- provided user buffer
- Failure: -1
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> M. Scot Breitenfeld
- March 19, 2008
-</pre>
-<p class="item_name">HISTORY</p>
-<pre> Should hdferr return just 0 or 1 and add another arguement for the size?
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source">SUBROUTINE <strong>h5pget_data_transform_f</strong><span class="sign">(</span>plist_id<span class="sign">,</span> expression<span class="sign">,</span> hdferr<span class="sign">,</span> size<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> plist_id <span class="sign">!</span> Identifier of the property list or class
- CHARACTER<span class="sign">(</span>LEN<span class="sign">=</span><span class="sign">*</span><span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> expression <span class="sign">!</span> Buffer to hold transform expression
- INTEGER<span class="sign">(</span>SIZE_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span><span class="sign">,</span> OPTIONAL <span class="sign">:</span><span class="sign">:</span> size <span class="sign">!</span> Registered size of the transform expression
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
- <span class="sign">!</span> 0 on success and <span class="sign">-</span>1 on failure
-</pre>
-
-<hr />
-<a name="H5P2fh5pget5fdriver5ff"></a>
-<a name="robo230"></a><h2>h5pget_driver_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5pget_driver_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Returns low-lever driver identifier.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> prp_id - file access or data transfer property
- list identifier.
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> driver - low-level driver identifier
- hdferr - error code
- Success: 0
- Failure: -1
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- August 12, 1999
-</pre>
-<p class="item_name">HISTORY</p>
-<pre> Explicit Fortran interfaces were added for
- called C functions (it is needed for Windows
- port). March 14, 2001
-
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5pget_driver_f</strong><span class="sign">(</span>prp_id<span class="sign">,</span> driver<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> prp_id <span class="sign">!</span> Property list identifier
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> driver <span class="sign">!</span> Low<span class="sign">-</span>level file driver identifier
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
- <span class="sign">!</span> 0 on success and <span class="sign">-</span>1 on failure
-</pre>
-
-<hr />
-<a name="H5P2fh5pget5fedc5fcheck5ff"></a>
-<a name="robo232"></a><h2>h5pget_edc_check_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5pget_edc_check_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Queries error detecting
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> prp_id - dataset creation property list identifier
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> hdferr - error code
- Success: 0
- Failure: -1
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- March 13, 2003
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5pget_edc_check_f</strong><span class="sign">(</span>prp_id<span class="sign">,</span> flag<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> prp_id <span class="sign">!</span> Dataset transfer property list identifier
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> flag <span class="sign">!</span> Checksum filter flag
- <span class="sign">!</span> May have one of the following values<span class="sign">:</span>
- <span class="sign">!</span> H5Z_ERROR_EDC_F
- <span class="sign">!</span> H5Z_DISABLE_EDC_F
- <span class="sign">!</span> H5Z_ENABLE_EDC_F
- <span class="sign">!</span> H5Z_NO_EDC_F
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
- <span class="sign">!</span> 0 on success and <span class="sign">-</span>1 on failure
-</pre>
-
-<hr />
-<a name="H5P2fH5Pget5fest5flink5finfo5ff"></a>
-<a name="robo233"></a><h2>H5Pget_est_link_info_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>H5Pget_est_link_info_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Queries data required to estimate required local heap or object header size.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> gcpl_id - Group creation property list identifier
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> est_num_entries - Estimated number of links to be inserted into group
- est_name_len - Estimated average length of link names
- hdferr - Error code
- Success: 0
- Failure: -1
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> M. Scot Breitenfeld
- March 21, 2008
-</pre>
-<p class="item_name">HISTORY</p>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE h5pget_est_link_info_f<span class="sign">(</span>gcpl_id<span class="sign">,</span> est_num_entries<span class="sign">,</span> est_name_len<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> gcpl_id <span class="sign">!</span> Group creation property list identifier
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> est_num_entries <span class="sign">!</span> Estimated number of links to be inserted into group
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> est_name_len <span class="sign">!</span> Estimated average length of link names
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
- <span class="sign">!</span> 0 on success and <span class="sign">-</span>1 on failure
-</pre>
-
-<hr />
-<a name="H5P2fh5pget5fexternal5fcount5ff"></a>
-<a name="robo234"></a><h2>h5pget_external_count_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5pget_external_count_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Returns the number of external files for a dataset.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> prp_id - dataset creation property list identifier
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> count - number of external files for the
- specified dataset
- hdferr - error code
- Success: 0
- Failure: -1
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- August 12, 1999
-</pre>
-<p class="item_name">HISTORY</p>
-<pre> Explicit Fortran interfaces were added for
- called C functions (it is needed for Windows
- port). March 14, 2001
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5pget_external_count_f</strong> <span class="sign">(</span>prp_id<span class="sign">,</span> count<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> prp_id <span class="sign">!</span> Property list identifier
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> count <span class="sign">!</span> Number of external files <span class="keyword">for</span> the
- <span class="sign">!</span> Specified dataset
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
- <span class="sign">!</span> 0 on success and <span class="sign">-</span>1 on failure
-</pre>
-
-<hr />
-<a name="H5P2fh5pget5fexternal5ff"></a>
-<a name="robo235"></a><h2>h5pget_external_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5pget_external_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Returns information about an external file.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> prp_id - dataset creation property list identifier
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> idx - external file index
- name_size - maximum size of name array
- name - name of the external file
- name - name of external file
- offset - offset in bytes from the beginning of the
- file to the location in the file
- where the data starts
- bytes - size of the external file data
- hdferr - error code
- Success: 0
- Failure: -1
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- August 12, 1999
-</pre>
-<p class="item_name">HISTORY</p>
-<pre> Explicit Fortran interfaces were added for
- called C functions (it is needed for Windows
- port). March 14, 2001
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5pget_external_f</strong><span class="sign">(</span>prp_id<span class="sign">,</span> idx<span class="sign">,</span> name_size<span class="sign">,</span> name<span class="sign">,</span> offset<span class="sign">,</span>bytes<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> prp_id <span class="sign">!</span> Property list identifier
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> idx <span class="sign">!</span> External file index<span class="sign">.</span>
- INTEGER<span class="sign">(</span>SIZE_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> name_size <span class="sign">!</span> Maximum length of name array
- CHARACTER<span class="sign">(</span>LEN<span class="sign">=</span><span class="sign">*</span><span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> name <span class="sign">!</span> Name of an external file
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> offset <span class="sign">!</span> Offset<span class="sign">,</span> in bytes<span class="sign">,</span> from the beginning
- <span class="sign">!</span> of the file to the location in the file
- <span class="sign">!</span> where the data starts<span class="sign">.</span>
- INTEGER<span class="sign">(</span>HSIZE_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> bytes <span class="sign">!</span> Number of bytes reserved in the
- <span class="sign">!</span> file <span class="keyword">for</span> the data
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
- <span class="sign">!</span> 0 on success and <span class="sign">-</span>1 on failure
-</pre>
-
-<hr />
-<a name="H5P2fh5pget5ffapl5fcore5ff"></a>
-<a name="robo236"></a><h2>h5pget_fapl_core_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5pget_fapl_core_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Queries core file driver properties.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> prp_id - file access property list identifier
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> increment - size, in bytes, of memory increments
- backing_store - boolean flag indicating whether to write
- the file contents to disk when the file is closed.
- hdferr - error code
- Success: 0
- Failure: -1
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- August 12, 1999
-</pre>
-<p class="item_name">HISTORY</p>
-<pre> Explicit Fortran interfaces were added for
- called C functions (it is needed for Windows
- port). March 14, 2001
-
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5pget_fapl_core_f</strong><span class="sign">(</span>prp_id<span class="sign">,</span> increment<span class="sign">,</span> backing_store<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> prp_id <span class="sign">!</span> Property list identifier
- INTEGER<span class="sign">(</span>SIZE_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> increment <span class="sign">!</span> File block size in bytes<span class="sign">.</span>
- LOGICAL<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> backing_store <span class="sign">!</span> Flag to indicate that
- <span class="sign">!</span> entire file contents are flushed to a file
- <span class="sign">!</span> with the same name as this core file<span class="sign">.</span>
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
- <span class="sign">!</span> 0 on success and <span class="sign">-</span>1 on failure
-</pre>
-
-<hr />
-<a name="H5P2fh5pget5ffapl5fdirect5ff"></a>
-<a name="robo237"></a><h2>h5pget_fapl_direct_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5pget_fapl_direct_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Gets up use of the direct I/O driver.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> fapl_id - File access property list identifier
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> alignment - Required memory alignment boundary
- block_size - File system block size
- cbuf_size - Copy buffer size
- hdferr - error code
- Success: 0
- Failure: -1
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> M. Scot Breitenfeld
- March 21, 2008
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5pget_fapl_direct_f</strong><span class="sign">(</span>fapl_id<span class="sign">,</span> alignment<span class="sign">,</span> block_size<span class="sign">,</span> cbuf_size<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> fapl_id <span class="sign">!</span> File access property list identifier
- INTEGER<span class="sign">(</span>SIZE_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> alignment <span class="sign">!</span> Required memory alignment boundary<span class="sign">!</span>
- INTEGER<span class="sign">(</span>SIZE_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> block_size <span class="sign">!</span> File system block size
- INTEGER<span class="sign">(</span>SIZE_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> cbuf_size <span class="sign">!</span> Copy buffer size
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
- <span class="sign">!</span> 0 on success and <span class="sign">-</span>1 on failure
-</pre>
-
-<hr />
-<a name="H5P2fh5pget5ffapl5ffamily5ff"></a>
-<a name="robo238"></a><h2>h5pget_fapl_family_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5pget_fapl_family_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Returns file access property list information.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> prp_id - file access property list identifier
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> memb_size - size in bytes of each file member
- memb_plist - identifier of the file access property
- list to be used for each family member
- hdferr - error code
- Success: 0
- Failure: -1
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- August 12, 1999
-</pre>
-<p class="item_name">HISTORY</p>
-<pre> Explicit Fortran interfaces were added for
- called C functions (it is needed for Windows
- port). March 14, 2001
-
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5pget_fapl_family_f</strong><span class="sign">(</span>prp_id<span class="sign">,</span> memb_size<span class="sign">,</span> memb_plist <span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> prp_id <span class="sign">!</span> Property list identifier
- INTEGER<span class="sign">(</span>HSIZE_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> memb_size <span class="sign">!</span> Logical size<span class="sign">,</span> in bytes<span class="sign">,</span>
- <span class="sign">!</span> of each family member
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> memb_plist <span class="sign">!</span> Identifier of the file
- <span class="sign">!</span> access property list <span class="keyword">for</span>
- <span class="sign">!</span> each member of the family
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
- <span class="sign">!</span> 0 on success and <span class="sign">-</span>1 on failure
-</pre>
-
-<hr />
-<a name="H5P2fh5pget5ffapl5fmulti5ff"></a>
-<a name="robo241"></a><h2>h5pget_fapl_multi_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5pget_fapl_multi_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Sets up use of the multi-file driver.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> prp_id - file creation property list identifier
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> mem_map - mapping array
- memb_fapl - property list for each memory usage type
- memb_name - names of member file
- relax - flag
- hdferr - error code
- Success: 0
- Failure: -1
-</pre>
-<p class="item_name">OPTIONAL PARAMETERS</p>
-<pre> maxlen_out - maximum length for memb_name array element
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- 24 March 2003
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5pget_fapl_multi_f</strong><span class="sign">(</span>prp_id<span class="sign">,</span> memb_map<span class="sign">,</span> memb_fapl<span class="sign">,</span> memb_name<span class="sign">,</span> memb_addr<span class="sign">,</span> relax<span class="sign">,</span> hdferr<span class="sign">,</span> maxlen_out<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> prp_id <span class="sign">!</span> File creation property list identifier
- INTEGER<span class="sign">,</span> DIMENSION<span class="sign">(</span>0<span class="sign">:</span>H5FD_MEM_NTYPES_F<span class="sign">-</span>1<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> memb_map
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> DIMENSION<span class="sign">(</span>0<span class="sign">:</span>H5FD_MEM_NTYPES_F<span class="sign">-</span>1<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> memb_fapl
- CHARACTER<span class="sign">(</span>LEN<span class="sign">=</span><span class="sign">*</span><span class="sign">)</span><span class="sign">,</span> DIMENSION<span class="sign">(</span>0<span class="sign">:</span>H5FD_MEM_NTYPES_F<span class="sign">-</span>1<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> memb_name
- <span class="sign">!</span>INTEGER<span class="sign">(</span>HADDR_T<span class="sign">)</span><span class="sign">,</span> DIMENSION<span class="sign">(</span>0<span class="sign">:</span>H5FD_MEM_NTYPES_F<span class="sign">-</span>1<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> memb_addr
- REAL<span class="sign">,</span> DIMENSION<span class="sign">(</span>0<span class="sign">:</span>H5FD_MEM_NTYPES_F<span class="sign">-</span>1<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> memb_addr
- INTEGER<span class="sign">,</span> OPTIONAL<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> maxlen_out
- LOGICAL<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> relax
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
- <span class="sign">!</span> 0 on success and <span class="sign">-</span>1 on failure
-</pre>
-
-<hr />
-<a name="H5P2fh5pget5ffclose5fdegree5ff"></a>
-<a name="robo242"></a><h2>h5pget_fclose_degree_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5pget_fclose_degree_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Returns the degree for the file close behavior.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> fapl_id - File access property list identifier
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> degree - Possible values are:
- H5F_CLOSE_DEFAULT_F
- H5F_CLOSE_WEAK_F
- H5F_CLOSE_SEMI_F
- H5F_CLOSE_STRONG_F
- hdferr - error code
- Success: 0
- Failure: -1
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- September 26, 2002
-</pre>
-<p class="item_name">HISTORY</p>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5pget_fclose_degree_f</strong><span class="sign">(</span>fapl_id<span class="sign">,</span> degree<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> fapl_id <span class="sign">!</span> File Access Property list identifier
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> degree <span class="sign">!</span> Possible values are<span class="sign">:</span>
- <span class="sign">!</span> H5F_CLOSE_DEFAULT_F
- <span class="sign">!</span> H5F_CLOSE_WEAK_F
- <span class="sign">!</span> H5F_CLOSE_SEMI_F
- <span class="sign">!</span> H5F_CLOSE_STRONG_F
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
- <span class="sign">!</span> 0 on success and <span class="sign">-</span>1 on failure
-</pre>
-
-<hr />
-<a name="H5P2fh5pget5ffill5ftime5ff"></a>
-<a name="robo243"></a><h2>h5pget_fill_time_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5pget_fill_time_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Get fill value writing time for dataset
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> plist_id - dataset creation property list identifier
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> hdferr: - error code
- Success: 0
- Failure: -1
-</pre>
-<p class="item_name">OPTIONAL PARAMETERS</p>
-<pre> flag - fill time flag:
- H5D_FILL_TIME_ERROR_F
- H5D_FILL_TIME_ALLOC_F
- H5D_FILL_TIME_NEVER_F
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- October 4, 2002
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5pget_fill_time_f</strong><span class="sign">(</span>plist_id<span class="sign">,</span> flag<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> plist_id <span class="sign">!</span> Dataset creation property list identifier
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> flag <span class="sign">!</span> Fill time flag<span class="sign">:</span>
- <span class="sign">!</span> H5D_FILL_TIME_ERROR_F
- <span class="sign">!</span> H5D_FILL_TIME_ALLOC_F
- <span class="sign">!</span> H5D_FILL_TIME_NEVER_F
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
- <span class="sign">!</span> 0 on success and <span class="sign">-</span>1 on failure
-</pre>
-
-<hr />
-<a name="H5P2fh5pget5ffilter5fby5fid5ff"></a>
-<a name="robo244"></a><h2>h5pget_filter_by_id_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5pget_filter_by_id_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Returns information about a filter in a pipeline
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> prp_id - data creation or transfer property list
- identifier
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> filter_id - filter identifier
- flags - bit vector specifying certain general
- properties of the filter
- cd_nelmts - number of elements in cd_values
- cd_values - auxiliary data for the filter
- namelen - number of characters in the name buffer
- name - buffer to retrieve filter name
- hdferr - error code
- Success: 0
- Failure: -1
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- April 10 2003
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5pget_filter_by_id_f</strong><span class="sign">(</span>prp_id<span class="sign">,</span> filter_id<span class="sign">,</span> flags<span class="sign">,</span> cd_nelmts<span class="sign">,</span> cd_values<span class="sign">,</span> namelen<span class="sign">,</span> name<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> prp_id <span class="sign">!</span> Property list identifier
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> filter_id <span class="sign">!</span> Filter identifier
- INTEGER<span class="sign">(</span>SIZE_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>INOUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> cd_nelmts <span class="sign">!</span> Number of elements in cd_values<span class="sign">.</span>
- INTEGER<span class="sign">,</span> DIMENSION<span class="comment">(*), INTENT(OUT) :: cd_values ! Auxiliary data for the filter.
- INTEGER, INTENT(OUT) :: flags ! Bit vector specifying certain general
- ! properties of the filter.
- INTEGER(SIZE_T), INTENT(IN) :: namelen ! Anticipated number of characters in name.
- CHARACTER(LEN=*)</span><span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> name <span class="sign">!</span> Name of the filter
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
- <span class="sign">!</span> 0 on success and <span class="sign">-</span>1 on failure
-</pre>
-
-<hr />
-<a name="H5P2fh5pget5ffilter5ff"></a>
-<a name="robo245"></a><h2>h5pget_filter_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5pget_filter_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Returns information about a filter in a pipeline
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> prp_id - data creation or transfer property list
- identifier
- filter_number - sequence number within the filter
- pipeline of the filter for which
- information is sought
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> filter_id - filter identification number
- flags - bit vector specifying certain general
- properties of the filter
- cd_nelmts - number of elements in cd_values
- cd_values - auxiliary data for the filter
- namelen - number of characters in the name buffer
- name - buffer to retrieve filter name
- hdferr - error code
- Success: 0
- Failure: -1
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- August 12, 1999
-</pre>
-<p class="item_name">HISTORY</p>
-<pre> Explicit Fortran interfaces were added for
- called C functions (it is needed for Windows
- port). March 14, 2001
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5pget_filter_f</strong><span class="sign">(</span>prp_id<span class="sign">,</span> filter_number<span class="sign">,</span> flags<span class="sign">,</span> cd_nelmts<span class="sign">,</span> cd_values<span class="sign">,</span> namelen<span class="sign">,</span> name<span class="sign">,</span> filter_id<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> prp_id <span class="sign">!</span> Property list identifier
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> filter_number <span class="sign">!</span> Sequence number within the filter
- <span class="sign">!</span> pipeline of the filter <span class="keyword">for</span> which
- <span class="sign">!</span> information is sought
- INTEGER<span class="sign">,</span> DIMENSION<span class="comment">(*), INTENT(OUT) :: cd_values ! Auxiliary data for the filter.
- INTEGER, INTENT(OUT) :: flags ! Bit vector specifying certain general
- ! properties of the filter.
- INTEGER(SIZE_T), INTENT(INOUT) :: cd_nelmts ! Number of elements in cd_values.
- INTEGER(SIZE_T), INTENT(IN) :: namelen ! Anticipated number of characters in name.
- CHARACTER(LEN=*)</span><span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> name <span class="sign">!</span> Name of the filter
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> filter_id <span class="sign">!</span> Filter identification number
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
- <span class="sign">!</span> 0 on success and <span class="sign">-</span>1 on failure
-</pre>
-
-<hr />
-<a name="H5P2fh5pget5fgc5freferences5ff"></a>
-<a name="robo246"></a><h2>h5pget_gc_references_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5pget_gc_references_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Returns garbage collecting references setting.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> prp_id - file access property list identifier
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> gc_reference - flag for stting garbage collection on
- and off (1 or 0)
- hdferr - error code
- Success: 0
- Failure: -1
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- August 12, 1999
-</pre>
-<p class="item_name">HISTORY</p>
-<pre> Explicit Fortran interfaces were added for
- called C functions (it is needed for Windows
- port). March 14, 2001
-
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5pget_gc_references_f</strong><span class="sign">(</span>prp_id<span class="sign">,</span> gc_reference<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> prp_id <span class="sign">!</span> Property list identifier
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> gc_reference <span class="sign">!</span> The flag <span class="keyword">for</span> garbage collecting
- <span class="sign">!</span> references <span class="keyword">for</span> the file
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
- <span class="sign">!</span> 0 on success and <span class="sign">-</span>1 on failure
-</pre>
-
-<hr />
-<a name="H5P2fh5pget5fistore5fk5ff"></a>
-<a name="robo249"></a><h2>h5pget_istore_k_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5pget_istore_k_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Queries the 1/2 rank of an indexed storage B-tree.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> prp_id - file creation property list identifier
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> ik - 1/2 rank of chunked storage B-tree
- hdferr - error code
- Success: 0
- Failure: -1
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- August 12, 1999
-</pre>
-<p class="item_name">HISTORY</p>
-<pre> Explicit Fortran interfaces were added for
- called C functions (it is needed for Windows
- port). March 14, 2001
-
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5pget_istore_k_f</strong><span class="sign">(</span>prp_id<span class="sign">,</span> ik<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> prp_id <span class="sign">!</span> Property list identifier
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> ik <span class="sign">!</span> 1<span class="sign">/</span>2 rank of chunked storage B<span class="sign">-</span>tree
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
- <span class="sign">!</span> 0 on success and <span class="sign">-</span>1 on failure
-</pre>
-
-<hr />
-<a name="H5P2fh5pget5flayout5ff"></a>
-<a name="robo250"></a><h2>h5pget_layout_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5pget_layout_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Returns the layout of the raw data for a dataset.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> prp_id - data creation property list identifier
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> layout - type of storage layout for raw data
- possible values are:
- H5D_COMPACT_F
- H5D_CONTIGUOUS_F
- H5D_CHUNKED_F
- hdferr - error code
- Success: 0
- Failure: -1
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- August 12, 1999
-</pre>
-<p class="item_name">HISTORY</p>
-<pre> Explicit Fortran interfaces were added for
- called C functions (it is needed for Windows
- port). March 14, 2001
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5pget_layout_f</strong> <span class="sign">(</span>prp_id<span class="sign">,</span> layout<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> prp_id <span class="sign">!</span> Property list identifier
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> layout <span class="sign">!</span> Type of storage layout <span class="keyword">for</span> raw data
- <span class="sign">!</span> possible values are<span class="sign">:</span>
- <span class="sign">!</span> H5D_COMPACT_F<span class="sign">(</span>0<span class="sign">)</span>
- <span class="sign">!</span> H5D_CONTIGUOUS_F<span class="sign">(</span>1<span class="sign">)</span>
- <span class="sign">!</span> H5D_CHUNKED_F<span class="sign">(</span>2<span class="sign">)</span>
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
- <span class="sign">!</span> 0 on success and <span class="sign">-</span>1 on failure
-</pre>
-
-<hr />
-<a name="H5P2fH5Pget5flink5fcreation5forder5ff"></a>
-<a name="robo251"></a><h2>H5Pget_link_creation_order_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>H5Pget_link_creation_order_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Queries whether link creation order is tracked and/or indexed in a group.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> gcpl_id - Group creation property list identifier
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> crt_order_flags - Creation order flag(s)
- hdferr - Error code
- Success: 0
- Failure: -1
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> M. Scot Breitenfeld
- March 3, 2008
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE h5pget_link_creation_order_f<span class="sign">(</span>gcpl_id<span class="sign">,</span> crt_order_flags<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> gcpl_id <span class="sign">!</span> Group creation property list identifier
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> crt_order_flags <span class="sign">!</span> Creation order flag<span class="sign">(</span>s<span class="sign">)</span>
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
- <span class="sign">!</span> 0 on success and <span class="sign">-</span>1 on failure
-</pre>
-
-<hr />
-<a name="H5P2fH5Pget5flink5fphase5fchange5ff"></a>
-<a name="robo252"></a><h2>H5Pget_link_phase_change_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>H5Pget_link_phase_change_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Queries the settings for conversion between compact and dense groups.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> gcpl_id - Group creation property list identifier
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> max_compact - Maximum number of attributes to be stored in compact storage
- min_dense - Minimum number of attributes to be stored in dense storage
- hdferr - Error code
- Success: 0
- Failure: -1
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> M. Scot Breitenfeld
- February 20, 2008
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE h5pget_link_phase_change_f<span class="sign">(</span>gcpl_id<span class="sign">,</span> max_compact<span class="sign">,</span> min_dense<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> gcpl_id <span class="sign">!</span> Group creation property list identifier
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> max_compact <span class="sign">!</span> Maximum number of attributes to be stored in compact storage
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> min_dense <span class="sign">!</span> Minimum number of attributes to be stored in dense storage
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
- <span class="sign">!</span> 0 on success and <span class="sign">-</span>1 on failure
-</pre>
-
-<hr />
-<a name="H5P2fH5Pget5flocal5fheap5fsize5fhint5ff"></a>
-<a name="robo253"></a><h2>H5Pget_local_heap_size_hint_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>H5Pget_local_heap_size_hint_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Queries the local heap size hint for original-style groups.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> gcpl_id - Group creation property list identifier
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> size_hint - Hint for size of local heap
- hdferr - Error code
- Success: 0
- Failure: -1
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> M. Scot Breitenfeld
- March 21, 2008
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE h5pget_local_heap_size_hint_f<span class="sign">(</span>gcpl_id<span class="sign">,</span> size_hint<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> gcpl_id <span class="sign">!</span> Group creation property list identifier
- INTEGER<span class="sign">(</span>SIZE_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> size_hint <span class="sign">!</span> Hint <span class="keyword">for</span> size of local heap
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
- <span class="sign">!</span> 0 on success and <span class="sign">-</span>1 on failure
-</pre>
-
-<hr />
-<a name="H5P2fh5pget5fmeta5fblock5fsize5ff"></a>
-<a name="robo254"></a><h2>h5pget_meta_block_size_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5pget_meta_block_size_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Gets the minimum size of metadata block allocations
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> plist_id - file access property list identifier
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> size - metatdata block size
- hdferr - error code
- Success: 0
- Failure: -1
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- October 7, 2002
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5pget_meta_block_size_f</strong><span class="sign">(</span>plist_id<span class="sign">,</span> size<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> plist_id <span class="sign">!</span> File access property list identifier
- INTEGER<span class="sign">(</span>HSIZE_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> size <span class="sign">!</span> Block size in bytes<span class="sign">;</span>
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
- <span class="sign">!</span> 0 on success and <span class="sign">-</span>1 on failure
-</pre>
-
-<hr />
-<a name="H5P2fh5pget5fnfilters5ff"></a>
-<a name="robo255"></a><h2>h5pget_nfilters_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5pget_nfilters_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Returns the number of filters in the pipeline.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> prp_id - data creation or transfer property list
- identifier
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> nfilters - number of filters in the pipeline
- hdferr - error code
- Success: 0
- Failure: -1
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- August 12, 1999
-</pre>
-<p class="item_name">HISTORY</p>
-<pre> Explicit Fortran interfaces were added for
- called C functions (it is needed for Windows
- port). March 14, 2001
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5pget_nfilters_f</strong> <span class="sign">(</span>prp_id<span class="sign">,</span> nfilters<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> prp_id <span class="sign">!</span> Property list identifier
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> nfilters <span class="sign">!</span> The number of filters in the pipeline
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
- <span class="sign">!</span> 0 on success and <span class="sign">-</span>1 on failure
-</pre>
-
-<hr />
-<a name="H5P2fh5pget5fnlinks5ff"></a>
-<a name="robo256"></a><h2>h5pget_nlinks_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5pget_nlinks_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Gets maximum number of soft or user-defined link traversals.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> lapl_id - File access property list identifier
- nlinks - Maximum number of links to traverse
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> hdferr - error code
- Success: 0
- Failure: -1
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> M. Scot Breitenfeld
- March 24, 2008
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5pget_nlinks_f</strong><span class="sign">(</span>lapl_id<span class="sign">,</span> nlinks<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> lapl_id <span class="sign">!</span> File access property list identifier
- INTEGER<span class="sign">(</span>SIZE_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> nlinks <span class="sign">!</span> Maximum number of links to traverse
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
- <span class="sign">!</span> 0 on success and <span class="sign">-</span>1 on failure
-</pre>
-
-<hr />
-<a name="H5P2fh5pget5fnpros5ff"></a>
-<a name="robo257"></a><h2>h5pget_npros_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5pget_npros_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Queries number of properties in property list or class
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> prp_id - iproperty list identifier to query
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> nprops - number of properties in property object
- hdferr - error code
- Success: 0
- Failure: -1
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- October 9, 2002
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE h5pget_nprops_f<span class="sign">(</span>prp_id<span class="sign">,</span> nprops<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> prp_id <span class="sign">!</span> Property list identifier
- INTEGER<span class="sign">(</span>SIZE_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> nprops <span class="sign">!</span> Number of properties
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
- <span class="sign">!</span> 0 on success and <span class="sign">-</span>1 on failure
-</pre>
-
-<hr />
-<a name="H5P2fH5Pget5fobj5ftrack5ftimes5ff"></a>
-<a name="robo258"></a><h2>H5Pget_obj_track_times_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>H5Pget_obj_track_times_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Returns whether times are tracked for an object.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> plist_id - property list id
- flag - object timestamp setting
- .TRUE.,.FALSE.
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> hdferr - error code
- Success: 0
- Failure: -1
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> M. Scot Breitenfeld
- February 22, 2008
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE h5pget_obj_track_times_f<span class="sign">(</span>plist_id<span class="sign">,</span> flag<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> plist_id <span class="sign">!</span> Dataset creation property
- <span class="sign">!</span> list identifier
- LOGICAL<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> flag <span class="sign">!</span> Object timestamp setting
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
- <span class="sign">!</span> 0 on success and <span class="sign">-</span>1 on failure
-</pre>
-
-<hr />
-<a name="H5P2fh5pget5fpreserve5ff"></a>
-<a name="robo259"></a><h2>h5pget_preserve_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5pget_preserve_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Checks status of the dataset transfer property list.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> prp_id - property list identifier
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> flag - status flag
- hdferr - error code
- Success: 0
- Failure: -1
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- August 12, 1999
-</pre>
-<p class="item_name">HISTORY</p>
-<pre> Explicit Fortran interfaces were added for
- called C functions (it is needed for Windows
- port). March 14, 2001
-
- Datatype of the flag parameter is changed from
- INTEGER to LOGICAL
- June 4, 2003
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5pget_preserve_f</strong><span class="sign">(</span>prp_id<span class="sign">,</span> flag<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> prp_id <span class="sign">!</span> Property list identifier
- LOGICAL<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> flag <span class="sign">!</span> TRUE<span class="sign">/</span>FALSE flag<span class="sign">.</span> Shows status of the dataset<span class="squote">'s
- ! transfer property for partial writing/reading
- ! compound datatype
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- ! 0 on success and -1 on failure
-</pre>
-
-<hr />
-<a name="H5P2fh5pget5fsec25ff"></a>
-<a name="robo262"></a><h2>h5pget_sec2_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5pget_sec2_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> NOT AVAILABLE
-</pre>
-<p class="item_name">INPUTS</p>
-<p class="item_name">OUTPUTS</p>
-<pre> hdferr - error code
- Success: 0
- Failure: -1
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- August 12, 1999
-</pre>
-<p class="item_name">HISTORY</p>
-<pre> Explicit Fortran interfaces were added for
- called C functions (it is needed for Windows
- port). March 14, 2001
-
- SOURCE! SUBROUTINE <strong>h5pget_sec2_f</strong> (prp_id, sec2, hdferr)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier
- INTEGER, INTENT(OUT) :: sec2 ! value indicates whether the file
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- 0 on success and -1 on failure
-</pre>
-
-<hr />
-<a name="H5P2fh5pget5fsieve5fbuf5fsize5ff"></a>
-<a name="robo263"></a><h2>h5pget_sieve_buf_size_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5pget_sieve_buf_size_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Gets the maximum size of the data sieve buffer
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> plist_id - file access property list identifier
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> size - sieve buffer size
- hdferr - error code
- Success: 0
- Failure: -1
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- October 7, 2002
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5pget_sieve_buf_size_f</strong><span class="sign">(</span>plist_id<span class="sign">,</span> size<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> plist_id <span class="sign">!</span> File access property list identifier
- INTEGER<span class="sign">(</span>SIZE_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> size <span class="sign">!</span> Buffer size in bytes
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
- <span class="sign">!</span> 0 on success and <span class="sign">-</span>1 on failure
-</pre>
-
-<hr />
-<a name="H5P2fh5pget5fsize5ff"></a>
-<a name="robo264"></a><h2>h5pget_size_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5pget_size_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Queries the size of a property value in bytes.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> prp_id - property list identifier to query
- name - name of property to query
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> size - size of property in bytes
- hdferr - error code
- Success: 0
- Failure: -1
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- October 9, 2002
-</pre>
-<p class="item_name">HISTORY</p>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5pget_size_f</strong><span class="sign">(</span>prp_id<span class="sign">,</span> name<span class="sign">,</span> size<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> prp_id <span class="sign">!</span> Property list identifier
- CHARACTER<span class="sign">(</span>LEN<span class="sign">=</span><span class="sign">*</span><span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> name <span class="sign">!</span> Name of property to query
- INTEGER<span class="sign">(</span>SIZE_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> size <span class="sign">!</span> Size in bytes
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
- <span class="sign">!</span> 0 on success and <span class="sign">-</span>1 on failure
-</pre>
-
-<hr />
-<a name="H5P2fh5pget5fsizes5ff"></a>
-<a name="robo265"></a><h2>h5pget_sizes_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5pget_sizes_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Retrieves the size of the offsets and lengths used
- in an <a href="./HDF5_f90.html#robo76">HDF5</a> file
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> prp_id - file creation property list identifier
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> sizeof_addr - size of an object offset in bytes
- sizeof_size - size of an object length in bytes
- hdferr - error code
- Success: 0
- Failure: -1
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- August 12, 1999
-</pre>
-<p class="item_name">HISTORY</p>
-<pre> Explicit Fortran interfaces were added for
- called C functions (it is needed for Windows
- port). March 14, 2001
-
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5pget_sizes_f</strong><span class="sign">(</span>prp_id<span class="sign">,</span> sizeof_addr<span class="sign">,</span> sizeof_size<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> prp_id <span class="sign">!</span> Property list identifier
- INTEGER<span class="sign">(</span>SIZE_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> sizeof_addr <span class="sign">!</span> Size of an object
- <span class="sign">!</span> offset in bytes
- INTEGER<span class="sign">(</span>SIZE_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> sizeof_size <span class="sign">!</span> Size of an object
- <span class="sign">!</span> length in bytes
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
- <span class="sign">!</span> 0 on success and <span class="sign">-</span>1 on failure
-</pre>
-
-<hr />
-<a name="H5P2fh5pget5fsmall5fdata5fblock5fsize5ff"></a>
-<a name="robo266"></a><h2>h5pget_small_data_block_size_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5pget_small_data_block_size_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Gets the minimum size of "small" raw data block
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> plist_id - file access property list identifier
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> size - small raw data block size
- hdferr - error code
- Success: 0
- Failure: -1
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- October 7, 2002
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5pget_small_data_block_size_f</strong><span class="sign">(</span>plist_id<span class="sign">,</span> size<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> plist_id <span class="sign">!</span> File access property list identifier
- INTEGER<span class="sign">(</span>HSIZE_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> size <span class="sign">!</span> Small raw data block size
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
- <span class="sign">!</span> 0 on success and <span class="sign">-</span>1 on failure
-</pre>
-
-<hr />
-<a name="H5P2fh5pget5fsplit5ff"></a>
-<a name="robo267"></a><h2>h5pget_split_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5pget_split_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> NOT AVAILABLE
-</pre>
-<p class="item_name">INPUTS</p>
-<p class="item_name">OUTPUTS</p>
-<pre> hdferr - error code
- Success: 0
- Failure: -1
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- August 12, 1999
-</pre>
-<p class="item_name">HISTORY</p>
-<pre> Explicit Fortran interfaces were added for
- called C functions (it is needed for Windows
- port). March 14, 2001
-
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"><span class="sign">!</span> SUBROUTINE <strong>h5pget_split_f</strong><span class="sign">(</span>prp_id<span class="sign">,</span> meta_ext_size<span class="sign">,</span> meta_ext<span class="sign">,</span> meta_plist<span class="sign">,</span>raw_ext_size<span class="sign">,</span><span class="sign">&amp;</span>
-<span class="sign">!</span> raw_ext<span class="sign">,</span> raw_plist<span class="sign">,</span> hdferr<span class="sign">)</span>
-<span class="sign">!</span> IMPLICIT NONE
-<span class="sign">!</span> INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> prp_id <span class="sign">!</span> Property list identifier
-<span class="sign">!</span> INTEGER<span class="sign">(</span>SIZE_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> meta_ext_size <span class="sign">!</span> Number of characters of the meta
- <span class="sign">!</span> file extension to be copied to the
- <span class="sign">!</span> meta_ext buffer
-
-<span class="sign">!</span> CHARACTER<span class="sign">(</span>LEN<span class="sign">=</span><span class="sign">*</span><span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> meta_ext <span class="sign">!</span>Name of the extension <span class="keyword">for</span>
- <span class="sign">!</span>the metafile filename
-<span class="sign">!</span> INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> meta_plist <span class="sign">!</span> Identifier of the meta file
- <span class="sign">!</span> access property list
-<span class="sign">!</span> INTEGER<span class="sign">(</span>SIZE_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> raw_ext_size <span class="sign">!</span> Number of characters of the raw
- <span class="sign">!</span> file extension to be copied to the
- <span class="sign">!</span> raw_ext buffer
-<span class="sign">!</span> CHARACTER<span class="sign">(</span>LEN<span class="sign">=</span><span class="sign">*</span><span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> raw_ext <span class="sign">!</span>Name extension <span class="keyword">for</span> the raw file filename
-<span class="sign">!</span> INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> raw_plist <span class="sign">!</span>Identifier of the raw file
- <span class="sign">!</span>access property list
-<span class="sign">!</span> INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
- <span class="sign">!</span> 0 on success and <span class="sign">-</span>1 on failure
-</pre>
-
-<hr />
-<a name="H5P2fh5pget5fstdio5ff"></a>
-<a name="robo268"></a><h2>h5pget_stdio_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5pget_stdio_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> NOT AVAILABLE
-</pre>
-<p class="item_name">INPUTS</p>
-<p class="item_name">OUTPUTS</p>
-<pre> hdferr - error code
- Success: 0
- Failure: -1
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- August 12, 1999
-</pre>
-<p class="item_name">HISTORY</p>
-<pre> Explicit Fortran interfaces were added for
- called C functions (it is needed for Windows
- port). March 14, 2001
-
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"><span class="sign">!</span> SUBROUTINE <strong>h5pget_stdio_f</strong> <span class="sign">(</span>prp_id<span class="sign">,</span> io<span class="sign">,</span> hdferr<span class="sign">)</span>
-<span class="sign">!</span>
-<span class="sign">!</span> IMPLICIT NONE
-<span class="sign">!</span> INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> prp_id <span class="sign">!</span> Property list identifier
-<span class="sign">!</span> INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> io <span class="sign">!</span> value indicates that the file
- <span class="sign">!</span>access property list is set to
- <span class="sign">!</span>the stdio driver
-<span class="sign">!</span> INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
- <span class="sign">!</span> 0 on success and <span class="sign">-</span>1 on failure
-</pre>
-
-<hr />
-<a name="H5P2fh5pget5fsym5fk5ff"></a>
-<a name="robo269"></a><h2>h5pget_sym_k_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5pget_sym_k_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Retrieves the size of the symbol table B-tree 1/2 rank
- and the symbol table leaf node 1/2 size.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> prp_id - file creation property list identifier
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> ik - symbol table tree 1/2 rank
- lk - symbol table node 1/2 size
- hdferr - error code
- Success: 0
- Failure: -1
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- August 12, 1999
-</pre>
-<p class="item_name">HISTORY</p>
-<pre> Explicit Fortran interfaces were added for
- called C functions (it is needed for Windows
- port). March 14, 2001
-
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5pget_sym_k_f</strong><span class="sign">(</span>prp_id<span class="sign">,</span> ik<span class="sign">,</span> lk<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> prp_id <span class="sign">!</span> Property list identifier
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> ik <span class="sign">!</span> Symbol table tree rank
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> lk <span class="sign">!</span> Symbol table node size
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
- <span class="sign">!</span> 0 on success and <span class="sign">-</span>1 on failure
-</pre>
-
-<hr />
-<a name="H5P2fh5pget5fuserblock5ff"></a>
-<a name="robo270"></a><h2>h5pget_userblock_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5pget_userblock_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Gets user block size.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> prp_id - file creation property list identifier
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> block_size - size of the user block in bytes
- hdferr - error code
- Success: 0
- Failure: -1
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- August 12, 1999
-</pre>
-<p class="item_name">HISTORY</p>
-<pre> Explicit Fortran interfaces were added for
- called C functions (it is needed for Windows
- port). March 14, 2001
-
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5pget_userblock_f</strong><span class="sign">(</span>prp_id<span class="sign">,</span> block_size<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> prp_id <span class="sign">!</span> Property list identifier
- INTEGER<span class="sign">(</span>HSIZE_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> block_size <span class="sign">!</span> Size of the
- <span class="sign">!</span> user<span class="sign">-</span>block in bytes
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
- <span class="sign">!</span> 0 on success and <span class="sign">-</span>1 on failure
-</pre>
-
-<hr />
-<a name="H5P2fh5pget5fversion5ff"></a>
-<a name="robo271"></a><h2>h5pget_version_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5pget_version_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Retrieves the version information of various objects
- for a file creation property list
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> prp_id - file createion property list identifier
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> boot - super block version number
- freelist - global freelist version number
- stab - symbol table version number
- shhdr - shared object header version number
- hdferr - error code
- Success: 0
- Failure: -1
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- August 12, 1999
-</pre>
-<p class="item_name">HISTORY</p>
-<pre> Explicit Fortran interfaces were added for
- called C functions (it is needed for Windows
- port). March 14, 2001
-
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5pget_version_f</strong><span class="sign">(</span>prp_id<span class="sign">,</span> boot<span class="sign">,</span> freelist<span class="sign">,</span> <span class="sign">&amp;</span>
- stab<span class="sign">,</span> shhdr<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> prp_id <span class="sign">!</span> Property list identifier
- INTEGER<span class="sign">,</span> DIMENSION<span class="sign">(</span><span class="sign">:</span><span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> boot <span class="sign">!</span> Array to put boot
- <span class="sign">!</span> block version number
- INTEGER<span class="sign">,</span> DIMENSION<span class="sign">(</span><span class="sign">:</span><span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> freelist <span class="sign">!</span> Array to put global
- <span class="sign">!</span> Freelist version number
-
- INTEGER<span class="sign">,</span> DIMENSION<span class="sign">(</span><span class="sign">:</span><span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> stab <span class="sign">!</span> Array to put symbol
- <span class="sign">!</span> table version number
- INTEGER<span class="sign">,</span> DIMENSION<span class="sign">(</span><span class="sign">:</span><span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> shhdr <span class="sign">!</span> Array to put shared
- <span class="sign">!</span> object header version number
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
- <span class="sign">!</span> 0 on success and <span class="sign">-</span>1 on failure
-</pre>
-
-<hr />
-<a name="H5P2fh5pisa5fclass5ff"></a>
-<a name="robo281"></a><h2>h5pisa_class_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5pisa_class_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Determines whether a property list is a member of a class.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> plist - property list identifier
- pclass - identifier of the property class
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> flag - .TRUE. if a member, .FALSE. otherwise
- hdferr: - error code
- Success: 0
- Failure: -1
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- October 9, 2002
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5pisa_class_f</strong><span class="sign">(</span>plist<span class="sign">,</span> pclass<span class="sign">,</span> flag<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> plist <span class="sign">!</span> Property list identifier
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> pclass <span class="sign">!</span> Class identifier
- LOGICAL<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> flag <span class="sign">!</span> logical flag
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
- <span class="sign">!</span> 0 on success and <span class="sign">-</span>1 on failure
-</pre>
-
-<hr />
-<a name="H5P2fh5pmodify5ffilter5ff"></a>
-<a name="robo282"></a><h2>h5pmodify_filter_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5pmodify_filter_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Adds a filter to the filter pipeline.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> prp_id - data creation or transfer property list
- identifier
- filter - filter to be modified
- flags - bit vector specifying certain general
- properties of the filter
- cd_nelmts - number of elements in cd_values
- cd_values - auxiliary data for the filter
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> hdferr - error code
- Success: 0
- Failure: -1
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- April 10 2003
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5pmodify_filter_f</strong><span class="sign">(</span>prp_id<span class="sign">,</span> filter<span class="sign">,</span> flags<span class="sign">,</span> cd_nelmts<span class="sign">,</span> cd_values<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> prp_id <span class="sign">!</span> Property list identifier
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> filter <span class="sign">!</span> Filter to be modified
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> flags <span class="sign">!</span> Bit vector specifying certain general
- <span class="sign">!</span> properties of the filter
- INTEGER<span class="sign">(</span>SIZE_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> cd_nelmts <span class="sign">!</span> Number of elements in cd_values
- INTEGER<span class="sign">,</span> DIMENSION<span class="comment">(*), INTENT(IN) :: cd_values ! Auxiliary data for the filter
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- ! 0 on success and -1 on failure
-</pre>
-
-<hr />
-<a name="H5P2fh5premove5ff"></a>
-<a name="robo292"></a><h2>h5premove_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5premove_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Removes a property from a property list.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> plid - Property list identofoer
- name - name of the property to remove
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> hdferr: - error code
- Success: 0
- Failure: -1
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- October 9, 2002
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5premove_f</strong><span class="sign">(</span>plid<span class="sign">,</span> name<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> plid <span class="sign">!</span> Property list identifier
- CHARACTER<span class="sign">(</span>LEN<span class="sign">=</span><span class="sign">*</span><span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> name <span class="sign">!</span> Name of property to remove
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
- <span class="sign">!</span> 0 on success and <span class="sign">-</span>1 on failure
-</pre>
-
-<hr />
-<a name="H5P2fh5premove5ffilter5ff"></a>
-<a name="robo293"></a><h2>h5premove_filter_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5premove_filter_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Delete one or more filters from the filter pipeline.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> prp_id - data creation or transfer property list
- identifier
- filter - filter to be removed
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> hdferr - error code
- Success: 0
- Failure: -1
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Quincey Koziol
- January 27 2004
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5premove_filter_f</strong><span class="sign">(</span>prp_id<span class="sign">,</span> filter<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> prp_id <span class="sign">!</span> Dataset creation property list
- <span class="sign">!</span> identifier
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> filter <span class="sign">!</span> Filter to be removed
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
- <span class="sign">!</span> 0 on success and <span class="sign">-</span>1 on failure
-</pre>
-
-<hr />
-<a name="H5P2fh5pset5falignment5ff"></a>
-<a name="robo296"></a><h2>h5pset_alignment_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5pset_alignment_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Sets alignment properties of a file access property list.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> prp_id - file access property list identifier
- threshold - threshold value
- alignment - alignment value
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> hdferr - error code
- Success: 0
- Failure: -1
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- August 12, 1999
-</pre>
-<p class="item_name">HISTORY</p>
-<pre> Explicit Fortran interfaces were added for
- called C functions (it is needed for Windows
- port). March 14, 2001
-
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5pset_alignment_f</strong><span class="sign">(</span>prp_id<span class="sign">,</span> threshold<span class="sign">,</span> alignment<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> prp_id <span class="sign">!</span> Property list identifier
- INTEGER<span class="sign">(</span>HSIZE_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> threshold <span class="sign">!</span> Threshold value
- INTEGER<span class="sign">(</span>HSIZE_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> alignment <span class="sign">!</span> alignment value
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
- <span class="sign">!</span> 0 on success and <span class="sign">-</span>1 on failure
-</pre>
-
-<hr />
-<a name="H5P2fh5pset5falloc5ftime5ff"></a>
-<a name="robo297"></a><h2>h5pset_alloc_time_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5pset_alloc_time_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Set space allocation time for dataset during creation.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> plist_id - dataset creation property list identifier
- flag - allocation time flag:
- H5D_ALLOC_TIME_ERROR_F
- H5D_ALLOC_TIME_DEFAULT_F
- H5D_ALLOC_TIME_EARLY_F
- H5D_ALLOC_TIME_LATE_F
- H5D_ALLOC_TIME_INCR_F
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> hdferr - error code
- Success: 0
- Failure: -1
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- October 4, 2002
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5pset_alloc_time_f</strong><span class="sign">(</span>plist_id<span class="sign">,</span> flag<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> plist_id <span class="sign">!</span> Dataset creation property list identifier
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> flag <span class="sign">!</span> Allocation time flag<span class="sign">:</span>
- <span class="sign">!</span> H5D_ALLOC_TIME_ERROR_F
- <span class="sign">!</span> H5D_ALLOC_TIME_DEFAULT_F
- <span class="sign">!</span> H5D_ALLOC_TIME_EARLY_F
- <span class="sign">!</span> H5D_ALLOC_TIME_LATE_F
- <span class="sign">!</span> H5D_ALLOC_TIME_INCR_F
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
- <span class="sign">!</span> 0 on success and <span class="sign">-</span>1 on failure
-</pre>
-
-<hr />
-<a name="H5P2fH5Pset5fattr5fcreation5forder5ff"></a>
-<a name="robo298"></a><h2>H5Pset_attr_creation_order_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>H5Pset_attr_creation_order_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Sets tracking and indexing of attribute creation order
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> ocpl_id - Object creation property list identifier
- crt_order_flags - Flags specifying whether to track and index attribute creation order
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> hdferr - Error code
- Success: 0
- Failure: -1
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> M. Scot Breitenfeld
- January, 2008
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE h5pset_attr_creation_order_f<span class="sign">(</span>ocpl_id<span class="sign">,</span> crt_order_flags <span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> ocpl_id <span class="sign">!</span> Object <span class="sign">(</span>dataset or group<span class="sign">)</span> creation property list identifier
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> crt_order_flags <span class="sign">!</span> Flags specifying whether to track and index attribute creation order
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
- <span class="sign">!</span> 0 on success and <span class="sign">-</span>1 on failure
-</pre>
-
-<hr />
-<a name="H5P2fH5Pset5fattr5fphase5fchange5ff"></a>
-<a name="robo299"></a><h2>H5Pset_attr_phase_change_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>H5Pset_attr_phase_change_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Sets attribute storage phase change thresholds.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> ocpl_id - Object (dataset or group) creation property list identifier
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> max_compact - Maximum number of attributes to be stored in compact storage
- (Default: 8)
- min_dense - Minimum number of attributes to be stored in dense storage
- (Default: 6)
- hdferr - Error code
- Success: 0
- Failure: -1
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> M. Scot Breitenfeld
- January, 2008
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source">SUBROUTINE h5pset_attr_phase_change_f<span class="sign">(</span>ocpl_id<span class="sign">,</span> max_compact<span class="sign">,</span> min_dense<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> ocpl_id <span class="sign">!</span> Object <span class="sign">(</span>dataset or group<span class="sign">)</span> creation property list identifier
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> max_compact <span class="sign">!</span> Maximum number of attributes to be stored in compact storage
- <span class="sign">!</span><span class="sign">(</span>Default<span class="sign">:</span> 8<span class="sign">)</span>
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> min_dense <span class="sign">!</span> Minimum number of attributes to be stored in dense storage
- <span class="sign">!</span> <span class="sign">(</span>Default<span class="sign">:</span> 6<span class="sign">)</span>
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
- <span class="sign">!</span> 0 on success and <span class="sign">-</span>1 on failure
-</pre>
-
-<hr />
-<a name="H5P2fh5pset5fbtree5fratios5ff"></a>
-<a name="robo300"></a><h2>h5pset_btree_ratios_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5pset_btree_ratios_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Sets B-tree split ratios for a dataset transfer
- property list.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> prp_id - the dataset transfer property list
- identifier
- left - the B-tree split ratio for left-most nodes
- middle - the B-tree split ratio for all other nodes
- right - the B-tree split ratio for right-most nodes
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> hdferr - error code
- Success: 0
- Failure: -1
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- August 12, 1999
-</pre>
-<p class="item_name">HISTORY</p>
-<pre> Explicit Fortran interfaces were added for
- called C functions (it is needed for Windows
- port). March 14, 2001
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5pset_btree_ratios_f</strong><span class="sign">(</span>prp_id<span class="sign">,</span> left<span class="sign">,</span> middle<span class="sign">,</span> right<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> prp_id <span class="sign">!</span> Property list identifier
- REAL<span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> left <span class="sign">!</span> The B<span class="sign">-</span>tree split ratio <span class="keyword">for</span> left<span class="sign">-</span>most nodes<span class="sign">.</span>
- REAL<span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> middle <span class="sign">!</span> The B<span class="sign">-</span>tree split ratio <span class="keyword">for</span> all other nodes
- REAL<span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> right <span class="sign">!</span> The B<span class="sign">-</span>tree split ratio <span class="keyword">for</span> right<span class="sign">-</span>most
- <span class="sign">!</span> nodes and lone nodes<span class="sign">.</span>
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
- <span class="sign">!</span> 0 on success and <span class="sign">-</span>1 on failure
-</pre>
-
-<hr />
-<a name="H5P2fh5pset5fbuffer5ff"></a>
-<a name="robo301"></a><h2>h5pset_buffer_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5pset_buffer_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Sets sixe for conversion buffer
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> plist_id - data transfer property list identifier
- size - buffer size
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> hdferr: - error code
- Success: 0
- Failure: -1
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- October 2, 2002
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5pset_buffer_f</strong><span class="sign">(</span>plist_id<span class="sign">,</span> size<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> plist_id <span class="sign">!</span> Data transfer property list identifier
- INTEGER<span class="sign">(</span>HSIZE_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> size <span class="sign">!</span> Buffer size in bytes<span class="sign">;</span>
- <span class="sign">!</span> buffer is allocated and freed by
- <span class="sign">!</span> the library<span class="sign">.</span>
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
- <span class="sign">!</span> 0 on success and <span class="sign">-</span>1 on failure
-</pre>
-
-<hr />
-<a name="H5P2fh5pset5fcache5ff"></a>
-<a name="robo302"></a><h2>h5pset_cache_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5pset_cache_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Sets the meta data cache and raw data chunk
- cache parameters
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> prp_id - file access property list identifier
- mdc_nelmts - number of elements (objects) in the meta
- data cache
- rdcc_nelmts - number of elements (objects) in the raw
- data chunk cache
- rdcc_nbytes - total size of the raw data chunk cache, in bytes
- rdcc_w0 - preemption policy (0 or 1)
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> hdferr - error code
- Success: 0
- Failure: -1
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- August 12, 1999
-</pre>
-<p class="item_name">HISTORY</p>
-<pre> Explicit Fortran interfaces were added for
- called C functions (it is needed for Windows
- port). March 14, 2001
-
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5pset_cache_f</strong><span class="sign">(</span>prp_id<span class="sign">,</span> mdc_nelmts<span class="sign">,</span>rdcc_nelmts<span class="sign">,</span> rdcc_nbytes<span class="sign">,</span> rdcc_w0<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> prp_id <span class="sign">!</span> Property list identifier
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> mdc_nelmts <span class="sign">!</span> Number of elements <span class="sign">(</span>objects<span class="sign">)</span>
- <span class="sign">!</span> in the meta data cache
- INTEGER<span class="sign">(</span>SIZE_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> rdcc_nelmts <span class="sign">!</span> Number of elements <span class="sign">(</span>objects<span class="sign">)</span>
- <span class="sign">!</span> in the meta data cache
- INTEGER<span class="sign">(</span>SIZE_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> rdcc_nbytes <span class="sign">!</span> Total size of the raw data
- <span class="sign">!</span> chunk cache<span class="sign">,</span> in bytes
- REAL<span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> rdcc_w0 <span class="sign">!</span> Preemption policy
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
- <span class="sign">!</span> 0 on success and <span class="sign">-</span>1 on failure
-</pre>
-
-<hr />
-<a name="H5P2fH5Pset5fchar5fencoding5ff"></a>
-<a name="robo305"></a><h2>H5Pset_char_encoding_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>H5Pset_char_encoding_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Sets the character encoding used to encode a string.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> plist_id - Property list identifier
- encoding - Valid values for encoding are:
- H5T_CSET_ASCII_F -&gt; US ASCII
- H5T_CSET_UTF8_F -&gt; UTF-8 Unicode encoding
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> hdferr - Error code
- Success: 0
- Failure: -1
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> M. Scot Breitenfeld
- March 3, 2008
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE h5pset_char_encoding_f<span class="sign">(</span>plist_id<span class="sign">,</span> encoding<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> plist_id <span class="sign">!</span> Property list identifier
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> encoding <span class="sign">!</span> String encoding character set<span class="sign">:</span>
- <span class="sign">!</span> H5T_CSET_ASCII_F <span class="sign">-</span><span class="sign">&gt;</span> US ASCII
- <span class="sign">!</span> H5T_CSET_UTF8_F <span class="sign">-</span><span class="sign">&gt;</span> UTF<span class="sign">-</span>8 Unicode encoding
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
- <span class="sign">!</span> 0 on success and <span class="sign">-</span>1 on failure
-</pre>
-
-<hr />
-<a name="H5P2fH5Pset5fchunk5fcache5ff"></a>
-<a name="robo306"></a><h2>H5Pset_chunk_cache_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>H5Pset_chunk_cache_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Set the number of objects in the meta data cache and the
- maximum number of chunks and bytes in the raw data chunk cache.
- Once set, these values will override the values in the file access
- property list. Each of these values can be individually unset
- (or not set at all) by passing the macros:
- H5D_CHUNK_CACHE_NSLOTS_DFLT_F,
- H5D_CHUNK_CACHE_NBYTES_DFLT_F, and/or
- H5D_CHUNK_CACHE_W0_DFLT_F
- as appropriate.
-
- The RDCC_W0 value should be between 0 and 1 inclusive and
- indicates how much chunks that have been fully read or fully
- written are favored for preemption. A value of zero means
- fully read or written chunks are treated no differently than
- other chunks (the preemption is strictly LRU) while a value
- of one means fully read chunks are always preempted before
- other chunks.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> dapl_id - Dataset access property list identifier.
- rdcc_nslots - The number of chunk slots in the raw data chunk cache for this dataset.
- rdcc_nbytes - The total size of the raw data chunk cache for this dataset.
- rdcc_w0 - The chunk preemption policy for this dataset.
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> hdferr - Error code
- Success: 0
- Failure: -1
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> M. Scot Breitenfeld
- April 13, 2009
-</pre>
-<p class="item_name">HISTORY</p>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE h5pset_chunk_cache_f<span class="sign">(</span>dapl_id<span class="sign">,</span> rdcc_nslots<span class="sign">,</span> rdcc_nbytes<span class="sign">,</span> rdcc_w0<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> dapl_id <span class="sign">!</span> Dataset access property list identifier<span class="sign">.</span>
- INTEGER<span class="sign">(</span>SIZE_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> rdcc_nslots <span class="sign">!</span> The number of chunk slots in the raw data
- <span class="sign">!</span> chunk cache <span class="keyword">for</span> this dataset<span class="sign">.</span>
- INTEGER<span class="sign">(</span>SIZE_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> rdcc_nbytes <span class="sign">!</span> The total size of the raw data chunk cache
- <span class="sign">!</span> <span class="keyword">for</span> this dataset<span class="sign">.</span>
- REAL<span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> rdcc_w0 <span class="sign">!</span> The chunk preemption policy <span class="keyword">for</span> this dataset<span class="sign">.</span>
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
- <span class="sign">!</span> 0 on success and <span class="sign">-</span>1 on failure
-</pre>
-
-<hr />
-<a name="H5P2fh5pset5fchunk5ff"></a>
-<a name="robo307"></a><h2>h5pset_chunk_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5pset_chunk_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Sets the size of the chunks used to store
- a chunked layout dataset.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> prp_id - datatset creation property list identifier
- ndims - number of dimensions for each chunk
- dims - array with dimension sizes for each chunk
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> hdferr - error code
- Success: 0
- Failure: -1
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- August 12, 1999
-</pre>
-<p class="item_name">HISTORY</p>
-<pre> Explicit Fortran interfaces were added for
- called C functions (it is needed for Windows
- port). March 14, 2001
-
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5pset_chunk_f</strong><span class="sign">(</span>prp_id<span class="sign">,</span> ndims<span class="sign">,</span> dims<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> prp_id <span class="sign">!</span> Property list identifier
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> ndims <span class="sign">!</span> Number of chunk dimensions
- INTEGER<span class="sign">(</span>HSIZE_T<span class="sign">)</span><span class="sign">,</span> DIMENSION<span class="sign">(</span>ndims<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> dims
- <span class="sign">!</span> Array containing sizes of
- <span class="sign">!</span> chunk dimensions
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
- <span class="sign">!</span> 0 on success and <span class="sign">-</span>1 on failure
-</pre>
-
-<hr />
-<a name="H5P2fh5pset5fcopy5fobject5ff"></a>
-<a name="robo308"></a><h2>h5pset_copy_object_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5pset_copy_object_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Sets properties to be used when an object is copied.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> ocp_plist_id - Object copy property list identifier
- copy_options - Copy option(s) to be set
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> hdferr - error code
- Success: 0
- Failure: -1
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> M. Scot Breitenfeld
- March 3, 2008
-</pre>
-<p class="item_name">HISTORY</p>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5pset_copy_object_f</strong><span class="sign">(</span>ocp_plist_id<span class="sign">,</span> copy_options<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> ocp_plist_id <span class="sign">!</span> Object copy property list identifier
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> copy_options <span class="sign">!</span> Copy option<span class="sign">(</span>s<span class="sign">)</span> to be set<span class="sign">,</span> valid options are<span class="sign">:</span>
- <span class="sign">!</span> H5O_COPY_SHALLOW_HIERARCHY_F
- <span class="sign">!</span> H5O_COPY_EXPAND_SOFT_LINK_F
- <span class="sign">!</span> H5O_COPY_EXPAND_EXT_LINK_F
- <span class="sign">!</span> H5O_COPY_EXPAND_REFERENCE_F
- <span class="sign">!</span> H5O_COPY_WITHOUT_ATTR_FLAG_F
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
- <span class="sign">!</span> 0 on success and <span class="sign">-</span>1 on failure
-</pre>
-
-<hr />
-<a name="H5P2fH5Pset5fcreate5finter5fgroup5ff"></a>
-<a name="robo309"></a><h2>H5Pset_create_inter_group_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>H5Pset_create_inter_group_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Specifies in property list whether to create missing intermediate groups.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> lcpl_id - Link creation property list identifier
- crt_intermed_group - crt_intermed_group specifying whether
- to create intermediate groups upon the creation
- of an object
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> hdferr - Error code
- Success: 0
- Failure: -1
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> M. Scot Breitenfeld
- February 22, 2008
-</pre>
-<p class="item_name">HISTORY</p>
-<pre> The long subroutine name (&gt;31) on older f90 compilers causes problems
- so had to shorten the name
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE h5pset_create_inter_group_f<span class="sign">(</span>lcpl_id<span class="sign">,</span> crt_intermed_group<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> lcpl_id <span class="sign">!</span> Link creation property list identifier
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> crt_intermed_group <span class="sign">!</span> specifying whether to create intermediate groups
- <span class="sign">!</span> upon the creation of an object
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
- <span class="sign">!</span> 0 on success and <span class="sign">-</span>1 on failure
-</pre>
-
-<hr />
-<a name="H5P2fh5pset5fdata5ftransform5ff"></a>
-<a name="robo310"></a><h2>h5pset_data_transform_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5pset_data_transform_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Sets a data transform expression.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> plist_id - Identifier of the property list or class
- expression - Buffer to hold transform expression
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> hdferr - error code
- Success: 0
- Failure: -1
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> M. Scot Breitenfeld
- March 19, 2008
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5pset_data_transform_f</strong><span class="sign">(</span>plist_id<span class="sign">,</span> expression<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> plist_id <span class="sign">!</span> Identifier of the property list or class
- CHARACTER<span class="sign">(</span>LEN<span class="sign">=</span><span class="sign">*</span><span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> expression <span class="sign">!</span> Buffer to hold transform expression
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
- <span class="sign">!</span> 0 on success and <span class="sign">-</span>1 on failure
-</pre>
-
-<hr />
-<a name="H5P2fh5pset5fdeflate5ff"></a>
-<a name="robo311"></a><h2>h5pset_deflate_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5pset_deflate_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Sets compression method and compression level.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> prp_id - property list identifier
- level - compression level
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> hdferr - error code
- Success: 0
- Failure: -1
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- August 12, 1999
-</pre>
-<p class="item_name">HISTORY</p>
-<pre> Explicit Fortran interfaces were added for
- called C functions (it is needed for Windows
- port). March 14, 2001
-
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5pset_deflate_f</strong><span class="sign">(</span>prp_id<span class="sign">,</span> level<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> prp_id <span class="sign">!</span> Property list identifier
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> level <span class="sign">!</span> Compression level
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
- <span class="sign">!</span> 0 on success and <span class="sign">-</span>1 on failure
-</pre>
-
-<hr />
-<a name="H5P2fh5pset5fedc5fcheck5ff"></a>
-<a name="robo315"></a><h2>h5pset_edc_check_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5pset_edc_check_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Enables/disables error detecting
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> prp_id - dataset creation property list identifier
- flag - EDC flag; possible values:
- H5Z_DISABLE_EDC_F
- H5Z_ENABLE_EDC_F
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> hdferr - error code
- Success: 0
- Failure: -1
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- March 13, 2003
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5pset_edc_check_f</strong><span class="sign">(</span>prp_id<span class="sign">,</span> flag<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> prp_id <span class="sign">!</span> Property list identifier
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> flag <span class="sign">!</span> Checksum filter flag
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
- <span class="sign">!</span> 0 on success and <span class="sign">-</span>1 on failure
-</pre>
-
-<hr />
-<a name="H5P2fh5pset5fest5flink5finfo5ff"></a>
-<a name="robo316"></a><h2>h5pset_est_link_info_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5pset_est_link_info_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Sets estimated number of links and length of link names in a group.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> gcpl_id - Group creation property list identifier
- est_num_entries - Estimated number of links to be inserted into group
- est_name_len - Estimated average length of link names
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> hdferr - Error code
- Success: 0
- Failure: -1
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> M. Scot Breitenfeld
- March 21, 2008
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5pset_est_link_info_f</strong><span class="sign">(</span>gcpl_id<span class="sign">,</span> est_num_entries<span class="sign">,</span> est_name_len<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> gcpl_id <span class="sign">!</span> Group creation property list identifier
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> est_num_entries <span class="sign">!</span> Estimated number of links to be inserted into group
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> est_name_len <span class="sign">!</span> Estimated average length of link names
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
- <span class="sign">!</span> 0 on success and <span class="sign">-</span>1 on failure
-</pre>
-
-<hr />
-<a name="H5P2fh5pset5fexternal5ff"></a>
-<a name="robo317"></a><h2>h5pset_external_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5pset_external_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Adds an external file to the list of external files.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> prp_id - dataset creation property list identifier
- name - name of external file
- offset - offset in bytes from the beginning of the
- file to the location in the file
- where the data starts
- bytes - size of the external file data.
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> hdferr - error code
- Success: 0
- Failure: -1
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- August 12, 1999
-</pre>
-<p class="item_name">HISTORY</p>
-<pre> Explicit Fortran interfaces were added for
- called C functions (it is needed for Windows
- port). March 14, 2001
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5pset_external_f</strong><span class="sign">(</span>prp_id<span class="sign">,</span> name<span class="sign">,</span> offset<span class="sign">,</span>bytes<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> prp_id <span class="sign">!</span> Property list identifier
- CHARACTER<span class="sign">(</span>LEN<span class="sign">=</span><span class="sign">*</span><span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> name <span class="sign">!</span> Name of an external file
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> offset <span class="sign">!</span> Offset<span class="sign">,</span> in bytes<span class="sign">,</span> from the beginning
- <span class="sign">!</span> of the file to the location in the file
- <span class="sign">!</span> where the data starts<span class="sign">.</span>
- INTEGER<span class="sign">(</span>HSIZE_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> bytes <span class="sign">!</span> Number of bytes reserved in the
- <span class="sign">!</span> file <span class="keyword">for</span> the data
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
- <span class="sign">!</span> 0 on success and <span class="sign">-</span>1 on failure
-</pre>
-
-<hr />
-<a name="H5P2fh5pset5ffapl5fcore5ff"></a>
-<a name="robo318"></a><h2>h5pset_fapl_core_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5pset_fapl_core_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Modifies the file access property list to use the
- H5FD_CORE driver.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> prp_id - file access property list identifier
- increment - size, in bytes, of memory increments
- backing_store - boolean flag indicating whether to write
- the file contents to disk when the file is closed.
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> hdferr - error code
- Success: 0
- Failure: -1
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- August 12, 1999
-</pre>
-<p class="item_name">HISTORY</p>
-<pre> Explicit Fortran interfaces were added for
- called C functions (it is needed for Windows
- port). March 14, 2001
-
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5pset_fapl_core_f</strong><span class="sign">(</span>prp_id<span class="sign">,</span> increment<span class="sign">,</span> backing_store<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> prp_id <span class="sign">!</span> Property list identifier
- INTEGER<span class="sign">(</span>SIZE_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> increment <span class="sign">!</span> File block size in bytes<span class="sign">.</span>
- LOGICAL<span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> backing_store <span class="sign">!</span> Flag to indicate that
- <span class="sign">!</span> entire file contents are flushed to a file
- <span class="sign">!</span> with the same name as this core file<span class="sign">.</span>
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
- <span class="sign">!</span> 0 on success and <span class="sign">-</span>1 on failure
-</pre>
-
-<hr />
-<a name="H5P2fh5pset5ffapl5fdirect5ff"></a>
-<a name="robo319"></a><h2>h5pset_fapl_direct_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5pset_fapl_direct_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Sets up use of the direct I/O driver.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> fapl_id - File access property list identifier
- alignment - Required memory alignment boundary
- block_size - File system block size
- cbuf_size - Copy buffer size
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> hdferr - error code
- Success: 0
- Failure: -1
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> M. Scot Breitenfeld
- March 21, 2008
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source">SUBROUTINE <strong>h5pset_fapl_direct_f</strong><span class="sign">(</span>fapl_id<span class="sign">,</span> alignment<span class="sign">,</span> block_size<span class="sign">,</span> cbuf_size<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> fapl_id <span class="sign">!</span> File access property list identifier
- INTEGER<span class="sign">(</span>SIZE_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> alignment <span class="sign">!</span> Required memory alignment boundary<span class="sign">!</span>
- INTEGER<span class="sign">(</span>SIZE_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> block_size <span class="sign">!</span> File system block size
- INTEGER<span class="sign">(</span>SIZE_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> cbuf_size <span class="sign">!</span> Copy buffer size
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
- <span class="sign">!</span> 0 on success and <span class="sign">-</span>1 on failure
-</pre>
-
-<hr />
-<a name="H5P2fh5pset5ffapl5fmulti5fl"></a>
-<a name="robo322"></a><h2>h5pset_fapl_multi_l</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5pset_fapl_multi_l</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Sets up use of the multi-file driver.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> prp_id - file creation property list identifier
- mem_map - mapping array
- memb_fapl - property list for each memory usage type
- memb_name - names of member file
- relax - flag
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> hdferr - error code
- Success: 0
- Failure: -1
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- 20 March 2003
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5pset_fapl_multi_l</strong><span class="sign">(</span>prp_id<span class="sign">,</span> memb_map<span class="sign">,</span> memb_fapl<span class="sign">,</span> memb_name<span class="sign">,</span> memb_addr<span class="sign">,</span> relax<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> prp_id <span class="sign">!</span> File creation property list identifier
- INTEGER<span class="sign">,</span> DIMENSION<span class="sign">(</span>0<span class="sign">:</span>H5FD_MEM_NTYPES_F<span class="sign">-</span>1<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> memb_map <span class="sign">!</span> Mapping array
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> DIMENSION<span class="sign">(</span>0<span class="sign">:</span>H5FD_MEM_NTYPES_F<span class="sign">-</span>1<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> memb_fapl <span class="sign">!</span> Property list <span class="keyword">for</span> each memory usage type
- CHARACTER<span class="sign">(</span>LEN<span class="sign">=</span><span class="sign">*</span><span class="sign">)</span><span class="sign">,</span> DIMENSION<span class="sign">(</span>0<span class="sign">:</span>H5FD_MEM_NTYPES_F<span class="sign">-</span>1<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> memb_name <span class="sign">!</span> Names of member file
- REAL<span class="sign">,</span> DIMENSION<span class="sign">(</span>0<span class="sign">:</span>H5FD_MEM_NTYPES_F<span class="sign">-</span>1<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> memb_addr
- LOGICAL<span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> relax <span class="sign">!</span> Flag
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
- <span class="sign">!</span> 0 on success and <span class="sign">-</span>1 on failure
-</pre>
-
-<hr />
-<a name="H5P2fh5pset5ffapl5fmulti5fs"></a>
-<a name="robo323"></a><h2>h5pset_fapl_multi_s</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5pset_fapl_multi_s</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Sets up use of the multi-file driver.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> prp_id - file creation property list identifier
- relax - flag
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> hdferr - error code
- Success: 0
- Failure: -1
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- 31 March 2003
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5pset_fapl_multi_s</strong><span class="sign">(</span>prp_id<span class="sign">,</span> relax<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> prp_id <span class="sign">!</span> File creation property list identifier
- LOGICAL<span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> relax
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
- <span class="sign">!</span> 0 on success and <span class="sign">-</span>1 on failure
-</pre>
-
-<hr />
-<a name="H5P2fh5pset5ffapl5fsec25ff"></a>
-<a name="robo324"></a><h2>h5pset_fapl_sec2_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5pset_fapl_sec2_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Sets the sec2 driver.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> prp_id - file access property list identifier
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> hdferr - error code
- Success: 0
- Failure: -1
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- August 12, 1999
-</pre>
-<p class="item_name">HISTORY</p>
-<pre> Explicit Fortran interfaces were added for
- called C functions (it is needed for Windows
- port). March 14, 2001
-
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5pset_fapl_sec2_f</strong> <span class="sign">(</span>prp_id<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> prp_id <span class="sign">!</span> Property list identifier
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
- <span class="sign">!</span> 0 on success and <span class="sign">-</span>1 on failure
-</pre>
-
-<hr />
-<a name="H5P2fh5pset5ffapl5fsplit5ff"></a>
-<a name="robo325"></a><h2>h5pset_fapl_split_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5pset_fapl_split_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Emulates the old split file driver.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> prp_id - file access property list identifier
- meta_ext - name of the extension for the metafile
- filename
- meta_plist - identifier of the meta file access property
- list
- raw_ext - name extension for the raw file filename
- raw_plist - identifier of the raw file access property list
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> hdferr - error code
- Success: 0
- Failure: -1
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- August 12, 1999
-</pre>
-<p class="item_name">HISTORY</p>
-<pre> Explicit Fortran interfaces were added for
- called C functions (it is needed for Windows
- port). March 14, 2001
-
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5pset_fapl_split_f</strong><span class="sign">(</span>prp_id<span class="sign">,</span> meta_ext<span class="sign">,</span> meta_plist<span class="sign">,</span> raw_ext<span class="sign">,</span> raw_plist<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> prp_id <span class="sign">!</span> Property list identifier
- CHARACTER<span class="sign">(</span>LEN<span class="sign">=</span><span class="sign">*</span><span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> meta_ext <span class="sign">!</span> Name of the extension <span class="keyword">for</span>
- <span class="sign">!</span> the metafile filename
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> meta_plist <span class="sign">!</span> Identifier of the meta file
- <span class="sign">!</span> access property list
- CHARACTER<span class="sign">(</span>LEN<span class="sign">=</span><span class="sign">*</span><span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> raw_ext <span class="sign">!</span> Name extension <span class="keyword">for</span> the raw file filename
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> raw_plist <span class="sign">!</span> Identifier of the raw file
- <span class="sign">!</span> access property list
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
- <span class="sign">!</span> 0 on success and <span class="sign">-</span>1 on failure
-</pre>
-
-<hr />
-<a name="H5P2fh5pset5ffapl5fstdio5ff"></a>
-<a name="robo326"></a><h2>h5pset_fapl_stdio_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5pset_fapl_stdio_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Sets the standard I/O driver.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> prp_id - file access property list identifier
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> hdferr - error code
- Success: 0
- Failure: -1
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- August 12, 1999
-</pre>
-<p class="item_name">HISTORY</p>
-<pre> Explicit Fortran interfaces were added for
- called C functions (it is needed for Windows
- port). March 14, 2001
-
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5pset_fapl_stdio_f</strong> <span class="sign">(</span>prp_id<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> prp_id <span class="sign">!</span> Property list identifier
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
- <span class="sign">!</span> 0 on success and <span class="sign">-</span>1 on failure
-</pre>
-
-<hr />
-<a name="H5P2fh5pset5ffclose5fdegree5ff"></a>
-<a name="robo327"></a><h2>h5pset_fclose_degree_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5pset_fclose_degree_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Sets the degree for the file close behavior.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> fapl_id - file access property list identifier
- degree - Possible values are:
- H5F_CLOSE_DEFAULT_F
- H5F_CLOSE_WEAK_F
- H5F_CLOSE_SEMI_F
- H5F_CLOSE_STRONG_F
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> hdferr - error code
- Success: 0
- Failure: -1
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- September 26, 2002
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5pset_fclose_degree_f</strong><span class="sign">(</span>fapl_id<span class="sign">,</span> degree<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> fapl_id <span class="sign">!</span> File Access Property list identifier
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> degree <span class="sign">!</span> Possible values are<span class="sign">:</span>
- <span class="sign">!</span> H5F_CLOSE_DEFAULT_F
- <span class="sign">!</span> H5F_CLOSE_WEAK_F
- <span class="sign">!</span> H5F_CLOSE_SEMI_F
- <span class="sign">!</span> H5F_CLOSE_STRONG_F
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
- <span class="sign">!</span> 0 on success and <span class="sign">-</span>1 on failure
-</pre>
-
-<hr />
-<a name="H5P2fh5pset5ffill5ftime5ff"></a>
-<a name="robo328"></a><h2>h5pset_fill_time_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5pset_fill_time_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Set fill value writing time for dataset
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> plist_id - dataset creation property list identifier
- flag - fill time flag:
- H5D_FILL_TIME_ERROR_F
- H5D_FILL_TIME_ALLOC_F
- H5D_FILL_TIME_NEVER_F
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> hdferr - error code
- Success: 0
- Failure: -1
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- October 4, 2002
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5pset_fill_time_f</strong><span class="sign">(</span>plist_id<span class="sign">,</span> flag<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> plist_id <span class="sign">!</span> Dataset creation property list identifier
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> flag <span class="sign">!</span> Fill time flag<span class="sign">:</span>
- <span class="sign">!</span> H5D_FILL_TIME_ERROR_F
- <span class="sign">!</span> H5D_FILL_TIME_ALLOC_F
- <span class="sign">!</span> H5D_FILL_TIME_NEVER_F
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
- <span class="sign">!</span> 0 on success and <span class="sign">-</span>1 on failure
-</pre>
-
-<hr />
-<a name="H5P2fh5pset5ffilter5ff"></a>
-<a name="robo329"></a><h2>h5pset_filter_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5pset_filter_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Adds a filter to the filter pipeline.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> prp_id - data creation or transfer property list
- identifier
- filter - filter to be added to the pipeline
- flags - bit vector specifying certain general
- properties of the filter
- cd_nelmts - number of elements in cd_values
- cd_values - auxiliary data for the filter
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> hdferr - error code
- Success: 0
- Failure: -1
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- February, 2003
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5pset_filter_f</strong><span class="sign">(</span>prp_id<span class="sign">,</span> filter<span class="sign">,</span> flags<span class="sign">,</span> cd_nelmts<span class="sign">,</span> cd_values<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> prp_id <span class="sign">!</span> Property list identifier
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> filter <span class="sign">!</span> Filter to be added to the pipeline<span class="sign">.</span>
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> flags <span class="sign">!</span> Bit vector specifying certain general
- <span class="sign">!</span> properties of the filter<span class="sign">.</span>
- INTEGER<span class="sign">(</span>SIZE_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> cd_nelmts <span class="sign">!</span> Number of elements in cd_values<span class="sign">.</span>
- INTEGER<span class="sign">,</span> DIMENSION<span class="comment">(*), INTENT(IN) :: cd_values ! Auxiliary data for the filter.
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- ! 0 on success and -1 on failure
-</pre>
-
-<hr />
-<a name="H5P2fh5pset5ffletcher325ff"></a>
-<a name="robo330"></a><h2>h5pset_fletcher32_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5pset_fletcher32_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Sets Fletcher32 checksum of EDC for a dataset creation
- property list.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> prp_id - dataset creation property list identifier
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> hdferr - error code
- Success: 0
- Failure: -1
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- March 13, 2003
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5pset_fletcher32_f</strong><span class="sign">(</span>prp_id<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> prp_id <span class="sign">!</span> Property list identifier
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
- <span class="sign">!</span> 0 on success and <span class="sign">-</span>1 on failure
-</pre>
-
-<hr />
-<a name="H5P2fh5pset5fgc5freferences5ff"></a>
-<a name="robo331"></a><h2>h5pset_gc_references_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5pset_gc_references_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Sets garbage collecting references flag.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> prp_id - file access property list identifier
- gc_reference - flag for stting garbage collection on
- and off (1 or 0)
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> hdferr - error code
- Success: 0
- Failure: -1
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- August 12, 1999
-</pre>
-<p class="item_name">HISTORY</p>
-<pre> Explicit Fortran interfaces were added for
- called C functions (it is needed for Windows
- port). March 14, 2001
-
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5pset_gc_references_f</strong> <span class="sign">(</span>prp_id<span class="sign">,</span> gc_reference<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> prp_id <span class="sign">!</span> Property list identifier
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> gc_reference <span class="sign">!</span> The flag <span class="keyword">for</span> garbage collecting
- <span class="sign">!</span> references <span class="keyword">for</span> the file
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
- <span class="sign">!</span> 0 on success and <span class="sign">-</span>1 on failure
-</pre>
-
-<hr />
-<a name="H5P2fh5pset5fhyper5fvector5fsize5ff"></a>
-<a name="robo332"></a><h2>h5pset_hyper_vector_size_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5pset_hyper_vector_size_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Set the number of "I/O" vectors (vector size)
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> plist_id - dataset transfer property list identifier
- size - vector size
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> hdferr - error code
- Success: 0
- Failure: -1
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- October 7, 2002
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5pset_hyper_vector_size_f</strong><span class="sign">(</span>plist_id<span class="sign">,</span> size<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> plist_id <span class="sign">!</span> Dataset transfer property list identifier
- INTEGER<span class="sign">(</span>SIZE_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> size <span class="sign">!</span> Vector size
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
- <span class="sign">!</span> 0 on success and <span class="sign">-</span>1 on failure
-</pre>
-
-<hr />
-<a name="H5P2fh5pset5fistore5fk5ff"></a>
-<a name="robo335"></a><h2>h5pset_istore_k_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5pset_istore_k_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Sets the size of the parameter used to control the
- B-trees for indexing chunked datasets
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> prp_id - file creation property list identifier
- ik - 1/2 rank of chunked storage B-tree
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> hdferr - error code
- Success: 0
- Failure: -1
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- August 12, 1999
-</pre>
-<p class="item_name">HISTORY</p>
-<pre> Explicit Fortran interfaces were added for
- called C functions (it is needed for Windows
- port). March 14, 2001
-
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5pset_istore_k_f</strong> <span class="sign">(</span>prp_id<span class="sign">,</span> ik<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> prp_id <span class="sign">!</span> Property list identifier
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> ik <span class="sign">!</span> 1<span class="sign">/</span>2 rank of chunked storage B<span class="sign">-</span>tree
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
- <span class="sign">!</span> 0 on success and <span class="sign">-</span>1 on failure
-</pre>
-
-<hr />
-<a name="H5P2fh5pset5flayout5ff"></a>
-<a name="robo336"></a><h2>h5pset_layout_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5pset_layout_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Sets the type of storage used store the raw data
- for a dataset.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> prp_id - data creation property list identifier
- layout - type of storage layout for raw data
- possible values are:
- H5D_COMPACT_F
- H5D_CONTIGUOUS_F
- H5D_CHUNKED_F
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> hdferr - error code
- Success: 0
- Failure: -1
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- August 12, 1999
-</pre>
-<p class="item_name">HISTORY</p>
-<pre> Explicit Fortran interfaces were added for
- called C functions (it is needed for Windows
- port). March 14, 2001
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5pset_layout_f</strong> <span class="sign">(</span>prp_id<span class="sign">,</span> layout<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> prp_id <span class="sign">!</span> Property list identifier
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> layout <span class="sign">!</span> Type of storage layout <span class="keyword">for</span> raw data
- <span class="sign">!</span> possible values are<span class="sign">:</span>
- <span class="sign">!</span> H5D_COMPACT_F
- <span class="sign">!</span> H5D_CONTIGUOUS_F
- <span class="sign">!</span> H5D_CHUNKED_F
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
- <span class="sign">!</span> 0 on success and <span class="sign">-</span>1 on failure
-</pre>
-
-<hr />
-<a name="H5P2fH5Pset5flibver5fbounds5ff"></a>
-<a name="robo337"></a><h2>H5Pset_libver_bounds_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>H5Pset_libver_bounds_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Sets bounds on library versions, and indirectly format versions, to be used when creating objects.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> fapl_id - File access property list identifier
- low - The earliest version of the library that will be used for writing objects.
- high - The latest version of the library that will be used for writing objects.
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> hdferr - error code
- Success: 0
- Failure: -1
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> M. Scot Breitenfeld
- February 18, 2008
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE h5pset_libver_bounds_f<span class="sign">(</span>fapl_id<span class="sign">,</span> low<span class="sign">,</span> high<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> fapl_id <span class="sign">!</span> File access property list identifier
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> low <span class="sign">!</span> The earliest version of the library that will be used <span class="keyword">for</span> writing objects<span class="sign">.</span>
- <span class="sign">!</span> Currently<span class="sign">,</span> low must be one of two pre<span class="sign">-</span>defined values<span class="sign">:</span>
- <span class="sign">!</span> HDF_LIBVER_EARLIEST_F
- <span class="sign">!</span> HDF_LIBVER_LATEST_F
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> high <span class="sign">!</span> The latest version of the library that will be used <span class="keyword">for</span> writing objects<span class="sign">.</span>
- <span class="sign">!</span> Currently<span class="sign">,</span> low must set to the pre<span class="sign">-</span>defined value<span class="sign">:</span>
- <span class="sign">!</span> HDF_LIBVER_LATEST_F
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
- <span class="sign">!</span> 0 on success and <span class="sign">-</span>1 on failure
-</pre>
-
-<hr />
-<a name="H5P2fH5Pset5flink5fcreation5forder5ff"></a>
-<a name="robo338"></a><h2>H5Pset_link_creation_order_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>H5Pset_link_creation_order_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Sets creation order tracking and indexing for links in a group.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> gcpl_id - Group creation property list identifier
- crt_order_flags - Creation order flag(s)
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> hdferr - Error code
- Success: 0
- Failure: -1
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> M. Scot Breitenfeld
- February 18, 2008
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE h5pset_link_creation_order_f<span class="sign">(</span>gcpl_id<span class="sign">,</span> crt_order_flags<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> gcpl_id <span class="sign">!</span> File access property list identifier
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> crt_order_flags <span class="sign">!</span> Creation order flag<span class="sign">(</span>s<span class="sign">)</span>
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
- <span class="sign">!</span> 0 on success and <span class="sign">-</span>1 on failure
-</pre>
-
-<hr />
-<a name="H5P2fh5pset5flink5fphase5fchange5ff"></a>
-<a name="robo339"></a><h2>h5pset_link_phase_change_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5pset_link_phase_change_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Sets the parameters for conversion between compact and dense groups.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> gcpl_id - Group creation property list identifier
- max_compact - Maximum number of attributes to be stored in compact storage
- min_dense - Minimum number of attributes to be stored in dense storage
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> hdferr - error code
- Success: 0
- Failure: -1
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> M. Scot Breitenfeld
- March 21, 2008
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source">SUBROUTINE <strong>h5pset_link_phase_change_f</strong><span class="sign">(</span>gcpl_id<span class="sign">,</span> max_compact<span class="sign">,</span> min_dense<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> gcpl_id <span class="sign">!</span> Group creation property list identifier
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> max_compact <span class="sign">!</span> Maximum number of attributes to be stored in compact storage
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> min_dense <span class="sign">!</span> Minimum number of attributes to be stored in dense storage
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
- <span class="sign">!</span> 0 on success and <span class="sign">-</span>1 on failure
-</pre>
-
-<hr />
-<a name="H5P2fH5Pset5flocal5fheap5fsize5fhint5ff"></a>
-<a name="robo340"></a><h2>H5Pset_local_heap_size_hint_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>H5Pset_local_heap_size_hint_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Sets the local heap size hint for original-style groups.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> gcpl_id - Group creation property list identifier
- size_hint - Hint for size of local heap
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> hdferr - Error code
- Success: 0
- Failure: -1
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> M. Scot Breitenfeld
- March 21, 2008
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE h5pset_local_heap_size_hint_f<span class="sign">(</span>gcpl_id<span class="sign">,</span> size_hint<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> gcpl_id <span class="sign">!</span> Group creation property list identifier
- INTEGER<span class="sign">(</span>SIZE_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> size_hint <span class="sign">!</span> Hint <span class="keyword">for</span> size of local heap
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
- <span class="sign">!</span> 0 on success and <span class="sign">-</span>1 on failure
-</pre>
-
-<hr />
-<a name="H5P2fH5Pset5fnbit5ff"></a>
-<a name="robo341"></a><h2>H5Pset_nbit_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>H5Pset_nbit_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Sets up the use of the N-Bit filter.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> plist_id - Dataset creation property list identifier.
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> hdferr - Error code
- Success: 0
- Failure: -1
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> M. Scot Breitenfeld
- March 21, 2008
-</pre>
-<p class="item_name">HISTORY</p>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE h5pset_nbit_f<span class="sign">(</span>plist_id<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> plist_id <span class="sign">!</span> Dataset creation property list identifier
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
- <span class="sign">!</span> 0 on success and <span class="sign">-</span>1 on failure
-</pre>
-
-<hr />
-<a name="H5P2fh5pset5fnlinks5ff"></a>
-<a name="robo342"></a><h2>h5pset_nlinks_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5pset_nlinks_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Sets maximum number of soft or user-defined link traversals.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> lapl_id - File access property list identifier
- nlinks - Maximum number of links to traverse
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> hdferr - Error code
- Success: 0
- Failure: -1
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> M. Scot Breitenfeld
- March 24, 2008
-</pre>
-<p class="item_name">HISTORY</p>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5pset_nlinks_f</strong><span class="sign">(</span>lapl_id<span class="sign">,</span> nlinks<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> lapl_id <span class="sign">!</span> File access property list identifier
- INTEGER<span class="sign">(</span>SIZE_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> nlinks <span class="sign">!</span> Maximum number of links to traverse
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
- <span class="sign">!</span> 0 on success and <span class="sign">-</span>1 on failure
-</pre>
-
-<hr />
-<a name="H5P2fH5Pset5fobj5ftrack5ftimes5ff"></a>
-<a name="robo343"></a><h2>H5Pset_obj_track_times_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>H5Pset_obj_track_times_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Set whether the birth, access, modification &amp; change times for
- an object are stored.
-
- Birth time is the time the object was created. Access time is
- the last time that metadata or raw data was read from this
- object. Modification time is the last time the data for
- this object was changed (either writing raw data to a dataset
- or inserting/modifying/deleting a link in a group). Change
- time is the last time the metadata for this object was written
- (adding/modifying/deleting an attribute on an object, extending
- the size of a dataset, etc).
-
- If these times are not tracked, they will be reported as
- 12:00 AM UDT, Jan. 1, 1970 (i.e. 0 seconds past the UNIX
- epoch) when queried.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> plist_id - property list id
- flag - object timestamp setting
- .TRUE.,.FALSE.
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> hdferr - error code
- Success: 0
- Failure: -1
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> M. Scot Breitenfeld
- February 22, 2008
-
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE h5pset_obj_track_times_f<span class="sign">(</span>plist_id<span class="sign">,</span> flag<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> plist_id <span class="sign">!</span> Dataset creation property
- <span class="sign">!</span> list identifier
- LOGICAL<span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> flag <span class="sign">!</span> Object timestamp setting
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
- <span class="sign">!</span> 0 on success and <span class="sign">-</span>1 on failure
-</pre>
-
-<hr />
-<a name="H5P2fh5pset5fpreserve5ff"></a>
-<a name="robo344"></a><h2>h5pset_preserve_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5pset_preserve_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Sets the dataset transfer property list status to
- TRUE or FALSE for initializing compound datatype
- members during write/read operations.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> prp_id - property list identifier
- flag - status flag
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> hdferr - Returns 0 if successful and -1 if fails
-</pre>
-<p class="item_name">OPTIONAL PARAMETERS</p>
-<pre> NONE
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- August 12, 1999
-</pre>
-<p class="item_name">HISTORY</p>
-<pre> Explicit Fortran interfaces were added for
- called C functions (it is needed for Windows
- port). March 14, 2001
-
- Datatype of the flag parameter is changed from
- INTEGER to LOGICAL June 4, 2003
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5pset_preserve_f</strong><span class="sign">(</span>prp_id<span class="sign">,</span> flag<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> prp_id <span class="sign">!</span> Property list identifier
- LOGICAL<span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> flag <span class="sign">!</span> TRUE<span class="sign">/</span>FALSE flag to set the dataset
- <span class="sign">!</span> transfer property <span class="keyword">for</span> partila writing<span class="sign">/</span>reading
- <span class="sign">!</span> compound datatype
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
- <span class="sign">!</span> 0 on success and <span class="sign">-</span>1 on failure
-</pre>
-
-<hr />
-<a name="H5P2fh5pset5fscaleoffset5ff"></a>
-<a name="robo347"></a><h2>h5pset_scaleoffset_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5pset_scaleoffset_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Sets up the use of the Scale-Offset filter.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> plist_id - Dataset creation property list identifier.
- scale_type - Flag indicating compression method.
- scale_factor - Parameter related to scale.
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> hdferr - Error code
- Success: 0
- Failure: -1
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> M. Scot Breitenfeld
- March 21, 2008
-</pre>
-<p class="item_name">HISTORY</p>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5pset_scaleoffset_f</strong><span class="sign">(</span>plist_id<span class="sign">,</span> scale_type<span class="sign">,</span> scale_factor<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> plist_id <span class="sign">!</span> Dataset creation property list identifier
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> scale_type <span class="sign">!</span> Flag indicating compression method<span class="sign">.</span>
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> scale_factor <span class="sign">!</span> Parameter related to scale<span class="sign">.</span>
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
- <span class="sign">!</span> 0 on success and <span class="sign">-</span>1 on failure
-</pre>
-
-<hr />
-<a name="H5P2fH5Pset5fshared5fmesg5findex5ff"></a>
-<a name="robo348"></a><h2>H5Pset_shared_mesg_index_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>H5Pset_shared_mesg_index_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Configures the specified shared object header message index
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> fcpl_id - File creation property list identifier.
- index_num - Index being configured.
- mesg_type_flags - Types of messages that should be stored in this index.
- min_mesg_size - Minimum message size.
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> hdferr - error code
- Success: 0
- Failure: -1
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> M. Scot Breitenfeld
- January, 2008
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE h5pset_shared_mesg_index_f<span class="sign">(</span>fcpl_id<span class="sign">,</span> index_num<span class="sign">,</span> mesg_type_flags<span class="sign">,</span> min_mesg_size<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> fcpl_id <span class="sign">!</span> file creation property list
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> index_num <span class="sign">!</span> Index being configured<span class="sign">.</span>
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> mesg_type_flags <span class="sign">!</span> Types of messages that should be stored in this index<span class="sign">.</span>
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> min_mesg_size <span class="sign">!</span> Minimum message size<span class="sign">.</span>
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
- <span class="sign">!</span> 0 on success and <span class="sign">-</span>1 on failure
-</pre>
-
-<hr />
-<a name="H5P2fH5Pset5fshared5fmesg5fnindexes5ff"></a>
-<a name="robo349"></a><h2>H5Pset_shared_mesg_nindexes_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>H5Pset_shared_mesg_nindexes_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Sets number of shared object header message indexes
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> plist_id - file creation property list
- nindexes - Number of shared object header message indexes to be available in files created with this property list
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> hdferr - error code
- Success: 0
- Failure: -1
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> M. Scot Breitenfeld
- January, 2008
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE h5pset_shared_mesg_nindexes_f<span class="sign">(</span> plist_id<span class="sign">,</span> nindexes<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> plist_id <span class="sign">!</span> File creation property list
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> nindexes <span class="sign">!</span> Number of shared object header message indexes
- <span class="sign">!</span> available in files created WITH this property list
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
- <span class="sign">!</span> 0 on success and <span class="sign">-</span>1 on failure
-</pre>
-
-<hr />
-<a name="H5P2fh5pset5fshuffle5ff"></a>
-<a name="robo350"></a><h2>h5pset_shuffle_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5pset_shuffle_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Sets shuffling filter
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> prp_id - dataset creation property list identifier
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> hdferr - error code
- Success: 0
- Failure: -1
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- March 12, 2003
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5pset_shuffle_f</strong><span class="sign">(</span>prp_id<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> prp_id <span class="sign">!</span> Property list identifier
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
- <span class="sign">!</span> 0 on success and <span class="sign">-</span>1 on failure
-</pre>
-
-<hr />
-<a name="H5P2fh5pset5fsieve5fbuf5fsize5ff"></a>
-<a name="robo351"></a><h2>h5pset_sieve_buf_size_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5pset_sieve_buf_size_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Sets the maximum size of the data sieve buffer
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> plist_id - file access property list identifier
- size - sieve buffer size
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> hdferr - error code
- Success: 0
- Failure: -1
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- October 7, 2002
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5pset_sieve_buf_size_f</strong><span class="sign">(</span>plist_id<span class="sign">,</span> size<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> plist_id <span class="sign">!</span> File access property list identifier
- INTEGER<span class="sign">(</span>SIZE_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> size <span class="sign">!</span> Buffer size in bytes<span class="sign">;</span>
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
- <span class="sign">!</span> 0 on success and <span class="sign">-</span>1 on failure
-</pre>
-
-<hr />
-<a name="H5P2fh5pset5fsizes5ff"></a>
-<a name="robo352"></a><h2>h5pset_sizes_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5pset_sizes_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Sets the byte size of the offsets and lengths used
- to address objects in an <a href="./HDF5_f90.html#robo76">HDF5</a> file.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> prp_id - file creation property list identifier
- sizeof_addr - size of an object offset in bytes
- sizeof_size - size of an object length in bytes
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> hdferr - error code
- Success: 0
- Failure: -1
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- August 12, 1999
-</pre>
-<p class="item_name">HISTORY</p>
-<pre> Explicit Fortran interfaces were added for
- called C functions (it is needed for Windows
- port). March 14, 2001
-
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5pset_sizes_f</strong> <span class="sign">(</span>prp_id<span class="sign">,</span> sizeof_addr<span class="sign">,</span> sizeof_size<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> prp_id <span class="sign">!</span> Property list identifier
- INTEGER<span class="sign">(</span>SIZE_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> sizeof_addr <span class="sign">!</span> Size of an object
- <span class="sign">!</span> offset in bytes
- INTEGER<span class="sign">(</span>SIZE_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> sizeof_size <span class="sign">!</span> Size of an object
- <span class="sign">!</span> length in bytes
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
- <span class="sign">!</span> 0 on success and <span class="sign">-</span>1 on failure
-</pre>
-
-<hr />
-<a name="H5P2fh5pset5fsmall5fdata5fblock5fsize5ff"></a>
-<a name="robo353"></a><h2>h5pset_small_data_block_size_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5pset_small_data_block_size_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Sets the minimum size of "small" raw data block
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> plist_id - file access property list identifier
- size - small raw data block size
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> hdferr - error code
- Success: 0
- Failure: -1
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- October 7, 2002
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5pset_small_data_block_size_f</strong><span class="sign">(</span>plist_id<span class="sign">,</span> size<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> plist_id <span class="sign">!</span> File access property list identifier
- INTEGER<span class="sign">(</span>HSIZE_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> size <span class="sign">!</span> Small raw data block size
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
- <span class="sign">!</span> 0 on success and <span class="sign">-</span>1 on failure
-</pre>
-
-<hr />
-<a name="H5P2fh5pset5fsym5fk5ff"></a>
-<a name="robo354"></a><h2>h5pset_sym_k_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5pset_sym_k_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Sets the size of parameters used to control the
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> prp_id - file creation property list identifier
- ik - symbol table tree rank
- lk - symbol table node size
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> hdferr - error code
- Success: 0
- Failure: -1
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- August 12, 1999
-</pre>
-<p class="item_name">HISTORY</p>
-<pre> Explicit Fortran interfaces were added for
- called C functions (it is needed for Windows
- port). March 14, 2001
-
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5pset_sym_k_f</strong> <span class="sign">(</span>prp_id<span class="sign">,</span> ik<span class="sign">,</span> lk<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> prp_id <span class="sign">!</span> Property list identifier
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> ik <span class="sign">!</span> Symbol table tree rank
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> lk <span class="sign">!</span> Symbol table node size
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
- <span class="sign">!</span> 0 on success and <span class="sign">-</span>1 on failure
-</pre>
-
-<hr />
-<a name="H5P2fh5pset5fszip5ff"></a>
-<a name="robo355"></a><h2>h5pset_szip_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5pset_szip_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Sets up use of szip compression
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> prp_id - dataset creation property list identifier
- options_mask - A bit-mask conveying the desired SZIP options.
- Current valid values in Fortran are:
- H5_SZIP_EC_OM_F
- H5_SZIP_NN_OM_F
- pixels_per_block - szip parameters
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> hdferr - error code
- Success: 0
- Failure: -1
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- April 10 2003
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5pset_szip_f</strong><span class="sign">(</span>prp_id<span class="sign">,</span> options_mask<span class="sign">,</span> pixels_per_block<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> prp_id <span class="sign">!</span> Dataset creation property
- <span class="sign">!</span> list identifier
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> options_mask <span class="sign">!</span> A bit<span class="sign">-</span>mask conveying the desired
- <span class="sign">!</span> SZIP options
- <span class="sign">!</span> Current valid values in Fortran are<span class="sign">:</span>
- <span class="sign">!</span> H5_SZIP_EC_OM_F
- <span class="sign">!</span> H5_SZIP_NN_OM_F
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> pixels_per_block <span class="sign">!</span> The number of pixels or data elements
- <span class="sign">!</span> in each data block
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
- <span class="sign">!</span> 0 on success and <span class="sign">-</span>1 on failure
-</pre>
-
-<hr />
-<a name="H5P2fh5pset5fuserblock5ff"></a>
-<a name="robo356"></a><h2>h5pset_userblock_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5pset_userblock_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Sets user block size
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> prp_id - file creation property list to modify
- size - size of the user-block in bytes
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> hdferr - error code
- Success: 0
- Failure: -1
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- August 12, 1999
-</pre>
-<p class="item_name">HISTORY</p>
-<pre> Explicit Fortran interfaces were added for
- called C functions (it is needed for Windows
- port). March 14, 2001
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5pset_userblock_f</strong> <span class="sign">(</span>prp_id<span class="sign">,</span> size<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> prp_id <span class="sign">!</span> Property list identifier
- INTEGER<span class="sign">(</span>HSIZE_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> size <span class="sign">!</span> Size of the user<span class="sign">-</span>block in bytes
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
- <span class="sign">!</span> 0 on success and <span class="sign">-</span>1 on failure
-</pre>
-
-<hr />
-<a name="H5P2fh5punregister5ff"></a>
-<a name="robo357"></a><h2>h5punregister_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5punregister_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Removes a property from a property list class.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> class - Property list class identifier
- name - name of the property to remove
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> hdferr: - error code
- Success: 0
- Failure: -1
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- October 9, 2002
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5punregister_f</strong><span class="sign">(</span>class<span class="sign">,</span> name<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> class <span class="sign">!</span> property list class identifier
- CHARACTER<span class="sign">(</span>LEN<span class="sign">=</span><span class="sign">*</span><span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> name <span class="sign">!</span> name of property to remove
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
- <span class="sign">!</span> 0 on success and <span class="sign">-</span>1 on failure
-</pre>
-
-</div> <!-- content -->
-<div id="footer">
-<p>Generated from ./src/H5Pff.f90 on Sun Aug 14 2011 22:49:38
-</p>
-</div> <!-- footer -->
-</body>
-</html>
diff --git a/fortran/doc/DevelGuide/src/H5Rf_c.html b/fortran/doc/DevelGuide/src/H5Rf_c.html
deleted file mode 100644
index bba197e..0000000
--- a/fortran/doc/DevelGuide/src/H5Rf_c.html
+++ /dev/null
@@ -1,41 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-type" content="text/html; charset=ISO-8859-1" />
-<link rel="stylesheet" href="../robodoc.css" type="text/css" />
-<title>./src/H5Rf.c</title>
-<!-- Source: ./src/H5Rf.c -->
-</head>
-<body>
-<div id="logo">
-<a name="robo_top_of_doc">HDF5 FORTRAN Developer's Guide</a>
-</div> <!-- logo -->
-<div id="navigation">
-<a class="menuitem" href="../toc_index.html#top">Table of Contents</a>
-<a class="menuitem" href="../robo_sourcefiles.html#top">Sourcefiles</a>
-<a class="menuitem" href="../masterindex.html#top">Index</a>
-<a class="menuitem" href="../robo_functions.html#top">Functions</a>
-<a class="menuitem" href="../robo_modules.html#top">Modules</a>
-<a class="menuitem" href="../robo_procedures.html#top">Procedures</a>
-<a class="menuitem" href="../robo_subroutines.html#top">Subroutines</a>
-</div> <!-- navigation -->
-<div id="content">
-<hr />
-<a name="H5Rf2fH5Rf"></a>
-<a name="robo67"></a><h2>H5Rf</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="../robo_modules.html#robo_top_of_doc">Modules</a> ]</p>
-<p class="item_name">PURPOSE</p>
-<pre> This file contains C stubs for <a href="./H5Rff_f90.html#robo64">H5R</a> Fortran APIs
-</pre>
-
-</div> <!-- content -->
-<div id="footer">
-<p>Generated from ./src/H5Rf.c on Sun Aug 14 2011 22:49:38
-</p>
-</div> <!-- footer -->
-</body>
-</html>
diff --git a/fortran/doc/DevelGuide/src/H5Rff_F03_f90.html b/fortran/doc/DevelGuide/src/H5Rff_F03_f90.html
deleted file mode 100644
index 3202540..0000000
--- a/fortran/doc/DevelGuide/src/H5Rff_F03_f90.html
+++ /dev/null
@@ -1,492 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-type" content="text/html; charset=ISO-8859-1" />
-<link rel="stylesheet" href="../robodoc.css" type="text/css" />
-<title>./src/H5Rff_F03.f90</title>
-<!-- Source: ./src/H5Rff_F03.f90 -->
-</head>
-<body>
-<div id="logo">
-<a name="robo_top_of_doc">HDF5 FORTRAN Developer's Guide</a>
-</div> <!-- logo -->
-<div id="navigation">
-<a class="menuitem" href="../toc_index.html#top">Table of Contents</a>
-<a class="menuitem" href="../robo_sourcefiles.html#top">Sourcefiles</a>
-<a class="menuitem" href="../masterindex.html#top">Index</a>
-<a class="menuitem" href="../robo_functions.html#top">Functions</a>
-<a class="menuitem" href="../robo_modules.html#top">Modules</a>
-<a class="menuitem" href="../robo_procedures.html#top">Procedures</a>
-<a class="menuitem" href="../robo_subroutines.html#top">Subroutines</a>
-</div> <!-- navigation -->
-<div id="content">
-<hr />
-<a name="ROBODoc2fH5R2028F0329"></a>
-<a name="robo65"></a><h2>H5R (F03)</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="../robo_modules.html#robo_top_of_doc">Modules</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> MODULE H5R_PROVISIONAL
-</pre>
-<p class="item_name">FILE</p>
-<pre> fortran/src/<a href="#robo_top_of_doc">H5Rff_F03.f90</a>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> This file contains Fortran 90 and Fortran 2003 interfaces for <a href="./H5Rff_f90.html#robo64">H5R</a> functions.
- It contains the same functions as H5Rff_DEPRECIATE.f90 but includes the
- Fortran 2003 functions and the interface listings. This file will be compiled
- instead of H5Rff_DEPRECIATE.f90 if Fortran 2003 functions are enabled.
-</pre>
-<p class="item_name">NOTES</p>
-<pre> *** IMPORTANT ***
- If you add a new <a href="./H5Rff_f90.html#robo64">H5R</a> function you must add the function name to the
- Windows dll file 'hdf5_fortrandll.def' in the fortran/src directory.
- This is needed for Windows based operating systems.
-</pre>
-
-<hr />
-<a name="H5R2028F03292fh5rcreate5fobject5ff"></a>
-<a name="robo358"></a><h2>h5rcreate_object_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo65">H5R (F03)</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5rcreate_object_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Creates reference to the object
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> loc_id - location identifier
- name - name of the object at the specified location
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> ref - reference to the specified object
- hdferr: - error code
- Success: 0
- Failure: -1
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- August 12, 1999
-</pre>
-<p class="item_name">HISTORY</p>
-<pre> Explicit Fortran interfaces were added for
- called C functions (it is needed for Windows
- port). February 28, 2001
-</pre>
-<p class="item_name">NOTES</p>
-<pre> This is a module procedure for the h5rcreate_f subroutine.
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5rcreate_object_f</strong><span class="sign">(</span>loc_id<span class="sign">,</span> name<span class="sign">,</span> ref<span class="sign">,</span> hdferr<span class="sign">)</span>
- USE<span class="sign">,</span> INTRINSIC <span class="sign">:</span><span class="sign">:</span> ISO_C_BINDING
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> loc_id <span class="sign">!</span> Location identifier
- CHARACTER<span class="sign">(</span>LEN<span class="sign">=</span><span class="sign">*</span><span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> name <span class="sign">!</span> Name of the object at location specified
- <span class="sign">!</span> by loc_id identifier
- TYPE<span class="sign">(</span>hobj_ref_t_f<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>INOUT<span class="sign">)</span><span class="sign">,</span> TARGET <span class="sign">:</span><span class="sign">:</span> ref <span class="sign">!</span> Object reference
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
-</pre>
-
-<hr />
-<a name="H5R2028F03292fh5rcreate5fptr5ff"></a>
-<a name="robo360"></a><h2>h5rcreate_ptr_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo65">H5R (F03)</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5rcreate_ptr_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Creates a reference.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> loc_id - location identifier
- name - name of the dataset at the specified location
- ref_type - type of reference:
- H5R_OBJECT
- H5T_STD_REF_DSETREG
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> ref - reference created by the function call.
- hdferr - error code
- Success: 0
- Failure: -1
- OPTIONAL
- space_id - dataspace identifier that describes selected region
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> M. Scot Breitenfeld
- June 20, 2008
-</pre>
-<p class="item_name">NOTES</p>
-<pre> This is a module procedure for the h5rcreate_f
- subroutine where the output is a pointer.
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5rcreate_ptr_f</strong><span class="sign">(</span>loc_id<span class="sign">,</span> name<span class="sign">,</span> ref_type<span class="sign">,</span> ref<span class="sign">,</span> hdferr<span class="sign">,</span> space_id<span class="sign">)</span>
- USE<span class="sign">,</span> INTRINSIC <span class="sign">:</span><span class="sign">:</span> ISO_C_BINDING
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> loc_id <span class="sign">!</span> Location identifier
- CHARACTER<span class="sign">(</span>LEN<span class="sign">=</span><span class="sign">*</span><span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> name <span class="sign">!</span> Name of the dataset at location specified
- <span class="sign">!</span> by loc_id identifier
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> ref_type <span class="sign">!</span> type of reference
- TYPE<span class="sign">(</span>C_PTR<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>INOUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> ref <span class="sign">!</span> Reference created by the function call
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span><span class="sign">,</span> OPTIONAL <span class="sign">:</span><span class="sign">:</span> space_id <span class="sign">!</span> Dataset<span class="squote">'s dataspace identifier
-</pre>
-
-<hr />
-<a name="H5R2028F03292fh5rcreate5fregion5ff"></a>
-<a name="robo362"></a><h2>h5rcreate_region_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo65">H5R (F03)</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5rcreate_region_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Creates reference to the dataset region
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> loc_id - location identifier
- name - name of the dataset at the specified location
- space_id - dataspace identifier that describes selected region
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> ref - reference to the dataset region
- hdferr: - error code
- Success: 0
- Failure: -1
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- August 12, 1999
-</pre>
-<p class="item_name">HISTORY</p>
-<pre> Explicit Fortran interfaces were added for
- called C functions (it is needed for Windows
- port). February 28, 2001
-</pre>
-<p class="item_name">NOTES</p>
-<pre> This is a module procedure for the h5rcreate_f subroutine.
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5rcreate_region_f</strong><span class="sign">(</span>loc_id<span class="sign">,</span> name<span class="sign">,</span> space_id<span class="sign">,</span> ref<span class="sign">,</span> hdferr<span class="sign">)</span>
- USE<span class="sign">,</span> INTRINSIC <span class="sign">:</span><span class="sign">:</span> ISO_C_BINDING
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> loc_id <span class="sign">!</span> Location identifier
- CHARACTER<span class="sign">(</span>LEN<span class="sign">=</span><span class="sign">*</span><span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> name <span class="sign">!</span> Name of the dataset at location specified
- <span class="sign">!</span> by loc_id identifier
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> space_id <span class="sign">!</span> Dataset<span class="squote">'s dataspace identifier
- TYPE(hdset_reg_ref_t_f), INTENT(INOUT), TARGET :: ref ! Dataset region reference
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-</pre>
-
-<hr />
-<a name="H5R2028F03292fh5rdereference5fobject5ff"></a>
-<a name="robo363"></a><h2>h5rdereference_object_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo65">H5R (F03)</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5rdereference_object_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Opens the <a href="./HDF5_f90.html#robo76">HDF5</a> object referenced
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> dset_id - identifier of the dataset containing
- reference
- ref - reference to open
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> obj_id - object_identifier
- hdferr: - error code
- Success: 0
- Failure: -1
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- August 12, 1999
-</pre>
-<p class="item_name">HISTORY</p>
-<pre> Explicit Fortran interfaces were added for
- called C functions (it is needed for Windows
- port). February 28, 2001
-</pre>
-<p class="item_name">NOTES</p>
-<pre> This is a module procedure for the h5rdereference_f subroutine.
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5rdereference_object_f</strong><span class="sign">(</span>obj_id<span class="sign">,</span> ref<span class="sign">,</span> ref_obj_id<span class="sign">,</span> hdferr<span class="sign">)</span>
- USE<span class="sign">,</span> INTRINSIC <span class="sign">:</span><span class="sign">:</span> ISO_C_BINDING
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> obj_id <span class="sign">!</span> Dataset identifier
- TYPE<span class="sign">(</span>hobj_ref_t_f<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span><span class="sign">,</span> TARGET <span class="sign">:</span><span class="sign">:</span> ref <span class="sign">!</span> Object reference
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> ref_obj_id <span class="sign">!</span> Object identifier
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
-</pre>
-
-<hr />
-<a name="H5R2028F03292fh5rdereference5fptr5ff"></a>
-<a name="robo365"></a><h2>h5rdereference_ptr_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo65">H5R (F03)</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5rdereference_ptr_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Opens the <a href="./HDF5_f90.html#robo76">HDF5</a> object referenced.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> obj_id - valid identifier for the file containing the
- referenced object or any object in that file.
- ref_type - the reference type of ref.
- ref - Reference to open.
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> ref_obj_id - identifier of referenced object
- hdferr - error code
- Success: 0
- Failure: -1
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> M. Scot Breitenfeld
- June 20, 2008
-</pre>
-<p class="item_name">NOTES</p>
-<pre> This is a module procedure for the h5rdereference_f
- subroutine using pointers.
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5rdereference_ptr_f</strong><span class="sign">(</span>obj_id<span class="sign">,</span> ref_type<span class="sign">,</span> ref<span class="sign">,</span> ref_obj_id<span class="sign">,</span> hdferr<span class="sign">)</span>
- USE<span class="sign">,</span> INTRINSIC <span class="sign">:</span><span class="sign">:</span> ISO_C_BINDING
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> obj_id <span class="sign">!</span> Valid identifier <span class="keyword">for</span> the file containing the
- <span class="sign">!</span> referenced object or any object in that file<span class="sign">.</span>
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> ref_type <span class="sign">!</span> The reference type of ref<span class="sign">.</span>
- TYPE<span class="sign">(</span>C_PTR<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> ref <span class="sign">!</span> Object reference
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> ref_obj_id
- <span class="sign">!</span> Identifier of referenced object
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
-</pre>
-
-<hr />
-<a name="H5R2028F03292fh5rdereference5fregion5ff"></a>
-<a name="robo366"></a><h2>h5rdereference_region_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo65">H5R (F03)</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5rdereference_region_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Opens the dataset region
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> dset_id - identifier of the dataset containing
- reference to teh regions
- ref - reference to open
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> obj_id - dataspace identifier
- hdferr: - error code
- Success: 0
- Failure: -1
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- August 12, 1999
-</pre>
-<p class="item_name">HISTORY</p>
-<pre> Explicit Fortran interfaces were added for
- called C functions (it is needed for Windows
- port). February 28, 2001
-</pre>
-<p class="item_name">NOTES</p>
-<pre> This is a module procedure for the h5rdereference_f subroutine.
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5rdereference_region_f</strong><span class="sign">(</span>obj_id<span class="sign">,</span> ref<span class="sign">,</span> ref_obj_id<span class="sign">,</span> hdferr<span class="sign">)</span>
- USE<span class="sign">,</span> INTRINSIC <span class="sign">:</span><span class="sign">:</span> ISO_C_BINDING
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> obj_id <span class="sign">!</span> Dataset identifier
- TYPE<span class="sign">(</span>hdset_reg_ref_t_f<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span><span class="sign">,</span> TARGET <span class="sign">:</span><span class="sign">:</span> ref <span class="sign">!</span> Object reference
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> ref_obj_id <span class="sign">!</span> Dataspace identifier
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
-</pre>
-
-<hr />
-<a name="H5R2028F03292fh5rget5fname5fobject5ff"></a>
-<a name="robo369"></a><h2>h5rget_name_object_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo65">H5R (F03)</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5rget_name_object_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Retrieves a name of a referenced object.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> loc_id - Identifier for the dataset containing the reference or for the group that dataset is in.
- ref - An object or dataset region reference.
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> name - A name associated with the referenced object or dataset region.
-
- hdferr: - error code
- Success: 0
- Failure: -1
-</pre>
-<p class="item_name">OPTIONAL PARAMETERS</p>
-<pre> size - The size of the name buffer.
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> M. Scot Breitenfeld
- March 28, 2008
-
- SOURCES
- or for the group that dataset is in.
- returning 0 (zero) if no name is associated
- with the identifier
-</pre>
-
-<hr />
-<a name="H5R2028F03292fh5rget5fname5fptr5ff"></a>
-<a name="robo370"></a><h2>h5rget_name_ptr_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo65">H5R (F03)</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5rget_name_ptr_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Retrieves a name of a referenced object.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> loc_id - Identifier for the dataset containing the reference or
- for the group that dataset is in.
- ref_type - Type of reference.
- ref - An object or dataset region reference.
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> name - A name associated with the referenced object or dataset ptr.
-
- hdferr - error code
- Success: 0
- Failure: -1
-</pre>
-<p class="item_name">OPTIONAL PARAMETERS</p>
-<pre> size - The size of the name buffer.
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> M. Scot Breitenfeld
- March 28, 2008
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5rget_name_ptr_f</strong><span class="sign">(</span>loc_id<span class="sign">,</span> ref_type<span class="sign">,</span> ref<span class="sign">,</span> name<span class="sign">,</span> hdferr<span class="sign">,</span> size<span class="sign">)</span>
- USE<span class="sign">,</span> INTRINSIC <span class="sign">:</span><span class="sign">:</span> ISO_C_BINDING
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> loc_id <span class="sign">!</span> Identifier <span class="keyword">for</span> the dataset containing the reference
- <span class="sign">!</span> or <span class="keyword">for</span> the group that dataset is in<span class="sign">.</span>
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> ref_type <span class="sign">!</span> Type of reference<span class="sign">.</span>
- TYPE<span class="sign">(</span>C_PTR<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> ref <span class="sign">!</span> An object or dataset region reference<span class="sign">.</span>
- CHARACTER<span class="sign">(</span>LEN<span class="sign">=</span><span class="sign">*</span><span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> name <span class="sign">!</span> A name associated with the referenced object or dataset ptr<span class="sign">.</span>
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
- INTEGER<span class="sign">(</span>SIZE_T<span class="sign">)</span><span class="sign">,</span> OPTIONAL<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> size <span class="sign">!</span> The size of the name buffer<span class="sign">,</span>
- <span class="sign">!</span> returning 0 <span class="sign">(</span>zero<span class="sign">)</span> <span class="keyword">if</span> no name is associated
- <span class="sign">!</span> with the identifier
-</pre>
-
-<hr />
-<a name="H5R2028F03292fh5rget5fname5fregion5ff"></a>
-<a name="robo372"></a><h2>h5rget_name_region_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo65">H5R (F03)</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5rget_name_region_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Retrieves a name of a dataset region.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> loc_id - Identifier for the dataset containing the reference or
- for the group that dataset is in.
- ref - An object or dataset region reference.
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> name - A name associated with the referenced object or dataset region.
- hdferr - error code
- Success: 0
- Failure: -1
-</pre>
-<p class="item_name">OPTIONAL PARAMETERS</p>
-<pre> size - The size of the name buffer.
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> M. Scot Breitenfeld
- March 28, 2008
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5rget_name_region_f</strong><span class="sign">(</span>loc_id<span class="sign">,</span> ref<span class="sign">,</span> name<span class="sign">,</span> hdferr<span class="sign">,</span> size<span class="sign">)</span>
- USE<span class="sign">,</span> INTRINSIC <span class="sign">:</span><span class="sign">:</span> ISO_C_BINDING
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> loc_id <span class="sign">!</span> Identifier <span class="keyword">for</span> the dataset containing the reference
- <span class="sign">!</span> or <span class="keyword">for</span> the group that dataset is in<span class="sign">.</span>
- TYPE<span class="sign">(</span>hdset_reg_ref_t_f<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span><span class="sign">,</span> TARGET <span class="sign">:</span><span class="sign">:</span> ref <span class="sign">!</span> Object reference
- INTEGER<span class="sign">(</span>SIZE_T<span class="sign">)</span><span class="sign">,</span> OPTIONAL<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> size <span class="sign">!</span> The size of the name buffer<span class="sign">,</span>
- <span class="sign">!</span> returning 0 <span class="sign">(</span>zero<span class="sign">)</span> <span class="keyword">if</span> no name is associated with the identifier
- CHARACTER<span class="sign">(</span>LEN<span class="sign">=</span><span class="sign">*</span><span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> name <span class="sign">!</span> A name associated with the referenced object or dataset region<span class="sign">.</span>
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
-</pre>
-
-<hr />
-<a name="H5R2028F03292fh5rget5fobj5ftype5ff"></a>
-<a name="robo373"></a><h2>h5rget_obj_type_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo65">H5R (F03)</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5rget_obj_type_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Retrieves the type of object that an object reference points to.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> loc_id - Identifier for the dataset containing the reference or
- for the group that dataset is in.
- ref_type - Type of reference to query.
- ref - Reference to query.
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> obj_type - Type of referenced object.
- H5G_UNKNOWN_F (-1)
- H5G_LINK_F 0
- H5G_GROUP_F 1
- H5G_DATASET_F 2
- H5G_TYPE_F 3
-
- hdferr - error code
- Success: 0
- Failure: -1
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> M. Scot Breitenfeld
- Decemeber 17, 2008
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5rget_obj_type_f</strong><span class="sign">(</span>loc_id<span class="sign">,</span> ref_type<span class="sign">,</span> ref<span class="sign">,</span> obj_type<span class="sign">,</span> hdferr<span class="sign">)</span>
- USE<span class="sign">,</span> INTRINSIC <span class="sign">:</span><span class="sign">:</span> ISO_C_BINDING
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> loc_id
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> ref_type
- TYPE<span class="sign">(</span>C_PTR<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> ref
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> obj_type
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr
-</pre>
-
-</div> <!-- content -->
-<div id="footer">
-<p>Generated from ./src/H5Rff_F03.f90 on Sun Aug 14 2011 22:49:38
-</p>
-</div> <!-- footer -->
-</body>
-</html>
diff --git a/fortran/doc/DevelGuide/src/H5Rff_F90_f90.html b/fortran/doc/DevelGuide/src/H5Rff_F90_f90.html
deleted file mode 100644
index 7d20d0c..0000000
--- a/fortran/doc/DevelGuide/src/H5Rff_F90_f90.html
+++ /dev/null
@@ -1,305 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-type" content="text/html; charset=ISO-8859-1" />
-<link rel="stylesheet" href="../robodoc.css" type="text/css" />
-<title>./src/H5Rff_F90.f90</title>
-<!-- Source: ./src/H5Rff_F90.f90 -->
-</head>
-<body>
-<div id="logo">
-<a name="robo_top_of_doc">HDF5 FORTRAN Developer's Guide</a>
-</div> <!-- logo -->
-<div id="navigation">
-<a class="menuitem" href="../toc_index.html#top">Table of Contents</a>
-<a class="menuitem" href="../robo_sourcefiles.html#top">Sourcefiles</a>
-<a class="menuitem" href="../masterindex.html#top">Index</a>
-<a class="menuitem" href="../robo_functions.html#top">Functions</a>
-<a class="menuitem" href="../robo_modules.html#top">Modules</a>
-<a class="menuitem" href="../robo_procedures.html#top">Procedures</a>
-<a class="menuitem" href="../robo_subroutines.html#top">Subroutines</a>
-</div> <!-- navigation -->
-<div id="content">
-<hr />
-<a name="ROBODoc2fH5R2028F9029"></a>
-<a name="robo66"></a><h2>H5R (F90)</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="../robo_modules.html#robo_top_of_doc">Modules</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> MODULE H5R_PROVISIONAL
-</pre>
-<p class="item_name">FILE</p>
-<pre> fortran/src/<a href="#robo_top_of_doc">H5Rff_F90.f90</a>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> This file contains Fortran 90 interfaces for <a href="./H5Rff_f90.html#robo64">H5R</a> functions. It contains
- the same functions as <a href="./H5Rff_F03_f90.html#robo_top_of_doc">H5Rff_F03.f90</a> but excludes the Fortran 2003 functions
- and the interface listings. This file will be compiled instead of <a href="./H5Rff_F03_f90.html#robo_top_of_doc">H5Rff_F03.f90</a>
- if Fortran 2003 functions are not enabled.
-</pre>
-<p class="item_name">NOTES</p>
-<pre> *** IMPORTANT ***
- If you add a new <a href="./H5Rff_f90.html#robo64">H5R</a> function you must add the function name to the
- Windows dll file 'hdf5_fortrandll.def' in the fortran/src directory.
- This is needed for Windows based operating systems.
-</pre>
-
-<hr />
-<a name="H5R2028F90292fh5rcreate5fobject5ff"></a>
-<a name="robo359"></a><h2>h5rcreate_object_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo66">H5R (F90)</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5rcreate_object_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Creates reference to the object
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> loc_id - location identifier
- name - name of the object at the specified location
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> ref - reference to the specified object
- hdferr: - error code
- Success: 0
- Failure: -1
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- August 12, 1999
-</pre>
-<p class="item_name">HISTORY</p>
-<pre> Explicit Fortran interfaces were added for
- called C functions (it is needed for Windows
- port). February 28, 2001
-</pre>
-<p class="item_name">NOTES</p>
-<pre> This is a module procedure for the h5rcreate_f subroutine.
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5rcreate_object_f</strong><span class="sign">(</span>loc_id<span class="sign">,</span> name<span class="sign">,</span> ref<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> loc_id <span class="sign">!</span> Location identifier
- CHARACTER<span class="sign">(</span>LEN<span class="sign">=</span><span class="sign">*</span><span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> name <span class="sign">!</span> Name of the object at location specified
- <span class="sign">!</span> by loc_id identifier
- TYPE<span class="sign">(</span>hobj_ref_t_f<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> ref <span class="sign">!</span> Object reference
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
-</pre>
-
-<hr />
-<a name="H5R2028F90292fh5rcreate5fregion5ff"></a>
-<a name="robo361"></a><h2>h5rcreate_region_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo66">H5R (F90)</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5rcreate_region_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Creates reference to the dataset region
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> loc_id - location identifier
- name - name of the dataset at the specified location
- space_id - dataspace identifier that describes selected region
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> ref - reference to the dataset region
- hdferr: - error code
- Success: 0
- Failure: -1
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- August 12, 1999
-</pre>
-<p class="item_name">HISTORY</p>
-<pre> Explicit Fortran interfaces were added for
- called C functions (it is needed for Windows
- port). February 28, 2001
-</pre>
-<p class="item_name">NOTES</p>
-<pre> This is a module procedure for the h5rcreate_f subroutine.
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5rcreate_region_f</strong><span class="sign">(</span>loc_id<span class="sign">,</span> name<span class="sign">,</span> space_id<span class="sign">,</span> ref<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> loc_id <span class="sign">!</span> Location identifier
- CHARACTER<span class="sign">(</span>LEN<span class="sign">=</span><span class="sign">*</span><span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> name <span class="sign">!</span> Name of the dataset at location specified
- <span class="sign">!</span> by loc_id identifier
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> space_id <span class="sign">!</span> Dataset<span class="squote">'s dataspace identifier
- TYPE(hdset_reg_ref_t_f), INTENT(OUT) :: ref ! Dataset region reference
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-</pre>
-
-<hr />
-<a name="H5R2028F90292fh5rdereference5fobject5ff"></a>
-<a name="robo364"></a><h2>h5rdereference_object_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo66">H5R (F90)</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5rdereference_object_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Opens the <a href="./HDF5_f90.html#robo76">HDF5</a> object referenced
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> dset_id - identifier of the dataset containing reference
- ref - reference to open
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> obj_id - object_identifier
- hdferr - error code
- Success: 0
- Failure: -1
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- August 12, 1999
-</pre>
-<p class="item_name">HISTORY</p>
-<pre> Explicit Fortran interfaces were added for
- called C functions (it is needed for Windows
- port). February 28, 2001
-</pre>
-<p class="item_name">NOTES</p>
-<pre> This is a module procedure for the h5rdereference_f subroutine.
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5rdereference_object_f</strong><span class="sign">(</span>dset_id<span class="sign">,</span> ref<span class="sign">,</span> obj_id<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> dset_id <span class="sign">!</span> Dataset identifier
- TYPE<span class="sign">(</span>hobj_ref_t_f<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> ref <span class="sign">!</span> Object reference
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> obj_id <span class="sign">!</span> Object identifier
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
-</pre>
-
-<hr />
-<a name="H5R2028F90292fh5rdereference5fregion5ff"></a>
-<a name="robo367"></a><h2>h5rdereference_region_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo66">H5R (F90)</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5rdereference_region_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Opens the dataset region
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> dset_id - identifier of the dataset containing
- reference to teh regions
- ref - reference to open
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> obj_id - dataspace identifier
- hdferr - error code
- Success: 0
- Failure: -1
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- August 12, 1999
-</pre>
-<p class="item_name">HISTORY</p>
-<pre> Explicit Fortran interfaces were added for
- called C functions (it is needed for Windows
- port). February 28, 2001
-</pre>
-<p class="item_name">NOTES</p>
-<pre> This is a module procedure for the h5rdereference_f subroutine.
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5rdereference_region_f</strong><span class="sign">(</span>dset_id<span class="sign">,</span> ref<span class="sign">,</span> obj_id<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> dset_id <span class="sign">!</span> Dataset identifier
- TYPE<span class="sign">(</span>hdset_reg_ref_t_f<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> ref <span class="sign">!</span> Object reference
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> obj_id <span class="sign">!</span> Dataspace identifier
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
-</pre>
-
-<hr />
-<a name="H5R2028F90292fh5rget5fname5fobject5ff"></a>
-<a name="robo368"></a><h2>h5rget_name_object_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo66">H5R (F90)</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5rget_name_object_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Retrieves a name of a referenced object.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> loc_id - Identifier for the dataset containing the reference or for the group that dataset is in.
- ref - An object or dataset region reference.
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> name - A name associated with the referenced object or dataset region.
-
- hdferr - error code
- Success: 0
- Failure: -1
-</pre>
-<p class="item_name">OPTIONAL PARAMETERS</p>
-<pre> size - The size of the name buffer.
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> M. Scot Breitenfeld
- March 28, 2008
-
- SOURCES
- or for the group that dataset is in.
- returning 0 (zero) if no name is associated with the identifier
-</pre>
-
-<hr />
-<a name="H5R2028F90292fh5rget5fname5fregion5ff"></a>
-<a name="robo371"></a><h2>h5rget_name_region_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo66">H5R (F90)</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5rget_name_region_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Retrieves a name of a dataset region.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> loc_id - Identifier for the dataset containing the reference or
- for the group that dataset is in.
- ref - An object or dataset region reference.
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> name - A name associated with the referenced object or dataset region.
- hdferr - error code
- Success: 0
- Failure: -1
-</pre>
-<p class="item_name">OPTIONAL PARAMETERS</p>
-<pre> size - The size of the name buffer.
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> M. Scot Breitenfeld
- March 28, 2008
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5rget_name_region_f</strong><span class="sign">(</span>loc_id<span class="sign">,</span> ref<span class="sign">,</span> name<span class="sign">,</span> hdferr<span class="sign">,</span> size<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> loc_id <span class="sign">!</span> Identifier <span class="keyword">for</span> the dataset containing the reference
- <span class="sign">!</span> or <span class="keyword">for</span> the group that dataset is in<span class="sign">.</span>
- TYPE<span class="sign">(</span>hdset_reg_ref_t_f<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> ref <span class="sign">!</span> Object reference
- INTEGER<span class="sign">(</span>SIZE_T<span class="sign">)</span><span class="sign">,</span> OPTIONAL<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> size <span class="sign">!</span> The size of the name buffer<span class="sign">,</span>
- <span class="sign">!</span> returning 0 <span class="sign">(</span>zero<span class="sign">)</span> <span class="keyword">if</span> no name is associated
- <span class="sign">!</span> with the identifier
- CHARACTER<span class="sign">(</span>LEN<span class="sign">=</span><span class="sign">*</span><span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> name <span class="sign">!</span> A name associated with the referenced object or dataset region<span class="sign">.</span>
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
-</pre>
-
-</div> <!-- content -->
-<div id="footer">
-<p>Generated from ./src/H5Rff_F90.f90 on Sun Aug 14 2011 22:49:38
-</p>
-</div> <!-- footer -->
-</body>
-</html>
diff --git a/fortran/doc/DevelGuide/src/H5Rff_f90.html b/fortran/doc/DevelGuide/src/H5Rff_f90.html
deleted file mode 100644
index 2b60b08..0000000
--- a/fortran/doc/DevelGuide/src/H5Rff_f90.html
+++ /dev/null
@@ -1,148 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-type" content="text/html; charset=ISO-8859-1" />
-<link rel="stylesheet" href="../robodoc.css" type="text/css" />
-<title>./src/H5Rff.f90</title>
-<!-- Source: ./src/H5Rff.f90 -->
-</head>
-<body>
-<div id="logo">
-<a name="robo_top_of_doc">HDF5 FORTRAN Developer's Guide</a>
-</div> <!-- logo -->
-<div id="navigation">
-<a class="menuitem" href="../toc_index.html#top">Table of Contents</a>
-<a class="menuitem" href="../robo_sourcefiles.html#top">Sourcefiles</a>
-<a class="menuitem" href="../masterindex.html#top">Index</a>
-<a class="menuitem" href="../robo_functions.html#top">Functions</a>
-<a class="menuitem" href="../robo_modules.html#top">Modules</a>
-<a class="menuitem" href="../robo_procedures.html#top">Procedures</a>
-<a class="menuitem" href="../robo_subroutines.html#top">Subroutines</a>
-</div> <!-- navigation -->
-<div id="content">
-<hr />
-<a name="ROBODoc2fH5R"></a>
-<a name="robo64"></a><h2>H5R</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="../robo_modules.html#robo_top_of_doc">Modules</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> MODULE <strong>H5R</strong>
-</pre>
-<p class="item_name">FILE</p>
-<pre> fortran/src/<a href="#robo_top_of_doc">H5Rff.f90</a>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> This file contains Fortran interfaces for <strong>H5R</strong> functions. It includes
- all the functions that are independent on whether the Fortran 2003 functions
- are enabled or disabled.
-</pre>
-<p class="item_name">NOTES</p>
-<pre> *** IMPORTANT ***
- If you add a new <strong>H5R</strong> function you must add the function name to the
- Windows dll file 'hdf5_fortrandll.def' in the fortran/src directory.
- This is needed for Windows based operating systems.
-</pre>
-
-<hr />
-<a name="H5R2fh5rget5fobject5ftype5fobj5ff"></a>
-<a name="robo374"></a><h2>h5rget_object_type_obj_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo64">H5R</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5rget_object_type_obj_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Retrieves the type of object that an object reference points to.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> dset_id - identifier of the dataset containing
- reference to the objects
- ref - reference to open
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> obj_type - object_type, possible values:
- H5G_UNKNOWN_F (-1)
- H5G_GROUP_F 0
- H5G_DATASET_F 1
- H5G_TYPE_F 2
- H5G_LINK_F 3
- hdferr - Returns 0 if successful and -1 if fails
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- August 12, 1999
-</pre>
-<p class="item_name">HISTORY</p>
-<pre> Explicit Fortran interfaces were added for
- called C functions (it is needed for Windows
- port). February 28, 2001
-</pre>
-<p class="item_name">NOTES</p>
-<pre> This is a module procedure for the h5rget_object_type_f
- subroutine.
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5rget_object_type_obj_f</strong><span class="sign">(</span>dset_id<span class="sign">,</span> ref<span class="sign">,</span> obj_type<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> dset_id <span class="sign">!</span> Dataset identifier
- TYPE<span class="sign">(</span>hobj_ref_t_f<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> ref <span class="sign">!</span> Object reference
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> obj_type <span class="sign">!</span> Object type
- <span class="sign">!</span> H5G_UNKNOWN_F <span class="sign">(</span><span class="sign">-</span>1<span class="sign">)</span>
- <span class="sign">!</span> H5G_GROUP_F 0
- <span class="sign">!</span> H5G_DATASET_F 1
- <span class="sign">!</span> H5G_TYPE_F 2
- <span class="sign">!</span> H5G_LINK_F 3
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
-</pre>
-
-<hr />
-<a name="H5R2fh5rget5fregion5fregion5ff"></a>
-<a name="robo375"></a><h2>h5rget_region_region_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo64">H5R</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5rget_region_region_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Retrieves a dataspace with the specified region selected
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> dset_id - identifier of the dataset containing
- reference to the regions
- ref - reference to open
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> space_id - dataspace identifier
- hdferr - Returns 0 if successful and -1 if fails
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- August 12, 1999
-</pre>
-<p class="item_name">HISTORY</p>
-<pre> Explicit Fortran interfaces were added for
- called C functions (it is needed for Windows
- port). February 28, 2001
-</pre>
-<p class="item_name">NOTES</p>
-<pre> This is a module procedure for the h5rget_region_f subroutine.
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5rget_region_region_f</strong><span class="sign">(</span>dset_id<span class="sign">,</span> ref<span class="sign">,</span> space_id<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> dset_id <span class="sign">!</span> Dataset identifier
- TYPE<span class="sign">(</span>hdset_reg_ref_t_f<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> ref <span class="sign">!</span> Dataset region reference
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> space_id <span class="sign">!</span> Space identifier
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
-</pre>
-
-</div> <!-- content -->
-<div id="footer">
-<p>Generated from ./src/H5Rff.f90 on Sun Aug 14 2011 22:49:38
-</p>
-</div> <!-- footer -->
-</body>
-</html>
diff --git a/fortran/doc/DevelGuide/src/H5Sf_c.html b/fortran/doc/DevelGuide/src/H5Sf_c.html
deleted file mode 100644
index ebdedf7..0000000
--- a/fortran/doc/DevelGuide/src/H5Sf_c.html
+++ /dev/null
@@ -1,41 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-type" content="text/html; charset=ISO-8859-1" />
-<link rel="stylesheet" href="../robodoc.css" type="text/css" />
-<title>./src/H5Sf.c</title>
-<!-- Source: ./src/H5Sf.c -->
-</head>
-<body>
-<div id="logo">
-<a name="robo_top_of_doc">HDF5 FORTRAN Developer's Guide</a>
-</div> <!-- logo -->
-<div id="navigation">
-<a class="menuitem" href="../toc_index.html#top">Table of Contents</a>
-<a class="menuitem" href="../robo_sourcefiles.html#top">Sourcefiles</a>
-<a class="menuitem" href="../masterindex.html#top">Index</a>
-<a class="menuitem" href="../robo_functions.html#top">Functions</a>
-<a class="menuitem" href="../robo_modules.html#top">Modules</a>
-<a class="menuitem" href="../robo_procedures.html#top">Procedures</a>
-<a class="menuitem" href="../robo_subroutines.html#top">Subroutines</a>
-</div> <!-- navigation -->
-<div id="content">
-<hr />
-<a name="H5Sf2fH5Sf"></a>
-<a name="robo69"></a><h2>H5Sf</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="../robo_modules.html#robo_top_of_doc">Modules</a> ]</p>
-<p class="item_name">PURPOSE</p>
-<pre> This file contains C stubs for <a href="./H5Sff_f90.html#robo68">H5S</a> Fortran APIs
-</pre>
-
-</div> <!-- content -->
-<div id="footer">
-<p>Generated from ./src/H5Sf.c on Sun Aug 14 2011 22:49:38
-</p>
-</div> <!-- footer -->
-</body>
-</html>
diff --git a/fortran/doc/DevelGuide/src/H5Sff_f90.html b/fortran/doc/DevelGuide/src/H5Sff_f90.html
deleted file mode 100644
index c26b191..0000000
--- a/fortran/doc/DevelGuide/src/H5Sff_f90.html
+++ /dev/null
@@ -1,1165 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-type" content="text/html; charset=ISO-8859-1" />
-<link rel="stylesheet" href="../robodoc.css" type="text/css" />
-<title>./src/H5Sff.f90</title>
-<!-- Source: ./src/H5Sff.f90 -->
-</head>
-<body>
-<div id="logo">
-<a name="robo_top_of_doc">HDF5 FORTRAN Developer's Guide</a>
-</div> <!-- logo -->
-<div id="navigation">
-<a class="menuitem" href="../toc_index.html#top">Table of Contents</a>
-<a class="menuitem" href="../robo_sourcefiles.html#top">Sourcefiles</a>
-<a class="menuitem" href="../masterindex.html#top">Index</a>
-<a class="menuitem" href="../robo_functions.html#top">Functions</a>
-<a class="menuitem" href="../robo_modules.html#top">Modules</a>
-<a class="menuitem" href="../robo_procedures.html#top">Procedures</a>
-<a class="menuitem" href="../robo_subroutines.html#top">Subroutines</a>
-</div> <!-- navigation -->
-<div id="content">
-<hr />
-<a name="ROBODoc2fH5S"></a>
-<a name="robo68"></a><h2>H5S</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="../robo_modules.html#robo_top_of_doc">Modules</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> MODULE <strong>H5S</strong>
-</pre>
-<p class="item_name">FILE</p>
-<pre> fortran/src/<a href="#robo_top_of_doc">H5Sff.f90</a>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> This file contains Fortran interfaces for <strong>H5S</strong> functions. It includes
- all the functions that are independent on whether the Fortran 2003 functions
- are enabled or disabled.
-</pre>
-<p class="item_name">NOTES</p>
-<pre> *** IMPORTANT ***
- If you add a new <strong>H5S</strong> function you must add the function name to the
- Windows dll file 'hdf5_fortrandll.def' in the fortran/src directory.
- This is needed for Windows based operating systems.
-</pre>
-
-<hr />
-<a name="H5S2fh5sclose5ff"></a>
-<a name="robo376"></a><h2>h5sclose_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo68">H5S</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5sclose_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Releases and terminates access to a dataspace.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> space_id - identifier of dataspace to release
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> hdferr - Returns 0 if successful and -1 if fails
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- August 12, 1999
-</pre>
-<p class="item_name">HISTORY</p>
-<pre> Explicit Fortran interfaces were added for
- called C functions (it is needed for Windows
- port). March 6, 2001
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5sclose_f</strong><span class="sign">(</span>space_id<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> space_id <span class="sign">!</span> Dataspace identifier
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
-</pre>
-
-<hr />
-<a name="H5S2fh5scopy5ff"></a>
-<a name="robo377"></a><h2>h5scopy_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo68">H5S</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5scopy_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Creates an exact copy of a dataspace.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> space_id - dataspace identifier
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> new_space_id - identifier of dataspace's copy
- hdferr - Returns 0 if successful and -1 if fails
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- August 12, 1999
-</pre>
-<p class="item_name">HISTORY</p>
-<pre> Explicit Fortran interfaces were added for
- called C functions (it is needed for Windows
- port). March 6, 2001
-</pre>
-<p class="item_name">NOTES</p>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5scopy_f</strong><span class="sign">(</span>space_id<span class="sign">,</span> new_space_id<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> space_id <span class="sign">!</span> Dataspace identifier
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> new_space_id
- <span class="sign">!</span> Identifier of dataspace<span class="squote">'s copy
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-</pre>
-
-<hr />
-<a name="H5S2fh5screate5ff"></a>
-<a name="robo378"></a><h2>h5screate_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo68">H5S</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5screate_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Creates a new dataspace of a specified type.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> classtype - the type of the dataspace to be created
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> space_id - dataspace identifier
- hdferr - Returns 0 if successful and -1 if fails
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- August 12, 1999
-</pre>
-<p class="item_name">HISTORY</p>
-<pre> Explicit Fortran interfaces were added for
- called C functions (it is needed for Windows
- port). March 6, 2001
-</pre>
-<p class="item_name">NOTES</p>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5screate_f</strong><span class="sign">(</span>classtype<span class="sign">,</span> space_id<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> classtype <span class="sign">!</span> The type of the dataspace
- <span class="sign">!</span> to be created<span class="sign">.</span>
- <span class="sign">!</span> Possible values are<span class="sign">:</span>
- <span class="sign">!</span> H5S_SCALAR_F <span class="sign">(</span>0<span class="sign">)</span>
- <span class="sign">!</span> H5S_SIMPLE_F<span class="sign">(</span>1<span class="sign">)</span>
- <span class="sign">!</span> H5S_NULL_F<span class="sign">(</span>2<span class="sign">)</span>
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> space_id <span class="sign">!</span> Dataspace identifier
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
-</pre>
-
-<hr />
-<a name="H5S2fh5screate5fsimple5ff"></a>
-<a name="robo379"></a><h2>h5screate_simple_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo68">H5S</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5screate_simple_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Creates a new simple data space and opens it for access .
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> rank - number of dimensions
- dims - an array of the size of each dimension
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> space_id - dataspace identifier
- hdferr - Returns 0 if successful and -1 if fails
-</pre>
-<p class="item_name">OPTIONAL PARAMETERS</p>
-<pre> maxdims - an array of the maximum size of each dimension
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- August 12, 1999
-</pre>
-<p class="item_name">HISTORY</p>
-<pre> Explicit Fortran interfaces were added for
- called C functions (it is needed for Windows
- port). March 6, 2001
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5screate_simple_f</strong><span class="sign">(</span>rank<span class="sign">,</span> dims<span class="sign">,</span> space_id<span class="sign">,</span> hdferr<span class="sign">,</span> maxdims<span class="sign">)</span>
-
- IMPLICIT NONE
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> rank <span class="sign">!</span> Number of dataspace dimensions
- INTEGER<span class="sign">(</span>HSIZE_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> dims<span class="sign">(</span>rank<span class="sign">)</span>
- <span class="sign">!</span> Array with the dimension
- <span class="sign">!</span> sizes
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> space_id <span class="sign">!</span> Dataspace identifier
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
- INTEGER<span class="sign">(</span>HSIZE_T<span class="sign">)</span><span class="sign">,</span> OPTIONAL<span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> maxdims<span class="sign">(</span>rank<span class="sign">)</span>
- <span class="sign">!</span> Array with the maximum
- <span class="sign">!</span> dimension sizes
-</pre>
-
-<hr />
-<a name="H5S2fH5Sdecode5ff"></a>
-<a name="robo380"></a><h2>H5Sdecode_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo68">H5S</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>H5Sdecode_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Decode a binary object description of data space and return a new object handle.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> buf - Buffer for the data space object to be decoded.
- obj_id - Object ID
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> hdferr - Returns 0 if successful and -1 if fails
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> M. Scot Breitenfeld
- March 26, 2008
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE h5sdecode_f<span class="sign">(</span>buf<span class="sign">,</span> obj_id<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- CHARACTER<span class="sign">(</span>LEN<span class="sign">=</span><span class="sign">*</span><span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> buf <span class="sign">!</span> Buffer <span class="keyword">for</span> the data space object to be decoded<span class="sign">.</span>
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> obj_id <span class="sign">!</span> Object ID
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
-</pre>
-
-<hr />
-<a name="H5S2fH5Sencode5ff"></a>
-<a name="robo381"></a><h2>H5Sencode_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo68">H5S</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>H5Sencode_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Encode a data space object description into a binary buffer.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> obj_id - Identifier of the object to be encoded.
- buf - Buffer for the object to be encoded into.
- nalloc - The size of the allocated buffer.
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> nalloc - The size of the buffer needed.
- hdferr - Returns 0 if successful and -1 if fails.
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> M. Scot Breitenfeld
- March 26, 2008
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE h5sencode_f<span class="sign">(</span>obj_id<span class="sign">,</span> buf<span class="sign">,</span> nalloc<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> obj_id <span class="sign">!</span> Identifier of the object to be encoded<span class="sign">.</span>
- CHARACTER<span class="sign">(</span>LEN<span class="sign">=</span><span class="sign">*</span><span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> buf <span class="sign">!</span> Buffer <span class="keyword">for</span> the object to be encoded into<span class="sign">.</span>
- INTEGER<span class="sign">(</span>SIZE_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>INOUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> nalloc <span class="sign">!</span> The size of the allocated buffer<span class="sign">.</span>
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
-</pre>
-
-<hr />
-<a name="H5S2fh5sextent5fcopy5ff"></a>
-<a name="robo382"></a><h2>h5sextent_copy_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo68">H5S</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5sextent_copy_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Copies the extent of a dataspace.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> dest_space_id - the identifier for the dataspace to which
- the extent is copied
- source_space_id - the identifier for the dataspace from
- which the extent is copied
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> hdferr - Returns 0 if successful and -1 if fails
-</pre>
-<p class="item_name">OPTIONAL PARAMETERS</p>
-<pre> NONE
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- August 12, 1999
-</pre>
-<p class="item_name">HISTORY</p>
-<pre> Explicit Fortran interfaces were added for
- called C functions (it is needed for Windows
- port). March 6, 2001
-</pre>
-<p class="item_name">NOTES</p>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5sextent_copy_f</strong><span class="sign">(</span>dest_space_id<span class="sign">,</span> source_space_id<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> dest_space_id <span class="sign">!</span> Identifier of destination
- <span class="sign">!</span> dataspace
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> source_space_id <span class="sign">!</span> Identifier of source
- <span class="sign">!</span> dataspace
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
-</pre>
-
-<hr />
-<a name="H5S2fh5sextent5fequal5ff"></a>
-<a name="robo383"></a><h2>h5sextent_equal_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo68">H5S</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5sextent_equal_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Determines whether two dataspace extents are equal.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> space1_id - First dataspace identifier.
- space2_id - Second dataspace identifier.
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> Equal - .TRUE. if equal, .FALSE. if unequal.
- hdferr - Returns 0 if successful and -1 if fails
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> M. Scot Breitenfeld
- April 2, 2008
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5sextent_equal_f</strong><span class="sign">(</span>space1_id<span class="sign">,</span> space2_id<span class="sign">,</span> equal<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> space1_id <span class="sign">!</span> First dataspace identifier<span class="sign">.</span>
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> space2_id <span class="sign">!</span> Second dataspace identifier<span class="sign">.</span>
- LOGICAL<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> Equal <span class="sign">!</span> <span class="sign">.</span>TRUE<span class="sign">.</span> <span class="keyword">if</span> equal<span class="sign">,</span> <span class="sign">.</span>FALSE<span class="sign">.</span> <span class="keyword">if</span> unequal<span class="sign">.</span>
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
-</pre>
-
-<hr />
-<a name="H5S2fh5sget5fselect5fbounds5ff"></a>
-<a name="robo384"></a><h2>h5sget_select_bounds_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo68">H5S</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5sget_select_bounds_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Gets the bounding box containing the current selection.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> space_id - dataspace identifier
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> start - starting coordinates of bounding box
- end - ending coordinates of bounding box
- hdferr - Returns 0 if successful and -1 if fails
-</pre>
-<p class="item_name">OPTIONAL PARAMETERS</p>
-<pre> NONE
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- August 12, 1999
-</pre>
-<p class="item_name">HISTORY</p>
-<pre> Explicit Fortran interfaces were added for
- called C functions (it is needed for Windows
- port). March 6, 2001
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5sget_select_bounds_f</strong><span class="sign">(</span>space_id<span class="sign">,</span> start<span class="sign">,</span> END<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> space_id <span class="sign">!</span> Dataspace identifier
- INTEGER<span class="sign">(</span>HSIZE_T<span class="sign">)</span><span class="sign">,</span> DIMENSION<span class="comment">(*), INTENT(OUT) :: start
- ! Starting coordinates of the bounding box.
- INTEGER(HSIZE_T), DIMENSION(*)</span><span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> END
- <span class="sign">!</span>Ending coordinates of the bounding box<span class="sign">,</span>
- <span class="sign">!</span>i<span class="sign">.</span>e<span class="sign">.</span><span class="sign">,</span> the coordinates of the diagonally
- <span class="sign">!</span>opposite corner
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
-</pre>
-
-<hr />
-<a name="H5S2fh5sget5fselect5felem5fnpoints5ff"></a>
-<a name="robo385"></a><h2>h5sget_select_elem_npoints_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo68">H5S</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5sget_select_elem_npoints_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Gets the number of element points in the current selection
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> space_id - dataspace identifier
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> num_points - number of element points in the current
- dataspace selection
- hdferr - Returns 0 if successful and -1 if fails
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- August 12, 1999
-</pre>
-<p class="item_name">HISTORY</p>
-<pre> Explicit Fortran interfaces were added for
- called C functions (it is needed for Windows
- port). March 6, 2001
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5sget_select_elem_npoints_f</strong><span class="sign">(</span>space_id<span class="sign">,</span> num_points<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> space_id <span class="sign">!</span> Dataspace identifier
- INTEGER<span class="sign">(</span>HSSIZE_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> num_points
- <span class="sign">!</span>number of element points
- <span class="sign">!</span>in the current dataspace
- <span class="sign">!</span>selection
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
-</pre>
-
-<hr />
-<a name="H5S2fh5sget5fselect5felem5fpointlist5ff"></a>
-<a name="robo386"></a><h2>h5sget_select_elem_pointlist_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo68">H5S</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5sget_select_elem_pointlist_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Gets the list of element points currently selected.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> space_id - dataspace identifier
- startpoint - element point to start with
- num_points - number of elemnt points to get
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> buf - buffer with element points selected
- hdferr - Returns 0 if successful and -1 if fails
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- August 12, 1999
-</pre>
-<p class="item_name">HISTORY</p>
-<pre> Explicit Fortran interfaces were added for
- called C functions (it is needed for Windows
- port). March 6, 2001
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5sget_select_elem_pointlist_f</strong><span class="sign">(</span>space_id<span class="sign">,</span> startpoint<span class="sign">,</span> <span class="sign">&amp;</span>
- num_points<span class="sign">,</span> buf<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> space_id <span class="sign">!</span> Dataspace identifier
- INTEGER<span class="sign">(</span>HSIZE_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> startpoint
- <span class="sign">!</span>Element point to start with<span class="sign">.</span>
- INTEGER<span class="sign">(</span>HSIZE_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> num_points
- <span class="sign">!</span>Number of element points to get
- INTEGER<span class="sign">(</span>HSIZE_T<span class="sign">)</span><span class="sign">,</span> DIMENSION<span class="comment">(*), INTENT(OUT) :: buf
- !List of element points selected
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-</pre>
-
-<hr />
-<a name="H5S2fh5sget5fselect5fhyper5fblocklist5ff"></a>
-<a name="robo387"></a><h2>h5sget_select_hyper_blocklist_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo68">H5S</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5sget_select_hyper_blocklist_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Gets the list of hyperslab blocks currently selected.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> space_id - dataspace identifier
- startblock - hyperslab block to start with
- num_blocks - number of blocks to get
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> buf - buffer to hold block list
- hdferr - Returns 0 if successful and -1 if fails
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- August 12, 1999
-</pre>
-<p class="item_name">HISTORY</p>
-<pre> Explicit Fortran interfaces were added for
- called C functions (it is needed for Windows
- port). March 6, 2001
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5sget_select_hyper_blocklist_f</strong><span class="sign">(</span>space_id<span class="sign">,</span> startblock<span class="sign">,</span> <span class="sign">&amp;</span>
- num_blocks<span class="sign">,</span> buf<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> space_id <span class="sign">!</span> Dataspace identifier
- INTEGER<span class="sign">(</span>HSIZE_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> startblock
- <span class="sign">!</span>Hyperslab block to start with<span class="sign">.</span>
- INTEGER<span class="sign">(</span>HSIZE_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> num_blocks
- <span class="sign">!</span>number of hyperslab blocks
- <span class="sign">!</span>to get in the current dataspace
- <span class="sign">!</span>selection
- INTEGER<span class="sign">(</span>HSIZE_T<span class="sign">)</span><span class="sign">,</span> DIMENSION<span class="comment">(*), INTENT(OUT) :: buf
- !List of hyperslab blocks selected
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-</pre>
-
-<hr />
-<a name="H5S2fh5sget5fselect5fhyper5fnblocks5ff"></a>
-<a name="robo388"></a><h2>h5sget_select_hyper_nblocks_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo68">H5S</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5sget_select_hyper_nblocks_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Get number of hyperslab blocks.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> space_id - dataspace identifier
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> num_blocks - number of hyperslab blocks in the current
- hyperslab selection
- hdferr - Returns 0 if successful and -1 if fails
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- August 12, 1999
-</pre>
-<p class="item_name">HISTORY</p>
-<pre> Explicit Fortran interfaces were added for
- called C functions (it is needed for Windows
- port). March 6, 2001
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5sget_select_hyper_nblocks_f</strong><span class="sign">(</span>space_id<span class="sign">,</span> num_blocks<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> space_id <span class="sign">!</span> Dataspace identifier
- INTEGER<span class="sign">(</span>HSSIZE_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> num_blocks
- <span class="sign">!</span>number of hyperslab blocks
- <span class="sign">!</span>in the current dataspace
- <span class="sign">!</span>selection
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
-</pre>
-
-<hr />
-<a name="H5S2fh5sget5fselect5fnpoints5ff"></a>
-<a name="robo389"></a><h2>h5sget_select_npoints_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo68">H5S</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5sget_select_npoints_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Determines the number of elements in a dataspace selection.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> space_id - dataspace identifier
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> npoints - number of points in the dataspace selection
- hdferr - Returns 0 if successful and -1 if fails
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- August 12, 1999
-</pre>
-<p class="item_name">HISTORY</p>
-<pre> Explicit Fortran interfaces were added for
- called C functions (it is needed for Windows
- port). March 6, 2001
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5sget_select_npoints_f</strong><span class="sign">(</span>space_id<span class="sign">,</span> npoints<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> space_id <span class="sign">!</span> Dataspace identifier
- INTEGER<span class="sign">(</span>HSSIZE_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> npoints <span class="sign">!</span> Number of elements in the
- <span class="sign">!</span> selection
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
-</pre>
-
-<hr />
-<a name="H5S2fh5sget5fselect5ftype5ff"></a>
-<a name="robo390"></a><h2>h5sget_select_type_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo68">H5S</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5sget_select_type_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Retrieve the type of selection
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> space_id - dataspace iidentifier with selection
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> type - flag, valid values are:
- H5S_SEL_ERROR_F
- H5S_SEL_NONE_F
- H5S_SEL_POINTS_F
- H5S_SEL_HYPERSLABS_F
- H5S_SEL_ALL_F
- hdferr - Returns 0 if successful and -1 if fails
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- October 7, 2002
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5sget_select_type_f</strong><span class="sign">(</span>space_id<span class="sign">,</span> type<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>INOUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> space_id <span class="sign">!</span> Dataspace identifier to
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> type <span class="sign">!</span> Selection type
- <span class="sign">!</span> H5S_SEL_ERROR_F
- <span class="sign">!</span> H5S_SEL_NONE_F
- <span class="sign">!</span> H5S_SEL_POINTS_F
- <span class="sign">!</span> H5S_SEL_HYPERSLABS_F
- <span class="sign">!</span> H5S_SEL_ALL_F
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
-</pre>
-
-<hr />
-<a name="H5S2fh5sget5fsimple5fextent5fdims5ff"></a>
-<a name="robo391"></a><h2>h5sget_simple_extent_dims_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo68">H5S</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5sget_simple_extent_dims_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Retrieves dataspace dimension size and maximum size.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> space_id - dataspace identifier
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> dims - array to store size of each dimension
- maxdims - array to store maximum size of each
- dimension
- hdferr - Returns 0 if successful and -1 if fails
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- August 12, 1999
-</pre>
-<p class="item_name">HISTORY</p>
-<pre> Explicit Fortran interfaces were added for
- called C functions (it is needed for Windows
- port). March 6, 2001
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5sget_simple_extent_dims_f</strong><span class="sign">(</span>space_id<span class="sign">,</span> dims<span class="sign">,</span> maxdims<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> space_id <span class="sign">!</span> Dataspace identifier
- INTEGER<span class="sign">(</span>HSIZE_T<span class="sign">)</span><span class="sign">,</span> DIMENSION<span class="comment">(*), INTENT(OUT) :: dims
- ! Array to store dimension sizes
- INTEGER(HSIZE_T), DIMENSION(*)</span><span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> maxdims
- <span class="sign">!</span> Array to store max dimension
- <span class="sign">!</span> sizes
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code<span class="sign">:</span> <span class="sign">-</span>1 on failure<span class="sign">,</span>
- <span class="sign">!</span> number of dimensions on
- <span class="sign">!</span> on success
-</pre>
-
-<hr />
-<a name="H5S2fh5sget5fsimple5fextent5fndims5ff"></a>
-<a name="robo392"></a><h2>h5sget_simple_extent_ndims_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo68">H5S</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5sget_simple_extent_ndims_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Determines the dimensionality of a dataspace
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> space_id - dataspace identifier
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> rank - number of dataspace dimensions
- hdferr - Returns 0 if successful and -1 if fails
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- August 12, 1999
-</pre>
-<p class="item_name">HISTORY</p>
-<pre> Explicit Fortran interfaces were added for
- called C functions (it is needed for Windows
- port). March 6, 2001
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5sget_simple_extent_ndims_f</strong><span class="sign">(</span>space_id<span class="sign">,</span> rank<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> space_id <span class="sign">!</span> Dataspace identifier
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> rank <span class="sign">!</span> Number of dimensions
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
-</pre>
-
-<hr />
-<a name="H5S2fh5sget5fsimple5fextent5fnpoints5ff"></a>
-<a name="robo393"></a><h2>h5sget_simple_extent_npoints_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo68">H5S</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5sget_simple_extent_npoints_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Determines the number of elements in a dataspace.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> space_id - dataspace identifier
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> npoints - number of elements in the dataspace
- hdferr - Returns 0 if successful and -1 if fails
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- August 12, 1999
-</pre>
-<p class="item_name">HISTORY</p>
-<pre> Explicit Fortran interfaces were added for
- called C functions (it is needed for Windows
- port). March 6, 2001
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5sget_simple_extent_npoints_f</strong><span class="sign">(</span>space_id<span class="sign">,</span> npoints<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> space_id <span class="sign">!</span> Dataspace identifier
- INTEGER<span class="sign">(</span>HSIZE_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> npoints <span class="sign">!</span> Number of elements in
- <span class="sign">!</span> dataspace
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
-</pre>
-
-<hr />
-<a name="H5S2fh5sget5fsimple5fextent5ftype5ff"></a>
-<a name="robo394"></a><h2>h5sget_simple_extent_type_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo68">H5S</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5sget_simple_extent_type_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Determine the current class of a dataspace
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> space_id - dataspace identifier
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> classtype - class type, possible values are:
- H5S_NO_CLASS_F (-1)
- H5S_SCALAR_F (0)
- H5S_SIMPLE_F (1)
- H5S_NULL_F (2)
- hdferr - Returns 0 if successful and -1 if fails
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- August 12, 1999
-</pre>
-<p class="item_name">HISTORY</p>
-<pre> Explicit Fortran interfaces were added for
- called C functions (it is needed for Windows
- port). March 6, 2001
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5sget_simple_extent_type_f</strong><span class="sign">(</span>space_id<span class="sign">,</span> classtype<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> space_id <span class="sign">!</span> Dataspace identifier
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> classtype <span class="sign">!</span> Class type <span class="sign">,</span> possible values
- <span class="sign">!</span> are<span class="sign">:</span>
- <span class="sign">!</span> H5S_NO_CLASS_F <span class="sign">(</span><span class="sign">-</span>1<span class="sign">)</span>
- <span class="sign">!</span> H5S_SCALAR_F <span class="sign">(</span>0<span class="sign">)</span>
- <span class="sign">!</span> H5S_SIMPLE_F <span class="sign">(</span>1<span class="sign">)</span>
- <span class="sign">!</span> H5S_NULL_F <span class="sign">(</span>2<span class="sign">)</span>
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
-</pre>
-
-<hr />
-<a name="H5S2fh5sis5fsimple5ff"></a>
-<a name="robo395"></a><h2>h5sis_simple_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo68">H5S</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5sis_simple_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Determines whether a dataspace is a simple dataspace.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> space_id - dataspace identifier
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> status - flag to indicate if dataspace
- is simple or not
- hdferr - Returns 0 if successful and -1 if fails
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- August 12, 1999
-</pre>
-<p class="item_name">HISTORY</p>
-<pre> Explicit Fortran interfaces were added for
- called C functions (it is needed for Windows
- port). March 6, 2001
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5sis_simple_f</strong><span class="sign">(</span>space_id<span class="sign">,</span> status<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> space_id <span class="sign">!</span> Dataspace identifier
- LOGICAL<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> status <span class="sign">!</span> Flag<span class="sign">,</span> idicates <span class="keyword">if</span> dataspace
- <span class="sign">!</span> is simple or not <span class="sign">(</span> TRUE or
- <span class="sign">!</span> FALSE<span class="sign">)</span>
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
-</pre>
-
-<hr />
-<a name="H5S2fh5soffset5fsimple5ff"></a>
-<a name="robo396"></a><h2>h5soffset_simple_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo68">H5S</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5soffset_simple_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Sets the offset of a simple dataspace.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> space_id - dataspace identifier
- offset - the offset at which to position the
- selection
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> hdferr - Returns 0 if successful and -1 if fails
-</pre>
-<p class="item_name">OPTIONAL PARAMETERS</p>
-<pre> NONE
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- August 12, 1999
-</pre>
-<p class="item_name">HISTORY</p>
-<pre> Explicit Fortran interfaces were added for
- called C functions (it is needed for Windows
- port). March 6, 2001
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5soffset_simple_f</strong><span class="sign">(</span>space_id<span class="sign">,</span> offset<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> space_id <span class="sign">!</span> Dataspace identifier
- INTEGER<span class="sign">(</span>HSSIZE_T<span class="sign">)</span><span class="sign">,</span> DIMENSION<span class="comment">(*), INTENT(IN) :: offset
- ! The offset at which to position
- ! the selection
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-</pre>
-
-<hr />
-<a name="H5S2fh5sselect5fall5ff"></a>
-<a name="robo397"></a><h2>h5sselect_all_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo68">H5S</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5sselect_all_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Selects the entire dataspace.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> space_id - Identifier for the dataspace in which
- selection being made
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> hdferr - Returns 0 if successful and -1 if fails
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- August 12, 1999
-</pre>
-<p class="item_name">HISTORY</p>
-<pre> Explicit Fortran interfaces were added for
- called C functions (it is needed for Windows
- port). March 6, 2001
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5sselect_all_f</strong><span class="sign">(</span>space_id<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> space_id <span class="sign">!</span> Dataspace identifier
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
-</pre>
-
-<hr />
-<a name="H5S2fh5sselect5felements5ff"></a>
-<a name="robo398"></a><h2>h5sselect_elements_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo68">H5S</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5sselect_elements_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Selects elements to be included in the selection for
- a dataspace
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> space_id - dataspace identifier
- operator - flag, valid values are:
- H5S_SELECT_SET_F
- H5S_SELECT_APPEND_F
- H5S_SELECT_PREPEND_F
- rank - number of dataspace dimensions
- num_elements - number of elements to be selected
- coord - 2D (rank x num_elements) array with the
- elements coordinates ( 1-based); in C the
- array is stored in 2D as (num_element x rank)
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> hdferr - Returns 0 if successful and -1 if fails
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- August 12, 1999
-</pre>
-<p class="item_name">HISTORY</p>
-<pre> Explicit Fortran interfaces were added for
- called C functions (it is needed for Windows
- port). March 6, 2001
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5sselect_elements_f</strong><span class="sign">(</span>space_id<span class="sign">,</span> OPERATOR<span class="sign">,</span> rank<span class="sign">,</span> <span class="sign">&amp;</span>
- num_elements<span class="sign">,</span> coord<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> space_id
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> OPERATOR
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> rank
- INTEGER<span class="sign">(</span>SIZE_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> num_elements
- INTEGER<span class="sign">(</span>HSIZE_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">,</span> DIMENSION<span class="sign">(</span>rank<span class="sign">,</span>num_elements<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> coord
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr
-</pre>
-
-<hr />
-<a name="H5S2fh5sselect5fhyperslab5ff"></a>
-<a name="robo399"></a><h2>h5sselect_hyperslab_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo68">H5S</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5sselect_hyperslab_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Selects a hyperslab region to add to the current selected
- region
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> space_id - dataspace identifier
- operator - flag, valid values are:
- H5S_SELECT_SET_F (0)
- H5S_SELECT_OR_F (1)
- start - array with hyperslab offsets
- count - number of blocks included in the
- hyperslab
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> hdferr - Returns 0 if successful and -1 if fails
-</pre>
-<p class="item_name">OPTIONAL PARAMETERS</p>
-<pre> stride - array with hyperslab strides
- block - array with hyperslab block sizes
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- August 12, 1999
-</pre>
-<p class="item_name">HISTORY</p>
-<pre> Explicit Fortran interfaces were added for
- called C functions (it is needed for Windows
- port). March 6, 2001
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5sselect_hyperslab_f</strong><span class="sign">(</span>space_id<span class="sign">,</span> operator<span class="sign">,</span> start<span class="sign">,</span> count<span class="sign">,</span> <span class="sign">&amp;</span>
- hdferr<span class="sign">,</span> stride<span class="sign">,</span> block<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> space_id <span class="sign">!</span> Dataspace identifier
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> operator <span class="sign">!</span> Flag<span class="sign">,</span> valid values are<span class="sign">:</span>
- <span class="sign">!</span> H5S_SELECT_SET_F <span class="sign">(</span>0<span class="sign">)</span>
- <span class="sign">!</span> H5S_SELECT_OR_F <span class="sign">(</span>1<span class="sign">)</span>
- <span class="sign">!</span>
- INTEGER<span class="sign">(</span>HSIZE_T<span class="sign">)</span><span class="sign">,</span> DIMENSION<span class="comment">(*), INTENT(IN) :: start
- ! Starting coordinates of the hyperslab
- INTEGER(HSIZE_T), DIMENSION(*)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> count
- <span class="sign">!</span> Number of blocks to select
- <span class="sign">!</span> from dataspace
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
- INTEGER<span class="sign">(</span>HSIZE_T<span class="sign">)</span><span class="sign">,</span> DIMENSION<span class="sign">(</span><span class="sign">:</span><span class="sign">)</span><span class="sign">,</span> OPTIONAL<span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> stride
- <span class="sign">!</span> Array of how many elements to move
- <span class="sign">!</span> in each direction
- INTEGER<span class="sign">(</span>HSIZE_T<span class="sign">)</span><span class="sign">,</span> DIMENSION<span class="sign">(</span><span class="sign">:</span><span class="sign">)</span><span class="sign">,</span> OPTIONAL<span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> block
- <span class="sign">!</span> Sizes of element block
-</pre>
-
-<hr />
-<a name="H5S2fh5sselect5fnone5ff"></a>
-<a name="robo400"></a><h2>h5sselect_none_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo68">H5S</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5sselect_none_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Resets the selection region to include no elements.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> space_id - the identifier for the dataspace in which
- the selection is being reset.
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> hdferr - Returns 0 if successful and -1 if fails
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- August 12, 1999
-</pre>
-<p class="item_name">HISTORY</p>
-<pre> Explicit Fortran interfaces were added for
- called C functions (it is needed for Windows
- port). March 6, 2001
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5sselect_none_f</strong><span class="sign">(</span>space_id<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> space_id <span class="sign">!</span> Dataspace identifier
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
-</pre>
-
-<hr />
-<a name="H5S2fh5sselect5fvalid5ff"></a>
-<a name="robo401"></a><h2>h5sselect_valid_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo68">H5S</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5sselect_valid_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Verifies that the selection is within the extent of
- the dataspace.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> space_id - identifier for the dataspace for which
- selection is verified
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> hdferr - Returns 0 if successful and -1 if fails
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- August 12, 1999
-</pre>
-<p class="item_name">HISTORY</p>
-<pre> Explicit Fortran interfaces were added for
- called C functions (it is needed for Windows
- port). March 6, 2001
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5sselect_valid_f</strong><span class="sign">(</span>space_id<span class="sign">,</span> status<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> space_id <span class="sign">!</span> Dataspace identifier
- LOGICAL<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> status <span class="sign">!</span> TRUE <span class="keyword">if</span> the selection is
- <span class="sign">!</span> contained within the extent<span class="sign">,</span>
- <span class="sign">!</span> FALSE otherwise<span class="sign">.</span>
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
-</pre>
-
-<hr />
-<a name="H5S2fh5sset5fextent5fnone5ff"></a>
-<a name="robo402"></a><h2>h5sset_extent_none_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo68">H5S</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5sset_extent_none_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Removes the extent from a dataspace.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> space_id - dataspace identifier
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> hdferr - Returns 0 if successful and -1 if fails
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- August 12, 1999
-</pre>
-<p class="item_name">HISTORY</p>
-<pre> Explicit Fortran interfaces were added for
- called C functions (it is needed for Windows
- port). March 6, 2001
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5sset_extent_none_f</strong><span class="sign">(</span>space_id<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> space_id <span class="sign">!</span> Dataspace identifier
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
-</pre>
-
-<hr />
-<a name="H5S2fh5sset5fextent5fsimple5ff"></a>
-<a name="robo403"></a><h2>h5sset_extent_simple_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo68">H5S</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5sset_extent_simple_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Sets or resets the size of an existing dataspace.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> space_id - dataspace identifier
- rank - dataspace number of dimensions
- current_size - array with the new sizes of dimensions
- maximum_size - array with the new maximum sizes of
- dimensions
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> hdferr - Returns 0 if successful and -1 if fails
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- August 12, 1999
-</pre>
-<p class="item_name">HISTORY</p>
-<pre> Explicit Fortran interfaces were added for
- called C functions (it is needed for Windows
- port). March 6, 2001
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5sset_extent_simple_f</strong><span class="sign">(</span>space_id<span class="sign">,</span> rank<span class="sign">,</span> current_size<span class="sign">,</span> <span class="sign">&amp;</span>
- maximum_size<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> space_id <span class="sign">!</span> Dataspace identifier
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> rank <span class="sign">!</span> Dataspace rank
- INTEGER<span class="sign">(</span>HSIZE_T<span class="sign">)</span><span class="sign">,</span> DIMENSION<span class="sign">(</span>rank<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> current_size
- <span class="sign">!</span> Array with the new sizes
- <span class="sign">!</span> of dimensions
- INTEGER<span class="sign">(</span>HSIZE_T<span class="sign">)</span><span class="sign">,</span> DIMENSION<span class="sign">(</span>rank<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> maximum_size
- <span class="sign">!</span> Array with the new maximum
- <span class="sign">!</span> sizes of dimensions
- <span class="sign">!</span> sizes
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
-</pre>
-
-</div> <!-- content -->
-<div id="footer">
-<p>Generated from ./src/H5Sff.f90 on Sun Aug 14 2011 22:49:38
-</p>
-</div> <!-- footer -->
-</body>
-</html>
diff --git a/fortran/doc/DevelGuide/src/H5Tf_c.html b/fortran/doc/DevelGuide/src/H5Tf_c.html
deleted file mode 100644
index b36c2a5..0000000
--- a/fortran/doc/DevelGuide/src/H5Tf_c.html
+++ /dev/null
@@ -1,41 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-type" content="text/html; charset=ISO-8859-1" />
-<link rel="stylesheet" href="../robodoc.css" type="text/css" />
-<title>./src/H5Tf.c</title>
-<!-- Source: ./src/H5Tf.c -->
-</head>
-<body>
-<div id="logo">
-<a name="robo_top_of_doc">HDF5 FORTRAN Developer's Guide</a>
-</div> <!-- logo -->
-<div id="navigation">
-<a class="menuitem" href="../toc_index.html#top">Table of Contents</a>
-<a class="menuitem" href="../robo_sourcefiles.html#top">Sourcefiles</a>
-<a class="menuitem" href="../masterindex.html#top">Index</a>
-<a class="menuitem" href="../robo_functions.html#top">Functions</a>
-<a class="menuitem" href="../robo_modules.html#top">Modules</a>
-<a class="menuitem" href="../robo_procedures.html#top">Procedures</a>
-<a class="menuitem" href="../robo_subroutines.html#top">Subroutines</a>
-</div> <!-- navigation -->
-<div id="content">
-<hr />
-<a name="H5Tf2fH5Tf"></a>
-<a name="robo73"></a><h2>H5Tf</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="../robo_modules.html#robo_top_of_doc">Modules</a> ]</p>
-<p class="item_name">PURPOSE</p>
-<pre> This file contains C stubs for <a href="./H5Tff_f90.html#robo70">H5T</a> Fortran APIs
-</pre>
-
-</div> <!-- content -->
-<div id="footer">
-<p>Generated from ./src/H5Tf.c on Sun Aug 14 2011 22:49:37
-</p>
-</div> <!-- footer -->
-</body>
-</html>
diff --git a/fortran/doc/DevelGuide/src/H5Tff_f90.html b/fortran/doc/DevelGuide/src/H5Tff_f90.html
deleted file mode 100644
index 3b7dfe8..0000000
--- a/fortran/doc/DevelGuide/src/H5Tff_f90.html
+++ /dev/null
@@ -1,2378 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-type" content="text/html; charset=ISO-8859-1" />
-<link rel="stylesheet" href="../robodoc.css" type="text/css" />
-<title>./src/H5Tff.f90</title>
-<!-- Source: ./src/H5Tff.f90 -->
-</head>
-<body>
-<div id="logo">
-<a name="robo_top_of_doc">HDF5 FORTRAN Developer's Guide</a>
-</div> <!-- logo -->
-<div id="navigation">
-<a class="menuitem" href="../toc_index.html#top">Table of Contents</a>
-<a class="menuitem" href="../robo_sourcefiles.html#top">Sourcefiles</a>
-<a class="menuitem" href="../masterindex.html#top">Index</a>
-<a class="menuitem" href="../robo_functions.html#top">Functions</a>
-<a class="menuitem" href="../robo_modules.html#top">Modules</a>
-<a class="menuitem" href="../robo_procedures.html#top">Procedures</a>
-<a class="menuitem" href="../robo_subroutines.html#top">Subroutines</a>
-</div> <!-- navigation -->
-<div id="content">
-<hr />
-<a name="ROBODoc2fH5T"></a>
-<a name="robo70"></a><h2>H5T</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="../robo_modules.html#robo_top_of_doc">Modules</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> MODULE <strong>H5T</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> This file contains Fortran interfaces for <strong>H5T</strong> functions. It includes
- all the functions that are independent on whether the Fortran 2003 functions
- are enabled or disabled.
-</pre>
-<p class="item_name">NOTES</p>
-<pre> *** IMPORTANT ***
- If you add a new <strong>H5T</strong> function you must add the function name to the
- Windows dll file 'hdf5_fortrandll.def' in the fortran/src directory.
- This is needed for Windows based operating systems.
-</pre>
-
-<hr />
-<a name="H5T2fh5tarray5fcreate5ff"></a>
-<a name="robo404"></a><h2>h5tarray_create_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo70">H5T</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5tarray_create_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Creates an array datatype object.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> base_id - datatype identifier for the array
- base datatype
- rank - rank of the array
- dims - array dimension sizes
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> type_id - array datatype identifier
- hdferr - Returns 0 if successful and -1 if fails
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- August 12, 1999
-</pre>
-<p class="item_name">HISTORY</p>
-<pre> Explicit Fortran interfaces were added for
- called C functions (it is needed for Windows
- port). March 7, 2001
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5tarray_create_f</strong><span class="sign">(</span>base_id<span class="sign">,</span> rank<span class="sign">,</span> dims<span class="sign">,</span> type_id<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> base_id <span class="sign">!</span> identifier of array base datatype
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> rank <span class="sign">!</span> Rank of the array
- INTEGER<span class="sign">(</span>HSIZE_T<span class="sign">)</span><span class="sign">,</span> DIMENSION<span class="comment">(*), INTENT(IN) :: dims !Sizes of each array dimension
- INTEGER(HID_T), INTENT(OUT) :: type_id ! identifier of the array datatype
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-</pre>
-
-<hr />
-<a name="H5T2fh5tclose5ff"></a>
-<a name="robo405"></a><h2>h5tclose_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo70">H5T</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5tclose_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Releases a datatype.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> type_id - datatype identifier
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> hdferr - Returns 0 if successful and -1 if fails
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- August 12, 1999
-</pre>
-<p class="item_name">HISTORY</p>
-<pre> Explicit Fortran interfaces were added for
- called C functions (it is needed for Windows
- port). March 7, 2001
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5tclose_f</strong><span class="sign">(</span>type_id<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> type_id <span class="sign">!</span> Datatype identifier
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
-</pre>
-
-<hr />
-<a name="H5T2fh5tcommit5fanon5ff"></a>
-<a name="robo406"></a><h2>h5tcommit_anon_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo70">H5T</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5tcommit_anon_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Commits a transient datatype to a file,
- creating a new named datatype,
- but does not link it into the file structure.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> loc_id - A file or group identifier specifying the file
- in which the new named datatype is to be created.
- dtype_id - A datatype identifier.
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> hdferr - Returns 0 if successful and -1 if fails
-</pre>
-<p class="item_name">OPTIONAL PARAMETERS</p>
-<pre> tcpl_id - A datatype creation property list identifier.
- (H5P_DEFAULT_F for the default property list.)
- tapl_id - A datatype access property list identifier.
- should always be passed as the value H5P_DEFAULT_F.
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> M. Scot Breitenfeld
- February 25, 2008
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5tcommit_anon_f</strong><span class="sign">(</span>loc_id<span class="sign">,</span> dtype_id<span class="sign">,</span> hdferr<span class="sign">,</span> tcpl_id<span class="sign">,</span> tapl_id<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> loc_id <span class="sign">!</span> A file or group identifier specifying
- <span class="sign">!</span> the file in which the new named datatype
- <span class="sign">!</span> is to be created<span class="sign">.</span>
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> dtype_id <span class="sign">!</span> Datatype identifier
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> OPTIONAL<span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> tcpl_id <span class="sign">!</span> A datatype creation property
- <span class="sign">!</span> list identifier<span class="sign">.</span>
- <span class="sign">!</span> <span class="sign">(</span>H5P_DEFAULT_F <span class="keyword">for</span> the <span class="keyword">default</span> property list<span class="sign">.</span><span class="sign">)</span>
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> OPTIONAL<span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> tapl_id <span class="sign">!</span> A datatype access property list identifier<span class="sign">.</span>
- <span class="sign">!</span> should always be passed as the value H5P_DEFAULT_F<span class="sign">.</span>
-</pre>
-
-<hr />
-<a name="H5T2fh5tcommit5ff"></a>
-<a name="robo407"></a><h2>h5tcommit_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo70">H5T</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5tcommit_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Commits a transient datatype to a file, creating a
- new named datatype.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> loc_id - location identifier
- name - name of the datatype to be stored
- at the specified location
- type_id - identifier of a datatype to be stored
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> hdferr - Returns 0 if successful and -1 if fails
-</pre>
-<p class="item_name">OPTIONAL PARAMETERS</p>
-<pre> lcpl_id - Link creation property list
- tcpl_id - Datatype creation property list
- tapl_id - Datatype access property list
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- August 12, 1999
-</pre>
-<p class="item_name">HISTORY</p>
-<pre> - Explicit Fortran interfaces were added for
- called C functions (it is needed for Windows
- port). March 7, 2001
-
- - Added optional parameters introduced in version 1.8
- M. Scot Breitenfeld
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5tcommit_f</strong><span class="sign">(</span>loc_id<span class="sign">,</span> name<span class="sign">,</span> type_id<span class="sign">,</span> hdferr<span class="sign">,</span> <span class="sign">&amp;</span>
- lcpl_id<span class="sign">,</span> tcpl_id<span class="sign">,</span> tapl_id <span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> loc_id <span class="sign">!</span> File or group identifier
- CHARACTER<span class="sign">(</span>LEN<span class="sign">=</span><span class="sign">*</span><span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> name
- <span class="sign">!</span> Datatype name within file or group
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> type_id <span class="sign">!</span> Datatype identifier
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> OPTIONAL<span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> lcpl_id <span class="sign">!</span> Link creation property list
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> OPTIONAL<span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> tcpl_id <span class="sign">!</span> Datatype creation property list
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> OPTIONAL<span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> tapl_id <span class="sign">!</span> Datatype access property list
-</pre>
-
-<hr />
-<a name="H5T2fh5tcommitted5ff"></a>
-<a name="robo408"></a><h2>h5tcommitted_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo70">H5T</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5tcommitted_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Determines whether a datatype is a named type or a transient type.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> dtype_id - A datatype identifier.
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> committed - .TRUE., if the datatype has been committed
- .FALSE., if the datatype has not been committed.
- hdferr - Returns 0 if successful and -1 if fails
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> M. Scot Breitenfeld
- February 25, 2008
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5tcommitted_f</strong><span class="sign">(</span>dtype_id<span class="sign">,</span> committed<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> dtype_id <span class="sign">!</span> A datatype identifier
- LOGICAL<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> committed <span class="sign">!</span> <span class="sign">.</span>TRUE<span class="sign">.</span><span class="sign">,</span> <span class="keyword">if</span> the datatype has been committed
- <span class="sign">!</span><span class="sign">.</span>FALSE<span class="sign">.</span><span class="sign">,</span> <span class="keyword">if</span> the datatype has not been committed<span class="sign">.</span>
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code<span class="sign">:</span>
-<span class="sign">!</span> Success<span class="sign">:</span> 0
-<span class="sign">!</span> Failure<span class="sign">:</span> <span class="sign">-</span>1
-</pre>
-
-<hr />
-<a name="H5T2fh5tcompiler5fconv5ff"></a>
-<a name="robo409"></a><h2>h5tcompiler_conv_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo70">H5T</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5tcompiler_conv_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Check whether the library’s default conversion is hard conversion.R
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> src_id - Identifier for the source datatype.
- dst_id - Identifier for the destination datatype.
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> flag - TRUE for compiler conversion, FALSE for library conversion
- hdferr - Returns 0 if successful and -1 if fails
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> M. Scot Breitenfeld
- April 9, 2008
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5tcompiler_conv_f</strong><span class="sign">(</span> src_id<span class="sign">,</span> dst_id<span class="sign">,</span> flag<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> src_id <span class="sign">!</span> Identifier <span class="keyword">for</span> the source datatype<span class="sign">.</span>
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> dst_id <span class="sign">!</span> Identifier <span class="keyword">for</span> the destination datatype<span class="sign">.</span>
- LOGICAL<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> flag <span class="sign">!</span> <span class="sign">.</span>TRUE<span class="sign">.</span> <span class="keyword">for</span> compiler conversion<span class="sign">,</span> <span class="sign">.</span>FALSE<span class="sign">.</span> <span class="keyword">for</span> library conversion
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code<span class="sign">:</span>
- <span class="sign">!</span> 0 on success and <span class="sign">-</span>1 on failure
-</pre>
-
-<hr />
-<a name="H5T2fh5tcopy5ff"></a>
-<a name="robo411"></a><h2>h5tcopy_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo70">H5T</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5tcopy_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Creates a copy of exisiting datatype.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> type_id - datatype identifier
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> new_type_id - identifier of datatype's copy
- hdferr - Returns 0 if successful and -1 if fails
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- August 12, 1999
-</pre>
-<p class="item_name">HISTORY</p>
-<pre> Explicit Fortran interfaces were added for
- called C functions (it is needed for Windows
- port). March 7, 2001
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5tcopy_f</strong><span class="sign">(</span>type_id<span class="sign">,</span> new_type_id<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> type_id <span class="sign">!</span> Datatype identifier
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> new_type_id
- <span class="sign">!</span> Identifier of datatype<span class="squote">'s copy
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-</pre>
-
-<hr />
-<a name="H5T2fh5tcreate5ff"></a>
-<a name="robo412"></a><h2>h5tcreate_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo70">H5T</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5tcreate_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Creates a new dataype
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> class - datatype class, possible values are:
- H5T_COMPOUND_F
- H5T_ENUM_F
- H5T_OPAQUE_F
- size - datattype size
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> type_id - datatype identifier
- hdferr - Returns 0 if successful and -1 if fails
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- August 12, 1999
-</pre>
-<p class="item_name">HISTORY</p>
-<pre> Explicit Fortran interfaces were added for
- called C functions (it is needed for Windows
- port). March 7, 2001
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5tcreate_f</strong><span class="sign">(</span>class<span class="sign">,</span> size<span class="sign">,</span> type_id<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> class <span class="sign">!</span> Datatype class can be one of
- <span class="sign">!</span> H5T_COMPOUND_F
- <span class="sign">!</span> H5T_ENUM_F
- <span class="sign">!</span> H5T_OPAQUE_F
- INTEGER<span class="sign">(</span>SIZE_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> size <span class="sign">!</span> Size of the datatype
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> type_id <span class="sign">!</span> Datatype identifier
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
-</pre>
-
-<hr />
-<a name="H5T2fH5Tdecode5ff"></a>
-<a name="robo413"></a><h2>H5Tdecode_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo70">H5T</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>H5Tdecode_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Decode a binary object description of data type and return a new object handle.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> buf - Buffer for the data space object to be decoded.
- obj_id - Object ID
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> hdferr - Returns 0 if successful and -1 if fails
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> M. Scot Breitenfeld
- April 9, 2008
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE h5tdecode_f<span class="sign">(</span>buf<span class="sign">,</span> obj_id<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- CHARACTER<span class="sign">(</span>LEN<span class="sign">=</span><span class="sign">*</span><span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> buf <span class="sign">!</span> Buffer <span class="keyword">for</span> the data space object to be decoded<span class="sign">.</span>
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> obj_id <span class="sign">!</span> Object ID
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
-</pre>
-
-<hr />
-<a name="H5T2fh5tenaum5finsert5ff"></a>
-<a name="robo414"></a><h2>h5tenaum_insert_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo70">H5T</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5tenaum_insert_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Inserts a new enumeration datatype member.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> type_id - datatype identifier
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> hdferr - Returns 0 if successful and -1 if fails
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- August 12, 1999
-</pre>
-<p class="item_name">HISTORY</p>
-<pre> Explicit Fortran interfaces were added for
- called C functions (it is needed for Windows
- port). March 7, 2001
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE h5tenum_insert_f<span class="sign">(</span>type_id<span class="sign">,</span> name<span class="sign">,</span> value<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> type_id <span class="sign">!</span> Datatype identifier
- CHARACTER<span class="sign">(</span>LEN<span class="sign">=</span><span class="sign">*</span><span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> name <span class="sign">!</span>Name of the new member
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> value <span class="sign">!</span>value of the new member
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
-</pre>
-
-<hr />
-<a name="H5T2fH5Tencode5ff"></a>
-<a name="robo415"></a><h2>H5Tencode_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo70">H5T</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>H5Tencode_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Encode a data type object description into a binary buffer.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> obj_id - Identifier of the object to be encoded.
- buf - Buffer for the object to be encoded into.
- nalloc - The size of the allocated buffer.
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> nalloc - The size of the buffer needed.
- hdferr - Returns 0 if successful and -1 if fails.
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> M. Scot Breitenfeld
- April 9, 2008
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE h5tencode_f<span class="sign">(</span>obj_id<span class="sign">,</span> buf<span class="sign">,</span> nalloc<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> obj_id <span class="sign">!</span> Identifier of the object to be encoded<span class="sign">.</span>
- CHARACTER<span class="sign">(</span>LEN<span class="sign">=</span><span class="sign">*</span><span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> buf <span class="sign">!</span> Buffer <span class="keyword">for</span> the object to be encoded into<span class="sign">.</span>
- INTEGER<span class="sign">(</span>SIZE_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>INOUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> nalloc <span class="sign">!</span> The size of the allocated buffer<span class="sign">.</span>
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
-</pre>
-
-<hr />
-<a name="H5T2fh5tenum5fcreate5ff"></a>
-<a name="robo416"></a><h2>h5tenum_create_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo70">H5T</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5tenum_create_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Creates a new enumeration datatype.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> parent_id - datatype identifier for base datatype
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> new_type_id - datatype identifier for the enumeration datatype
- hdferr - Returns 0 if successful and -1 if fails
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- August 12, 1999
-</pre>
-<p class="item_name">HISTORY</p>
-<pre> Explicit Fortran interfaces were added for
- called C functions (it is needed for Windows
- port). March 7, 2001
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5tenum_create_f</strong><span class="sign">(</span>parent_id<span class="sign">,</span> new_type_id<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> parent_id <span class="sign">!</span> Datatype identifier <span class="keyword">for</span>
- <span class="sign">!</span> the base datatype
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> new_type_id
- <span class="sign">!</span>datatype identifier <span class="keyword">for</span> the
- <span class="sign">!</span> new enumeration datatype
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
-</pre>
-
-<hr />
-<a name="H5T2fh5tenum5fnameof5ff"></a>
-<a name="robo417"></a><h2>h5tenum_nameof_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo70">H5T</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5tenum_nameof_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Returns the symbol name corresponding to a specified
- member of an enumeration datatype.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> type_id - datatype identifier
- value - value of the enumeration datatype
- namelen - name buffer size
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> name - buffer to hold symbol name
- hdferr - Returns 0 if successful and -1 if fails
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- August 12, 1999
-</pre>
-<p class="item_name">HISTORY</p>
-<pre> Explicit Fortran interfaces were added for
- called C functions (it is needed for Windows
- port). March 7, 2001
-
- NOTE
- According to the standard: Because an INTENT(OUT) variable is considered undefined
- on entry to the procedure, any default initialization specified for its type will
- be applied. So we need to blank out the "name" to be portable and eliminate any
- characters the "name' may contain upon entry, depending on compiler implementation.
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5tenum_nameof_f</strong><span class="sign">(</span>type_id<span class="sign">,</span> value<span class="sign">,</span> namelen<span class="sign">,</span> name<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> type_id <span class="sign">!</span> Datatype identifier
- CHARACTER<span class="sign">(</span>LEN<span class="sign">=</span><span class="sign">*</span><span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> name <span class="sign">!</span>Name of the enumeration datatype<span class="sign">.</span>
- INTEGER<span class="sign">(</span>SIZE_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> namelen <span class="sign">!</span>length of the name
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> value <span class="sign">!</span>value of the enumeration datatype<span class="sign">.</span>
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
-</pre>
-
-<hr />
-<a name="H5T2fh5tenum5fvaluof5ff"></a>
-<a name="robo418"></a><h2>h5tenum_valuof_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo70">H5T</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5tenum_valuof_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Returns the value corresponding to a specified
- member of an enumeration datatype.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> type_id - datatype identifier
- name - symbol name
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> value - value of the enumeration datatype
- hdferr - Returns 0 if successful and -1 if fails
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- August 12, 1999
-</pre>
-<p class="item_name">HISTORY</p>
-<pre> Explicit Fortran interfaces were added for
- called C functions (it is needed for Windows
- port). March 7, 2001
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE h5tenum_valueof_f<span class="sign">(</span>type_id<span class="sign">,</span> name<span class="sign">,</span> value<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> type_id <span class="sign">!</span> Datatype identifier
- CHARACTER<span class="sign">(</span>LEN<span class="sign">=</span><span class="sign">*</span><span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> name <span class="sign">!</span>Name of the enumeration datatype<span class="sign">.</span>
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> value <span class="sign">!</span>value of the enumeration datatype<span class="sign">.</span>
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
-</pre>
-
-<hr />
-<a name="H5T2fh5tequal5ff"></a>
-<a name="robo419"></a><h2>h5tequal_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo70">H5T</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5tequal_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Determines whether two datatype identifiers refer
- to the same datatype.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> type1_id - datatype identifier
- type2_id - datatype identifier
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> flag - TRUE/FALSE flag to indicate
- if two datatypes are equal
- hdferr - Returns 0 if successful and -1 if fails
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- August 12, 1999
-</pre>
-<p class="item_name">HISTORY</p>
-<pre> Explicit Fortran interfaces were added for
- called C functions (it is needed for Windows
- port). March 7, 2001
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5tequal_f</strong><span class="sign">(</span>type1_id<span class="sign">,</span> type2_id<span class="sign">,</span> flag<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> type1_id <span class="sign">!</span> Datatype identifier
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> type2_id <span class="sign">!</span> Datatype identifier
- LOGICAL<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> flag <span class="sign">!</span> TRUE<span class="sign">/</span>FALSE flag to indicate <span class="keyword">if</span> two
- <span class="sign">!</span> datatypes are equal
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
-</pre>
-
-<hr />
-<a name="H5T2fh5tget5farray5fdims5ff"></a>
-<a name="robo422"></a><h2>h5tget_array_dims_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo70">H5T</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5tget_array_dims_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Returns sizes of array dimensions.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> type_id - array datatype identifier
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> dims - buffer to store array datatype dimensions
- hdferr - Returns 0 if successful and -1 if fails
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- August 12, 1999
-</pre>
-<p class="item_name">HISTORY</p>
-<pre> Explicit Fortran interfaces were added for
- called C functions (it is needed for Windows
- port). March 7, 2001
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5tget_array_dims_f</strong><span class="sign">(</span>type_id<span class="sign">,</span> dims<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> type_id <span class="sign">!</span> Array datatype identifier
- INTEGER<span class="sign">(</span>HSIZE_T<span class="sign">)</span><span class="sign">,</span>DIMENSION<span class="comment">(*), INTENT(OUT) :: dims !buffer to store array datatype
- ! dimensions
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-</pre>
-
-<hr />
-<a name="H5T2fh5tget5farray5fndims5ff"></a>
-<a name="robo423"></a><h2>h5tget_array_ndims_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo70">H5T</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5tget_array_ndims_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Returns the rank of an array datatype.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> type_id - array datatype identifier
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> ndims - number of array dimensions
- hdferr - Returns 0 if successful and -1 if fails
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- August 12, 1999
-</pre>
-<p class="item_name">HISTORY</p>
-<pre> Explicit Fortran interfaces were added for
- called C functions (it is needed for Windows
- port). March 7, 2001
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5tget_array_ndims_f</strong><span class="sign">(</span>type_id<span class="sign">,</span> ndims<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> type_id <span class="sign">!</span> Array datatype identifier
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> ndims <span class="sign">!</span> number of array dimensions
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
-</pre>
-
-<hr />
-<a name="H5T2fh5tget5fclass5ff"></a>
-<a name="robo424"></a><h2>h5tget_class_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo70">H5T</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5tget_class_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Returns the datatype class identifier.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> type_id - datatype identifier
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> class - class, possible values are:
- H5T_NO_CLASS_F (-1)
- H5T_INTEGER_F (0)
- H5T_FLOAT_F (1)
- H5T_TIME_F (2)
- H5T_STRING_F (3)
- H5T_BITFIELD_F (4)
- H5T_OPAQUE_F (5)
- H5T_COMPOUND_F (6)
- H5T_REFERENCE_F (7)
- H5T_ENUM_F (8)
- hdferr - Returns 0 if successful and -1 if fails
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- August 12, 1999
-</pre>
-<p class="item_name">HISTORY</p>
-<pre> Explicit Fortran interfaces were added for
- called C functions (it is needed for Windows
- port). March 7, 2001
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5tget_class_f</strong><span class="sign">(</span>type_id<span class="sign">,</span> class<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> type_id <span class="sign">!</span> Datatype identifier
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> class
- <span class="sign">!</span> Datatype class<span class="sign">,</span> possible values are<span class="sign">:</span>
- <span class="sign">!</span> H5T_NO_CLASS_F <span class="sign">(</span><span class="sign">-</span>1<span class="sign">)</span>
- <span class="sign">!</span> H5T_INTEGER_F <span class="sign">(</span>0<span class="sign">)</span>
- <span class="sign">!</span> H5T_FLOAT_F <span class="sign">(</span>1<span class="sign">)</span>
- <span class="sign">!</span> H5T_TIME_F <span class="sign">(</span>2<span class="sign">)</span>
- <span class="sign">!</span> H5T_STRING_F <span class="sign">(</span>3<span class="sign">)</span>
- <span class="sign">!</span> H5T_BITFIELD_F <span class="sign">(</span>4<span class="sign">)</span>
- <span class="sign">!</span> H5T_OPAQUE_F <span class="sign">(</span>5<span class="sign">)</span>
- <span class="sign">!</span> H5T_COMPOUND_F <span class="sign">(</span>6<span class="sign">)</span>
- <span class="sign">!</span> H5T_REFERENCE_F <span class="sign">(</span>7<span class="sign">)</span>
- <span class="sign">!</span> H5T_ENUM_F <span class="sign">(</span>8<span class="sign">)</span>
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
-</pre>
-
-<hr />
-<a name="H5T2fh5tget5fcreate5fplist5ff"></a>
-<a name="robo425"></a><h2>h5tget_create_plist_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo70">H5T</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5tget_create_plist_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Returns a copy of a datatype creation property list.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> dtype_id - Datatype identifier
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> dtpl_id - Datatype property list identifier
- hdferr - Returns 0 if successful and -1 if fails
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> M. Scot Breitenfeld
- April 9, 2008
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5tget_create_plist_f</strong><span class="sign">(</span>dtype_id<span class="sign">,</span> dtpl_id<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> dtype_id <span class="sign">!</span> Datatype identifier
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> dtpl_id <span class="sign">!</span> Datatype property list identifier<span class="sign">.</span>
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code<span class="sign">:</span>
- <span class="sign">!</span> 0 on success and <span class="sign">-</span>1 on failure
-</pre>
-
-<hr />
-<a name="H5T2fh5tget5fcset5ff"></a>
-<a name="robo426"></a><h2>h5tget_cset_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo70">H5T</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5tget_cset_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Retrieves the character set type of a string datatype.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> type_id - Datatype identifier
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> cset - Character set type of a string datatype
- Possible values are:
- H5T_CSET_ASCII_F = 0
- H5T_CSET_UTF8_F
- hdferr - Returns 0 if successful and -1 if fails
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- August 12, 1999
-</pre>
-<p class="item_name">HISTORY</p>
-<pre> Explicit Fortran interfaces were added for
- called C functions (it is needed for Windows
- port). March 7, 2001
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5tget_cset_f</strong><span class="sign">(</span>type_id<span class="sign">,</span> cset<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> type_id <span class="sign">!</span> Datatype identifier
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> cset <span class="sign">!</span> character set type of a string datatype
- <span class="sign">!</span> Possible values are<span class="sign">:</span>
- <span class="sign">!</span> H5T_CSET_ASCII_F <span class="sign">=</span> 0
- <span class="sign">!</span> H5T_CSET_UTF8_F
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
-</pre>
-
-<hr />
-<a name="H5T2fh5tget5febias5ff"></a>
-<a name="robo427"></a><h2>h5tget_ebias_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo70">H5T</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5tget_ebias_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Retrieves the exponent bias of a floating-point type.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> type_id - datatype identifier
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> ebias - datatype exponent bias
- hdferr - Returns 0 if successful and -1 if fails
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- August 12, 1999
-</pre>
-<p class="item_name">HISTORY</p>
-<pre> Explicit Fortran interfaces were added for
- called C functions (it is needed for Windows
- port). March 7, 2001
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5tget_ebias_f</strong><span class="sign">(</span>type_id<span class="sign">,</span> ebias<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> type_id <span class="sign">!</span> Datatype identifier
- INTEGER<span class="sign">(</span>SIZE_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> ebias <span class="sign">!</span> Datatype exponent bias of a floating<span class="sign">-</span>point type
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
-</pre>
-
-<hr />
-<a name="H5T2fh5tget5ffields5ff"></a>
-<a name="robo428"></a><h2>h5tget_fields_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo70">H5T</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5tget_fields_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Retrieves floating point datatype bit field information.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> type_id - datatype identifier
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> spos - sign bit-position
- epos - exponent bit-position
- esize - size of exponent in bits
- mpos - mantissa position
- msize - size of mantissa in bits
- hdferr - Returns 0 if successful and -1 if fails
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- August 12, 1999
-</pre>
-<p class="item_name">HISTORY</p>
-<pre> Explicit Fortran interfaces were added for
- called C functions (it is needed for Windows
- port). March 7, 2001
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5tget_fields_f</strong><span class="sign">(</span>type_id<span class="sign">,</span> spos<span class="sign">,</span> epos<span class="sign">,</span> esize<span class="sign">,</span> mpos<span class="sign">,</span> msize<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> type_id <span class="sign">!</span> Datatype identifier
- INTEGER<span class="sign">(</span>SIZE_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> spos <span class="sign">!</span> sign bit<span class="sign">-</span>position
- INTEGER<span class="sign">(</span>SIZE_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> epos <span class="sign">!</span> exponent bit<span class="sign">-</span>position
- INTEGER<span class="sign">(</span>SIZE_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> esize <span class="sign">!</span> size of exponent in bits
- INTEGER<span class="sign">(</span>SIZE_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> mpos <span class="sign">!</span> mantissa bit<span class="sign">-</span>position
- INTEGER<span class="sign">(</span>SIZE_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> msize <span class="sign">!</span> size of mantissa in bits
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
-</pre>
-
-<hr />
-<a name="H5T2fh5tget5finpad5ff"></a>
-<a name="robo429"></a><h2>h5tget_inpad_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo70">H5T</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5tget_inpad_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Retrieves the internal padding type for unused bits
- in floating-point datatypes.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> type_id - datatype identifier
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> padtype - padding type for unused bits
- Possible values of padding type are:
- H5T_PAD_ZERO_F = 0
- H5T_PAD_ONE_F = 1
- H5T_PAD_BACKGROUND_F = 2
- hdferr - Returns 0 if successful and -1 if fails
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- August 12, 1999
-</pre>
-<p class="item_name">HISTORY</p>
-<pre> Explicit Fortran interfaces were added for
- called C functions (it is needed for Windows
- port). March 7, 2001
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5tget_inpad_f</strong><span class="sign">(</span>type_id<span class="sign">,</span> padtype<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> type_id <span class="sign">!</span> Datatype identifier
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> padtype <span class="sign">!</span> padding type <span class="keyword">for</span> unused bits
- <span class="sign">!</span> in floating<span class="sign">-</span>point datatypes<span class="sign">.</span>
- <span class="sign">!</span> Possible values of padding type are<span class="sign">:</span>
- <span class="sign">!</span> H5T__PAD_ZERO_F <span class="sign">=</span> 0
- <span class="sign">!</span> H5T__PAD_ONE_F <span class="sign">=</span> 1
- <span class="sign">!</span> H5T__PAD_BACKGROUND_F <span class="sign">=</span> 2
-
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
-</pre>
-
-<hr />
-<a name="H5T2fh5tget5fmember5fclass5ff"></a>
-<a name="robo430"></a><h2>h5tget_member_class_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo70">H5T</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5tget_member_class_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Returns datatype class of compound datatype member.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> type_id - datartpe identifier
- member_no - index of compound datatype member
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> class - class type for compound dadtype member
- Valid classes:
- H5T_NO_CLASS_F (error)
- H5T_INTEGER_F
- H5T_FLOAT_F
- H5T_TIME_F
- H5T_STRING_F
- H5T_BITFIELD_F
- H5T_OPAQUE_F
- H5T_COMPOUND_F
- H5T_REFERENCE_F
- H5T_ENUM_F
- H5T_VLEN_F
- H5T_ARRAY_F
- hdferr - Returns 0 if successful and -1 if fails
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- April 6, 2005
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5tget_member_class_f</strong><span class="sign">(</span>type_id<span class="sign">,</span> member_no<span class="sign">,</span> class<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> type_id <span class="sign">!</span> Datatype identifier
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> member_no <span class="sign">!</span> Member number
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> class <span class="sign">!</span> Member class
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
-</pre>
-
-<hr />
-<a name="H5T2fh5tget5fmember5findex5ff"></a>
-<a name="robo431"></a><h2>h5tget_member_index_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo70">H5T</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5tget_member_index_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Retrieves the index of a compound or enumeration datatype member.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> type_id - datatype identifier
- name - name of the field or member whose index to
- to be retrieved from the datatype.
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> index - 0-based index of the filed or member (0 to N-1)
- hdferr - Returns 0 if successful and -1 if fails
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- September 26, 2002
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5tget_member_index_f</strong><span class="sign">(</span>type_id<span class="sign">,</span> name<span class="sign">,</span> index<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> type_id <span class="sign">!</span> Datatype identifier
- CHARACTER<span class="sign">(</span>LEN<span class="sign">=</span><span class="sign">*</span><span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> name <span class="sign">!</span> Field or member name
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> index <span class="sign">!</span> Field or member index
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
-</pre>
-
-<hr />
-<a name="H5T2fh5tget5fmember5fname5ff"></a>
-<a name="robo432"></a><h2>h5tget_member_name_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo70">H5T</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5tget_member_name_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Retrieves the name of a field of a compound datatype.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> type_id - datatype identifier
- index - filed index (0-based)
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> member_name - buffer to hold member's name
- namelen - name length
- hdferr - Returns 0 if successful and -1 if fails
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- August 12, 1999
-</pre>
-<p class="item_name">HISTORY</p>
-<pre> Explicit Fortran interfaces were added for
- called C functions (it is needed for Windows
- port). March 7, 2001
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5tget_member_name_f</strong><span class="sign">(</span>type_id<span class="sign">,</span> index<span class="sign">,</span> member_name<span class="sign">,</span> namelen<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> type_id <span class="sign">!</span> Datatype identifier
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> index <span class="sign">!</span>Field index <span class="sign">(</span>0<span class="sign">-</span>based<span class="sign">)</span> of the field name to retrieve
- CHARACTER<span class="sign">(</span>LEN<span class="sign">=</span><span class="sign">*</span><span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> member_name <span class="sign">!</span>name of a field of
- <span class="sign">!</span>a compound datatype
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> namelen <span class="sign">!</span> Length of the name
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
-</pre>
-
-<hr />
-<a name="H5T2fh5tget5fmember5foffset5ff"></a>
-<a name="robo433"></a><h2>h5tget_member_offset_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo70">H5T</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5tget_member_offset_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Retrieves the offset of a field of a compound datatype.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> type_id - datatype identifier
- member_no - number of the field
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> offset - byte offset of the requested field
- hdferr - Returns 0 if successful and -1 if fails
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- August 12, 1999
-</pre>
-<p class="item_name">HISTORY</p>
-<pre> Explicit Fortran interfaces were added for
- called C functions (it is needed for Windows
- port). March 7, 2001
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5tget_member_offset_f</strong><span class="sign">(</span>type_id<span class="sign">,</span> member_no<span class="sign">,</span> offset<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> type_id <span class="sign">!</span> Datatype identifier
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> member_no <span class="sign">!</span>Number of the field
- <span class="sign">!</span>whose offset is requested
- INTEGER<span class="sign">(</span>SIZE_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> offset <span class="sign">!</span>byte offset of the beginning of the field
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
-</pre>
-
-<hr />
-<a name="H5T2fh5tget5fmember5ftype5ff"></a>
-<a name="robo434"></a><h2>h5tget_member_type_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo70">H5T</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5tget_member_type_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Returns the datatype of the specified member.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> type_id - compound datatype identifier
- field_idx - field index (0-based)
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> datatype - idnetifier of the member's datatype
- hdferr - Returns 0 if successful and -1 if fails
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- August 12, 1999
-</pre>
-<p class="item_name">HISTORY</p>
-<pre> Explicit Fortran interfaces were added for
- called C functions (it is needed for Windows
- port). March 7, 2001
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5tget_member_type_f</strong><span class="sign">(</span>type_id<span class="sign">,</span> field_idx<span class="sign">,</span> datatype<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> type_id <span class="sign">!</span> Datatype identifier
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> field_idx <span class="sign">!</span>Field index <span class="sign">(</span>0<span class="sign">-</span>based<span class="sign">)</span> of the field type to retrieve
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> datatype <span class="sign">!</span>identifier of a copy of
- <span class="sign">!</span>the datatype of the field
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
-</pre>
-
-<hr />
-<a name="H5T2fh5tget5fmember5fvalue5ff"></a>
-<a name="robo435"></a><h2>h5tget_member_value_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo70">H5T</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5tget_member_value_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Returns the value of an enumeration datatype member.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> type_id - datatype identifier
- member_no - number of the enumeration datatype member
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> value - value of the enumeration datatype
- hdferr - Returns 0 if successful and -1 if fails
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- August 12, 1999
-</pre>
-<p class="item_name">HISTORY</p>
-<pre> Explicit Fortran interfaces were added for
- called C functions (it is needed for Windows
- port). March 7, 2001
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5tget_member_value_f</strong><span class="sign">(</span>type_id<span class="sign">,</span> member_no<span class="sign">,</span> value<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> type_id <span class="sign">!</span> Datatype identifier
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> member_no <span class="sign">!</span>Number of the enumeration datatype member
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> value <span class="sign">!</span>value of the enumeration datatype<span class="sign">.</span>
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
-</pre>
-
-<hr />
-<a name="H5T2fh5tget5fnative5ftype5ff"></a>
-<a name="robo436"></a><h2>h5tget_native_type_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo70">H5T</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5tget_native_type_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Returns the native datatype of a specified datatype.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> dtype_id - Datatype identifier for the dataset datatype.
-
- direction - Direction of search:
- H5T_DIR_DEFAULT = 0, /*default direction is inscendent */
- H5T_DIR_ASCEND = 1, /*in inscendent order */
- H5T_DIR_DESCEND = 2 /*in descendent order */
- * NOTE: In C it is defined as a structure: H5T_direction_t
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> native_dtype_id - The native datatype identifier for the specified dataset datatype
- hdferr - Returns 0 if successful and -1 if fails
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> M. Scot Breitenfeld
- June 18, 2008
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5tget_native_type_f</strong><span class="sign">(</span>dtype_id<span class="sign">,</span> direction<span class="sign">,</span> native_dtype_id<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> dtype_id <span class="sign">!</span> Datatype identifier
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> direction <span class="sign">!</span> Direction of search<span class="sign">:</span>
- <span class="sign">!</span> H5T_DIR_ASCEND_F <span class="sign">=</span> 1 in inscendent order
- <span class="sign">!</span> H5T_DIR_DESCEND_F <span class="sign">=</span> 2 in descendent order
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> native_dtype_id <span class="sign">!</span> The native datatype identifier
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code<span class="sign">:</span>
- <span class="sign">!</span> 0 on success and <span class="sign">-</span>1 on failure
-</pre>
-
-<hr />
-<a name="H5T2fh5tget5fnmembers5ff"></a>
-<a name="robo437"></a><h2>h5tget_nmembers_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo70">H5T</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5tget_nmembers_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Retrieves the number of fields in a compound datatype.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> type_id - datatype identifier
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> num_members - number of members
- hdferr - Returns 0 if successful and -1 if fails
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- August 12, 1999
-</pre>
-<p class="item_name">HISTORY</p>
-<pre> Explicit Fortran interfaces were added for
- called C functions (it is needed for Windows
- port). March 7, 2001
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5tget_nmembers_f</strong><span class="sign">(</span>type_id<span class="sign">,</span> num_members<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> type_id <span class="sign">!</span> Datatype identifier
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> num_members <span class="sign">!</span>number of fields in a compound datatype
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
-</pre>
-
-<hr />
-<a name="H5T2fh5tget5fnorm5ff"></a>
-<a name="robo438"></a><h2>h5tget_norm_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo70">H5T</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5tget_norm_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Retrieves mantissa normalization of a floating-point
- datatype.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> type_id - datatype identifier
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> norm - normalization types, valid values are:
- H5T_NORM_IMPLIED_F(0)
- H5T_NORM_MSBSET_F(1)
- H5T_NORM_NONE_F(2)
- hdferr - Returns 0 if successful and -1 if fails
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- August 12, 1999
-</pre>
-<p class="item_name">HISTORY</p>
-<pre> Explicit Fortran interfaces were added for
- called C functions (it is needed for Windows
- port). March 7, 2001
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5tget_norm_f</strong><span class="sign">(</span>type_id<span class="sign">,</span> norm<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> type_id <span class="sign">!</span> Datatype identifier
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> norm <span class="sign">!</span>mantissa normalization of a floating<span class="sign">-</span>point datatype
- <span class="sign">!</span>Valid normalization types are<span class="sign">:</span>
- <span class="sign">!</span>H5T_NORM_IMPLIED_F<span class="sign">(</span>0<span class="sign">)</span><span class="sign">,</span>MSB of mantissa is not
- <span class="sign">!</span>stored<span class="sign">,</span> always 1<span class="sign">,</span> H5T_NORM_MSBSET_F<span class="sign">(</span>1<span class="sign">)</span><span class="sign">,</span> MSB of
- <span class="sign">!</span>mantissa is always 1<span class="sign">,</span> H5T_NORM_NONE_F<span class="sign">(</span>2<span class="sign">)</span>
- <span class="sign">!</span>Mantissa is not normalize
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
-</pre>
-
-<hr />
-<a name="H5T2fh5tget5foffset5ff"></a>
-<a name="robo439"></a><h2>h5tget_offset_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo70">H5T</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5tget_offset_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Retrieves the bit offset of the first significant bit.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> type_id - datatype identifier
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> offset - offset value
- hdferr - Returns 0 if successful and -1 if fails
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- August 12, 1999
-</pre>
-<p class="item_name">HISTORY</p>
-<pre> Explicit Fortran interfaces were added for
- called C functions (it is needed for Windows
- port). March 7, 2001
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5tget_offset_f</strong><span class="sign">(</span>type_id<span class="sign">,</span> offset<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> type_id <span class="sign">!</span> Datatype identifier
- INTEGER<span class="sign">(</span>SIZE_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> offset <span class="sign">!</span> Datatype bit offset of the
- <span class="sign">!</span> first significant bit
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
-</pre>
-
-<hr />
-<a name="H5T2fh5tget5forder5ff"></a>
-<a name="robo440"></a><h2>h5tget_order_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo70">H5T</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5tget_order_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Returns the byte order of an atomic datatype.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> type_id - datatype identifier
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> order - byte order for the datatype, possible
- values are:
- H5T_ORDER_LE_F
- H5T_ORDER_BE_F
- H5T_ORDER_VAX_F (not implemented yet)
- hdferr - Returns 0 if successful and -1 if fails
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- August 12, 1999
-</pre>
-<p class="item_name">HISTORY</p>
-<pre> Explicit Fortran interfaces were added for
- called C functions (it is needed for Windows
- port). March 7, 2001
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5tget_order_f</strong><span class="sign">(</span>type_id<span class="sign">,</span> order<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> type_id <span class="sign">!</span> Datatype identifier
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> order
- <span class="sign">!</span> Datatype byte order<span class="sign">,</span> possible values are<span class="sign">:</span>
- <span class="sign">!</span> H5T_ORDER_LE_F
- <span class="sign">!</span> H5T_ORDER_BE_F
- <span class="sign">!</span> H5T_ORDER_VAX_F
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
-</pre>
-
-<hr />
-<a name="H5T2fh5tget5fpad5ff"></a>
-<a name="robo441"></a><h2>h5tget_pad_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo70">H5T</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5tget_pad_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Retrieves the padding type of the least and
- most -significant bit padding.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> type_id - datatype identifier
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> lsbpad - least-significant bit padding type
- msbpad - most-significant bit padding type
- Possible values of padding type are:
- H5T_PAD_ERROR_F = -1
- H5T_PAD_ZERO_F = 0
- H5T_PAD_ONE_F = 1
- H5T_PAD_BACKGROUND_F = 2
- H5T_PAD_NPAD_F = 3
- hdferr - Returns 0 if successful and -1 if fails
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- August 12, 1999
-</pre>
-<p class="item_name">HISTORY</p>
-<pre> Explicit Fortran interfaces were added for
- called C functions (it is needed for Windows
- port). March 7, 2001
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5tget_pad_f</strong><span class="sign">(</span>type_id<span class="sign">,</span> lsbpad<span class="sign">,</span> msbpad<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> type_id <span class="sign">!</span> Datatype identifier
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> lsbpad <span class="sign">!</span> padding type of the
- <span class="sign">!</span> least significant bit
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> msbpad <span class="sign">!</span> padding type of the
- <span class="sign">!</span> most significant bit
- <span class="sign">!</span> Possible values of padding type are<span class="sign">:</span>
- <span class="sign">!</span> H5T__PAD_ZERO_F <span class="sign">=</span> 0
- <span class="sign">!</span> H5T__PAD_ONE_F <span class="sign">=</span> 1
- <span class="sign">!</span> H5T__PAD_BACKGROUND_F <span class="sign">=</span> 2
- <span class="sign">!</span> H5T_PAD_ERROR_F <span class="sign">=</span> <span class="sign">-</span>1
- <span class="sign">!</span> H5T_PAD_NPAD_F <span class="sign">=</span> 3
-
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
-</pre>
-
-<hr />
-<a name="H5T2fh5tget5fprecision5ff"></a>
-<a name="robo442"></a><h2>h5tget_precision_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo70">H5T</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5tget_precision_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Returns the precision of an atomic datatype.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> type_id - datatype identifier
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> precision - precision of the datatype
- hdferr - Returns 0 if successful and -1 if fails
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- August 12, 1999
-</pre>
-<p class="item_name">HISTORY</p>
-<pre> Explicit Fortran interfaces were added for
- called C functions (it is needed for Windows
- port). March 7, 2001
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5tget_precision_f</strong><span class="sign">(</span>type_id<span class="sign">,</span> precision<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> type_id <span class="sign">!</span> Datatype identifier
- INTEGER<span class="sign">(</span>SIZE_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> precision <span class="sign">!</span> Datatype precision
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
-</pre>
-
-<hr />
-<a name="H5T2fh5tget5fsign5ff"></a>
-<a name="robo443"></a><h2>h5tget_sign_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo70">H5T</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5tget_sign_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Retrieves the sign type for an integer type.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> type_id - datatype identifier
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> sign - sign type
- Possible values are:
- - Unsigned integer type
- H5T_SGN_NONE_F = 0
- - Two's complement signed integer type
- H5T_SGN_2_F = 1
- - error value: H5T_SGN_ERROR_F=-1
- hdferr - Returns 0 if successful and -1 if fails
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- August 12, 1999
-</pre>
-<p class="item_name">HISTORY</p>
-<pre> Explicit Fortran interfaces were added for
- called C functions (it is needed for Windows
- port). March 7, 2001
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5tget_sign_f</strong><span class="sign">(</span>type_id<span class="sign">,</span> sign<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> type_id <span class="sign">!</span> Datatype identifier
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> sign <span class="sign">!</span> sign type <span class="keyword">for</span> an integer type
- <span class="sign">!</span>possible values are<span class="sign">:</span>
- <span class="sign">!</span>Unsigned integer type H5T_SGN_NONE_F <span class="sign">=</span> 0
- <span class="sign">!</span>Two<span class="squote">'s complement signed integer type
- !H5T_SGN_2_F = 1
- !or error value: H5T_SGN_ERROR_F=-1
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-</pre>
-
-<hr />
-<a name="H5T2fh5tget5fsize5ff"></a>
-<a name="robo444"></a><h2>h5tget_size_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo70">H5T</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5tget_size_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Returns the size of a datatype.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> type_id - datatype identifier
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> size - datatype size
- hdferr - Returns 0 if successful and -1 if fails
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- August 12, 1999
-</pre>
-<p class="item_name">HISTORY</p>
-<pre> Explicit Fortran interfaces were added for
- called C functions (it is needed for Windows
- port). March 7, 2001
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5tget_size_f</strong><span class="sign">(</span>type_id<span class="sign">,</span> size<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> type_id <span class="sign">!</span> Datatype identifier
- INTEGER<span class="sign">(</span>SIZE_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> size <span class="sign">!</span> Datatype size
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
-</pre>
-
-<hr />
-<a name="H5T2fh5tget5fstrpad5ff"></a>
-<a name="robo445"></a><h2>h5tget_strpad_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo70">H5T</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5tget_strpad_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Retrieves the storage mechanism for a string datatype.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> type_id - datatype identifier
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> strpad - storage method for a string datatype
- Possible values are:
- H5T_STR_NULLTERM_F,
- H5T_STR_NULLPAD_F,
- H5T_STR_SPACEPAD_F
- H5T_STR_ERROR_F
- hdferr - Returns 0 if successful and -1 if fails
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- August 12, 1999
-</pre>
-<p class="item_name">HISTORY</p>
-<pre> Explicit Fortran interfaces were added for
- called C functions (it is needed for Windows
- port). March 7, 2001
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5tget_strpad_f</strong><span class="sign">(</span>type_id<span class="sign">,</span> strpad<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> type_id <span class="sign">!</span> Datatype identifier
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> strpad
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
-</pre>
-
-<hr />
-<a name="H5T2fh5tget5fsuper5ff"></a>
-<a name="robo446"></a><h2>h5tget_super_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo70">H5T</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5tget_super_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Returns the base datatype from which a datatype is derived.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> type_id - datatype identifier
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> base_type_id - identifier of the base type
- hdferr - Returns 0 if successful and -1 if fails
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- August 12, 1999
-</pre>
-<p class="item_name">HISTORY</p>
-<pre> Explicit Fortran interfaces were added for
- called C functions (it is needed for Windows
- port). March 7, 2001
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5tget_super_f</strong><span class="sign">(</span>type_id<span class="sign">,</span> base_type_id<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> type_id <span class="sign">!</span> datatype identifier
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> base_type_id <span class="sign">!</span> identifier of the datatype
- <span class="sign">!</span> from which datatype <span class="sign">(</span>type_id<span class="sign">)</span> was derived
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
-</pre>
-
-<hr />
-<a name="H5T2fh5tget5ftag5ff"></a>
-<a name="robo447"></a><h2>h5tget_tag_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo70">H5T</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5tget_tag_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Gets the tag associated with an opaque datatype.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> type_id - identifier for opaque datatype
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> tag - unique ASCII string associated with opaque
- datatype
- hdferr - Returns 0 if successful and -1 if fails
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- August 12, 1999
-</pre>
-<p class="item_name">HISTORY</p>
-<pre> Explicit Fortran interfaces were added for
- called C functions (it is needed for Windows
- port). March 7, 2001
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5tget_tag_f</strong><span class="sign">(</span>type_id<span class="sign">,</span> tag<span class="sign">,</span>taglen<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> type_id <span class="sign">!</span> Datatype identifier
- CHARACTER<span class="sign">(</span>LEN<span class="sign">=</span><span class="sign">*</span><span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> tag <span class="sign">!</span> Unique ASCII string with which
- <span class="sign">!</span> the opaque datatype is to be tagged
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> taglen <span class="sign">!</span> Length of tag
- INTEGER<span class="sign">(</span>SIZE_T<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> tag_size <span class="sign">!</span> Declared character length of tab
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
-</pre>
-
-<hr />
-<a name="H5T2fh5tinsert5ff"></a>
-<a name="robo448"></a><h2>h5tinsert_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo70">H5T</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5tinsert_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Adds a new member to a compound datatype.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> type_id - compound dattype identifier
- name - name of the field to insert
- offset - start of the member in an instance of
- the compound datatype
- field_id - datatype identifier of the field to insert
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> hdferr - Returns 0 if successful and -1 if fails
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- August 12, 1999
-</pre>
-<p class="item_name">HISTORY</p>
-<pre> Explicit Fortran interfaces were added for
- called C functions (it is needed for Windows
- port). March 7, 2001
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5tinsert_f</strong><span class="sign">(</span>type_id<span class="sign">,</span> name<span class="sign">,</span> offset<span class="sign">,</span> field_id<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> type_id <span class="sign">!</span> Datatype identifier
- CHARACTER<span class="sign">(</span>LEN<span class="sign">=</span><span class="sign">*</span><span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> name <span class="sign">!</span>Name of the field to insert
- INTEGER<span class="sign">(</span>SIZE_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> offset <span class="sign">!</span>start of the member in an instance of
- <span class="sign">!</span>the compound datatype
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> field_id <span class="sign">!</span>datatype identifier of the new member
-
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
-</pre>
-
-<hr />
-<a name="H5T2fh5tis5fvariable5fstr5ff"></a>
-<a name="robo449"></a><h2>h5tis_variable_str_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo70">H5T</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5tis_variable_str_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Determines whether a dattype is a variable string.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> type_id - datartpe identifier
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> status - flag to indicate if datatype
- is a variable string
- hdferr - Returns 0 if successful and -1 if fails
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- March 12, 2003
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5tis_variable_str_f</strong><span class="sign">(</span>type_id<span class="sign">,</span> status<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> type_id <span class="sign">!</span> Datatype identifier
- LOGICAL<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> status <span class="sign">!</span> Flag<span class="sign">,</span> idicates <span class="keyword">if</span> datatype
- <span class="sign">!</span> is a variable string or not <span class="sign">(</span> TRUE or
- <span class="sign">!</span> FALSE<span class="sign">)</span>
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
-</pre>
-
-<hr />
-<a name="H5T2fh5topen5ff"></a>
-<a name="robo450"></a><h2>h5topen_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo70">H5T</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5topen_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Opens named datatype.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> loc_id - location identifier
- name - a datatype name
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> type_id - datatype identifier
- hdferr - Returns 0 if successful and -1 if fails
-</pre>
-<p class="item_name">OPTIONAL PARAMETERS</p>
-<pre> tapl_id - datatype access property list identifier.
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- August 12, 1999
-</pre>
-<p class="item_name">HISTORY</p>
-<pre> Explicit Fortran interfaces were added for
- called C functions (it is needed for Windows
- port). March 7, 2001
-
- Added optional parameter 'tapl_id' for compatability
- with H5Topen2. April 9, 2009.
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5topen_f</strong><span class="sign">(</span>loc_id<span class="sign">,</span> name<span class="sign">,</span> type_id<span class="sign">,</span> hdferr<span class="sign">,</span> tapl_id<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> loc_id <span class="sign">!</span> File or group identifier
- CHARACTER<span class="sign">(</span>LEN<span class="sign">=</span><span class="sign">*</span><span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> name <span class="sign">!</span> Datatype name within file or group
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> type_id <span class="sign">!</span> Datatype identifier
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> OPTIONAL<span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> tapl_id <span class="sign">!</span> datatype access property list identifier
-</pre>
-
-<hr />
-<a name="H5T2fh5tpack5ff"></a>
-<a name="robo451"></a><h2>h5tpack_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo70">H5T</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5tpack_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Recursively removes padding from within a compound datatype.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> type_id - compound datatype identifier
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> hdferr - Returns 0 if successful and -1 if fails
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- August 12, 1999
-</pre>
-<p class="item_name">HISTORY</p>
-<pre> Explicit Fortran interfaces were added for
- called C functions (it is needed for Windows
- port). March 7, 2001
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5tpack_f</strong><span class="sign">(</span>type_id<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> type_id <span class="sign">!</span> Datatype identifier
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
-</pre>
-
-<hr />
-<a name="H5T2fh5tset5fcset5ff"></a>
-<a name="robo452"></a><h2>h5tset_cset_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo70">H5T</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5tset_cset_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Sets character set to be used.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> type_id - datatype identifier
- cset - character set type of a string datatype
- Possible values are:
- H5T_CSET_ASCII_F = 0
- H5T_CSET_UTF8_F
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> hdferr - Returns 0 if successful and -1 if fails
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- August 12, 1999
-</pre>
-<p class="item_name">HISTORY</p>
-<pre> Explicit Fortran interfaces were added for
- called C functions (it is needed for Windows
- port). March 7, 2001
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5tset_cset_f</strong><span class="sign">(</span>type_id<span class="sign">,</span> cset<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> type_id <span class="sign">!</span> Datatype identifier
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> cset <span class="sign">!</span>character set type of a string datatype
- <span class="sign">!</span> Possible values of padding type are<span class="sign">:</span>
- <span class="sign">!</span> H5T_CSET_ASCII_F <span class="sign">=</span> 0
- <span class="sign">!</span> H5T_CSET_UTF8_F
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
-</pre>
-
-<hr />
-<a name="H5T2fh5tset5febias5ff"></a>
-<a name="robo453"></a><h2>h5tset_ebias_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo70">H5T</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5tset_ebias_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Sets the exponent bias of a floating-point type.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> type_id - datatype identifier
- ebias - datatype exponent bias
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> hdferr - Returns 0 if successful and -1 if fails
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- August 12, 1999
-</pre>
-<p class="item_name">HISTORY</p>
-<pre> Explicit Fortran interfaces were added for
- called C functions (it is needed for Windows
- port). March 7, 2001
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5tset_ebias_f</strong><span class="sign">(</span>type_id<span class="sign">,</span> ebias<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> type_id <span class="sign">!</span> Datatype identifier
- INTEGER<span class="sign">(</span>SIZE_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> ebias <span class="sign">!</span>Datatype exponent bias of a floating<span class="sign">-</span>point type
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
-</pre>
-
-<hr />
-<a name="H5T2fh5tset5ffields5ff"></a>
-<a name="robo454"></a><h2>h5tset_fields_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo70">H5T</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5tset_fields_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Sets locations and sizes of floating point bit fields.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> type_id - datatype identifier
- spos - sign bit-position
- epos - exponent bit-position
- esize - size of exponent in bits
- mpos - mantissa position
- msize - size of mantissa in bits
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> hdferr - Returns 0 if successful and -1 if fails
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- August 12, 1999
-</pre>
-<p class="item_name">HISTORY</p>
-<pre> Explicit Fortran interfaces were added for
- called C functions (it is needed for Windows
- port). March 7, 2001
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5tset_fields_f</strong><span class="sign">(</span>type_id<span class="sign">,</span> spos<span class="sign">,</span> epos<span class="sign">,</span> esize<span class="sign">,</span> mpos<span class="sign">,</span> msize<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> type_id <span class="sign">!</span> Datatype identifier
- INTEGER<span class="sign">(</span>SIZE_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> spos <span class="sign">!</span> sign bit<span class="sign">-</span>position
- INTEGER<span class="sign">(</span>SIZE_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> epos <span class="sign">!</span> exponent bit<span class="sign">-</span>position
- INTEGER<span class="sign">(</span>SIZE_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> esize <span class="sign">!</span> size of exponent in bits
- INTEGER<span class="sign">(</span>SIZE_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> mpos <span class="sign">!</span> mantissa bit<span class="sign">-</span>position
- INTEGER<span class="sign">(</span>SIZE_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> msize <span class="sign">!</span> size of mantissa in bits
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
-</pre>
-
-<hr />
-<a name="H5T2fh5tset5finpad5ff"></a>
-<a name="robo455"></a><h2>h5tset_inpad_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo70">H5T</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5tset_inpad_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Fills unused internal floating point bits.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> type_id - datatype identifier
- padtype - padding type for unused bits
- Possible values of padding type are:
- H5T_PAD_ZERO_F = 0
- H5T_PAD_ONE_F = 1
- H5T_PAD_BACKGROUND_F = 2
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> hdferr - Returns 0 if successful and -1 if fails
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- August 12, 1999
-</pre>
-<p class="item_name">HISTORY</p>
-<pre> Explicit Fortran interfaces were added for
- called C functions (it is needed for Windows
- port). March 7, 2001
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5tset_inpad_f</strong><span class="sign">(</span>type_id<span class="sign">,</span> padtype<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> type_id <span class="sign">!</span> Datatype identifier
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> padtype <span class="sign">!</span> padding type <span class="keyword">for</span> unused bits
- <span class="sign">!</span> in floating<span class="sign">-</span>point datatypes<span class="sign">.</span>
- <span class="sign">!</span> Possible values of padding type are<span class="sign">:</span>
- <span class="sign">!</span> H5T__PAD_ZERO_F <span class="sign">=</span> 0
- <span class="sign">!</span> H5T__PAD_ONE_F <span class="sign">=</span> 1
- <span class="sign">!</span> H5T__PAD_BACKGROUND_F <span class="sign">=</span> 2
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
-</pre>
-
-<hr />
-<a name="H5T2fh5tset5fnorm5ff"></a>
-<a name="robo456"></a><h2>h5tset_norm_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo70">H5T</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5tset_norm_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Sets the mantissa normalization of a floating-point datatype.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> type_id - datatype identifier
- norm - normalization types, valid values are:
- H5T_NORM_IMPLIED_F(0)
- H5T_NORM_MSBSET_F(1)
- H5T_NORM_NONE_F(2)
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> hdferr - Returns 0 if successful and -1 if fails
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- August 12, 1999
-</pre>
-<p class="item_name">HISTORY</p>
-<pre> Explicit Fortran interfaces were added for
- called C functions (it is needed for Windows
- port). March 7, 2001
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5tset_norm_f</strong><span class="sign">(</span>type_id<span class="sign">,</span> norm<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> type_id <span class="sign">!</span> Datatype identifier
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> norm <span class="sign">!</span>mantissa normalization of a floating<span class="sign">-</span>point datatype
- <span class="sign">!</span>Valid normalization types are<span class="sign">:</span>
- <span class="sign">!</span>H5T_NORM_IMPLIED_F<span class="sign">(</span>0<span class="sign">)</span><span class="sign">,</span>MSB of mantissa is not
- <span class="sign">!</span>stored<span class="sign">,</span> always 1<span class="sign">,</span> H5T_NORM_MSBSET_F<span class="sign">(</span>1<span class="sign">)</span><span class="sign">,</span> MSB of
- <span class="sign">!</span>mantissa is always 1<span class="sign">,</span> H5T_NORM_NONE_F<span class="sign">(</span>2<span class="sign">)</span>
- <span class="sign">!</span>Mantissa is not normalize
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
-</pre>
-
-<hr />
-<a name="H5T2fh5tset5foffset5ff"></a>
-<a name="robo457"></a><h2>h5tset_offset_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo70">H5T</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5tset_offset_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Sets the bit offset of the first significant bit.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> type_id - datatype identifier
- offset - offset value
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> hdferr - Returns 0 if successful and -1 if fails
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- August 12, 1999
-</pre>
-<p class="item_name">HISTORY</p>
-<pre> Explicit Fortran interfaces were added for
- called C functions (it is needed for Windows
- port). March 7, 2001
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5tset_offset_f</strong><span class="sign">(</span>type_id<span class="sign">,</span> offset<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> type_id <span class="sign">!</span> Datatype identifier
- INTEGER<span class="sign">(</span>SIZE_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> offset <span class="sign">!</span> Datatype bit offset of the
- <span class="sign">!</span> first significant bit
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
-</pre>
-
-<hr />
-<a name="H5T2fh5tset5forder5ff"></a>
-<a name="robo458"></a><h2>h5tset_order_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo70">H5T</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5tset_order_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Sets the byte ordering of an atomic datatype.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> type_id - datatype identifier
- order - datatype byte order Possible values are:
- H5T_ORDER_LE_F
- H5T_ORDER_BE_F
- H5T_ORDER_VAX_F (not implemented yet)
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> hdferr - Returns 0 if successful and -1 if fails
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- August 12, 1999
-</pre>
-<p class="item_name">HISTORY</p>
-<pre> Explicit Fortran interfaces were added for
- called C functions (it is needed for Windows
- port). March 7, 2001
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5tset_order_f</strong><span class="sign">(</span>type_id<span class="sign">,</span> order<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> type_id <span class="sign">!</span> Datatype identifier
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> order <span class="sign">!</span> Datatype byte order<span class="sign">,</span> possible values
- <span class="sign">!</span> are<span class="sign">:</span>
- <span class="sign">!</span> H5T_ORDER_LE_F
- <span class="sign">!</span> H5T_ORDER_BE_F
- <span class="sign">!</span> H5T_ORDER_VAX_F
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
-</pre>
-
-<hr />
-<a name="H5T2fh5tset5fpad5ff"></a>
-<a name="robo459"></a><h2>h5tset_pad_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo70">H5T</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5tset_pad_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Sets the least and most-significant bits padding types.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> type_id - datatype identifier
- lsbpad - least-significant bit padding type
- msbpad - most-significant bit padding type
- Possible values of padding type are:
- H5T_PAD_ERROR_F = -1
- H5T_PAD_ZERO_F = 0
- H5T_PAD_ONE_F = 1
- H5T_PAD_BACKGROUND_F = 2
- H5T_PAD_NPAD_F = 3
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> hdferr - Returns 0 if successful and -1 if fails
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- August 12, 1999
-</pre>
-<p class="item_name">HISTORY</p>
-<pre> Explicit Fortran interfaces were added for
- called C functions (it is needed for Windows
- port). March 7, 2001
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5tset_pad_f</strong><span class="sign">(</span>type_id<span class="sign">,</span> lsbpad<span class="sign">,</span> msbpad<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> type_id <span class="sign">!</span> Datatype identifier
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> lsbpad <span class="sign">!</span> padding type of the
- <span class="sign">!</span> least significant bit
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> msbpad <span class="sign">!</span> padding type of the
- <span class="sign">!</span> most significant bit
- <span class="sign">!</span> Possible values of padding type are<span class="sign">:</span>
- <span class="sign">!</span> H5T_PAD_ZERO_F <span class="sign">=</span> 0
- <span class="sign">!</span> H5T_PAD_ONE_F <span class="sign">=</span> 1
- <span class="sign">!</span> H5T_PAD_BACKGROUND_F <span class="sign">=</span> 2
- <span class="sign">!</span> H5T_PAD_ERROR_F <span class="sign">=</span> <span class="sign">-</span>1
- <span class="sign">!</span> H5T_PAD_NPAD_F <span class="sign">=</span> 3
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
-</pre>
-
-<hr />
-<a name="H5T2fh5tset5fprecision5ff"></a>
-<a name="robo460"></a><h2>h5tset_precision_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo70">H5T</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5tset_precision_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Sets the precision of an atomic datatype.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> type_id - datatype identifier
- precision - datatype precision
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> hdferr - Returns 0 if successful and -1 if fails
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- August 12, 1999
-</pre>
-<p class="item_name">HISTORY</p>
-<pre> Explicit Fortran interfaces were added for
- called C functions (it is needed for Windows
- port). March 7, 2001
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5tset_precision_f</strong><span class="sign">(</span>type_id<span class="sign">,</span> precision<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> type_id <span class="sign">!</span> Datatype identifier
- INTEGER<span class="sign">(</span>SIZE_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> precision <span class="sign">!</span> Datatype precision
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
-</pre>
-
-<hr />
-<a name="H5T2fh5tset5fsign5ff"></a>
-<a name="robo461"></a><h2>h5tset_sign_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo70">H5T</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5tset_sign_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Sets the sign proprety for an integer type.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> type_id - datatype identifier
- sign - sign type
- Possible values are:
- - Unsigned integer type
- H5T_SGN_NONE_F = 0
- - Two's complement signed integer type
- H5T_SGN_2_F = 1
- - error value: H5T_SGN_ERROR_F=-1
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> hdferr - Returns 0 if successful and -1 if fails
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- August 12, 1999
-</pre>
-<p class="item_name">HISTORY</p>
-<pre> Explicit Fortran interfaces were added for
- called C functions (it is needed for Windows
- port). March 7, 2001
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5tset_sign_f</strong><span class="sign">(</span>type_id<span class="sign">,</span> sign<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> type_id <span class="sign">!</span> Datatype identifier
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> sign <span class="sign">!</span>sign type <span class="keyword">for</span> an integer type
- <span class="sign">!</span>possible values are<span class="sign">:</span>
- <span class="sign">!</span>Unsigned integer type H5T_SGN_NONE_F <span class="sign">=</span> 0
- <span class="sign">!</span>Two<span class="squote">'s complement signed integer type
- !H5T_SGN_2_F = 1
- !or error value: H5T_SGN_ERROR_F=-1
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-</pre>
-
-<hr />
-<a name="H5T2fh5tset5fsize5ff"></a>
-<a name="robo462"></a><h2>h5tset_size_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo70">H5T</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5tset_size_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Sets the total size for an atomic datatype.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> type_id - datatype identifier
- size - size of the datatype
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> hdferr - Returns 0 if successful and -1 if fails
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- August 12, 1999
-</pre>
-<p class="item_name">HISTORY</p>
-<pre> Explicit Fortran interfaces were added for
- called C functions (it is needed for Windows
- port). March 7, 2001
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5tset_size_f</strong><span class="sign">(</span>type_id<span class="sign">,</span> size<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> type_id <span class="sign">!</span> Datatype identifier
- INTEGER<span class="sign">(</span>SIZE_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> size <span class="sign">!</span> Datatype size
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
-</pre>
-
-<hr />
-<a name="H5T2fh5tset5fstrpad5ff"></a>
-<a name="robo463"></a><h2>h5tset_strpad_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo70">H5T</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5tset_strpad_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Defines the storage mechanism for character strings.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> type_id - datatype identifier
- strpad - storage method for a string datatype
- Possible values are:
- H5T_STR_NULLTERM_F,
- H5T_STR_NULLPAD_F,
- H5T_STR_SPACEPAD_F
- H5T_STR_ERROR_F
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> hdferr - Returns 0 if successful and -1 if fails
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- August 12, 1999
-</pre>
-<p class="item_name">HISTORY</p>
-<pre> Explicit Fortran interfaces were added for
- called C functions (it is needed for Windows
- port). March 7, 2001
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5tset_strpad_f</strong><span class="sign">(</span>type_id<span class="sign">,</span> strpad<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> type_id <span class="sign">!</span> Datatype identifier
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> strpad <span class="sign">!</span> string padding method <span class="keyword">for</span> a string datatype
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
-</pre>
-
-<hr />
-<a name="H5T2fh5tset5ftag5ff"></a>
-<a name="robo464"></a><h2>h5tset_tag_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo70">H5T</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5tset_tag_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Tags an opaque datatype.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> type_id - identifier for opaque datatype
- tag - unique ASCII string with which the opaque
- datatype is to be tagged.
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> hdferr - Returns 0 if successful and -1 if fails
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- August 12, 1999
-</pre>
-<p class="item_name">HISTORY</p>
-<pre> Explicit Fortran interfaces were added for
- called C functions (it is needed for Windows
- port). March 7, 2001
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5tset_tag_f</strong><span class="sign">(</span>type_id<span class="sign">,</span> tag<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> type_id <span class="sign">!</span> Datatype identifier
- CHARACTER<span class="sign">(</span>LEN<span class="sign">=</span><span class="sign">*</span><span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> tag <span class="sign">!</span>Unique ASCII string with which
- <span class="sign">!</span>the opaque datatype is to be tagged
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
-</pre>
-
-<hr />
-<a name="H5T2fh5tvlen5fcreate5ff"></a>
-<a name="robo465"></a><h2>h5tvlen_create_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo70">H5T</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5tvlen_create_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Creates a new variable-length datatype.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> type_id - identifier iof base datatype
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> vltype_id - identifier for VL datatype
- hdferr - Returns 0 if successful and -1 if fails
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- Wednesday, October 23, 2002
-</pre>
-<p class="item_name">NOTES</p>
-<pre> Only basic Fortran base datatypes are supported
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5tvlen_create_f</strong><span class="sign">(</span>type_id<span class="sign">,</span> vltype_id<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> type_id <span class="sign">!</span> Datatype identifier
- INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span><span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> vltype_id <span class="sign">!</span> VL datatype identifier
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
-</pre>
-
-</div> <!-- content -->
-<div id="footer">
-<p>Generated from ./src/H5Tff.f90 on Sun Aug 14 2011 22:49:37
-</p>
-</div> <!-- footer -->
-</body>
-</html>
diff --git a/fortran/doc/DevelGuide/src/H5Zf_c.html b/fortran/doc/DevelGuide/src/H5Zf_c.html
deleted file mode 100644
index 2973548..0000000
--- a/fortran/doc/DevelGuide/src/H5Zf_c.html
+++ /dev/null
@@ -1,41 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-type" content="text/html; charset=ISO-8859-1" />
-<link rel="stylesheet" href="../robodoc.css" type="text/css" />
-<title>./src/H5Zf.c</title>
-<!-- Source: ./src/H5Zf.c -->
-</head>
-<body>
-<div id="logo">
-<a name="robo_top_of_doc">HDF5 FORTRAN Developer's Guide</a>
-</div> <!-- logo -->
-<div id="navigation">
-<a class="menuitem" href="../toc_index.html#top">Table of Contents</a>
-<a class="menuitem" href="../robo_sourcefiles.html#top">Sourcefiles</a>
-<a class="menuitem" href="../masterindex.html#top">Index</a>
-<a class="menuitem" href="../robo_functions.html#top">Functions</a>
-<a class="menuitem" href="../robo_modules.html#top">Modules</a>
-<a class="menuitem" href="../robo_procedures.html#top">Procedures</a>
-<a class="menuitem" href="../robo_subroutines.html#top">Subroutines</a>
-</div> <!-- navigation -->
-<div id="content">
-<hr />
-<a name="H5Zf2fH5Zf"></a>
-<a name="robo75"></a><h2>H5Zf</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="../robo_modules.html#robo_top_of_doc">Modules</a> ]</p>
-<p class="item_name">PURPOSE</p>
-<pre> This file contains C stubs for <a href="./H5Zff_f90.html#robo74">H5Z</a> Fortran APIs
-</pre>
-
-</div> <!-- content -->
-<div id="footer">
-<p>Generated from ./src/H5Zf.c on Sun Aug 14 2011 22:49:37
-</p>
-</div> <!-- footer -->
-</body>
-</html>
diff --git a/fortran/doc/DevelGuide/src/H5Zff_f90.html b/fortran/doc/DevelGuide/src/H5Zff_f90.html
deleted file mode 100644
index 8ccd0ae..0000000
--- a/fortran/doc/DevelGuide/src/H5Zff_f90.html
+++ /dev/null
@@ -1,173 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-type" content="text/html; charset=ISO-8859-1" />
-<link rel="stylesheet" href="../robodoc.css" type="text/css" />
-<title>./src/H5Zff.f90</title>
-<!-- Source: ./src/H5Zff.f90 -->
-</head>
-<body>
-<div id="logo">
-<a name="robo_top_of_doc">HDF5 FORTRAN Developer's Guide</a>
-</div> <!-- logo -->
-<div id="navigation">
-<a class="menuitem" href="../toc_index.html#top">Table of Contents</a>
-<a class="menuitem" href="../robo_sourcefiles.html#top">Sourcefiles</a>
-<a class="menuitem" href="../masterindex.html#top">Index</a>
-<a class="menuitem" href="../robo_functions.html#top">Functions</a>
-<a class="menuitem" href="../robo_modules.html#top">Modules</a>
-<a class="menuitem" href="../robo_procedures.html#top">Procedures</a>
-<a class="menuitem" href="../robo_subroutines.html#top">Subroutines</a>
-</div> <!-- navigation -->
-<div id="content">
-<hr />
-<a name="ROBODoc2fH5Z"></a>
-<a name="robo74"></a><h2>H5Z</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="../robo_modules.html#robo_top_of_doc">Modules</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> MODULE <strong>H5Z</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> This file contains Fortran interfaces for <strong>H5Z</strong> functions. It includes
- all the functions that are independent on whether the Fortran 2003 functions
- are enabled or disabled.
-</pre>
-<p class="item_name">NOTES</p>
-<pre> *** IMPORTANT ***
- If you add a new <strong>H5Z</strong> function you must add the function name to the
- Windows dll file 'hdf5_fortrandll.def' in the fortran/src directory.
- This is needed for Windows based operating systems.
-</pre>
-
-<hr />
-<a name="H5Z2fh5zfilter5favail5ff"></a>
-<a name="robo466"></a><h2>h5zfilter_avail_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo74">H5Z</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5zfilter_avail_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Queries if filter is available
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> filter - filter
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> status - status; .TRUE. if filter is available,
- .FALSE. otherwise
- hdferr: - error code
- Success: 0
- Failure: -1
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- March 12, 2003
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5zfilter_avail_f</strong><span class="sign">(</span>filter<span class="sign">,</span> status<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> filter <span class="sign">!</span> Filter<span class="sign">;</span> may be one of the following<span class="sign">:</span>
- <span class="sign">!</span> H5Z_FILTER_DEFLATE_F
- <span class="sign">!</span> H5Z_FILTER_SZIP_F
- <span class="sign">!</span> H5Z_FILTER_NBIT_F
- <span class="sign">!</span> H5Z_FILTER_SCALEOFFSET_F
- <span class="sign">!</span> H5Z_FILTER_SHUFFLE_F
- <span class="sign">!</span> H5Z_FILTER_FLETCHER32_F
- LOGICAL<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> status <span class="sign">!</span> Flag<span class="sign">,</span> idicates <span class="keyword">if</span> filter
- <span class="sign">!</span> is availble not <span class="sign">(</span> TRUE or
- <span class="sign">!</span> FALSE<span class="sign">)</span>
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
-</pre>
-
-<hr />
-<a name="H5Z2fh5zget5ffilter5finfo5ff"></a>
-<a name="robo467"></a><h2>h5zget_filter_info_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo74">H5Z</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5zget_filter_info_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Queries if filter has its encoder and/or decoder
- available
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> filter - filter
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> config_flags - Bit vector possibly containing the
- following values:
- H5Z_FILTER_ENCODE_ENABLED_F
- H5Z_FILTER_DECODE_ENABLED_F
- hdferr: - error code
- Success: 0
- Failure: -1
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Nat Furrer and James Laird
- June 16, 2004
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5zget_filter_info_f</strong><span class="sign">(</span>filter<span class="sign">,</span> config_flags<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> filter <span class="sign">!</span> Filter<span class="sign">;</span> may be one of the following<span class="sign">:</span>
- <span class="sign">!</span> H5Z_FILTER_DEFLATE_F
- <span class="sign">!</span> H5Z_FILTER_SZIP_F
- <span class="sign">!</span> H5Z_FILTER_NBIT_F
- <span class="sign">!</span> H5Z_FILTER_SCALEOFFSET_F
- <span class="sign">!</span> H5Z_FILTER_SHUFFLE_F
- <span class="sign">!</span> H5Z_FILTER_FLETCHER32_F
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> config_flags<span class="sign">!</span> Flag<span class="sign">,</span> indicates <span class="keyword">if</span> filter
- <span class="sign">!</span> has its encoder and<span class="sign">/</span>or decoder
- <span class="sign">!</span> available
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
-</pre>
-
-<hr />
-<a name="H5Z2fh5zunregister5ff"></a>
-<a name="robo468"></a><h2>h5zunregister_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo74">H5Z</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5zunregister_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Unregisters specified filetr
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> filter - filter; may have one of the following values:
- H5Z_FILTER_DEFLATE_F
- H5Z_FILTER_SZIP_F
- H5Z_FILTER_NBIT_F
- H5Z_FILTER_SCALEOFFSET_F
- H5Z_FILTER_SHUFFLE_F
- H5Z_FILTER_FLETCHER32_F
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> hdferr - error code
- Success: 0
- Failure: -1
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- March 12, 2003
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5zunregister_f</strong><span class="sign">(</span>filter<span class="sign">,</span> hdferr<span class="sign">)</span>
- IMPLICIT NONE
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> filter
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> hdferr <span class="sign">!</span> Error code
-</pre>
-
-</div> <!-- content -->
-<div id="footer">
-<p>Generated from ./src/H5Zff.f90 on Sun Aug 14 2011 22:49:37
-</p>
-</div> <!-- footer -->
-</body>
-</html>
diff --git a/fortran/doc/DevelGuide/src/H5_DBLE_InterfaceExclude_f90.html b/fortran/doc/DevelGuide/src/H5_DBLE_InterfaceExclude_f90.html
deleted file mode 100644
index 4e51e7f..0000000
--- a/fortran/doc/DevelGuide/src/H5_DBLE_InterfaceExclude_f90.html
+++ /dev/null
@@ -1,53 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-type" content="text/html; charset=ISO-8859-1" />
-<link rel="stylesheet" href="../robodoc.css" type="text/css" />
-<title>./src/H5_DBLE_InterfaceExclude.f90</title>
-<!-- Source: ./src/H5_DBLE_InterfaceExclude.f90 -->
-</head>
-<body>
-<div id="logo">
-<a name="robo_top_of_doc">HDF5 FORTRAN Developer's Guide</a>
-</div> <!-- logo -->
-<div id="navigation">
-<a class="menuitem" href="../toc_index.html#top">Table of Contents</a>
-<a class="menuitem" href="../robo_sourcefiles.html#top">Sourcefiles</a>
-<a class="menuitem" href="../masterindex.html#top">Index</a>
-<a class="menuitem" href="../robo_functions.html#top">Functions</a>
-<a class="menuitem" href="../robo_modules.html#top">Modules</a>
-<a class="menuitem" href="../robo_procedures.html#top">Procedures</a>
-<a class="menuitem" href="../robo_subroutines.html#top">Subroutines</a>
-</div> <!-- navigation -->
-<div id="content">
-<hr />
-<a name="fortran2fsrc2fH55fDBLE5fInterfaceExclude2ef90"></a>
-<a name="robo78"></a><h2>src/H5_DBLE_InterfaceExclude.f90</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="../robo_modules.html#robo_top_of_doc">Modules</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> H5_DBLE_INTERFACE
-</pre>
-<p class="item_name">FUNCTION</p>
-<pre> This module is used for when the default REAL is of type DOUBLE PRECISION.
- We do not include the double precision interfaces if the defaut REAL is
- DOUBLE PRECISION since this would lead to a non-unique conflict with the
- generic interfaces declared as REAL and those declared as DOUBLE PRECISION.
-</pre>
-<p class="item_name">NOTES</p>
-<pre> Empty module.
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> M. Scot Breitenfeld
-</pre>
-
-</div> <!-- content -->
-<div id="footer">
-<p>Generated from ./src/H5_DBLE_InterfaceExclude.f90 on Sun Aug 14 2011 22:49:38
-</p>
-</div> <!-- footer -->
-</body>
-</html>
diff --git a/fortran/doc/DevelGuide/src/H5_DBLE_InterfaceInclude_f90.html b/fortran/doc/DevelGuide/src/H5_DBLE_InterfaceInclude_f90.html
deleted file mode 100644
index 5a71d52..0000000
--- a/fortran/doc/DevelGuide/src/H5_DBLE_InterfaceInclude_f90.html
+++ /dev/null
@@ -1,54 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-type" content="text/html; charset=ISO-8859-1" />
-<link rel="stylesheet" href="../robodoc.css" type="text/css" />
-<title>./src/H5_DBLE_InterfaceInclude.f90</title>
-<!-- Source: ./src/H5_DBLE_InterfaceInclude.f90 -->
-</head>
-<body>
-<div id="logo">
-<a name="robo_top_of_doc">HDF5 FORTRAN Developer's Guide</a>
-</div> <!-- logo -->
-<div id="navigation">
-<a class="menuitem" href="../toc_index.html#top">Table of Contents</a>
-<a class="menuitem" href="../robo_sourcefiles.html#top">Sourcefiles</a>
-<a class="menuitem" href="../masterindex.html#top">Index</a>
-<a class="menuitem" href="../robo_functions.html#top">Functions</a>
-<a class="menuitem" href="../robo_modules.html#top">Modules</a>
-<a class="menuitem" href="../robo_procedures.html#top">Procedures</a>
-<a class="menuitem" href="../robo_subroutines.html#top">Subroutines</a>
-</div> <!-- navigation -->
-<div id="content">
-<hr />
-<a name="fortran2fsrc2fH55fDBLE5fInterfaceInclude2ef90"></a>
-<a name="robo79"></a><h2>src/H5_DBLE_InterfaceInclude.f90</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="../robo_modules.html#robo_top_of_doc">Modules</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> H5_DBLE_INTERFACE
-</pre>
-<p class="item_name">FUNCTION</p>
-<pre> This module is used for when the default REAL is not of the type DOUBLE PRECISION.
- We only do not include the double precision interfaces if the defaut REAL is
- DOUBLE PRECISION since this would lead to a non-unique conflict with the
- generic interfaces declared as REAL. Otherwise it is okay to include the interfaces.
-</pre>
-<p class="item_name">NOTES</p>
-<pre> This module contains all the DOUBLE PRECISION interfaces and corresponding subroutines
- from the HDF function catagory <a href="./H5Aff_f90.html#robo27">H5A</a>, <a href="./H5Dff_f90.html#robo31">H5D</a> and H5P.
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> M. Scot Breitenfeld
-</pre>
-
-</div> <!-- content -->
-<div id="footer">
-<p>Generated from ./src/H5_DBLE_InterfaceInclude.f90 on Sun Aug 14 2011 22:49:38
-</p>
-</div> <!-- footer -->
-</body>
-</html>
diff --git a/fortran/doc/DevelGuide/src/H5_f_c.html b/fortran/doc/DevelGuide/src/H5_f_c.html
deleted file mode 100644
index 2bdbce1..0000000
--- a/fortran/doc/DevelGuide/src/H5_f_c.html
+++ /dev/null
@@ -1,41 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-type" content="text/html; charset=ISO-8859-1" />
-<link rel="stylesheet" href="../robodoc.css" type="text/css" />
-<title>./src/H5_f.c</title>
-<!-- Source: ./src/H5_f.c -->
-</head>
-<body>
-<div id="logo">
-<a name="robo_top_of_doc">HDF5 FORTRAN Developer's Guide</a>
-</div> <!-- logo -->
-<div id="navigation">
-<a class="menuitem" href="../toc_index.html#top">Table of Contents</a>
-<a class="menuitem" href="../robo_sourcefiles.html#top">Sourcefiles</a>
-<a class="menuitem" href="../masterindex.html#top">Index</a>
-<a class="menuitem" href="../robo_functions.html#top">Functions</a>
-<a class="menuitem" href="../robo_modules.html#top">Modules</a>
-<a class="menuitem" href="../robo_programs.html#top">Programs</a>
-<a class="menuitem" href="../robo_subroutines.html#top">Subroutines</a>
-</div> <!-- navigation -->
-<div id="content">
-<hr />
-<a name="root2ffortran2fsrc2fH55ff2ec"></a>
-<a name="robo0"></a><h2>fortran/src/H5_f.c</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="../robo_modules.html#robo_top_of_doc">Modules</a> ]</p>
-<p class="item_name">FUNCTION</p>
-<pre> This file contains C stubs for H5 Fortran APIs
-</pre>
-
-</div> <!-- content -->
-<div id="footer">
-<p>Generated from ./src/H5_f.c on Wed Oct 22 2008 15:34:43
-</p>
-</div> <!-- footer -->
-</body>
-</html>
diff --git a/fortran/doc/DevelGuide/src/H5_ff_F03_f90.html b/fortran/doc/DevelGuide/src/H5_ff_F03_f90.html
deleted file mode 100644
index 17f07c1..0000000
--- a/fortran/doc/DevelGuide/src/H5_ff_F03_f90.html
+++ /dev/null
@@ -1,83 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-type" content="text/html; charset=ISO-8859-1" />
-<link rel="stylesheet" href="../robodoc.css" type="text/css" />
-<title>./src/H5_ff_F03.f90</title>
-<!-- Source: ./src/H5_ff_F03.f90 -->
-</head>
-<body>
-<div id="logo">
-<a name="robo_top_of_doc">HDF5 FORTRAN Developer's Guide</a>
-</div> <!-- logo -->
-<div id="navigation">
-<a class="menuitem" href="../toc_index.html#top">Table of Contents</a>
-<a class="menuitem" href="../robo_sourcefiles.html#top">Sourcefiles</a>
-<a class="menuitem" href="../masterindex.html#top">Index</a>
-<a class="menuitem" href="../robo_functions.html#top">Functions</a>
-<a class="menuitem" href="../robo_modules.html#top">Modules</a>
-<a class="menuitem" href="../robo_procedures.html#top">Procedures</a>
-<a class="menuitem" href="../robo_subroutines.html#top">Subroutines</a>
-</div> <!-- navigation -->
-<div id="content">
-<hr />
-<a name="ROBODoc2fH5LIB5fPROVISIONAL"></a>
-<a name="robo54"></a><h2>H5LIB_PROVISIONAL</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="../robo_modules.html#robo_top_of_doc">Modules</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> MODULE <strong>H5LIB_PROVISIONAL</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> This file contains helper functions for Fortran 2003 features and is
- only compiled when Fortran 2003 features are enabled, otherwise
- the file <a href="./H5_ff_F90_f90.html#robo_top_of_doc">H5_ff_F90.f90</a> is compiled.
-</pre>
-<p class="item_name">NOTES</p>
-<pre> *** IMPORTANT ***
- If you add a new function you must add the function name to the
- Windows dll file 'hdf5_fortrandll.def' in the fortran/src directory.
- This is needed for Windows based operating systems.
-</pre>
-
-<hr />
-<a name="H5LIB5fPROVISIONAL2fh5offsetof"></a>
-<a name="robo194"></a><h2>h5offsetof</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo54">H5LIB_PROVISIONAL</a> ] [ <a href="../robo_functions.html#robo_top_of_doc">Functions</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5offsetof</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Computes the offset in memory
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> start - starting pointer address
- end - ending pointer address
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> offset - offset
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> M. Scot Breitenfeld
- Augest 25, 2008
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> FUNCTION <strong>h5offsetof</strong><span class="sign">(</span>start<span class="sign">,</span>end<span class="sign">)</span> RESULT<span class="sign">(</span>offset<span class="sign">)</span>
- USE<span class="sign">,</span> INTRINSIC <span class="sign">:</span><span class="sign">:</span> ISO_C_BINDING
- USE <a href="./H5f90global_f90.html#robo46">H5GLOBAL</a>
- IMPLICIT NONE
- INTEGER<span class="sign">(</span>SIZE_T<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> offset
- TYPE<span class="sign">(</span>C_PTR<span class="sign">)</span><span class="sign">,</span> VALUE<span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> start<span class="sign">,</span> end
-</pre>
-
-</div> <!-- content -->
-<div id="footer">
-<p>Generated from ./src/H5_ff_F03.f90 on Sun Aug 14 2011 22:49:38
-</p>
-</div> <!-- footer -->
-</body>
-</html>
diff --git a/fortran/doc/DevelGuide/src/H5_ff_F90_f90.html b/fortran/doc/DevelGuide/src/H5_ff_F90_f90.html
deleted file mode 100644
index c310ef2..0000000
--- a/fortran/doc/DevelGuide/src/H5_ff_F90_f90.html
+++ /dev/null
@@ -1,48 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-type" content="text/html; charset=ISO-8859-1" />
-<link rel="stylesheet" href="../robodoc.css" type="text/css" />
-<title>./src/H5_ff_F90.f90</title>
-<!-- Source: ./src/H5_ff_F90.f90 -->
-</head>
-<body>
-<div id="logo">
-<a name="robo_top_of_doc">HDF5 FORTRAN Developer's Guide</a>
-</div> <!-- logo -->
-<div id="navigation">
-<a class="menuitem" href="../toc_index.html#top">Table of Contents</a>
-<a class="menuitem" href="../robo_sourcefiles.html#top">Sourcefiles</a>
-<a class="menuitem" href="../masterindex.html#top">Index</a>
-<a class="menuitem" href="../robo_functions.html#top">Functions</a>
-<a class="menuitem" href="../robo_modules.html#top">Modules</a>
-<a class="menuitem" href="../robo_procedures.html#top">Procedures</a>
-<a class="menuitem" href="../robo_subroutines.html#top">Subroutines</a>
-</div> <!-- navigation -->
-<div id="content">
-<hr />
-<a name="ROBODoc2fH5LIB5fPROVISIONAL2028F9029"></a>
-<a name="robo55"></a><h2>H5LIB_PROVISIONAL (F90)</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="../robo_modules.html#robo_top_of_doc">Modules</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> MODULE <a href="./H5_ff_F03_f90.html#robo54">H5LIB_PROVISIONAL</a>
-</pre>
-<p class="item_name">FILE</p>
-<pre> fortran/src/<a href="#robo_top_of_doc">H5_ff_F90.f90</a>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> This file is a dummy module for when Fortran 2003 features are not enabled.
- It is compiled in place of <a href="./H5_ff_F03_f90.html#robo_top_of_doc">H5_ff_F03.f90</a> and is empty.
-</pre>
-
-</div> <!-- content -->
-<div id="footer">
-<p>Generated from ./src/H5_ff_F90.f90 on Sun Aug 14 2011 22:49:38
-</p>
-</div> <!-- footer -->
-</body>
-</html>
diff --git a/fortran/doc/DevelGuide/src/H5_ff_f90.html b/fortran/doc/DevelGuide/src/H5_ff_f90.html
deleted file mode 100644
index 021c7c5..0000000
--- a/fortran/doc/DevelGuide/src/H5_ff_f90.html
+++ /dev/null
@@ -1,269 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-type" content="text/html; charset=ISO-8859-1" />
-<link rel="stylesheet" href="../robodoc.css" type="text/css" />
-<title>./src/H5_ff.f90</title>
-<!-- Source: ./src/H5_ff.f90 -->
-</head>
-<body>
-<div id="logo">
-<a name="robo_top_of_doc">HDF5 FORTRAN Developer's Guide</a>
-</div> <!-- logo -->
-<div id="navigation">
-<a class="menuitem" href="../toc_index.html#top">Table of Contents</a>
-<a class="menuitem" href="../robo_sourcefiles.html#top">Sourcefiles</a>
-<a class="menuitem" href="../masterindex.html#top">Index</a>
-<a class="menuitem" href="../robo_functions.html#top">Functions</a>
-<a class="menuitem" href="../robo_modules.html#top">Modules</a>
-<a class="menuitem" href="../robo_procedures.html#top">Procedures</a>
-<a class="menuitem" href="../robo_subroutines.html#top">Subroutines</a>
-</div> <!-- navigation -->
-<div id="content">
-<hr />
-<a name="ROBODoc2fH5LIB"></a>
-<a name="robo53"></a><h2>H5LIB</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="../robo_modules.html#robo_top_of_doc">Modules</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> MODULE <strong>H5LIB</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> This module provides fortran specific helper functions for the HDF library
-</pre>
-<p class="item_name">USES</p>
-<pre> <a href="./H5_ff_F03_f90.html#robo54">H5LIB_PROVISIONAL</a> - This module provides helper functions for Fortran 2003
- only features. If Fortran 2003 functions are enabled then
- <a href="./H5_ff_F03_f90.html#robo_top_of_doc">H5_ff_F03.f90</a> is compiled, else <a href="./H5_ff_F90_f90.html#robo_top_of_doc">H5_ff_F90.f90</a>,
- which is just a place holder blank module, is compiled.
-</pre>
-<p class="item_name">NOTES</p>
-<pre> *** IMPORTANT ***
- If you add a new function you must add the function name to the
- Windows dll file 'hdf5_fortrandll.def' in the fortran/src directory.
- This is needed for Windows based operating systems.
-</pre>
-
-<hr />
-<a name="H5LIB2fh5check5fversion5ff"></a>
-<a name="robo111"></a><h2>h5check_version_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo53">H5LIB</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5check_version_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Verifies that library versions are consistent.
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> majnum - major version of the library
- minum - minor version of the library
- relnum - release version of the library
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> error - error code
- Success: 0
- Failure: application aborts
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- September 24, 2002
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5check_version_f</strong><span class="sign">(</span>majnum<span class="sign">,</span> minnum<span class="sign">,</span> relnum<span class="sign">,</span> error<span class="sign">)</span>
- USE <a href="./H5f90global_f90.html#robo46">H5GLOBAL</a>
- IMPLICIT NONE
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> majnum<span class="sign">,</span> minnum<span class="sign">,</span> relnum
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> error
-</pre>
-
-<hr />
-<a name="H5LIB2fh5close5ff"></a>
-<a name="robo112"></a><h2>h5close_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo53">H5LIB</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5close_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Closes the <a href="./HDF5_f90.html#robo76">HDF5</a> library and Fortran90 interface.
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> error - error code
- Success: 0
- Failure: -1
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- August 12, 1999
-</pre>
-<p class="item_name">HISTORY</p>
-<pre> Explicit Fortran interfaces were added for
- called C functions (it is needed for Windows
- port). February 28, 2001
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5close_f</strong><span class="sign">(</span>error<span class="sign">)</span>
- USE <a href="./H5f90global_f90.html#robo46">H5GLOBAL</a>
- IMPLICIT NONE
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> error
-</pre>
-
-<hr />
-<a name="H5LIB2fh5dont5fatexit5ff"></a>
-<a name="robo122"></a><h2>h5dont_atexit_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo53">H5LIB</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5dont_atexit_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Instructs library not to install atexit cleanup routine.
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> error - error code
- Success: 0
- Failure: -1
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- September 24, 2002
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5dont_atexit_f</strong><span class="sign">(</span>error<span class="sign">)</span>
- USE <a href="./H5f90global_f90.html#robo46">H5GLOBAL</a>
- IMPLICIT NONE
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> error
-</pre>
-
-<hr />
-<a name="H5LIB2fh5garbage5fcollect5ff"></a>
-<a name="robo150"></a><h2>h5garbage_collect_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo53">H5LIB</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5garbage_collect_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Garbage collects on all free-lists of all types.
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> error - error code
- Success: 0
- Failure: -1
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- September 24, 2002
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5garbage_collect_f</strong><span class="sign">(</span>error<span class="sign">)</span>
- USE <a href="./H5f90global_f90.html#robo46">H5GLOBAL</a>
- IMPLICIT NONE
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> error
-</pre>
-
-<hr />
-<a name="H5LIB2fh5get5flibversion5ff"></a>
-<a name="robo154"></a><h2>h5get_libversion_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo53">H5LIB</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5get_libversion_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Returns the <a href="./HDF5_f90.html#robo76">HDF5</a> LIbrary release number
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> majnum - major version of the library
- minum - minor version of the library
- relnum - release version of the library
- error - error code
- Success: 0
- Failure: -1
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- September 24, 2002
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5get_libversion_f</strong><span class="sign">(</span>majnum<span class="sign">,</span> minnum<span class="sign">,</span> relnum<span class="sign">,</span> error<span class="sign">)</span>
- USE <a href="./H5f90global_f90.html#robo46">H5GLOBAL</a>
- IMPLICIT NONE
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> majnum<span class="sign">,</span> minnum<span class="sign">,</span> relnum<span class="sign">,</span> error
-</pre>
-
-<hr />
-<a name="H5LIB2fh5kind5fto5ftype"></a>
-<a name="robo177"></a><h2>h5kind_to_type</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo53">H5LIB</a> ] [ <a href="../robo_functions.html#robo_top_of_doc">Functions</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5kind_to_type</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Converts the KIND to the correct HDF type
-</pre>
-<p class="item_name">INPUTS</p>
-<pre> kind - Fortran KIND parameter
- flag - whether KIND is of type INTEGER or REAL:
- H5_INTEGER_KIND - integer
- H5_REAL_KIND - real
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> h5_type - returns the type
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> M. Scot Breitenfeld
- Augest 25, 2008
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> INTEGER<span class="sign">(</span>HID_T<span class="sign">)</span> FUNCTION <strong>h5kind_to_type</strong><span class="sign">(</span>kind<span class="sign">,</span> flag<span class="sign">)</span> RESULT<span class="sign">(</span>h5_type<span class="sign">)</span>
- USE <a href="./H5f90global_f90.html#robo46">H5GLOBAL</a>
- IMPLICIT NONE
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> kind
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>IN<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> flag
-</pre>
-
-<hr />
-<a name="H5LIB2fh5open5ff"></a>
-<a name="robo198"></a><h2>h5open_f</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="#robo53">H5LIB</a> ] [ <a href="../robo_subroutines.html#robo_top_of_doc">Subroutines</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <strong>h5open_f</strong>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> Initializes the <a href="./HDF5_f90.html#robo76">HDF5</a> library and Fortran90 interface.
-</pre>
-<p class="item_name">OUTPUTS</p>
-<pre> error - error code
- Success: 0
- Failure: -1
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
- August 12, 1999
-</pre>
-<p class="item_name">HISTORY</p>
-<pre> Explicit Fortran interfaces were added for
- called C functions (it is needed for Windows
- port). February 28, 2001
-</pre>
-<p class="item_name">SOURCE</p>
-<pre class="source"> SUBROUTINE <strong>h5open_f</strong><span class="sign">(</span>error<span class="sign">)</span>
- USE <a href="./H5f90global_f90.html#robo46">H5GLOBAL</a>
- IMPLICIT NONE
- INTEGER<span class="sign">,</span> INTENT<span class="sign">(</span>OUT<span class="sign">)</span> <span class="sign">:</span><span class="sign">:</span> error
-</pre>
-
-</div> <!-- content -->
-<div id="footer">
-<p>Generated from ./src/H5_ff.f90 on Sun Aug 14 2011 22:49:38
-</p>
-</div> <!-- footer -->
-</body>
-</html>
diff --git a/fortran/doc/DevelGuide/src/H5f90global_f90.html b/fortran/doc/DevelGuide/src/H5f90global_f90.html
deleted file mode 100644
index 587b6d0..0000000
--- a/fortran/doc/DevelGuide/src/H5f90global_f90.html
+++ /dev/null
@@ -1,61 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-type" content="text/html; charset=ISO-8859-1" />
-<link rel="stylesheet" href="../robodoc.css" type="text/css" />
-<title>./src/H5f90global.f90</title>
-<!-- Source: ./src/H5f90global.f90 -->
-</head>
-<body>
-<div id="logo">
-<a name="robo_top_of_doc">HDF5 FORTRAN Developer's Guide</a>
-</div> <!-- logo -->
-<div id="navigation">
-<a class="menuitem" href="../toc_index.html#top">Table of Contents</a>
-<a class="menuitem" href="../robo_sourcefiles.html#top">Sourcefiles</a>
-<a class="menuitem" href="../masterindex.html#top">Index</a>
-<a class="menuitem" href="../robo_functions.html#top">Functions</a>
-<a class="menuitem" href="../robo_modules.html#top">Modules</a>
-<a class="menuitem" href="../robo_procedures.html#top">Procedures</a>
-<a class="menuitem" href="../robo_subroutines.html#top">Subroutines</a>
-</div> <!-- navigation -->
-<div id="content">
-<hr />
-<a name="ROBODoc2fH5GLOBAL"></a>
-<a name="robo46"></a><h2>H5GLOBAL</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="../robo_modules.html#robo_top_of_doc">Modules</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> MODULE <strong>H5GLOBAL</strong>
-</pre>
-<p class="item_name">FILE</p>
-<pre> src/fortran/<a href="#robo_top_of_doc">H5f90global.f90</a>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> This module is used to pass C stubs for H5 Fortran APIs. The C stubs are
- packed into arrays in H5_f.c and these arrays are then passed to Fortran.
- This module then uses EQUIVALENCE to assign elements of the arrays to
- Fortran equivalent C stubs.
-</pre>
-<p class="item_name">NOTES</p>
-<pre> The size of the C arrays in H5_f.c has to match the values of the variables
- declared as PARAMETER, hence if the size of an array in H5_f.c is changed
- then the PARAMETER of that corresponding array in Fortran must also be changed.
-</pre>
-<p class="item_name">USES</p>
-<pre> H5FORTRAN_TYPES - This module is generated at run time. See
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourmal
-</pre>
-
-</div> <!-- content -->
-<div id="footer">
-<p>Generated from ./src/H5f90global.f90 on Sun Aug 14 2011 22:49:38
-</p>
-</div> <!-- footer -->
-</body>
-</html>
diff --git a/fortran/doc/DevelGuide/src/H5f90kit_c.html b/fortran/doc/DevelGuide/src/H5f90kit_c.html
deleted file mode 100644
index 1329a87..0000000
--- a/fortran/doc/DevelGuide/src/H5f90kit_c.html
+++ /dev/null
@@ -1,44 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-type" content="text/html; charset=ISO-8859-1" />
-<link rel="stylesheet" href="../robodoc.css" type="text/css" />
-<title>./src/H5f90kit.c</title>
-<!-- Source: ./src/H5f90kit.c -->
-</head>
-<body>
-<div id="logo">
-<a name="robo_top_of_doc">HDF5 FORTRAN Developer's Guide</a>
-</div> <!-- logo -->
-<div id="navigation">
-<a class="menuitem" href="../toc_index.html#top">Table of Contents</a>
-<a class="menuitem" href="../robo_sourcefiles.html#top">Sourcefiles</a>
-<a class="menuitem" href="../masterindex.html#top">Index</a>
-<a class="menuitem" href="../robo_functions.html#top">Functions</a>
-<a class="menuitem" href="../robo_modules.html#top">Modules</a>
-<a class="menuitem" href="../robo_procedures.html#top">Procedures</a>
-<a class="menuitem" href="../robo_subroutines.html#top">Subroutines</a>
-</div> <!-- navigation -->
-<div id="content">
-<hr />
-<a name="H5f90kit2fH5f90kit"></a>
-<a name="robo40"></a><h2>H5f90kit</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="../robo_modules.html#robo_top_of_doc">Modules</a> ]</p>
-<p class="item_name">PURPOSE</p>
-<pre> Routines from HDF4 to deal with C-FORTRAN issues:
-
- HD5f2cstring -- convert a Fortran string to a C string
- HD5packFstring -- convert a C string into a Fortran string
-</pre>
-
-</div> <!-- content -->
-<div id="footer">
-<p>Generated from ./src/H5f90kit.c on Sun Aug 14 2011 22:49:38
-</p>
-</div> <!-- footer -->
-</body>
-</html>
diff --git a/fortran/doc/DevelGuide/src/H5match_types_c.html b/fortran/doc/DevelGuide/src/H5match_types_c.html
deleted file mode 100644
index 083319a..0000000
--- a/fortran/doc/DevelGuide/src/H5match_types_c.html
+++ /dev/null
@@ -1,49 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-type" content="text/html; charset=ISO-8859-1" />
-<link rel="stylesheet" href="../robodoc.css" type="text/css" />
-<title>./src/H5match_types.c</title>
-<!-- Source: ./src/H5match_types.c -->
-</head>
-<body>
-<div id="logo">
-<a name="robo_top_of_doc">HDF5 FORTRAN Developer's Guide</a>
-</div> <!-- logo -->
-<div id="navigation">
-<a class="menuitem" href="../toc_index.html#top">Table of Contents</a>
-<a class="menuitem" href="../robo_sourcefiles.html#top">Sourcefiles</a>
-<a class="menuitem" href="../masterindex.html#top">Index</a>
-<a class="menuitem" href="../robo_functions.html#top">Functions</a>
-<a class="menuitem" href="../robo_modules.html#top">Modules</a>
-<a class="menuitem" href="../robo_procedures.html#top">Procedures</a>
-<a class="menuitem" href="../robo_subroutines.html#top">Subroutines</a>
-</div> <!-- navigation -->
-<div id="content">
-<hr />
-<a name="Program2fH5match5ftypes"></a>
-<a name="robo192"></a><h2>H5match_types</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="../robo_procedures.html#robo_top_of_doc">Procedures</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> Executable: <strong>H5match_types</strong>
-</pre>
-<p class="item_name">FILE</p>
-<pre> fortran/src/<a href="#robo_top_of_doc">H5match_types.c</a>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> C Program to match C types to Fortran types.
- Creates the files H5f90i_gen.h for the C code and
- H5fortran_types.f90 for the Fortran code.
-</pre>
-
-</div> <!-- content -->
-<div id="footer">
-<p>Generated from ./src/H5match_types.c on Sun Aug 14 2011 22:49:38
-</p>
-</div> <!-- footer -->
-</body>
-</html>
diff --git a/fortran/doc/DevelGuide/src/H5test_kind_SIZEOF_f90.html b/fortran/doc/DevelGuide/src/H5test_kind_SIZEOF_f90.html
deleted file mode 100644
index 3494db0..0000000
--- a/fortran/doc/DevelGuide/src/H5test_kind_SIZEOF_f90.html
+++ /dev/null
@@ -1,61 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-type" content="text/html; charset=ISO-8859-1" />
-<link rel="stylesheet" href="../robodoc.css" type="text/css" />
-<title>./src/H5test_kind_SIZEOF.f90</title>
-<!-- Source: ./src/H5test_kind_SIZEOF.f90 -->
-</head>
-<body>
-<div id="logo">
-<a name="robo_top_of_doc">HDF5 FORTRAN Developer's Guide</a>
-</div> <!-- logo -->
-<div id="navigation">
-<a class="menuitem" href="../toc_index.html#top">Table of Contents</a>
-<a class="menuitem" href="../robo_sourcefiles.html#top">Sourcefiles</a>
-<a class="menuitem" href="../masterindex.html#top">Index</a>
-<a class="menuitem" href="../robo_functions.html#top">Functions</a>
-<a class="menuitem" href="../robo_modules.html#top">Modules</a>
-<a class="menuitem" href="../robo_procedures.html#top">Procedures</a>
-<a class="menuitem" href="../robo_subroutines.html#top">Subroutines</a>
-</div> <!-- navigation -->
-<div id="content">
-<hr />
-<a name="Program2fH5test5fkind5fSIZEOF"></a>
-<a name="robo421"></a><h2>H5test_kind_SIZEOF</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="../robo_procedures.html#robo_top_of_doc">Procedures</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> Executable: <a href="./H5test_kind_f90.html#robo420">H5test_kind</a>
-</pre>
-<p class="item_name">FILE</p>
-<pre> fortran/src/<a href="#robo_top_of_doc">H5test_kind_SIZEOF.f90</a>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> This stand alone program is used at build time to generate the program
- H5fortran_detect.f90. It cycles through all the available KIND parameters for
- integers and reals. The appropriate program and subroutines are then generated
- depending on which of the KIND values are found.
-</pre>
-<p class="item_name">NOTES</p>
-<pre> This program is used in place of <a href="./H5test_kind_f90.html#robo_top_of_doc">H5test_kind.f90</a> when the Fortran intrinsic
- function SIZEOF is available. It generates code that makes use of SIZEOF in
- H5fortran_detect.f90 which is a portable solution.
-
- The availability of SIZEOF is checked at configure time and the TRUE/FALSE
- condition is set in the configure variable "FORTRAN_HAVE_SIZEOF".
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> M. Scot Breitenfeld
-</pre>
-
-</div> <!-- content -->
-<div id="footer">
-<p>Generated from ./src/H5test_kind_SIZEOF.f90 on Sun Aug 14 2011 22:49:37
-</p>
-</div> <!-- footer -->
-</body>
-</html>
diff --git a/fortran/doc/DevelGuide/src/H5test_kind_f90.html b/fortran/doc/DevelGuide/src/H5test_kind_f90.html
deleted file mode 100644
index c08e488..0000000
--- a/fortran/doc/DevelGuide/src/H5test_kind_f90.html
+++ /dev/null
@@ -1,62 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-type" content="text/html; charset=ISO-8859-1" />
-<link rel="stylesheet" href="../robodoc.css" type="text/css" />
-<title>./src/H5test_kind.f90</title>
-<!-- Source: ./src/H5test_kind.f90 -->
-</head>
-<body>
-<div id="logo">
-<a name="robo_top_of_doc">HDF5 FORTRAN Developer's Guide</a>
-</div> <!-- logo -->
-<div id="navigation">
-<a class="menuitem" href="../toc_index.html#top">Table of Contents</a>
-<a class="menuitem" href="../robo_sourcefiles.html#top">Sourcefiles</a>
-<a class="menuitem" href="../masterindex.html#top">Index</a>
-<a class="menuitem" href="../robo_functions.html#top">Functions</a>
-<a class="menuitem" href="../robo_modules.html#top">Modules</a>
-<a class="menuitem" href="../robo_procedures.html#top">Procedures</a>
-<a class="menuitem" href="../robo_subroutines.html#top">Subroutines</a>
-</div> <!-- navigation -->
-<div id="content">
-<hr />
-<a name="Program2fH5test5fkind"></a>
-<a name="robo420"></a><h2>H5test_kind</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="../robo_procedures.html#robo_top_of_doc">Procedures</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> Executable: <strong>H5test_kind</strong>
-</pre>
-<p class="item_name">FILE</p>
-<pre> fortran/src/<a href="#robo_top_of_doc">H5test_kind.f90</a>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> This stand alone program is used at build time to generate the program
- H5fortran_detect.f90. It cycles through all the available KIND parameters for
- integers and reals. The appropriate program and subroutines are then generated
- depending on which of the KIND values are found.
-</pre>
-<p class="item_name">NOTES</p>
-<pre> This program is depreciated in favor of <a href="./H5test_kind_SIZEOF_f90.html#robo_top_of_doc">H5test_kind_SIZEOF.f90</a> and is only
- used when the Fortran intrinsic function SIZEOF is not available. It generates
- code that does not make use of SIZEOF in H5fortran_detect.f90 which is less
- portable in comparison to using SIZEOF.
-
- The availability of SIZEOF is checked at configure time and the TRUE/FALSE
- condition is set in the configure variable "FORTRAN_HAVE_SIZEOF".
-</pre>
-<p class="item_name">AUTHOR</p>
-<pre> Elena Pourma
-</pre>
-
-</div> <!-- content -->
-<div id="footer">
-<p>Generated from ./src/H5test_kind.f90 on Sun Aug 14 2011 22:49:37
-</p>
-</div> <!-- footer -->
-</body>
-</html>
diff --git a/fortran/doc/DevelGuide/src/HDF5_f90.html b/fortran/doc/DevelGuide/src/HDF5_f90.html
deleted file mode 100644
index 1490c7c..0000000
--- a/fortran/doc/DevelGuide/src/HDF5_f90.html
+++ /dev/null
@@ -1,47 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-type" content="text/html; charset=ISO-8859-1" />
-<link rel="stylesheet" href="../robodoc.css" type="text/css" />
-<title>./src/HDF5.f90</title>
-<!-- Source: ./src/HDF5.f90 -->
-</head>
-<body>
-<div id="logo">
-<a name="robo_top_of_doc">HDF5 FORTRAN Developer's Guide</a>
-</div> <!-- logo -->
-<div id="navigation">
-<a class="menuitem" href="../toc_index.html#top">Table of Contents</a>
-<a class="menuitem" href="../robo_sourcefiles.html#top">Sourcefiles</a>
-<a class="menuitem" href="../masterindex.html#top">Index</a>
-<a class="menuitem" href="../robo_functions.html#top">Functions</a>
-<a class="menuitem" href="../robo_modules.html#top">Modules</a>
-<a class="menuitem" href="../robo_procedures.html#top">Procedures</a>
-<a class="menuitem" href="../robo_subroutines.html#top">Subroutines</a>
-</div> <!-- navigation -->
-<div id="content">
-<hr />
-<a name="ROBODoc2fHDF5"></a>
-<a name="robo76"></a><h2>HDF5</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="../robo_modules.html#robo_top_of_doc">Modules</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> MODULE <strong>HDF5</strong>
-</pre>
-<p class="item_name">FILE</p>
-<pre> src/fortran/src/<a href="#robo_top_of_doc">HDF5.f90</a>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> This is the main module used for linking to the Fortran HDF library.
-</pre>
-
-</div> <!-- content -->
-<div id="footer">
-<p>Generated from ./src/HDF5.f90 on Sun Aug 14 2011 22:49:37
-</p>
-</div> <!-- footer -->
-</body>
-</html>
diff --git a/fortran/doc/DevelGuide/src/HDF5mpio_f90.html b/fortran/doc/DevelGuide/src/HDF5mpio_f90.html
deleted file mode 100644
index 9ef5f32..0000000
--- a/fortran/doc/DevelGuide/src/HDF5mpio_f90.html
+++ /dev/null
@@ -1,45 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-type" content="text/html; charset=ISO-8859-1" />
-<link rel="stylesheet" href="../robodoc.css" type="text/css" />
-<title>./src/HDF5mpio.f90</title>
-<!-- Source: ./src/HDF5mpio.f90 -->
-</head>
-<body>
-<div id="logo">
-<a name="robo_top_of_doc">HDF5 FORTRAN Developer's Guide</a>
-</div> <!-- logo -->
-<div id="navigation">
-<a class="menuitem" href="../toc_index.html#top">Table of Contents</a>
-<a class="menuitem" href="../robo_sourcefiles.html#top">Sourcefiles</a>
-<a class="menuitem" href="../masterindex.html#top">Index</a>
-<a class="menuitem" href="../robo_functions.html#top">Functions</a>
-<a class="menuitem" href="../robo_modules.html#top">Modules</a>
-<a class="menuitem" href="../robo_procedures.html#top">Procedures</a>
-<a class="menuitem" href="../robo_subroutines.html#top">Subroutines</a>
-</div> <!-- navigation -->
-<div id="content">
-<hr />
-<a name="ROBODoc2fHDF52028mpio29"></a>
-<a name="robo77"></a><h2>HDF5 (mpio)</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="../robo_modules.html#robo_top_of_doc">Modules</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <a href="./HDF5_f90.html#robo76">HDF5</a>
-</pre>
-<p class="item_name">PURPOSE</p>
-<pre> This is the main module used for linking to the Fortran parallel HDF library.
- This file replaces <a href="./HDF5_f90.html#robo_top_of_doc">HDF5.f90</a> when compiling the parallel library.
-</pre>
-
-</div> <!-- content -->
-<div id="footer">
-<p>Generated from ./src/HDF5mpio.f90 on Sun Aug 14 2011 22:49:37
-</p>
-</div> <!-- footer -->
-</body>
-</html>
diff --git a/fortran/doc/DevelGuide/test/fflush1_f90.html b/fortran/doc/DevelGuide/test/fflush1_f90.html
deleted file mode 100644
index eaab841..0000000
--- a/fortran/doc/DevelGuide/test/fflush1_f90.html
+++ /dev/null
@@ -1,47 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-type" content="text/html; charset=ISO-8859-1" />
-<link rel="stylesheet" href="../robodoc.css" type="text/css" />
-<title>./test/fflush1.f90</title>
-<!-- Source: ./test/fflush1.f90 -->
-</head>
-<body>
-<div id="logo">
-<a name="robo_top_of_doc">HDF5 FORTRAN Developer's Guide</a>
-</div> <!-- logo -->
-<div id="navigation">
-<a class="menuitem" href="../toc_index.html#top">Table of Contents</a>
-<a class="menuitem" href="../robo_sourcefiles.html#top">Sourcefiles</a>
-<a class="menuitem" href="../masterindex.html#top">Index</a>
-<a class="menuitem" href="../robo_functions.html#top">Functions</a>
-<a class="menuitem" href="../robo_modules.html#top">Modules</a>
-<a class="menuitem" href="../robo_procedures.html#top">Procedures</a>
-<a class="menuitem" href="../robo_subroutines.html#top">Subroutines</a>
-</div> <!-- navigation -->
-<div id="content">
-<hr />
-<a name="root2ffortran2ftest2ffflush12ef90"></a>
-<a name="robo0"></a><h2>fortran/test/fflush1.f90</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="../robo_modules.html#robo_top_of_doc">Modules</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> FFLUSH1EXAMPLE
-</pre>
-<p class="item_name">FUNCTION</p>
-<pre> This is the first half of a two-part test that makes sure
- that a file can be read after an application crashes as long
- as the file was flushed first. We simulate by exit the
- the program using stop statement
-</pre>
-
-</div> <!-- content -->
-<div id="footer">
-<p>Generated from ./test/fflush1.f90 on Sun Aug 14 2011 22:49:38
-</p>
-</div> <!-- footer -->
-</body>
-</html>
diff --git a/fortran/doc/DevelGuide/test/fflush2_f90.html b/fortran/doc/DevelGuide/test/fflush2_f90.html
deleted file mode 100644
index 23b7797..0000000
--- a/fortran/doc/DevelGuide/test/fflush2_f90.html
+++ /dev/null
@@ -1,47 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-type" content="text/html; charset=ISO-8859-1" />
-<link rel="stylesheet" href="../robodoc.css" type="text/css" />
-<title>./test/fflush2.f90</title>
-<!-- Source: ./test/fflush2.f90 -->
-</head>
-<body>
-<div id="logo">
-<a name="robo_top_of_doc">HDF5 FORTRAN Developer's Guide</a>
-</div> <!-- logo -->
-<div id="navigation">
-<a class="menuitem" href="../toc_index.html#top">Table of Contents</a>
-<a class="menuitem" href="../robo_sourcefiles.html#top">Sourcefiles</a>
-<a class="menuitem" href="../masterindex.html#top">Index</a>
-<a class="menuitem" href="../robo_functions.html#top">Functions</a>
-<a class="menuitem" href="../robo_modules.html#top">Modules</a>
-<a class="menuitem" href="../robo_procedures.html#top">Procedures</a>
-<a class="menuitem" href="../robo_subroutines.html#top">Subroutines</a>
-</div> <!-- navigation -->
-<div id="content">
-<hr />
-<a name="root2ffortran2ftest2ffflush22ef90"></a>
-<a name="robo1"></a><h2>fortran/test/fflush2.f90</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="../robo_modules.html#robo_top_of_doc">Modules</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <a href="#robo_top_of_doc">fflush2.f90</a>
-</pre>
-<p class="item_name">FUNCTION</p>
-<pre> This is the second half of a two-part test that makes sure
- that a file can be read after an application crashes as long
- as the file was flushed first. This half tries to read the
- file created by the first half.
-</pre>
-
-</div> <!-- content -->
-<div id="footer">
-<p>Generated from ./test/fflush2.f90 on Sun Aug 14 2011 22:49:38
-</p>
-</div> <!-- footer -->
-</body>
-</html>
diff --git a/fortran/doc/DevelGuide/test/fortranlib_test_1_8_f90.html b/fortran/doc/DevelGuide/test/fortranlib_test_1_8_f90.html
deleted file mode 100644
index 3ce387d..0000000
--- a/fortran/doc/DevelGuide/test/fortranlib_test_1_8_f90.html
+++ /dev/null
@@ -1,44 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-type" content="text/html; charset=ISO-8859-1" />
-<link rel="stylesheet" href="../robodoc.css" type="text/css" />
-<title>./test/fortranlib_test_1_8.f90</title>
-<!-- Source: ./test/fortranlib_test_1_8.f90 -->
-</head>
-<body>
-<div id="logo">
-<a name="robo_top_of_doc">HDF5 FORTRAN Developer's Guide</a>
-</div> <!-- logo -->
-<div id="navigation">
-<a class="menuitem" href="../toc_index.html#top">Table of Contents</a>
-<a class="menuitem" href="../robo_sourcefiles.html#top">Sourcefiles</a>
-<a class="menuitem" href="../masterindex.html#top">Index</a>
-<a class="menuitem" href="../robo_functions.html#top">Functions</a>
-<a class="menuitem" href="../robo_modules.html#top">Modules</a>
-<a class="menuitem" href="../robo_procedures.html#top">Procedures</a>
-<a class="menuitem" href="../robo_subroutines.html#top">Subroutines</a>
-</div> <!-- navigation -->
-<div id="content">
-<hr />
-<a name="root2ffortran2ftest2ffortranlib5ftest5f15f82ef90"></a>
-<a name="robo3"></a><h2>fortran/test/fortranlib_test_1_8.f90</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="../robo_modules.html#robo_top_of_doc">Modules</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <a href="#robo_top_of_doc">fortranlib_test_1_8.f90</a>
-</pre>
-<p class="item_name">FUNCTION</p>
-<pre> Basic testing of Fortran API's introduced in 1.8 release.
-</pre>
-
-</div> <!-- content -->
-<div id="footer">
-<p>Generated from ./test/fortranlib_test_1_8.f90 on Sun Aug 14 2011 22:49:38
-</p>
-</div> <!-- footer -->
-</body>
-</html>
diff --git a/fortran/doc/DevelGuide/test/fortranlib_test_F03_f90.html b/fortran/doc/DevelGuide/test/fortranlib_test_F03_f90.html
deleted file mode 100644
index 1a0c7be..0000000
--- a/fortran/doc/DevelGuide/test/fortranlib_test_F03_f90.html
+++ /dev/null
@@ -1,45 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-type" content="text/html; charset=ISO-8859-1" />
-<link rel="stylesheet" href="../robodoc.css" type="text/css" />
-<title>./test/fortranlib_test_F03.f90</title>
-<!-- Source: ./test/fortranlib_test_F03.f90 -->
-</head>
-<body>
-<div id="logo">
-<a name="robo_top_of_doc">HDF5 FORTRAN Developer's Guide</a>
-</div> <!-- logo -->
-<div id="navigation">
-<a class="menuitem" href="../toc_index.html#top">Table of Contents</a>
-<a class="menuitem" href="../robo_sourcefiles.html#top">Sourcefiles</a>
-<a class="menuitem" href="../masterindex.html#top">Index</a>
-<a class="menuitem" href="../robo_functions.html#top">Functions</a>
-<a class="menuitem" href="../robo_modules.html#top">Modules</a>
-<a class="menuitem" href="../robo_procedures.html#top">Procedures</a>
-<a class="menuitem" href="../robo_subroutines.html#top">Subroutines</a>
-</div> <!-- navigation -->
-<div id="content">
-<hr />
-<a name="root2ffortran2ftest2ffortranlib5ftest5fF032ef90"></a>
-<a name="robo4"></a><h2>fortran/test/fortranlib_test_F03.f90</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="../robo_modules.html#robo_top_of_doc">Modules</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <a href="#robo_top_of_doc">fortranlib_test_F03.f90</a>
-</pre>
-<p class="item_name">FUNCTION</p>
-<pre> Basic testing of Fortran API's requiring Fortran 2003
- compliance.
-</pre>
-
-</div> <!-- content -->
-<div id="footer">
-<p>Generated from ./test/fortranlib_test_F03.f90 on Sun Aug 14 2011 22:49:38
-</p>
-</div> <!-- footer -->
-</body>
-</html>
diff --git a/fortran/doc/DevelGuide/test/fortranlib_test_f90.html b/fortran/doc/DevelGuide/test/fortranlib_test_f90.html
deleted file mode 100644
index 29fb2f1..0000000
--- a/fortran/doc/DevelGuide/test/fortranlib_test_f90.html
+++ /dev/null
@@ -1,44 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-type" content="text/html; charset=ISO-8859-1" />
-<link rel="stylesheet" href="../robodoc.css" type="text/css" />
-<title>./test/fortranlib_test.f90</title>
-<!-- Source: ./test/fortranlib_test.f90 -->
-</head>
-<body>
-<div id="logo">
-<a name="robo_top_of_doc">HDF5 FORTRAN Developer's Guide</a>
-</div> <!-- logo -->
-<div id="navigation">
-<a class="menuitem" href="../toc_index.html#top">Table of Contents</a>
-<a class="menuitem" href="../robo_sourcefiles.html#top">Sourcefiles</a>
-<a class="menuitem" href="../masterindex.html#top">Index</a>
-<a class="menuitem" href="../robo_functions.html#top">Functions</a>
-<a class="menuitem" href="../robo_modules.html#top">Modules</a>
-<a class="menuitem" href="../robo_procedures.html#top">Procedures</a>
-<a class="menuitem" href="../robo_subroutines.html#top">Subroutines</a>
-</div> <!-- navigation -->
-<div id="content">
-<hr />
-<a name="root2ffortran2ftest2ffortranlib5ftest2ef90"></a>
-<a name="robo2"></a><h2>fortran/test/fortranlib_test.f90</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="../robo_modules.html#robo_top_of_doc">Modules</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <a href="#robo_top_of_doc">fortranlib_test.f90</a>
-</pre>
-<p class="item_name">FUNCTION</p>
-<pre> Basic testing of Fortran API's functionality.
-</pre>
-
-</div> <!-- content -->
-<div id="footer">
-<p>Generated from ./test/fortranlib_test.f90 on Sun Aug 14 2011 22:49:38
-</p>
-</div> <!-- footer -->
-</body>
-</html>
diff --git a/fortran/doc/DevelGuide/test/tF2003_f90.html b/fortran/doc/DevelGuide/test/tF2003_f90.html
deleted file mode 100644
index 8101411..0000000
--- a/fortran/doc/DevelGuide/test/tF2003_f90.html
+++ /dev/null
@@ -1,53 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-type" content="text/html; charset=ISO-8859-1" />
-<link rel="stylesheet" href="../robodoc.css" type="text/css" />
-<title>./test/tF2003.f90</title>
-<!-- Source: ./test/tF2003.f90 -->
-</head>
-<body>
-<div id="logo">
-<a name="robo_top_of_doc">HDF5 FORTRAN Developer's Guide</a>
-</div> <!-- logo -->
-<div id="navigation">
-<a class="menuitem" href="../toc_index.html#top">Table of Contents</a>
-<a class="menuitem" href="../robo_sourcefiles.html#top">Sourcefiles</a>
-<a class="menuitem" href="../masterindex.html#top">Index</a>
-<a class="menuitem" href="../robo_functions.html#top">Functions</a>
-<a class="menuitem" href="../robo_modules.html#top">Modules</a>
-<a class="menuitem" href="../robo_procedures.html#top">Procedures</a>
-<a class="menuitem" href="../robo_subroutines.html#top">Subroutines</a>
-</div> <!-- navigation -->
-<div id="content">
-<hr />
-<a name="root2ffortran2ftest2ftF20032ef90"></a>
-<a name="robo7"></a><h2>fortran/test/tF2003.f90</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="../robo_modules.html#robo_top_of_doc">Modules</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <a href="#robo_top_of_doc">tF2003.f90</a>
-</pre>
-<p class="item_name">FUNCTION</p>
-<pre> Test FORTRAN <a href="../src/HDF5_f90.html#robo75">HDF5</a> APIs which are dependent on the FORTRAN 2003
- features. Tests <a href="../src/H5Lff_f90.html#robo48">H5L</a>, H5P, <a href="../src/H5Tff_f90.html#robo69">H5T</a> APIs.
-</pre>
-<p class="item_name">USES</p>
-<pre> liter_cb_mod, test_genprop_cls_cb1_mod
-</pre>
-<p class="item_name">CONTAINS SUBROUTINES</p>
-<pre> test_iter_group, test_create, test_genprop_class_callback,
- test_array_compound_atomic, test_array_compound_array,
- test_array_bkg
-</pre>
-
-</div> <!-- content -->
-<div id="footer">
-<p>Generated from ./test/tF2003.f90 on Tue Sep 14 2010 23:17:29
-</p>
-</div> <!-- footer -->
-</body>
-</html>
diff --git a/fortran/doc/DevelGuide/test/tH5A_1_8_f90.html b/fortran/doc/DevelGuide/test/tH5A_1_8_f90.html
deleted file mode 100644
index c217d99..0000000
--- a/fortran/doc/DevelGuide/test/tH5A_1_8_f90.html
+++ /dev/null
@@ -1,51 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-type" content="text/html; charset=ISO-8859-1" />
-<link rel="stylesheet" href="../robodoc.css" type="text/css" />
-<title>./test/tH5A_1_8.f90</title>
-<!-- Source: ./test/tH5A_1_8.f90 -->
-</head>
-<body>
-<div id="logo">
-<a name="robo_top_of_doc">HDF5 FORTRAN Developer's Guide</a>
-</div> <!-- logo -->
-<div id="navigation">
-<a class="menuitem" href="../toc_index.html#top">Table of Contents</a>
-<a class="menuitem" href="../robo_sourcefiles.html#top">Sourcefiles</a>
-<a class="menuitem" href="../masterindex.html#top">Index</a>
-<a class="menuitem" href="../robo_functions.html#top">Functions</a>
-<a class="menuitem" href="../robo_modules.html#top">Modules</a>
-<a class="menuitem" href="../robo_procedures.html#top">Procedures</a>
-<a class="menuitem" href="../robo_subroutines.html#top">Subroutines</a>
-</div> <!-- navigation -->
-<div id="content">
-<hr />
-<a name="root2ffortran2ftest2ftH5A5f15f82ef90"></a>
-<a name="robo8"></a><h2>fortran/test/tH5A_1_8.f90</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="../robo_modules.html#robo_top_of_doc">Modules</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <a href="#robo_top_of_doc">tH5A_1_8.f90</a>
-</pre>
-<p class="item_name">FUNCTION</p>
-<pre> Basic testing of Fortran <a href="../src/H5Aff_f90.html#robo27">H5A</a> APIs introduced in 1.8.
-</pre>
-<p class="item_name">CONTAINS SUBROUTINES</p>
-<pre> attribute_test_1_8, test_attr_corder_create_compact, test_attr_null_space,
- test_attr_create_by_name, test_attr_info_by_idx, attr_info_by_idx_check,
- test_attr_shared_rename, test_attr_delete_by_idx, test_attr_shared_delete,
- test_attr_dense_open, test_attr_dense_verify, test_attr_corder_create_basic,
- test_attr_basic_write, test_attr_many, attr_open_check,
-</pre>
-
-</div> <!-- content -->
-<div id="footer">
-<p>Generated from ./test/tH5A_1_8.f90 on Sun Aug 14 2011 22:49:37
-</p>
-</div> <!-- footer -->
-</body>
-</html>
diff --git a/fortran/doc/DevelGuide/test/tH5A_f90.html b/fortran/doc/DevelGuide/test/tH5A_f90.html
deleted file mode 100644
index 87c5a45..0000000
--- a/fortran/doc/DevelGuide/test/tH5A_f90.html
+++ /dev/null
@@ -1,47 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-type" content="text/html; charset=ISO-8859-1" />
-<link rel="stylesheet" href="../robodoc.css" type="text/css" />
-<title>./test/tH5A.f90</title>
-<!-- Source: ./test/tH5A.f90 -->
-</head>
-<body>
-<div id="logo">
-<a name="robo_top_of_doc">HDF5 FORTRAN Developer's Guide</a>
-</div> <!-- logo -->
-<div id="navigation">
-<a class="menuitem" href="../toc_index.html#top">Table of Contents</a>
-<a class="menuitem" href="../robo_sourcefiles.html#top">Sourcefiles</a>
-<a class="menuitem" href="../masterindex.html#top">Index</a>
-<a class="menuitem" href="../robo_functions.html#top">Functions</a>
-<a class="menuitem" href="../robo_modules.html#top">Modules</a>
-<a class="menuitem" href="../robo_procedures.html#top">Procedures</a>
-<a class="menuitem" href="../robo_subroutines.html#top">Subroutines</a>
-</div> <!-- navigation -->
-<div id="content">
-<hr />
-<a name="root2ffortran2ftest2ftH5A2ef90"></a>
-<a name="robo7"></a><h2>fortran/test/tH5A.f90</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="../robo_modules.html#robo_top_of_doc">Modules</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <a href="#robo_top_of_doc">tH5A.f90</a>
-</pre>
-<p class="item_name">FUNCTION</p>
-<pre> Basic testing of Fortran <a href="../src/H5Aff_f90.html#robo27">H5A</a> APIs.
-</pre>
-<p class="item_name">CONTAINS SUBROUTINES</p>
-<pre> attribute_test
-</pre>
-
-</div> <!-- content -->
-<div id="footer">
-<p>Generated from ./test/tH5A.f90 on Sun Aug 14 2011 22:49:37
-</p>
-</div> <!-- footer -->
-</body>
-</html>
diff --git a/fortran/doc/DevelGuide/test/tH5D_f90.html b/fortran/doc/DevelGuide/test/tH5D_f90.html
deleted file mode 100644
index c840425..0000000
--- a/fortran/doc/DevelGuide/test/tH5D_f90.html
+++ /dev/null
@@ -1,52 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-type" content="text/html; charset=ISO-8859-1" />
-<link rel="stylesheet" href="../robodoc.css" type="text/css" />
-<title>./test/tH5D.f90</title>
-<!-- Source: ./test/tH5D.f90 -->
-</head>
-<body>
-<div id="logo">
-<a name="robo_top_of_doc">HDF5 FORTRAN Developer's Guide</a>
-</div> <!-- logo -->
-<div id="navigation">
-<a class="menuitem" href="../toc_index.html#top">Table of Contents</a>
-<a class="menuitem" href="../robo_sourcefiles.html#top">Sourcefiles</a>
-<a class="menuitem" href="../masterindex.html#top">Index</a>
-<a class="menuitem" href="../robo_functions.html#top">Functions</a>
-<a class="menuitem" href="../robo_modules.html#top">Modules</a>
-<a class="menuitem" href="../robo_procedures.html#top">Procedures</a>
-<a class="menuitem" href="../robo_subroutines.html#top">Subroutines</a>
-</div> <!-- navigation -->
-<div id="content">
-<hr />
-<a name="root2ffortran2ftest2ftH5D2ef90"></a>
-<a name="robo9"></a><h2>fortran/test/tH5D.f90</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="../robo_modules.html#robo_top_of_doc">Modules</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <a href="#robo_top_of_doc">tH5D.f90</a>
-</pre>
-<p class="item_name">FUNCTION</p>
-<pre> Basic testing of Fortran <a href="../src/H5Dff_f90.html#robo31">H5D</a> APIs.
-</pre>
-<p class="item_name">NOTES</p>
-<pre> Tests the <a href="../src/H5Dff_f90.html#robo31">H5D</a> APIs functionalities of:
- <a href="../src/H5Dff_f90.html#robo115">h5dcreate_f</a>, <a href="../src/H5Dff_f90.html#robo123">h5dopen_f</a>, <a href="../src/H5Dff_f90.html#robo113">h5dclose_f</a>, <a href="../src/H5Dff_f90.html#robo118">h5dget_space_f</a>, <a href="../src/H5Dff_f90.html#robo121">h5dget_type_f</a>,
- <a href="../src/H5Dff_F90_f90.html#robo124">h5dread_f</a>, and h5dwrite_f
-</pre>
-<p class="item_name">CONTAINS SUBROUTINES</p>
-<pre> datasettest, extenddsettest
-</pre>
-
-</div> <!-- content -->
-<div id="footer">
-<p>Generated from ./test/tH5D.f90 on Sun Aug 14 2011 22:49:37
-</p>
-</div> <!-- footer -->
-</body>
-</html>
diff --git a/fortran/doc/DevelGuide/test/tH5E_f90.html b/fortran/doc/DevelGuide/test/tH5E_f90.html
deleted file mode 100644
index 6a1ef56..0000000
--- a/fortran/doc/DevelGuide/test/tH5E_f90.html
+++ /dev/null
@@ -1,51 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-type" content="text/html; charset=ISO-8859-1" />
-<link rel="stylesheet" href="../robodoc.css" type="text/css" />
-<title>./test/tH5E.f90</title>
-<!-- Source: ./test/tH5E.f90 -->
-</head>
-<body>
-<div id="logo">
-<a name="robo_top_of_doc">HDF5 FORTRAN Developer's Guide</a>
-</div> <!-- logo -->
-<div id="navigation">
-<a class="menuitem" href="../toc_index.html#top">Table of Contents</a>
-<a class="menuitem" href="../robo_sourcefiles.html#top">Sourcefiles</a>
-<a class="menuitem" href="../masterindex.html#top">Index</a>
-<a class="menuitem" href="../robo_functions.html#top">Functions</a>
-<a class="menuitem" href="../robo_modules.html#top">Modules</a>
-<a class="menuitem" href="../robo_procedures.html#top">Procedures</a>
-<a class="menuitem" href="../robo_subroutines.html#top">Subroutines</a>
-</div> <!-- navigation -->
-<div id="content">
-<hr />
-<a name="root2ffortran2ftest2ftH5E2ef90"></a>
-<a name="robo10"></a><h2>fortran/test/tH5E.f90</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="../robo_modules.html#robo_top_of_doc">Modules</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <a href="#robo_top_of_doc">tH5E.f90</a>
-</pre>
-<p class="item_name">FUNCTION</p>
-<pre> Basic testing of Fortran <a href="../src/H5Eff_f90.html#robo35">H5E</a> APIs.
-</pre>
-<p class="item_name">NOTES</p>
-<pre> Tests the <a href="../src/H5Dff_f90.html#robo31">H5D</a> APIs functionalities of:
- <a href="../src/H5Eff_f90.html#robo132">h5eprint_f</a>
-</pre>
-<p class="item_name">CONTAINS SUBROUTINES</p>
-<pre> error_report_test
-</pre>
-
-</div> <!-- content -->
-<div id="footer">
-<p>Generated from ./test/tH5E.f90 on Sun Aug 14 2011 22:49:37
-</p>
-</div> <!-- footer -->
-</body>
-</html>
diff --git a/fortran/doc/DevelGuide/test/tH5F_f90.html b/fortran/doc/DevelGuide/test/tH5F_f90.html
deleted file mode 100644
index d1aff59..0000000
--- a/fortran/doc/DevelGuide/test/tH5F_f90.html
+++ /dev/null
@@ -1,47 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-type" content="text/html; charset=ISO-8859-1" />
-<link rel="stylesheet" href="../robodoc.css" type="text/css" />
-<title>./test/tH5F.f90</title>
-<!-- Source: ./test/tH5F.f90 -->
-</head>
-<body>
-<div id="logo">
-<a name="robo_top_of_doc">HDF5 FORTRAN Developer's Guide</a>
-</div> <!-- logo -->
-<div id="navigation">
-<a class="menuitem" href="../toc_index.html#top">Table of Contents</a>
-<a class="menuitem" href="../robo_sourcefiles.html#top">Sourcefiles</a>
-<a class="menuitem" href="../masterindex.html#top">Index</a>
-<a class="menuitem" href="../robo_functions.html#top">Functions</a>
-<a class="menuitem" href="../robo_modules.html#top">Modules</a>
-<a class="menuitem" href="../robo_procedures.html#top">Procedures</a>
-<a class="menuitem" href="../robo_subroutines.html#top">Subroutines</a>
-</div> <!-- navigation -->
-<div id="content">
-<hr />
-<a name="root2ffortran2ftest2ftH5F2ef90"></a>
-<a name="robo12"></a><h2>fortran/test/tH5F.f90</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="../robo_modules.html#robo_top_of_doc">Modules</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <a href="#robo_top_of_doc">tH5F.f90</a>
-</pre>
-<p class="item_name">FUNCTION</p>
-<pre> Basic testing of Fortran <a href="../src/H5Fff_f90.html#robo39">H5F</a> APIs.
-</pre>
-<p class="item_name">CONTAINS SUBROUTINES</p>
-<pre> mountingtest, reopentest, plisttest, file_close, file_space
-</pre>
-
-</div> <!-- content -->
-<div id="footer">
-<p>Generated from ./test/tH5F.f90 on Sun Aug 14 2011 22:49:37
-</p>
-</div> <!-- footer -->
-</body>
-</html>
diff --git a/fortran/doc/DevelGuide/test/tH5G_1_8_f90.html b/fortran/doc/DevelGuide/test/tH5G_1_8_f90.html
deleted file mode 100644
index 81fdd3c..0000000
--- a/fortran/doc/DevelGuide/test/tH5G_1_8_f90.html
+++ /dev/null
@@ -1,49 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-type" content="text/html; charset=ISO-8859-1" />
-<link rel="stylesheet" href="../robodoc.css" type="text/css" />
-<title>./test/tH5G_1_8.f90</title>
-<!-- Source: ./test/tH5G_1_8.f90 -->
-</head>
-<body>
-<div id="logo">
-<a name="robo_top_of_doc">HDF5 FORTRAN Developer's Guide</a>
-</div> <!-- logo -->
-<div id="navigation">
-<a class="menuitem" href="../toc_index.html#top">Table of Contents</a>
-<a class="menuitem" href="../robo_sourcefiles.html#top">Sourcefiles</a>
-<a class="menuitem" href="../masterindex.html#top">Index</a>
-<a class="menuitem" href="../robo_functions.html#top">Functions</a>
-<a class="menuitem" href="../robo_modules.html#top">Modules</a>
-<a class="menuitem" href="../robo_procedures.html#top">Procedures</a>
-<a class="menuitem" href="../robo_subroutines.html#top">Subroutines</a>
-</div> <!-- navigation -->
-<div id="content">
-<hr />
-<a name="root2ffortran2ftest2ftH5G5f15f82ef90"></a>
-<a name="robo14"></a><h2>fortran/test/tH5G_1_8.f90</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="../robo_modules.html#robo_top_of_doc">Modules</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <a href="#robo_top_of_doc">tH5G_1_8.f90</a>
-</pre>
-<p class="item_name">FUNCTION</p>
-<pre> Basic testing of Fortran <a href="../src/H5Gff_f90.html#robo44">H5G</a> APIs introduced in 1.8.
-</pre>
-<p class="item_name">CONTAINS SUBROUTINES</p>
-<pre> group_test, group_info, timestamps, mklinks, test_move_preserves, lifecycle
- cklinks, delete_by_idx, link_info_by_idx_check, test_lcpl, objcopy,
- lapl_nlinks
-</pre>
-
-</div> <!-- content -->
-<div id="footer">
-<p>Generated from ./test/tH5G_1_8.f90 on Sun Aug 14 2011 22:49:37
-</p>
-</div> <!-- footer -->
-</body>
-</html>
diff --git a/fortran/doc/DevelGuide/test/tH5G_f90.html b/fortran/doc/DevelGuide/test/tH5G_f90.html
deleted file mode 100644
index 6c60a3c..0000000
--- a/fortran/doc/DevelGuide/test/tH5G_f90.html
+++ /dev/null
@@ -1,47 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-type" content="text/html; charset=ISO-8859-1" />
-<link rel="stylesheet" href="../robodoc.css" type="text/css" />
-<title>./test/tH5G.f90</title>
-<!-- Source: ./test/tH5G.f90 -->
-</head>
-<body>
-<div id="logo">
-<a name="robo_top_of_doc">HDF5 FORTRAN Developer's Guide</a>
-</div> <!-- logo -->
-<div id="navigation">
-<a class="menuitem" href="../toc_index.html#top">Table of Contents</a>
-<a class="menuitem" href="../robo_sourcefiles.html#top">Sourcefiles</a>
-<a class="menuitem" href="../masterindex.html#top">Index</a>
-<a class="menuitem" href="../robo_functions.html#top">Functions</a>
-<a class="menuitem" href="../robo_modules.html#top">Modules</a>
-<a class="menuitem" href="../robo_procedures.html#top">Procedures</a>
-<a class="menuitem" href="../robo_subroutines.html#top">Subroutines</a>
-</div> <!-- navigation -->
-<div id="content">
-<hr />
-<a name="root2ffortran2ftest2ftH5G2ef90"></a>
-<a name="robo13"></a><h2>fortran/test/tH5G.f90</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="../robo_modules.html#robo_top_of_doc">Modules</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <a href="#robo_top_of_doc">tH5G.f90</a>
-</pre>
-<p class="item_name">FUNCTION</p>
-<pre> Basic testing of Fortran <a href="../src/H5Gff_f90.html#robo44">H5G</a> APIs.
-</pre>
-<p class="item_name">CONTAINS SUBROUTINES</p>
-<pre> group_test
-</pre>
-
-</div> <!-- content -->
-<div id="footer">
-<p>Generated from ./test/tH5G.f90 on Sun Aug 14 2011 22:49:37
-</p>
-</div> <!-- footer -->
-</body>
-</html>
diff --git a/fortran/doc/DevelGuide/test/tH5I_f90.html b/fortran/doc/DevelGuide/test/tH5I_f90.html
deleted file mode 100644
index 52e21fc..0000000
--- a/fortran/doc/DevelGuide/test/tH5I_f90.html
+++ /dev/null
@@ -1,47 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-type" content="text/html; charset=ISO-8859-1" />
-<link rel="stylesheet" href="../robodoc.css" type="text/css" />
-<title>./test/tH5I.f90</title>
-<!-- Source: ./test/tH5I.f90 -->
-</head>
-<body>
-<div id="logo">
-<a name="robo_top_of_doc">HDF5 FORTRAN Developer's Guide</a>
-</div> <!-- logo -->
-<div id="navigation">
-<a class="menuitem" href="../toc_index.html#top">Table of Contents</a>
-<a class="menuitem" href="../robo_sourcefiles.html#top">Sourcefiles</a>
-<a class="menuitem" href="../masterindex.html#top">Index</a>
-<a class="menuitem" href="../robo_functions.html#top">Functions</a>
-<a class="menuitem" href="../robo_modules.html#top">Modules</a>
-<a class="menuitem" href="../robo_procedures.html#top">Procedures</a>
-<a class="menuitem" href="../robo_subroutines.html#top">Subroutines</a>
-</div> <!-- navigation -->
-<div id="content">
-<hr />
-<a name="root2ffortran2ftest2ftH5I2ef90"></a>
-<a name="robo15"></a><h2>fortran/test/tH5I.f90</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="../robo_modules.html#robo_top_of_doc">Modules</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <a href="#robo_top_of_doc">tH5I.f90</a>
-</pre>
-<p class="item_name">FUNCTION</p>
-<pre> Basic testing of Fortran <a href="../src/H5Iff_f90.html#robo47">H5I</a> APIs.
-</pre>
-<p class="item_name">CONTAINS SUBROUTINES</p>
-<pre> identifier_test
-</pre>
-
-</div> <!-- content -->
-<div id="footer">
-<p>Generated from ./test/tH5I.f90 on Sun Aug 14 2011 22:49:37
-</p>
-</div> <!-- footer -->
-</body>
-</html>
diff --git a/fortran/doc/DevelGuide/test/tH5O_f90.html b/fortran/doc/DevelGuide/test/tH5O_f90.html
deleted file mode 100644
index a128da5..0000000
--- a/fortran/doc/DevelGuide/test/tH5O_f90.html
+++ /dev/null
@@ -1,47 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-type" content="text/html; charset=ISO-8859-1" />
-<link rel="stylesheet" href="../robodoc.css" type="text/css" />
-<title>./test/tH5O.f90</title>
-<!-- Source: ./test/tH5O.f90 -->
-</head>
-<body>
-<div id="logo">
-<a name="robo_top_of_doc">HDF5 FORTRAN Developer's Guide</a>
-</div> <!-- logo -->
-<div id="navigation">
-<a class="menuitem" href="../toc_index.html#top">Table of Contents</a>
-<a class="menuitem" href="../robo_sourcefiles.html#top">Sourcefiles</a>
-<a class="menuitem" href="../masterindex.html#top">Index</a>
-<a class="menuitem" href="../robo_functions.html#top">Functions</a>
-<a class="menuitem" href="../robo_modules.html#top">Modules</a>
-<a class="menuitem" href="../robo_procedures.html#top">Procedures</a>
-<a class="menuitem" href="../robo_subroutines.html#top">Subroutines</a>
-</div> <!-- navigation -->
-<div id="content">
-<hr />
-<a name="root2ffortran2ftest2ftH5O2ef90"></a>
-<a name="robo17"></a><h2>fortran/test/tH5O.f90</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="../robo_modules.html#robo_top_of_doc">Modules</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <a href="#robo_top_of_doc">tH5O.f90</a>
-</pre>
-<p class="item_name">FUNCTION</p>
-<pre> Basic testing of Fortran <a href="../src/H5Off_f90.html#robo56">H5O</a> APIs.
-</pre>
-<p class="item_name">CONTAINS SUBROUTINES</p>
-<pre> test_h5o, test_h5o_link, test_h5o_plist
-</pre>
-
-</div> <!-- content -->
-<div id="footer">
-<p>Generated from ./test/tH5O.f90 on Sun Aug 14 2011 22:49:37
-</p>
-</div> <!-- footer -->
-</body>
-</html>
diff --git a/fortran/doc/DevelGuide/test/tH5P_f90.html b/fortran/doc/DevelGuide/test/tH5P_f90.html
deleted file mode 100644
index edc0787..0000000
--- a/fortran/doc/DevelGuide/test/tH5P_f90.html
+++ /dev/null
@@ -1,47 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-type" content="text/html; charset=ISO-8859-1" />
-<link rel="stylesheet" href="../robodoc.css" type="text/css" />
-<title>./test/tH5P.f90</title>
-<!-- Source: ./test/tH5P.f90 -->
-</head>
-<body>
-<div id="logo">
-<a name="robo_top_of_doc">HDF5 FORTRAN Developer's Guide</a>
-</div> <!-- logo -->
-<div id="navigation">
-<a class="menuitem" href="../toc_index.html#top">Table of Contents</a>
-<a class="menuitem" href="../robo_sourcefiles.html#top">Sourcefiles</a>
-<a class="menuitem" href="../masterindex.html#top">Index</a>
-<a class="menuitem" href="../robo_functions.html#top">Functions</a>
-<a class="menuitem" href="../robo_modules.html#top">Modules</a>
-<a class="menuitem" href="../robo_procedures.html#top">Procedures</a>
-<a class="menuitem" href="../robo_subroutines.html#top">Subroutines</a>
-</div> <!-- navigation -->
-<div id="content">
-<hr />
-<a name="root2ffortran2ftest2ftH5P2ef90"></a>
-<a name="robo18"></a><h2>fortran/test/tH5P.f90</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="../robo_modules.html#robo_top_of_doc">Modules</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <a href="#robo_top_of_doc">tH5P.f90</a>
-</pre>
-<p class="item_name">FUNCTION</p>
-<pre> Basic testing of Fortran H5P APIs.
-</pre>
-<p class="item_name">CONTAINS SUBROUTINES</p>
-<pre> external_test, multi_file_test
-</pre>
-
-</div> <!-- content -->
-<div id="footer">
-<p>Generated from ./test/tH5P.f90 on Sun Aug 14 2011 22:49:37
-</p>
-</div> <!-- footer -->
-</body>
-</html>
diff --git a/fortran/doc/DevelGuide/test/tH5R_f90.html b/fortran/doc/DevelGuide/test/tH5R_f90.html
deleted file mode 100644
index fd44062..0000000
--- a/fortran/doc/DevelGuide/test/tH5R_f90.html
+++ /dev/null
@@ -1,51 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-type" content="text/html; charset=ISO-8859-1" />
-<link rel="stylesheet" href="../robodoc.css" type="text/css" />
-<title>./test/tH5R.f90</title>
-<!-- Source: ./test/tH5R.f90 -->
-</head>
-<body>
-<div id="logo">
-<a name="robo_top_of_doc">HDF5 FORTRAN Developer's Guide</a>
-</div> <!-- logo -->
-<div id="navigation">
-<a class="menuitem" href="../toc_index.html#top">Table of Contents</a>
-<a class="menuitem" href="../robo_sourcefiles.html#top">Sourcefiles</a>
-<a class="menuitem" href="../masterindex.html#top">Index</a>
-<a class="menuitem" href="../robo_functions.html#top">Functions</a>
-<a class="menuitem" href="../robo_modules.html#top">Modules</a>
-<a class="menuitem" href="../robo_procedures.html#top">Procedures</a>
-<a class="menuitem" href="../robo_subroutines.html#top">Subroutines</a>
-</div> <!-- navigation -->
-<div id="content">
-<hr />
-<a name="root2ffortran2ftest2ftH5R2ef90"></a>
-<a name="robo20"></a><h2>fortran/test/tH5R.f90</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="../robo_modules.html#robo_top_of_doc">Modules</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <a href="#robo_top_of_doc">tH5R.f90</a>
-</pre>
-<p class="item_name">FUNCTION</p>
-<pre> Basic testing of Fortran <a href="../src/H5Rff_f90.html#robo64">H5R</a>, Reference Interface, APIs.
-</pre>
-<p class="item_name">NOTES</p>
-<pre> Tests h5rcreate_f, h5rdereference_f, h5rget_name_f
- and H5Rget_object_type functions
-</pre>
-<p class="item_name">CONTAINS SUBROUTINES</p>
-<pre> refobjtest, refregtest
-</pre>
-
-</div> <!-- content -->
-<div id="footer">
-<p>Generated from ./test/tH5R.f90 on Sun Aug 14 2011 22:49:37
-</p>
-</div> <!-- footer -->
-</body>
-</html>
diff --git a/fortran/doc/DevelGuide/test/tH5S_f90.html b/fortran/doc/DevelGuide/test/tH5S_f90.html
deleted file mode 100644
index 5879d28..0000000
--- a/fortran/doc/DevelGuide/test/tH5S_f90.html
+++ /dev/null
@@ -1,54 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-type" content="text/html; charset=ISO-8859-1" />
-<link rel="stylesheet" href="../robodoc.css" type="text/css" />
-<title>./test/tH5S.f90</title>
-<!-- Source: ./test/tH5S.f90 -->
-</head>
-<body>
-<div id="logo">
-<a name="robo_top_of_doc">HDF5 FORTRAN Developer's Guide</a>
-</div> <!-- logo -->
-<div id="navigation">
-<a class="menuitem" href="../toc_index.html#top">Table of Contents</a>
-<a class="menuitem" href="../robo_sourcefiles.html#top">Sourcefiles</a>
-<a class="menuitem" href="../masterindex.html#top">Index</a>
-<a class="menuitem" href="../robo_functions.html#top">Functions</a>
-<a class="menuitem" href="../robo_modules.html#top">Modules</a>
-<a class="menuitem" href="../robo_procedures.html#top">Procedures</a>
-<a class="menuitem" href="../robo_subroutines.html#top">Subroutines</a>
-</div> <!-- navigation -->
-<div id="content">
-<hr />
-<a name="root2ffortran2ftest2ftH5S2ef90"></a>
-<a name="robo21"></a><h2>fortran/test/tH5S.f90</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="../robo_modules.html#robo_top_of_doc">Modules</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <a href="#robo_top_of_doc">tH5S.f90</a>
-</pre>
-<p class="item_name">FUNCTION</p>
-<pre> Basic testing of Fortran <a href="../src/H5Sff_f90.html#robo68">H5S</a>, Dataspace Interface, APIs.
-</pre>
-<p class="item_name">NOTES</p>
-<pre> Tests the following functionalities:
- <a href="../src/H5Sff_f90.html#robo378">h5screate_f</a>, <a href="../src/H5Sff_f90.html#robo377">h5scopy_f</a>, <a href="../src/H5Sff_f90.html#robo379">h5screate_simple_f</a>, <a href="../src/H5Sff_f90.html#robo395">h5sis_simple_f</a>,
- <a href="../src/H5Sff_f90.html#robo391">h5sget_simple_extent_dims_f</a>,<a href="../src/H5Sff_f90.html#robo392">h5sget_simple_extent_ndims_f</a>
- <a href="../src/H5Sff_f90.html#robo393">h5sget_simple_extent_npoints_f</a>, <a href="../src/H5Sff_f90.html#robo394">h5sget_simple_extent_type_f</a>,
- <a href="../src/H5Sff_f90.html#robo382">h5sextent_copy_f</a>, <a href="../src/H5Sff_f90.html#robo403">h5sset_extent_simple_f</a>, <a href="../src/H5Sff_f90.html#robo402">h5sset_extent_none_f</a>
-</pre>
-<p class="item_name">CONTAINS SUBROUTINES</p>
-<pre> dataspace_basic_test
-</pre>
-
-</div> <!-- content -->
-<div id="footer">
-<p>Generated from ./test/tH5S.f90 on Sun Aug 14 2011 22:49:37
-</p>
-</div> <!-- footer -->
-</body>
-</html>
diff --git a/fortran/doc/DevelGuide/test/tH5Sselect_f90.html b/fortran/doc/DevelGuide/test/tH5Sselect_f90.html
deleted file mode 100644
index e8eaa73..0000000
--- a/fortran/doc/DevelGuide/test/tH5Sselect_f90.html
+++ /dev/null
@@ -1,56 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-type" content="text/html; charset=ISO-8859-1" />
-<link rel="stylesheet" href="../robodoc.css" type="text/css" />
-<title>./test/tH5Sselect.f90</title>
-<!-- Source: ./test/tH5Sselect.f90 -->
-</head>
-<body>
-<div id="logo">
-<a name="robo_top_of_doc">HDF5 FORTRAN Developer's Guide</a>
-</div> <!-- logo -->
-<div id="navigation">
-<a class="menuitem" href="../toc_index.html#top">Table of Contents</a>
-<a class="menuitem" href="../robo_sourcefiles.html#top">Sourcefiles</a>
-<a class="menuitem" href="../masterindex.html#top">Index</a>
-<a class="menuitem" href="../robo_functions.html#top">Functions</a>
-<a class="menuitem" href="../robo_modules.html#top">Modules</a>
-<a class="menuitem" href="../robo_procedures.html#top">Procedures</a>
-<a class="menuitem" href="../robo_subroutines.html#top">Subroutines</a>
-</div> <!-- navigation -->
-<div id="content">
-<hr />
-<a name="root2ffortran2ftest2ftH5Sselect2ef90"></a>
-<a name="robo22"></a><h2>fortran/test/tH5Sselect.f90</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="../robo_modules.html#robo_top_of_doc">Modules</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <a href="#robo_top_of_doc">tH5Sselect.f90</a>
-</pre>
-<p class="item_name">FUNCTION</p>
-<pre> Basic testing of Fortran <a href="../src/H5Sff_f90.html#robo68">H5S</a>, Selection-related Dataspace Interface, APIs.
-</pre>
-<p class="item_name">NOTES</p>
-<pre> Tests the following functionalities:
- <a href="../src/H5Sff_f90.html#robo389">h5sget_select_npoints_f</a>, <a href="../src/H5Sff_f90.html#robo398">h5sselect_elements_f</a>, <a href="../src/H5Sff_f90.html#robo397">h5sselect_all_f</a>,
- <a href="../src/H5Sff_f90.html#robo400">h5sselect_none_f</a>, <a href="../src/H5Sff_f90.html#robo401">h5sselect_valid_f</a>, <a href="../src/H5Sff_f90.html#robo399">h5sselect_hyperslab_f</a>,
- <a href="../src/H5Sff_f90.html#robo384">h5sget_select_bounds_f</a>, <a href="../src/H5Sff_f90.html#robo386">h5sget_select_elem_pointlist_f</a>,
- <a href="../src/H5Sff_f90.html#robo385">h5sget_select_elem_npoints_f</a>, <a href="../src/H5Sff_f90.html#robo387">h5sget_select_hyper_blocklist_f</a>,
- <a href="../src/H5Sff_f90.html#robo388">h5sget_select_hyper_nblocks_f</a>, <a href="../src/H5Sff_f90.html#robo389">h5sget_select_npoints_f</a>
-</pre>
-<p class="item_name">CONTAINS SUBROUTINES</p>
-<pre> test_select_hyperslab, test_select_element, test_basic_select,
- test_select_point, test_select_combine, test_select_bounds
-</pre>
-
-</div> <!-- content -->
-<div id="footer">
-<p>Generated from ./test/tH5Sselect.f90 on Sun Aug 14 2011 22:49:37
-</p>
-</div> <!-- footer -->
-</body>
-</html>
diff --git a/fortran/doc/DevelGuide/test/tH5T_f90.html b/fortran/doc/DevelGuide/test/tH5T_f90.html
deleted file mode 100644
index 35006b3..0000000
--- a/fortran/doc/DevelGuide/test/tH5T_f90.html
+++ /dev/null
@@ -1,47 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-type" content="text/html; charset=ISO-8859-1" />
-<link rel="stylesheet" href="../robodoc.css" type="text/css" />
-<title>./test/tH5T.f90</title>
-<!-- Source: ./test/tH5T.f90 -->
-</head>
-<body>
-<div id="logo">
-<a name="robo_top_of_doc">HDF5 FORTRAN Developer's Guide</a>
-</div> <!-- logo -->
-<div id="navigation">
-<a class="menuitem" href="../toc_index.html#top">Table of Contents</a>
-<a class="menuitem" href="../robo_sourcefiles.html#top">Sourcefiles</a>
-<a class="menuitem" href="../masterindex.html#top">Index</a>
-<a class="menuitem" href="../robo_functions.html#top">Functions</a>
-<a class="menuitem" href="../robo_modules.html#top">Modules</a>
-<a class="menuitem" href="../robo_procedures.html#top">Procedures</a>
-<a class="menuitem" href="../robo_subroutines.html#top">Subroutines</a>
-</div> <!-- navigation -->
-<div id="content">
-<hr />
-<a name="root2ffortran2ftest2ftH5T2ef90"></a>
-<a name="robo23"></a><h2>fortran/test/tH5T.f90</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="../robo_modules.html#robo_top_of_doc">Modules</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <a href="#robo_top_of_doc">tH5T.f90</a>
-</pre>
-<p class="item_name">FUNCTION</p>
-<pre> Basic testing of Fortran <a href="../src/H5Tff_f90.html#robo70">H5T</a> APIs.
-</pre>
-<p class="item_name">CONTAINS SUBROUTINES</p>
-<pre> compoundtest, basic_data_type_test, enumtest, test_derived_flt
-</pre>
-
-</div> <!-- content -->
-<div id="footer">
-<p>Generated from ./test/tH5T.f90 on Sun Aug 14 2011 22:49:37
-</p>
-</div> <!-- footer -->
-</body>
-</html>
diff --git a/fortran/doc/DevelGuide/test/tH5VL_f90.html b/fortran/doc/DevelGuide/test/tH5VL_f90.html
deleted file mode 100644
index a34a01d..0000000
--- a/fortran/doc/DevelGuide/test/tH5VL_f90.html
+++ /dev/null
@@ -1,47 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-type" content="text/html; charset=ISO-8859-1" />
-<link rel="stylesheet" href="../robodoc.css" type="text/css" />
-<title>./test/tH5VL.f90</title>
-<!-- Source: ./test/tH5VL.f90 -->
-</head>
-<body>
-<div id="logo">
-<a name="robo_top_of_doc">HDF5 FORTRAN Developer's Guide</a>
-</div> <!-- logo -->
-<div id="navigation">
-<a class="menuitem" href="../toc_index.html#top">Table of Contents</a>
-<a class="menuitem" href="../robo_sourcefiles.html#top">Sourcefiles</a>
-<a class="menuitem" href="../masterindex.html#top">Index</a>
-<a class="menuitem" href="../robo_functions.html#top">Functions</a>
-<a class="menuitem" href="../robo_modules.html#top">Modules</a>
-<a class="menuitem" href="../robo_procedures.html#top">Procedures</a>
-<a class="menuitem" href="../robo_subroutines.html#top">Subroutines</a>
-</div> <!-- navigation -->
-<div id="content">
-<hr />
-<a name="root2ffortran2ftest2ftH5VL2ef90"></a>
-<a name="robo25"></a><h2>fortran/test/tH5VL.f90</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="../robo_modules.html#robo_top_of_doc">Modules</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <a href="#robo_top_of_doc">tH5VL.f90</a>
-</pre>
-<p class="item_name">FUNCTION</p>
-<pre> Basic testing of Fortran Variable_length datatypes APIs.
-</pre>
-<p class="item_name">CONTAINS SUBROUTINES</p>
-<pre> vl_test_integer, vl_test_real, vl_test_string
-</pre>
-
-</div> <!-- content -->
-<div id="footer">
-<p>Generated from ./test/tH5VL.f90 on Sun Aug 14 2011 22:49:37
-</p>
-</div> <!-- footer -->
-</body>
-</html>
diff --git a/fortran/doc/DevelGuide/test/tH5Z_f90.html b/fortran/doc/DevelGuide/test/tH5Z_f90.html
deleted file mode 100644
index 94325b9..0000000
--- a/fortran/doc/DevelGuide/test/tH5Z_f90.html
+++ /dev/null
@@ -1,47 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-type" content="text/html; charset=ISO-8859-1" />
-<link rel="stylesheet" href="../robodoc.css" type="text/css" />
-<title>./test/tH5Z.f90</title>
-<!-- Source: ./test/tH5Z.f90 -->
-</head>
-<body>
-<div id="logo">
-<a name="robo_top_of_doc">HDF5 FORTRAN Developer's Guide</a>
-</div> <!-- logo -->
-<div id="navigation">
-<a class="menuitem" href="../toc_index.html#top">Table of Contents</a>
-<a class="menuitem" href="../robo_sourcefiles.html#top">Sourcefiles</a>
-<a class="menuitem" href="../masterindex.html#top">Index</a>
-<a class="menuitem" href="../robo_functions.html#top">Functions</a>
-<a class="menuitem" href="../robo_modules.html#top">Modules</a>
-<a class="menuitem" href="../robo_procedures.html#top">Procedures</a>
-<a class="menuitem" href="../robo_subroutines.html#top">Subroutines</a>
-</div> <!-- navigation -->
-<div id="content">
-<hr />
-<a name="root2ffortran2ftest2ftH5Z2ef90"></a>
-<a name="robo26"></a><h2>fortran/test/tH5Z.f90</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="../robo_modules.html#robo_top_of_doc">Modules</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <a href="#robo_top_of_doc">tH5Z.f90</a>
-</pre>
-<p class="item_name">FUNCTION</p>
-<pre> Basic testing of Fortran <a href="../src/H5Zff_f90.html#robo74">H5Z</a> szip APIs.
-</pre>
-<p class="item_name">CONTAINS SUBROUTINES</p>
-<pre> filters_test, szip_test
-</pre>
-
-</div> <!-- content -->
-<div id="footer">
-<p>Generated from ./test/tH5Z.f90 on Sun Aug 14 2011 22:49:37
-</p>
-</div> <!-- footer -->
-</body>
-</html>
diff --git a/fortran/doc/DevelGuide/test/t_c.html b/fortran/doc/DevelGuide/test/t_c.html
deleted file mode 100644
index c9512a7..0000000
--- a/fortran/doc/DevelGuide/test/t_c.html
+++ /dev/null
@@ -1,44 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-type" content="text/html; charset=ISO-8859-1" />
-<link rel="stylesheet" href="../robodoc.css" type="text/css" />
-<title>./test/t.c</title>
-<!-- Source: ./test/t.c -->
-</head>
-<body>
-<div id="logo">
-<a name="robo_top_of_doc">HDF5 FORTRAN Developer's Guide</a>
-</div> <!-- logo -->
-<div id="navigation">
-<a class="menuitem" href="../toc_index.html#top">Table of Contents</a>
-<a class="menuitem" href="../robo_sourcefiles.html#top">Sourcefiles</a>
-<a class="menuitem" href="../masterindex.html#top">Index</a>
-<a class="menuitem" href="../robo_functions.html#top">Functions</a>
-<a class="menuitem" href="../robo_modules.html#top">Modules</a>
-<a class="menuitem" href="../robo_procedures.html#top">Procedures</a>
-<a class="menuitem" href="../robo_subroutines.html#top">Subroutines</a>
-</div> <!-- navigation -->
-<div id="content">
-<hr />
-<a name="root2ffortran2ftest2ftc2ec"></a>
-<a name="robo5"></a><h2>fortran/test/tc.c</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="../robo_modules.html#robo_top_of_doc">Modules</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> tc.c
-</pre>
-<p class="item_name">FUNCTION</p>
-<pre> This file contains C routines needed for the test programs.
-</pre>
-
-</div> <!-- content -->
-<div id="footer">
-<p>Generated from ./test/t.c on Sun Aug 14 2011 22:49:37
-</p>
-</div> <!-- footer -->
-</body>
-</html>
diff --git a/fortran/doc/DevelGuide/test/tf_f90.html b/fortran/doc/DevelGuide/test/tf_f90.html
deleted file mode 100644
index e3c51f4..0000000
--- a/fortran/doc/DevelGuide/test/tf_f90.html
+++ /dev/null
@@ -1,48 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-type" content="text/html; charset=ISO-8859-1" />
-<link rel="stylesheet" href="../robodoc.css" type="text/css" />
-<title>./test/tf.f90</title>
-<!-- Source: ./test/tf.f90 -->
-</head>
-<body>
-<div id="logo">
-<a name="robo_top_of_doc">HDF5 FORTRAN Developer's Guide</a>
-</div> <!-- logo -->
-<div id="navigation">
-<a class="menuitem" href="../toc_index.html#top">Table of Contents</a>
-<a class="menuitem" href="../robo_sourcefiles.html#top">Sourcefiles</a>
-<a class="menuitem" href="../masterindex.html#top">Index</a>
-<a class="menuitem" href="../robo_functions.html#top">Functions</a>
-<a class="menuitem" href="../robo_modules.html#top">Modules</a>
-<a class="menuitem" href="../robo_procedures.html#top">Procedures</a>
-<a class="menuitem" href="../robo_subroutines.html#top">Subroutines</a>
-</div> <!-- navigation -->
-<div id="content">
-<hr />
-<a name="root2ffortran2ftest2ftf2ef90"></a>
-<a name="robo6"></a><h2>fortran/test/tf.f90</h2>
-
-<p>[ <a href="#robo_top_of_doc">Top</a> ] [ <a href="../robo_modules.html#robo_top_of_doc">Modules</a> ]</p>
-<p class="item_name">NAME</p>
-<pre> <a href="#robo_top_of_doc">tf.f90</a>
-</pre>
-<p class="item_name">FUNCTION</p>
-<pre> Contains subroutines which are needed in all the hdf5 fortran tests
-</pre>
-<p class="item_name">CONTAINS SUBROUTINES</p>
-<pre> write_test_status, check, verify, verifyLogical, verifyString, h5_fixname_f,
- h5_cleanup_f, h5_exit_f, h5_env_nocleanup_f
-</pre>
-
-</div> <!-- content -->
-<div id="footer">
-<p>Generated from ./test/tf.f90 on Sun Aug 14 2011 22:49:37
-</p>
-</div> <!-- footer -->
-</body>
-</html>
diff --git a/fortran/doc/DevelGuide/toc_index.html b/fortran/doc/DevelGuide/toc_index.html
deleted file mode 100644
index 94a2792..0000000
--- a/fortran/doc/DevelGuide/toc_index.html
+++ /dev/null
@@ -1,552 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Style-Type" content="text/css" />
-<meta http-equiv="Content-type" content="text/html; charset=ISO-8859-1" />
-<link rel="stylesheet" href="./robodoc.css" type="text/css" />
-<title>Table of Contents</title>
-<!-- Source: ./ -->
-</head>
-<body>
-<div id="logo">
-<a name="robo_top_of_doc">HDF5 FORTRAN Developer's Guide</a>
-</div> <!-- logo -->
-<div id="extra">
-</div> <!-- extra -->
-<div id="navigation">
-<a class="menuitem" href="#top">Table of Contents</a>
-<a class="menuitem" href="./robo_sourcefiles.html#top">Sourcefiles</a>
-<a class="menuitem" href="./masterindex.html#top">Index</a>
-<a class="menuitem" href="./robo_functions.html#top">Functions</a>
-<a class="menuitem" href="./robo_modules.html#top">Modules</a>
-<a class="menuitem" href="./robo_procedures.html#top">Procedures</a>
-<a class="menuitem" href="./robo_subroutines.html#top">Subroutines</a>
-</div> <!-- navigation -->
-<div id="content">
-<h3>TABLE OF CONTENTS</h3>
-<ul>
-<li><a href="./test/fflush1_f90.html#robo0">fortran/test/fflush1.f90</a></li>
-<li><a href="./test/fflush2_f90.html#robo1">fortran/test/fflush2.f90</a></li>
-<li><a href="./test/fortranlib_test_f90.html#robo2">fortran/test/fortranlib_test.f90</a></li>
-<li><a href="./test/fortranlib_test_1_8_f90.html#robo3">fortran/test/fortranlib_test_1_8.f90</a></li>
-<li><a href="./test/fortranlib_test_F03_f90.html#robo4">fortran/test/fortranlib_test_F03.f90</a></li>
-<li><a href="./test/t_c.html#robo5">fortran/test/tc.c</a></li>
-<li><a href="./test/tf_f90.html#robo6">fortran/test/tf.f90</a></li>
-<li><a href="./test/tH5A_f90.html#robo7">fortran/test/tH5A.f90</a></li>
-<li><a href="./test/tH5A_1_8_f90.html#robo8">fortran/test/tH5A_1_8.f90</a></li>
-<li><a href="./test/tH5D_f90.html#robo9">fortran/test/tH5D.f90</a></li>
-<li><a href="./test/tH5E_f90.html#robo10">fortran/test/tH5E.f90</a></li>
-<li><a href="./test/tH5E_F03_f90.html#robo11">fortran/test/tH5E_F03.f90</a></li>
-<li><a href="./test/tH5F_f90.html#robo12">fortran/test/tH5F.f90</a></li>
-<li><a href="./test/tH5G_f90.html#robo13">fortran/test/tH5G.f90</a></li>
-<li><a href="./test/tH5G_1_8_f90.html#robo14">fortran/test/tH5G_1_8.f90</a></li>
-<li><a href="./test/tH5I_f90.html#robo15">fortran/test/tH5I.f90</a></li>
-<li><a href="./test/tH5L_F03_f90.html#robo16">fortran/test/tH5L_F03.f90</a></li>
-<li><a href="./test/tH5O_f90.html#robo17">fortran/test/tH5O.f90</a></li>
-<li><a href="./test/tH5P_f90.html#robo18">fortran/test/tH5P.f90</a></li>
-<li><a href="./test/tH5P_F03_f90.html#robo19">fortran/test/tH5P_F03.f90</a></li>
-<li><a href="./test/tH5R_f90.html#robo20">fortran/test/tH5R.f90</a></li>
-<li><a href="./test/tH5S_f90.html#robo21">fortran/test/tH5S.f90</a></li>
-<li><a href="./test/tH5Sselect_f90.html#robo22">fortran/test/tH5Sselect.f90</a></li>
-<li><a href="./test/tH5T_f90.html#robo23">fortran/test/tH5T.f90</a></li>
-<li><a href="./test/tH5T_F03_f90.html#robo24">fortran/test/tH5T_F03.f90</a></li>
-<li><a href="./test/tH5VL_f90.html#robo25">fortran/test/tH5VL.f90</a></li>
-<li><a href="./test/tH5Z_f90.html#robo26">fortran/test/tH5Z.f90</a></li>
-<li><a href="./src/H5Aff_f90.html#robo27">H5A</a></li>
-<ul>
-<li><a href="./src/H5Aff_f90.html#robo85">h5aclose_f</a></li>
-<li><a href="./src/H5Aff_f90.html#robo86">h5acreate_by_name_f</a></li>
-<li><a href="./src/H5Aff_f90.html#robo87">h5acreate_f</a></li>
-<li><a href="./src/H5Aff_f90.html#robo88">h5adelete_by_idx_f</a></li>
-<li><a href="./src/H5Aff_f90.html#robo89">h5adelete_by_name_f</a></li>
-<li><a href="./src/H5Aff_f90.html#robo90">h5adelete_f</a></li>
-<li><a href="./src/H5Aff_f90.html#robo91">H5Aexists_by_name_f</a></li>
-<li><a href="./src/H5Aff_f90.html#robo92">H5Aexists_f</a></li>
-<li><a href="./src/H5Aff_f90.html#robo93">h5aget_create_plist_f</a></li>
-<li><a href="./src/H5Aff_f90.html#robo94">h5aget_info_by_idx_f</a></li>
-<li><a href="./src/H5Aff_f90.html#robo95">h5aget_info_by_name_f</a></li>
-<li><a href="./src/H5Aff_f90.html#robo96">h5aget_info_f</a></li>
-<li><a href="./src/H5Aff_f90.html#robo97">h5aget_name_by_idx_f</a></li>
-<li><a href="./src/H5Aff_f90.html#robo98">h5aget_name_f</a></li>
-<li><a href="./src/H5Aff_f90.html#robo99">h5aget_num_attrs_f</a></li>
-<li><a href="./src/H5Aff_f90.html#robo100">h5aget_space_f</a></li>
-<li><a href="./src/H5Aff_f90.html#robo101">h5aget_storage_size_f</a></li>
-<li><a href="./src/H5Aff_f90.html#robo102">h5aget_type_f</a></li>
-<li><a href="./src/H5Aff_f90.html#robo103">h5aopen_by_idx_f</a></li>
-<li><a href="./src/H5Aff_f90.html#robo104">H5Aopen_by_name_f</a></li>
-<li><a href="./src/H5Aff_f90.html#robo105">h5aopen_f</a></li>
-<li><a href="./src/H5Aff_f90.html#robo106">h5aopen_idx_f</a></li>
-<li><a href="./src/H5Aff_f90.html#robo107">h5aopen_name_f</a></li>
-<li><a href="./src/H5Aff_f90.html#robo109">h5arename_by_name_f</a></li>
-<li><a href="./src/H5Aff_f90.html#robo110">h5arename_f</a></li>
-</ul>
-<li><a href="./src/H5Aff_F03_f90.html#robo28">H5A (F03)</a></li>
-<ul>
-<li><a href="./src/H5Aff_F03_f90.html#robo108">h5aread_f</a></li>
-</ul>
-<li><a href="./src/H5Aff_F90_f90.html#robo29">H5A (F90)</a></li>
-<li><a href="./src/H5Af_c.html#robo30">H5Af</a></li>
-<li><a href="./src/H5Dff_f90.html#robo31">H5D</a></li>
-<ul>
-<li><a href="./src/H5Dff_f90.html#robo113">h5dclose_f</a></li>
-<li><a href="./src/H5Dff_f90.html#robo114">h5dcreate_anon_f</a></li>
-<li><a href="./src/H5Dff_f90.html#robo115">h5dcreate_f</a></li>
-<li><a href="./src/H5Dff_f90.html#robo116">h5dget_access_plist_f</a></li>
-<li><a href="./src/H5Dff_f90.html#robo117">h5dget_create_plist_f</a></li>
-<li><a href="./src/H5Dff_f90.html#robo118">h5dget_space_f</a></li>
-<li><a href="./src/H5Dff_f90.html#robo119">h5dget_space_status_f</a></li>
-<li><a href="./src/H5Dff_f90.html#robo120">h5dget_storage_size_f</a></li>
-<li><a href="./src/H5Dff_f90.html#robo121">h5dget_type_f</a></li>
-<li><a href="./src/H5Dff_f90.html#robo123">h5dopen_f</a></li>
-<li><a href="./src/H5Dff_F90_f90.html#robo124">h5dread_f</a></li>
-<li><a href="./src/H5Dff_f90.html#robo125">h5dset_extent</a></li>
-<li><a href="./src/H5Dff_f90.html#robo126">h5dvlen_get_max_len_f</a></li>
-<li><a href="./src/H5Dff_F03_f90.html#robo127">h5dvlen_reclaim</a></li>
-</ul>
-<li><a href="./src/H5Dff_F03_f90.html#robo32">H5D (F03)</a></li>
-<li><a href="./src/H5Dff_F90_f90.html#robo33">H5D (F90)</a></li>
-<li><a href="./src/H5Df_c.html#robo34">H5Df</a></li>
-<li><a href="./src/H5Eff_f90.html#robo35">H5E</a></li>
-<ul>
-<li><a href="./src/H5Eff_f90.html#robo128">h5eclear_f</a></li>
-<li><a href="./src/H5Eff_F03_f90.html#robo129">h5eget_auto_f</a></li>
-<li><a href="./src/H5Eff_f90.html#robo130">h5eget_major_f</a></li>
-<li><a href="./src/H5Eff_f90.html#robo131">h5eget_minor_f</a></li>
-<li><a href="./src/H5Eff_f90.html#robo132">h5eprint_f</a></li>
-<li><a href="./src/H5Eff_F03_f90.html#robo133">h5eset_auto2_f</a></li>
-<li><a href="./src/H5Eff_F90_f90.html#robo134">h5eset_auto_f</a></li>
-</ul>
-<li><a href="./src/H5Eff_F03_f90.html#robo36">H5E (F03)</a></li>
-<li><a href="./src/H5Eff_F90_f90.html#robo37">H5E (F90)</a></li>
-<li><a href="./src/H5Ef_c.html#robo38">H5Ef</a></li>
-<li><a href="./src/H5Fff_f90.html#robo39">H5F</a></li>
-<ul>
-<li><a href="./src/H5Fff_f90.html#robo135">h5fclose_f</a></li>
-<li><a href="./src/H5Fff_f90.html#robo136">h5fcreate_f</a></li>
-<li><a href="./src/H5Fff_f90.html#robo137">h5fflush_f</a></li>
-<li><a href="./src/H5Fff_f90.html#robo138">h5fget_access_plist_f</a></li>
-<li><a href="./src/H5Fff_f90.html#robo139">h5fget_create_plist_f</a></li>
-<li><a href="./src/H5Fff_f90.html#robo140">h5fget_filesize_f</a></li>
-<li><a href="./src/H5Fff_f90.html#robo141">h5fget_freespace_f</a></li>
-<li><a href="./src/H5Fff_f90.html#robo142">h5fget_name_f</a></li>
-<li><a href="./src/H5Fff_f90.html#robo143">h5fget_obj_count_f</a></li>
-<li><a href="./src/H5Fff_f90.html#robo144">h5fget_obj_ids_f</a></li>
-<li><a href="./src/H5Fff_f90.html#robo145">h5fis_hdf5_f</a></li>
-<li><a href="./src/H5Fff_f90.html#robo146">h5fmount_f</a></li>
-<li><a href="./src/H5Fff_f90.html#robo147">h5fopen_f</a></li>
-<li><a href="./src/H5Fff_f90.html#robo148">h5freopen_f</a></li>
-<li><a href="./src/H5Fff_f90.html#robo149">h5funmount_f</a></li>
-</ul>
-<li><a href="./src/H5f90kit_c.html#robo40">H5f90kit</a></li>
-<li><a href="./src/H5FDmpioff_f90.html#robo41">H5FDMPIO</a></li>
-<ul>
-<li><a href="./src/H5FDmpioff_f90.html#robo231">h5pget_dxpl_mpio_f</a></li>
-<li><a href="./src/H5FDmpioff_f90.html#robo239">h5pget_fapl_mpio_f</a></li>
-<li><a href="./src/H5FDmpioff_f90.html#robo240">h5pget_fapl_mpiposix_f</a></li>
-<li><a href="./src/H5FDmpioff_f90.html#robo314">h5pset_dxpl_mpio_f</a></li>
-<li><a href="./src/H5FDmpioff_f90.html#robo320">h5pset_fapl_mpio_f</a></li>
-<li><a href="./src/H5FDmpioff_f90.html#robo321">h5pset_fapl_mpiposix_f</a></li>
-</ul>
-<li><a href="./src/H5FDmpiof_c.html#robo42">H5FDmpiof</a></li>
-<li><a href="./src/H5Ff_c.html#robo43">H5Ff</a></li>
-<li><a href="./src/H5Gff_f90.html#robo44">H5G</a></li>
-<ul>
-<li><a href="./src/H5Gff_f90.html#robo151">h5gclose_f</a></li>
-<li><a href="./src/H5Gff_f90.html#robo152">H5Gcreate_anon_f</a></li>
-<li><a href="./src/H5Gff_f90.html#robo153">h5gcreate_f</a></li>
-<li><a href="./src/H5Gff_f90.html#robo155">h5gget_comment_f</a></li>
-<li><a href="./src/H5Gff_f90.html#robo156">H5Gget_create_plist_f</a></li>
-<li><a href="./src/H5Gff_f90.html#robo157">h5gget_info_by_idx_f</a></li>
-<li><a href="./src/H5Gff_f90.html#robo158">h5gget_info_by_name_f</a></li>
-<li><a href="./src/H5Gff_f90.html#robo159">h5gget_info_f</a></li>
-<li><a href="./src/H5Gff_f90.html#robo160">h5gget_linkval_f</a></li>
-<li><a href="./src/H5Gff_f90.html#robo161">h5gget_obj_info_idx_f</a></li>
-<li><a href="./src/H5Gff_f90.html#robo162">h5glink2_f</a></li>
-<li><a href="./src/H5Gff_f90.html#robo163">h5glink_f</a></li>
-<li><a href="./src/H5Gff_f90.html#robo164">h5gmove2_f</a></li>
-<li><a href="./src/H5Gff_f90.html#robo165">h5gmove_f</a></li>
-<li><a href="./src/H5Gff_f90.html#robo166">h5gn_members_f</a></li>
-<li><a href="./src/H5Gff_f90.html#robo167">h5gopen_f</a></li>
-<li><a href="./src/H5Gff_f90.html#robo168">h5gset_comment_f</a></li>
-<li><a href="./src/H5Gff_f90.html#robo169">h5gunlink_f</a></li>
-</ul>
-<li><a href="./src/H5Gf_c.html#robo45">H5Gf</a></li>
-<li><a href="./src/H5f90global_f90.html#robo46">H5GLOBAL</a></li>
-<li><a href="./src/H5Iff_f90.html#robo47">H5I</a></li>
-<ul>
-<li><a href="./src/H5Iff_f90.html#robo170">h5idec_ref_f</a></li>
-<li><a href="./src/H5Iff_f90.html#robo171">h5iget_file_id_f</a></li>
-<li><a href="./src/H5Iff_f90.html#robo172">h5iget_name_f</a></li>
-<li><a href="./src/H5Iff_f90.html#robo173">h5iget_ref_f</a></li>
-<li><a href="./src/H5Iff_f90.html#robo174">h5iget_type_f</a></li>
-<li><a href="./src/H5Iff_f90.html#robo175">h5iinc_ref_f</a></li>
-<li><a href="./src/H5Iff_f90.html#robo176">h5iis_valid_f</a></li>
-</ul>
-<li><a href="./src/H5If_c.html#robo48">H5If</a></li>
-<li><a href="./src/H5Lff_f90.html#robo49">H5L</a></li>
-<ul>
-<li><a href="./src/H5Lff_f90.html#robo178">h5lcopy_f</a></li>
-<li><a href="./src/H5Lff_f90.html#robo179">H5Lcreate_external_f</a></li>
-<li><a href="./src/H5Lff_f90.html#robo180">H5Lcreate_hard_f</a></li>
-<li><a href="./src/H5Lff_f90.html#robo181">H5Lcreate_soft_f</a></li>
-<li><a href="./src/H5Lff_f90.html#robo182">h5ldelete_by_idx_f</a></li>
-<li><a href="./src/H5Lff_f90.html#robo183">h5ldelete_f</a></li>
-<li><a href="./src/H5Lff_f90.html#robo184">H5Lexists_f</a></li>
-<li><a href="./src/H5Lff_f90.html#robo185">h5lget_info_by_idx_f</a></li>
-<li><a href="./src/H5Lff_f90.html#robo186">h5lget_info_f</a></li>
-<li><a href="./src/H5Lff_f90.html#robo187">h5lget_name_by_idx_f</a></li>
-<li><a href="./src/H5Lff_f90.html#robo188">h5lis_registered_f</a></li>
-<li><a href="./src/H5Lff_f90.html#robo191">h5lmove_f</a></li>
-</ul>
-<li><a href="./src/H5Lff_F03_f90.html#robo50">H5L (F03)</a></li>
-<ul>
-<li><a href="./src/H5Lff_F03_f90.html#robo189">h5literate_by_name_f</a></li>
-<li><a href="./src/H5Lff_F03_f90.html#robo190">h5literate_f</a></li>
-</ul>
-<li><a href="./src/H5Lff_F90_f90.html#robo51">H5L (F90)</a></li>
-<li><a href="./src/H5Lf_c.html#robo52">H5Lf</a></li>
-<li><a href="./src/H5_ff_f90.html#robo53">H5LIB</a></li>
-<ul>
-<li><a href="./src/H5_ff_f90.html#robo111">h5check_version_f</a></li>
-<li><a href="./src/H5_ff_f90.html#robo112">h5close_f</a></li>
-<li><a href="./src/H5_ff_f90.html#robo122">h5dont_atexit_f</a></li>
-<li><a href="./src/H5_ff_f90.html#robo150">h5garbage_collect_f</a></li>
-<li><a href="./src/H5_ff_f90.html#robo154">h5get_libversion_f</a></li>
-<li><a href="./src/H5_ff_f90.html#robo177">h5kind_to_type</a></li>
-<li><a href="./src/H5_ff_f90.html#robo198">h5open_f</a></li>
-</ul>
-<li><a href="./src/H5_ff_F03_f90.html#robo54">H5LIB_PROVISIONAL</a></li>
-<ul>
-<li><a href="./src/H5_ff_F03_f90.html#robo194">h5offsetof</a></li>
-</ul>
-<li><a href="./src/H5_ff_F90_f90.html#robo55">H5LIB_PROVISIONAL (F90)</a></li>
-<li><a href="./src/H5Off_f90.html#robo56">H5O</a></li>
-<ul>
-<li><a href="./src/H5Off_f90.html#robo193">h5oclose_f</a></li>
-<li><a href="./src/H5Off_f90.html#robo195">h5olink_f</a></li>
-<li><a href="./src/H5Off_f90.html#robo196">h5oopen_f</a></li>
-<li><a href="./src/H5Off_f90.html#robo197">h5open_by_addr_f</a></li>
-</ul>
-<li><a href="./src/H5Off_F03_f90.html#robo57">H5O (F03)</a></li>
-<ul>
-<li><a href="./src/H5Off_F03_f90.html#robo199">h5ovisit_f</a></li>
-</ul>
-<li><a href="./src/H5Off_F90_f90.html#robo58">H5O (F90)</a></li>
-<li><a href="./src/H5Of_c.html#robo59">H5Of</a></li>
-<li><a href="./src/H5Pff_F90_f90.html#robo60">H5P (_F90)</a></li>
-<li><a href="./src/H5Pff_F03_f90.html#robo61">H5P (F03)</a></li>
-<ul>
-<li><a href="./src/H5Pff_F03_f90.html#robo80"> h5pget_double</a></li>
-<li><a href="./src/H5Pff_F03_f90.html#robo205">h5pcreate_class_f</a></li>
-<li><a href="./src/H5Pff_F03_f90.html#robo218">h5pget_char</a></li>
-<li><a href="./src/H5Pff_F03_f90.html#robo247">h5pget_integer</a></li>
-<li><a href="./src/H5Pff_F03_f90.html#robo261">h5pget_real</a></li>
-<li><a href="./src/H5Pff_F03_f90.html#robo273">h5pinsert_char</a></li>
-<li><a href="./src/H5Pff_F03_f90.html#robo274">h5pinsert_double</a></li>
-<li><a href="./src/H5Pff_F03_f90.html#robo276">h5pinsert_integer</a></li>
-<li><a href="./src/H5Pff_F03_f90.html#robo278">h5pinsert_ptr</a></li>
-<li><a href="./src/H5Pff_F03_f90.html#robo280">h5pinsert_real</a></li>
-<li><a href="./src/H5Pff_F03_f90.html#robo283">h5pregister_char</a></li>
-<li><a href="./src/H5Pff_F03_f90.html#robo286">h5pregister_double</a></li>
-<li><a href="./src/H5Pff_F03_f90.html#robo287">h5pregister_integer</a></li>
-<li><a href="./src/H5Pff_F03_f90.html#robo289">h5pregister_ptr</a></li>
-<li><a href="./src/H5Pff_F03_f90.html#robo291">h5pregister_real</a></li>
-<li><a href="./src/H5Pff_F03_f90.html#robo294">h5pset(get)fill_value_f</a></li>
-<li><a href="./src/H5Pff_F03_f90.html#robo303">h5pset_char</a></li>
-<li><a href="./src/H5Pff_F03_f90.html#robo313">h5pset_double</a></li>
-<li><a href="./src/H5Pff_F03_f90.html#robo334">h5pset_integer</a></li>
-<li><a href="./src/H5Pff_F03_f90.html#robo345">h5pset_real</a></li>
-</ul>
-<li><a href="./src/H5Pff_f90.html#robo62">H5P (F90)</a></li>
-<ul>
-<li><a href="./src/H5Pff_F90_f90.html#robo206">h5pcreate_class_f</a></li>
-<li><a href="./src/H5Pff_F90_f90.html#robo219">h5pget_char</a></li>
-<li><a href="./src/H5Pff_F90_f90.html#robo229">h5pget_double</a></li>
-<li><a href="./src/H5Pff_F90_f90.html#robo248">h5pget_integer</a></li>
-<li><a href="./src/H5Pff_F90_f90.html#robo260">h5pget_real</a></li>
-<li><a href="./src/H5Pff_F90_f90.html#robo272">h5pinsert_char</a></li>
-<li><a href="./src/H5Pff_F90_f90.html#robo275">h5pinsert_double</a></li>
-<li><a href="./src/H5Pff_F90_f90.html#robo277">h5pinsert_integer</a></li>
-<li><a href="./src/H5Pff_F90_f90.html#robo279">h5pinsert_real</a></li>
-<li><a href="./src/H5Pff_F90_f90.html#robo284">h5pregister_char</a></li>
-<li><a href="./src/H5Pff_F90_f90.html#robo285">h5pregister_double</a></li>
-<li><a href="./src/H5Pff_F90_f90.html#robo288">h5pregister_integer</a></li>
-<li><a href="./src/H5Pff_F90_f90.html#robo290">h5pregister_real</a></li>
-<li><a href="./src/H5Pff_F90_f90.html#robo295">h5pset(get)fill_value_f</a></li>
-<li><a href="./src/H5Pff_F90_f90.html#robo304">h5pset_char</a></li>
-<li><a href="./src/H5Pff_F90_f90.html#robo312">h5pset_double</a></li>
-<li><a href="./src/H5Pff_F90_f90.html#robo333">h5pset_integer</a></li>
-<li><a href="./src/H5Pff_F90_f90.html#robo346">h5pset_real</a></li>
-</ul>
-<li><a href="./src/H5Pf_c.html#robo63">H5Pf</a></li>
-<li><a href="./src/H5Rff_f90.html#robo64">H5R</a></li>
-<ul>
-<li><a href="./src/H5Rff_f90.html#robo374">h5rget_object_type_obj_f</a></li>
-<li><a href="./src/H5Rff_f90.html#robo375">h5rget_region_region_f</a></li>
-</ul>
-<li><a href="./src/H5Rff_F03_f90.html#robo65">H5R (F03)</a></li>
-<ul>
-<li><a href="./src/H5Rff_F03_f90.html#robo358">h5rcreate_object_f</a></li>
-<li><a href="./src/H5Rff_F03_f90.html#robo360">h5rcreate_ptr_f</a></li>
-<li><a href="./src/H5Rff_F03_f90.html#robo362">h5rcreate_region_f</a></li>
-<li><a href="./src/H5Rff_F03_f90.html#robo363">h5rdereference_object_f</a></li>
-<li><a href="./src/H5Rff_F03_f90.html#robo365">h5rdereference_ptr_f</a></li>
-<li><a href="./src/H5Rff_F03_f90.html#robo366">h5rdereference_region_f</a></li>
-<li><a href="./src/H5Rff_F03_f90.html#robo369">h5rget_name_object_f</a></li>
-<li><a href="./src/H5Rff_F03_f90.html#robo370">h5rget_name_ptr_f</a></li>
-<li><a href="./src/H5Rff_F03_f90.html#robo372">h5rget_name_region_f</a></li>
-<li><a href="./src/H5Rff_F03_f90.html#robo373">h5rget_obj_type_f</a></li>
-</ul>
-<li><a href="./src/H5Rff_F90_f90.html#robo66">H5R (F90)</a></li>
-<ul>
-<li><a href="./src/H5Rff_F90_f90.html#robo359">h5rcreate_object_f</a></li>
-<li><a href="./src/H5Rff_F90_f90.html#robo361">h5rcreate_region_f</a></li>
-<li><a href="./src/H5Rff_F90_f90.html#robo364">h5rdereference_object_f</a></li>
-<li><a href="./src/H5Rff_F90_f90.html#robo367">h5rdereference_region_f</a></li>
-<li><a href="./src/H5Rff_F90_f90.html#robo368">h5rget_name_object_f</a></li>
-<li><a href="./src/H5Rff_F90_f90.html#robo371">h5rget_name_region_f</a></li>
-</ul>
-<li><a href="./src/H5Rf_c.html#robo67">H5Rf</a></li>
-<li><a href="./src/H5Sff_f90.html#robo68">H5S</a></li>
-<ul>
-<li><a href="./src/H5Sff_f90.html#robo376">h5sclose_f</a></li>
-<li><a href="./src/H5Sff_f90.html#robo377">h5scopy_f</a></li>
-<li><a href="./src/H5Sff_f90.html#robo378">h5screate_f</a></li>
-<li><a href="./src/H5Sff_f90.html#robo379">h5screate_simple_f</a></li>
-<li><a href="./src/H5Sff_f90.html#robo380">H5Sdecode_f</a></li>
-<li><a href="./src/H5Sff_f90.html#robo381">H5Sencode_f</a></li>
-<li><a href="./src/H5Sff_f90.html#robo382">h5sextent_copy_f</a></li>
-<li><a href="./src/H5Sff_f90.html#robo383">h5sextent_equal_f</a></li>
-<li><a href="./src/H5Sff_f90.html#robo384">h5sget_select_bounds_f</a></li>
-<li><a href="./src/H5Sff_f90.html#robo385">h5sget_select_elem_npoints_f</a></li>
-<li><a href="./src/H5Sff_f90.html#robo386">h5sget_select_elem_pointlist_f</a></li>
-<li><a href="./src/H5Sff_f90.html#robo387">h5sget_select_hyper_blocklist_f</a></li>
-<li><a href="./src/H5Sff_f90.html#robo388">h5sget_select_hyper_nblocks_f</a></li>
-<li><a href="./src/H5Sff_f90.html#robo389">h5sget_select_npoints_f</a></li>
-<li><a href="./src/H5Sff_f90.html#robo390">h5sget_select_type_f</a></li>
-<li><a href="./src/H5Sff_f90.html#robo391">h5sget_simple_extent_dims_f</a></li>
-<li><a href="./src/H5Sff_f90.html#robo392">h5sget_simple_extent_ndims_f</a></li>
-<li><a href="./src/H5Sff_f90.html#robo393">h5sget_simple_extent_npoints_f</a></li>
-<li><a href="./src/H5Sff_f90.html#robo394">h5sget_simple_extent_type_f</a></li>
-<li><a href="./src/H5Sff_f90.html#robo395">h5sis_simple_f</a></li>
-<li><a href="./src/H5Sff_f90.html#robo396">h5soffset_simple_f</a></li>
-<li><a href="./src/H5Sff_f90.html#robo397">h5sselect_all_f</a></li>
-<li><a href="./src/H5Sff_f90.html#robo398">h5sselect_elements_f</a></li>
-<li><a href="./src/H5Sff_f90.html#robo399">h5sselect_hyperslab_f</a></li>
-<li><a href="./src/H5Sff_f90.html#robo400">h5sselect_none_f</a></li>
-<li><a href="./src/H5Sff_f90.html#robo401">h5sselect_valid_f</a></li>
-<li><a href="./src/H5Sff_f90.html#robo402">h5sset_extent_none_f</a></li>
-<li><a href="./src/H5Sff_f90.html#robo403">h5sset_extent_simple_f</a></li>
-</ul>
-<li><a href="./src/H5Sf_c.html#robo69">H5Sf</a></li>
-<li><a href="./src/H5Tff_f90.html#robo70">H5T</a></li>
-<ul>
-<li><a href="./src/H5Tff_f90.html#robo404">h5tarray_create_f</a></li>
-<li><a href="./src/H5Tff_f90.html#robo405">h5tclose_f</a></li>
-<li><a href="./src/H5Tff_f90.html#robo406">h5tcommit_anon_f</a></li>
-<li><a href="./src/H5Tff_f90.html#robo407">h5tcommit_f</a></li>
-<li><a href="./src/H5Tff_f90.html#robo408">h5tcommitted_f</a></li>
-<li><a href="./src/H5Tff_f90.html#robo409">h5tcompiler_conv_f</a></li>
-<li><a href="./src/H5Tff_f90.html#robo411">h5tcopy_f</a></li>
-<li><a href="./src/H5Tff_f90.html#robo412">h5tcreate_f</a></li>
-<li><a href="./src/H5Tff_f90.html#robo413">H5Tdecode_f</a></li>
-<li><a href="./src/H5Tff_f90.html#robo414">h5tenaum_insert_f</a></li>
-<li><a href="./src/H5Tff_f90.html#robo415">H5Tencode_f</a></li>
-<li><a href="./src/H5Tff_f90.html#robo416">h5tenum_create_f</a></li>
-<li><a href="./src/H5Tff_f90.html#robo417">h5tenum_nameof_f</a></li>
-<li><a href="./src/H5Tff_f90.html#robo418">h5tenum_valuof_f</a></li>
-<li><a href="./src/H5Tff_f90.html#robo419">h5tequal_f</a></li>
-<li><a href="./src/H5Tff_f90.html#robo422">h5tget_array_dims_f</a></li>
-<li><a href="./src/H5Tff_f90.html#robo423">h5tget_array_ndims_f</a></li>
-<li><a href="./src/H5Tff_f90.html#robo424">h5tget_class_f</a></li>
-<li><a href="./src/H5Tff_f90.html#robo425">h5tget_create_plist_f</a></li>
-<li><a href="./src/H5Tff_f90.html#robo426">h5tget_cset_f</a></li>
-<li><a href="./src/H5Tff_f90.html#robo427">h5tget_ebias_f</a></li>
-<li><a href="./src/H5Tff_f90.html#robo428">h5tget_fields_f</a></li>
-<li><a href="./src/H5Tff_f90.html#robo429">h5tget_inpad_f</a></li>
-<li><a href="./src/H5Tff_f90.html#robo430">h5tget_member_class_f</a></li>
-<li><a href="./src/H5Tff_f90.html#robo431">h5tget_member_index_f</a></li>
-<li><a href="./src/H5Tff_f90.html#robo432">h5tget_member_name_f</a></li>
-<li><a href="./src/H5Tff_f90.html#robo433">h5tget_member_offset_f</a></li>
-<li><a href="./src/H5Tff_f90.html#robo434">h5tget_member_type_f</a></li>
-<li><a href="./src/H5Tff_f90.html#robo435">h5tget_member_value_f</a></li>
-<li><a href="./src/H5Tff_f90.html#robo436">h5tget_native_type_f</a></li>
-<li><a href="./src/H5Tff_f90.html#robo437">h5tget_nmembers_f</a></li>
-<li><a href="./src/H5Tff_f90.html#robo438">h5tget_norm_f</a></li>
-<li><a href="./src/H5Tff_f90.html#robo439">h5tget_offset_f</a></li>
-<li><a href="./src/H5Tff_f90.html#robo440">h5tget_order_f</a></li>
-<li><a href="./src/H5Tff_f90.html#robo441">h5tget_pad_f</a></li>
-<li><a href="./src/H5Tff_f90.html#robo442">h5tget_precision_f</a></li>
-<li><a href="./src/H5Tff_f90.html#robo443">h5tget_sign_f</a></li>
-<li><a href="./src/H5Tff_f90.html#robo444">h5tget_size_f</a></li>
-<li><a href="./src/H5Tff_f90.html#robo445">h5tget_strpad_f</a></li>
-<li><a href="./src/H5Tff_f90.html#robo446">h5tget_super_f</a></li>
-<li><a href="./src/H5Tff_f90.html#robo447">h5tget_tag_f</a></li>
-<li><a href="./src/H5Tff_f90.html#robo448">h5tinsert_f</a></li>
-<li><a href="./src/H5Tff_f90.html#robo449">h5tis_variable_str_f</a></li>
-<li><a href="./src/H5Tff_f90.html#robo450">h5topen_f</a></li>
-<li><a href="./src/H5Tff_f90.html#robo451">h5tpack_f</a></li>
-<li><a href="./src/H5Tff_f90.html#robo452">h5tset_cset_f</a></li>
-<li><a href="./src/H5Tff_f90.html#robo453">h5tset_ebias_f</a></li>
-<li><a href="./src/H5Tff_f90.html#robo454">h5tset_fields_f</a></li>
-<li><a href="./src/H5Tff_f90.html#robo455">h5tset_inpad_f</a></li>
-<li><a href="./src/H5Tff_f90.html#robo456">h5tset_norm_f</a></li>
-<li><a href="./src/H5Tff_f90.html#robo457">h5tset_offset_f</a></li>
-<li><a href="./src/H5Tff_f90.html#robo458">h5tset_order_f</a></li>
-<li><a href="./src/H5Tff_f90.html#robo459">h5tset_pad_f</a></li>
-<li><a href="./src/H5Tff_f90.html#robo460">h5tset_precision_f</a></li>
-<li><a href="./src/H5Tff_f90.html#robo461">h5tset_sign_f</a></li>
-<li><a href="./src/H5Tff_f90.html#robo462">h5tset_size_f</a></li>
-<li><a href="./src/H5Tff_f90.html#robo463">h5tset_strpad_f</a></li>
-<li><a href="./src/H5Tff_f90.html#robo464">h5tset_tag_f</a></li>
-<li><a href="./src/H5Tff_f90.html#robo465">h5tvlen_create_f</a></li>
-</ul>
-<li><a href="./src/H5Tff_F03_f90.html#robo71">H5T (F03)</a></li>
-<ul>
-<li><a href="./src/H5Tff_F03_f90.html#robo410">H5Tconvert_f</a></li>
-</ul>
-<li><a href="./src/H5Tff_F90_f90.html#robo72">H5T (F90)</a></li>
-<li><a href="./src/H5Tf_c.html#robo73">H5Tf</a></li>
-<li><a href="./src/H5Zff_f90.html#robo74">H5Z</a></li>
-<ul>
-<li><a href="./src/H5Zff_f90.html#robo466">h5zfilter_avail_f</a></li>
-<li><a href="./src/H5Zff_f90.html#robo467">h5zget_filter_info_f</a></li>
-<li><a href="./src/H5Zff_f90.html#robo468">h5zunregister_f</a></li>
-</ul>
-<li><a href="./src/H5Zf_c.html#robo75">H5Zf</a></li>
-<li><a href="./src/HDF5_f90.html#robo76">HDF5</a></li>
-<li><a href="./src/HDF5mpio_f90.html#robo77">HDF5 (mpio)</a></li>
-<li><a href="./src/H5_DBLE_InterfaceExclude_f90.html#robo78">src/H5_DBLE_InterfaceExclude.f90</a></li>
-<li><a href="./src/H5_DBLE_InterfaceInclude_f90.html#robo79">src/H5_DBLE_InterfaceInclude.f90</a></li>
-<li><a href="./src/H5Pff_f90.html#robo81"> h5pget_hyper_vector_size_f</a></li>
-<li><a href="./src/H5Pff_f90.html#robo82"> h5pset_family_offset_f</a></li>
-<li><a href="./src/H5Pff_f90.html#robo83"> h5pset_fapl_family_f</a></li>
-<li><a href="./src/H5Pff_f90.html#robo84"> h5pset_meta_block_size_f</a></li>
-<li><a href="./src/H5match_types_c.html#robo192">H5match_types</a></li>
-<li><a href="./src/H5Pff_f90.html#robo200">h5pall_filters_avail_f</a></li>
-<li><a href="./src/H5Pff_f90.html#robo201">h5pclose_class_f</a></li>
-<li><a href="./src/H5Pff_f90.html#robo202">h5pclose_f</a></li>
-<li><a href="./src/H5Pff_f90.html#robo203">h5pcopy_f</a></li>
-<li><a href="./src/H5Pff_f90.html#robo204">h5pcopy_prop_f</a></li>
-<li><a href="./src/H5Pff_f90.html#robo207">h5pcreate_f</a></li>
-<li><a href="./src/H5Pff_f90.html#robo208">h5pequal_f</a></li>
-<li><a href="./src/H5Pff_f90.html#robo209">h5pexist_f</a></li>
-<li><a href="./src/H5Pff_f90.html#robo210">h5pfill_value_defined_f</a></li>
-<li><a href="./src/H5Pff_f90.html#robo211">h5pget_alignment_f</a></li>
-<li><a href="./src/H5Pff_f90.html#robo212">h5pget_alloc_time_f</a></li>
-<li><a href="./src/H5Pff_f90.html#robo213">H5Pget_attr_creation_order_f</a></li>
-<li><a href="./src/H5Pff_f90.html#robo214">H5Pget_attr_phase_change_f</a></li>
-<li><a href="./src/H5Pff_f90.html#robo215">h5pget_btree_ratios_f</a></li>
-<li><a href="./src/H5Pff_f90.html#robo216">h5pget_buffer_f</a></li>
-<li><a href="./src/H5Pff_f90.html#robo217">h5pget_cache_f</a></li>
-<li><a href="./src/H5Pff_f90.html#robo220">H5Pget_char_encoding_f</a></li>
-<li><a href="./src/H5Pff_f90.html#robo221">H5Pget_chunk_cache_f</a></li>
-<li><a href="./src/H5Pff_f90.html#robo222">h5pget_chunk_f</a></li>
-<li><a href="./src/H5Pff_f90.html#robo223">h5pget_class_f</a></li>
-<li><a href="./src/H5Pff_f90.html#robo224">h5pget_class_name_f</a></li>
-<li><a href="./src/H5Pff_f90.html#robo225">h5pget_class_parent_f</a></li>
-<li><a href="./src/H5Pff_f90.html#robo226">h5pget_copy_object_f</a></li>
-<li><a href="./src/H5Pff_f90.html#robo227">H5Pget_create_inter_group_f</a></li>
-<li><a href="./src/H5Pff_f90.html#robo228">h5pget_data_transform_f</a></li>
-<li><a href="./src/H5Pff_f90.html#robo230">h5pget_driver_f</a></li>
-<li><a href="./src/H5Pff_f90.html#robo232">h5pget_edc_check_f</a></li>
-<li><a href="./src/H5Pff_f90.html#robo233">H5Pget_est_link_info_f</a></li>
-<li><a href="./src/H5Pff_f90.html#robo234">h5pget_external_count_f</a></li>
-<li><a href="./src/H5Pff_f90.html#robo235">h5pget_external_f</a></li>
-<li><a href="./src/H5Pff_f90.html#robo236">h5pget_fapl_core_f</a></li>
-<li><a href="./src/H5Pff_f90.html#robo237">h5pget_fapl_direct_f</a></li>
-<li><a href="./src/H5Pff_f90.html#robo238">h5pget_fapl_family_f</a></li>
-<li><a href="./src/H5Pff_f90.html#robo241">h5pget_fapl_multi_f</a></li>
-<li><a href="./src/H5Pff_f90.html#robo242">h5pget_fclose_degree_f</a></li>
-<li><a href="./src/H5Pff_f90.html#robo243">h5pget_fill_time_f</a></li>
-<li><a href="./src/H5Pff_f90.html#robo244">h5pget_filter_by_id_f</a></li>
-<li><a href="./src/H5Pff_f90.html#robo245">h5pget_filter_f</a></li>
-<li><a href="./src/H5Pff_f90.html#robo246">h5pget_gc_references_f</a></li>
-<li><a href="./src/H5Pff_f90.html#robo249">h5pget_istore_k_f</a></li>
-<li><a href="./src/H5Pff_f90.html#robo250">h5pget_layout_f</a></li>
-<li><a href="./src/H5Pff_f90.html#robo251">H5Pget_link_creation_order_f</a></li>
-<li><a href="./src/H5Pff_f90.html#robo252">H5Pget_link_phase_change_f</a></li>
-<li><a href="./src/H5Pff_f90.html#robo253">H5Pget_local_heap_size_hint_f</a></li>
-<li><a href="./src/H5Pff_f90.html#robo254">h5pget_meta_block_size_f</a></li>
-<li><a href="./src/H5Pff_f90.html#robo255">h5pget_nfilters_f</a></li>
-<li><a href="./src/H5Pff_f90.html#robo256">h5pget_nlinks_f</a></li>
-<li><a href="./src/H5Pff_f90.html#robo257">h5pget_npros_f</a></li>
-<li><a href="./src/H5Pff_f90.html#robo258">H5Pget_obj_track_times_f</a></li>
-<li><a href="./src/H5Pff_f90.html#robo259">h5pget_preserve_f</a></li>
-<li><a href="./src/H5Pff_f90.html#robo262">h5pget_sec2_f</a></li>
-<li><a href="./src/H5Pff_f90.html#robo263">h5pget_sieve_buf_size_f</a></li>
-<li><a href="./src/H5Pff_f90.html#robo264">h5pget_size_f</a></li>
-<li><a href="./src/H5Pff_f90.html#robo265">h5pget_sizes_f</a></li>
-<li><a href="./src/H5Pff_f90.html#robo266">h5pget_small_data_block_size_f</a></li>
-<li><a href="./src/H5Pff_f90.html#robo267">h5pget_split_f</a></li>
-<li><a href="./src/H5Pff_f90.html#robo268">h5pget_stdio_f</a></li>
-<li><a href="./src/H5Pff_f90.html#robo269">h5pget_sym_k_f</a></li>
-<li><a href="./src/H5Pff_f90.html#robo270">h5pget_userblock_f</a></li>
-<li><a href="./src/H5Pff_f90.html#robo271">h5pget_version_f</a></li>
-<li><a href="./src/H5Pff_f90.html#robo281">h5pisa_class_f</a></li>
-<li><a href="./src/H5Pff_f90.html#robo282">h5pmodify_filter_f</a></li>
-<li><a href="./src/H5Pff_f90.html#robo292">h5premove_f</a></li>
-<li><a href="./src/H5Pff_f90.html#robo293">h5premove_filter_f</a></li>
-<li><a href="./src/H5Pff_f90.html#robo296">h5pset_alignment_f</a></li>
-<li><a href="./src/H5Pff_f90.html#robo297">h5pset_alloc_time_f</a></li>
-<li><a href="./src/H5Pff_f90.html#robo298">H5Pset_attr_creation_order_f</a></li>
-<li><a href="./src/H5Pff_f90.html#robo299">H5Pset_attr_phase_change_f</a></li>
-<li><a href="./src/H5Pff_f90.html#robo300">h5pset_btree_ratios_f</a></li>
-<li><a href="./src/H5Pff_f90.html#robo301">h5pset_buffer_f</a></li>
-<li><a href="./src/H5Pff_f90.html#robo302">h5pset_cache_f</a></li>
-<li><a href="./src/H5Pff_f90.html#robo305">H5Pset_char_encoding_f</a></li>
-<li><a href="./src/H5Pff_f90.html#robo306">H5Pset_chunk_cache_f</a></li>
-<li><a href="./src/H5Pff_f90.html#robo307">h5pset_chunk_f</a></li>
-<li><a href="./src/H5Pff_f90.html#robo308">h5pset_copy_object_f</a></li>
-<li><a href="./src/H5Pff_f90.html#robo309">H5Pset_create_inter_group_f</a></li>
-<li><a href="./src/H5Pff_f90.html#robo310">h5pset_data_transform_f</a></li>
-<li><a href="./src/H5Pff_f90.html#robo311">h5pset_deflate_f</a></li>
-<li><a href="./src/H5Pff_f90.html#robo315">h5pset_edc_check_f</a></li>
-<li><a href="./src/H5Pff_f90.html#robo316">h5pset_est_link_info_f</a></li>
-<li><a href="./src/H5Pff_f90.html#robo317">h5pset_external_f</a></li>
-<li><a href="./src/H5Pff_f90.html#robo318">h5pset_fapl_core_f</a></li>
-<li><a href="./src/H5Pff_f90.html#robo319">h5pset_fapl_direct_f</a></li>
-<li><a href="./src/H5Pff_f90.html#robo322">h5pset_fapl_multi_l</a></li>
-<li><a href="./src/H5Pff_f90.html#robo323">h5pset_fapl_multi_s</a></li>
-<li><a href="./src/H5Pff_f90.html#robo324">h5pset_fapl_sec2_f</a></li>
-<li><a href="./src/H5Pff_f90.html#robo325">h5pset_fapl_split_f</a></li>
-<li><a href="./src/H5Pff_f90.html#robo326">h5pset_fapl_stdio_f</a></li>
-<li><a href="./src/H5Pff_f90.html#robo327">h5pset_fclose_degree_f</a></li>
-<li><a href="./src/H5Pff_f90.html#robo328">h5pset_fill_time_f</a></li>
-<li><a href="./src/H5Pff_f90.html#robo329">h5pset_filter_f</a></li>
-<li><a href="./src/H5Pff_f90.html#robo330">h5pset_fletcher32_f</a></li>
-<li><a href="./src/H5Pff_f90.html#robo331">h5pset_gc_references_f</a></li>
-<li><a href="./src/H5Pff_f90.html#robo332">h5pset_hyper_vector_size_f</a></li>
-<li><a href="./src/H5Pff_f90.html#robo335">h5pset_istore_k_f</a></li>
-<li><a href="./src/H5Pff_f90.html#robo336">h5pset_layout_f</a></li>
-<li><a href="./src/H5Pff_f90.html#robo337">H5Pset_libver_bounds_f</a></li>
-<li><a href="./src/H5Pff_f90.html#robo338">H5Pset_link_creation_order_f</a></li>
-<li><a href="./src/H5Pff_f90.html#robo339">h5pset_link_phase_change_f</a></li>
-<li><a href="./src/H5Pff_f90.html#robo340">H5Pset_local_heap_size_hint_f</a></li>
-<li><a href="./src/H5Pff_f90.html#robo341">H5Pset_nbit_f</a></li>
-<li><a href="./src/H5Pff_f90.html#robo342">h5pset_nlinks_f</a></li>
-<li><a href="./src/H5Pff_f90.html#robo343">H5Pset_obj_track_times_f</a></li>
-<li><a href="./src/H5Pff_f90.html#robo344">h5pset_preserve_f</a></li>
-<li><a href="./src/H5Pff_f90.html#robo347">h5pset_scaleoffset_f</a></li>
-<li><a href="./src/H5Pff_f90.html#robo348">H5Pset_shared_mesg_index_f</a></li>
-<li><a href="./src/H5Pff_f90.html#robo349">H5Pset_shared_mesg_nindexes_f</a></li>
-<li><a href="./src/H5Pff_f90.html#robo350">h5pset_shuffle_f</a></li>
-<li><a href="./src/H5Pff_f90.html#robo351">h5pset_sieve_buf_size_f</a></li>
-<li><a href="./src/H5Pff_f90.html#robo352">h5pset_sizes_f</a></li>
-<li><a href="./src/H5Pff_f90.html#robo353">h5pset_small_data_block_size_f</a></li>
-<li><a href="./src/H5Pff_f90.html#robo354">h5pset_sym_k_f</a></li>
-<li><a href="./src/H5Pff_f90.html#robo355">h5pset_szip_f</a></li>
-<li><a href="./src/H5Pff_f90.html#robo356">h5pset_userblock_f</a></li>
-<li><a href="./src/H5Pff_f90.html#robo357">h5punregister_f</a></li>
-<li><a href="./src/H5test_kind_f90.html#robo420">H5test_kind</a></li>
-<li><a href="./src/H5test_kind_SIZEOF_f90.html#robo421">H5test_kind_SIZEOF</a></li>
-</ul>
-</div> <!-- content -->
-<div id="footer">
-<p>Generated from ./ on Sun Aug 14 2011 22:49:38
-</p>
-</div> <!-- footer -->
-</body>
-</html>
diff --git a/fortran/examples/CMakeLists.txt b/fortran/examples/CMakeLists.txt
index 2bf0bf6..aad5f33 100644
--- a/fortran/examples/CMakeLists.txt
+++ b/fortran/examples/CMakeLists.txt
@@ -40,8 +40,8 @@ set (F2003_examples
foreach (example ${examples})
add_executable (f90_ex_${example} ${HDF5_F90_EXAMPLES_SOURCE_DIR}/${example}.f90)
- TARGET_NAMING (f90_ex_${example} ${LIB_TYPE})
- TARGET_FORTRAN_PROPERTIES (f90_ex_${example} ${LIB_TYPE} " " " ")
+ TARGET_NAMING (f90_ex_${example} STATIC)
+ TARGET_FORTRAN_PROPERTIES (f90_ex_${example} STATIC " " " ")
target_link_libraries (f90_ex_${example}
${HDF5_F90_LIB_TARGET}
${HDF5_LIB_TARGET}
@@ -50,32 +50,60 @@ foreach (example ${examples})
set_target_properties (f90_ex_${example} PROPERTIES
LINKER_LANGUAGE Fortran
FOLDER examples/fortran
- Fortran_MODULE_DIRECTORY ${CMAKE_Fortran_MODULE_DIRECTORY}
+ Fortran_MODULE_DIRECTORY ${CMAKE_Fortran_MODULE_DIRECTORY}/static
)
+ if (BUILD_SHARED_LIBS AND NOT SKIP_HDF5_FORTRAN_SHARED)
+ add_executable (f90_ex_${example}-shared ${HDF5_F90_EXAMPLES_SOURCE_DIR}/${example}.f90)
+ TARGET_NAMING (f90_ex_${example}-shared SHARED)
+ TARGET_FORTRAN_PROPERTIES (f90_ex_${example}-shared SHARED " " " ")
+ target_link_libraries (f90_ex_${example}-shared
+ ${HDF5_F90_LIBSH_TARGET}
+ ${HDF5_LIBSH_TARGET}
+ )
+ target_include_directories (f90_ex_${example}-shared PRIVATE ${CMAKE_Fortran_MODULE_DIRECTORY}/shared)
+ set_target_properties (f90_ex_${example}-shared PROPERTIES
+ LINKER_LANGUAGE Fortran
+ FOLDER examples/fortran
+ Fortran_MODULE_DIRECTORY ${CMAKE_Fortran_MODULE_DIRECTORY}/shared
+ )
+ endif (BUILD_SHARED_LIBS AND NOT SKIP_HDF5_FORTRAN_SHARED)
endforeach (example ${examples})
-if (HDF5_ENABLE_F2003)
- foreach (example ${F2003_examples})
- add_executable (f03_ex_${example} ${HDF5_F90_EXAMPLES_SOURCE_DIR}/${example}.f90)
- TARGET_NAMING (f03_ex_${example} ${LIB_TYPE})
- TARGET_FORTRAN_PROPERTIES (f03_ex_${example} ${LIB_TYPE} " " " ")
- target_link_libraries (f03_ex_${example}
- ${HDF5_F90_LIB_TARGET}
- ${HDF5_LIB_TARGET}
+foreach (example ${F2003_examples})
+ add_executable (f03_ex_${example} ${HDF5_F90_EXAMPLES_SOURCE_DIR}/${example}.f90)
+ TARGET_NAMING (f03_ex_${example} STATIC)
+ TARGET_FORTRAN_PROPERTIES (f03_ex_${example} STATIC " " " ")
+ target_link_libraries (f03_ex_${example}
+ ${HDF5_F90_LIB_TARGET}
+ ${HDF5_LIB_TARGET}
+ )
+ target_include_directories (f03_ex_${example} PRIVATE ${CMAKE_Fortran_MODULE_DIRECTORY}/static)
+ set_target_properties (f03_ex_${example} PROPERTIES
+ LINKER_LANGUAGE Fortran
+ FOLDER examples/fortran03
+ Fortran_MODULE_DIRECTORY ${CMAKE_Fortran_MODULE_DIRECTORY}
+ )
+ if (BUILD_SHARED_LIBS AND NOT SKIP_HDF5_FORTRAN_SHARED)
+ add_executable (f03_ex_${example}-shared ${HDF5_F90_EXAMPLES_SOURCE_DIR}/${example}.f90)
+ TARGET_NAMING (f03_ex_${example}-shared SHARED)
+ TARGET_FORTRAN_PROPERTIES (f03_ex_${example}-shared SHARED " " " ")
+ target_link_libraries (f03_ex_${example}-shared
+ ${HDF5_F90_LIBSH_TARGET}
+ ${HDF5_LIBSH_TARGET}
)
- target_include_directories (f03_ex_${example} PRIVATE ${CMAKE_Fortran_MODULE_DIRECTORY}/static)
- set_target_properties (f03_ex_${example} PROPERTIES
+ target_include_directories (f03_ex_${example}-shared PRIVATE ${CMAKE_Fortran_MODULE_DIRECTORY}/shared)
+ set_target_properties (f03_ex_${example}-shared PROPERTIES
LINKER_LANGUAGE Fortran
FOLDER examples/fortran03
- Fortran_MODULE_DIRECTORY ${CMAKE_Fortran_MODULE_DIRECTORY}
+ Fortran_MODULE_DIRECTORY ${CMAKE_Fortran_MODULE_DIRECTORY}/shared
)
- endforeach (example ${F2003_examples})
-endif (HDF5_ENABLE_F2003)
+ endif (BUILD_SHARED_LIBS AND NOT SKIP_HDF5_FORTRAN_SHARED)
+endforeach (example ${F2003_examples})
if (H5_HAVE_PARALLEL AND MPI_Fortran_FOUND)
add_executable (f90_ex_ph5example ${HDF5_F90_EXAMPLES_SOURCE_DIR}/ph5example.f90)
- TARGET_NAMING (f90_ex_ph5example ${LIB_TYPE})
- TARGET_FORTRAN_PROPERTIES (f90_ex_ph5example ${LIB_TYPE} " " " ")
+ TARGET_NAMING (f90_ex_ph5example STATIC)
+ TARGET_FORTRAN_PROPERTIES (f90_ex_ph5example STATIC " " " ")
target_link_libraries (f90_ex_ph5example
${HDF5_F90_LIB_TARGET}
${HDF5_LIB_TARGET}
@@ -85,8 +113,24 @@ if (H5_HAVE_PARALLEL AND MPI_Fortran_FOUND)
set_target_properties (f90_ex_ph5example PROPERTIES
LINKER_LANGUAGE Fortran
FOLDER examples/fortran
- Fortran_MODULE_DIRECTORY ${CMAKE_Fortran_MODULE_DIRECTORY}
+ Fortran_MODULE_DIRECTORY ${CMAKE_Fortran_MODULE_DIRECTORY}/static
)
+ if (BUILD_SHARED_LIBS AND NOT SKIP_HDF5_FORTRAN_SHARED)
+ add_executable (f90_ex_ph5example-shared ${HDF5_F90_EXAMPLES_SOURCE_DIR}/ph5example.f90)
+ TARGET_NAMING (f90_ex_ph5example-shared SHARED)
+ TARGET_FORTRAN_PROPERTIES (f90_ex_ph5example-shared SHARED " " " ")
+ target_link_libraries (f90_ex_ph5example-shared
+ ${HDF5_F90_LIBSH_TARGET}
+ ${HDF5_LIBSH_TARGET}
+ ${MPI_Fortran_LIBRARIES}
+ )
+ target_include_directories (f90_ex_ph5example-shared PRIVATE ${CMAKE_Fortran_MODULE_DIRECTORY}/shared)
+ set_target_properties (f90_ex_ph5example-shared PROPERTIES
+ LINKER_LANGUAGE Fortran
+ FOLDER examples/fortran
+ Fortran_MODULE_DIRECTORY ${CMAKE_Fortran_MODULE_DIRECTORY}/shared
+ )
+ endif (BUILD_SHARED_LIBS AND NOT SKIP_HDF5_FORTRAN_SHARED)
endif (H5_HAVE_PARALLEL AND MPI_Fortran_FOUND)
if (BUILD_TESTING)
diff --git a/fortran/examples/CMakeTests.cmake b/fortran/examples/CMakeTests.cmake
index 57aec53..63e75c2 100644
--- a/fortran/examples/CMakeTests.cmake
+++ b/fortran/examples/CMakeTests.cmake
@@ -9,12 +9,12 @@
add_test (
NAME f90_ex-clear-objects
COMMAND ${CMAKE_COMMAND}
- -E remove
+ -E remove
compound.h5
copy1.h5
copy2.h5
dsetf.h5
- extend.h5
+ extend.h5
FORTRAN.h5
groupf.h5
groupsf.h5
@@ -28,6 +28,30 @@
set_tests_properties (f90_ex-clear-objects PROPERTIES DEPENDS ${last_test})
endif (NOT "${last_test}" STREQUAL "")
set (last_test "f90_ex-clear-objects")
+ if (BUILD_SHARED_LIBS AND NOT SKIP_HDF5_FORTRAN_SHARED)
+ add_test (
+ NAME f90_ex-shared-clear-objects
+ COMMAND ${CMAKE_COMMAND}
+ -E remove
+ compound.h5
+ copy1.h5
+ copy2.h5
+ dsetf.h5
+ extend.h5
+ FORTRAN.h5
+ groupf.h5
+ groupsf.h5
+ h5_cmprss.h5
+ mount1.h5
+ mount2.h5
+ sdsf.h5
+ subset.h5
+ )
+ if (NOT "${last_test}" STREQUAL "")
+ set_tests_properties (f90_ex-shared-clear-objects PROPERTIES DEPENDS ${last_test})
+ endif (NOT "${last_test}" STREQUAL "")
+ set (last_test "f90_ex-shared-clear-objects")
+ endif (BUILD_SHARED_LIBS AND NOT SKIP_HDF5_FORTRAN_SHARED)
foreach (example ${examples})
add_test (NAME f90_ex_${example} COMMAND $<TARGET_FILE:f90_ex_${example}>)
@@ -35,6 +59,13 @@ foreach (example ${examples})
set_tests_properties (f90_ex_${example} PROPERTIES DEPENDS ${last_test})
endif (NOT "${last_test}" STREQUAL "")
set (last_test "f90_ex_${example}")
+ if (BUILD_SHARED_LIBS AND NOT SKIP_HDF5_FORTRAN_SHARED)
+ add_test (NAME f90_ex-shared_${example} COMMAND $<TARGET_FILE:f90_ex_${example}-shared>)
+ if (NOT "${last_test}" STREQUAL "")
+ set_tests_properties (f90_ex-shared_${example} PROPERTIES DEPENDS ${last_test})
+ endif (NOT "${last_test}" STREQUAL "")
+ set (last_test "f90_ex-shared_${example}")
+ endif (BUILD_SHARED_LIBS AND NOT SKIP_HDF5_FORTRAN_SHARED)
endforeach (example ${examples})
if (HDF5_ENABLE_F2003)
@@ -44,9 +75,19 @@ if (HDF5_ENABLE_F2003)
set_tests_properties (f03_ex_${example} PROPERTIES DEPENDS ${last_test})
endif (NOT "${last_test}" STREQUAL "")
set (last_test "f03_ex_${example}")
+ if (BUILD_SHARED_LIBS AND NOT SKIP_HDF5_FORTRAN_SHARED)
+ add_test (NAME f03_ex-shared_${example} COMMAND $<TARGET_FILE:f03_ex_${example}-shared>)
+ if (NOT "${last_test}" STREQUAL "")
+ set_tests_properties (f03_ex-shared_${example} PROPERTIES DEPENDS ${last_test})
+ endif (NOT "${last_test}" STREQUAL "")
+ set (last_test "f03_ex-shared_${example}")
+ endif (BUILD_SHARED_LIBS AND NOT SKIP_HDF5_FORTRAN_SHARED)
endforeach (example ${F2003_examples})
endif (HDF5_ENABLE_F2003)
if (H5_HAVE_PARALLEL AND MPI_Fortran_FOUND)
add_test (NAME f90_ex_ph5example COMMAND ${MPIEXEC} ${MPIEXEC_PREFLAGS} ${MPIEXEC_NUMPROC_FLAG} ${MPIEXEC_MAX_NUMPROCS} ${MPIEXEC_POSTFLAGS} $<TARGET_FILE:f90_ex_ph5example>)
+ if (BUILD_SHARED_LIBS AND NOT SKIP_HDF5_FORTRAN_SHARED)
+ add_test (NAME f90_ex-shared_ph5example COMMAND ${MPIEXEC} ${MPIEXEC_PREFLAGS} ${MPIEXEC_NUMPROC_FLAG} ${MPIEXEC_MAX_NUMPROCS} ${MPIEXEC_POSTFLAGS} $<TARGET_FILE:f90_ex_ph5example>)
+ endif (BUILD_SHARED_LIBS AND NOT SKIP_HDF5_FORTRAN_SHARED)
endif (H5_HAVE_PARALLEL AND MPI_Fortran_FOUND)
diff --git a/fortran/examples/Makefile.am b/fortran/examples/Makefile.am
index caaa08c..5a3b09e 100644
--- a/fortran/examples/Makefile.am
+++ b/fortran/examples/Makefile.am
@@ -46,12 +46,10 @@ INSTALL_FILES=h5_crtdat.f90 h5_rdwt.f90 \
# Add attention tests for Fortran 2003 features
-if FORTRAN_2003_CONDITIONAL_F
- EXAMPLE_PROG += rwdset_fortran2003 nested_derived_type \
- compound_fortran2003 compound_complex_fortran2003
- INSTALL_FILES += rwdset_fortran2003.f90 nested_derived_type.f90 \
- compound_fortran2003.f90 compound_complex_fortran2003.f90
-endif
+EXAMPLE_PROG += rwdset_fortran2003 nested_derived_type \
+ compound_fortran2003 compound_complex_fortran2003
+INSTALL_FILES += rwdset_fortran2003.f90 nested_derived_type.f90 \
+ compound_fortran2003.f90 compound_complex_fortran2003.f90
TEST_SCRIPT=testh5fc.sh
TEST_EXAMPLES_SCRIPT=$(INSTALL_SCRIPT_FILES)
@@ -103,12 +101,10 @@ refregexample: refregexample.f90
mountexample: mountexample.f90
compound: compound.f90
ph5example: ph5example.f90
-if FORTRAN_2003_CONDITIONAL_F
rwdset_fortran2003: rwdset_fortran2003.f90
nested_derived_type: nested_derived_type.f90
compound_fortran2003: compound_fortran2003.f90
compound_complex_fortran2003: compound_complex_fortran2003.f90
-endif
include $(top_srcdir)/config/examples.am
-include $(top_srcdir)/config/conclude.am
+include $(top_srcdir)/config/conclude_fc.am
diff --git a/fortran/examples/Makefile.in b/fortran/examples/Makefile.in
index c894b75..0ee1461 100644
--- a/fortran/examples/Makefile.in
+++ b/fortran/examples/Makefile.in
@@ -34,6 +34,10 @@
# We can't tell automake about example programs, because they need to be
# built using h5cc (or h5fc, etc.) instead of the standard compilers.
# This creates some extra work for us.
+
+# Makefile.am include fragment with Fortran helper rules and macros.
+
+# AM_FCCPPFLAGS, FCCPPFLAGS are currently not used.
VPATH = @srcdir@
am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
am__make_running_with_option = \
@@ -100,18 +104,11 @@ build_triplet = @build@
host_triplet = @host@
DIST_COMMON = $(top_srcdir)/config/commence.am \
$(top_srcdir)/config/examples.am \
+ $(top_srcdir)/config/conclude_fc.am \
$(top_srcdir)/config/conclude.am $(srcdir)/Makefile.in \
$(srcdir)/Makefile.am $(top_srcdir)/bin/mkinstalldirs \
$(srcdir)/run-fortran-ex.sh.in $(srcdir)/testh5fc.sh.in \
$(top_srcdir)/bin/test-driver
-
-# Add attention tests for Fortran 2003 features
-@FORTRAN_2003_CONDITIONAL_F_TRUE@am__append_1 = rwdset_fortran2003 nested_derived_type \
-@FORTRAN_2003_CONDITIONAL_F_TRUE@ compound_fortran2003 compound_complex_fortran2003
-
-@FORTRAN_2003_CONDITIONAL_F_TRUE@am__append_2 = rwdset_fortran2003.f90 nested_derived_type.f90 \
-@FORTRAN_2003_CONDITIONAL_F_TRUE@ compound_fortran2003.f90 compound_complex_fortran2003.f90
-
TESTS = $(TEST_SCRIPT)
subdir = fortran/examples
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
@@ -120,7 +117,8 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/aclocal_cxx.m4 \
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(SHELL) $(top_srcdir)/bin/mkinstalldirs
-CONFIG_HEADER = $(top_builddir)/src/H5config.h
+CONFIG_HEADER = $(top_builddir)/src/H5config.h \
+ $(top_builddir)/fortran/src/H5config_f.inc
CONFIG_CLEAN_FILES = run-fortran-ex.sh testh5fc.sh
CONFIG_CLEAN_VPATH_FILES =
AM_V_P = $(am__v_P_@AM_V@)
@@ -404,14 +402,21 @@ F9XMODEXT = @F9XMODEXT@
F9XMODFLAG = @F9XMODFLAG@
F9XSUFFIXFLAG = @F9XSUFFIXFLAG@
FC = @FC@
-FC2003 = @FC2003@
FCFLAGS = @FCFLAGS@
FCFLAGS_f90 = @FCFLAGS_f90@
FCLIBS = @FCLIBS@
FC_VERSION = @FC_VERSION@
FGREP = @FGREP@
+FORTRAN_C_LONG_DOUBLE_IS_UNIQUE = @FORTRAN_C_LONG_DOUBLE_IS_UNIQUE@
+FORTRAN_HAVE_C_LONG_DOUBLE = @FORTRAN_HAVE_C_LONG_DOUBLE@
+FORTRAN_SIZEOF_LONG_DOUBLE = @FORTRAN_SIZEOF_LONG_DOUBLE@
FSEARCH_DIRS = @FSEARCH_DIRS@
GREP = @GREP@
+H5CONFIG_F_IKIND = @H5CONFIG_F_IKIND@
+H5CONFIG_F_NUM_IKIND = @H5CONFIG_F_NUM_IKIND@
+H5CONFIG_F_NUM_RKIND = @H5CONFIG_F_NUM_RKIND@
+H5CONFIG_F_RKIND = @H5CONFIG_F_RKIND@
+H5CONFIG_F_RKIND_SIZEOF = @H5CONFIG_F_RKIND_SIZEOF@
H5_CFLAGS = @H5_CFLAGS@
H5_CPPFLAGS = @H5_CPPFLAGS@
H5_CXXFLAGS = @H5_CXXFLAGS@
@@ -421,13 +426,12 @@ H5_LDFLAGS = @H5_LDFLAGS@
H5_VERSION = @H5_VERSION@
HADDR_T = @HADDR_T@
HAVE_DMALLOC = @HAVE_DMALLOC@
-HAVE_FORTRAN_2003 = @HAVE_FORTRAN_2003@
+HAVE_Fortran_INTEGER_SIZEOF_16 = @HAVE_Fortran_INTEGER_SIZEOF_16@
HAVE_PTHREAD = @HAVE_PTHREAD@
HDF5_HL = @HDF5_HL@
HDF5_INTERFACES = @HDF5_INTERFACES@
HDF_CXX = @HDF_CXX@
HDF_FORTRAN = @HDF_FORTRAN@
-HDF_FORTRAN2003 = @HDF_FORTRAN2003@
HID_T = @HID_T@
HL = @HL@
HL_FOR = @HL_FOR@
@@ -469,9 +473,20 @@ PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
+PAC_C_MAX_REAL_PRECISION = @PAC_C_MAX_REAL_PRECISION@
+PAC_FC_ALL_INTEGER_KINDS = @PAC_FC_ALL_INTEGER_KINDS@
+PAC_FC_ALL_INTEGER_KINDS_SIZEOF = @PAC_FC_ALL_INTEGER_KINDS_SIZEOF@
+PAC_FC_ALL_REAL_KINDS = @PAC_FC_ALL_REAL_KINDS@
+PAC_FC_ALL_REAL_KINDS_SIZEOF = @PAC_FC_ALL_REAL_KINDS_SIZEOF@
+PAC_FC_MAX_REAL_PRECISION = @PAC_FC_MAX_REAL_PRECISION@
+PAC_FORTRAN_NATIVE_DOUBLE_KIND = @PAC_FORTRAN_NATIVE_DOUBLE_KIND@
+PAC_FORTRAN_NATIVE_DOUBLE_SIZEOF = @PAC_FORTRAN_NATIVE_DOUBLE_SIZEOF@
+PAC_FORTRAN_NATIVE_INTEGER_KIND = @PAC_FORTRAN_NATIVE_INTEGER_KIND@
+PAC_FORTRAN_NATIVE_INTEGER_SIZEOF = @PAC_FORTRAN_NATIVE_INTEGER_SIZEOF@
+PAC_FORTRAN_NATIVE_REAL_KIND = @PAC_FORTRAN_NATIVE_REAL_KIND@
+PAC_FORTRAN_NATIVE_REAL_SIZEOF = @PAC_FORTRAN_NATIVE_REAL_SIZEOF@
PARALLEL = @PARALLEL@
PATH_SEPARATOR = @PATH_SEPARATOR@
-PERL = @PERL@
RANLIB = @RANLIB@
ROOT = @ROOT@
RUNPARALLEL = @RUNPARALLEL@
@@ -619,17 +634,21 @@ INSTALL_SCRIPT_FILES = run-fortran-ex.sh
# be run.
# We don't tell automake about these programs so that it doesn't try to
# compile them with the regular fortran compiler.
+
+# Add attention tests for Fortran 2003 features
EXAMPLE_PROG = h5_crtdat h5_rdwt h5_crtatt h5_crtgrp h5_crtgrpar \
h5_crtgrpd h5_extend h5_subset h5_cmprss hyperslab selectele \
refobjexample refregexample mountexample compound \
- $(am__append_1)
+ rwdset_fortran2003 nested_derived_type compound_fortran2003 \
+ compound_complex_fortran2003
# List files to be installed here
INSTALL_FILES = h5_crtdat.f90 h5_rdwt.f90 h5_crtatt.f90 h5_crtgrp.f90 \
h5_crtgrpar.f90 h5_crtgrpd.f90 h5_extend.f90 h5_subset.f90 \
h5_cmprss.f90 hyperslab.f90 selectele.f90 refobjexample.f90 \
refregexample.f90 mountexample.f90 compound.f90 ph5example.f90 \
- $(am__append_2)
+ rwdset_fortran2003.f90 nested_derived_type.f90 \
+ compound_fortran2003.f90 compound_complex_fortran2003.f90
TEST_SCRIPT = testh5fc.sh
TEST_EXAMPLES_SCRIPT = $(INSTALL_SCRIPT_FILES)
@@ -648,6 +667,8 @@ EXTRA_PROG = $(EXAMPLE_PROG) $(EXAMPLE_PROG_PARA)
# We need to tell automake what to clean
MOSTLYCLEANFILES = *.raw *.meta *.o
CLEANFILES = $(EXAMPLE_PROG) $(EXAMPLE_PROG_PARA)
+PPFCCOMPILE = $(FC) $(FCDEFS) $(DEFAULT_INCLUDES) $(FCINCLUDES) $(AM_FCCPPFLAGS) $(FCCPPFLAGS) $(AM_FCFLAGS) $(FCFLAGS)
+LTPPFCCOMPILE = $(LIBTOOL) --tag=FC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(PPFCCOMPILE)
# Automake needs to be taught how to build lib, progs, and tests targets.
# These will be filled in automatically for the most part (e.g.,
@@ -671,8 +692,8 @@ TEST_SCRIPT_PARA_CHKSH = $(TEST_SCRIPT_PARA:=.chkexe_)
all: all-am
.SUFFIXES:
-.SUFFIXES: .log .sh .sh$(EXEEXT) .trs
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/config/commence.am $(top_srcdir)/config/examples.am $(top_srcdir)/config/conclude.am $(am__configure_deps)
+.SUFFIXES: .F90 .f90 .log .o .sh .sh$(EXEEXT) .trs
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/config/commence.am $(top_srcdir)/config/examples.am $(top_srcdir)/config/conclude_fc.am $(top_srcdir)/config/conclude.am $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
@@ -693,7 +714,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
-$(top_srcdir)/config/commence.am $(top_srcdir)/config/examples.am $(top_srcdir)/config/conclude.am:
+$(top_srcdir)/config/commence.am $(top_srcdir)/config/examples.am $(top_srcdir)/config/conclude_fc.am $(top_srcdir)/config/conclude.am:
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
@@ -1067,10 +1088,10 @@ refregexample: refregexample.f90
mountexample: mountexample.f90
compound: compound.f90
ph5example: ph5example.f90
-@FORTRAN_2003_CONDITIONAL_F_TRUE@rwdset_fortran2003: rwdset_fortran2003.f90
-@FORTRAN_2003_CONDITIONAL_F_TRUE@nested_derived_type: nested_derived_type.f90
-@FORTRAN_2003_CONDITIONAL_F_TRUE@compound_fortran2003: compound_fortran2003.f90
-@FORTRAN_2003_CONDITIONAL_F_TRUE@compound_complex_fortran2003: compound_complex_fortran2003.f90
+rwdset_fortran2003: rwdset_fortran2003.f90
+nested_derived_type: nested_derived_type.f90
+compound_fortran2003: compound_fortran2003.f90
+compound_complex_fortran2003: compound_complex_fortran2003.f90
# How to create EXAMPLEDIR if it doesn't already exist
$(EXAMPLEDIR):
@@ -1141,6 +1162,12 @@ installcheck-local:
/bin/sh ./$(TEST_EXAMPLES_SCRIPT);) \
fi
+# Treat all .f90 and .F90 files as preprocessed Fortran.
+.f90.o:
+ $(PPFCCOMPILE) -c -o $@ $(FCFLAGS) $<
+.F90.o:
+ $(PPFCCOMPILE) -c -o $@ $(FCFLAGS) $<
+
# lib/progs/tests targets recurse into subdirectories. build-* targets
# build files in this directory.
build-lib: $(LIB)
diff --git a/fortran/examples/nested_derived_type.f90 b/fortran/examples/nested_derived_type.f90
index f806110..65e7e75 100644
--- a/fortran/examples/nested_derived_type.f90
+++ b/fortran/examples/nested_derived_type.f90
@@ -23,13 +23,13 @@ PROGRAM main
IMPLICIT NONE
! KIND parameters
- INTEGER, PARAMETER :: int_k1 = SELECTED_INT_KIND(Fortran_INTEGER_1) ! This should map to INTEGER*1 on most modern processors
- INTEGER, PARAMETER :: int_k4 = SELECTED_INT_KIND(Fortran_INTEGER_2) ! This should map to INTEGER*2 on most modern processors
- INTEGER, PARAMETER :: int_k8 = SELECTED_INT_KIND(Fortran_INTEGER_4) ! This should map to INTEGER*4 on most modern processors
- INTEGER, PARAMETER :: int_k16 = SELECTED_INT_KIND(Fortran_INTEGER_8) ! This should map to INTEGER*8 on most modern processors
+ INTEGER, PARAMETER :: int_k1 = SELECTED_INT_KIND(2) ! This should map to INTEGER*1 on most modern processors
+ INTEGER, PARAMETER :: int_k4 = SELECTED_INT_KIND(4) ! This should map to INTEGER*2 on most modern processors
+ INTEGER, PARAMETER :: int_k8 = SELECTED_INT_KIND(9) ! This should map to INTEGER*4 on most modern processors
+ INTEGER, PARAMETER :: int_k16 = SELECTED_INT_KIND(18) ! This should map to INTEGER*8 on most modern processors
- INTEGER, PARAMETER :: r_k4 = SELECTED_REAL_KIND(Fortran_REAL_4) ! This should map to REAL*4 on most modern processors
- INTEGER, PARAMETER :: r_k8 = SELECTED_REAL_KIND(Fortran_REAL_8) ! This should map to REAL*8 on most modern processors
+ INTEGER, PARAMETER :: r_k4 = SELECTED_REAL_KIND(6,37) ! This should map to REAL*4 on most modern processors
+ INTEGER, PARAMETER :: r_k8 = SELECTED_REAL_KIND(15,307) ! This should map to REAL*8 on most modern processors
! FILES
diff --git a/fortran/examples/rwdset_fortran2003.f90 b/fortran/examples/rwdset_fortran2003.f90
index d65db9e..682676f 100644
--- a/fortran/examples/rwdset_fortran2003.f90
+++ b/fortran/examples/rwdset_fortran2003.f90
@@ -28,13 +28,13 @@ PROGRAM RWDSET_FORTRAN2003
IMPLICIT NONE
- INTEGER, PARAMETER :: int_kind_1 = SELECTED_INT_KIND(Fortran_INTEGER_1) !should map to INTEGER*1 on most modern processors
- INTEGER, PARAMETER :: int_kind_4 = SELECTED_INT_KIND(Fortran_INTEGER_2) !should map to INTEGER*2 on most modern processors
- INTEGER, PARAMETER :: int_kind_8 = SELECTED_INT_KIND(Fortran_INTEGER_4) !should map to INTEGER*4 on most modern processors
- INTEGER, PARAMETER :: int_kind_16 = SELECTED_INT_KIND(Fortran_INTEGER_8) !should map to INTEGER*8 on most modern processors
+ INTEGER, PARAMETER :: int_kind_1 = SELECTED_INT_KIND(2) !should map to INTEGER*1 on most modern processors
+ INTEGER, PARAMETER :: int_kind_4 = SELECTED_INT_KIND(4) !should map to INTEGER*2 on most modern processors
+ INTEGER, PARAMETER :: int_kind_8 = SELECTED_INT_KIND(9) !should map to INTEGER*4 on most modern processors
+ INTEGER, PARAMETER :: int_kind_16 = SELECTED_INT_KIND(18) !should map to INTEGER*8 on most modern processors
- INTEGER, PARAMETER :: real_kind_7 = SELECTED_REAL_KIND(Fortran_REAL_4) !should map to REAL*4 on most modern processors
- INTEGER, PARAMETER :: real_kind_15 = SELECTED_REAL_KIND(Fortran_REAL_8) !should map to REAL*8 on most modern processors
+ INTEGER, PARAMETER :: real_kind_7 = SELECTED_REAL_KIND(6,37) !should map to REAL*4 on most modern processors
+ INTEGER, PARAMETER :: real_kind_15 = SELECTED_REAL_KIND(15,307) !should map to REAL*8 on most modern processors
CHARACTER(LEN=8), PARAMETER :: filename = "dsetf.h5" ! File name
CHARACTER(LEN=5), PARAMETER :: dsetname1 = "dset1" ! Dataset name
@@ -148,12 +148,12 @@ PROGRAM RWDSET_FORTRAN2003
CALL h5dread_f(dset_idr8, h5kind_to_type(real_kind_15,H5_REAL_KIND), f_ptr, error)
! memory type
- WRITE(*,'(A,4i8)' )'SELECTED_INT_KIND(Fortran_INTEGER_1): ',data_out_i8a
- WRITE(*,'(A,4i8)' )'SELECTED_INT_KIND(Fortran_INTEGER_4): ',data_out_i4
- WRITE(*,'(A,4i8)' )'SELECTED_INT_KIND(Fortran_INTEGER_8): ',data_out_i8
- WRITE(*,'(A,4i8)' )'SELECTED_INT_KIND(Fortran_INTEGER_16): ',data_out_i16
- WRITE(*,'(A,4(1x,f9.4))' )'SELECTED_REAL_KIND(Fortran_REAL_7): ',data_out_r7
- WRITE(*,'(A,4(1x,f16.10))' )'SELECTED_REAL_KIND(Fortran_REAL_15): ',data_out_r15
+ WRITE(*,'(A,4i8)' )'SELECTED_INT_KIND(2): ',data_out_i8a
+ WRITE(*,'(A,4i8)' )'SELECTED_INT_KIND(4): ',data_out_i4
+ WRITE(*,'(A,4i8)' )'SELECTED_INT_KIND(9): ',data_out_i8
+ WRITE(*,'(A,4i8)' )'SELECTED_INT_KIND(18): ',data_out_i16
+ WRITE(*,'(A,4(1x,f9.4))' )'SELECTED_REAL_KIND(6,37): ',data_out_r7
+ WRITE(*,'(A,4(1x,f16.10))' )'SELECTED_REAL_KIND(15,307): ',data_out_r15
!
! Close the dataset.
!
diff --git a/fortran/src/CMakeLists.txt b/fortran/src/CMakeLists.txt
index 0469aac..857b26d 100644
--- a/fortran/src/CMakeLists.txt
+++ b/fortran/src/CMakeLists.txt
@@ -19,82 +19,65 @@ if (WIN32)
endif (BUILD_SHARED_LIBS)
endif (WIN32)
+# configure for Fortran preprocessor
+
+# Define Parallel variable for passing to H5config_f.inc.cmake
+set (CMAKE_H5_HAVE_PARALLEL 0)
+if (H5_HAVE_PARALLEL)
+ set (CMAKE_H5_HAVE_PARALLEL 1)
+endif (H5_HAVE_PARALLEL)
+
+set (CMAKE_H5_HAVE_FLOAT128 0)
+if (HAVE_FLOAT128)
+ set (CMAKE_H5_HAVE_FLOAT128 1)
+endif(HAVE_FLOAT128)
+
+configure_file (${HDF5_F90_SRC_SOURCE_DIR}/H5config_f.inc.cmake ${CMAKE_BINARY_DIR}/H5config_f.inc @ONLY)
+configure_file (${HDF5_F90_SRC_SOURCE_DIR}/H5fort_type_defines.h.in ${HDF5_F90_BINARY_DIR}/H5fort_type_defines.h @ONLY)
+
#-----------------------------------------------------------------------------
# Setup the Fortran auto-detection utilities
-# H5test_kind(_SIZEOF,_STORAGE_SIZE).f90 used to generate H5fortran_detect.f90
-# H5fortran_detect.f90 used to generate H5fort_type_defines.h
-# H5fort_type_defines.h used to generate H5f90i_gen.h + H5fortran_types.f90
+# H5_buildiface.F90 used to generate various KIND interfaces
+# H5fort_type_defines.h used to generate H5f90i_gen.h + H5fortran_types.F90
#-----------------------------------------------------------------------------
-if (FORTRAN_HAVE_STORAGE_SIZE)
- add_executable (H5test_FortranHavekind
- ${HDF5_F90_SRC_SOURCE_DIR}/H5test_kind_STORAGE_SIZE.f90
+
+add_executable (H5_buildiface
+ ${HDF5_F90_SRC_SOURCE_DIR}/H5_buildiface.F90
)
- set (H5_TEST_KIND_NAME "h5test_kind_storage_size_mod")
-else (FORTRAN_HAVE_STORAGE_SIZE)
- if (FORTRAN_HAVE_SIZEOF)
- add_executable (H5test_FortranHavekind
- ${HDF5_F90_SRC_SOURCE_DIR}/H5test_kind_SIZEOF.f90
- )
- set (H5_TEST_KIND_NAME "h5test_kind_sizeof_mod")
- else (FORTRAN_HAVE_SIZEOF)
- add_executable (H5test_FortranHavekind
- ${HDF5_F90_SRC_SOURCE_DIR}/H5test_kind.f90
- )
- endif (FORTRAN_HAVE_SIZEOF)
-endif (FORTRAN_HAVE_STORAGE_SIZE)
+
if (WIN32 AND MSVC)
if (BUILD_SHARED_LIBS)
- set_target_properties (H5test_FortranHavekind
+ set_target_properties (H5_buildiface
PROPERTIES
COMPILE_FLAGS "/MT"
)
endif (BUILD_SHARED_LIBS)
- set_target_properties (H5test_FortranHavekind
+ set_target_properties (H5_buildiface
PROPERTIES
LINK_FLAGS "/SUBSYSTEM:CONSOLE"
)
endif (WIN32 AND MSVC)
-set_target_properties (H5test_FortranHavekind PROPERTIES
+set_target_properties (H5_buildiface PROPERTIES
LINKER_LANGUAGE Fortran
Fortran_MODULE_DIRECTORY ${CMAKE_Fortran_MODULE_DIRECTORY}
)
-set (CMD $<TARGET_FILE:H5test_FortranHavekind>)
-add_custom_command (
- OUTPUT ${HDF5_F90_BINARY_DIR}/H5fortran_detect.f90
- COMMAND ${CMD}
- ARGS > ${HDF5_F90_BINARY_DIR}/H5fortran_detect.f90
- WORKING_DIRECTORY ${HDF5_F90_BINARY_DIR}
- DEPENDS H5test_FortranHavekind
-)
-#-----------------------------------------------------------------------------
-add_executable (H5fortran_detect
- ${HDF5_F90_BINARY_DIR}/H5fortran_detect.f90
-)
-if (WIN32 AND MSVC)
- if (BUILD_SHARED_LIBS)
- set_target_properties (H5fortran_detect
- PROPERTIES
- COMPILE_FLAGS "/MT"
- )
- endif (BUILD_SHARED_LIBS)
- set_target_properties (H5fortran_detect
- PROPERTIES
- LINK_FLAGS "/SUBSYSTEM:CONSOLE"
- )
-endif (WIN32 AND MSVC)
-set_target_properties (H5fortran_detect PROPERTIES LINKER_LANGUAGE Fortran)
+if (BUILD_SHARED_LIBS AND NOT SKIP_HDF5_FORTRAN_SHARED)
+ if (WIN32)
+ set (MOD_BUILD_DIR ${CMAKE_Fortran_MODULE_DIRECTORY}/shared/\${BUILD_TYPE})
+ else (WIN32)
+ set (MOD_BUILD_DIR ${CMAKE_Fortran_MODULE_DIRECTORY}/shared)
+ endif (WIN32)
+else (BUILD_SHARED_LIBS AND NOT SKIP_HDF5_FORTRAN_SHARED)
+ if (WIN32)
+ set (MOD_BUILD_DIR ${CMAKE_Fortran_MODULE_DIRECTORY}/static/\${BUILD_TYPE})
+ else (WIN32)
+ set (MOD_BUILD_DIR ${CMAKE_Fortran_MODULE_DIRECTORY}/static)
+ endif (WIN32)
+endif (BUILD_SHARED_LIBS AND NOT SKIP_HDF5_FORTRAN_SHARED)
-set (CMD $<TARGET_FILE:H5fortran_detect>)
-add_custom_command (
- OUTPUT ${HDF5_F90_BINARY_DIR}/H5fort_type_defines.h
- COMMAND ${CMD}
- ARGS > ${HDF5_F90_BINARY_DIR}/H5fort_type_defines.h
- WORKING_DIRECTORY ${HDF5_F90_BINARY_DIR}
- DEPENDS H5fortran_detect
-)
+INCLUDE_DIRECTORIES (${HDF5_F90_BINARY_DIR} ${CMAKE_Fortran_MODULE_DIRECTORY} ${MOD_BUILD_DIR})
-INCLUDE_DIRECTORIES (${HDF5_F90_BINARY_DIR} ${CMAKE_Fortran_MODULE_DIRECTORY})
#-----------------------------------------------------------------------------
add_executable (H5match_types
${HDF5_F90_BINARY_DIR}/H5fort_type_defines.h
@@ -103,7 +86,7 @@ add_executable (H5match_types
set (CMD $<TARGET_FILE:H5match_types>)
add_custom_command (
OUTPUT ${HDF5_F90_BINARY_DIR}/H5f90i_gen.h
- ${HDF5_F90_BINARY_DIR}/H5fortran_types.f90
+ ${HDF5_F90_BINARY_DIR}/H5fortran_types.F90
COMMAND ${CMD}
WORKING_DIRECTORY ${HDF5_F90_BINARY_DIR}
DEPENDS H5match_types
@@ -131,12 +114,6 @@ set (f90CStub_C_SRCS
${HDF5_F90_SRC_SOURCE_DIR}/H5Zf.c
)
-if (H5_HAVE_PARALLEL)
- set (f90CStub_C_SRCS
- ${f90CStub_C_SRCS}
- ${HDF5_F90_SRC_SOURCE_DIR}/H5FDmpiof.c
- )
-endif (H5_HAVE_PARALLEL)
set_source_files_properties (${f90CStub_C_SRCS} PROPERTIES LANGUAGE C)
set (f90CStub_C_HDRS
@@ -144,125 +121,134 @@ set (f90CStub_C_HDRS
${HDF5_F90_BINARY_DIR}/H5f90i_gen.h
)
-add_library (${HDF5_F90_C_LIB_TARGET} ${LIB_TYPE} ${f90CStub_C_SRCS} ${f90CStub_C_HDRS})
-TARGET_C_PROPERTIES (${HDF5_F90_C_LIB_TARGET} ${LIB_TYPE} " " " ")
+add_library (${HDF5_F90_C_LIB_TARGET} STATIC ${f90CStub_C_SRCS} ${f90CStub_C_HDRS})
+TARGET_C_PROPERTIES (${HDF5_F90_C_LIB_TARGET} STATIC " " " ")
target_link_libraries (${HDF5_F90_C_LIB_TARGET} ${HDF5_LIB_TARGET} ${LINK_LIBS})
set_global_variable (HDF5_LIBRARIES_TO_EXPORT "${HDF5_LIBRARIES_TO_EXPORT};${HDF5_F90_C_LIB_TARGET}")
-H5_SET_LIB_OPTIONS (${HDF5_F90_C_LIB_TARGET} ${HDF5_F90_C_LIB_NAME} ${LIB_TYPE})
+H5_SET_LIB_OPTIONS (${HDF5_F90_C_LIB_TARGET} ${HDF5_F90_C_LIB_NAME} STATIC)
set_target_properties (${HDF5_F90_C_LIB_TARGET} PROPERTIES
FOLDER libraries/fortran
LINKER_LANGUAGE C
INTERFACE_INCLUDE_DIRECTORIES "$<INSTALL_INTERFACE:$<INSTALL_PREFIX>/include>"
)
+set (install_targets ${HDF5_F90_C_LIB_TARGET})
-#-----------------------------------------------------------------------------
-# Fortran 2003 standard
-#-----------------------------------------------------------------------------
-if (HDF5_ENABLE_F2003)
- # F2003 features are enabled
- set (F_STATUS "_F03")
-else (HDF5_ENABLE_F2003)
- # F2003 features are not enabled
- set (F_STATUS "_F90")
-endif (HDF5_ENABLE_F2003)
+if (BUILD_SHARED_LIBS AND NOT SKIP_HDF5_FORTRAN_SHARED)
+ add_library (${HDF5_F90_C_LIBSH_TARGET} SHARED ${f90CStub_C_SRCS} ${f90CStub_C_HDRS})
+ TARGET_C_PROPERTIES (${HDF5_F90_C_LIBSH_TARGET} SHARED " " " ")
+ target_link_libraries (${HDF5_F90_C_LIBSH_TARGET} ${HDF5_LIBSH_TARGET} ${LINK_SHARED_LIBS})
+ set_global_variable (HDF5_LIBRARIES_TO_EXPORT "${HDF5_LIBRARIES_TO_EXPORT};${HDF5_F90_C_LIBSH_TARGET}")
+ H5_SET_LIB_OPTIONS (${HDF5_F90_C_LIBSH_TARGET} ${HDF5_F90_C_LIB_NAME} SHARED)
+ set_target_properties (${HDF5_F90_C_LIBSH_TARGET} PROPERTIES
+ FOLDER libraries/fortran
+ LINKER_LANGUAGE C
+ COMPILE_DEFINITIONS "H5_BUILT_AS_DYNAMIC_LIB"
+ INTERFACE_INCLUDE_DIRECTORIES "$<INSTALL_INTERFACE:$<INSTALL_PREFIX>/include>"
+ INTERFACE_COMPILE_DEFINITIONS H5_BUILT_AS_DYNAMIC_LIB=1
+ )
+ set (install_targets ${install_targets} ${HDF5_F90_C_LIBSH_TARGET})
+endif (BUILD_SHARED_LIBS AND NOT SKIP_HDF5_FORTRAN_SHARED)
-#-----------------------------------------------------------------------------
-# Fortran Real Size
-#-----------------------------------------------------------------------------
-if (FORTRAN_DEFAULT_REAL_NOT_DOUBLE)
- # default real is 4 bytes, so include double signatures
- set (F_DBLE "Include")
-else (FORTRAN_DEFAULT_REAL_NOT_DOUBLE)
- # default real is 8 bytes, so exclude double signatures
- set (F_DBLE "Exclude")
-endif (FORTRAN_DEFAULT_REAL_NOT_DOUBLE)
+set_source_files_properties (${HDF5_F90_BINARY_DIR}/H5_gen.F90 PROPERTIES GENERATED TRUE)
#-----------------------------------------------------------------------------
# Fortran Modules
#-----------------------------------------------------------------------------
-set (f90_F_SRCS
+set (f90_F_BASE_SRCS
# generated files
- ${HDF5_F90_BINARY_DIR}/H5fortran_types.f90
+ ${HDF5_F90_BINARY_DIR}/H5fortran_types.F90
# normal distribution
- ${HDF5_F90_SRC_SOURCE_DIR}/H5f90global.f90
- ${HDF5_F90_SRC_SOURCE_DIR}/H5_ff${F_STATUS}.f90
- ${HDF5_F90_SRC_SOURCE_DIR}/H5_ff.f90
- ${HDF5_F90_SRC_SOURCE_DIR}/H5Aff.f90
- ${HDF5_F90_SRC_SOURCE_DIR}/H5Dff.f90
- ${HDF5_F90_SRC_SOURCE_DIR}/H5Eff.f90
- ${HDF5_F90_SRC_SOURCE_DIR}/H5Fff.f90
- ${HDF5_F90_SRC_SOURCE_DIR}/H5Gff.f90
- ${HDF5_F90_SRC_SOURCE_DIR}/H5Iff.f90
- ${HDF5_F90_SRC_SOURCE_DIR}/H5Lff.f90
- ${HDF5_F90_SRC_SOURCE_DIR}/H5Off.f90
- ${HDF5_F90_SRC_SOURCE_DIR}/H5Pff.f90
- ${HDF5_F90_SRC_SOURCE_DIR}/H5Rff.f90
- ${HDF5_F90_SRC_SOURCE_DIR}/H5Sff.f90
- ${HDF5_F90_SRC_SOURCE_DIR}/H5Tff.f90
- ${HDF5_F90_SRC_SOURCE_DIR}/H5Zff.f90
- ${HDF5_F90_SRC_SOURCE_DIR}/H5Aff${F_STATUS}.f90
- ${HDF5_F90_SRC_SOURCE_DIR}/H5Dff${F_STATUS}.f90
- ${HDF5_F90_SRC_SOURCE_DIR}/H5Eff${F_STATUS}.f90
- ${HDF5_F90_SRC_SOURCE_DIR}/H5Fff${F_STATUS}.f90
- ${HDF5_F90_SRC_SOURCE_DIR}/H5Lff${F_STATUS}.f90
- ${HDF5_F90_SRC_SOURCE_DIR}/H5Off${F_STATUS}.f90
- ${HDF5_F90_SRC_SOURCE_DIR}/H5Pff${F_STATUS}.f90
- ${HDF5_F90_SRC_SOURCE_DIR}/H5Rff${F_STATUS}.f90
- ${HDF5_F90_SRC_SOURCE_DIR}/H5Tff${F_STATUS}.f90
- ${HDF5_F90_SRC_SOURCE_DIR}/H5_DBLE_Interface${F_DBLE}.f90
+ ${HDF5_F90_SRC_SOURCE_DIR}/H5f90global.F90
+ ${HDF5_F90_SRC_SOURCE_DIR}/H5_ff.F90
+ ${HDF5_F90_SRC_SOURCE_DIR}/H5Aff.F90
+ ${HDF5_F90_SRC_SOURCE_DIR}/H5Dff.F90
+ ${HDF5_F90_SRC_SOURCE_DIR}/H5Eff.F90
+ ${HDF5_F90_SRC_SOURCE_DIR}/H5Fff.F90
+ ${HDF5_F90_SRC_SOURCE_DIR}/H5Gff.F90
+ ${HDF5_F90_SRC_SOURCE_DIR}/H5Iff.F90
+ ${HDF5_F90_SRC_SOURCE_DIR}/H5Lff.F90
+ ${HDF5_F90_SRC_SOURCE_DIR}/H5Off.F90
+ ${HDF5_F90_SRC_SOURCE_DIR}/H5Pff.F90
+ ${HDF5_F90_SRC_SOURCE_DIR}/H5Rff.F90
+ ${HDF5_F90_SRC_SOURCE_DIR}/H5Sff.F90
+ ${HDF5_F90_SRC_SOURCE_DIR}/H5Tff.F90
+ ${HDF5_F90_SRC_SOURCE_DIR}/H5Zff.F90
+)
+
+set (f90_F_SRCS
+ ${f90_F_BASE_SRCS}
+
+ # generated file
+ ${HDF5_F90_BINARY_DIR}/H5_gen.F90
+
+ # normal distribution
+ ${HDF5_F90_SRC_SOURCE_DIR}/HDF5.F90
+)
+
+set (CMD $<TARGET_FILE:H5_buildiface>)
+add_custom_target (H5gen ALL
+ COMMAND ${CMD}
+#v3.2 BYPRODUCT ${HDF5_F90_BINARY_DIR}/H5_gen.F90
+ WORKING_DIRECTORY ${HDF5_F90_BINARY_DIR}
+ DEPENDS ${f90_F_BASE_SRCS}
)
-#-----------------------------------------------------------------------------
-# Add H5FDMPIO if parallel
-#-----------------------------------------------------------------------------
-if (H5_HAVE_PARALLEL AND MPI_Fortran_FOUND)
- set (f90_F_SRCS
- ${f90_F_SRCS}
- ${HDF5_F90_SRC_SOURCE_DIR}/HDF5mpio.f90
- ${HDF5_F90_SRC_SOURCE_DIR}/H5FDmpioff.f90
- )
-else (H5_HAVE_PARALLEL AND MPI_Fortran_FOUND)
- set (f90_F_SRCS
- ${f90_F_SRCS}
- ${HDF5_F90_SRC_SOURCE_DIR}/HDF5.f90
- )
-endif (H5_HAVE_PARALLEL AND MPI_Fortran_FOUND)
set_source_files_properties (${f90_F_SRCS} PROPERTIES LANGUAGE Fortran)
#-----------------------------------------------------------------------------
# Add Main fortran library
#-----------------------------------------------------------------------------
-add_library (${HDF5_F90_LIB_TARGET} ${LIB_TYPE} ${f90_F_SRCS})
+add_library (${HDF5_F90_LIB_TARGET} STATIC ${f90_F_SRCS})
set (SHARED_LINK_FLAGS " ")
-if (WIN32)
- if (BUILD_SHARED_LIBS)
- set_property (TARGET ${HDF5_F90_LIB_TARGET}
- APPEND PROPERTY COMPILE_DEFINITIONS
- BUILD_HDF5_DLL
- )
- if (MSVC)
- set (SHARED_LINK_FLAGS "/DLL /DEF:${HDF5_F90_SRC_BINARY_DIR}/hdf5_fortrandll.def")
- endif (MSVC)
- endif (BUILD_SHARED_LIBS)
- set_property (TARGET ${HDF5_F90_LIB_TARGET}
- APPEND PROPERTY COMPILE_DEFINITIONS
- HDF5F90_WINDOWS
- )
-endif (WIN32)
-TARGET_FORTRAN_PROPERTIES (${HDF5_F90_LIB_TARGET} ${LIB_TYPE} " " ${SHARED_LINK_FLAGS})
+TARGET_FORTRAN_PROPERTIES (${HDF5_F90_LIB_TARGET} STATIC " " " ")
target_link_libraries (${HDF5_F90_LIB_TARGET} ${HDF5_F90_C_LIB_TARGET} ${HDF5_LIB_TARGET})
if (H5_HAVE_PARALLEL AND MPI_Fortran_FOUND)
target_link_libraries (${HDF5_F90_LIB_TARGET} ${MPI_Fortran_LIBRARIES})
endif (H5_HAVE_PARALLEL AND MPI_Fortran_FOUND)
set_global_variable (HDF5_LIBRARIES_TO_EXPORT "${HDF5_LIBRARIES_TO_EXPORT};${HDF5_F90_LIB_TARGET}")
-H5_SET_LIB_OPTIONS (${HDF5_F90_LIB_TARGET} ${HDF5_F90_LIB_NAME} ${LIB_TYPE})
+H5_SET_LIB_OPTIONS (${HDF5_F90_LIB_TARGET} ${HDF5_F90_LIB_NAME} STATIC)
set_target_properties (${HDF5_F90_LIB_TARGET} PROPERTIES
FOLDER libraries/fortran
LINKER_LANGUAGE Fortran
INTERFACE_INCLUDE_DIRECTORIES "$<INSTALL_INTERFACE:$<INSTALL_PREFIX>/include>"
- Fortran_MODULE_DIRECTORY ${CMAKE_Fortran_MODULE_DIRECTORY}
+ Fortran_MODULE_DIRECTORY ${CMAKE_Fortran_MODULE_DIRECTORY}/static
)
+if (WIN32)
+ set_property (TARGET ${HDF5_F90_LIB_TARGET}
+ APPEND PROPERTY COMPILE_DEFINITIONS "HDF5F90_WINDOWS"
+ )
+endif (WIN32)
+set (install_targets ${install_targets} ${HDF5_F90_LIB_TARGET})
+
+if (BUILD_SHARED_LIBS AND NOT SKIP_HDF5_FORTRAN_SHARED)
+ add_library (${HDF5_F90_LIBSH_TARGET} SHARED ${f90_F_SRCS})
+ set (SHARED_LINK_FLAGS " ")
+ if (WIN32 AND MSVC)
+ set (SHARED_LINK_FLAGS "/DLL /DEF:${HDF5_F90_SRC_BINARY_DIR}/hdf5_fortrandll.def")
+ endif (WIN32 AND MSVC)
+ TARGET_FORTRAN_PROPERTIES (${HDF5_F90_LIBSH_TARGET} SHARED " " ${SHARED_LINK_FLAGS})
+ target_link_libraries (${HDF5_F90_LIBSH_TARGET} ${HDF5_F90_C_LIBSH_TARGET} ${HDF5_LIBSH_TARGET})
+ if (H5_HAVE_PARALLEL AND MPI_Fortran_FOUND)
+ target_link_libraries (${HDF5_F90_LIBSH_TARGET} ${MPI_Fortran_LIBRARIES})
+ endif (H5_HAVE_PARALLEL AND MPI_Fortran_FOUND)
+ set_global_variable (HDF5_LIBRARIES_TO_EXPORT "${HDF5_LIBRARIES_TO_EXPORT};${HDF5_F90_LIBSH_TARGET}")
+ H5_SET_LIB_OPTIONS (${HDF5_F90_LIBSH_TARGET} ${HDF5_F90_LIB_NAME} SHARED)
+ set_target_properties (${HDF5_F90_LIBSH_TARGET} PROPERTIES
+ FOLDER libraries/fortran
+ LINKER_LANGUAGE Fortran
+ COMPILE_DEFINITIONS "H5_BUILT_AS_DYNAMIC_LIB"
+ INTERFACE_INCLUDE_DIRECTORIES "$<INSTALL_INTERFACE:$<INSTALL_PREFIX>/include>"
+ INTERFACE_COMPILE_DEFINITIONS H5_BUILT_AS_DYNAMIC_LIB=1
+ Fortran_MODULE_DIRECTORY ${CMAKE_Fortran_MODULE_DIRECTORY}/shared
+ )
+ if (WIN32)
+ set_property (TARGET ${HDF5_F90_LIBSH_TARGET}
+ APPEND PROPERTY COMPILE_DEFINITIONS "BUILD_HDF5_DLL;HDF5F90_WINDOWS"
+ )
+ endif (WIN32)
+ set (install_targets ${install_targets} ${HDF5_F90_LIBSH_TARGET})
+endif (BUILD_SHARED_LIBS AND NOT SKIP_HDF5_FORTRAN_SHARED)
#-----------------------------------------------------------------------------
# Add file(s) to CMake Install
@@ -273,19 +259,13 @@ install (
${HDF5_F90_SRC_SOURCE_DIR}/H5f90i.h
${HDF5_F90_SRC_SOURCE_DIR}/H5f90proto.h
${HDF5_F90_BINARY_DIR}/H5f90i_gen.h
- ${HDF5_F90_BINARY_DIR}/H5fortran_types.f90
+ ${HDF5_F90_BINARY_DIR}/H5fortran_types.F90
DESTINATION
${HDF5_INSTALL_INCLUDE_DIR}
COMPONENT
fortheaders
)
-if (WIN32)
- set (MOD_BUILD_DIR ${CMAKE_Fortran_MODULE_DIRECTORY}/\${BUILD_TYPE})
-else (WIN32)
- set (MOD_BUILD_DIR ${CMAKE_Fortran_MODULE_DIRECTORY})
-endif (WIN32)
-
set (mod_files
${MOD_BUILD_DIR}/h5fortran_types.mod
${MOD_BUILD_DIR}/hdf5.mod
@@ -304,17 +284,7 @@ set (mod_files
${MOD_BUILD_DIR}/h5s.mod
${MOD_BUILD_DIR}/h5t.mod
${MOD_BUILD_DIR}/h5z.mod
- ${MOD_BUILD_DIR}/h5a_provisional.mod
- ${MOD_BUILD_DIR}/h5d_provisional.mod
- ${MOD_BUILD_DIR}/h5e_provisional.mod
- ${MOD_BUILD_DIR}/h5f_provisional.mod
- ${MOD_BUILD_DIR}/h5l_provisional.mod
- ${MOD_BUILD_DIR}/h5lib_provisional.mod
- ${MOD_BUILD_DIR}/h5o_provisional.mod
- ${MOD_BUILD_DIR}/h5p_provisional.mod
- ${MOD_BUILD_DIR}/h5r_provisional.mod
- ${MOD_BUILD_DIR}/h5t_provisional.mod
- ${MOD_BUILD_DIR}/h5_dble_interface.mod
+ ${MOD_BUILD_DIR}/h5_gen.mod
)
install (
FILES
@@ -329,15 +299,14 @@ install (
# Add Target(s) to CMake Install for import into other projects
#-----------------------------------------------------------------------------
if (HDF5_EXPORTED_TARGETS)
- if (BUILD_SHARED_LIBS)
- INSTALL_TARGET_PDB (${HDF5_F90_C_LIB_TARGET} ${HDF5_INSTALL_BIN_DIR} fortlibraries)
- #INSTALL_TARGET_PDB (${HDF5_F90_LIB_TARGET} ${HDF5_INSTALL_BIN_DIR} fortlibraries)
- endif (BUILD_SHARED_LIBS)
+ if (BUILD_SHARED_LIBS AND NOT SKIP_HDF5_FORTRAN_SHARED)
+ INSTALL_TARGET_PDB (${HDF5_F90_C_LIBSH_TARGET} ${HDF5_INSTALL_BIN_DIR} fortlibraries)
+ #INSTALL_TARGET_PDB (${HDF5_F90_LIBSH_TARGET} ${HDF5_INSTALL_BIN_DIR} fortlibraries)
+ endif (BUILD_SHARED_LIBS AND NOT SKIP_HDF5_FORTRAN_SHARED)
install (
TARGETS
- ${HDF5_F90_C_LIB_TARGET}
- ${HDF5_F90_LIB_TARGET}
+ ${install_targets}
EXPORT
${HDF5_EXPORTED_TARGETS}
LIBRARY DESTINATION ${HDF5_INSTALL_LIB_DIR} COMPONENT fortlibraries
diff --git a/fortran/src/H5Af.c b/fortran/src/H5Af.c
index bc2e9f1..8f012cf 100644
--- a/fortran/src/H5Af.c
+++ b/fortran/src/H5Af.c
@@ -1,6 +1,6 @@
/****h* H5Af/H5Af
* PURPOSE
- * This file contains C stubs for H5A Fortran APIs
+ * This file contains C stubs for H5A Fortran APIs
*
* COPYRIGHT
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
@@ -26,29 +26,29 @@
/****if* H5Af/h5acreate_c
* NAME
- * h5acreate_c
+ * h5acreate_c
* PURPOSE
- * Call H5Acreate2 to create an attribute
+ * Call H5Acreate2 to create an attribute
* INPUTS
- * obj_id - object identifier
- * name - name of the attribute
- * namelen - name length
- * type_id - datatype identifier
- * space_id - dataspace identifier
- * crt_pr - identifier of creation property list
+ * obj_id - object identifier
+ * name - name of the attribute
+ * namelen - name length
+ * type_id - datatype identifier
+ * space_id - dataspace identifier
+ * crt_pr - identifier of creation property list
* OUTPUTS
- * attr_id - attribute identifier
+ * attr_id - attribute identifier
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* Elena Pourmal
- * Thursday, August 12, 1999
+ * Thursday, August 12, 1999
* HISTORY
*
* SOURCE
*/
int_f
-nh5acreate_c(hid_t_f *obj_id, _fcd name, size_t_f *namelen, hid_t_f *type_id,
+h5acreate_c(hid_t_f *obj_id, _fcd name, size_t_f *namelen, hid_t_f *type_id,
hid_t_f *space_id, hid_t_f *crt_prp, hid_t_f *aapl, hid_t_f *attr_id)
/*******/
{
@@ -73,894 +73,26 @@ done:
return ret_value;
}
-/****if* H5Af/h5aopen_name_c
- * NAME
- * h5aopen_name_c
- * PURPOSE
- * Call H5Aopen to open an attribute
- * INPUTS
- * obj_id - object identifier
- * name - name of the attribute
- * namelen - name length
- * OUTPUTS
- * attr_id - dataset identifier
- * RETURNS
- * 0 on success, -1 on failure
- * AUTHOR
- * Elena Pourmal
- * Thursday, August 12, 1999
- * HISTORY
- *
- * SOURCE
-*/
-int_f
-nh5aopen_name_c (hid_t_f *obj_id, _fcd name, size_t_f *namelen, hid_t_f *attr_id)
-/*******/
-{
- char *c_name = NULL; /* Buffer to hold C string */
- int_f ret_value = 0; /* Return value */
-
- /*
- * Convert FORTRAN name to C name
- */
- if((c_name = HD5f2cstring(name, (size_t)*namelen)) == NULL)
- HGOTO_DONE(FAIL);
-
- /*
- * Call H5Aopen function.
- */
- if((*attr_id = (hid_t_f)H5Aopen((hid_t)*obj_id, c_name, H5P_DEFAULT)) < 0)
- HGOTO_DONE(FAIL);
-
-done:
- if(c_name)
- HDfree(c_name);
- return ret_value;
-}
-
-/****if* H5Af/h5awritec_c
- * NAME
- * h5awritec_c
- * PURPOSE
- * Call h5awrite_c to write a character attribute
- * INPUTS
- * attr_id - dataset identifier
- * mem_type_id - memory datatype identifier
- * buf - character data buffer
- * dims - array to store dimensions sizes of buf; used only
- * by Fortran routine.
- * RETURNS
- * 0 on success, -1 on failure
- * AUTHOR
- * Elena Pourmal
- * Thursday , August 12, 1999
- * HISTORY
- * dims paramete added.
- * April 4, 2001
- * SOURCE
-*/
-int_f
-nh5awritec_c (hid_t_f *attr_id, hid_t_f *mem_type_id, _fcd buf, void *dims)
-/******/
-{
- /*
- * Call h5awrite_c function.
- */
- return nh5awrite_c(attr_id, mem_type_id, _fcdtocp(buf), dims);
-}
-int_f
-nh5awritec_s_c (hid_t_f *attr_id, hid_t_f *mem_type_id, _fcd buf, void *dims)
-/******/
-{
- /*
- * Call h5awrite_c function.
- */
- return nh5awrite_c(attr_id, mem_type_id, _fcdtocp(buf), dims);
-}
-
-int_f
-nh5awritec_1_c (hid_t_f *attr_id, hid_t_f *mem_type_id, _fcd buf, void *dims)
-/******/
-{
- /*
- * Call h5awrite_c function.
- */
- return nh5awrite_c(attr_id, mem_type_id, _fcdtocp(buf), dims);
-}
-
-int_f
-nh5awritec_2_c (hid_t_f *attr_id, hid_t_f *mem_type_id, _fcd buf, void *dims)
-/******/
-{
- /*
- * Call h5awrite_c function.
- */
- return nh5awrite_c(attr_id, mem_type_id, _fcdtocp(buf), dims);
-}
-
-int_f
-nh5awritec_3_c (hid_t_f *attr_id, hid_t_f *mem_type_id, _fcd buf, void *dims)
-/******/
-{
- /*
- * Call h5awrite_c function.
- */
- return nh5awrite_c(attr_id, mem_type_id, _fcdtocp(buf), dims);
-}
-
-int_f
-nh5awritec_4_c (hid_t_f *attr_id, hid_t_f *mem_type_id, _fcd buf, void *dims)
-/******/
-{
- /*
- * Call h5awrite_c function.
- */
- return nh5awrite_c(attr_id, mem_type_id, _fcdtocp(buf), dims);
-}
-
-int_f
-nh5awritec_5_c (hid_t_f *attr_id, hid_t_f *mem_type_id, _fcd buf, void *dims)
-/******/
-{
- /*
- * Call h5awrite_c function.
- */
- return nh5awrite_c(attr_id, mem_type_id, _fcdtocp(buf), dims);
-}
-
-int_f
-nh5awritec_6_c (hid_t_f *attr_id, hid_t_f *mem_type_id, _fcd buf, void *dims)
-/******/
-{
- /*
- * Call h5awrite_c function.
- */
- return nh5awrite_c(attr_id, mem_type_id, _fcdtocp(buf), dims);
-}
-
-int_f
-nh5awritec_7_c (hid_t_f *attr_id, hid_t_f *mem_type_id, _fcd buf, void *dims)
-/******/
-{
- /*
- * Call h5awrite_c function.
- */
- return nh5awrite_c(attr_id, mem_type_id, _fcdtocp(buf), dims);
-}
-
-
-
-/****if* H5Af/h5awrite_c
- * NAME
- * h5awrite_c
- * PURPOSE
- * Call H5Awrite to write a attribute
- * INPUTS
- * attr_id - attribute identifier
- * mem_type_id - memory datatype identifier
- * buf - data buffer
- * dims - array to store dimensions sizes of buf; used only
- * by Fortran routine.
- * RETURNS
- * 0 on success, -1 on failure
- * AUTHOR
- * Elena Pourmal
- * Thursday, August 12, 1999
- * HISTORY
- * dims parameter added
- * April 4, 2001
- * Added nh5awrite_integer(real,double)_s,1-7 functions to eliminate
- * complains about wrong parameters types in h5awrite_c function
- * called by Fortran routines.
- * October 9, 2006 EIP
- * SOURCE
-*/
-int_f
-nh5awrite_integer_s_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void H5_ATTR_UNUSED *dims)
-/******/
-{
- /*
- * Call h5awrite_c function.
- */
- return nh5awrite_c(attr_id, mem_type_id, buf, dims);
-}
-
-int_f
-nh5awrite_integer_1_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void H5_ATTR_UNUSED *dims)
-/******/
-{
- /*
- * Call h5awrite_c function.
- */
- return nh5awrite_c(attr_id, mem_type_id, buf, dims);
-}
-
-int_f
-nh5awrite_integer_2_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void H5_ATTR_UNUSED *dims)
-/******/
-{
- /*
- * Call h5awrite_c function.
- */
- return nh5awrite_c(attr_id, mem_type_id, buf, dims);
-}
-
-int_f
-nh5awrite_integer_3_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void H5_ATTR_UNUSED *dims)
-/******/
-{
- /*
- * Call h5awrite_c function.
- */
- return nh5awrite_c(attr_id, mem_type_id, buf, dims);
-}
-
-int_f
-nh5awrite_integer_4_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void H5_ATTR_UNUSED *dims)
-/******/
-{
- /*
- * Call h5awrite_c function.
- */
- return nh5awrite_c(attr_id, mem_type_id, buf, dims);
-}
-
-int_f
-nh5awrite_integer_5_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void H5_ATTR_UNUSED *dims)
-/******/
-{
- /*
- * Call h5awrite_c function.
- */
- return nh5awrite_c(attr_id, mem_type_id, buf, dims);
-}
-
-int_f
-nh5awrite_integer_6_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void H5_ATTR_UNUSED *dims)
-/******/
-{
- /*
- * Call h5awrite_c function.
- */
- return nh5awrite_c(attr_id, mem_type_id, buf, dims);
-}
-
-int_f
-nh5awrite_integer_7_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void H5_ATTR_UNUSED *dims)
-/******/
-{
- /*
- * Call h5awrite_c function.
- */
- return nh5awrite_c(attr_id, mem_type_id, buf, dims);
-}
-
-int_f
-nh5awrite_real_s_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void H5_ATTR_UNUSED *dims)
-/******/
-{
- /*
- * Call h5awrite_c function.
- */
- return nh5awrite_c(attr_id, mem_type_id, buf, dims);
-}
-
-int_f
-nh5awrite_real_1_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void H5_ATTR_UNUSED *dims)
-/******/
-{
- /*
- * Call h5awrite_c function.
- */
- return nh5awrite_c(attr_id, mem_type_id, buf, dims);
-}
-
-int_f
-nh5awrite_real_2_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void H5_ATTR_UNUSED *dims)
-/******/
-{
- /*
- * Call h5awrite_c function.
- */
- return nh5awrite_c(attr_id, mem_type_id, buf, dims);
-}
-
-int_f
-nh5awrite_real_3_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void H5_ATTR_UNUSED *dims)
-/******/
-{
- /*
- * Call h5awrite_c function.
- */
- return nh5awrite_c(attr_id, mem_type_id, buf, dims);
-}
-
-int_f
-nh5awrite_real_4_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void H5_ATTR_UNUSED *dims)
-/******/
-{
- /*
- * Call h5awrite_c function.
- */
- return nh5awrite_c(attr_id, mem_type_id, buf, dims);
-}
-
-int_f
-nh5awrite_real_5_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void H5_ATTR_UNUSED *dims)
-/******/
-{
- /*
- * Call h5awrite_c function.
- */
- return nh5awrite_c(attr_id, mem_type_id, buf, dims);
-}
-
-int_f
-nh5awrite_real_6_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void H5_ATTR_UNUSED *dims)
-/******/
-{
- /*
- * Call h5awrite_c function.
- */
- return nh5awrite_c(attr_id, mem_type_id, buf, dims);
-}
-
-int_f
-nh5awrite_real_7_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void H5_ATTR_UNUSED *dims)
-/******/
-{
- /*
- * Call h5awrite_c function.
- */
- return nh5awrite_c(attr_id, mem_type_id, buf, dims);
-}
-
-int_f
-nh5awrite_double_s_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void H5_ATTR_UNUSED *dims)
-/******/
-{
- /*
- * Call h5awrite_c function.
- */
- return nh5awrite_c(attr_id, mem_type_id, buf, dims);
-}
-
-int_f
-nh5awrite_double_1_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void H5_ATTR_UNUSED *dims)
-/******/
-{
- /*
- * Call h5awrite_c function.
- */
- return nh5awrite_c(attr_id, mem_type_id, buf, dims);
-}
-
-int_f
-nh5awrite_double_2_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void H5_ATTR_UNUSED *dims)
-/******/
-{
- /*
- * Call h5awrite_c function.
- */
- return nh5awrite_c(attr_id, mem_type_id, buf, dims);
-}
-
-int_f
-nh5awrite_double_3_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void H5_ATTR_UNUSED *dims)
-/******/
-{
- /*
- * Call h5awrite_c function.
- */
- return nh5awrite_c(attr_id, mem_type_id, buf, dims);
-}
-
-int_f
-nh5awrite_double_4_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void H5_ATTR_UNUSED *dims)
-/******/
-{
- /*
- * Call h5awrite_c function.
- */
- return nh5awrite_c(attr_id, mem_type_id, buf, dims);
-}
-
-int_f
-nh5awrite_double_5_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void H5_ATTR_UNUSED *dims)
-/******/
-{
- /*
- * Call h5awrite_c function.
- */
- return nh5awrite_c(attr_id, mem_type_id, buf, dims);
-}
-
-int_f
-nh5awrite_double_6_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void H5_ATTR_UNUSED *dims)
-/******/
-{
- /*
- * Call h5awrite_c function.
- */
- return nh5awrite_c(attr_id, mem_type_id, buf, dims);
-}
-
-int_f
-nh5awrite_double_7_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void H5_ATTR_UNUSED *dims)
-/******/
-{
- /*
- * Call h5awrite_c function.
- */
- return nh5awrite_c(attr_id, mem_type_id, buf, dims);
-}
-
-int_f
-nh5awrite_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void H5_ATTR_UNUSED *dims)
-/******/
-{
- int_f ret_value=0; /* Return value */
-
- /*
- * Call H5Awrite function.
- */
- if (H5Awrite((hid_t)*attr_id, (hid_t)*mem_type_id, buf) < 0)
- HGOTO_DONE(FAIL);
-
-done:
- return ret_value;
-}
-
-
-/****if* H5Af/h5areadc_c
- * NAME
- * h5areadc_c
- * PURPOSE
- * Call h5aread_c to read character attribute
- * INPUTS
- * dset_id - dataset identifier
- * mem_type_id - memory datatype identifier
- * dims - array to store dimensions sizes of buf; used only
- * by Fortran routine.
- * OUTPUTS
- * buf - character data buffer
- * RETURNS
- * 0 on success, -1 on failure
- * AUTHOR
- * Elena Pourmal
- * Thursday, August 12, 1999
- * HISTORY
- * dims parameter added.
- * April 4, 2001
- * Added nh5areadc_s,1-7 functions to eliminate
- * complains about wrong parameters types in h5awrite_c function
- * called by Fortran routines.
- * October 9, 2006 EIP
- * SOURCE
-*/
-int_f
-nh5areadc_c (hid_t_f *attr_id, hid_t_f *mem_type_id, _fcd buf, void *dims)
-/******/
-{
- /*
- * Call h5aread_c function.
- */
- return nh5aread_c(attr_id, mem_type_id, _fcdtocp(buf), dims);
-}
-int_f
-nh5areadc_s_c (hid_t_f *attr_id, hid_t_f *mem_type_id, _fcd buf, void *dims)
-/******/
-{
- /*
- * Call h5aread_c function.
- */
- return nh5aread_c(attr_id, mem_type_id, _fcdtocp(buf), dims);
-}
-
-int_f
-nh5areadc_1_c (hid_t_f *attr_id, hid_t_f *mem_type_id, _fcd buf, void *dims)
-/******/
-{
- /*
- * Call h5aread_c function.
- */
- return nh5aread_c(attr_id, mem_type_id, _fcdtocp(buf), dims);
-}
-
-int_f
-nh5areadc_2_c (hid_t_f *attr_id, hid_t_f *mem_type_id, _fcd buf, void *dims)
-/******/
-{
- /*
- * Call h5aread_c function.
- */
- return nh5aread_c(attr_id, mem_type_id, _fcdtocp(buf), dims);
-}
-
-int_f
-nh5areadc_3_c (hid_t_f *attr_id, hid_t_f *mem_type_id, _fcd buf, void *dims)
-/******/
-{
- /*
- * Call h5aread_c function.
- */
- return nh5aread_c(attr_id, mem_type_id, _fcdtocp(buf), dims);
-}
-
-int_f
-nh5areadc_4_c (hid_t_f *attr_id, hid_t_f *mem_type_id, _fcd buf, void *dims)
-/******/
-{
- /*
- * Call h5aread_c function.
- */
- return nh5aread_c(attr_id, mem_type_id, _fcdtocp(buf), dims);
-}
-
-int_f
-nh5areadc_5_c (hid_t_f *attr_id, hid_t_f *mem_type_id, _fcd buf, void *dims)
-/******/
-{
- /*
- * Call h5aread_c function.
- */
- return nh5aread_c(attr_id, mem_type_id, _fcdtocp(buf), dims);
-}
-
-int_f
-nh5areadc_6_c (hid_t_f *attr_id, hid_t_f *mem_type_id, _fcd buf, void *dims)
-/******/
-{
- /*
- * Call h5aread_c function.
- */
- return nh5aread_c(attr_id, mem_type_id, _fcdtocp(buf), dims);
-}
-int_f
-nh5areadc_7_c (hid_t_f *attr_id, hid_t_f *mem_type_id, _fcd buf, void *dims)
-/******/
-{
- /*
- * Call h5aread_c function.
- */
- return nh5aread_c(attr_id, mem_type_id, _fcdtocp(buf), dims);
-}
-
-
-
-/****if* H5Af/h5aread_c
- * NAME
- * h5aread_c
- * PURPOSE
- * Call H5Aread to read an attribute
- * INPUTS
- * dset_id - dataset identifier
- * mem_type_id - memory datatype identifier
- * dims - array to store dimensions sizes of buf; used only
- * by Fortran routine.
- * OUTPUTS
- * buf - data buffer
- * RETURNS
- * 0 on success, -1 on failure
- * AUTHOR
- * Elena Pourmal
- * Thursday, August 12, 1999
- * HISTORY
- * dims paramete added.
- * April 4, 2001
- * Added nh5aread_integer(real,double)_s,1-7 functions to eliminate
- * complains about wrong parameters types in h5awrite_c function
- * called by Fortran routines.
- * October 9, 2006 EIP
- * SOURCE
-*/
-int_f
-nh5aread_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void H5_ATTR_UNUSED * dims)
-/******/
-{
- int_f ret_value=0; /* Return value */
-
- /*
- * Call H5Aread function.
- */
- if (H5Aread((hid_t)*attr_id, (hid_t)*mem_type_id, buf) < 0)
- HGOTO_DONE(FAIL);
-
-done:
- return ret_value;
-}
-
-int_f
-nh5aread_integer_s_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void H5_ATTR_UNUSED * dims)
-/******/
-{
- /*
- * Call h5aread_c function.
- */
- return nh5aread_c(attr_id, mem_type_id, buf, dims);
-}
-
-int_f
-nh5aread_integer_1_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void H5_ATTR_UNUSED * dims)
-/******/
-{
- /*
- * Call h5aread_c function.
- */
- return nh5aread_c(attr_id, mem_type_id, buf, dims);
-}
-
-int_f
-nh5aread_integer_2_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void H5_ATTR_UNUSED * dims)
-/******/
-{
- /*
- * Call h5aread_c function.
- */
- return nh5aread_c(attr_id, mem_type_id, buf, dims);
-}
-
-int_f
-nh5aread_integer_3_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void H5_ATTR_UNUSED * dims)
-/******/
-{
- /*
- * Call h5aread_c function.
- */
- return nh5aread_c(attr_id, mem_type_id, buf, dims);
-}
-
-int_f
-nh5aread_integer_4_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void H5_ATTR_UNUSED * dims)
-/******/
-{
- /*
- * Call h5aread_c function.
- */
- return nh5aread_c(attr_id, mem_type_id, buf, dims);
-}
-
-int_f
-nh5aread_integer_5_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void H5_ATTR_UNUSED * dims)
-/******/
-{
- /*
- * Call h5aread_c function.
- */
- return nh5aread_c(attr_id, mem_type_id, buf, dims);
-}
-
-int_f
-nh5aread_integer_6_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void H5_ATTR_UNUSED * dims)
-/******/
-{
- /*
- * Call h5aread_c function.
- */
- return nh5aread_c(attr_id, mem_type_id, buf, dims);
-}
-
-int_f
-nh5aread_integer_7_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void H5_ATTR_UNUSED * dims)
-/******/
-{
- /*
- * Call h5aread_c function.
- */
- return nh5aread_c(attr_id, mem_type_id, buf, dims);
-}
-
-int_f
-nh5aread_real_s_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void H5_ATTR_UNUSED * dims)
-/******/
-{
- /*
- * Call h5aread_c function.
- */
- return nh5aread_c(attr_id, mem_type_id, buf, dims);
-}
-
-int_f
-nh5aread_real_1_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void H5_ATTR_UNUSED * dims)
-/******/
-{
- /*
- * Call h5aread_c function.
- */
- return nh5aread_c(attr_id, mem_type_id, buf, dims);
-}
-
-int_f
-nh5aread_real_2_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void H5_ATTR_UNUSED * dims)
-/******/
-{
- /*
- * Call h5aread_c function.
- */
- return nh5aread_c(attr_id, mem_type_id, buf, dims);
-}
-
-int_f
-nh5aread_real_3_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void H5_ATTR_UNUSED * dims)
-/******/
-{
- /*
- * Call h5aread_c function.
- */
- return nh5aread_c(attr_id, mem_type_id, buf, dims);
-}
-
-int_f
-nh5aread_real_4_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void H5_ATTR_UNUSED * dims)
-/******/
-{
- /*
- * Call h5aread_c function.
- */
- return nh5aread_c(attr_id, mem_type_id, buf, dims);
-}
-
-int_f
-nh5aread_real_5_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void H5_ATTR_UNUSED * dims)
-/******/
-{
- /*
- * Call h5aread_c function.
- */
- return nh5aread_c(attr_id, mem_type_id, buf, dims);
-}
-
-int_f
-nh5aread_real_6_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void H5_ATTR_UNUSED * dims)
-/******/
-{
- /*
- * Call h5aread_c function.
- */
- return nh5aread_c(attr_id, mem_type_id, buf, dims);
-}
-
-int_f
-nh5aread_real_7_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void H5_ATTR_UNUSED * dims)
-/******/
-{
- /*
- * Call h5aread_c function.
- */
- return nh5aread_c(attr_id, mem_type_id, buf, dims);
-}
-
-int_f
-nh5aread_double_s_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void H5_ATTR_UNUSED * dims)
-/******/
-{
- /*
- * Call h5aread_c function.
- */
- return nh5aread_c(attr_id, mem_type_id, buf, dims);
-}
-
-int_f
-nh5aread_double_1_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void H5_ATTR_UNUSED * dims)
-/******/
-{
- /*
- * Call h5aread_c function.
- */
- return nh5aread_c(attr_id, mem_type_id, buf, dims);
-}
-
-int_f
-nh5aread_double_2_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void H5_ATTR_UNUSED * dims)
-/******/
-{
- /*
- * Call h5aread_c function.
- */
- return nh5aread_c(attr_id, mem_type_id, buf, dims);
-}
-
-int_f
-nh5aread_double_3_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void H5_ATTR_UNUSED * dims)
-/******/
-{
- /*
- * Call h5aread_c function.
- */
- return nh5aread_c(attr_id, mem_type_id, buf, dims);
-}
-
-int_f
-nh5aread_double_4_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void H5_ATTR_UNUSED * dims)
-/******/
-{
- /*
- * Call h5aread_c function.
- */
- return nh5aread_c(attr_id, mem_type_id, buf, dims);
-}
-
-int_f
-nh5aread_double_5_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void H5_ATTR_UNUSED * dims)
-/******/
-{
- /*
- * Call h5aread_c function.
- */
- return nh5aread_c(attr_id, mem_type_id, buf, dims);
-}
-
-int_f
-nh5aread_double_6_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void H5_ATTR_UNUSED * dims)
-/******/
-{
- /*
- * Call h5aread_c function.
- */
- return nh5aread_c(attr_id, mem_type_id, buf, dims);
-}
-
-int_f
-nh5aread_double_7_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void H5_ATTR_UNUSED * dims)
-/******/
-{
- /*
- * Call h5aread_c function.
- */
- return nh5aread_c(attr_id, mem_type_id, buf, dims);
-}
-
-
-/****if* H5Af/h5aclose_c
- * NAME
- * h5aclose_c
- * PURPOSE
- * Call H5Aclose to close an attribute
- * INPUTS
- * attr_id - identifier of an attribute to be closed
- * RETURNS
- * 0 on success, -1 on failure
- * AUTHOR
- * Elena Pourmal
- * Thursday, August 12, 1999
- * HISTORY
- *
- * SOURCE
-*/
-
-int_f
-nh5aclose_c ( hid_t_f *attr_id )
-/******/
-{
- int_f ret_value=0; /* Return value */
-
- if (H5Aclose((hid_t)*attr_id) < 0)
- HGOTO_DONE(FAIL);
-
-done:
- return ret_value;
-}
-
/****if* H5Af/h5adelete_c
* NAME
- * h5adelete_c
+ * h5adelete_c
* PURPOSE
- * Call H5Adelete to delete an attribute
+ * Call H5Adelete to delete an attribute
* INPUTS
- * obj_id - object identifier
- * name - name of the attribute
- * namelen - name length
+ * obj_id - object identifier
+ * name - name of the attribute
+ * namelen - name length
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* Elena Pourmal
- * Thursday, August 12, 1999
+ * Thursday, August 12, 1999
* HISTORY
*
* SOURCE
*/
int_f
-nh5adelete_c (hid_t_f *obj_id, _fcd name, size_t_f *namelen)
+h5adelete_c (hid_t_f *obj_id, _fcd name, size_t_f *namelen)
/******/
{
char *c_name = NULL; /* Buffer to hold C string */
@@ -985,131 +117,26 @@ done:
return ret_value;
}
-
-/****if* H5Af/h5aopen_idx_c
- * NAME
- * h5aopen_idx_c
- * PURPOSE
- * Call H5Aopen_by_idx to open an attribute
- * INPUTS
- * obj_id - object identifier
- * idx - attribute index ( zero based)
- * OUTPUTS
- * attr_id - attribute identifier
- * RETURNS
- * 0 on success, -1 on failure
- * AUTHOR
- * Elena Pourmal
- * Thursday, August 12, 1999
- * HISTORY
- *
- * SOURCE
-*/
-int_f
-nh5aopen_idx_c (hid_t_f *obj_id, int_f *idx, hid_t_f *attr_id)
-/******/
-{
- int_f ret_value = 0; /* Return value */
-
- /*
- * Call H5Aopen_by_idx function.
- */
- if((*attr_id = (hid_t_f)H5Aopen_by_idx((hid_t)*obj_id, ".", H5_INDEX_CRT_ORDER, H5_ITER_INC, (hsize_t)*idx, H5P_DEFAULT, H5P_DEFAULT)) < 0)
- HGOTO_DONE(FAIL);
-
-done:
- return ret_value;
-}
-
-
-/****if* H5Af/h5aget_space_c
- * NAME
- * h5aget_space_c
- * PURPOSE
- * Call H5Aget_space to get attribute's dataspace
- * INPUTS
- * attr_id - attribute identifier
- * OUTPUTS
- * space_id - dataspace identifier
- * RETURNS
- * 0 on success, -1 on failure
- * AUTHOR
- * Elena Pourmal
- * Thursday, August 12, 1999
- * HISTORY
- *
- * SOURCE
-*/
-int_f
-nh5aget_space_c (hid_t_f *attr_id, hid_t_f *space_id)
-/******/
-{
- int_f ret_value=0; /* Return value */
-
- /*
- * Call H5Aget_space function.
- */
- if ((*space_id = (hid_t_f)H5Aget_space((hid_t)*attr_id)) < 0)
- HGOTO_DONE(FAIL);
-
-done:
- return ret_value;
-}
-
-/****if* H5Af/h5aget_type_c
- * NAME
- * h5aget_type_c
- * PURPOSE
- * Call H5Aget_space to get attribute's datatype
- * INPUTS
- * attr_id - attribute identifier
- * OUTPUTS
- * type_id - datatype identifier
- * RETURNS
- * 0 on success, -1 on failure
- * AUTHOR
- * Elena Pourmal
- * Thursday, August 12, 1999
- * HISTORY
- *
- * SOURCE
-*/
-int_f
-nh5aget_type_c (hid_t_f *attr_id, hid_t_f *type_id)
-/******/
-{
- int_f ret_value=0; /* Return value */
-
- /*
- * Call H5Aget_type function.
- */
- if ((*type_id = (hid_t_f)H5Aget_type((hid_t)*attr_id)) < 0)
- HGOTO_DONE(FAIL);
-
-done:
- return ret_value;
-}
-
/****if* H5Af/h5aget_num_attrs_c
* NAME
- * h5aget_num_attrs_c
+ * h5aget_num_attrs_c
* PURPOSE
- * Call H5Oget_info to determine number of
- * attributes of an object
+ * Call H5Oget_info to determine number of
+ * attributes of an object
* INPUTS
- * obj_id - object identifier
- * attr_num - number of attributes
+ * obj_id - object identifier
+ * attr_num - number of attributes
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* Elena Pourmal
- * Thursday, August 12, 1999
+ * Thursday, August 12, 1999
* HISTORY
*
* SOURCE
*/
int_f
-nh5aget_num_attrs_c (hid_t_f *obj_id, int_f *attr_num)
+h5aget_num_attrs_c (hid_t_f *obj_id, int_f *attr_num)
/******/
{
H5O_info_t oinfo; /* Object info */
@@ -1130,25 +157,25 @@ done:
/****if* H5Af/h5aget_name_c
* NAME
- * h5aget_name_c
+ * h5aget_name_c
* PURPOSE
- * Call H5Aget_name to get attribute's name
+ * Call H5Aget_name to get attribute's name
* INPUTS
- * attr_id - attribute identifier
- * bufsize - size of the buffer
+ * attr_id - attribute identifier
+ * bufsize - size of the buffer
* OUTPUTS
- * buf - buffer to hold the name
+ * buf - buffer to hold the name
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* Elena Pourmal
- * Thursday, August 12, 1999
+ * Thursday, August 12, 1999
* HISTORY
*
* SOURCE
*/
int_f
-nh5aget_name_c(hid_t_f *attr_id, size_t_f *bufsize, _fcd buf)
+h5aget_name_c(hid_t_f *attr_id, size_t_f *bufsize, _fcd buf)
/******/
{
size_t c_bufsize;
@@ -1179,99 +206,36 @@ done:
return ret_value;
}
-/****if* H5Af/h5aget_storage_size_c
- * NAME
- * h5aget_storage_size_c
- * PURPOSE
- * Call H5Aget_storage_size
- * INPUTS
- * attr_id - identifier of an attribute
- * OUTPUTS
- * size - attributes storage requirements
- * RETURNS
- * 0 on success, -1 on failure
- * AUTHOR
- * M. Scot Breitenfeld
- * January, 2008
- * HISTORY
- * N/A
- * SOURCE
-*/
-
-int_f
-nh5aget_storage_size_c ( hid_t_f *attr_id, hsize_t_f *size)
-/******/
-{
- int_f ret_value=0; /* Return value */
-
- if ((*size = (hsize_t_f)H5Aget_storage_size((hid_t)*attr_id)) < 0)
- HGOTO_DONE(FAIL);
-
-done:
- return ret_value;
-}
-
-/****if* H5Af/h5aget_create_plist_c
- * NAME
- * h5aget_create_plist_c
- * PURPOSE
- * Call H5Aget_create_plist
- * INPUTS
- * attr_id - identifier of an attribute
- * OUTPUTS
- * creation_prop_id - Identifier for the attribute’s creation property
- * RETURNS
- * 0 on success, -1 on failure
- * AUTHOR
- * M. Scot Breitenfeld
- * January, 2008
- * HISTORY
- * N/A
- * SOURCE
-*/
-
-int_f
-nh5aget_create_plist_c ( hid_t_f *attr_id, hid_t_f *creation_prop_id)
-/******/
-{
- int_f ret_value=0; /* Return value */
-
- if ((*creation_prop_id = (hid_t_f)H5Aget_create_plist((hid_t)*attr_id)) < 0)
- HGOTO_DONE(FAIL);
-
-done:
- return ret_value;
-}
/****if* H5Af/h5arename_by_name_c
* NAME
- * h5arename_by_name_c
+ * h5arename_by_name_c
* PURPOSE
- * Calls H5Arename_by_name
+ * Calls H5Arename_by_name
* INPUTS
- * loc_id - Object identifier
- * obj_name - Name of object, relative to location,
- * whose attribute is to be renamed
- * obj_name_len - Object name length
- * old_attr_name - Prior attribute name
- * old_attr_name_len - Prior attribute name length
- * new_attr_name - New attribute name
- * new_attr_name_len - New attribute name length
- * lapl_id - Link access property list identifier
+ * loc_id - Object identifier
+ * obj_name - Name of object, relative to location,
+ * whose attribute is to be renamed
+ * obj_name_len - Object name length
+ * old_attr_name - Prior attribute name
+ * old_attr_name_len - Prior attribute name length
+ * new_attr_name - New attribute name
+ * new_attr_name_len - New attribute name length
+ * lapl_id - Link access property list identifier
* OUTPUTS
* N/A
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* M. Scot Breitenfeld
- * January, 2008
+ * January, 2008
* HISTORY
* N/A
* SOURCE
*/
int_f
-nh5arename_by_name_c( hid_t_f *loc_id, _fcd obj_name, size_t_f *obj_namelen,
+h5arename_by_name_c( hid_t_f *loc_id, _fcd obj_name, size_t_f *obj_namelen,
_fcd old_attr_name, size_t_f *old_attr_namelen,
_fcd new_attr_name, size_t_f *new_attr_namelen,
hid_t_f *lapl_id )
@@ -1306,27 +270,27 @@ done:
/****if* H5Af/h5aopen_c
* NAME
- * h5aopen_c
+ * h5aopen_c
* PURPOSE
- * Call H5Aopen to open an attribute
+ * Call H5Aopen to open an attribute
* INPUTS
- * obj_id - Identifer for object to which attribute is attached
+ * obj_id - Identifer for object to which attribute is attached
* attr_name - Attribute access property list
- * attr_namelen - size of attr_name
- * aapl_id - Link access property list
+ * attr_namelen - size of attr_name
+ * aapl_id - Link access property list
* OUTPUTS
- * attr_id - dataset identifier
+ * attr_id - dataset identifier
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* M. Scot Breitenfeld
- * January, 2008
+ * January, 2008
* HISTORY
*
* SOURCE
*/
int_f
-nh5aopen_c (hid_t_f *obj_id, _fcd attr_name, size_t_f *attr_namelen, hid_t_f *aapl_id, hid_t_f *attr_id)
+h5aopen_c (hid_t_f *obj_id, _fcd attr_name, size_t_f *attr_namelen, hid_t_f *aapl_id, hid_t_f *attr_id)
/******/
{
char *c_attr_name = NULL; /* Buffer to hold C string */
@@ -1351,30 +315,30 @@ done:
}
/****if* H5Af/h5adelete_by_name_c
* NAME
- * h5adelete_by_name_c
+ * h5adelete_by_name_c
* PURPOSE
- * Call h5adelete_by_name to remove an attribute from a specified location
+ * Call h5adelete_by_name to remove an attribute from a specified location
* INPUTS
- * loc_id - identifer for object to which attribute is attached
- * obj_name - object identifier
- * obj_namelen - name length
- * attr_name - name of the attribute
- * attr_namelen - name length
- * lapl_id - link access property list
+ * loc_id - identifer for object to which attribute is attached
+ * obj_name - object identifier
+ * obj_namelen - name length
+ * attr_name - name of the attribute
+ * attr_namelen - name length
+ * lapl_id - link access property list
*
* OUTPUTS
* N/A
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* M. Scot Breitenfeld
- * January, 2008
+ * January, 2008
* HISTORY
* N/A
* SOURCE
*/
int_f
-nh5adelete_by_name_c (hid_t_f *loc_id, _fcd obj_name, size_t_f *obj_namelen, _fcd attr_name, size_t_f *attr_namelen, hid_t_f *lapl_id)
+h5adelete_by_name_c (hid_t_f *loc_id, _fcd obj_name, size_t_f *obj_namelen, _fcd attr_name, size_t_f *attr_namelen, hid_t_f *lapl_id)
/******/
{
char *c_obj_name = NULL; /* Buffer to hold C string */
@@ -1404,30 +368,30 @@ done:
}
/****if* H5Af/h5adelete_by_idx_c
* NAME
- * h5adelete_by_idx_c
+ * h5adelete_by_idx_c
* PURPOSE
- * Call h5adelete_by_idx
+ * Call h5adelete_by_idx
* INPUTS
- * loc_id - Location or object identifier; may be dataset or group
- * obj_name - object identifier
- * obj_namelen - name length
- * attr_name - name of the attribute
- * attr_namelen - name length
- * lapl_id - link access property list
+ * loc_id - Location or object identifier; may be dataset or group
+ * obj_name - object identifier
+ * obj_namelen - name length
+ * attr_name - name of the attribute
+ * attr_namelen - name length
+ * lapl_id - link access property list
*
* OUTPUTS
* N/A
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* M. Scot Breitenfeld
- * January, 2008
+ * January, 2008
* HISTORY
* N/A
* SOURCE
*/
int_f
-nh5adelete_by_idx_c (hid_t_f *loc_id, _fcd obj_name, size_t_f *obj_namelen,
+h5adelete_by_idx_c (hid_t_f *loc_id, _fcd obj_name, size_t_f *obj_namelen,
int_f *idx_type, int_f *order, hsize_t_f *n, hid_t_f *lapl_id)
/******/
{
@@ -1454,50 +418,50 @@ done:
}
/****if* H5Af/h5aget_name_by_idx_c
* NAME
- * h5aget_name_by_idx_c
+ * h5aget_name_by_idx_c
* PURPOSE
- * Call h5aget_name_by_idx
+ * Call h5aget_name_by_idx
* INPUTS
*
*
- * loc_id - Identifer for object to which attribute is attached
- * obj_name - Name of object, relative to location,
- * from which attribute is to be removed *TEST* check NULL
- * idx_type - Type of index; Possible values are:
+ * loc_id - Identifer for object to which attribute is attached
+ * obj_name - Name of object, relative to location,
+ * from which attribute is to be removed *TEST* check NULL
+ * idx_type - Type of index; Possible values are:
* H5_INDEX_UNKNOWN - Unknown index type
* H5_INDEX_NAME - Index on names
* H5_INDEX_CRT_ORDER - Index on creation order
* H5_INDEX_N - Number of indices defined
*
- * order - Order in which to iterate over index; Possible values are:
+ * order - Order in which to iterate over index; Possible values are:
* H5_ITER_UNKNOWN - Unknown order
* H5_ITER_INC - Increasing order
* H5_ITER_DEC - Decreasing order
* H5_ITER_NATIVE - No particular order, whatever is fastest
* H5_ITER_N - Number of iteration orders
*
- * n - Attribute’s position in index
- * attr_id - Attribute identifier
- * size - Buffer size ! *TEST* check for 0 value *CHECK* should this return the correct value
+ * n - Attribute’s position in index
+ * attr_id - Attribute identifier
+ * size - Buffer size ! *TEST* check for 0 value *CHECK* should this return the correct value
*
- * lapl_id - Link access property list
- * hdferr - Error code:
- * Returns attribute name size, -1 if fail
+ * lapl_id - Link access property list
+ * hdferr - Error code:
+ * Returns attribute name size, -1 if fail
*
* OUTPUTS
- * name - Attribute name
+ * name - Attribute name
*
* RETURNS
- * Size of buffer on success, -1 on failure
+ * Size of buffer on success, -1 on failure
* AUTHOR
* M. Scot Breitenfeld
- * January, 2008
+ * January, 2008
* HISTORY
* N/A
* SOURCE
*/
int_f
-nh5aget_name_by_idx_c (hid_t_f *loc_id, _fcd obj_name, size_t_f *obj_namelen,
+h5aget_name_by_idx_c (hid_t_f *loc_id, _fcd obj_name, size_t_f *obj_namelen,
int_f *idx_type, int_f *order, hsize_t_f *n, _fcd name,
size_t_f *size, hid_t_f *lapl_id)
/******/
@@ -1545,42 +509,42 @@ done:
/****if* H5Af/h5aopen_by_idx_c
* NAME
- * h5aopen_by_idx_c
+ * h5aopen_by_idx_c
* PURPOSE
- * Call H5Aopen_by_idx
+ * Call H5Aopen_by_idx
* INPUTS
- * loc_id - Object identifier
- * obj_name - Name of object to which attribute is attached
- * obj_namelen - name length
- * idx_type - Type of index; Possible values are:
+ * loc_id - Object identifier
+ * obj_name - Name of object to which attribute is attached
+ * obj_namelen - name length
+ * idx_type - Type of index; Possible values are:
* H5_INDEX_UNKNOWN - Unknown index type
* H5_INDEX_NAME - Index on names
* H5_INDEX_CRT_ORDER - Index on creation order
* H5_INDEX_N - Number of indices defined
*
- * order - Order in which to iterate over index; Possible values are:
+ * order - Order in which to iterate over index; Possible values are:
* H5_ITER_UNKNOWN - Unknown order
* H5_ITER_INC - Increasing order
* H5_ITER_DEC - Decreasing order
* H5_ITER_NATIVE - No particular order, whatever is fastest
* H5_ITER_N - Number of iteration orders
*
- * n - Attribute’s position in index
- * aapl_id - Attribute access property list
- * lapl_id - Link access property list
+ * n - Attribute’s position in index
+ * aapl_id - Attribute access property list
+ * lapl_id - Link access property list
* OUTPUTS
- * attr_id - attribute identifer
+ * attr_id - attribute identifer
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* M. Scot Breitenfeld
- * January, 2008
+ * January, 2008
* HISTORY
* N/A
* SOURCE
*/
int_f
-nh5aopen_by_idx_c (hid_t_f *loc_id, _fcd obj_name, size_t_f *obj_namelen,
+h5aopen_by_idx_c (hid_t_f *loc_id, _fcd obj_name, size_t_f *obj_namelen,
int_f *idx_type, int_f *order, hsize_t_f *n, hid_t_f *aapl_id, hid_t_f *lapl_id, hid_t_f *attr_id )
/******/
{
@@ -1608,29 +572,29 @@ done:
/****if* H5Af/h5aget_info_c
* NAME
- * h5aget_info_c
+ * h5aget_info_c
* PURPOSE
- * Call H5Aget_info
+ * Call H5Aget_info
* INPUTS
- * loc_id - Object identifier
+ * loc_id - Object identifier
* OUTPUTS
*
- * corder_valid - Indicates whether the the creation order data is valid for this attribute
- * corder - Is a positive integer containing the creation order of the attribute
- * cset - Indicates the character set used for the attribute’s name
- * data_size - indicates the size, in the number of characters, of the attribute
+ * corder_valid - Indicates whether the the creation order data is valid for this attribute
+ * corder - Is a positive integer containing the creation order of the attribute
+ * cset - Indicates the character set used for the attribute’s name
+ * data_size - indicates the size, in the number of characters, of the attribute
*
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* M. Scot Breitenfeld
- * January, 2008
+ * January, 2008
* HISTORY
* N/A
* SOURCE
*/
int_f
-nh5aget_info_c (hid_t_f *loc_id, int_f *corder_valid, int_f *corder,
+h5aget_info_c (hid_t_f *loc_id, int_f *corder_valid, int_f *corder,
int_f *cset, hsize_t_f *data_size )
/******/
{
@@ -1660,46 +624,46 @@ done:
/****if* H5Af/h5aget_info_by_idx_c
* NAME
- * h5aget_info_by_idx_c
+ * h5aget_info_by_idx_c
* PURPOSE
- * Call H5Aget_info_by_idx
+ * Call H5Aget_info_by_idx
* INPUTS
- * loc_id - Object identifier
- * obj_name - Name of object to which attribute is attached
- * obj_namelen - name length
- * idx_type - Type of index; Possible values are:
+ * loc_id - Object identifier
+ * obj_name - Name of object to which attribute is attached
+ * obj_namelen - name length
+ * idx_type - Type of index; Possible values are:
* H5_INDEX_UNKNOWN - Unknown index type
* H5_INDEX_NAME - Index on names
* H5_INDEX_CRT_ORDER - Index on creation order
* H5_INDEX_N - Number of indices defined
*
- * order - Order in which to iterate over index; Possible values are:
+ * order - Order in which to iterate over index; Possible values are:
* H5_ITER_UNKNOWN - Unknown order
* H5_ITER_INC - Increasing order
* H5_ITER_DEC - Decreasing order
* H5_ITER_NATIVE - No particular order, whatever is fastest
* H5_ITER_N - Number of iteration orders
*
- * n - Attribute’s position in index
- * lapl_id - Link access property list
+ * n - Attribute’s position in index
+ * lapl_id - Link access property list
* OUTPUTS
*
- * corder_valid - Indicates whether the the creation order data is valid for this attribute
- * corder - Is a positive integer containing the creation order of the attribute
- * cset - Indicates the character set used for the attribute’s name
- * data_size - indicates the size, in the number of characters, of the attribute
+ * corder_valid - Indicates whether the the creation order data is valid for this attribute
+ * corder - Is a positive integer containing the creation order of the attribute
+ * cset - Indicates the character set used for the attribute’s name
+ * data_size - indicates the size, in the number of characters, of the attribute
*
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* M. Scot Breitenfeld
- * January, 2008
+ * January, 2008
* HISTORY
* N/A
* SOURCE
*/
int_f
-nh5aget_info_by_idx_c (hid_t_f *loc_id, _fcd obj_name, size_t_f *obj_namelen,
+h5aget_info_by_idx_c (hid_t_f *loc_id, _fcd obj_name, size_t_f *obj_namelen,
int_f *idx_type, int_f *order, hsize_t_f *n, hid_t_f *lapl_id,
int_f *corder_valid, int_f *corder,
int_f *cset, hsize_t_f *data_size )
@@ -1739,34 +703,34 @@ done:
/****if* H5Af/h5aget_info_by_name_c
* NAME
- * h5aget_info_by_name_c
+ * h5aget_info_by_name_c
* PURPOSE
- * Call H5Aget_info_by_name
+ * Call H5Aget_info_by_name
* INPUTS
- * loc_id - Object identifier
- * obj_name - Name of object to which attribute is attached
- * obj_namelen - name length
- * attr_name - Attribute name
- * attr_namelen - attribute name length
- * lapl_id - Link access property list
+ * loc_id - Object identifier
+ * obj_name - Name of object to which attribute is attached
+ * obj_namelen - name length
+ * attr_name - Attribute name
+ * attr_namelen - attribute name length
+ * lapl_id - Link access property list
* OUTPUTS
*
- * corder_valid - Indicates whether the the creation order data is valid for this attribute
- * corder - Is a positive integer containing the creation order of the attribute
- * cset - Indicates the character set used for the attribute’s name
- * data_size - indicates the size, in the number of characters, of the attribute
+ * corder_valid - Indicates whether the the creation order data is valid for this attribute
+ * corder - Is a positive integer containing the creation order of the attribute
+ * cset - Indicates the character set used for the attribute’s name
+ * data_size - indicates the size, in the number of characters, of the attribute
*
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* M. Scot Breitenfeld
- * January, 2008
+ * January, 2008
* HISTORY
* N/A
* SOURCE
*/
int_f
-nh5aget_info_by_name_c (hid_t_f *loc_id, _fcd obj_name, size_t_f *obj_namelen,
+h5aget_info_by_name_c (hid_t_f *loc_id, _fcd obj_name, size_t_f *obj_namelen,
_fcd attr_name, size_t_f *attr_namelen, hid_t_f *lapl_id,
int_f *corder_valid, int_f *corder,
int_f *cset, hsize_t_f *data_size )
@@ -1810,38 +774,38 @@ done:
/****if* H5Af/h5acreate_by_name_c
* NAME
- * h5acreate_by_name_c
+ * h5acreate_by_name_c
* PURPOSE
- * Call h5acreate_by_name
+ * Call h5acreate_by_name
* INPUTS
*
- * loc_id - Object identifier
- * obj_name - Name of object to which attribute is attached
- * obj_namelen - name length
- * attr_name - Attribute name
- * attr_namelen - attribute name length
- * type_id - Attribute datatype identifier
- * space_id - Attribute dataspace identifier
- * acpl_id - Attribute creation property list identifier (Currently not used.)
- * aapl_id - Attribute access property list identifier (Currently not used.)
- * lapl_id - Link access property list
+ * loc_id - Object identifier
+ * obj_name - Name of object to which attribute is attached
+ * obj_namelen - name length
+ * attr_name - Attribute name
+ * attr_namelen - attribute name length
+ * type_id - Attribute datatype identifier
+ * space_id - Attribute dataspace identifier
+ * acpl_id - Attribute creation property list identifier (Currently not used.)
+ * aapl_id - Attribute access property list identifier (Currently not used.)
+ * lapl_id - Link access property list
*
* OUTPUTS
*
- * attr - an attribute identifier
+ * attr - an attribute identifier
*
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* M. Scot Breitenfeld
- * February, 2008
+ * February, 2008
* HISTORY
* N/A
* SOURCE
*/
int_f
-nh5acreate_by_name_c(hid_t_f *loc_id, _fcd obj_name, size_t_f *obj_namelen,
+h5acreate_by_name_c(hid_t_f *loc_id, _fcd obj_name, size_t_f *obj_namelen,
_fcd attr_name, size_t_f *attr_namelen, hid_t_f *type_id,
hid_t_f *space_id, hid_t_f *acpl_id, hid_t_f *aapl_id,
hid_t_f *lapl_id, hid_t_f *attr_id )
@@ -1876,27 +840,27 @@ done:
/****if* H5Af/h5aexists_c
* NAME
- * h5aexists_c
+ * h5aexists_c
* PURPOSE
* CAll h5aexists
* INPUTS
*
- * obj_id - Object identifier
- * attr_name - Attribute name
+ * obj_id - Object identifier
+ * attr_name - Attribute name
* OUTPUTS
*
- * attr_exists_c - returns a positive value, for TRUE, or 0 (zero), for FALSE.
+ * attr_exists_c - returns a positive value, for TRUE, or 0 (zero), for FALSE.
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* M. Scot Breitenfeld
- * February, 2008
+ * February, 2008
* HISTORY
*
* SOURCE
*/
int_f
-nh5aexists_c (hid_t_f *obj_id, _fcd name, size_t_f *namelen, hid_t_f *attr_exists)
+h5aexists_c (hid_t_f *obj_id, _fcd name, size_t_f *namelen, hid_t_f *attr_exists)
/******/
{
char *c_name = NULL; /* Buffer to hold C string */
@@ -1922,29 +886,29 @@ done:
/****if* H5Af/h5aexists_by_name_c
* NAME
- * h5aexists_by_name_c
+ * h5aexists_by_name_c
* PURPOSE
* CAll H5Aexists_by_name
* INPUTS
*
- * loc_id - Location identifier
- * obj_name - Object name either relative to loc_id, absolute from the file’s root group, or '.' (a dot)
+ * loc_id - Location identifier
+ * obj_name - Object name either relative to loc_id, absolute from the file’s root group, or '.' (a dot)
* attr_name - Attribute name
- * lapl_id - Link access property list identifier
+ * lapl_id - Link access property list identifier
* OUTPUTS
*
- * attr_exists_c - returns a positive value, for TRUE, or 0 (zero), for FALSE.
+ * attr_exists_c - returns a positive value, for TRUE, or 0 (zero), for FALSE.
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* M. Scot Breitenfeld
- * February, 2008
+ * February, 2008
* HISTORY
*
* SOURCE
*/
int_f
-nh5aexists_by_name_c (hid_t_f *loc_id, _fcd obj_name, size_t_f *obj_namelen, _fcd attr_name, size_t_f *attr_namelen,
+h5aexists_by_name_c (hid_t_f *loc_id, _fcd obj_name, size_t_f *obj_namelen, _fcd attr_name, size_t_f *attr_namelen,
hid_t_f *lapl_id, int_f *attr_exists)
/******/
{
@@ -1976,30 +940,30 @@ done:
/****if* H5Af/h5aopen_by_name_c
* NAME
- * h5aopen_by_name_c
+ * h5aopen_by_name_c
* PURPOSE
- * Call H5Aopen_by_name
+ * Call H5Aopen_by_name
* INPUTS
*
- * loc_id - Location identifier
- * obj_name - Object name either relative to loc_id, absolute from the file’s root group, or '.' (a dot)
+ * loc_id - Location identifier
+ * obj_name - Object name either relative to loc_id, absolute from the file’s root group, or '.' (a dot)
* attr_name - Attribute name
- * aapl_id - Attribute access property list (Currently unused; should be passed in as H5P_DEFAULT.)
- * lapl_id - Link access property list identifier
+ * aapl_id - Attribute access property list (Currently unused; should be passed in as H5P_DEFAULT.)
+ * lapl_id - Link access property list identifier
* OUTPUTS
*
- * attr_id - attribute identifier
+ * attr_id - attribute identifier
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* M. Scot Breitenfeld
- * February, 2008
+ * February, 2008
* HISTORY
*
* SOURCE
*/
int_f
-nh5aopen_by_name_c (hid_t_f *loc_id, _fcd obj_name, size_t_f *obj_namelen, _fcd attr_name, size_t_f *attr_namelen,
+h5aopen_by_name_c (hid_t_f *loc_id, _fcd obj_name, size_t_f *obj_namelen, _fcd attr_name, size_t_f *attr_namelen,
hid_t_f *aapl_id, hid_t_f *lapl_id, hid_t_f *attr_id)
/******/
{
@@ -2031,29 +995,29 @@ nh5aopen_by_name_c (hid_t_f *loc_id, _fcd obj_name, size_t_f *obj_namelen, _fcd
/****if* H5Af/h5arename_c
* NAME
- * h5arename_c
+ * h5arename_c
* PURPOSE
- * Calls H5Arename
+ * Calls H5Arename
* INPUTS
- * loc_id - Object identifier
- * old_attr_name - Prior attribute name
- * old_attr_name_len - Prior attribute name length
- * new_attr_name - New attribute name
- * new_attr_name_len - New attribute name length
+ * loc_id - Object identifier
+ * old_attr_name - Prior attribute name
+ * old_attr_name_len - Prior attribute name length
+ * new_attr_name - New attribute name
+ * new_attr_name_len - New attribute name length
* OUTPUTS
* N/A
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* M. Scot Breitenfeld
- * January, 2008
+ * January, 2008
* HISTORY
* N/A
* SOURCE
*/
int_f
-nh5arename_c( hid_t_f *loc_id,
+h5arename_c( hid_t_f *loc_id,
_fcd old_attr_name, size_t_f *old_attr_namelen,
_fcd new_attr_name, size_t_f *new_attr_namelen)
/******/
diff --git a/fortran/src/H5Aff.f90 b/fortran/src/H5Aff.F90
index 25f7fa7..132bf41 100644
--- a/fortran/src/H5Aff.f90
+++ b/fortran/src/H5Aff.F90
@@ -26,22 +26,97 @@
! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
!
! NOTES
-! *** IMPORTANT ***
+!
+! (A) C_LOC and character strings according to the Fortran 2003 standard:
+!
+! 15.1.2.5 C_LOC(X)
+!
+! Argument. X shall either
+!
+! (1) have interoperable type and type parameters and be
+! (a) a variable that has the TARGET attribute and is interoperable,
+! (b) an allocated allocatable variable that has the TARGET attribute
+! and is not an array of zero size, or
+! (c) an associated scalar pointer, or
+! (2) be a nonpolymorphic scalar, have no length type parameters, and be
+! (a) a nonallocatable, nonpointer variable that has the TARGET attribute,
+! (b) an allocated allocatable variable that has the TARGET attribute, or
+! (c) an associated pointer.
+!
+! - When X is a character, for interoperability the standard is:
+!
+! 15.2.1 Interoperability of intrinsic types
+!
+! ...if the type is character, interoperability also requires that the length type parameter
+! be omitted or be specified by an initialization expression whose value is one.
+!
+! THEREFORE compilers that have not extended the standard require
+!
+! CHARACTER(LEN=1), TARGET :: chr
+! or
+! CHARACTER, TARGET :: chr
+!
+! (B)
+! _____ __ __ _____ ____ _____ _______ _ _ _______
+! |_ _| \/ | __ \ / __ \| __ \__ __|/\ | \ | |__ __|
+! **** | | | \ / | |__) | | | | |__) | | | / \ | \| | | | ****
+! **** | | | |\/| | ___/| | | | _ / | | / /\ \ | . ` | | | ****
+! **** _| |_| | | | | | |__| | | \ \ | |/ ____ \| |\ | | | ****
+! |_____|_| |_|_| \____/|_| \_\ |_/_/ \_\_| \_| |_|
+!
! If you add a new H5A function you must add the function name to the
! Windows dll file 'hdf5_fortrandll.def.in' in the fortran/src directory.
! This is needed for Windows based operating systems.
!
!*****
+#include <H5config_f.inc>
+
MODULE H5A
+ USE, INTRINSIC :: ISO_C_BINDING
+
USE H5GLOBAL
-!
-! On Windows there are no big (integer*8) integers, so overloading
-! for bug #670 does not work. I have to use DEC compilation directives to make
-! Windows DEC Visual Fortran and OSF compilers happy and do right things.
-! 05/01/02 EP
-!
+
+ INTERFACE h5awrite_f
+ MODULE PROCEDURE h5awrite_char_scalar
+ ! This is the preferred way to call h5awrite
+ ! by passing an address
+ MODULE PROCEDURE h5awrite_ptr
+ END INTERFACE
+
+ INTERFACE h5aread_f
+ MODULE PROCEDURE h5aread_char_scalar
+ ! This is the preferred way to call h5aread
+ ! by passing an address
+ MODULE PROCEDURE h5aread_ptr
+ END INTERFACE
+
+! Interface for the function used to pass the C pointer of the buffer
+! to the C H5Awrite routine
+ INTERFACE
+ INTEGER FUNCTION h5awrite_f_c(attr_id, mem_type_id, buf) BIND(C, NAME='h5awrite_f_c')
+ IMPORT :: c_ptr
+ IMPORT :: HID_T
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: attr_id
+ INTEGER(HID_T), INTENT(IN) :: mem_type_id
+ TYPE(C_PTR), VALUE :: buf
+ END FUNCTION h5awrite_f_c
+ END INTERFACE
+
+! Interface for the function used to pass the C pointer of the buffer
+! to the C H5Aread routine
+ INTERFACE
+ INTEGER FUNCTION h5aread_f_c(attr_id, mem_type_id, buf) BIND(C, NAME='h5aread_f_c')
+ IMPORT :: c_ptr
+ IMPORT :: HID_T
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: attr_id
+ INTEGER(HID_T), INTENT(IN) :: mem_type_id
+ TYPE(C_PTR), VALUE :: buf
+ END FUNCTION h5aread_f_c
+ END INTERFACE
CONTAINS
@@ -80,7 +155,7 @@ CONTAINS
!
! SOURCE
SUBROUTINE h5acreate_f(loc_id, name, type_id, space_id, attr_id, &
- hdferr, acpl_id, aapl_id )
+ hdferr, acpl_id, aapl_id )
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: loc_id ! Object identifier
CHARACTER(LEN=*), INTENT(IN) :: name ! Attribute name
@@ -95,37 +170,34 @@ CONTAINS
INTEGER(HID_T) :: acpl_id_default
INTEGER(HID_T) :: aapl_id_default
- INTEGER(SIZE_T) :: namelen
+ CHARACTER(LEN=LEN_TRIM(name)+1,KIND=C_CHAR) :: c_name
INTERFACE
- INTEGER FUNCTION h5acreate_c(loc_id, name, namelen, type_id, &
- space_id, acpl_id_default, aapl_id_default, attr_id)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5ACREATE_C'::h5acreate_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: name
- INTEGER(HID_T), INTENT(IN) :: loc_id
- CHARACTER(LEN=*), INTENT(IN) :: name
- INTEGER(SIZE_T) :: namelen
- INTEGER(HID_T), INTENT(IN) :: type_id
- INTEGER(HID_T), INTENT(IN) :: space_id
- INTEGER(HID_T) :: acpl_id_default
- INTEGER(HID_T) :: aapl_id_default
- INTEGER(HID_T), INTENT(OUT) :: attr_id
- END FUNCTION h5acreate_c
+ INTEGER(HID_T) FUNCTION H5Acreate2(loc_id, name, type_id, &
+ space_id, acpl_id_default, aapl_id_default) BIND(C,NAME='H5Acreate2')
+ IMPORT :: C_CHAR
+ IMPORT :: HID_T
+ INTEGER(HID_T), INTENT(IN), VALUE :: loc_id
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(IN) :: name
+ INTEGER(HID_T), INTENT(IN), VALUE :: type_id
+ INTEGER(HID_T), INTENT(IN), VALUE :: space_id
+ INTEGER(HID_T), INTENT(IN), VALUE :: acpl_id_default
+ INTEGER(HID_T), INTENT(IN), VALUE :: aapl_id_default
+ END FUNCTION H5Acreate2
END INTERFACE
acpl_id_default = H5P_DEFAULT_F
aapl_id_default = H5P_DEFAULT_F
- namelen = LEN(name)
IF (PRESENT(acpl_id)) acpl_id_default = acpl_id
IF (PRESENT(aapl_id)) aapl_id_default = aapl_id
- hdferr = h5acreate_c(loc_id, name, namelen, type_id, space_id, &
- acpl_id_default, aapl_id_default, attr_id)
+ c_name = TRIM(name)//C_NULL_CHAR
+ attr_id = h5acreate2(loc_id, c_name, type_id, space_id, &
+ acpl_id_default, aapl_id_default)
- END SUBROUTINE h5acreate_f
+ hdferr = 0
+ IF(attr_id.LT.0) hdferr = -1
+ END SUBROUTINE h5acreate_f
!
!****s* H5A/h5aopen_name_f
@@ -154,37 +226,38 @@ CONTAINS
! port). February 27, 2001
!
! SOURCE
- SUBROUTINE h5aopen_name_f(obj_id, name, attr_id, hdferr)
+ SUBROUTINE H5Aopen_name_f(obj_id, name, attr_id, hdferr)
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: obj_id ! Object identifier
CHARACTER(LEN=*), INTENT(IN) :: name ! Attribute name
INTEGER(HID_T), INTENT(OUT) :: attr_id ! Attribute identifier
INTEGER, INTENT(OUT) :: hdferr ! Error code
!*****
- INTEGER(SIZE_T) :: namelen
+ CHARACTER(LEN=LEN_TRIM(name)+1,KIND=C_CHAR) :: c_name
+! H5Aopen_name is deprecated
INTERFACE
- INTEGER FUNCTION h5aopen_name_c(obj_id, name, namelen, attr_id)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5AOPEN_NAME_C'::h5aopen_name_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: name
- INTEGER(HID_T), INTENT(IN) :: obj_id
- CHARACTER(LEN=*), INTENT(IN) :: name
- INTEGER(SIZE_T) :: namelen
- INTEGER(HID_T), INTENT(OUT) :: attr_id
- END FUNCTION h5aopen_name_c
+ INTEGER(HID_T) FUNCTION H5Aopen(obj_id, name, aapl_id) BIND(C,NAME='H5Aopen')
+ IMPORT :: C_CHAR
+ IMPORT :: HID_T
+ INTEGER(HID_T), INTENT(IN), VALUE :: obj_id
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(IN) :: name
+ INTEGER(HID_T), INTENT(IN), VALUE :: aapl_id
+ END FUNCTION H5Aopen
END INTERFACE
- namelen = LEN(name)
- hdferr = h5aopen_name_c(obj_id, name, namelen, attr_id)
- END SUBROUTINE h5aopen_name_f
+ c_name = TRIM(name)//C_NULL_CHAR
+ attr_id = H5Aopen(obj_id, c_name, H5P_DEFAULT_F)
+
+ hdferr = 0
+ IF(attr_id.LT.0) hdferr = -1
+
+ END SUBROUTINE H5Aopen_name_f
!
-!****s* H5A/h5aopen_idx_f
+!****s* H5A/H5Aopen_idx_f
!
! NAME
-! h5aopen_idx_f
+! H5Aopen_idx_f
!
! PURPOSE
! Opens the attribute specified by its index.
@@ -207,33 +280,34 @@ CONTAINS
! port). February 27, 2001
!
! SOURCE
- SUBROUTINE h5aopen_idx_f(obj_id, index, attr_id, hdferr)
+ SUBROUTINE H5Aopen_idx_f(obj_id, index, attr_id, hdferr)
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: obj_id ! Object identifier
INTEGER, INTENT(IN) :: index ! Attribute index
INTEGER(HID_T), INTENT(OUT) :: attr_id ! Attribute identifier
INTEGER, INTENT(OUT) :: hdferr ! Error code
!*****
-
+! H5Aopen_idx is deprecated in favor of the function H5Aopen_by_idx.
INTERFACE
- INTEGER FUNCTION h5aopen_idx_c(obj_id, index, attr_id)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5AOPEN_IDX_C'::h5aopen_idx_c
- !DEC$ENDIF
+ INTEGER(HID_T) FUNCTION H5Aopen_by_idx(obj_id, index) BIND(C,NAME='H5Aopen_by_idx')
+ IMPORT :: HID_T
+ IMPORT :: C_INT
INTEGER(HID_T), INTENT(IN) :: obj_id
- INTEGER, INTENT(IN) :: index
- INTEGER(HID_T), INTENT(OUT) :: attr_id
- END FUNCTION h5aopen_idx_c
+ INTEGER(C_INT), INTENT(IN) :: index
+ END FUNCTION H5Aopen_by_idx
END INTERFACE
- hdferr = h5aopen_idx_c(obj_id, index, attr_id)
- END SUBROUTINE h5aopen_idx_f
+ attr_id = H5Aopen_by_idx(obj_id, INT(index, C_INT))
+
+ hdferr = 0
+ IF(attr_id.LT.0) hdferr = -1
+
+ END SUBROUTINE H5Aopen_idx_f
!
-!****s* H5A/h5aget_space_f
+!****s* H5A/H5Aget_space_f
!
! NAME
-! h5aget_space_f
+! H5Aget_space_f
!
! PURPOSE
! Gets a copy of the dataspace for an attribute.
@@ -256,30 +330,31 @@ CONTAINS
!
!
! SOURCE
- SUBROUTINE h5aget_space_f(attr_id, space_id, hdferr)
+ SUBROUTINE H5Aget_space_f(attr_id, space_id, hdferr)
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
INTEGER(HID_T), INTENT(OUT) :: space_id ! Attribute dataspace identifier
INTEGER, INTENT(OUT) :: hdferr ! Error code
!*****
INTERFACE
- INTEGER FUNCTION h5aget_space_c(attr_id, space_id)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5AGET_SPACE_C'::h5aget_space_c
- !DEC$ENDIF
- INTEGER(HID_T), INTENT(IN) :: attr_id
- INTEGER(HID_T), INTENT(OUT) :: space_id
- END FUNCTION h5aget_space_c
+ INTEGER(HID_T) FUNCTION H5Aget_space(attr_id) BIND(C,NAME='H5Aget_space')
+ IMPORT :: HID_T
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN), VALUE :: attr_id
+ END FUNCTION H5Aget_space
END INTERFACE
- hdferr = h5aget_space_c(attr_id, space_id)
- END SUBROUTINE h5aget_space_f
+ space_id = H5Aget_space(attr_id)
+
+ hdferr = 0
+ IF(space_id.LT.0) hdferr = -1
+
+ END SUBROUTINE H5Aget_space_f
!
-!****s* H5A/h5aget_type_f
+!****s* H5A/H5Aget_type_f
!
! NAME
-! h5aget_type_f
+! H5Aget_type_f
!
! PURPOSE
! Gets an attribute datatype.
@@ -300,30 +375,31 @@ CONTAINS
! port). February 27, 2001
!
! SOURCE
- SUBROUTINE h5aget_type_f(attr_id, type_id, hdferr)
+ SUBROUTINE H5Aget_type_f(attr_id, type_id, hdferr)
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
INTEGER(HID_T), INTENT(OUT) :: type_id ! Attribute datatype identifier
INTEGER, INTENT(OUT) :: hdferr ! Error code
!*****
INTERFACE
- INTEGER FUNCTION h5aget_type_c(attr_id, type_id)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5AGET_TYPE_C'::h5aget_type_c
- !DEC$ENDIF
- INTEGER(HID_T), INTENT(IN) :: attr_id
- INTEGER(HID_T), INTENT(OUT) :: type_id
- END FUNCTION h5aget_type_c
+ INTEGER(HID_T) FUNCTION H5Aget_type(attr_id) BIND(C,NAME='H5Aget_type')
+ IMPORT :: HID_T
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN), VALUE :: attr_id
+ END FUNCTION H5Aget_type
END INTERFACE
- hdferr = h5aget_type_c(attr_id, type_id)
- END SUBROUTINE h5aget_type_f
+ type_id = H5Aget_type(attr_id)
+
+ hdferr = 0
+ IF(type_id.LT.0) hdferr = -1
+
+ END SUBROUTINE H5Aget_type_f
!
-!****s* H5A/h5aget_name_f
+!****s* H5A/H5Aget_name_f
!
! NAME
-! h5aget_name_f
+! H5Aget_name_f
!
! PURPOSE
! Gets an attribute name.
@@ -355,26 +431,23 @@ CONTAINS
! name length is successful, -1 if fail
!*****
INTERFACE
- INTEGER FUNCTION h5aget_name_c(attr_id, size, buf)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5AGET_NAME_C'::h5aget_name_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: buf
+ INTEGER FUNCTION h5aget_name_c(attr_id, size, buf) &
+ BIND(C,NAME='h5aget_name_c')
+ IMPORT :: C_CHAR
+ IMPORT :: HID_T, SIZE_T
INTEGER(HID_T), INTENT(IN) :: attr_id
INTEGER(SIZE_T), INTENT(IN) :: size
- CHARACTER(LEN=*), INTENT(OUT) :: buf
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(OUT) :: buf
END FUNCTION h5aget_name_c
END INTERFACE
hdferr = h5aget_name_c(attr_id, size, buf)
END SUBROUTINE h5aget_name_f
-
!
-!****s* H5A/h5aget_name_by_idx_f
+!****s* H5A/H5Aget_name_by_idx_f
!
! NAME
-! h5aget_name_by_idx_f
+! H5Aget_name_by_idx_f
!
! PURPOSE
! Gets an attribute name, by attribute index position.
@@ -443,19 +516,16 @@ CONTAINS
INTERFACE
INTEGER FUNCTION h5aget_name_by_idx_c(loc_id, obj_name, obj_namelen, idx_type, order, &
- n, name, size_default, lapl_id_default)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5AGET_NAME_BY_IDX_C'::h5aget_name_by_idx_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: obj_name, name
+ n, name, size_default, lapl_id_default) BIND(C,NAME='h5aget_name_by_idx_c')
+ IMPORT :: C_CHAR
+ IMPORT :: HID_T, SIZE_T, HSIZE_T
+ IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: loc_id
- CHARACTER(LEN=*), INTENT(IN) :: obj_name
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(IN) :: obj_name
INTEGER, INTENT(IN) :: idx_type
INTEGER, INTENT(IN) :: order
INTEGER(HSIZE_T), INTENT(IN) :: n
-
- CHARACTER(LEN=*), INTENT(OUT) :: name
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(OUT) :: name
INTEGER(SIZE_T) :: size_default
INTEGER(HID_T) :: lapl_id_default
INTEGER(SIZE_T) :: obj_namelen
@@ -476,10 +546,10 @@ CONTAINS
END SUBROUTINE h5aget_name_by_idx_f
!
-!****s* H5A/h5aget_num_attrs_f
+!****s* H5A/H5Aget_num_attrs_f
!
! NAME
-! h5aget_num_attrs_f
+! H5Aget_num_attrs_f
!
! PURPOSE
! Determines the number of attributes attached to an object.
@@ -509,11 +579,8 @@ CONTAINS
!*****
INTERFACE
- INTEGER FUNCTION h5aget_num_attrs_c(obj_id, attr_num)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5AGET_NUM_ATTRS_C'::h5aget_num_attrs_c
- !DEC$ENDIF
+ INTEGER FUNCTION h5aget_num_attrs_c(obj_id, attr_num) BIND(C,name='h5aget_num_attrs_c')
+ IMPORT :: HID_T
INTEGER(HID_T), INTENT(IN) :: obj_id
INTEGER, INTENT(OUT) :: attr_num
END FUNCTION h5aget_num_attrs_c
@@ -523,10 +590,10 @@ CONTAINS
END SUBROUTINE h5aget_num_attrs_f
!
-!****s* H5A/h5adelete_f
+!****s* H5A/H5Adelete_f
!
! NAME
-! h5adelete_f
+! H5Adelete_f
!
! PURPOSE
! Deletes an attribute of an object (group, dataset or
@@ -548,7 +615,7 @@ CONTAINS
! port). February 27, 2001
!
! SOURCE
- SUBROUTINE h5adelete_f(obj_id, name, hdferr)
+ SUBROUTINE H5Adelete_f(obj_id, name, hdferr)
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: obj_id ! Object identifier
CHARACTER(LEN=*), INTENT(IN) :: name ! Attribute name
@@ -557,27 +624,24 @@ CONTAINS
INTEGER(SIZE_T) :: namelen
INTERFACE
- INTEGER FUNCTION h5adelete_c(obj_id, name, namelen)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5ADELETE_C'::h5adelete_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: name
+ INTEGER FUNCTION H5Adelete_c(obj_id, name, namelen) BIND(C,NAME='h5adelete_c')
+ IMPORT :: C_CHAR
+ IMPORT :: HID_T, SIZE_T
INTEGER(HID_T), INTENT(IN) :: obj_id
- CHARACTER(LEN=*), INTENT(IN) :: name
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(IN) :: name
INTEGER(SIZE_T) :: namelen
- END FUNCTION h5adelete_c
+ END FUNCTION H5Adelete_c
END INTERFACE
namelen = LEN(name)
- hdferr = h5adelete_c(obj_id, name, namelen)
- END SUBROUTINE h5adelete_f
+ hdferr = H5Adelete_c(obj_id, name, namelen)
+ END SUBROUTINE H5Adelete_f
!
-!****s* H5A/h5aclose_f
+!****s* H5A/H5Aclose_f
!
! NAME
-! h5aclose_f
+! H5Aclose_f
!
! PURPOSE
! Closes the specified attribute.
@@ -597,30 +661,28 @@ CONTAINS
! called C functions (it is needed for Windows
! port). February 27, 2001
! SOURCE
- SUBROUTINE h5aclose_f(attr_id, hdferr)
+
+ SUBROUTINE H5Aclose_f(attr_id, hdferr)
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
INTEGER, INTENT(OUT) :: hdferr ! Error code
!*****
INTERFACE
- INTEGER FUNCTION h5aclose_c(attr_id)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5ACLOSE_C'::h5aclose_c
- !DEC$ENDIF
- INTEGER(HID_T), INTENT(IN) :: attr_id
- END FUNCTION h5aclose_c
+ INTEGER FUNCTION H5Aclose(attr_id) BIND(C, NAME='H5Aclose')
+ IMPORT :: HID_T
+ INTEGER(HID_T), INTENT(IN), VALUE :: attr_id
+ END FUNCTION H5Aclose
END INTERFACE
- hdferr = h5aclose_c(attr_id)
- END SUBROUTINE h5aclose_f
+ hdferr = INT(H5Aclose(attr_id))
+ END SUBROUTINE H5Aclose_f
!
-!****s* H5A/h5aget_storage_size_f
+!****s* H5A/H5Aget_storage_size_f
!
! NAME
-! h5aget_storage_size_f
+! H5Aget_storage_size_f
!
! PURPOSE
! Returns the amount of storage required for an attribute.
@@ -635,7 +697,7 @@ CONTAINS
! January, 2008
!
! SOURCE
- SUBROUTINE h5aget_storage_size_f(attr_id, size, hdferr)
+ SUBROUTINE H5Aget_storage_size_f(attr_id, size, hdferr)
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
INTEGER(HSIZE_T), INTENT(OUT) :: size ! Attribute storage requirement
@@ -643,24 +705,24 @@ CONTAINS
!*****
INTERFACE
- INTEGER FUNCTION h5aget_storage_size_c(attr_id, size)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5AGET_STORAGE_SIZE_C'::h5aget_storage_size_c
- !DEC$ENDIF
- INTEGER(HID_T), INTENT(IN) :: attr_id
- INTEGER(HSIZE_T), INTENT(OUT) :: size
- END FUNCTION h5aget_storage_size_c
+ INTEGER(HSIZE_T) FUNCTION H5Aget_storage_size(attr_id) BIND(C,NAME='H5Aget_storage_size')
+ IMPORT :: HID_T, HSIZE_T
+ INTEGER(HID_T), INTENT(IN), VALUE :: attr_id
+ END FUNCTION H5Aget_storage_size
END INTERFACE
- hdferr = h5aget_storage_size_c(attr_id, size)
- END SUBROUTINE h5aget_storage_size_f
+ size = H5Aget_storage_size(attr_id)
+
+ hdferr = 0
+ IF(size.LT.0) hdferr = -1
+
+ END SUBROUTINE H5Aget_storage_size_f
!
-!****s* H5A/h5aget_create_plist_f
+!****s* H5A/H5Aget_create_plist_f
!
! NAME
-! h5aget_create_plist_f
+! H5Aget_create_plist_f
!
! PURPOSE
! Gets an attribute creation property list identifier
@@ -676,33 +738,32 @@ CONTAINS
! January, 2008
!
! SOURCE
- SUBROUTINE h5aget_create_plist_f(attr_id, creation_prop_id, hdferr)
+ SUBROUTINE H5Aget_create_plist_f(attr_id, creation_prop_id, hdferr)
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: attr_id ! Identifier of the attribute
INTEGER(HID_T), INTENT(OUT) :: creation_prop_id ! Identifier for the attribute’s creation property
INTEGER, INTENT(OUT) :: hdferr ! Error code
! 0 on success and -1 on failure
!*****
-
INTERFACE
- INTEGER FUNCTION h5aget_create_plist_c(attr_id, creation_prop_id)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5AGET_CREATE_PLIST_C'::h5aget_create_plist_c
- !DEC$ENDIF
- INTEGER(HID_T), INTENT(IN) :: attr_id
- INTEGER(HID_T), INTENT(OUT) :: creation_prop_id
- END FUNCTION h5aget_create_plist_c
+ INTEGER(HID_T) FUNCTION H5Aget_create_plist(attr_id) BIND(C,NAME='H5Aget_create_plist')
+ IMPORT :: HID_T
+ INTEGER(HID_T), INTENT(IN), VALUE :: attr_id
+ END FUNCTION H5Aget_create_plist
END INTERFACE
- hdferr = h5aget_create_plist_c(attr_id, creation_prop_id)
- END SUBROUTINE h5aget_create_plist_f
+ creation_prop_id = H5Aget_create_plist(attr_id)
+
+ hdferr = 0
+ IF(creation_prop_id.LT.0) hdferr = -1
+
+ END SUBROUTINE H5Aget_create_plist_f
!
-!****s* H5A/h5arename_by_name_f
+!****s* H5A/H5Arename_by_name_f
!
! NAME
-! h5arename_by_name_f
+! H5Arename_by_name_f
!
! PURPOSE
! Renames an attribute
@@ -723,7 +784,7 @@ CONTAINS
! January, 2008
!
! SOURCE
- SUBROUTINE h5arename_by_name_f(loc_id, obj_name, old_attr_name, new_attr_name, &
+ SUBROUTINE H5Arename_by_name_f(loc_id, obj_name, old_attr_name, new_attr_name, &
hdferr, lapl_id)
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: loc_id ! Object identifier
@@ -742,24 +803,22 @@ CONTAINS
INTEGER(SIZE_T) :: new_attr_namelen
INTERFACE
- INTEGER FUNCTION h5arename_by_name_c(loc_id, obj_name, obj_namelen, &
+ INTEGER FUNCTION H5Arename_by_name_c(loc_id, obj_name, obj_namelen, &
old_attr_name, old_attr_namelen, new_attr_name, new_attr_namelen, &
- lapl_id_default)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5ARENAME_BY_NAME_C'::h5arename_by_name_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: obj_name, old_attr_name, new_attr_name
+ lapl_id_default) BIND(C,NAME='h5arename_by_name_c')
+ IMPORT :: C_CHAR
+ IMPORT :: HID_T, SIZE_T
+ IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: loc_id
- CHARACTER(LEN=*), INTENT(IN) :: obj_name
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(IN) :: obj_name
INTEGER(SIZE_T) :: obj_namelen
- CHARACTER(LEN=*), INTENT(IN) :: old_attr_name
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(IN) :: old_attr_name
INTEGER(SIZE_T) :: old_attr_namelen
- CHARACTER(LEN=*), INTENT(IN) :: new_attr_name
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(IN) :: new_attr_name
INTEGER(SIZE_T) :: new_attr_namelen
INTEGER(HID_T) :: lapl_id_default
- END FUNCTION h5arename_by_name_c
+ END FUNCTION H5Arename_by_name_c
END INTERFACE
obj_namelen = LEN(obj_name)
@@ -769,17 +828,17 @@ CONTAINS
lapl_id_default = H5P_DEFAULT_F
IF(PRESENT(lapl_id)) lapl_id_default=lapl_id
- hdferr = h5arename_by_name_c(loc_id, obj_name, obj_namelen, &
+ hdferr = H5Arename_by_name_c(loc_id, obj_name, obj_namelen, &
old_attr_name, old_attr_namelen, new_attr_name, new_attr_namelen, &
lapl_id_default)
- END SUBROUTINE h5arename_by_name_f
+ END SUBROUTINE H5Arename_by_name_f
!
-!****s* H5A/h5aopen_f
+!****s* H5A/H5Aopen_f
!
! NAME
-! h5aopen_f
+! H5Aopen_f
!
! PURPOSE
! Opens an attribute for an object specified by object
@@ -800,7 +859,7 @@ CONTAINS
! January, 2008
!
! SOURCE
- SUBROUTINE h5aopen_f(obj_id, attr_name, attr_id, hdferr, aapl_id)
+ SUBROUTINE H5Aopen_f(obj_id, attr_name, attr_id, hdferr, aapl_id)
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: obj_id ! Object identifier
CHARACTER(LEN=*), INTENT(IN) :: attr_name ! Attribute name
@@ -815,18 +874,16 @@ CONTAINS
INTEGER(SIZE_T) :: attr_namelen
INTERFACE
- INTEGER FUNCTION h5aopen_c(obj_id, attr_name, attr_namelen, aapl_id_default, attr_id)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5AOPEN_C'::h5aopen_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: attr_name
+ INTEGER FUNCTION H5Aopen_c(obj_id, attr_name, attr_namelen, aapl_id_default, attr_id) &
+ BIND(C,NAME='h5aopen_c')
+ IMPORT :: C_CHAR
+ IMPORT :: HID_T, SIZE_T
INTEGER(HID_T), INTENT(IN) :: obj_id
- CHARACTER(LEN=*), INTENT(IN) :: attr_name
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(IN) :: attr_name
INTEGER(HID_T) :: aapl_id_default
INTEGER(SIZE_T) :: attr_namelen
INTEGER(HID_T), INTENT(OUT) :: attr_id
- END FUNCTION h5aopen_c
+ END FUNCTION H5Aopen_c
END INTERFACE
attr_namelen = LEN(attr_name)
@@ -834,15 +891,15 @@ CONTAINS
aapl_id_default = H5P_DEFAULT_F
IF(PRESENT(aapl_id)) aapl_id_default = aapl_id
- hdferr = h5aopen_c(obj_id, attr_name, attr_namelen, aapl_id_default, attr_id)
+ hdferr = H5Aopen_c(obj_id, attr_name, attr_namelen, aapl_id_default, attr_id)
- END SUBROUTINE h5aopen_f
+ END SUBROUTINE H5Aopen_f
!
-!****s* H5A/h5adelete_by_idx_f
+!****s* H5A/H5Adelete_by_idx_f
!
! NAME
-! h5adelete_by_idx_f
+! H5Adelete_by_idx_f
!
! PURPOSE
! Deletes an attribute from an object according to index order
@@ -874,7 +931,7 @@ CONTAINS
! January, 2008
!
! SOURCE
- SUBROUTINE h5adelete_by_idx_f(loc_id, obj_name, idx_type, order, n, hdferr, lapl_id)
+ SUBROUTINE H5Adelete_by_idx_f(loc_id, obj_name, idx_type, order, n, hdferr, lapl_id)
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: loc_id ! Identifer for object to which attribute is attached
CHARACTER(LEN=*), INTENT(IN) :: obj_name ! Name of object, relative to location,
@@ -900,35 +957,34 @@ CONTAINS
INTEGER(HID_T) :: lapl_id_default
INTERFACE
- INTEGER FUNCTION h5adelete_by_idx_c(loc_id, obj_name, obj_namelen, idx_type, order, n, lapl_id_default)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5ADELETE_BY_IDX_C'::h5adelete_by_idx_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: obj_name
+ INTEGER FUNCTION H5Adelete_by_idx_c(loc_id, obj_name, obj_namelen, idx_type, order, n, lapl_id_default) &
+ BIND(C,NAME='h5adelete_by_idx_c')
+ IMPORT :: C_CHAR
+ IMPORT :: HID_T, SIZE_T, HSIZE_T
+ IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: loc_id
- CHARACTER(LEN=*), INTENT(IN) :: obj_name
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(IN) :: obj_name
INTEGER, INTENT(IN) :: idx_type
INTEGER, INTENT(IN) :: order
INTEGER(HSIZE_T), INTENT(IN) :: n
INTEGER(HID_T) :: lapl_id_default
INTEGER(SIZE_T) :: obj_namelen
- END FUNCTION h5adelete_by_idx_c
+ END FUNCTION H5Adelete_by_idx_c
END INTERFACE
lapl_id_default = H5P_DEFAULT_F
IF(PRESENT(lapl_id)) lapl_id_default = lapl_id
obj_namelen = LEN(obj_name)
- hdferr = h5adelete_by_idx_c(loc_id, obj_name, obj_namelen, idx_type, order, n, lapl_id_default)
+ hdferr = H5Adelete_by_idx_c(loc_id, obj_name, obj_namelen, idx_type, order, n, lapl_id_default)
- END SUBROUTINE h5adelete_by_idx_f
+ END SUBROUTINE H5Adelete_by_idx_f
!
-!****s* H5A/h5adelete_by_name_f
+!****s* H5A/H5Adelete_by_name_f
!
! NAME
-! h5adelete_by_name_f
+! H5Adelete_by_name_f
!
! PURPOSE
! Removes an attribute from a specified location
@@ -946,7 +1002,7 @@ CONTAINS
! January, 2008
!
! SOURCE
- SUBROUTINE h5adelete_by_name_f(loc_id, obj_name, attr_name, hdferr, lapl_id)
+ SUBROUTINE H5Adelete_by_name_f(loc_id, obj_name, attr_name, hdferr, lapl_id)
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: loc_id ! Identifer for object to which attribute is attached
CHARACTER(LEN=*), INTENT(IN) :: obj_name ! Name of object, relative to location,
@@ -962,19 +1018,17 @@ CONTAINS
INTEGER(HID_T) :: lapl_id_default
INTERFACE
- INTEGER FUNCTION h5adelete_by_name_c(loc_id, obj_name, obj_namelen, attr_name, attr_namelen, lapl_id_default)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5ADELETE_BY_NAME_C'::h5adelete_by_name_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: obj_name, attr_name
+ INTEGER FUNCTION H5Adelete_by_name_c(loc_id, obj_name, obj_namelen, attr_name, attr_namelen, lapl_id_default) &
+ BIND(C,NAME='h5adelete_by_name_c')
+ IMPORT :: C_CHAR
+ IMPORT :: HID_T, SIZE_T
INTEGER(HID_T), INTENT(IN) :: loc_id
- CHARACTER(LEN=*), INTENT(IN) :: obj_name
- CHARACTER(LEN=*), INTENT(IN) :: attr_name
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(IN) :: obj_name
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(IN) :: attr_name
INTEGER(HID_T) :: lapl_id_default
INTEGER(SIZE_T) :: attr_namelen
INTEGER(SIZE_T) :: obj_namelen
- END FUNCTION h5adelete_by_name_c
+ END FUNCTION H5Adelete_by_name_c
END INTERFACE
obj_namelen = LEN(obj_name)
@@ -983,15 +1037,15 @@ CONTAINS
lapl_id_default = H5P_DEFAULT_F
IF(PRESENT(lapl_id)) lapl_id_default = lapl_id
- hdferr = h5adelete_by_name_c(loc_id, obj_name, obj_namelen, attr_name, attr_namelen, lapl_id_default)
+ hdferr = H5Adelete_by_name_c(loc_id, obj_name, obj_namelen, attr_name, attr_namelen, lapl_id_default)
- END SUBROUTINE h5adelete_by_name_f
+ END SUBROUTINE H5Adelete_by_name_f
!
-!****s* H5A/h5aopen_by_idx_f
+!****s* H5A/H5Aopen_by_idx_f
!
! NAME
-! h5aopen_by_idx_f
+! H5Aopen_by_idx_f
!
! PURPOSE
! Opens an existing attribute that is attached to an object specified by location and name
@@ -1013,7 +1067,7 @@ CONTAINS
! January, 2008
!
! SOURCE
- SUBROUTINE h5aopen_by_idx_f(loc_id, obj_name, idx_type, order, n, attr_id, hdferr, aapl_id, lapl_id)
+ SUBROUTINE H5Aopen_by_idx_f(loc_id, obj_name, idx_type, order, n, attr_id, hdferr, aapl_id, lapl_id)
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: loc_id ! Object identifier
CHARACTER(LEN=*), INTENT(IN) :: obj_name ! Name of object to which attribute is attached
@@ -1041,15 +1095,12 @@ CONTAINS
INTEGER(HID_T) :: lapl_id_default
INTERFACE
- INTEGER FUNCTION h5aopen_by_idx_c(loc_id, obj_name, obj_namelen, idx_type, order, n, &
- aapl_id_default, lapl_id_default, attr_id)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5AOPEN_BY_IDX_C'::h5aopen_by_idx_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: obj_name
+ INTEGER FUNCTION H5Aopen_by_idx_c(loc_id, obj_name, obj_namelen, idx_type, order, n, &
+ aapl_id_default, lapl_id_default, attr_id) BIND(C,NAME='h5aopen_by_idx_c')
+ IMPORT :: C_CHAR
+ IMPORT :: HID_T, SIZE_T, HSIZE_T
INTEGER(HID_T), INTENT(IN) :: loc_id
- CHARACTER(LEN=*), INTENT(IN) :: obj_name
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(IN) :: obj_name
INTEGER, INTENT(IN) :: idx_type
INTEGER, INTENT(IN) :: order
INTEGER(HSIZE_T), INTENT(IN) :: n
@@ -1057,7 +1108,7 @@ CONTAINS
INTEGER(HID_T) :: lapl_id_default
INTEGER(SIZE_T) :: obj_namelen
INTEGER(HID_T), INTENT(OUT) :: attr_id ! Attribute identifier
- END FUNCTION h5aopen_by_idx_c
+ END FUNCTION H5Aopen_by_idx_c
END INTERFACE
obj_namelen = LEN(obj_name)
@@ -1067,16 +1118,16 @@ CONTAINS
lapl_id_default = H5P_DEFAULT_F
IF(PRESENT(lapl_id)) lapl_id_default = lapl_id
- hdferr = h5aopen_by_idx_c(loc_id, obj_name, obj_namelen, idx_type, order, n, &
+ hdferr = H5Aopen_by_idx_c(loc_id, obj_name, obj_namelen, idx_type, order, n, &
aapl_id_default, lapl_id_default, attr_id)
- END SUBROUTINE h5aopen_by_idx_f
+ END SUBROUTINE H5Aopen_by_idx_f
!
-!****s* H5A/h5aget_info_f
+!****s* H5A/H5Aget_info_f
!
! NAME
-! h5aget_info_f
+! H5Aget_info_f
!
! PURPOSE
! Retrieves attribute information, by attribute identifier
@@ -1096,7 +1147,7 @@ CONTAINS
! M. Scot Breitenfeld
! January, 2008
! SOURCE
- SUBROUTINE h5aget_info_f(attr_id, f_corder_valid, corder, cset, data_size, hdferr)
+ SUBROUTINE H5Aget_info_f(attr_id, f_corder_valid, corder, cset, data_size, hdferr)
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
@@ -1110,33 +1161,31 @@ CONTAINS
INTEGER :: corder_valid
INTERFACE
- INTEGER FUNCTION h5aget_info_c(attr_id, corder_valid, corder, cset, data_size)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5AGET_INFO_C'::h5aget_info_c
- !DEC$ENDIF
+ INTEGER FUNCTION H5Aget_info_c(attr_id, corder_valid, corder, cset, data_size) BIND(C,NAME='h5aget_info_c')
+ IMPORT :: HID_T, HSIZE_T
+ IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: attr_id
INTEGER, INTENT(OUT) :: corder_valid
INTEGER, INTENT(OUT) :: corder
INTEGER, INTENT(OUT) :: cset
INTEGER(HSIZE_T), INTENT(OUT) :: data_size
- END FUNCTION h5aget_info_c
+ END FUNCTION H5Aget_info_c
END INTERFACE
- hdferr = h5aget_info_c(attr_id, corder_valid, corder, cset, data_size)
+ hdferr = H5Aget_info_c(attr_id, corder_valid, corder, cset, data_size)
f_corder_valid =.FALSE.
IF (corder_valid .EQ. 1) f_corder_valid =.TRUE.
- END SUBROUTINE h5aget_info_f
+ END SUBROUTINE H5Aget_info_f
!
-!****s* H5A/h5aget_info_by_idx_f
+!****s* H5A/H5Aget_info_by_idx_f
!
! NAME
-! h5aget_info_by_idx_f
+! H5Aget_info_by_idx_f
!
! PURPOSE
! Retrieves attribute information, by attribute index position
@@ -1162,7 +1211,7 @@ CONTAINS
! January, 2008
!
! SOURCE
- SUBROUTINE h5aget_info_by_idx_f(loc_id, obj_name, idx_type, order, n, &
+ SUBROUTINE H5Aget_info_by_idx_f(loc_id, obj_name, idx_type, order, n, &
f_corder_valid, corder, cset, data_size, hdferr, lapl_id)
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: loc_id ! Object identifier
@@ -1195,14 +1244,11 @@ CONTAINS
INTERFACE
INTEGER FUNCTION h5aget_info_by_idx_c(loc_id, obj_name, obj_namelen, idx_type, order, n, lapl_id_default, &
- corder_valid, corder, cset, data_size)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5AGET_INFO_BY_IDX_C'::h5aget_info_by_idx_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: obj_name
+ corder_valid, corder, cset, data_size) BIND(C,NAME='h5aget_info_by_idx_c')
+ IMPORT :: C_CHAR
+ IMPORT :: HID_T, SIZE_T, HSIZE_T
INTEGER(HID_T), INTENT(IN) :: loc_id
- CHARACTER(LEN=*), INTENT(IN) :: obj_name
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(IN) :: obj_name
INTEGER, INTENT(IN) :: idx_type
INTEGER, INTENT(IN) :: order
INTEGER(HSIZE_T), INTENT(IN) :: n
@@ -1213,7 +1259,7 @@ CONTAINS
INTEGER(HSIZE_T), INTENT(OUT) :: data_size
INTEGER(SIZE_T) :: obj_namelen
- END FUNCTION h5aget_info_by_idx_c
+ END FUNCTION H5Aget_info_by_idx_c
END INTERFACE
obj_namelen = LEN(obj_name)
@@ -1221,19 +1267,19 @@ CONTAINS
lapl_id_default = H5P_DEFAULT_F
IF(present(lapl_id)) lapl_id_default = lapl_id
- hdferr = h5aget_info_by_idx_c(loc_id, obj_name, obj_namelen, idx_type, order, n, lapl_id_default, &
+ hdferr = H5Aget_info_by_idx_c(loc_id, obj_name, obj_namelen, idx_type, order, n, lapl_id_default, &
corder_valid, corder, cset, data_size)
f_corder_valid =.FALSE.
IF (corder_valid .EQ. 1) f_corder_valid =.TRUE.
- END SUBROUTINE h5aget_info_by_idx_f
+ END SUBROUTINE H5Aget_info_by_idx_f
!
-!****s* H5A/h5aget_info_by_name_f
+!****s* H5A/H5Aget_info_by_name_f
!
! NAME
-! h5aget_info_by_name_f
+! H5Aget_info_by_name_f
!
! PURPOSE
! Retrieves attribute information, by attribute name
@@ -1257,7 +1303,7 @@ CONTAINS
! January, 2008
!
! SOURCE
- SUBROUTINE h5aget_info_by_name_f(loc_id, obj_name, attr_name, &
+ SUBROUTINE H5Aget_info_by_name_f(loc_id, obj_name, attr_name, &
f_corder_valid, corder, cset, data_size, hdferr, lapl_id)
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: loc_id ! Object identifier
@@ -1279,17 +1325,15 @@ CONTAINS
INTEGER(HID_T) :: lapl_id_default
INTERFACE
- INTEGER FUNCTION h5aget_info_by_name_c(loc_id, obj_name, obj_namelen, attr_name, attr_namelen, lapl_id_default, &
- corder_valid, corder, cset, data_size)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5AGET_INFO_BY_NAME_C'::h5aget_info_by_name_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: obj_name, attr_name
+ INTEGER FUNCTION H5Aget_info_by_name_c(loc_id, obj_name, obj_namelen, attr_name, attr_namelen, lapl_id_default, &
+ corder_valid, corder, cset, data_size) BIND(C,NAME='h5aget_info_by_name_c')
+ IMPORT :: C_CHAR
+ IMPORT :: HID_T, SIZE_T, HSIZE_T
+ IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: loc_id
- CHARACTER(LEN=*), INTENT(IN) :: obj_name
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(IN) :: obj_name
INTEGER(SIZE_T), INTENT(IN) :: obj_namelen
- CHARACTER(LEN=*), INTENT(IN) :: attr_name
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(IN) :: attr_name
INTEGER(SIZE_T), INTENT(IN) :: attr_namelen
INTEGER(HID_T) :: lapl_id_default
INTEGER, INTENT(OUT) :: corder_valid
@@ -1297,7 +1341,7 @@ CONTAINS
INTEGER, INTENT(OUT) :: cset
INTEGER(HSIZE_T), INTENT(OUT) :: data_size
- END FUNCTION h5aget_info_by_name_c
+ END FUNCTION H5Aget_info_by_name_c
END INTERFACE
obj_namelen = LEN(obj_name)
@@ -1306,19 +1350,19 @@ CONTAINS
lapl_id_default = H5P_DEFAULT_F
IF(PRESENT(lapl_id)) lapl_id_default = lapl_id
- hdferr = h5aget_info_by_name_c(loc_id, obj_name, obj_namelen, attr_name, attr_namelen, lapl_id_default, &
+ hdferr = H5Aget_info_by_name_c(loc_id, obj_name, obj_namelen, attr_name, attr_namelen, lapl_id_default, &
corder_valid, corder, cset, data_size)
f_corder_valid =.FALSE.
IF (corder_valid .EQ. 1) f_corder_valid =.TRUE.
- END SUBROUTINE h5aget_info_by_name_f
+ END SUBROUTINE H5Aget_info_by_name_f
!
-!****s* H5A/h5acreate_by_name_f
+!****s* H5A/H5Acreate_by_name_f
!
! NAME
-! h5acreate_by_name_f
+! H5Acreate_by_name_f
!
! PURPOSE
! Creates an attribute attached to a specified object
@@ -1342,7 +1386,7 @@ CONTAINS
! M. Scot Breitenfeld
! February, 2008
! SOURCE
- SUBROUTINE h5acreate_by_name_f(loc_id, obj_name, attr_name, type_id, space_id, attr, hdferr, &
+ SUBROUTINE H5Acreate_by_name_f(loc_id, obj_name, attr_name, type_id, space_id, attr, hdferr, &
acpl_id, aapl_id, lapl_id)
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: loc_id
@@ -1365,17 +1409,16 @@ CONTAINS
INTEGER(HID_T) :: lapl_id_default
INTERFACE
- INTEGER FUNCTION h5acreate_by_name_c(loc_id, obj_name, obj_namelen, attr_name, attr_namelen, &
- type_id, space_id, acpl_id_default, aapl_id_default, lapl_id_default, attr)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5ACREATE_BY_NAME_C'::h5acreate_by_name_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: obj_name, attr_name
+ INTEGER FUNCTION H5Acreate_by_name_c(loc_id, obj_name, obj_namelen, attr_name, attr_namelen, &
+ type_id, space_id, acpl_id_default, aapl_id_default, lapl_id_default, attr) &
+ BIND(C,NAME='h5acreate_by_name_c')
+ IMPORT :: C_CHAR
+ IMPORT :: HID_T, SIZE_T
+ IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: loc_id
- CHARACTER(LEN=*), INTENT(IN) :: obj_name
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(IN) :: obj_name
INTEGER(SIZE_T), INTENT(IN) :: obj_namelen
- CHARACTER(LEN=*), INTENT(IN) :: attr_name
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(IN) :: attr_name
INTEGER(SIZE_T), INTENT(IN) :: attr_namelen
INTEGER(HID_T), INTENT(IN) :: type_id
INTEGER(HID_T), INTENT(IN) :: space_id
@@ -1384,7 +1427,7 @@ CONTAINS
INTEGER(HID_T) :: lapl_id_default
INTEGER(HID_T), INTENT(OUT) :: attr
- END FUNCTION h5acreate_by_name_c
+ END FUNCTION H5Acreate_by_name_c
END INTERFACE
obj_namelen = LEN(obj_name)
@@ -1398,9 +1441,9 @@ CONTAINS
IF(PRESENT(aapl_id)) aapl_id_default = aapl_id
IF(PRESENT(lapl_id)) lapl_id_default = lapl_id
- hdferr = h5acreate_by_name_c(loc_id, obj_name, obj_namelen, attr_name, attr_namelen, &
+ hdferr = H5Acreate_by_name_c(loc_id, obj_name, obj_namelen, attr_name, attr_namelen, &
type_id, space_id, acpl_id_default, aapl_id_default, lapl_id_default, attr)
- END SUBROUTINE h5acreate_by_name_f
+ END SUBROUTINE H5Acreate_by_name_f
!
!****s* H5A/H5Aexists_f
@@ -1424,7 +1467,7 @@ CONTAINS
! February, 2008
!
! SOURCE
- SUBROUTINE h5aexists_f(obj_id, attr_name, attr_exists, hdferr)
+ SUBROUTINE H5Aexists_f(obj_id, attr_name, attr_exists, hdferr)
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: obj_id ! Object identifier
CHARACTER(LEN=*), INTENT(IN) :: attr_name ! Attribute name
@@ -1436,27 +1479,25 @@ CONTAINS
INTEGER(SIZE_T) :: attr_namelen
INTERFACE
- INTEGER FUNCTION h5aexists_c(obj_id, attr_name, attr_namelen, attr_exists_c)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5AEXISTS_C'::h5aexists_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: attr_name
+ INTEGER FUNCTION H5Aexists_c(obj_id, attr_name, attr_namelen, attr_exists_c) BIND(C,NAME='h5aexists_c')
+ IMPORT :: C_CHAR
+ IMPORT :: HID_T, SIZE_T
+ IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: obj_id
- CHARACTER(LEN=*), INTENT(IN) :: attr_name
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(IN) :: attr_name
INTEGER(SIZE_T) :: attr_namelen
INTEGER(HID_T) :: attr_exists_c
- END FUNCTION h5aexists_c
+ END FUNCTION H5Aexists_c
END INTERFACE
attr_namelen = LEN(attr_name)
- hdferr = h5aexists_c(obj_id, attr_name, attr_namelen, attr_exists_c)
+ hdferr = H5Aexists_c(obj_id, attr_name, attr_namelen, attr_exists_c)
attr_exists = .FALSE.
IF(attr_exists_c.GT.0) attr_exists = .TRUE.
- END SUBROUTINE h5aexists_f
+ END SUBROUTINE H5Aexists_f
!
!****s* H5A/H5Aexists_by_name_f
@@ -1483,7 +1524,7 @@ CONTAINS
! February, 2008
!
! SOURCE
- SUBROUTINE h5aexists_by_name_f(loc_id, obj_name, attr_name, attr_exists, hdferr, lapl_id)
+ SUBROUTINE H5Aexists_by_name_f(loc_id, obj_name, attr_name, attr_exists, hdferr, lapl_id)
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: loc_id ! Location identifier
CHARACTER(LEN=*), INTENT(IN) :: obj_name ! Object name either relative to loc_id,
@@ -1501,20 +1542,19 @@ CONTAINS
INTEGER(HID_T) :: lapl_id_default
INTERFACE
- INTEGER FUNCTION h5aexists_by_name_c(loc_id, obj_name, obj_namelen, attr_name, attr_namelen, lapl_id_default, attr_exists_c)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5AEXISTS_BY_NAME_C'::h5aexists_by_name_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: obj_name, attr_name
+ INTEGER FUNCTION H5Aexists_by_name_c(loc_id, obj_name, obj_namelen, attr_name, attr_namelen, &
+ lapl_id_default, attr_exists_c) BIND(C,NAME='h5aexists_by_name_c')
+ IMPORT :: C_CHAR
+ IMPORT :: HID_T, SIZE_T
+ IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: loc_id
- CHARACTER(LEN=*), INTENT(IN) :: obj_name
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(IN) :: obj_name
INTEGER(SIZE_T), INTENT(IN) :: obj_namelen
- CHARACTER(LEN=*), INTENT(IN) :: attr_name
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(IN) :: attr_name
INTEGER(SIZE_T), INTENT(IN) :: attr_namelen
INTEGER(HID_T), INTENT(IN) :: lapl_id_default
INTEGER, INTENT(OUT) :: attr_exists_c
- END FUNCTION h5aexists_by_name_c
+ END FUNCTION H5Aexists_by_name_c
END INTERFACE
attr_namelen = LEN(attr_name)
@@ -1523,12 +1563,12 @@ CONTAINS
lapl_id_default = H5P_DEFAULT_F
IF(PRESENT(lapl_id)) lapl_id_default = lapl_id
- hdferr = h5aexists_by_name_c(loc_id, obj_name, obj_namelen, attr_name, attr_namelen, lapl_id_default, attr_exists_c)
+ hdferr = H5Aexists_by_name_c(loc_id, obj_name, obj_namelen, attr_name, attr_namelen, lapl_id_default, attr_exists_c)
attr_exists = .FALSE.
IF(attr_exists_c.GT.0) attr_exists = .TRUE.
- END SUBROUTINE h5aexists_by_name_f
+ END SUBROUTINE H5Aexists_by_name_f
!
!****s* H5A/H5Aopen_by_name_f
!
@@ -1554,7 +1594,7 @@ CONTAINS
! M. Scot Breitenfeld
! February, 2008
! SOURCE
- SUBROUTINE h5aopen_by_name_f(loc_id, obj_name, attr_name, attr_id, hdferr, aapl_id, lapl_id)
+ SUBROUTINE H5Aopen_by_name_f(loc_id, obj_name, attr_name, attr_id, hdferr, aapl_id, lapl_id)
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: loc_id ! Location identifier
CHARACTER(LEN=*), INTENT(IN) :: obj_name ! Object name either relative to loc_id,
@@ -1574,22 +1614,20 @@ CONTAINS
INTEGER(SIZE_T) :: attr_namelen
INTERFACE
- INTEGER FUNCTION h5aopen_by_name_c(loc_id, obj_name, obj_namelen, attr_name, attr_namelen, &
- aapl_id_default, lapl_id_default, attr_id)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5AOPEN_BY_NAME_C'::h5aopen_by_name_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: obj_name, attr_name
+ INTEGER FUNCTION H5Aopen_by_name_c(loc_id, obj_name, obj_namelen, attr_name, attr_namelen, &
+ aapl_id_default, lapl_id_default, attr_id) BIND(C,NAME='h5aopen_by_name_c')
+ IMPORT :: C_CHAR
+ IMPORT :: HID_T, SIZE_T
+ IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: loc_id
- CHARACTER(LEN=*), INTENT(IN) :: obj_name
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(IN) :: obj_name
INTEGER(SIZE_T), INTENT(IN) :: obj_namelen
- CHARACTER(LEN=*), INTENT(IN) :: attr_name
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(IN) :: attr_name
INTEGER(SIZE_T), INTENT(IN) :: attr_namelen
INTEGER(HID_T) :: aapl_id_default
INTEGER(HID_T) :: lapl_id_default
INTEGER(HID_T), INTENT(OUT) :: attr_id
- END FUNCTION h5aopen_by_name_c
+ END FUNCTION H5Aopen_by_name_c
END INTERFACE
attr_namelen = LEN(attr_name)
@@ -1600,16 +1638,16 @@ CONTAINS
IF(PRESENT(aapl_id)) aapl_id_default = aapl_id
IF(PRESENT(lapl_id)) lapl_id_default = lapl_id
- hdferr = h5aopen_by_name_c(loc_id, obj_name, obj_namelen, attr_name, attr_namelen, &
+ hdferr = H5Aopen_by_name_c(loc_id, obj_name, obj_namelen, attr_name, attr_namelen, &
aapl_id_default, lapl_id_default, attr_id)
- END SUBROUTINE h5aopen_by_name_f
+ END SUBROUTINE H5Aopen_by_name_f
!
-!****s* H5A/h5arename_f
+!****s* H5A/H5Arename_f
!
! NAME
-! h5arename_f
+! H5Arename_f
!
! PURPOSE
! Renames an attribute
@@ -1632,7 +1670,7 @@ CONTAINS
!
! SOURCE
- SUBROUTINE h5arename_f(loc_id, old_attr_name, new_attr_name, hdferr)
+ SUBROUTINE H5Arename_f(loc_id, old_attr_name, new_attr_name, hdferr)
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: loc_id ! Object identifier
CHARACTER(LEN=*), INTENT(IN) :: old_attr_name ! Prior attribute name
@@ -1644,29 +1682,191 @@ CONTAINS
INTEGER(SIZE_T) :: new_attr_namelen
INTERFACE
- INTEGER FUNCTION h5arename_c(loc_id, &
- old_attr_name, old_attr_namelen, new_attr_name, new_attr_namelen)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5ARENAME_C'::h5arename_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: old_attr_name, new_attr_name
+ INTEGER FUNCTION H5Arename_c(loc_id, &
+ old_attr_name, old_attr_namelen, new_attr_name, new_attr_namelen) BIND(C,NAME='h5arename_c')
+ IMPORT :: C_CHAR
+ IMPORT :: HID_T, SIZE_T
+ IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: loc_id
- CHARACTER(LEN=*), INTENT(IN) :: old_attr_name
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(IN) :: old_attr_name
INTEGER(SIZE_T) :: old_attr_namelen
- CHARACTER(LEN=*), INTENT(IN) :: new_attr_name
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(IN) :: new_attr_name
INTEGER(SIZE_T) :: new_attr_namelen
-
- END FUNCTION h5arename_c
+ END FUNCTION H5Arename_c
END INTERFACE
old_attr_namelen = LEN(old_attr_name)
new_attr_namelen = LEN(new_attr_name)
- hdferr = h5arename_c(loc_id, &
+ hdferr = H5Arename_c(loc_id, &
old_attr_name, old_attr_namelen, new_attr_name, new_attr_namelen)
- END SUBROUTINE h5arename_f
+ END SUBROUTINE H5Arename_f
+
+ SUBROUTINE H5Awrite_char_scalar(attr_id, memtype_id, buf, dims, hdferr)
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
+ INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
+ ! identifier (in memory)
+ INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
+ CHARACTER(LEN=*), INTENT(IN) :: buf ! Attribute data
+ INTEGER, INTENT(OUT) :: hdferr ! Error code
+
+ CALL H5Awrite_char_scalar_fix(attr_id, memtype_id, buf, LEN(buf), dims, hdferr)
+
+ END SUBROUTINE H5Awrite_char_scalar
+
+ SUBROUTINE H5Awrite_char_scalar_fix(attr_id, memtype_id, buf, buf_len, dims, hdferr)
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
+ INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
+ ! identifier (in memory)
+ INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
+ INTEGER, INTENT(IN) :: buf_len
+ CHARACTER(LEN=buf_len), INTENT(IN), TARGET :: buf ! Attribute data
+ INTEGER, INTENT(OUT) :: hdferr ! Error code
+ TYPE(C_PTR) :: f_ptr
+
+ f_ptr = C_LOC(buf(1:1))
+
+ hdferr = H5Awrite_f_c(attr_id, memtype_id, f_ptr)
+
+ END SUBROUTINE H5Awrite_char_scalar_fix
+
+
+!****s* H5A (F03)/H5Awrite_f_F03
+!
+! NAME
+! H5Awrite_f_F03
+!
+! PURPOSE
+! Writes an attribute.
+!
+! Inputs:
+! attr_id - Attribute identifier
+! memtype_id - Attribute datatype identifier (in memory)
+! buf - Data buffer; may be a scalar or an array
+!
+! Outputs:
+! hdferr - Returns 0 if successful and -1 if fails
+!
+! AUTHOR
+! Elena Pourmal
+! August 12, 1999
+!
+! HISTORY
+! Explicit Fortran interfaces are added for
+! called C functions (it is needed for Windows
+! port). February 27, 2001
+!
+! NOTES
+! This function is overloaded to write INTEGER,
+! REAL, REAL(KIND=C_DOUBLE) and CHARACTER buffers
+! up to 7 dimensions.
+!
+! Fortran2003 Interface:
+!! SUBROUTINE H5Awrite_f(attr_id, memtype_id, buf, hdferr)
+!! INTEGER(HID_T) , INTENT(IN) :: attr_id
+!! INTEGER(HID_T) , INTENT(IN) :: memtype_id
+!! TYPE(C_PTR) , INTENT(IN) :: buf
+!! INTEGER , INTENT(OUT) :: hdferr
+!*****
+
+ SUBROUTINE H5Awrite_ptr(attr_id, mem_type_id, buf, hdferr)
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
+ INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
+ TYPE(C_PTR), INTENT(IN), TARGET :: buf
+ INTEGER, INTENT(OUT) :: hdferr ! Error code
+
+ hdferr = H5Awrite_f_c(attr_id, mem_type_id, buf)
+
+ END SUBROUTINE H5Awrite_ptr
+
+ SUBROUTINE H5Aread_char_scalar(attr_id, memtype_id, buf, dims, hdferr)
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
+ INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
+ ! identifier (in memory)
+ INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
+ CHARACTER(LEN=*), INTENT(INOUT) :: buf ! Attribute data
+ INTEGER, INTENT(OUT) :: hdferr ! Error code
+
+ CALL H5Aread_char_scalar_fix(attr_id, memtype_id, buf, LEN(buf), hdferr)
+
+ END SUBROUTINE H5Aread_char_scalar
+
+ SUBROUTINE H5Aread_char_scalar_fix(attr_id, memtype_id, buf, buf_len, hdferr)
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
+ INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
+ ! identifier (in memory)
+ INTEGER, INTENT(IN) :: buf_len
+ CHARACTER(LEN=buf_len), INTENT(INOUT), TARGET :: buf ! Attribute data
+ INTEGER, INTENT(OUT) :: hdferr ! Error code
+ TYPE(C_PTR) :: f_ptr
+
+ f_ptr = C_LOC(buf(1:1))
+
+ hdferr = H5Aread_f_c(attr_id, memtype_id, f_ptr)
+
+ END SUBROUTINE H5Aread_char_scalar_fix
+
+!****s* H5A (F03)/H5Aread_f_F03
+!
+! NAME
+! H5Aread_f_F03
+!
+! PURPOSE
+! Reads an attribute.
+!
+! Inputs:
+! attr_id - Attribute identifier
+! memtype_id - Attribute datatype identifier (in memory)
+!
+! Outputs:
+! buf - Data buffer; may be a scalar or an array
+! hdferr - Returns 0 if successful and -1 if fails
+!
+! AUTHOR
+! Elena Pourmal
+! August 12, 1999
+!
+! HISTORY
+! Explicit Fortran interfaces are added for
+! called C functions (it is needed for Windows
+! port). February 27, 2001
+!
+! dims parameter was added to make code portable;
+! Aprile 4, 2001
+!
+! Changed buf intent to INOUT to be consistant
+! with how the C functions handles it. The pg
+! compiler will return 0 if a buf value is not set.
+! February, 2008
+!
+! NOTES
+! This function is overloaded to write INTEGER,
+! REAL, REAL(KIND=C_DOUBLE) and CHARACTER buffers
+! up to 7 dimensions.
+! Fortran2003 Interface:
+!! SUBROUTINE H5Aread_f(attr_id, memtype_id, buf, hdferr)
+!! INTEGER(HID_T) , INTENT(IN) :: attr_id
+!! INTEGER(HID_T) , INTENT(IN) :: memtype_id
+!! TYPE(C_PTR) , INTENT(INOUT) :: buf
+!! INTEGER , INTENT(OUT) :: hdferr
+!*****
+
+ SUBROUTINE H5Aread_ptr(attr_id, mem_type_id, buf, hdferr)
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
+ INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
+ TYPE(C_PTR), INTENT(INOUT), TARGET :: buf
+ INTEGER, INTENT(OUT) :: hdferr ! Error code
+
+ hdferr = H5Aread_f_c(attr_id, mem_type_id, buf)
+
+ END SUBROUTINE H5Aread_ptr
END MODULE H5A
diff --git a/fortran/src/H5Aff_F03.f90 b/fortran/src/H5Aff_F03.f90
deleted file mode 100644
index 5278280..0000000
--- a/fortran/src/H5Aff_F03.f90
+++ /dev/null
@@ -1,1267 +0,0 @@
-!****h* ROBODoc/H5A (F03)
-! NAME
-! H5A_PROVISIONAL
-!
-! FILE
-! src/fortran/src/H5Aff_F03.f90
-!
-! PURPOSE
-! This file contains Fortran 90 and Fortran 2003 interfaces for H5A functions.
-! It contains the same functions as H5Aff_F90.f90 but includes the
-! Fortran 2003 functions and the interface listings. This file will be compiled
-! instead of H5Aff_F90.f90 if Fortran 2003 functions are enabled.
-!
-! COPYRIGHT
-! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
-! Copyright by The HDF Group. *
-! Copyright by the Board of Trustees of the University of Illinois. *
-! All rights reserved. *
-! *
-! This file is part of HDF5. The full HDF5 copyright notice, including *
-! terms governing use, modification, and redistribution, is contained in *
-! the files COPYING and Copyright.html. COPYING can be found at the root *
-! of the source code distribution tree; Copyright.html can be found at the *
-! root level of an installed copy of the electronic HDF5 document set and *
-! is linked from the top-level documents page. It can also be found at *
-! http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have *
-! access to either file, you may request a copy from help@hdfgroup.org. *
-! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
-!
-! NOTES
-!
-! (A) C_LOC and character strings according to the Fortran 2003 standard:
-!
-! 15.1.2.5 C_LOC(X)
-!
-! Argument. X shall either
-!
-! (1) have interoperable type and type parameters and be
-! (a) a variable that has the TARGET attribute and is interoperable,
-! (b) an allocated allocatable variable that has the TARGET attribute
-! and is not an array of zero size, or
-! (c) an associated scalar pointer, or
-! (2) be a nonpolymorphic scalar, have no length type parameters, and be
-! (a) a nonallocatable, nonpointer variable that has the TARGET attribute,
-! (b) an allocated allocatable variable that has the TARGET attribute, or
-! (c) an associated pointer.
-!
-! - When X is a character, for interoperability the standard is:
-!
-! 15.2.1 Interoperability of intrinsic types
-!
-! ...if the type is character, interoperability also requires that the length type parameter
-! be omitted or be specified by an initialization expression whose value is one.
-!
-! THEREFORE compilers that have not extended the standard require
-!
-! CHARACTER(LEN=1), TARGET :: chr
-! or
-! CHARACTER, TARGET :: chr
-!
-! (B)
-! *** IMPORTANT ***
-! If you add a new H5A function you must add the function name to the
-! Windows dll file 'hdf5_fortrandll.def.in' in the fortran/src directory.
-! This is needed for Windows based operating systems.
-!
-!*****
-
-MODULE H5A_PROVISIONAL
-
- USE H5GLOBAL
-!
-! On Windows there are no big (integer*8) integers, so overloading
-! for bug #670 does not work. I have to use DEC compilation directives to make
-! Windows DEC Visual Fortran and OSF compilers happy and do right things.
-! 05/01/02 EP
-!
- INTERFACE h5awrite_f
- MODULE PROCEDURE h5awrite_integer_scalar
- MODULE PROCEDURE h5awrite_integer_1
- MODULE PROCEDURE h5awrite_integer_2
- MODULE PROCEDURE h5awrite_integer_3
- MODULE PROCEDURE h5awrite_integer_4
- MODULE PROCEDURE h5awrite_integer_5
- MODULE PROCEDURE h5awrite_integer_6
- MODULE PROCEDURE h5awrite_integer_7
- MODULE PROCEDURE h5awrite_char_scalar
- MODULE PROCEDURE h5awrite_char_1
- MODULE PROCEDURE h5awrite_char_2
- MODULE PROCEDURE h5awrite_char_3
- MODULE PROCEDURE h5awrite_char_4
- MODULE PROCEDURE h5awrite_char_5
- MODULE PROCEDURE h5awrite_char_6
- MODULE PROCEDURE h5awrite_char_7
- MODULE PROCEDURE h5awrite_real_scalar
- MODULE PROCEDURE h5awrite_real_1
- MODULE PROCEDURE h5awrite_real_2
- MODULE PROCEDURE h5awrite_real_3
- MODULE PROCEDURE h5awrite_real_4
- MODULE PROCEDURE h5awrite_real_5
- MODULE PROCEDURE h5awrite_real_6
- MODULE PROCEDURE h5awrite_real_7
- ! This is the preferred way to call h5awrite
- ! by passing an address
- MODULE PROCEDURE h5awrite_ptr
-
- END INTERFACE
-
- INTERFACE h5aread_f
-
- MODULE PROCEDURE h5aread_integer_scalar
- MODULE PROCEDURE h5aread_integer_1
- MODULE PROCEDURE h5aread_integer_2
- MODULE PROCEDURE h5aread_integer_3
- MODULE PROCEDURE h5aread_integer_4
- MODULE PROCEDURE h5aread_integer_5
- MODULE PROCEDURE h5aread_integer_6
- MODULE PROCEDURE h5aread_integer_7
- MODULE PROCEDURE h5aread_char_scalar
- MODULE PROCEDURE h5aread_char_1
- MODULE PROCEDURE h5aread_char_2
- MODULE PROCEDURE h5aread_char_3
- MODULE PROCEDURE h5aread_char_4
- MODULE PROCEDURE h5aread_char_5
- MODULE PROCEDURE h5aread_char_6
- MODULE PROCEDURE h5aread_char_7
- MODULE PROCEDURE h5aread_real_scalar
- MODULE PROCEDURE h5aread_real_1
- MODULE PROCEDURE h5aread_real_2
- MODULE PROCEDURE h5aread_real_3
- MODULE PROCEDURE h5aread_real_4
- MODULE PROCEDURE h5aread_real_5
- MODULE PROCEDURE h5aread_real_6
- MODULE PROCEDURE h5aread_real_7
-
- ! This is the preferred way to call h5aread
- ! by passing an address
- MODULE PROCEDURE h5aread_ptr
-
- END INTERFACE
-
-! Interface for the function used to pass the C pointer of the buffer
-! to the C H5Awrite routine
-
- INTERFACE
- INTEGER FUNCTION h5awrite_f_c(attr_id, mem_type_id, buf) BIND(C, NAME='h5awrite_f_c')
- USE, INTRINSIC :: ISO_C_BINDING, ONLY : c_ptr
- USE H5GLOBAL
- INTEGER(HID_T), INTENT(IN) :: attr_id
- INTEGER(HID_T), INTENT(IN) :: mem_type_id
- TYPE(C_PTR), VALUE :: buf
- END FUNCTION h5awrite_f_c
- END INTERFACE
-
-! Interface for the function used to pass the C pointer of the buffer
-! to the C H5Aread routine
-
- INTERFACE
- INTEGER FUNCTION h5aread_f_c(attr_id, mem_type_id, buf) BIND(C, NAME='h5aread_f_c')
- USE, INTRINSIC :: ISO_C_BINDING, ONLY : c_ptr
- USE H5GLOBAL
- INTEGER(HID_T), INTENT(IN) :: attr_id
- INTEGER(HID_T), INTENT(IN) :: mem_type_id
- TYPE(C_PTR), VALUE :: buf
- END FUNCTION h5aread_f_c
- END INTERFACE
-
-CONTAINS
-
-!****s* H5A (F03)/h5awrite_f_F90
-!
-! NAME
-! h5awrite_f_F90
-!
-! PURPOSE
-! Writes an attribute.
-!
-! Inputs:
-! attr_id - Attribute identifier
-! memtype_id - Attribute datatype identifier (in memory)
-! dims - Array to hold corresponding dimension sizes of data buffer buf;
-! dim(k) has value of the k-th dimension of buffer buf;
-! values are ignored if buf is a scalar
-! buf - Data buffer; may be a scalar or an array
-!
-! Outputs:
-! hdferr - Returns 0 if successful and -1 if fails
-!
-! AUTHOR
-! Elena Pourmal
-! August 12, 1999
-!
-! HISTORY
-! Explicit Fortran interfaces are added for
-! called C functions (it is needed for Windows
-! port). February 27, 2001
-!
-! dims parameter was added to make code portable;
-! Aprile 4, 2001
-!
-! Changed buf intent to INOUT to be consistant
-! with how the C functions handles it. The pg
-! compiler will return 0 if a buf value is not set.
-! February, 2008
-!
-! NOTES
-! This function is overloaded to write INTEGER,
-! REAL, DOUBLE PRECISION and CHARACTER buffers
-! up to 7 dimensions.
-!
-! Fortran90 Interface:
-!! SUBROUTINE h5awrite_f(attr_id, memtype_id, buf, dims, hdferr)
-!! INTEGER(HID_T) , INTENT(IN) :: attr_id
-!! INTEGER(HID_T) , INTENT(IN) :: memtype_id
-!! TYPE , INTENT(IN) :: buf
-!! INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
-!! INTEGER , INTENT(OUT) :: hdferr
-!*****
-
-
- SUBROUTINE h5awrite_integer_scalar(attr_id, memtype_id, buf, dims, hdferr)
- USE, INTRINSIC :: ISO_C_BINDING
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
- INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
- ! identifier (in memory)
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- INTEGER, INTENT(IN), TARGET :: buf ! Attribute data
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- TYPE(C_PTR) :: f_ptr
-
- f_ptr = C_LOC(buf)
-
- hdferr = h5awrite_f_c(attr_id, memtype_id, f_ptr)
-
- END SUBROUTINE h5awrite_integer_scalar
-
- SUBROUTINE h5awrite_integer_1(attr_id, memtype_id, buf, dims, hdferr)
- USE, INTRINSIC :: ISO_C_BINDING
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
- INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
- ! identifier (in memory)
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- INTEGER, INTENT(IN) , &
- DIMENSION(dims(1)), TARGET :: buf ! Attribute data
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- TYPE(C_PTR) :: f_ptr
-
- f_ptr = C_LOC(buf(1))
-
- hdferr = h5awrite_f_c(attr_id, memtype_id, f_ptr)
- END SUBROUTINE h5awrite_integer_1
-
-
- SUBROUTINE h5awrite_integer_2(attr_id, memtype_id, buf, dims, hdferr)
- USE, INTRINSIC :: ISO_C_BINDING
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
- INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
- ! identifier (in memory)
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- INTEGER, INTENT(IN) , &
- DIMENSION(dims(1),dims(2)), TARGET :: buf
- ! Attribute data
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- TYPE(C_PTR) :: f_ptr
-
- f_ptr = C_LOC(buf(1,1))
-
- hdferr = h5awrite_f_c(attr_id, memtype_id, f_ptr)
-
- END SUBROUTINE h5awrite_integer_2
-
- SUBROUTINE h5awrite_integer_3(attr_id, memtype_id, buf, dims, hdferr)
- USE, INTRINSIC :: ISO_C_BINDING
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
- INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
- ! identifier (in memory)
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- INTEGER, INTENT(IN), DIMENSION(dims(1),dims(2),dims(3)), TARGET :: buf ! Attribute data
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- TYPE(C_PTR) :: f_ptr
-
- f_ptr = C_LOC(buf(1,1,1))
-
- hdferr = h5awrite_f_c(attr_id, memtype_id, f_ptr)
-
- END SUBROUTINE h5awrite_integer_3
-
-
- SUBROUTINE h5awrite_integer_4(attr_id, memtype_id, buf, dims, hdferr)
- USE, INTRINSIC :: ISO_C_BINDING
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
- INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
- ! identifier (in memory)
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims! Array to story buf dimension sizes
- INTEGER, INTENT(IN), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4)), TARGET :: buf ! Attribute data
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- TYPE(C_PTR) :: f_ptr
-
- f_ptr = C_LOC(buf(1,1,1,1))
-
- hdferr = h5awrite_f_c(attr_id, memtype_id, f_ptr)
-
- END SUBROUTINE h5awrite_integer_4
-
-
- SUBROUTINE h5awrite_integer_5(attr_id, memtype_id, buf, dims, hdferr)
- USE, INTRINSIC :: ISO_C_BINDING
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
- INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
- ! identifier (in memory)
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- INTEGER, INTENT(IN), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)), TARGET :: buf ! Attribute data
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- TYPE(C_PTR) :: f_ptr
-
- f_ptr = C_LOC(buf(1,1,1,1,1))
-
- hdferr = h5awrite_f_c(attr_id, memtype_id, f_ptr)
-
- END SUBROUTINE h5awrite_integer_5
-
-
- SUBROUTINE h5awrite_integer_6(attr_id, memtype_id, buf, dims, hdferr)
- USE, INTRINSIC :: ISO_C_BINDING
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
- INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
- ! identifier (in memory)
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- INTEGER, INTENT(IN), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)), TARGET :: buf ! Attribute data
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- TYPE(C_PTR) :: f_ptr
-
- f_ptr = C_LOC(buf(1,1,1,1,1,1))
-
- hdferr = h5awrite_f_c(attr_id, memtype_id, f_ptr)
- END SUBROUTINE h5awrite_integer_6
-
-
- SUBROUTINE h5awrite_integer_7(attr_id, memtype_id, buf, dims, hdferr)
- USE, INTRINSIC :: ISO_C_BINDING
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
- INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
- ! identifier (in memory)
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- INTEGER, INTENT(IN), DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)), &
- TARGET :: buf ! Attribute data
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- TYPE(C_PTR) :: f_ptr
-
- f_ptr = C_LOC(buf(1,1,1,1,1,1,1))
-
- hdferr = h5awrite_f_c(attr_id, memtype_id, f_ptr)
-
- END SUBROUTINE h5awrite_integer_7
-
-
- SUBROUTINE h5awrite_real_scalar(attr_id, memtype_id, buf, dims, hdferr)
- USE, INTRINSIC :: ISO_C_BINDING
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
- INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
- ! identifier (in memory)
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- REAL, INTENT(IN), TARGET :: buf ! Attribute data
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- TYPE(C_PTR) :: f_ptr
-
- f_ptr = C_LOC(buf)
-
- hdferr = h5awrite_f_c(attr_id, memtype_id, f_ptr)
- END SUBROUTINE h5awrite_real_scalar
-
- SUBROUTINE h5awrite_real_1(attr_id, memtype_id, buf, dims, hdferr)
- USE, INTRINSIC :: ISO_C_BINDING
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
- INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
- ! identifier (in memory)
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- REAL, INTENT(IN), &
- DIMENSION(dims(1)), TARGET :: buf ! Attribute data
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- TYPE(C_PTR) :: f_ptr
-
- f_ptr = C_LOC(buf(1))
-
- hdferr = h5awrite_f_c(attr_id, memtype_id, f_ptr)
-
- END SUBROUTINE h5awrite_real_1
-
-
- SUBROUTINE h5awrite_real_2(attr_id, memtype_id, buf, dims, hdferr)
- USE, INTRINSIC :: ISO_C_BINDING
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
- INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
- ! identifier (in memory)
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- REAL, INTENT(IN), &
- DIMENSION(dims(1),dims(2)), TARGET :: buf
- ! Attribute data
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- TYPE(C_PTR) :: f_ptr
-
- f_ptr = C_LOC(buf(1,1))
-
- hdferr = h5awrite_f_c(attr_id, memtype_id, f_ptr)
-
- END SUBROUTINE h5awrite_real_2
-
-
- SUBROUTINE h5awrite_real_3(attr_id, memtype_id, buf, dims, hdferr)
- USE, INTRINSIC :: ISO_C_BINDING
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
- INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
- ! identifier (in memory)
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- REAL, INTENT(IN), &
- DIMENSION(dims(1),dims(2),dims(3)), TARGET :: buf
- ! Attribute data
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- TYPE(C_PTR) :: f_ptr
-
- f_ptr = C_LOC(buf(1,1,1))
-
- hdferr = h5awrite_f_c(attr_id, memtype_id, f_ptr)
- END SUBROUTINE h5awrite_real_3
-
-
- SUBROUTINE h5awrite_real_4(attr_id, memtype_id, buf, dims, hdferr)
- USE, INTRINSIC :: ISO_C_BINDING
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
- INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
- ! identifier (in memory)
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- REAL, INTENT(IN), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4)), TARGET :: buf
- ! Attribute data
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- TYPE(C_PTR) :: f_ptr
-
- f_ptr = C_LOC(buf(1,1,1,1))
-
- hdferr = h5awrite_f_c(attr_id, memtype_id, f_ptr)
- END SUBROUTINE h5awrite_real_4
-
-
- SUBROUTINE h5awrite_real_5(attr_id, memtype_id, buf, dims, hdferr)
- USE, INTRINSIC :: ISO_C_BINDING
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
- INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
- ! identifier (in memory)
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- REAL, INTENT(IN), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)), TARGET :: buf
- ! Attribute data
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- TYPE(C_PTR) :: f_ptr
-
- f_ptr = C_LOC(buf)
-
- hdferr = h5awrite_f_c(attr_id, memtype_id, f_ptr)
- END SUBROUTINE h5awrite_real_5
-
-
- SUBROUTINE h5awrite_real_6(attr_id, memtype_id, buf, dims, hdferr)
- USE, INTRINSIC :: ISO_C_BINDING
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
- INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
- ! identifier (in memory)
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- REAL, INTENT(IN), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)), TARGET :: buf
- ! Attribute data
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- TYPE(C_PTR) :: f_ptr
-
- f_ptr = C_LOC(buf(1,1,1,1,1,1))
-
- hdferr = h5awrite_f_c(attr_id, memtype_id, f_ptr)
- END SUBROUTINE h5awrite_real_6
-
-
- SUBROUTINE h5awrite_real_7(attr_id, memtype_id, buf, dims, hdferr)
- USE, INTRINSIC :: ISO_C_BINDING
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
- INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
- ! identifier (in memory)
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- REAL, INTENT(IN), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)), TARGET :: buf ! Attribute data
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- TYPE(C_PTR) :: f_ptr
-
- f_ptr = C_LOC(buf(1,1,1,1,1,1,1))
-
- hdferr = h5awrite_f_c(attr_id, memtype_id, f_ptr)
- END SUBROUTINE h5awrite_real_7
-
- SUBROUTINE h5awrite_char_scalar(attr_id, memtype_id, buf, dims, hdferr)
- USE, INTRINSIC :: ISO_C_BINDING
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
- INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
- ! identifier (in memory)
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- CHARACTER(LEN=*), INTENT(IN) :: buf ! Attribute data
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-
- CALL h5awrite_char_scalar_fix(attr_id, memtype_id, buf, LEN(buf), dims, hdferr)
-
- END SUBROUTINE h5awrite_char_scalar
-
- SUBROUTINE h5awrite_char_scalar_fix(attr_id, memtype_id, buf, buf_len, dims, hdferr)
- USE, INTRINSIC :: ISO_C_BINDING
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
- INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
- ! identifier (in memory)
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- INTEGER, INTENT(IN) :: buf_len
- CHARACTER(LEN=buf_len), INTENT(IN), TARGET :: buf ! Attribute data
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- TYPE(C_PTR) :: f_ptr
-
- f_ptr = C_LOC(buf(1:1))
-
- hdferr = h5awrite_f_c(attr_id, memtype_id, f_ptr)
-
- END SUBROUTINE h5awrite_char_scalar_fix
-
- SUBROUTINE h5awrite_char_1(attr_id, memtype_id, buf, dims, hdferr)
- USE, INTRINSIC :: ISO_C_BINDING
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
- INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
- ! identifier (in memory)
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- CHARACTER(LEN=*), INTENT(IN), DIMENSION(dims(1)), TARGET :: buf ! Attribute data
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- TYPE(C_PTR) :: f_ptr
-
- f_ptr = C_LOC(buf(1)(1:1))
-
- hdferr = h5awrite_f_c(attr_id, memtype_id, f_ptr)
-
- END SUBROUTINE h5awrite_char_1
-
- SUBROUTINE h5awrite_char_2(attr_id, memtype_id, buf, dims, hdferr)
- USE, INTRINSIC :: ISO_C_BINDING
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
- INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
- ! identifier (in memory)
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- CHARACTER(LEN=*), INTENT(IN), &
- DIMENSION(dims(1),dims(2)), TARGET :: buf ! Attribute data
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- TYPE(C_PTR) :: f_ptr
-
- f_ptr = C_LOC(buf(1,1)(1:1))
- hdferr = h5awrite_f_c(attr_id, memtype_id, f_ptr)
-
- END SUBROUTINE h5awrite_char_2
-
- SUBROUTINE h5awrite_char_3(attr_id, memtype_id, buf, dims, hdferr)
- USE, INTRINSIC :: ISO_C_BINDING
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
- INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
- ! identifier (in memory)
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- CHARACTER(LEN=*), INTENT(IN), &
- DIMENSION(dims(1),dims(2),dims(3)), TARGET :: buf ! Attribute data
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- TYPE(C_PTR) :: f_ptr
-
- f_ptr = C_LOC(buf(1,1,1)(1:1))
-
- hdferr = h5awrite_f_c(attr_id, memtype_id, f_ptr)
-
- END SUBROUTINE h5awrite_char_3
-
- SUBROUTINE h5awrite_char_4(attr_id, memtype_id, buf, dims, hdferr)
- USE, INTRINSIC :: ISO_C_BINDING
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
- INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
- ! identifier (in memory)
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- CHARACTER(LEN=*), INTENT(IN), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4)), TARGET :: buf ! Attribute data
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- TYPE(C_PTR) :: f_ptr
-
- f_ptr = C_LOC(buf(1,1,1,1)(1:1))
-
- hdferr = h5awrite_f_c(attr_id, memtype_id, f_ptr)
-
- END SUBROUTINE h5awrite_char_4
-
- SUBROUTINE h5awrite_char_5(attr_id, memtype_id, buf, dims, hdferr)
- USE, INTRINSIC :: ISO_C_BINDING
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
- INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
- ! identifier (in memory)
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- CHARACTER(LEN=*), INTENT(IN), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)), TARGET :: buf ! Attribute data
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- TYPE(C_PTR) :: f_ptr
-
- f_ptr = C_LOC(buf(1,1,1,1,1)(1:1))
-
- hdferr = h5awrite_f_c(attr_id, memtype_id, f_ptr)
-
- END SUBROUTINE h5awrite_char_5
-
-
- SUBROUTINE h5awrite_char_6(attr_id, memtype_id, buf, dims, hdferr)
- USE, INTRINSIC :: ISO_C_BINDING
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
- INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
- ! identifier (in memory)
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- CHARACTER(LEN=*), INTENT(IN), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)), TARGET :: buf ! Attribute data
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- TYPE(C_PTR) :: f_ptr
-
- f_ptr = C_LOC(buf(1,1,1,1,1,1)(1:1))
-
- hdferr = h5awrite_f_c(attr_id, memtype_id, f_ptr)
-
- END SUBROUTINE h5awrite_char_6
-
- SUBROUTINE h5awrite_char_7(attr_id, memtype_id, buf, dims, hdferr)
- USE, INTRINSIC :: ISO_C_BINDING
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
- INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
- ! identifier (in memory)
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- CHARACTER(LEN=*), INTENT(IN), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)), TARGET :: buf ! Attribute data
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- TYPE(C_PTR) :: f_ptr
-
- f_ptr = C_LOC(buf(1,1,1,1,1,1,1)(1:1))
- hdferr = h5awrite_f_c(attr_id, memtype_id, f_ptr)
-
- END SUBROUTINE h5awrite_char_7
-
-!****s* H5A (F03)/h5awrite_f_F03
-!
-! NAME
-! h5awrite_f_F03
-!
-! PURPOSE
-! Writes an attribute.
-!
-! Inputs:
-! attr_id - Attribute identifier
-! memtype_id - Attribute datatype identifier (in memory)
-! buf - Data buffer; may be a scalar or an array
-!
-! Outputs:
-! hdferr - Returns 0 if successful and -1 if fails
-!
-! AUTHOR
-! Elena Pourmal
-! August 12, 1999
-!
-! HISTORY
-! Explicit Fortran interfaces are added for
-! called C functions (it is needed for Windows
-! port). February 27, 2001
-!
-! NOTES
-! This function is overloaded to write INTEGER,
-! REAL, DOUBLE PRECISION and CHARACTER buffers
-! up to 7 dimensions.
-!
-! Fortran2003 Interface:
-!! SUBROUTINE h5awrite_f(attr_id, memtype_id, buf, hdferr)
-!! INTEGER(HID_T) , INTENT(IN) :: attr_id
-!! INTEGER(HID_T) , INTENT(IN) :: memtype_id
-!! TYPE(C_PTR) , INTENT(IN) :: buf
-!! INTEGER , INTENT(OUT) :: hdferr
-!*****
-
- SUBROUTINE h5awrite_ptr(attr_id, mem_type_id, buf, hdferr)
- USE, INTRINSIC :: ISO_C_BINDING
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
- INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
- TYPE(C_PTR), INTENT(IN), TARGET :: buf
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-
- hdferr = h5awrite_f_c(attr_id, mem_type_id, buf)
-
- END SUBROUTINE h5awrite_ptr
-
-!****s* H5A (F03)/h5aread_f_F90
-!
-! NAME
-! h5aread_f_F90
-!
-! PURPOSE
-! Reads an attribute.
-!
-! Inputs:
-! attr_id - Attribute identifier
-! memtype_id - Attribute datatype identifier (in memory)
-! dims - Array to hold corresponding dimension sizes of data buffer buf;
-! dim(k) has value of the k-th dimension of buffer buf;
-! values are ignored if buf is a scalar
-!
-! Outputs:
-! buf - Data buffer; may be a scalar or an array
-! hdferr - Returns 0 if successful and -1 if fails
-!
-! AUTHOR
-! Elena Pourmal
-! August 12, 1999
-!
-! HISTORY
-! Explicit Fortran interfaces are added for
-! called C functions (it is needed for Windows
-! port). February 27, 2001
-!
-! dims parameter was added to make code portable;
-! Aprile 4, 2001
-!
-! Changed buf intent to INOUT to be consistant
-! with how the C functions handles it. The pg
-! compiler will return 0 if a buf value is not set.
-! February, 2008
-!
-! NOTES
-! This function is overloaded to write INTEGER,
-! REAL, DOUBLE PRECISION and CHARACTER buffers
-! up to 7 dimensions.
-! Fortran90 Interface:
-!! SUBROUTINE h5aread_f(attr_id, memtype_id, buf, dims, hdferr)
-!! INTEGER(HID_T) , INTENT(IN) :: attr_id
-!! INTEGER(HID_T) , INTENT(IN) :: memtype_id
-!! TYPE , INTENT(INOUT) :: buf
-!! INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
-!! INTEGER , INTENT(OUT) :: hdferr
-!*****
- SUBROUTINE h5aread_integer_scalar(attr_id, memtype_id, buf, dims, hdferr)
- USE, INTRINSIC :: ISO_C_BINDING
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
- INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
- ! identifier (in memory)
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- INTEGER, INTENT(INOUT), TARGET :: buf ! Attribute data
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- TYPE(C_PTR) :: f_ptr
-
- f_ptr = C_LOC(buf)
-
- hdferr = h5aread_f_c(attr_id, memtype_id, f_ptr)
- END SUBROUTINE h5aread_integer_scalar
-
- SUBROUTINE h5aread_integer_1(attr_id, memtype_id, buf, dims, hdferr)
- USE, INTRINSIC :: ISO_C_BINDING
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
- INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
- ! identifier (in memory)
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- INTEGER, INTENT(INOUT), DIMENSION(dims(1)), TARGET :: buf ! Attribute data
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- TYPE(C_PTR) :: f_ptr
-
- f_ptr = C_LOC(buf(1))
-
- hdferr = h5aread_f_c(attr_id, memtype_id, f_ptr)
- END SUBROUTINE h5aread_integer_1
-
-
- SUBROUTINE h5aread_integer_2(attr_id, memtype_id, buf, dims, hdferr)
- USE, INTRINSIC :: ISO_C_BINDING
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
- INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
- ! identifier (in memory)
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- INTEGER, INTENT(INOUT),DIMENSION(dims(1),dims(2)), TARGET :: buf ! Attribute data
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- TYPE(C_PTR) :: f_ptr
-
- f_ptr = C_LOC(buf(1,1))
-
- hdferr = h5aread_f_c(attr_id, memtype_id, f_ptr)
- END SUBROUTINE h5aread_integer_2
-
-
- SUBROUTINE h5aread_integer_3(attr_id, memtype_id, buf, dims, hdferr)
- USE, INTRINSIC :: ISO_C_BINDING
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
- INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
- ! identifier (in memory)
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- INTEGER, INTENT(INOUT), &
- DIMENSION(dims(1),dims(2),dims(3)), TARGET :: buf ! Attribute data
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- TYPE(C_PTR) :: f_ptr
-
- f_ptr = C_LOC(buf(1,1,1))
-
- hdferr = h5aread_f_c(attr_id, memtype_id, f_ptr)
- END SUBROUTINE h5aread_integer_3
-
-
- SUBROUTINE h5aread_integer_4(attr_id, memtype_id, buf, dims, hdferr)
- USE, INTRINSIC :: ISO_C_BINDING
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
- INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
- ! identifier (in memory)
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- INTEGER, INTENT(INOUT), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4)), TARGET :: buf ! Attribute data
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- TYPE(C_PTR) :: f_ptr
-
- f_ptr = C_LOC(buf(1,1,1,1))
-
- hdferr = h5aread_f_c(attr_id, memtype_id, f_ptr)
- END SUBROUTINE h5aread_integer_4
-
-
- SUBROUTINE h5aread_integer_5(attr_id, memtype_id, buf, dims, hdferr)
- USE, INTRINSIC :: ISO_C_BINDING
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
- INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
- ! identifier (in memory)
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- INTEGER, INTENT(INOUT), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)), TARGET :: buf ! Attribute data
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- TYPE(C_PTR) :: f_ptr
-
- f_ptr = C_LOC(buf(1,1,1,1,1))
-
- hdferr = h5aread_f_c(attr_id, memtype_id, f_ptr)
- END SUBROUTINE h5aread_integer_5
-
-
- SUBROUTINE h5aread_integer_6(attr_id, memtype_id, buf, dims, hdferr)
- USE, INTRINSIC :: ISO_C_BINDING
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
- INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
- ! identifier (in memory)
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- INTEGER, INTENT(INOUT), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)), TARGET :: buf ! Attribute data
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- TYPE(C_PTR) :: f_ptr
-
- f_ptr = C_LOC(buf(1,1,1,1,1,1))
-
- hdferr = h5aread_f_c(attr_id, memtype_id, f_ptr)
- END SUBROUTINE h5aread_integer_6
-
-
- SUBROUTINE h5aread_integer_7(attr_id, memtype_id, buf, dims, hdferr)
- USE, INTRINSIC :: ISO_C_BINDING
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
- INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
- ! identifier (in memory)
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- INTEGER, INTENT(INOUT), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)), TARGET :: buf ! Attribute data
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- TYPE(C_PTR) :: f_ptr
-
- f_ptr = C_LOC(buf(1,1,1,1,1,1,1))
-
- hdferr = h5aread_f_c(attr_id, memtype_id, f_ptr)
- END SUBROUTINE h5aread_integer_7
-
-
- SUBROUTINE h5aread_real_scalar(attr_id, memtype_id, buf, dims, hdferr)
- USE, INTRINSIC :: ISO_C_BINDING
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
- INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
- ! identifier (in memory)
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- REAL, INTENT(INOUT), TARGET :: buf ! Attribute data
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- TYPE(C_PTR) :: f_ptr
-
- f_ptr = C_LOC(buf)
-
- hdferr = h5aread_f_c(attr_id, memtype_id, f_ptr)
- END SUBROUTINE h5aread_real_scalar
-
- SUBROUTINE h5aread_real_1(attr_id, memtype_id, buf, dims, hdferr)
- USE, INTRINSIC :: ISO_C_BINDING
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
- INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
- ! identifier (in memory)
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- REAL, INTENT(INOUT), &
- DIMENSION(dims(1)), TARGET :: buf ! Attribute data
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- TYPE(C_PTR) :: f_ptr
-
- f_ptr = C_LOC(buf(1))
-
- hdferr = h5aread_f_c(attr_id, memtype_id, f_ptr)
- END SUBROUTINE h5aread_real_1
-
-
- SUBROUTINE h5aread_real_2(attr_id, memtype_id, buf, dims, hdferr)
- USE, INTRINSIC :: ISO_C_BINDING
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
- INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
- ! identifier (in memory)
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- REAL, INTENT(INOUT), &
- DIMENSION(dims(1),dims(2)), TARGET :: buf ! Attribute data
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- TYPE(C_PTR) :: f_ptr
-
- f_ptr = C_LOC(buf(1,1))
-
- hdferr = h5aread_f_c(attr_id, memtype_id, f_ptr)
- END SUBROUTINE h5aread_real_2
-
-
- SUBROUTINE h5aread_real_3(attr_id, memtype_id, buf, dims, hdferr)
- USE, INTRINSIC :: ISO_C_BINDING
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
- INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
- ! identifier (in memory)
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- REAL, INTENT(INOUT), &
- DIMENSION(dims(1),dims(2),dims(3)), TARGET :: buf
- ! Attribute data
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- TYPE(C_PTR) :: f_ptr
-
- f_ptr = C_LOC(buf(1,1,1))
-
- hdferr = h5aread_f_c(attr_id, memtype_id, f_ptr)
- END SUBROUTINE h5aread_real_3
-
-
- SUBROUTINE h5aread_real_4(attr_id, memtype_id, buf, dims, hdferr)
- USE, INTRINSIC :: ISO_C_BINDING
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
- INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
- ! identifier (in memory)
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- REAL, INTENT(INOUT), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4)), TARGET :: buf ! Attribute data
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- TYPE(C_PTR) :: f_ptr
-
- f_ptr = C_LOC(buf(1,1,1,1))
-
- hdferr = h5aread_f_c(attr_id, memtype_id, f_ptr)
- END SUBROUTINE h5aread_real_4
-
-
- SUBROUTINE h5aread_real_5(attr_id, memtype_id, buf, dims, hdferr)
- USE, INTRINSIC :: ISO_C_BINDING
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
- INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
- ! identifier (in memory)
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- REAL, INTENT(INOUT), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)), TARGET :: buf ! Attribute data
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- TYPE(C_PTR) :: f_ptr
-
- f_ptr = C_LOC(buf(1,1,1,1,1))
-
- hdferr = h5aread_f_c(attr_id, memtype_id, f_ptr)
- END SUBROUTINE h5aread_real_5
-
-
- SUBROUTINE h5aread_real_6(attr_id, memtype_id, buf, dims, hdferr)
- USE, INTRINSIC :: ISO_C_BINDING
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
- INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
- ! identifier (in memory)
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- REAL, INTENT(INOUT), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)), TARGET :: buf ! Attribute data
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- TYPE(C_PTR) :: f_ptr
-
- f_ptr = C_LOC(buf(1,1,1,1,1,1))
-
- hdferr = h5aread_f_c(attr_id, memtype_id, f_ptr)
- END SUBROUTINE h5aread_real_6
-
-
- SUBROUTINE h5aread_real_7(attr_id, memtype_id, buf, dims, hdferr)
- USE, INTRINSIC :: ISO_C_BINDING
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
- INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
- ! identifier (in memory)
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- REAL, INTENT(INOUT), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)), TARGET :: buf ! Attribute data
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- TYPE(C_PTR) :: f_ptr
-
- f_ptr = C_LOC(buf(1,1,1,1,1,1,1))
-
- hdferr = h5aread_f_c(attr_id, memtype_id, f_ptr)
- END SUBROUTINE h5aread_real_7
-
- SUBROUTINE h5aread_char_scalar(attr_id, memtype_id, buf, dims, hdferr)
- USE, INTRINSIC :: ISO_C_BINDING
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
- INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
- ! identifier (in memory)
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- CHARACTER(LEN=*), INTENT(INOUT) :: buf ! Attribute data
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-
- CALL h5aread_char_scalar_fix(attr_id, memtype_id, buf, LEN(buf), hdferr)
-
- END SUBROUTINE h5aread_char_scalar
-
- SUBROUTINE h5aread_char_scalar_fix(attr_id, memtype_id, buf, buf_len, hdferr)
- USE, INTRINSIC :: ISO_C_BINDING
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
- INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
- ! identifier (in memory)
- INTEGER, INTENT(IN) :: buf_len
- CHARACTER(LEN=buf_len), INTENT(INOUT), TARGET :: buf ! Attribute data
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- TYPE(C_PTR) :: f_ptr
-
- f_ptr = C_LOC(buf(1:1))
-
- hdferr = h5aread_f_c(attr_id, memtype_id, f_ptr)
-
- END SUBROUTINE h5aread_char_scalar_fix
-
- SUBROUTINE h5aread_char_1(attr_id, memtype_id, buf, dims, hdferr)
- USE, INTRINSIC :: ISO_C_BINDING
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
- INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
- ! identifier (in memory)
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- CHARACTER(LEN=*), INTENT(INOUT), &
- DIMENSION(dims(1)), TARGET :: buf ! Attribute data
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- TYPE(C_PTR) :: f_ptr
-
- f_ptr = C_LOC(buf(1)(1:1))
- hdferr = h5aread_f_c(attr_id, memtype_id, f_ptr)
-
- END SUBROUTINE h5aread_char_1
-
-
- SUBROUTINE h5aread_char_2(attr_id, memtype_id, buf, dims, hdferr)
- USE, INTRINSIC :: ISO_C_BINDING
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
- INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
- ! identifier (in memory)
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- CHARACTER(LEN=*), INTENT(INOUT), &
- DIMENSION(dims(1),dims(2)), TARGET :: buf ! Attribute data
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- TYPE(C_PTR) :: f_ptr
-
- f_ptr = C_LOC(buf(1,1)(1:1))
- hdferr = h5aread_f_c(attr_id, memtype_id, f_ptr)
-
- END SUBROUTINE h5aread_char_2
-
-
- SUBROUTINE h5aread_char_3(attr_id, memtype_id, buf, dims, hdferr)
- USE, INTRINSIC :: ISO_C_BINDING
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
- INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
- ! identifier (in memory)
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- CHARACTER(LEN=*), INTENT(INOUT), &
- DIMENSION(dims(1),dims(2),dims(3)), TARGET :: buf ! Attribute data
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- TYPE(C_PTR) :: f_ptr
-
- f_ptr = C_LOC(buf(1,1,1)(1:1))
- hdferr = h5aread_f_c(attr_id, memtype_id, f_ptr)
-
- END SUBROUTINE h5aread_char_3
-
- SUBROUTINE h5aread_char_4(attr_id, memtype_id, buf, dims, hdferr)
- USE, INTRINSIC :: ISO_C_BINDING
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
- INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
- ! identifier (in memory)
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- CHARACTER(LEN=*), INTENT(INOUT), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4)), TARGET :: buf ! Attribute data
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- TYPE(C_PTR) :: f_ptr
-
- f_ptr = C_LOC(buf(1,1,1,1)(1:1))
-
- hdferr = h5aread_f_c(attr_id, memtype_id, f_ptr)
-
- END SUBROUTINE h5aread_char_4
-
- SUBROUTINE h5aread_char_5(attr_id, memtype_id, buf, dims, hdferr)
- USE, INTRINSIC :: ISO_C_BINDING
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
- INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
- ! identifier (in memory)
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- CHARACTER(LEN=*), INTENT(INOUT), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)), TARGET :: buf ! Attribute data
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- TYPE(C_PTR) :: f_ptr
-
- f_ptr = C_LOC(buf(1,1,1,1,1)(1:1))
- hdferr = h5aread_f_c(attr_id, memtype_id, f_ptr)
-
- END SUBROUTINE h5aread_char_5
-
-
- SUBROUTINE h5aread_char_6(attr_id, memtype_id, buf, dims, hdferr)
- USE, INTRINSIC :: ISO_C_BINDING
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
- INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
- ! identifier (in memory)
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- CHARACTER(LEN=*), INTENT(INOUT), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)), TARGET :: buf ! Attribute data
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- TYPE(C_PTR) :: f_ptr
-
- f_ptr = C_LOC(buf(1,1,1,1,1,1)(1:1))
- hdferr = h5aread_f_c(attr_id, memtype_id, f_ptr)
-
- END SUBROUTINE h5aread_char_6
-
-
- SUBROUTINE h5aread_char_7(attr_id, memtype_id, buf, dims, hdferr)
- USE, INTRINSIC :: ISO_C_BINDING
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
- INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
- ! identifier (in memory)
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- CHARACTER(LEN=*), INTENT(INOUT), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)), TARGET :: buf ! Attribute data
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- TYPE(C_PTR) :: f_ptr
-
- f_ptr = C_LOC(buf(1,1,1,1,1,1,1)(1:1))
- hdferr = h5aread_f_c(attr_id, memtype_id, f_ptr)
-
- END SUBROUTINE h5aread_char_7
-
-
-!****s* H5A (F03)/h5aread_f_F03
-!
-! NAME
-! h5aread_f_F03
-!
-! PURPOSE
-! Reads an attribute.
-!
-! Inputs:
-! attr_id - Attribute identifier
-! memtype_id - Attribute datatype identifier (in memory)
-!
-! Outputs:
-! buf - Data buffer; may be a scalar or an array
-! hdferr - Returns 0 if successful and -1 if fails
-!
-! AUTHOR
-! Elena Pourmal
-! August 12, 1999
-!
-! HISTORY
-! Explicit Fortran interfaces are added for
-! called C functions (it is needed for Windows
-! port). February 27, 2001
-!
-! dims parameter was added to make code portable;
-! Aprile 4, 2001
-!
-! Changed buf intent to INOUT to be consistant
-! with how the C functions handles it. The pg
-! compiler will return 0 if a buf value is not set.
-! February, 2008
-!
-! NOTES
-! This function is overloaded to write INTEGER,
-! REAL, DOUBLE PRECISION and CHARACTER buffers
-! up to 7 dimensions.
-! Fortran2003 Interface:
-!! SUBROUTINE h5aread_f(attr_id, memtype_id, buf, hdferr)
-!! INTEGER(HID_T) , INTENT(IN) :: attr_id
-!! INTEGER(HID_T) , INTENT(IN) :: memtype_id
-!! TYPE(C_PTR) , INTENT(INOUT) :: buf
-!! INTEGER , INTENT(OUT) :: hdferr
-!*****
-
- SUBROUTINE h5aread_ptr(attr_id, mem_type_id, buf, hdferr)
- USE, INTRINSIC :: ISO_C_BINDING
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
- INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
- TYPE(C_PTR), INTENT(INOUT), TARGET :: buf
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-
- hdferr = h5aread_f_c(attr_id, mem_type_id, buf)
-
- END SUBROUTINE h5aread_ptr
-
-END MODULE H5A_PROVISIONAL
-
-
diff --git a/fortran/src/H5Aff_F90.f90 b/fortran/src/H5Aff_F90.f90
deleted file mode 100644
index 974b023..0000000
--- a/fortran/src/H5Aff_F90.f90
+++ /dev/null
@@ -1,1618 +0,0 @@
-!****h* ROBODoc/H5A (F90)
-!
-! NAME
-! H5A_PROVISIONAL
-!
-! FILE
-! fortran/src/H5Aff_F90.f90
-!
-! PURPOSE
-!
-! This file contains Fortran 90 interfaces for H5A functions. It contains
-! the same functions as H5Aff_F03.f90 but excludes the Fortran 2003 functions
-! and the interface listings. This file will be compiled instead of H5Aff_F03.f90
-! if Fortran 2003 functions are not enabled.
-!
-!
-! COPYRIGHT
-! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
-! Copyright by The HDF Group. *
-! Copyright by the Board of Trustees of the University of Illinois. *
-! All rights reserved. *
-! *
-! This file is part of HDF5. The full HDF5 copyright notice, including *
-! terms governing use, modification, and redistribution, is contained in *
-! the files COPYING and Copyright.html. COPYING can be found at the root *
-! of the source code distribution tree; Copyright.html can be found at the *
-! root level of an installed copy of the electronic HDF5 document set and *
-! is linked from the top-level documents page. It can also be found at *
-! http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have *
-! access to either file, you may request a copy from help@hdfgroup.org. *
-! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
-!
-! NOTES
-! *** IMPORTANT ***
-! If you add a new H5A function you must add the function name to the
-! Windows dll file 'hdf5_fortrandll.def.in' in the fortran/src directory.
-! This is needed for Windows based operating systems.
-!
-!*****
-
-MODULE H5A_PROVISIONAL
-
- USE H5GLOBAL
- !
- !On Windows there are no big (integer*8) integers, so overloading
- !for bug #670 does not work. I have to use DEC compilation directives to make
- !Windows DEC Visual Fortran and OSF compilers happy and do right things.
- ! 05/01/02 EP
- !
- INTERFACE h5awrite_f
-
- MODULE PROCEDURE h5awrite_integer_scalar
- MODULE PROCEDURE h5awrite_integer_1
- MODULE PROCEDURE h5awrite_integer_2
- MODULE PROCEDURE h5awrite_integer_3
- MODULE PROCEDURE h5awrite_integer_4
- MODULE PROCEDURE h5awrite_integer_5
- MODULE PROCEDURE h5awrite_integer_6
- MODULE PROCEDURE h5awrite_integer_7
- MODULE PROCEDURE h5awrite_char_scalar
- MODULE PROCEDURE h5awrite_char_1
- MODULE PROCEDURE h5awrite_char_2
- MODULE PROCEDURE h5awrite_char_3
- MODULE PROCEDURE h5awrite_char_4
- MODULE PROCEDURE h5awrite_char_5
- MODULE PROCEDURE h5awrite_char_6
- MODULE PROCEDURE h5awrite_char_7
- MODULE PROCEDURE h5awrite_real_scalar
- MODULE PROCEDURE h5awrite_real_1
- MODULE PROCEDURE h5awrite_real_2
- MODULE PROCEDURE h5awrite_real_3
- MODULE PROCEDURE h5awrite_real_4
- MODULE PROCEDURE h5awrite_real_5
- MODULE PROCEDURE h5awrite_real_6
- MODULE PROCEDURE h5awrite_real_7
-
- END INTERFACE
-
- INTERFACE h5aread_f
-
- MODULE PROCEDURE h5aread_integer_scalar
- MODULE PROCEDURE h5aread_integer_1
- MODULE PROCEDURE h5aread_integer_2
- MODULE PROCEDURE h5aread_integer_3
- MODULE PROCEDURE h5aread_integer_4
- MODULE PROCEDURE h5aread_integer_5
- MODULE PROCEDURE h5aread_integer_6
- MODULE PROCEDURE h5aread_integer_7
- MODULE PROCEDURE h5aread_char_scalar
- MODULE PROCEDURE h5aread_char_1
- MODULE PROCEDURE h5aread_char_2
- MODULE PROCEDURE h5aread_char_3
- MODULE PROCEDURE h5aread_char_4
- MODULE PROCEDURE h5aread_char_5
- MODULE PROCEDURE h5aread_char_6
- MODULE PROCEDURE h5aread_char_7
- MODULE PROCEDURE h5aread_real_scalar
- MODULE PROCEDURE h5aread_real_1
- MODULE PROCEDURE h5aread_real_2
- MODULE PROCEDURE h5aread_real_3
- MODULE PROCEDURE h5aread_real_4
- MODULE PROCEDURE h5aread_real_5
- MODULE PROCEDURE h5aread_real_6
- MODULE PROCEDURE h5aread_real_7
- END INTERFACE
-
-CONTAINS
-
- SUBROUTINE h5awrite_integer_scalar(attr_id, memtype_id, buf, dims, hdferr)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
- INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
- ! identifier (in memory)
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- INTEGER, INTENT(IN) :: buf ! Attribute data
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-
- INTERFACE
- INTEGER FUNCTION h5awrite_integer_s_c(attr_id, memtype_id, buf, dims)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5AWRITE_INTEGER_S_C'::h5awrite_integer_s_c
- !DEC$ENDIF
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- INTEGER(HID_T), INTENT(IN) :: attr_id
- INTEGER(HID_T), INTENT(IN) :: memtype_id
- INTEGER, INTENT(IN)::buf
- END FUNCTION h5awrite_integer_s_c
- END INTERFACE
-
- hdferr = h5awrite_integer_s_c(attr_id, memtype_id, buf, dims)
- END SUBROUTINE h5awrite_integer_scalar
-
- SUBROUTINE h5awrite_integer_1(attr_id, memtype_id, buf, dims, hdferr)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
- INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
- ! identifier (in memory)
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- INTEGER, INTENT(IN) , &
- DIMENSION(dims(1)) :: buf ! Attribute data
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- ! INTEGER, EXTERNAL :: h5awrite_integer_1_c
- ! MS FORTRAN needs explicit interface for C functions called here.
- !
- INTERFACE
- INTEGER FUNCTION h5awrite_integer_1_c(attr_id, memtype_id, buf, dims)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5AWRITE_INTEGER_1_C'::h5awrite_integer_1_c
- !DEC$ENDIF
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- INTEGER(HID_T), INTENT(IN) :: attr_id
- INTEGER(HID_T), INTENT(IN) :: memtype_id
- INTEGER, INTENT(IN), DIMENSION(dims(1)) :: buf
- END FUNCTION h5awrite_integer_1_c
- END INTERFACE
-
- hdferr = h5awrite_integer_1_c(attr_id, memtype_id, buf, dims)
-
- END SUBROUTINE h5awrite_integer_1
-
-
- SUBROUTINE h5awrite_integer_2(attr_id, memtype_id, buf, dims, hdferr)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
- INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
- ! identifier (in memory)
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- INTEGER, INTENT(IN) , &
- DIMENSION(dims(1),dims(2)) :: buf ! Attribute data
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-
- ! INTEGER, EXTERNAL :: h5awrite_integer_2_c
- ! MS FORTRAN needs explicit interface for C functions called here.
- !
- INTERFACE
- INTEGER FUNCTION h5awrite_integer_2_c(attr_id, memtype_id, buf, dims)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5AWRITE_INTEGER_2_C'::h5awrite_integer_2_c
- !DEC$ENDIF
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- INTEGER(HID_T), INTENT(IN) :: attr_id
- INTEGER(HID_T), INTENT(IN) :: memtype_id
- INTEGER, INTENT(IN), DIMENSION(dims(1),dims(2)) :: buf
- END FUNCTION h5awrite_integer_2_c
- END INTERFACE
-
- hdferr = h5awrite_integer_2_c(attr_id, memtype_id, buf, dims)
- END SUBROUTINE h5awrite_integer_2
-
-
- SUBROUTINE h5awrite_integer_3(attr_id, memtype_id, buf, dims, hdferr)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
- INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
- ! identifier (in memory)
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- INTEGER, INTENT(IN), DIMENSION(dims(1),dims(2),dims(3)) :: buf ! Attribute data
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-
- ! INTEGER, EXTERNAL :: h5awrite_integer_3_c
- ! MS FORTRAN needs explicit interface for C functions called here.
- !
- INTERFACE
- INTEGER FUNCTION h5awrite_integer_3_c(attr_id, memtype_id, buf, dims)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5AWRITE_INTEGER_3_C'::h5awrite_integer_3_c
- !DEC$ENDIF
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- INTEGER(HID_T), INTENT(IN) :: attr_id
- INTEGER(HID_T), INTENT(IN) :: memtype_id
- INTEGER, INTENT(IN), DIMENSION(dims(1),dims(2),dims(3)) :: buf
- END FUNCTION h5awrite_integer_3_c
- END INTERFACE
-
- hdferr = h5awrite_integer_3_c(attr_id, memtype_id, buf, dims)
- END SUBROUTINE h5awrite_integer_3
-
-
- SUBROUTINE h5awrite_integer_4(attr_id, memtype_id, buf, dims, hdferr)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
- INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
- ! identifier (in memory)
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- INTEGER, INTENT(IN), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4)) :: buf ! Attribute data
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-
- ! INTEGER, EXTERNAL :: h5awrite_integer_4_c
- ! MS FORTRAN needs explicit interface for C functions called here.
- !
- INTERFACE
- INTEGER FUNCTION h5awrite_integer_4_c(attr_id, memtype_id, buf, dims)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5AWRITE_INTEGER_4_C'::h5awrite_integer_4_c
- !DEC$ENDIF
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- INTEGER(HID_T), INTENT(IN) :: attr_id
- INTEGER(HID_T), INTENT(IN) :: memtype_id
- INTEGER, INTENT(IN), DIMENSION(dims(1),dims(2),dims(3),dims(4)) :: buf
- END FUNCTION h5awrite_integer_4_c
- END INTERFACE
-
- hdferr = h5awrite_integer_4_c(attr_id, memtype_id, buf, dims)
- END SUBROUTINE h5awrite_integer_4
-
-
- SUBROUTINE h5awrite_integer_5(attr_id, memtype_id, buf, dims, hdferr)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
- INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
- ! identifier (in memory)
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- INTEGER, INTENT(IN), DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)) :: buf ! Attribute data
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-
- ! INTEGER, EXTERNAL :: h5awrite_integer_5_c
- ! MS FORTRAN needs explicit interface for C functions called here.
- !
- INTERFACE
- INTEGER FUNCTION h5awrite_integer_5_c(attr_id, memtype_id, buf, dims)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5AWRITE_INTEGER_5_C'::h5awrite_integer_5_c
- !DEC$ENDIF
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- INTEGER(HID_T), INTENT(IN) :: attr_id
- INTEGER(HID_T), INTENT(IN) :: memtype_id
- INTEGER, INTENT(IN), DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)) :: buf
- END FUNCTION h5awrite_integer_5_c
- END INTERFACE
-
- hdferr = h5awrite_integer_5_c(attr_id, memtype_id, buf, dims)
- END SUBROUTINE h5awrite_integer_5
-
-
- SUBROUTINE h5awrite_integer_6(attr_id, memtype_id, buf, dims, hdferr)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
- INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
- ! identifier (in memory)
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- INTEGER, INTENT(IN), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)) :: buf ! Attribute data
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-
- ! INTEGER, EXTERNAL :: h5awrite_integer_6_c
- ! MS FORTRAN needs explicit interface for C functions called here.
- !
- INTERFACE
- INTEGER FUNCTION h5awrite_integer_6_c(attr_id, memtype_id, buf, dims)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5AWRITE_INTEGER_6_C'::h5awrite_integer_6_c
- !DEC$ENDIF
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- INTEGER(HID_T), INTENT(IN) :: attr_id
- INTEGER(HID_T), INTENT(IN) :: memtype_id
- INTEGER, INTENT(IN), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)) :: buf
- END FUNCTION h5awrite_integer_6_c
- END INTERFACE
-
- hdferr = h5awrite_integer_6_c(attr_id, memtype_id, buf, dims)
- END SUBROUTINE h5awrite_integer_6
-
-
- SUBROUTINE h5awrite_integer_7(attr_id, memtype_id, buf, dims, hdferr)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
- INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
- ! identifier (in memory)
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- INTEGER, INTENT(IN), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)) :: buf ! Attribute data
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-
- ! INTEGER, EXTERNAL :: h5awrite_integer_7_c
- ! MS FORTRAN needs explicit interface for C functions called here.
- !
- INTERFACE
- INTEGER FUNCTION h5awrite_integer_7_c(attr_id, memtype_id, buf, dims)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5AWRITE_INTEGER_7_C'::h5awrite_integer_7_c
- !DEC$ENDIF
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- INTEGER(HID_T), INTENT(IN) :: attr_id
- INTEGER(HID_T), INTENT(IN) :: memtype_id
- INTEGER, INTENT(IN), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)) :: buf
- END FUNCTION h5awrite_integer_7_c
- END INTERFACE
-
- hdferr = h5awrite_integer_7_c(attr_id, memtype_id, buf, dims)
- END SUBROUTINE h5awrite_integer_7
-
-
- SUBROUTINE h5awrite_real_scalar(attr_id, memtype_id, buf, dims, hdferr)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
- INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
- ! identifier (in memory)
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- REAL, INTENT(IN) :: buf ! Attribute data
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-
- ! INTEGER, EXTERNAL :: h5awrite_real_s_c
- ! MS FORTRAN needs explicit interface for C functions called here.
- !
- INTERFACE
- INTEGER FUNCTION h5awrite_real_s_c(attr_id, memtype_id, buf, dims)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5AWRITE_REAL_S_C'::h5awrite_real_s_c
- !DEC$ENDIF
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- INTEGER(HID_T), INTENT(IN) :: attr_id
- INTEGER(HID_T), INTENT(IN) :: memtype_id
- REAL, INTENT(IN)::buf
- END FUNCTION h5awrite_real_s_c
- END INTERFACE
-
- hdferr = h5awrite_real_s_c(attr_id, memtype_id, buf, dims)
- END SUBROUTINE h5awrite_real_scalar
-
- SUBROUTINE h5awrite_real_1(attr_id, memtype_id, buf, dims, hdferr)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
- INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
- ! identifier (in memory)
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- REAL, INTENT(IN), &
- DIMENSION(dims(1)) :: buf ! Attribute data
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-
- ! INTEGER, EXTERNAL :: h5awrite_real_1_c
- ! MS FORTRAN needs explicit interface for C functions called here.
- !
- INTERFACE
- INTEGER FUNCTION h5awrite_real_1_c(attr_id, memtype_id, buf, dims)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5AWRITE_REAL_1_C'::h5awrite_real_1_c
- !DEC$ENDIF
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- INTEGER(HID_T), INTENT(IN) :: attr_id
- INTEGER(HID_T), INTENT(IN) :: memtype_id
- REAL, INTENT(IN), &
- DIMENSION(dims(1)) :: buf
- END FUNCTION h5awrite_real_1_c
- END INTERFACE
-
- hdferr = h5awrite_real_1_c(attr_id, memtype_id, buf, dims)
- END SUBROUTINE h5awrite_real_1
-
-
- SUBROUTINE h5awrite_real_2(attr_id, memtype_id, buf, dims, hdferr)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
- INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
- ! identifier (in memory)
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- REAL, INTENT(IN), &
- DIMENSION(dims(1),dims(2)) :: buf ! Attribute data
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-
- ! INTEGER, EXTERNAL :: h5awrite_real_2_c
- ! MS FORTRAN needs explicit interface for C functions called here.
- !
- INTERFACE
- INTEGER FUNCTION h5awrite_real_2_c(attr_id, memtype_id, buf, dims)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5AWRITE_REAL_2_C'::h5awrite_real_2_c
- !DEC$ENDIF
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- INTEGER(HID_T), INTENT(IN) :: attr_id
- INTEGER(HID_T), INTENT(IN) :: memtype_id
- REAL, INTENT(IN), &
- DIMENSION(dims(1),dims(2)) :: buf
- END FUNCTION h5awrite_real_2_c
- END INTERFACE
-
- hdferr = h5awrite_real_2_c(attr_id, memtype_id, buf, dims)
- END SUBROUTINE h5awrite_real_2
-
-
- SUBROUTINE h5awrite_real_3(attr_id, memtype_id, buf, dims, hdferr)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
- INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
- ! identifier (in memory)
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- REAL, INTENT(IN), &
- DIMENSION(dims(1),dims(2),dims(3)) :: buf ! Attribute data
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-
- ! INTEGER, EXTERNAL :: h5awrite_real_3_c
- ! MS FORTRAN needs explicit interface for C functions called here.
- !
- INTERFACE
- INTEGER FUNCTION h5awrite_real_3_c(attr_id, memtype_id, buf, dims)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5AWRITE_REAL_3_C'::h5awrite_real_3_c
- !DEC$ENDIF
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- INTEGER(HID_T), INTENT(IN) :: attr_id
- INTEGER(HID_T), INTENT(IN) :: memtype_id
- REAL, INTENT(IN), &
- DIMENSION(dims(1),dims(2),dims(3)) :: buf
- END FUNCTION h5awrite_real_3_c
- END INTERFACE
-
- hdferr = h5awrite_real_3_c(attr_id, memtype_id, buf, dims)
- END SUBROUTINE h5awrite_real_3
-
-
- SUBROUTINE h5awrite_real_4(attr_id, memtype_id, buf, dims, hdferr)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
- INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
- ! identifier (in memory)
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- REAL, INTENT(IN), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4)) :: buf ! Attribute data
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-
- ! INTEGER, EXTERNAL :: h5awrite_real_4_c
- ! MS FORTRAN needs explicit interface for C functions called here.
- !
- INTERFACE
- INTEGER FUNCTION h5awrite_real_4_c(attr_id, memtype_id, buf, dims)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5AWRITE_REAL_4_C'::h5awrite_real_4_c
- !DEC$ENDIF
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- INTEGER(HID_T), INTENT(IN) :: attr_id
- INTEGER(HID_T), INTENT(IN) :: memtype_id
- REAL, INTENT(IN), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4)) :: buf
- END FUNCTION h5awrite_real_4_c
- END INTERFACE
-
- hdferr = h5awrite_real_4_c(attr_id, memtype_id, buf, dims)
- END SUBROUTINE h5awrite_real_4
-
-
- SUBROUTINE h5awrite_real_5(attr_id, memtype_id, buf, dims, hdferr)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
- INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
- ! identifier (in memory)
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- REAL, INTENT(IN), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)) :: buf ! Attribute data
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-
- ! INTEGER, EXTERNAL :: h5awrite_real_5_c
- ! MS FORTRAN needs explicit interface for C functions called here.
- !
- INTERFACE
- INTEGER FUNCTION h5awrite_real_5_c(attr_id, memtype_id, buf, dims)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5AWRITE_REAL_5_C'::h5awrite_real_5_c
- !DEC$ENDIF
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- INTEGER(HID_T), INTENT(IN) :: attr_id
- INTEGER(HID_T), INTENT(IN) :: memtype_id
- REAL, INTENT(IN), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)) :: buf
- END FUNCTION h5awrite_real_5_c
- END INTERFACE
-
- hdferr = h5awrite_real_5_c(attr_id, memtype_id, buf, dims)
- END SUBROUTINE h5awrite_real_5
-
-
- SUBROUTINE h5awrite_real_6(attr_id, memtype_id, buf, dims, hdferr)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
- INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
- ! identifier (in memory)
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- REAL, INTENT(IN), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)) :: buf ! Attribute data
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-
- ! INTEGER, EXTERNAL :: h5awrite_real_6_c
- ! MS FORTRAN needs explicit interface for C functions called here.
- !
- INTERFACE
- INTEGER FUNCTION h5awrite_real_6_c(attr_id, memtype_id, buf, dims)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5AWRITE_REAL_6_C'::h5awrite_real_6_c
- !DEC$ENDIF
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- INTEGER(HID_T), INTENT(IN) :: attr_id
- INTEGER(HID_T), INTENT(IN) :: memtype_id
- REAL, INTENT(IN), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)) :: buf
- END FUNCTION h5awrite_real_6_c
- END INTERFACE
-
- hdferr = h5awrite_real_6_c(attr_id, memtype_id, buf, dims)
- END SUBROUTINE h5awrite_real_6
-
-
- SUBROUTINE h5awrite_real_7(attr_id, memtype_id, buf, dims, hdferr)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
- INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
- ! identifier (in memory)
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- REAL, INTENT(IN), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)) :: buf ! Attribute data
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-
- ! INTEGER, EXTERNAL :: h5awrite_real_7_c
- ! MS FORTRAN needs explicit interface for C functions called here.
- !
- INTERFACE
- INTEGER FUNCTION h5awrite_real_7_c(attr_id, memtype_id, buf, dims)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5AWRITE_REAL_7_C'::h5awrite_real_7_c
- !DEC$ENDIF
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- INTEGER(HID_T), INTENT(IN) :: attr_id
- INTEGER(HID_T), INTENT(IN) :: memtype_id
- REAL, INTENT(IN), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)) :: buf
- END FUNCTION h5awrite_real_7_c
- END INTERFACE
-
- hdferr = h5awrite_real_7_c(attr_id, memtype_id, buf, dims)
- END SUBROUTINE h5awrite_real_7
-
- SUBROUTINE h5awrite_char_scalar(attr_id, memtype_id, buf, dims, hdferr)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
- INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
- ! identifier (in memory)
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- CHARACTER(LEN=*),INTENT(IN) :: buf
- ! Attribute data
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- ! INTEGER, EXTERNAL :: h5awritec_s_c
- ! MS FORTRAN needs explicit interface for C functions called here.
- !
- INTERFACE
- INTEGER FUNCTION h5awritec_s_c(attr_id, memtype_id, buf, dims)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5AWRITEC_S_C'::h5awritec_s_c
- !DEC$ENDIF
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- !DEC$ATTRIBUTES reference :: buf
- INTEGER(HID_T), INTENT(IN) :: attr_id
- INTEGER(HID_T), INTENT(IN) :: memtype_id
- CHARACTER(LEN=*), INTENT(IN)::buf
- END FUNCTION h5awritec_s_c
- END INTERFACE
-
- hdferr = h5awritec_s_c(attr_id, memtype_id, buf, dims)
- END SUBROUTINE h5awrite_char_scalar
-
- SUBROUTINE h5awrite_char_1(attr_id, memtype_id, buf, dims, hdferr)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
- INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
- ! identifier (in memory)
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- CHARACTER(LEN=*), INTENT(IN), &
- DIMENSION(dims(1)) :: buf ! Attribute data
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- ! INTEGER, EXTERNAL :: h5awritec_1_c
- ! MS FORTRAN needs explicit interface for C functions called here.
- !
- INTERFACE
- INTEGER FUNCTION h5awritec_1_c(attr_id, memtype_id, buf, dims)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5AWRITEC_1_C'::h5awritec_1_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: buf
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- INTEGER(HID_T), INTENT(IN) :: attr_id
- INTEGER(HID_T), INTENT(IN) :: memtype_id
- CHARACTER(LEN=*), INTENT(IN), DIMENSION(dims(1))::buf
- END FUNCTION h5awritec_1_c
- END INTERFACE
-
- hdferr = h5awritec_1_c(attr_id, memtype_id, buf, dims)
- END SUBROUTINE h5awrite_char_1
-
-
- SUBROUTINE h5awrite_char_2(attr_id, memtype_id, buf, dims, hdferr)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
- INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
- ! identifier (in memory)
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- CHARACTER(LEN=*), INTENT(IN), &
- DIMENSION(dims(1),dims(2)) :: buf ! Attribute data
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-
- ! INTEGER, EXTERNAL :: h5awritec_2_c
- ! MS FORTRAN needs explicit interface for C functions called here.
- !
- INTERFACE
- INTEGER FUNCTION h5awritec_2_c(attr_id, memtype_id, buf, dims)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5AWRITEC_2_C'::h5awritec_2_c
- !DEC$ENDIF
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- !DEC$ATTRIBUTES reference :: buf
- INTEGER(HID_T), INTENT(IN) :: attr_id
- INTEGER(HID_T), INTENT(IN) :: memtype_id
- CHARACTER(LEN=*), INTENT(IN), &
- DIMENSION(dims(1),dims(2)) :: buf
- END FUNCTION h5awritec_2_c
- END INTERFACE
-
- hdferr = h5awritec_2_c(attr_id, memtype_id, buf, dims)
- END SUBROUTINE h5awrite_char_2
-
-
- SUBROUTINE h5awrite_char_3(attr_id, memtype_id, buf, dims, hdferr)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
- INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
- ! identifier (in memory)
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- CHARACTER(LEN=*), INTENT(IN), &
- DIMENSION(dims(1),dims(2),dims(3)) :: buf ! Attribute data
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- ! INTEGER, EXTERNAL :: h5awritec_3_c
- ! MS FORTRAN needs explicit interface for C functions called here.
- !
- INTERFACE
- INTEGER FUNCTION h5awritec_3_c(attr_id, memtype_id, buf, dims)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5AWRITEC_3_C'::h5awritec_3_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: buf
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- INTEGER(HID_T), INTENT(IN) :: attr_id
- INTEGER(HID_T), INTENT(IN) :: memtype_id
- CHARACTER(LEN=*), INTENT(IN), &
- DIMENSION(dims(1),dims(2),dims(3)) :: buf
- END FUNCTION h5awritec_3_c
- END INTERFACE
-
- hdferr = h5awritec_3_c(attr_id, memtype_id, buf, dims)
- END SUBROUTINE h5awrite_char_3
-
-
- SUBROUTINE h5awrite_char_4(attr_id, memtype_id, buf, dims, hdferr)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
- INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
- ! identifier (in memory)
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- CHARACTER(LEN=*), INTENT(IN), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4)) :: buf ! Attribute data
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- ! INTEGER, EXTERNAL :: h5awritec_4_c
- ! MS FORTRAN needs explicit interface for C functions called here.
- !
- INTERFACE
- INTEGER FUNCTION h5awritec_4_c(attr_id, memtype_id, buf, dims)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5AWRITEC_4_C'::h5awritec_4_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: buf
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- INTEGER(HID_T), INTENT(IN) :: attr_id
- INTEGER(HID_T), INTENT(IN) :: memtype_id
- CHARACTER(LEN=*), INTENT(IN), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4)) :: buf
- END FUNCTION h5awritec_4_c
- END INTERFACE
-
- hdferr = h5awritec_4_c(attr_id, memtype_id, buf, dims)
- END SUBROUTINE h5awrite_char_4
-
-
- SUBROUTINE h5awrite_char_5(attr_id, memtype_id, buf, dims, hdferr)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
- INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
- ! identifier (in memory)
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- CHARACTER(LEN=*), INTENT(IN), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)) :: buf ! Attribute data
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- ! INTEGER, EXTERNAL :: h5awritec_5_c
- ! MS FORTRAN needs explicit interface for C functions called here.
- !
- INTERFACE
- INTEGER FUNCTION h5awritec_5_c(attr_id, memtype_id, buf, dims)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5AWRITEC_5_C'::h5awritec_5_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: buf
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- INTEGER(HID_T), INTENT(IN) :: attr_id
- INTEGER(HID_T), INTENT(IN) :: memtype_id
- CHARACTER(LEN=*), INTENT(IN), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)) :: buf
- END FUNCTION h5awritec_5_c
- END INTERFACE
-
- hdferr = h5awritec_5_c(attr_id, memtype_id, buf, dims)
- END SUBROUTINE h5awrite_char_5
-
-
- SUBROUTINE h5awrite_char_6(attr_id, memtype_id, buf, dims, hdferr)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
- INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
- ! identifier (in memory)
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- CHARACTER(LEN=*), INTENT(IN), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)) :: buf ! Attribute data
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- ! INTEGER, EXTERNAL :: h5awritec_6_c
- ! MS FORTRAN needs explicit interface for C functions called here.
- !
- INTERFACE
- INTEGER FUNCTION h5awritec_6_c(attr_id, memtype_id, buf, dims)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5AWRITEC_6_C'::h5awritec_6_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: buf
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- INTEGER(HID_T), INTENT(IN) :: attr_id
- INTEGER(HID_T), INTENT(IN) :: memtype_id
- CHARACTER(LEN=*), INTENT(IN), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)) :: buf
- END FUNCTION h5awritec_6_c
- END INTERFACE
-
- hdferr = h5awritec_6_c(attr_id, memtype_id, buf, dims)
- END SUBROUTINE h5awrite_char_6
-
-
- SUBROUTINE h5awrite_char_7(attr_id, memtype_id, buf, dims, hdferr)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
- INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
- ! identifier (in memory)
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- CHARACTER(LEN=*), INTENT(IN), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)) :: buf ! Attribute data
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- ! INTEGER, EXTERNAL :: h5awritec_7_c
- ! MS FORTRAN needs explicit interface for C functions called here.
- !
- INTERFACE
- INTEGER FUNCTION h5awritec_7_c(attr_id, memtype_id, buf, dims)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5AWRITEC_7_C'::h5awritec_7_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: buf
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- INTEGER(HID_T), INTENT(IN) :: attr_id
- INTEGER(HID_T), INTENT(IN) :: memtype_id
- CHARACTER(LEN=*), INTENT(IN), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)) :: buf
- END FUNCTION h5awritec_7_c
- END INTERFACE
-
- hdferr = h5awritec_7_c(attr_id, memtype_id, buf, dims)
- END SUBROUTINE h5awrite_char_7
-
-!
-! NAME
-! h5aread_f
-!
-! PURPOSE
-! Reads an attribute.
-!
-! INPUTS
-! attr_id - attribute identifier
-! memtype_id - attribute memory type identifier
-! dims - 1D array of size 7, stores sizes of the
-! - buf array dimensions.
-! OUTPUTS
-! buf - buffer to read attribute data in
-! hdferr: - error code
-! Success: 0
-! Failure: -1
-! OPTIONAL PARAMETERS
-! NONE
-!
-! AUTHOR
-! Elena Pourmal
-! August 12, 1999
-!
-! HISTORY
-!
-! Explicit Fortran interfaces are added for
-! called C functions (it is needed for Windows
-! port). February 27, 2001
-!
-! dims parameter was added to make code portable;
-! April 4, 2001
-!
-! Changed buf intent to INOUT to be consistant
-! with how the C functions handles it. The pg
-! compiler will return 0 if a buf value is not set.
-! February, 2008
-!
-! NOTES
-! This function is overloaded to write INTEGER,
-! REAL, DOUBLE PRECISION and CHARACTER buffers
-! up to 7 dimensions.
-!
-
- SUBROUTINE h5aread_integer_scalar(attr_id, memtype_id, buf, dims, hdferr)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
- INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
- ! identifier (in memory)
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- INTEGER, INTENT(INOUT) :: buf ! Attribute data
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-
- ! INTEGER, EXTERNAL :: h5aread_integer_s_c
- ! MS FORTRAN needs explicit interface for C functions called here.
- !
- INTERFACE
- INTEGER FUNCTION h5aread_integer_s_c(attr_id, memtype_id, buf, dims)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5AREAD_INTEGER_S_C'::h5aread_integer_s_c
- !DEC$ENDIF
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- INTEGER(HID_T), INTENT(IN) :: attr_id
- INTEGER(HID_T), INTENT(IN) :: memtype_id
- INTEGER, INTENT(INOUT)::buf
- END FUNCTION h5aread_integer_s_c
- END INTERFACE
- hdferr = h5aread_integer_s_c(attr_id, memtype_id, buf, dims)
- END SUBROUTINE h5aread_integer_scalar
-
- SUBROUTINE h5aread_integer_1(attr_id, memtype_id, buf, dims, hdferr)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
- INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
- ! identifier (in memory)
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- INTEGER, INTENT(INOUT), DIMENSION(dims(1)) :: buf ! Attribute data
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-
- ! INTEGER, EXTERNAL :: h5aread_integer_1_c
- ! MS FORTRAN needs explicit interface for C functions called here.
- !
- INTERFACE
- INTEGER FUNCTION h5aread_integer_1_c(attr_id, memtype_id, buf, dims)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5AREAD_INTEGER_1_C'::h5aread_integer_1_c
- !DEC$ENDIF
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- INTEGER(HID_T), INTENT(IN) :: attr_id
- INTEGER(HID_T), INTENT(IN) :: memtype_id
- INTEGER, INTENT(INOUT), DIMENSION(dims(1)) :: buf
- END FUNCTION h5aread_integer_1_c
- END INTERFACE
-
- hdferr = h5aread_integer_1_c(attr_id, memtype_id, buf, dims)
- END SUBROUTINE h5aread_integer_1
-
-
- SUBROUTINE h5aread_integer_2(attr_id, memtype_id, buf, dims, hdferr)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
- INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
- ! identifier (in memory)
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- INTEGER, INTENT(INOUT),DIMENSION(dims(1),dims(2)) :: buf ! Attribute data
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-
- ! INTEGER, EXTERNAL :: h5aread_integer_2_c
- ! MS FORTRAN needs explicit interface for C functions called here.
- !
- INTERFACE
- INTEGER FUNCTION h5aread_integer_2_c(attr_id, memtype_id, buf, dims)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5AREAD_INTEGER_2_C'::h5aread_integer_2_c
- !DEC$ENDIF
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- INTEGER(HID_T), INTENT(IN) :: attr_id
- INTEGER(HID_T), INTENT(IN) :: memtype_id
- INTEGER, INTENT(INOUT), DIMENSION(dims(1),dims(2)) :: buf
- END FUNCTION h5aread_integer_2_c
- END INTERFACE
-
- hdferr = h5aread_integer_2_c(attr_id, memtype_id, buf, dims)
- END SUBROUTINE h5aread_integer_2
-
-
- SUBROUTINE h5aread_integer_3(attr_id, memtype_id, buf, dims, hdferr)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
- INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
- ! identifier (in memory)
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- INTEGER, INTENT(INOUT), &
- DIMENSION(dims(1),dims(2),dims(3)) :: buf ! Attribute data
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-
- ! INTEGER, EXTERNAL :: h5aread_integer_3_c
- ! MS FORTRAN needs explicit interface for C functions called here.
- !
- INTERFACE
- INTEGER FUNCTION h5aread_integer_3_c(attr_id, memtype_id, buf, dims)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5AREAD_INTEGER_3_C'::h5aread_integer_3_c
- !DEC$ENDIF
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- INTEGER(HID_T), INTENT(IN) :: attr_id
- INTEGER(HID_T), INTENT(IN) :: memtype_id
- INTEGER, INTENT(INOUT), &
- DIMENSION(dims(1),dims(2),dims(3)) :: buf
- END FUNCTION h5aread_integer_3_c
- END INTERFACE
-
- hdferr = h5aread_integer_3_c(attr_id, memtype_id, buf, dims)
- END SUBROUTINE h5aread_integer_3
-
-
- SUBROUTINE h5aread_integer_4(attr_id, memtype_id, buf, dims, hdferr)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
- INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
- ! identifier (in memory)
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- INTEGER, INTENT(INOUT), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4)) :: buf ! Attribute data
- ! Attribute data
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-
- ! INTEGER, EXTERNAL :: h5aread_integer_4_c
- ! MS FORTRAN needs explicit interface for C functions called here.
- !
- INTERFACE
- INTEGER FUNCTION h5aread_integer_4_c(attr_id, memtype_id, buf, dims)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5AREAD_INTEGER_4_C'::h5aread_integer_4_c
- !DEC$ENDIF
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- INTEGER(HID_T), INTENT(IN) :: attr_id
- INTEGER(HID_T), INTENT(IN) :: memtype_id
- INTEGER, INTENT(INOUT), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4)) :: buf
- END FUNCTION h5aread_integer_4_c
- END INTERFACE
-
- hdferr = h5aread_integer_4_c(attr_id, memtype_id, buf, dims)
- END SUBROUTINE h5aread_integer_4
-
-
- SUBROUTINE h5aread_integer_5(attr_id, memtype_id, buf, dims, hdferr)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
- INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
- ! identifier (in memory)
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- INTEGER, INTENT(INOUT), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)) :: buf ! Attribute data
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-
- ! INTEGER, EXTERNAL :: h5aread_integer_5_c
- ! MS FORTRAN needs explicit interface for C functions called here.
- !
- INTERFACE
- INTEGER FUNCTION h5aread_integer_5_c(attr_id, memtype_id, buf, dims)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5AREAD_INTEGER_5_C'::h5aread_integer_5_c
- !DEC$ENDIF
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- INTEGER(HID_T), INTENT(IN) :: attr_id
- INTEGER(HID_T), INTENT(IN) :: memtype_id
- INTEGER, INTENT(INOUT), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)) :: buf
- END FUNCTION h5aread_integer_5_c
- END INTERFACE
-
- hdferr = h5aread_integer_5_c(attr_id, memtype_id, buf, dims)
- END SUBROUTINE h5aread_integer_5
-
-
- SUBROUTINE h5aread_integer_6(attr_id, memtype_id, buf, dims, hdferr)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
- INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
- ! identifier (in memory)
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- INTEGER, INTENT(INOUT), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)) :: buf ! Attribute data
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-
- ! INTEGER, EXTERNAL :: h5aread_integer_6_c
- ! MS FORTRAN needs explicit interface for C functions called here.
- !
- INTERFACE
- INTEGER FUNCTION h5aread_integer_6_c(attr_id, memtype_id, buf, dims)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5AREAD_INTEGER_6_C'::h5aread_integer_6_c
- !DEC$ENDIF
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- INTEGER(HID_T), INTENT(IN) :: attr_id
- INTEGER(HID_T), INTENT(IN) :: memtype_id
- INTEGER, INTENT(INOUT), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)) :: buf
- END FUNCTION h5aread_integer_6_c
- END INTERFACE
-
- hdferr = h5aread_integer_6_c(attr_id, memtype_id, buf, dims)
- END SUBROUTINE h5aread_integer_6
-
-
- SUBROUTINE h5aread_integer_7(attr_id, memtype_id, buf, dims, hdferr)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
- INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
- ! identifier (in memory)
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- INTEGER, INTENT(INOUT), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)) :: buf ! Attribute data
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-
- ! INTEGER, EXTERNAL :: h5aread_integer_7_c
- ! MS FORTRAN needs explicit interface for C functions called here.
- !
- INTERFACE
- INTEGER FUNCTION h5aread_integer_7_c(attr_id, memtype_id, buf, dims)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5AREAD_INTEGER_7_C'::h5aread_integer_7_c
- !DEC$ENDIF
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- INTEGER(HID_T), INTENT(IN) :: attr_id
- INTEGER(HID_T), INTENT(IN) :: memtype_id
- INTEGER, INTENT(INOUT), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)) :: buf
- END FUNCTION h5aread_integer_7_c
- END INTERFACE
-
- hdferr = h5aread_integer_7_c(attr_id, memtype_id, buf, dims)
- END SUBROUTINE h5aread_integer_7
-
-
- SUBROUTINE h5aread_real_scalar(attr_id, memtype_id, buf, dims, hdferr)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
- INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
- ! identifier (in memory)
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- REAL, INTENT(INOUT) :: buf ! Attribute data
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-
- ! INTEGER, EXTERNAL :: h5aread_real_s_c
- ! MS FORTRAN needs explicit interface for C functions called here.
- !
- INTERFACE
- INTEGER FUNCTION h5aread_real_s_c(attr_id, memtype_id, buf, dims)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5AREAD_REAL_S_C'::h5aread_real_s_c
- !DEC$ENDIF
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- INTEGER(HID_T), INTENT(IN) :: attr_id
- INTEGER(HID_T), INTENT(IN) :: memtype_id
- REAL, INTENT(INOUT)::buf
- END FUNCTION h5aread_real_s_c
- END INTERFACE
-
- hdferr = h5aread_real_s_c(attr_id, memtype_id, buf, dims)
- END SUBROUTINE h5aread_real_scalar
-
- SUBROUTINE h5aread_real_1(attr_id, memtype_id, buf, dims, hdferr)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
- INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
- ! identifier (in memory)
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- REAL, INTENT(INOUT), &
- DIMENSION(dims(1)) :: buf ! Attribute data
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-
- ! INTEGER, EXTERNAL :: h5aread_real_1_c
- ! MS FORTRAN needs explicit interface for C functions called here.
- !
- INTERFACE
- INTEGER FUNCTION h5aread_real_1_c(attr_id, memtype_id, buf, dims)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5AREAD_REAL_1_C'::h5aread_real_1_c
- !DEC$ENDIF
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- INTEGER(HID_T), INTENT(IN) :: attr_id
- INTEGER(HID_T), INTENT(IN) :: memtype_id
- REAL, INTENT(INOUT), &
- DIMENSION(dims(1)) :: buf
- END FUNCTION h5aread_real_1_c
- END INTERFACE
-
- hdferr = h5aread_real_1_c(attr_id, memtype_id, buf, dims)
- END SUBROUTINE h5aread_real_1
-
-
- SUBROUTINE h5aread_real_2(attr_id, memtype_id, buf, dims, hdferr)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
- INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
- ! identifier (in memory)
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- REAL, INTENT(INOUT), &
- DIMENSION(dims(1),dims(2)) :: buf ! Attribute data
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-
- ! INTEGER, EXTERNAL :: h5aread_real_2_c
- ! MS FORTRAN needs explicit interface for C functions called here.
- !
- INTERFACE
- INTEGER FUNCTION h5aread_real_2_c(attr_id, memtype_id, buf, dims)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5AREAD_REAL_2_C'::h5aread_real_2_c
- !DEC$ENDIF
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- INTEGER(HID_T), INTENT(IN) :: attr_id
- INTEGER(HID_T), INTENT(IN) :: memtype_id
- REAL, INTENT(INOUT), &
- DIMENSION(dims(1),dims(2)) :: buf
- END FUNCTION h5aread_real_2_c
- END INTERFACE
-
- hdferr = h5aread_real_2_c(attr_id, memtype_id, buf, dims)
- END SUBROUTINE h5aread_real_2
-
-
- SUBROUTINE h5aread_real_3(attr_id, memtype_id, buf, dims, hdferr)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
- INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
- ! identifier (in memory)
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- REAL, INTENT(INOUT), &
- DIMENSION(dims(1),dims(2),dims(3)) :: buf ! Attribute data
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-
- ! INTEGER, EXTERNAL :: h5aread_real_3_c
- ! MS FORTRAN needs explicit interface for C functions called here.
- !
- INTERFACE
- INTEGER FUNCTION h5aread_real_3_c(attr_id, memtype_id, buf, dims)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5AREAD_REAL_3_C'::h5aread_real_3_c
- !DEC$ENDIF
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- INTEGER(HID_T), INTENT(IN) :: attr_id
- INTEGER(HID_T), INTENT(IN) :: memtype_id
- REAL, INTENT(INOUT), &
- DIMENSION(dims(1),dims(2),dims(3)) :: buf
- END FUNCTION h5aread_real_3_c
- END INTERFACE
-
- hdferr = h5aread_real_3_c(attr_id, memtype_id, buf, dims)
- END SUBROUTINE h5aread_real_3
-
-
- SUBROUTINE h5aread_real_4(attr_id, memtype_id, buf, dims, hdferr)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
- INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
- ! identifier (in memory)
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- REAL, INTENT(INOUT), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4)) :: buf ! Attribute data
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-
- ! INTEGER, EXTERNAL :: h5aread_real_4_c
- ! MS FORTRAN needs explicit interface for C functions called here.
- !
- INTERFACE
- INTEGER FUNCTION h5aread_real_4_c(attr_id, memtype_id, buf, dims)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5AREAD_REAL_4_C'::h5aread_real_4_c
- !DEC$ENDIF
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- INTEGER(HID_T), INTENT(IN) :: attr_id
- INTEGER(HID_T), INTENT(IN) :: memtype_id
- REAL, INTENT(INOUT), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4)) :: buf
- END FUNCTION h5aread_real_4_c
- END INTERFACE
-
- hdferr = h5aread_real_4_c(attr_id, memtype_id, buf, dims)
- END SUBROUTINE h5aread_real_4
-
-
- SUBROUTINE h5aread_real_5(attr_id, memtype_id, buf, dims, hdferr)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
- INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
- ! identifier (in memory)
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- REAL, INTENT(INOUT), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)) :: buf ! Attribute data
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-
- ! INTEGER, EXTERNAL :: h5aread_real_5_c
- ! MS FORTRAN needs explicit interface for C functions called here.
- !
- INTERFACE
- INTEGER FUNCTION h5aread_real_5_c(attr_id, memtype_id, buf, dims)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5AREAD_REAL_5_C'::h5aread_real_5_c
- !DEC$ENDIF
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- INTEGER(HID_T), INTENT(IN) :: attr_id
- INTEGER(HID_T), INTENT(IN) :: memtype_id
- REAL, INTENT(INOUT), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)) :: buf
- END FUNCTION h5aread_real_5_c
- END INTERFACE
-
- hdferr = h5aread_real_5_c(attr_id, memtype_id, buf, dims)
- END SUBROUTINE h5aread_real_5
-
-
- SUBROUTINE h5aread_real_6(attr_id, memtype_id, buf, dims, hdferr)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
- INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
- ! identifier (in memory)
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- REAL, INTENT(INOUT), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)) :: buf ! Attribute data
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-
- ! INTEGER, EXTERNAL :: h5aread_real_6_c
- ! MS FORTRAN needs explicit interface for C functions called here.
- !
- INTERFACE
- INTEGER FUNCTION h5aread_real_6_c(attr_id, memtype_id, buf, dims)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5AREAD_REAL_6_C'::h5aread_real_6_c
- !DEC$ENDIF
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- INTEGER(HID_T), INTENT(IN) :: attr_id
- INTEGER(HID_T), INTENT(IN) :: memtype_id
- REAL, INTENT(INOUT), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)) :: buf
- END FUNCTION h5aread_real_6_c
- END INTERFACE
-
- hdferr = h5aread_real_6_c(attr_id, memtype_id, buf, dims)
- END SUBROUTINE h5aread_real_6
-
-
- SUBROUTINE h5aread_real_7(attr_id, memtype_id, buf, dims, hdferr)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
- INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
- ! identifier (in memory)
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- REAL, INTENT(INOUT), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)) :: buf ! Attribute data
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-
- ! INTEGER, EXTERNAL :: h5aread_real_7_c
- ! MS FORTRAN needs explicit interface for C functions called here.
- !
- INTERFACE
- INTEGER FUNCTION h5aread_real_7_c(attr_id, memtype_id, buf, dims)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5AREAD_REAL_7_C'::h5aread_real_7_c
- !DEC$ENDIF
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- INTEGER(HID_T), INTENT(IN) :: attr_id
- INTEGER(HID_T), INTENT(IN) :: memtype_id
- REAL, INTENT(INOUT), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)) :: buf
- END FUNCTION h5aread_real_7_c
- END INTERFACE
-
- hdferr = h5aread_real_7_c(attr_id, memtype_id, buf, dims)
- END SUBROUTINE h5aread_real_7
-
- SUBROUTINE h5aread_char_scalar(attr_id, memtype_id, buf, dims, hdferr)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
- INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
- ! identifier (in memory)
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- CHARACTER(LEN=*), INTENT(INOUT) :: buf
- ! Attribute data
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-
- ! INTEGER, EXTERNAL :: h5areadc_s_c
- ! MS FORTRAN needs explicit interface for C functions called here.
- !
- INTERFACE
- INTEGER FUNCTION h5areadc_s_c(attr_id, memtype_id, buf, dims)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5AREADC_S_C'::h5areadc_s_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: buf
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- INTEGER(HID_T), INTENT(IN) :: attr_id
- INTEGER(HID_T), INTENT(IN) :: memtype_id
- CHARACTER(LEN=*), INTENT(INOUT) :: buf
- END FUNCTION h5areadc_s_c
- END INTERFACE
-
- hdferr = h5areadc_s_c(attr_id, memtype_id, buf, dims)
- END SUBROUTINE h5aread_char_scalar
-
- SUBROUTINE h5aread_char_1(attr_id, memtype_id, buf, dims, hdferr)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
- INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
- ! identifier (in memory)
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- CHARACTER(LEN=*), INTENT(INOUT), &
- DIMENSION(dims(1)) :: buf ! Attribute data
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-
- ! INTEGER, EXTERNAL :: h5areadc_1_c
- ! MS FORTRAN needs explicit interface for C functions called here.
- !
- INTERFACE
- INTEGER FUNCTION h5areadc_1_c(attr_id, memtype_id, buf, dims)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5AREADC_1_C'::h5areadc_1_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: buf
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- INTEGER(HID_T), INTENT(IN) :: attr_id
- INTEGER(HID_T), INTENT(IN) :: memtype_id
- CHARACTER(LEN=*), INTENT(INOUT), &
- DIMENSION(dims(1)) :: buf
- END FUNCTION h5areadc_1_c
- END INTERFACE
-
- hdferr = h5areadc_1_c(attr_id, memtype_id, buf, dims)
- END SUBROUTINE h5aread_char_1
-
-
- SUBROUTINE h5aread_char_2(attr_id, memtype_id, buf, dims, hdferr)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
- INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
- ! identifier (in memory)
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- CHARACTER(LEN=*), INTENT(INOUT), &
- DIMENSION(dims(1),dims(2)) :: buf ! Attribute data
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-
- ! INTEGER, EXTERNAL :: h5areadc_2_c
- ! MS FORTRAN needs explicit interface for C functions called here.
- !
- INTERFACE
- INTEGER FUNCTION h5areadc_2_c(attr_id, memtype_id, buf, dims)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5AREADC_2_C'::h5areadc_2_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: buf
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- INTEGER(HID_T), INTENT(IN) :: attr_id
- INTEGER(HID_T), INTENT(IN) :: memtype_id
- CHARACTER(LEN=*), INTENT(INOUT), &
- DIMENSION(dims(1),dims(2)) :: buf
- END FUNCTION h5areadc_2_c
- END INTERFACE
-
- hdferr = h5areadc_2_c(attr_id, memtype_id, buf, dims)
- END SUBROUTINE h5aread_char_2
-
-
- SUBROUTINE h5aread_char_3(attr_id, memtype_id, buf, dims, hdferr)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
- INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
- ! identifier (in memory)
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- CHARACTER(LEN=*), INTENT(INOUT), &
- DIMENSION(dims(1),dims(2),dims(3)) :: buf ! Attribute data
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-
- ! INTEGER, EXTERNAL :: h5areadc_3_c
- ! MS FORTRAN needs explicit interface for C functions called here.
- !
- INTERFACE
- INTEGER FUNCTION h5areadc_3_c(attr_id, memtype_id, buf, dims)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5AREADC_3_C'::h5areadc_3_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: buf
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- INTEGER(HID_T), INTENT(IN) :: attr_id
- INTEGER(HID_T), INTENT(IN) :: memtype_id
- CHARACTER(LEN=*), INTENT(INOUT), &
- DIMENSION(dims(1),dims(2),dims(3)) :: buf
- END FUNCTION h5areadc_3_c
- END INTERFACE
-
- hdferr = h5areadc_3_c(attr_id, memtype_id, buf, dims)
- END SUBROUTINE h5aread_char_3
-
-
- SUBROUTINE h5aread_char_4(attr_id, memtype_id, buf, dims, hdferr)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
- INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
- ! identifier (in memory)
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- CHARACTER(LEN=*), INTENT(INOUT), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4)) :: buf ! Attribute data
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-
- ! INTEGER, EXTERNAL :: h5areadc_4_c
- ! MS FORTRAN needs explicit interface for C functions called here.
- !
- INTERFACE
- INTEGER FUNCTION h5areadc_4_c(attr_id, memtype_id, buf, dims)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5AREADC_4_C'::h5areadc_4_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: buf
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- INTEGER(HID_T), INTENT(IN) :: attr_id
- INTEGER(HID_T), INTENT(IN) :: memtype_id
- CHARACTER(LEN=*), INTENT(INOUT), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4)) :: buf
- END FUNCTION h5areadc_4_c
- END INTERFACE
-
- hdferr = h5areadc_4_c(attr_id, memtype_id, buf, dims)
- END SUBROUTINE h5aread_char_4
-
-
- SUBROUTINE h5aread_char_5(attr_id, memtype_id, buf, dims, hdferr)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
- INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
- ! identifier (in memory)
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- CHARACTER(LEN=*), INTENT(INOUT), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)) :: buf
- ! Attribute data
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-
- ! INTEGER, EXTERNAL :: h5areadc_5_c
- ! MS FORTRAN needs explicit interface for C functions called here.
- !
- INTERFACE
- INTEGER FUNCTION h5areadc_5_c(attr_id, memtype_id, buf, dims)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5AREADC_5_C'::h5areadc_5_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: buf
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- INTEGER(HID_T), INTENT(IN) :: attr_id
- INTEGER(HID_T), INTENT(IN) :: memtype_id
- CHARACTER(LEN=*), INTENT(INOUT), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)) :: buf
- END FUNCTION h5areadc_5_c
- END INTERFACE
-
- hdferr = h5areadc_5_c(attr_id, memtype_id, buf, dims)
- END SUBROUTINE h5aread_char_5
-
-
- SUBROUTINE h5aread_char_6(attr_id, memtype_id, buf, dims, hdferr)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
- INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
- ! identifier (in memory)
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- CHARACTER(LEN=*), INTENT(INOUT), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)) :: buf ! Attribute data
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-
- ! INTEGER, EXTERNAL :: h5areadc_6_c
- ! MS FORTRAN needs explicit interface for C functions called here.
- !
- INTERFACE
- INTEGER FUNCTION h5areadc_6_c(attr_id, memtype_id, buf, dims)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5AREADC_6_C'::h5areadc_6_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: buf
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- INTEGER(HID_T), INTENT(IN) :: attr_id
- INTEGER(HID_T), INTENT(IN) :: memtype_id
- CHARACTER(LEN=*), INTENT(INOUT), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)) :: buf
- END FUNCTION h5areadc_6_c
- END INTERFACE
-
- hdferr = h5areadc_6_c(attr_id, memtype_id, buf, dims)
- END SUBROUTINE h5aread_char_6
-
-
- SUBROUTINE h5aread_char_7(attr_id, memtype_id, buf, dims, hdferr)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
- INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
- ! identifier (in memory)
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- CHARACTER(LEN=*), INTENT(INOUT), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)) :: buf ! Attribute data
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-
- ! INTEGER, EXTERNAL :: h5areadc_7_c
- ! MS FORTRAN needs explicit interface for C functions called here.
- !
- INTERFACE
- INTEGER FUNCTION h5areadc_7_c(attr_id, memtype_id, buf, dims)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5AREADC_7_C'::h5areadc_7_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: buf
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- INTEGER(HID_T), INTENT(IN) :: attr_id
- INTEGER(HID_T), INTENT(IN) :: memtype_id
- CHARACTER(LEN=*), INTENT(INOUT), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)) :: buf
- END FUNCTION h5areadc_7_c
- END INTERFACE
-
- hdferr = h5areadc_7_c(attr_id, memtype_id, buf, dims)
- END SUBROUTINE h5aread_char_7
-
-END MODULE H5A_PROVISIONAL
-
-
diff --git a/fortran/src/H5Df.c b/fortran/src/H5Df.c
index 0d32dac..57b4d4d 100644
--- a/fortran/src/H5Df.c
+++ b/fortran/src/H5Df.c
@@ -1,6 +1,6 @@
/****h* H5Df/H5Df
* PURPOSE
- * This file contains C stubs for H5D Fortran APIs
+ * This file contains C stubs for H5D Fortran APIs
*
* COPYRIGHT
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
@@ -48,7 +48,7 @@
* SOURCE
*/
int_f
-nh5dcreate_c (hid_t_f *loc_id, _fcd name, int_f *namelen, hid_t_f *type_id, hid_t_f *space_id,
+h5dcreate_c (hid_t_f *loc_id, _fcd name, int_f *namelen, hid_t_f *type_id, hid_t_f *space_id,
hid_t_f *lcpl_id, hid_t_f *dcpl_id, hid_t_f *dapl_id, hid_t_f *dset_id)
/******/
{
@@ -84,23 +84,23 @@ DONE:
* PURPOSE
* Call H5Dopen2 to open a dataset
* INPUTS
- * loc_id - file or group identifier
- * name - name of the dataset
- * namelen - name length
- * dapl_id - Dataset access property list
+ * loc_id - file or group identifier
+ * name - name of the dataset
+ * namelen - name length
+ * dapl_id - Dataset access property list
* OUTPUTS
- * dset_id - dataset identifier
+ * dset_id - dataset identifier
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* Elena Pourmal
- * Wednesday, August 4, 1999
+ * Wednesday, August 4, 1999
* HISTORY
- * Added 1.8 parameter: dapl_id
+ * Added 1.8 parameter: dapl_id
* SOURCE
*/
int_f
-nh5dopen_c(hid_t_f *loc_id, _fcd name, int_f *namelen, hid_t_f *dapl_id, hid_t_f *dset_id)
+h5dopen_c(hid_t_f *loc_id, _fcd name, int_f *namelen, hid_t_f *dapl_id, hid_t_f *dset_id)
/******/
{
char *c_name = NULL;
@@ -128,531 +128,6 @@ DONE:
return ret_value;
}
-
-/****if* H5Df/h5dwritec_c
- * NAME
- * h5dwritec_c
- * PURPOSE
- * Call h5dwrite_c to write a dataset of characters
- * INPUTS
- * dset_id - dataset identifier
- * mem_type_id - memory datatype identifier
- * mem_space_id - memory dataspace identifier
- * file_space_id - memory dataspace identifier
- * xfer_pr - identifier of transfer property list
- * buf - character data buffer
- * RETURNS
- * 0 on success, -1 on failure
- * AUTHOR
- * Elena Pourmal
- * Tuesday, May 14, 2002
- * HISTORY
- * This function is added to accomodate oveloaded h5dwrite_f
- * with the dims argument being of INTEGER(HSIZE_T) type
-
- * SOURCE
-*/
-int_f
-nh5dwritec_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, _fcd buf, hsize_t_f *dims)
-/******/
-{
- int ret_value = -1;
-
- /*
- * Call h5dwrite_c function.
- */
- ret_value = nh5dwrite_c(dset_id, mem_type_id, mem_space_id, file_space_id, xfer_prp, _fcdtocp(buf), dims);
-
- return ret_value;
-}
-
-int_f
-nh5dwritec_s_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, _fcd buf, hsize_t_f *dims)
-
-{
- int ret_value = -1;
-
- /*
- * Call h5dwrite_c function.
- */
- ret_value = nh5dwrite_c(dset_id, mem_type_id, mem_space_id, file_space_id, xfer_prp, _fcdtocp(buf), dims);
-
- return ret_value;
-}
-
-int_f
-nh5dwritec_1_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, _fcd buf, hsize_t_f *dims)
-
-{
- int ret_value = -1;
-
- /*
- * Call h5dwrite_c function.
- */
- ret_value = nh5dwrite_c(dset_id, mem_type_id, mem_space_id, file_space_id, xfer_prp, _fcdtocp(buf), dims);
-
- return ret_value;
-}
-
-int_f
-nh5dwritec_2_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, _fcd buf, hsize_t_f *dims)
-
-{
- int ret_value = -1;
-
- /*
- * Call h5dwrite_c function.
- */
- ret_value = nh5dwrite_c(dset_id, mem_type_id, mem_space_id, file_space_id, xfer_prp, _fcdtocp(buf), dims);
-
- return ret_value;
-}
-
-int_f
-nh5dwritec_3_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, _fcd buf, hsize_t_f *dims)
-
-{
- int ret_value = -1;
-
- /*
- * Call h5dwrite_c function.
- */
- ret_value = nh5dwrite_c(dset_id, mem_type_id, mem_space_id, file_space_id, xfer_prp, _fcdtocp(buf), dims);
-
- return ret_value;
-}
-
-int_f
-nh5dwritec_4_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, _fcd buf, hsize_t_f *dims)
-
-{
- int ret_value = -1;
-
- /*
- * Call h5dwrite_c function.
- */
- ret_value = nh5dwrite_c(dset_id, mem_type_id, mem_space_id, file_space_id, xfer_prp, _fcdtocp(buf), dims);
-
- return ret_value;
-}
-
-int_f
-nh5dwritec_5_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, _fcd buf, hsize_t_f *dims)
-
-{
- int ret_value = -1;
-
- /*
- * Call h5dwrite_c function.
- */
- ret_value = nh5dwrite_c(dset_id, mem_type_id, mem_space_id, file_space_id, xfer_prp, _fcdtocp(buf), dims);
-
- return ret_value;
-}
-
-int_f
-nh5dwritec_6_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, _fcd buf, hsize_t_f *dims)
-
-{
- int ret_value = -1;
-
- /*
- * Call h5dwrite_c function.
- */
- ret_value = nh5dwrite_c(dset_id, mem_type_id, mem_space_id, file_space_id, xfer_prp, _fcdtocp(buf), dims);
-
- return ret_value;
-}
-
-int_f
-nh5dwritec_7_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, _fcd buf, hsize_t_f *dims)
-
-{
- int ret_value = -1;
-
- /*
- * Call h5dwrite_c function.
- */
- ret_value = nh5dwrite_c(dset_id, mem_type_id, mem_space_id, file_space_id, xfer_prp, _fcdtocp(buf), dims);
-
- return ret_value;
-}
-
-/****if* H5Df/h5dwrite_c
- * NAME
- * h5dwrite_c
- * PURPOSE
- * Call H5Dwrite to write a dataset
- * INPUTS
- * dset_id - dataset identifier
- * mem_type_id - memory datatype identifier
- * mem_space_id - memory dataspace identifier
- * file_space_id - memory dataspace identifier
- * xfer_pr - identifier of transfer property list
- * buf - data buffer
- * RETURNS
- * 0 on success, -1 on failure
- * AUTHOR
- * Elena Pourmal
- * Tuesday, May 14, 2002
- * HISTORY
- * This function is added to accomodate oveloaded h5dwrite_f
- * with the dims argument being of INTEGER(HSIZE_T) type
- *
- * Added nh5dwrite_integer(real,double)_s,1-7_c functions to eliminate
- * complains about wrong parameter types in h5dwrite_c function
- * called by Fortran rouitnes
- * October 10, 2006 EIP
- *
- * SOURCE
-*/
-int_f
-nh5dwrite_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f H5_ATTR_UNUSED *dims)
-/******/
-{
- int ret_value = -1;
- herr_t ret;
- hid_t c_dset_id;
- hid_t c_mem_type_id;
- hid_t c_mem_space_id;
- hid_t c_file_space_id;
- hid_t c_xfer_prp;
-
- /*
- * Define transfer property
- */
- c_xfer_prp = (hid_t)*xfer_prp;
-
- /*
- * Call H5Dwrite function.
- */
- c_dset_id = (hid_t)*dset_id;
- c_mem_type_id = (hid_t)*mem_type_id;
- c_mem_space_id = (hid_t)*mem_space_id;
- c_file_space_id = (hid_t)*file_space_id;
- ret = H5Dwrite(c_dset_id, c_mem_type_id, c_mem_space_id, c_file_space_id, c_xfer_prp, buf);
-
- if (ret < 0) return ret_value;
- ret_value = 0;
- return ret_value;
-}
-
-int_f
-nh5dwrite_integer_s_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims)
-
-{
- /*
- * Call h5dwrite_c function.
- */
- return nh5dwrite_c(dset_id, mem_type_id, mem_space_id, file_space_id, xfer_prp, buf, dims);
-}
-
-
-int_f
-nh5dwrite_integer_1_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims)
-
-{
- /*
- * Call h5dwrite_c function.
- */
- return nh5dwrite_c(dset_id, mem_type_id, mem_space_id, file_space_id, xfer_prp, buf, dims);
-}
-
-
-int_f
-nh5dwrite_integer_2_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims)
-
-{
- /*
- * Call h5dwrite_c function.
- */
- return nh5dwrite_c(dset_id, mem_type_id, mem_space_id, file_space_id, xfer_prp, buf, dims);
-}
-
-
-int_f
-nh5dwrite_integer_3_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims)
-
-{
- /*
- * Call h5dwrite_c function.
- */
- return nh5dwrite_c(dset_id, mem_type_id, mem_space_id, file_space_id, xfer_prp, buf, dims);
-}
-
-
-int_f
-nh5dwrite_integer_4_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims)
-
-{
- /*
- * Call h5dwrite_c function.
- */
- return nh5dwrite_c(dset_id, mem_type_id, mem_space_id, file_space_id, xfer_prp, buf, dims);
-}
-
-
-int_f
-nh5dwrite_integer_5_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims)
-
-{
- /*
- * Call h5dwrite_c function.
- */
- return nh5dwrite_c(dset_id, mem_type_id, mem_space_id, file_space_id, xfer_prp, buf, dims);
-}
-
-
-int_f
-nh5dwrite_integer_6_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims)
-
-{
- /*
- * Call h5dwrite_c function.
- */
- return nh5dwrite_c(dset_id, mem_type_id, mem_space_id, file_space_id, xfer_prp, buf, dims);
-}
-
-
-int_f
-nh5dwrite_integer_7_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims)
-
-{
- /*
- * Call h5dwrite_c function.
- */
- return nh5dwrite_c(dset_id, mem_type_id, mem_space_id, file_space_id, xfer_prp, buf, dims);
-}
-
-
-int_f
-nh5dwrite_real_s_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims)
-
-{
- /*
- * Call h5dwrite_c function.
- */
- return nh5dwrite_c(dset_id, mem_type_id, mem_space_id, file_space_id, xfer_prp, buf, dims);
-}
-
-int_f
-nh5dwrite_real_1_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims)
-
-{
- /*
- * Call h5dwrite_c function.
- */
- return nh5dwrite_c(dset_id, mem_type_id, mem_space_id, file_space_id, xfer_prp, buf, dims);
-}
-
-int_f
-nh5dwrite_real_2_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims)
-
-{
- /*
- * Call h5dwrite_c function.
- */
- return nh5dwrite_c(dset_id, mem_type_id, mem_space_id, file_space_id, xfer_prp, buf, dims);
-}
-
-int_f
-nh5dwrite_real_3_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims)
-
-{
- /*
- * Call h5dwrite_c function.
- */
- return nh5dwrite_c(dset_id, mem_type_id, mem_space_id, file_space_id, xfer_prp, buf, dims);
-}
-
-int_f
-nh5dwrite_real_4_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims)
-
-{
- /*
- * Call h5dwrite_c function.
- */
- return nh5dwrite_c(dset_id, mem_type_id, mem_space_id, file_space_id, xfer_prp, buf, dims);
-}
-
-int_f
-nh5dwrite_real_5_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims)
-
-{
- /*
- * Call h5dwrite_c function.
- */
- return nh5dwrite_c(dset_id, mem_type_id, mem_space_id, file_space_id, xfer_prp, buf, dims);
-}
-
-int_f
-nh5dwrite_real_6_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims)
-
-{
- /*
- * Call h5dwrite_c function.
- */
- return nh5dwrite_c(dset_id, mem_type_id, mem_space_id, file_space_id, xfer_prp, buf, dims);
-}
-
-int_f
-nh5dwrite_real_7_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims)
-
-{
- /*
- * Call h5dwrite_c function.
- */
- return nh5dwrite_c(dset_id, mem_type_id, mem_space_id, file_space_id, xfer_prp, buf, dims);
-}
-
-int_f
-nh5dwrite_double_s_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims)
-
-{
- /*
- * Call h5dwrite_c function.
- */
- return nh5dwrite_c(dset_id, mem_type_id, mem_space_id, file_space_id, xfer_prp, buf, dims);
-}
-
-int_f
-nh5dwrite_double_1_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims)
-
-{
- /*
- * Call h5dwrite_c function.
- */
- return nh5dwrite_c(dset_id, mem_type_id, mem_space_id, file_space_id, xfer_prp, buf, dims);
-}
-
-int_f
-nh5dwrite_double_2_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims)
-
-{
- /*
- * Call h5dwrite_c function.
- */
- return nh5dwrite_c(dset_id, mem_type_id, mem_space_id, file_space_id, xfer_prp, buf, dims);
-}
-
-int_f
-nh5dwrite_double_3_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims)
-
-{
- /*
- * Call h5dwrite_c function.
- */
- return nh5dwrite_c(dset_id, mem_type_id, mem_space_id, file_space_id, xfer_prp, buf, dims);
-}
-
-int_f
-nh5dwrite_double_4_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims)
-
-{
- /*
- * Call h5dwrite_c function.
- */
- return nh5dwrite_c(dset_id, mem_type_id, mem_space_id, file_space_id, xfer_prp, buf, dims);
-}
-
-int_f
-nh5dwrite_double_5_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims)
-
-{
- /*
- * Call h5dwrite_c function.
- */
- return nh5dwrite_c(dset_id, mem_type_id, mem_space_id, file_space_id, xfer_prp, buf, dims);
-}
-
-int_f
-nh5dwrite_double_6_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims)
-
-{
- /*
- * Call h5dwrite_c function.
- */
- return nh5dwrite_c(dset_id, mem_type_id, mem_space_id, file_space_id, xfer_prp, buf, dims);
-}
-
-int_f
-nh5dwrite_double_7_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims)
-
-{
- /*
- * Call h5dwrite_c function.
- */
- return nh5dwrite_c(dset_id, mem_type_id, mem_space_id, file_space_id, xfer_prp, buf, dims);
-}
-
-
-/****if* H5Df/h5dwrite_ref_obj_c
- * NAME
- * h5dwrite_ref_obj_c
- * PURPOSE
- * Call H5Dwrite to write a dataset of object references
- * INPUTS
- * dset_id - dataset identifier
- * mem_type_id - memory datatype identifier
- * mem_space_id - memory dataspace identifier
- * file_space_id - memory dataspace identifier
- * xfer_pr - identifier of transfer property list
- * buf - data buffer with references to the objects.
- * n - number of references to be stored.
- * RETURNS
- * 0 on success,e-1 on failure
- * AUTHOR
- * Elena Pourmal
- * Tuesday, May 14, 2002
- * HISTORY
- * This function was added to accomodate h5dwrite_f with the
- * dims argumnet being of INTEGER(HSIZE_T) type.
- * SOURCE
-*/
-int_f
-nh5dwrite_ref_obj_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, haddr_t_f *buf, hsize_t_f *dims)
-/******/
-{
- int ret_value = -1;
- herr_t ret;
- hid_t c_dset_id;
- hid_t c_mem_type_id;
- hid_t c_mem_space_id;
- hid_t c_file_space_id;
- hid_t c_xfer_prp;
- hobj_ref_t *buf_c;
- unsigned int i, n;
-
- /*
- * Define transfer property
- */
- c_xfer_prp = (hid_t)*xfer_prp;
-
- /*
- * Allocate temporary buffer and copy references from Fortran.
- */
- n = (unsigned int)*dims;
- buf_c = (hobj_ref_t*)HDmalloc(sizeof(hobj_ref_t)*n);
- if ( buf_c != NULL ) {
- for (i = 0; i < n; i++)
- HDmemcpy(&buf_c[i], &buf[i], sizeof(haddr_t));
- }
- else return ret_value;
-
- /*
- * Call H5Dwrite function.
- */
- c_dset_id = (hid_t)*dset_id;
- c_mem_type_id = (hid_t)*mem_type_id;
- c_mem_space_id = (hid_t)*mem_space_id;
- c_file_space_id = (hid_t)*file_space_id;
- ret = H5Dwrite(c_dset_id, c_mem_type_id, c_mem_space_id, c_file_space_id, c_xfer_prp, buf_c);
- HDfree(buf_c);
- if (ret < 0) return ret_value;
- ret_value = 0;
- return ret_value;
-}
-
/****if* H5Df/h5dwrite_ref_reg_c
* NAME
* h5dwrite_ref_reg_c
@@ -677,7 +152,7 @@ nh5dwrite_ref_obj_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_
* SOURCE
*/
int_f
-nh5dwrite_ref_reg_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, int_f *buf, hsize_t_f *dims)
+h5dwrite_ref_reg_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, int_f *buf, hsize_t_f *dims)
/******/
{
int ret_value = -1;
@@ -723,549 +198,31 @@ nh5dwrite_ref_reg_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_
return ret_value;
}
-
-
-/****if* H5Df/h5dreadc_c
- * NAME
- * h5dreadc_c
- * PURPOSE
- * Call h5dread_c to read a dataset of characters
- * INPUTS
- * dset_id - dataset identifier
- * mem_type_id - memory datatype identifier
- * mem_space_id - memory dataspace identifier
- * file_space_id - memory dataspace identifier
- * xfer_pr - identifier of transfer property list
- * OUTPUTS
- * buf - character data buffer
- * RETURNS
- * 0 on success, -1 on failure
- * AUTHOR
- * Elena Pourmal
- * Wednesday, May 15, 2002
- * HISTORY
- * This function was added to accomodate h5dread_f subroutine
- * with the dims parameter being of INTEGER(HSIZE_T_F) size.
- * SOURCE
-*/
-int_f
-nh5dreadc_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, _fcd buf, hsize_t_f *dims)
-/******/
-{
- int ret_value = -1;
-
- /*
- * Call h5dread_c function.
- */
- ret_value = nh5dread_c(dset_id, mem_type_id, mem_space_id, file_space_id, xfer_prp, _fcdtocp(buf), dims);
-
- return ret_value;
-}
-
-int_f
-nh5dreadc_s_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, _fcd buf, hsize_t_f *dims)
-
-{
- int ret_value = -1;
-
- /*
- * Call h5dread_c function.
- */
- ret_value = nh5dread_c(dset_id, mem_type_id, mem_space_id, file_space_id, xfer_prp, _fcdtocp(buf), dims);
-
- return ret_value;
-}
-
-int_f
-nh5dreadc_1_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, _fcd buf, hsize_t_f *dims)
-
-{
- int ret_value = -1;
-
- /*
- * Call h5dread_c function.
- */
- ret_value = nh5dread_c(dset_id, mem_type_id, mem_space_id, file_space_id, xfer_prp, _fcdtocp(buf), dims);
-
- return ret_value;
-}
-
-int_f
-nh5dreadc_2_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, _fcd buf, hsize_t_f *dims)
-
-{
- int ret_value = -1;
-
- /*
- * Call h5dread_c function.
- */
- ret_value = nh5dread_c(dset_id, mem_type_id, mem_space_id, file_space_id, xfer_prp, _fcdtocp(buf), dims);
-
- return ret_value;
-}
-
-int_f
-nh5dreadc_3_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, _fcd buf, hsize_t_f *dims)
-
-{
- int ret_value = -1;
-
- /*
- * Call h5dread_c function.
- */
- ret_value = nh5dread_c(dset_id, mem_type_id, mem_space_id, file_space_id, xfer_prp, _fcdtocp(buf), dims);
-
- return ret_value;
-}
-
-int_f
-nh5dreadc_4_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, _fcd buf, hsize_t_f *dims)
-
-{
- int ret_value = -1;
-
- /*
- * Call h5dread_c function.
- */
- ret_value = nh5dread_c(dset_id, mem_type_id, mem_space_id, file_space_id, xfer_prp, _fcdtocp(buf), dims);
-
- return ret_value;
-}
-
-int_f
-nh5dreadc_5_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, _fcd buf, hsize_t_f *dims)
-
-{
- int ret_value = -1;
-
- /*
- * Call h5dread_c function.
- */
- ret_value = nh5dread_c(dset_id, mem_type_id, mem_space_id, file_space_id, xfer_prp, _fcdtocp(buf), dims);
-
- return ret_value;
-}
-
-int_f
-nh5dreadc_6_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, _fcd buf, hsize_t_f *dims)
-
-{
- int ret_value = -1;
-
- /*
- * Call h5dread_c function.
- */
- ret_value = nh5dread_c(dset_id, mem_type_id, mem_space_id, file_space_id, xfer_prp, _fcdtocp(buf), dims);
-
- return ret_value;
-}
-
-int_f
-nh5dreadc_7_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, _fcd buf, hsize_t_f *dims)
-
-{
- int ret_value = -1;
-
- /*
- * Call h5dread_c function.
- */
- ret_value = nh5dread_c(dset_id, mem_type_id, mem_space_id, file_space_id, xfer_prp, _fcdtocp(buf), dims);
-
- return ret_value;
-}
-
-/****if* H5Df/h5dread_c
- * NAME
- * h5dread_c
- * PURPOSE
- * Call H5Draed to read a dataset
- * INPUTS
- * dset_id - dataset identifier
- * mem_type_id - memory datatype identifier
- * mem_space_id - memory dataspace identifier
- * file_space_id - memory dataspace identifier
- * xfer_pr - identifier of transfer property list
- * OUTPUTS
- * buf - data buffer
- * RETURNS
- * 0 on success, -1 on failure
- * AUTHOR
- * Elena Pourmal
- * Wednesday, May 15, 2002
- * HISTORY
- * This function was added to accomodate h5dread_f subroutine
- * with the dims parameter being of INTEGER(HSIZE_T_F) size.
- *
- * Added nh5dread_integer(real,double)_s,1-7_c functions to eliminate
- * complains about wrong parameter types in h5dwrite_c function
- * called by Fortran rouitnes
- * October 10, 2006 EIP
- *
- * SOURCE
-*/
-int_f
-nh5dread_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f H5_ATTR_UNUSED *dims)
-/******/
-{
- int ret_value = -1;
- herr_t ret;
- hid_t c_dset_id;
- hid_t c_mem_type_id;
- hid_t c_mem_space_id;
- hid_t c_file_space_id;
- hid_t c_xfer_prp;
-
- /*
- * Define transfer property
- */
- c_xfer_prp = (hid_t)*xfer_prp;
-
- /*
- * Call H5Dread function.
- */
- c_dset_id = (hid_t)*dset_id;
- c_mem_type_id = (hid_t)*mem_type_id;
- c_mem_space_id = (hid_t)*mem_space_id;
- c_file_space_id = (hid_t)*file_space_id;
- ret = H5Dread(c_dset_id, c_mem_type_id, c_mem_space_id, c_file_space_id, c_xfer_prp, buf);
-
- if (ret < 0) return ret_value;
- ret_value = 0;
- return ret_value;
-}
-
-int_f
-nh5dread_integer_s_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims)
-
-{
- /*
- * Call h5dread_c function.
- */
- return nh5dread_c(dset_id, mem_type_id, mem_space_id, file_space_id, xfer_prp, buf, dims);
-}
-
-int_f
-nh5dread_integer_1_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims)
-
-{
- /*
- * Call h5dread_c function.
- */
- return nh5dread_c(dset_id, mem_type_id, mem_space_id, file_space_id, xfer_prp, buf, dims);
-}
-
-int_f
-nh5dread_integer_2_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims)
-
-{
- /*
- * Call h5dread_c function.
- */
- return nh5dread_c(dset_id, mem_type_id, mem_space_id, file_space_id, xfer_prp, buf, dims);
-}
-
-int_f
-nh5dread_integer_3_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims)
-
-{
- /*
- * Call h5dread_c function.
- */
- return nh5dread_c(dset_id, mem_type_id, mem_space_id, file_space_id, xfer_prp, buf, dims);
-}
-
-int_f
-nh5dread_integer_4_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims)
-
-{
- /*
- * Call h5dread_c function.
- */
- return nh5dread_c(dset_id, mem_type_id, mem_space_id, file_space_id, xfer_prp, buf, dims);
-}
-
-int_f
-nh5dread_integer_5_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims)
-
-{
- /*
- * Call h5dread_c function.
- */
- return nh5dread_c(dset_id, mem_type_id, mem_space_id, file_space_id, xfer_prp, buf, dims);
-}
-
-int_f
-nh5dread_integer_6_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims)
-
-{
- /*
- * Call h5dread_c function.
- */
- return nh5dread_c(dset_id, mem_type_id, mem_space_id, file_space_id, xfer_prp, buf, dims);
-}
-
-int_f
-nh5dread_integer_7_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims)
-
-{
- /*
- * Call h5dread_c function.
- */
- return nh5dread_c(dset_id, mem_type_id, mem_space_id, file_space_id, xfer_prp, buf, dims);
-}
-
-int_f
-nh5dread_real_s_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims)
-
-{
- /*
- * Call h5dread_c function.
- */
- return nh5dread_c(dset_id, mem_type_id, mem_space_id, file_space_id, xfer_prp, buf, dims);
-}
-
-int_f
-nh5dread_real_1_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims)
-
-{
- /*
- * Call h5dread_c function.
- */
- return nh5dread_c(dset_id, mem_type_id, mem_space_id, file_space_id, xfer_prp, buf, dims);
-}
-
-int_f
-nh5dread_real_2_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims)
-
-{
- /*
- * Call h5dread_c function.
- */
- return nh5dread_c(dset_id, mem_type_id, mem_space_id, file_space_id, xfer_prp, buf, dims);
-}
-
-int_f
-nh5dread_real_3_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims)
-
-{
- /*
- * Call h5dread_c function.
- */
- return nh5dread_c(dset_id, mem_type_id, mem_space_id, file_space_id, xfer_prp, buf, dims);
-}
-
-int_f
-nh5dread_real_4_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims)
-
-{
- /*
- * Call h5dread_c function.
- */
- return nh5dread_c(dset_id, mem_type_id, mem_space_id, file_space_id, xfer_prp, buf, dims);
-}
-
-int_f
-nh5dread_real_5_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims)
-
-{
- /*
- * Call h5dread_c function.
- */
- return nh5dread_c(dset_id, mem_type_id, mem_space_id, file_space_id, xfer_prp, buf, dims);
-}
-
-int_f
-nh5dread_real_6_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims)
-
-{
- /*
- * Call h5dread_c function.
- */
- return nh5dread_c(dset_id, mem_type_id, mem_space_id, file_space_id, xfer_prp, buf, dims);
-}
-
-int_f
-nh5dread_real_7_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims)
-
-{
- /*
- * Call h5dread_c function.
- */
- return nh5dread_c(dset_id, mem_type_id, mem_space_id, file_space_id, xfer_prp, buf, dims);
-}
-
-int_f
-nh5dread_double_s_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims)
-
-{
- /*
- * Call h5dread_c function.
- */
- return nh5dread_c(dset_id, mem_type_id, mem_space_id, file_space_id, xfer_prp, buf, dims);
-}
-
-int_f
-nh5dread_double_1_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims)
-
-{
- /*
- * Call h5dread_c function.
- */
- return nh5dread_c(dset_id, mem_type_id, mem_space_id, file_space_id, xfer_prp, buf, dims);
-}
-
-int_f
-nh5dread_double_2_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims)
-
-{
- /*
- * Call h5dread_c function.
- */
- return nh5dread_c(dset_id, mem_type_id, mem_space_id, file_space_id, xfer_prp, buf, dims);
-}
-
-int_f
-nh5dread_double_3_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims)
-
-{
- /*
- * Call h5dread_c function.
- */
- return nh5dread_c(dset_id, mem_type_id, mem_space_id, file_space_id, xfer_prp, buf, dims);
-}
-
-int_f
-nh5dread_double_4_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims)
-
-{
- /*
- * Call h5dread_c function.
- */
- return nh5dread_c(dset_id, mem_type_id, mem_space_id, file_space_id, xfer_prp, buf, dims);
-}
-
-int_f
-nh5dread_double_5_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims)
-
-{
- /*
- * Call h5dread_c function.
- */
- return nh5dread_c(dset_id, mem_type_id, mem_space_id, file_space_id, xfer_prp, buf, dims);
-}
-
-int_f
-nh5dread_double_6_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims)
-
-{
- /*
- * Call h5dread_c function.
- */
- return nh5dread_c(dset_id, mem_type_id, mem_space_id, file_space_id, xfer_prp, buf, dims);
-}
-
-int_f
-nh5dread_double_7_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims)
-
-{
- /*
- * Call h5dread_c function.
- */
- return nh5dread_c(dset_id, mem_type_id, mem_space_id, file_space_id, xfer_prp, buf, dims);
-}
-
-/****if* H5Df/h5dread_ref_obj_c
- * NAME
- * h5dread_ref_obj_c
- * PURPOSE
- * Call H5Dread to read a dataset of object references
- * INPUTS
- * dset_id - dataset identifier
- * mem_type_id - memory datatype identifier
- * mem_space_id - memory dataspace identifier
- * file_space_id - memory dataspace identifier
- * xfer_pr - identifier of transfer property list
- * buf - data buffer to store references to the objects.
- * n - number of references to be stored.
- * RETURNS
- * 0 on success, -1 on failure
- * AUTHOR
- * Elena Pourmal
- * Wednesday, May 15, 2002
- * HISTORY
- * This function was added to accomodate h5dread_f subroutine
- * with the dims parameter being of INTEGER(HSIZE_T_F) size.
- * SOURCE
-*/
-int_f
-nh5dread_ref_obj_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, haddr_t_f * buf, hsize_t_f *dims)
-/******/
-{
- int ret_value = -1;
- herr_t ret = -1;
- hid_t c_dset_id;
- hid_t c_mem_type_id;
- hid_t c_mem_space_id;
- hid_t c_file_space_id;
- hid_t c_xfer_prp;
- hobj_ref_t *buf_c = NULL;
- hsize_t i,n;
-
- /*
- * Define transfer property
- */
- c_xfer_prp = (hid_t)*xfer_prp;
-
- /*
- * Allocate temporary buffer.
- */
- n = (hsize_t)*dims;
- buf_c = (hobj_ref_t*)HDmalloc(sizeof(hobj_ref_t)*(size_t)n);
- if ( buf_c != NULL ) {
- /*
- * Call H5Dread function.
- */
- c_dset_id = (hid_t)*dset_id;
- c_mem_type_id = (hid_t)*mem_type_id;
- c_mem_space_id = (hid_t)*mem_space_id;
- c_file_space_id = (hid_t)*file_space_id;
- ret = H5Dread(c_dset_id, c_mem_type_id, c_mem_space_id, c_file_space_id, c_xfer_prp, buf_c);
- if (ret >=0) {
- for (i = 0; i < n; i++)
- HDmemcpy(&buf[i], &buf_c[i], sizeof(haddr_t));
- }
- if ( buf_c != NULL ) HDfree(buf_c);
- }
- if (ret < 0) return ret_value;
- ret_value = 0;
- return ret_value;
-}
-
/****if* H5Df/h5dread_ref_reg_c
* NAME
* h5dread_ref_reg_c
* PURPOSE
* Call H5Dread to read a dataset of dataset region references
* INPUTS
- * dset_id - dataset identifier
- * mem_type_id - memory datatype identifier
- * mem_space_id - memory dataspace identifier
- * file_space_id - memory dataspace identifier
- * xfer_pr - identifier of transfer property list
- * buf - data buffer to store references to the objects.
- * n - number of references to be stored.
+ * dset_id - dataset identifier
+ * mem_type_id - memory datatype identifier
+ * mem_space_id - memory dataspace identifier
+ * file_space_id - memory dataspace identifier
+ * xfer_pr - identifier of transfer property list
+ * buf - data buffer to store references to the objects.
+ * n - number of references to be stored.
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* Elena Pourmal
- * Wednesday, May 15, 2002
+ * Wednesday, May 15, 2002
* HISTORY
- * This function was added to accomodate h5dread_f subroutine
- * with the dims parameter being of INTEGER(HSIZE_T_F) size.
+ * This function was added to accomodate h5dread_f subroutine
+ * with the dims parameter being of INTEGER(HSIZE_T_F) size.
* SOURCE
*/
int_f
-nh5dread_ref_reg_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, int_f * buf, hsize_t_f *dims)
+h5dread_ref_reg_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, int_f * buf, hsize_t_f *dims)
/******/
{
int ret_value = -1;
@@ -1317,19 +274,19 @@ nh5dread_ref_reg_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_i
* PURPOSE
* Call H5Dclose to close a dataset
* INPUTS
- * dset_id - identifier of the dataset to be closed
+ * dset_id - identifier of the dataset to be closed
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* Elena Pourmal
- * Wednesday, August 4, 1999
+ * Wednesday, August 4, 1999
* HISTORY
*
* SOURCE
*/
int_f
-nh5dclose_c ( hid_t_f *dset_id )
+h5dclose_c ( hid_t_f *dset_id )
/******/
{
int ret_value = 0;
@@ -1345,21 +302,21 @@ nh5dclose_c ( hid_t_f *dset_id )
* PURPOSE
* Call H5Dget_space to obtain dataspace of a dataset
* INPUTS
- * dset_id - identifier of the dataset
+ * dset_id - identifier of the dataset
* OUTPUTS
- * space_id - identifier of the dataset's dataspace
+ * space_id - identifier of the dataset's dataspace
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* Elena Pourmal
- * Thursday, August 19, 1999
+ * Thursday, August 19, 1999
* HISTORY
*
* SOURCE
*/
int_f
-nh5dget_space_c ( hid_t_f *dset_id , hid_t_f *space_id)
+h5dget_space_c ( hid_t_f *dset_id , hid_t_f *space_id)
/******/
{
int ret_value = -1;
@@ -1380,21 +337,21 @@ nh5dget_space_c ( hid_t_f *dset_id , hid_t_f *space_id)
* PURPOSE
* Call H5Dget_type to obtain datatype of a dataset
* INPUTS
- * dset_id - identifier of the dataset
+ * dset_id - identifier of the dataset
* OUTPUTS
- * type_id - identifier of the dataset's datatype
+ * type_id - identifier of the dataset's datatype
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* Elena Pourmal
- * Thursday, August 19, 1999
+ * Thursday, August 19, 1999
* HISTORY
*
* SOURCE
*/
int_f
-nh5dget_type_c ( hid_t_f *dset_id , hid_t_f *type_id)
+h5dget_type_c ( hid_t_f *dset_id , hid_t_f *type_id)
/******/
{
int ret_value = -1;
@@ -1416,23 +373,23 @@ nh5dget_type_c ( hid_t_f *dset_id , hid_t_f *type_id)
* h5dget_create_plist_c
* PURPOSE
* Call H5Dget_create_plist to obtain creation property list
- * of a dataset
+ * of a dataset
* INPUTS
- * dset_id - identifier of the dataset
+ * dset_id - identifier of the dataset
* OUTPUTS
- * plist_id - identifier of he dataset creation property list
+ * plist_id - identifier of he dataset creation property list
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* Elena Pourmal
- * Thursday, August 19, 1999
+ * Thursday, August 19, 1999
* HISTORY
*
* SOURCE
*/
int_f
-nh5dget_create_plist_c ( hid_t_f *dset_id , hid_t_f *plist_id)
+h5dget_create_plist_c ( hid_t_f *dset_id , hid_t_f *plist_id)
/******/
{
int ret_value = -1;
@@ -1456,24 +413,24 @@ nh5dget_create_plist_c ( hid_t_f *dset_id , hid_t_f *plist_id)
* PURPOSE
* Call H5Dset_extent to extend dataset with unlimited dimensions
* INPUTS
- * dset_id - identifier of the dataset
+ * dset_id - identifier of the dataset
* OUTPUTS
- * dims - array with the dimension sizes
+ * dims - array with the dimension sizes
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* Elena Pourmal
- * Thursday, August 19, 1999
+ * Thursday, August 19, 1999
*
* HISTORY
- * Changed name from the now obsolete h5dextend
- * to h5dset_extent in order to match new fortran interface.
+ * Changed name from the now obsolete h5dextend
+ * to h5dset_extent in order to match new fortran interface.
* -MSB- March 14, 2008
* SOURCE
*/
int_f
-nh5dset_extent_c ( hid_t_f *dset_id , hsize_t_f *dims)
+h5dset_extent_c ( hid_t_f *dset_id , hsize_t_f *dims)
/******/
{
hid_t c_space_id;
@@ -1503,28 +460,28 @@ nh5dset_extent_c ( hid_t_f *dset_id , hsize_t_f *dims)
return ret_value;
}
-/****if* H5Df/nh5dget_storage_size_c
+/****if* H5Df/h5dget_storage_size_c
* NAME
- * nh5dget_storage_size_c
+ * h5dget_storage_size_c
* PURPOSE
* Call H5Dget_storage_size to return the amount of storage
- * required for a dataset
+ * required for a dataset
* INPUTS
- * dset_id - identifier of the dataset
+ * dset_id - identifier of the dataset
* OUTPUTS
- * size - the amount of storage required for a dataset
+ * size - the amount of storage required for a dataset
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* Elena Pourmal
- * Tuesday, October 22, 2002
+ * Tuesday, October 22, 2002
* HISTORY
*
* SOURCE
*/
int_f
-nh5dget_storage_size_c ( hid_t_f *dset_id , hsize_t_f *size)
+h5dget_storage_size_c ( hid_t_f *dset_id , hsize_t_f *size)
/******/
{
int ret_value = -1;
@@ -1539,29 +496,29 @@ nh5dget_storage_size_c ( hid_t_f *dset_id , hsize_t_f *size)
return ret_value;
}
-/****if* H5Df/nh5dvlen_get_max_len_c
+/****if* H5Df/h5dvlen_get_max_len_c
* NAME
- * nh5dvlen_get_max_len_c
+ * h5dvlen_get_max_len_c
* PURPOSE
* Get the maximum size of the VL dataset element
* INPUTS
- * dset_id - identifier of the dataset
- * type_id - datatype identifier
- * space_id - dataspace identifier
+ * dset_id - identifier of the dataset
+ * type_id - datatype identifier
+ * space_id - dataspace identifier
* OUTPUTS
- * len - maximum length of the VL dataset element
+ * len - maximum length of the VL dataset element
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* Elena Pourmal
- * Tuesday, October 22, 2002
+ * Tuesday, October 22, 2002
* HISTORY
*
* SOURCE
*/
int_f
-nh5dvlen_get_max_len_c ( hid_t_f *dset_id , hid_t_f *type_id, hid_t_f *space_id, size_t_f *len)
+h5dvlen_get_max_len_c ( hid_t_f *dset_id , hid_t_f *type_id, hid_t_f *space_id, size_t_f *len)
/******/
{
int ret_value = -1;
@@ -1597,34 +554,34 @@ DONE:
HDfree(c_buf);
return ret_value;
}
-/****if* H5Df/nh5dwrite_vl_integer_c
+/****if* H5Df/h5dwrite_vl_integer_c
* NAME
- * nh5dwrite_vl_integer_c
+ * h5dwrite_vl_integer_c
* PURPOSE
* Write variable length dataset
* INPUTS
- * dset_id - identifier of the dataset
- * mem_type_id - datatype identifier
- * mem_space_id - dataspace identifier
- * file_space_id - file dataspace identifier
- * xfer - file transfer property
- * buf - data buffer
- * dims - one-demnsional array of size 2
- * dims[0] = MAXLENGTH
- * dims[1] = number of elements of VL type
- * len - array element lenghts
+ * dset_id - identifier of the dataset
+ * mem_type_id - datatype identifier
+ * mem_space_id - dataspace identifier
+ * file_space_id - file dataspace identifier
+ * xfer - file transfer property
+ * buf - data buffer
+ * dims - one-demnsional array of size 2
+ * dims[0] = MAXLENGTH
+ * dims[1] = number of elements of VL type
+ * len - array element lenghts
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* Elena Pourmal
- * Wednesday, October 23, 2002
+ * Wednesday, October 23, 2002
* HISTORY
*
* SOURCE
*/
int_f
-nh5dwrite_vl_integer_c ( hid_t_f *dset_id , hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, int_f *buf, hsize_t_f *dims, size_t_f *len)
+h5dwrite_vl_integer_c ( hid_t_f *dset_id , hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, int_f *buf, hsize_t_f *dims, size_t_f *len)
/******/
{
int ret_value = -1;
@@ -1670,35 +627,35 @@ DONE:
return ret_value;
}
-/****if* H5Df/nh5dread_vl_integer_c
+/****if* H5Df/h5dread_vl_integer_c
* NAME
- * nh5dread_vl_integer_c
+ * h5dread_vl_integer_c
* PURPOSE
* Read variable length dataset
* INPUTS
- * dset_id - identifier of the dataset
- * mem_type_id - datatype identifier
- * mem_space_id - dataspace identifier
- * file_space_id - file dataspace identifier
- * xfer - file transfer property
- * dims - one-demnsional array of size 2
- * dims[0] = MAXLENGTH
- * dims[1] = number of elements of VL type
+ * dset_id - identifier of the dataset
+ * mem_type_id - datatype identifier
+ * mem_space_id - dataspace identifier
+ * file_space_id - file dataspace identifier
+ * xfer - file transfer property
+ * dims - one-demnsional array of size 2
+ * dims[0] = MAXLENGTH
+ * dims[1] = number of elements of VL type
* OUTPUTS
- * buf - data buffer
- * len - array element lenghts
+ * buf - data buffer
+ * len - array element lenghts
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* Elena Pourmal
- * Wednesday, October 24, 2002
+ * Wednesday, October 24, 2002
* HISTORY
*
* SOURCE
*/
int_f
-nh5dread_vl_integer_c ( hid_t_f *dset_id , hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, int_f *buf, hsize_t_f *dims, size_t_f *len)
+h5dread_vl_integer_c ( hid_t_f *dset_id , hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, int_f *buf, hsize_t_f *dims, size_t_f *len)
/******/
{
int ret_value = -1;
@@ -1742,33 +699,33 @@ DONE:
return ret_value;
}
-/****if* H5Df/nh5dwrite_vl_string_c
+/****if* H5Df/h5dwrite_vl_string_c
* NAME
- * nh5dwrite_vl_string_c
+ * h5dwrite_vl_string_c
* PURPOSE
* Write variable length strings from Fortran program
* INPUTS
- * dset_id - identifier of the dataset
- * mem_type_id - datatype identifier
- * mem_space_id - dataspace identifier
- * file_space_id - file dataspace identifier
- * xfer - file transfer property
- * buf - data buffer
- * dims - one-demnsional array of size 2
- * dims[0] = number of strings of size max_len
- * len - array of strings lengths
+ * dset_id - identifier of the dataset
+ * mem_type_id - datatype identifier
+ * mem_space_id - dataspace identifier
+ * file_space_id - file dataspace identifier
+ * xfer - file transfer property
+ * buf - data buffer
+ * dims - one-demnsional array of size 2
+ * dims[0] = number of strings of size max_len
+ * len - array of strings lengths
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* Elena Pourmal
- * Monday, October 28, 2002
+ * Monday, October 28, 2002
* HISTORY
*
* SOURCE
*/
int_f
-nh5dwrite_vl_string_c( hid_t_f *dset_id , hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, _fcd buf, hsize_t_f *dims, size_t_f *len)
+h5dwrite_vl_string_c( hid_t_f *dset_id , hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, _fcd buf, hsize_t_f *dims, size_t_f *len)
/******/
{
int ret_value = -1;
@@ -1829,33 +786,33 @@ DONE:
HDfree(tmp);
return ret_value;
}
-/****if* H5Df/nh5dread_vl_string_c
+/****if* H5Df/h5dread_vl_string_c
* NAME
- * nh5dread_vl_string_c
+ * h5dread_vl_string_c
* PURPOSE
* Read variable length strings from Fortran program
* INPUTS
- * dset_id - identifier of the dataset
- * mem_type_id - datatype identifier
- * mem_space_id - dataspace identifier
- * file_space_id - file dataspace identifier
- * xfer - file transfer property
- * dims - one-demnsional array of size 2
- * dims[0] = number of strings of size max_len
- * Output: buf - data buffer
- * len - array of strings lengths
+ * dset_id - identifier of the dataset
+ * mem_type_id - datatype identifier
+ * mem_space_id - dataspace identifier
+ * file_space_id - file dataspace identifier
+ * xfer - file transfer property
+ * dims - one-demnsional array of size 2
+ * dims[0] = number of strings of size max_len
+ * Output: buf - data buffer
+ * len - array of strings lengths
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* Elena Pourmal
- * Friday, November 1, 2002
+ * Friday, November 1, 2002
* HISTORY
*
* SOURCE
*/
int_f
-nh5dread_vl_string_c( hid_t_f *dset_id , hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, _fcd buf, hsize_t_f *dims, size_t_f *len)
+h5dread_vl_string_c( hid_t_f *dset_id , hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, _fcd buf, hsize_t_f *dims, size_t_f *len)
/******/
{
int ret_value = -1;
@@ -1912,34 +869,34 @@ nh5dread_vl_string_c( hid_t_f *dset_id , hid_t_f *mem_type_id, hid_t_f *mem_spa
return ret_value;
}
-/****if* H5Df/nh5dwrite_vl_real_c
+/****if* H5Df/h5dwrite_vl_real_c
* NAME
- * nh5dwrite_vl_real_c
+ * h5dwrite_vl_real_c
* PURPOSE
* Write variable length dataset
* INPUTS
- * dset_id - identifier of the dataset
- * mem_type_id - datatype identifier
- * mem_space_id - dataspace identifier
- * file_space_id - file dataspace identifier
- * xfer - file transfer property
- * buf - data buffer
- * dims - one-demnsional array of size 2
- * dims[0] = MAXLENGTH
- * dims[1] = number of elements of VL type
- * len - array element lenghts
+ * dset_id - identifier of the dataset
+ * mem_type_id - datatype identifier
+ * mem_space_id - dataspace identifier
+ * file_space_id - file dataspace identifier
+ * xfer - file transfer property
+ * buf - data buffer
+ * dims - one-demnsional array of size 2
+ * dims[0] = MAXLENGTH
+ * dims[1] = number of elements of VL type
+ * len - array element lenghts
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* Elena Pourmal
- * Monday, November 11, 2002
+ * Monday, November 11, 2002
* HISTORY
*
* SOURCE
*/
int_f
-nh5dwrite_vl_real_c ( hid_t_f *dset_id , hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, real_f *buf, hsize_t_f *dims, size_t_f *len)
+h5dwrite_vl_real_c ( hid_t_f *dset_id , hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, real_f *buf, hsize_t_f *dims, size_t_f *len)
/******/
{
int ret_value = -1;
@@ -1985,35 +942,35 @@ DONE:
return ret_value;
}
-/****if* H5Df/nh5dread_vl_real_c
+/****if* H5Df/h5dread_vl_real_c
* NAME
- * nh5dread_vl_real_c
+ * h5dread_vl_real_c
* PURPOSE
* Read variable length dataset
* INPUTS
- * dset_id - identifier of the dataset
- * mem_type_id - datatype identifier
- * mem_space_id - dataspace identifier
- * file_space_id - file dataspace identifier
- * xfer - file transfer property
- * dims - one-demnsional array of size 2
- * dims[0] = MAXLENGTH
- * dims[1] = number of elements of VL type
+ * dset_id - identifier of the dataset
+ * mem_type_id - datatype identifier
+ * mem_space_id - dataspace identifier
+ * file_space_id - file dataspace identifier
+ * xfer - file transfer property
+ * dims - one-demnsional array of size 2
+ * dims[0] = MAXLENGTH
+ * dims[1] = number of elements of VL type
* OUTPUTS
- * buf - data buffer
- * len - array element lenghts
+ * buf - data buffer
+ * len - array element lenghts
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* Elena Pourmal
- * Monday, November 11, 2002
+ * Monday, November 11, 2002
* HISTORY
*
* SOURCE
*/
int_f
-nh5dread_vl_real_c ( hid_t_f *dset_id , hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, real_f *buf, hsize_t_f *dims, size_t_f *len)
+h5dread_vl_real_c ( hid_t_f *dset_id , hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, real_f *buf, hsize_t_f *dims, size_t_f *len)
/******/
{
int ret_value = -1;
@@ -2058,39 +1015,6 @@ DONE:
return ret_value;
}
-/****if* H5Df/h5dfillc_c
- * NAME
- * h5dfillc_c
- * PURPOSE
- * Call h5fill_c to fill memory buffer with a fill value
- * INPUTS
- * fill_value - fill value
- * fill_type_id - fill value datatype identifier
- * space_id - memory space selection identifier
- * buf - memory buffer to fill
- * mem_type_id - memory buffer dtatype identifier
- * RETURNS
- * 0 on success, -1 on failure
- * AUTHOR
- * Elena Pourmal
- * Wednesday, March 12, 2003
- * HISTORY
- *
- * SOURCE
-*/
-int_f
-nh5dfillc_c (_fcd fill_value, hid_t_f *fill_type_id, hid_t_f *space_id, _fcd buf, hid_t_f *mem_type_id)
-/******/
-{
- int ret_value = -1;
-
- /*
- * Call h5dfill_c function.
- */
- ret_value = h5dfill_c(_fcdtocp(fill_value), fill_type_id, space_id, _fcdtocp(buf), mem_type_id);
-
- return ret_value;
-}
/****if* H5Df/h5dfill_c
* NAME
* h5dfill_c
@@ -2135,98 +1059,26 @@ h5dfill_c (void * fill_value, hid_t_f *fill_type_id, hid_t_f *space_id, void * b
return ret_value;
}
-int_f
-nh5dfill_integer_c (void * fill_value, hid_t_f *fill_type_id, hid_t_f *space_id, void * buf, hid_t_f *mem_type_id)
-
-{
- int ret_value = -1;
- herr_t ret;
- hid_t c_fill_type_id;
- hid_t c_mem_type_id;
- hid_t c_space_id;
-
- c_fill_type_id = (hid_t)*fill_type_id;
- c_mem_type_id = (hid_t)*mem_type_id;
- c_space_id = (hid_t)*space_id;
-
- /*
- * Call H5Dfill function.
- */
- ret = H5Dfill(fill_value, c_fill_type_id, buf, c_mem_type_id, c_space_id);
-
- if (ret < 0) return ret_value;
- ret_value = 0;
- return ret_value;
-}
-
-int_f
-nh5dfill_real_c (void * fill_value, hid_t_f *fill_type_id, hid_t_f *space_id, void * buf, hid_t_f *mem_type_id)
-
-{
- int ret_value = -1;
- herr_t ret;
- hid_t c_fill_type_id;
- hid_t c_mem_type_id;
- hid_t c_space_id;
-
- c_fill_type_id = (hid_t)*fill_type_id;
- c_mem_type_id = (hid_t)*mem_type_id;
- c_space_id = (hid_t)*space_id;
-
- /*
- * Call H5Dfill function.
- */
- ret = H5Dfill(fill_value, c_fill_type_id, buf, c_mem_type_id, c_space_id);
-
- if (ret < 0) return ret_value;
- ret_value = 0;
- return ret_value;
-}
-
-int_f
-nh5dfill_double_c (void * fill_value, hid_t_f *fill_type_id, hid_t_f *space_id, void * buf, hid_t_f *mem_type_id)
-
-{
- int ret_value = -1;
- herr_t ret;
- hid_t c_fill_type_id;
- hid_t c_mem_type_id;
- hid_t c_space_id;
-
- c_fill_type_id = (hid_t)*fill_type_id;
- c_mem_type_id = (hid_t)*mem_type_id;
- c_space_id = (hid_t)*space_id;
-
- /*
- * Call H5Dfill function.
- */
- ret = H5Dfill(fill_value, c_fill_type_id, buf, c_mem_type_id, c_space_id);
-
- if (ret < 0) return ret_value;
- ret_value = 0;
- return ret_value;
-}
-
/****if* H5Df/h5dget_space_status_c
* NAME
* h5dget_space_status_c
* PURPOSE
* Call H5Dget_space_status to request dataspace allocation status
* INPUTS
- * dset_id - dataset identifier
+ * dset_id - dataset identifier
* OUTPUTS
- * flag - status flag
+ * flag - status flag
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* Elena Pourmal
- * Wednesday, March 12, 2003
+ * Wednesday, March 12, 2003
* HISTORY
*
* SOURCE
*/
int_f
-nh5dget_space_status_c ( hid_t_f *dset_id, int_f *flag)
+h5dget_space_status_c ( hid_t_f *dset_id, int_f *flag)
/******/
{
int ret_value = -1;
@@ -2256,21 +1108,21 @@ nh5dget_space_status_c ( hid_t_f *dset_id, int_f *flag)
* loc_id - Identifier of the file or group within which to create the dataset.
* type_id - Identifier of the datatype to use when creating the dataset.
* space_id - Identifier of the dataspace to use when creating the dataset.
- * dcpl_id - Dataset creation property list identifier.
- * dapl_id - Dataset access property list identifier.
+ * dcpl_id - Dataset creation property list identifier.
+ * dapl_id - Dataset access property list identifier.
* OUTPUTS
*
- * dset_id - dataset identifier
+ * dset_id - dataset identifier
*
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* M. Scot Breitenfeld
- * February, 2008
+ * February, 2008
* SOURCE
*/
int_f
-nh5dcreate_anon_c (hid_t_f *loc_id, hid_t_f *type_id, hid_t_f *space_id,
+h5dcreate_anon_c (hid_t_f *loc_id, hid_t_f *type_id, hid_t_f *space_id,
hid_t_f *dcpl_id, hid_t_f *dapl_id, hid_t_f *dset_id)
/******/
{
@@ -2355,8 +1207,8 @@ h5dwrite_f_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id,
* file_space_id - file dataspace identifier
* xfer - file transfer property
* dims - one-demnsional array of size 2
- * dims[0] = MAXLENGTH
- * dims[1] = number of elements of VL type
+ * dims[0] = MAXLENGTH
+ * dims[1] = number of elements of VL type
* OUTPUTS
* buf - data buffer
* len - array element lenghts
@@ -2396,9 +1248,9 @@ h5dread_f_c ( hid_t_f *dset_id , hid_t_f *mem_type_id, hid_t_f *mem_space_id,
ret_value = 0;
return ret_value;
}
-/****if* H5Df/nh5dget_access_plist_c
+/****if* H5Df/h5dget_access_plist_c
* NAME
- * nh5dget_access_plist_c
+ * h5dget_access_plist_c
* PURPOSE
* Call H5Dget_access_plist
* INPUTS
@@ -2414,7 +1266,7 @@ h5dread_f_c ( hid_t_f *dset_id , hid_t_f *mem_type_id, hid_t_f *mem_space_id,
* SOURCE
*/
int_f
-nh5dget_access_plist_c (hid_t_f *dset_id, hid_t_f *plist_id)
+h5dget_access_plist_c (hid_t_f *dset_id, hid_t_f *plist_id)
/******/
{
int ret_value = -1;
@@ -2430,22 +1282,22 @@ nh5dget_access_plist_c (hid_t_f *dset_id, hid_t_f *plist_id)
return ret_value;
}
-/****if* H5Df/nh5dvlen_reclaim_c
+/****if* H5Df/h5dvlen_reclaim_c
* NAME
* h5dvlen_reclaim_c
* PURPOSE
* Call H5Dvlen_reclaim
* INPUTS
- * type_id - Identifier of the datatype.
- * space_id - Identifier of the dataspace.
- * plist_id - Identifier of the property list used to create the buffer.
- * buf - Pointer to the buffer to be reclaimed.
+ * type_id - Identifier of the datatype.
+ * space_id - Identifier of the dataspace.
+ * plist_id - Identifier of the property list used to create the buffer.
+ * buf - Pointer to the buffer to be reclaimed.
*
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* M. Scot Breitenfeld
- * January 15, 2011
+ * January 15, 2011
*
* SOURCE
*/
diff --git a/fortran/src/H5Dff.F90 b/fortran/src/H5Dff.F90
new file mode 100644
index 0000000..e44d90e
--- /dev/null
+++ b/fortran/src/H5Dff.F90
@@ -0,0 +1,1877 @@
+!****h* ROBODoc/H5D
+!
+! NAME
+! MODULE H5D
+!
+! FILE
+! fortran/src/H5Dff.f90
+!
+! PURPOSE
+! This file contains Fortran interfaces for H5D functions.
+!
+! COPYRIGHT
+! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+! Copyright by The HDF Group. *
+! Copyright by the Board of Trustees of the University of Illinois. *
+! All rights reserved. *
+! *
+! This file is part of HDF5. The full HDF5 copyright notice, including *
+! terms governing use, modification, and redistribution, is contained in *
+! the files COPYING and Copyright.html. COPYING can be found at the root *
+! of the source code distribution tree; Copyright.html can be found at the *
+! root level of an installed copy of the electronic HDF5 document set and *
+! is linked from the top-level documents page. It can also be found at *
+! http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have *
+! access to either file, you may request a copy from help@hdfgroup.org. *
+! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+!
+! NOTES
+! (1) The maximum rank of an array allowed in Fortran is 7, therefore
+! we only provide an interface for arrays up to and including rank 7.
+!
+! (2) Unfortunately we are using a generic interface and one of the factors
+! used in determining the proper routine to select is that of the array
+! rank being passed. Therefore, we can not create just one subroutine for
+! each array type (integer, real, etc...) and use a
+! rank 1 array of assumed size to handle multiple ranks, i.e.
+! (i.e. integer, dimension(*) :: ... )
+! (i.e. real , dimension(*) :: ... ) etc...
+!
+! (3) Could not place the USE, INTRINSIC :: ISO_C_BINDING in the module header because it may
+! conflict with the USE, INTRINSIC :: ISO_C_BINDING included in the user's program. Moved
+! the statement instead to each subroutine.
+!
+!
+! (4) C_LOC and character strings according to the Fortran 2003 standard:
+!
+! 15.1.2.5 C_LOC(X)
+!
+! Argument. X shall either
+!
+! (A) have interoperable type and type parameters and be
+! (a) a variable that has the TARGET attribute and is interoperable,
+! (b) an allocated allocatable variable that has the TARGET attribute
+! and is not an array of zero size, or
+! (c) an associated scalar pointer, or
+! (B) be a nonpolymorphic scalar, have no length type parameters, and be
+! (a) a nonallocatable, nonpointer variable that has the TARGET attribute,
+! (b) an allocated allocatable variable that has the TARGET attribute, or
+! (c) an associated pointer.
+!
+! - When X is a character, for interoperability the standard is:
+!
+! 15.2.1 Interoperability of intrinsic types
+!
+! ...if the type is character, interoperability also requires that the length type parameter
+! be omitted or be specified by an initialization expression whose value is one.
+!
+! THEREFORE compilers that have not extended the standard require the
+! argument in C_LOC to be of the variant:
+!
+! CHARACTER(LEN=1), TARGET :: chr
+! or
+! CHARACTER, TARGET :: chr
+!
+! _____ __ __ _____ ____ _____ _______ _ _ _______
+! |_ _| \/ | __ \ / __ \| __ \__ __|/\ | \ | |__ __|
+! **** | | | \ / | |__) | | | | |__) | | | / \ | \| | | | ****
+! **** | | | |\/| | ___/| | | | _ / | | / /\ \ | . ` | | | ****
+! **** _| |_| | | | | | |__| | | \ \ | |/ ____ \| |\ | | | ****
+! |_____|_| |_|_| \____/|_| \_\ |_/_/ \_\_| \_| |_|
+!
+! If you add a new H5D function you must add the function name to the
+! Windows dll file 'hdf5_fortrandll.def.in' in the fortran/src directory.
+! This is needed for Windows based operating systems.
+!
+!*****
+
+#include <H5config_f.inc>
+
+MODULE H5D
+
+ USE, INTRINSIC :: ISO_C_BINDING
+ USE H5GLOBAL
+
+ INTERFACE h5dextend_f
+ MODULE PROCEDURE h5dset_extent_f
+ END INTERFACE
+
+ INTERFACE h5dread_vl_f
+ MODULE PROCEDURE h5dread_vl_integer
+ MODULE PROCEDURE h5dread_vl_real
+ MODULE PROCEDURE h5dread_vl_string
+ END INTERFACE
+
+ INTERFACE h5dwrite_vl_f
+ MODULE PROCEDURE h5dwrite_vl_integer
+ MODULE PROCEDURE h5dwrite_vl_real
+ MODULE PROCEDURE h5dwrite_vl_string
+ END INTERFACE
+
+ INTERFACE h5dwrite_f
+ MODULE PROCEDURE h5dwrite_reference_obj
+ MODULE PROCEDURE h5dwrite_reference_dsetreg
+ MODULE PROCEDURE h5dwrite_char_scalar
+ ! This is the preferred way to call h5dwrite
+ ! by passing an address
+ MODULE PROCEDURE h5dwrite_ptr
+ END INTERFACE
+
+ INTERFACE h5dread_f
+ MODULE PROCEDURE h5dread_reference_obj
+ MODULE PROCEDURE h5dread_reference_dsetreg
+ MODULE PROCEDURE h5dread_char_scalar
+ ! This is the preferred way to call h5dread
+ ! by passing an address
+ MODULE PROCEDURE h5dread_ptr
+
+ END INTERFACE
+
+
+! Interface for the function used to pass the C pointer of the buffer
+! to the C H5Dwrite routine
+
+ INTERFACE
+ INTEGER FUNCTION h5dwrite_f_c(dset_id, mem_type_id, &
+ mem_space_id_default , &
+ file_space_id_default, &
+ xfer_prp_default, buf ) BIND(C, NAME='h5dwrite_f_c')
+ IMPORT :: c_ptr
+ IMPORT :: HID_T
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: dset_id
+ INTEGER(HID_T), INTENT(IN) :: mem_type_id
+ INTEGER(HID_T) :: mem_space_id_default
+ INTEGER(HID_T) :: file_space_id_default
+ INTEGER(HID_T) :: xfer_prp_default
+ TYPE(C_PTR), VALUE :: buf
+ END FUNCTION h5dwrite_f_c
+ END INTERFACE
+
+! Interface for the function used to pass the C pointer of the buffer
+! to the C H5Dread routine
+
+ INTERFACE
+ INTEGER FUNCTION h5dread_f_c(dset_id, mem_type_id, &
+ mem_space_id_default, &
+ file_space_id_default, &
+ xfer_prp_default, buf) BIND(C, NAME='h5dread_f_c')
+ IMPORT :: c_ptr
+ IMPORT :: HID_T
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: dset_id
+ INTEGER(HID_T), INTENT(IN) :: mem_type_id
+ INTEGER(HID_T) :: mem_space_id_default
+ INTEGER(HID_T) :: file_space_id_default
+ INTEGER(HID_T) :: xfer_prp_default
+ TYPE(C_PTR), VALUE :: buf
+ END FUNCTION h5dread_f_c
+ END INTERFACE
+
+ INTERFACE h5dfill_f
+ MODULE PROCEDURE h5dfill_integer
+ MODULE PROCEDURE h5dfill_c_float
+ MODULE PROCEDURE h5dfill_c_double
+#ifdef H5_FORTRAN_HAVE_C_LONG_DOUBLE
+ MODULE PROCEDURE h5dfill_c_long_double
+#endif
+ MODULE PROCEDURE h5dfill_char
+ END INTERFACE
+
+! Interface for the function used to pass the C pointer of the buffer
+! to the C H5Dfill routine
+
+ INTERFACE
+ INTEGER FUNCTION h5dfill_c(f_ptr_fill_value, fill_type_id, space_id, &
+ f_ptr_buf, mem_type_id) BIND(C, NAME='h5dfill_c')
+ IMPORT :: c_ptr
+ IMPORT :: HID_T
+ IMPLICIT NONE
+ TYPE(C_PTR), VALUE :: f_ptr_fill_value
+ INTEGER(HID_T) :: fill_type_id ! Fill value datatype identifier
+ INTEGER(HID_T), INTENT(IN) :: space_id ! Memory dataspace selection identifier
+ TYPE(C_PTR), VALUE :: f_ptr_buf
+ INTEGER(HID_T) :: mem_type_id
+ END FUNCTION h5dfill_c
+ END INTERFACE
+
+CONTAINS
+
+!
+!****s* H5D/h5dcreate_f
+!
+! NAME
+! h5dcreate_f
+!
+! PURPOSE
+! Creates a dataset at the specified location
+!
+! INPUTS
+! loc_id - file or group identifier
+! name - dataset name
+! type_id - dataset datatype identifier
+! space_id - dataset dataspace identifier
+! OUTPUTS
+! dset_id - dataset identifier
+! hdferr - Returns 0 if successful and -1 if fails
+! OPTIONAL PARAMETERS
+! creation_prp - Dataset creation property list
+! lcpl_id - Link creation property list
+! dapl_id - Dataset access property list
+!
+! AUTHOR
+! Elena Pourmal
+! August 12, 1999
+!
+! HISTORY
+!
+! - Explicit Fortran interfaces were added for
+! called C functions (it is needed for Windows
+! port). February 28, 2001
+!
+! - Added version's 1.8 new optional parameters
+! February, 2008
+!
+! SOURCE
+ SUBROUTINE h5dcreate_f(loc_id, name, type_id, space_id, dset_id, &
+ hdferr, dcpl_id, lcpl_id, dapl_id)
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: loc_id ! File or group identifier
+ CHARACTER(LEN=*), INTENT(IN) :: name ! Name of the dataset
+ INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier
+ INTEGER(HID_T), INTENT(IN) :: space_id ! Dataspace identifier
+ INTEGER(HID_T), INTENT(OUT) :: dset_id ! Dataset identifier
+ INTEGER, INTENT(OUT) :: hdferr ! Error code
+!*****
+ INTEGER(HID_T), OPTIONAL, INTENT(IN) :: dcpl_id ! Dataset creation property list
+ INTEGER(HID_T), OPTIONAL, INTENT(IN) :: lcpl_id ! Link creation property list
+ INTEGER(HID_T), OPTIONAL, INTENT(IN) :: dapl_id ! Dataset access property list
+
+ INTEGER(HID_T) :: lcpl_id_default
+ INTEGER(HID_T) :: dcpl_id_default
+ INTEGER(HID_T) :: dapl_id_default
+
+ INTEGER :: namelen ! Name length
+
+ INTERFACE
+ INTEGER FUNCTION h5dcreate_c(loc_id, name, namelen, type_id, &
+ space_id, lcpl_id_default, dcpl_id_default, dapl_id_default, dset_id) &
+ BIND(C,NAME='h5dcreate_c')
+ IMPORT :: C_CHAR
+ IMPORT :: HID_T
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: loc_id
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(IN) :: name
+ INTEGER :: namelen
+ INTEGER(HID_T), INTENT(IN) :: type_id
+ INTEGER(HID_T), INTENT(IN) :: space_id
+
+ INTEGER(HID_T) :: lcpl_id_default
+ INTEGER(HID_T) :: dcpl_id_default
+ INTEGER(HID_T) :: dapl_id_default
+
+ INTEGER(HID_T), INTENT(OUT) :: dset_id
+ END FUNCTION h5dcreate_c
+ END INTERFACE
+
+ lcpl_id_default = H5P_DEFAULT_F
+ dcpl_id_default = H5P_DEFAULT_F
+ dapl_id_default = H5P_DEFAULT_F
+
+ IF(PRESENT(lcpl_id)) lcpl_id_default = lcpl_id
+ IF(PRESENT(dcpl_id)) dcpl_id_default = dcpl_id
+ IF(PRESENT(dapl_id)) dapl_id_default = dapl_id
+
+ namelen = LEN(name)
+ hdferr = h5dcreate_c(loc_id, name, namelen, type_id, space_id, &
+ lcpl_id_default, dcpl_id_default, dapl_id_default, dset_id)
+
+ END SUBROUTINE h5dcreate_f
+
+!
+!****s* H5D/h5dopen_f
+!
+! NAME
+! h5dopen_f
+!
+! PURPOSE
+! Opens an existing dataset.
+!
+! INPUTS
+! loc_id - file or group identifier
+! name - dataset name
+! OUTPUTS
+! dset_id - dataset identifier
+! hdferr - Returns 0 if successful and -1 if fails
+! OPTIONAL PARAMETERS
+! dapl_id - Dataset access property list
+!
+! AUTHOR
+! Elena Pourmal
+! August 12, 1999
+!
+! HISTORY
+! -Explicit Fortran interfaces were added for
+! called C functions (it is needed for Windows
+! port). February 28, 2001
+!
+! -Added 1.8 (optional) parameter dapl_id
+! February, 2008, M. Scot Breitenfeld
+!
+! SOURCE
+ SUBROUTINE h5dopen_f(loc_id, name, dset_id, hdferr, dapl_id)
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: loc_id ! File or group identifier
+ CHARACTER(LEN=*), INTENT(IN) :: name ! Name of the dataset
+ INTEGER(HID_T), INTENT(OUT) :: dset_id ! Dataset identifier
+ INTEGER, INTENT(OUT) :: hdferr ! Error code
+ INTEGER(HID_T), OPTIONAL, INTENT(IN) :: dapl_id ! Dataset access property list
+!*****
+ INTEGER :: namelen ! Name length
+
+ INTEGER(HID_T) :: dapl_id_default
+
+ INTERFACE
+ INTEGER FUNCTION h5dopen_c(loc_id, name, namelen, dapl_id_default, dset_id) &
+ BIND(C,NAME='h5dopen_c')
+ IMPORT :: C_CHAR
+ IMPORT :: HID_T
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: loc_id
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(IN) :: name
+ INTEGER :: namelen
+ INTEGER(HID_T), INTENT(IN) :: dapl_id_default
+ INTEGER(HID_T), INTENT(OUT) :: dset_id
+ END FUNCTION h5dopen_c
+ END INTERFACE
+
+ dapl_id_default = H5P_DEFAULT_F
+ IF(PRESENT(dapl_id)) dapl_id_default = dapl_id
+
+ namelen = LEN(name)
+ hdferr = h5dopen_c(loc_id, name, namelen, dapl_id_default, dset_id)
+
+ END SUBROUTINE h5dopen_f
+
+!
+!****s* H5D/h5dclose_f
+!
+! NAME
+! h5dclose_f
+!
+! PURPOSE
+! Closes a dataset.
+!
+! INPUTS
+! dset_id - dataset identifier
+! OUTPUTS
+! hdferr - Returns 0 if successful and -1 if fails
+!
+! AUTHOR
+! Elena Pourmal
+! August 12, 1999
+!
+! HISTORY
+! Explicit Fortran interfaces were added for
+! called C functions (it is needed for Windows
+! port). February 28, 2001
+!
+! SOURCE
+ SUBROUTINE h5dclose_f(dset_id, hdferr)
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
+ INTEGER, INTENT(OUT) :: hdferr ! Error code
+!*****
+ INTERFACE
+ INTEGER FUNCTION h5dclose_c(dset_id) &
+ BIND(C,NAME='h5dclose_c')
+ IMPORT :: HID_T
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: dset_id
+ END FUNCTION h5dclose_c
+ END INTERFACE
+
+ hdferr = h5dclose_c(dset_id)
+
+ END SUBROUTINE h5dclose_f
+
+!
+!****s* H5D/h5dget_type_f
+!
+! NAME
+! h5dget_type_f
+!
+! PURPOSE
+! Returns an identifier for a copy of the datatype for a
+! dataset.
+!
+! INPUTS
+! dataset_id - dataset identifier
+! OUTPUTS
+! datatype_id - dataspace identifier
+! hdferr - Returns 0 if successful and -1 if fails
+!
+! AUTHOR
+! Elena Pourmal
+! August 12, 1999
+!
+! HISTORY
+! Explicit Fortran interfaces were added for
+! called C functions (it is needed for Windows
+! port). February 28, 2001
+!
+! NOTES
+!
+! SOURCE
+ SUBROUTINE h5dget_type_f(dataset_id, datatype_id, hdferr)
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: dataset_id ! Dataset identifier
+ INTEGER(HID_T), INTENT(OUT) :: datatype_id ! Datatype identifier
+ INTEGER, INTENT(OUT) :: hdferr ! Error code
+!*****
+ INTERFACE
+ INTEGER FUNCTION h5dget_type_c(dataset_id, datatype_id) &
+ BIND(C,NAME='h5dget_type_c')
+ IMPORT :: HID_T
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: dataset_id
+ INTEGER(HID_T), INTENT(OUT) :: datatype_id
+ END FUNCTION h5dget_type_c
+ END INTERFACE
+
+ hdferr = h5dget_type_c (dataset_id, datatype_id)
+ END SUBROUTINE h5dget_type_f
+
+!
+!****s* H5D/h5dset_extent
+!
+! NAME
+! h5dset_extent (instead of obsolete name: h5dextend_f)
+!
+! PURPOSE
+! Extends a dataset with unlimited dimension.
+!
+! INPUTS
+! dataset_id - dataset identifier
+! size - array containing the new magnitude of
+! each dimension
+! OUTPUTS
+! hdferr - Returns 0 if successful and -1 if fails
+!
+! AUTHOR
+! Elena Pourmal
+! August 12, 1999
+!
+! HISTORY
+! Explicit Fortran interfaces were added for
+! called C functions (it is needed for Windows
+! port). February 28, 2001
+!
+! Changed name from the now obsolete h5dextend_f
+! to h5dset_extent_f. Provided interface to old name
+! for backward compatability. -MSB- March 14, 2008
+!
+! SOURCE
+ SUBROUTINE h5dset_extent_f(dataset_id, size, hdferr)
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: dataset_id ! Dataset identifier
+ INTEGER(HSIZE_T), DIMENSION(*), INTENT(IN) :: size
+ ! Array containing
+ ! dimensions' sizes
+ INTEGER, INTENT(OUT) :: hdferr ! Error code
+!*****
+ INTERFACE
+ INTEGER FUNCTION h5dset_extent_c(dataset_id, size) &
+ BIND(C,NAME='h5dset_extent_c')
+ IMPORT :: HID_T, HSIZE_T
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: dataset_id
+ INTEGER(HSIZE_T), DIMENSION(*), INTENT(IN) :: size
+ END FUNCTION h5dset_extent_c
+ END INTERFACE
+
+ hdferr = H5Dset_extent_c(dataset_id, size)
+ END SUBROUTINE h5dset_extent_f
+
+!****s* H5D/h5dget_create_plist_f
+!
+! NAME
+! h5dget_create_plist_f
+!
+! PURPOSE
+! Returns an identifier for a copy of the dataset creation
+! property list for a dataset.
+!
+! INPUTS
+! dataset_id - dataset identifier
+! OUTPUTS
+! plist_id - creation property list identifier
+! hdferr - Returns 0 if successful and -1 if fails
+!
+! AUTHOR
+! Elena Pourmal
+! August 12, 1999
+!
+! HISTORY
+! Explicit Fortran interfaces were added for
+! called C functions (it is needed for Windows
+! port). February 28, 2001
+! SOURCE
+ SUBROUTINE h5dget_create_plist_f(dataset_id, plist_id, hdferr)
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: dataset_id ! Dataset identifier
+ INTEGER(HID_T), INTENT(OUT) :: plist_id ! Dataset creation
+ ! property list identifier
+ INTEGER, INTENT(OUT) :: hdferr ! Error code
+!*****
+ INTERFACE
+ INTEGER FUNCTION h5dget_create_plist_c(dataset_id, plist_id) &
+ BIND(C,NAME='h5dget_create_plist_c')
+ IMPORT :: HID_T
+ INTEGER(HID_T), INTENT(IN) :: dataset_id
+ INTEGER(HID_T), INTENT(OUT) :: plist_id
+ END FUNCTION h5dget_create_plist_c
+ END INTERFACE
+
+ hdferr = h5dget_create_plist_c(dataset_id, plist_id)
+ END SUBROUTINE h5dget_create_plist_f
+
+!
+!****s* H5D/h5dget_storage_size_f
+!
+! NAME
+! h5dget_storage_size_f
+!
+! PURPOSE
+! Returns the amount of storage requires by a dataset
+!
+! INPUTS
+! dataset_id - dataset identifier
+! OUTPUTS
+! size - datastorage size
+! hdferr - Returns 0 if successful and -1 if fails
+!
+! AUTHOR
+! Elena Pourmal
+! October 15, 2002
+! SOURCE
+ SUBROUTINE h5dget_storage_size_f(dataset_id, size, hdferr)
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: dataset_id ! Dataset identifier
+ INTEGER(HSIZE_T), INTENT(OUT) :: size ! Amount of storage
+ ! allocated for dataset
+ INTEGER, INTENT(OUT) :: hdferr ! Error code
+!*****
+ INTERFACE
+ INTEGER FUNCTION h5dget_storage_size_c(dataset_id, size) &
+ BIND(C,NAME='h5dget_storage_size_c')
+ IMPORT :: HID_T, HSIZE_T
+ INTEGER(HID_T), INTENT(IN) :: dataset_id
+ INTEGER(HSIZE_T), INTENT(OUT) :: size
+ END FUNCTION h5dget_storage_size_c
+ END INTERFACE
+
+ hdferr = h5dget_storage_size_c(dataset_id, size)
+ END SUBROUTINE h5dget_storage_size_f
+
+!
+!****s* H5D/h5dvlen_get_max_len_f
+!
+! NAME
+! h5dvlen_get_max_len_f
+!
+! PURPOSE
+! Returns maximum length of the VL array elements
+!
+! INPUTS
+! dataset_id - dataset identifier
+! type_id - datatype identifier
+! space_id - dataspace identifier
+! OUTPUTS
+! size - buffer size
+! hdferr - Returns 0 if successful and -1 if fails
+! OPTIONAL PARAMETERS
+! NONE
+!
+! AUTHOR
+! Elena Pourmal
+! October 15, 2002
+!
+! SOURCE
+ SUBROUTINE h5dvlen_get_max_len_f(dataset_id, type_id, space_id, len, hdferr)
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: dataset_id ! Dataset identifier
+ INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier
+ INTEGER(HID_T), INTENT(IN) :: space_id ! Dataspace identifier
+ INTEGER(SIZE_T), INTENT(OUT) :: len ! Maximum length of the element
+ INTEGER, INTENT(OUT) :: hdferr ! Error code
+!*****
+ INTERFACE
+ INTEGER FUNCTION h5dvlen_get_max_len_c(dataset_id, type_id, space_id, len) &
+ BIND(C,NAME='h5dvlen_get_max_len_c')
+ IMPORT :: HID_T, SIZE_T
+ INTEGER(HID_T), INTENT(IN) :: dataset_id
+ INTEGER(HID_T), INTENT(IN) :: type_id
+ INTEGER(HID_T), INTENT(IN) :: space_id
+ INTEGER(SIZE_T), INTENT(OUT) :: len
+ END FUNCTION h5dvlen_get_max_len_c
+ END INTERFACE
+
+ hdferr = h5dvlen_get_max_len_c(dataset_id, type_id, space_id, len)
+ END SUBROUTINE h5dvlen_get_max_len_f
+
+!
+!****s* H5D/h5dget_space_status_f
+!
+! NAME
+! h5dget_space_status_f
+!
+! PURPOSE
+! Returns the status of data space allocation.
+!
+! INPUTS
+! dset_id - dataset identifier
+! OUTPUTS
+! flag - status; may have one of the following values:
+! H5D_SPACE_STS_ERROR_F
+! H5D_SPACE_STS_NOT_ALLOCATED_F
+! H5D_SPACE_STS_PART_ALLOCATED_F
+! H5D_SPACE_STS_ALLOCATED_F
+! hdferr - Returns 0 if successful and -1 if fails
+!
+! AUTHOR
+! Elena Pourmal
+! March 12, 2003
+!
+! SOURCE
+ SUBROUTINE h5dget_space_status_f(dset_id, flag, hdferr)
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataspace identifier
+ INTEGER, INTENT(OUT) :: flag ! Memory buffer to fill in
+ INTEGER, INTENT(OUT) :: hdferr ! Error code
+ !*****
+ INTERFACE
+ INTEGER FUNCTION h5dget_space_status_c(dset_id, flag) &
+ BIND(C,NAME='h5dget_space_status_c')
+ IMPORT :: HID_T
+ INTEGER(HID_T) :: dset_id
+ INTEGER :: flag
+ END FUNCTION h5dget_space_status_c
+ END INTERFACE
+
+ hdferr = h5dget_space_status_c(dset_id, flag)
+ END SUBROUTINE h5dget_space_status_f
+
+!
+!****s* H5D/h5dcreate_anon_f
+!
+! NAME
+! h5dcreate_anon_f
+!
+! PURPOSE
+! Creates a dataset in a file without linking it into the file structure
+!
+! INPUTS
+! loc_id - Identifier of the file or group within which to create the dataset.
+! type_id - Identifier of the datatype to use when creating the dataset.
+! space_id - Identifier of the dataspace to use when creating the dataset.
+! OUTPUTS
+! dset_id - dataset identifier
+! hdferr - Returns 0 if successful and -1 if fails
+! OPTIONAL PARAMETERS
+! dcpl_id - Dataset creation property list identifier.
+! dapl_id - Dataset access property list identifier.
+!
+! AUTHOR
+! M. Scot Breitenfeld
+! February 11, 2008
+!
+! SOURCE
+ SUBROUTINE h5dcreate_anon_f(loc_id, type_id, space_id, dset_id, hdferr, dcpl_id, dapl_id)
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: loc_id ! File or group identifier.
+ INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier.
+ INTEGER(HID_T), INTENT(IN) :: space_id ! Dataspace identifier.
+ INTEGER(HID_T), INTENT(OUT) :: dset_id ! Dataset identifier.
+ INTEGER, INTENT(OUT) :: hdferr ! Error code.
+ INTEGER(HID_T), OPTIONAL, INTENT(IN) :: dcpl_id ! Dataset creation property list identifier.
+ INTEGER(HID_T), OPTIONAL, INTENT(IN) :: dapl_id ! Dataset access property list identifier.
+!*****
+ INTEGER(HID_T) :: dcpl_id_default
+ INTEGER(HID_T) :: dapl_id_default
+
+ !
+ ! MS FORTRAN needs explicit interface for C functions called here.
+ !
+ INTERFACE
+ INTEGER FUNCTION h5dcreate_anon_c(loc_id, type_id, space_id, dcpl_id_default, dapl_id_default, dset_id) &
+ BIND(C,NAME='h5dcreate_anon_c')
+ IMPORT :: HID_T
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: loc_id
+ INTEGER(HID_T), INTENT(IN) :: type_id
+ INTEGER(HID_T), INTENT(IN) :: space_id
+ INTEGER(HID_T) :: dcpl_id_default
+ INTEGER(HID_T) :: dapl_id_default
+ INTEGER(HID_T), INTENT(OUT) :: dset_id
+ END FUNCTION h5dcreate_anon_c
+ END INTERFACE
+
+ dcpl_id_default = H5P_DEFAULT_F
+ dapl_id_default = H5P_DEFAULT_F
+
+ IF(PRESENT(dcpl_id)) dcpl_id_default = dcpl_id
+ IF(PRESENT(dapl_id)) dapl_id_default = dapl_id
+
+ hdferr = h5dcreate_anon_c(loc_id, type_id, space_id, dcpl_id_default, dapl_id_default, dset_id)
+
+ END SUBROUTINE h5dcreate_anon_f
+
+ SUBROUTINE h5dwrite_vl_integer(dset_id, mem_type_id, buf, dims, len, &
+ hdferr, &
+ mem_space_id, file_space_id, xfer_prp)
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
+ INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
+ INTEGER(HSIZE_T), INTENT(IN), DIMENSION(2) :: dims ! MAX len x num_elem
+ INTEGER(SIZE_T), INTENT(IN), DIMENSION(*) :: len ! Array to store
+ ! the length of each
+ ! element
+ INTEGER, INTENT(IN), DIMENSION(dims(1),dims(2)), TARGET :: buf ! Data buffer
+ INTEGER, INTENT(OUT) :: hdferr ! Error code
+ INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id ! Memory dataspace identfier
+ INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id ! File dataspace identfier
+ INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp ! Transfer property list identifier
+ INTEGER(HID_T) :: xfer_prp_default
+ INTEGER(HID_T) :: mem_space_id_default
+ INTEGER(HID_T) :: file_space_id_default
+
+ INTERFACE
+ INTEGER FUNCTION h5dwrite_vl_integer_c(dset_id, mem_type_id, &
+ mem_space_id_default, &
+ file_space_id_default, &
+ xfer_prp_default, buf, dims, len) &
+ BIND(C,NAME='h5dwrite_vl_integer_c')
+ IMPORT :: HID_T, HSIZE_T, SIZE_T
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: dset_id
+ INTEGER(HID_T), INTENT(IN) :: mem_type_id
+ INTEGER(HID_T) :: mem_space_id_default
+ INTEGER(HID_T) :: file_space_id_default
+ INTEGER(HID_T) :: xfer_prp_default
+ INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
+ INTEGER(SIZE_T), INTENT(IN), DIMENSION(*) :: len
+ INTEGER, INTENT(IN), DIMENSION(dims(1),dims(2)) :: buf
+ END FUNCTION h5dwrite_vl_integer_c
+ END INTERFACE
+
+ xfer_prp_default = H5P_DEFAULT_F
+ mem_space_id_default = H5S_ALL_F
+ file_space_id_default = H5S_ALL_F
+
+ IF (PRESENT(xfer_prp)) xfer_prp_default = xfer_prp
+ IF (PRESENT(mem_space_id)) mem_space_id_default = mem_space_id
+ IF (PRESENT(file_space_id)) file_space_id_default = file_space_id
+
+ hdferr = h5dwrite_vl_integer_c(dset_id, mem_type_id, mem_space_id_default, &
+ file_space_id_default, xfer_prp_default, &
+ buf, dims, len)
+
+ END SUBROUTINE h5dwrite_vl_integer
+
+ SUBROUTINE h5dread_vl_integer(dset_id, mem_type_id, buf, dims, len, &
+ hdferr, &
+ mem_space_id, file_space_id, xfer_prp)
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
+ INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
+ INTEGER(HSIZE_T), INTENT(IN), DIMENSION(2) :: dims ! MAX len x num_elem
+ INTEGER(SIZE_T), INTENT(INOUT), DIMENSION(*) :: len ! Array to store
+ ! the length of each
+ ! element
+ INTEGER, INTENT(INOUT), &
+ DIMENSION(dims(1),dims(2)), TARGET :: buf ! Data buffer
+ INTEGER, INTENT(OUT) :: hdferr ! Error code
+ ! -1 if failed, 0 otherwise
+ INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id ! Memory dataspace identfier
+ INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id ! File dataspace identfier
+ INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp ! Transfer property list identifier
+ INTEGER(HID_T) :: xfer_prp_default
+ INTEGER(HID_T) :: mem_space_id_default
+ INTEGER(HID_T) :: file_space_id_default
+ INTEGER(HID_T) :: tmp
+ INTEGER :: error
+
+ INTERFACE
+ INTEGER FUNCTION h5dread_vl_integer_c(dset_id, mem_type_id, &
+ mem_space_id_default, &
+ file_space_id_default, &
+ xfer_prp_default, buf, dims, len) &
+ BIND(C,NAME='h5dread_vl_integer_c')
+ IMPORT :: HID_T, HSIZE_T, SIZE_T
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: dset_id
+ INTEGER(HID_T), INTENT(IN) :: mem_type_id
+ INTEGER(HID_T) :: mem_space_id_default
+ INTEGER(HID_T) :: file_space_id_default
+ INTEGER(HID_T) :: xfer_prp_default
+ INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
+ INTEGER(SIZE_T), INTENT(INOUT), DIMENSION(*) :: len
+ INTEGER, INTENT(INOUT), DIMENSION(dims(1),dims(2)) :: buf
+ END FUNCTION h5dread_vl_integer_c
+ END INTERFACE
+
+ CALL h5dget_space_f(dset_id, tmp, error)
+ xfer_prp_default = H5P_DEFAULT_F
+ mem_space_id_default = tmp
+ file_space_id_default = tmp
+
+ IF (PRESENT(xfer_prp)) xfer_prp_default = xfer_prp
+ IF (PRESENT(mem_space_id)) mem_space_id_default = mem_space_id
+ IF (PRESENT(file_space_id)) file_space_id_default = file_space_id
+
+ hdferr = h5dread_vl_integer_c(dset_id, mem_type_id, mem_space_id_default, &
+ file_space_id_default, xfer_prp_default, &
+ buf, dims, len)
+
+ END SUBROUTINE h5dread_vl_integer
+
+ SUBROUTINE h5dwrite_vl_real(dset_id, mem_type_id, buf, dims, len, &
+ hdferr, &
+ mem_space_id, file_space_id, xfer_prp)
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
+ INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
+ INTEGER(HSIZE_T), INTENT(IN), DIMENSION(2) :: dims ! MAX len x num_elem
+ INTEGER(SIZE_T), INTENT(IN), DIMENSION(*) :: len ! Array to store
+ ! the length of each
+ ! element
+ REAL, INTENT(IN), &
+ DIMENSION(dims(1),dims(2)) :: buf ! Data buffer
+ INTEGER, INTENT(OUT) :: hdferr ! Error code
+ INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id ! Memory dataspace identfier
+ INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id ! File dataspace identfier
+ INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp ! Transfer property list identifier
+
+ INTEGER(HID_T) :: xfer_prp_default
+ INTEGER(HID_T) :: mem_space_id_default
+ INTEGER(HID_T) :: file_space_id_default
+
+ INTERFACE
+ INTEGER FUNCTION h5dwrite_vl_real_c(dset_id, mem_type_id, &
+ mem_space_id_default, &
+ file_space_id_default, &
+ xfer_prp_default, buf, dims, len) &
+ BIND(C,NAME='h5dwrite_vl_real_c')
+ IMPORT :: HID_T, HSIZE_T, SIZE_T
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: dset_id
+ INTEGER(HID_T), INTENT(IN) :: mem_type_id
+ INTEGER(HID_T) :: mem_space_id_default
+ INTEGER(HID_T) :: file_space_id_default
+ INTEGER(HID_T) :: xfer_prp_default
+ INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
+ INTEGER(SIZE_T), INTENT(IN), DIMENSION(*) :: len
+ REAL, INTENT(IN), &
+ DIMENSION(dims(1),dims(2)) :: buf
+ END FUNCTION h5dwrite_vl_real_c
+ END INTERFACE
+
+
+ xfer_prp_default = H5P_DEFAULT_F
+ mem_space_id_default = H5S_ALL_F
+ file_space_id_default = H5S_ALL_F
+
+ IF (PRESENT(xfer_prp)) xfer_prp_default = xfer_prp
+ IF (PRESENT(mem_space_id)) mem_space_id_default = mem_space_id
+ IF (PRESENT(file_space_id)) file_space_id_default = file_space_id
+
+ hdferr = h5dwrite_vl_real_c(dset_id, mem_type_id, mem_space_id_default, &
+ file_space_id_default, xfer_prp_default, &
+ buf, dims, len)
+
+ END SUBROUTINE h5dwrite_vl_real
+
+ SUBROUTINE h5dread_vl_real(dset_id, mem_type_id, buf, dims, len, &
+ hdferr, &
+ mem_space_id, file_space_id, xfer_prp)
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
+ INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
+ INTEGER(HSIZE_T), INTENT(IN), DIMENSION(2) :: dims ! MAX len x num_elem
+ INTEGER(SIZE_T), INTENT(INOUT), DIMENSION(*) :: len ! Array to store the length of each element
+ REAL, INTENT(INOUT), &
+ DIMENSION(dims(1),dims(2)) :: buf ! Data buffer
+ INTEGER, INTENT(OUT) :: hdferr ! Error code
+ ! -1 if failed, 0 otherwise
+ INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id ! Memory dataspace identfier
+ INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id ! File dataspace identfier
+ INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp ! Transfer property list identifier
+
+ INTEGER(HID_T) :: xfer_prp_default
+ INTEGER(HID_T) :: mem_space_id_default
+ INTEGER(HID_T) :: file_space_id_default
+ INTEGER(HID_T) :: tmp
+ INTEGER :: error
+
+ INTERFACE
+ INTEGER FUNCTION h5dread_vl_real_c(dset_id, mem_type_id, &
+ mem_space_id_default, &
+ file_space_id_default, &
+ xfer_prp_default, buf, dims, len) &
+ BIND(C,NAME='h5dread_vl_real_c')
+ IMPORT :: HID_T, HSIZE_T, SIZE_T
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: dset_id
+ INTEGER(HID_T), INTENT(IN) :: mem_type_id
+ INTEGER(HID_T) :: mem_space_id_default
+ INTEGER(HID_T) :: file_space_id_default
+ INTEGER(HID_T) :: xfer_prp_default
+ INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
+ INTEGER(SIZE_T), INTENT(INOUT), DIMENSION(*) :: len
+ REAL, INTENT(INOUT), &
+ DIMENSION(dims(1),dims(2)) :: buf
+ END FUNCTION h5dread_vl_real_c
+ END INTERFACE
+
+ CALL h5dget_space_f(dset_id, tmp, error)
+ xfer_prp_default = H5P_DEFAULT_F
+ mem_space_id_default = tmp
+ file_space_id_default = tmp
+
+ IF (PRESENT(xfer_prp)) xfer_prp_default = xfer_prp
+ IF (PRESENT(mem_space_id)) mem_space_id_default = mem_space_id
+ IF (PRESENT(file_space_id)) file_space_id_default = file_space_id
+
+ hdferr = h5dread_vl_real_c(dset_id, mem_type_id, mem_space_id_default, &
+ file_space_id_default, xfer_prp_default, &
+ buf, dims, len)
+
+ END SUBROUTINE h5dread_vl_real
+
+ SUBROUTINE h5dwrite_vl_string(dset_id, mem_type_id, buf, dims, str_len, &
+ hdferr, &
+ mem_space_id, file_space_id, xfer_prp)
+ USE, INTRINSIC :: ISO_C_BINDING, ONLY : c_char
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
+ INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
+ INTEGER(HSIZE_T), INTENT(IN), DIMENSION(2) :: dims ! Number of strings
+ INTEGER(SIZE_T), INTENT(IN), DIMENSION(*) :: str_len ! Array to store the length of each element
+ CHARACTER(LEN=*), INTENT(IN), DIMENSION(dims(2)) :: buf ! Data buffer
+ INTEGER, INTENT(OUT) :: hdferr ! Error code
+ INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id ! Memory dataspace identfier
+ INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id ! File dataspace identfier
+ INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp ! Transfer property list identifier
+
+ INTEGER(HID_T) :: xfer_prp_default
+ INTEGER(HID_T) :: mem_space_id_default
+ INTEGER(HID_T) :: file_space_id_default
+
+ INTERFACE
+ INTEGER FUNCTION h5dwrite_vl_string_c(dset_id, mem_type_id, &
+ mem_space_id_default, &
+ file_space_id_default, &
+ ! xfer_prp_default, tmp_buf, dims, str_len)
+ xfer_prp_default, buf, dims, str_len) &
+ BIND(C,NAME='h5dwrite_vl_string_c')
+ IMPORT :: C_CHAR
+ IMPORT :: HID_T, HSIZE_T, SIZE_T
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: dset_id
+ INTEGER(HID_T), INTENT(IN) :: mem_type_id
+ INTEGER(HID_T) :: mem_space_id_default
+ INTEGER(HID_T) :: file_space_id_default
+ INTEGER(HID_T) :: xfer_prp_default
+ INTEGER(HSIZE_T), INTENT(IN), DIMENSION(2) :: dims
+ INTEGER(SIZE_T), INTENT(IN), DIMENSION(*) :: str_len
+ CHARACTER(KIND=C_CHAR), DIMENSION(dims(2)) :: buf
+ END FUNCTION
+ END INTERFACE
+
+
+ xfer_prp_default = H5P_DEFAULT_F
+ mem_space_id_default = H5S_ALL_F
+ file_space_id_default = H5S_ALL_F
+
+ IF (PRESENT(xfer_prp)) xfer_prp_default = xfer_prp
+ IF (PRESENT(mem_space_id)) mem_space_id_default = mem_space_id
+ IF (PRESENT(file_space_id)) file_space_id_default = file_space_id
+
+ hdferr = h5dwrite_vl_string_c(dset_id, mem_type_id, mem_space_id_default, &
+ file_space_id_default, xfer_prp_default, &
+ buf, dims, str_len)
+
+ END SUBROUTINE h5dwrite_vl_string
+
+ SUBROUTINE h5dread_vl_string(dset_id, mem_type_id, buf, dims, str_len, &
+ hdferr, mem_space_id, file_space_id, xfer_prp)
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
+ INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
+ INTEGER(HSIZE_T), INTENT(IN), DIMENSION(2) :: dims ! number of strings
+ INTEGER(SIZE_T), INTENT(OUT), DIMENSION(*) :: str_len ! Array to store
+ ! the length of each
+ ! element
+ CHARACTER(LEN=*), INTENT(OUT), &
+ DIMENSION(dims(2)) :: buf ! Data buffer
+ INTEGER, INTENT(OUT) :: hdferr ! Error code
+ INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id ! Memory dataspace identfier
+ INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id ! File dataspace identfier
+ INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp ! Transfer property list identifier
+
+ INTEGER(HID_T) :: xfer_prp_default
+ INTEGER(HID_T) :: mem_space_id_default
+ INTEGER(HID_T) :: file_space_id_default
+
+ INTERFACE
+ INTEGER FUNCTION h5dread_vl_string_c(dset_id, mem_type_id, &
+ mem_space_id_default, &
+ file_space_id_default, &
+ xfer_prp_default, buf, dims, str_len) &
+ BIND(C,NAME='h5dread_vl_string_c')
+ IMPORT :: c_char
+ IMPORT :: HID_T, HSIZE_T, SIZE_T
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: dset_id
+ INTEGER(HID_T), INTENT(IN) :: mem_type_id
+ INTEGER(HID_T) :: mem_space_id_default
+ INTEGER(HID_T) :: file_space_id_default
+ INTEGER(HID_T) :: xfer_prp_default
+ INTEGER(HSIZE_T), INTENT(IN), DIMENSION(2) :: dims
+ INTEGER(SIZE_T), INTENT(OUT), DIMENSION(*) :: str_len
+ CHARACTER(KIND=C_CHAR), DIMENSION(dims(2)) :: buf
+ END FUNCTION h5dread_vl_string_c
+ END INTERFACE
+
+ xfer_prp_default = H5P_DEFAULT_F
+ mem_space_id_default = H5S_ALL_F
+ file_space_id_default = H5S_ALL_F
+
+ IF (PRESENT(xfer_prp)) xfer_prp_default = xfer_prp
+ IF (PRESENT(mem_space_id)) mem_space_id_default = mem_space_id
+ IF (PRESENT(file_space_id)) file_space_id_default = file_space_id
+
+ hdferr = h5dread_vl_string_c(dset_id, mem_type_id, mem_space_id_default, &
+ file_space_id_default, xfer_prp_default, &
+ buf, dims, str_len)
+ RETURN
+ END SUBROUTINE h5dread_vl_string
+
+!
+!****s* H5D/h5dget_offset_f
+!
+! NAME
+! h5dget_offset_f
+!
+! PURPOSE
+! Returns dataset address in file.
+!
+! INPUTS
+! dataset_id - Dataset identifier.
+! OUTPUTS
+! offset - The offset in bytes.
+! hdferr - Returns 0 if successful and -1 if fails.
+!
+! AUTHOR
+! M. Scot Breitenfeld
+! April 16, 2015
+!
+! SOURCE
+ SUBROUTINE h5dget_offset_f(dset_id, offset, hdferr)
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: dset_id
+ INTEGER(HADDR_T), INTENT(OUT) :: offset
+ INTEGER, INTENT(OUT) :: hdferr
+!*****
+ INTERFACE
+ INTEGER(HADDR_T) FUNCTION h5dget_offset(dset_id) BIND(C,NAME='H5Dget_offset')
+ IMPORT :: HID_T, HADDR_T
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN), VALUE :: dset_id
+ END FUNCTION h5dget_offset
+ END INTERFACE
+
+ offset = h5dget_offset(dset_id)
+
+ hdferr = 0 ! never returns a function error because C API never returns a function error.
+
+ END SUBROUTINE h5dget_offset_f
+
+!
+!****s* H5D/h5dget_space_f
+!
+! NAME
+! h5dget_space_f
+!
+! PURPOSE
+! Returns an identifier for a copy of the dataspace for a
+! dataset.
+!
+! INPUTS
+! dataset_id - dataset identifier
+! OUTPUTS
+! dataspace_id - dataspace identifier
+! hdferr - Returns 0 if successful and -1 if fails
+!
+! AUTHOR
+! Elena Pourmal
+! August 12, 1999
+!
+! HISTORY
+! Explicit Fortran interfaces were added for
+! called C functions (it is needed for Windows
+! port). February 28, 2001
+!
+! SOURCE
+ SUBROUTINE h5dget_space_f(dataset_id, dataspace_id, hdferr)
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: dataset_id ! Dataset identifier
+ INTEGER(HID_T), INTENT(OUT) :: dataspace_id ! Dataspace identifier
+ INTEGER, INTENT(OUT) :: hdferr ! Error code
+!*****
+ INTERFACE
+ INTEGER FUNCTION h5dget_space_c(dataset_id, dataspace_id) BIND(C,NAME='h5dget_space_c')
+ IMPORT :: HID_T
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: dataset_id
+ INTEGER(HID_T), INTENT(OUT) :: dataspace_id
+ END FUNCTION h5dget_space_c
+ END INTERFACE
+
+ hdferr = h5dget_space_c(dataset_id, dataspace_id)
+ END SUBROUTINE h5dget_space_f
+
+!****s* H5D/h5dget_access_plist_f
+!
+! NAME
+! h5dget_access_plist_f
+!
+! PURPOSE
+! Returns a copy of the dataset creation property list.
+!
+! INPUTS
+! dset_id - Dataset identifier
+!
+! OUTPUTS
+! plist_id - Dataset access property list identifier
+! hdferr - Returns 0 if successful and -1 if fails
+!
+! AUTHOR
+! M. Scot Breitenfeld
+! April 13, 2009
+!
+! SOURCE
+ SUBROUTINE h5dget_access_plist_f(dset_id, plist_id, hdferr)
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: dset_id
+ INTEGER(HID_T), INTENT(OUT) :: plist_id
+ INTEGER , INTENT(OUT) :: hdferr
+ !*****
+ INTERFACE
+ INTEGER FUNCTION h5dget_access_plist_c(dset_id, plist_id) BIND(C,NAME='h5dget_access_plist_c')
+ IMPORT :: HID_T
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: dset_id
+ INTEGER(HID_T), INTENT(OUT) :: plist_id
+ END FUNCTION h5dget_access_plist_c
+ END INTERFACE
+
+ hdferr = h5dget_access_plist_c(dset_id, plist_id)
+
+ END SUBROUTINE h5dget_access_plist_f
+
+
+ SUBROUTINE h5dwrite_reference_obj(dset_id, mem_type_id, buf, dims, hdferr, &
+ mem_space_id, file_space_id, xfer_prp)
+ USE, INTRINSIC :: ISO_C_BINDING
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
+ INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
+ INTEGER(HSIZE_T), DIMENSION(*), INTENT(IN) :: dims ! size of the bufffer buf
+ TYPE(hobj_ref_t_f), DIMENSION(dims(1)), INTENT(IN), TARGET :: buf ! Data buffer
+ INTEGER, INTENT(OUT) :: hdferr ! Error code
+ INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id ! Memory dataspace identfier
+ INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id ! File dataspace identfier
+ INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp ! Transfer property list identifier
+
+ INTEGER(HID_T) :: xfer_prp_default
+ INTEGER(HID_T) :: mem_space_id_default
+ INTEGER(HID_T) :: file_space_id_default
+ TYPE(C_PTR) :: f_ptr
+
+ xfer_prp_default = H5P_DEFAULT_F
+ mem_space_id_default = H5S_ALL_F
+ file_space_id_default = H5S_ALL_F
+
+ IF(PRESENT(xfer_prp)) xfer_prp_default = xfer_prp
+ IF(PRESENT(mem_space_id)) mem_space_id_default = mem_space_id
+ IF(PRESENT(file_space_id)) file_space_id_default = file_space_id
+ f_ptr = C_LOC(buf(1))
+
+ hdferr = h5dwrite_f_c(dset_id, mem_type_id, mem_space_id_default, &
+ file_space_id_default, xfer_prp_default, f_ptr)
+
+ END SUBROUTINE h5dwrite_reference_obj
+
+ SUBROUTINE h5dwrite_reference_dsetreg(dset_id, mem_type_id, buf, dims, hdferr, &
+ mem_space_id, file_space_id, xfer_prp)
+ USE, INTRINSIC :: ISO_C_BINDING
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
+ INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
+ INTEGER(HSIZE_T), DIMENSION(*), INTENT(IN) :: dims ! size of the bufffer buf
+ TYPE(hdset_reg_ref_t_f), DIMENSION(dims(1)), INTENT(IN), TARGET :: buf ! Data buffer
+ INTEGER, INTENT(OUT) :: hdferr ! Error code
+ INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id ! Memory dataspace identfier
+ INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id ! File dataspace identfier
+ INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp ! Transfer property list identifier
+
+ INTEGER(HID_T) :: xfer_prp_default
+ INTEGER(HID_T) :: mem_space_id_default
+ INTEGER(HID_T) :: file_space_id_default
+ INTEGER, ALLOCATABLE, DIMENSION(:) :: ref_buf
+ INTEGER :: i
+ INTEGER(HSIZE_T) :: j
+ TYPE(C_PTR) :: f_ptr
+ INTERFACE
+ INTEGER FUNCTION h5dwrite_ref_reg_c(dset_id, mem_type_id,&
+ mem_space_id_default, &
+ file_space_id_default, xfer_prp_default, ref_buf, dims) &
+ BIND(C,NAME='h5dwrite_ref_reg_c')
+ IMPORT :: HID_T, HSIZE_T, SIZE_T
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: dset_id
+ INTEGER(HID_T), INTENT(IN) :: mem_type_id
+ INTEGER(HID_T) :: xfer_prp_default
+ INTEGER(HID_T) :: mem_space_id_default
+ INTEGER(HID_T) :: file_space_id_default
+ INTEGER, DIMENSION(*) :: ref_buf
+ INTEGER(HSIZE_T), DIMENSION(*) :: dims
+ END FUNCTION h5dwrite_ref_reg_c
+ END INTERFACE
+ xfer_prp_default = H5P_DEFAULT_F
+ mem_space_id_default = H5S_ALL_F
+ file_space_id_default = H5S_ALL_F
+
+ IF(PRESENT(xfer_prp)) xfer_prp_default = xfer_prp
+ IF(PRESENT(mem_space_id)) mem_space_id_default = mem_space_id
+ IF(PRESENT(file_space_id)) file_space_id_default = file_space_id
+ f_ptr = C_LOC(buf(1))
+
+ ALLOCATE(ref_buf(REF_REG_BUF_LEN*dims(1)), stat=hdferr)
+ IF (hdferr .NE. 0 ) THEN
+ hdferr = -1
+ RETURN
+ ELSE
+ DO j = 1, dims(1)
+ DO i = 1, REF_REG_BUF_LEN
+ ref_buf(REF_REG_BUF_LEN*(j-1) + i) = buf(j)%ref(i)
+ ENDDO
+ ENDDO
+ ENDIF
+ hdferr = h5dwrite_ref_reg_c(dset_id, mem_type_id, mem_space_id_default, &
+ file_space_id_default, xfer_prp_default, ref_buf, dims)
+ DEALLOCATE(ref_buf)
+
+ END SUBROUTINE h5dwrite_reference_dsetreg
+
+ SUBROUTINE h5dwrite_char_scalar(dset_id, mem_type_id, buf, dims, hdferr, &
+ mem_space_id, file_space_id, xfer_prp)
+ USE, INTRINSIC :: ISO_C_BINDING
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
+ INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
+ INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
+ CHARACTER(*), INTENT(IN), TARGET :: buf ! Data buffer
+ INTEGER, INTENT(OUT) :: hdferr ! Error code
+ INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id ! Memory dataspace identfier
+ INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id ! File dataspace identfier
+ INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp ! Transfer property list identifier
+
+ CALL h5dwrite_char_scalar_fix(dset_id, mem_type_id, buf, LEN(buf), dims, hdferr, &
+ mem_space_id, file_space_id, xfer_prp)
+
+ END SUBROUTINE h5dwrite_char_scalar
+
+ SUBROUTINE h5dwrite_char_scalar_fix(dset_id, mem_type_id, buf, buf_len, dims, hdferr, &
+ mem_space_id, file_space_id, xfer_prp)
+ USE, INTRINSIC :: ISO_C_BINDING
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
+ INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
+ INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
+ INTEGER, INTENT(IN) :: buf_len
+ CHARACTER(LEN=buf_len), INTENT(IN), TARGET :: buf ! Data buffer
+ INTEGER, INTENT(OUT) :: hdferr ! Error code
+ INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id ! Memory dataspace identfier
+ INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id ! File dataspace identfier
+ INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp ! Transfer property list identifier
+ INTEGER(HID_T) :: xfer_prp_default
+ INTEGER(HID_T) :: mem_space_id_default
+ INTEGER(HID_T) :: file_space_id_default
+ TYPE(C_PTR) :: f_ptr
+
+ xfer_prp_default = H5P_DEFAULT_F
+ mem_space_id_default = H5S_ALL_F
+ file_space_id_default = H5S_ALL_F
+
+ IF(PRESENT(xfer_prp)) xfer_prp_default = xfer_prp
+ IF(PRESENT(mem_space_id)) mem_space_id_default = mem_space_id
+ IF(PRESENT(file_space_id)) file_space_id_default = file_space_id
+
+ f_ptr = C_LOC(buf(1:1))
+
+ hdferr = h5dwrite_f_c(dset_id, mem_type_id, mem_space_id_default, &
+ file_space_id_default, xfer_prp_default, f_ptr)
+
+ END SUBROUTINE h5dwrite_char_scalar_fix
+
+ SUBROUTINE h5dread_reference_obj(dset_id, mem_type_id, buf, dims, hdferr, &
+ mem_space_id, file_space_id, xfer_prp)
+ USE, INTRINSIC :: ISO_C_BINDING
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
+ INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
+ INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
+ TYPE(hobj_ref_t_f), INTENT(INOUT) , &
+ DIMENSION(dims(1)), TARGET :: buf
+ INTEGER, INTENT(OUT) :: hdferr ! Error code
+ INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id ! Memory dataspace identfier
+ INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id ! File dataspace identfier
+ INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp ! Transfer property list identifier
+
+ INTEGER(HID_T) :: xfer_prp_default
+ INTEGER(HID_T) :: mem_space_id_default
+ INTEGER(HID_T) :: file_space_id_default
+ TYPE(C_PTR) :: f_ptr
+
+ xfer_prp_default = H5P_DEFAULT_F
+ mem_space_id_default = H5S_ALL_F
+ file_space_id_default = H5S_ALL_F
+
+ IF(PRESENT(xfer_prp)) xfer_prp_default = xfer_prp
+ IF(PRESENT(mem_space_id)) mem_space_id_default = mem_space_id
+ IF(PRESENT(file_space_id)) file_space_id_default = file_space_id
+ f_ptr = C_LOC(buf(1))
+
+ hdferr = h5dread_f_c(dset_id, mem_type_id, mem_space_id_default, &
+ file_space_id_default, xfer_prp_default, f_ptr)
+
+ END SUBROUTINE h5dread_reference_obj
+
+ SUBROUTINE h5dread_reference_dsetreg(dset_id, mem_type_id, buf, dims, hdferr, &
+ mem_space_id, file_space_id, xfer_prp)
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
+ INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
+ INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
+ TYPE(hdset_reg_ref_t_f), INTENT(INOUT), &
+ DIMENSION(dims(1)), TARGET :: buf
+ INTEGER, INTENT(OUT) :: hdferr ! Error code
+ INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id ! Memory dataspace identfier
+ INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id ! File dataspace identfier
+ INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp ! Transfer property list identifier
+ INTEGER(HID_T) :: xfer_prp_default
+ INTEGER(HID_T) :: mem_space_id_default
+ INTEGER(HID_T) :: file_space_id_default
+
+ INTEGER, ALLOCATABLE, DIMENSION(:) :: ref_buf
+ INTEGER :: i
+ INTEGER(HSIZE_T) :: j
+ INTERFACE
+ INTEGER FUNCTION h5dread_ref_reg_c(dset_id, mem_type_id,&
+ mem_space_id_default, &
+ file_space_id_default, xfer_prp_default, ref_buf, dims) &
+ BIND(C,NAME='h5dread_ref_reg_c')
+ IMPORT :: HID_T, HSIZE_T
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: dset_id
+ INTEGER(HID_T), INTENT(IN) :: mem_type_id
+ INTEGER(HID_T) :: xfer_prp_default
+ INTEGER(HID_T) :: mem_space_id_default
+ INTEGER(HID_T) :: file_space_id_default
+ INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
+ INTEGER, DIMENSION(*) :: ref_buf
+ END FUNCTION h5dread_ref_reg_c
+ END INTERFACE
+
+ ALLOCATE(ref_buf(REF_REG_BUF_LEN*dims(1)), stat=hdferr)
+ IF (hdferr .NE. 0) THEN
+ hdferr = -1
+ RETURN
+ ENDIF
+
+ xfer_prp_default = H5P_DEFAULT_F
+ mem_space_id_default = H5S_ALL_F
+ file_space_id_default = H5S_ALL_F
+
+ IF(PRESENT(xfer_prp)) xfer_prp_default = xfer_prp
+ IF(PRESENT(mem_space_id)) mem_space_id_default = mem_space_id
+ IF(PRESENT(file_space_id)) file_space_id_default = file_space_id
+
+ hdferr = h5dread_ref_reg_c(dset_id, mem_type_id, mem_space_id_default, &
+ file_space_id_default, xfer_prp_default, ref_buf, dims)
+
+ DO j = 1, dims(1)
+ DO i = 1, REF_REG_BUF_LEN
+ buf(j)%ref(i) = ref_buf(REF_REG_BUF_LEN*(j-1) + i)
+ ENDDO
+ ENDDO
+ DEALLOCATE(ref_buf)
+
+ END SUBROUTINE h5dread_reference_dsetreg
+
+ SUBROUTINE h5dread_char_scalar(dset_id, mem_type_id, buf, dims, hdferr, &
+ mem_space_id, file_space_id, xfer_prp)
+ USE, INTRINSIC :: ISO_C_BINDING
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
+ INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
+ INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
+ CHARACTER(LEN=*), INTENT(INOUT) :: buf ! Data buffer
+ INTEGER, INTENT(OUT) :: hdferr ! Error code
+ INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id ! Memory dataspace identfier
+ INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id ! File dataspace identfier
+ INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp ! Transfer property list identifier
+
+ INTEGER(HID_T) :: xfer_prp_default
+ INTEGER(HID_T) :: mem_space_id_default
+ INTEGER(HID_T) :: file_space_id_default
+
+ xfer_prp_default = H5P_DEFAULT_F
+ mem_space_id_default = H5S_ALL_F
+ file_space_id_default = H5S_ALL_F
+
+ IF(PRESENT(xfer_prp)) xfer_prp_default = xfer_prp
+ IF(PRESENT(mem_space_id)) mem_space_id_default = mem_space_id
+ IF(PRESENT(file_space_id)) file_space_id_default = file_space_id
+
+ CALL h5dread_char_scalar_fix(dset_id, mem_type_id, buf, LEN(buf), hdferr, &
+ mem_space_id_default, file_space_id_default, xfer_prp_default)
+
+ END SUBROUTINE h5dread_char_scalar
+
+ SUBROUTINE h5dread_char_scalar_fix(dset_id, mem_type_id, buf, buf_len, hdferr, &
+ mem_space_id, file_space_id, xfer_prp)
+ USE, INTRINSIC :: ISO_C_BINDING
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
+ INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
+ INTEGER, INTENT(IN) :: buf_len
+ CHARACTER(LEN=buf_len), INTENT(INOUT), TARGET :: buf ! Data buffer
+ INTEGER, INTENT(OUT) :: hdferr ! Error code
+ INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id ! Memory dataspace identfier
+ INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id ! File dataspace identfier
+ INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp ! Transfer property list identifier
+
+ TYPE(C_PTR) :: f_ptr
+
+ f_ptr = C_LOC(buf(1:1))
+
+ hdferr = h5dread_f_c(dset_id, mem_type_id, mem_space_id, &
+ file_space_id, xfer_prp, f_ptr)
+
+ END SUBROUTINE h5dread_char_scalar_fix
+
+!****s* H5D (F03)/h5dwrite_f_F03
+!
+! NAME
+! h5dwrite_f_F03
+!
+! PURPOSE
+! Writes raw data from a dataset into a buffer.
+!
+! Inputs:
+! dset_id - Identifier of the dataset to write to.
+! mem_type_id - Identifier of the memory datatype.
+! buf - Buffer with data to be written to the file.
+!
+! Outputs:
+! hdferr - Returns 0 if successful and -1 if fails
+!
+! Optional parameters:
+! mem_space_id - Identifier of the memory dataspace.
+! file_space_id - Identifier of the dataset's dataspace in the file.
+! xfer_prp - Identifier of a transfer property list for this I/O operation.
+!
+! AUTHOR
+! M. Scot Breitenfeld
+! September 17, 2011
+!
+! Fortran2003 Interface:
+!! SUBROUTINE h5dwrite_f(dset_id, mem_type_id, buf, hdferr, &
+!! mem_space_id, file_space_id, xfer_prp)
+!! INTEGER(HID_T), INTENT(IN) :: dset_id
+!! INTEGER(HID_T), INTENT(IN) :: mem_type_id
+!! TYPE(C_PTR) , INTENT(IN) :: buf
+!! INTEGER , INTENT(OUT) :: hdferr
+!! INTEGER(HID_T), INTENT(IN) , OPTIONAL :: mem_space_id
+!! INTEGER(HID_T), INTENT(IN) , OPTIONAL :: file_space_id
+!! INTEGER(HID_T), INTENT(IN) , OPTIONAL :: xfer_prp
+!*****
+ SUBROUTINE h5dwrite_ptr(dset_id, mem_type_id, buf, hdferr, &
+ mem_space_id, file_space_id, xfer_prp)
+ USE, INTRINSIC :: ISO_C_BINDING
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
+ INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
+ TYPE(C_PTR), INTENT(IN) :: buf
+ INTEGER, INTENT(OUT) :: hdferr ! Error code
+ INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id ! Memory dataspace identfier
+ INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id ! File dataspace identfier
+ INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp ! Transfer property list identifier
+
+ INTEGER(HID_T) :: xfer_prp_default
+ INTEGER(HID_T) :: mem_space_id_default
+ INTEGER(HID_T) :: file_space_id_default
+
+ xfer_prp_default = H5P_DEFAULT_F
+ mem_space_id_default = H5S_ALL_F
+ file_space_id_default = H5S_ALL_F
+
+ IF (PRESENT(xfer_prp)) xfer_prp_default = xfer_prp
+ IF (PRESENT(mem_space_id)) mem_space_id_default = mem_space_id
+ IF (PRESENT(file_space_id)) file_space_id_default = file_space_id
+
+ hdferr = h5dwrite_f_c(dset_id, mem_type_id, mem_space_id_default, &
+ file_space_id_default, xfer_prp_default, buf)
+
+ END SUBROUTINE h5dwrite_ptr
+
+!****s* H5D (F03)/h5dread_f_F03
+!
+! NAME
+! h5dread_f_F03
+!
+! PURPOSE
+! Reads raw data from a dataset into a buffer.
+!
+! Inputs:
+! dset_id - Identifier of the dataset read from.
+! mem_type_id - Identifier of the memory datatype.
+!
+! Outputs:
+! buf - Buffer to receive data read from file.
+! hdferr - Returns 0 if successful and -1 if fails
+!
+! Optional parameters:
+! mem_space_id - Identifier of the memory dataspace.
+! file_space_id - Identifier of the dataset's dataspace in the file.
+! xfer_prp - Identifier of a transfer property list for this I/O operation.
+!
+! AUTHOR
+! M. Scot Breitenfeld
+! September 17, 2011
+!
+! Fortran2003 Interface:
+!! SUBROUTINE h5dread_f(dset_id, mem_type_id, buf, hdferr, &
+!! mem_space_id, file_space_id, xfer_prp)
+!! INTEGER(HID_T), INTENT(IN) :: dset_id
+!! INTEGER(HID_T), INTENT(IN) :: mem_type_id
+!! TYPE(C_PTR) , INTENT(INOUT) :: buf
+!! INTEGER , INTENT(OUT) :: hdferr
+!! INTEGER(HID_T), INTENT(IN) , OPTIONAL :: mem_space_id
+!! INTEGER(HID_T), INTENT(IN) , OPTIONAL :: file_space_id
+!! INTEGER(HID_T), INTENT(IN) , OPTIONAL :: xfer_prp
+!*****
+ SUBROUTINE h5dread_ptr(dset_id, mem_type_id, buf, hdferr, &
+ mem_space_id, file_space_id, xfer_prp)
+ USE, INTRINSIC :: ISO_C_BINDING
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
+ INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
+ TYPE(C_PTR), INTENT(INOUT) :: buf
+ INTEGER, INTENT(OUT) :: hdferr ! Error code
+ INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id ! Memory dataspace identfier
+ INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id ! File dataspace identfier
+ INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp ! Transfer property list identifier
+
+ INTEGER(HID_T) :: xfer_prp_default
+ INTEGER(HID_T) :: mem_space_id_default
+ INTEGER(HID_T) :: file_space_id_default
+
+ xfer_prp_default = H5P_DEFAULT_F
+ mem_space_id_default = H5S_ALL_F
+ file_space_id_default = H5S_ALL_F
+
+ IF (PRESENT(xfer_prp)) xfer_prp_default = xfer_prp
+ IF (PRESENT(mem_space_id)) mem_space_id_default = mem_space_id
+ IF (PRESENT(file_space_id)) file_space_id_default = file_space_id
+
+ hdferr = h5dread_f_c(dset_id, mem_type_id, mem_space_id_default, &
+ file_space_id_default, xfer_prp_default, buf)
+
+ END SUBROUTINE h5dread_ptr
+
+!
+! NAME
+! h5dfill_integer
+!
+! PURPOSE
+! Fills dataspace elements with a fill value in a memory buffer.
+! Only INTEGER, CHARACTER, REAL and DOUBLE PRECISION datatypes
+! of the fillvalues and buffers are supported. Buffer and fillvalue
+! are assumed to have the same datatype.
+! Only one-dimesional buffers are supported.
+!
+! Inputs:
+! fill_value - fill value
+! space_id - memory space selection identifier
+! buf - data buffer iin memory ro apply selection to
+! - of k-th dimension of the buf array
+! Outputs:
+! hdferr: - error code
+! Success: 0
+! Failure: -1
+! AUTHOR
+! Elena Pourmal
+! March 12, 2003
+!
+!
+
+ SUBROUTINE h5dfill_integer(fill_value, space_id, buf, hdferr)
+ USE, INTRINSIC :: ISO_C_BINDING
+ IMPLICIT NONE
+ INTEGER, INTENT(IN), TARGET :: fill_value ! Fill value
+ INTEGER(HID_T), INTENT(IN) :: space_id ! Memory dataspace selection identifier
+ INTEGER, INTENT(IN), DIMENSION(*), TARGET :: buf ! Memory buffer to fill in
+ INTEGER, INTENT(OUT) :: hdferr ! Error code
+
+ INTEGER(HID_T) :: fill_type_id ! Fill value datatype identifier
+ INTEGER(HID_T) :: mem_type_id ! Buffer dadtype identifier
+
+ TYPE(C_PTR) :: f_ptr_fill_value ! C pointer to fill_value
+ TYPE(C_PTR) :: f_ptr_buf ! C pointer to buf
+
+ f_ptr_fill_value = C_LOC(fill_value)
+ f_ptr_buf = C_LOC(buf(1))
+
+ fill_type_id = H5T_NATIVE_INTEGER
+ mem_type_id = H5T_NATIVE_INTEGER
+
+ hdferr = h5dfill_c(f_ptr_fill_value, fill_type_id, space_id, &
+ f_ptr_buf, mem_type_id)
+
+ END SUBROUTINE h5dfill_integer
+
+!
+! NAME
+! h5dfill_c_float
+!
+! PURPOSE
+! Fills dataspace elements with a fill value in a memory buffer.
+! Only INTEGER, CHARACTER, REAL and DOUBLE PRECISION datatypes
+! of the fillvalues and buffers are supported. Buffer and fillvalue
+! are assumed to have the same datatype.
+! Only one-dimesional buffers are supported.
+!
+! Inputs:
+! fill_value - fill value
+! space_id - memory space selection identifier
+! buf - data buffer iin memory ro apply selection to
+! - of k-th dimension of the buf array
+! Outputs:
+! hdferr: - error code
+! Success: 0
+! Failure: -1
+!
+! AUTHOR
+! Elena Pourmal
+! March 12, 2003
+!
+ SUBROUTINE h5dfill_c_float(fill_valuer, space_id, buf, hdferr)
+ USE, INTRINSIC :: ISO_C_BINDING
+ IMPLICIT NONE
+ REAL(KIND=C_FLOAT), INTENT(IN), TARGET :: fill_valuer ! Fill value
+ INTEGER(HID_T), INTENT(IN) :: space_id ! Memory dataspace selection identifier
+ REAL(KIND=C_FLOAT), INTENT(IN), DIMENSION(*), TARGET :: buf ! Memory buffer to fill in
+ INTEGER, INTENT(OUT) :: hdferr ! Error code
+
+ INTEGER(HID_T) :: fill_type_id ! Fill value datatype identifier
+ INTEGER(HID_T) :: mem_type_id ! Buffer dadtype identifier
+
+ TYPE(C_PTR) :: f_ptr_fill_valuer ! C pointer to fill_value
+ TYPE(C_PTR) :: f_ptr_buf ! C pointer to buf
+
+ f_ptr_fill_valuer = C_LOC(fill_valuer)
+ f_ptr_buf = C_LOC(buf(1))
+
+ fill_type_id = H5T_NATIVE_REAL
+ mem_type_id = H5T_NATIVE_REAL
+
+ hdferr = h5dfill_c(f_ptr_fill_valuer, fill_type_id, space_id, &
+ f_ptr_buf, mem_type_id)
+
+ END SUBROUTINE h5dfill_c_float
+
+ !----------------------------------------------------------------------
+ ! Name: h5dfill_c_double
+ !
+ ! Purpose: Fills dataspace elements with a fill value in a memory buffer.
+ ! Only INTEGER, CHARACTER, REAL and DOUBLE PRECISION datatypes
+ ! of the fillvalues and buffers are supported. Buffer and fillvalue
+ ! are assumed to have the same datatype.
+ ! Only one-dimesional buffers are supported.
+ !
+ ! Inputs:
+ ! fill_value - fill value
+ ! space_id - memory space selection identifier
+ ! buf - data buffer iin memory ro apply selection to
+ ! - of k-th dimension of the buf array
+ ! Outputs:
+ ! hdferr: - error code
+ ! Success: 0
+ ! Failure: -1
+ !
+ ! Programmer: Elena Pourmal
+ ! March 12, 2003
+ !
+ !----------------------------------------------------------------------
+
+ SUBROUTINE h5dfill_c_double(fill_value, space_id, buf, hdferr)
+ IMPLICIT NONE
+ REAL(KIND=C_DOUBLE), INTENT(IN), TARGET :: fill_value ! Fill value
+ INTEGER(HID_T), INTENT(IN) :: space_id ! Memory dataspace selection identifier
+ REAL(KIND=C_DOUBLE), INTENT(IN), DIMENSION(*), TARGET :: buf ! Memory buffer to fill in
+ INTEGER, INTENT(OUT) :: hdferr ! Error code
+
+ INTEGER(HID_T) :: fill_type_id ! Fill value datatype identifier
+ INTEGER(HID_T) :: mem_type_id ! Buffer dadtype identifier
+
+ TYPE(C_PTR) :: f_ptr_fill_valuer ! C pointer to fill_value
+ TYPE(C_PTR) :: f_ptr_buf ! C pointer to buf
+
+ f_ptr_fill_valuer = C_LOC(fill_value)
+ f_ptr_buf = C_LOC(buf(1))
+
+ fill_type_id = H5T_NATIVE_DOUBLE
+ mem_type_id = H5T_NATIVE_DOUBLE
+
+ hdferr = h5dfill_c(f_ptr_fill_valuer, fill_type_id, space_id, &
+ f_ptr_buf, mem_type_id)
+
+ END SUBROUTINE h5dfill_c_double
+
+#ifdef H5_FORTRAN_HAVE_C_LONG_DOUBLE
+ SUBROUTINE h5dfill_c_long_double(fill_value, space_id, buf, hdferr)
+ IMPLICIT NONE
+ REAL(KIND=C_LONG_DOUBLE), INTENT(IN), TARGET :: fill_value ! Fill value
+ INTEGER(HID_T), INTENT(IN) :: space_id ! Memory dataspace selection identifier
+ REAL(KIND=C_LONG_DOUBLE), INTENT(IN), DIMENSION(*), TARGET :: buf ! Memory buffer to fill in
+ INTEGER, INTENT(OUT) :: hdferr ! Error code
+
+ INTEGER(HID_T) :: fill_type_id ! Fill value datatype identifier
+ INTEGER(HID_T) :: mem_type_id ! Buffer dadtype identifier
+
+ TYPE(C_PTR) :: f_ptr_fill_valuer ! C pointer to fill_value
+ TYPE(C_PTR) :: f_ptr_buf ! C pointer to buf
+
+ f_ptr_fill_valuer = C_LOC(fill_value)
+ f_ptr_buf = C_LOC(buf(1))
+
+ fill_type_id = H5T_NATIVE_DOUBLE
+ mem_type_id = H5T_NATIVE_DOUBLE
+
+ hdferr = h5dfill_c(f_ptr_fill_valuer, fill_type_id, space_id, &
+ f_ptr_buf, mem_type_id)
+
+ END SUBROUTINE h5dfill_c_long_double
+#endif
+!
+! NAME
+! h5dfill_char
+!
+! PURPOSE
+! Fills dataspace elements with a fill value in a memory buffer.
+! Only INTEGER, CHARACTER, REAL and DOUBLE PRECISION datatypes
+! of the fillvalues and buffers are supported. Buffer and fillvalue
+! are assumed to have the same datatype.
+! Only one-dimesional buffers are supported.
+!
+! Inputs:
+! fill_value - fill value
+! space_id - memory space selection identifier
+! buf - data buffer iin memory ro apply selection to
+! - of k-th dimension of the buf array
+! Outputs:
+! hdferr: - error code
+! Success: 0
+! Failure: -1
+! AUTHOR
+! Elena Pourmal
+! March 12, 2003
+!
+ SUBROUTINE h5dfill_char(fill_value, space_id, buf, hdferr)
+ USE, INTRINSIC :: ISO_C_BINDING
+ IMPLICIT NONE
+ CHARACTER, INTENT(IN), TARGET :: fill_value ! Fill value
+ INTEGER(HID_T), INTENT(IN) :: space_id ! Memory dataspace selection identifier
+ CHARACTER, INTENT(IN), DIMENSION(*), TARGET :: buf ! Memory buffer to fill in
+ INTEGER, INTENT(OUT) :: hdferr ! Error code
+
+ INTEGER(HID_T) :: fill_type_id ! Fill value datatype identifier
+ INTEGER(HID_T) :: mem_type_id ! Buffer dadtype identifier
+
+ TYPE(C_PTR) :: f_ptr_fill_value ! C pointer to fill_value
+ TYPE(C_PTR) :: f_ptr_buf ! C pointer to buf
+
+ f_ptr_fill_value = C_LOC(fill_value)
+ f_ptr_buf = C_LOC(buf(1))
+
+ hdferr = h5dfill_c(f_ptr_fill_value, fill_type_id, space_id, &
+ f_ptr_buf, mem_type_id)
+
+ END SUBROUTINE h5dfill_char
+!
+!****s* H5D (F03)/h5dvlen_reclaim_f
+! NAME
+! h5dvlen_reclaim_f
+!
+! PURPOSE
+! Reclaims VL datatype memory buffers.
+!
+! Inputs:
+!
+! type_id - Identifier of the datatype.
+! space_id - Identifier of the dataspace.
+! plist_id - Identifier of the property list used to create the buffer.
+! buf - Pointer to the buffer to be reclaimed.
+!
+! Outputs:
+! hdferr - Returns 0 if successful and -1 if fails
+!
+! AUTHOR
+! M. Scot Breitenfeld
+! January 11, 2011
+!
+! Fortran2003 Interface:
+ SUBROUTINE h5dvlen_reclaim_f(type_id, space_id, plist_id, buf, hdferr)
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: type_id
+ INTEGER(HID_T), INTENT(IN) :: space_id
+ INTEGER(HID_T), INTENT(IN) :: plist_id
+ TYPE(C_PTR) , INTENT(INOUT) :: buf
+ INTEGER , INTENT(OUT) :: hdferr
+!*****
+
+ INTERFACE
+ INTEGER FUNCTION h5dvlen_reclaim_c(type_id, space_id, plist_id, buf) BIND(C, NAME='h5dvlen_reclaim_c')
+ IMPORT :: C_PTR
+ IMPORT :: HID_T
+ IMPLICIT NONE
+ INTEGER(HID_T) :: type_id
+ INTEGER(HID_T) :: space_id
+ INTEGER(HID_T) :: plist_id
+ TYPE(C_PTR), VALUE :: buf
+ END FUNCTION h5dvlen_reclaim_c
+ END INTERFACE
+
+ hdferr = H5Dvlen_reclaim_c(type_id, space_id, plist_id, buf)
+
+ END SUBROUTINE H5Dvlen_reclaim_f
+
+
+END MODULE H5D
+
+
diff --git a/fortran/src/H5Dff.f90 b/fortran/src/H5Dff.f90
deleted file mode 100644
index 3ad868c..0000000
--- a/fortran/src/H5Dff.f90
+++ /dev/null
@@ -1,1035 +0,0 @@
-!****h* ROBODoc/H5D
-!
-! NAME
-! MODULE H5D
-!
-! FILE
-! fortran/src/H5Dff.f90
-!
-! PURPOSE
-! This file contains Fortran interfaces for H5D functions. It includes
-! all the functions that are independent on whether the Fortran 2003 functions
-! are enabled or disabled.
-!
-! COPYRIGHT
-! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
-! Copyright by The HDF Group. *
-! Copyright by the Board of Trustees of the University of Illinois. *
-! All rights reserved. *
-! *
-! This file is part of HDF5. The full HDF5 copyright notice, including *
-! terms governing use, modification, and redistribution, is contained in *
-! the files COPYING and Copyright.html. COPYING can be found at the root *
-! of the source code distribution tree; Copyright.html can be found at the *
-! root level of an installed copy of the electronic HDF5 document set and *
-! is linked from the top-level documents page. It can also be found at *
-! http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have *
-! access to either file, you may request a copy from help@hdfgroup.org. *
-! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
-!
-! NOTES
-! *** IMPORTANT ***
-! If you add a new H5D function you must add the function name to the
-! Windows dll file 'hdf5_fortrandll.def.in' in the fortran/src directory.
-! This is needed for Windows based operating systems.
-!
-!*****
-
-MODULE H5D
- USE H5GLOBAL
-
- INTERFACE h5dextend_f
- MODULE PROCEDURE h5dset_extent_f
- END INTERFACE
-
- INTERFACE h5dread_vl_f
- MODULE PROCEDURE h5dread_vl_integer
- MODULE PROCEDURE h5dread_vl_real
- MODULE PROCEDURE h5dread_vl_string
- END INTERFACE
-
- INTERFACE h5dwrite_vl_f
- MODULE PROCEDURE h5dwrite_vl_integer
- MODULE PROCEDURE h5dwrite_vl_real
- MODULE PROCEDURE h5dwrite_vl_string
- END INTERFACE
-
-CONTAINS
-
-!
-!****s* H5D/h5dcreate_f
-!
-! NAME
-! h5dcreate_f
-!
-! PURPOSE
-! Creates a dataset at the specified location
-!
-! INPUTS
-! loc_id - file or group identifier
-! name - dataset name
-! type_id - dataset datatype identifier
-! space_id - dataset dataspace identifier
-! OUTPUTS
-! dset_id - dataset identifier
-! hdferr - Returns 0 if successful and -1 if fails
-! OPTIONAL PARAMETERS
-! creation_prp - Dataset creation property list
-! lcpl_id - Link creation property list
-! dapl_id - Dataset access property list
-!
-! AUTHOR
-! Elena Pourmal
-! August 12, 1999
-!
-! HISTORY
-!
-! - Explicit Fortran interfaces were added for
-! called C functions (it is needed for Windows
-! port). February 28, 2001
-!
-! - Added version's 1.8 new optional parameters
-! February, 2008
-!
-! SOURCE
- SUBROUTINE h5dcreate_f(loc_id, name, type_id, space_id, dset_id, &
- hdferr, dcpl_id, lcpl_id, dapl_id)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: loc_id ! File or group identifier
- CHARACTER(LEN=*), INTENT(IN) :: name ! Name of the dataset
- INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier
- INTEGER(HID_T), INTENT(IN) :: space_id ! Dataspace identifier
- INTEGER(HID_T), INTENT(OUT) :: dset_id ! Dataset identifier
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-!*****
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: dcpl_id ! Dataset creation property list
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: lcpl_id ! Link creation property list
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: dapl_id ! Dataset access property list
-
- INTEGER(HID_T) :: lcpl_id_default
- INTEGER(HID_T) :: dcpl_id_default
- INTEGER(HID_T) :: dapl_id_default
-
- INTEGER :: namelen ! Name length
-
-! MS FORTRAN needs explicit interface for C functions called here.
-!
- INTERFACE
- INTEGER FUNCTION h5dcreate_c(loc_id, name, namelen, type_id, &
- space_id, lcpl_id_default, dcpl_id_default, dapl_id_default, dset_id)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5DCREATE_C'::h5dcreate_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: name
- INTEGER(HID_T), INTENT(IN) :: loc_id
- CHARACTER(LEN=*), INTENT(IN) :: name
- INTEGER :: namelen
- INTEGER(HID_T), INTENT(IN) :: type_id
- INTEGER(HID_T), INTENT(IN) :: space_id
-
- INTEGER(HID_T) :: lcpl_id_default
- INTEGER(HID_T) :: dcpl_id_default
- INTEGER(HID_T) :: dapl_id_default
-
- INTEGER(HID_T), INTENT(OUT) :: dset_id
- END FUNCTION h5dcreate_c
- END INTERFACE
-
- lcpl_id_default = H5P_DEFAULT_F
- dcpl_id_default = H5P_DEFAULT_F
- dapl_id_default = H5P_DEFAULT_F
-
- IF(PRESENT(lcpl_id)) lcpl_id_default = lcpl_id
- IF(PRESENT(dcpl_id)) dcpl_id_default = dcpl_id
- IF(PRESENT(dapl_id)) dapl_id_default = dapl_id
-
- namelen = LEN(name)
- hdferr = h5dcreate_c(loc_id, name, namelen, type_id, space_id, &
- lcpl_id_default, dcpl_id_default, dapl_id_default, dset_id)
-
- END SUBROUTINE h5dcreate_f
-
-!
-!****s* H5D/h5dopen_f
-!
-! NAME
-! h5dopen_f
-!
-! PURPOSE
-! Opens an existing dataset.
-!
-! INPUTS
-! loc_id - file or group identifier
-! name - dataset name
-! OUTPUTS
-! dset_id - dataset identifier
-! hdferr - Returns 0 if successful and -1 if fails
-! OPTIONAL PARAMETERS
-! dapl_id - Dataset access property list
-!
-! AUTHOR
-! Elena Pourmal
-! August 12, 1999
-!
-! HISTORY
-! -Explicit Fortran interfaces were added for
-! called C functions (it is needed for Windows
-! port). February 28, 2001
-!
-! -Added 1.8 (optional) parameter dapl_id
-! February, 2008, M. Scot Breitenfeld
-!
-! SOURCE
- SUBROUTINE h5dopen_f(loc_id, name, dset_id, hdferr, dapl_id)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: loc_id ! File or group identifier
- CHARACTER(LEN=*), INTENT(IN) :: name ! Name of the dataset
- INTEGER(HID_T), INTENT(OUT) :: dset_id ! Dataset identifier
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: dapl_id ! Dataset access property list
-!*****
- INTEGER :: namelen ! Name length
-
- INTEGER(HID_T) :: dapl_id_default
-
- INTERFACE
- INTEGER FUNCTION h5dopen_c(loc_id, name, namelen, dapl_id_default, dset_id)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5DOPEN_C'::h5dopen_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: name
- INTEGER(HID_T), INTENT(IN) :: loc_id
- CHARACTER(LEN=*), INTENT(IN) :: name
- INTEGER :: namelen
- INTEGER(HID_T), INTENT(IN) :: dapl_id_default
- INTEGER(HID_T), INTENT(OUT) :: dset_id
- END FUNCTION h5dopen_c
- END INTERFACE
-
- dapl_id_default = H5P_DEFAULT_F
- IF(PRESENT(dapl_id)) dapl_id_default = dapl_id
-
- namelen = LEN(name)
- hdferr = h5dopen_c(loc_id, name, namelen, dapl_id_default, dset_id)
-
- END SUBROUTINE h5dopen_f
-
-!
-!****s* H5D/h5dclose_f
-!
-! NAME
-! h5dclose_f
-!
-! PURPOSE
-! Closes a dataset.
-!
-! INPUTS
-! dset_id - dataset identifier
-! OUTPUTS
-! hdferr - Returns 0 if successful and -1 if fails
-!
-! AUTHOR
-! Elena Pourmal
-! August 12, 1999
-!
-! HISTORY
-! Explicit Fortran interfaces were added for
-! called C functions (it is needed for Windows
-! port). February 28, 2001
-!
-! SOURCE
- SUBROUTINE h5dclose_f(dset_id, hdferr)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-!*****
- INTERFACE
- INTEGER FUNCTION h5dclose_c(dset_id)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5DCLOSE_C'::h5dclose_c
- !DEC$ENDIF
- INTEGER(HID_T), INTENT(IN) :: dset_id
- END FUNCTION h5dclose_c
- END INTERFACE
-
- hdferr = h5dclose_c(dset_id)
-
- END SUBROUTINE h5dclose_f
-
-!
-!****s* H5D/h5dget_type_f
-!
-! NAME
-! h5dget_type_f
-!
-! PURPOSE
-! Returns an identifier for a copy of the datatype for a
-! dataset.
-!
-! INPUTS
-! dataset_id - dataset identifier
-! OUTPUTS
-! datatype_id - dataspace identifier
-! hdferr - Returns 0 if successful and -1 if fails
-!
-! AUTHOR
-! Elena Pourmal
-! August 12, 1999
-!
-! HISTORY
-! Explicit Fortran interfaces were added for
-! called C functions (it is needed for Windows
-! port). February 28, 2001
-!
-! NOTES
-!
-! SOURCE
- SUBROUTINE h5dget_type_f(dataset_id, datatype_id, hdferr)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: dataset_id ! Dataset identifier
- INTEGER(HID_T), INTENT(OUT) :: datatype_id ! Datatype identifier
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-!*****
- INTERFACE
- INTEGER FUNCTION h5dget_type_c (dataset_id, datatype_id)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5DGET_TYPE_C'::h5dget_type_c
- !DEC$ENDIF
- INTEGER(HID_T), INTENT(IN) :: dataset_id
- INTEGER(HID_T), INTENT(OUT) :: datatype_id
- END FUNCTION h5dget_type_c
- END INTERFACE
-
- hdferr = h5dget_type_c (dataset_id, datatype_id)
- END SUBROUTINE h5dget_type_f
-
-!
-!****s* H5D/h5dset_extent
-!
-! NAME
-! h5dset_extent (instead of obsolete name: h5dextend_f)
-!
-! PURPOSE
-! Extends a dataset with unlimited dimension.
-!
-! INPUTS
-! dataset_id - dataset identifier
-! size - array containing the new magnitude of
-! each dimension
-! OUTPUTS
-! hdferr - Returns 0 if successful and -1 if fails
-!
-! AUTHOR
-! Elena Pourmal
-! August 12, 1999
-!
-! HISTORY
-! Explicit Fortran interfaces were added for
-! called C functions (it is needed for Windows
-! port). February 28, 2001
-!
-! Changed name from the now obsolete h5dextend_f
-! to h5dset_extent_f. Provided interface to old name
-! for backward compatability. -MSB- March 14, 2008
-!
-! SOURCE
- SUBROUTINE h5dset_extent_f(dataset_id, size, hdferr)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: dataset_id ! Dataset identifier
- INTEGER(HSIZE_T), DIMENSION(*), INTENT(IN) :: size
- ! Array containing
- ! dimensions' sizes
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-!*****
- INTERFACE
- INTEGER FUNCTION h5dset_extent_c(dataset_id, size)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5DSET_EXTENT_C'::h5dset_extent_c
- !DEC$ENDIF
- INTEGER(HID_T), INTENT(IN) :: dataset_id
- INTEGER(HSIZE_T), DIMENSION(*), INTENT(IN) :: size
- END FUNCTION h5dset_extent_c
- END INTERFACE
-
- hdferr = H5Dset_extent_c(dataset_id, size)
- END SUBROUTINE h5dset_extent_f
-
-!****s* H5D/h5dget_create_plist_f
-!
-! NAME
-! h5dget_create_plist_f
-!
-! PURPOSE
-! Returns an identifier for a copy of the dataset creation
-! property list for a dataset.
-!
-! INPUTS
-! dataset_id - dataset identifier
-! OUTPUTS
-! plist_id - creation property list identifier
-! hdferr - Returns 0 if successful and -1 if fails
-!
-! AUTHOR
-! Elena Pourmal
-! August 12, 1999
-!
-! HISTORY
-! Explicit Fortran interfaces were added for
-! called C functions (it is needed for Windows
-! port). February 28, 2001
-! SOURCE
- SUBROUTINE h5dget_create_plist_f(dataset_id, plist_id, hdferr)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: dataset_id ! Dataset identifier
- INTEGER(HID_T), INTENT(OUT) :: plist_id ! Dataset creation
- ! property list identifier
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-!*****
- INTERFACE
- INTEGER FUNCTION h5dget_create_plist_c(dataset_id, plist_id)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5DGET_CREATE_PLIST_C'::h5dget_create_plist_c
- !DEC$ENDIF
- INTEGER(HID_T), INTENT(IN) :: dataset_id
- INTEGER(HID_T), INTENT(OUT) :: plist_id
- END FUNCTION h5dget_create_plist_c
- END INTERFACE
-
- hdferr = h5dget_create_plist_c(dataset_id, plist_id)
- END SUBROUTINE h5dget_create_plist_f
-
-!
-!****s* H5D/h5dget_storage_size_f
-!
-! NAME
-! h5dget_storage_size_f
-!
-! PURPOSE
-! Returns the amount of storage requires by a dataset
-!
-! INPUTS
-! dataset_id - dataset identifier
-! OUTPUTS
-! size - datastorage size
-! hdferr - Returns 0 if successful and -1 if fails
-!
-! AUTHOR
-! Elena Pourmal
-! October 15, 2002
-! SOURCE
- SUBROUTINE h5dget_storage_size_f(dataset_id, size, hdferr)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: dataset_id ! Dataset identifier
- INTEGER(HSIZE_T), INTENT(OUT) :: size ! Amount of storage
- ! allocated for dataset
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-!*****
- INTERFACE
- INTEGER FUNCTION h5dget_storage_size_c(dataset_id, size)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5DGET_STORAGE_SIZE_C'::h5dget_storage_size_c
- !DEC$ENDIF
- INTEGER(HID_T), INTENT(IN) :: dataset_id
- INTEGER(HSIZE_T), INTENT(OUT) :: size
- END FUNCTION h5dget_storage_size_c
- END INTERFACE
-
- hdferr = h5dget_storage_size_c(dataset_id, size)
- END SUBROUTINE h5dget_storage_size_f
-
-!
-!****s* H5D/h5dvlen_get_max_len_f
-!
-! NAME
-! h5dvlen_get_max_len_f
-!
-! PURPOSE
-! Returns maximum length of the VL array elements
-!
-! INPUTS
-! dataset_id - dataset identifier
-! type_id - datatype identifier
-! space_id - dataspace identifier
-! OUTPUTS
-! size - buffer size
-! hdferr - Returns 0 if successful and -1 if fails
-! OPTIONAL PARAMETERS
-! NONE
-!
-! AUTHOR
-! Elena Pourmal
-! October 15, 2002
-!
-! SOURCE
- SUBROUTINE h5dvlen_get_max_len_f(dataset_id, type_id, space_id, len, hdferr)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: dataset_id ! Dataset identifier
- INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier
- INTEGER(HID_T), INTENT(IN) :: space_id ! Dataspace identifier
- INTEGER(SIZE_T), INTENT(OUT) :: len ! Maximum length of the element
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-!*****
- INTERFACE
- INTEGER FUNCTION h5dvlen_get_max_len_c(dataset_id, type_id, space_id, len)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5DVLEN_GET_MAX_LEN_C'::h5dvlen_get_max_len_c
- !DEC$ENDIF
- INTEGER(HID_T), INTENT(IN) :: dataset_id
- INTEGER(HID_T), INTENT(IN) :: type_id
- INTEGER(HID_T), INTENT(IN) :: space_id
- INTEGER(SIZE_T), INTENT(OUT) :: len
- END FUNCTION h5dvlen_get_max_len_c
- END INTERFACE
-
- hdferr = h5dvlen_get_max_len_c(dataset_id, type_id, space_id, len)
- END SUBROUTINE h5dvlen_get_max_len_f
-
-!
-!****s* H5D/h5dget_space_status_f
-!
-! NAME
-! h5dget_space_status_f
-!
-! PURPOSE
-! Returns the status of data space allocation.
-!
-! INPUTS
-! dset_id - dataset identifier
-! OUTPUTS
-! flag - status; may have one of the following values:
-! H5D_SPACE_STS_ERROR_F
-! H5D_SPACE_STS_NOT_ALLOCATED_F
-! H5D_SPACE_STS_PART_ALLOCATED_F
-! H5D_SPACE_STS_ALLOCATED_F
-! hdferr - Returns 0 if successful and -1 if fails
-!
-! AUTHOR
-! Elena Pourmal
-! March 12, 2003
-!
-! SOURCE
- SUBROUTINE h5dget_space_status_f(dset_id, flag, hdferr)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataspace identifier
- INTEGER, INTENT(OUT) :: flag ! Memory buffer to fill in
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- !*****
- INTERFACE
- INTEGER FUNCTION h5dget_space_status_c(dset_id, flag)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5DGET_SPACE_STATUS_C'::h5dget_space_status_c
- !DEC$ENDIF
- INTEGER(HID_T) :: dset_id
- INTEGER :: flag
- END FUNCTION h5dget_space_status_c
- END INTERFACE
-
- hdferr = h5dget_space_status_c(dset_id, flag)
- END SUBROUTINE h5dget_space_status_f
-
-!
-!****s* H5D/h5dcreate_anon_f
-!
-! NAME
-! h5dcreate_anon_f
-!
-! PURPOSE
-! Creates a dataset in a file without linking it into the file structure
-!
-! INPUTS
-! loc_id - Identifier of the file or group within which to create the dataset.
-! type_id - Identifier of the datatype to use when creating the dataset.
-! space_id - Identifier of the dataspace to use when creating the dataset.
-! OUTPUTS
-! dset_id - dataset identifier
-! hdferr - Returns 0 if successful and -1 if fails
-! OPTIONAL PARAMETERS
-! dcpl_id - Dataset creation property list identifier.
-! dapl_id - Dataset access property list identifier.
-!
-! AUTHOR
-! M. Scot Breitenfeld
-! February 11, 2008
-!
-! SOURCE
- SUBROUTINE h5dcreate_anon_f(loc_id, type_id, space_id, dset_id, hdferr, dcpl_id, dapl_id)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: loc_id ! File or group identifier.
- INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier.
- INTEGER(HID_T), INTENT(IN) :: space_id ! Dataspace identifier.
- INTEGER(HID_T), INTENT(OUT) :: dset_id ! Dataset identifier.
- INTEGER, INTENT(OUT) :: hdferr ! Error code.
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: dcpl_id ! Dataset creation property list identifier.
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: dapl_id ! Dataset access property list identifier.
-!*****
- INTEGER(HID_T) :: dcpl_id_default
- INTEGER(HID_T) :: dapl_id_default
-
- !
- ! MS FORTRAN needs explicit interface for C functions called here.
- !
- INTERFACE
- INTEGER FUNCTION h5dcreate_anon_c(loc_id, type_id, space_id, dcpl_id_default, dapl_id_default, dset_id)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5DCREATE_ANON_C'::h5dcreate_anon_c
- !DEC$ENDIF
- INTEGER(HID_T), INTENT(IN) :: loc_id
- INTEGER(HID_T), INTENT(IN) :: type_id
- INTEGER(HID_T), INTENT(IN) :: space_id
- INTEGER(HID_T) :: dcpl_id_default
- INTEGER(HID_T) :: dapl_id_default
- INTEGER(HID_T), INTENT(OUT) :: dset_id
- END FUNCTION h5dcreate_anon_c
- END INTERFACE
-
- dcpl_id_default = H5P_DEFAULT_F
- dapl_id_default = H5P_DEFAULT_F
-
- IF(PRESENT(dcpl_id)) dcpl_id_default = dcpl_id
- IF(PRESENT(dapl_id)) dapl_id_default = dapl_id
-
- hdferr = h5dcreate_anon_c(loc_id, type_id, space_id, dcpl_id_default, dapl_id_default, dset_id)
-
- END SUBROUTINE h5dcreate_anon_f
-
- SUBROUTINE h5dwrite_vl_integer(dset_id, mem_type_id, buf, dims, len, &
- hdferr, &
- mem_space_id, file_space_id, xfer_prp)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
- INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(2) :: dims ! MAX len x num_elem
- INTEGER(SIZE_T), INTENT(IN), DIMENSION(*) :: len ! Array to store
- ! the length of each
- ! element
- INTEGER, INTENT(IN), &
- DIMENSION(dims(1),dims(2)), TARGET :: buf ! Data buffer
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id ! Memory dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id ! File dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp ! Transfer property list identifier
- INTEGER(HID_T) :: xfer_prp_default
- INTEGER(HID_T) :: mem_space_id_default
- INTEGER(HID_T) :: file_space_id_default
-
- INTERFACE
- INTEGER FUNCTION h5dwrite_vl_integer_c(dset_id, mem_type_id, &
- mem_space_id_default, &
- file_space_id_default, &
- xfer_prp_default, buf, dims, len)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5DWRITE_VL_INTEGER_C'::h5dwrite_vl_integer_c
- !DEC$ENDIF
- INTEGER(HID_T), INTENT(IN) :: dset_id
- INTEGER(HID_T), INTENT(IN) :: mem_type_id
- INTEGER(HID_T) :: mem_space_id_default
- INTEGER(HID_T) :: file_space_id_default
- INTEGER(HID_T) :: xfer_prp_default
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
- INTEGER(SIZE_T), INTENT(IN), DIMENSION(*) :: len
- INTEGER, INTENT(IN), &
- DIMENSION(dims(1),dims(2)) :: buf
- END FUNCTION h5dwrite_vl_integer_c
- END INTERFACE
-
- xfer_prp_default = H5P_DEFAULT_F
- mem_space_id_default = H5S_ALL_F
- file_space_id_default = H5S_ALL_F
-
- IF (PRESENT(xfer_prp)) xfer_prp_default = xfer_prp
- IF (PRESENT(mem_space_id)) mem_space_id_default = mem_space_id
- IF (PRESENT(file_space_id)) file_space_id_default = file_space_id
-
- hdferr = h5dwrite_vl_integer_c(dset_id, mem_type_id, mem_space_id_default, &
- file_space_id_default, xfer_prp_default, &
- buf, dims, len)
-
- END SUBROUTINE h5dwrite_vl_integer
-
- SUBROUTINE h5dread_vl_integer(dset_id, mem_type_id, buf, dims, len, &
- hdferr, &
- mem_space_id, file_space_id, xfer_prp)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
- INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(2) :: dims ! MAX len x num_elem
- INTEGER(SIZE_T), INTENT(INOUT), DIMENSION(*) :: len ! Array to store
- ! the length of each
- ! element
- INTEGER, INTENT(INOUT), &
- DIMENSION(dims(1),dims(2)), TARGET :: buf ! Data buffer
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- ! -1 if failed, 0 otherwise
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id ! Memory dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id ! File dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp ! Transfer property list identifier
- INTEGER(HID_T) :: xfer_prp_default
- INTEGER(HID_T) :: mem_space_id_default
- INTEGER(HID_T) :: file_space_id_default
- INTEGER(HID_T) :: tmp
- INTEGER :: error
-
- INTERFACE
- INTEGER FUNCTION h5dread_vl_integer_c(dset_id, mem_type_id, &
- mem_space_id_default, &
- file_space_id_default, &
- xfer_prp_default, buf, dims, len)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5DREAD_VL_INTEGER_C'::h5dread_vl_integer_c
- !DEC$ENDIF
- INTEGER(HID_T), INTENT(IN) :: dset_id
- INTEGER(HID_T), INTENT(IN) :: mem_type_id
- INTEGER(HID_T) :: mem_space_id_default
- INTEGER(HID_T) :: file_space_id_default
- INTEGER(HID_T) :: xfer_prp_default
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
- INTEGER(SIZE_T), INTENT(INOUT), DIMENSION(*) :: len
- INTEGER, INTENT(INOUT), &
- DIMENSION(dims(1),dims(2)) :: buf
- END FUNCTION h5dread_vl_integer_c
- END INTERFACE
-
- CALL h5dget_space_f(dset_id, tmp, error)
- xfer_prp_default = H5P_DEFAULT_F
- mem_space_id_default = tmp
- file_space_id_default = tmp
-
- IF (PRESENT(xfer_prp)) xfer_prp_default = xfer_prp
- IF (PRESENT(mem_space_id)) mem_space_id_default = mem_space_id
- IF (PRESENT(file_space_id)) file_space_id_default = file_space_id
-
- hdferr = h5dread_vl_integer_c(dset_id, mem_type_id, mem_space_id_default, &
- file_space_id_default, xfer_prp_default, &
- buf, dims, len)
-
- END SUBROUTINE h5dread_vl_integer
-
- SUBROUTINE h5dwrite_vl_real(dset_id, mem_type_id, buf, dims, len, &
- hdferr, &
- mem_space_id, file_space_id, xfer_prp)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
- INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(2) :: dims ! MAX len x num_elem
- INTEGER(SIZE_T), INTENT(IN), DIMENSION(*) :: len ! Array to store
- ! the length of each
- ! element
- REAL, INTENT(IN), &
- DIMENSION(dims(1),dims(2)) :: buf ! Data buffer
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id ! Memory dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id ! File dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp ! Transfer property list identifier
-
- INTEGER(HID_T) :: xfer_prp_default
- INTEGER(HID_T) :: mem_space_id_default
- INTEGER(HID_T) :: file_space_id_default
-
- INTERFACE
- INTEGER FUNCTION h5dwrite_vl_real_c(dset_id, mem_type_id, &
- mem_space_id_default, &
- file_space_id_default, &
- xfer_prp_default, buf, dims, len)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5DWRITE_VL_REAL_C'::h5dwrite_vl_real_c
- !DEC$ENDIF
- INTEGER(HID_T), INTENT(IN) :: dset_id
- INTEGER(HID_T), INTENT(IN) :: mem_type_id
- INTEGER(HID_T) :: mem_space_id_default
- INTEGER(HID_T) :: file_space_id_default
- INTEGER(HID_T) :: xfer_prp_default
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
- INTEGER(SIZE_T), INTENT(IN), DIMENSION(*) :: len
- REAL, INTENT(IN), &
- DIMENSION(dims(1),dims(2)) :: buf
- END FUNCTION h5dwrite_vl_real_c
- END INTERFACE
-
-
- xfer_prp_default = H5P_DEFAULT_F
- mem_space_id_default = H5S_ALL_F
- file_space_id_default = H5S_ALL_F
-
- IF (PRESENT(xfer_prp)) xfer_prp_default = xfer_prp
- IF (PRESENT(mem_space_id)) mem_space_id_default = mem_space_id
- IF (PRESENT(file_space_id)) file_space_id_default = file_space_id
-
- hdferr = h5dwrite_vl_real_c(dset_id, mem_type_id, mem_space_id_default, &
- file_space_id_default, xfer_prp_default, &
- buf, dims, len)
-
- END SUBROUTINE h5dwrite_vl_real
-
- SUBROUTINE h5dread_vl_real(dset_id, mem_type_id, buf, dims, len, &
- hdferr, &
- mem_space_id, file_space_id, xfer_prp)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
- INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(2) :: dims ! MAX len x num_elem
- INTEGER(SIZE_T), INTENT(INOUT), DIMENSION(*) :: len ! Array to store the length of each element
- REAL, INTENT(INOUT), &
- DIMENSION(dims(1),dims(2)) :: buf ! Data buffer
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- ! -1 if failed, 0 otherwise
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id ! Memory dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id ! File dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp ! Transfer property list identifier
-
- INTEGER(HID_T) :: xfer_prp_default
- INTEGER(HID_T) :: mem_space_id_default
- INTEGER(HID_T) :: file_space_id_default
- INTEGER(HID_T) :: tmp
- INTEGER :: error
-
- INTERFACE
- INTEGER FUNCTION h5dread_vl_real_c(dset_id, mem_type_id, &
- mem_space_id_default, &
- file_space_id_default, &
- xfer_prp_default, buf, dims, len)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5DREAD_VL_REAL_C'::h5dread_vl_real_c
- !DEC$ENDIF
- INTEGER(HID_T), INTENT(IN) :: dset_id
- INTEGER(HID_T), INTENT(IN) :: mem_type_id
- INTEGER(HID_T) :: mem_space_id_default
- INTEGER(HID_T) :: file_space_id_default
- INTEGER(HID_T) :: xfer_prp_default
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
- INTEGER(SIZE_T), INTENT(INOUT), DIMENSION(*) :: len
- REAL, INTENT(INOUT), &
- DIMENSION(dims(1),dims(2)) :: buf
- END FUNCTION h5dread_vl_real_c
- END INTERFACE
-
- CALL h5dget_space_f(dset_id, tmp, error)
- xfer_prp_default = H5P_DEFAULT_F
- mem_space_id_default = tmp
- file_space_id_default = tmp
-
- IF (PRESENT(xfer_prp)) xfer_prp_default = xfer_prp
- IF (PRESENT(mem_space_id)) mem_space_id_default = mem_space_id
- IF (PRESENT(file_space_id)) file_space_id_default = file_space_id
-
- hdferr = h5dread_vl_real_c(dset_id, mem_type_id, mem_space_id_default, &
- file_space_id_default, xfer_prp_default, &
- buf, dims, len)
-
- END SUBROUTINE h5dread_vl_real
-
- SUBROUTINE h5dwrite_vl_string(dset_id, mem_type_id, buf, dims, str_len, &
- hdferr, &
- mem_space_id, file_space_id, xfer_prp)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
- INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(2) :: dims ! Number of strings
- INTEGER(SIZE_T), INTENT(IN), DIMENSION(*) :: str_len ! Array to store the length of each element
- CHARACTER(LEN=*), INTENT(IN), &
- DIMENSION(dims(2)) :: buf ! Data buffer
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id ! Memory dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id ! File dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp ! Transfer property list identifier
-
- INTEGER(HID_T) :: xfer_prp_default
- INTEGER(HID_T) :: mem_space_id_default
- INTEGER(HID_T) :: file_space_id_default
-
- INTERFACE
- INTEGER FUNCTION h5dwrite_vl_string_c(dset_id, mem_type_id, &
- mem_space_id_default, &
- file_space_id_default, &
- ! xfer_prp_default, tmp_buf, dims, str_len)
- xfer_prp_default, buf, dims, str_len)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5DWRITE_VL_STRING_C'::h5dwrite_vl_string_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: buf
- INTEGER(HID_T), INTENT(IN) :: dset_id
- INTEGER(HID_T), INTENT(IN) :: mem_type_id
- INTEGER(HID_T) :: mem_space_id_default
- INTEGER(HID_T) :: file_space_id_default
- INTEGER(HID_T) :: xfer_prp_default
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(2) :: dims
- INTEGER(SIZE_T), INTENT(IN), DIMENSION(*) :: str_len
- CHARACTER(LEN=*), DIMENSION(dims(2)) :: buf
- END FUNCTION
- END INTERFACE
-
-
- xfer_prp_default = H5P_DEFAULT_F
- mem_space_id_default = H5S_ALL_F
- file_space_id_default = H5S_ALL_F
-
- IF (PRESENT(xfer_prp)) xfer_prp_default = xfer_prp
- IF (PRESENT(mem_space_id)) mem_space_id_default = mem_space_id
- IF (PRESENT(file_space_id)) file_space_id_default = file_space_id
-
- hdferr = h5dwrite_vl_string_c(dset_id, mem_type_id, mem_space_id_default, &
- file_space_id_default, xfer_prp_default, &
- buf, dims, str_len)
-
- END SUBROUTINE h5dwrite_vl_string
-
- SUBROUTINE h5dread_vl_string(dset_id, mem_type_id, buf, dims, str_len, &
- hdferr, &
- mem_space_id, file_space_id, xfer_prp)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
- INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(2) :: dims ! number of strings
- INTEGER(SIZE_T), INTENT(OUT), DIMENSION(*) :: str_len ! Array to store
- ! the length of each
- ! element
- CHARACTER(LEN=*), INTENT(OUT), &
- DIMENSION(dims(2)) :: buf ! Data buffer
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id ! Memory dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id ! File dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp ! Transfer property list identifier
-
- INTEGER(HID_T) :: xfer_prp_default
- INTEGER(HID_T) :: mem_space_id_default
- INTEGER(HID_T) :: file_space_id_default
-
- INTERFACE
- INTEGER FUNCTION h5dread_vl_string_c(dset_id, mem_type_id, &
- mem_space_id_default, &
- file_space_id_default, &
- xfer_prp_default, buf, dims, str_len)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5DREAD_VL_STRING_C'::h5dread_vl_string_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: buf
- INTEGER(HID_T), INTENT(IN) :: dset_id
- INTEGER(HID_T), INTENT(IN) :: mem_type_id
- INTEGER(HID_T) :: mem_space_id_default
- INTEGER(HID_T) :: file_space_id_default
- INTEGER(HID_T) :: xfer_prp_default
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(2) :: dims
- INTEGER(SIZE_T), INTENT(OUT), DIMENSION(*) :: str_len
- CHARACTER(LEN=*), DIMENSION(dims(2)) :: buf
- END FUNCTION h5dread_vl_string_c
- END INTERFACE
-
- xfer_prp_default = H5P_DEFAULT_F
- mem_space_id_default = H5S_ALL_F
- file_space_id_default = H5S_ALL_F
-
- IF (PRESENT(xfer_prp)) xfer_prp_default = xfer_prp
- IF (PRESENT(mem_space_id)) mem_space_id_default = mem_space_id
- IF (PRESENT(file_space_id)) file_space_id_default = file_space_id
-
- hdferr = h5dread_vl_string_c(dset_id, mem_type_id, mem_space_id_default, &
- file_space_id_default, xfer_prp_default, &
- buf, dims, str_len)
- RETURN
- END SUBROUTINE h5dread_vl_string
-
-!
-!****s* H5D/h5dget_space_f
-!
-! NAME
-! h5dget_space_f
-!
-! PURPOSE
-! Returns an identifier for a copy of the dataspace for a
-! dataset.
-!
-! INPUTS
-! dataset_id - dataset identifier
-! OUTPUTS
-! dataspace_id - dataspace identifier
-! hdferr - Returns 0 if successful and -1 if fails
-!
-! AUTHOR
-! Elena Pourmal
-! August 12, 1999
-!
-! HISTORY
-! Explicit Fortran interfaces were added for
-! called C functions (it is needed for Windows
-! port). February 28, 2001
-!
-! SOURCE
- SUBROUTINE h5dget_space_f(dataset_id, dataspace_id, hdferr)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: dataset_id ! Dataset identifier
- INTEGER(HID_T), INTENT(OUT) :: dataspace_id ! Dataspace identifier
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-!*****
- INTERFACE
- INTEGER FUNCTION h5dget_space_c(dataset_id, dataspace_id)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5DGET_SPACE_C'::h5dget_space_c
- !DEC$ENDIF
- INTEGER(HID_T), INTENT(IN) :: dataset_id
- INTEGER(HID_T), INTENT(OUT) :: dataspace_id
- END FUNCTION h5dget_space_c
- END INTERFACE
-
- hdferr = h5dget_space_c(dataset_id, dataspace_id)
-END SUBROUTINE h5dget_space_f
-
-!****s* H5D/h5dget_access_plist_f
-!
-! NAME
-! h5dget_access_plist_f
-!
-! PURPOSE
-! Returns a copy of the dataset creation property list.
-!
-! INPUTS
-! dset_id - Dataset identifier
-!
-! OUTPUTS
-! plist_id - Dataset access property list identifier
-! hdferr - Returns 0 if successful and -1 if fails
-!
-! AUTHOR
-! M. Scot Breitenfeld
-! April 13, 2009
-!
-! SOURCE
-SUBROUTINE h5dget_access_plist_f(dset_id, plist_id, hdferr)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: dset_id
- INTEGER(HID_T), INTENT(OUT) :: plist_id
- INTEGER , INTENT(OUT) :: hdferr
-!*****
- INTERFACE
- INTEGER FUNCTION h5dget_access_plist_c(dset_id, plist_id)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5DGET_ACCESS_PLIST_C'::h5dget_access_plist_c
- !DEC$ENDIF
- INTEGER(HID_T), INTENT(IN) :: dset_id
- INTEGER(HID_T), INTENT(OUT) :: plist_id
- END FUNCTION h5dget_access_plist_c
- END INTERFACE
-
- hdferr = h5dget_access_plist_c(dset_id, plist_id)
-
-END SUBROUTINE h5dget_access_plist_f
-
-END MODULE H5D
-
-
diff --git a/fortran/src/H5Dff_F03.f90 b/fortran/src/H5Dff_F03.f90
deleted file mode 100644
index 7026ae3..0000000
--- a/fortran/src/H5Dff_F03.f90
+++ /dev/null
@@ -1,2389 +0,0 @@
-!****h* ROBODoc/H5D (F03)
-!
-! NAME
-! H5D_PROVISIONAL
-!
-! PURPOSE
-! This file contains Fortran 90 and Fortran 2003 interfaces for H5D functions.
-! It contains the same functions as H5Dff_F90.f90 but includes the
-! Fortran 2003 functions and the interface listings. This file will be compiled
-! instead of H5Dff_F90.f90 if Fortran 2003 functions are enabled.
-!
-! COPYRIGHT
-! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
-! Copyright by The HDF Group. *
-! Copyright by the Board of Trustees of the University of Illinois. *
-! All rights reserved. *
-! *
-! This file is part of HDF5. The full HDF5 copyright notice, including *
-! terms governing use, modification, and redistribution, is contained in *
-! the files COPYING and Copyright.html. COPYING can be found at the root *
-! of the source code distribution tree; Copyright.html can be found at the *
-! root level of an installed copy of the electronic HDF5 document set and *
-! is linked from the top-level documents page. It can also be found at *
-! http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have *
-! access to either file, you may request a copy from help@hdfgroup.org. *
-! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
-!
-! NOTES
-! (1) The maximum rank of an array allowed in Fortran is 7, therefore
-! we only provide an interface for arrays up to and including rank 7.
-!
-! (2) Unfortunately we are using a generic interface and one of the factors
-! used in determining the proper routine to select is that of the array
-! rank being passed. Therefore, we can not create just one subroutine for
-! each array type (integer, real, etc...) and use a
-! rank 1 array of assumed size to handle multiple ranks, i.e.
-! (i.e. integer, dimension(*) :: ... )
-! (i.e. real , dimension(*) :: ... ) etc...
-!
-! (3) Could not place the USE, INTRINSIC :: ISO_C_BINDING in the module header because it may
-! conflict with the USE, INTRINSIC :: ISO_C_BINDING included in the user's program. Moved
-! the statement instead to each subroutine.
-!
-!
-! (4) C_LOC and character strings according to the Fortran 2003 standard:
-!
-! 15.1.2.5 C_LOC(X)
-!
-! Argument. X shall either
-!
-! (A) have interoperable type and type parameters and be
-! (a) a variable that has the TARGET attribute and is interoperable,
-! (b) an allocated allocatable variable that has the TARGET attribute
-! and is not an array of zero size, or
-! (c) an associated scalar pointer, or
-! (B) be a nonpolymorphic scalar, have no length type parameters, and be
-! (a) a nonallocatable, nonpointer variable that has the TARGET attribute,
-! (b) an allocated allocatable variable that has the TARGET attribute, or
-! (c) an associated pointer.
-!
-! - When X is a character, for interoperability the standard is:
-!
-! 15.2.1 Interoperability of intrinsic types
-!
-! ...if the type is character, interoperability also requires that the length type parameter
-! be omitted or be specified by an initialization expression whose value is one.
-!
-! THEREFORE compilers that have not extended the standard require the
-! argument in C_LOC to be of the variant:
-!
-! CHARACTER(LEN=1), TARGET :: chr
-! or
-! CHARACTER, TARGET :: chr
-!
-! *** IMPORTANT ***
-! If you add a new H5D function you must add the function name to the
-! Windows dll file 'hdf5_fortrandll.def.in' in the fortran/src directory.
-! This is needed for Windows based operating systems.
-!
-!*****
-
-MODULE H5D_PROVISIONAL
- USE H5GLOBAL
-
- INTERFACE h5dwrite_f
-
- MODULE PROCEDURE h5dwrite_reference_obj
- MODULE PROCEDURE h5dwrite_reference_dsetreg
- MODULE PROCEDURE h5dwrite_integer_scalar
- MODULE PROCEDURE h5dwrite_integer_1
- MODULE PROCEDURE h5dwrite_integer_2
- MODULE PROCEDURE h5dwrite_integer_3
- MODULE PROCEDURE h5dwrite_integer_4
- MODULE PROCEDURE h5dwrite_integer_5
- MODULE PROCEDURE h5dwrite_integer_6
- MODULE PROCEDURE h5dwrite_integer_7
- MODULE PROCEDURE h5dwrite_char_scalar
- MODULE PROCEDURE h5dwrite_char_1
- MODULE PROCEDURE h5dwrite_char_2
- MODULE PROCEDURE h5dwrite_char_3
- MODULE PROCEDURE h5dwrite_char_4
- MODULE PROCEDURE h5dwrite_char_5
- MODULE PROCEDURE h5dwrite_char_6
- MODULE PROCEDURE h5dwrite_char_7
- MODULE PROCEDURE h5dwrite_real_scalar
- MODULE PROCEDURE h5dwrite_real_1
- MODULE PROCEDURE h5dwrite_real_2
- MODULE PROCEDURE h5dwrite_real_3
- MODULE PROCEDURE h5dwrite_real_4
- MODULE PROCEDURE h5dwrite_real_5
- MODULE PROCEDURE h5dwrite_real_6
- MODULE PROCEDURE h5dwrite_real_7
-
- ! This is the preferred way to call h5dwrite
- ! by passing an address
- MODULE PROCEDURE h5dwrite_ptr
-
- END INTERFACE
-
- INTERFACE h5dread_f
-
- MODULE PROCEDURE h5dread_reference_obj
- MODULE PROCEDURE h5dread_reference_dsetreg
- MODULE PROCEDURE h5dread_integer_scalar
- MODULE PROCEDURE h5dread_integer_1
- MODULE PROCEDURE h5dread_integer_2
- MODULE PROCEDURE h5dread_integer_3
- MODULE PROCEDURE h5dread_integer_4
- MODULE PROCEDURE h5dread_integer_5
- MODULE PROCEDURE h5dread_integer_6
- MODULE PROCEDURE h5dread_integer_7
- MODULE PROCEDURE h5dread_char_scalar
- MODULE PROCEDURE h5dread_char_1
- MODULE PROCEDURE h5dread_char_2
- MODULE PROCEDURE h5dread_char_3
- MODULE PROCEDURE h5dread_char_4
- MODULE PROCEDURE h5dread_char_5
- MODULE PROCEDURE h5dread_char_6
- MODULE PROCEDURE h5dread_char_7
- MODULE PROCEDURE h5dread_real_scalar
- MODULE PROCEDURE h5dread_real_1
- MODULE PROCEDURE h5dread_real_2
- MODULE PROCEDURE h5dread_real_3
- MODULE PROCEDURE h5dread_real_4
- MODULE PROCEDURE h5dread_real_5
- MODULE PROCEDURE h5dread_real_6
- MODULE PROCEDURE h5dread_real_7
-
- ! This is the preferred way to call h5dread
- ! by passing an address
- MODULE PROCEDURE h5dread_ptr
-
- END INTERFACE
-
-! Interface for the function used to pass the C pointer of the buffer
-! to the C H5Dwrite routine
-
- INTERFACE
- INTEGER FUNCTION h5dwrite_f_c(dset_id, mem_type_id, &
- mem_space_id_default , &
- file_space_id_default, &
- xfer_prp_default, buf ) BIND(C, NAME='h5dwrite_f_c')
- USE H5GLOBAL
- USE, INTRINSIC :: ISO_C_BINDING, ONLY : c_ptr
- INTEGER(HID_T), INTENT(IN) :: dset_id
- INTEGER(HID_T), INTENT(IN) :: mem_type_id
- INTEGER(HID_T) :: mem_space_id_default
- INTEGER(HID_T) :: file_space_id_default
- INTEGER(HID_T) :: xfer_prp_default
- TYPE(C_PTR), VALUE :: buf
- END FUNCTION h5dwrite_f_c
- END INTERFACE
-
-! Interface for the function used to pass the C pointer of the buffer
-! to the C H5Dread routine
-
- INTERFACE
- INTEGER FUNCTION h5dread_f_c(dset_id, mem_type_id, &
- mem_space_id_default, &
- file_space_id_default, &
- xfer_prp_default, buf) BIND(C, NAME='h5dread_f_c')
- USE H5GLOBAL
- USE, INTRINSIC :: ISO_C_BINDING, ONLY : c_ptr
- INTEGER(HID_T), INTENT(IN) :: dset_id
- INTEGER(HID_T), INTENT(IN) :: mem_type_id
- INTEGER(HID_T) :: mem_space_id_default
- INTEGER(HID_T) :: file_space_id_default
- INTEGER(HID_T) :: xfer_prp_default
- TYPE(C_PTR), VALUE :: buf
- END FUNCTION h5dread_f_c
- END INTERFACE
-
- INTERFACE h5dfill_f
- MODULE PROCEDURE h5dfill_integer
- MODULE PROCEDURE h5dfill_real
- MODULE PROCEDURE h5dfill_char
- END INTERFACE
-
-! Interface for the function used to pass the C pointer of the buffer
-! to the C H5Dfill routine
-
- INTERFACE
- INTEGER FUNCTION h5dfill_c(f_ptr_fill_value, fill_type_id, space_id, &
- f_ptr_buf, mem_type_id) BIND(C, NAME='h5dfill_c')
- USE H5GLOBAL
- USE, INTRINSIC :: ISO_C_BINDING, ONLY : c_ptr
- TYPE(C_PTR), VALUE :: f_ptr_fill_value
- INTEGER(HID_T) :: fill_type_id ! Fill value datatype identifier
- INTEGER(HID_T), INTENT(IN) :: space_id ! Memory dataspace selection identifier
- TYPE(C_PTR), VALUE :: f_ptr_buf
- INTEGER(HID_T) :: mem_type_id
- END FUNCTION h5dfill_c
- END INTERFACE
-
-CONTAINS
-
- SUBROUTINE h5dwrite_reference_obj(dset_id, mem_type_id, buf, dims, hdferr, &
- mem_space_id, file_space_id, xfer_prp)
- USE, INTRINSIC :: ISO_C_BINDING
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
- INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
- INTEGER(HSIZE_T), DIMENSION(*), INTENT(IN) :: dims ! size of the bufffer buf
- TYPE(hobj_ref_t_f), DIMENSION(dims(1)), INTENT(IN), TARGET :: buf ! Data buffer
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id ! Memory dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id ! File dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp ! Transfer property list identifier
-
- INTEGER(HID_T) :: xfer_prp_default
- INTEGER(HID_T) :: mem_space_id_default
- INTEGER(HID_T) :: file_space_id_default
- TYPE(C_PTR) :: f_ptr
-
- xfer_prp_default = H5P_DEFAULT_F
- mem_space_id_default = H5S_ALL_F
- file_space_id_default = H5S_ALL_F
-
- IF(PRESENT(xfer_prp)) xfer_prp_default = xfer_prp
- IF(PRESENT(mem_space_id)) mem_space_id_default = mem_space_id
- IF(PRESENT(file_space_id)) file_space_id_default = file_space_id
- f_ptr = C_LOC(buf(1))
-
- hdferr = h5dwrite_f_c(dset_id, mem_type_id, mem_space_id_default, &
- file_space_id_default, xfer_prp_default, f_ptr)
-
-
- END SUBROUTINE h5dwrite_reference_obj
-
- SUBROUTINE h5dwrite_reference_dsetreg(dset_id, mem_type_id, buf, dims, hdferr, &
- mem_space_id, file_space_id, xfer_prp)
- USE, INTRINSIC :: ISO_C_BINDING
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
- INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
- INTEGER(HSIZE_T), DIMENSION(*), INTENT(IN) :: dims ! size of the bufffer buf
- TYPE(hdset_reg_ref_t_f), DIMENSION(dims(1)), INTENT(IN), TARGET :: buf ! Data buffer
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id ! Memory dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id ! File dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp ! Transfer property list identifier
-
- INTEGER(HID_T) :: xfer_prp_default
- INTEGER(HID_T) :: mem_space_id_default
- INTEGER(HID_T) :: file_space_id_default
- INTEGER, ALLOCATABLE, DIMENSION(:) :: ref_buf
- INTEGER :: i
- INTEGER(HSIZE_T) :: j
- TYPE(C_PTR) :: f_ptr
- INTERFACE
- INTEGER FUNCTION h5dwrite_ref_reg_c(dset_id, mem_type_id,&
- mem_space_id_default, &
- file_space_id_default, xfer_prp_default, ref_buf, dims)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5DWRITE_REF_REG_C'::h5dwrite_ref_reg_c
- !DEC$ENDIF
- INTEGER(HID_T), INTENT(IN) :: dset_id
- INTEGER(HID_T), INTENT(IN) :: mem_type_id
- INTEGER(HID_T) :: xfer_prp_default
- INTEGER(HID_T) :: mem_space_id_default
- INTEGER(HID_T) :: file_space_id_default
- INTEGER, DIMENSION(*) :: ref_buf
- INTEGER(HSIZE_T), DIMENSION(*) :: dims
- END FUNCTION h5dwrite_ref_reg_c
- END INTERFACE
- xfer_prp_default = H5P_DEFAULT_F
- mem_space_id_default = H5S_ALL_F
- file_space_id_default = H5S_ALL_F
-
- IF(PRESENT(xfer_prp)) xfer_prp_default = xfer_prp
- IF(PRESENT(mem_space_id)) mem_space_id_default = mem_space_id
- IF(PRESENT(file_space_id)) file_space_id_default = file_space_id
- f_ptr = C_LOC(buf(1))
-
- ALLOCATE(ref_buf(REF_REG_BUF_LEN*dims(1)), stat=hdferr)
- IF (hdferr .NE. 0 ) THEN
- hdferr = -1
- RETURN
- ELSE
- DO j = 1, dims(1)
- DO i = 1, REF_REG_BUF_LEN
- ref_buf(REF_REG_BUF_LEN*(j-1) + i) = buf(j)%ref(i)
- ENDDO
- ENDDO
- ENDIF
- hdferr = h5dwrite_ref_reg_c(dset_id, mem_type_id, mem_space_id_default, &
- file_space_id_default, xfer_prp_default, ref_buf, dims)
- DEALLOCATE(ref_buf)
-
- END SUBROUTINE h5dwrite_reference_dsetreg
-
-
- SUBROUTINE h5dwrite_integer_scalar(dset_id, mem_type_id, buf, dims, hdferr, &
- mem_space_id, file_space_id, xfer_prp)
- USE, INTRINSIC :: ISO_C_BINDING
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
- INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
- INTEGER, INTENT(IN), TARGET :: buf ! Data buffer
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id ! Memory dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id ! File dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp ! Transfer property list identifier
- INTEGER(HID_T) :: xfer_prp_default
- INTEGER(HID_T) :: mem_space_id_default
- INTEGER(HID_T) :: file_space_id_default
- TYPE(C_PTR) :: f_ptr
-
- xfer_prp_default = H5P_DEFAULT_F
- mem_space_id_default = H5S_ALL_F
- file_space_id_default = H5S_ALL_F
-
- IF(PRESENT(xfer_prp)) xfer_prp_default = xfer_prp
- IF(PRESENT(mem_space_id)) mem_space_id_default = mem_space_id
- IF(PRESENT(file_space_id)) file_space_id_default = file_space_id
- f_ptr = C_LOC(buf)
-
- hdferr = h5dwrite_f_c(dset_id, mem_type_id, mem_space_id_default, &
- file_space_id_default, xfer_prp_default, f_ptr)
-
- END SUBROUTINE h5dwrite_integer_scalar
-
- SUBROUTINE h5dwrite_integer_1(dset_id, mem_type_id, buf, dims, hdferr, &
- mem_space_id, file_space_id, xfer_prp)
- USE, INTRINSIC :: ISO_C_BINDING
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
- INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
- INTEGER, INTENT(IN), &
- DIMENSION(dims(1)), TARGET :: buf
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id ! Memory dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id ! File dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp ! Transfer property list identifier
-
- INTEGER(HID_T) :: xfer_prp_default
- INTEGER(HID_T) :: mem_space_id_default
- INTEGER(HID_T) :: file_space_id_default
- TYPE(C_PTR) :: f_ptr
-
- xfer_prp_default = H5P_DEFAULT_F
- mem_space_id_default = H5S_ALL_F
- file_space_id_default = H5S_ALL_F
-
- IF(PRESENT(xfer_prp)) xfer_prp_default = xfer_prp
- IF(PRESENT(mem_space_id)) mem_space_id_default = mem_space_id
- IF(PRESENT(file_space_id)) file_space_id_default = file_space_id
- f_ptr = C_LOC(buf(1))
-
- hdferr = h5dwrite_f_c(dset_id, mem_type_id, mem_space_id_default, &
- file_space_id_default, xfer_prp_default, f_ptr)
-
- END SUBROUTINE h5dwrite_integer_1
-
- SUBROUTINE h5dwrite_integer_2(dset_id, mem_type_id, buf, dims, hdferr, &
- mem_space_id, file_space_id, xfer_prp)
- USE, INTRINSIC :: ISO_C_BINDING
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
- INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
- INTEGER, INTENT(IN), &
- DIMENSION(dims(1),dims(2)),TARGET :: buf ! Data buffer
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id ! Memory dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id ! File dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp ! Transfer property list identifier
- INTEGER(HID_T) :: xfer_prp_default
- INTEGER(HID_T) :: mem_space_id_default
- INTEGER(HID_T) :: file_space_id_default
- TYPE(C_PTR) :: f_ptr
-
- xfer_prp_default = H5P_DEFAULT_F
- mem_space_id_default = H5S_ALL_F
- file_space_id_default = H5S_ALL_F
-
- IF(PRESENT(xfer_prp)) xfer_prp_default = xfer_prp
- IF(PRESENT(mem_space_id)) mem_space_id_default = mem_space_id
- IF(PRESENT(file_space_id)) file_space_id_default = file_space_id
- f_ptr = C_LOC(buf(1,1))
-
- hdferr = h5dwrite_f_c(dset_id, mem_type_id, mem_space_id_default, &
- file_space_id_default, xfer_prp_default, f_ptr)
-
- END SUBROUTINE h5dwrite_integer_2
-
- SUBROUTINE h5dwrite_integer_3(dset_id, mem_type_id, buf, dims, hdferr, &
- mem_space_id, file_space_id, xfer_prp)
- USE, INTRINSIC :: ISO_C_BINDING
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
- INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
- INTEGER, INTENT(IN), &
- DIMENSION(dims(1),dims(2),dims(3)), TARGET :: buf
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id ! Memory dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id ! File dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp ! Transfer property list identifier
- INTEGER(HID_T) :: xfer_prp_default
- INTEGER(HID_T) :: mem_space_id_default
- INTEGER(HID_T) :: file_space_id_default
- TYPE(C_PTR) :: f_ptr
-
- xfer_prp_default = H5P_DEFAULT_F
- mem_space_id_default = H5S_ALL_F
- file_space_id_default = H5S_ALL_F
-
- IF(PRESENT(xfer_prp)) xfer_prp_default = xfer_prp
- IF(PRESENT(mem_space_id)) mem_space_id_default = mem_space_id
- IF(PRESENT(file_space_id)) file_space_id_default = file_space_id
- f_ptr = C_LOC(buf(1,1,1))
-
- hdferr = h5dwrite_f_c(dset_id, mem_type_id, mem_space_id_default, &
- file_space_id_default, xfer_prp_default, f_ptr)
-
- END SUBROUTINE h5dwrite_integer_3
-
- SUBROUTINE h5dwrite_integer_4(dset_id, mem_type_id, buf, dims, hdferr, &
- mem_space_id, file_space_id, xfer_prp)
- USE, INTRINSIC :: ISO_C_BINDING
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
- INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
- INTEGER, INTENT(IN), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4)), TARGET :: buf
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id ! Memory dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id ! File dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp ! Transfer property list identifier
-
- INTEGER(HID_T) :: xfer_prp_default
- INTEGER(HID_T) :: mem_space_id_default
- INTEGER(HID_T) :: file_space_id_default
- TYPE(C_PTR) :: f_ptr
-
- xfer_prp_default = H5P_DEFAULT_F
- mem_space_id_default = H5S_ALL_F
- file_space_id_default = H5S_ALL_F
- IF(PRESENT(xfer_prp)) xfer_prp_default = xfer_prp
- IF(PRESENT(mem_space_id)) mem_space_id_default = mem_space_id
- IF(PRESENT(file_space_id)) file_space_id_default = file_space_id
- f_ptr = C_LOC(buf(1,1,1,1))
-
- hdferr = h5dwrite_f_c(dset_id, mem_type_id, mem_space_id_default, &
- file_space_id_default, xfer_prp_default, f_ptr)
-
- END SUBROUTINE h5dwrite_integer_4
-
- SUBROUTINE h5dwrite_integer_5(dset_id, mem_type_id, buf, dims, hdferr, &
- mem_space_id, file_space_id, xfer_prp)
- USE, INTRINSIC :: ISO_C_BINDING
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
- INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
- INTEGER, INTENT(IN), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)), TARGET :: buf
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id ! Memory dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id ! File dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp ! Transfer property list identifier
-
- INTEGER(HID_T) :: xfer_prp_default
- INTEGER(HID_T) :: mem_space_id_default
- INTEGER(HID_T) :: file_space_id_default
- TYPE(C_PTR) :: f_ptr
-
- xfer_prp_default = H5P_DEFAULT_F
- mem_space_id_default = H5S_ALL_F
- file_space_id_default = H5S_ALL_F
-
- IF(PRESENT(xfer_prp)) xfer_prp_default = xfer_prp
- IF(PRESENT(mem_space_id)) mem_space_id_default = mem_space_id
- IF(PRESENT(file_space_id)) file_space_id_default = file_space_id
- f_ptr = C_LOC(buf(1,1,1,1,1))
-
- hdferr = h5dwrite_f_c(dset_id, mem_type_id, mem_space_id_default, &
- file_space_id_default, xfer_prp_default, f_ptr)
-
- END SUBROUTINE h5dwrite_integer_5
-
- SUBROUTINE h5dwrite_integer_6(dset_id, mem_type_id, buf, dims, hdferr, &
- mem_space_id, file_space_id, xfer_prp)
- USE, INTRINSIC :: ISO_C_BINDING
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
- INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
- INTEGER, INTENT(IN), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)), TARGET :: buf
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id ! Memory dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id ! File dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp ! Transfer property list identifier
-
- INTEGER(HID_T) :: xfer_prp_default
- INTEGER(HID_T) :: mem_space_id_default
- INTEGER(HID_T) :: file_space_id_default
- TYPE(C_PTR) :: f_ptr
-
- xfer_prp_default = H5P_DEFAULT_F
- mem_space_id_default = H5S_ALL_F
- file_space_id_default = H5S_ALL_F
-
- IF(PRESENT(xfer_prp)) xfer_prp_default = xfer_prp
- IF(PRESENT(mem_space_id)) mem_space_id_default = mem_space_id
- IF(PRESENT(file_space_id)) file_space_id_default = file_space_id
- f_ptr = C_LOC(buf(1,1,1,1,1,1))
-
- hdferr = h5dwrite_f_c(dset_id, mem_type_id, mem_space_id_default, &
- file_space_id_default, xfer_prp_default, f_ptr)
-
- END SUBROUTINE h5dwrite_integer_6
-
- SUBROUTINE h5dwrite_integer_7(dset_id, mem_type_id, buf, dims, hdferr, &
- mem_space_id, file_space_id, xfer_prp)
- USE, INTRINSIC :: ISO_C_BINDING
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
- INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
- INTEGER, INTENT(IN), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)), TARGET :: buf
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id ! Memory dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id ! File dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp ! Transfer property list identifier
-
- INTEGER(HID_T) :: xfer_prp_default
- INTEGER(HID_T) :: mem_space_id_default
- INTEGER(HID_T) :: file_space_id_default
- TYPE(C_PTR) :: f_ptr
-
- xfer_prp_default = H5P_DEFAULT_F
- mem_space_id_default = H5S_ALL_F
- file_space_id_default = H5S_ALL_F
-
- IF(PRESENT(xfer_prp)) xfer_prp_default = xfer_prp
- IF(PRESENT(mem_space_id)) mem_space_id_default = mem_space_id
- IF(PRESENT(file_space_id)) file_space_id_default = file_space_id
- f_ptr = C_LOC(buf(1,1,1,1,1,1,1))
-
- hdferr = h5dwrite_f_c(dset_id, mem_type_id, mem_space_id_default, &
- file_space_id_default, xfer_prp_default, f_ptr)
-
- END SUBROUTINE h5dwrite_integer_7
-
- SUBROUTINE h5dwrite_char_scalar(dset_id, mem_type_id, buf, dims, hdferr, &
- mem_space_id, file_space_id, xfer_prp)
- USE, INTRINSIC :: ISO_C_BINDING
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
- INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
- CHARACTER(*), INTENT(IN), TARGET :: buf ! Data buffer
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id ! Memory dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id ! File dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp ! Transfer property list identifier
-
- CALL h5dwrite_char_scalar_fix(dset_id, mem_type_id, buf, LEN(buf), dims, hdferr, &
- mem_space_id, file_space_id, xfer_prp)
-
- END SUBROUTINE h5dwrite_char_scalar
-
- SUBROUTINE h5dwrite_char_scalar_fix(dset_id, mem_type_id, buf, buf_len, dims, hdferr, &
- mem_space_id, file_space_id, xfer_prp)
- USE, INTRINSIC :: ISO_C_BINDING
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
- INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
- INTEGER, INTENT(IN) :: buf_len
- CHARACTER(LEN=buf_len), INTENT(IN), TARGET :: buf ! Data buffer
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id ! Memory dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id ! File dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp ! Transfer property list identifier
- INTEGER(HID_T) :: xfer_prp_default
- INTEGER(HID_T) :: mem_space_id_default
- INTEGER(HID_T) :: file_space_id_default
- TYPE(C_PTR) :: f_ptr
-
- xfer_prp_default = H5P_DEFAULT_F
- mem_space_id_default = H5S_ALL_F
- file_space_id_default = H5S_ALL_F
-
- IF(PRESENT(xfer_prp)) xfer_prp_default = xfer_prp
- IF(PRESENT(mem_space_id)) mem_space_id_default = mem_space_id
- IF(PRESENT(file_space_id)) file_space_id_default = file_space_id
-
- f_ptr = C_LOC(buf(1:1))
-
- hdferr = h5dwrite_f_c(dset_id, mem_type_id, mem_space_id_default, &
- file_space_id_default, xfer_prp_default, f_ptr)
-
- END SUBROUTINE h5dwrite_char_scalar_fix
-
- SUBROUTINE h5dwrite_char_1(dset_id, mem_type_id, buf, dims, hdferr, &
- mem_space_id, file_space_id, xfer_prp)
- USE, INTRINSIC :: ISO_C_BINDING
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
- INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
- CHARACTER(LEN=*), INTENT(IN), DIMENSION(dims(1)), TARGET :: buf
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id ! Memory dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id ! File dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp ! Transfer property list identifier
-
- INTEGER(HID_T) :: xfer_prp_default
- INTEGER(HID_T) :: mem_space_id_default
- INTEGER(HID_T) :: file_space_id_default
- TYPE(C_PTR) :: f_ptr
-
- xfer_prp_default = H5P_DEFAULT_F
- mem_space_id_default = H5S_ALL_F
- file_space_id_default = H5S_ALL_F
-
- IF(PRESENT(xfer_prp)) xfer_prp_default = xfer_prp
- IF(PRESENT(mem_space_id)) mem_space_id_default = mem_space_id
- IF(PRESENT(file_space_id)) file_space_id_default = file_space_id
-
- f_ptr = C_LOC(buf(1)(1:1))
-
- hdferr = h5dwrite_f_c(dset_id, mem_type_id, mem_space_id_default, &
- file_space_id_default, xfer_prp_default, f_ptr)
-
- END SUBROUTINE h5dwrite_char_1
-
- SUBROUTINE h5dwrite_char_2(dset_id, mem_type_id, buf, dims, hdferr, &
- mem_space_id, file_space_id, xfer_prp)
- USE, INTRINSIC :: ISO_C_BINDING
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
- INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
- CHARACTER(LEN=*), INTENT(IN), &
- DIMENSION(dims(1),dims(2)), TARGET :: buf
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id ! Memory dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id ! File dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp ! Transfer property list identifier
-
- INTEGER(HID_T) :: xfer_prp_default
- INTEGER(HID_T) :: mem_space_id_default
- INTEGER(HID_T) :: file_space_id_default
- TYPE(C_PTR) :: f_ptr
-
- xfer_prp_default = H5P_DEFAULT_F
- mem_space_id_default = H5S_ALL_F
- file_space_id_default = H5S_ALL_F
-
- IF(PRESENT(xfer_prp)) xfer_prp_default = xfer_prp
- IF(PRESENT(mem_space_id)) mem_space_id_default = mem_space_id
- IF(PRESENT(file_space_id)) file_space_id_default = file_space_id
-
- f_ptr = C_LOC(buf(1,1)(1:1))
-
- hdferr = h5dwrite_f_c(dset_id, mem_type_id, mem_space_id_default, &
- file_space_id_default, xfer_prp_default, f_ptr)
-
- END SUBROUTINE h5dwrite_char_2
-
- SUBROUTINE h5dwrite_char_3(dset_id, mem_type_id, buf, dims, hdferr, &
- mem_space_id, file_space_id, xfer_prp)
- USE, INTRINSIC :: ISO_C_BINDING
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
- INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
- CHARACTER(LEN=*), INTENT(IN), &
- DIMENSION(dims(1),dims(2),dims(3)), TARGET :: buf
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id ! Memory dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id ! File dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp ! Transfer property list identifier
-
- INTEGER(HID_T) :: xfer_prp_default
- INTEGER(HID_T) :: mem_space_id_default
- INTEGER(HID_T) :: file_space_id_default
- TYPE(C_PTR) :: f_ptr
-
- xfer_prp_default = H5P_DEFAULT_F
- mem_space_id_default = H5S_ALL_F
- file_space_id_default = H5S_ALL_F
-
- IF(PRESENT(xfer_prp)) xfer_prp_default = xfer_prp
- IF(PRESENT(mem_space_id)) mem_space_id_default = mem_space_id
- IF(PRESENT(file_space_id)) file_space_id_default = file_space_id
-
- f_ptr = C_LOC(buf(1,1,1)(1:1))
-
- hdferr = h5dwrite_f_c(dset_id, mem_type_id, mem_space_id_default, &
- file_space_id_default, xfer_prp_default, f_ptr)
-
- END SUBROUTINE h5dwrite_char_3
-
- SUBROUTINE h5dwrite_char_4(dset_id, mem_type_id, buf, dims, hdferr, &
- mem_space_id, file_space_id, xfer_prp)
- USE, INTRINSIC :: ISO_C_BINDING
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
- INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
- CHARACTER(LEN=*), INTENT(IN), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4)), TARGET :: buf
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id ! Memory dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id ! File dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp ! Transfer property list identifier
- INTEGER(HID_T) :: xfer_prp_default
- INTEGER(HID_T) :: mem_space_id_default
- INTEGER(HID_T) :: file_space_id_default
- TYPE(C_PTR) :: f_ptr
-
- xfer_prp_default = H5P_DEFAULT_F
- mem_space_id_default = H5S_ALL_F
- file_space_id_default = H5S_ALL_F
-
- IF(PRESENT(xfer_prp)) xfer_prp_default = xfer_prp
- IF(PRESENT(mem_space_id)) mem_space_id_default = mem_space_id
- IF(PRESENT(file_space_id)) file_space_id_default = file_space_id
-
- f_ptr = C_LOC(buf(1,1,1,1)(1:1))
-
- hdferr = h5dwrite_f_c(dset_id, mem_type_id, mem_space_id_default, &
- file_space_id_default, xfer_prp_default, f_ptr)
-
- END SUBROUTINE h5dwrite_char_4
-
- SUBROUTINE h5dwrite_char_5(dset_id, mem_type_id, buf, dims, hdferr, &
- mem_space_id, file_space_id, xfer_prp)
- USE, INTRINSIC :: ISO_C_BINDING
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
- INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
- CHARACTER(LEN=*), INTENT(IN), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)), TARGET :: buf
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id ! Memory dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id ! File dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp ! Transfer property list identifier
- INTEGER(HID_T) :: xfer_prp_default
- INTEGER(HID_T) :: mem_space_id_default
- INTEGER(HID_T) :: file_space_id_default
- TYPE(C_PTR) :: f_ptr
-
- xfer_prp_default = H5P_DEFAULT_F
- mem_space_id_default = H5S_ALL_F
- file_space_id_default = H5S_ALL_F
-
- IF(PRESENT(xfer_prp)) xfer_prp_default = xfer_prp
- IF(PRESENT(mem_space_id)) mem_space_id_default = mem_space_id
- IF(PRESENT(file_space_id)) file_space_id_default = file_space_id
-
- f_ptr = C_LOC(buf(1,1,1,1,1)(1:1))
- hdferr = h5dwrite_f_c(dset_id, mem_type_id, mem_space_id_default, &
- file_space_id_default, xfer_prp_default, f_ptr)
-
- END SUBROUTINE h5dwrite_char_5
-
- SUBROUTINE h5dwrite_char_6(dset_id, mem_type_id, buf, dims, hdferr, &
- mem_space_id, file_space_id, xfer_prp)
- USE, INTRINSIC :: ISO_C_BINDING
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
- INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
- CHARACTER(LEN=*), INTENT(IN), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)), TARGET :: buf
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id ! Memory dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id ! File dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp ! Transfer property list identifier
-
- INTEGER(HID_T) :: xfer_prp_default
- INTEGER(HID_T) :: mem_space_id_default
- INTEGER(HID_T) :: file_space_id_default
- TYPE(C_PTR) :: f_ptr
-
- xfer_prp_default = H5P_DEFAULT_F
- mem_space_id_default = H5S_ALL_F
- file_space_id_default = H5S_ALL_F
-
- IF(PRESENT(xfer_prp)) xfer_prp_default = xfer_prp
- IF(PRESENT(mem_space_id)) mem_space_id_default = mem_space_id
- IF(PRESENT(file_space_id)) file_space_id_default = file_space_id
-
- f_ptr = C_LOC(buf(1,1,1,1,1,1)(1:1))
-
- hdferr = h5dwrite_f_c(dset_id, mem_type_id, mem_space_id_default, &
- file_space_id_default, xfer_prp_default, f_ptr)
-
- END SUBROUTINE h5dwrite_char_6
-
- SUBROUTINE h5dwrite_char_7(dset_id, mem_type_id, buf, dims, hdferr, &
- mem_space_id, file_space_id, xfer_prp)
- USE, INTRINSIC :: ISO_C_BINDING
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
- INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
- CHARACTER(LEN=*), INTENT(IN), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)), TARGET :: buf
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id ! Memory dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id ! File dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp ! Transfer property list identifier
-
- INTEGER(HID_T) :: xfer_prp_default
- INTEGER(HID_T) :: mem_space_id_default
- INTEGER(HID_T) :: file_space_id_default
- TYPE(C_PTR) :: f_ptr
-
- xfer_prp_default = H5P_DEFAULT_F
- mem_space_id_default = H5S_ALL_F
- file_space_id_default = H5S_ALL_F
-
- IF(PRESENT(xfer_prp)) xfer_prp_default = xfer_prp
- IF(PRESENT(mem_space_id)) mem_space_id_default = mem_space_id
- IF(PRESENT(file_space_id)) file_space_id_default = file_space_id
-
- f_ptr = C_LOC(buf(1,1,1,1,1,1,1)(1:1))
-
- hdferr = h5dwrite_f_c(dset_id, mem_type_id, mem_space_id_default, &
- file_space_id_default, xfer_prp_default, f_ptr)
-
- END SUBROUTINE h5dwrite_char_7
-
-
- SUBROUTINE h5dwrite_real_scalar(dset_id, mem_type_id, buf, dims, hdferr, &
- mem_space_id, file_space_id, xfer_prp)
- USE, INTRINSIC :: ISO_C_BINDING
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
- INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
- REAL, INTENT(IN), TARGET :: buf ! Data buffer
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id ! Memory dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id ! File dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp ! Transfer property list identifier
- INTEGER(HID_T) :: xfer_prp_default
- INTEGER(HID_T) :: mem_space_id_default
- INTEGER(HID_T) :: file_space_id_default
- TYPE(C_PTR) :: f_ptr
-
- xfer_prp_default = H5P_DEFAULT_F
- mem_space_id_default = H5S_ALL_F
- file_space_id_default = H5S_ALL_F
- IF(PRESENT(xfer_prp)) xfer_prp_default = xfer_prp
- IF(PRESENT(mem_space_id)) mem_space_id_default = mem_space_id
- IF(PRESENT(file_space_id)) file_space_id_default = file_space_id
- f_ptr = C_LOC(buf)
-
- hdferr = h5dwrite_f_c(dset_id, mem_type_id, mem_space_id_default, &
- file_space_id_default, xfer_prp_default, f_ptr)
-
- END SUBROUTINE h5dwrite_real_scalar
-
-
- SUBROUTINE h5dwrite_real_1(dset_id, mem_type_id, buf, dims, hdferr, &
- mem_space_id, file_space_id, xfer_prp)
- USE, INTRINSIC :: ISO_C_BINDING
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
- INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
- REAL, INTENT(IN), &
- DIMENSION(dims(1)), TARGET :: buf
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id ! Memory dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id ! File dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp ! Transfer property list identifier
- INTEGER(HID_T) :: xfer_prp_default
- INTEGER(HID_T) :: mem_space_id_default
- INTEGER(HID_T) :: file_space_id_default
- TYPE(C_PTR) :: f_ptr
-
- xfer_prp_default = H5P_DEFAULT_F
- mem_space_id_default = H5S_ALL_F
- file_space_id_default = H5S_ALL_F
-
- IF(PRESENT(xfer_prp)) xfer_prp_default = xfer_prp
- IF(PRESENT(mem_space_id)) mem_space_id_default = mem_space_id
- IF(PRESENT(file_space_id)) file_space_id_default = file_space_id
- f_ptr = C_LOC(buf(1))
-
- hdferr = h5dwrite_f_c(dset_id, mem_type_id, mem_space_id_default, &
- file_space_id_default, xfer_prp_default, f_ptr)
-
- END SUBROUTINE h5dwrite_real_1
-
- SUBROUTINE h5dwrite_real_2(dset_id, mem_type_id, buf, dims, hdferr, &
- mem_space_id, file_space_id, xfer_prp)
- USE, INTRINSIC :: ISO_C_BINDING
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
- INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
- REAL, INTENT(IN), &
- DIMENSION(dims(1),dims(2)), TARGET :: buf
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id ! Memory dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id ! File dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp ! Transfer property list identifier
-
- INTEGER(HID_T) :: xfer_prp_default
- INTEGER(HID_T) :: mem_space_id_default
- INTEGER(HID_T) :: file_space_id_default
- TYPE(C_PTR) :: f_ptr
-
- xfer_prp_default = H5P_DEFAULT_F
- mem_space_id_default = H5S_ALL_F
- file_space_id_default = H5S_ALL_F
-
- IF(PRESENT(xfer_prp)) xfer_prp_default = xfer_prp
- IF(PRESENT(mem_space_id)) mem_space_id_default = mem_space_id
- IF(PRESENT(file_space_id)) file_space_id_default = file_space_id
- f_ptr = C_LOC(buf(1,1))
-
- hdferr = h5dwrite_f_c(dset_id, mem_type_id, mem_space_id_default, &
- file_space_id_default, xfer_prp_default, f_ptr)
-
- END SUBROUTINE h5dwrite_real_2
-
- SUBROUTINE h5dwrite_real_3(dset_id, mem_type_id, buf, dims, hdferr, &
- mem_space_id, file_space_id, xfer_prp)
- USE, INTRINSIC :: ISO_C_BINDING
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
- INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
- REAL, INTENT(IN), &
- DIMENSION(dims(1),dims(2),dims(3)), TARGET :: buf
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id ! Memory dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id ! File dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp ! Transfer property list identifier
- INTEGER(HID_T) :: xfer_prp_default
- INTEGER(HID_T) :: mem_space_id_default
- INTEGER(HID_T) :: file_space_id_default
- TYPE(C_PTR) :: f_ptr
-
- xfer_prp_default = H5P_DEFAULT_F
- mem_space_id_default = H5S_ALL_F
- file_space_id_default = H5S_ALL_F
-
- IF(PRESENT(xfer_prp)) xfer_prp_default = xfer_prp
- IF(PRESENT(mem_space_id)) mem_space_id_default = mem_space_id
- IF(PRESENT(file_space_id)) file_space_id_default = file_space_id
- f_ptr = C_LOC(buf(1,1,1))
-
- hdferr = h5dwrite_f_c(dset_id, mem_type_id, mem_space_id_default, &
- file_space_id_default, xfer_prp_default, f_ptr)
-
- END SUBROUTINE h5dwrite_real_3
-
- SUBROUTINE h5dwrite_real_4(dset_id, mem_type_id, buf, dims, hdferr, &
- mem_space_id, file_space_id, xfer_prp)
- USE, INTRINSIC :: ISO_C_BINDING
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
- INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
- REAL, INTENT(IN), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4)), TARGET :: buf
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id ! Memory dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id ! File dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp ! Transfer property list identifier
- INTEGER(HID_T) :: xfer_prp_default
- INTEGER(HID_T) :: mem_space_id_default
- INTEGER(HID_T) :: file_space_id_default
- TYPE(C_PTR) :: f_ptr
-
- xfer_prp_default = H5P_DEFAULT_F
- mem_space_id_default = H5S_ALL_F
- file_space_id_default = H5S_ALL_F
-
- IF(PRESENT(xfer_prp)) xfer_prp_default = xfer_prp
- IF(PRESENT(mem_space_id)) mem_space_id_default = mem_space_id
- IF(PRESENT(file_space_id)) file_space_id_default = file_space_id
- f_ptr = C_LOC(buf(1,1,1,1))
-
- hdferr = h5dwrite_f_c(dset_id, mem_type_id, mem_space_id_default, &
- file_space_id_default, xfer_prp_default, f_ptr)
-
- END SUBROUTINE h5dwrite_real_4
-
- SUBROUTINE h5dwrite_real_5(dset_id, mem_type_id, buf, dims, hdferr, &
- mem_space_id, file_space_id, xfer_prp)
- USE, INTRINSIC :: ISO_C_BINDING
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
- INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
- REAL, INTENT(IN), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)), TARGET :: buf
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id ! Memory dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id ! File dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp ! Transfer property list identifier
- INTEGER(HID_T) :: xfer_prp_default
- INTEGER(HID_T) :: mem_space_id_default
- INTEGER(HID_T) :: file_space_id_default
- TYPE(C_PTR) :: f_ptr
-
- xfer_prp_default = H5P_DEFAULT_F
- mem_space_id_default = H5S_ALL_F
- file_space_id_default = H5S_ALL_F
-
- IF(PRESENT(xfer_prp)) xfer_prp_default = xfer_prp
- IF(PRESENT(mem_space_id)) mem_space_id_default = mem_space_id
- IF(PRESENT(file_space_id)) file_space_id_default = file_space_id
- f_ptr = C_LOC(buf(1,1,1,1,1))
-
- hdferr = h5dwrite_f_c(dset_id, mem_type_id, mem_space_id_default, &
- file_space_id_default, xfer_prp_default, f_ptr)
-
- END SUBROUTINE h5dwrite_real_5
-
- SUBROUTINE h5dwrite_real_6(dset_id, mem_type_id, buf, dims, hdferr, &
- mem_space_id, file_space_id, xfer_prp)
- USE, INTRINSIC :: ISO_C_BINDING
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
- INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
- REAL, INTENT(IN), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)), TARGET :: buf
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id ! Memory dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id ! File dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp ! Transfer property list identifier
- INTEGER(HID_T) :: xfer_prp_default
- INTEGER(HID_T) :: mem_space_id_default
- INTEGER(HID_T) :: file_space_id_default
- TYPE(C_PTR) :: f_ptr
-
- xfer_prp_default = H5P_DEFAULT_F
- mem_space_id_default = H5S_ALL_F
- file_space_id_default = H5S_ALL_F
-
- IF(PRESENT(xfer_prp)) xfer_prp_default = xfer_prp
- IF(PRESENT(mem_space_id)) mem_space_id_default = mem_space_id
- IF(PRESENT(file_space_id)) file_space_id_default = file_space_id
- f_ptr = C_LOC(buf(1,1,1,1,1,1))
-
- hdferr = h5dwrite_f_c(dset_id, mem_type_id, mem_space_id_default, &
- file_space_id_default, xfer_prp_default, f_ptr)
-
- END SUBROUTINE h5dwrite_real_6
-
- SUBROUTINE h5dwrite_real_7(dset_id, mem_type_id, buf, dims, hdferr, &
- mem_space_id, file_space_id, xfer_prp)
- USE, INTRINSIC :: ISO_C_BINDING
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
- INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
- REAL, INTENT(IN), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)), TARGET :: buf
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id ! Memory dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id ! File dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp ! Transfer property list identifier
- INTEGER(HID_T) :: xfer_prp_default
- INTEGER(HID_T) :: mem_space_id_default
- INTEGER(HID_T) :: file_space_id_default
- TYPE(C_PTR) :: f_ptr
-
- xfer_prp_default = H5P_DEFAULT_F
- mem_space_id_default = H5S_ALL_F
- file_space_id_default = H5S_ALL_F
-
- IF(PRESENT(xfer_prp)) xfer_prp_default = xfer_prp
- IF(PRESENT(mem_space_id)) mem_space_id_default = mem_space_id
- IF(PRESENT(file_space_id)) file_space_id_default = file_space_id
- f_ptr = C_LOC(buf(1,1,1,1,1,1,1))
-
- hdferr = h5dwrite_f_c(dset_id, mem_type_id, mem_space_id_default, &
- file_space_id_default, xfer_prp_default, f_ptr)
-
- END SUBROUTINE h5dwrite_real_7
-
-!
-! NAME
-! h5dread_f
-!
-! PURPOSE
-! Reads raw data from the specified dataset into buf,
-! converting from file datatype and dataspace to memory
-! datatype and dataspace.
-!
-! Inputs:
-! dset_id - dataset identifier
-! mem_type_id - memory type identifier
-! dims - 1-dim array of size 7; dims(k) has the size
-! - of k-th dimension of the buf array
-! Outputs:
-! buf - buffer to read data in
-! hdferr: - error code
-! Success: 0
-! Failure: -1
-! Optional parameters:
-! mem_space_id - memory dataspace identifier
-! file_space_id - file dataspace identifier
-! xfer_prp - trasfer property list identifier
-!
-! AUTHOR
-! Elena Pourmal
-! August 12, 1999
-!
-! HISTORY
-! Explicit Fortran interfaces were added for
-! called C functions (it is needed for Windows
-! port). February 28, 2001
-!
-! dims parameter was added to make code portable;
-! n parameter was replaced with dims parameter in
-! the h5dwrite_reference_obj and h5dwrite_reference_dsetreg
-! functions. April 2, 2001
-!
-! NOTES
-! This function is overloaded to read INTEGER,
-! REAL, DOUBLE PRECISION and CHARACTER buffers
-! up to 7 dimensions, and one dimensional buffers
-! of the TYPE(hobj_ref_t_f) and TYPE(hdset_reg_ref_t_f)
-! types.
-!
- SUBROUTINE h5dread_reference_obj(dset_id, mem_type_id, buf, dims, hdferr, &
- mem_space_id, file_space_id, xfer_prp)
- USE, INTRINSIC :: ISO_C_BINDING
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
- INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
- TYPE(hobj_ref_t_f), INTENT(INOUT) , &
- DIMENSION(dims(1)), TARGET :: buf
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id ! Memory dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id ! File dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp ! Transfer property list identifier
-
- INTEGER(HID_T) :: xfer_prp_default
- INTEGER(HID_T) :: mem_space_id_default
- INTEGER(HID_T) :: file_space_id_default
- TYPE(C_PTR) :: f_ptr
-
- xfer_prp_default = H5P_DEFAULT_F
- mem_space_id_default = H5S_ALL_F
- file_space_id_default = H5S_ALL_F
-
- IF(PRESENT(xfer_prp)) xfer_prp_default = xfer_prp
- IF(PRESENT(mem_space_id)) mem_space_id_default = mem_space_id
- IF(PRESENT(file_space_id)) file_space_id_default = file_space_id
- f_ptr = C_LOC(buf(1))
-
- hdferr = h5dread_f_c(dset_id, mem_type_id, mem_space_id_default, &
- file_space_id_default, xfer_prp_default, f_ptr)
-
- END SUBROUTINE h5dread_reference_obj
-
- SUBROUTINE h5dread_reference_dsetreg(dset_id, mem_type_id, buf, dims, hdferr, &
- mem_space_id, file_space_id, xfer_prp)
- USE, INTRINSIC :: ISO_C_BINDING
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
- INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
- TYPE(hdset_reg_ref_t_f), INTENT(INOUT), &
- DIMENSION(dims(1)), TARGET :: buf
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id ! Memory dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id ! File dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp ! Transfer property list identifier
- INTEGER(HID_T) :: xfer_prp_default
- INTEGER(HID_T) :: mem_space_id_default
- INTEGER(HID_T) :: file_space_id_default
-
- INTEGER, ALLOCATABLE, DIMENSION(:) :: ref_buf
- INTEGER :: i
- INTEGER(HSIZE_T) :: j
- INTERFACE
- INTEGER FUNCTION h5dread_ref_reg_c(dset_id, mem_type_id,&
- mem_space_id_default, &
- file_space_id_default, xfer_prp_default, ref_buf, dims)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5DREAD_REF_REG_C'::h5dread_ref_reg_c
- !DEC$ENDIF
- INTEGER(HID_T), INTENT(IN) :: dset_id
- INTEGER(HID_T), INTENT(IN) :: mem_type_id
- INTEGER(HID_T) :: xfer_prp_default
- INTEGER(HID_T) :: mem_space_id_default
- INTEGER(HID_T) :: file_space_id_default
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
- INTEGER, DIMENSION(*) :: ref_buf
- END FUNCTION h5dread_ref_reg_c
- END INTERFACE
-
- ALLOCATE(ref_buf(REF_REG_BUF_LEN*dims(1)), stat=hdferr)
- IF (hdferr .NE. 0) THEN
- hdferr = -1
- RETURN
- ENDIF
-
- xfer_prp_default = H5P_DEFAULT_F
- mem_space_id_default = H5S_ALL_F
- file_space_id_default = H5S_ALL_F
-
- IF(PRESENT(xfer_prp)) xfer_prp_default = xfer_prp
- IF(PRESENT(mem_space_id)) mem_space_id_default = mem_space_id
- IF(PRESENT(file_space_id)) file_space_id_default = file_space_id
-
- hdferr = h5dread_ref_reg_c(dset_id, mem_type_id, mem_space_id_default, &
- file_space_id_default, xfer_prp_default, ref_buf, dims)
-
- DO j = 1, dims(1)
- DO i = 1, REF_REG_BUF_LEN
- buf(j)%ref(i) = ref_buf(REF_REG_BUF_LEN*(j-1) + i)
- ENDDO
- ENDDO
- DEALLOCATE(ref_buf)
-
- END SUBROUTINE h5dread_reference_dsetreg
-
-
- SUBROUTINE h5dread_integer_scalar(dset_id, mem_type_id, buf, dims, hdferr, &
- mem_space_id, file_space_id, xfer_prp)
- USE, INTRINSIC :: ISO_C_BINDING
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
- INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
- INTEGER, INTENT(INOUT) , TARGET :: buf ! Data buffer
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id ! Memory dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id ! File dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp ! Transfer property list identifier
- INTEGER(HID_T) :: xfer_prp_default
- INTEGER(HID_T) :: mem_space_id_default
- INTEGER(HID_T) :: file_space_id_default
- TYPE(C_PTR) :: f_ptr
-
- xfer_prp_default = H5P_DEFAULT_F
- mem_space_id_default = H5S_ALL_F
- file_space_id_default = H5S_ALL_F
-
- IF(PRESENT(xfer_prp)) xfer_prp_default = xfer_prp
- IF(PRESENT(mem_space_id)) mem_space_id_default = mem_space_id
- IF(PRESENT(file_space_id)) file_space_id_default = file_space_id
- f_ptr = C_LOC(buf)
-
- hdferr = h5dread_f_c(dset_id, mem_type_id, mem_space_id_default, &
- file_space_id_default, xfer_prp_default, f_ptr)
-
-
- END SUBROUTINE h5dread_integer_scalar
-
- SUBROUTINE h5dread_integer_1(dset_id, mem_type_id, buf, dims, hdferr, &
- mem_space_id, file_space_id, xfer_prp)
- USE, INTRINSIC :: ISO_C_BINDING
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
- INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
- INTEGER, INTENT(INOUT), &
- DIMENSION(dims(1)) , TARGET :: buf
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id ! Memory dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id ! File dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp ! Transfer property list identifier
- INTEGER(HID_T) :: xfer_prp_default
- INTEGER(HID_T) :: mem_space_id_default
- INTEGER(HID_T) :: file_space_id_default
- TYPE(C_PTR) :: f_ptr
-
- xfer_prp_default = H5P_DEFAULT_F
- mem_space_id_default = H5S_ALL_F
- file_space_id_default = H5S_ALL_F
-
- IF(PRESENT(xfer_prp)) xfer_prp_default = xfer_prp
- IF(PRESENT(mem_space_id)) mem_space_id_default = mem_space_id
- IF(PRESENT(file_space_id)) file_space_id_default = file_space_id
- f_ptr = C_LOC(buf(1))
-
- hdferr = h5dread_f_c(dset_id, mem_type_id, mem_space_id_default, &
- file_space_id_default, xfer_prp_default, f_ptr)
-
- END SUBROUTINE h5dread_integer_1
-
- SUBROUTINE h5dread_integer_2(dset_id, mem_type_id, buf, dims, hdferr, &
- mem_space_id, file_space_id, xfer_prp)
- USE, INTRINSIC :: ISO_C_BINDING
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
- INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
- INTEGER, INTENT(INOUT), &
- DIMENSION(dims(1),dims(2)) , TARGET :: buf
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id ! Memory dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id ! File dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp ! Transfer property list identifier
- INTEGER(HID_T) :: xfer_prp_default
- INTEGER(HID_T) :: mem_space_id_default
- INTEGER(HID_T) :: file_space_id_default
- TYPE(C_PTR) :: f_ptr
-
- xfer_prp_default = H5P_DEFAULT_F
- mem_space_id_default = H5S_ALL_F
- file_space_id_default = H5S_ALL_F
-
- IF(PRESENT(xfer_prp)) xfer_prp_default = xfer_prp
- IF(PRESENT(mem_space_id)) mem_space_id_default = mem_space_id
- IF(PRESENT(file_space_id)) file_space_id_default = file_space_id
- f_ptr = C_LOC(buf(1,1))
-
- hdferr = h5dread_f_c(dset_id, mem_type_id, mem_space_id_default, &
- file_space_id_default, xfer_prp_default, f_ptr)
-
- END SUBROUTINE h5dread_integer_2
-
- SUBROUTINE h5dread_integer_3(dset_id, mem_type_id, buf, dims, hdferr, &
- mem_space_id, file_space_id, xfer_prp)
- USE, INTRINSIC :: ISO_C_BINDING
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
- INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
- INTEGER, INTENT(INOUT), &
- DIMENSION(dims(1),dims(2),dims(3)) , TARGET :: buf
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id ! Memory dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id ! File dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp ! Transfer property list identifier
-
- INTEGER(HID_T) :: xfer_prp_default
- INTEGER(HID_T) :: mem_space_id_default
- INTEGER(HID_T) :: file_space_id_default
- TYPE(C_PTR) :: f_ptr
-
- xfer_prp_default = H5P_DEFAULT_F
- mem_space_id_default = H5S_ALL_F
- file_space_id_default = H5S_ALL_F
-
- IF(PRESENT(xfer_prp)) xfer_prp_default = xfer_prp
- IF(PRESENT(mem_space_id)) mem_space_id_default = mem_space_id
- IF(PRESENT(file_space_id)) file_space_id_default = file_space_id
- f_ptr = C_LOC(buf(1,1,1))
-
- hdferr = h5dread_f_c(dset_id, mem_type_id, mem_space_id_default, &
- file_space_id_default, xfer_prp_default, f_ptr)
-
- END SUBROUTINE h5dread_integer_3
-
- SUBROUTINE h5dread_integer_4(dset_id, mem_type_id, buf, dims, hdferr, &
- mem_space_id, file_space_id, xfer_prp)
- USE, INTRINSIC :: ISO_C_BINDING
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
- INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
- INTEGER, INTENT(INOUT), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4)) , TARGET :: buf
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id ! Memory dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id ! File dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp ! Transfer property list identifier
- INTEGER(HID_T) :: xfer_prp_default
- INTEGER(HID_T) :: mem_space_id_default
- INTEGER(HID_T) :: file_space_id_default
- TYPE(C_PTR) :: f_ptr
-
- xfer_prp_default = H5P_DEFAULT_F
- mem_space_id_default = H5S_ALL_F
- file_space_id_default = H5S_ALL_F
-
- IF(PRESENT(xfer_prp)) xfer_prp_default = xfer_prp
- IF(PRESENT(mem_space_id)) mem_space_id_default = mem_space_id
- IF(PRESENT(file_space_id)) file_space_id_default = file_space_id
- f_ptr = C_LOC(buf(1,1,1,1))
-
- hdferr = h5dread_f_c(dset_id, mem_type_id, mem_space_id_default, &
- file_space_id_default, xfer_prp_default, f_ptr)
-
- END SUBROUTINE h5dread_integer_4
-
- SUBROUTINE h5dread_integer_5(dset_id, mem_type_id, buf, dims, hdferr, &
- mem_space_id, file_space_id, xfer_prp)
- USE, INTRINSIC :: ISO_C_BINDING
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
- INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
- INTEGER, INTENT(INOUT), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)) , TARGET :: buf
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id ! Memory dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id ! File dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp ! Transfer property list identifier
-
- INTEGER(HID_T) :: xfer_prp_default
- INTEGER(HID_T) :: mem_space_id_default
- INTEGER(HID_T) :: file_space_id_default
- TYPE(C_PTR) :: f_ptr
-
- xfer_prp_default = H5P_DEFAULT_F
- mem_space_id_default = H5S_ALL_F
- file_space_id_default = H5S_ALL_F
-
- IF(PRESENT(xfer_prp)) xfer_prp_default = xfer_prp
- IF(PRESENT(mem_space_id)) mem_space_id_default = mem_space_id
- IF(PRESENT(file_space_id)) file_space_id_default = file_space_id
- f_ptr = C_LOC(buf(1,1,1,1,1))
-
- hdferr = h5dread_f_c(dset_id, mem_type_id, mem_space_id_default, &
- file_space_id_default, xfer_prp_default, f_ptr)
-
- END SUBROUTINE h5dread_integer_5
-
- SUBROUTINE h5dread_integer_6(dset_id, mem_type_id, buf, dims, hdferr, &
- mem_space_id, file_space_id, xfer_prp)
- USE, INTRINSIC :: ISO_C_BINDING
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
- INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
- INTEGER, INTENT(INOUT), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)) , TARGET :: buf
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id ! Memory dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id ! File dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp ! Transfer property list identifier
- INTEGER(HID_T) :: xfer_prp_default
- INTEGER(HID_T) :: mem_space_id_default
- INTEGER(HID_T) :: file_space_id_default
- TYPE(C_PTR) :: f_ptr
-
- xfer_prp_default = H5P_DEFAULT_F
- mem_space_id_default = H5S_ALL_F
- file_space_id_default = H5S_ALL_F
-
- IF(PRESENT(xfer_prp)) xfer_prp_default = xfer_prp
- IF(PRESENT(mem_space_id)) mem_space_id_default = mem_space_id
- IF(PRESENT(file_space_id)) file_space_id_default = file_space_id
- f_ptr = C_LOC(buf(1,1,1,1,1,1))
-
- hdferr = h5dread_f_c(dset_id, mem_type_id, mem_space_id_default, &
- file_space_id_default, xfer_prp_default, f_ptr)
-
- END SUBROUTINE h5dread_integer_6
-
- SUBROUTINE h5dread_integer_7(dset_id, mem_type_id, buf, dims, hdferr, &
- mem_space_id, file_space_id, xfer_prp)
- USE, INTRINSIC :: ISO_C_BINDING
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
- INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
- INTEGER, INTENT(INOUT), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)) , TARGET :: buf
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id ! Memory dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id ! File dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp ! Transfer property list identifier
- INTEGER(HID_T) :: xfer_prp_default
- INTEGER(HID_T) :: mem_space_id_default
- INTEGER(HID_T) :: file_space_id_default
- TYPE(C_PTR) :: f_ptr
-
- xfer_prp_default = H5P_DEFAULT_F
- mem_space_id_default = H5S_ALL_F
- file_space_id_default = H5S_ALL_F
-
- IF(PRESENT(xfer_prp)) xfer_prp_default = xfer_prp
- IF(PRESENT(mem_space_id)) mem_space_id_default = mem_space_id
- IF(PRESENT(file_space_id)) file_space_id_default = file_space_id
- f_ptr = C_LOC(buf(1,1,1,1,1,1,1))
-
- hdferr = h5dread_f_c(dset_id, mem_type_id, mem_space_id_default, &
- file_space_id_default, xfer_prp_default, f_ptr)
-
- END SUBROUTINE h5dread_integer_7
-
- SUBROUTINE h5dread_char_scalar(dset_id, mem_type_id, buf, dims, hdferr, &
- mem_space_id, file_space_id, xfer_prp)
- USE, INTRINSIC :: ISO_C_BINDING
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
- INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
- CHARACTER(LEN=*), INTENT(INOUT) :: buf ! Data buffer
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id ! Memory dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id ! File dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp ! Transfer property list identifier
-
- INTEGER(HID_T) :: xfer_prp_default
- INTEGER(HID_T) :: mem_space_id_default
- INTEGER(HID_T) :: file_space_id_default
-
- xfer_prp_default = H5P_DEFAULT_F
- mem_space_id_default = H5S_ALL_F
- file_space_id_default = H5S_ALL_F
-
- IF(PRESENT(xfer_prp)) xfer_prp_default = xfer_prp
- IF(PRESENT(mem_space_id)) mem_space_id_default = mem_space_id
- IF(PRESENT(file_space_id)) file_space_id_default = file_space_id
-
- CALL h5dread_char_scalar_fix(dset_id, mem_type_id, buf, LEN(buf), hdferr, &
- mem_space_id_default, file_space_id_default, xfer_prp_default)
-
- END SUBROUTINE h5dread_char_scalar
-
- SUBROUTINE h5dread_char_scalar_fix(dset_id, mem_type_id, buf, buf_len, hdferr, &
- mem_space_id, file_space_id, xfer_prp)
- USE, INTRINSIC :: ISO_C_BINDING
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
- INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
- INTEGER, INTENT(IN) :: buf_len
- CHARACTER(LEN=buf_len), INTENT(INOUT), TARGET :: buf ! Data buffer
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id ! Memory dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id ! File dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp ! Transfer property list identifier
-
- TYPE(C_PTR) :: f_ptr
-
- f_ptr = C_LOC(buf(1:1))
-
- hdferr = h5dread_f_c(dset_id, mem_type_id, mem_space_id, &
- file_space_id, xfer_prp, f_ptr)
-
- END SUBROUTINE h5dread_char_scalar_fix
-
- SUBROUTINE h5dread_char_1(dset_id, mem_type_id, buf, dims, hdferr, &
- mem_space_id, file_space_id, xfer_prp)
- USE, INTRINSIC :: ISO_C_BINDING
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
- INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
- CHARACTER(LEN=*), INTENT(INOUT), &
- DIMENSION(dims(1)), TARGET :: buf
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id ! Memory dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id ! File dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp ! Transfer property list identifier
-
- INTEGER(HID_T) :: xfer_prp_default
- INTEGER(HID_T) :: mem_space_id_default
- INTEGER(HID_T) :: file_space_id_default
- TYPE(C_PTR) :: f_ptr
-
- xfer_prp_default = H5P_DEFAULT_F
- mem_space_id_default = H5S_ALL_F
- file_space_id_default = H5S_ALL_F
-
- IF(PRESENT(xfer_prp)) xfer_prp_default = xfer_prp
- IF(PRESENT(mem_space_id)) mem_space_id_default = mem_space_id
- IF(PRESENT(file_space_id)) file_space_id_default = file_space_id
-
- f_ptr = C_LOC(buf(1)(1:1))
- hdferr = h5dread_f_c(dset_id, mem_type_id, mem_space_id_default, &
- file_space_id_default, xfer_prp_default, f_ptr)
-
- END SUBROUTINE h5dread_char_1
-
- SUBROUTINE h5dread_char_2(dset_id, mem_type_id, buf, dims, hdferr, &
- mem_space_id, file_space_id, xfer_prp)
- USE, INTRINSIC :: ISO_C_BINDING
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
- INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
- CHARACTER(LEN=*), INTENT(INOUT), &
- DIMENSION(dims(1),dims(2)), TARGET :: buf
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id ! Memory dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id ! File dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp ! Transfer property list identifier
-
- INTEGER(HID_T) :: xfer_prp_default
- INTEGER(HID_T) :: mem_space_id_default
- INTEGER(HID_T) :: file_space_id_default
- TYPE(C_PTR) :: f_ptr
-
- xfer_prp_default = H5P_DEFAULT_F
- mem_space_id_default = H5S_ALL_F
- file_space_id_default = H5S_ALL_F
-
- IF(PRESENT(xfer_prp)) xfer_prp_default = xfer_prp
- IF(PRESENT(mem_space_id)) mem_space_id_default = mem_space_id
- IF(PRESENT(file_space_id)) file_space_id_default = file_space_id
-
- f_ptr = C_LOC(buf(1,1)(1:1))
-
- hdferr = h5dread_f_c(dset_id, mem_type_id, mem_space_id_default, &
- file_space_id_default, xfer_prp_default, f_ptr)
-
- END SUBROUTINE h5dread_char_2
-
- SUBROUTINE h5dread_char_3(dset_id, mem_type_id, buf, dims, hdferr, &
- mem_space_id, file_space_id, xfer_prp)
- USE, INTRINSIC :: ISO_C_BINDING
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
- INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
- CHARACTER(LEN=*), INTENT(INOUT), &
- DIMENSION(dims(1),dims(2),dims(3)), TARGET :: buf
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id ! Memory dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id ! File dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp ! Transfer property list identifier
-
- INTEGER(HID_T) :: xfer_prp_default
- INTEGER(HID_T) :: mem_space_id_default
- INTEGER(HID_T) :: file_space_id_default
- TYPE(C_PTR) :: f_ptr
-
- xfer_prp_default = H5P_DEFAULT_F
- mem_space_id_default = H5S_ALL_F
- file_space_id_default = H5S_ALL_F
-
- IF(PRESENT(xfer_prp)) xfer_prp_default = xfer_prp
- IF(PRESENT(mem_space_id)) mem_space_id_default = mem_space_id
- IF(PRESENT(file_space_id)) file_space_id_default = file_space_id
-
- f_ptr = C_LOC(buf(1,1,1)(1:1))
- hdferr = h5dread_f_c(dset_id, mem_type_id, mem_space_id_default, &
- file_space_id_default, xfer_prp_default, f_ptr)
-
- END SUBROUTINE h5dread_char_3
-
- SUBROUTINE h5dread_char_4(dset_id, mem_type_id, buf, dims, hdferr, &
- mem_space_id, file_space_id, xfer_prp)
- USE, INTRINSIC :: ISO_C_BINDING
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
- INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
- CHARACTER(LEN=*), INTENT(INOUT), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4)), TARGET :: buf
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id ! Memory dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id ! File dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp ! Transfer property list identifier
-
- INTEGER(HID_T) :: xfer_prp_default
- INTEGER(HID_T) :: mem_space_id_default
- INTEGER(HID_T) :: file_space_id_default
- TYPE(C_PTR) :: f_ptr
-
- xfer_prp_default = H5P_DEFAULT_F
- mem_space_id_default = H5S_ALL_F
- file_space_id_default = H5S_ALL_F
-
- IF(PRESENT(xfer_prp)) xfer_prp_default = xfer_prp
- IF(PRESENT(mem_space_id)) mem_space_id_default = mem_space_id
- IF(PRESENT(file_space_id)) file_space_id_default = file_space_id
-
- f_ptr = C_LOC(buf(1,1,1,1)(1:1))
-
- hdferr = h5dread_f_c(dset_id, mem_type_id, mem_space_id_default, &
- file_space_id_default, xfer_prp_default, f_ptr)
-
- END SUBROUTINE h5dread_char_4
-
- SUBROUTINE h5dread_char_5(dset_id, mem_type_id, buf, dims, hdferr, &
- mem_space_id, file_space_id, xfer_prp)
-
- USE, INTRINSIC :: ISO_C_BINDING
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
- INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
- CHARACTER(LEN=*), INTENT(INOUT), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)), TARGET :: buf
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id ! Memory dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id ! File dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp ! Transfer property list identifier
-
- INTEGER(HID_T) :: xfer_prp_default
- INTEGER(HID_T) :: mem_space_id_default
- INTEGER(HID_T) :: file_space_id_default
- TYPE(C_PTR) :: f_ptr
-
- xfer_prp_default = H5P_DEFAULT_F
- mem_space_id_default = H5S_ALL_F
- file_space_id_default = H5S_ALL_F
-
- IF(PRESENT(xfer_prp)) xfer_prp_default = xfer_prp
- IF(PRESENT(mem_space_id)) mem_space_id_default = mem_space_id
- IF(PRESENT(file_space_id)) file_space_id_default = file_space_id
-
- f_ptr = C_LOC(buf(1,1,1,1,1)(1:1))
-
- hdferr = h5dread_f_c(dset_id, mem_type_id, mem_space_id_default, &
- file_space_id_default, xfer_prp_default, f_ptr)
-
- END SUBROUTINE h5dread_char_5
-
- SUBROUTINE h5dread_char_6(dset_id, mem_type_id, buf, dims, hdferr, &
- mem_space_id, file_space_id, xfer_prp)
- USE, INTRINSIC :: ISO_C_BINDING
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
- INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
- CHARACTER(LEN=*), INTENT(INOUT), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)), TARGET :: buf
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id ! Memory dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id ! File dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp ! Transfer property list identifier
-
- INTEGER(HID_T) :: xfer_prp_default
- INTEGER(HID_T) :: mem_space_id_default
- INTEGER(HID_T) :: file_space_id_default
- TYPE(C_PTR) :: f_ptr
-
- xfer_prp_default = H5P_DEFAULT_F
- mem_space_id_default = H5S_ALL_F
- file_space_id_default = H5S_ALL_F
-
- IF(PRESENT(xfer_prp)) xfer_prp_default = xfer_prp
- IF(PRESENT(mem_space_id)) mem_space_id_default = mem_space_id
- IF(PRESENT(file_space_id)) file_space_id_default = file_space_id
-
- f_ptr = C_LOC(buf(1,1,1,1,1,1)(1:1))
-
- hdferr = h5dread_f_c(dset_id, mem_type_id, mem_space_id_default, &
- file_space_id_default, xfer_prp_default, f_ptr)
-
- END SUBROUTINE h5dread_char_6
-
- SUBROUTINE h5dread_char_7(dset_id, mem_type_id, buf, dims, hdferr, &
- mem_space_id, file_space_id, xfer_prp)
-
- USE, INTRINSIC :: ISO_C_BINDING
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
- INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
- CHARACTER(LEN=*), INTENT(INOUT), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)), TARGET :: buf
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id ! Memory dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id ! File dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp ! Transfer property list identifier
-
- INTEGER(HID_T) :: xfer_prp_default
- INTEGER(HID_T) :: mem_space_id_default
- INTEGER(HID_T) :: file_space_id_default
- TYPE(C_PTR) :: f_ptr
-
- xfer_prp_default = H5P_DEFAULT_F
- mem_space_id_default = H5S_ALL_F
- file_space_id_default = H5S_ALL_F
-
- IF(PRESENT(xfer_prp)) xfer_prp_default = xfer_prp
- IF(PRESENT(mem_space_id)) mem_space_id_default = mem_space_id
- IF(PRESENT(file_space_id)) file_space_id_default = file_space_id
-
- f_ptr = C_LOC(buf(1,1,1,1,1,1,1)(1:1))
-
- hdferr = h5dread_f_c(dset_id, mem_type_id, mem_space_id_default, &
- file_space_id_default, xfer_prp_default, f_ptr)
-
- END SUBROUTINE h5dread_char_7
-
- SUBROUTINE h5dread_real_scalar(dset_id, mem_type_id, buf, dims, hdferr, &
- mem_space_id, file_space_id, xfer_prp)
-
- USE, INTRINSIC :: ISO_C_BINDING
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
- INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
- REAL, INTENT(INOUT) , TARGET :: buf ! Data buffer
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id ! Memory dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id ! File dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp ! Transfer property list identifier
- INTEGER(HID_T) :: xfer_prp_default
- INTEGER(HID_T) :: mem_space_id_default
- INTEGER(HID_T) :: file_space_id_default
- TYPE(C_PTR) :: f_ptr
-
- xfer_prp_default = H5P_DEFAULT_F
- mem_space_id_default = H5S_ALL_F
- file_space_id_default = H5S_ALL_F
-
- IF(PRESENT(xfer_prp)) xfer_prp_default = xfer_prp
- IF(PRESENT(mem_space_id)) mem_space_id_default = mem_space_id
- IF(PRESENT(file_space_id)) file_space_id_default = file_space_id
- f_ptr = C_LOC(buf)
-
- hdferr = h5dread_f_c(dset_id, mem_type_id, mem_space_id_default, &
- file_space_id_default, xfer_prp_default, f_ptr)
-
- END SUBROUTINE h5dread_real_scalar
-
- SUBROUTINE h5dread_real_1(dset_id, mem_type_id, buf, dims, hdferr, &
- mem_space_id, file_space_id, xfer_prp)
- USE, INTRINSIC :: ISO_C_BINDING
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
- INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
- REAL, INTENT(INOUT), &
- DIMENSION(dims(1)) , TARGET :: buf
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id ! Memory dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id ! File dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp ! Transfer property list identifier
- INTEGER(HID_T) :: xfer_prp_default
- INTEGER(HID_T) :: mem_space_id_default
- INTEGER(HID_T) :: file_space_id_default
- TYPE(C_PTR) :: f_ptr
-
- xfer_prp_default = H5P_DEFAULT_F
- mem_space_id_default = H5S_ALL_F
- file_space_id_default = H5S_ALL_F
-
- IF(PRESENT(xfer_prp)) xfer_prp_default = xfer_prp
- IF(PRESENT(mem_space_id)) mem_space_id_default = mem_space_id
- IF(PRESENT(file_space_id)) file_space_id_default = file_space_id
- f_ptr = C_LOC(buf(1))
-
- hdferr = h5dread_f_c(dset_id, mem_type_id, mem_space_id_default, &
- file_space_id_default, xfer_prp_default, f_ptr)
-
- END SUBROUTINE h5dread_real_1
-
- SUBROUTINE h5dread_real_2(dset_id, mem_type_id, buf, dims, hdferr, &
- mem_space_id, file_space_id, xfer_prp)
- USE, INTRINSIC :: ISO_C_BINDING
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
- INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
- REAL, INTENT(INOUT), &
- DIMENSION(dims(1),dims(2)) , TARGET :: buf
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id ! Memory dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id ! File dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp ! Transfer property list identifier
- INTEGER(HID_T) :: xfer_prp_default
- INTEGER(HID_T) :: mem_space_id_default
- INTEGER(HID_T) :: file_space_id_default
- TYPE(C_PTR) :: f_ptr
-
- xfer_prp_default = H5P_DEFAULT_F
- mem_space_id_default = H5S_ALL_F
- file_space_id_default = H5S_ALL_F
-
- IF(PRESENT(xfer_prp)) xfer_prp_default = xfer_prp
- IF(PRESENT(mem_space_id)) mem_space_id_default = mem_space_id
- IF(PRESENT(file_space_id)) file_space_id_default = file_space_id
- f_ptr = C_LOC(buf(1,1))
-
- hdferr = h5dread_f_c(dset_id, mem_type_id, mem_space_id_default, &
- file_space_id_default, xfer_prp_default, f_ptr)
-
- END SUBROUTINE h5dread_real_2
-
- SUBROUTINE h5dread_real_3(dset_id, mem_type_id, buf, dims, hdferr, &
- mem_space_id, file_space_id, xfer_prp)
- USE, INTRINSIC :: ISO_C_BINDING
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
- INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
- REAL, INTENT(INOUT), &
- DIMENSION(dims(1),dims(2),dims(3)) , TARGET :: buf
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id ! Memory dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id ! File dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp ! Transfer property list identifier
- INTEGER(HID_T) :: xfer_prp_default
- INTEGER(HID_T) :: mem_space_id_default
- INTEGER(HID_T) :: file_space_id_default
- TYPE(C_PTR) :: f_ptr
-
- xfer_prp_default = H5P_DEFAULT_F
- mem_space_id_default = H5S_ALL_F
- file_space_id_default = H5S_ALL_F
-
- IF(PRESENT(xfer_prp)) xfer_prp_default = xfer_prp
- IF(PRESENT(mem_space_id)) mem_space_id_default = mem_space_id
- IF(PRESENT(file_space_id)) file_space_id_default = file_space_id
- f_ptr = C_LOC(buf(1,1,1))
-
- hdferr = h5dread_f_c(dset_id, mem_type_id, mem_space_id_default, &
- file_space_id_default, xfer_prp_default, f_ptr)
-
- END SUBROUTINE h5dread_real_3
-
- SUBROUTINE h5dread_real_4(dset_id, mem_type_id, buf, dims, hdferr, &
- mem_space_id, file_space_id, xfer_prp)
- USE, INTRINSIC :: ISO_C_BINDING
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
- INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
- REAL, INTENT(INOUT), &
- DIMENSION(dims(1),dims(2),dims(3), dims(4)) , TARGET :: buf
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id ! Memory dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id ! File dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp ! Transfer property list identifier
- INTEGER(HID_T) :: xfer_prp_default
- INTEGER(HID_T) :: mem_space_id_default
- INTEGER(HID_T) :: file_space_id_default
- TYPE(C_PTR) :: f_ptr
-
- xfer_prp_default = H5P_DEFAULT_F
- mem_space_id_default = H5S_ALL_F
- file_space_id_default = H5S_ALL_F
-
- IF(PRESENT(xfer_prp)) xfer_prp_default = xfer_prp
- IF(PRESENT(mem_space_id)) mem_space_id_default = mem_space_id
- IF(PRESENT(file_space_id)) file_space_id_default = file_space_id
- f_ptr = C_LOC(buf(1,1,1,1))
-
- hdferr = h5dread_f_c(dset_id, mem_type_id, mem_space_id_default, &
- file_space_id_default, xfer_prp_default, f_ptr)
-
- END SUBROUTINE h5dread_real_4
-
- SUBROUTINE h5dread_real_5(dset_id, mem_type_id, buf, dims, hdferr, &
- mem_space_id, file_space_id, xfer_prp)
- USE, INTRINSIC :: ISO_C_BINDING
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
- INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
- REAL, INTENT(INOUT), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)) , TARGET :: buf
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id ! Memory dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id ! File dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp ! Transfer property list identifier
- INTEGER(HID_T) :: xfer_prp_default
- INTEGER(HID_T) :: mem_space_id_default
- INTEGER(HID_T) :: file_space_id_default
- TYPE(C_PTR) :: f_ptr
-
- xfer_prp_default = H5P_DEFAULT_F
- mem_space_id_default = H5S_ALL_F
- file_space_id_default = H5S_ALL_F
-
- IF(PRESENT(xfer_prp)) xfer_prp_default = xfer_prp
- IF(PRESENT(mem_space_id)) mem_space_id_default = mem_space_id
- IF(PRESENT(file_space_id)) file_space_id_default = file_space_id
- f_ptr = C_LOC(buf(1,1,1,1,1))
-
- hdferr = h5dread_f_c(dset_id, mem_type_id, mem_space_id_default, &
- file_space_id_default, xfer_prp_default, f_ptr)
-
- END SUBROUTINE h5dread_real_5
-
- SUBROUTINE h5dread_real_6(dset_id, mem_type_id, buf, dims, hdferr, &
- mem_space_id, file_space_id, xfer_prp)
-
- USE, INTRINSIC :: ISO_C_BINDING
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
- INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
- REAL, INTENT(INOUT), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)) , TARGET :: buf
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id ! Memory dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id ! File dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp ! Transfer property list identifier
- INTEGER(HID_T) :: xfer_prp_default
- INTEGER(HID_T) :: mem_space_id_default
- INTEGER(HID_T) :: file_space_id_default
- TYPE(C_PTR) :: f_ptr
-
- xfer_prp_default = H5P_DEFAULT_F
- mem_space_id_default = H5S_ALL_F
- file_space_id_default = H5S_ALL_F
-
- IF(PRESENT(xfer_prp)) xfer_prp_default = xfer_prp
- IF(PRESENT(mem_space_id)) mem_space_id_default = mem_space_id
- IF(PRESENT(file_space_id)) file_space_id_default = file_space_id
- f_ptr = C_LOC(buf(1,1,1,1,1,1))
-
- hdferr = h5dread_f_c(dset_id, mem_type_id, mem_space_id_default, &
- file_space_id_default, xfer_prp_default, f_ptr)
-
- END SUBROUTINE h5dread_real_6
-
- SUBROUTINE h5dread_real_7(dset_id, mem_type_id, buf, dims, hdferr, &
- mem_space_id, file_space_id, xfer_prp)
- USE, INTRINSIC :: ISO_C_BINDING
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
- INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
- REAL, INTENT(INOUT), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)) , TARGET :: buf
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id ! Memory dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id ! File dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp ! Transfer property list identifier
-
- INTEGER(HID_T) :: xfer_prp_default
- INTEGER(HID_T) :: mem_space_id_default
- INTEGER(HID_T) :: file_space_id_default
- TYPE(C_PTR) :: f_ptr
-
- xfer_prp_default = H5P_DEFAULT_F
- mem_space_id_default = H5S_ALL_F
- file_space_id_default = H5S_ALL_F
-
- IF(PRESENT(xfer_prp)) xfer_prp_default = xfer_prp
- IF(PRESENT(mem_space_id)) mem_space_id_default = mem_space_id
- IF(PRESENT(file_space_id)) file_space_id_default = file_space_id
- f_ptr = C_LOC(buf(1,1,1,1,1,1,1))
-
- hdferr = h5dread_f_c(dset_id, mem_type_id, mem_space_id_default, &
- file_space_id_default, xfer_prp_default, f_ptr)
-
- END SUBROUTINE h5dread_real_7
-
-!****s* H5D (F03)/h5dwrite_f_F03
-!
-! NAME
-! h5dwrite_f_F03
-!
-! PURPOSE
-! Writes raw data from a dataset into a buffer.
-!
-! Inputs:
-! dset_id - Identifier of the dataset to write to.
-! mem_type_id - Identifier of the memory datatype.
-! buf - Buffer with data to be written to the file.
-!
-! Outputs:
-! hdferr - Returns 0 if successful and -1 if fails
-!
-! Optional parameters:
-! mem_space_id - Identifier of the memory dataspace.
-! file_space_id - Identifier of the dataset's dataspace in the file.
-! xfer_prp - Identifier of a transfer property list for this I/O operation.
-!
-! AUTHOR
-! M. Scot Breitenfeld
-! September 17, 2011
-!
-! Fortran2003 Interface:
-!! SUBROUTINE h5dwrite_f(dset_id, mem_type_id, buf, hdferr, &
-!! mem_space_id, file_space_id, xfer_prp)
-!! INTEGER(HID_T), INTENT(IN) :: dset_id
-!! INTEGER(HID_T), INTENT(IN) :: mem_type_id
-!! TYPE(C_PTR) , INTENT(IN) :: buf
-!! INTEGER , INTENT(OUT) :: hdferr
-!! INTEGER(HID_T), INTENT(IN) , OPTIONAL :: mem_space_id
-!! INTEGER(HID_T), INTENT(IN) , OPTIONAL :: file_space_id
-!! INTEGER(HID_T), INTENT(IN) , OPTIONAL :: xfer_prp
-!*****
- SUBROUTINE h5dwrite_ptr(dset_id, mem_type_id, buf, hdferr, &
- mem_space_id, file_space_id, xfer_prp)
- USE, INTRINSIC :: ISO_C_BINDING
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
- INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
- TYPE(C_PTR), INTENT(IN) :: buf
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id ! Memory dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id ! File dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp ! Transfer property list identifier
-
- INTEGER(HID_T) :: xfer_prp_default
- INTEGER(HID_T) :: mem_space_id_default
- INTEGER(HID_T) :: file_space_id_default
-
- xfer_prp_default = H5P_DEFAULT_F
- mem_space_id_default = H5S_ALL_F
- file_space_id_default = H5S_ALL_F
-
- IF (PRESENT(xfer_prp)) xfer_prp_default = xfer_prp
- IF (PRESENT(mem_space_id)) mem_space_id_default = mem_space_id
- IF (PRESENT(file_space_id)) file_space_id_default = file_space_id
-
- hdferr = h5dwrite_f_c(dset_id, mem_type_id, mem_space_id_default, &
- file_space_id_default, xfer_prp_default, buf)
-
- END SUBROUTINE h5dwrite_ptr
-!****s* H5D (F03)/h5dread_f_F03
-!
-! NAME
-! h5dread_f_F03
-!
-! PURPOSE
-! Reads raw data from a dataset into a buffer.
-!
-! Inputs:
-! dset_id - Identifier of the dataset read from.
-! mem_type_id - Identifier of the memory datatype.
-!
-! Outputs:
-! buf - Buffer to receive data read from file.
-! hdferr - Returns 0 if successful and -1 if fails
-!
-! Optional parameters:
-! mem_space_id - Identifier of the memory dataspace.
-! file_space_id - Identifier of the dataset's dataspace in the file.
-! xfer_prp - Identifier of a transfer property list for this I/O operation.
-!
-! AUTHOR
-! M. Scot Breitenfeld
-! September 17, 2011
-!
-! Fortran2003 Interface:
-!! SUBROUTINE h5dread_f(dset_id, mem_type_id, buf, hdferr, &
-!! mem_space_id, file_space_id, xfer_prp)
-!! INTEGER(HID_T), INTENT(IN) :: dset_id
-!! INTEGER(HID_T), INTENT(IN) :: mem_type_id
-!! TYPE(C_PTR) , INTENT(INOUT) :: buf
-!! INTEGER , INTENT(OUT) :: hdferr
-!! INTEGER(HID_T), INTENT(IN) , OPTIONAL :: mem_space_id
-!! INTEGER(HID_T), INTENT(IN) , OPTIONAL :: file_space_id
-!! INTEGER(HID_T), INTENT(IN) , OPTIONAL :: xfer_prp
-!*****
- SUBROUTINE h5dread_ptr(dset_id, mem_type_id, buf, hdferr, &
- mem_space_id, file_space_id, xfer_prp)
- USE, INTRINSIC :: ISO_C_BINDING
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
- INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
- TYPE(C_PTR), INTENT(INOUT) :: buf
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id ! Memory dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id ! File dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp ! Transfer property list identifier
-
- INTEGER(HID_T) :: xfer_prp_default
- INTEGER(HID_T) :: mem_space_id_default
- INTEGER(HID_T) :: file_space_id_default
-
- xfer_prp_default = H5P_DEFAULT_F
- mem_space_id_default = H5S_ALL_F
- file_space_id_default = H5S_ALL_F
-
- IF (PRESENT(xfer_prp)) xfer_prp_default = xfer_prp
- IF (PRESENT(mem_space_id)) mem_space_id_default = mem_space_id
- IF (PRESENT(file_space_id)) file_space_id_default = file_space_id
-
- hdferr = h5dread_f_c(dset_id, mem_type_id, mem_space_id_default, &
- file_space_id_default, xfer_prp_default, buf)
-
- END SUBROUTINE h5dread_ptr
-
-!
-! NAME
-! h5dfill_integer
-!
-! PURPOSE
-! Fills dataspace elements with a fill value in a memory buffer.
-! Only INTEGER, CHARACTER, REAL and DOUBLE PRECISION datatypes
-! of the fillvalues and buffers are supported. Buffer and fillvalue
-! are assumed to have the same datatype.
-! Only one-dimesional buffers are supported.
-!
-! Inputs:
-! fill_value - fill value
-! space_id - memory space selection identifier
-! buf - data buffer iin memory ro apply selection to
-! - of k-th dimension of the buf array
-! Outputs:
-! hdferr: - error code
-! Success: 0
-! Failure: -1
-! AUTHOR
-! Elena Pourmal
-! March 12, 2003
-!
-!
-
- SUBROUTINE h5dfill_integer(fill_value, space_id, buf, hdferr)
- USE, INTRINSIC :: ISO_C_BINDING
- IMPLICIT NONE
- INTEGER, INTENT(IN), TARGET :: fill_value ! Fill value
- INTEGER(HID_T), INTENT(IN) :: space_id ! Memory dataspace selection identifier
- INTEGER, INTENT(IN), DIMENSION(*), TARGET :: buf ! Memory buffer to fill in
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-
- INTEGER(HID_T) :: fill_type_id ! Fill value datatype identifier
- INTEGER(HID_T) :: mem_type_id ! Buffer dadtype identifier
-
- TYPE(C_PTR) :: f_ptr_fill_value ! C pointer to fill_value
- TYPE(C_PTR) :: f_ptr_buf ! C pointer to buf
-
- f_ptr_fill_value = C_LOC(fill_value)
- f_ptr_buf = C_LOC(buf(1))
-
- fill_type_id = H5T_NATIVE_INTEGER
- mem_type_id = H5T_NATIVE_INTEGER
-
- hdferr = h5dfill_c(f_ptr_fill_value, fill_type_id, space_id, &
- f_ptr_buf, mem_type_id)
-
- END SUBROUTINE h5dfill_integer
-
-!
-! NAME
-! h5dfill_real
-!
-! PURPOSE
-! Fills dataspace elements with a fill value in a memory buffer.
-! Only INTEGER, CHARACTER, REAL and DOUBLE PRECISION datatypes
-! of the fillvalues and buffers are supported. Buffer and fillvalue
-! are assumed to have the same datatype.
-! Only one-dimesional buffers are supported.
-!
-! Inputs:
-! fill_value - fill value
-! space_id - memory space selection identifier
-! buf - data buffer iin memory ro apply selection to
-! - of k-th dimension of the buf array
-! Outputs:
-! hdferr: - error code
-! Success: 0
-! Failure: -1
-!
-! AUTHOR
-! Elena Pourmal
-! March 12, 2003
-!
- SUBROUTINE h5dfill_real(fill_valuer, space_id, buf, hdferr)
- USE, INTRINSIC :: ISO_C_BINDING
- IMPLICIT NONE
- REAL, INTENT(IN), TARGET :: fill_valuer ! Fill value
- INTEGER(HID_T), INTENT(IN) :: space_id ! Memory dataspace selection identifier
- REAL, INTENT(IN), DIMENSION(*), TARGET :: buf ! Memory buffer to fill in
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-
- INTEGER(HID_T) :: fill_type_id ! Fill value datatype identifier
- INTEGER(HID_T) :: mem_type_id ! Buffer dadtype identifier
-
- TYPE(C_PTR) :: f_ptr_fill_valuer ! C pointer to fill_value
- TYPE(C_PTR) :: f_ptr_buf ! C pointer to buf
-
- f_ptr_fill_valuer = C_LOC(fill_valuer)
- f_ptr_buf = C_LOC(buf(1))
-
- fill_type_id = H5T_NATIVE_REAL
- mem_type_id = H5T_NATIVE_REAL
-
- hdferr = h5dfill_c(f_ptr_fill_valuer, fill_type_id, space_id, &
- f_ptr_buf, mem_type_id)
-
- END SUBROUTINE h5dfill_real
-
-!
-! NAME
-! h5dfill_char
-!
-! PURPOSE
-! Fills dataspace elements with a fill value in a memory buffer.
-! Only INTEGER, CHARACTER, REAL and DOUBLE PRECISION datatypes
-! of the fillvalues and buffers are supported. Buffer and fillvalue
-! are assumed to have the same datatype.
-! Only one-dimesional buffers are supported.
-!
-! Inputs:
-! fill_value - fill value
-! space_id - memory space selection identifier
-! buf - data buffer iin memory ro apply selection to
-! - of k-th dimension of the buf array
-! Outputs:
-! hdferr: - error code
-! Success: 0
-! Failure: -1
-! AUTHOR
-! Elena Pourmal
-! March 12, 2003
-!
- SUBROUTINE h5dfill_char(fill_value, space_id, buf, hdferr)
- USE, INTRINSIC :: ISO_C_BINDING
- IMPLICIT NONE
- CHARACTER, INTENT(IN), TARGET :: fill_value ! Fill value
- INTEGER(HID_T), INTENT(IN) :: space_id ! Memory dataspace selection identifier
- CHARACTER, INTENT(IN), DIMENSION(*), TARGET :: buf ! Memory buffer to fill in
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-
- INTEGER(HID_T) :: fill_type_id ! Fill value datatype identifier
- INTEGER(HID_T) :: mem_type_id ! Buffer dadtype identifier
-
- TYPE(C_PTR) :: f_ptr_fill_value ! C pointer to fill_value
- TYPE(C_PTR) :: f_ptr_buf ! C pointer to buf
-
- f_ptr_fill_value = C_LOC(fill_value)
- f_ptr_buf = C_LOC(buf(1))
-
- hdferr = h5dfill_c(f_ptr_fill_value, fill_type_id, space_id, &
- f_ptr_buf, mem_type_id)
-
- END SUBROUTINE h5dfill_char
-!
-!****s* H5D (F03)/h5dvlen_reclaim_f
-! NAME
-! h5dvlen_reclaim_f
-!
-! PURPOSE
-! Reclaims VL datatype memory buffers.
-!
-! Inputs:
-!
-! type_id - Identifier of the datatype.
-! space_id - Identifier of the dataspace.
-! plist_id - Identifier of the property list used to create the buffer.
-! buf - Pointer to the buffer to be reclaimed.
-!
-! Outputs:
-! hdferr - Returns 0 if successful and -1 if fails
-!
-! AUTHOR
-! M. Scot Breitenfeld
-! January 11, 2011
-!
-! Fortran2003 Interface:
- SUBROUTINE h5dvlen_reclaim_f(type_id, space_id, plist_id, buf, hdferr)
- USE, INTRINSIC :: ISO_C_BINDING, ONLY : C_PTR
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: type_id
- INTEGER(HID_T), INTENT(IN) :: space_id
- INTEGER(HID_T), INTENT(IN) :: plist_id
- TYPE(C_PTR) , INTENT(INOUT) :: buf
- INTEGER , INTENT(OUT) :: hdferr
-!*****
-
- INTERFACE
- INTEGER FUNCTION h5dvlen_reclaim_c(type_id, space_id, plist_id, buf) BIND(C, NAME='h5dvlen_reclaim_c')
- USE H5GLOBAL
- USE, INTRINSIC :: ISO_C_BINDING, ONLY : C_PTR
- INTEGER(HID_T) :: type_id
- INTEGER(HID_T) :: space_id
- INTEGER(HID_T) :: plist_id
- TYPE(C_PTR), VALUE :: buf
- END FUNCTION h5dvlen_reclaim_c
- END INTERFACE
-
- hdferr = H5Dvlen_reclaim_c(type_id, space_id, plist_id, buf)
-
- END SUBROUTINE H5Dvlen_reclaim_f
-
-END MODULE H5D_PROVISIONAL
-
-
diff --git a/fortran/src/H5Dff_F90.f90 b/fortran/src/H5Dff_F90.f90
deleted file mode 100644
index 66cfe62..0000000
--- a/fortran/src/H5Dff_F90.f90
+++ /dev/null
@@ -1,3004 +0,0 @@
-!****h* ROBODoc/H5D (F90)
-!
-! NAME
-!
-! H5D_PROVISIONAL
-!
-! PURPOSE
-!
-! This file contains Fortran 90 interfaces for H5D functions. It contains
-! the same functions as H5Dff_F03.f90 but excludes the Fortran 2003 functions
-! and the interface listings. This file will be compiled instead of H5Dff_F03.f90
-! if Fortran 2003 functions are not enabled.
-!
-! COPYRIGHT
-! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
-! Copyright by The HDF Group. *
-! Copyright by the Board of Trustees of the University of Illinois. *
-! All rights reserved. *
-! *
-! This file is part of HDF5. The full HDF5 copyright notice, including *
-! terms governing use, modification, and redistribution, is contained in *
-! the files COPYING and Copyright.html. COPYING can be found at the root *
-! of the source code distribution tree; Copyright.html can be found at the *
-! root level of an installed copy of the electronic HDF5 document set and *
-! is linked from the top-level documents page. It can also be found at *
-! http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have *
-! access to either file, you may request a copy from help@hdfgroup.org. *
-! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
-!
-! NOTES
-! (1) The maximum rank of an array allowed in Fortran is 7, therefore
-! we only provide an interface for arrays up to and including rank 7.
-!
-! (2) Unfortunately we are using a generic interface and one of the factors
-! used in determining the proper routine to select is that of the array
-! rank being passed, therefore we can not create just one subroutine for
-! each array type (integer, real, etc...) of various ranks and then use a
-! rank 1 array of assumed size in the just one subroutine,
-! (i.e. integer, dimension(*) :: ... )
-! (i.e. real , dimension(*) :: ... ) etc...
-!
-! (3)
-! *** IMPORTANT ***
-! If you add a new H5D function you must add the function name to the
-! Windows dll file 'hdf5_fortrandll.def.in' in the fortran/src directory.
-! This is needed for Windows based operating systems.
-!*****
-
-MODULE H5D_PROVISIONAL
- USE H5GLOBAL
-
- INTERFACE h5dwrite_f
-
- MODULE PROCEDURE h5dwrite_reference_obj
- MODULE PROCEDURE h5dwrite_reference_dsetreg
- MODULE PROCEDURE h5dwrite_integer_scalar
- MODULE PROCEDURE h5dwrite_integer_1
- MODULE PROCEDURE h5dwrite_integer_2
- MODULE PROCEDURE h5dwrite_integer_3
- MODULE PROCEDURE h5dwrite_integer_4
- MODULE PROCEDURE h5dwrite_integer_5
- MODULE PROCEDURE h5dwrite_integer_6
- MODULE PROCEDURE h5dwrite_integer_7
- MODULE PROCEDURE h5dwrite_char_scalar
- MODULE PROCEDURE h5dwrite_char_1
- MODULE PROCEDURE h5dwrite_char_2
- MODULE PROCEDURE h5dwrite_char_3
- MODULE PROCEDURE h5dwrite_char_4
- MODULE PROCEDURE h5dwrite_char_5
- MODULE PROCEDURE h5dwrite_char_6
- MODULE PROCEDURE h5dwrite_char_7
- MODULE PROCEDURE h5dwrite_real_scalar
- MODULE PROCEDURE h5dwrite_real_1
- MODULE PROCEDURE h5dwrite_real_2
- MODULE PROCEDURE h5dwrite_real_3
- MODULE PROCEDURE h5dwrite_real_4
- MODULE PROCEDURE h5dwrite_real_5
- MODULE PROCEDURE h5dwrite_real_6
- MODULE PROCEDURE h5dwrite_real_7
-
- END INTERFACE
-
- INTERFACE h5dread_f
-
- MODULE PROCEDURE h5dread_reference_obj
- MODULE PROCEDURE h5dread_reference_dsetreg
- MODULE PROCEDURE h5dread_integer_scalar
- MODULE PROCEDURE h5dread_integer_1
- MODULE PROCEDURE h5dread_integer_2
- MODULE PROCEDURE h5dread_integer_3
- MODULE PROCEDURE h5dread_integer_4
- MODULE PROCEDURE h5dread_integer_5
- MODULE PROCEDURE h5dread_integer_6
- MODULE PROCEDURE h5dread_integer_7
- MODULE PROCEDURE h5dread_char_scalar
- MODULE PROCEDURE h5dread_char_1
- MODULE PROCEDURE h5dread_char_2
- MODULE PROCEDURE h5dread_char_3
- MODULE PROCEDURE h5dread_char_4
- MODULE PROCEDURE h5dread_char_5
- MODULE PROCEDURE h5dread_char_6
- MODULE PROCEDURE h5dread_char_7
- MODULE PROCEDURE h5dread_real_scalar
- MODULE PROCEDURE h5dread_real_1
- MODULE PROCEDURE h5dread_real_2
- MODULE PROCEDURE h5dread_real_3
- MODULE PROCEDURE h5dread_real_4
- MODULE PROCEDURE h5dread_real_5
- MODULE PROCEDURE h5dread_real_6
- MODULE PROCEDURE h5dread_real_7
- END INTERFACE
-
- INTERFACE h5dfill_f
- MODULE PROCEDURE h5dfill_integer
- MODULE PROCEDURE h5dfill_real
- MODULE PROCEDURE h5dfill_char
- END INTERFACE
-
-CONTAINS
-
-!****s* H5D/h5dread_f
-!
-! NAME
-! h5dread_f
-!
-! PURPOSE
-! Reads raw data from the specified dataset into buf,
-! converting from file datatype and dataspace to memory
-! datatype and dataspace.
-!
-! INPUTS
-! dset_id - dataset identifier
-! mem_type_id - memory type identifier
-! dims - 1-dim array of size 7; dims(k) has the size
-! of k-th dimension of the buf array
-! OUTPUTS
-! buf - buffer to read data in
-! hdferr: - error code
-! Success: 0
-! Failure: -1
-!
-! OPTIONAL PARAMETERS
-! mem_space_id - memory dataspace identifier
-! file_space_id - file dataspace identifier
-! xfer_prp - trasfer property list identifier
-!
-! AUTHOR
-! Elena Pourmal
-! August 12, 1999
-!
-! HISTORY
-! Explicit Fortran interfaces were added for
-! called C functions (it is needed for Windows
-! port). February 28, 2001
-!
-! dims parameter was added to make code portable;
-! n parameter was replaced with dims parameter in
-! the h5dwrite_reference_obj and h5dwrite_reference_dsetreg
-! functions. April 2, 2001
-!
-! NOTES
-! This function is overloaded to read INTEGER,
-! REAL, DOUBLE PRECISION and CHARACTER buffers
-! up to 7 dimensions, and one dimensional buffers
-! of the TYPE(hobj_ref_t_f) and TYPE(hdset_reg_ref_t_f) types.
-!*****
- SUBROUTINE h5dread_reference_obj(dset_id, mem_type_id, buf, dims, hdferr, &
- mem_space_id, file_space_id, xfer_prp)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
- INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
- TYPE(hobj_ref_t_f), INTENT(INOUT) , &
- DIMENSION(dims(1)) :: buf
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id ! Memory dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id ! File dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp ! Transfer property list identifier
-
- INTEGER(HID_T) :: xfer_prp_default
- INTEGER(HID_T) :: mem_space_id_default
- INTEGER(HID_T) :: file_space_id_default
- INTEGER(HADDR_T), ALLOCATABLE, DIMENSION(:) :: ref_buf
- INTEGER(HSIZE_T) :: j
-
- INTERFACE
- INTEGER FUNCTION h5dread_ref_obj_c(dset_id, mem_type_id,&
- mem_space_id_default, &
- file_space_id_default, xfer_prp_default, ref_buf, dims)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5DREAD_REF_OBJ_C'::h5dread_ref_obj_c
- !DEC$ENDIF
- INTEGER(HID_T), INTENT(IN) :: dset_id
- INTEGER(HID_T), INTENT(IN) :: mem_type_id
- INTEGER(HID_T) :: xfer_prp_default
- INTEGER(HID_T) :: mem_space_id_default
- INTEGER(HID_T) :: file_space_id_default
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
- INTEGER(HADDR_T), DIMENSION(*) :: ref_buf
- END FUNCTION h5dread_ref_obj_c
- END INTERFACE
-
- ALLOCATE(ref_buf(dims(1)), stat=hdferr)
- IF (hdferr .NE. 0) THEN
- hdferr = -1
- RETURN
- ENDIF
-
- xfer_prp_default = H5P_DEFAULT_F
- mem_space_id_default = H5S_ALL_F
- file_space_id_default = H5S_ALL_F
-
- IF (PRESENT(xfer_prp)) xfer_prp_default = xfer_prp
- IF (PRESENT(mem_space_id)) mem_space_id_default = mem_space_id
- IF (PRESENT(file_space_id)) file_space_id_default = file_space_id
-
- hdferr = h5dread_ref_obj_c(dset_id, mem_type_id, mem_space_id_default, &
- file_space_id_default, xfer_prp_default, ref_buf, dims)
- DO j = 1, dims(1)
- buf(j)%ref = ref_buf(j)
- ENDDO
- DEALLOCATE(ref_buf)
- END SUBROUTINE h5dread_reference_obj
-
- SUBROUTINE h5dread_reference_dsetreg(dset_id, mem_type_id, buf, dims, hdferr, &
- mem_space_id, file_space_id, xfer_prp)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
- INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
- TYPE(hdset_reg_ref_t_f), INTENT(INOUT), &
- DIMENSION(dims(1)) :: buf
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id ! Memory dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id ! File dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp ! Transfer property list identifier
-
- INTEGER(HID_T) :: xfer_prp_default
- INTEGER(HID_T) :: mem_space_id_default
- INTEGER(HID_T) :: file_space_id_default
- INTEGER, ALLOCATABLE, DIMENSION(:) :: ref_buf
- INTEGER :: i
- INTEGER(HSIZE_T) :: j
-
- INTERFACE
- INTEGER FUNCTION h5dread_ref_reg_c(dset_id, mem_type_id,&
- mem_space_id_default, &
- file_space_id_default, xfer_prp_default, ref_buf, dims)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5DREAD_REF_REG_C'::h5dread_ref_reg_c
- !DEC$ENDIF
- INTEGER(HID_T), INTENT(IN) :: dset_id
- INTEGER(HID_T), INTENT(IN) :: mem_type_id
- INTEGER(HID_T) :: xfer_prp_default
- INTEGER(HID_T) :: mem_space_id_default
- INTEGER(HID_T) :: file_space_id_default
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
- INTEGER, DIMENSION(*) :: ref_buf
- END FUNCTION h5dread_ref_reg_c
- END INTERFACE
-
- ALLOCATE(ref_buf(REF_REG_BUF_LEN*dims(1)), stat=hdferr)
- IF (hdferr .NE. 0) THEN
- hdferr = -1
- RETURN
- ENDIF
-
- xfer_prp_default = H5P_DEFAULT_F
- mem_space_id_default = H5S_ALL_F
- file_space_id_default = H5S_ALL_F
-
- IF (PRESENT(xfer_prp)) xfer_prp_default = xfer_prp
- IF (PRESENT(mem_space_id)) mem_space_id_default = mem_space_id
- IF (PRESENT(file_space_id)) file_space_id_default = file_space_id
-
- hdferr = h5dread_ref_reg_c(dset_id, mem_type_id, mem_space_id_default, &
- file_space_id_default, xfer_prp_default, ref_buf, dims)
-
- DO j = 1, dims(1)
- DO i = 1, REF_REG_BUF_LEN
- buf(j)%ref(i) = ref_buf(REF_REG_BUF_LEN*(j-1) + i)
- ENDDO
- ENDDO
- DEALLOCATE(ref_buf)
- END SUBROUTINE h5dread_reference_dsetreg
-
- SUBROUTINE h5dread_integer_scalar(dset_id, mem_type_id, buf, dims, hdferr, &
- mem_space_id, file_space_id, xfer_prp)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
- INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
- INTEGER, INTENT(INOUT) :: buf ! Data buffer
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id ! Memory dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id ! File dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp ! Transfer property list identifier
-
- INTEGER(HID_T) :: xfer_prp_default
- INTEGER(HID_T) :: mem_space_id_default
- INTEGER(HID_T) :: file_space_id_default
-
- INTERFACE
- INTEGER FUNCTION h5dread_integer_s_c(dset_id, mem_type_id, &
- mem_space_id_default, &
- file_space_id_default, &
- xfer_prp_default, buf, dims)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5DREAD_INTEGER_S_C'::h5dread_integer_s_c
- !DEC$ENDIF
- INTEGER(HID_T), INTENT(IN) :: dset_id
- INTEGER(HID_T), INTENT(IN) :: mem_type_id
- INTEGER(HID_T) :: mem_space_id_default
- INTEGER(HID_T) :: file_space_id_default
- INTEGER(HID_T) :: xfer_prp_default
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
- INTEGER, INTENT(OUT) :: buf
- END FUNCTION h5dread_integer_s_c
- END INTERFACE
-
- xfer_prp_default = H5P_DEFAULT_F
- mem_space_id_default = H5S_ALL_F
- file_space_id_default = H5S_ALL_F
-
- IF (PRESENT(xfer_prp)) xfer_prp_default = xfer_prp
- IF (PRESENT(mem_space_id)) mem_space_id_default = mem_space_id
- IF (PRESENT(file_space_id)) file_space_id_default = file_space_id
-
- hdferr = h5dread_integer_s_c(dset_id, mem_type_id, mem_space_id_default, &
- file_space_id_default, xfer_prp_default, buf, dims)
-
- END SUBROUTINE h5dread_integer_scalar
-
- SUBROUTINE h5dread_integer_1(dset_id, mem_type_id, buf, dims, hdferr, &
- mem_space_id, file_space_id, xfer_prp)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
- INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
- INTEGER, INTENT(INOUT), DIMENSION(dims(1)) :: buf
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id ! Memory dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id ! File dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp ! Transfer property list identifier
-
- INTEGER(HID_T) :: xfer_prp_default
- INTEGER(HID_T) :: mem_space_id_default
- INTEGER(HID_T) :: file_space_id_default
-
- INTERFACE
- INTEGER FUNCTION h5dread_integer_1_c(dset_id, mem_type_id, &
- mem_space_id_default, &
- file_space_id_default, &
- xfer_prp_default, buf, dims)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5DREAD_INTEGER_1_C'::h5dread_integer_1_c
- !DEC$ENDIF
- INTEGER(HID_T), INTENT(IN) :: dset_id
- INTEGER(HID_T), INTENT(IN) :: mem_type_id
- INTEGER(HID_T) :: mem_space_id_default
- INTEGER(HID_T) :: file_space_id_default
- INTEGER(HID_T) :: xfer_prp_default
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
- INTEGER, INTENT(OUT), DIMENSION(dims(1)) :: buf
- END FUNCTION h5dread_integer_1_c
- END INTERFACE
-
- xfer_prp_default = H5P_DEFAULT_F
- mem_space_id_default = H5S_ALL_F
- file_space_id_default = H5S_ALL_F
-
- IF (PRESENT(xfer_prp)) xfer_prp_default = xfer_prp
- IF (PRESENT(mem_space_id)) mem_space_id_default = mem_space_id
- IF (PRESENT(file_space_id)) file_space_id_default = file_space_id
-
- hdferr = h5dread_integer_1_c(dset_id, mem_type_id, mem_space_id_default, &
- file_space_id_default, xfer_prp_default, buf, dims)
-
- END SUBROUTINE h5dread_integer_1
-
- SUBROUTINE h5dread_integer_2(dset_id, mem_type_id, buf, dims, hdferr, &
- mem_space_id, file_space_id, xfer_prp)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
- INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
- INTEGER, INTENT(INOUT), DIMENSION(dims(1),dims(2)) :: buf
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id ! Memory dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id ! File dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp ! Transfer property list identifier
-
- INTEGER(HID_T) :: xfer_prp_default
- INTEGER(HID_T) :: mem_space_id_default
- INTEGER(HID_T) :: file_space_id_default
-
- INTERFACE
- INTEGER FUNCTION h5dread_integer_2_c(dset_id, mem_type_id, &
- mem_space_id_default, &
- file_space_id_default, &
- xfer_prp_default, buf, dims)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5DREAD_INTEGER_2_C'::h5dread_integer_2_c
- !DEC$ENDIF
- INTEGER(HID_T), INTENT(IN) :: dset_id
- INTEGER(HID_T), INTENT(IN) :: mem_type_id
- INTEGER(HID_T) :: mem_space_id_default
- INTEGER(HID_T) :: file_space_id_default
- INTEGER(HID_T) :: xfer_prp_default
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
- INTEGER, INTENT(OUT), DIMENSION(dims(1),dims(2)) :: buf
- END FUNCTION h5dread_integer_2_c
- END INTERFACE
-
-
- xfer_prp_default = H5P_DEFAULT_F
- mem_space_id_default = H5S_ALL_F
- file_space_id_default = H5S_ALL_F
-
- IF (PRESENT(xfer_prp)) xfer_prp_default = xfer_prp
- IF (PRESENT(mem_space_id)) mem_space_id_default = mem_space_id
- IF (PRESENT(file_space_id)) file_space_id_default = file_space_id
-
- hdferr = h5dread_integer_2_c(dset_id, mem_type_id, mem_space_id_default, &
- file_space_id_default, xfer_prp_default, &
- buf, dims)
-
- END SUBROUTINE h5dread_integer_2
-
- SUBROUTINE h5dread_integer_3(dset_id, mem_type_id, buf, dims, hdferr, &
- mem_space_id, file_space_id, xfer_prp)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
- INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
- INTEGER, INTENT(INOUT), &
- DIMENSION(dims(1),dims(2),dims(3)) :: buf
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id ! Memory dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id ! File dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp ! Transfer property list identifier
-
- INTEGER(HID_T) :: xfer_prp_default
- INTEGER(HID_T) :: mem_space_id_default
- INTEGER(HID_T) :: file_space_id_default
-
- !
- ! MS FORTRAN needs explicit interface for C functions called here.
- !
- INTERFACE
- INTEGER FUNCTION h5dread_integer_3_c(dset_id, mem_type_id, &
- mem_space_id_default, &
- file_space_id_default, &
- xfer_prp_default, buf, dims)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5DREAD_INTEGER_3_C'::h5dread_integer_3_c
- !DEC$ENDIF
- INTEGER(HID_T), INTENT(IN) :: dset_id
- INTEGER(HID_T), INTENT(IN) :: mem_type_id
- INTEGER(HID_T) :: mem_space_id_default
- INTEGER(HID_T) :: file_space_id_default
- INTEGER(HID_T) :: xfer_prp_default
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
- INTEGER, INTENT(OUT), DIMENSION(dims(1),dims(2),dims(3)) :: buf
- END FUNCTION h5dread_integer_3_c
- END INTERFACE
-
- xfer_prp_default = H5P_DEFAULT_F
- mem_space_id_default = H5S_ALL_F
- file_space_id_default = H5S_ALL_F
-
- IF (PRESENT(xfer_prp)) xfer_prp_default = xfer_prp
- IF (PRESENT(mem_space_id)) mem_space_id_default = mem_space_id
- IF (PRESENT(file_space_id)) file_space_id_default = file_space_id
-
- hdferr = h5dread_integer_3_c(dset_id, mem_type_id, mem_space_id_default, &
- file_space_id_default, xfer_prp_default, &
- buf, dims)
-
- END SUBROUTINE h5dread_integer_3
-
- SUBROUTINE h5dread_integer_4(dset_id, mem_type_id, buf, dims, hdferr, &
- mem_space_id, file_space_id, xfer_prp)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
- INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
- INTEGER, INTENT(INOUT), DIMENSION(dims(1),dims(2),dims(3),dims(4)) :: buf
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id ! Memory dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id ! File dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp ! Transfer property list identifier
- INTEGER(HID_T) :: xfer_prp_default
- INTEGER(HID_T) :: mem_space_id_default
- INTEGER(HID_T) :: file_space_id_default
-
- !
- ! MS FORTRAN needs explicit interface for C functions called here.
- !
- INTERFACE
- INTEGER FUNCTION h5dread_integer_4_c(dset_id, mem_type_id, &
- mem_space_id_default, &
- file_space_id_default, &
- xfer_prp_default, buf, dims)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5DREAD_INTEGER_4_C'::h5dread_integer_4_c
- !DEC$ENDIF
- INTEGER(HID_T), INTENT(IN) :: dset_id
- INTEGER(HID_T), INTENT(IN) :: mem_type_id
- INTEGER(HID_T) :: mem_space_id_default
- INTEGER(HID_T) :: file_space_id_default
- INTEGER(HID_T) :: xfer_prp_default
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
- INTEGER, INTENT(OUT), DIMENSION(dims(1),dims(2),dims(3),dims(4)) :: buf
- END FUNCTION h5dread_integer_4_c
- END INTERFACE
-
- xfer_prp_default = H5P_DEFAULT_F
- mem_space_id_default = H5S_ALL_F
- file_space_id_default = H5S_ALL_F
-
- IF (PRESENT(xfer_prp)) xfer_prp_default = xfer_prp
- IF (PRESENT(mem_space_id)) mem_space_id_default = mem_space_id
- IF (PRESENT(file_space_id)) file_space_id_default = file_space_id
-
- hdferr = h5dread_integer_4_c(dset_id, mem_type_id, mem_space_id_default, &
- file_space_id_default, xfer_prp_default, &
- buf, dims)
-
- END SUBROUTINE h5dread_integer_4
-
- SUBROUTINE h5dread_integer_5(dset_id, mem_type_id, buf, dims, hdferr, &
- mem_space_id, file_space_id, xfer_prp)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
- INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
- INTEGER, INTENT(INOUT), DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)) :: buf
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id ! Memory dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id ! File dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp ! Transfer property list identifier
-
- INTEGER(HID_T) :: xfer_prp_default
- INTEGER(HID_T) :: mem_space_id_default
- INTEGER(HID_T) :: file_space_id_default
-
- !
- ! MS FORTRAN needs explicit interface for C functions called here.
- !
- INTERFACE
- INTEGER FUNCTION h5dread_integer_5_c(dset_id, mem_type_id, &
- mem_space_id_default, &
- file_space_id_default, &
- xfer_prp_default, buf, dims)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5DREAD_INTEGER_5_C'::h5dread_integer_5_c
- !DEC$ENDIF
- INTEGER(HID_T), INTENT(IN) :: dset_id
- INTEGER(HID_T), INTENT(IN) :: mem_type_id
- INTEGER(HID_T) :: mem_space_id_default
- INTEGER(HID_T) :: file_space_id_default
- INTEGER(HID_T) :: xfer_prp_default
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
- INTEGER, INTENT(INOUT), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)) :: buf
- END FUNCTION h5dread_integer_5_c
- END INTERFACE
-
- xfer_prp_default = H5P_DEFAULT_F
- mem_space_id_default = H5S_ALL_F
- file_space_id_default = H5S_ALL_F
-
- IF (PRESENT(xfer_prp)) xfer_prp_default = xfer_prp
- IF (PRESENT(mem_space_id)) mem_space_id_default = mem_space_id
- IF (PRESENT(file_space_id)) file_space_id_default = file_space_id
-
- hdferr = h5dread_integer_5_c(dset_id, mem_type_id, mem_space_id_default, &
- file_space_id_default, xfer_prp_default, &
- buf, dims)
-
- END SUBROUTINE h5dread_integer_5
-
- SUBROUTINE h5dread_integer_6(dset_id, mem_type_id, buf, dims, hdferr, &
- mem_space_id, file_space_id, xfer_prp)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
- INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
- INTEGER, INTENT(INOUT), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)) :: buf
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id ! Memory dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id ! File dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp ! Transfer property list identifier
-
- INTEGER(HID_T) :: xfer_prp_default
- INTEGER(HID_T) :: mem_space_id_default
- INTEGER(HID_T) :: file_space_id_default
-
-
- INTERFACE
- INTEGER FUNCTION h5dread_integer_6_c(dset_id, mem_type_id, &
- mem_space_id_default, &
- file_space_id_default, &
- xfer_prp_default, buf, dims)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5DREAD_INTEGER_6_C'::h5dread_integer_6_c
- !DEC$ENDIF
- INTEGER(HID_T), INTENT(IN) :: dset_id
- INTEGER(HID_T), INTENT(IN) :: mem_type_id
- INTEGER(HID_T) :: mem_space_id_default
- INTEGER(HID_T) :: file_space_id_default
- INTEGER(HID_T) :: xfer_prp_default
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
- INTEGER, INTENT(INOUT), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)) :: buf
- END FUNCTION h5dread_integer_6_c
- END INTERFACE
-
- xfer_prp_default = H5P_DEFAULT_F
- mem_space_id_default = H5S_ALL_F
- file_space_id_default = H5S_ALL_F
-
- IF (PRESENT(xfer_prp)) xfer_prp_default = xfer_prp
- IF (PRESENT(mem_space_id)) mem_space_id_default = mem_space_id
- IF (PRESENT(file_space_id)) file_space_id_default = file_space_id
-
- hdferr = h5dread_integer_6_c(dset_id, mem_type_id, mem_space_id_default, &
- file_space_id_default, xfer_prp_default, &
- buf, dims)
-
- END SUBROUTINE h5dread_integer_6
-
- SUBROUTINE h5dread_integer_7(dset_id, mem_type_id, buf, dims, hdferr, &
- mem_space_id, file_space_id, xfer_prp)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
- INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
- INTEGER, INTENT(INOUT), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)) :: buf
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id ! Memory dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id ! File dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp ! Transfer property list identifier
-
- INTEGER(HID_T) :: xfer_prp_default
- INTEGER(HID_T) :: mem_space_id_default
- INTEGER(HID_T) :: file_space_id_default
-
- INTERFACE
- INTEGER FUNCTION h5dread_integer_7_c(dset_id, mem_type_id, &
- mem_space_id_default, &
- file_space_id_default, &
- xfer_prp_default, buf, dims)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5DREAD_INTEGER_7_C'::h5dread_integer_7_c
- !DEC$ENDIF
- INTEGER(HID_T), INTENT(IN) :: dset_id
- INTEGER(HID_T), INTENT(IN) :: mem_type_id
- INTEGER(HID_T) :: mem_space_id_default
- INTEGER(HID_T) :: file_space_id_default
- INTEGER(HID_T) :: xfer_prp_default
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
- INTEGER, INTENT(INOUT), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)) :: buf
- END FUNCTION h5dread_integer_7_c
- END INTERFACE
-
- xfer_prp_default = H5P_DEFAULT_F
- mem_space_id_default = H5S_ALL_F
- file_space_id_default = H5S_ALL_F
-
- IF (PRESENT(xfer_prp)) xfer_prp_default = xfer_prp
- IF (PRESENT(mem_space_id)) mem_space_id_default = mem_space_id
- IF (PRESENT(file_space_id)) file_space_id_default = file_space_id
-
- hdferr = h5dread_integer_7_c(dset_id, mem_type_id, mem_space_id_default, &
- file_space_id_default, xfer_prp_default, &
- buf, dims)
-
- END SUBROUTINE h5dread_integer_7
-
- SUBROUTINE h5dread_char_scalar(dset_id, mem_type_id, buf, dims, hdferr, &
- mem_space_id, file_space_id, xfer_prp)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
- INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
- CHARACTER(LEN=*), INTENT(INOUT) :: buf ! Data buffer
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id ! Memory dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id ! File dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp ! Transfer property list identifier
-
- INTEGER(HID_T) :: xfer_prp_default
- INTEGER(HID_T) :: mem_space_id_default
- INTEGER(HID_T) :: file_space_id_default
-
- INTERFACE
- INTEGER FUNCTION h5dreadc_s_c(dset_id, mem_type_id, &
- mem_space_id_default, &
- file_space_id_default, &
- xfer_prp_default, buf, dims)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5DREADC_S_C'::h5dreadc_s_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: buf
- INTEGER(HID_T), INTENT(IN) :: dset_id
- INTEGER(HID_T), INTENT(IN) :: mem_type_id
- INTEGER(HID_T) :: mem_space_id_default
- INTEGER(HID_T) :: file_space_id_default
- INTEGER(HID_T) :: xfer_prp_default
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
- CHARACTER(LEN=*), INTENT(OUT) :: buf
- END FUNCTION h5dreadc_s_c
- END INTERFACE
-
- xfer_prp_default = H5P_DEFAULT_F
- mem_space_id_default = H5S_ALL_F
- file_space_id_default = H5S_ALL_F
-
- IF (PRESENT(xfer_prp)) xfer_prp_default = xfer_prp
- IF (PRESENT(mem_space_id)) mem_space_id_default = mem_space_id
- IF (PRESENT(file_space_id)) file_space_id_default = file_space_id
-
- hdferr = h5dreadc_s_c(dset_id, mem_type_id, mem_space_id_default, &
- file_space_id_default, xfer_prp_default, buf, dims)
-
- END SUBROUTINE h5dread_char_scalar
-
- SUBROUTINE h5dread_char_1(dset_id, mem_type_id, buf, dims, hdferr, &
- mem_space_id, file_space_id, xfer_prp)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
- INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
- CHARACTER(LEN=*), INTENT(INOUT), &
- DIMENSION(dims(1)) :: buf
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id ! Memory dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id ! File dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp ! Transfer property list identifier
-
- INTEGER(HID_T) :: xfer_prp_default
- INTEGER(HID_T) :: mem_space_id_default
- INTEGER(HID_T) :: file_space_id_default
-
- INTERFACE
- INTEGER FUNCTION h5dreadc_1_c(dset_id, mem_type_id, &
- mem_space_id_default, &
- file_space_id_default, &
- xfer_prp_default, buf, dims)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5DREADC_1_C'::h5dreadc_1_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: buf
- INTEGER(HID_T), INTENT(IN) :: dset_id
- INTEGER(HID_T), INTENT(IN) :: mem_type_id
- INTEGER(HID_T) :: mem_space_id_default
- INTEGER(HID_T) :: file_space_id_default
- INTEGER(HID_T) :: xfer_prp_default
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
- CHARACTER(LEN=*), INTENT(INOUT), &
- DIMENSION(dims(1)) :: buf
- END FUNCTION h5dreadc_1_c
- END INTERFACE
-
- xfer_prp_default = H5P_DEFAULT_F
- mem_space_id_default = H5S_ALL_F
- file_space_id_default = H5S_ALL_F
-
- IF (PRESENT(xfer_prp)) xfer_prp_default = xfer_prp
- IF (PRESENT(mem_space_id)) mem_space_id_default = mem_space_id
- IF (PRESENT(file_space_id)) file_space_id_default = file_space_id
-
- hdferr = h5dreadc_1_c(dset_id, mem_type_id, mem_space_id_default, &
- file_space_id_default, xfer_prp_default, buf, dims)
-
- END SUBROUTINE h5dread_char_1
-
- SUBROUTINE h5dread_char_2(dset_id, mem_type_id, buf, dims, hdferr, &
- mem_space_id, file_space_id, xfer_prp)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
- INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
- CHARACTER(LEN=*), INTENT(INOUT), &
- DIMENSION(dims(1),dims(2)) :: buf
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id ! Memory dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id ! File dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp ! Transfer property list identifier
-
- INTEGER(HID_T) :: xfer_prp_default
- INTEGER(HID_T) :: mem_space_id_default
- INTEGER(HID_T) :: file_space_id_default
-
-
- INTERFACE
- INTEGER FUNCTION h5dreadc_2_c(dset_id, mem_type_id, &
- mem_space_id_default, &
- file_space_id_default, &
- xfer_prp_default, buf, dims)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5DREADC_2_C'::h5dreadc_2_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: buf
- INTEGER(HID_T), INTENT(IN) :: dset_id
- INTEGER(HID_T), INTENT(IN) :: mem_type_id
- INTEGER(HID_T) :: mem_space_id_default
- INTEGER(HID_T) :: file_space_id_default
- INTEGER(HID_T) :: xfer_prp_default
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
- CHARACTER(LEN=*), INTENT(INOUT), &
- DIMENSION(dims(1),dims(2)) :: buf
- END FUNCTION h5dreadc_2_c
- END INTERFACE
-
- xfer_prp_default = H5P_DEFAULT_F
- mem_space_id_default = H5S_ALL_F
- file_space_id_default = H5S_ALL_F
-
- IF (PRESENT(xfer_prp)) xfer_prp_default = xfer_prp
- IF (PRESENT(mem_space_id)) mem_space_id_default = mem_space_id
- IF (PRESENT(file_space_id)) file_space_id_default = file_space_id
-
- hdferr = h5dreadc_2_c(dset_id, mem_type_id, mem_space_id_default, &
- file_space_id_default, xfer_prp_default, buf, dims)
-
- END SUBROUTINE h5dread_char_2
-
- SUBROUTINE h5dread_char_3(dset_id, mem_type_id, buf, dims, hdferr, &
- mem_space_id, file_space_id, xfer_prp)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
- INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
- CHARACTER(LEN=*), INTENT(INOUT), &
- DIMENSION(dims(1),dims(2),dims(3)) :: buf
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id ! Memory dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id ! File dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp ! Transfer property list identifier
-
- INTEGER(HID_T) :: xfer_prp_default
- INTEGER(HID_T) :: mem_space_id_default
- INTEGER(HID_T) :: file_space_id_default
-
- INTERFACE
- INTEGER FUNCTION h5dreadc_3_c(dset_id, mem_type_id, &
- mem_space_id_default, &
- file_space_id_default, &
- xfer_prp_default, buf, dims)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5DREADC_3_C'::h5dreadc_3_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: buf
- INTEGER(HID_T), INTENT(IN) :: dset_id
- INTEGER(HID_T), INTENT(IN) :: mem_type_id
- INTEGER(HID_T) :: mem_space_id_default
- INTEGER(HID_T) :: file_space_id_default
- INTEGER(HID_T) :: xfer_prp_default
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
- CHARACTER(LEN=*), INTENT(INOUT), &
- DIMENSION(dims(1),dims(2),dims(3)) :: buf
- END FUNCTION h5dreadc_3_c
- END INTERFACE
-
- xfer_prp_default = H5P_DEFAULT_F
- mem_space_id_default = H5S_ALL_F
- file_space_id_default = H5S_ALL_F
-
- IF (PRESENT(xfer_prp)) xfer_prp_default = xfer_prp
- IF (PRESENT(mem_space_id)) mem_space_id_default = mem_space_id
- IF (PRESENT(file_space_id)) file_space_id_default = file_space_id
-
- hdferr = h5dreadc_3_c(dset_id, mem_type_id, mem_space_id_default, &
- file_space_id_default, xfer_prp_default, buf, dims)
-
- END SUBROUTINE h5dread_char_3
-
- SUBROUTINE h5dread_char_4(dset_id, mem_type_id, buf, dims, hdferr, &
- mem_space_id, file_space_id, xfer_prp)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
- INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
- CHARACTER(LEN=*), INTENT(INOUT), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4)) :: buf
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id ! Memory dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id ! File dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp ! Transfer property list identifier
-
- INTEGER(HID_T) :: xfer_prp_default
- INTEGER(HID_T) :: mem_space_id_default
- INTEGER(HID_T) :: file_space_id_default
-
- INTERFACE
- INTEGER FUNCTION h5dreadc_4_c(dset_id, mem_type_id, &
- mem_space_id_default, &
- file_space_id_default, &
- xfer_prp_default, buf, dims)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5DREADC_4_C'::h5dreadc_4_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: buf
- INTEGER(HID_T), INTENT(IN) :: dset_id
- INTEGER(HID_T), INTENT(IN) :: mem_type_id
- INTEGER(HID_T) :: mem_space_id_default
- INTEGER(HID_T) :: file_space_id_default
- INTEGER(HID_T) :: xfer_prp_default
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
- CHARACTER(LEN=*), INTENT(INOUT), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4)) :: buf
- END FUNCTION h5dreadc_4_c
- END INTERFACE
-
- xfer_prp_default = H5P_DEFAULT_F
- mem_space_id_default = H5S_ALL_F
- file_space_id_default = H5S_ALL_F
-
- IF (PRESENT(xfer_prp)) xfer_prp_default = xfer_prp
- IF (PRESENT(mem_space_id)) mem_space_id_default = mem_space_id
- IF (PRESENT(file_space_id)) file_space_id_default = file_space_id
-
- hdferr = h5dreadc_4_c(dset_id, mem_type_id, mem_space_id_default, &
- file_space_id_default, xfer_prp_default, buf, dims)
-
- END SUBROUTINE h5dread_char_4
-
- SUBROUTINE h5dread_char_5(dset_id, mem_type_id, buf, dims, hdferr, &
- mem_space_id, file_space_id, xfer_prp)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
- INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
- CHARACTER(LEN=*), INTENT(INOUT), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)) :: buf
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id ! Memory dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id ! File dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp ! Transfer property list identifier
-
- INTEGER(HID_T) :: xfer_prp_default
- INTEGER(HID_T) :: mem_space_id_default
- INTEGER(HID_T) :: file_space_id_default
-
- INTERFACE
- INTEGER FUNCTION h5dreadc_5_c(dset_id, mem_type_id, &
- mem_space_id_default, &
- file_space_id_default, &
- xfer_prp_default, buf, dims)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5DREADC_5_C'::h5dreadc_5_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: buf
- INTEGER(HID_T), INTENT(IN) :: dset_id
- INTEGER(HID_T), INTENT(IN) :: mem_type_id
- INTEGER(HID_T) :: mem_space_id_default
- INTEGER(HID_T) :: file_space_id_default
- INTEGER(HID_T) :: xfer_prp_default
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
- CHARACTER(LEN=*), INTENT(INOUT), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)) :: buf
- END FUNCTION h5dreadc_5_c
- END INTERFACE
-
- xfer_prp_default = H5P_DEFAULT_F
- mem_space_id_default = H5S_ALL_F
- file_space_id_default = H5S_ALL_F
-
- IF (PRESENT(xfer_prp)) xfer_prp_default = xfer_prp
- IF (PRESENT(mem_space_id)) mem_space_id_default = mem_space_id
- IF (PRESENT(file_space_id)) file_space_id_default = file_space_id
-
- hdferr = h5dreadc_5_c(dset_id, mem_type_id, mem_space_id_default, &
- file_space_id_default, xfer_prp_default, buf, dims)
-
- END SUBROUTINE h5dread_char_5
-
- SUBROUTINE h5dread_char_6(dset_id, mem_type_id, buf, dims, hdferr, &
- mem_space_id, file_space_id, xfer_prp)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
- INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
- CHARACTER(LEN=*), INTENT(INOUT), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)) :: buf
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id ! Memory dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id ! File dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp ! Transfer property list identifier
-
- INTEGER(HID_T) :: xfer_prp_default
- INTEGER(HID_T) :: mem_space_id_default
- INTEGER(HID_T) :: file_space_id_default
-
- INTERFACE
- INTEGER FUNCTION h5dreadc_6_c(dset_id, mem_type_id, &
- mem_space_id_default, &
- file_space_id_default, &
- xfer_prp_default, buf, dims)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5DREADC_6_C'::h5dreadc_6_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: buf
- INTEGER(HID_T), INTENT(IN) :: dset_id
- INTEGER(HID_T), INTENT(IN) :: mem_type_id
- INTEGER(HID_T) :: mem_space_id_default
- INTEGER(HID_T) :: file_space_id_default
- INTEGER(HID_T) :: xfer_prp_default
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
- CHARACTER(LEN=*), INTENT(INOUT), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)) :: buf
- END FUNCTION h5dreadc_6_c
- END INTERFACE
-
- xfer_prp_default = H5P_DEFAULT_F
- mem_space_id_default = H5S_ALL_F
- file_space_id_default = H5S_ALL_F
-
- IF (PRESENT(xfer_prp)) xfer_prp_default = xfer_prp
- IF (PRESENT(mem_space_id)) mem_space_id_default = mem_space_id
- IF (PRESENT(file_space_id)) file_space_id_default = file_space_id
-
- hdferr = h5dreadc_6_c(dset_id, mem_type_id, mem_space_id_default, &
- file_space_id_default, xfer_prp_default, buf, dims)
-
- END SUBROUTINE h5dread_char_6
-
- SUBROUTINE h5dread_char_7(dset_id, mem_type_id, buf, dims, hdferr, &
- mem_space_id, file_space_id, xfer_prp)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
- INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
- CHARACTER(LEN=*), INTENT(INOUT), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)) :: buf
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id ! Memory dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id ! File dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp ! Transfer property list identifier
-
- INTEGER(HID_T) :: xfer_prp_default
- INTEGER(HID_T) :: mem_space_id_default
- INTEGER(HID_T) :: file_space_id_default
-
- INTERFACE
- INTEGER FUNCTION h5dreadc_7_c(dset_id, mem_type_id, &
- mem_space_id_default, &
- file_space_id_default, &
- xfer_prp_default, buf, dims)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5DREADC_7_C'::h5dreadc_7_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: buf
- INTEGER(HID_T), INTENT(IN) :: dset_id
- INTEGER(HID_T), INTENT(IN) :: mem_type_id
- INTEGER(HID_T) :: mem_space_id_default
- INTEGER(HID_T) :: file_space_id_default
- INTEGER(HID_T) :: xfer_prp_default
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
- CHARACTER(LEN=*), INTENT(INOUT), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)) :: buf
- END FUNCTION h5dreadc_7_c
- END INTERFACE
-
- xfer_prp_default = H5P_DEFAULT_F
- mem_space_id_default = H5S_ALL_F
- file_space_id_default = H5S_ALL_F
-
- IF (PRESENT(xfer_prp)) xfer_prp_default = xfer_prp
- IF (PRESENT(mem_space_id)) mem_space_id_default = mem_space_id
- IF (PRESENT(file_space_id)) file_space_id_default = file_space_id
-
- hdferr = h5dreadc_7_c(dset_id, mem_type_id, mem_space_id_default, &
- file_space_id_default, xfer_prp_default, buf, dims)
-
- END SUBROUTINE h5dread_char_7
-
- SUBROUTINE h5dread_real_scalar(dset_id, mem_type_id, buf, dims, hdferr, &
- mem_space_id, file_space_id, xfer_prp)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
- INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
- REAL, INTENT(INOUT) :: buf ! Data buffer
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id ! Memory dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id ! File dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp ! Transfer property list identifier
- INTEGER(HID_T) :: xfer_prp_default
- INTEGER(HID_T) :: mem_space_id_default
- INTEGER(HID_T) :: file_space_id_default
-
- INTERFACE
- INTEGER FUNCTION h5dread_real_s_c(dset_id, mem_type_id, &
- mem_space_id_default, &
- file_space_id_default, &
- xfer_prp_default, buf, dims)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5DREAD_REAL_S_C'::h5dread_real_s_c
- !DEC$ENDIF
- INTEGER(HID_T), INTENT(IN) :: dset_id
- INTEGER(HID_T), INTENT(IN) :: mem_type_id
- INTEGER(HID_T) :: mem_space_id_default
- INTEGER(HID_T) :: file_space_id_default
- INTEGER(HID_T) :: xfer_prp_default
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
- REAL, INTENT(OUT) :: buf
- END FUNCTION h5dread_real_s_c
- END INTERFACE
-
- xfer_prp_default = H5P_DEFAULT_F
- mem_space_id_default = H5S_ALL_F
- file_space_id_default = H5S_ALL_F
-
- IF (PRESENT(xfer_prp)) xfer_prp_default = xfer_prp
- IF (PRESENT(mem_space_id)) mem_space_id_default = mem_space_id
- IF (PRESENT(file_space_id)) file_space_id_default = file_space_id
-
- hdferr = h5dread_real_s_c(dset_id, mem_type_id, mem_space_id_default, &
- file_space_id_default, xfer_prp_default, buf, dims)
-
- END SUBROUTINE h5dread_real_scalar
-
- SUBROUTINE h5dread_real_1(dset_id, mem_type_id, buf, dims, hdferr, &
- mem_space_id, file_space_id, xfer_prp)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
- INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
- REAL, INTENT(INOUT), &
- DIMENSION(dims(1)) :: buf
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id ! Memory dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id ! File dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp ! Transfer property list identifier
- INTEGER(HID_T) :: xfer_prp_default
- INTEGER(HID_T) :: mem_space_id_default
- INTEGER(HID_T) :: file_space_id_default
-
- ! INTEGER, EXTERNAL :: h5dread_real_1_c
- ! MS FORTRAN needs explicit interface for C functions called here.
- !
- INTERFACE
- INTEGER FUNCTION h5dread_real_1_c(dset_id, mem_type_id, &
- mem_space_id_default, &
- file_space_id_default, &
- xfer_prp_default, buf, dims)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5DREAD_REAL_1_C'::h5dread_real_1_c
- !DEC$ENDIF
- INTEGER(HID_T), INTENT(IN) :: dset_id
- INTEGER(HID_T), INTENT(IN) :: mem_type_id
- INTEGER(HID_T) :: mem_space_id_default
- INTEGER(HID_T) :: file_space_id_default
- INTEGER(HID_T) :: xfer_prp_default
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
- REAL, INTENT(INOUT), &
- DIMENSION(dims(1)) :: buf
- END FUNCTION h5dread_real_1_c
- END INTERFACE
-
- xfer_prp_default = H5P_DEFAULT_F
- mem_space_id_default = H5S_ALL_F
- file_space_id_default = H5S_ALL_F
-
- IF (PRESENT(xfer_prp)) xfer_prp_default = xfer_prp
- IF (PRESENT(mem_space_id)) mem_space_id_default = mem_space_id
- IF (PRESENT(file_space_id)) file_space_id_default = file_space_id
-
- hdferr = h5dread_real_1_c(dset_id, mem_type_id, mem_space_id_default, &
- file_space_id_default, xfer_prp_default, buf, dims)
-
- END SUBROUTINE h5dread_real_1
-
- SUBROUTINE h5dread_real_2(dset_id, mem_type_id, buf, dims, hdferr, &
- mem_space_id, file_space_id, xfer_prp)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
- INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
- REAL, INTENT(INOUT), &
- DIMENSION(dims(1),dims(2)) :: buf
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id ! Memory dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id ! File dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp ! Transfer property list identifier
- INTEGER(HID_T) :: xfer_prp_default
- INTEGER(HID_T) :: mem_space_id_default
- INTEGER(HID_T) :: file_space_id_default
-
- INTERFACE
- INTEGER FUNCTION h5dread_real_2_c(dset_id, mem_type_id, &
- mem_space_id_default, &
- file_space_id_default, &
- xfer_prp_default, buf, dims)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5DREAD_REAL_2_C'::h5dread_real_2_c
- !DEC$ENDIF
- INTEGER(HID_T), INTENT(IN) :: dset_id
- INTEGER(HID_T), INTENT(IN) :: mem_type_id
- INTEGER(HID_T) :: mem_space_id_default
- INTEGER(HID_T) :: file_space_id_default
- INTEGER(HID_T) :: xfer_prp_default
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
- REAL, INTENT(INOUT), &
- DIMENSION(dims(1),dims(2)) :: buf
- END FUNCTION h5dread_real_2_c
- END INTERFACE
-
- xfer_prp_default = H5P_DEFAULT_F
- mem_space_id_default = H5S_ALL_F
- file_space_id_default = H5S_ALL_F
-
- IF (PRESENT(xfer_prp)) xfer_prp_default = xfer_prp
- IF (PRESENT(mem_space_id)) mem_space_id_default = mem_space_id
- IF (PRESENT(file_space_id)) file_space_id_default = file_space_id
-
- hdferr = h5dread_real_2_c(dset_id, mem_type_id, mem_space_id_default, &
- file_space_id_default, xfer_prp_default, buf, dims)
-
- END SUBROUTINE h5dread_real_2
-
- SUBROUTINE h5dread_real_3(dset_id, mem_type_id, buf, dims, hdferr, &
- mem_space_id, file_space_id, xfer_prp)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
- INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
- REAL, INTENT(INOUT), &
- DIMENSION(dims(1),dims(2),dims(3)) :: buf
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id ! Memory dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id ! File dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp ! Transfer property list identifier
- INTEGER(HID_T) :: xfer_prp_default
- INTEGER(HID_T) :: mem_space_id_default
- INTEGER(HID_T) :: file_space_id_default
-
- INTERFACE
- INTEGER FUNCTION h5dread_real_3_c(dset_id, mem_type_id, &
- mem_space_id_default, &
- file_space_id_default, &
- xfer_prp_default, buf, dims)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5DREAD_REAL_3_C'::h5dread_real_3_c
- !DEC$ENDIF
- INTEGER(HID_T), INTENT(IN) :: dset_id
- INTEGER(HID_T), INTENT(IN) :: mem_type_id
- INTEGER(HID_T) :: mem_space_id_default
- INTEGER(HID_T) :: file_space_id_default
- INTEGER(HID_T) :: xfer_prp_default
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
- REAL, INTENT(INOUT), &
- DIMENSION(dims(1),dims(2),dims(3)) :: buf
- END FUNCTION h5dread_real_3_c
- END INTERFACE
-
- xfer_prp_default = H5P_DEFAULT_F
- mem_space_id_default = H5S_ALL_F
- file_space_id_default = H5S_ALL_F
-
- IF (PRESENT(xfer_prp)) xfer_prp_default = xfer_prp
- IF (PRESENT(mem_space_id)) mem_space_id_default = mem_space_id
- IF (PRESENT(file_space_id)) file_space_id_default = file_space_id
-
- hdferr = h5dread_real_3_c(dset_id, mem_type_id, mem_space_id_default, &
- file_space_id_default, xfer_prp_default, buf, dims)
-
- END SUBROUTINE h5dread_real_3
-
- SUBROUTINE h5dread_real_4(dset_id, mem_type_id, buf, dims, hdferr, &
- mem_space_id, file_space_id, xfer_prp)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
- INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
- REAL, INTENT(INOUT), &
- DIMENSION(dims(1),dims(2),dims(3), dims(4)) :: buf
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id ! Memory dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id ! File dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp ! Transfer property list identifier
- INTEGER(HID_T) :: xfer_prp_default
- INTEGER(HID_T) :: mem_space_id_default
- INTEGER(HID_T) :: file_space_id_default
-
- INTERFACE
- INTEGER FUNCTION h5dread_real_4_c(dset_id, mem_type_id, &
- mem_space_id_default, &
- file_space_id_default, &
- xfer_prp_default, buf, dims)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5DREAD_REAL_4_C'::h5dread_real_4_c
- !DEC$ENDIF
- INTEGER(HID_T), INTENT(IN) :: dset_id
- INTEGER(HID_T), INTENT(IN) :: mem_type_id
- INTEGER(HID_T) :: mem_space_id_default
- INTEGER(HID_T) :: file_space_id_default
- INTEGER(HID_T) :: xfer_prp_default
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
- REAL, INTENT(INOUT), &
- DIMENSION(dims(1),dims(2),dims(3), dims(4)) :: buf
- END FUNCTION h5dread_real_4_c
- END INTERFACE
-
- xfer_prp_default = H5P_DEFAULT_F
- mem_space_id_default = H5S_ALL_F
- file_space_id_default = H5S_ALL_F
-
- IF (PRESENT(xfer_prp)) xfer_prp_default = xfer_prp
- IF (PRESENT(mem_space_id)) mem_space_id_default = mem_space_id
- IF (PRESENT(file_space_id)) file_space_id_default = file_space_id
-
- hdferr = h5dread_real_4_c(dset_id, mem_type_id, mem_space_id_default, &
- file_space_id_default, xfer_prp_default, buf, dims)
-
- END SUBROUTINE h5dread_real_4
-
- SUBROUTINE h5dread_real_5(dset_id, mem_type_id, buf, dims, hdferr, &
- mem_space_id, file_space_id, xfer_prp)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
- INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
- REAL, INTENT(INOUT), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)) :: buf
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id ! Memory dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id ! File dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp ! Transfer property list identifier
- INTEGER(HID_T) :: xfer_prp_default
- INTEGER(HID_T) :: mem_space_id_default
- INTEGER(HID_T) :: file_space_id_default
-
- INTERFACE
- INTEGER FUNCTION h5dread_real_5_c(dset_id, mem_type_id, &
- mem_space_id_default, &
- file_space_id_default, &
- xfer_prp_default, buf, dims)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5DREAD_REAL_5_C'::h5dread_real_5_c
- !DEC$ENDIF
- INTEGER(HID_T), INTENT(IN) :: dset_id
- INTEGER(HID_T), INTENT(IN) :: mem_type_id
- INTEGER(HID_T) :: mem_space_id_default
- INTEGER(HID_T) :: file_space_id_default
- INTEGER(HID_T) :: xfer_prp_default
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
- REAL, INTENT(INOUT), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)) :: buf
- END FUNCTION h5dread_real_5_c
- END INTERFACE
-
- xfer_prp_default = H5P_DEFAULT_F
- mem_space_id_default = H5S_ALL_F
- file_space_id_default = H5S_ALL_F
-
- IF (PRESENT(xfer_prp)) xfer_prp_default = xfer_prp
- IF (PRESENT(mem_space_id)) mem_space_id_default = mem_space_id
- IF (PRESENT(file_space_id)) file_space_id_default = file_space_id
-
- hdferr = h5dread_real_5_c(dset_id, mem_type_id, mem_space_id_default, &
- file_space_id_default, xfer_prp_default, buf, dims)
-
- END SUBROUTINE h5dread_real_5
-
- SUBROUTINE h5dread_real_6(dset_id, mem_type_id, buf, dims, hdferr, &
- mem_space_id, file_space_id, xfer_prp)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
- INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
- REAL, INTENT(INOUT), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)) :: buf
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id ! Memory dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id ! File dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp ! Transfer property list identifier
- INTEGER(HID_T) :: xfer_prp_default
- INTEGER(HID_T) :: mem_space_id_default
- INTEGER(HID_T) :: file_space_id_default
-
- INTERFACE
- INTEGER FUNCTION h5dread_real_6_c(dset_id, mem_type_id, &
- mem_space_id_default, &
- file_space_id_default, &
- xfer_prp_default, buf, dims)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5DREAD_REAL_6_C'::h5dread_real_6_c
- !DEC$ENDIF
- INTEGER(HID_T), INTENT(IN) :: dset_id
- INTEGER(HID_T), INTENT(IN) :: mem_type_id
- INTEGER(HID_T) :: mem_space_id_default
- INTEGER(HID_T) :: file_space_id_default
- INTEGER(HID_T) :: xfer_prp_default
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
- REAL, INTENT(INOUT), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)) :: buf
- END FUNCTION h5dread_real_6_c
- END INTERFACE
-
- xfer_prp_default = H5P_DEFAULT_F
- mem_space_id_default = H5S_ALL_F
- file_space_id_default = H5S_ALL_F
-
- IF (PRESENT(xfer_prp)) xfer_prp_default = xfer_prp
- IF (PRESENT(mem_space_id)) mem_space_id_default = mem_space_id
- IF (PRESENT(file_space_id)) file_space_id_default = file_space_id
-
- hdferr = h5dread_real_6_c(dset_id, mem_type_id, mem_space_id_default, &
- file_space_id_default, xfer_prp_default, buf, dims)
-
- END SUBROUTINE h5dread_real_6
-
- SUBROUTINE h5dread_real_7(dset_id, mem_type_id, buf, dims, hdferr, &
- mem_space_id, file_space_id, xfer_prp)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
- INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
- REAL, INTENT(INOUT), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)) :: buf
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id ! Memory dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id ! File dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp ! Transfer property list identifier
-
- INTEGER(HID_T) :: xfer_prp_default
- INTEGER(HID_T) :: mem_space_id_default
- INTEGER(HID_T) :: file_space_id_default
-
- INTERFACE
- INTEGER FUNCTION h5dread_real_7_c(dset_id, mem_type_id, &
- mem_space_id_default, &
- file_space_id_default, &
- xfer_prp_default, buf, dims)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5DREAD_REAL_7_C'::h5dread_real_7_c
- !DEC$ENDIF
- INTEGER(HID_T), INTENT(IN) :: dset_id
- INTEGER(HID_T), INTENT(IN) :: mem_type_id
- INTEGER(HID_T) :: mem_space_id_default
- INTEGER(HID_T) :: file_space_id_default
- INTEGER(HID_T) :: xfer_prp_default
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
- REAL, INTENT(INOUT), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)) :: buf
- END FUNCTION h5dread_real_7_c
- END INTERFACE
-
- xfer_prp_default = H5P_DEFAULT_F
- mem_space_id_default = H5S_ALL_F
- file_space_id_default = H5S_ALL_F
-
- IF (PRESENT(xfer_prp)) xfer_prp_default = xfer_prp
- IF (PRESENT(mem_space_id)) mem_space_id_default = mem_space_id
- IF (PRESENT(file_space_id)) file_space_id_default = file_space_id
-
- hdferr = h5dread_real_7_c(dset_id, mem_type_id, mem_space_id_default, &
- file_space_id_default, xfer_prp_default, buf, dims)
-
- END SUBROUTINE h5dread_real_7
-
- SUBROUTINE h5dwrite_reference_obj(dset_id, mem_type_id, buf, dims, hdferr, &
- mem_space_id, file_space_id, xfer_prp)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
- INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
- INTEGER(HSIZE_T), DIMENSION(*), INTENT(IN) :: dims ! size of the bufffer buf
- TYPE(hobj_ref_t_f), DIMENSION(dims(1)), INTENT(IN) :: buf ! Data buffer
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id ! Memory dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id ! File dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp ! Transfer property list identifier
-
- INTEGER(HID_T) :: xfer_prp_default
- INTEGER(HID_T) :: mem_space_id_default
- INTEGER(HID_T) :: file_space_id_default
- INTEGER(HADDR_T), ALLOCATABLE, DIMENSION(:) :: ref_buf
- INTEGER(HSIZE_T) :: j
-
- INTERFACE
- INTEGER FUNCTION h5dwrite_ref_obj_c(dset_id, mem_type_id,&
- mem_space_id_default, &
- file_space_id_default, xfer_prp_default, ref_buf, dims)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5DWRITE_REF_OBJ_C'::h5dwrite_ref_obj_c
- !DEC$ENDIF
- INTEGER(HID_T), INTENT(IN) :: dset_id
- INTEGER(HID_T), INTENT(IN) :: mem_type_id
- INTEGER(HID_T) :: xfer_prp_default
- INTEGER(HID_T) :: mem_space_id_default
- INTEGER(HID_T) :: file_space_id_default
- INTEGER(HADDR_T), DIMENSION(*) :: ref_buf
- INTEGER(HSIZE_T), DIMENSION(*) :: dims
- END FUNCTION h5dwrite_ref_obj_c
- END INTERFACE
-
- xfer_prp_default = H5P_DEFAULT_F
- mem_space_id_default = H5S_ALL_F
- file_space_id_default = H5S_ALL_F
-
- IF (PRESENT(xfer_prp)) xfer_prp_default = xfer_prp
- IF (PRESENT(mem_space_id)) mem_space_id_default = mem_space_id
- IF (PRESENT(file_space_id)) file_space_id_default = file_space_id
-
- ALLOCATE(ref_buf(dims(1)), stat=hdferr)
- IF (hdferr .NE. 0 ) THEN
- hdferr = -1
- RETURN
- ELSE
- DO j = 1, dims(1)
- ref_buf(j) = buf(j)%ref
- ENDDO
- ENDIF
- hdferr = h5dwrite_ref_obj_c(dset_id, mem_type_id, mem_space_id_default, &
- file_space_id_default, xfer_prp_default, ref_buf, dims(1))
- DEALLOCATE(ref_buf)
-
- END SUBROUTINE h5dwrite_reference_obj
-
- SUBROUTINE h5dwrite_reference_dsetreg(dset_id, mem_type_id, buf, dims, hdferr, &
- mem_space_id, file_space_id, xfer_prp)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
- INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
- INTEGER(HSIZE_T), DIMENSION(*), INTENT(IN) :: dims ! size of the bufffer buf
- TYPE(hdset_reg_ref_t_f), DIMENSION(dims(1)), INTENT(IN) :: buf ! Data buffer
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id ! Memory dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id ! File dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp ! Transfer property list identifier
-
- INTEGER(HID_T) :: xfer_prp_default
- INTEGER(HID_T) :: mem_space_id_default
- INTEGER(HID_T) :: file_space_id_default
- INTEGER, ALLOCATABLE, DIMENSION(:) :: ref_buf
- INTEGER :: i
- INTEGER(HSIZE_T) :: j
-
- INTERFACE
- INTEGER FUNCTION h5dwrite_ref_reg_c(dset_id, mem_type_id,&
- mem_space_id_default, &
- file_space_id_default, xfer_prp_default, ref_buf, dims)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5DWRITE_REF_REG_C'::h5dwrite_ref_reg_c
- !DEC$ENDIF
- INTEGER(HID_T), INTENT(IN) :: dset_id
- INTEGER(HID_T), INTENT(IN) :: mem_type_id
- INTEGER(HID_T) :: xfer_prp_default
- INTEGER(HID_T) :: mem_space_id_default
- INTEGER(HID_T) :: file_space_id_default
- INTEGER, DIMENSION(*) :: ref_buf
- INTEGER(HSIZE_T), DIMENSION(*) :: dims
- END FUNCTION h5dwrite_ref_reg_c
- END INTERFACE
-
- xfer_prp_default = H5P_DEFAULT_F
- mem_space_id_default = H5S_ALL_F
- file_space_id_default = H5S_ALL_F
-
- IF (PRESENT(xfer_prp)) xfer_prp_default = xfer_prp
- IF (PRESENT(mem_space_id)) mem_space_id_default = mem_space_id
- IF (PRESENT(file_space_id)) file_space_id_default = file_space_id
-
- ALLOCATE(ref_buf(REF_REG_BUF_LEN*dims(1)), stat=hdferr)
- IF (hdferr .NE. 0 ) THEN
- hdferr = -1
- RETURN
- ELSE
- DO j = 1, dims(1)
- DO i = 1, REF_REG_BUF_LEN
- ref_buf(REF_REG_BUF_LEN*(j-1) + i) = buf(j)%ref(i)
- ENDDO
- ENDDO
- ENDIF
- hdferr = h5dwrite_ref_reg_c(dset_id, mem_type_id, mem_space_id_default, &
- file_space_id_default, xfer_prp_default, ref_buf, dims)
- DEALLOCATE(ref_buf)
-
- END SUBROUTINE h5dwrite_reference_dsetreg
-
- SUBROUTINE h5dwrite_integer_scalar(dset_id, mem_type_id, buf, dims, hdferr, &
- mem_space_id, file_space_id, xfer_prp)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
- INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
- INTEGER, INTENT(IN) :: buf ! Data buffer
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id ! Memory dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id ! File dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp ! Transfer property list identifier
-
- INTEGER(HID_T) :: xfer_prp_default
- INTEGER(HID_T) :: mem_space_id_default
- INTEGER(HID_T) :: file_space_id_default
-
- INTERFACE
- INTEGER FUNCTION h5dwrite_integer_s_c(dset_id, mem_type_id, &
- mem_space_id_default, &
- file_space_id_default, &
- xfer_prp_default, buf, dims)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5DWRITE_INTEGER_S_C'::h5dwrite_integer_s_c
- !DEC$ENDIF
- INTEGER(HID_T), INTENT(IN) :: dset_id
- INTEGER(HID_T), INTENT(IN) :: mem_type_id
- INTEGER(HID_T) :: mem_space_id_default
- INTEGER(HID_T) :: file_space_id_default
- INTEGER(HID_T) :: xfer_prp_default
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
- INTEGER, INTENT(IN) :: buf
- END FUNCTION h5dwrite_integer_s_c
- END INTERFACE
-
- xfer_prp_default = H5P_DEFAULT_F
- mem_space_id_default = H5S_ALL_F
- file_space_id_default = H5S_ALL_F
-
- IF (PRESENT(xfer_prp)) xfer_prp_default = xfer_prp
- IF (PRESENT(mem_space_id)) mem_space_id_default = mem_space_id
- IF (PRESENT(file_space_id)) file_space_id_default = file_space_id
-
- hdferr = h5dwrite_integer_s_c(dset_id, mem_type_id, mem_space_id_default, &
- file_space_id_default, xfer_prp_default, buf, dims)
-
- END SUBROUTINE h5dwrite_integer_scalar
-
- SUBROUTINE h5dwrite_integer_1(dset_id, mem_type_id, buf, dims, hdferr, &
- mem_space_id, file_space_id, xfer_prp)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
- INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
- INTEGER, INTENT(IN), &
- DIMENSION(dims(1)) :: buf
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id ! Memory dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id ! File dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp ! Transfer property list identifier
-
- INTEGER(HID_T) :: xfer_prp_default
- INTEGER(HID_T) :: mem_space_id_default
- INTEGER(HID_T) :: file_space_id_default
-
- INTERFACE
- INTEGER FUNCTION h5dwrite_integer_1_c(dset_id, mem_type_id, &
- mem_space_id_default, &
- file_space_id_default, &
- xfer_prp_default, buf, dims)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5DWRITE_INTEGER_1_C'::h5dwrite_integer_1_c
- !DEC$ENDIF
- INTEGER(HID_T), INTENT(IN) :: dset_id
- INTEGER(HID_T), INTENT(IN) :: mem_type_id
- INTEGER(HID_T) :: mem_space_id_default
- INTEGER(HID_T) :: file_space_id_default
- INTEGER(HID_T) :: xfer_prp_default
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
- INTEGER, INTENT(IN), &
- DIMENSION(dims(1)) :: buf
- END FUNCTION h5dwrite_integer_1_c
- END INTERFACE
-
- xfer_prp_default = H5P_DEFAULT_F
- mem_space_id_default = H5S_ALL_F
- file_space_id_default = H5S_ALL_F
-
- IF (PRESENT(xfer_prp)) xfer_prp_default = xfer_prp
- IF (PRESENT(mem_space_id)) mem_space_id_default = mem_space_id
- IF (PRESENT(file_space_id)) file_space_id_default = file_space_id
-
- hdferr = h5dwrite_integer_1_c(dset_id, mem_type_id, mem_space_id_default, &
- file_space_id_default, xfer_prp_default, buf, dims)
-
- END SUBROUTINE h5dwrite_integer_1
-
- SUBROUTINE h5dwrite_integer_2(dset_id, mem_type_id, buf, dims, hdferr, &
- mem_space_id, file_space_id, xfer_prp)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
- INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
- INTEGER, INTENT(IN), &
- DIMENSION(dims(1),dims(2)) :: buf ! Data buffer
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id ! Memory dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id ! File dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp ! Transfer property list identifier
-
- INTEGER(HID_T) :: xfer_prp_default
- INTEGER(HID_T) :: mem_space_id_default
- INTEGER(HID_T) :: file_space_id_default
-
- INTERFACE
- INTEGER FUNCTION h5dwrite_integer_2_c(dset_id, mem_type_id, &
- mem_space_id_default, &
- file_space_id_default, &
- xfer_prp_default, buf, dims)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5DWRITE_INTEGER_2_C'::h5dwrite_integer_2_c
- !DEC$ENDIF
- INTEGER(HID_T), INTENT(IN) :: dset_id
- INTEGER(HID_T), INTENT(IN) :: mem_type_id
- INTEGER(HID_T) :: mem_space_id_default
- INTEGER(HID_T) :: file_space_id_default
- INTEGER(HID_T) :: xfer_prp_default
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
- INTEGER, INTENT(IN), &
- DIMENSION(dims(1),dims(2)) :: buf
- END FUNCTION h5dwrite_integer_2_c
- END INTERFACE
-
- xfer_prp_default = H5P_DEFAULT_F
- mem_space_id_default = H5S_ALL_F
- file_space_id_default = H5S_ALL_F
-
- IF (PRESENT(xfer_prp)) xfer_prp_default = xfer_prp
- IF (PRESENT(mem_space_id)) mem_space_id_default = mem_space_id
- IF (PRESENT(file_space_id)) file_space_id_default = file_space_id
- hdferr = h5dwrite_integer_2_c(dset_id, mem_type_id, mem_space_id_default, &
- file_space_id_default, xfer_prp_default, &
- buf, dims)
-
- END SUBROUTINE h5dwrite_integer_2
-
- SUBROUTINE h5dwrite_integer_3(dset_id, mem_type_id, buf, dims, hdferr, &
- mem_space_id, file_space_id, xfer_prp)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
- INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
- INTEGER, INTENT(IN), &
- DIMENSION(dims(1),dims(2),dims(3)) :: buf
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id ! Memory dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id ! File dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp ! Transfer property list identifier
-
- INTEGER(HID_T) :: xfer_prp_default
- INTEGER(HID_T) :: mem_space_id_default
- INTEGER(HID_T) :: file_space_id_default
-
- INTERFACE
- INTEGER FUNCTION h5dwrite_integer_3_c(dset_id, mem_type_id, &
- mem_space_id_default, &
- file_space_id_default, &
- xfer_prp_default, buf, dims)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5DWRITE_INTEGER_3_C'::h5dwrite_integer_3_c
- !DEC$ENDIF
- INTEGER(HID_T), INTENT(IN) :: dset_id
- INTEGER(HID_T), INTENT(IN) :: mem_type_id
- INTEGER(HID_T) :: mem_space_id_default
- INTEGER(HID_T) :: file_space_id_default
- INTEGER(HID_T) :: xfer_prp_default
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
- INTEGER, INTENT(IN), &
- DIMENSION(dims(1),dims(2),dims(3)) :: buf
- END FUNCTION h5dwrite_integer_3_c
- END INTERFACE
-
- xfer_prp_default = H5P_DEFAULT_F
- mem_space_id_default = H5S_ALL_F
- file_space_id_default = H5S_ALL_F
-
- IF (PRESENT(xfer_prp)) xfer_prp_default = xfer_prp
- IF (PRESENT(mem_space_id)) mem_space_id_default = mem_space_id
- IF (PRESENT(file_space_id)) file_space_id_default = file_space_id
-
- hdferr = h5dwrite_integer_3_c(dset_id, mem_type_id, mem_space_id_default, &
- file_space_id_default, xfer_prp_default, &
- buf, dims)
-
- END SUBROUTINE h5dwrite_integer_3
-
- SUBROUTINE h5dwrite_integer_4(dset_id, mem_type_id, buf, dims, hdferr, &
- mem_space_id, file_space_id, xfer_prp)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
- INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
- INTEGER, INTENT(IN), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4)) :: buf
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id ! Memory dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id ! File dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp ! Transfer property list identifier
-
- INTEGER(HID_T) :: xfer_prp_default
- INTEGER(HID_T) :: mem_space_id_default
- INTEGER(HID_T) :: file_space_id_default
-
- INTERFACE
- INTEGER FUNCTION h5dwrite_integer_4_c(dset_id, mem_type_id, &
- mem_space_id_default, &
- file_space_id_default, &
- xfer_prp_default, buf, dims)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5DWRITE_INTEGER_4_C'::h5dwrite_integer_4_c
- !DEC$ENDIF
- INTEGER(HID_T), INTENT(IN) :: dset_id
- INTEGER(HID_T), INTENT(IN) :: mem_type_id
- INTEGER(HID_T) :: mem_space_id_default
- INTEGER(HID_T) :: file_space_id_default
- INTEGER(HID_T) :: xfer_prp_default
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
- INTEGER, INTENT(IN), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4)) :: buf
- END FUNCTION h5dwrite_integer_4_c
- END INTERFACE
-
- xfer_prp_default = H5P_DEFAULT_F
- mem_space_id_default = H5S_ALL_F
- file_space_id_default = H5S_ALL_F
- IF (PRESENT(xfer_prp)) xfer_prp_default = xfer_prp
- IF (PRESENT(mem_space_id)) mem_space_id_default = mem_space_id
- IF (PRESENT(file_space_id)) file_space_id_default = file_space_id
-
- hdferr = h5dwrite_integer_4_c(dset_id, mem_type_id, mem_space_id_default, &
- file_space_id_default, xfer_prp_default, &
- buf, dims)
-
- END SUBROUTINE h5dwrite_integer_4
-
- SUBROUTINE h5dwrite_integer_5(dset_id, mem_type_id, buf, dims, hdferr, &
- mem_space_id, file_space_id, xfer_prp)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
- INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
- INTEGER, INTENT(IN), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)) :: buf
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id ! Memory dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id ! File dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp ! Transfer property list identifier
-
- INTEGER(HID_T) :: xfer_prp_default
- INTEGER(HID_T) :: mem_space_id_default
- INTEGER(HID_T) :: file_space_id_default
-
- INTERFACE
- INTEGER FUNCTION h5dwrite_integer_5_c(dset_id, mem_type_id, &
- mem_space_id_default, &
- file_space_id_default, &
- xfer_prp_default, buf, dims)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5DWRITE_INTEGER_5_C'::h5dwrite_integer_5_c
- !DEC$ENDIF
- INTEGER(HID_T), INTENT(IN) :: dset_id
- INTEGER(HID_T), INTENT(IN) :: mem_type_id
- INTEGER(HID_T) :: mem_space_id_default
- INTEGER(HID_T) :: file_space_id_default
- INTEGER(HID_T) :: xfer_prp_default
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
- INTEGER, INTENT(IN), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)) :: buf
- END FUNCTION h5dwrite_integer_5_c
- END INTERFACE
-
- xfer_prp_default = H5P_DEFAULT_F
- mem_space_id_default = H5S_ALL_F
- file_space_id_default = H5S_ALL_F
-
-
- IF (PRESENT(xfer_prp)) xfer_prp_default = xfer_prp
- IF (PRESENT(mem_space_id)) mem_space_id_default = mem_space_id
- IF (PRESENT(file_space_id)) file_space_id_default = file_space_id
-
- hdferr = h5dwrite_integer_5_c(dset_id, mem_type_id, mem_space_id_default, &
- file_space_id_default, xfer_prp_default, &
- buf, dims)
-
- END SUBROUTINE h5dwrite_integer_5
-
- SUBROUTINE h5dwrite_integer_6(dset_id, mem_type_id, buf, dims, hdferr, &
- mem_space_id, file_space_id, xfer_prp)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
- INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
- INTEGER, INTENT(IN), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)) :: buf
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id ! Memory dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id ! File dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp ! Transfer property list identifier
-
- INTEGER(HID_T) :: xfer_prp_default
- INTEGER(HID_T) :: mem_space_id_default
- INTEGER(HID_T) :: file_space_id_default
-
- INTERFACE
- INTEGER FUNCTION h5dwrite_integer_6_c(dset_id, mem_type_id, &
- mem_space_id_default, &
- file_space_id_default, &
- xfer_prp_default, buf, dims)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5DWRITE_INTEGER_6_C'::h5dwrite_integer_6_c
- !DEC$ENDIF
- INTEGER(HID_T), INTENT(IN) :: dset_id
- INTEGER(HID_T), INTENT(IN) :: mem_type_id
- INTEGER(HID_T) :: mem_space_id_default
- INTEGER(HID_T) :: file_space_id_default
- INTEGER(HID_T) :: xfer_prp_default
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
- INTEGER, INTENT(IN), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)) :: buf
- END FUNCTION h5dwrite_integer_6_c
- END INTERFACE
-
- xfer_prp_default = H5P_DEFAULT_F
- mem_space_id_default = H5S_ALL_F
- file_space_id_default = H5S_ALL_F
-
- IF (PRESENT(xfer_prp)) xfer_prp_default = xfer_prp
- IF (PRESENT(mem_space_id)) mem_space_id_default = mem_space_id
- IF (PRESENT(file_space_id)) file_space_id_default = file_space_id
-
- hdferr = h5dwrite_integer_6_c(dset_id, mem_type_id, mem_space_id_default, &
- file_space_id_default, xfer_prp_default, &
- buf, dims)
-
- END SUBROUTINE h5dwrite_integer_6
-
- SUBROUTINE h5dwrite_integer_7(dset_id, mem_type_id, buf, dims, hdferr, &
- mem_space_id, file_space_id, xfer_prp)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
- INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
- INTEGER, INTENT(IN), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)) :: buf
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id ! Memory dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id ! File dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp ! Transfer property list identifier
-
- INTEGER(HID_T) :: xfer_prp_default
- INTEGER(HID_T) :: mem_space_id_default
- INTEGER(HID_T) :: file_space_id_default
-
- INTERFACE
- INTEGER FUNCTION h5dwrite_integer_7_c(dset_id, mem_type_id, &
- mem_space_id_default, &
- file_space_id_default, &
- xfer_prp_default, buf, dims)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5DWRITE_INTEGER_7_C'::h5dwrite_integer_7_c
- !DEC$ENDIF
- INTEGER(HID_T), INTENT(IN) :: dset_id
- INTEGER(HID_T), INTENT(IN) :: mem_type_id
- INTEGER(HID_T) :: mem_space_id_default
- INTEGER(HID_T) :: file_space_id_default
- INTEGER(HID_T) :: xfer_prp_default
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
- INTEGER, INTENT(IN), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)) :: buf
- END FUNCTION h5dwrite_integer_7_c
- END INTERFACE
-
- xfer_prp_default = H5P_DEFAULT_F
- mem_space_id_default = H5S_ALL_F
- file_space_id_default = H5S_ALL_F
-
- IF (PRESENT(xfer_prp)) xfer_prp_default = xfer_prp
- IF (PRESENT(mem_space_id)) mem_space_id_default = mem_space_id
- IF (PRESENT(file_space_id)) file_space_id_default = file_space_id
-
- hdferr = h5dwrite_integer_7_c(dset_id, mem_type_id, mem_space_id_default, &
- file_space_id_default, xfer_prp_default, &
- buf, dims)
-
- END SUBROUTINE h5dwrite_integer_7
-
-
- SUBROUTINE h5dwrite_char_scalar(dset_id, mem_type_id, buf, dims, hdferr, &
- mem_space_id, file_space_id, xfer_prp)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
- INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
- CHARACTER(LEN=*), INTENT(IN) :: buf ! Data buffer
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id ! Memory dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id ! File dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp ! Transfer property list identifier
-
- INTEGER(HID_T) :: xfer_prp_default
- INTEGER(HID_T) :: mem_space_id_default
- INTEGER(HID_T) :: file_space_id_default
-
- INTERFACE
- INTEGER FUNCTION h5dwritec_s_c(dset_id, mem_type_id, &
- mem_space_id_default, &
- file_space_id_default, &
- xfer_prp_default, buf, dims)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5DWRITEC_S_C'::h5dwritec_s_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: buf
- INTEGER(HID_T), INTENT(IN) :: dset_id
- INTEGER(HID_T), INTENT(IN) :: mem_type_id
- INTEGER(HID_T) :: mem_space_id_default
- INTEGER(HID_T) :: file_space_id_default
- INTEGER(HID_T) :: xfer_prp_default
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
- CHARACTER(LEN=*), INTENT(IN) :: buf
- END FUNCTION h5dwritec_s_c
- END INTERFACE
-
- xfer_prp_default = H5P_DEFAULT_F
- mem_space_id_default = H5S_ALL_F
- file_space_id_default = H5S_ALL_F
-
- IF (PRESENT(xfer_prp)) xfer_prp_default = xfer_prp
- IF (PRESENT(mem_space_id)) mem_space_id_default = mem_space_id
- IF (PRESENT(file_space_id)) file_space_id_default = file_space_id
-
- hdferr = h5dwritec_s_c(dset_id, mem_type_id, mem_space_id_default, &
- file_space_id_default, xfer_prp_default, buf, dims)
-
- END SUBROUTINE h5dwrite_char_scalar
-
- SUBROUTINE h5dwrite_char_1(dset_id, mem_type_id, buf, dims, hdferr, &
- mem_space_id, file_space_id, xfer_prp)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
- INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
- CHARACTER(LEN=*), INTENT(IN), &
- DIMENSION(dims(1)) :: buf
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id ! Memory dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id ! File dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp ! Transfer property list identifier
-
- INTEGER(HID_T) :: xfer_prp_default
- INTEGER(HID_T) :: mem_space_id_default
- INTEGER(HID_T) :: file_space_id_default
-
- INTERFACE
- INTEGER FUNCTION h5dwritec_1_c(dset_id, mem_type_id, &
- mem_space_id_default, &
- file_space_id_default, &
- xfer_prp_default, buf, dims)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5DWRITEC_1_C'::h5dwritec_1_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: buf
- INTEGER(HID_T), INTENT(IN) :: dset_id
- INTEGER(HID_T), INTENT(IN) :: mem_type_id
- INTEGER(HID_T) :: mem_space_id_default
- INTEGER(HID_T) :: file_space_id_default
- INTEGER(HID_T) :: xfer_prp_default
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
- CHARACTER(LEN=*), INTENT(IN), &
- DIMENSION(dims(1)) :: buf
- END FUNCTION h5dwritec_1_c
- END INTERFACE
-
- xfer_prp_default = H5P_DEFAULT_F
- mem_space_id_default = H5S_ALL_F
- file_space_id_default = H5S_ALL_F
-
- IF (PRESENT(xfer_prp)) xfer_prp_default = xfer_prp
- IF (PRESENT(mem_space_id)) mem_space_id_default = mem_space_id
- IF (PRESENT(file_space_id)) file_space_id_default = file_space_id
-
- hdferr = h5dwritec_1_c(dset_id, mem_type_id, mem_space_id_default, &
- file_space_id_default, xfer_prp_default, buf, dims)
-
- END SUBROUTINE h5dwrite_char_1
-
- SUBROUTINE h5dwrite_char_2(dset_id, mem_type_id, buf, dims, hdferr, &
- mem_space_id, file_space_id, xfer_prp)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
- INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
- CHARACTER(LEN=*), INTENT(IN), &
- DIMENSION(dims(1),dims(2)) :: buf
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id ! Memory dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id ! File dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp ! Transfer property list identifier
-
- INTEGER(HID_T) :: xfer_prp_default
- INTEGER(HID_T) :: mem_space_id_default
- INTEGER(HID_T) :: file_space_id_default
-
- INTERFACE
- INTEGER FUNCTION h5dwritec_2_c(dset_id, mem_type_id, &
- mem_space_id_default, &
- file_space_id_default, &
- xfer_prp_default, buf, dims)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5DWRITEC_2_C'::h5dwritec_2_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: buf
- INTEGER(HID_T), INTENT(IN) :: dset_id
- INTEGER(HID_T), INTENT(IN) :: mem_type_id
- INTEGER(HID_T) :: mem_space_id_default
- INTEGER(HID_T) :: file_space_id_default
- INTEGER(HID_T) :: xfer_prp_default
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
- CHARACTER(LEN=*), INTENT(IN), &
- DIMENSION(dims(1),dims(2)) :: buf
- END FUNCTION h5dwritec_2_c
- END INTERFACE
-
- xfer_prp_default = H5P_DEFAULT_F
- mem_space_id_default = H5S_ALL_F
- file_space_id_default = H5S_ALL_F
-
- IF (PRESENT(xfer_prp)) xfer_prp_default = xfer_prp
- IF (PRESENT(mem_space_id)) mem_space_id_default = mem_space_id
- IF (PRESENT(file_space_id)) file_space_id_default = file_space_id
-
- hdferr = h5dwritec_2_c(dset_id, mem_type_id, mem_space_id_default, &
- file_space_id_default, xfer_prp_default, buf, dims)
-
- END SUBROUTINE h5dwrite_char_2
-
- SUBROUTINE h5dwrite_char_3(dset_id, mem_type_id, buf, dims, hdferr, &
- mem_space_id, file_space_id, xfer_prp)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
- INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
- CHARACTER(LEN=*), INTENT(IN), &
- DIMENSION(dims(1),dims(2),dims(3)) :: buf
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id ! Memory dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id ! File dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp ! Transfer property list identifier
-
- INTEGER(HID_T) :: xfer_prp_default
- INTEGER(HID_T) :: mem_space_id_default
- INTEGER(HID_T) :: file_space_id_default
-
- INTERFACE
- INTEGER FUNCTION h5dwritec_3_c(dset_id, mem_type_id, &
- mem_space_id_default, &
- file_space_id_default, &
- xfer_prp_default, buf, dims)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5DWRITEC_3_C'::h5dwritec_3_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: buf
- INTEGER(HID_T), INTENT(IN) :: dset_id
- INTEGER(HID_T), INTENT(IN) :: mem_type_id
- INTEGER(HID_T) :: mem_space_id_default
- INTEGER(HID_T) :: file_space_id_default
- INTEGER(HID_T) :: xfer_prp_default
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
- CHARACTER(LEN=*), INTENT(IN), &
- DIMENSION(dims(1),dims(2),dims(3)) :: buf
- END FUNCTION h5dwritec_3_c
- END INTERFACE
-
- xfer_prp_default = H5P_DEFAULT_F
- mem_space_id_default = H5S_ALL_F
- file_space_id_default = H5S_ALL_F
-
- IF (PRESENT(xfer_prp)) xfer_prp_default = xfer_prp
- IF (PRESENT(mem_space_id)) mem_space_id_default = mem_space_id
- IF (PRESENT(file_space_id)) file_space_id_default = file_space_id
-
- hdferr = h5dwritec_3_c(dset_id, mem_type_id, mem_space_id_default, &
- file_space_id_default, xfer_prp_default, buf, dims)
-
- END SUBROUTINE h5dwrite_char_3
-
- SUBROUTINE h5dwrite_char_4(dset_id, mem_type_id, buf, dims, hdferr, &
- mem_space_id, file_space_id, xfer_prp)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
- INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
- CHARACTER(LEN=*), INTENT(IN), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4)) :: buf
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id ! Memory dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id ! File dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp ! Transfer property list identifier
-
- INTEGER(HID_T) :: xfer_prp_default
- INTEGER(HID_T) :: mem_space_id_default
- INTEGER(HID_T) :: file_space_id_default
-
- INTERFACE
- INTEGER FUNCTION h5dwritec_4_c(dset_id, mem_type_id, &
- mem_space_id_default, &
- file_space_id_default, &
- xfer_prp_default, buf, dims)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5DWRITEC_4_C'::h5dwritec_4_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: buf
- INTEGER(HID_T), INTENT(IN) :: dset_id
- INTEGER(HID_T), INTENT(IN) :: mem_type_id
- INTEGER(HID_T) :: mem_space_id_default
- INTEGER(HID_T) :: file_space_id_default
- INTEGER(HID_T) :: xfer_prp_default
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
- CHARACTER(LEN=*), INTENT(IN), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4)) :: buf
- END FUNCTION h5dwritec_4_c
- END INTERFACE
-
- xfer_prp_default = H5P_DEFAULT_F
- mem_space_id_default = H5S_ALL_F
- file_space_id_default = H5S_ALL_F
-
- IF (PRESENT(xfer_prp)) xfer_prp_default = xfer_prp
- IF (PRESENT(mem_space_id)) mem_space_id_default = mem_space_id
- IF (PRESENT(file_space_id)) file_space_id_default = file_space_id
-
- hdferr = h5dwritec_4_c(dset_id, mem_type_id, mem_space_id_default, &
- file_space_id_default, xfer_prp_default, buf, dims)
-
- END SUBROUTINE h5dwrite_char_4
-
- SUBROUTINE h5dwrite_char_5(dset_id, mem_type_id, buf, dims, hdferr, &
- mem_space_id, file_space_id, xfer_prp)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
- INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
- CHARACTER(LEN=*), INTENT(IN), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)) :: buf
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id ! Memory dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id ! File dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp ! Transfer property list identifier
-
- INTEGER(HID_T) :: xfer_prp_default
- INTEGER(HID_T) :: mem_space_id_default
- INTEGER(HID_T) :: file_space_id_default
-
- INTERFACE
- INTEGER FUNCTION h5dwritec_5_c(dset_id, mem_type_id, &
- mem_space_id_default, &
- file_space_id_default, &
- xfer_prp_default, buf, dims)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5DWRITEC_5_C'::h5dwritec_5_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: buf
- INTEGER(HID_T), INTENT(IN) :: dset_id
- INTEGER(HID_T), INTENT(IN) :: mem_type_id
- INTEGER(HID_T) :: mem_space_id_default
- INTEGER(HID_T) :: file_space_id_default
- INTEGER(HID_T) :: xfer_prp_default
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
- CHARACTER(LEN=*), INTENT(IN), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)) :: buf
- END FUNCTION h5dwritec_5_c
- END INTERFACE
-
- xfer_prp_default = H5P_DEFAULT_F
- mem_space_id_default = H5S_ALL_F
- file_space_id_default = H5S_ALL_F
-
- IF (PRESENT(xfer_prp)) xfer_prp_default = xfer_prp
- IF (PRESENT(mem_space_id)) mem_space_id_default = mem_space_id
- IF (PRESENT(file_space_id)) file_space_id_default = file_space_id
-
- hdferr = h5dwritec_5_c(dset_id, mem_type_id, mem_space_id_default, &
- file_space_id_default, xfer_prp_default, buf, dims)
-
- END SUBROUTINE h5dwrite_char_5
-
- SUBROUTINE h5dwrite_char_6(dset_id, mem_type_id, buf, dims, hdferr, &
- mem_space_id, file_space_id, xfer_prp)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
- INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
- CHARACTER(LEN=*), INTENT(IN), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)) :: buf
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id ! Memory dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id ! File dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp ! Transfer property list identifier
-
- INTEGER(HID_T) :: xfer_prp_default
- INTEGER(HID_T) :: mem_space_id_default
- INTEGER(HID_T) :: file_space_id_default
-
- INTERFACE
- INTEGER FUNCTION h5dwritec_6_c(dset_id, mem_type_id, &
- mem_space_id_default, &
- file_space_id_default, &
- xfer_prp_default, buf, dims)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5DWRITEC_6_C'::h5dwritec_6_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: buf
- INTEGER(HID_T), INTENT(IN) :: dset_id
- INTEGER(HID_T), INTENT(IN) :: mem_type_id
- INTEGER(HID_T) :: mem_space_id_default
- INTEGER(HID_T) :: file_space_id_default
- INTEGER(HID_T) :: xfer_prp_default
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
- CHARACTER(LEN=*), INTENT(IN), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)) :: buf
- END FUNCTION h5dwritec_6_c
- END INTERFACE
-
- xfer_prp_default = H5P_DEFAULT_F
- mem_space_id_default = H5S_ALL_F
- file_space_id_default = H5S_ALL_F
-
- IF (PRESENT(xfer_prp)) xfer_prp_default = xfer_prp
- IF (PRESENT(mem_space_id)) mem_space_id_default = mem_space_id
- IF (PRESENT(file_space_id)) file_space_id_default = file_space_id
-
- hdferr = h5dwritec_6_c(dset_id, mem_type_id, mem_space_id_default, &
- file_space_id_default, xfer_prp_default, buf, dims)
-
- END SUBROUTINE h5dwrite_char_6
-
- SUBROUTINE h5dwrite_char_7(dset_id, mem_type_id, buf, dims, hdferr, &
- mem_space_id, file_space_id, xfer_prp)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
- INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
- CHARACTER(LEN=*), INTENT(IN), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)) :: buf
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id ! Memory dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id ! File dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp ! Transfer property list identifier
-
- INTEGER(HID_T) :: xfer_prp_default
- INTEGER(HID_T) :: mem_space_id_default
- INTEGER(HID_T) :: file_space_id_default
-
- INTERFACE
- INTEGER FUNCTION h5dwritec_7_c(dset_id, mem_type_id, &
- mem_space_id_default, &
- file_space_id_default, &
- xfer_prp_default, buf, dims)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5DWRITEC_7_C'::h5dwritec_7_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: buf
- INTEGER(HID_T), INTENT(IN) :: dset_id
- INTEGER(HID_T), INTENT(IN) :: mem_type_id
- INTEGER(HID_T) :: mem_space_id_default
- INTEGER(HID_T) :: file_space_id_default
- INTEGER(HID_T) :: xfer_prp_default
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
- CHARACTER(LEN=*), INTENT(IN), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)) :: buf
- END FUNCTION h5dwritec_7_c
- END INTERFACE
-
- xfer_prp_default = H5P_DEFAULT_F
- mem_space_id_default = H5S_ALL_F
- file_space_id_default = H5S_ALL_F
-
- IF (PRESENT(xfer_prp)) xfer_prp_default = xfer_prp
- IF (PRESENT(mem_space_id)) mem_space_id_default = mem_space_id
- IF (PRESENT(file_space_id)) file_space_id_default = file_space_id
-
- hdferr = h5dwritec_7_c(dset_id, mem_type_id, mem_space_id_default, &
- file_space_id_default, xfer_prp_default, buf, dims)
-
- END SUBROUTINE h5dwrite_char_7
-
- SUBROUTINE h5dwrite_real_scalar(dset_id, mem_type_id, buf, dims, hdferr, &
- mem_space_id, file_space_id, xfer_prp)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
- INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
- REAL, INTENT(IN) :: buf ! Data buffer
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id ! Memory dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id ! File dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp ! Transfer property list identifier
- INTEGER(HID_T) :: xfer_prp_default
- INTEGER(HID_T) :: mem_space_id_default
- INTEGER(HID_T) :: file_space_id_default
-
- INTERFACE
- INTEGER FUNCTION h5dwrite_real_s_c(dset_id, mem_type_id, &
- mem_space_id_default, &
- file_space_id_default, &
- xfer_prp_default, buf, dims)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5DWRITE_REAL_S_C'::h5dwrite_real_s_c
- !DEC$ENDIF
- INTEGER(HID_T), INTENT(IN) :: dset_id
- INTEGER(HID_T), INTENT(IN) :: mem_type_id
- INTEGER(HID_T) :: mem_space_id_default
- INTEGER(HID_T) :: file_space_id_default
- INTEGER(HID_T) :: xfer_prp_default
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
- REAL, INTENT(IN) :: buf
- END FUNCTION h5dwrite_real_s_c
- END INTERFACE
-
- xfer_prp_default = H5P_DEFAULT_F
- mem_space_id_default = H5S_ALL_F
- file_space_id_default = H5S_ALL_F
- IF (PRESENT(xfer_prp)) xfer_prp_default = xfer_prp
- IF (PRESENT(mem_space_id)) mem_space_id_default = mem_space_id
- IF (PRESENT(file_space_id)) file_space_id_default = file_space_id
-
- hdferr = h5dwrite_real_s_c(dset_id, mem_type_id, mem_space_id_default, &
- file_space_id_default, xfer_prp_default, buf, dims)
-
- END SUBROUTINE h5dwrite_real_scalar
-
- SUBROUTINE h5dwrite_real_1(dset_id, mem_type_id, buf, dims, hdferr, &
- mem_space_id, file_space_id, xfer_prp)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
- INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
- REAL, INTENT(IN), &
- DIMENSION(dims(1)) :: buf
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id ! Memory dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id ! File dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp ! Transfer property list identifier
-
- INTEGER(HID_T) :: xfer_prp_default
- INTEGER(HID_T) :: mem_space_id_default
- INTEGER(HID_T) :: file_space_id_default
-
- INTERFACE
- INTEGER FUNCTION h5dwrite_real_1_c(dset_id, mem_type_id, &
- mem_space_id_default, &
- file_space_id_default, &
- xfer_prp_default, buf, dims)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5DWRITE_REAL_1_C'::h5dwrite_real_1_c
- !DEC$ENDIF
- INTEGER(HID_T), INTENT(IN) :: dset_id
- INTEGER(HID_T), INTENT(IN) :: mem_type_id
- INTEGER(HID_T) :: mem_space_id_default
- INTEGER(HID_T) :: file_space_id_default
- INTEGER(HID_T) :: xfer_prp_default
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
- REAL, INTENT(IN), &
- DIMENSION(dims(1)) :: buf
- END FUNCTION h5dwrite_real_1_c
- END INTERFACE
-
- xfer_prp_default = H5P_DEFAULT_F
- mem_space_id_default = H5S_ALL_F
- file_space_id_default = H5S_ALL_F
-
- IF (PRESENT(xfer_prp)) xfer_prp_default = xfer_prp
- IF (PRESENT(mem_space_id)) mem_space_id_default = mem_space_id
- IF (PRESENT(file_space_id)) file_space_id_default = file_space_id
-
- hdferr = h5dwrite_real_1_c(dset_id, mem_type_id, mem_space_id_default, &
- file_space_id_default, xfer_prp_default, buf, dims)
-
- END SUBROUTINE h5dwrite_real_1
-
- SUBROUTINE h5dwrite_real_2(dset_id, mem_type_id, buf, dims, hdferr, &
- mem_space_id, file_space_id, xfer_prp)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
- INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
- REAL, INTENT(IN), &
- DIMENSION(dims(1),dims(2)) :: buf
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id ! Memory dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id ! File dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp ! Transfer property list identifier
-
- INTEGER(HID_T) :: xfer_prp_default
- INTEGER(HID_T) :: mem_space_id_default
- INTEGER(HID_T) :: file_space_id_default
-
- INTERFACE
- INTEGER FUNCTION h5dwrite_real_2_c(dset_id, mem_type_id, &
- mem_space_id_default, &
- file_space_id_default, &
- xfer_prp_default, buf, dims)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5DWRITE_REAL_2_C'::h5dwrite_real_2_c
- !DEC$ENDIF
- INTEGER(HID_T), INTENT(IN) :: dset_id
- INTEGER(HID_T), INTENT(IN) :: mem_type_id
- INTEGER(HID_T) :: mem_space_id_default
- INTEGER(HID_T) :: file_space_id_default
- INTEGER(HID_T) :: xfer_prp_default
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
- REAL, INTENT(IN), &
- DIMENSION(dims(1),dims(2)) :: buf
- END FUNCTION h5dwrite_real_2_c
- END INTERFACE
-
- xfer_prp_default = H5P_DEFAULT_F
- mem_space_id_default = H5S_ALL_F
- file_space_id_default = H5S_ALL_F
-
- IF (PRESENT(xfer_prp)) xfer_prp_default = xfer_prp
- IF (PRESENT(mem_space_id)) mem_space_id_default = mem_space_id
- IF (PRESENT(file_space_id)) file_space_id_default = file_space_id
-
- hdferr = h5dwrite_real_2_c(dset_id, mem_type_id, mem_space_id_default, &
- file_space_id_default, xfer_prp_default, buf, dims)
-
- END SUBROUTINE h5dwrite_real_2
-
- SUBROUTINE h5dwrite_real_3(dset_id, mem_type_id, buf, dims, hdferr, &
- mem_space_id, file_space_id, xfer_prp)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
- INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
- REAL, INTENT(IN), &
- DIMENSION(dims(1),dims(2),dims(3)) :: buf
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id ! Memory dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id ! File dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp ! Transfer property list identifier
- INTEGER(HID_T) :: xfer_prp_default
- INTEGER(HID_T) :: mem_space_id_default
- INTEGER(HID_T) :: file_space_id_default
-
- INTERFACE
- INTEGER FUNCTION h5dwrite_real_3_c(dset_id, mem_type_id, &
- mem_space_id_default, &
- file_space_id_default, &
- xfer_prp_default, buf, dims)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5DWRITE_REAL_3_C'::h5dwrite_real_3_c
- !DEC$ENDIF
- INTEGER(HID_T), INTENT(IN) :: dset_id
- INTEGER(HID_T), INTENT(IN) :: mem_type_id
- INTEGER(HID_T) :: mem_space_id_default
- INTEGER(HID_T) :: file_space_id_default
- INTEGER(HID_T) :: xfer_prp_default
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
- REAL, INTENT(IN), &
- DIMENSION(dims(1),dims(2),dims(3)) :: buf
- END FUNCTION h5dwrite_real_3_c
- END INTERFACE
-
- xfer_prp_default = H5P_DEFAULT_F
- mem_space_id_default = H5S_ALL_F
- file_space_id_default = H5S_ALL_F
-
- IF (PRESENT(xfer_prp)) xfer_prp_default = xfer_prp
- IF (PRESENT(mem_space_id)) mem_space_id_default = mem_space_id
- IF (PRESENT(file_space_id)) file_space_id_default = file_space_id
-
- hdferr = h5dwrite_real_3_c(dset_id, mem_type_id, mem_space_id_default, &
- file_space_id_default, xfer_prp_default, buf, dims)
-
- END SUBROUTINE h5dwrite_real_3
-
- SUBROUTINE h5dwrite_real_4(dset_id, mem_type_id, buf, dims, hdferr, &
- mem_space_id, file_space_id, xfer_prp)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
- INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
- REAL, INTENT(IN), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4)) :: buf
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id ! Memory dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id ! File dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp ! Transfer property list identifier
- INTEGER(HID_T) :: xfer_prp_default
- INTEGER(HID_T) :: mem_space_id_default
- INTEGER(HID_T) :: file_space_id_default
-
- INTERFACE
- INTEGER FUNCTION h5dwrite_real_4_c(dset_id, mem_type_id, &
- mem_space_id_default, &
- file_space_id_default, &
- xfer_prp_default, buf, dims)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5DWRITE_REAL_4_C'::h5dwrite_real_4_c
- !DEC$ENDIF
- INTEGER(HID_T), INTENT(IN) :: dset_id
- INTEGER(HID_T), INTENT(IN) :: mem_type_id
- INTEGER(HID_T) :: mem_space_id_default
- INTEGER(HID_T) :: file_space_id_default
- INTEGER(HID_T) :: xfer_prp_default
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
- REAL, INTENT(IN), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4)) :: buf
- END FUNCTION h5dwrite_real_4_c
- END INTERFACE
-
- xfer_prp_default = H5P_DEFAULT_F
- mem_space_id_default = H5S_ALL_F
- file_space_id_default = H5S_ALL_F
-
- IF (PRESENT(xfer_prp)) xfer_prp_default = xfer_prp
- IF (PRESENT(mem_space_id)) mem_space_id_default = mem_space_id
- IF (PRESENT(file_space_id)) file_space_id_default = file_space_id
-
- hdferr = h5dwrite_real_4_c(dset_id, mem_type_id, mem_space_id_default, &
- file_space_id_default, xfer_prp_default, buf, dims)
-
- END SUBROUTINE h5dwrite_real_4
-
- SUBROUTINE h5dwrite_real_5(dset_id, mem_type_id, buf, dims, hdferr, &
- mem_space_id, file_space_id, xfer_prp)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
- INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
- REAL, INTENT(IN), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)) :: buf
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id ! Memory dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id ! File dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp ! Transfer property list identifier
- INTEGER(HID_T) :: xfer_prp_default
- INTEGER(HID_T) :: mem_space_id_default
- INTEGER(HID_T) :: file_space_id_default
-
- INTERFACE
- INTEGER FUNCTION h5dwrite_real_5_c(dset_id, mem_type_id, &
- mem_space_id_default, &
- file_space_id_default, &
- xfer_prp_default, buf, dims)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5DWRITE_REAL_5_C'::h5dwrite_real_5_c
- !DEC$ENDIF
- INTEGER(HID_T), INTENT(IN) :: dset_id
- INTEGER(HID_T), INTENT(IN) :: mem_type_id
- INTEGER(HID_T) :: mem_space_id_default
- INTEGER(HID_T) :: file_space_id_default
- INTEGER(HID_T) :: xfer_prp_default
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
- REAL, INTENT(IN), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)) :: buf
- END FUNCTION h5dwrite_real_5_c
- END INTERFACE
-
- xfer_prp_default = H5P_DEFAULT_F
- mem_space_id_default = H5S_ALL_F
- file_space_id_default = H5S_ALL_F
-
- IF (PRESENT(xfer_prp)) xfer_prp_default = xfer_prp
- IF (PRESENT(mem_space_id)) mem_space_id_default = mem_space_id
- IF (PRESENT(file_space_id)) file_space_id_default = file_space_id
-
- hdferr = h5dwrite_real_5_c(dset_id, mem_type_id, mem_space_id_default, &
- file_space_id_default, xfer_prp_default, buf, dims)
-
- END SUBROUTINE h5dwrite_real_5
-
- SUBROUTINE h5dwrite_real_6(dset_id, mem_type_id, buf, dims, hdferr, &
- mem_space_id, file_space_id, xfer_prp)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
- INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
- REAL, INTENT(IN), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)) :: buf
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id ! Memory dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id ! File dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp ! Transfer property list identifier
- INTEGER(HID_T) :: xfer_prp_default
- INTEGER(HID_T) :: mem_space_id_default
- INTEGER(HID_T) :: file_space_id_default
-
- INTERFACE
- INTEGER FUNCTION h5dwrite_real_6_c(dset_id, mem_type_id, &
- mem_space_id_default, &
- file_space_id_default, &
- xfer_prp_default, buf, dims)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5DWRITE_REAL_6_C'::h5dwrite_real_6_c
- !DEC$ENDIF
- INTEGER(HID_T), INTENT(IN) :: dset_id
- INTEGER(HID_T), INTENT(IN) :: mem_type_id
- INTEGER(HID_T) :: mem_space_id_default
- INTEGER(HID_T) :: file_space_id_default
- INTEGER(HID_T) :: xfer_prp_default
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
- REAL, INTENT(IN), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)) :: buf
- END FUNCTION h5dwrite_real_6_c
- END INTERFACE
-
- xfer_prp_default = H5P_DEFAULT_F
- mem_space_id_default = H5S_ALL_F
- file_space_id_default = H5S_ALL_F
-
- IF (PRESENT(xfer_prp)) xfer_prp_default = xfer_prp
- IF (PRESENT(mem_space_id)) mem_space_id_default = mem_space_id
- IF (PRESENT(file_space_id)) file_space_id_default = file_space_id
-
- hdferr = h5dwrite_real_6_c(dset_id, mem_type_id, mem_space_id_default, &
- file_space_id_default, xfer_prp_default, buf, dims)
-
- END SUBROUTINE h5dwrite_real_6
-
- SUBROUTINE h5dwrite_real_7(dset_id, mem_type_id, buf, dims, hdferr, &
- mem_space_id, file_space_id, xfer_prp)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
- INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
- REAL, INTENT(IN), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)) :: buf
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id ! Memory dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id ! File dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp ! Transfer property list identifier
- INTEGER(HID_T) :: xfer_prp_default
- INTEGER(HID_T) :: mem_space_id_default
- INTEGER(HID_T) :: file_space_id_default
-
- INTERFACE
- INTEGER FUNCTION h5dwrite_real_7_c(dset_id, mem_type_id, &
- mem_space_id_default, &
- file_space_id_default, &
- xfer_prp_default, buf, dims)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5DWRITE_REAL_7_C'::h5dwrite_real_7_c
- !DEC$ENDIF
- INTEGER(HID_T), INTENT(IN) :: dset_id
- INTEGER(HID_T), INTENT(IN) :: mem_type_id
- INTEGER(HID_T) :: mem_space_id_default
- INTEGER(HID_T) :: file_space_id_default
- INTEGER(HID_T) :: xfer_prp_default
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
- REAL, INTENT(IN), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)) :: buf
- END FUNCTION h5dwrite_real_7_c
- END INTERFACE
-
- xfer_prp_default = H5P_DEFAULT_F
- mem_space_id_default = H5S_ALL_F
- file_space_id_default = H5S_ALL_F
-
- IF (PRESENT(xfer_prp)) xfer_prp_default = xfer_prp
- IF (PRESENT(mem_space_id)) mem_space_id_default = mem_space_id
- IF (PRESENT(file_space_id)) file_space_id_default = file_space_id
-
- hdferr = h5dwrite_real_7_c(dset_id, mem_type_id, mem_space_id_default, &
- file_space_id_default, xfer_prp_default, buf, dims)
-
- END SUBROUTINE h5dwrite_real_7
-
-!
-! NAME
-! h5dfill_integer
-!
-! PURPOSE
-! Fills dataspace elements with a fill value in a memory buffer.
-! Only INTEGER, CHARACTER, REAL and DOUBLE PRECISION datatypes
-! of the fillvalues and buffers are supported. Buffer and fillvalue
-! are assumed to have the same datatype.
-! Only one-dimesional buffers are supported.
-!
-! INPUTS
-! fill_value - fill value
-! space_id - memory space selection identifier
-! buf - data buffer iin memory ro apply selection to
-! - of k-th dimension of the buf array
-! OUTPUTS
-! hdferr: - error code
-! Success: 0
-! Failure: -1
-!
-! AUTHOR
-! Elena Pourmal
-! March 12, 2003
-!
-!
-
- SUBROUTINE h5dfill_integer(fill_value, space_id, buf, hdferr)
- IMPLICIT NONE
- INTEGER, INTENT(IN) :: fill_value ! Fill value
- INTEGER(HID_T), INTENT(IN) :: space_id ! Memory dataspace selection identifier
- INTEGER, INTENT(IN), DIMENSION(*) :: buf ! Memory buffer to fill in
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-
- INTEGER(HID_T) :: fill_type_id ! Fill value datatype identifier
- INTEGER(HID_T) :: mem_type_id ! Buffer dadtype identifier
-
- ! INTEGER, EXTERNAL :: h5dfill_integer_c
- ! MS FORTRAN needs explicit interface for C functions called here.
- !
- INTERFACE
- INTEGER FUNCTION h5dfill_integer_c(fill_value, fill_type_id, space_id, &
- buf, mem_type_id)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5DFILL_INTEGER_C'::h5dfill_integer_c
- !DEC$ENDIF
- INTEGER, INTENT(IN) :: fill_value ! Fill value
- INTEGER(HID_T) :: fill_type_id ! Fill value datatype identifier
- INTEGER(HID_T), INTENT(IN) :: space_id ! Memory dataspace selection identifier
- INTEGER, INTENT(IN), DIMENSION(*) :: buf ! Memory buffer to fill in
- INTEGER(HID_T) :: mem_type_id ! Buffer dadtype identifier
- END FUNCTION h5dfill_integer_c
- END INTERFACE
- fill_type_id = H5T_NATIVE_INTEGER
- mem_type_id = H5T_NATIVE_INTEGER
-
- hdferr = h5dfill_integer_c(fill_value, fill_type_id, space_id, &
- buf, mem_type_id)
-
- END SUBROUTINE h5dfill_integer
-
-!
-! NAME
-! h5dfill_real
-!
-! PURPOSE
-! Fills dataspace elements with a fill value in a memory buffer.
-! Only INTEGER, CHARACTER, REAL and DOUBLE PRECISION datatypes
-! of the fillvalues and buffers are supported. Buffer and fillvalue
-! are assumed to have the same datatype.
-! Only one-dimesional buffers are supported.
-!
-! INPUTS
-! fill_value - fill value
-! space_id - memory space selection identifier
-! buf - data buffer iin memory ro apply selection to
-! - of k-th dimension of the buf array
-! OUTPUTS
-! hdferr: - error code
-! Success: 0
-! Failure: -1
-!
-! AUTHOR
-! Elena Pourmal
-! March 12, 2003
-!
-!
-
- SUBROUTINE h5dfill_real(fill_valuer, space_id, buf, hdferr)
- IMPLICIT NONE
- REAL, INTENT(IN) :: fill_valuer ! Fill value
- INTEGER(HID_T), INTENT(IN) :: space_id ! Memory dataspace selection identifier
- REAL, INTENT(IN), DIMENSION(*) :: buf ! Memory buffer to fill in
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-
- INTEGER(HID_T) :: fill_type_id ! Fill value datatype identifier
- INTEGER(HID_T) :: mem_type_id ! Buffer dadtype identifier
-
- ! INTEGER, EXTERNAL :: h5dfill_real_c
- ! MS FORTRAN needs explicit interface for C functions called here.
- !
- INTERFACE
- INTEGER FUNCTION h5dfill_real_c(fill_valuer, fill_type_id, space_id, &
- buf, mem_type_id)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5DFILL_REAL_C'::h5dfill_real_c
- !DEC$ENDIF
- REAL, INTENT(IN) :: fill_valuer ! Fill value
- INTEGER(HID_T) :: fill_type_id ! Fill value datatype identifier
- INTEGER(HID_T), INTENT(IN) :: space_id ! Memory dataspace selection identifier
- REAL, INTENT(IN), DIMENSION(*) :: buf ! Memory buffer to fill in
- INTEGER(HID_T) :: mem_type_id ! Buffer dadtype identifier
- END FUNCTION h5dfill_real_c
- END INTERFACE
- fill_type_id = H5T_NATIVE_REAL
- mem_type_id = H5T_NATIVE_REAL
-
- hdferr = h5dfill_real_c(fill_valuer, fill_type_id, space_id, &
- buf, mem_type_id)
- END SUBROUTINE h5dfill_real
-
-!
-! NAME
-! h5dfill_char
-!
-! PURPOSE
-! Fills dataspace elements with a fill value in a memory buffer.
-! Only INTEGER, CHARACTER, REAL and DOUBLE PRECISION datatypes
-! of the fillvalues and buffers are supported. Buffer and fillvalue
-! are assumed to have the same datatype.
-! Only one-dimesional buffers are supported.
-!
-! INPUTS
-! fill_value - fill value
-! space_id - memory space selection identifier
-! buf - data buffer iin memory ro apply selection to
-! - of k-th dimension of the buf array
-! OUTPUTS
-! hdferr: - error code
-! Success: 0
-! Failure: -1
-!
-! AUTHOR
-! Elena Pourmal
-! March 12, 2003
-!
-!
-
- SUBROUTINE h5dfill_char(fill_value, space_id, buf, hdferr)
- IMPLICIT NONE
- CHARACTER, INTENT(IN) :: fill_value ! Fill value
- INTEGER(HID_T), INTENT(IN) :: space_id ! Memory dataspace selection identifier
- CHARACTER, INTENT(IN), DIMENSION(*) :: buf ! Memory buffer to fill in
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-
- INTEGER(HID_T) :: fill_type_id ! Fill value datatype identifier
- INTEGER(HID_T) :: mem_type_id ! Buffer dadtype identifier
-
- ! INTEGER, EXTERNAL :: h5dfillc_c
- ! MS FORTRAN needs explicit interface for C functions called here.
- !
- INTERFACE
- INTEGER FUNCTION h5dfillc_c(fill_value, fill_type_id, space_id, &
- buf, mem_type_id)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5DFILLC_C'::h5dfillc_c
- !DEC$ENDIF
- CHARACTER, INTENT(IN) :: fill_value ! Fill value
- INTEGER(HID_T) :: fill_type_id ! Fill value datatype identifier
- INTEGER(HID_T), INTENT(IN) :: space_id ! Memory dataspace selection identifier
- CHARACTER, INTENT(IN), DIMENSION(*) :: buf ! Memory buffer to fill in
- INTEGER(HID_T) :: mem_type_id ! Buffer dadtype identifier
- END FUNCTION h5dfillc_c
- END INTERFACE
- fill_type_id = H5T_NATIVE_CHARACTER
- mem_type_id = H5T_NATIVE_CHARACTER
-
- hdferr = h5dfillc_c(fill_value, fill_type_id, space_id, &
- buf, mem_type_id)
-
- END SUBROUTINE h5dfill_char
-
-
-END MODULE H5D_PROVISIONAL
diff --git a/fortran/src/H5Ef.c b/fortran/src/H5Ef.c
index f5c0c45..4b1d4c9 100644
--- a/fortran/src/H5Ef.c
+++ b/fortran/src/H5Ef.c
@@ -1,6 +1,6 @@
/****h* H5Ef/H5Ef
* PURPOSE
- * This file contains C stubs for H5E Fortran APIs
+ * This file contains C stubs for H5E Fortran APIs
*
* COPYRIGHT
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
@@ -42,7 +42,7 @@
* SOURCE
*/
int_f
-nh5eclear_c(hid_t_f *estack_id )
+h5eclear_c(hid_t_f *estack_id )
/******/
{
int_f ret_value = 0;
@@ -78,7 +78,7 @@ done:
* SOURCE
*/
int_f
-nh5eprint_c1(_fcd name, int_f* namelen)
+h5eprint_c1(_fcd name, int_f* namelen)
/******/
{
FILE *file = NULL;
@@ -124,7 +124,7 @@ done:
* SOURCE
*/
int_f
-nh5eprint_c2(void)
+h5eprint_c2(void)
/******/
{
int_f ret_value = 0;
@@ -159,7 +159,7 @@ done:
* SOURCE
*/
int_f
-nh5eget_major_c(int_f* error_no, _fcd name, size_t_f* namelen)
+h5eget_major_c(int_f* error_no, _fcd name, size_t_f* namelen)
/******/
{
char *c_name = NULL;
@@ -207,7 +207,7 @@ done:
* SOURCE
*/
int_f
-nh5eget_minor_c(int_f* error_no, _fcd name, size_t_f* namelen)
+h5eget_minor_c(int_f* error_no, _fcd name, size_t_f* namelen)
/******/
{
char *c_name = NULL;
@@ -235,62 +235,25 @@ done:
return ret_value;
}
-/****if* H5Ef/h5eset_auto_c
- * NAME
- * h5eset_auto_c
- * PURPOSE
- * Call H5Eset_auto to turn automatic error printing on or off.
- * INPUTS
- * printflag - flag to turn automatic error printing on or off.
- * OUTPUTS
- *
- * RETURNS
- * 0 on success, -1 on failure
- * AUTHOR
- * Elena Pourmal
- * Friday, November 17, 2000
- * HISTORY
- * Major bug fix: Function never disabled printing.
- * SOURCE
-*/
-int_f
-nh5eset_auto_c(int_f* printflag)
-/******/
-{
- herr_t status = -1;
- int_f ret_value = 0;
-
- if(*printflag == 1)
- status = H5Eset_auto2(H5E_DEFAULT, (H5E_auto2_t)H5Eprint2, stderr);
- else if(*printflag == 0)
- status = H5Eset_auto2(H5E_DEFAULT, NULL, NULL);
- if(status < 0)
- HGOTO_DONE(FAIL)
-
-done:
- return ret_value;
-}
-
-
/****if* H5Ef/h5eset_auto2_c
* NAME
- * h5eset_auto2_c
+ * h5eset_auto2_c
* PURPOSE
- * Calls H5Eset_auto2
+ * Calls H5Eset_auto2
* INPUTS
- * estack_id - Error stack identifier.
- * func - Function to be called upon an error condition.
- * client_data - Data passed to the error function.
+ * estack_id - Error stack identifier.
+ * func - Function to be called upon an error condition.
+ * client_data - Data passed to the error function.
*
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* M. Scot Breitenfeld
- * July 22, 2009
+ * July 22, 2009
* SOURCE
*/
/* int_f */
-/* nh5eset_auto2_c(hid_t_f *estack_id, H5E_auto2_t *func, void *client_data) */
+/* h5eset_auto2_c(hid_t_f *estack_id, H5E_auto2_t *func, void *client_data) */
/* /\******\/ */
/* { */
/* int ret_val = -1; */
diff --git a/fortran/src/H5Eff.f90 b/fortran/src/H5Eff.F90
index 7b56376..a2efe61 100644
--- a/fortran/src/H5Eff.f90
+++ b/fortran/src/H5Eff.F90
@@ -26,7 +26,13 @@
! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
!
! NOTES
-! *** IMPORTANT ***
+! _____ __ __ _____ ____ _____ _______ _ _ _______
+! |_ _| \/ | __ \ / __ \| __ \__ __|/\ | \ | |__ __|
+! **** | | | \ / | |__) | | | | |__) | | | / \ | \| | | | ****
+! **** | | | |\/| | ___/| | | | _ / | | / /\ \ | . ` | | | ****
+! **** _| |_| | | | | | |__| | | \ \ | |/ ____ \| |\ | | | ****
+! |_____|_| |_|_| \____/|_| \_\ |_/_/ \_\_| \_| |_|
+!
! If you add a new H5E function to the module you must add the function name
! to the Windows dll file 'hdf5_fortrandll.def.in' in the fortran/src directory.
! This is needed for Windows based operating systems.
@@ -35,6 +41,7 @@
MODULE H5E
+ USE, INTRINSIC :: ISO_C_BINDING, ONLY : C_PTR, C_FUNPTR, C_CHAR
USE H5GLOBAL
!Turn on automatic printing of errors
@@ -79,11 +86,9 @@ CONTAINS
INTEGER(HID_T) :: estack_id_default
INTERFACE
- INTEGER FUNCTION h5eclear_c(estack_id_default)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5ECLEAR_C'::h5eclear_c
- !DEC$ENDIF
+ INTEGER FUNCTION h5eclear_c(estack_id_default) BIND(C,NAME='h5eclear_c')
+ IMPORT :: HID_T
+ IMPLICIT NONE
INTEGER(HID_T) :: estack_id_default
END FUNCTION h5eclear_c
END INTERFACE
@@ -118,29 +123,22 @@ CONTAINS
!
! SOURCE
SUBROUTINE h5eprint_f(hdferr, name)
- CHARACTER(LEN=*), OPTIONAL, INTENT(IN) :: name ! File name
- INTEGER, INTENT(OUT) :: hdferr ! Error code
+ CHARACTER(LEN=*), OPTIONAL, INTENT(IN) :: name
+ INTEGER, INTENT(OUT) :: hdferr
!*****
INTEGER :: namelen
INTERFACE
- INTEGER FUNCTION h5eprint_c1(name, namelen)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5EPRINT_C1'::h5eprint_c1
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: name
+ INTEGER FUNCTION h5eprint_c1(name, namelen) BIND(C,NAME='h5eprint_c1')
+ IMPORT :: C_CHAR
+ IMPLICIT NONE
INTEGER :: namelen
- CHARACTER(LEN=*),INTENT(IN) :: name
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(IN) :: name
END FUNCTION h5eprint_c1
END INTERFACE
INTERFACE
- INTEGER FUNCTION h5eprint_c2()
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5EPRINT_C2'::h5eprint_c2
- !DEC$ENDIF
+ INTEGER FUNCTION h5eprint_c2() BIND(C,NAME='h5eprint_c2')
END FUNCTION h5eprint_c2
END INTERFACE
namelen = LEN(NAME)
@@ -186,14 +184,12 @@ CONTAINS
INTEGER, INTENT(OUT) :: hdferr ! Error code
!*****
INTERFACE
- INTEGER FUNCTION h5eget_major_c(error_no, name, namelen)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5EGET_MAJOR_C'::h5eget_major_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: name
+ INTEGER FUNCTION h5eget_major_c(error_no, name, namelen) BIND(C,NAME='h5eget_major_c')
+ IMPORT :: C_CHAR
+ IMPORT :: SIZE_T
+ IMPLICIT NONE
INTEGER :: error_no
- CHARACTER(LEN=*) :: name
+ CHARACTER(KIND=C_CHAR), DIMENSION(*) :: name
INTEGER(SIZE_T), INTENT(IN) :: namelen
END FUNCTION h5eget_major_c
END INTERFACE
@@ -233,19 +229,74 @@ CONTAINS
INTEGER, INTENT(OUT) :: hdferr ! Error code
!*****
INTERFACE
- INTEGER FUNCTION h5eget_minor_c(error_no, name)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5EGET_MINOR_C'::h5eget_minor_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: name
+ INTEGER FUNCTION h5eget_minor_c(error_no, name) BIND(C,NAME='h5eget_minor_c')
+ IMPORT :: C_CHAR
INTEGER :: error_no
- CHARACTER(LEN=*) :: name
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(OUT) :: name
END FUNCTION h5eget_minor_c
END INTERFACE
hdferr = h5eget_minor_c(error_no, name)
END SUBROUTINE h5eget_minor_f
+!****s* H5E/h5eset_auto_f
+!
+! NAME
+! h5eset_auto_f
+!
+! PURPOSE
+! Returns settings for automatic error stack traversal function and its data.
+!
+! Inputs:
+! printflag - Flag to turn automatic error printing on or off;
+! possible values are:
+! printon (1)
+! printoff(0)
+! estack_id - Error stack identifier.
+! func - Function to be called upon an error condition.
+! client_data - Data passed to the error function
+!
+! Outputs:
+! hdferr - Returns 0 if successful and -1 if fails
+!
+! AUTHOR
+! M. Scot Breitenfeld
+! July 10, 2009
+!
+! Fortran2003 Interface:
+ SUBROUTINE h5eset_auto_f(printflag, hdferr, estack_id, func, client_data)
+ USE, INTRINSIC :: ISO_C_BINDING
+ INTEGER , INTENT(IN) :: printflag
+ INTEGER , INTENT(OUT) :: hdferr
+ INTEGER(HID_T), INTENT(IN) , OPTIONAL :: estack_id
+ TYPE(C_FUNPTR), INTENT(IN) , OPTIONAL :: func
+ TYPE(C_PTR) , INTENT(IN) , OPTIONAL :: client_data
+!*****
+ INTEGER(HID_T) :: estack_id_default
+ TYPE(C_FUNPTR) :: func_default
+ TYPE(C_PTR) :: client_data_default
+ INTERFACE
+ INTEGER FUNCTION h5eset_auto2_c(printflag, estack_id, func, client_data) &
+ BIND(C, NAME='h5eset_auto2_c')
+ IMPORT :: c_ptr, c_funptr
+ IMPORT :: HID_T
+ INTEGER :: printflag
+ INTEGER(HID_T) :: estack_id
+ TYPE(C_FUNPTR), VALUE :: func
+ TYPE(C_PTR), VALUE :: client_data
+ END FUNCTION h5eset_auto2_c
+ END INTERFACE
+
+ estack_id_default = -1
+ func_default = C_NULL_FUNPTR
+ client_data_default = C_NULL_PTR
+
+ IF(PRESENT(estack_id)) estack_id_default = estack_id
+ IF(PRESENT(func)) func_default = func
+ IF(PRESENT(client_data)) client_data_default = client_data
+
+ hdferr = h5eset_auto2_c(printflag, estack_id_default, func_default, client_data_default)
+ END SUBROUTINE h5eset_auto_f
+
END MODULE H5E
diff --git a/fortran/src/H5Eff_F03.f90 b/fortran/src/H5Eff_F03.f90
deleted file mode 100644
index ff8d11c..0000000
--- a/fortran/src/H5Eff_F03.f90
+++ /dev/null
@@ -1,108 +0,0 @@
-!****h* ROBODoc/H5E (F03)
-!
-! NAME
-! H5E_PROVISIONAL
-!
-! FILE
-! src/fortran/src/H5Eff_F03.f90
-!
-! PURPOSE
-!
-! This file contains Fortran 90 and Fortran 2003 interfaces for H5E functions.
-! It contains the same functions as H5Eff_F90.f90 but includes the
-! Fortran 2003 functions and the interface listings. This file will be compiled
-! instead of H5Eff_F90.f90 if Fortran 2003 functions are enabled.
-!
-!
-! COPYRIGHT
-! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
-! Copyright by The HDF Group. *
-! Copyright by the Board of Trustees of the University of Illinois. *
-! All rights reserved. *
-! *
-! This file is part of HDF5. The full HDF5 copyright notice, including *
-! terms governing use, modification, and redistribution, is contained in *
-! the files COPYING and Copyright.html. COPYING can be found at the root *
-! of the source code distribution tree; Copyright.html can be found at the *
-! root level of an installed copy of the electronic HDF5 document set and *
-! is linked from the top-level documents page. It can also be found at *
-! http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have *
-! access to either file, you may request a copy from help@hdfgroup.org. *
-! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
-!
-! NOTES
-! *** IMPORTANT ***
-! If you add a new H5E function to the module you must add the function name
-! to the Windows dll file 'hdf5_fortrandll.def.in' in the fortran/src directory.
-! This is needed for Windows based operating systems.
-!
-!*****
-
-MODULE H5E_PROVISIONAL
-
- USE H5GLOBAL
-
-CONTAINS
-
-!****s* H5E/h5eset_auto_f
-!
-! NAME
-! h5eset_auto_f
-!
-! PURPOSE
-! Returns settings for automatic error stack traversal function and its data.
-!
-! Inputs:
-! printflag - Flag to turn automatic error printing on or off;
-! possible values are:
-! printon (1)
-! printoff(0)
-! estack_id - Error stack identifier.
-! func - Function to be called upon an error condition.
-! client_data - Data passed to the error function
-!
-! Outputs:
-! hdferr - Returns 0 if successful and -1 if fails
-!
-! AUTHOR
-! M. Scot Breitenfeld
-! July 10, 2009
-!
-! Fortran2003 Interface:
- SUBROUTINE h5eset_auto_f(printflag, hdferr, estack_id, func, client_data)
- USE, INTRINSIC :: ISO_C_BINDING
- INTEGER , INTENT(IN) :: printflag
- INTEGER , INTENT(OUT) :: hdferr
- INTEGER(HID_T), INTENT(IN) , OPTIONAL :: estack_id
- TYPE(C_FUNPTR), INTENT(IN) , OPTIONAL :: func
- TYPE(C_PTR) , INTENT(IN) , OPTIONAL :: client_data
-!*****
- INTEGER(HID_T) :: estack_id_default
- TYPE(C_FUNPTR) :: func_default
- TYPE(C_PTR) :: client_data_default
- INTERFACE
- INTEGER FUNCTION h5eset_auto2_c(printflag, estack_id, func, client_data) &
- BIND(C, NAME='h5eset_auto2_c')
- USE, INTRINSIC :: ISO_C_BINDING, ONLY : c_ptr, c_funptr
- USE H5GLOBAL
- INTEGER :: printflag
- INTEGER(HID_T) :: estack_id
-!!$ TYPE(C_FUNPTR) :: func
-!!$ TYPE(C_PTR), VALUE :: client_data
- TYPE(C_FUNPTR), VALUE :: func
- TYPE(C_PTR), VALUE :: client_data
- END FUNCTION h5eset_auto2_c
- END INTERFACE
-
- estack_id_default = -1
- func_default = C_NULL_FUNPTR
- client_data_default = C_NULL_PTR
-
- IF(PRESENT(estack_id)) estack_id_default = estack_id
- IF(PRESENT(func)) func_default = func
- IF(PRESENT(client_data)) client_data_default = client_data
-
- hdferr = h5eset_auto2_c(printflag, estack_id_default, func_default, client_data_default)
- END SUBROUTINE h5eset_auto_f
-
-END MODULE H5E_PROVISIONAL
diff --git a/fortran/src/H5Eff_F90.f90 b/fortran/src/H5Eff_F90.f90
deleted file mode 100644
index 158ec12..0000000
--- a/fortran/src/H5Eff_F90.f90
+++ /dev/null
@@ -1,89 +0,0 @@
-!****h* ROBODoc/H5E (F90)
-!
-! NAME
-! MODULE H5E_PROVISIONAL
-!
-! PURPOSE
-! This file contains Fortran 90 interfaces for H5E functions. It contains
-! the same functions as H5Eff_F03.f90 but excludes the Fortran 2003 functions
-! and the interface listings. This file will be compiled instead of H5Eff_F03.f90
-! if Fortran 2003 functions are not enabled.
-!
-!
-! COPYRIGHT
-! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
-! Copyright by The HDF Group. *
-! Copyright by the Board of Trustees of the University of Illinois. *
-! All rights reserved. *
-! *
-! This file is part of HDF5. The full HDF5 copyright notice, including *
-! terms governing use, modification, and redistribution, is contained in *
-! the files COPYING and Copyright.html. COPYING can be found at the root *
-! of the source code distribution tree; Copyright.html can be found at the *
-! root level of an installed copy of the electronic HDF5 document set and *
-! is linked from the top-level documents page. It can also be found at *
-! http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have *
-! access to either file, you may request a copy from help@hdfgroup.org. *
-! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
-!
-! *** IMPORTANT ***
-! If you add a new H5D function you must add the function name to the
-! Windows dll file 'hdf5_fortrandll.def.in' in the fortran/src directory.
-! This is needed for Windows based operating systems.
-!*****
-
-MODULE H5E_PROVISIONAL
-
- USE H5GLOBAL
-
-CONTAINS
-
-!****s* H5E/h5eset_auto_f
-!
-! NAME
-! h5eset_auto_f
-!
-! PURPOSE
-! Turns automatic error printing on or off.
-!
-! INPUTS
-! printflag - Flag to turn automatic error printing on or off;
-! possible values are:
-! printon (1)
-! printoff(0)
-! OUTPUTS
-! hdferr - Returns 0 if successful and -1 if fails
-!
-! AUTHOR
-! Elena Pourmal
-! August 12, 1999
-!
-! HISTORY
-! Explicit Fortran interfaces were added for
-! called C functions (it is needed for Windows
-! port). April 6, 2001
-!
-! SOURCE
- SUBROUTINE h5eset_auto_f(printflag, hdferr)
- INTEGER, INTENT(IN) :: printflag ! flag to turn automatic error
- ! printing on or off
- ! possible values are:
- ! printon (1)
- ! printoff(0)
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-!*****
- INTERFACE
- INTEGER FUNCTION h5eset_auto_c(printflag)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5ESET_AUTO_C'::h5eset_auto_c
- !DEC$ENDIF
- INTEGER :: printflag
- END FUNCTION h5eset_auto_c
- END INTERFACE
-
- hdferr = h5eset_auto_c(printflag)
- END SUBROUTINE h5eset_auto_f
-
-
-END MODULE H5E_PROVISIONAL
diff --git a/fortran/src/H5FDmpiof.c b/fortran/src/H5FDmpiof.c
deleted file mode 100644
index bbdb170..0000000
--- a/fortran/src/H5FDmpiof.c
+++ /dev/null
@@ -1,258 +0,0 @@
-/****h* H5FDmpiof/H5FDmpiof
- *
- * PURPOSE
- * This file contains C stubs for Parallel Fortran APIs
- *
- * COPYRIGHT
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- * Copyright by The HDF Group. *
- * Copyright by the Board of Trustees of the University of Illinois. *
- * All rights reserved. *
- * *
- * This file is part of HDF5. The full HDF5 copyright notice, including *
- * terms governing use, modification, and redistribution, is contained in *
- * the files COPYING and Copyright.html. COPYING can be found at the root *
- * of the source code distribution tree; Copyright.html can be found at the *
- * root level of an installed copy of the electronic HDF5 document set and *
- * is linked from the top-level documents page. It can also be found at *
- * http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have *
- * access to either file, you may request a copy from help@hdfgroup.org. *
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
- *
- ******
-*/
-
-#include "H5f90.h"
-#include <mpi.h>
-#include "H5public.h"
-
-
-/* Support for C to Fortran translation in MPI */
-#ifndef H5_HAVE_MPI_MULTI_LANG_Comm
-#define MPI_Comm_c2f(comm) (int_f)(comm)
-#define MPI_Comm_f2c(comm) (MPI_Comm)(comm)
-#endif /*MPI Comm*/
-#ifndef H5_HAVE_MPI_MULTI_LANG_Info
-#define MPI_Info_c2f(info) (int_f)(info)
-#define MPI_Info_f2c(info) (MPI_Info)(info)
-#endif /*MPI Info*/
-
-/****if* H5FDmpiof/h5pset_fapl_mpio_c
- * NAME
- * h5pset_fapl_mpio_c
- * PURPOSE
- * Call H5Pset_fapl_mpio to set mode for parallel I/O and the user
- * supplied communicator and info object
- * INPUTS
- * prp_id - property list identifier
- * comm - MPI communicator
- * info - MPI info object
- * RETURNS
- * 0 on success, -1 on failure
- * AUTHOR
- * Elena Pourmal
- * Thursday, October 26, 2000
- * HISTORY
- *
- * SOURCE
-*/
-int_f
-nh5pset_fapl_mpio_c(hid_t_f *prp_id, int_f* comm, int_f* info)
-/******/
-{
- int ret_value = -1;
- hid_t c_prp_id;
- herr_t ret;
- MPI_Comm c_comm;
- MPI_Info c_info;
- c_comm = MPI_Comm_f2c(*comm);
- c_info = MPI_Info_f2c(*info);
-
- /*
- * Call H5Pset_mpi function.
- */
- c_prp_id = *prp_id;
- ret = H5Pset_fapl_mpio(c_prp_id, c_comm, c_info);
- if (ret < 0) return ret_value;
- ret_value = 0;
- return ret_value;
-}
-/****if* H5FDmpiof/h5pget_fapl_mpio_c
- * NAME
- * h5pget_fapl_mpio_c
- * PURPOSE
- * Call H5Pget_fapl_mpio to retrieve communicator and info object
- * INPUTS
- * prp_id - property list identifier
- * comm - buffer to return MPI communicator
- * info - buffer to return MPI info object
- * RETURNS
- * 0 on success, -1 on failure
- * AUTHOR
- * Elena Pourmal
- * Thursday, October 26, 2000
- * HISTORY
- *
- * SOURCE
-*/
-int_f
-nh5pget_fapl_mpio_c(hid_t_f *prp_id, int_f* comm, int_f* info)
-/******/
-{
- int ret_value = -1;
- hid_t c_prp_id;
- herr_t ret;
- MPI_Comm c_comm;
- MPI_Info c_info;
-
- /*
- * Call H5Pget_mpi function.
- */
- c_prp_id = *prp_id;
- ret = H5Pget_fapl_mpio(c_prp_id, &c_comm, &c_info);
- if (ret < 0) return ret_value;
- *comm = (int_f) MPI_Comm_c2f(c_comm);
- *info = (int_f) MPI_Info_c2f(c_info);
- ret_value = 0;
- return ret_value;
-}
-/****if* H5FDmpiof/h5pset_dxpl_mpio_c
- * NAME
- * h5pset_dxpl_mpio_c
- * PURPOSE
- * Call H5Pset_dxpl_mpio to set transfer mode of the dataset
- * trasfer property list
- * INPUTS
- * prp_id - property list identifier
- * data_xfer_mode - transfer mode
- * RETURNS
- * 0 on success, -1 on failure
- * AUTHOR
- * Elena Pourmal
- * Thursday, October 26, 2000
- * HISTORY
- *
- * SOURCE
-*/
-int_f
-nh5pset_dxpl_mpio_c(hid_t_f *prp_id, int_f* data_xfer_mode)
-/******/
-{
- int ret_value = -1;
- hid_t c_prp_id;
- herr_t ret;
- H5FD_mpio_xfer_t c_data_xfer_mode;
-/*
- switch (*data_xfer_mode) {
-
- case H5FD_MPIO_INDEPENDENT_F:
- c_data_xfer_mode = H5FD_MPIO_INDEPENDENT;
- break;
-
- case H5FD_MPIO_COLLECTIVE_F:
- c_data_xfer_mode = H5FD_MPIO_COLLECTIVE;
- break;
- default:
- return ret_value;
- }
-*/
- c_data_xfer_mode = (H5FD_mpio_xfer_t)*data_xfer_mode;
- /*
- * Call H5Pset_dxpl_mpio function.
- */
- c_prp_id = *prp_id;
- ret = H5Pset_dxpl_mpio(c_prp_id, c_data_xfer_mode);
- if (ret < 0) return ret_value;
- ret_value = 0;
- return ret_value;
-}
-
-/****if* H5FDmpiof/h5pget_dxpl_mpio_c
- * NAME
- * h5pget_dxpl_mpio_c
- * PURPOSE
- * Call H5Pget_dxpl_mpio to get transfer mode of the dataset
- * trasfer property list
- * INPUTS
- * prp_id - property list identifier
- * data_xfer_mode - buffer to retrieve transfer mode
- * RETURNS
- * 0 on success, -1 on failure
- * AUTHOR
- * Elena Pourmal
- * Thursday, June 15, 2000
- * HISTORY
- *
- * SOURCE
-*/
-int_f
-nh5pget_dxpl_mpio_c(hid_t_f *prp_id, int_f* data_xfer_mode)
-/******/
-{
- int ret_value = -1;
- hid_t c_prp_id;
- herr_t ret;
- H5FD_mpio_xfer_t c_data_xfer_mode;
-
- /*
- * Call H5Pget_xfer function.
- */
- c_prp_id = *prp_id;
- ret = H5Pget_dxpl_mpio(c_prp_id, &c_data_xfer_mode);
- if (ret < 0) return ret_value;
- *data_xfer_mode = (int_f)c_data_xfer_mode;
-/*
- switch (c_data_xfer_mode) {
-
- case H5FD_MPIO_INDEPENDENT:
- *data_xfer_mode = H5FD_MPIO_INDEPENDENT_F;
- break;
-
- case H5FD_MPIO_COLLECTIVE:
- *data_xfer_mode = H5FD_MPIO_COLLECTIVE_F;
- break;
-
- default:
- return ret_value;
- }
-*/
- ret_value = 0;
- return ret_value;
-}
-
-/****if* H5Pf/h5pget_mpio_actual_io_mode_c
- * NAME
- * h5pget_mpio_actual_io_mode_c
- * PURPOSE
- * Calls H5Pget_mpio_actual_io_mode
- *
- * INPUTS
- * dxpl_id - Dataset transfer property list identifier.
- * OUTPUTS
- * actual_io_mode - The type of I/O performed by this process.
- *
- * RETURNS
- * 0 on success, -1 on failure
- * AUTHOR
- * M. Scot Breitenfeld
- * July 27, 2012
- * SOURCE
-*/
-int_f
-nh5pget_mpio_actual_io_mode_c(hid_t_f *dxpl_id, int_f *actual_io_mode)
-/******/
-{
- int ret_value = -1;
- H5D_mpio_actual_io_mode_t c_actual_io_mode;
-
- /*
- * Call H5Pget_mpio_actual_io_mode_f function.
- */
- if( (H5Pget_mpio_actual_io_mode((hid_t)*dxpl_id, &c_actual_io_mode)) <0 )
- return ret_value; /* error occurred */
-
- *actual_io_mode =(int_f)c_actual_io_mode;
-
- ret_value = 0;
- return ret_value;
-}
diff --git a/fortran/src/H5FDmpioff.f90 b/fortran/src/H5FDmpioff.f90
deleted file mode 100644
index 50a77d9..0000000
--- a/fortran/src/H5FDmpioff.f90
+++ /dev/null
@@ -1,212 +0,0 @@
-!****h* ROBODoc/H5FDMPIO
-!
-! NAME
-! MODULE H5FDMPIO
-!
-! PURPOSE
-! This file contains Fortran interfaces for H5P functions needed by
-! parallel MPI programs.
-!
-! COPYRIGHT
-! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
-! Copyright by The HDF Group. *
-! Copyright by the Board of Trustees of the University of Illinois. *
-! All rights reserved. *
-! *
-! This file is part of HDF5. The full HDF5 copyright notice, including *
-! terms governing use, modification, and redistribution, is contained in *
-! the files COPYING and Copyright.html. COPYING can be found at the root *
-! of the source code distribution tree; Copyright.html can be found at the *
-! root level of an installed copy of the electronic HDF5 document set and *
-! is linked from the top-level documents page. It can also be found at *
-! http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have *
-! access to either file, you may request a copy from help@hdfgroup.org. *
-! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
-!
-! NOTES
-! *** IMPORTANT ***
-! If you add a new H5P function you must add the function name to the
-! Windows dll file 'hdf5_fortrandll.def.in' in the fortran/src directory.
-! This is needed for Windows based operating systems.
-!
-!*****
-
-MODULE H5FDMPIO
- USE H5GLOBAL
-CONTAINS
-
-!****s* H5FDMPIO/h5pset_fapl_mpio_f
-!
-! NAME
-! h5pset_fapl_mpio_f
-!
-! PURPOSE
-! Stores MPI IO communicator information to the file
-! access property list.
-!
-! INPUTS
-! prp_id - file access property list identifier
-! comm - MPI-2 communicator
-! info - MPI-2 info object
-! OUTPUTS
-! hdferr - Returns 0 if successful and -1 if fails
-! AUTHOR
-! Elena Pourmal
-! November, 2000
-!
-! SOURCE
- SUBROUTINE h5pset_fapl_mpio_f(prp_id, comm, info, hdferr)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier
- INTEGER, INTENT(IN) :: comm ! MPI communicator to be used for file open
- ! as defined in MPI_FILE_OPEN of MPI-2
- INTEGER, INTENT(IN) :: info ! MPI info object to be used for file open
- ! as defined in MPI_FILE_OPEN of MPI-2
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-!*****
- INTEGER, EXTERNAL :: h5pset_fapl_mpio_c
- hdferr = h5pset_fapl_mpio_c(prp_id, comm, info)
- END SUBROUTINE h5pset_fapl_mpio_f
-
-!****s* H5FDMPIO/h5pget_fapl_mpio_f
-!
-! NAME
-! h5pget_fapl_mpio_f
-!
-! PURPOSE
-! Returns MPI communicator information.
-!
-! INPUTS
-! prp_id - file access property list identifier
-! OUTPUTS
-! comm - MPI-2 communicator
-! info - MPI-2 info object
-! hdferr - Returns 0 if successful and -1 if fails
-!
-! AUTHOR
-! Elena Pourmal
-! November, 2000
-!
-! SOURCE
- SUBROUTINE h5pget_fapl_mpio_f(prp_id, comm, info, hdferr)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier
- INTEGER, INTENT(OUT) :: comm ! buffer to return communicator
- INTEGER, INTENT(OUT) :: info ! buffer to return info object
- ! as defined in MPI_FILE_OPEN of MPI-2
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-!*****
- INTEGER, EXTERNAL :: h5pget_fapl_mpio_c
- hdferr = h5pget_fapl_mpio_c(prp_id, comm, info)
- END SUBROUTINE h5pget_fapl_mpio_f
-
-!****s* H5FDMPIO/h5pset_dxpl_mpio_f
-!
-! NAME
-! h5pset_dxpl_mpio_f
-!
-! PURPOSE
-! Sets data transfer mode.
-!
-! INPUTS
-! prp_id - data transfer property list identifier
-! data_xfer_mode - transfer mode; possible values are:
-! H5FD_MPIO_INDEPENDENT_F
-! H5FD_MPIO_COLLECTIVE_F
-! OUTPUTS
-! hdferr - Returns 0 if successful and -1 if fails
-! AUTHOR
-! Elena Pourmal
-! November, 2000
-!
-! SOURCE
- SUBROUTINE h5pset_dxpl_mpio_f(prp_id, data_xfer_mode, hdferr)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier
- INTEGER, INTENT(IN) :: data_xfer_mode ! Data transfer mode. Possible values are:
- ! H5FD_MPIO_INDEPENDENT_F
- ! H5FD_MPIO_COLLECTIVE_F
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-!*****
- INTEGER, EXTERNAL :: h5pset_dxpl_mpio_c
- hdferr = h5pset_dxpl_mpio_c(prp_id, data_xfer_mode)
- END SUBROUTINE h5pset_dxpl_mpio_f
-
-!****s* H5FDMPIO/h5pget_dxpl_mpio_f
-!
-! NAME
-! h5pget_dxpl_mpio_f
-!
-! PURPOSE
-! Returns the data transfer mode.
-!
-! INPUTS
-! prp_id - data transfer property list identifier
-! OUTPUTS
-! data_xfer_mode- transfer mode; possible values are:
-! H5FD_MPIO_INDEPENDENT_F
-! H5FD_MPIO_COLLECTIVE_F
-! hdferr - Returns 0 if successful and -1 if fails
-!
-! AUTHOR
-! Elena Pourmal
-! November, 2000
-!
-! SOURCE
- SUBROUTINE h5pget_dxpl_mpio_f(prp_id, data_xfer_mode, hdferr)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier
- INTEGER, INTENT(OUT) :: data_xfer_mode ! Data transfer mode. Possible values are:
- ! H5FD_MPIO_INDEPENDENT_F
- ! H5FD_MPIO_COLLECTIVE_F
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-!*****
- INTEGER, EXTERNAL :: h5pget_dxpl_mpio_c
- hdferr = h5pget_dxpl_mpio_c(prp_id, data_xfer_mode)
- END SUBROUTINE h5pget_dxpl_mpio_f
-
-!****s* H5P/h5pget_mpio_actual_io_mode_f
-! NAME
-! h5pget_mpio_actual_io_mode_f
-!
-! PURPOSE
-! Retrieves the type of I/O that HDF5 actually performed on the last
-! parallel I/O call. This is not necessarily the type of I/O requested.
-!
-! INPUTS
-! dxpl_id - Dataset transfer property list identifier.
-! OUTPUTS
-! actual_io_mode - The type of I/O performed by this process.
-! hdferr - Returns 0 if successful and -1 if fails.
-!
-! AUTHOR
-! M. Scot Breitenfeld
-! July 27, 2012
-!
-! HISTORY
-!
-! Fortran90 Interface:
- SUBROUTINE h5pget_mpio_actual_io_mode_f(dxpl_id, actual_io_mode, hdferr)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: dxpl_id
- INTEGER , INTENT(OUT) :: actual_io_mode
- INTEGER , INTENT(OUT) :: hdferr
-!*****
- INTERFACE
- INTEGER FUNCTION h5pget_mpio_actual_io_mode_c(dxpl_id, actual_io_mode)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5PGET_MPIO_ACTUAL_IO_MODE_C'::h5pget_mpio_actual_io_mode_c
- !DEC$ENDIF
- INTEGER(HID_T), INTENT(IN) :: dxpl_id
- INTEGER , INTENT(OUT) :: actual_io_mode
- END FUNCTION h5pget_mpio_actual_io_mode_c
- END INTERFACE
-
- actual_io_mode = -1
-
- hdferr = h5pget_mpio_actual_io_mode_c(dxpl_id, actual_io_mode)
-
- END SUBROUTINE h5pget_mpio_actual_io_mode_f
-
-END MODULE H5FDMPIO
diff --git a/fortran/src/H5Ff.c b/fortran/src/H5Ff.c
index 1696672..c1cdb91 100644
--- a/fortran/src/H5Ff.c
+++ b/fortran/src/H5Ff.c
@@ -1,6 +1,6 @@
/****h* H5Ff/H5Ff
* PURPOSE
- * This file contains C stubs for H5F Fortran APIs
+ * This file contains C stubs for H5F Fortran APIs
*
* COPYRIGHT
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
@@ -26,26 +26,26 @@
/****if* H5Ff/h5fcreate_c
* NAME
- * h5fcreate_c
+ * h5fcreate_c
* PURPOSE
- * Call H5Fcreate to create the file
+ * Call H5Fcreate to create the file
* INPUTS
- * name - name of the file
- * namelen - name length
- * access_flags - file access flags
- * crt_pr - identifier of creation property list
- * acc_prp - identifier of access property list
+ * name - name of the file
+ * namelen - name length
+ * access_flags - file access flags
+ * crt_pr - identifier of creation property list
+ * acc_prp - identifier of access property list
* OUTPUTS
- * file_id - file identifier
+ * file_id - file identifier
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* Elena Pourmal
- * Monday, July 26, 1999
+ * Monday, July 26, 1999
* SOURCE
*/
int_f
-nh5fcreate_c(_fcd name, int_f *namelen, int_f *access_flags, hid_t_f* crt_prp, hid_t_f *acc_prp, hid_t_f *file_id)
+h5fcreate_c(_fcd name, int_f *namelen, int_f *access_flags, hid_t_f* crt_prp, hid_t_f *acc_prp, hid_t_f *file_id)
/******/
{
int ret_value = -1;
@@ -95,23 +95,23 @@ nh5fcreate_c(_fcd name, int_f *namelen, int_f *access_flags, hid_t_f* crt_prp, h
/****if* H5Ff/h5fflush_c
* NAME
- * h5fflush_c
+ * h5fflush_c
* PURPOSE
- * Call H5Fflush to flush the object
+ * Call H5Fflush to flush the object
* INPUTS
- * object_id - identifier of either a file, a dataset,
- * a group, an attribute or a named data type
- * scope - integer to specify the flushing action, either
+ * object_id - identifier of either a file, a dataset,
+ * a group, an attribute or a named data type
+ * scope - integer to specify the flushing action, either
* H5F_SCOPE_GLOBAL or H5F_SCOPE_LOCAL
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* Xiangyang Su
- * Friday, November 5, 1999
+ * Friday, November 5, 1999
* SOURCE
*/
int_f
-nh5fflush_c (hid_t_f *object_id, int_f *scope)
+h5fflush_c (hid_t_f *object_id, int_f *scope)
/******/
{
int ret_value = -1;
@@ -136,24 +136,24 @@ nh5fflush_c (hid_t_f *object_id, int_f *scope)
/****if* H5Ff/h5fmount_c
* NAME
- * h5fmount_c
+ * h5fmount_c
* PURPOSE
- * Call H5Fmount to mount the file
+ * Call H5Fmount to mount the file
* INPUTS
- * loc_id - Identifier for file or group
- * dsetname - name of dataset
- * namelen - dsetname length
- * file_id - file identifier for the file to be mounted
- * acc_prp - identifier of access property list
+ * loc_id - Identifier for file or group
+ * dsetname - name of dataset
+ * namelen - dsetname length
+ * file_id - file identifier for the file to be mounted
+ * acc_prp - identifier of access property list
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* Xiangyang Su
- * Monday, October 25, 1999
+ * Monday, October 25, 1999
* HISTORY
*/
int_f
-nh5fmount_c (hid_t_f *loc_id, _fcd dsetname, int_f *namelen, hid_t_f *file_id, hid_t_f *acc_prp)
+h5fmount_c (hid_t_f *loc_id, _fcd dsetname, int_f *namelen, hid_t_f *file_id, hid_t_f *acc_prp)
/******/
{
int ret_value = -1;
@@ -194,22 +194,22 @@ nh5fmount_c (hid_t_f *loc_id, _fcd dsetname, int_f *namelen, hid_t_f *file_id, h
/****if* H5Ff/h5funmount_c
* NAME
- * h5funmount_c
+ * h5funmount_c
* PURPOSE
- * Call H5Funmount to unmount the file
+ * Call H5Funmount to unmount the file
* INPUTS
- * loc_id - Identifier for file or group
- * dsetname - name of dataset
- * namelen - dsetname length
+ * loc_id - Identifier for file or group
+ * dsetname - name of dataset
+ * namelen - dsetname length
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* Xiangyang Su
- * Monday, October 25, 1999
+ * Monday, October 25, 1999
* SOURCE
*/
int_f
-nh5funmount_c (hid_t_f *loc_id, _fcd dsetname, int_f *namelen)
+h5funmount_c (hid_t_f *loc_id, _fcd dsetname, int_f *namelen)
/******/
{
int ret_value = -1;
@@ -242,25 +242,25 @@ nh5funmount_c (hid_t_f *loc_id, _fcd dsetname, int_f *namelen)
/****if* H5Ff/h5fopen_c
* NAME
- * h5fopen_c
+ * h5fopen_c
* PURPOSE
- * Call H5Fopen to open the file
+ * Call H5Fopen to open the file
* INPUTS
- * name - name of the file
- * namelen - name length
- * access_flags - file access flags
- * acc_prp - identifier of access property list
+ * name - name of the file
+ * namelen - name length
+ * access_flags - file access flags
+ * acc_prp - identifier of access property list
* OUTPUTS
- * file_id - file identifier
+ * file_id - file identifier
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* Elena Pourmal
- * Tuesday, August 3, 1999
+ * Tuesday, August 3, 1999
* SOURCE
*/
int_f
-nh5fopen_c (_fcd name, int_f *namelen, int_f *access_flags, hid_t_f *acc_prp, hid_t_f *file_id)
+h5fopen_c (_fcd name, int_f *namelen, int_f *access_flags, hid_t_f *acc_prp, hid_t_f *file_id)
/******/
{
int ret_value = -1;
@@ -305,22 +305,22 @@ nh5fopen_c (_fcd name, int_f *namelen, int_f *access_flags, hid_t_f *acc_prp, hi
/****if* H5Ff/h5freopen_c
* NAME
- * h5freopen_c
+ * h5freopen_c
* PURPOSE
- * Call H5Freopen to open the file
+ * Call H5Freopen to open the file
* INPUTS
- * file_id1 - file identifier
+ * file_id1 - file identifier
* OUTPUTS
- * file_id2 - file identifier
+ * file_id2 - file identifier
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* Xiangyang Su
- * Wednesday, November 3, 1999
+ * Wednesday, November 3, 1999
* SOURCE
*/
int_f
-nh5freopen_c (hid_t_f *file_id1, hid_t_f *file_id2)
+h5freopen_c (hid_t_f *file_id1, hid_t_f *file_id2)
/******/
{
int ret_value = -1;
@@ -338,22 +338,22 @@ nh5freopen_c (hid_t_f *file_id1, hid_t_f *file_id2)
/****if* H5Ff/h5fget_create_plist_c
* NAME
- * h5fget_create_plist_c
+ * h5fget_create_plist_c
* PURPOSE
- * Call H5Fget_create_plist to get the file creation property list
+ * Call H5Fget_create_plist to get the file creation property list
* INPUTS
- * file_id - file identifier
+ * file_id - file identifier
* OUTPUTS
- * prop_id - creation property list identifier
+ * prop_id - creation property list identifier
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* Elena Pourmal, Xiangyang Su
- * Wednesday, November 3, 1999
+ * Wednesday, November 3, 1999
* SOURCE
*/
int_f
-nh5fget_create_plist_c (hid_t_f *file_id, hid_t_f *prop_id)
+h5fget_create_plist_c (hid_t_f *file_id, hid_t_f *prop_id)
/******/
{
int ret_value = -1;
@@ -371,24 +371,24 @@ nh5fget_create_plist_c (hid_t_f *file_id, hid_t_f *prop_id)
/****if* H5Ff/h5fget_access_plist_c
* NAME
- * h5fget_access_plist_c
+ * h5fget_access_plist_c
* PURPOSE
- * Call H5Fget_access_plist to get the file access property list
+ * Call H5Fget_access_plist to get the file access property list
* INPUTS
- * file_id - file identifier
+ * file_id - file identifier
* OUTPUTS
- * access_id - access property list identifier
+ * access_id - access property list identifier
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* Elena Pourmal
- * Monday, September 30, 2002
+ * Monday, September 30, 2002
* HISTORY
*
* SOURCE
*/
int_f
-nh5fget_access_plist_c (hid_t_f *file_id, hid_t_f *access_id)
+h5fget_access_plist_c (hid_t_f *file_id, hid_t_f *access_id)
/******/
{
int ret_value = -1;
@@ -406,26 +406,26 @@ nh5fget_access_plist_c (hid_t_f *file_id, hid_t_f *access_id)
/****if* H5Ff/h5fis_hdf5_c
* NAME
- * h5fis_hdf5_c
+ * h5fis_hdf5_c
* PURPOSE
- * Call H5Fis_hdf5 to determone if the file is an HDF5 file
+ * Call H5Fis_hdf5 to determone if the file is an HDF5 file
* INPUTS
- * name - name of the file
- * namelen - name length
+ * name - name of the file
+ * namelen - name length
* OUTPUTS
- * flag - 0 if file is not HDF5 file , positive if a file
- * is an HDF5 file, and negative on failure.
+ * flag - 0 if file is not HDF5 file , positive if a file
+ * is an HDF5 file, and negative on failure.
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* Elena Pourmal
- * Tuesday, August 3, 1999
+ * Tuesday, August 3, 1999
* HISTORY
*
* SOURCE
*/
int_f
-nh5fis_hdf5_c (_fcd name, int_f *namelen, int_f *flag)
+h5fis_hdf5_c (_fcd name, int_f *namelen, int_f *flag)
/******/
{
int ret_value = -1;
@@ -452,23 +452,23 @@ nh5fis_hdf5_c (_fcd name, int_f *namelen, int_f *flag)
}
/****if* H5Ff/h5fclose_c
* NAME
- * h5fclose_c
+ * h5fclose_c
* PURPOSE
- * Call H5Fclose to close the file
+ * Call H5Fclose to close the file
* INPUTS
- * file_id - identifier of the file to be closed
+ * file_id - identifier of the file to be closed
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* Elena Pourmal
- * Monday, July 26, 1999
+ * Monday, July 26, 1999
* HISTORY
*
* SOURCE
*/
int_f
-nh5fclose_c ( hid_t_f *file_id )
+h5fclose_c ( hid_t_f *file_id )
/******/
{
int ret_value = 0;
@@ -480,27 +480,27 @@ nh5fclose_c ( hid_t_f *file_id )
}
/****if* H5Ff/h5fget_obj_count_c
* NAME
- * h5fget_obj_count_c
+ * h5fget_obj_count_c
* PURPOSE
- * Call H5Fget_obj_count to get number of open objects within a file
+ * Call H5Fget_obj_count to get number of open objects within a file
* INPUTS
- * file_id - identifier of the file to be closed
- * obj_type - type of the object
+ * file_id - identifier of the file to be closed
+ * obj_type - type of the object
* RETURNS
- * obj_count - number of objects
- * 0 on success, -1 on failure
+ * obj_count - number of objects
+ * 0 on success, -1 on failure
* AUTHOR
* Elena Pourmal
- * Monday, September 30, 2002
+ * Monday, September 30, 2002
* HISTORY
*
- * Changed type of obj_count to size_t_f
- * Thursday, September 25, 2008
+ * Changed type of obj_count to size_t_f
+ * Thursday, September 25, 2008
* SOURCE
*/
int_f
-nh5fget_obj_count_c ( hid_t_f *file_id , int_f *obj_type, size_t_f * obj_count)
+h5fget_obj_count_c ( hid_t_f *file_id , int_f *obj_type, size_t_f * obj_count)
/******/
{
int ret_value = 0;
@@ -525,7 +525,7 @@ nh5fget_obj_count_c ( hid_t_f *file_id , int_f *obj_type, size_t_f * obj_count)
* obj_type - type of the object
* RETURNS
* obj_ids - iarray of open objects identifiers
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* Elena Pourmal
* Monday, September 30, 2002
@@ -538,7 +538,7 @@ nh5fget_obj_count_c ( hid_t_f *file_id , int_f *obj_type, size_t_f * obj_count)
* SOURCE
*/
int_f
-nh5fget_obj_ids_c ( hid_t_f *file_id , int_f *obj_type, size_t_f *max_objs,
+h5fget_obj_ids_c ( hid_t_f *file_id , int_f *obj_type, size_t_f *max_objs,
hid_t_f *obj_ids, size_t_f *num_objs)
/******/
{
@@ -569,22 +569,22 @@ nh5fget_obj_ids_c ( hid_t_f *file_id , int_f *obj_type, size_t_f *max_objs,
/****if* H5Ff/h5fget_freespace_c
* NAME
- * h5fget_freespace_c
+ * h5fget_freespace_c
* PURPOSE
- * Call H5Fget_freespace to get amount of free space within a file
+ * Call H5Fget_freespace to get amount of free space within a file
* INPUTS
- * file_id - identifier of the file to query
+ * file_id - identifier of the file to query
* RETURNS
- * free_space - amount of free space in file
- * 0 on success, -1 on failure
+ * free_space - amount of free space in file
+ * 0 on success, -1 on failure
* AUTHOR
* Quincey Koziol
- * Tuesday, October 7, 2003
+ * Tuesday, October 7, 2003
* SOURCE
*/
int_f
-nh5fget_freespace_c ( hid_t_f *file_id , hssize_t_f *free_space)
+h5fget_freespace_c ( hid_t_f *file_id , hssize_t_f *free_space)
/******/
{
int ret_value = 0;
@@ -599,24 +599,24 @@ nh5fget_freespace_c ( hid_t_f *file_id , hssize_t_f *free_space)
/****if* H5Ff/h5fget_name_c
* NAME
- * h5fget_name_c
+ * h5fget_name_c
* PURPOSE
- * Call H5Fget_name to get file's name
+ * Call H5Fget_name to get file's name
* INPUTS
- * obj_id - object identifier
- * buflen -size of the buffer
+ * obj_id - object identifier
+ * buflen -size of the buffer
* OUTPUTS
- * buf - buffer to hold the name
- * size - size of the file's name
+ * buf - buffer to hold the name
+ * size - size of the file's name
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* Elena Pourmal
- * Tuesday, July 6, 2004
+ * Tuesday, July 6, 2004
* SOURCE
*/
int_f
-nh5fget_name_c(hid_t_f *obj_id, size_t_f *size, _fcd buf, size_t_f *buflen)
+h5fget_name_c(hid_t_f *obj_id, size_t_f *size, _fcd buf, size_t_f *buflen)
/******/
{
char *c_buf = NULL; /* Buffer to hold C string */
@@ -648,22 +648,22 @@ done:
/****if* H5Ff/h5fget_filesize_c
* NAME
- * h5fget_filesize_c
+ * h5fget_filesize_c
* PURPOSE
- * Call H5Fget_filesize to get file size
+ * Call H5Fget_filesize to get file size
* INPUTS
- * file_id - file identifier
+ * file_id - file identifier
* OUTPUTS
- * size - size of the file
+ * size - size of the file
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* Elena Pourmal
- * Wednesday, July 7, 2004
+ * Wednesday, July 7, 2004
* SOURCE
*/
int_f
-nh5fget_filesize_c(hid_t_f *file_id, hsize_t_f *size)
+h5fget_filesize_c(hid_t_f *file_id, hsize_t_f *size)
/******/
{
hsize_t size_c;
diff --git a/fortran/src/H5Fff.f90 b/fortran/src/H5Fff.F90
index faa1967..c69ad82 100644
--- a/fortran/src/H5Fff.f90
+++ b/fortran/src/H5Fff.F90
@@ -26,7 +26,13 @@
! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
!
! NOTES
-! *** IMPORTANT ***
+! _____ __ __ _____ ____ _____ _______ _ _ _______
+! |_ _| \/ | __ \ / __ \| __ \__ __|/\ | \ | |__ __|
+! **** | | | \ / | |__) | | | | |__) | | | / \ | \| | | | ****
+! **** | | | |\/| | ___/| | | | _ / | | / /\ \ | . ` | | | ****
+! **** _| |_| | | | | | |__| | | \ \ | |/ ____ \| |\ | | | ****
+! |_____|_| |_|_| \____/|_| \_\ |_/_/ \_\_| \_| |_|
+!
! If you add a new H5F function you must add the function name to the
! Windows dll file 'hdf5_fortrandll.def.in' in the fortran/src directory.
! This is needed for Windows based operating systems.
@@ -34,7 +40,9 @@
!*****
MODULE H5F
+ USE, INTRINSIC :: ISO_C_BINDING, ONLY : C_PTR, C_CHAR, C_NULL_PTR
USE H5GLOBAL
+ IMPLICIT NONE
CONTAINS
!****s* H5F/h5fcreate_f
@@ -88,13 +96,10 @@ CONTAINS
INTERFACE
INTEGER FUNCTION h5fcreate_c(name, namelen, access_flags, &
- creation_prp_default, access_prp_default, file_id)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5FCREATE_C':: h5fcreate_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: name
- CHARACTER(LEN=*), INTENT(IN) :: name
+ creation_prp_default, access_prp_default, file_id) BIND(C,NAME='h5fcreate_c')
+ IMPORT :: C_CHAR
+ IMPORT :: HID_T
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(IN) :: name
INTEGER, INTENT(IN) :: access_flags
INTEGER(HID_T), INTENT(OUT) :: file_id
INTEGER(HID_T), INTENT(IN) :: creation_prp_default
@@ -165,11 +170,9 @@ CONTAINS
INTEGER, INTENT(OUT) :: hdferr ! Error code
!*****
INTERFACE
- INTEGER FUNCTION h5fflush_c(object_id, scope)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5FFLUSH_C':: h5fflush_c
- !DEC$ENDIF
+ INTEGER FUNCTION h5fflush_c(object_id, scope) BIND(C,NAME='h5fflush_c')
+ IMPORT :: HID_T
+ IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: object_id
INTEGER, INTENT(IN) :: scope
END FUNCTION h5fflush_c
@@ -224,14 +227,12 @@ CONTAINS
INTERFACE
INTEGER FUNCTION h5fmount_c(loc_id, name, namelen, &
- child_id, access_prp_default)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5FMOUNT_C':: h5fmount_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: name
+ child_id, access_prp_default) BIND(C,NAME='h5fmount_c')
+ IMPORT :: C_CHAR
+ IMPORT :: HID_T
+ IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: loc_id
- CHARACTER(LEN=*), INTENT(IN) :: name
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(IN) :: name
INTEGER(HID_T), INTENT(IN) :: child_id
INTEGER(HID_T), INTENT(IN) :: access_prp_default
INTEGER :: namelen
@@ -280,14 +281,12 @@ CONTAINS
INTEGER :: namelen ! Length of the name character string
INTERFACE
- INTEGER FUNCTION h5funmount_c(loc_id, name, namelen)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5FUNMOUNT_C':: h5funmount_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: name
+ INTEGER FUNCTION h5funmount_c(loc_id, name, namelen) BIND(C,NAME='h5funmount_c')
+ IMPORT :: C_CHAR
+ IMPORT :: HID_T
+ IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: loc_id
- CHARACTER(LEN=*), INTENT(IN) :: name
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(IN) :: name
INTEGER :: namelen
END FUNCTION h5funmount_c
END INTERFACE
@@ -340,13 +339,11 @@ CONTAINS
INTERFACE
INTEGER FUNCTION h5fopen_c(name, namelen, access_flags, &
- access_prp_default, file_id)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5FOPEN_C':: h5fopen_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: name
- CHARACTER(LEN=*), INTENT(IN) :: name
+ access_prp_default, file_id) BIND(C,NAME='h5fopen_c')
+ IMPORT :: C_CHAR
+ IMPORT :: HID_T
+ IMPLICIT NONE
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(IN) :: name
INTEGER :: namelen
INTEGER, INTENT(IN) :: access_flags
INTEGER(HID_T), INTENT(IN) :: access_prp_default
@@ -391,11 +388,9 @@ CONTAINS
INTEGER, INTENT(OUT) :: hdferr ! Error code
!*****
INTERFACE
- INTEGER FUNCTION h5freopen_c(file_id, ret_file_id)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5FREOPEN_C':: h5freopen_c
- !DEC$ENDIF
+ INTEGER FUNCTION h5freopen_c(file_id, ret_file_id) BIND(C,NAME='h5freopen_c')
+ IMPORT :: HID_T
+ IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: file_id
INTEGER(HID_T), INTENT(OUT) :: ret_file_id
END FUNCTION h5freopen_c
@@ -436,11 +431,9 @@ CONTAINS
INTEGER, INTENT(OUT) :: hdferr ! Error code
!*****
INTERFACE
- INTEGER FUNCTION h5fget_create_plist_c(file_id, prop_id)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5FGET_CREATE_PLIST_C':: h5fget_create_plist_c
- !DEC$ENDIF
+ INTEGER FUNCTION h5fget_create_plist_c(file_id, prop_id) BIND(C,NAME='h5fget_create_plist_c')
+ IMPORT :: HID_T
+ IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: file_id
INTEGER(HID_T), INTENT(OUT) :: prop_id
END FUNCTION h5fget_create_plist_c
@@ -480,11 +473,9 @@ CONTAINS
INTEGER, INTENT(OUT) :: hdferr ! Error code
!*****
INTERFACE
- INTEGER FUNCTION h5fget_access_plist_c(file_id, access_id)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5FGET_CREATE_PLIST_C':: h5fget_access_plist_c
- !DEC$ENDIF
+ INTEGER FUNCTION h5fget_access_plist_c(file_id, access_id) BIND(C,NAME='h5fget_access_plist_c')
+ IMPORT :: HID_T
+ IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: file_id
INTEGER(HID_T), INTENT(OUT) :: access_id
END FUNCTION h5fget_access_plist_c
@@ -529,13 +520,10 @@ CONTAINS
! to define status value.
INTERFACE
- INTEGER FUNCTION h5fis_hdf5_c(name, namelen, flag)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5FIS_HDF5_C':: h5fis_hdf5_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: name
- CHARACTER(LEN=*), INTENT(IN) :: name
+ INTEGER FUNCTION h5fis_hdf5_c(name, namelen, flag) BIND(C,NAME='h5fis_hdf5_c')
+ IMPORT :: C_CHAR
+ IMPLICIT NONE
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(IN) :: name
INTEGER :: namelen
INTEGER :: flag
END FUNCTION h5fis_hdf5_c
@@ -575,11 +563,9 @@ CONTAINS
INTEGER, INTENT(OUT) :: hdferr ! Error code
!*****
INTERFACE
- INTEGER FUNCTION h5fclose_c(file_id)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5FCLOSE_C':: h5fclose_c
- !DEC$ENDIF
+ INTEGER FUNCTION h5fclose_c(file_id) BIND(C,NAME='h5fclose_c')
+ IMPORT :: HID_T
+ IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: file_id
END FUNCTION h5fclose_c
END INTERFACE
@@ -618,22 +604,18 @@ CONTAINS
! SOURCE
SUBROUTINE h5fget_obj_count_f(file_id, obj_type, obj_count, hdferr)
IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: file_id ! File identifier
- INTEGER, INTENT(IN) :: obj_type ! Object type
+ INTEGER(HID_T), INTENT(IN) :: file_id
+ INTEGER, INTENT(IN) :: obj_type
INTEGER(SIZE_T), INTENT(OUT) :: obj_count
- ! Number of open objects
- INTEGER, INTENT(OUT) :: hdferr ! Error code
+ INTEGER, INTENT(OUT) :: hdferr
!*****
INTERFACE
- INTEGER FUNCTION h5fget_obj_count_c(file_id, obj_type, obj_count)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5FGET_OBJ_COUNT_C':: h5fget_obj_count_c
- !DEC$ENDIF
+ INTEGER FUNCTION h5fget_obj_count_c(file_id, obj_type, obj_count) BIND(C,NAME='h5fget_obj_count_c')
+ IMPORT :: HID_T, SIZE_T
+ IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: file_id
- INTEGER, INTENT(IN) :: obj_type ! Object type
+ INTEGER, INTENT(IN) :: obj_type
INTEGER(SIZE_T), INTENT(OUT) :: obj_count
- ! Number of open objects
END FUNCTION h5fget_obj_count_c
END INTERFACE
@@ -688,11 +670,10 @@ CONTAINS
INTEGER(SIZE_T) :: c_num_objs ! Number of open objects of the specified type
INTERFACE
- INTEGER FUNCTION h5fget_obj_ids_c(file_id, obj_type, max_objs, obj_ids, c_num_objs)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5FGET_OBJ_IDS_C':: h5fget_obj_ids_c
- !DEC$ENDIF
+ INTEGER FUNCTION h5fget_obj_ids_c(file_id, obj_type, max_objs, obj_ids, c_num_objs) &
+ BIND(C,NAME='h5fget_obj_ids_c')
+ IMPORT :: HID_T, SIZE_T
+ IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: file_id
INTEGER, INTENT(IN) :: obj_type
INTEGER(SIZE_T), INTENT(IN) :: max_objs
@@ -732,11 +713,10 @@ CONTAINS
INTEGER, INTENT(OUT) :: hdferr ! Error code
!*****
INTERFACE
- INTEGER FUNCTION h5fget_freespace_c(file_id, free_space)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5FGET_FREESPACE_C':: h5fget_freespace_c
- !DEC$ENDIF
+ INTEGER FUNCTION h5fget_freespace_c(file_id, free_space) &
+ BIND(C,NAME='h5fget_freespace_c')
+ IMPORT :: HID_T, HSSIZE_T
+ IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: file_id
INTEGER(HSSIZE_T), INTENT(OUT) :: free_space
END FUNCTION h5fget_freespace_c
@@ -776,16 +756,15 @@ CONTAINS
INTEGER(SIZE_T) :: buflen
INTERFACE
- INTEGER FUNCTION h5fget_name_c(obj_id, size, buf, buflen)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5FGET_NAME_C'::h5fget_name_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: buf
+ INTEGER FUNCTION h5fget_name_c(obj_id, size, buf, buflen) &
+ BIND(C,NAME='h5fget_name_c')
+ IMPORT :: C_CHAR
+ IMPORT :: HID_T, SIZE_T
+ IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: obj_id
INTEGER(SIZE_T), INTENT(OUT) :: size
INTEGER(SIZE_T) :: buflen
- CHARACTER(LEN=*), INTENT(OUT) :: buf
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(OUT) :: buf
END FUNCTION h5fget_name_c
END INTERFACE
buflen = LEN_TRIM(buf)
@@ -818,11 +797,10 @@ CONTAINS
! -1 if fail
!*****
INTERFACE
- INTEGER FUNCTION h5fget_filesize_c(file_id, size)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5FGET_FILESIZE_C'::h5fget_filesize_c
- !DEC$ENDIF
+ INTEGER FUNCTION h5fget_filesize_c(file_id, size) &
+ BIND(C,NAME='h5fget_filesize_c')
+ IMPORT :: HID_T, HSIZE_T
+ IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: file_id
INTEGER(HSIZE_T), INTENT(OUT) :: size
END FUNCTION h5fget_filesize_c
@@ -830,5 +808,64 @@ CONTAINS
hdferr = h5fget_filesize_c(file_id, size)
END SUBROUTINE h5fget_filesize_f
+!****s* H5F (F03)/h5fget_file_image_f_F03
+!
+! NAME
+! h5fget_file_image_f
+!
+! PURPOSE
+! Retrieves a copy of the image of an existing, open file.
+!
+! INPUTS
+! file_id - Target file identifier.
+! buf_ptr - Pointer to the buffer into which the image of the HDF5 file is to be copied.
+! buf_len - Size of the supplied buffer.
+!
+! OUTPUTS
+! hdferr - error code:
+! 0 on success and -1 on failure
+! OPTIONAL PARAMETERS
+! buf_size - Returns the size in bytes of the buffer required to store the file image,
+! no data will be copied.
+!
+! AUTHOR
+! M. Scot Breitenfeld
+! November 26, 2012
+!
+! Fortran2003 Interface:
+ SUBROUTINE h5fget_file_image_f(file_id, buf_ptr, buf_len, hdferr, buf_size)
+ IMPLICIT NONE
+ INTEGER(HID_T) , INTENT(IN) :: file_id
+ TYPE(C_PTR) , INTENT(INOUT) :: buf_ptr
+ INTEGER(SIZE_T), INTENT(IN) :: buf_len
+ INTEGER , INTENT(OUT) :: hdferr
+ INTEGER(SIZE_T), INTENT(OUT) , OPTIONAL :: buf_size
+!*****
+
+ INTEGER(SIZE_T) :: buf_size_default
+
+ INTERFACE
+ INTEGER FUNCTION h5fget_file_image_c(file_id, buf_ptr, buf_len, buf_size) BIND(C, NAME='h5fget_file_image_c')
+ IMPORT :: C_PTR
+ IMPORT :: HID_T, SIZE_T
+ IMPLICIT NONE
+ INTEGER(HID_T) , INTENT(IN) :: file_id
+ TYPE(C_PTR) , VALUE :: buf_ptr
+ INTEGER(SIZE_T), INTENT(IN) :: buf_len
+ INTEGER(SIZE_T), INTENT(IN) :: buf_size
+ END FUNCTION h5fget_file_image_c
+ END INTERFACE
+
+ IF(PRESENT(buf_size))THEN
+ buf_ptr = C_NULL_PTR
+ ENDIF
+
+ hdferr = h5fget_file_image_c(file_id, buf_ptr, buf_len, buf_size_default)
+
+ IF(PRESENT(buf_size))THEN
+ buf_size = buf_size_default
+ ENDIF
+
+ END SUBROUTINE h5fget_file_image_f
END MODULE H5F
diff --git a/fortran/src/H5Fff_F03.f90 b/fortran/src/H5Fff_F03.f90
deleted file mode 100644
index 8544870..0000000
--- a/fortran/src/H5Fff_F03.f90
+++ /dev/null
@@ -1,99 +0,0 @@
-!****h* ROBODoc/H5F (F03)
-!
-! NAME
-! H5F_PROVISIONAL
-!
-! PURPOSE
-! This file contains Fortran 2003 interfaces for H5F functions.
-!
-! COPYRIGHT
-! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
-! Copyright by The HDF Group. *
-! Copyright by the Board of Trustees of the University of Illinois. *
-! All rights reserved. *
-! *
-! This file is part of HDF5. The full HDF5 copyright notice, including *
-! terms governing use, modification, and redistribution, is contained in *
-! the files COPYING and Copyright.html. COPYING can be found at the root *
-! of the source code distribution tree; Copyright.html can be found at the *
-! root level of an installed copy of the electronic HDF5 document set and *
-! is linked from the top-level documents page. It can also be found at *
-! http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have *
-! access to either file, you may request a copy from help@hdfgroup.org. *
-! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
-!
-! NOTES
-! *** IMPORTANT ***
-! If you add a new H5T function you must add the function name to the
-! Windows dll file 'hdf5_fortrandll.def.in' in the fortran/src directory.
-! This is needed for Windows based operating systems.
-!
-!*****
-
-MODULE H5F_PROVISIONAL
-
- USE H5GLOBAL
- USE, INTRINSIC :: ISO_C_BINDING
-
-CONTAINS
-!****s* H5F (F03)/h5fget_file_image_f_F03
-!
-! NAME
-! h5fget_file_image_f
-!
-! PURPOSE
-! Retrieves a copy of the image of an existing, open file.
-!
-! INPUTS
-! file_id - Target file identifier.
-! buf_ptr - Pointer to the buffer into which the image of the HDF5 file is to be copied.
-! buf_len - Size of the supplied buffer.
-!
-! OUTPUTS
-! hdferr - error code:
-! 0 on success and -1 on failure
-! OPTIONAL PARAMETERS
-! buf_size - Returns the size in bytes of the buffer required to store the file image,
-! no data will be copied.
-!
-! AUTHOR
-! M. Scot Breitenfeld
-! November 26, 2012
-!
-! Fortran2003 Interface:
- SUBROUTINE h5fget_file_image_f(file_id, buf_ptr, buf_len, hdferr, buf_size)
- USE, INTRINSIC :: ISO_C_BINDING
- IMPLICIT NONE
- INTEGER(HID_T) , INTENT(IN) :: file_id
- TYPE(C_PTR) , INTENT(INOUT) :: buf_ptr
- INTEGER(SIZE_T), INTENT(IN) :: buf_len
- INTEGER , INTENT(OUT) :: hdferr
- INTEGER(SIZE_T), INTENT(OUT) , OPTIONAL :: buf_size
-!*****
-
- INTEGER(SIZE_T) :: buf_size_default
-
- INTERFACE
- INTEGER FUNCTION h5fget_file_image_c(file_id, buf_ptr, buf_len, buf_size) BIND(C, NAME='h5fget_file_image_c')
- USE, INTRINSIC :: ISO_C_BINDING, ONLY : C_PTR
- USE H5GLOBAL
- INTEGER(HID_T) , INTENT(IN) :: file_id
- TYPE(C_PTR) , VALUE :: buf_ptr
- INTEGER(SIZE_T), INTENT(IN) :: buf_len
- INTEGER(SIZE_T), INTENT(IN) :: buf_size
- END FUNCTION h5fget_file_image_c
- END INTERFACE
-
- IF(PRESENT(buf_size))THEN
- buf_ptr = C_NULL_PTR
- ENDIF
-
- hdferr = h5fget_file_image_c(file_id, buf_ptr, buf_len, buf_size_default)
-
- IF(PRESENT(buf_size))THEN
- buf_size = buf_size_default
- ENDIF
-
- END SUBROUTINE h5fget_file_image_f
-
-END MODULE H5F_PROVISIONAL
diff --git a/fortran/src/H5Fff_F90.f90 b/fortran/src/H5Fff_F90.f90
deleted file mode 100644
index b6e659b..0000000
--- a/fortran/src/H5Fff_F90.f90
+++ /dev/null
@@ -1,43 +0,0 @@
-!****h* ROBODoc/H5F (F90)
-!
-! NAME
-! H5F_PROVISIONAL
-!
-! PURPOSE
-! This file contains Fortran 90 interfaces for H5F functions. It
-! containsthe same functions as H5Fff_F03.f90, when applicable,
-! but excludes the Fortran 2003 functions and the interface listings.
-! This file will be compiled instead of H5Fff_F03.f90 if Fortran 2003
-! functions are not enabled.
-!
-! COPYRIGHT
-! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
-! Copyright by The HDF Group. *
-! Copyright by the Board of Trustees of the University of Illinois. *
-! All rights reserved. *
-! *
-! This file is part of HDF5. The full HDF5 copyright notice, including *
-! terms governing use, modification, and redistribution, is contained in *
-! the files COPYING and Copyright.html. COPYING can be found at the root *
-! of the source code distribution tree; Copyright.html can be found at the *
-! root level of an installed copy of the electronic HDF5 document set and *
-! is linked from the top-level documents page. It can also be found at *
-! http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have *
-! access to either file, you may request a copy from help@hdfgroup.org. *
-! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
-!
-! NOTES
-! *** IMPORTANT ***
-! If you add a new H5F function you must add the function name to the
-! Windows dll file 'hdf5_fortrandll.def.in' in the fortran/src directory.
-! This is needed for Windows based operating systems.
-!
-!*****
-
-
-MODULE H5F_PROVISIONAL
-
- USE H5GLOBAL
- IMPLICIT NONE
-
-END MODULE H5F_PROVISIONAL
diff --git a/fortran/src/H5Gf.c b/fortran/src/H5Gf.c
index 7f755b3..b9c44bb 100644
--- a/fortran/src/H5Gf.c
+++ b/fortran/src/H5Gf.c
@@ -1,6 +1,6 @@
/****h* H5Gf/H5Gf
* PURPOSE
- * This file contains C stubs for H5G Fortran APIs
+ * This file contains C stubs for H5G Fortran APIs
*
* COPYRIGHT
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
@@ -26,30 +26,29 @@
/****if* H5Gf/h5gcreate_c
* NAME
- * h5gcreate_c
+ * h5gcreate_c
* PURPOSE
- * Call H5Gcreate to create a group
+ * Call H5Gcreate to create a group
* INPUTS
- * loc_id - file or group identifier
- * name - name of the group
- * namelen - name length
- * size_hint - length of names in the group
+ * loc_id - file or group identifier
+ * name - name of the group
+ * namelen - name length
+ * size_hint - length of names in the group
* OUTPUTS
- * grp_id - group identifier
+ * grp_id - group identifier
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* Elena Pourmal
- * Wednesday, August 5, 1999
+ * Wednesday, August 5, 1999
* HISTORY
- *
- * Changed to call H5Gcreate2 because H5Gcreate flip-flops and
- * H5Gcreate1 can be compiled out of the library
- * QAK - 2007/08/23
+ * Changed to call H5Gcreate2 because H5Gcreate flip-flops and
+ * H5Gcreate1 can be compiled out of the library
+ * QAK - 2007/08/23
* SOURCE
*/
int_f
-nh5gcreate_c(hid_t_f *loc_id, _fcd name, int_f *namelen, size_t_f *size_hint,
+h5gcreate_c(hid_t_f *loc_id, _fcd name, int_f *namelen, size_t_f *size_hint,
hid_t_f *grp_id, hid_t_f *lcpl_id, hid_t_f *gcpl_id, hid_t_f *gapl_id )
/******/
{
@@ -98,26 +97,26 @@ DONE:
/****if* H5Gf/h5gopen_c
* NAME
- * h5gopen_c
+ * h5gopen_c
* PURPOSE
- * Call H5Gopen to open a dataset
+ * Call H5Gopen to open a dataset
* INPUTS
- * loc_id - file or group identifier
- * name - name of the group
- * namelen - name length
- * gapl_id - Group access property list identifier
+ * loc_id - file or group identifier
+ * name - name of the group
+ * namelen - name length
+ * gapl_id - Group access property list identifier
* OUTPUTS
- * grp_id - group identifier
+ * grp_id - group identifier
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* Elena Pourmal
- * Wednesday, August 5, 1999
+ * Wednesday, August 5, 1999
*
* SOURCE
*/
int_f
-nh5gopen_c(hid_t_f *loc_id, _fcd name, int_f *namelen, hid_t_f *gapl_id, hid_t_f *grp_id)
+h5gopen_c(hid_t_f *loc_id, _fcd name, int_f *namelen, hid_t_f *gapl_id, hid_t_f *grp_id)
/******/
{
char *c_name = NULL;
@@ -148,28 +147,28 @@ DONE:
/****if* H5Gf/h5gget_obj_info_idx_c
* NAME
- * h5gget_obj_info_idx_c
+ * h5gget_obj_info_idx_c
* PURPOSE
- * Call H5Gget_obj_info to return name and the type of group
- * member
+ * Call H5Gget_obj_info to return name and the type of group
+ * member
* INPUTS
- * loc_id - file or group identifier
- * name - name of the group
- * namelen - name length
- * idx - index of the group member
+ * loc_id - file or group identifier
+ * name - name of the group
+ * namelen - name length
+ * idx - index of the group member
* OUTPUTS
- * obj_name - buffer to store member's name
- * obj_namelen - length of the buffer
- * obj_type - type of the object
+ * obj_name - buffer to store member's name
+ * obj_namelen - length of the buffer
+ * obj_type - type of the object
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* Elena Pourmal
- * Wednesday, August 5, 1999
+ * Wednesday, August 5, 1999
* SOURCE
*/
int_f
-nh5gget_obj_info_idx_c(hid_t_f *loc_id, _fcd name, int_f *namelen, int_f *idx,
+h5gget_obj_info_idx_c(hid_t_f *loc_id, _fcd name, int_f *namelen, int_f *idx,
_fcd obj_name, int_f *obj_namelen, int_f *obj_type)
/******/
{
@@ -207,7 +206,7 @@ nh5gget_obj_info_idx_c(hid_t_f *loc_id, _fcd name, int_f *namelen, int_f *idx,
goto DONE;
/* XXX: Switch from using H5Gget_objtype_by_idx() means that this routine won't
- * work on non-hard links - QAK
+ * work on non-hard links - QAK
*/
*obj_type = oinfo.type;
@@ -231,24 +230,24 @@ DONE:
/****if* H5Gf/h5gn_members_c
* NAME
- * h5gn_members_c
+ * h5gn_members_c
* PURPOSE
- * Call H5Gget_info_by_name to find number of objects in the group
+ * Call H5Gget_info_by_name to find number of objects in the group
* INPUTS
- * loc_id - file or group identifier
- * name - name of the group
- * namelen - name length
+ * loc_id - file or group identifier
+ * name - name of the group
+ * namelen - name length
* OUTPUTS
- * nmemebers - number of members
+ * nmemebers - number of members
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* Elena Pourmal
- * Wednesday, August 5, 1999
+ * Wednesday, August 5, 1999
* SOURCE
*/
int_f
-nh5gn_members_c(hid_t_f *loc_id, _fcd name, int_f *namelen, int_f *nmembers)
+h5gn_members_c(hid_t_f *loc_id, _fcd name, int_f *namelen, int_f *nmembers)
/******/
{
char *c_name = NULL;
@@ -276,21 +275,21 @@ DONE:
/****if* H5Gf/h5gclose_c
* NAME
- * h5gclose_c
+ * h5gclose_c
* PURPOSE
- * Call H5Gclose to close the group
+ * Call H5Gclose to close the group
* INPUTS
- * grp_id - identifier of the group to be closed
+ * grp_id - identifier of the group to be closed
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* Elena Pourmal
- * Wednesday, August 5, 1999
+ * Wednesday, August 5, 1999
* SOURCE
*/
int_f
-nh5gclose_c(hid_t_f *grp_id)
+h5gclose_c(hid_t_f *grp_id)
/******/
{
int ret_value = 0;
@@ -303,19 +302,19 @@ nh5gclose_c(hid_t_f *grp_id)
/****if* H5Gf/h5glink_c
* NAME
- * h5glink_c
+ * h5glink_c
* PURPOSE
- * Call H5Glink to link the specified type
+ * Call H5Glink to link the specified type
* INPUTS
- * loc_id - identifier of file or group
- * link_type - link type
- * current_name - name of the existing object for hard link,
- * anything for the soft link
- * current_namelen - current name lenghth
- * new_name - new name for the object
- * new_namelen - new_name lenghth
+ * loc_id - identifier of file or group
+ * link_type - link type
+ * current_name - name of the existing object for hard link,
+ * anything for the soft link
+ * current_namelen - current name lenghth
+ * new_name - new name for the object
+ * new_namelen - new_name lenghth
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* Mingshi Chen
* Friday, August 6, 1999
@@ -323,7 +322,7 @@ nh5gclose_c(hid_t_f *grp_id)
*/
int_f
-nh5glink_c(hid_t_f *loc_id, int_f *link_type, _fcd current_name,
+h5glink_c(hid_t_f *loc_id, int_f *link_type, _fcd current_name,
int_f *current_namelen, _fcd new_name, int_f *new_namelen)
/******/
{
@@ -385,32 +384,32 @@ DONE:
/****if* H5Gf/h5glink2_c
* NAME
- * h5glink2_c
+ * h5glink2_c
* PURPOSE
- * Call H5Glink2 to link the specified type
+ * Call H5Glink2 to link the specified type
* INPUTS
- * cur_loc_id - identifier of file or group
- * cur_name - name of the existing object for hard link releative
- * to cur_loc_id location,
- * anything for the soft link
- * current_namelen - current name lenghth
- * link_type - link type
- * new_loc_id - location identifier
- * new_name - new name for the object releative to the new_loc_id
- * location
- * new_namelen - new_name lenghth
+ * cur_loc_id - identifier of file or group
+ * cur_name - name of the existing object for hard link releative
+ * to cur_loc_id location,
+ * anything for the soft link
+ * current_namelen - current name lenghth
+ * link_type - link type
+ * new_loc_id - location identifier
+ * new_name - new name for the object releative to the new_loc_id
+ * location
+ * new_namelen - new_name lenghth
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* Elena Pourmal
- * Wednesday, September 25, 2002
+ * Wednesday, September 25, 2002
* HISTORY
*
* SOURCE
*/
int_f
-nh5glink2_c(hid_t_f *cur_loc_id, _fcd cur_name, int_f *cur_namelen,
+h5glink2_c(hid_t_f *cur_loc_id, _fcd cur_name, int_f *cur_namelen,
int_f *link_type, hid_t_f *new_loc_id, _fcd new_name, int_f *new_namelen)
/******/
{
@@ -470,14 +469,14 @@ DONE:
/****if* H5Gf/h5gunlink_c
* NAME
- * h5gunlink_c
+ * h5gunlink_c
* PURPOSE
- * Call H5Gunlink to remove the specified name
+ * Call H5Gunlink to remove the specified name
* INPUTS
- * loc_id - identifier of file or group
- * name - name of the object to unlink
+ * loc_id - identifier of file or group
+ * name - name of the object to unlink
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* Mingshi Chen
* Friday, August 6, 1999
@@ -485,7 +484,7 @@ DONE:
*/
int_f
-nh5gunlink_c(hid_t_f *loc_id, _fcd name, int_f *namelen)
+h5gunlink_c(hid_t_f *loc_id, _fcd name, int_f *namelen)
/******/
{
char *c_name = NULL;
@@ -512,17 +511,17 @@ DONE:
/****if* H5Gf/h5gmove_c
* NAME
- * h5gmove_c
+ * h5gmove_c
* PURPOSE
- * Call H5Gmove to rename an object within an HDF5 file
+ * Call H5Gmove to rename an object within an HDF5 file
* INPUTS
- * loc_id - identifier of file or group
- * src_name - name of the original object
- * src_namelen - original name lenghth
- * dst_name - new name for the object
- * dst_namelen - new name lenghth
+ * loc_id - identifier of file or group
+ * src_name - name of the original object
+ * src_namelen - original name lenghth
+ * dst_name - new name for the object
+ * dst_namelen - new name lenghth
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* Mingshi Chen
* Friday, August 6, 1999
@@ -530,7 +529,7 @@ DONE:
*/
int_f
-nh5gmove_c(hid_t_f *loc_id, _fcd src_name, int_f *src_namelen, _fcd dst_name, int_f*dst_namelen)
+h5gmove_c(hid_t_f *loc_id, _fcd src_name, int_f *src_namelen, _fcd dst_name, int_f*dst_namelen)
/******/
{
char *c_src_name = NULL, *c_dst_name = NULL;
@@ -562,18 +561,18 @@ DONE:
/****if* H5Gf/h5gmove2_c
* NAME
- * h5gmove2_c
+ * h5gmove2_c
* PURPOSE
- * Call H5Gmove2 to rename an object within an HDF5 file
+ * Call H5Gmove2 to rename an object within an HDF5 file
* INPUTS
- * src_loc_id - identifier of file or group
- * src_name - name of the original object relative to src_loc_id
- * src_namelen - original name lenghth
- * dst_loc_id - new location identifier
- * dst_name - new name for the object relative to dst_loc_id
- * dst_namelen - new name lenghth
+ * src_loc_id - identifier of file or group
+ * src_name - name of the original object relative to src_loc_id
+ * src_namelen - original name lenghth
+ * dst_loc_id - new location identifier
+ * dst_name - new name for the object relative to dst_loc_id
+ * dst_namelen - new name lenghth
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* Elena Pourmal
* Wednesday, September 25, 2002
@@ -582,7 +581,7 @@ DONE:
*/
int_f
-nh5gmove2_c(hid_t_f *src_loc_id, _fcd src_name, int_f *src_namelen, hid_t_f *dst_loc_id, _fcd dst_name, int_f*dst_namelen)
+h5gmove2_c(hid_t_f *src_loc_id, _fcd src_name, int_f *src_namelen, hid_t_f *dst_loc_id, _fcd dst_name, int_f*dst_namelen)
/******/
{
char *c_src_name = NULL, *c_dst_name = NULL;
@@ -614,18 +613,18 @@ DONE:
/****if* H5Gf/h5gget_linkval_c
* NAME
- * h5gget_linkval_c
+ * h5gget_linkval_c
* PURPOSE
- * Call H5Gget_linkval to return the name of object
+ * Call H5Gget_linkval to return the name of object
* INPUTS
- * loc_id - identifier of file or group
- * name - name of the object that symbolic link points to
- * namelen - the name lenghth
- * size - lenghth of retrurned value
+ * loc_id - identifier of file or group
+ * name - name of the object that symbolic link points to
+ * namelen - the name lenghth
+ * size - lenghth of retrurned value
* OUTPUTS
- * value - name to be returned
+ * value - name to be returned
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* Mingshi Chen
* Friday, August 6, 1999
@@ -633,7 +632,7 @@ DONE:
*/
int_f
-nh5gget_linkval_c(hid_t_f *loc_id, _fcd name, int_f *namelen, size_t_f *size,
+h5gget_linkval_c(hid_t_f *loc_id, _fcd name, int_f *namelen, size_t_f *size,
_fcd value)
/******/
{
@@ -678,26 +677,26 @@ DONE:
/****if* H5Gf/h5gset_comment_c
* NAME
- * h5gset_comment_c
+ * h5gset_comment_c
* PURPOSE
- * Call H5Oset_comment_by_name to set comments for the specified object
+ * Call H5Oset_comment_by_name to set comments for the specified object
* INPUTS
- * loc_id - identifier of file or group
- * name - name of object whose comment is to be set or reset
- * namelen - the name lenghth
- * comment - the new comment
- * commentlen - new comment lenghth
+ * loc_id - identifier of file or group
+ * name - name of object whose comment is to be set or reset
+ * namelen - the name lenghth
+ * comment - the new comment
+ * commentlen - new comment lenghth
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* Mingshi Chen
- * Friday, August 6, 1999
+ * Friday, August 6, 1999
* HISTORY
- * Elena Pourmal
+ * Elena Pourmal
* SOURCE
*/
int_f
-nh5gset_comment_c(hid_t_f *loc_id, _fcd name, int_f *namelen, _fcd comment,
+h5gset_comment_c(hid_t_f *loc_id, _fcd name, int_f *namelen, _fcd comment,
int_f *commentlen)
/******/
{
@@ -729,24 +728,24 @@ DONE:
/****if* H5Gf/h5gget_comment_c
* NAME
- * h5gget_comment_c
+ * h5gget_comment_c
* PURPOSE
- * Call H5Oget_comment_by_name to retrieve comments for the specified object
+ * Call H5Oget_comment_by_name to retrieve comments for the specified object
* INPUTS
- * loc_id - identifier of file or group
- * name - name of object whose comment is to be set or reset
- * namelen - the name lenghth
- * bufsize - at most bufsize characters
- * comment - the new comment
+ * loc_id - identifier of file or group
+ * name - name of object whose comment is to be set or reset
+ * namelen - the name lenghth
+ * bufsize - at most bufsize characters
+ * comment - the new comment
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* Mingshi Chen
- * Friday, August 6, 1999
+ * Friday, August 6, 1999
* SOURCE
*/
int_f
-nh5gget_comment_c(hid_t_f *loc_id, _fcd name, int_f *namelen, size_t_f *bufsize,
+h5gget_comment_c(hid_t_f *loc_id, _fcd name, int_f *namelen, size_t_f *bufsize,
_fcd comment)
/******/
{
@@ -791,26 +790,26 @@ DONE:
/****if* H5Gf/h5gcreate_anon_c
* NAME
- * h5gcreate_anon_c
+ * h5gcreate_anon_c
* PURPOSE
- * Call H5Gcreate_anon
+ * Call H5Gcreate_anon
* INPUTS
*
- * loc_id - Location identifier
- * gcpl_id - Group creation property list identifier
- * gapl_id - Group access property list identifier
+ * loc_id - Location identifier
+ * gcpl_id - Group creation property list identifier
+ * gapl_id - Group access property list identifier
*
* OUTPUTS
- * grp_id - group identifier
+ * grp_id - group identifier
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* M. Scot Breitenfeld
* February 15, 2008
* SOURCE
*/
int_f
-nh5gcreate_anon_c(hid_t_f *loc_id, hid_t_f *gcpl_id, hid_t_f *gapl_id, hid_t_f *grp_id)
+h5gcreate_anon_c(hid_t_f *loc_id, hid_t_f *gcpl_id, hid_t_f *gapl_id, hid_t_f *grp_id)
/******/
{
@@ -825,24 +824,24 @@ done:
/****if* H5Gf/h5gget_create_plist_c
* NAME
- * h5gget_create_plist_c
+ * h5gget_create_plist_c
* PURPOSE
- * Call H5Gget_create_plist
+ * Call H5Gget_create_plist
* INPUTS
*
- * grp_id - group identifier
+ * grp_id - group identifier
*
* OUTPUTS
- * gcpl_id - Group creation property list identifier
+ * gcpl_id - Group creation property list identifier
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* M. Scot Breitenfeld
* February 15, 2008
* SOURCE
*/
int_f
-nh5gget_create_plist_c(hid_t_f *grp_id, hid_t_f *gcpl_id )
+h5gget_create_plist_c(hid_t_f *grp_id, hid_t_f *gcpl_id )
/******/
{
int_f ret_value=0; /* Return value */
@@ -857,36 +856,36 @@ done:
/****if* H5Gf/h5gget_info_c
* NAME
- * h5gget_info_c
+ * h5gget_info_c
* PURPOSE
- * Call H5Gget_info
+ * Call H5Gget_info
* INPUTS
- * group_id - Group identifier
+ * group_id - Group identifier
* OUTPUTS
*
- * storage_type - Type of storage for links in group:
+ * storage_type - Type of storage for links in group:
* H5G_STORAGE_TYPE_COMPACT: Compact storage
* H5G_STORAGE_TYPE_DENSE: Indexed storage
* H5G_STORAGE_TYPE_SYMBOL_TABLE: Symbol tables, the original HDF5 structure
*
- * nlinks - Number of links in group
- * max_corder - Current maximum creation order value for group
- * mounted - Whether group has a file mounted on it (0 = false, 1 = true)
+ * nlinks - Number of links in group
+ * max_corder - Current maximum creation order value for group
+ * mounted - Whether group has a file mounted on it (0 = false, 1 = true)
*
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* M. Scot Breitenfeld
- * February 15, 2008
+ * February 15, 2008
* HISTORY
*
- * - Added 'mounted' paramater
- * M. Scot Breitenfeld
- * July 16, 2008
+ * - Added 'mounted' paramater
+ * M. Scot Breitenfeld
+ * July 16, 2008
* SOURCE
*/
int_f
-nh5gget_info_c (hid_t_f *group_id, int_f *storage_type, int_f *nlinks, int_f *max_corder, int_f *mounted )
+h5gget_info_c (hid_t_f *group_id, int_f *storage_type, int_f *nlinks, int_f *max_corder, int_f *mounted )
/******/
{
@@ -914,43 +913,43 @@ done:
/****if* H5Gf/h5gget_info_by_idx_c
* NAME
- * h5gget_info_by_idx_c
+ * h5gget_info_by_idx_c
* PURPOSE
- * Call H5Gget_info_by_idx
+ * Call H5Gget_info_by_idx
* INPUTS
*
- * loc_id - File or group identifier
- * group_name - Name of group containing group for which information is to be retrieved
- * group_namelen - name length
- * index_type - Index type
- * order - Order of the count in the index
- * n - Position in the index of the group for which information is retrieved
- * lapl_id - Link access property list
+ * loc_id - File or group identifier
+ * group_name - Name of group containing group for which information is to be retrieved
+ * group_namelen - name length
+ * index_type - Index type
+ * order - Order of the count in the index
+ * n - Position in the index of the group for which information is retrieved
+ * lapl_id - Link access property list
* OUTPUTS
*
- * storage_type - Type of storage for links in group:
+ * storage_type - Type of storage for links in group:
* H5G_STORAGE_TYPE_COMPACT: Compact storage
* H5G_STORAGE_TYPE_DENSE: Indexed storage
* H5G_STORAGE_TYPE_SYMBOL_TABLE: Symbol tables, the original HDF5 structure
*
- * nlinks - Number of links in group
- * max_corder - Current maximum creation order value for group
- * mounted - Whether group has a file mounted on it (0 = false, 1 = true)
+ * nlinks - Number of links in group
+ * max_corder - Current maximum creation order value for group
+ * mounted - Whether group has a file mounted on it (0 = false, 1 = true)
*
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* M. Scot Breitenfeld
- * February 18, 2008
+ * February 18, 2008
* HISTORY
*
- * - Added 'mounted' paramater
- * M. Scot Breitenfeld
- * July 16, 2008
+ * - Added 'mounted' parameter
+ * M. Scot Breitenfeld
+ * July 16, 2008
* SOURCE
*/
int_f
-nh5gget_info_by_idx_c(hid_t_f *loc_id, _fcd group_name, size_t_f *group_namelen,
+h5gget_info_by_idx_c(hid_t_f *loc_id, _fcd group_name, size_t_f *group_namelen,
int_f *index_type, int_f *order, hsize_t_f *n, hid_t_f *lapl_id,
int_f *storage_type, int_f *nlinks, int_f *max_corder, int_f *mounted )
/******/
@@ -987,40 +986,40 @@ nh5gget_info_by_idx_c(hid_t_f *loc_id, _fcd group_name, size_t_f *group_namelen,
/****if* H5Gf/h5gget_info_by_name_c
* NAME
- * h5gget_info_by_name_c
+ * h5gget_info_by_name_c
* PURPOSE
- * Call H5Gget_info_by_name
+ * Call H5Gget_info_by_name
* INPUTS
*
- * loc_id - File or group identifier
- * group_name - Name of group containing group for which information is to be retrieved
- * group_namelen - name length
- * lapl_id - Link access property list
+ * loc_id - File or group identifier
+ * group_name - Name of group containing group for which information is to be retrieved
+ * group_namelen - name length
+ * lapl_id - Link access property list
* OUTPUTS
*
- * storage_type - Type of storage for links in group:
+ * storage_type - Type of storage for links in group:
* H5G_STORAGE_TYPE_COMPACT: Compact storage
* H5G_STORAGE_TYPE_DENSE: Indexed storage
* H5G_STORAGE_TYPE_SYMBOL_TABLE: Symbol tables, the original HDF5 structure
*
- * nlinks - Number of links in group
- * max_corder - Current maximum creation order value for group
- * mounted - Whether group has a file mounted on it (0 = false, 1 = true)
+ * nlinks - Number of links in group
+ * max_corder - Current maximum creation order value for group
+ * mounted - Whether group has a file mounted on it (0 = false, 1 = true)
*
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* M. Scot Breitenfeld
- * February 18, 2008
+ * February 18, 2008
* HISTORY
*
- * - Added 'mounted' paramater
- * M. Scot Breitenfeld
- * July 16, 2008
+ * - Added 'mounted' paramater
+ * M. Scot Breitenfeld
+ * July 16, 2008
* SOURCE
*/
int_f
-nh5gget_info_by_name_c(hid_t_f *loc_id, _fcd group_name, size_t_f *group_namelen, hid_t_f *lapl_id,
+h5gget_info_by_name_c(hid_t_f *loc_id, _fcd group_name, size_t_f *group_namelen, hid_t_f *lapl_id,
int_f *storage_type, int_f *nlinks, int_f *max_corder, int_f *mounted)
/******/
{
diff --git a/fortran/src/H5Gff.f90 b/fortran/src/H5Gff.F90
index d4d7496..2e002b5 100644
--- a/fortran/src/H5Gff.f90
+++ b/fortran/src/H5Gff.F90
@@ -26,7 +26,13 @@
! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
!
! NOTES
-! *** IMPORTANT ***
+! _____ __ __ _____ ____ _____ _______ _ _ _______
+! |_ _| \/ | __ \ / __ \| __ \__ __|/\ | \ | |__ __|
+! **** | | | \ / | |__) | | | | |__) | | | / \ | \| | | | ****
+! **** | | | |\/| | ___/| | | | _ / | | / /\ \ | . ` | | | ****
+! **** _| |_| | | | | | |__| | | \ \ | |/ ____ \| |\ | | | ****
+! |_____|_| |_|_| \____/|_| \_\ |_/_/ \_\_| \_| |_|
+!
! If you add a new H5G function you must add the function name to the
! Windows dll file 'hdf5_fortrandll.def.in' in the fortran/src directory.
! This is needed for Windows based operating systems.
@@ -34,16 +40,9 @@
!*****
MODULE H5G
+ USE, INTRINSIC :: ISO_C_BINDING, ONLY : C_CHAR
USE H5GLOBAL
-! PRIVATE :: h5gcreate1_f
-! PRIVATE :: h5gcreate2_f
-
-! INTERFACE h5gcreate_f
-! MODULE PROCEDURE h5gcreate1_f
-! MODULE PROCEDURE h5gcreate2_f
-! END INTERFACE
-
CONTAINS
!****s* H5G/h5gcreate_f
@@ -108,14 +107,12 @@ CONTAINS
INTERFACE
INTEGER FUNCTION h5gcreate_c(loc_id, name, namelen, &
- size_hint_default, grp_id, lcpl_id_default, gcpl_id_default, gapl_id_default)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5GCREATE_C'::h5gcreate_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: name
+ size_hint_default, grp_id, lcpl_id_default, gcpl_id_default, gapl_id_default) &
+ BIND(C,NAME='h5gcreate_c')
+ IMPORT :: C_CHAR
+ IMPORT :: HID_T, SIZE_T
INTEGER(HID_T), INTENT(IN) :: loc_id
- CHARACTER(LEN=*), INTENT(IN) :: name
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(IN) :: name
INTEGER :: namelen
INTEGER(SIZE_T) :: size_hint_default
INTEGER(HID_T), INTENT(OUT) :: grp_id
@@ -176,7 +173,7 @@ CONTAINS
!!$ SUBROUTINE h5gcreate2_f(name, loc_id, grp_id, hdferr, &
!!$ lcpl_id, gcpl_id, gapl_id)
!!$ IMPLICIT NONE
-!!$ CHARACTER(LEN=*), INTENT(IN) :: name ! Name of the group
+!!$ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(IN) :: name ! Name of the group
!!$ INTEGER(HID_T), INTENT(IN) :: loc_id ! File or group identifier
!!$ INTEGER, INTENT(OUT) :: hdferr ! Error code
!!$ INTEGER(HID_T), INTENT(OUT) :: grp_id ! Group identifier
@@ -205,7 +202,7 @@ CONTAINS
!!$ !DEC$ENDIF
!!$ !DEC$ATTRIBUTES reference :: name
!!$ INTEGER(HID_T), INTENT(IN) :: loc_id
-!!$ CHARACTER(LEN=*), INTENT(IN) :: name
+!!$ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(IN) :: name
!!$ INTEGER :: namelen
!!$ INTEGER(SIZE_T) :: OBJECT_NAME
! LEN_DEFAULT
@@ -278,14 +275,12 @@ CONTAINS
INTEGER :: namelen ! Length of the name character string
INTERFACE
- INTEGER FUNCTION h5gopen_c(loc_id, name, namelen, gapl_id_default, grp_id)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5GOPEN_C'::h5gopen_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: name
+ INTEGER FUNCTION h5gopen_c(loc_id, name, namelen, gapl_id_default, grp_id) &
+ BIND(C,NAME='h5gopen_c')
+ IMPORT :: C_CHAR
+ IMPORT :: HID_T
INTEGER(HID_T), INTENT(IN) :: loc_id
- CHARACTER(LEN=*), INTENT(IN) :: name
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(IN) :: name
INTEGER :: namelen
INTEGER(HID_T), INTENT(IN) :: gapl_id_default
INTEGER(HID_T), INTENT(OUT) :: grp_id
@@ -328,11 +323,8 @@ CONTAINS
INTEGER, INTENT(OUT) :: hdferr ! Error code
!*****
INTERFACE
- INTEGER FUNCTION h5gclose_c(grp_id)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5GCLOSE_C'::h5gclose_c
- !DEC$ENDIF
+ INTEGER FUNCTION h5gclose_c(grp_id) BIND(C,NAME='h5gclose_c')
+ IMPORT :: HID_T
INTEGER(HID_T), INTENT(IN) :: grp_id
END FUNCTION h5gclose_c
END INTERFACE
@@ -384,18 +376,14 @@ CONTAINS
INTERFACE
INTEGER FUNCTION h5gget_obj_info_idx_c(loc_id, name, &
namelen, idx, &
- obj_name, obj_namelen, obj_type)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5GGET_OBJ_INFO_IDX_C'::h5gget_obj_info_idx_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: name
- !DEC$ATTRIBUTES reference :: obj_name
+ obj_name, obj_namelen, obj_type) BIND(C,NAME='h5gget_obj_info_idx_c')
+ IMPORT :: C_CHAR
+ IMPORT :: HID_T
INTEGER(HID_T), INTENT(IN) :: loc_id
- CHARACTER(LEN=*), INTENT(IN) :: name
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(IN) :: name
INTEGER :: namelen
INTEGER, INTENT(IN) :: idx
- CHARACTER(LEN=*), INTENT(OUT) :: obj_name
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(OUT) :: obj_name
INTEGER :: obj_namelen
INTEGER, INTENT(OUT) :: obj_type
END FUNCTION h5gget_obj_info_idx_c
@@ -444,17 +432,15 @@ CONTAINS
INTEGER :: namelen ! Length of the name character string
INTERFACE
- INTEGER FUNCTION h5gn_members_c(loc_id, name, namelen, nmembers)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5GN_MEMBERS_C'::h5gn_members_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: name
- INTEGER(HID_T), INTENT(IN) :: loc_id
- CHARACTER(LEN=*), INTENT(IN) :: name
- INTEGER :: namelen
- INTEGER, INTENT(OUT) :: nmembers
- END FUNCTION h5gn_members_c
+ INTEGER FUNCTION h5gn_members_c(loc_id, name, namelen, nmembers) &
+ BIND(C,NAME='h5gn_members_c')
+ IMPORT :: C_CHAR
+ IMPORT :: HID_T
+ INTEGER(HID_T), INTENT(IN) :: loc_id
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(IN) :: name
+ INTEGER :: namelen
+ INTEGER, INTENT(OUT) :: nmembers
+ END FUNCTION h5gn_members_c
END INTERFACE
namelen = LEN(name)
@@ -512,19 +498,15 @@ CONTAINS
INTERFACE
INTEGER FUNCTION h5glink_c(loc_id, link_type, current_name, &
- current_namelen, new_name, new_namelen)
-
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5GLINK_C'::h5glink_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: current_name
- !DEC$ATTRIBUTES reference :: new_name
+ current_namelen, new_name, new_namelen) &
+ BIND(C,NAME='h5glink_c')
+ IMPORT :: C_CHAR
+ IMPORT :: HID_T
INTEGER(HID_T), INTENT(IN) :: loc_id
INTEGER, INTENT(IN) :: link_type
- CHARACTER(LEN=*), INTENT(IN) :: current_name
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(IN) :: current_name
INTEGER :: current_namelen
- CHARACTER(LEN=*), INTENT(IN) :: new_name
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(IN) :: new_name
INTEGER :: new_namelen
END FUNCTION h5glink_c
END INTERFACE
@@ -585,19 +567,14 @@ CONTAINS
INTERFACE
INTEGER FUNCTION h5glink2_c(cur_loc_id, cur_name, cur_namelen, &
link_type, new_loc_id, &
- new_name, new_namelen)
-
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5GLINK2_C'::h5glink2_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: cur_name
- !DEC$ATTRIBUTES reference :: new_name
+ new_name, new_namelen) BIND(C,NAME='h5glink2_c')
+ IMPORT :: C_CHAR
+ IMPORT :: HID_T
INTEGER(HID_T), INTENT(IN) :: cur_loc_id
INTEGER(HID_T), INTENT(IN) :: new_loc_id
INTEGER, INTENT(IN) :: link_type
- CHARACTER(LEN=*), INTENT(IN) :: cur_name
- CHARACTER(LEN=*), INTENT(IN) :: new_name
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(IN) :: cur_name
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(IN) :: new_name
INTEGER :: cur_namelen
INTEGER :: new_namelen
END FUNCTION h5glink2_c
@@ -621,10 +598,10 @@ CONTAINS
! points
!
! INPUTS
-! loc_id - location identifier
-! name - name of the object to unlink
+! loc_id - location identifier
+! name - name of the object to unlink
! OUTPUTS
-! hdferr - Returns 0 if successful and -1 if fails
+! hdferr - Returns 0 if successful and -1 if fails
!
! AUTHOR
! Elena Pourmal
@@ -645,14 +622,11 @@ CONTAINS
INTEGER :: namelen ! Lenghth of the name character string
INTERFACE
- INTEGER FUNCTION h5gunlink_c(loc_id, name, namelen)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5GUNLINK_C'::h5gunlink_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: name
+ INTEGER FUNCTION h5gunlink_c(loc_id, name, namelen) BIND(C,NAME='h5gunlink_c')
+ IMPORT :: C_CHAR
+ IMPORT :: HID_T
INTEGER(HID_T), INTENT(IN) :: loc_id
- CHARACTER(LEN=*), INTENT(IN) :: name
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(IN) :: name
INTEGER :: namelen
END FUNCTION h5gunlink_c
END INTERFACE
@@ -698,17 +672,13 @@ CONTAINS
INTEGER :: new_namelen ! Lenghth of the new_name string
INTERFACE
- INTEGER FUNCTION h5gmove_c(loc_id, name, namelen, new_name, new_namelen)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5GMOVE_C'::h5gmove_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: name
- !DEC$ATTRIBUTES reference :: new_name
+ INTEGER FUNCTION h5gmove_c(loc_id, name, namelen, new_name, new_namelen) BIND(C,NAME='h5gmove_c')
+ IMPORT :: C_CHAR
+ IMPORT :: HID_T
INTEGER(HID_T), INTENT(IN) :: loc_id
- CHARACTER(LEN=*), INTENT(IN) :: name
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(IN) :: name
INTEGER :: namelen
- CHARACTER(LEN=*), INTENT(IN) :: new_name
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(IN) :: new_name
INTEGER :: new_namelen
END FUNCTION h5gmove_c
END INTERFACE
@@ -751,17 +721,13 @@ CONTAINS
INTERFACE
INTEGER FUNCTION h5gmove2_c(src_loc_id, src_name, src_namelen, &
- dst_loc_id, dst_name, dst_namelen)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5GMOVE2_C'::h5gmove2_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: src_name
- !DEC$ATTRIBUTES reference :: dst_name
+ dst_loc_id, dst_name, dst_namelen) BIND(C,NAME='h5gmove2_c')
+ IMPORT :: C_CHAR
+ IMPORT :: HID_T
INTEGER(HID_T), INTENT(IN) :: src_loc_id
INTEGER(HID_T), INTENT(IN) :: dst_loc_id
- CHARACTER(LEN=*), INTENT(IN) :: src_name
- CHARACTER(LEN=*), INTENT(IN) :: dst_name
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(IN) :: src_name
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(IN) :: dst_name
INTEGER :: src_namelen
INTEGER :: dst_namelen
END FUNCTION h5gmove2_c
@@ -815,18 +781,14 @@ CONTAINS
INTEGER :: namelen ! Lenghth of the current_name string
INTERFACE
- INTEGER FUNCTION h5gget_linkval_c(loc_id, name, namelen, size, buffer)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5GGET_LINKVAL_C'::h5gget_linkval_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: name
- !DEC$ATTRIBUTES reference :: buffer
+ INTEGER FUNCTION h5gget_linkval_c(loc_id, name, namelen, size, buffer) BIND(C,NAME='h5gget_linkval_c')
+ IMPORT :: C_CHAR, SIZE_T
+ IMPORT :: HID_T
INTEGER(HID_T), INTENT(IN) :: loc_id
- CHARACTER(LEN=*), INTENT(IN) :: name
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(IN) :: name
INTEGER :: namelen
INTEGER(SIZE_T), INTENT(IN) :: size
- CHARACTER(LEN=*), INTENT(OUT) :: buffer
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(OUT) :: buffer
END FUNCTION h5gget_linkval_c
END INTERFACE
@@ -872,17 +834,13 @@ CONTAINS
INTERFACE
INTEGER FUNCTION h5gset_comment_c(loc_id, name, namelen, &
- comment, commentlen)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5GSET_COMMENT_C'::h5gset_comment_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: name
- !DEC$ATTRIBUTES reference :: comment
+ comment, commentlen) BIND(C,NAME='h5gset_comment_c')
+ IMPORT :: C_CHAR
+ IMPORT :: HID_T
INTEGER(HID_T), INTENT(IN) :: loc_id
- CHARACTER(LEN=*), INTENT(IN) :: name
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(IN) :: name
INTEGER :: namelen
- CHARACTER(LEN=*), INTENT(IN) :: comment
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(IN) :: comment
INTEGER :: commentlen
END FUNCTION h5gset_comment_c
END INTERFACE
@@ -930,17 +888,14 @@ CONTAINS
INTEGER :: namelen ! Length of the current_name string
INTERFACE
- INTEGER FUNCTION h5gget_comment_c(loc_id, name, namelen, size, buffer)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5GGET_COMMENT_C'::h5gget_comment_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: name, buffer
+ INTEGER FUNCTION h5gget_comment_c(loc_id, name, namelen, size, buffer) BIND(C,NAME='h5gget_comment_c')
+ IMPORT :: C_CHAR
+ IMPORT :: HID_T, SIZE_T
INTEGER(HID_T), INTENT(IN) :: loc_id
- CHARACTER(LEN=*), INTENT(IN) :: name
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(IN) :: name
INTEGER :: namelen
INTEGER(SIZE_T), INTENT(IN) :: size
- CHARACTER(LEN=*), INTENT(OUT) :: buffer
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(OUT) :: buffer
END FUNCTION h5gget_comment_c
END INTERFACE
@@ -983,11 +938,9 @@ CONTAINS
INTEGER(HID_T) :: gapl_id_default
INTERFACE
- INTEGER FUNCTION h5gcreate_anon_c(loc_id, gcpl_id_default, gapl_id_default, grp_id)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5GCREATE_ANON_C'::h5gcreate_anon_c
- !DEC$ENDIF
+ INTEGER FUNCTION h5gcreate_anon_c(loc_id, gcpl_id_default, gapl_id_default, grp_id) &
+ BIND(C,NAME='h5gcreate_anon_c')
+ IMPORT :: HID_T
INTEGER(HID_T), INTENT(IN) :: loc_id ! File or group identifier
INTEGER(HID_T), INTENT(IN) :: gcpl_id_default ! Property list for group creation
INTEGER(HID_T), INTENT(IN) :: gapl_id_default ! Property list for group access
@@ -1030,11 +983,8 @@ CONTAINS
INTEGER, INTENT(OUT) :: hdferr ! Error code
!*****
INTERFACE
- INTEGER FUNCTION h5gget_create_plist_c(grp_id, gcpl_id )
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5GGET_CREATE_PLIST_C'::h5gget_create_plist_c
- !DEC$ENDIF
+ INTEGER FUNCTION h5gget_create_plist_c(grp_id, gcpl_id ) BIND(C,NAME='h5gget_create_plist_c')
+ IMPORT :: HID_T
INTEGER(HID_T), INTENT(IN) :: grp_id
INTEGER(HID_T), INTENT(OUT) :: gcpl_id
END FUNCTION h5gget_create_plist_c
@@ -1098,11 +1048,9 @@ CONTAINS
INTEGER :: mounted_c
INTERFACE
- INTEGER FUNCTION h5gget_info_c(group_id, storage_type, nlinks, max_corder, mounted_c)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5GGET_INFO_C'::h5gget_info_c
- !DEC$ENDIF
+ INTEGER FUNCTION h5gget_info_c(group_id, storage_type, nlinks, max_corder, mounted_c) &
+ BIND(C,NAME='h5gget_info_c')
+ IMPORT :: HID_T
INTEGER(HID_T), INTENT(IN) :: group_id
INTEGER, INTENT(OUT) :: storage_type
INTEGER, INTENT(OUT) :: nlinks
@@ -1189,15 +1137,11 @@ CONTAINS
INTERFACE
INTEGER FUNCTION h5gget_info_by_idx_c(loc_id, group_name, group_name_len, index_type, order, n, lapl_id_default, &
- storage_type, nlinks, max_corder, mounted_c)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5GGET_INFO_BY_IDX_C'::h5gget_info_by_idx_c
- !DEC$ENDIF
-
- !DEC$ATTRIBUTES reference :: group_name
+ storage_type, nlinks, max_corder, mounted_c) BIND(C,NAME='h5gget_info_by_idx_c')
+ IMPORT :: C_CHAR
+ IMPORT :: HID_T, SIZE_T, HSIZE_T
INTEGER(HID_T), INTENT(IN) :: loc_id
- CHARACTER(LEN=*), INTENT(IN) :: group_name
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(IN) :: group_name
INTEGER, INTENT(IN) :: index_type
INTEGER, INTENT(IN) :: order
INTEGER(HSIZE_T), INTENT(IN) :: n
@@ -1291,14 +1235,11 @@ CONTAINS
INTERFACE
INTEGER FUNCTION h5gget_info_by_name_c(loc_id, group_name, group_name_len, lapl_id_default, &
- storage_type, nlinks, max_corder, mounted_c)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5GGET_INFO_BY_NAME_C'::h5gget_info_by_name_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: group_name
+ storage_type, nlinks, max_corder, mounted_c) BIND(C,NAME='h5gget_info_by_name_c')
+ IMPORT :: C_CHAR
+ IMPORT :: HID_T, SIZE_T
INTEGER(HID_T), INTENT(IN) :: loc_id
- CHARACTER(LEN=*), INTENT(IN) :: group_name
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(IN) :: group_name
INTEGER(HID_T), INTENT(IN) :: lapl_id_default
INTEGER, INTENT(OUT) :: storage_type
INTEGER, INTENT(OUT) :: nlinks
diff --git a/fortran/src/H5If.c b/fortran/src/H5If.c
index 55868dd..fdab0b6 100644
--- a/fortran/src/H5If.c
+++ b/fortran/src/H5If.c
@@ -1,6 +1,6 @@
/****h* H5If/H5If
* PURPOSE
- * This file contains C stubs for H5I Fortran APIs
+ * This file contains C stubs for H5I Fortran APIs
*
* COPYRIGHT
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
@@ -25,15 +25,15 @@
/****if* H5If/h5iget_type_c
* NAME
- * h5iget_type_c
+ * h5iget_type_c
* PURPOSE
- * Call H5Iget_type to get the type of an object
+ * Call H5Iget_type to get the type of an object
* INPUTS
- * obj_id - object identifier
+ * obj_id - object identifier
* OUTPUTS
- * type - object type
+ * type - object type
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* Xiangyang Su
* Thursday, March 24, 2000
@@ -42,7 +42,7 @@
* SOURCE
*/
int_f
-nh5iget_type_c (hid_t_f *obj_id, int_f *type)
+h5iget_type_c (hid_t_f *obj_id, int_f *type)
/******/
{
int ret_value = -1;
@@ -61,29 +61,29 @@ nh5iget_type_c (hid_t_f *obj_id, int_f *type)
}
/****if* H5If/h5iget_name_c
* NAME
- * h5iget_name_c
+ * h5iget_name_c
* PURPOSE
- * Call H5Iget_name to get object's name
+ * Call H5Iget_name to get object's name
* INPUTS
- * obj_id - object identifier
- * buf_size - size of the buffer
+ * obj_id - object identifier
+ * buf_size - size of the buffer
* OUTPUTS
- * buf - buffer to hold the name
+ * buf - buffer to hold the name
* RETURNS
- * length of the name on success, -1 on failure
+ * length of the name on success, -1 on failure
* AUTHOR
* Elena Pourmal
- * Wednesday, March 12, 2003
+ * Wednesday, March 12, 2003
* HISTORY
*
- * Changed the size of c_buf_size to c_buf_size + 1, which
- * fixes the problem of truncating the string by 1 if the
- * exact size of the string (buf_size) is passed in.
+ * Changed the size of c_buf_size to c_buf_size + 1, which
+ * fixes the problem of truncating the string by 1 if the
+ * exact size of the string (buf_size) is passed in.
* M. Scot Breitenfeld, April 21, 2008
* SOURCE
*/
int_f
-nh5iget_name_c(hid_t_f *obj_id, _fcd buf, size_t_f *buf_size, size_t_f *name_size)
+h5iget_name_c(hid_t_f *obj_id, _fcd buf, size_t_f *buf_size, size_t_f *name_size)
/******/
{
int ret_value = -1;
@@ -120,22 +120,22 @@ DONE:
/****if* H5If/h5iinc_ref_c
* NAME
- * h5iinc_ref_c
+ * h5iinc_ref_c
* PURPOSE
- * Call H5Iinc_ref to increment object's reference count
+ * Call H5Iinc_ref to increment object's reference count
* INPUTS
- * obj_id - object identifier
+ * obj_id - object identifier
* OUTPUTS
- * ref_count - Reference count of ID
+ * ref_count - Reference count of ID
* RETURNS
- * current reference count on success, -1 on failure
+ * current reference count on success, -1 on failure
* AUTHOR
* Quincey Koziol
* Tuesday, December 9, 2003
* SOURCE
*/
int_f
-nh5iinc_ref_c(hid_t_f *obj_id, int_f *ref_count)
+h5iinc_ref_c(hid_t_f *obj_id, int_f *ref_count)
/******/
{
int ret_value;
@@ -156,22 +156,22 @@ done:
/****if* H5If/h5idec_ref_c
* NAME
- * h5idec_ref_c
+ * h5idec_ref_c
* PURPOSE
- * Call H5Idec_ref to decrement object's reference count
+ * Call H5Idec_ref to decrement object's reference count
* INPUTS
- * obj_id - object identifier
+ * obj_id - object identifier
* OUTPUTS
- * ref_count - Reference count of ID
+ * ref_count - Reference count of ID
* RETURNS
- * current reference count on success, -1 on failure
+ * current reference count on success, -1 on failure
* AUTHOR
* Quincey Koziol
- * Tuesday, December 9, 2003
+ * Tuesday, December 9, 2003
* SOURCE
*/
int_f
-nh5idec_ref_c(hid_t_f *obj_id, int_f *ref_count)
+h5idec_ref_c(hid_t_f *obj_id, int_f *ref_count)
/******/
{
int ret_value;
@@ -192,15 +192,15 @@ done:
/****if* H5If/h5iget_ref_c
* NAME
- * h5iget_ref_c
+ * h5iget_ref_c
* PURPOSE
- * Call H5Iget_ref to retrieve object's reference count
+ * Call H5Iget_ref to retrieve object's reference count
* INPUTS
- * obj_id - object identifier
+ * obj_id - object identifier
* OUTPUTS
- * ref_count - Reference count of ID
+ * ref_count - Reference count of ID
* RETURNS
- * current reference count on success, -1 on failure
+ * current reference count on success, -1 on failure
* AUTHOR
* Quincey Koziol
* Tuesday, December 9, 2003
@@ -208,7 +208,7 @@ done:
* SOURCE
*/
int_f
-nh5iget_ref_c(hid_t_f *obj_id, int_f *ref_count)
+h5iget_ref_c(hid_t_f *obj_id, int_f *ref_count)
/******/
{
int ret_value;
@@ -229,15 +229,15 @@ done:
/****if* H5If/h5iget_file_id_c
* NAME
- * h5iget_file_id_c
+ * h5iget_file_id_c
* PURPOSE
- * Call H5Iget_file_id to obtain file identifier from object identifier
+ * Call H5Iget_file_id to obtain file identifier from object identifier
* INPUTS
- * obj_id - object identifier
+ * obj_id - object identifier
* OUTPUTS
- * file_id - file identifier
+ * file_id - file identifier
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* Elena Pourmal
* Tuesday, August 24, 2004
@@ -245,7 +245,7 @@ done:
* SOURCE
*/
int_f
-nh5iget_file_id_c(hid_t_f *obj_id, hid_t_f *file_id)
+h5iget_file_id_c(hid_t_f *obj_id, hid_t_f *file_id)
/******/
{
int ret_value;
@@ -266,17 +266,17 @@ done:
}
/*----------------------------------------------------------------------------
- * Name: h5iis_valid_c
- * Purpose: Calls H5Iis_valid
- * Inputs: obj_id - object identifier
- * Outputs: 0 = false, 1 = true
- * Returns: 0 on success, -1 on failure
- * Programmer: Elena Pourmal
- * Tuesday, August 24, 2004
- * Modifications:
+ * Name: h5iis_valid_c
+ * Purpose: Calls H5Iis_valid
+ * Inputs: obj_id - object identifier
+ * Outputs: 0 = false, 1 = true
+ * Returns: 0 on success, -1 on failure
+ * Programmer: Elena Pourmal
+ * Tuesday, August 24, 2004
+ * Modifications:
*---------------------------------------------------------------------------*/
int_f
-nh5iis_valid_c(hid_t_f *obj_id, int_f *c_valid)
+h5iis_valid_c(hid_t_f *obj_id, int_f *c_valid)
{
int ret_value;
htri_t c_ret_value;
diff --git a/fortran/src/H5Iff.f90 b/fortran/src/H5Iff.F90
index 7c9a843..c91a8aa 100644
--- a/fortran/src/H5Iff.f90
+++ b/fortran/src/H5Iff.F90
@@ -4,7 +4,7 @@
! MODULE H5I
!
! FILE
-! fortran/src/H5Iff.f90
+! fortran/src/H5Iff.F90
!
! PURPOSE
! This file contains Fortran interfaces for H5I functions.
@@ -26,7 +26,13 @@
! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
!
! NOTES
-! *** IMPORTANT ***
+! _____ __ __ _____ ____ _____ _______ _ _ _______
+! |_ _| \/ | __ \ / __ \| __ \__ __|/\ | \ | |__ __|
+! **** | | | \ / | |__) | | | | |__) | | | / \ | \| | | | ****
+! **** | | | |\/| | ___/| | | | _ / | | / /\ \ | . ` | | | ****
+! **** _| |_| | | | | | |__| | | \ \ | |/ ____ \| |\ | | | ****
+! |_____|_| |_|_| \____/|_| \_\ |_/_/ \_\_| \_| |_|
+!
! If you add a new H5I function you must add the function name to the
! Windows dll file 'hdf5_fortrandll.def.in' in the fortran/src directory.
! This is needed for Windows based operating systems.
@@ -34,7 +40,8 @@
!*****
MODULE H5I
-
+
+ USE, INTRINSIC :: ISO_C_BINDING, ONLY : C_PTR, C_CHAR
USE H5GLOBAL
CONTAINS
@@ -87,11 +94,9 @@ CONTAINS
INTEGER, INTENT(OUT) :: hdferr ! Error code
!*****
INTERFACE
- INTEGER FUNCTION h5iget_type_c(obj_id, TYPE)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5IGET_TYPE_C':: h5iget_type_c
- !DEC$ENDIF
+ INTEGER FUNCTION h5iget_type_c(obj_id, TYPE) BIND(C, NAME='h5iget_type_c')
+ IMPORT :: HID_T
+ IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: obj_id
INTEGER, INTENT(OUT) :: TYPE
END FUNCTION h5iget_type_c
@@ -133,14 +138,12 @@ CONTAINS
! -1 if fail
!*****
INTERFACE
- INTEGER FUNCTION h5iget_name_c(obj_id, buf, buf_size, name_size)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5IGET_NAME_C'::h5iget_name_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: buf
+ INTEGER FUNCTION h5iget_name_c(obj_id, buf, buf_size, name_size) BIND(C, NAME='h5iget_name_c')
+ IMPORT :: C_CHAR
+ IMPORT :: HID_T, SIZE_T
+ IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: obj_id
- CHARACTER(LEN=*), INTENT(OUT) :: buf
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(OUT) :: buf
INTEGER(SIZE_T), INTENT(IN) :: buf_size
INTEGER(SIZE_T), INTENT(OUT) :: name_size
END FUNCTION h5iget_name_c
@@ -176,11 +179,9 @@ CONTAINS
INTEGER, INTENT(OUT) :: hdferr ! Error code
!*****
INTERFACE
- INTEGER FUNCTION h5iinc_ref_c(obj_id, ref_count)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5IINC_REF_C':: h5iinc_ref_c
- !DEC$ENDIF
+ INTEGER FUNCTION h5iinc_ref_c(obj_id, ref_count) BIND(C, NAME='h5iinc_ref_c')
+ IMPORT :: HID_T
+ IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: obj_id
INTEGER, INTENT(OUT) :: ref_count
END FUNCTION h5iinc_ref_c
@@ -215,11 +216,9 @@ CONTAINS
INTEGER, INTENT(OUT) :: hdferr ! Error code
!*****
INTERFACE
- INTEGER FUNCTION h5idec_ref_c(obj_id, ref_count)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5IDEC_REF_C':: h5idec_ref_c
- !DEC$ENDIF
+ INTEGER FUNCTION h5idec_ref_c(obj_id, ref_count) BIND(C, NAME='h5idec_ref_c')
+ IMPORT :: HID_T
+ IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: obj_id
INTEGER, INTENT(OUT) :: ref_count
END FUNCTION h5idec_ref_c
@@ -254,11 +253,9 @@ CONTAINS
INTEGER, INTENT(OUT) :: hdferr ! Error code
!*****
INTERFACE
- INTEGER FUNCTION h5iget_ref_c(obj_id, ref_count)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5IGET_REF_C':: h5iget_ref_c
- !DEC$ENDIF
+ INTEGER FUNCTION h5iget_ref_c(obj_id, ref_count) BIND(C, NAME='h5iget_ref_c')
+ IMPORT :: HID_T
+ IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: obj_id
INTEGER, INTENT(OUT) :: ref_count
END FUNCTION h5iget_ref_c
@@ -292,11 +289,9 @@ CONTAINS
INTEGER, INTENT(OUT) :: hdferr ! Error code
!*****
INTERFACE
- INTEGER FUNCTION h5iget_file_id_c(obj_id, file_id)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5IGET_FILE_ID_C':: h5iget_file_id_c
- !DEC$ENDIF
+ INTEGER FUNCTION h5iget_file_id_c(obj_id, file_id) BIND(C, NAME='h5iget_file_id_c')
+ IMPORT :: HID_T
+ IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: obj_id
INTEGER(HID_T), INTENT(OUT) :: file_id
END FUNCTION h5iget_file_id_c
@@ -332,11 +327,9 @@ CONTAINS
INTEGER :: c_valid ! 0 = .false, 1 = .true.
INTERFACE
- INTEGER FUNCTION h5iis_valid_c(id, c_valid)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5IIS_VALID_C':: h5iis_valid_c
- !DEC$ENDIF
+ INTEGER FUNCTION h5iis_valid_c(id, c_valid) BIND(C, NAME='h5iis_valid_c')
+ IMPORT :: HID_T
+ IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: id ! Identifier
INTEGER :: c_valid
END FUNCTION h5iis_valid_c
diff --git a/fortran/src/H5Lf.c b/fortran/src/H5Lf.c
index 6523ab4..0d3aac2 100644
--- a/fortran/src/H5Lf.c
+++ b/fortran/src/H5Lf.c
@@ -1,6 +1,6 @@
/****h* H5Lf/H5Lf
* PURPOSE
- * This file contains C stubs for H5L Fortran APIs
+ * This file contains C stubs for H5L Fortran APIs
*
* COPYRIGHT
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
@@ -26,34 +26,34 @@
/****if* H5Lf/h5lcopy_c
* NAME
- * h5lcopy_c
+ * h5lcopy_c
* PURPOSE
- * Call H5Lcopy
+ * Call H5Lcopy
* INPUTS
*
- * src_loc_id - Location identifier of the source link
- * src_name - Name of the link to be copied
- * src_namelen - length of the name
- * dest_loc_id - Location identifier specifying the destination of the copy
- * dest_name - Name to be assigned to the NEW copy
- * dest_namelen - Length of the name
- * loc_id - Identifier of the file or group containing the object
- * name - Name of the link to delete
- * lcpl_id - Link creation property list identifier
- * lapl_id - Link access property list identifier
+ * src_loc_id - Location identifier of the source link
+ * src_name - Name of the link to be copied
+ * src_namelen - length of the name
+ * dest_loc_id - Location identifier specifying the destination of the copy
+ * dest_name - Name to be assigned to the NEW copy
+ * dest_namelen - Length of the name
+ * loc_id - Identifier of the file or group containing the object
+ * name - Name of the link to delete
+ * lcpl_id - Link creation property list identifier
+ * lapl_id - Link access property list identifier
*
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* M. Scot Breitenfeld
- * January, 2008
+ * January, 2008
* HISTORY
*
* SOURCE
*/
int_f
-nh5lcopy_c(hid_t_f *src_loc_id, _fcd src_name, size_t_f *src_namelen, hid_t_f *dest_loc_id,
+h5lcopy_c(hid_t_f *src_loc_id, _fcd src_name, size_t_f *src_namelen, hid_t_f *dest_loc_id,
_fcd dest_name, size_t_f *dest_namelen,
hid_t_f *lcpl_id, hid_t_f *lapl_id)
/******/
@@ -88,21 +88,21 @@ done:
/****if* H5Lf/h5lcreate_external_c
* NAME
- * h5lcreate_external_c
+ * h5lcreate_external_c
* PURPOSE
- * Call H5Lcreate_external_c
+ * Call H5Lcreate_external_c
* INPUTS
*
- * file_name - Name of the file containing the target object. Neither the file nor the target object is
- * required to exist. May be the file the link is being created in.
- * obj_name - Path within the target file to the target object.
+ * file_name - Name of the file containing the target object. Neither the file nor the target object is
+ * required to exist. May be the file the link is being created in.
+ * obj_name - Path within the target file to the target object.
* link_loc_id - The file or group identifier for the new link.
- * link_name - The name of the new link.
- * lcpl_id - Link creation property list identifier.
- * lapl_id - Link access property list identifier.
+ * link_name - The name of the new link.
+ * lcpl_id - Link creation property list identifier.
+ * lapl_id - Link access property list identifier.
*
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* M. Scot Breitenfeld
* February 29, 2008
@@ -110,7 +110,7 @@ done:
*/
int_f
-nh5lcreate_external_c(_fcd file_name, size_t_f *file_namelen, _fcd obj_name, size_t_f *obj_namelen,
+h5lcreate_external_c(_fcd file_name, size_t_f *file_namelen, _fcd obj_name, size_t_f *obj_namelen,
hid_t_f *link_loc_id, _fcd link_name, size_t_f *link_namelen,
hid_t_f *lcpl_id, hid_t_f *lapl_id)
/******/
@@ -150,27 +150,27 @@ done:
/****if* H5Lf/h5ldelete_c
* NAME
- * h5ldelete_c
+ * h5ldelete_c
* PURPOSE
- * Call H5Ldelete
+ * Call H5Ldelete
* INPUTS
*
*
- * loc_id - Identifier of the file or group containing the object
- * name - Name of the link to delete
- * lapl_id - Link access property list identifier
- * namelen - length of name
+ * loc_id - Identifier of the file or group containing the object
+ * name - Name of the link to delete
+ * lapl_id - Link access property list identifier
+ * namelen - length of name
*
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* M. Scot Breitenfeld
- * January, 2008
+ * January, 2008
* SOURCE
*/
int_f
-nh5ldelete_c ( hid_t_f *loc_id, _fcd name, size_t_f *namelen, hid_t_f *lapl_id )
+h5ldelete_c ( hid_t_f *loc_id, _fcd name, size_t_f *namelen, hid_t_f *lapl_id )
/******/
{
char *c_name = NULL;
@@ -197,28 +197,28 @@ done:
/****if* H5Lf/h5lcreate_soft_c
* NAME
- * h5lcreate_soft_c
+ * h5lcreate_soft_c
* PURPOSE
- * Call H5Lcreate_soft
+ * Call H5Lcreate_soft
* INPUTS
*
*
- * target_path - Path to the target object, which is not required to exist.
- * link_loc_id - The file or group identifier for the new link.
- * link_name - The name of the new link.
- * lcpl_id - Link creation property list identifier.
- * lapl_id - Link access property list identifier.
+ * target_path - Path to the target object, which is not required to exist.
+ * link_loc_id - The file or group identifier for the new link.
+ * link_name - The name of the new link.
+ * lcpl_id - Link creation property list identifier.
+ * lapl_id - Link access property list identifier.
*
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* M. Scot Breitenfeld
- * February 20, 2008
+ * February 20, 2008
* SOURCE
*/
int_f
-nh5lcreate_soft_c(_fcd target_path, size_t_f *target_path_len,
+h5lcreate_soft_c(_fcd target_path, size_t_f *target_path_len,
hid_t_f *link_loc_id,
_fcd link_name, size_t_f *link_name_len,
hid_t_f *lcpl_id, hid_t_f *lapl_id )
@@ -253,29 +253,29 @@ nh5lcreate_soft_c(_fcd target_path, size_t_f *target_path_len,
/****if* H5Lf/h5lcreate_hard_c
* NAME
- * h5lcreate_hard_c
+ * h5lcreate_hard_c
* PURPOSE
- * Call H5Lcreate_hard
+ * Call H5Lcreate_hard
* INPUTS
*
- * obj_loc_id - The file or group identifier for the target object.
- * obj_name - Name of the target object, which must already exist.
- * obj_namelen - Name length
- * link_loc_id - The file or group identifier for the new link.
- * link_name - The name of the new link.
- * link_namelen- Name length
- * lcpl_id - Link creation property list identifier.
- * lapl_id - Link access property list identifier.
+ * obj_loc_id - The file or group identifier for the target object.
+ * obj_name - Name of the target object, which must already exist.
+ * obj_namelen - Name length
+ * link_loc_id - The file or group identifier for the new link.
+ * link_name - The name of the new link.
+ * link_namelen- Name length
+ * lcpl_id - Link creation property list identifier.
+ * lapl_id - Link access property list identifier.
*
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* M. Scot Breitenfeld
* February 27, 2008
* SOURCE
*/
int_f
-nh5lcreate_hard_c(hid_t_f *obj_loc_id, _fcd obj_name, size_t_f *obj_namelen,
+h5lcreate_hard_c(hid_t_f *obj_loc_id, _fcd obj_name, size_t_f *obj_namelen,
hid_t_f *link_loc_id,
_fcd link_name, size_t_f *link_namelen,
hid_t_f *lcpl_id, hid_t_f *lapl_id )
@@ -310,41 +310,41 @@ nh5lcreate_hard_c(hid_t_f *obj_loc_id, _fcd obj_name, size_t_f *obj_namelen,
/****if* H5Lf/h5ldelete_by_idx_c
* NAME
- * h5ldelete_by_idx_c
+ * h5ldelete_by_idx_c
* PURPOSE
- * Calls h5ldelete_by_idx
+ * Calls h5ldelete_by_idx
* INPUTS
*
- * loc_id - File or group identifier specifying location of subject group
- * group_name - Name of subject group
- * group_namelen - Name length
- * index_field - Type of index; Possible values are:
+ * loc_id - File or group identifier specifying location of subject group
+ * group_name - Name of subject group
+ * group_namelen - Name length
+ * index_field - Type of index; Possible values are:
* H5_INDEX_UNKNOWN_F = -1 - Unknown index type
* H5_INDEX_NAME_F - Index on names
* H5_INDEX_CRT_ORDER_F - Index on creation order
* H5_INDEX_N_F - Number of indices defined
- * order - Order within field or index; Possible values are:
+ * order - Order within field or index; Possible values are:
* H5_ITER_UNKNOWN_F - Unknown order
* H5_ITER_INC_F - Increasing order
* H5_ITER_DEC_F - Decreasing order
* H5_ITER_NATIVE_F - No particular order, whatever is fastest
* H5_ITER_N_F - Number of iteration orders
- * n - Link for which to retrieve information
- * lapl_id - Link access property list
+ * n - Link for which to retrieve information
+ * lapl_id - Link access property list
*
* OUTPUTS
* N/A
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* M. Scot Breitenfeld
- * February 29, 2008
+ * February 29, 2008
* HISTORY
* N/A
* SOURCE
*/
int_f
-nh5ldelete_by_idx_c (hid_t_f *loc_id, _fcd group_name, size_t_f *group_namelen,
+h5ldelete_by_idx_c (hid_t_f *loc_id, _fcd group_name, size_t_f *group_namelen,
int_f *index_field, int_f *order, hsize_t_f *n, hid_t_f *lapl_id)
/******/
{
@@ -376,28 +376,28 @@ done:
/****if* H5Lf/h5lexists_c
* NAME
- * h5lexists_c
+ * h5lexists_c
* PURPOSE
- * Calls H5Lexists
+ * Calls H5Lexists
* INPUTS
*
- * loc_id - Identifier of the file or group to query.
- * name - Link name to check
- * lapl_id - Link access property list identifier.
+ * loc_id - Identifier of the file or group to query.
+ * name - Link name to check
+ * lapl_id - Link access property list identifier.
* OUTPUTS
*
- * link_exists_c - returns a positive value, for TRUE, or 0 (zero), for FALSE.
+ * link_exists_c - returns a positive value, for TRUE, or 0 (zero), for FALSE.
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* M. Scot Breitenfeld
- * February 29, 2008
+ * February 29, 2008
* HISTORY
*
* SOURCE
*/
int_f
-nh5lexists_c (hid_t_f *loc_id, _fcd name, size_t_f *namelen, hid_t_f *lapl_id, int_f *link_exists)
+h5lexists_c (hid_t_f *loc_id, _fcd name, size_t_f *namelen, hid_t_f *lapl_id, int_f *link_exists)
/******/
{
char *c_name = NULL; /* Buffer to hold C string */
@@ -423,40 +423,40 @@ done:
/****if* H5Lf/h5lget_info_c
* NAME
- * h5lget_info_c
+ * h5lget_info_c
* PURPOSE
- * Call H5Lget_info
+ * Call H5Lget_info
* INPUTS
*
* link_loc_id - File or group identifier.
- * link_name - Name of the link for which information is being sought
- * link_namelen - Name length
- * lapl_id - Link access property list
+ * link_name - Name of the link for which information is being sought
+ * link_namelen - Name length
+ * lapl_id - Link access property list
* OUTPUTS
*
*
- * cset - indicates the character set used for link’s name.
- * corder - specifies the link’s creation order position.
- * corder_valid - indicates whether the value in corder is valid.
- * link_type - specifies the link class:
+ * cset - indicates the character set used for link’s name.
+ * corder - specifies the link’s creation order position.
+ * corder_valid - indicates whether the value in corder is valid.
+ * link_type - specifies the link class:
* H5L_LINK_HARD_F - Hard link
* H5L_LINK_SOFT_F - Soft link
* H5L_LINK_EXTERNAL_F - External link
* H5L_LINK_ERROR_F - Error
- * address - If the link is a hard link, address specifies the file address that the link points to
- * val_size - If the link is a symbolic link, val_size will be the length of the link value
+ * address - If the link is a hard link, address specifies the file address that the link points to
+ * val_size - If the link is a symbolic link, val_size will be the length of the link value
*
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* M. Scot Breitenfeld
- * January, 2008
+ * January, 2008
* HISTORY
* N/A
* SOURCE
*/
int_f
-nh5lget_info_c(hid_t_f *link_loc_id, _fcd link_name, size_t_f *link_namelen,
+h5lget_info_c(hid_t_f *link_loc_id, _fcd link_name, size_t_f *link_namelen,
int_f *cset, int_f *corder, int_f *corder_valid, int_f *link_type,
haddr_t_f *address, size_t_f *val_size,
hid_t_f *lapl_id)
@@ -496,36 +496,36 @@ done:
/****if* H5Lf/h5lget_info_by_idx_c
* NAME
- * h5lget_info_by_idx_c
+ * h5lget_info_by_idx_c
* PURPOSE
- * Call H5Lget_info_by_idx
+ * Call H5Lget_info_by_idx
* INPUTS
*
* loc_id - File or group identifier specifying location of subject group
- * group_name - Name of subject group
- *group_namelen - Name length
+ * group_name - Name of subject group
+ * group_namelen - Name length
* index_field - Index or field which determines the order
- * order - Order within field or index
- * n - Link for which to retrieve information
- * lapl_id - Link access property list
+ * order - Order within field or index
+ * n - Link for which to retrieve information
+ * lapl_id - Link access property list
* OUTPUTS
*
- * corder_valid - Indicates whether the the creation order data is valid for this attribute
- * corder - Is a positive integer containing the creation order of the attribute
- * cset - Indicates the character set used for the attribute’s name
- * data_size - indicates the size, in the number of characters, of the attribute
+ * corder_valid - Indicates whether the the creation order data is valid for this attribute
+ * corder - Is a positive integer containing the creation order of the attribute
+ * cset - Indicates the character set used for the attribute’s name
+ * data_size - indicates the size, in the number of characters, of the attribute
*
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* M. Scot Breitenfeld
- * January, 2008
+ * January, 2008
* HISTORY
* N/A
* SOURCE
*/
int_f
-nh5lget_info_by_idx_c(hid_t_f *loc_id, _fcd group_name, size_t_f *group_namelen,
+h5lget_info_by_idx_c(hid_t_f *loc_id, _fcd group_name, size_t_f *group_namelen,
int_f *index_field, int_f *order, hsize_t_f *n,
int_f *link_type, int_f *corder_valid, int_f *corder, int_f *cset, haddr_t_f *address, size_t_f *val_size, hid_t_f *lapl_id)
/******/
@@ -570,7 +570,7 @@ done:
* NAME
* H5Lis_registered_c
* PURPOSE
- * Call H5Lis_registered
+ * Call H5Lis_registered
* INPUTS
*
* link_cls_id - User-defined link class identifier
@@ -578,17 +578,17 @@ done:
* NONE
*
* RETURNS
- * Returns a positive value if the link class has been registered
- * and zero if it is unregistered. Otherwise returns a negative value
+ * Returns a positive value if the link class has been registered
+ * and zero if it is unregistered. Otherwise returns a negative value
* AUTHOR
* M. Scot Breitenfeld
- * March 3, 2008
+ * March 3, 2008
* HISTORY
* N/A
* SOURCE
*/
int_f
-nh5lis_registered_c(int_f *link_cls_id)
+h5lis_registered_c(int_f *link_cls_id)
/******/
{
int_f ret_value; /* Return value */
@@ -621,29 +621,29 @@ nh5lis_registered_c(int_f *link_cls_id)
/****if* H5Lf/h5lmove_c
* NAME
- * h5lmove_c
+ * h5lmove_c
* PURPOSE
- * Call H5Lmove
+ * Call H5Lmove
* INPUTS
*
- * src_loc_id - Original file or group identifier.
- * src_name - Original link name.
- * src_namelen - name length
- * dest_loc_id - Destination file or group identifier.
- * dest_name - NEW link name.
- * dest_namelen - name length
+ * src_loc_id - Original file or group identifier.
+ * src_name - Original link name.
+ * src_namelen - name length
+ * dest_loc_id - Destination file or group identifier.
+ * dest_name - NEW link name.
+ * dest_namelen - name length
* OUTPUTS
*
*
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* M. Scot Breitenfeld
- * March 3, 2008
+ * March 3, 2008
* SOURCE
*/
int_f
-nh5lmove_c(hid_t_f *src_loc_id, _fcd src_name, size_t_f *src_namelen, hid_t_f *dest_loc_id,
+h5lmove_c(hid_t_f *src_loc_id, _fcd src_name, size_t_f *src_namelen, hid_t_f *dest_loc_id,
_fcd dest_name, size_t_f *dest_namelen, hid_t_f *lcpl_id, hid_t_f *lapl_id)
/******/
{
@@ -682,17 +682,17 @@ done:
* Call H5Lget_name_by_idx
* INPUTS
*
- * loc_id - File or group identifier specifying location of subject group
- * group_name - Name of subject group
- * index_field - Index or field which determines the order
- * order - Order within field or index
- * n - Link for which to retrieve information
- * size - Maximum number of characters of link value to be returned.
- * lapl_id - Link access property list
+ * loc_id - File or group identifier specifying location of subject group
+ * group_name - Name of subject group
+ * index_field - Index or field which determines the order
+ * order - Order within field or index
+ * n - Link for which to retrieve information
+ * size - Maximum number of characters of link value to be returned.
+ * lapl_id - Link access property list
* OUTPUTS
*
- * name - Buffer in which link value is returned
- * size - The size of the link name on success
+ * name - Buffer in which link value is returned
+ * size - The size of the link name on success
* RETURNS
* 0 on success, -1 on failure
* AUTHOR
@@ -701,7 +701,7 @@ done:
* SOURCE
*/
int_f
-nh5lget_name_by_idx_c(hid_t_f *loc_id, _fcd group_name, size_t_f *group_namelen,
+h5lget_name_by_idx_c(hid_t_f *loc_id, _fcd group_name, size_t_f *group_namelen,
int_f *index_field, int_f *order, hsize_t_f *n,
size_t_f *size, _fcd name, hid_t_f *lapl_id)
/******/
@@ -774,7 +774,7 @@ done:
/* * SOURCE */
/* *\/ */
/* int_f */
-/* nh5lget_val_c (hid_t_f *link_loc_id, _fcd link_name, size_t_f *link_namelen, */
+/* h5lget_val_c (hid_t_f *link_loc_id, _fcd link_name, size_t_f *link_namelen, */
/* size_t_f *size, _fcd linkval_buff, */
/* hid_t_f *lapl_id) */
/* { */
@@ -842,7 +842,7 @@ done:
/* int_f */
-/* nh5lregistered_c(int_f *version, int_f *class_id, */
+/* h5lregistered_c(int_f *version, int_f *class_id, */
/* _fcd comment, size_t_f *comment_len, */
/* _fcd create_func, size_t_f *create_func_len, */
/* _fcd move_func, size_t_f *move_func_len, */
@@ -916,29 +916,29 @@ done:
/****if* H5Lf/h5lget_val_c
* NAME
- * h5lget_val_c
+ * h5lget_val_c
* PURPOSE
- * Call H5Lget_val
+ * Call H5Lget_val
* INPUTS
*
- * link_loc_id - File or group identifier.
- * link_name - Link whose value is to be returned.
- * link_name_len - length of link_name
- * size - Maximum number of characters of link value to be returned.
- * lapl_id - List access property list identifier
+ * link_loc_id - File or group identifier.
+ * link_name - Link whose value is to be returned.
+ * link_name_len - length of link_name
+ * size - Maximum number of characters of link value to be returned.
+ * lapl_id - List access property list identifier
* OUTPUTS
*
- * linkval_buff - The buffer to hold the returned link value.
+ * linkval_buff - The buffer to hold the returned link value.
*
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* M. Scot Breitenfeld
- * April 11, 2008
+ * April 11, 2008
* SOURCE
*/
int_f
-nh5lget_val_c(hid_t_f *link_loc_id, _fcd link_name, size_t_f *link_namelen, size_t_f *size,
+h5lget_val_c(hid_t_f *link_loc_id, _fcd link_name, size_t_f *link_namelen, size_t_f *size,
void *linkval_buff, hid_t_f *lapl_id)
/******/
{
@@ -971,16 +971,16 @@ done:
* Calls H5Literate
* INPUTS
*
- * group_id - Identifier specifying subject group
- * index_type - Type of index which determines the order
- * order - Order within index
- * idx - Iteration position at which to start
- * op - Callback function passing data regarding the link to the calling application
- * op_data - User-defined pointer to data required by the application for its processing of the link
+ * group_id - Identifier specifying subject group
+ * index_type - Type of index which determines the order
+ * order - Order within index
+ * idx - Iteration position at which to start
+ * op - Callback function passing data regarding the link to the calling application
+ * op_data - User-defined pointer to data required by the application for its processing of the link
*
* OUTPUTS
*
- * idx - Position at which an interrupted iteration may be restarted
+ * idx - Position at which an interrupted iteration may be restarted
*
* RETURNS
* >0 on success, 0< on failure
@@ -1018,19 +1018,19 @@ h5literate_c(hid_t_f *group_id, int_f *index_type, int_f *order, hsize_t_f *idx,
* Call H5Literate_by_name
* INPUTS
*
- * loc_id - Identifier specifying subject group
- * name - Name of subject group
- * namelen - Name length
- * index_type - Type of index which determines the order
- * order - Order within index
- * idx - Iteration position at which to start
- * op - Callback function passing data regarding the link to the calling application
- * op_data - User-defined pointer to data required by the application for its processing of the link
- * lapl_id - List access property list identifier
+ * loc_id - Identifier specifying subject group
+ * name - Name of subject group
+ * namelen - Name length
+ * index_type - Type of index which determines the order
+ * order - Order within index
+ * idx - Iteration position at which to start
+ * op - Callback function passing data regarding the link to the calling application
+ * op_data - User-defined pointer to data required by the application for its processing of the link
+ * lapl_id - List access property list identifier
*
* OUTPUTS
*
- * idx - Position at which an interrupted iteration may be restarted
+ * idx - Position at which an interrupted iteration may be restarted
*
* RETURNS
* >0 on success, 0< on failure
diff --git a/fortran/src/H5Lff.f90 b/fortran/src/H5Lff.F90
index 4660e52..bc91072 100644
--- a/fortran/src/H5Lff.f90
+++ b/fortran/src/H5Lff.F90
@@ -4,9 +4,7 @@
! MODULE H5L
!
! PURPOSE
-! This file contains Fortran interfaces for H5L functions. It includes
-! all the functions that are independent on whether the Fortran 2003 functions
-! are enabled or disabled.
+! This file contains Fortran interfaces for H5L functions.
!
! COPYRIGHT
! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
@@ -25,7 +23,13 @@
! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
!
! NOTES
-! *** IMPORTANT ***
+! _____ __ __ _____ ____ _____ _______ _ _ _______
+! |_ _| \/ | __ \ / __ \| __ \__ __|/\ | \ | |__ __|
+! **** | | | \ / | |__) | | | | |__) | | | / \ | \| | | | ****
+! **** | | | |\/| | ___/| | | | _ / | | / /\ \ | . ` | | | ****
+! **** _| |_| | | | | | |__| | | \ \ | |/ ____ \| |\ | | | ****
+! |_____|_| |_|_| \____/|_| \_\ |_/_/ \_\_| \_| |_|
+!
! If you add a new H5L function you must add the function name to the
! Windows dll file 'hdf5_fortrandll.def.in' in the fortran/src directory.
! This is needed for Windows based operating systems.
@@ -34,8 +38,39 @@
MODULE H5L
+ USE, INTRINSIC :: ISO_C_BINDING, ONLY : C_PTR, C_FUNPTR, C_CHAR, C_INT64_T, C_INT
USE H5GLOBAL
+ IMPLICIT NONE
+
+!****t* H5L (F03)/h5l_info_t
+!
+! Fortran2003 Derived Type:
+!
+ TYPE, bind(c) :: union_t
+ INTEGER(haddr_t) :: address
+ INTEGER(size_t) :: val_size
+ END TYPE union_t
+
+ TYPE, bind(c) :: h5l_info_t
+ INTEGER(c_int) :: type ! H5L_type_t type
+! LOGICAL(c_bool) :: corder_valid ! hbool_t corder_valid
+ INTEGER(c_int64_t) :: corder ! int64_t corder;
+ INTEGER(c_int) :: cset ! H5T_cset_t cset;
+ TYPE(union_t) :: u
+ END TYPE h5l_info_t
+
+!*****
+
+!type specifies the link class. Valid values include the following:
+! H5L_TYPE_HARD Hard link
+! H5L_TYPE_SOFT Soft link
+! H5L_TYPE_EXTERNAL External link
+! H5L_TYPE_ERROR Error
+!cset specifies the character set in which the link name is encoded. Valid values include the following:
+! H5T_CSET_ASCII US ASCII
+! H5T_CSET_UTF8 UTF-8 Unicode encoding
+
CONTAINS
!
@@ -87,16 +122,14 @@ CONTAINS
INTERFACE
INTEGER FUNCTION h5lcopy_c(src_loc_id, src_name, src_namelen, dest_loc_id, dest_name, dest_namelen, &
- lcpl_id_default, lapl_id_default)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LCOPY_C'::h5lcopy_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: src_name, dest_name
+ lcpl_id_default, lapl_id_default) BIND(C,name='h5lcopy_c')
+ IMPORT :: c_char
+ IMPORT :: HID_T, SIZE_T
+ IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: src_loc_id
- CHARACTER(LEN=*), INTENT(IN) :: src_name
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(IN) :: src_name
INTEGER(HID_T), INTENT(IN) :: dest_loc_id
- CHARACTER(LEN=*), INTENT(IN) :: dest_name
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(IN) :: dest_name
INTEGER(HID_T) :: lcpl_id_default
INTEGER(HID_T) :: lapl_id_default
@@ -154,14 +187,12 @@ CONTAINS
INTEGER(SIZE_T) :: namelen
INTERFACE
- INTEGER FUNCTION h5ldelete_c(loc_id, name, namelen, lapl_id_default)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LDELETE_C'::h5ldelete_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: name
+ INTEGER FUNCTION h5ldelete_c(loc_id, name, namelen, lapl_id_default) BIND(C,name='h5ldelete_c')
+ IMPORT :: c_char
+ IMPORT :: HID_T, SIZE_T
+ IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: loc_id
- CHARACTER(LEN=*), INTENT(IN) :: name
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(IN) :: name
INTEGER(HID_T) :: lapl_id_default
INTEGER(SIZE_T) :: namelen
END FUNCTION h5ldelete_c
@@ -220,16 +251,14 @@ CONTAINS
INTEGER FUNCTION h5lcreate_soft_c(target_path, target_path_len, &
link_loc_id, &
link_name,link_name_len, &
- lcpl_id_default, lapl_id_default )
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LCREATE_SOFT_C'::h5lcreate_soft_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: target_path, link_name
- CHARACTER(LEN=*), INTENT(IN) :: target_path
+ lcpl_id_default, lapl_id_default ) BIND(C,NAME='h5lcreate_soft_c')
+ IMPORT :: c_char
+ IMPORT :: HID_T, SIZE_T
+ IMPLICIT NONE
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(IN) :: target_path
INTEGER(SIZE_T) :: target_path_len
INTEGER(HID_T), INTENT(IN) :: link_loc_id
- CHARACTER(LEN=*), INTENT(IN) :: link_name
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(IN) :: link_name
INTEGER(SIZE_T) :: link_name_len
INTEGER(HID_T) :: lcpl_id_default
INTEGER(HID_T) :: lapl_id_default
@@ -299,17 +328,14 @@ CONTAINS
INTERFACE
INTEGER FUNCTION h5lcreate_hard_c(obj_loc_id, obj_name, obj_namelen, &
- link_loc_id, link_name, link_namelen, lcpl_id_default, lapl_id_default)
-
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LCREATE_HARD_C'::h5lcreate_hard_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: obj_name, link_name
+ link_loc_id, link_name, link_namelen, lcpl_id_default, lapl_id_default) BIND(C,NAME='h5lcreate_hard_c')
+ IMPORT :: c_char
+ IMPORT :: HID_T, SIZE_T
+ IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: obj_loc_id
- CHARACTER(LEN=*), INTENT(IN) :: obj_name
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(IN) :: obj_name
INTEGER(HID_T), INTENT(IN) :: link_loc_id
- CHARACTER(LEN=*), INTENT(IN) :: link_name
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(IN) :: link_name
INTEGER(SIZE_T) :: obj_namelen
INTEGER(SIZE_T) :: link_namelen
INTEGER(HID_T) :: lcpl_id_default
@@ -380,17 +406,14 @@ CONTAINS
INTERFACE
INTEGER FUNCTION h5lcreate_external_c(file_name, file_namelen, obj_name, obj_namelen, &
- link_loc_id, link_name, link_namelen, lcpl_id_default, lapl_id_default)
-
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LCREATE_EXTERNAL_C'::h5lcreate_external_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: file_name, obj_name, link_name
- CHARACTER(LEN=*), INTENT(IN) :: file_name
- CHARACTER(LEN=*), INTENT(IN) :: obj_name
+ link_loc_id, link_name, link_namelen, lcpl_id_default, lapl_id_default) BIND(C,NAME='h5lcreate_external_c')
+ IMPORT :: c_char
+ IMPORT :: HID_T, SIZE_T
+ IMPLICIT NONE
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(IN) :: file_name
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(IN) :: obj_name
INTEGER(HID_T), INTENT(IN) :: link_loc_id
- CHARACTER(LEN=*), INTENT(IN) :: link_name
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(IN) :: link_name
INTEGER(SIZE_T) :: file_namelen
INTEGER(SIZE_T) :: obj_namelen
INTEGER(SIZE_T) :: link_namelen
@@ -471,14 +494,13 @@ CONTAINS
INTEGER(SIZE_T) :: group_namelen
INTERFACE
- INTEGER FUNCTION h5ldelete_by_idx_c(loc_id, group_name, group_namelen, index_field, order, n, lapl_id_default)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LDELETE_BY_IDX_C'::h5ldelete_by_idx_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: group_name
+ INTEGER FUNCTION h5ldelete_by_idx_c(loc_id, group_name, group_namelen, index_field, order, n, lapl_id_default) &
+ BIND(C,NAME='h5ldelete_by_idx_c')
+ IMPORT :: c_char
+ IMPORT :: HID_T, SIZE_T, HSIZE_T
+ IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: loc_id
- CHARACTER(LEN=*), INTENT(IN) :: group_name
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(IN) :: group_name
INTEGER, INTENT(IN) :: index_field
INTEGER, INTENT(IN) :: order
INTEGER(HSIZE_T), INTENT(IN) :: n
@@ -530,18 +552,17 @@ CONTAINS
! Link access property list identifier.
!*****
INTEGER :: link_exists_c
- INTEGER(HID_T) :: lapl_id_default
- INTEGER(SIZE_T) :: namelen
+ INTEGER(HID_T) :: lapl_id_default
+ INTEGER(SIZE_T) :: namelen
INTERFACE
- INTEGER FUNCTION h5lexists_c(loc_id, name, namelen, lapl_id_default, link_exists_c)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LEXISTS_C'::h5lexists_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: name
+ INTEGER FUNCTION h5lexists_c(loc_id, name, namelen, lapl_id_default, link_exists_c) &
+ BIND(C,NAME='h5lexists_c')
+ IMPORT :: c_char
+ IMPORT :: HID_T, SIZE_T
+ IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: loc_id
- CHARACTER(LEN=*), INTENT(IN) :: name
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(IN) :: name
INTEGER(SIZE_T), INTENT(IN) :: namelen
INTEGER, INTENT(OUT) :: link_exists_c
INTEGER(HID_T) :: lapl_id_default
@@ -636,14 +657,12 @@ CONTAINS
INTERFACE
INTEGER FUNCTION h5lget_info_c(link_loc_id, link_name, link_namelen, &
cset, corder, corder_valid, link_type, address, val_size, &
- lapl_id_default)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LGET_INFO_C'::h5lget_info_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: link_name
+ lapl_id_default) BIND(C,NAME='h5lget_info_c')
+ IMPORT :: c_char
+ IMPORT :: HID_T, SIZE_T, HADDR_T
+ IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: link_loc_id
- CHARACTER(LEN=*), INTENT(IN) :: link_name
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(IN) :: link_name
INTEGER, INTENT(OUT) :: cset
INTEGER, INTENT(OUT) :: corder
INTEGER, INTENT(OUT) :: link_type
@@ -750,14 +769,13 @@ CONTAINS
!
INTERFACE
INTEGER FUNCTION h5lget_info_by_idx_c(loc_id, group_name, group_namelen, index_field, order, n, &
- link_type, corder_valid, corder, cset, address, val_size, lapl_id_default)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LGET_INFO_BY_IDX_C'::h5lget_info_by_idx_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: group_name
+ link_type, corder_valid, corder, cset, address, val_size, lapl_id_default) &
+ BIND(C,NAME='h5lget_info_by_idx_c')
+ IMPORT :: c_char
+ IMPORT :: HID_T, SIZE_T, HSIZE_T, HADDR_T
+ IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: loc_id
- CHARACTER(LEN=*), INTENT(IN) :: group_name
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(IN) :: group_name
INTEGER(SIZE_T) :: group_namelen
INTEGER, INTENT(IN) :: index_field
INTEGER, INTENT(IN) :: order
@@ -818,11 +836,8 @@ CONTAINS
! 0 on success and -1 on failure
!*****
INTERFACE
- INTEGER FUNCTION h5lis_registered_c(link_cls_id)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LIS_REGISTERED_C'::h5lis_registered_c
- !DEC$ENDIF
+ INTEGER FUNCTION h5lis_registered_c(link_cls_id) BIND(C,NAME='h5lis_registered_c')
+ IMPLICIT NONE
INTEGER, INTENT(IN) :: link_cls_id ! User-defined link class identifier
END FUNCTION h5lis_registered_c
END INTERFACE
@@ -886,18 +901,16 @@ CONTAINS
INTERFACE
INTEGER FUNCTION h5lmove_c(src_loc_id, src_name, src_namelen, dest_loc_id, &
- dest_name, dest_namelen, lcpl_id_default, lapl_id_default)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LMOVE_C'::h5lmove_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: src_name, dest_name
+ dest_name, dest_namelen, lcpl_id_default, lapl_id_default) BIND(C,NAME='h5lmove_c')
+ IMPORT :: c_char
+ IMPORT :: HID_T, SIZE_T
+ IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: src_loc_id
- CHARACTER(LEN=*), INTENT(IN) :: src_name
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(IN) :: src_name
INTEGER(SIZE_T) :: src_namelen
INTEGER(HID_T), INTENT(IN) :: dest_loc_id
- CHARACTER(LEN=*), INTENT(IN) :: dest_name
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(IN) :: dest_name
INTEGER(SIZE_T) :: dest_namelen
INTEGER(HID_T) :: lcpl_id_default
@@ -976,21 +989,19 @@ CONTAINS
INTERFACE
INTEGER FUNCTION h5lget_name_by_idx_c(loc_id, group_name, group_namelen, index_field, order, n, &
- size_default, name, lapl_id_default)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LGET_NAME_BY_IDX_C'::h5lget_name_by_idx_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: group_name, name
+ size_default, name, lapl_id_default) BIND(C,NAME='h5lget_name_by_idx_c')
+ IMPORT :: c_char
+ IMPORT :: HID_T, SIZE_T, HSIZE_T
+ IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: loc_id
- CHARACTER(LEN=*), INTENT(IN) :: group_name
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(IN) :: group_name
INTEGER(SIZE_T) :: group_namelen
INTEGER, INTENT(IN) :: index_field
INTEGER, INTENT(IN) :: order
INTEGER(HSIZE_T), INTENT(IN) :: n
INTEGER(SIZE_T) :: size_default
- CHARACTER(LEN=*), INTENT(OUT) :: name
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(OUT) :: name
INTEGER(HID_T) :: lapl_id_default
END FUNCTION h5lget_name_by_idx_c
END INTERFACE
@@ -1085,7 +1096,7 @@ CONTAINS
!!$ !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LGET_VAL_BY_IDX_C'::h5lget_val_by_idx_c
!!$ !DEC$ENDIF
!!$ INTEGER(HID_T), INTENT(IN) :: loc_id
-!!$ CHARACTER(LEN=*), INTENT(IN) :: group_name
+!!$ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(IN) :: group_name
!!$ INTEGER(SIZE_T) :: group_namelen
!!$ INTEGER, INTENT(IN) :: index_field
!!$ INTEGER, INTENT(IN) :: order
@@ -1166,7 +1177,7 @@ CONTAINS
!!$ !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LGET_VAL_C'::h5lget_val_c
!!$ !DEC$ENDIF
!!$ INTEGER(HID_T), INTENT(IN) :: link_loc_id ! File or group identifier.
-!!$ CHARACTER(LEN=*), INTENT(IN) :: link_name ! Link whose value is to be returned.
+!!$ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(IN) :: link_name ! Link whose value is to be returned.
!!$ INTEGER :: link_namelen
!!$ INTEGER(SIZE_T), INTENT(IN) :: size ! Maximum number of characters of link value to be returned.
!!$
@@ -1259,13 +1270,13 @@ CONTAINS
!!$ !DEC$ENDIF
!!$ INTEGER, INTENT(IN) :: version ! Version number of this struct
!!$ INTEGER, INTENT(IN) :: class_id ! Link class identifier
-!!$ CHARACTER(LEN=*), INTENT(IN) :: comment ! Comment for debugging
-!!$ CHARACTER(LEN=*), INTENT(IN) :: create_func ! Callback during link creation
-!!$ CHARACTER(LEN=*), INTENT(IN) :: move_func ! Callback after moving link
-!!$ CHARACTER(LEN=*), INTENT(IN) :: copy_func ! Callback after copying link
-!!$ CHARACTER(LEN=*), INTENT(IN) :: trav_func ! The main traversal function
-!!$ CHARACTER(LEN=*), INTENT(IN) :: del_func ! Callback for link deletion
-!!$ CHARACTER(LEN=*), INTENT(IN) :: query_func ! Callback for queries
+!!$ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(IN) :: comment ! Comment for debugging
+!!$ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(IN) :: create_func ! Callback during link creation
+!!$ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(IN) :: move_func ! Callback after moving link
+!!$ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(IN) :: copy_func ! Callback after copying link
+!!$ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(IN) :: trav_func ! The main traversal function
+!!$ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(IN) :: del_func ! Callback for link deletion
+!!$ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(IN) :: query_func ! Callback for queries
!!$ INTEGER, INTENT(OUT) :: hdferr ! Error code:
!!$ ! 0 on success and -1 on failure
!!$ INTEGER :: comment_len
@@ -1297,4 +1308,171 @@ CONTAINS
!!$
!!$ END SUBROUTINE H5Lregistered_f
+!****s* H5L (F03)/h5literate_f
+!
+! NAME
+! h5literate_f
+!
+! PURPOSE
+! Iterates through links in a group.
+!
+! Inputs:
+! group_id - Identifier specifying subject group
+! index_type - Type of index which determines the order:
+! H5_INDEX_NAME_F - Alpha-numeric index on name
+! H5_INDEX_CRT_ORDER_F - Index on creation order
+! order - Order within index:
+! H5_ITER_INC_F - Increasing order
+! H5_ITER_DEC_F - Decreasing order
+! H5_ITER_NATIVE_F - Fastest available order
+! idx - IN: Iteration position at which to start
+! op - Callback function passing data regarding the link to the calling application
+! op_data - User-defined pointer to data required by the application for its processing of the link
+!
+! Outputs:
+! idx - OUT: Position at which an interrupted iteration may be restarted
+! return_value - Success: The return value of the first operator that
+! returns non-zero, or zero if all members were
+! processed with no operator returning non-zero.
+!
+! Failure: Negative if something goes wrong within the
+! library, or the negative value returned by one
+! of the operators.
+!
+! hdferr - Returns 0 if successful and -1 if fails
+!
+! AUTHOR
+! M. Scot Breitenfeld
+! July 8, 2008
+!
+! Fortran2003 Interface:
+ SUBROUTINE h5literate_f(group_id, index_type, order, idx, op, op_data, return_value, hdferr)
+ USE, INTRINSIC :: ISO_C_BINDING
+ IMPLICIT NONE
+ INTEGER(HID_T) , INTENT(IN) :: group_id
+ INTEGER , INTENT(IN) :: index_type
+ INTEGER , INTENT(IN) :: order
+ INTEGER(HSIZE_T), INTENT(INOUT) :: idx
+ TYPE(C_FUNPTR) , INTENT(IN) :: op
+ TYPE(C_PTR) , INTENT(IN) :: op_data
+ INTEGER , INTENT(OUT) :: return_value
+ INTEGER , INTENT(OUT) :: hdferr
+!*****
+ INTERFACE
+ INTEGER FUNCTION h5literate_c(group_id, index_type, order, idx, op, op_data) &
+ BIND(C, NAME='h5literate_c')
+ IMPORT :: c_ptr, c_funptr
+ IMPORT :: HID_T, HSIZE_T
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: group_id
+ INTEGER, INTENT(IN) :: index_type
+ INTEGER, INTENT(IN) :: order
+ INTEGER(HSIZE_T), INTENT(INOUT) :: idx
+ TYPE(C_FUNPTR), VALUE :: op
+ TYPE(C_PTR), VALUE :: op_data
+ END FUNCTION h5literate_c
+ END INTERFACE
+
+ return_value = h5literate_c(group_id, index_type, order, idx, op, op_data)
+
+ IF(return_value.GE.0)THEN
+ hdferr = 0
+ ELSE
+ hdferr = -1
+ END IF
+
+ END SUBROUTINE h5literate_f
+
+!****s* H5L (F03)/h5literate_by_name_f
+!
+! NAME
+! h5literate_by_name_f
+!
+! PURPOSE
+! Iterates through links in a group.
+!
+! Inputs:
+! loc_id - File or group identifier specifying location of subject group
+! group_name - Name of subject group
+! index_type - Type of index which determines the order:
+! H5_INDEX_NAME_F - Alpha-numeric index on name
+! H5_INDEX_CRT_ORDER_F - Index on creation order
+! order - Order within index:
+! H5_ITER_INC_F - Increasing order
+! H5_ITER_DEC_F - Decreasing order
+! H5_ITER_NATIVE_F - Fastest available order
+! idx - IN: Iteration position at which to start
+! op - Callback function passing data regarding the link to the calling application
+! op_data - User-defined pointer to data required by the application for its processing of the link
+!
+! Outputs:
+! idx - OUT: Position at which an interrupted iteration may be restarted
+! return_value - Success: The return value of the first operator that
+! returns non-zero, or zero if all members were
+! processed with no operator returning non-zero.
+!
+! Failure: Negative if something goes wrong within the
+! library, or the negative value returned by one
+! of the operators.
+!
+! hdferr - Returns 0 if successful and -1 if fails
+!
+! Optional parameters:
+! lapl_id - Link access property list
+!
+! AUTHOR
+! M. Scot Breitenfeld
+! Augest 18, 2008
+!
+! Fortran2003 Interface:
+ SUBROUTINE h5literate_by_name_f(loc_id, group_name, index_type, order, &
+ idx, op, op_data, return_value, hdferr, lapl_id)
+ USE, INTRINSIC :: ISO_C_BINDING
+ IMPLICIT NONE
+ INTEGER(HID_T) , INTENT(IN) :: loc_id
+ CHARACTER(LEN=*), INTENT(IN) :: group_name
+ INTEGER , INTENT(IN) :: index_type
+ INTEGER , INTENT(IN) :: order
+ INTEGER(HSIZE_T), INTENT(INOUT) :: idx
+ TYPE(C_FUNPTR) , INTENT(IN) :: op
+ TYPE(C_PTR) , INTENT(IN) :: op_data
+ INTEGER , INTENT(OUT) :: return_value
+ INTEGER , INTENT(OUT) :: hdferr
+ INTEGER(HID_T) , INTENT(IN), OPTIONAL :: lapl_id
+!*****
+ INTEGER(HID_T) :: lapl_id_default
+ INTEGER(SIZE_T) :: namelen
+
+ INTERFACE
+ INTEGER FUNCTION h5literate_by_name_c(loc_id, name, namelen, index_type, order,&
+ idx, op, op_data, lapl_id_default) BIND(C, NAME='h5literate_by_name_c')
+ IMPORT :: c_char, c_ptr, c_funptr
+ IMPORT :: HID_T, SIZE_T, HSIZE_T
+ IMPLICIT NONE
+ INTEGER(HID_T) , INTENT(IN) :: loc_id
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(IN) :: name
+ INTEGER(SIZE_T) , INTENT(IN) :: namelen
+ INTEGER , INTENT(IN) :: index_type
+ INTEGER , INTENT(IN) :: order
+ INTEGER(HSIZE_T), INTENT(INOUT) :: idx
+ TYPE(C_FUNPTR), VALUE :: op
+ TYPE(C_PTR), VALUE :: op_data
+ INTEGER(HID_T) , INTENT(IN) :: lapl_id_default
+ END FUNCTION
+ END INTERFACE
+
+ namelen = LEN(group_name)
+ lapl_id_default = H5P_DEFAULT_F
+ IF(PRESENT(lapl_id)) lapl_id_default = lapl_id
+
+ return_value = h5literate_by_name_c(loc_id, group_name, namelen, index_type, order, idx, op, op_data, lapl_id_default)
+
+ IF(return_value.GE.0)THEN
+ hdferr = 0
+ ELSE
+ hdferr = -1
+ END IF
+
+ END SUBROUTINE h5literate_by_name_f
+
END MODULE H5L
diff --git a/fortran/src/H5Lff_F03.f90 b/fortran/src/H5Lff_F03.f90
deleted file mode 100644
index fa95717..0000000
--- a/fortran/src/H5Lff_F03.f90
+++ /dev/null
@@ -1,242 +0,0 @@
-!****h* ROBODoc/H5L (F03)
-!
-! NAME
-! H5L_PROVISIONAL
-!
-! FILE
-! src/fortran/src/H5Lff_F03.f90
-!
-! PURPOSE
-!
-! This file contains Fortran 90 and Fortran 2003 interfaces for H5L functions.
-! It contains the same functions as H5Lff_F90.f90 but includes the
-! Fortran 2003 functions and the interface listings. This file will be compiled
-! instead of H5Lff_F90.f90 if Fortran 2003 functions are enabled.
-!
-! COPYRIGHT
-! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
-! Copyright by The HDF Group. *
-! Copyright by the Board of Trustees of the University of Illinois. *
-! All rights reserved. *
-! *
-! This file is part of HDF5. The full HDF5 copyright notice, including *
-! terms governing use, modification, and redistribution, is contained in *
-! the files COPYING and Copyright.html. COPYING can be found at the root *
-! of the source code distribution tree; Copyright.html can be found at the *
-! root level of an installed copy of the electronic HDF5 document set and *
-! is linked from the top-level documents page. It can also be found at *
-! http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have *
-! access to either file, you may request a copy from help@hdfgroup.org. *
-! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
-!
-! NOTES
-! *** IMPORTANT ***
-! If you add a new H5A function you must add the function name to the
-! Windows dll file 'hdf5_fortrandll.def.in' in the fortran/src directory.
-! This is needed for Windows based operating systems.
-!
-!*****
-
-MODULE H5L_PROVISIONAL
-
- USE H5GLOBAL
- USE ISO_C_BINDING
-
- IMPLICIT NONE
-
-!****t* H5L (F03)/h5l_info_t
-!
-! Fortran2003 Derived Type:
-!
- TYPE, bind(c) :: union_t
- INTEGER(haddr_t) :: address
- INTEGER(size_t) :: val_size
- END TYPE union_t
-
- TYPE, bind(c) :: h5l_info_t
- INTEGER(c_int) :: type ! H5L_type_t type
-! LOGICAL(c_bool) :: corder_valid ! hbool_t corder_valid
- INTEGER(c_int64_t) :: corder ! int64_t corder;
- INTEGER(c_int) :: cset ! H5T_cset_t cset;
- TYPE(union_t) :: u
- END TYPE h5l_info_t
-
-!*****
-
-!type specifies the link class. Valid values include the following:
-! H5L_TYPE_HARD Hard link
-! H5L_TYPE_SOFT Soft link
-! H5L_TYPE_EXTERNAL External link
-! H5L_TYPE_ERROR Error
-!cset specifies the character set in which the link name is encoded. Valid values include the following:
-! H5T_CSET_ASCII US ASCII
-! H5T_CSET_UTF8 UTF-8 Unicode encoding
-
-CONTAINS
-
-!****s* H5L (F03)/h5literate_f
-!
-! NAME
-! h5literate_f
-!
-! PURPOSE
-! Iterates through links in a group.
-!
-! Inputs:
-! group_id - Identifier specifying subject group
-! index_type - Type of index which determines the order:
-! H5_INDEX_NAME_F - Alpha-numeric index on name
-! H5_INDEX_CRT_ORDER_F - Index on creation order
-! order - Order within index:
-! H5_ITER_INC_F - Increasing order
-! H5_ITER_DEC_F - Decreasing order
-! H5_ITER_NATIVE_F - Fastest available order
-! idx - IN: Iteration position at which to start
-! op - Callback function passing data regarding the link to the calling application
-! op_data - User-defined pointer to data required by the application for its processing of the link
-!
-! Outputs:
-! idx - OUT: Position at which an interrupted iteration may be restarted
-! return_value - Success: The return value of the first operator that
-! returns non-zero, or zero if all members were
-! processed with no operator returning non-zero.
-!
-! Failure: Negative if something goes wrong within the
-! library, or the negative value returned by one
-! of the operators.
-!
-! hdferr - Returns 0 if successful and -1 if fails
-!
-! AUTHOR
-! M. Scot Breitenfeld
-! July 8, 2008
-!
-! Fortran2003 Interface:
- SUBROUTINE h5literate_f(group_id, index_type, order, idx, op, op_data, return_value, hdferr)
- USE, INTRINSIC :: ISO_C_BINDING
- IMPLICIT NONE
- INTEGER(HID_T) , INTENT(IN) :: group_id
- INTEGER , INTENT(IN) :: index_type
- INTEGER , INTENT(IN) :: order
- INTEGER(HSIZE_T), INTENT(INOUT) :: idx
- TYPE(C_FUNPTR) , INTENT(IN) :: op
- TYPE(C_PTR) , INTENT(IN) :: op_data
- INTEGER , INTENT(OUT) :: return_value
- INTEGER , INTENT(OUT) :: hdferr
-!*****
- INTERFACE
- INTEGER FUNCTION h5literate_c(group_id, index_type, order, idx, op, op_data) &
- BIND(C, NAME='h5literate_c')
- USE, INTRINSIC :: ISO_C_BINDING, ONLY : c_ptr, c_funptr
- USE H5GLOBAL
- INTEGER(HID_T), INTENT(IN) :: group_id
- INTEGER, INTENT(IN) :: index_type
- INTEGER, INTENT(IN) :: order
- INTEGER(HSIZE_T), INTENT(INOUT) :: idx
- TYPE(C_FUNPTR), VALUE :: op
- TYPE(C_PTR), VALUE :: op_data
- END FUNCTION h5literate_c
- END INTERFACE
-
- return_value = h5literate_c(group_id, index_type, order, idx, op, op_data)
-
- IF(return_value.GE.0)THEN
- hdferr = 0
- ELSE
- hdferr = -1
- END IF
-
- END SUBROUTINE h5literate_f
-
-!****s* H5L (F03)/h5literate_by_name_f
-!
-! NAME
-! h5literate_by_name_f
-!
-! PURPOSE
-! Iterates through links in a group.
-!
-! Inputs:
-! loc_id - File or group identifier specifying location of subject group
-! group_name - Name of subject group
-! index_type - Type of index which determines the order:
-! H5_INDEX_NAME_F - Alpha-numeric index on name
-! H5_INDEX_CRT_ORDER_F - Index on creation order
-! order - Order within index:
-! H5_ITER_INC_F - Increasing order
-! H5_ITER_DEC_F - Decreasing order
-! H5_ITER_NATIVE_F - Fastest available order
-! idx - IN: Iteration position at which to start
-! op - Callback function passing data regarding the link to the calling application
-! op_data - User-defined pointer to data required by the application for its processing of the link
-!
-! Outputs:
-! idx - OUT: Position at which an interrupted iteration may be restarted
-! return_value - Success: The return value of the first operator that
-! returns non-zero, or zero if all members were
-! processed with no operator returning non-zero.
-!
-! Failure: Negative if something goes wrong within the
-! library, or the negative value returned by one
-! of the operators.
-!
-! hdferr - Returns 0 if successful and -1 if fails
-!
-! Optional parameters:
-! lapl_id - Link access property list
-!
-! AUTHOR
-! M. Scot Breitenfeld
-! Augest 18, 2008
-!
-! Fortran2003 Interface:
- SUBROUTINE h5literate_by_name_f(loc_id, group_name, index_type, order, &
- idx, op, op_data, return_value, hdferr, lapl_id)
- USE, INTRINSIC :: ISO_C_BINDING
- IMPLICIT NONE
- INTEGER(HID_T) , INTENT(IN) :: loc_id
- CHARACTER(LEN=*), INTENT(IN) :: group_name
- INTEGER , INTENT(IN) :: index_type
- INTEGER , INTENT(IN) :: order
- INTEGER(HSIZE_T), INTENT(INOUT) :: idx
- TYPE(C_FUNPTR) , INTENT(IN) :: op
- TYPE(C_PTR) , INTENT(IN) :: op_data
- INTEGER , INTENT(OUT) :: return_value
- INTEGER , INTENT(OUT) :: hdferr
- INTEGER(HID_T) , INTENT(IN), OPTIONAL :: lapl_id
-!*****
- INTEGER(HID_T) :: lapl_id_default
- INTEGER(SIZE_T) :: namelen
-
- INTERFACE
- INTEGER FUNCTION h5literate_by_name_c(loc_id, name, namelen, index_type, order,&
- idx, op, op_data, lapl_id_default) BIND(C, NAME='h5literate_by_name_c')
- USE, INTRINSIC :: ISO_C_BINDING, ONLY : c_char, c_ptr, c_funptr
- USE H5GLOBAL
- INTEGER(HID_T) , INTENT(IN) :: loc_id
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(IN) :: name
- INTEGER(SIZE_T) , INTENT(IN) :: namelen
- INTEGER , INTENT(IN) :: index_type
- INTEGER , INTENT(IN) :: order
- INTEGER(HSIZE_T), INTENT(INOUT) :: idx
- TYPE(C_FUNPTR), VALUE :: op
- TYPE(C_PTR), VALUE :: op_data
- INTEGER(HID_T) , INTENT(IN) :: lapl_id_default
- END FUNCTION
- END INTERFACE
-
- namelen = LEN(group_name)
- lapl_id_default = H5P_DEFAULT_F
- IF(PRESENT(lapl_id)) lapl_id_default = lapl_id
-
- return_value = h5literate_by_name_c(loc_id, group_name, namelen, index_type, order, idx, op, op_data, lapl_id_default)
-
- IF(return_value.GE.0)THEN
- hdferr = 0
- ELSE
- hdferr = -1
- END IF
-
- END SUBROUTINE h5literate_by_name_f
-
-END MODULE H5L_PROVISIONAL
diff --git a/fortran/src/H5Lff_F90.f90 b/fortran/src/H5Lff_F90.f90
deleted file mode 100644
index dd62b7b..0000000
--- a/fortran/src/H5Lff_F90.f90
+++ /dev/null
@@ -1,39 +0,0 @@
-!****h* ROBODoc/H5L (F90)
-!
-! NAME
-! MODULE H5L_PROVISIONAL
-!
-! PURPOSE
-! This file contains Fortran 90 interfaces for H5L functions. It contains
-! the same functions as H5Lff_F03.f90 but excludes the Fortran 2003 functions
-! and the interface listings. This file will be compiled instead of H5Lff_F03.f90
-! if Fortran 2003 functions are not enabled.
-!
-! NOTE
-! Currently contains no functions.
-!
-! COPYRIGHT
-! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
-! Copyright by The HDF Group. *
-! Copyright by the Board of Trustees of the University of Illinois. *
-! All rights reserved. *
-! *
-! This file is part of HDF5. The full HDF5 copyright notice, including *
-! terms governing use, modification, and redistribution, is contained in *
-! the files COPYING and Copyright.html. COPYING can be found at the root *
-! of the source code distribution tree; Copyright.html can be found at the *
-! root level of an installed copy of the electronic HDF5 document set and *
-! is linked from the top-level documents page. It can also be found at *
-! http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have *
-! access to either file, you may request a copy from help@hdfgroup.org. *
-! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
-!
-! *** IMPORTANT ***
-! If you add a new H5D function you must add the function name to the
-! Windows dll file 'hdf5_fortrandll.def.in' in the fortran/src directory.
-! This is needed for Windows based operating systems.
-!*****
-
-MODULE H5L_PROVISIONAL
-
-END MODULE H5L_PROVISIONAL
diff --git a/fortran/src/H5Of.c b/fortran/src/H5Of.c
index ae344a5..4801f7d 100644
--- a/fortran/src/H5Of.c
+++ b/fortran/src/H5Of.c
@@ -1,6 +1,6 @@
/****h* H5Of/H5Of
* PURPOSE
- * This file contains C stubs for H5O Fortran APIs
+ * This file contains C stubs for H5O Fortran APIs
*
* COPYRIGHT
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
@@ -109,12 +109,12 @@ fill_h5o_info_t_f(H5O_info_t Oinfo, H5O_info_t_f *object_info) {
* PURPOSE
* Calls H5Olink
* INPUTS
- * object_id - Object to be linked.
- * new_loc_id - File or group identifier specifying location at which object is to be linked.
- * name - Name of link to be created, relative to new_loc_id.
- * namelen - Length of buffer for link to be created.
- * lcpl_id - Link creation property list identifier.
- * lapl_id - Link access property list identifier.
+ * object_id - Object to be linked.
+ * new_loc_id - File or group identifier specifying location at which object is to be linked.
+ * name - Name of link to be created, relative to new_loc_id.
+ * namelen - Length of buffer for link to be created.
+ * lcpl_id - Link creation property list identifier.
+ * lapl_id - Link access property list identifier.
* RETURNS
* 0 on success, -1 on failure
* AUTHOR
@@ -123,7 +123,7 @@ fill_h5o_info_t_f(H5O_info_t Oinfo, H5O_info_t_f *object_info) {
* SOURCE
*/
int_f
-nh5olink_c (hid_t_f *object_id, hid_t_f *new_loc_id, _fcd name, size_t_f *namelen,
+h5olink_c (hid_t_f *object_id, hid_t_f *new_loc_id, _fcd name, size_t_f *namelen,
hid_t_f *lcpl_id, hid_t_f *lapl_id)
/******/
{
@@ -169,7 +169,7 @@ nh5olink_c (hid_t_f *object_id, hid_t_f *new_loc_id, _fcd name, size_t_f *namele
* SOURCE
*/
int_f
-nh5oopen_c (hid_t_f *loc_id, _fcd name, size_t_f *namelen, hid_t_f *lapl_id, hid_t_f *obj_id)
+h5oopen_c (hid_t_f *loc_id, _fcd name, size_t_f *namelen, hid_t_f *lapl_id, hid_t_f *obj_id)
/******/
{
char *c_name = NULL; /* Buffer to hold C string */
@@ -194,20 +194,20 @@ nh5oopen_c (hid_t_f *loc_id, _fcd name, size_t_f *namelen, hid_t_f *lapl_id, hid
}
/****if* H5Of/h5oclose_c
* NAME
- * h5oclose_c
+ * h5oclose_c
* PURPOSE
- * Call H5Oclose
+ * Call H5Oclose
* INPUTS
- * object_id - Object identifier
+ * object_id - Object identifier
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* M. Scot Breitenfeld
- * December 17, 2008
+ * December 17, 2008
* SOURCE
*/
int_f
-nh5oclose_c ( hid_t_f *object_id )
+h5oclose_c ( hid_t_f *object_id )
/******/
{
int_f ret_value=0; /* Return value */
@@ -225,15 +225,15 @@ nh5oclose_c ( hid_t_f *object_id )
* PURPOSE
* Calls H5Ovisit
* INPUTS
- * object_id - Identifier specifying subject group
- * index_type - Type of index which determines the order
- * order - Order within index
- * idx - Iteration position at which to start
- * op - Callback function passing data regarding the link to the calling application
- * op_data - User-defined pointer to data required by the application for its processing of the link
+ * object_id - Identifier specifying subject group
+ * index_type - Type of index which determines the order
+ * order - Order within index
+ * idx - Iteration position at which to start
+ * op - Callback function passing data regarding the link to the calling application
+ * op_data - User-defined pointer to data required by the application for its processing of the link
*
* OUTPUTS
- * idx - Position at which an interrupted iteration may be restarted
+ * idx - Position at which an interrupted iteration may be restarted
*
* RETURNS
* >0 on success, 0< on failure
@@ -266,20 +266,20 @@ h5ovisit_c(hid_t_f *group_id, int_f *index_type, int_f *order, H5O_iterate_t op,
* Calls H5open_by_addr
* INPUTS
* loc_id - File or group identifier
- * addr - Object’s address in the file
+ * addr - Object’s address in the file
*
* OUTPUTS
* obj_id - Dataset identifier
*
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* M. Scot Breitenfeld
* September 14, 2009
* SOURCE
*/
int_f
-nh5oopen_by_addr_c (hid_t_f *loc_id, haddr_t_f *addr, hid_t_f *obj_id)
+h5oopen_by_addr_c (hid_t_f *loc_id, haddr_t_f *addr, hid_t_f *obj_id)
/******/
{
int_f ret_value = 0; /* Return value */
@@ -458,7 +458,7 @@ h5oget_info_c (hid_t_f *object_id, H5O_info_t_f *object_info)
* SOURCE
*/
int_f
-nh5ocopy_c (hid_t_f *src_loc_id, _fcd src_name, size_t_f *src_name_len,
+h5ocopy_c (hid_t_f *src_loc_id, _fcd src_name, size_t_f *src_name_len,
hid_t_f *dst_loc_id, _fcd dst_name, size_t_f *dst_name_len,
hid_t_f *ocpypl_id, hid_t_f *lcpl_id )
/******/
@@ -499,15 +499,15 @@ nh5ocopy_c (hid_t_f *src_loc_id, _fcd src_name, size_t_f *src_name_len,
* PURPOSE
* Calls H5Ovisit_by_name
* INPUTS
- * object_id - Identifier specifying subject group
- * index_type - Type of index which determines the order
- * order - Order within index
- * idx - Iteration position at which to start
- * op - Callback function passing data regarding the link to the calling application
- * op_data - User-defined pointer to data required by the application for its processing of the link
+ * object_id - Identifier specifying subject group
+ * index_type - Type of index which determines the order
+ * order - Order within index
+ * idx - Iteration position at which to start
+ * op - Callback function passing data regarding the link to the calling application
+ * op_data - User-defined pointer to data required by the application for its processing of the link
*
* OUTPUTS
- * idx - Position at which an interrupted iteration may be restarted
+ * idx - Position at which an interrupted iteration may be restarted
*
* RETURNS
* >0 on success, 0< on failure
@@ -560,7 +560,7 @@ h5ovisit_by_name_c(hid_t_f *loc_id, _fcd object_name, size_t_f *namelen, int_f
* SOURCE
*/
int_f
-nh5odecr_refcount_c (hid_t_f *object_id)
+h5odecr_refcount_c (hid_t_f *object_id)
/******/
{
int_f ret_value = 0; /* Return value */
@@ -594,7 +594,7 @@ nh5odecr_refcount_c (hid_t_f *object_id)
* SOURCE
*/
int_f
-nh5oexists_by_name_c (hid_t_f *loc_id, _fcd name, size_t_f *namelen, hid_t_f *lapl_id)
+h5oexists_by_name_c (hid_t_f *loc_id, _fcd name, size_t_f *namelen, hid_t_f *lapl_id)
/******/
{
char *c_name = NULL; /* Buffer to hold C string */
@@ -633,7 +633,7 @@ nh5oexists_by_name_c (hid_t_f *loc_id, _fcd name, size_t_f *namelen, hid_t_f *la
* SOURCE
*/
int_f
-nh5oincr_refcount_c (hid_t_f *object_id)
+h5oincr_refcount_c (hid_t_f *object_id)
/******/
{
int_f ret_value = 0; /* Return value */
@@ -665,7 +665,7 @@ nh5oincr_refcount_c (hid_t_f *object_id)
* SOURCE
*/
int_f
-nh5oset_comment_c (hid_t_f *object_id, _fcd comment, size_t_f *commentlen)
+h5oset_comment_c (hid_t_f *object_id, _fcd comment, size_t_f *commentlen)
/******/
{
char *c_comment = NULL; /* Buffer to hold C string */
@@ -697,7 +697,7 @@ nh5oset_comment_c (hid_t_f *object_id, _fcd comment, size_t_f *commentlen)
* INPUTS
* object_id - Identifier of the target object.
* name - Name of the object whose comment is to be set or reset,
- * specified as a path relative to loc_id.
+ * specified as a path relative to loc_id.
* namelen - Length of the name.
* comment - The new comment.
* commentlen - Length of the comment.
@@ -710,7 +710,7 @@ nh5oset_comment_c (hid_t_f *object_id, _fcd comment, size_t_f *commentlen)
* SOURCE
*/
int_f
-nh5oset_comment_by_name_c (hid_t_f *object_id, _fcd name, size_t_f *namelen, _fcd comment, size_t_f *commentlen, hid_t_f *lapl_id)
+h5oset_comment_by_name_c (hid_t_f *object_id, _fcd name, size_t_f *namelen, _fcd comment, size_t_f *commentlen, hid_t_f *lapl_id)
/******/
{
char *c_comment = NULL; /* Buffer to hold C string */
@@ -755,7 +755,7 @@ nh5oset_comment_by_name_c (hid_t_f *object_id, _fcd name, size_t_f *namelen, _f
* n - Object to open.
* lapl_id - Link access property list.
* OUTPUTS
- * obj_id - An object identifier for the opened object.
+ * obj_id - An object identifier for the opened object.
* RETURNS
* 0 on success, -1 on failure
* AUTHOR
@@ -764,7 +764,7 @@ nh5oset_comment_by_name_c (hid_t_f *object_id, _fcd name, size_t_f *namelen, _f
* SOURCE
*/
int_f
-nh5oopen_by_idx_c (hid_t_f *loc_id, _fcd group_name, size_t_f *group_namelen,
+h5oopen_by_idx_c (hid_t_f *loc_id, _fcd group_name, size_t_f *group_namelen,
int_f *index_type, int_f *order, hsize_t_f *n, hid_t_f *obj_id, hid_t_f *lapl_id)
/******/
{
@@ -813,7 +813,7 @@ nh5oopen_by_idx_c (hid_t_f *loc_id, _fcd group_name, size_t_f *group_namelen,
* SOURCE
*/
int_f
-nh5oget_comment_c (hid_t_f *object_id, _fcd comment, size_t_f *commentsize, hssize_t_f *bufsize)
+h5oget_comment_c (hid_t_f *object_id, _fcd comment, size_t_f *commentsize, hssize_t_f *bufsize)
/******/
{
char *c_comment = NULL; /* Buffer to hold C string */
@@ -869,7 +869,7 @@ nh5oget_comment_c (hid_t_f *object_id, _fcd comment, size_t_f *commentsize, hss
* SOURCE
*/
int_f
-nh5oget_comment_by_name_c (hid_t_f *loc_id, _fcd name, size_t_f *name_size,
+h5oget_comment_by_name_c (hid_t_f *loc_id, _fcd name, size_t_f *name_size,
_fcd comment, size_t_f *commentsize, size_t_f *bufsize, hid_t_f *lapl_id)
/******/
{
diff --git a/fortran/src/H5Off.f90 b/fortran/src/H5Off.F90
index 8a40079..da940df 100644
--- a/fortran/src/H5Off.f90
+++ b/fortran/src/H5Off.F90
@@ -7,9 +7,7 @@
! fortran/src/H5Off.f90
!
! PURPOSE
-! This file contains Fortran interfaces for H5O functions. It includes
-! all the functions that are independent on whether the Fortran 2003 functions
-! are enabled or disabled.
+! This file contains Fortran interfaces for H5O functions.
!
!
! COPYRIGHT
@@ -29,7 +27,13 @@
! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
!
! NOTES
-! *** IMPORTANT ***
+! _____ __ __ _____ ____ _____ _______ _ _ _______
+! |_ _| \/ | __ \ / __ \| __ \__ __|/\ | \ | |__ __|
+! **** | | | \ / | |__) | | | | |__) | | | / \ | \| | | | ****
+! **** | | | |\/| | ___/| | | | _ / | | / /\ \ | . ` | | | ****
+! **** _| |_| | | | | | |__| | | \ \ | |/ ____ \| |\ | | | ****
+! |_____|_| |_|_| \____/|_| \_\ |_/_/ \_\_| \_| |_|
+!
! If you add a new H5O function you must add the function name to the
! Windows dll file 'hdf5_fortrandll.def.in' in the fortran/src directory.
! This is needed for Windows based operating systems.
@@ -38,7 +42,65 @@
MODULE H5O
+ USE, INTRINSIC :: ISO_C_BINDING, ONLY : C_PTR, C_FUNPTR, C_CHAR, C_INT64_T, C_LONG, C_INT, C_LOC
USE H5GLOBAL
+ IMPLICIT NONE
+
+!****t* H5T (F03)/h5o_info_t
+!
+! Fortran2003 Derived Type:
+!
+ TYPE, BIND(C) :: space_t
+ INTEGER(hsize_t) :: total ! Total space for storing object header in file
+ INTEGER(hsize_t) :: meta ! Space within header for object header metadata information
+ INTEGER(hsize_t) :: mesg ! Space within header for actual message information
+ INTEGER(hsize_t) :: free ! Free space within object header
+ END TYPE space_t
+
+ TYPE, BIND(C) :: mesg_t
+ INTEGER(c_int64_t) :: present ! Flags to indicate presence of message type in header
+ INTEGER(c_int64_t) :: shared ! Flags to indicate message type is shared in header
+ END TYPE mesg_t
+
+ TYPE, BIND(C) :: hdr_t
+ INTEGER :: version ! Version number of header format in file
+ INTEGER :: nmesgs ! Number of object header messages
+ INTEGER :: nchunks ! Number of object header chunks
+ INTEGER :: flags ! Object header status flags
+ TYPE(space_t) :: space
+ TYPE(mesg_t) :: mesg
+ END TYPE hdr_t
+
+ ! Extra metadata storage for obj & attributes
+ TYPE, BIND(C) :: H5_ih_info_t
+ INTEGER(hsize_t) :: index_size ! btree and/or list
+ INTEGER(hsize_t) :: heap_size
+ END TYPE H5_ih_info_t
+
+ TYPE, BIND(C) :: meta_size_t
+ TYPE(H5_ih_info_t) :: obj ! v1/v2 B-tree & local/fractal heap for groups, B-tree for chunked datasets
+ TYPE(H5_ih_info_t) :: attr ! v2 B-tree & heap for attributes
+ ENDTYPE meta_size_t
+
+ TYPE, BIND(C) :: h5o_info_t
+ INTEGER(C_LONG) :: fileno ! File number that object is located in
+ INTEGER(haddr_t) :: addr ! Object address in file
+ INTEGER(C_INT) :: type ! Basic object type (group, dataset, etc.)
+ INTEGER :: rc ! Reference count of object
+
+ INTEGER, DIMENSION(8) :: atime ! Access time ! -- NOTE --
+ INTEGER, DIMENSION(8) :: mtime ! Modification time ! Returns an integer array
+ INTEGER, DIMENSION(8) :: ctime ! Change time ! as specified in the Fortran
+ INTEGER, DIMENSION(8) :: btime ! Birth time ! intrinsic DATE_AND_TIME(VALUES)
+
+ INTEGER(hsize_t) :: num_attrs ! # of attributes attached to object
+
+ TYPE(hdr_t) :: hdr
+
+ TYPE(meta_size_t) :: meta_size
+ END TYPE h5o_info_t
+
+!*****
CONTAINS
@@ -83,15 +145,13 @@ CONTAINS
INTERFACE
INTEGER FUNCTION h5olink_c(object_id, new_loc_id, new_link_name, new_link_namelen, &
- lcpl_id_default, lapl_id_default)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5OLINK_C'::h5olink_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: new_link_name
+ lcpl_id_default, lapl_id_default) BIND(C,NAME='h5olink_c')
+ IMPORT :: C_CHAR
+ IMPORT :: HID_T, SIZE_T
+ IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: object_id
INTEGER(HID_T), INTENT(IN) :: new_loc_id
- CHARACTER(LEN=*), INTENT(IN) :: new_link_name
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(IN) :: new_link_name
INTEGER(SIZE_T) :: new_link_namelen
INTEGER(HID_T) :: lapl_id_default
INTEGER(HID_T) :: lcpl_id_default
@@ -146,14 +206,12 @@ CONTAINS
INTEGER(SIZE_T) :: namelen
INTERFACE
- INTEGER FUNCTION h5oopen_c(loc_id, name, namelen, lapl_id_default, obj_id)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5OOPEN_C'::h5oopen_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: name
+ INTEGER FUNCTION h5oopen_c(loc_id, name, namelen, lapl_id_default, obj_id) BIND(C,NAME='h5oopen_c')
+ IMPORT :: C_CHAR
+ IMPORT :: HID_T, SIZE_T
+ IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: loc_id
- CHARACTER(LEN=*), INTENT(IN) :: name
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(IN) :: name
INTEGER(HID_T) :: lapl_id_default
INTEGER(SIZE_T) :: namelen
INTEGER(HID_T), INTENT(OUT) :: obj_id
@@ -194,11 +252,9 @@ CONTAINS
INTEGER , INTENT(OUT) :: hdferr
!*****
INTERFACE
- INTEGER FUNCTION h5oclose_c(object_id)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5OCLOSE_C'::h5oclose_c
- !DEC$ENDIF
+ INTEGER FUNCTION h5oclose_c(object_id) BIND(C,NAME='h5oclose_c')
+ IMPORT :: HID_T
+ IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: object_id
END FUNCTION h5oclose_c
END INTERFACE
@@ -235,11 +291,9 @@ CONTAINS
INTEGER , INTENT(OUT) :: hdferr
!*****
INTERFACE
- INTEGER FUNCTION h5oopen_by_addr_c(loc_id, addr, obj_id)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5OOPEN_BY_ADDR_C'::h5oopen_by_addr_c
- !DEC$ENDIF
+ INTEGER FUNCTION h5oopen_by_addr_c(loc_id, addr, obj_id) BIND(C,NAME='h5oopen_by_addr_c')
+ IMPORT :: HID_T, HADDR_T
+ IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: loc_id
INTEGER(HADDR_T), INTENT(IN) :: addr
INTEGER(HID_T), INTENT(OUT) :: obj_id
@@ -291,16 +345,15 @@ CONTAINS
INTERFACE
INTEGER FUNCTION h5ocopy_c(src_loc_id, src_name, src_name_len, &
- dst_loc_id, dst_name, dst_name_len, ocpypl_id_default, lcpl_id_default)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5OCOPY_C'::h5ocopy_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: src_name, dst_name
+ dst_loc_id, dst_name, dst_name_len, ocpypl_id_default, lcpl_id_default) &
+ BIND(C,NAME='h5ocopy_c')
+ IMPORT :: C_CHAR
+ IMPORT :: HID_T, SIZE_T
+ IMPLICIT NONE
INTEGER(HID_T) , INTENT(IN) :: src_loc_id
- CHARACTER(LEN=*), INTENT(IN) :: src_name
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(IN) :: src_name
INTEGER(HID_T) , INTENT(IN) :: dst_loc_id
- CHARACTER(LEN=*), INTENT(IN) :: dst_name
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(IN) :: dst_name
INTEGER(HID_T) , INTENT(IN) :: ocpypl_id_default
INTEGER(HID_T) , INTENT(IN) :: lcpl_id_default
INTEGER(SIZE_T) :: src_name_len, dst_name_len
@@ -346,11 +399,9 @@ CONTAINS
!*****
INTERFACE
- INTEGER FUNCTION h5odecr_refcount_c(object_id)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5ODECR_REFCOUNT_C'::h5odecr_refcount_c
- !DEC$ENDIF
+ INTEGER FUNCTION h5odecr_refcount_c(object_id) BIND(C,NAME='h5odecr_refcount_c')
+ IMPORT :: HID_T
+ IMPLICIT NONE
INTEGER(HID_T) , INTENT(IN) :: object_id
END FUNCTION h5odecr_refcount_c
END INTERFACE
@@ -397,14 +448,13 @@ CONTAINS
INTEGER(HID_T) :: lapl_id_default
INTERFACE
- INTEGER FUNCTION h5oexists_by_name_c(loc_id, name, namelen, lapl_id)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5OEXISTS_BY_NAME_C'::h5oexists_by_name_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: name
+ INTEGER FUNCTION h5oexists_by_name_c(loc_id, name, namelen, lapl_id) &
+ BIND(C,NAME='h5oexists_by_name_c')
+ IMPORT :: C_CHAR
+ IMPORT :: HID_T, SIZE_T
+ IMPLICIT NONE
INTEGER(HID_T) , INTENT(IN) :: loc_id
- CHARACTER(LEN=*), INTENT(IN) :: name
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(IN) :: name
INTEGER(SIZE_T) , INTENT(IN) :: namelen
INTEGER(HID_T) , INTENT(IN) :: lapl_id
@@ -464,14 +514,13 @@ CONTAINS
INTEGER(HSSIZE_T) :: bufsize_default
INTERFACE
- INTEGER FUNCTION h5oget_comment_c(obj_id, comment, commentsize_default, bufsize)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5OGET_COMMENT_C'::h5oget_comment_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: comment
+ INTEGER FUNCTION h5oget_comment_c(obj_id, comment, commentsize_default, bufsize) &
+ BIND(C,NAME='h5oget_comment_c')
+ IMPORT :: C_CHAR
+ IMPORT :: HID_T, SIZE_T, HSSIZE_T
+ IMPLICIT NONE
INTEGER(HID_T) , INTENT(IN) :: obj_id
- CHARACTER(LEN=*), INTENT(OUT) :: comment
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(OUT) :: comment
INTEGER(SIZE_T) , INTENT(IN) :: commentsize_default
INTEGER(HSSIZE_T) , INTENT(OUT) :: bufsize
END FUNCTION h5oget_comment_c
@@ -525,16 +574,14 @@ CONTAINS
INTEGER(HID_T) :: lapl_id_default
INTERFACE
INTEGER FUNCTION h5oget_comment_by_name_c(loc_id, name, name_size, &
- comment, commentsize_default, bufsize_default, lapl_id)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5OGET_COMMENT_BY_NAME_C'::h5oget_comment_by_name_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: comment, name
+ comment, commentsize_default, bufsize_default, lapl_id) BIND(C,NAME='h5oget_comment_by_name_c')
+ IMPORT :: C_CHAR
+ IMPORT :: HID_T, SIZE_T
+ IMPLICIT NONE
INTEGER(HID_T) , INTENT(IN) :: loc_id
- CHARACTER(LEN=*), INTENT(IN) :: name
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(IN) :: name
INTEGER(SIZE_T) , INTENT(IN) :: name_size
- CHARACTER(LEN=*), INTENT(OUT) :: comment
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(OUT) :: comment
INTEGER(SIZE_T) , INTENT(IN) :: commentsize_default
INTEGER(SIZE_T) , INTENT(OUT) :: bufsize_default
INTEGER(HID_T) , INTENT(IN) :: lapl_id
@@ -579,11 +626,9 @@ CONTAINS
!*****
INTERFACE
- INTEGER FUNCTION h5oincr_refcount_c(obj_id)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5OINCR_REFCOUNT_C'::h5oincr_refcount_c
- !DEC$ENDIF
+ INTEGER FUNCTION h5oincr_refcount_c(obj_id) BIND(C,NAME='h5oincr_refcount_c')
+ IMPORT :: HID_T
+ IMPLICIT NONE
INTEGER(HID_T) , INTENT(IN) :: obj_id
END FUNCTION h5oincr_refcount_c
END INTERFACE
@@ -635,14 +680,13 @@ CONTAINS
INTEGER(HID_T) :: lapl_id_default
INTERFACE
- INTEGER FUNCTION h5oopen_by_idx_c(loc_id, group_name, group_namelen, index_type, order, n, obj_id, lapl_id_default)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5OOPEN_BY_IDX_C'::h5oopen_by_idx_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: group_name
+ INTEGER FUNCTION h5oopen_by_idx_c(loc_id, group_name, group_namelen, index_type, order, n, obj_id, lapl_id_default) &
+ BIND(C,NAME='h5oopen_by_idx_c')
+ IMPORT :: C_CHAR
+ IMPORT :: HID_T, SIZE_T, HSIZE_T
+ IMPLICIT NONE
INTEGER(HID_T) , INTENT(IN) :: loc_id
- CHARACTER(LEN=*), INTENT(IN) :: group_name
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(IN) :: group_name
INTEGER(SIZE_T) , INTENT(IN) :: group_namelen
INTEGER , INTENT(IN) :: index_type
INTEGER , INTENT(IN) :: order
@@ -690,14 +734,12 @@ CONTAINS
INTEGER(SIZE_T) :: commentlen
INTERFACE
- INTEGER FUNCTION h5oset_comment_c(obj_id, comment, commentlen)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5OSET_COMMENT_C'::h5oset_comment_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: comment
+ INTEGER FUNCTION h5oset_comment_c(obj_id, comment, commentlen) BIND(C,NAME='h5oset_comment_c')
+ IMPORT :: C_CHAR
+ IMPORT :: HID_T, SIZE_T
+ IMPLICIT NONE
INTEGER(HID_T) , INTENT(IN) :: obj_id
- CHARACTER(LEN=*), INTENT(IN) :: comment
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(IN) :: comment
INTEGER(SIZE_T) , INTENT(IN) :: commentlen
END FUNCTION h5oset_comment_c
@@ -746,16 +788,15 @@ CONTAINS
INTEGER(HID_T) :: lapl_id_default
INTERFACE
- INTEGER FUNCTION h5oset_comment_by_name_c(loc_id, name, namelen, comment, commentlen, lapl_id)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5OSET_COMMENT_BY_NAME_C'::h5oset_comment_by_name_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: name, comment
+ INTEGER FUNCTION h5oset_comment_by_name_c(loc_id, name, namelen, comment, commentlen, lapl_id) &
+ BIND(C,NAME='h5oset_comment_by_name_c')
+ IMPORT :: C_CHAR
+ IMPORT :: HID_T, SIZE_T
+ IMPLICIT NONE
INTEGER(HID_T) , INTENT(IN) :: loc_id
- CHARACTER(LEN=*), INTENT(IN) :: comment
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(IN) :: comment
INTEGER(SIZE_T) , INTENT(IN) :: commentlen
- CHARACTER(LEN=*), INTENT(IN) :: name
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(IN) :: name
INTEGER(SIZE_T) , INTENT(IN) :: namelen
INTEGER(HID_T) , INTENT(IN) :: lapl_id
END FUNCTION h5oset_comment_by_name_c
@@ -771,5 +812,338 @@ CONTAINS
END SUBROUTINE h5oset_comment_by_name_f
+!****s* H5O (F03)/h5ovisit_f_F03
+!
+! NAME
+! h5ovisit_f
+!
+! PURPOSE
+! Recursively visits all objects starting from a specified object.
+!
+! Inputs:
+! object_id - Identifier of the object at which the recursive iteration begins.
+! index_type - Type of index; valid values include:
+! H5_INDEX_NAME_F
+! H5_INDEX_CRT_ORDER_F
+! order - Order in which index is traversed; valid values include:
+! H5_ITER_DEC_F
+! H5_ITER_INC_F
+! H5_ITER_NATIVE_F
+! op - Callback function passing data regarding the group to the calling application
+! op_data - User-defined pointer to data required by the application for its processing of the group
+!
+! Outputs:
+! return_value - returns the return value of the first operator that returns a positive value, or
+! zero if all members were processed with no operator returning non-zero.
+! hdferr - Returns 0 if successful and -1 if fails
+! AUTHOR
+! M. Scot Breitenfeld
+! November 19, 2008
+!
+! Fortran2003 Interface:
+ SUBROUTINE h5ovisit_f(object_id, index_type, order, op, op_data, return_value, hdferr)
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: object_id
+ INTEGER, INTENT(IN) :: index_type
+ INTEGER, INTENT(IN) :: order
+
+ TYPE(C_FUNPTR):: op
+ TYPE(C_PTR) :: op_data
+ INTEGER, INTENT(OUT) :: return_value
+ INTEGER, INTENT(OUT) :: hdferr
+!*****
+
+ INTERFACE
+ INTEGER FUNCTION h5ovisit_c(object_id, index_type, order, op, op_data) &
+ BIND(C, NAME='h5ovisit_c')
+ IMPORT :: C_FUNPTR, C_PTR
+ IMPORT :: HID_T
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: object_id
+ INTEGER, INTENT(IN) :: index_type
+ INTEGER, INTENT(IN) :: order
+ TYPE(C_FUNPTR), VALUE :: op
+ TYPE(C_PTR), VALUE :: op_data
+ END FUNCTION h5ovisit_c
+ END INTERFACE
+
+ return_value = h5ovisit_c(object_id, index_type, order, op, op_data)
+
+ IF(return_value.GE.0)THEN
+ hdferr = 0
+ ELSE
+ hdferr = -1
+ END IF
+
+ END SUBROUTINE h5ovisit_f
+
+!****s* H5O (F03)/h5oget_info_by_name_f_F03
+!
+! NAME
+! h5oget_info_by_name_f
+!
+! PURPOSE
+! Retrieves the metadata for an object, identifying the object by location and relative name.
+!
+! Inputs:
+! loc_id - File or group identifier specifying location of group
+! in which object is located.
+! name - Name of group, relative to loc_id.
+!
+! Outputs:
+! object_info - Buffer in which to return object information.
+! hdferr - Returns 0 if successful and -1 if fails.
+!
+! Optional parameters:
+! lapl_id - Link access property list.
+!
+! AUTHOR
+! M. Scot Breitenfeld
+! December 1, 2008
+!
+! Fortran2003 Interface:
+ SUBROUTINE h5oget_info_by_name_f(loc_id, name, object_info, hdferr, lapl_id)
+ IMPLICIT NONE
+ INTEGER(HID_T) , INTENT(IN) :: loc_id
+ CHARACTER(LEN=*), INTENT(IN) :: name
+ TYPE(h5o_info_t), INTENT(OUT), TARGET :: object_info
+ INTEGER , INTENT(OUT) :: hdferr
+ INTEGER(HID_T) , INTENT(IN) , OPTIONAL :: lapl_id
+!*****
+ INTEGER(SIZE_T) :: namelen
+ INTEGER(HID_T) :: lapl_id_default
+ TYPE(C_PTR) :: ptr
+
+ INTERFACE
+ INTEGER FUNCTION h5oget_info_by_name_c(loc_id, name, namelen, lapl_id_default, object_info) &
+ BIND(C, NAME='h5oget_info_by_name_c')
+ IMPORT :: c_char, c_ptr
+ IMPORT :: HID_T, SIZE_T
+ IMPLICIT NONE
+ INTEGER(HID_T) , INTENT(IN) :: loc_id
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(IN) :: name
+ INTEGER(SIZE_T) , INTENT(IN) :: namelen
+ INTEGER(HID_T) , INTENT(IN) :: lapl_id_default
+ TYPE(C_PTR),VALUE :: object_info
+
+ END FUNCTION h5oget_info_by_name_c
+ END INTERFACE
+
+ namelen = LEN(name)
+
+ lapl_id_default = H5P_DEFAULT_F
+ IF(PRESENT(lapl_id)) lapl_id_default = lapl_id
+
+ ptr = C_LOC(object_info)
+
+ hdferr = H5Oget_info_by_name_c(loc_id, name, namelen, lapl_id_default, ptr)
+
+ END SUBROUTINE H5Oget_info_by_name_f
+
+!****s* H5O (F03)/h5oget_info_f_F03
+!
+! NAME
+! h5oget_info_f
+!
+! PURPOSE
+! Retrieves the metadata for an object specified by an identifier.
+!
+! Inputs:
+! object_id - Identifier for target object.
+!
+! Outputs:
+! object_info - Buffer in which to return object information.
+! hdferr - Returns 0 if successful and -1 if fails.
+!
+! AUTHOR
+! M. Scot Breitenfeld
+! May 11, 2012
+!
+! Fortran2003 Interface:
+ SUBROUTINE h5oget_info_f(object_id, object_info, hdferr)
+
+ USE, INTRINSIC :: ISO_C_BINDING
+ IMPLICIT NONE
+ INTEGER(HID_T) , INTENT(IN) :: object_id
+ TYPE(h5o_info_t), INTENT(OUT), TARGET :: object_info
+ INTEGER , INTENT(OUT) :: hdferr
+!*****
+ TYPE(C_PTR) :: ptr
+
+ INTERFACE
+ INTEGER FUNCTION h5oget_info_c(object_id, object_info) &
+ BIND(C, NAME='h5oget_info_c')
+ IMPORT :: C_PTR
+ IMPORT :: HID_T
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: object_id
+ TYPE(C_PTR), VALUE :: object_info
+ END FUNCTION h5oget_info_c
+ END INTERFACE
+
+ ptr = C_LOC(object_info)
+ hdferr = H5Oget_info_c(object_id, ptr)
+
+ END SUBROUTINE H5Oget_info_f
+
+!****s* H5O (F03)/h5oget_info_by_idx_f_F03
+!
+! NAME
+! h5oget_info_by_idx_f
+!
+! PURPOSE
+! Retrieves the metadata for an object, identifying the object by an index position.
+!
+! Inputs:
+! loc_id - File or group identifier specifying location of group
+! in which object is located.
+! group_name - Name of group in which object is located.
+! index_field - Index or field that determines the order.
+! order - Order within field or index.
+! n - Object for which information is to be returned
+!
+! Outputs:
+! object_info - Buffer in which to return object information.
+! hdferr - Returns 0 if successful and -1 if fails.
+!
+! Optional parameters:
+! lapl_id - Link access property list. (Not currently used.)
+!
+! AUTHOR
+! M. Scot Breitenfeld
+! May 11, 2012
+!
+! Fortran2003 Interface:
+ SUBROUTINE h5oget_info_by_idx_f(loc_id, group_name, index_field, order, n, &
+ object_info, hdferr, lapl_id)
+
+ USE, INTRINSIC :: ISO_C_BINDING
+ IMPLICIT NONE
+ INTEGER(HID_T) , INTENT(IN) :: loc_id
+ CHARACTER(LEN=*), INTENT(IN) :: group_name
+ INTEGER , INTENT(IN) :: index_field
+ INTEGER , INTENT(IN) :: order
+ INTEGER(HSIZE_T), INTENT(IN) :: n
+ TYPE(h5o_info_t), INTENT(OUT), TARGET :: object_info
+ INTEGER , INTENT(OUT) :: hdferr
+ INTEGER(HID_T) , INTENT(IN) , OPTIONAL :: lapl_id
+!*****
+ INTEGER(SIZE_T) :: namelen
+ INTEGER(HID_T) :: lapl_id_default
+ TYPE(C_PTR) :: ptr
+
+ INTERFACE
+ INTEGER FUNCTION h5oget_info_by_idx_c(loc_id, group_name, namelen, &
+ index_field, order, n, lapl_id_default, object_info) BIND(C, NAME='h5oget_info_by_idx_c')
+ IMPORT :: c_char, c_ptr, c_funptr
+ IMPORT :: HID_T, SIZE_T, HSIZE_T
+ INTEGER(HID_T) , INTENT(IN) :: loc_id
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(IN) :: group_name
+ INTEGER(SIZE_T) , INTENT(IN) :: namelen
+ INTEGER , INTENT(IN) :: index_field
+ INTEGER , INTENT(IN) :: order
+ INTEGER(HSIZE_T), INTENT(IN) :: n
+ INTEGER(HID_T) , INTENT(IN) :: lapl_id_default
+ TYPE(C_PTR), VALUE :: object_info
+
+ END FUNCTION h5oget_info_by_idx_c
+ END INTERFACE
+
+ namelen = LEN(group_name)
+
+ lapl_id_default = H5P_DEFAULT_F
+ IF(PRESENT(lapl_id)) lapl_id_default = lapl_id
+
+ ptr = C_LOC(object_info)
+ hdferr = H5Oget_info_by_idx_c(loc_id, group_name, namelen, index_field, order, n, lapl_id_default, ptr)
+
+ END SUBROUTINE H5Oget_info_by_idx_f
+
+
+!****s* H5O (F03)/h5ovisit_by_name_f_F03
+!
+! NAME
+! h5ovisit_by_name_f
+!
+! PURPOSE
+! Recursively visits all objects starting from a specified object.
+!
+! Inputs:
+! loc_id - Identifier of a file or group.
+! object_name - Name of the object, generally relative to loc_id, that will serve as root of the iteration
+! index_type - Type of index; valid values include:
+! H5_INDEX_NAME_F
+! H5_INDEX_CRT_ORDER_F
+! order - Order in which index is traversed; valid values include:
+! H5_ITER_DEC_F
+! H5_ITER_INC_F
+! H5_ITER_NATIVE_F
+! op - Callback function passing data regarding the group to the calling application
+! op_data - User-defined pointer to data required by the application for its processing of the group
+!
+! Outputs:
+! return_value - Returns the return value of the first operator that returns a positive value, or
+! zero if all members were processed with no operator returning non-zero.
+! hdferr - Returns 0 if successful and -1 if fails
+!
+! Optional parameters:
+! lapl_id - Link access property list identifier.
+!
+! AUTHOR
+! M. Scot Breitenfeld
+! November 19, 2008
+!
+! Fortran2003 Interface:
+ SUBROUTINE h5ovisit_by_name_f(loc_id, object_name, index_type, order, op, op_data, &
+ return_value, hdferr, lapl_id)
+ IMPLICIT NONE
+ INTEGER(HID_T) , INTENT(IN) :: loc_id
+ CHARACTER(LEN=*), INTENT(IN) :: object_name
+ INTEGER , INTENT(IN) :: index_type
+ INTEGER , INTENT(IN) :: order
+
+ TYPE(C_FUNPTR) :: op
+ TYPE(C_PTR) :: op_data
+ INTEGER , INTENT(OUT) :: return_value
+ INTEGER , INTENT(OUT) :: hdferr
+ INTEGER(HID_T) , INTENT(IN) , OPTIONAL :: lapl_id
+!*****
+
+ INTEGER(SIZE_T) :: namelen
+ INTEGER(HID_T) :: lapl_id_default
+
+ INTERFACE
+ INTEGER FUNCTION h5ovisit_by_name_c(loc_id, object_name, namelen, index_type, order, &
+ op, op_data, lapl_id) BIND(C, NAME='h5ovisit_by_name_c')
+ IMPORT :: C_CHAR, C_PTR, C_FUNPTR
+ IMPORT :: HID_T, SIZE_T
+ IMPLICIT NONE
+ INTEGER(HID_T) , INTENT(IN) :: loc_id
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(IN) :: object_name
+ INTEGER(SIZE_T) :: namelen
+ INTEGER , INTENT(IN) :: index_type
+ INTEGER , INTENT(IN) :: order
+ TYPE(C_FUNPTR) , VALUE :: op
+ TYPE(C_PTR) , VALUE :: op_data
+ INTEGER(HID_T) , INTENT(IN) :: lapl_id
+ END FUNCTION h5ovisit_by_name_c
+ END INTERFACE
+
+ namelen = LEN(object_name)
+
+ lapl_id_default = H5P_DEFAULT_F
+ IF(PRESENT(lapl_id)) lapl_id_default = lapl_id
+
+ return_value = h5ovisit_by_name_c(loc_id, object_name, namelen, index_type, order, &
+ op, op_data, lapl_id_default)
+
+ IF(return_value.GE.0)THEN
+ hdferr = 0
+ ELSE
+ hdferr = -1
+ END IF
+
+ END SUBROUTINE h5ovisit_by_name_f
+
END MODULE H5O
diff --git a/fortran/src/H5Off_F03.f90 b/fortran/src/H5Off_F03.f90
deleted file mode 100644
index 36b6246..0000000
--- a/fortran/src/H5Off_F03.f90
+++ /dev/null
@@ -1,435 +0,0 @@
-!****h* ROBODoc/H5O (F03)
-!
-! NAME
-! H5O_PROVISIONAL
-!
-! PURPOSE
-! This file contains Fortran 90 and Fortran 2003 interfaces for H5O functions.
-! It contains the same functions as H5Off_F90.f90 but includes the
-! Fortran 2003 functions and the interface listings. This file will be compiled
-! instead of H5Off_F90.f90 if Fortran 2003 functions are enabled.
-!
-! COPYRIGHT
-! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
-! Copyright by The HDF Group. *
-! Copyright by the Board of Trustees of the University of Illinois. *
-! All rights reserved. *
-! *
-! This file is part of HDF5. The full HDF5 copyright notice, including *
-! terms governing use, modification, and redistribution, is contained in *
-! the files COPYING and Copyright.html. COPYING can be found at the root *
-! of the source code distribution tree; Copyright.html can be found at the *
-! root level of an installed copy of the electronic HDF5 document set and *
-! is linked from the top-level documents page. It can also be found at *
-! http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have *
-! access to either file, you may request a copy from help@hdfgroup.org. *
-! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
-!
-! NOTES
-! *** IMPORTANT ***
-! If you add a new H5P function you must add the function name to the
-! Windows dll file 'hdf5_fortrandll.def.in' in the fortran/src directory.
-! This is needed for Windows based operating systems.
-!
-!*****
-
-MODULE H5O_PROVISIONAL
-
- USE H5GLOBAL
- USE, INTRINSIC :: ISO_C_BINDING
-
- IMPLICIT NONE
-
-!****t* H5T (F03)/h5o_info_t
-!
-! Fortran2003 Derived Type:
-!
- TYPE, BIND(C) :: space_t
- INTEGER(hsize_t) :: total ! Total space for storing object header in file
- INTEGER(hsize_t) :: meta ! Space within header for object header metadata information
- INTEGER(hsize_t) :: mesg ! Space within header for actual message information
- INTEGER(hsize_t) :: free ! Free space within object header
- END TYPE space_t
-
- TYPE, BIND(C) :: mesg_t
- INTEGER(c_int64_t) :: present ! Flags to indicate presence of message type in header
- INTEGER(c_int64_t) :: shared ! Flags to indicate message type is shared in header
- END TYPE mesg_t
-
- TYPE, BIND(C) :: hdr_t
- INTEGER :: version ! Version number of header format in file
- INTEGER :: nmesgs ! Number of object header messages
- INTEGER :: nchunks ! Number of object header chunks
- INTEGER :: flags ! Object header status flags
- TYPE(space_t) :: space
- TYPE(mesg_t) :: mesg
- END TYPE hdr_t
-
- ! Extra metadata storage for obj & attributes
- TYPE, BIND(C) :: H5_ih_info_t
- INTEGER(hsize_t) :: index_size ! btree and/or list
- INTEGER(hsize_t) :: heap_size
- END TYPE H5_ih_info_t
-
- TYPE, BIND(C) :: meta_size_t
- TYPE(H5_ih_info_t) :: obj ! v1/v2 B-tree & local/fractal heap for groups, B-tree for chunked datasets
- TYPE(H5_ih_info_t) :: attr ! v2 B-tree & heap for attributes
- ENDTYPE meta_size_t
-
- TYPE, BIND(C) :: h5o_info_t
- INTEGER(C_LONG) :: fileno ! File number that object is located in
- INTEGER(haddr_t) :: addr ! Object address in file
- INTEGER(C_INT) :: type ! Basic object type (group, dataset, etc.)
- INTEGER :: rc ! Reference count of object
-
- INTEGER, DIMENSION(8) :: atime ! Access time ! -- NOTE --
- INTEGER, DIMENSION(8) :: mtime ! Modification time ! Returns an integer array
- INTEGER, DIMENSION(8) :: ctime ! Change time ! as specified in the Fortran
- INTEGER, DIMENSION(8) :: btime ! Birth time ! intrinsic DATE_AND_TIME(VALUES)
-
- INTEGER(hsize_t) :: num_attrs ! # of attributes attached to object
-
- TYPE(hdr_t) :: hdr
-
- TYPE(meta_size_t) :: meta_size
- END TYPE h5o_info_t
-
-!*****
-
-CONTAINS
-
-!****s* H5O (F03)/h5ovisit_f_F03
-!
-! NAME
-! h5ovisit_f
-!
-! PURPOSE
-! Recursively visits all objects starting from a specified object.
-!
-! Inputs:
-! object_id - Identifier of the object at which the recursive iteration begins.
-! index_type - Type of index; valid values include:
-! H5_INDEX_NAME_F
-! H5_INDEX_CRT_ORDER_F
-! order - Order in which index is traversed; valid values include:
-! H5_ITER_DEC_F
-! H5_ITER_INC_F
-! H5_ITER_NATIVE_F
-! op - Callback function passing data regarding the group to the calling application
-! op_data - User-defined pointer to data required by the application for its processing of the group
-!
-! Outputs:
-! return_value - returns the return value of the first operator that returns a positive value, or
-! zero if all members were processed with no operator returning non-zero.
-! hdferr - Returns 0 if successful and -1 if fails
-! AUTHOR
-! M. Scot Breitenfeld
-! November 19, 2008
-!
-! Fortran2003 Interface:
- SUBROUTINE h5ovisit_f(object_id, index_type, order, op, op_data, return_value, hdferr)
- USE, INTRINSIC :: ISO_C_BINDING
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: object_id
- INTEGER, INTENT(IN) :: index_type
- INTEGER, INTENT(IN) :: order
-
- TYPE(C_FUNPTR):: op
- TYPE(C_PTR) :: op_data
- INTEGER, INTENT(OUT) :: return_value
- INTEGER, INTENT(OUT) :: hdferr
-!*****
-
- INTERFACE
- INTEGER FUNCTION h5ovisit_c(object_id, index_type, order, op, op_data) &
- BIND(C, NAME='h5ovisit_c')
- USE, INTRINSIC :: ISO_C_BINDING, ONLY : c_ptr, c_funptr
- USE H5GLOBAL
- INTEGER(HID_T), INTENT(IN) :: object_id
- INTEGER, INTENT(IN) :: index_type
- INTEGER, INTENT(IN) :: order
- TYPE(C_FUNPTR), VALUE :: op
- TYPE(C_PTR), VALUE :: op_data
- END FUNCTION h5ovisit_c
- END INTERFACE
-
- return_value = h5ovisit_c(object_id, index_type, order, op, op_data)
-
- IF(return_value.GE.0)THEN
- hdferr = 0
- ELSE
- hdferr = -1
- END IF
-
- END SUBROUTINE h5ovisit_f
-
-!****s* H5O (F03)/h5oget_info_by_name_f_F03
-!
-! NAME
-! h5oget_info_by_name_f
-!
-! PURPOSE
-! Retrieves the metadata for an object, identifying the object by location and relative name.
-!
-! Inputs:
-! loc_id - File or group identifier specifying location of group
-! in which object is located.
-! name - Name of group, relative to loc_id.
-!
-! Outputs:
-! object_info - Buffer in which to return object information.
-! hdferr - Returns 0 if successful and -1 if fails.
-!
-! Optional parameters:
-! lapl_id - Link access property list.
-!
-! AUTHOR
-! M. Scot Breitenfeld
-! December 1, 2008
-!
-! Fortran2003 Interface:
- SUBROUTINE h5oget_info_by_name_f(loc_id, name, object_info, hdferr, lapl_id)
-
- USE, INTRINSIC :: ISO_C_BINDING
- IMPLICIT NONE
- INTEGER(HID_T) , INTENT(IN) :: loc_id
- CHARACTER(LEN=*), INTENT(IN) :: name
- TYPE(h5o_info_t), INTENT(OUT), TARGET :: object_info
- INTEGER , INTENT(OUT) :: hdferr
- INTEGER(HID_T) , INTENT(IN) , OPTIONAL :: lapl_id
-!*****
- INTEGER(SIZE_T) :: namelen
- INTEGER(HID_T) :: lapl_id_default
- TYPE(C_PTR) :: ptr
-
- INTERFACE
- INTEGER FUNCTION h5oget_info_by_name_c(loc_id, name, namelen, lapl_id_default, object_info) &
- BIND(C, NAME='h5oget_info_by_name_c')
- USE, INTRINSIC :: ISO_C_BINDING, ONLY : c_char, c_ptr
- USE H5GLOBAL
- INTEGER(HID_T) , INTENT(IN) :: loc_id
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(IN) :: name
- INTEGER(SIZE_T) , INTENT(IN) :: namelen
- INTEGER(HID_T) , INTENT(IN) :: lapl_id_default
- TYPE(C_PTR),VALUE :: object_info
-
- END FUNCTION h5oget_info_by_name_c
- END INTERFACE
-
- namelen = LEN(name)
-
- lapl_id_default = H5P_DEFAULT_F
- IF(PRESENT(lapl_id)) lapl_id_default = lapl_id
-
- ptr = C_LOC(object_info)
-
- hdferr = H5Oget_info_by_name_c(loc_id, name, namelen, lapl_id_default, ptr)
-
- END SUBROUTINE H5Oget_info_by_name_f
-
-!****s* H5O (F03)/h5oget_info_f_F03
-!
-! NAME
-! h5oget_info_f
-!
-! PURPOSE
-! Retrieves the metadata for an object specified by an identifier.
-!
-! Inputs:
-! object_id - Identifier for target object.
-!
-! Outputs:
-! object_info - Buffer in which to return object information.
-! hdferr - Returns 0 if successful and -1 if fails.
-!
-! AUTHOR
-! M. Scot Breitenfeld
-! May 11, 2012
-!
-! Fortran2003 Interface:
- SUBROUTINE h5oget_info_f(object_id, object_info, hdferr)
-
- USE, INTRINSIC :: ISO_C_BINDING
- IMPLICIT NONE
- INTEGER(HID_T) , INTENT(IN) :: object_id
- TYPE(h5o_info_t), INTENT(OUT), TARGET :: object_info
- INTEGER , INTENT(OUT) :: hdferr
-!*****
- TYPE(C_PTR) :: ptr
-
- INTERFACE
- INTEGER FUNCTION h5oget_info_c(object_id, object_info) &
- BIND(C, NAME='h5oget_info_c')
- USE H5GLOBAL
- USE, INTRINSIC :: ISO_C_BINDING, ONLY : c_ptr
- INTEGER(HID_T), INTENT(IN) :: object_id
- TYPE(C_PTR), VALUE :: object_info
- END FUNCTION h5oget_info_c
- END INTERFACE
-
- ptr = C_LOC(object_info)
- hdferr = H5Oget_info_c(object_id, ptr)
-
- END SUBROUTINE H5Oget_info_f
-
-!****s* H5O (F03)/h5oget_info_by_idx_f_F03
-!
-! NAME
-! h5oget_info_by_idx_f
-!
-! PURPOSE
-! Retrieves the metadata for an object, identifying the object by an index position.
-!
-! Inputs:
-! loc_id - File or group identifier specifying location of group
-! in which object is located.
-! group_name - Name of group in which object is located.
-! index_field - Index or field that determines the order.
-! order - Order within field or index.
-! n - Object for which information is to be returned
-!
-! Outputs:
-! object_info - Buffer in which to return object information.
-! hdferr - Returns 0 if successful and -1 if fails.
-!
-! Optional parameters:
-! lapl_id - Link access property list. (Not currently used.)
-!
-! AUTHOR
-! M. Scot Breitenfeld
-! May 11, 2012
-!
-! Fortran2003 Interface:
- SUBROUTINE h5oget_info_by_idx_f(loc_id, group_name, index_field, order, n, &
- object_info, hdferr, lapl_id)
-
- USE, INTRINSIC :: ISO_C_BINDING
- IMPLICIT NONE
- INTEGER(HID_T) , INTENT(IN) :: loc_id
- CHARACTER(LEN=*), INTENT(IN) :: group_name
- INTEGER , INTENT(IN) :: index_field
- INTEGER , INTENT(IN) :: order
- INTEGER(HSIZE_T), INTENT(IN) :: n
- TYPE(h5o_info_t), INTENT(OUT), TARGET :: object_info
- INTEGER , INTENT(OUT) :: hdferr
- INTEGER(HID_T) , INTENT(IN) , OPTIONAL :: lapl_id
-!*****
- INTEGER(SIZE_T) :: namelen
- INTEGER(HID_T) :: lapl_id_default
- TYPE(C_PTR) :: ptr
-
- INTERFACE
- INTEGER FUNCTION h5oget_info_by_idx_c(loc_id, group_name, namelen, &
- index_field, order, n, lapl_id_default, object_info) BIND(C, NAME='h5oget_info_by_idx_c')
- USE H5GLOBAL
- USE, INTRINSIC :: ISO_C_BINDING, ONLY : c_char, c_ptr, c_funptr
- INTEGER(HID_T) , INTENT(IN) :: loc_id
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(IN) :: group_name
- INTEGER(SIZE_T) , INTENT(IN) :: namelen
- INTEGER , INTENT(IN) :: index_field
- INTEGER , INTENT(IN) :: order
- INTEGER(HSIZE_T), INTENT(IN) :: n
- INTEGER(HID_T) , INTENT(IN) :: lapl_id_default
- TYPE(C_PTR), VALUE :: object_info
-
- END FUNCTION h5oget_info_by_idx_c
- END INTERFACE
-
- namelen = LEN(group_name)
-
- lapl_id_default = H5P_DEFAULT_F
- IF(PRESENT(lapl_id)) lapl_id_default = lapl_id
-
- ptr = C_LOC(object_info)
- hdferr = H5Oget_info_by_idx_c(loc_id, group_name, namelen, index_field, order, n, lapl_id_default, ptr)
-
- END SUBROUTINE H5Oget_info_by_idx_f
-
-
-!****s* H5O (F03)/h5ovisit_by_name_f_F03
-!
-! NAME
-! h5ovisit_by_name_f
-!
-! PURPOSE
-! Recursively visits all objects starting from a specified object.
-!
-! Inputs:
-! loc_id - Identifier of a file or group.
-! object_name - Name of the object, generally relative to loc_id, that will serve as root of the iteration
-! index_type - Type of index; valid values include:
-! H5_INDEX_NAME_F
-! H5_INDEX_CRT_ORDER_F
-! order - Order in which index is traversed; valid values include:
-! H5_ITER_DEC_F
-! H5_ITER_INC_F
-! H5_ITER_NATIVE_F
-! op - Callback function passing data regarding the group to the calling application
-! op_data - User-defined pointer to data required by the application for its processing of the group
-!
-! Outputs:
-! return_value - Returns the return value of the first operator that returns a positive value, or
-! zero if all members were processed with no operator returning non-zero.
-! hdferr - Returns 0 if successful and -1 if fails
-!
-! Optional parameters:
-! lapl_id - Link access property list identifier.
-!
-! AUTHOR
-! M. Scot Breitenfeld
-! November 19, 2008
-!
-! Fortran2003 Interface:
- SUBROUTINE h5ovisit_by_name_f(loc_id, object_name, index_type, order, op, op_data, &
- return_value, hdferr, lapl_id)
- USE, INTRINSIC :: ISO_C_BINDING
- IMPLICIT NONE
- INTEGER(HID_T) , INTENT(IN) :: loc_id
- CHARACTER(LEN=*), INTENT(IN) :: object_name
- INTEGER , INTENT(IN) :: index_type
- INTEGER , INTENT(IN) :: order
-
- TYPE(C_FUNPTR) :: op
- TYPE(C_PTR) :: op_data
- INTEGER , INTENT(OUT) :: return_value
- INTEGER , INTENT(OUT) :: hdferr
- INTEGER(HID_T) , INTENT(IN) , OPTIONAL :: lapl_id
-!*****
-
- INTEGER(SIZE_T) :: namelen
- INTEGER(HID_T) :: lapl_id_default
-
- INTERFACE
- INTEGER FUNCTION h5ovisit_by_name_c(loc_id, object_name, namelen, index_type, order, &
- op, op_data, lapl_id) BIND(C, NAME='h5ovisit_by_name_c')
- USE, INTRINSIC :: ISO_C_BINDING
- USE H5GLOBAL
- INTEGER(HID_T) , INTENT(IN) :: loc_id
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(IN) :: object_name
- INTEGER(SIZE_T) :: namelen
- INTEGER , INTENT(IN) :: index_type
- INTEGER , INTENT(IN) :: order
- TYPE(C_FUNPTR) , VALUE :: op
- TYPE(C_PTR) , VALUE :: op_data
- INTEGER(HID_T) , INTENT(IN) :: lapl_id
- END FUNCTION h5ovisit_by_name_c
- END INTERFACE
-
- namelen = LEN(object_name)
-
- lapl_id_default = H5P_DEFAULT_F
- IF(PRESENT(lapl_id)) lapl_id_default = lapl_id
-
- return_value = h5ovisit_by_name_c(loc_id, object_name, namelen, index_type, order, &
- op, op_data, lapl_id_default)
-
- IF(return_value.GE.0)THEN
- hdferr = 0
- ELSE
- hdferr = -1
- END IF
-
- END SUBROUTINE h5ovisit_by_name_f
-
-END MODULE H5O_PROVISIONAL
-
diff --git a/fortran/src/H5Off_F90.f90 b/fortran/src/H5Off_F90.f90
deleted file mode 100644
index 5688c5d..0000000
--- a/fortran/src/H5Off_F90.f90
+++ /dev/null
@@ -1,39 +0,0 @@
-!****h* ROBODoc/H5O (F90)
-!
-! NAME
-! MODULE H5O_PROVISIONAL
-!
-! PURPOSE
-! This file contains Fortran 90 interfaces for H5O functions. It contains
-! the same functions as H5Off_F03.f90 but excludes the Fortran 2003 functions
-! and the interface listings. This file will be compiled instead of H5Off_F03.f90
-! if Fortran 2003 functions are not enabled.
-!
-! NOTE
-! Currently contains no functions.
-!
-! COPYRIGHT
-! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
-! Copyright by The HDF Group. *
-! Copyright by the Board of Trustees of the University of Illinois. *
-! All rights reserved. *
-! *
-! This file is part of HDF5. The full HDF5 copyright notice, including *
-! terms governing use, modification, and redistribution, is contained in *
-! the files COPYING and Copyright.html. COPYING can be found at the root *
-! of the source code distribution tree; Copyright.html can be found at the *
-! root level of an installed copy of the electronic HDF5 document set and *
-! is linked from the top-level documents page. It can also be found at *
-! http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have *
-! access to either file, you may request a copy from help@hdfgroup.org. *
-! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
-!
-! *** IMPORTANT ***
-! If you add a new H5D function you must add the function name to the
-! Windows dll file 'hdf5_fortrandll.def.in' in the fortran/src directory.
-! This is needed for Windows based operating systems.
-!*****
-
-MODULE H5O_PROVISIONAL
-
-END MODULE H5O_PROVISIONAL
diff --git a/fortran/src/H5Pf.c b/fortran/src/H5Pf.c
index fe2f21a..9735f48 100644
--- a/fortran/src/H5Pf.c
+++ b/fortran/src/H5Pf.c
@@ -1,6 +1,6 @@
/****h* H5Pf/H5Pf
* PURPOSE
- * This file contains C stubs for H5P Fortran APIs
+ * This file contains C stubs for H5P Fortran APIs
*
* COPYRIGHT
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
@@ -23,18 +23,35 @@
#include "H5f90.h"
#include "H5Eprivate.h"
+#include "H5public.h"
+
+#ifdef H5_HAVE_PARALLEL
+
+#include <mpi.h>
+/* Support for C to Fortran translation in MPI */
+#ifndef H5_HAVE_MPI_MULTI_LANG_Comm
+#define MPI_Comm_c2f(comm) (int_f)(comm)
+#define MPI_Comm_f2c(comm) (MPI_Comm)(comm)
+#endif /*MPI Comm*/
+
+#ifndef H5_HAVE_MPI_MULTI_LANG_Info
+#define MPI_Info_c2f(info) (int_f)(info)
+#define MPI_Info_f2c(info) (MPI_Info)(info)
+#endif /*MPI Info*/
+
+#endif /*H5_HAVE_PARALLEL*/
/****if* H5Pf/h5pcreate_c
* NAME
- * h5pcreate_c
+ * h5pcreate_c
* PURPOSE
- * Call H5Pcreate to create a property list
+ * Call H5Pcreate to create a property list
* INPUTS
- * cls - property list class identifier
+ * cls - property list class identifier
* OUTPUTS
- * prp_id - identifier of the created property list
+ * prp_id - identifier of the created property list
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* Elena Pourmal
* Wednesday, October 9, 2002
@@ -43,7 +60,7 @@
*/
int_f
-nh5pcreate_c ( hid_t_f *cls, hid_t_f *prp_id )
+h5pcreate_c ( hid_t_f *cls, hid_t_f *prp_id )
/******/
{
hid_t c_prp_id;
@@ -61,22 +78,22 @@ done:
/****if* H5Pf/h5pclose_c
* NAME
- * h5pclose_c
+ * h5pclose_c
* PURPOSE
- * Call H5Pclose to close property lis
+ * Call H5Pclose to close property lis
* INPUTS
- * prp_id - identifier of the property list to be closed
+ * prp_id - identifier of the property list to be closed
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* Elena Pourmal
- * Saturday, August 14, 1999
+ * Saturday, August 14, 1999
*
* SOURCE
*/
int_f
-nh5pclose_c ( hid_t_f *prp_id )
+h5pclose_c ( hid_t_f *prp_id )
/******/
{
int_f ret_value = 0;
@@ -90,23 +107,23 @@ nh5pclose_c ( hid_t_f *prp_id )
/****if* H5Pf/h5pcopy_c
* NAME
- * h5pcopy_c
+ * h5pcopy_c
* PURPOSE
- * Call H5Pcopy to copy property list
+ * Call H5Pcopy to copy property list
* INPUTS
- * prp_id - identifier of the property list to be copied
+ * prp_id - identifier of the property list to be copied
* OUTPUTS
- * new_prp_id - identifier of the new property list
+ * new_prp_id - identifier of the new property list
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* Elena Pourmal
- * Saturday, August 14, 1999
+ * Saturday, August 14, 1999
*
* SOURCE
*/
int_f
-nh5pcopy_c ( hid_t_f *prp_id , hid_t_f *new_prp_id)
+h5pcopy_c ( hid_t_f *prp_id , hid_t_f *new_prp_id)
/******/
{
hid_t c_new_prp_id;
@@ -124,24 +141,24 @@ done:
/****if* H5Pf/h5pequal_c
* NAME
- * h5pequal_c
+ * h5pequal_c
* PURPOSE
- * Call H5Pequal to check if two property lists are equal
+ * Call H5Pequal to check if two property lists are equal
* INPUTS
- * plist1_id - property list identifier
- * plist2_id - property list identifier
+ * plist1_id - property list identifier
+ * plist2_id - property list identifier
* OUTPUTS
- * c_flag - flag to indicate that lists are eqaul
+ * c_flag - flag to indicate that lists are eqaul
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* Elena Pourmal
- * Monday, September 30, 2002
+ * Monday, September 30, 2002
*
* SOURCE
*/
int_f
-nh5pequal_c ( hid_t_f *plist1_id , hid_t_f *plist2_id, int_f * c_flag)
+h5pequal_c ( hid_t_f *plist1_id , hid_t_f *plist2_id, int_f * c_flag)
/******/
{
htri_t c_c_flag;
@@ -176,7 +193,7 @@ done:
*/
int_f
-nh5pget_class_c ( hid_t_f *prp_id , hid_t_f *classtype)
+h5pget_class_c ( hid_t_f *prp_id , hid_t_f *classtype)
/******/
{
hid_t c_classtype;
@@ -193,15 +210,15 @@ done:
/****if* H5Pf/h5pset_preserve_c
* NAME
- * h5pset_preserve_c
+ * h5pset_preserve_c
* PURPOSE
- * Call H5Pset_preserve to set transfer property for compound
- * datatype
+ * Call H5Pset_preserve to set transfer property for compound
+ * datatype
* INPUTS
- * prp_id - property list identifier
- * flag - TRUE/FALSE flag
+ * prp_id - property list identifier
+ * flag - TRUE/FALSE flag
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* Elena Pourmal
* Thursday, February 17, 2000
@@ -209,7 +226,7 @@ done:
*/
int_f
-nh5pset_preserve_c ( hid_t_f *prp_id , int_f *flag)
+h5pset_preserve_c ( hid_t_f *prp_id , int_f *flag)
/******/
{
int ret_value = 0;
@@ -227,16 +244,16 @@ nh5pset_preserve_c ( hid_t_f *prp_id , int_f *flag)
/****if* H5Pf/h5pget_preserve_c
* NAME
- * h5pget_preserve_c
+ * h5pget_preserve_c
* PURPOSE
- * Call H5Pget_preserve to set transfer property for compound
- * datatype
+ * Call H5Pget_preserve to set transfer property for compound
+ * datatype
* INPUTS
- * prp_id - property list identifier
+ * prp_id - property list identifier
* OUTPUTS
- * flag - TRUE/FALSE flag
+ * flag - TRUE/FALSE flag
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* Elena Pourmal
* Thursday, February 17, 2000
@@ -244,7 +261,7 @@ nh5pset_preserve_c ( hid_t_f *prp_id , int_f *flag)
*/
int_f
-nh5pget_preserve_c ( hid_t_f *prp_id , int_f *flag)
+h5pget_preserve_c ( hid_t_f *prp_id , int_f *flag)
/******/
{
int ret_value = 0;
@@ -260,22 +277,22 @@ nh5pget_preserve_c ( hid_t_f *prp_id , int_f *flag)
/****if* H5Pf/h5pset_deflate_c
* NAME
- * h5pset_deflate_c
+ * h5pset_deflate_c
* PURPOSE
- * Call H5Pset_deflate to set deflate level
+ * Call H5Pset_deflate to set deflate level
* INPUTS
- * prp_id - property list identifier
- * level - level of deflation
+ * prp_id - property list identifier
+ * level - level of deflation
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* Elena Pourmal
- * Saturday, August 14, 1999
+ * Saturday, August 14, 1999
* SOURCE
*/
int_f
-nh5pset_deflate_c ( hid_t_f *prp_id , int_f *level)
+h5pset_deflate_c ( hid_t_f *prp_id , int_f *level)
/******/
{
int ret_value = 0;
@@ -294,24 +311,24 @@ nh5pset_deflate_c ( hid_t_f *prp_id , int_f *level)
/****if* H5Pf/h5pset_chunk_c
* NAME
- * h5pset_chunk_c
+ * h5pset_chunk_c
* PURPOSE
- * Call H5Pset_chunk to set the sizes of chunks for a chunked
- * layout dataset
+ * Call H5Pset_chunk to set the sizes of chunks for a chunked
+ * layout dataset
* INPUTS
- * prp_id - property list identifier
- * rank - number of dimensions of each chunk
- * dims - array of the size of each chunk
+ * prp_id - property list identifier
+ * rank - number of dimensions of each chunk
+ * dims - array of the size of each chunk
* RETURNS
- * 0 on success, -1 on failure
- * Saturday, August 14, 1999
+ * 0 on success, -1 on failure
+ * Saturday, August 14, 1999
* AUTHOR
* Elena Pourmal
* SOURCE
*/
int_f
-nh5pset_chunk_c ( hid_t_f *prp_id, int_f *rank, hsize_t_f *dims )
+h5pset_chunk_c ( hid_t_f *prp_id, int_f *rank, hsize_t_f *dims )
/******/
{
int ret_value = -1;
@@ -338,24 +355,24 @@ DONE:
/****if* H5Pf/h5pget_chunk_c
* NAME
- * h5pget_chunk_c
+ * h5pget_chunk_c
* PURPOSE
- * Call H5Pget_chunk to get the sizes of chunks for a chunked
- * layout dataset for at list max_rank number of dimensions
+ * Call H5Pget_chunk to get the sizes of chunks for a chunked
+ * layout dataset for at list max_rank number of dimensions
* INPUTS
- * prp_id - property list identifier
- * max rank - maximum number of dimensions to return
- * dims - array of the size of each chunk
+ * prp_id - property list identifier
+ * max rank - maximum number of dimensions to return
+ * dims - array of the size of each chunk
* RETURNS
- * number of chunk's dimnesion on success, -1 on failure
- * Saturday, August 14, 1999
+ * number of chunk's dimnesion on success, -1 on failure
+ * Saturday, August 14, 1999
* AUTHOR
* Elena Pourmal
* SOURCE
*/
int_f
-nh5pget_chunk_c ( hid_t_f *prp_id, int_f *max_rank, hsize_t_f *dims )
+h5pget_chunk_c ( hid_t_f *prp_id, int_f *max_rank, hsize_t_f *dims )
/******/
{
int ret_value = -1;
@@ -377,36 +394,6 @@ nh5pget_chunk_c ( hid_t_f *prp_id, int_f *max_rank, hsize_t_f *dims )
return ret_value;
}
-/****if* H5Pf/h5pset_fill_valuec_c
- * NAME
- * h5pset_fill_valuec_c
- * PURPOSE
- * Call h5pset_fill_value_c to a character fill value
- * INPUTS
- * prp_id - property list identifier
- * type_id - datatype identifier (fill value is of type type_id)
- * fillvalue - character value
- * RETURNS
- * 0 on success, -1 on failure
- * Saturday, August 14, 1999
- * AUTHOR
- * Elena Pourmal
- * SOURCE
-*/
-int_f
-nh5pset_fill_valuec_c (hid_t_f *prp_id, hid_t_f *type_id, _fcd fillvalue)
-/******/
-{
- int ret_value = -1;
-
- /*
- * Call h5pset_fill_value_c function.
- */
- ret_value = h5pset_fill_value_c(prp_id, type_id, _fcdtocp(fillvalue));
-
- return ret_value;
-}
-
/****if* H5Pf/h5pset_fill_value_c
* NAME
* h5pset_fill_value_c
@@ -444,68 +431,6 @@ h5pset_fill_value_c (hid_t_f *prp_id, hid_t_f *type_id, void *fillvalue)
return ret_value;
}
-int_f
-nh5pset_fill_value_integer_c (hid_t_f *prp_id, hid_t_f *type_id, void *fillvalue)
-/******/
-{
- /*
- * Call h5pset_fill_value_c function.
- */
- return h5pset_fill_value_c(prp_id, type_id, fillvalue);
-}
-
-int_f
-nh5pset_fill_value_real_c (hid_t_f *prp_id, hid_t_f *type_id, void *fillvalue)
-{
- /*
- * Call h5pset_fill_value_c function.
- */
- return h5pset_fill_value_c(prp_id, type_id, fillvalue);
-}
-
-int_f
-nh5pset_fill_value_double_c (hid_t_f *prp_id, hid_t_f *type_id, void *fillvalue)
-{
- /*
- * Call h5pset_fill_value_c function.
- */
- return h5pset_fill_value_c(prp_id, type_id, fillvalue);
-}
-
-/****if* H5Pf/h5pget_fill_valuec_c
- * NAME
- * h5pget_fill_valuec_c
- * PURPOSE
- * Call h5pget_fill_value_c to a character fill value
- * INPUTS
- * prp_id - property list identifier
- * type_id - datatype identifier (fill value is of type type_id)
- * fillvalue - character value
- * RETURNS
- * 0 on success, -1 on failure
- * AUTHOR
- * Elena Pourmal
- * Saturday, August 14, 1999
- * HISTORY
- * Fixed wrong call to C wrapper, was nh5pset_fill_value_c, changed
- * to nh5pget_fill_value_c. MSB - 7/21/2014
- *
- * SOURCE
-*/
-int_f
-nh5pget_fill_valuec_c (hid_t_f *prp_id, hid_t_f *type_id, _fcd fillvalue)
-/******/
-{
- int ret_value = -1;
-
- /*
- * Call h5pget_fill_value_c function.
- */
- ret_value = h5pget_fill_value_c(prp_id, type_id, _fcdtocp(fillvalue));
-
- return ret_value;
-}
-
/****if* H5Pf/h5pget_fill_value_c
* NAME
* h5pget_fill_value_c
@@ -543,57 +468,30 @@ h5pget_fill_value_c (hid_t_f *prp_id, hid_t_f *type_id, void *fillvalue)
return ret_value;
}
-int_f
-nh5pget_fill_value_integer_c (hid_t_f *prp_id, hid_t_f *type_id, void *fillvalue)
-{
- /*
- * Call h5pget_fill_value_c function.
- */
- return h5pget_fill_value_c(prp_id, type_id, fillvalue);
-}
-
-int_f
-nh5pget_fill_value_real_c (hid_t_f *prp_id, hid_t_f *type_id, void *fillvalue)
-{
- /*
- * Call h5pget_fill_value_c function.
- */
- return h5pget_fill_value_c(prp_id, type_id, fillvalue);
-}
-
-int_f
-nh5pget_fill_value_double_c (hid_t_f *prp_id, hid_t_f *type_id, void *fillvalue)
-{
- /*
- * Call h5pget_fill_value_c function.
- */
- return h5pget_fill_value_c(prp_id, type_id, fillvalue);
-}
-
/****if* H5Pf/h5pget_version_c
* NAME
- * h5pget_version_c
+ * h5pget_version_c
* PURPOSE
- * Call H5Pget_version to get the version information
- * of various objects for a file creation property list
+ * Call H5Pget_version to get the version information
+ * of various objects for a file creation property list
* INPUTS
- * prp_id - property list identifier
+ * prp_id - property list identifier
* OUTPUTS
- * boot - array to put boot block version number
- * freelist - array to put global freelist version number
- * stab - array to put symbol table version number
- * shhdr - array to put shared object header version number
+ * boot - array to put boot block version number
+ * freelist - array to put global freelist version number
+ * stab - array to put symbol table version number
+ * shhdr - array to put shared object header version number
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* Xiangyang Su
- * Wednesday, February 23, 2000
+ * Wednesday, February 23, 2000
* HISTORY
- * Removed extra length parameters EP 7/6/00
+ * Removed extra length parameters EP 7/6/00
* SOURCE
*/
int_f
-nh5pget_version_c (hid_t_f *prp_id, int_f * boot,int_f * freelist, int_f * stab, int_f *shhdr)
+h5pget_version_c (hid_t_f *prp_id, int_f * boot,int_f * freelist, int_f * stab, int_f *shhdr)
/******/
{
int ret_value = -1;
@@ -630,22 +528,22 @@ nh5pget_version_c (hid_t_f *prp_id, int_f * boot,int_f * freelist, int_f * stab,
/****if* H5Pf/h5pget_userblock_c
* NAME
- * h5pget_userblock_c
+ * h5pget_userblock_c
* PURPOSE
- * Call H5Pget_userblock to get the size of a user block in
- * a file creation property list
+ * Call H5Pget_userblock to get the size of a user block in
+ * a file creation property list
* INPUTS
- * prp_id - property list identifier
- * Outputs size - Size of the user-block in bytes
+ * prp_id - property list identifier
+ * Outputs size - Size of the user-block in bytes
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* Xiangyang Su
- * Wednesday, February 23, 2000
+ * Wednesday, February 23, 2000
* SOURCE
*/
int_f
-nh5pget_userblock_c (hid_t_f *prp_id, hsize_t_f * size)
+h5pget_userblock_c (hid_t_f *prp_id, hsize_t_f * size)
/******/
{
int ret_value = -1;
@@ -668,22 +566,22 @@ nh5pget_userblock_c (hid_t_f *prp_id, hsize_t_f * size)
/****if* H5Pf/h5pset_userblock_c
* NAME
- * h5pset_userblock_c
+ * h5pset_userblock_c
* PURPOSE
- * Call H5Pset_userblock to set the size of a user block in
- * a file creation property list
+ * Call H5Pset_userblock to set the size of a user block in
+ * a file creation property list
* INPUTS
- * prp_id - property list identifier
- * size - Size of the user-block in bytes
+ * prp_id - property list identifier
+ * size - Size of the user-block in bytes
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* Xiangyang Su
- * Wednesday, February 23, 2000
+ * Wednesday, February 23, 2000
* SOURCE
*/
int_f
-nh5pset_userblock_c (hid_t_f *prp_id, hsize_t_f * size)
+h5pset_userblock_c (hid_t_f *prp_id, hsize_t_f * size)
/******/
{
int ret_value = -1;
@@ -705,25 +603,25 @@ nh5pset_userblock_c (hid_t_f *prp_id, hsize_t_f * size)
/****if* H5Pf/h5pget_sizes_c
* NAME
- * h5pget_sizes_c
+ * h5pget_sizes_c
* PURPOSE
- * Call H5Pget_sizes to get the size of the offsets
- * and lengths used in an HDF5 file
+ * Call H5Pget_sizes to get the size of the offsets
+ * and lengths used in an HDF5 file
* INPUTS
- * prp_id - property list identifier
- * Outputs sizeof_addr - Size of an object offset in bytes
- * sizeof_size - Size of an object length in bytes
+ * prp_id - property list identifier
+ * Outputs sizeof_addr - Size of an object offset in bytes
+ * sizeof_size - Size of an object length in bytes
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* Xiangyang Su
- * Wednesday, February 23, 2000
+ * Wednesday, February 23, 2000
* HISTORY
- * Deleted extra length parameters. EP 6/7/00
+ * Deleted extra length parameters. EP 6/7/00
* SOURCE
*/
int_f
-nh5pget_sizes_c (hid_t_f *prp_id, size_t_f * sizeof_addr, size_t_f * sizeof_size)
+h5pget_sizes_c (hid_t_f *prp_id, size_t_f * sizeof_addr, size_t_f * sizeof_size)
/******/
{
int ret_value = -1;
@@ -748,24 +646,24 @@ nh5pget_sizes_c (hid_t_f *prp_id, size_t_f * sizeof_addr, size_t_f * sizeof_size
/****if* H5Pf/h5pset_sizes_c
* NAME
- * h5pset_sizes_c
+ * h5pset_sizes_c
* PURPOSE
- * Call H5Pset_sizes to set the size of the offsets
+ * Call H5Pset_sizes to set the size of the offsets
* INPUTS
- * prp_id - property list identifier
- * sizeof_addr - Size of an object offset in bytes
- * sizeof_size - Size of an object length in bytes
+ * prp_id - property list identifier
+ * sizeof_addr - Size of an object offset in bytes
+ * sizeof_size - Size of an object length in bytes
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* Xiangyang Su
- * Wednesday, February 23, 2000
+ * Wednesday, February 23, 2000
* HISTORY
*
* SOURCE
*/
int_f
-nh5pset_sizes_c (hid_t_f *prp_id, size_t_f * sizeof_addr, size_t_f * sizeof_size)
+h5pset_sizes_c (hid_t_f *prp_id, size_t_f * sizeof_addr, size_t_f * sizeof_size)
/******/
{
int ret_value = -1;
@@ -788,23 +686,23 @@ nh5pset_sizes_c (hid_t_f *prp_id, size_t_f * sizeof_addr, size_t_f * sizeof_size
/****if* H5Pf/h5pset_sym_k_c
* NAME
- * h5pset_sym_k_c
+ * h5pset_sym_k_c
* PURPOSE
- * Call H5Pset_sym_k to set the size of parameters used
- * to control the symbol table node
+ * Call H5Pset_sym_k to set the size of parameters used
+ * to control the symbol table node
* INPUTS
- * prp_id - property list identifier
- * ik - Symbol table tree rank
- * lk - Symbol table node size
+ * prp_id - property list identifier
+ * ik - Symbol table tree rank
+ * lk - Symbol table node size
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* Xiangyang Su
- * Friday, February 25, 2000
+ * Friday, February 25, 2000
* SOURCE
*/
int_f
-nh5pset_sym_k_c (hid_t_f *prp_id, int_f* ik, int_f* lk)
+h5pset_sym_k_c (hid_t_f *prp_id, int_f* ik, int_f* lk)
/******/
{
int ret_value = -1;
@@ -828,26 +726,26 @@ nh5pset_sym_k_c (hid_t_f *prp_id, int_f* ik, int_f* lk)
/****if* H5Pf/h5pget_sym_k_c
* NAME
- * h5pget_sym_k_c
+ * h5pget_sym_k_c
* PURPOSE
- * Call H5Pget_sym_k to get the size of parameters used
- * to control the symbol table node
+ * Call H5Pget_sym_k to get the size of parameters used
+ * to control the symbol table node
* INPUTS
- * prp_id - property list identifier
+ * prp_id - property list identifier
* OUTPUTS
- * ik - Symbol table tree rank
- * lk - Symbol table node size
+ * ik - Symbol table tree rank
+ * lk - Symbol table node size
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* Xiangyang Su
- * Friday, February 25, 2000
+ * Friday, February 25, 2000
* HISTORY
*
* SOURCE
*/
int_f
-nh5pget_sym_k_c (hid_t_f *prp_id, int_f* ik, int_f* lk)
+h5pget_sym_k_c (hid_t_f *prp_id, int_f* ik, int_f* lk)
/******/
{
int ret_value = -1;
@@ -870,24 +768,24 @@ nh5pget_sym_k_c (hid_t_f *prp_id, int_f* ik, int_f* lk)
/****if* H5Pf/h5pset_istore_k_c
* NAME
- * h5pset_istore_k_c
+ * h5pset_istore_k_c
* PURPOSE
- * Call H5Pset_istore_k to set the size of the parameter
- * used to control the B-trees for indexing chunked datasets
+ * Call H5Pset_istore_k to set the size of the parameter
+ * used to control the B-trees for indexing chunked datasets
* INPUTS
- * prp_id - property list identifier
- * ik - Symbol table tree rank
+ * prp_id - property list identifier
+ * ik - Symbol table tree rank
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* Xiangyang Su
- * Friday, February 25, 2000
+ * Friday, February 25, 2000
* HISTORY
*
* SOURCE
*/
int_f
-nh5pset_istore_k_c (hid_t_f *prp_id, int_f* ik)
+h5pset_istore_k_c (hid_t_f *prp_id, int_f* ik)
/******/
{
int ret_value = -1;
@@ -909,25 +807,25 @@ nh5pset_istore_k_c (hid_t_f *prp_id, int_f* ik)
/****if* H5Pf/h5pget_istore_k_c
* NAME
- * h5pget_istore_k_c
+ * h5pget_istore_k_c
* PURPOSE
- * Call H5Pget_istore_k to get the size of parameters used
- * to control the B-trees for indexing chunked datasets
+ * Call H5Pget_istore_k to get the size of parameters used
+ * to control the B-trees for indexing chunked datasets
* INPUTS
- * prp_id - property list identifier
+ * prp_id - property list identifier
* OUTPUTS
- * ik - Symbol table tree rank
+ * ik - Symbol table tree rank
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* Xiangyang Su
- * Friday, February 25, 2000
+ * Friday, February 25, 2000
* HISTORY
*
* SOURCE
*/
int_f
-nh5pget_istore_k_c (hid_t_f *prp_id, int_f* ik)
+h5pget_istore_k_c (hid_t_f *prp_id, int_f* ik)
/******/
{
int ret_value = -1;
@@ -948,24 +846,24 @@ nh5pget_istore_k_c (hid_t_f *prp_id, int_f* ik)
/****if* H5Pf/h5pget_driver_c
* NAME
- * h5pget_driver_c
+ * h5pget_driver_c
* PURPOSE
- * Call H5Pget_driver to get low-level file driver identifier
+ * Call H5Pget_driver to get low-level file driver identifier
* INPUTS
- * prp_id - property list identifier
+ * prp_id - property list identifier
* OUTPUTS
- * driver - low-level file driver identifier
+ * driver - low-level file driver identifier
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* Xiangyang Su
- * Friday, February 25, 2000
+ * Friday, February 25, 2000
* HISTORY
*
* SOURCE
*/
int_f
-nh5pget_driver_c (hid_t_f *prp_id, hid_t_f* driver)
+h5pget_driver_c (hid_t_f *prp_id, hid_t_f* driver)
/******/
{
int ret_value = -1;
@@ -986,23 +884,23 @@ DONE:
/****if* H5Pf/h5pset_fapl_stdio_c
* NAME
- * h5pset_fapl_stdio_c
+ * h5pset_fapl_stdio_c
* PURPOSE
- * Call H5Pset_stdio to set the low level file driver to
- * use the functions declared in the stdio.h
+ * Call H5Pset_stdio to set the low level file driver to
+ * use the functions declared in the stdio.h
* INPUTS
- * prp_id - property list identifier
+ * prp_id - property list identifier
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* Elena Pourmal
- * March 7, 2001
+ * March 7, 2001
* HISTORY
*
* SOURCE
*/
int_f
-nh5pset_fapl_stdio_c (hid_t_f *prp_id)
+h5pset_fapl_stdio_c (hid_t_f *prp_id)
/******/
{
int ret_value = -1;
@@ -1020,26 +918,26 @@ nh5pset_fapl_stdio_c (hid_t_f *prp_id)
#ifdef NO_SUCH_F90_FUNCTION
/****if* H5Pf/h5pget_fapl_stdio_c
* NAME
- * h5pget_fapl_stdio_c
+ * h5pget_fapl_stdio_c
* PURPOSE
- * Call H5Pget_fapl_stdio to determine whther the low level file driver
- * uses the functions declared in the stdio.h
+ * Call H5Pget_fapl_stdio to determine whther the low level file driver
+ * uses the functions declared in the stdio.h
* INPUTS
- * prp_id - property list identifier
+ * prp_id - property list identifier
* OUTPUTS
- * io - value indicates whether the file driver uses
- * the functions declared in the stdio.h
+ * io - value indicates whether the file driver uses
+ * the functions declared in the stdio.h
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* Elena Pourmal
- * March 9, 2001
+ * March 9, 2001
* HISTORY
*
* SOURCE
*/
int_f
-nh5pget_fapl_stdio_c (hid_t_f *prp_id, int_f* io)
+h5pget_fapl_stdio_c (hid_t_f *prp_id, int_f* io)
/******/
{
int ret_value = -1;
@@ -1060,23 +958,23 @@ nh5pget_fapl_stdio_c (hid_t_f *prp_id, int_f* io)
/****if* H5Pf/h5pset_fapl_sec2_c
* NAME
- * h5pset_fapl_sec2_c
+ * h5pset_fapl_sec2_c
* PURPOSE
- * Call H5Pset_fapl_sec2 to set the low level file driver to
- * use the functions declared in the unistd.h
+ * Call H5Pset_fapl_sec2 to set the low level file driver to
+ * use the functions declared in the unistd.h
* INPUTS
- * prp_id - property list identifier
+ * prp_id - property list identifier
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* Elena Pourmal
- * March 9, 2001
+ * March 9, 2001
* HISTORY
*
* SOURCE
*/
int_f
-nh5pset_fapl_sec2_c (hid_t_f *prp_id)
+h5pset_fapl_sec2_c (hid_t_f *prp_id)
/******/
{
int ret_value = -1;
@@ -1095,26 +993,26 @@ nh5pset_fapl_sec2_c (hid_t_f *prp_id)
#ifdef NO_SUCH_F90_FUNCTION
/****if* H5Pf/h5pget_fapl_sec2_c
* NAME
- * h5pget_fapl_sec2_c
+ * h5pget_fapl_sec2_c
* PURPOSE
- * Call H5Pget_fapl_stdio to determine whther the low level file driver
- * uses the functions declared in the unistd.h
+ * Call H5Pget_fapl_stdio to determine whther the low level file driver
+ * uses the functions declared in the unistd.h
* INPUTS
- * prp_id - property list identifier
+ * prp_id - property list identifier
* OUTPUTS
- * sec2 - value indicates whether the file driver uses
- * the functions declared in the unistd.h
+ * sec2 - value indicates whether the file driver uses
+ * the functions declared in the unistd.h
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* Elena Pourmal
- * March 9, 2001
+ * March 9, 2001
* HISTORY
*
* SOURCE
*/
int_f
-nh5pget_fapl_sec2_c (hid_t_f *prp_id, int_f* sec2)
+h5pget_fapl_sec2_c (hid_t_f *prp_id, int_f* sec2)
/******/
{
int ret_value = -1;
@@ -1134,25 +1032,25 @@ nh5pget_fapl_sec2_c (hid_t_f *prp_id, int_f* sec2)
/****if* H5Pf/h5pset_alignment_c
* NAME
- * h5pset_alignment_c
+ * h5pset_alignment_c
* PURPOSE
- * Call H5Pset_alignment to set alignment properties of
- * a file access property list
+ * Call H5Pset_alignment to set alignment properties of
+ * a file access property list
* INPUTS
- * prp_id - property list identifier
- * threshold - Threshold value
- * alignment - Alignment value
+ * prp_id - property list identifier
+ * threshold - Threshold value
+ * alignment - Alignment value
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* Xiangyang Su
- * Friday, February 25, 2000
+ * Friday, February 25, 2000
* HISTORY
*
* SOURCE
*/
int_f
-nh5pset_alignment_c (hid_t_f *prp_id, hsize_t_f* threshold, hsize_t_f* alignment)
+h5pset_alignment_c (hid_t_f *prp_id, hsize_t_f* threshold, hsize_t_f* alignment)
/******/
{
int ret_value = -1;
@@ -1173,25 +1071,25 @@ nh5pset_alignment_c (hid_t_f *prp_id, hsize_t_f* threshold, hsize_t_f* alignment
/****if* H5Pf/h5pget_alignment_c
* NAME
- * h5pget_alignment_c
+ * h5pget_alignment_c
* PURPOSE
- * Call H5Pget_alignment to get alignment properties of
- * a file access property list
+ * Call H5Pget_alignment to get alignment properties of
+ * a file access property list
* INPUTS
- * prp_id - property list identifier
- * threshold - Threshold value
- * alignment - Alignment value
+ * prp_id - property list identifier
+ * threshold - Threshold value
+ * alignment - Alignment value
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* Xiangyang Su
- * Friday, February 25, 2000
+ * Friday, February 25, 2000
* HISTORY
*
* SOURCE
*/
int_f
-nh5pget_alignment_c (hid_t_f *prp_id, hsize_t_f* threshold, hsize_t_f* alignment)
+h5pget_alignment_c (hid_t_f *prp_id, hsize_t_f* threshold, hsize_t_f* alignment)
/******/
{
int ret_value = -1;
@@ -1213,26 +1111,26 @@ nh5pget_alignment_c (hid_t_f *prp_id, hsize_t_f* threshold, hsize_t_f* alignment
/****if* H5Pf/h5pset_fapl_core_c
* NAME
- * h5pset_fapl_core_c
+ * h5pset_fapl_core_c
* PURPOSE
- * Call H5Pset_fapl_core to set the low-level file driver
- * to use malloc() and free()
+ * Call H5Pset_fapl_core to set the low-level file driver
+ * to use malloc() and free()
* INPUTS
- * prp_id - property list identifier
- * increment - File block size in bytes
- * flag - Boolean flag indicating whether to write the
- * file contents to disk when the file is closed.
+ * prp_id - property list identifier
+ * increment - File block size in bytes
+ * flag - Boolean flag indicating whether to write the
+ * file contents to disk when the file is closed.
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* Elena Pourmal
- * March 9, 2001
+ * March 9, 2001
* HISTORY
*
* SOURCE
*/
int_f
-nh5pset_fapl_core_c (hid_t_f *prp_id, size_t_f* increment, int_f *flag)
+h5pset_fapl_core_c (hid_t_f *prp_id, size_t_f* increment, int_f *flag)
/******/
{
int ret_value = -1;
@@ -1255,24 +1153,24 @@ nh5pset_fapl_core_c (hid_t_f *prp_id, size_t_f* increment, int_f *flag)
/****if* H5Pf/h5pget_fapl_core_c
* NAME
- * h5pget_fapl_core_c
+ * h5pget_fapl_core_c
* PURPOSE
- * Call H5Pget_fapl_core to determine whether the file access
- * property list is set to the core drive
+ * Call H5Pget_fapl_core to determine whether the file access
+ * property list is set to the core drive
* INPUTS
- * prp_id - property list identifier
- * Outputs increment - File block size in bytes
+ * prp_id - property list identifier
+ * Outputs increment - File block size in bytes
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* Elena Pourmal
- * March 9, 2001
+ * March 9, 2001
* HISTORY
*
* SOURCE
*/
int_f
-nh5pget_fapl_core_c (hid_t_f *prp_id, size_t_f* increment, int_f *flag)
+h5pget_fapl_core_c (hid_t_f *prp_id, size_t_f* increment, int_f *flag)
/******/
{
int ret_value = -1;
@@ -1295,26 +1193,26 @@ nh5pget_fapl_core_c (hid_t_f *prp_id, size_t_f* increment, int_f *flag)
/****if* H5Pf/h5pset_fapl_family_c
* NAME
- * h5pset_fapl_family_c
+ * h5pset_fapl_family_c
* PURPOSE
- * Call H5Pset_fapl_family to set the file access properties list
- * to the family driver
+ * Call H5Pset_fapl_family to set the file access properties list
+ * to the family driver
* INPUTS
- * prp_id - property list identifier
- * memb_size - Logical size, in bytes, of each family member.
- * memb_plist - Identifier of the file access property list
- * for each member of the family
+ * prp_id - property list identifier
+ * memb_size - Logical size, in bytes, of each family member.
+ * memb_plist - Identifier of the file access property list
+ * for each member of the family
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* Elena Pourmal
- * March 9, 2001
+ * March 9, 2001
* HISTORY
*
* SOURCE
*/
int_f
-nh5pset_fapl_family_c(hid_t_f *prp_id, hsize_t_f* memb_size, hid_t_f* memb_plist )
+h5pset_fapl_family_c(hid_t_f *prp_id, hsize_t_f* memb_size, hid_t_f* memb_plist )
/******/
{
int ret_value = -1;
@@ -1336,26 +1234,26 @@ nh5pset_fapl_family_c(hid_t_f *prp_id, hsize_t_f* memb_size, hid_t_f* memb_plist
/****if* H5Pf/h5pget_fapl_family_c
* NAME
- * h5pget_fapl_family_c
+ * h5pget_fapl_family_c
* PURPOSE
- * Call H5Pget_fapl_family to determine whether the file access
- * property list is set to the family driver
+ * Call H5Pget_fapl_family to determine whether the file access
+ * property list is set to the family driver
* INPUTS
- * prp_id - property list identifier
- * memb_size - Logical size, in bytes, of each family member.
- * memb_plist - Identifier of the file access property list
- * for each member of the family
+ * prp_id - property list identifier
+ * memb_size - Logical size, in bytes, of each family member.
+ * memb_plist - Identifier of the file access property list
+ * for each member of the family
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* Elena Pourmal
- * March 9, 2001
+ * March 9, 2001
* HISTORY
*
* SOURCE
*/
int_f
-nh5pget_fapl_family_c(hid_t_f *prp_id, hsize_t_f* memb_size, hid_t_f* memb_plist)
+h5pget_fapl_family_c(hid_t_f *prp_id, hsize_t_f* memb_size, hid_t_f* memb_plist)
/******/
{
int ret_value = -1;
@@ -1378,29 +1276,29 @@ nh5pget_fapl_family_c(hid_t_f *prp_id, hsize_t_f* memb_size, hid_t_f* memb_plist
/****if* H5Pf/h5pset_cache_c
* NAME
- * h5pset_cache_c
+ * h5pset_cache_c
* PURPOSE
- * Call H5Pset_cache to set he number of elements in
- * the meta data cache and the total number of bytes in
- * the raw data chunk cache
+ * Call H5Pset_cache to set he number of elements in
+ * the meta data cache and the total number of bytes in
+ * the raw data chunk cache
* INPUTS
- * prp_id - property list identifier
- * mdc_nelmts - Number of elements (objects) in the
- * meta data cache
- * rdcc_nbytes - Total size of the raw data chunk cache, in bytes
- * rdcc_w0 - Preemption policy
+ * prp_id - property list identifier
+ * mdc_nelmts - Number of elements (objects) in the
+ * meta data cache
+ * rdcc_nbytes - Total size of the raw data chunk cache, in bytes
+ * rdcc_w0 - Preemption policy
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* Xiangyang Su
- * Friday, February 25, 2000
+ * Friday, February 25, 2000
* HISTORY
- * Changed the type of the rdcc_w0 parameter to be real_f EP 7/7/00
- * instead of double
+ * Changed the type of the rdcc_w0 parameter to be real_f EP 7/7/00
+ * instead of double
* SOURCE
*/
int_f
-nh5pset_cache_c(hid_t_f *prp_id, int_f* mdc_nelmts, size_t_f* rdcc_nelmts, size_t_f* rdcc_nbytes , real_f* rdcc_w0 )
+h5pset_cache_c(hid_t_f *prp_id, int_f* mdc_nelmts, size_t_f* rdcc_nelmts, size_t_f* rdcc_nbytes , real_f* rdcc_w0 )
/******/
{
int ret_value = -1;
@@ -1427,32 +1325,32 @@ nh5pset_cache_c(hid_t_f *prp_id, int_f* mdc_nelmts, size_t_f* rdcc_nelmts, size
/****if* H5Pf/h5pget_cache_c
* NAME
- * h5pget_cache_c
+ * h5pget_cache_c
* PURPOSE
- * Call H5Pget_cache to get he number of elements in
- * the meta data cache and the total number of bytes in
- * the raw data chunk cache
+ * Call H5Pget_cache to get he number of elements in
+ * the meta data cache and the total number of bytes in
+ * the raw data chunk cache
* INPUTS
- * prp_id - property list identifier
+ * prp_id - property list identifier
* OUTPUTS
- * mdc_nelmts - Number of elements (objects) in the
- * meta data cache
- * rdcc_nelmts - Number of elements in the raw data chunk
- * rdcc_nbytes - Total size of the raw data chunk cache, in bytes
- * rdcc_w0 - Preemption policy
+ * mdc_nelmts - Number of elements (objects) in the
+ * meta data cache
+ * rdcc_nelmts - Number of elements in the raw data chunk
+ * rdcc_nbytes - Total size of the raw data chunk cache, in bytes
+ * rdcc_w0 - Preemption policy
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* Xiangyang Su
- * Friday, February 25, 2000
+ * Friday, February 25, 2000
* HISTORY
- * Changed type of the rdcc_w0 parameter to be real_f instead of double
- * Changed type of the rdcc_nelmts parameter to be int_f.
+ * Changed type of the rdcc_w0 parameter to be real_f instead of double
+ * Changed type of the rdcc_nelmts parameter to be int_f.
* EIP October 10, 2003
* SOURCE
*/
int_f
-nh5pget_cache_c(hid_t_f *prp_id, int_f* mdc_nelmts, size_t_f* rdcc_nelmts, size_t_f* rdcc_nbytes , real_f* rdcc_w0)
+h5pget_cache_c(hid_t_f *prp_id, int_f* mdc_nelmts, size_t_f* rdcc_nelmts, size_t_f* rdcc_nbytes , real_f* rdcc_w0)
/******/
{
int ret_value = -1;
@@ -1479,29 +1377,29 @@ nh5pget_cache_c(hid_t_f *prp_id, int_f* mdc_nelmts, size_t_f* rdcc_nelmts, size_
/****if* H5Pf/h5pset_fapl_split_c
* NAME
- * h5pset_fapl_split_c
+ * h5pset_fapl_split_c
* PURPOSE
- * Call H5Pset_fapl_split to set he low-level driver to split meta data
- * from raw data
+ * Call H5Pset_fapl_split to set he low-level driver to split meta data
+ * from raw data
* INPUTS
- * prp_id - property list identifier
- * meta_len - Length of meta_ext
- * meta_ext - Name of the extension for the metafile filename.
- * meta_plist - Identifier of the meta file access property list
- * raw_len - Length of raw _ext
- * raw_ext - Name of the extension for the raw file filename.
- * raw_plist - Identifier of the raw file access property list
+ * prp_id - property list identifier
+ * meta_len - Length of meta_ext
+ * meta_ext - Name of the extension for the metafile filename.
+ * meta_plist - Identifier of the meta file access property list
+ * raw_len - Length of raw _ext
+ * raw_ext - Name of the extension for the raw file filename.
+ * raw_plist - Identifier of the raw file access property list
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* Elena Pourmal
- * March 9, 2001
+ * March 9, 2001
* HISTORY
*
* SOURCE
*/
int_f
-nh5pset_fapl_split_c(hid_t_f *prp_id, int_f* meta_len, _fcd meta_ext, hid_t_f* meta_plist, int_f* raw_len, _fcd raw_ext, hid_t_f * raw_plist)
+h5pset_fapl_split_c(hid_t_f *prp_id, int_f* meta_len, _fcd meta_ext, hid_t_f* meta_plist, int_f* raw_len, _fcd raw_ext, hid_t_f * raw_plist)
/******/
{
int ret_value = -1;
@@ -1540,32 +1438,32 @@ DONE:
#ifdef NO_SUCH_F90_FUNCTION
/****if* H5Pf/h5pget_fapl_split_c
* NAME
- * h5pget_fapl_split_c
+ * h5pget_fapl_split_c
* PURPOSE
- * Call H5Pget_fapl_split to determine whether the file access
- * property list is set to the split driver
+ * Call H5Pget_fapl_split to determine whether the file access
+ * property list is set to the split driver
* INPUTS
- * prp_id - property list identifier
- * meta_ext_size - Number of characters of the meta file extension
- * to be copied to the meta_ext buffer
- * raw_ext_size - Number of characters of the raw file extension
- * to be copied to the raw_ext buffer
+ * prp_id - property list identifier
+ * meta_ext_size - Number of characters of the meta file extension
+ * to be copied to the meta_ext buffer
+ * raw_ext_size - Number of characters of the raw file extension
+ * to be copied to the raw_ext buffer
*OUTPUT
- * meta_ext - Name of the extension for the metafile filename.
- * meta_plist - Identifier of the meta file access property list
- * raw_ext - Name of the extension for the raw file filename.
- * raw_plist - Identifier of the raw file access property list
+ * meta_ext - Name of the extension for the metafile filename.
+ * meta_plist - Identifier of the meta file access property list
+ * raw_ext - Name of the extension for the raw file filename.
+ * raw_plist - Identifier of the raw file access property list
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* Elena Pourmal
- * March 9 , 2001
+ * March 9 , 2001
* HISTORY
*
* SOURCE
*/
int_f
-nh5pget_fapl_split_c(hid_t_f *prp_id, size_t_f* meta_ext_size , _fcd meta_ext, hid_t_f* meta_plist, size_t_f* raw_ext_size, _fcd raw_ext, hid_t_f * raw_plist)
+h5pget_fapl_split_c(hid_t_f *prp_id, size_t_f* meta_ext_size , _fcd meta_ext, hid_t_f* meta_plist, size_t_f* raw_ext_size, _fcd raw_ext, hid_t_f * raw_plist)
/******/
{
int ret_value = -1;
@@ -1603,25 +1501,25 @@ nh5pget_fapl_split_c(hid_t_f *prp_id, size_t_f* meta_ext_size , _fcd meta_ext, h
/****if* H5Pf/h5pset_gc_references_c
* NAME
- * h5pset_gc_references_c
+ * h5pset_gc_references_c
* PURPOSE
- * Call H5Pset_gc_references to set garbage
- * collecting references flag
+ * Call H5Pset_gc_references to set garbage
+ * collecting references flag
* INPUTS
- * prp_id - property list identifier
- * gc_reference - flag for garbage collecting references
- * for the file
+ * prp_id - property list identifier
+ * gc_reference - flag for garbage collecting references
+ * for the file
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* Xiangyang Su
- * Friday, February 25, 2000
+ * Friday, February 25, 2000
* HISTORY
*
* SOURCE
*/
int_f
-nh5pset_gc_references_c (hid_t_f *prp_id, int_f* gc_references)
+h5pset_gc_references_c (hid_t_f *prp_id, int_f* gc_references)
/******/
{
int ret_value = -1;
@@ -1643,25 +1541,25 @@ nh5pset_gc_references_c (hid_t_f *prp_id, int_f* gc_references)
/****if* H5Pf/h5pget_gc_references_c
* NAME
- * h5pget_gc_references_c
+ * h5pget_gc_references_c
* PURPOSE
- * Call H5Pget_gc_references to set garbage
- * collecting references flag
+ * Call H5Pget_gc_references to set garbage
+ * collecting references flag
* INPUTS
- * prp_id - property list identifier
- * Outputs gc_reference - flag for garbage collecting references
- * for the file
+ * prp_id - property list identifier
+ * Outputs gc_reference - flag for garbage collecting references
+ * for the file
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* Xiangyang Su
- * Friday, February 25, 2000
+ * Friday, February 25, 2000
* HISTORY
*
* SOURCE
*/
int_f
-nh5pget_gc_references_c (hid_t_f *prp_id, int_f* gc_references)
+h5pget_gc_references_c (hid_t_f *prp_id, int_f* gc_references)
/******/
{
int ret_value = -1;
@@ -1681,24 +1579,24 @@ nh5pget_gc_references_c (hid_t_f *prp_id, int_f* gc_references)
/****if* H5Pf/h5pset_layout_c
* NAME
- * h5pset_layout_c
+ * h5pset_layout_c
* PURPOSE
- * Call H5Pset_layout to the type of storage used
- * store the raw data for a dataset
+ * Call H5Pset_layout to the type of storage used
+ * store the raw data for a dataset
* INPUTS
- * prp_id - property list identifier
- * layout - Type of storage layout for raw data.
+ * prp_id - property list identifier
+ * layout - Type of storage layout for raw data.
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* Xiangyang Su
- * Friday, February 25, 2000
+ * Friday, February 25, 2000
* HISTORY
*
* SOURCE
*/
int_f
-nh5pset_layout_c (hid_t_f *prp_id, int_f* layout)
+h5pset_layout_c (hid_t_f *prp_id, int_f* layout)
/******/
{
int ret_value = -1;
@@ -1719,25 +1617,25 @@ nh5pset_layout_c (hid_t_f *prp_id, int_f* layout)
/****if* H5Pf/h5pget_layout_c
* NAME
- * h5pget_layout_c
+ * h5pget_layout_c
* PURPOSE
- * Call H5Pget_layout to the type of storage used
- * store the raw data for a dataset
+ * Call H5Pget_layout to the type of storage used
+ * store the raw data for a dataset
* INPUTS
- * prp_id - property list identifier
+ * prp_id - property list identifier
* OUTPUTS
- * layout - Type of storage layout for raw data.
+ * layout - Type of storage layout for raw data.
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* Xiangyang Su
- * Friday, February 25, 2000
+ * Friday, February 25, 2000
* HISTORY
*
* SOURCE
*/
int_f
-nh5pget_layout_c (hid_t_f *prp_id, int_f* layout)
+h5pget_layout_c (hid_t_f *prp_id, int_f* layout)
/******/
{
int ret_value = -1;
@@ -1756,27 +1654,27 @@ nh5pget_layout_c (hid_t_f *prp_id, int_f* layout)
/****if* H5Pf/h5pset_filter_c
* NAME
- * h5pset_filter_c
+ * h5pset_filter_c
* PURPOSE
- * Call H5Pset_filter to add a filter to the filter pipeline.
+ * Call H5Pset_filter to add a filter to the filter pipeline.
* INPUTS
- * prp_id - property list identifier
- * filter - Filter to be added to the pipeline.
- * flags - Bit vector specifying certain general
- * properties of the filter.
- * cd_nelmts - Number of elements in cd_values.
- * cd_values - Auxiliary data for the filter.
+ * prp_id - property list identifier
+ * filter - Filter to be added to the pipeline.
+ * flags - Bit vector specifying certain general
+ * properties of the filter.
+ * cd_nelmts - Number of elements in cd_values.
+ * cd_values - Auxiliary data for the filter.
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* Xiangyang Su
- * Wednesday, February 23, 2000
+ * Wednesday, February 23, 2000
* HISTORY
*
* SOURCE
*/
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 )
+h5pset_filter_c (hid_t_f *prp_id, int_f* filter, int_f* flags, size_t_f* cd_nelmts, int_f* cd_values )
/******/
{
int ret_value = -1;
@@ -1824,7 +1722,7 @@ DONE:
* SOURCE
*/
int_f
-nh5pget_nfilters_c (hid_t_f *prp_id, int_f* nfilters)
+h5pget_nfilters_c (hid_t_f *prp_id, int_f* nfilters)
/******/
{
int ret_value = -1;
@@ -1844,30 +1742,30 @@ nh5pget_nfilters_c (hid_t_f *prp_id, int_f* nfilters)
}
/*----------------------------------------------------------------------------
- * Name: h5pget_filter_c
- * Purpose: Call H5Pget_filter2 to get information about a filter
- * in a pipeline
- * Inputs: prp_id - property list identifier
- * filter_number - Sequence number within the filter
- * pipeline of the filter for which
- * information is sought.
- * namelen - Anticipated number of characters in name.
- *Outputs: flags - Bit vector specifying certain general
- * properties of the filter.
- * cd_nelmts - Number of elements in cd_value
- * cd_values - Auxiliary data for the filter.
- * name - Name of the filter
- * filter_id - filter identification number
- * Returns: 0 on success, -1 on failure
- * Programmer: Xiangyang Su
- * Friday, February 25, 2000
- * Modifications:
- * Since cd_nelmts has IN/OUT attributes, fixed the input and
- * returned value of cd_nelmnts to satisfy this specification.
+ * Name: h5pget_filter_c
+ * Purpose: Call H5Pget_filter2 to get information about a filter
+ * in a pipeline
+ * Inputs: prp_id - property list identifier
+ * filter_number - Sequence number within the filter
+ * pipeline of the filter for which
+ * information is sought.
+ * namelen - Anticipated number of characters in name.
+ * Outputs: flags - Bit vector specifying certain general
+ * properties of the filter.
+ * cd_nelmts - Number of elements in cd_value
+ * cd_values - Auxiliary data for the filter.
+ * name - Name of the filter
+ * filter_id - filter identification number
+ * Returns: 0 on success, -1 on failure
+ * Programmer: Xiangyang Su
+ * Friday, February 25, 2000
+ * Modifications:
+ * Since cd_nelmts has IN/OUT attributes, fixed the input and
+ * returned value of cd_nelmnts to satisfy this specification.
* MSB January 27, 2009
*---------------------------------------------------------------------------*/
int_f
-nh5pget_filter_c(hid_t_f *prp_id, int_f* filter_number, int_f* flags, size_t_f* cd_nelmts, int_f* cd_values, size_t_f *namelen, _fcd name, int_f* filter_id)
+h5pget_filter_c(hid_t_f *prp_id, int_f* filter_number, int_f* flags, size_t_f* cd_nelmts, int_f* cd_values, size_t_f *namelen, _fcd name, int_f* filter_id)
/******/
{
unsigned int c_flags;
@@ -1921,7 +1819,7 @@ DONE:
* name - Name of an external file
* namelen - length of name
* offset - Offset, in bytes, from the beginning of the file
- * to the location in the file where the data starts.
+ * to the location in the file where the data starts.
* bytes - Number of bytes reserved in the file for the data.
* RETURNS
* 0 on success, -1 on failure
@@ -1934,7 +1832,7 @@ DONE:
* SOURCE
*/
int_f
-nh5pset_external_c (hid_t_f *prp_id, _fcd name, int_f* namelen, off_t_f* offset, hsize_t_f*bytes)
+h5pset_external_c (hid_t_f *prp_id, _fcd name, int_f* namelen, off_t_f* offset, hsize_t_f*bytes)
/******/
{
int ret_value = -1;
@@ -1967,25 +1865,25 @@ DONE:
/****if* H5Pf/h5pget_external_count_c
* NAME
- * h5pget_external_count_c
+ * h5pget_external_count_c
* PURPOSE
- * Call H5Pget_external_count to get the number of external
- * files for the specified dataset.
+ * Call H5Pget_external_count to get the number of external
+ * files for the specified dataset.
* INPUTS
- * prp_id - property list identifier
+ * prp_id - property list identifier
* OUTPUTS
- * count - number of external files
+ * count - number of external files
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* Xiangyang Su
- * Friday, February 25, 2000
+ * Friday, February 25, 2000
* HISTORY
*
* SOURCE
*/
int_f
-nh5pget_external_count_c (hid_t_f *prp_id, int_f* count)
+h5pget_external_count_c (hid_t_f *prp_id, int_f* count)
/******/
{
int ret_value = -1;
@@ -2008,14 +1906,14 @@ nh5pget_external_count_c (hid_t_f *prp_id, int_f* count)
* PURPOSE
* Call H5Pget_external to get nformation about an external file.
* INPUTS
- * prp_id - property list identifier
- * name_size - length of name
- * idx - External file index.
+ * prp_id - property list identifier
+ * name_size - length of name
+ * idx - External file index.
* OUTPUT
- * name - Name of an external file
- * offset - Offset, in bytes, from the beginning of the file
- * to the location in the file where the data starts.
- * bytes - Number of bytes reserved in the file for the data.
+ * name - Name of an external file
+ * offset - Offset, in bytes, from the beginning of the file
+ * to the location in the file where the data starts.
+ * bytes - Number of bytes reserved in the file for the data.
* RETURNS
* on success, -1 on failure
* AUTHOR
@@ -2027,7 +1925,7 @@ nh5pget_external_count_c (hid_t_f *prp_id, int_f* count)
* SOURCE
*/
int_f
-nh5pget_external_c(hid_t_f *prp_id, int_f *idx, size_t_f* name_size, _fcd name, off_t_f* offset, hsize_t_f*bytes)
+h5pget_external_c(hid_t_f *prp_id, int_f *idx, size_t_f* name_size, _fcd name, off_t_f* offset, hsize_t_f*bytes)
/******/
{
int ret_value = -1;
@@ -2071,27 +1969,27 @@ DONE:
/****if* H5Pf/h5pset_btree_ratios_c
* NAME
- * h5pset_btree_ratios_c
+ * h5pset_btree_ratios_c
* PURPOSE
- * Call H5Pset_btree_ratios to set B-tree split ratios for B-tree split ratios for a dataset transfer property list. a
- * dataset transfer property list.
+ * Call H5Pset_btree_ratios to set B-tree split ratios for B-tree split ratios for a dataset transfer property list. a
+ * dataset transfer property list.
* INPUTS
- * prp_id - property list identifier
- * left - The B-tree split ratio for left-most nodes.
- * middle - The B-tree split ratio for all other nodes
- * right - The B-tree split ratio for right-most nodes
- * and lone nodes.
+ * prp_id - property list identifier
+ * left - The B-tree split ratio for left-most nodes.
+ * middle - The B-tree split ratio for all other nodes
+ * right - The B-tree split ratio for right-most nodes
+ * and lone nodes.
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* Xiangyang Su
- * Friday, February 25, 2000
+ * Friday, February 25, 2000
* HISTORY
- * Changed the type of the last three parameters from double to real_f
+ * Changed the type of the last three parameters from double to real_f
* SOURCE
*/
int_f
-nh5pset_btree_ratios_c(hid_t_f *prp_id, real_f* left, real_f* middle, real_f* right)
+h5pset_btree_ratios_c(hid_t_f *prp_id, real_f* left, real_f* middle, real_f* right)
/******/
{
int ret_value = -1;
@@ -2116,27 +2014,27 @@ nh5pset_btree_ratios_c(hid_t_f *prp_id, real_f* left, real_f* middle, real_f* ri
/****if* H5Pf/h5pget_btree_ratios_c
* NAME
- * h5pget_btree_ratios_c
+ * h5pget_btree_ratios_c
* PURPOSE
- * Call H5Pget_btree_ratios to Gets B-tree split ratios
- * for a dataset transfer property list.
+ * Call H5Pget_btree_ratios to Gets B-tree split ratios
+ * for a dataset transfer property list.
* INPUTS
- * prp_id - property list identifier
- * left - The B-tree split ratio for left-most nodes.
- * middle - The B-tree split ratio for all other nodes
- * right - The B-tree split ratio for right-most nodes
- * and lone nodes.
+ * prp_id - property list identifier
+ * left - The B-tree split ratio for left-most nodes.
+ * middle - The B-tree split ratio for all other nodes
+ * right - The B-tree split ratio for right-most nodes
+ * and lone nodes.
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* Xiangyang Su
- * Friday, February 25, 2000
+ * Friday, February 25, 2000
* HISTORY
- * Changed the type of the last three parameters from double to real_f
+ * Changed the type of the last three parameters from double to real_f
* SOURCE
*/
int_f
-nh5pget_btree_ratios_c(hid_t_f *prp_id, real_f* left, real_f* middle, real_f* right)
+h5pget_btree_ratios_c(hid_t_f *prp_id, real_f* left, real_f* middle, real_f* right)
/******/
{
int ret_value = -1;
@@ -2158,30 +2056,30 @@ nh5pget_btree_ratios_c(hid_t_f *prp_id, real_f* left, real_f* middle, real_f* ri
}
/****if* H5Pf/h5pget_fclose_degree_c
* NAME
- * h5pget_fclose_degree_c
+ * h5pget_fclose_degree_c
* PURPOSE
- * Call H5Pget_fclose_degree to determine file close behavior
+ * Call H5Pget_fclose_degree to determine file close behavior
* INPUTS
- * fapl_id - file access identifier
+ * fapl_id - file access identifier
* OUTPUTS
*
- * degree - possible values are:
+ * degree - possible values are:
* H5F_CLOSE_DEFAULT
* H5F_CLOSE_WEAK
* H5F_CLOSE_SEMI
* H5F_CLOSE_STRONG
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* Elena Pourmal
- * Thursday, September 26, 2002
+ * Thursday, September 26, 2002
* HISTORY
*
* SOURCE
*/
int_f
-nh5pget_fclose_degree_c ( hid_t_f *fapl_id , int_f *degree)
+h5pget_fclose_degree_c ( hid_t_f *fapl_id , int_f *degree)
/******/
{
int ret_value = -1;
@@ -2198,28 +2096,28 @@ nh5pget_fclose_degree_c ( hid_t_f *fapl_id , int_f *degree)
/****if* H5Pf/h5pset_fclose_degree_c
* NAME
- * h5pset_fclose_degree_c
+ * h5pset_fclose_degree_c
* PURPOSE
- * Call H5Pset_fclose_degree to set file close behavior
+ * Call H5Pset_fclose_degree to set file close behavior
* INPUTS
- * fapl_id - file access identifier
- * degree - possible values are:
+ * fapl_id - file access identifier
+ * degree - possible values are:
* H5F_CLOSE_DEFAULT
* H5F_CLOSE_WEAK
* H5F_CLOSE_SEMI
* H5F_CLOSE_STRONG
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* Elena Pourmal
- * Thursday, September 26, 2002
+ * Thursday, September 26, 2002
* HISTORY
*
* SOURCE
*/
int_f
-nh5pset_fclose_degree_c ( hid_t_f *fapl_id , int_f *degree)
+h5pset_fclose_degree_c ( hid_t_f *fapl_id , int_f *degree)
/******/
{
int ret_value = -1;
@@ -2236,26 +2134,26 @@ nh5pset_fclose_degree_c ( hid_t_f *fapl_id , int_f *degree)
/****if* H5Pf/h5pset_buffer_c
* NAME
- * h5pset_buffer_c
+ * h5pset_buffer_c
* PURPOSE
- * Call H5Pset_buffer to set size of conversion buffer
+ * Call H5Pset_buffer to set size of conversion buffer
* INPUTS
- * prp_id - t`dataset trasfer property list identifier
- * size - size of the buffer
+ * prp_id - t`dataset trasfer property list identifier
+ * size - size of the buffer
* OUTPUTS
* NONE
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* Elena Pourmal
- * Wednesday, October 2, 2002
+ * Wednesday, October 2, 2002
* HISTORY
*
* SOURCE
*/
int_f
-nh5pset_buffer_c ( hid_t_f *prp_id , hsize_t_f *size)
+h5pset_buffer_c ( hid_t_f *prp_id , hsize_t_f *size)
/******/
{
int ret_value = 0;
@@ -2270,25 +2168,25 @@ nh5pset_buffer_c ( hid_t_f *prp_id , hsize_t_f *size)
/****if* H5Pf/h5pget_buffer_c
* NAME
- * h5pget_buffer_c
+ * h5pget_buffer_c
* PURPOSE
- * Call H5Pget_buffer to get size of conversion buffer
+ * Call H5Pget_buffer to get size of conversion buffer
* INPUTS
- * prp_id - t`dataset trasfer property list identifier
+ * prp_id - t`dataset trasfer property list identifier
* OUTPUTS
- * size - size of conversion buffer
+ * size - size of conversion buffer
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* Elena Pourmal
- * Wednesday, October 2, 2002
+ * Wednesday, October 2, 2002
* HISTORY
*
* SOURCE
*/
int_f
-nh5pget_buffer_c ( hid_t_f *prp_id , hsize_t_f *size)
+h5pget_buffer_c ( hid_t_f *prp_id , hsize_t_f *size)
/******/
{
int ret_value = -1;
@@ -2304,25 +2202,25 @@ nh5pget_buffer_c ( hid_t_f *prp_id , hsize_t_f *size)
}
/****if* H5Pf/h5pfill_value_defined_c
* NAME
- * h5pfill_value_defined_c
+ * h5pfill_value_defined_c
* PURPOSE
- * Call H5Pfill_value_defined to check if fill value is defined
+ * Call H5Pfill_value_defined to check if fill value is defined
* INPUTS
- * prp_id - dataset creation property list identifier
+ * prp_id - dataset creation property list identifier
* OUTPUTS
- * flag - fill value status flag
+ * flag - fill value status flag
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* Elena Pourmal
- * Friday, October 4, 2002
+ * Friday, October 4, 2002
* HISTORY
*
* SOURCE
*/
int_f
-nh5pfill_value_defined_c ( hid_t_f *prp_id , int_f *flag)
+h5pfill_value_defined_c ( hid_t_f *prp_id , int_f *flag)
/******/
{
int ret_value = -1;
@@ -2337,26 +2235,26 @@ nh5pfill_value_defined_c ( hid_t_f *prp_id , int_f *flag)
}
/****if* H5Pf/h5pget_alloc_time_c
* NAME
- * h5pget_alloc_time_c
+ * h5pget_alloc_time_c
* PURPOSE
- * Call H5Pget_alloc_time to get space allocation
- * time for dataset during creation
+ * Call H5Pget_alloc_time to get space allocation
+ * time for dataset during creation
* INPUTS
- * prp_id - dataset creation property list identifier
+ * prp_id - dataset creation property list identifier
* OUTPUTS
- * flag - allocation time flag
+ * flag - allocation time flag
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* Elena Pourmal
- * Friday, October 4, 2002
+ * Friday, October 4, 2002
* HISTORY
*
* SOURCE
*/
int_f
-nh5pget_alloc_time_c ( hid_t_f *prp_id , int_f *flag)
+h5pget_alloc_time_c ( hid_t_f *prp_id , int_f *flag)
/******/
{
int ret_value = -1;
@@ -2371,25 +2269,25 @@ nh5pget_alloc_time_c ( hid_t_f *prp_id , int_f *flag)
}
/****if* H5Pf/h5pset_alloc_time_c
* NAME
- * h5pset_alloc_time_c
+ * h5pset_alloc_time_c
* PURPOSE
- * Call H5Pset_alloc_time to get space allocation
- * time for dataset during creation
+ * Call H5Pset_alloc_time to get space allocation
+ * time for dataset during creation
* INPUTS
- * prp_id - dataset creation property list identifier
- * flag - allocation time flag
+ * prp_id - dataset creation property list identifier
+ * flag - allocation time flag
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* Elena Pourmal
- * Friday, October 4, 2002
+ * Friday, October 4, 2002
* HISTORY
*
* SOURCE
*/
int_f
-nh5pset_alloc_time_c ( hid_t_f *prp_id , int_f *flag)
+h5pset_alloc_time_c ( hid_t_f *prp_id , int_f *flag)
/******/
{
int ret_value = -1;
@@ -2404,26 +2302,26 @@ nh5pset_alloc_time_c ( hid_t_f *prp_id , int_f *flag)
}
/****if* H5Pf/h5pget_fill_time_c
* NAME
- * h5pget_fill_time_c
+ * h5pget_fill_time_c
* PURPOSE
- * Call H5Pget_fill_time to get fill value writing
- * time for dataset during creation
+ * Call H5Pget_fill_time to get fill value writing
+ * time for dataset during creation
* INPUTS
- * prp_id - dataset creation property list identifier
+ * prp_id - dataset creation property list identifier
* OUTPUTS
- * flag - fill value writing time flag
+ * flag - fill value writing time flag
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* Elena Pourmal
- * Friday, October 4, 2002
+ * Friday, October 4, 2002
* HISTORY
*
* SOURCE
*/
int_f
-nh5pget_fill_time_c ( hid_t_f *prp_id , int_f *flag)
+h5pget_fill_time_c ( hid_t_f *prp_id , int_f *flag)
/******/
{
int ret_value = -1;
@@ -2438,25 +2336,25 @@ nh5pget_fill_time_c ( hid_t_f *prp_id , int_f *flag)
}
/****if* H5Pf/h5pset_fill_time_c
* NAME
- * h5pset_fill_time_c
+ * h5pset_fill_time_c
* PURPOSE
- * Call H5Pset_fill_time to set fill value writing
- * time for dataset during creation
+ * Call H5Pset_fill_time to set fill value writing
+ * time for dataset during creation
* INPUTS
- * prp_id - dataset creation property list identifier
- * flag - fill value writing time flag
+ * prp_id - dataset creation property list identifier
+ * flag - fill value writing time flag
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* Elena Pourmal
- * Friday, October 4, 2002
+ * Friday, October 4, 2002
* HISTORY
*
* SOURCE
*/
int_f
-nh5pset_fill_time_c ( hid_t_f *prp_id , int_f *flag)
+h5pset_fill_time_c ( hid_t_f *prp_id , int_f *flag)
/******/
{
int ret_value = -1;
@@ -2471,26 +2369,26 @@ nh5pset_fill_time_c ( hid_t_f *prp_id , int_f *flag)
}
/****if* H5Pf/h5pset_meta_block_size_c
* NAME
- * h5pset_meta_block_size_c
+ * h5pset_meta_block_size_c
* PURPOSE
- * Call H5Pset_meta_block_size to set size of metadata block
+ * Call H5Pset_meta_block_size to set size of metadata block
* INPUTS
- * prp_id - file access property list identifier
- * size - size of the metadata block
+ * prp_id - file access property list identifier
+ * size - size of the metadata block
* OUTPUTS
* NONE
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* Elena Pourmal
- * Monday, October 7, 2002
+ * Monday, October 7, 2002
* HISTORY
*
* SOURCE
*/
int_f
-nh5pset_meta_block_size_c ( hid_t_f *prp_id , hsize_t_f *size)
+h5pset_meta_block_size_c ( hid_t_f *prp_id , hsize_t_f *size)
/******/
{
int ret_value = 0;
@@ -2504,26 +2402,26 @@ nh5pset_meta_block_size_c ( hid_t_f *prp_id , hsize_t_f *size)
}
/****if* H5Pf/h5pget_meta_block_size_c
* NAME
- * h5pget_meta_block_size_c
+ * h5pget_meta_block_size_c
* PURPOSE
- * Call H5Pget_meta_block_size to get size of metadata block
+ * Call H5Pget_meta_block_size to get size of metadata block
* INPUTS
- * prp_id - file access property list identifier
+ * prp_id - file access property list identifier
* OUTPUTS
*
- * size - size of the metadata block
+ * size - size of the metadata block
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* Elena Pourmal
- * Monday, October 7, 2002
+ * Monday, October 7, 2002
* HISTORY
*
* SOURCE
*/
int_f
-nh5pget_meta_block_size_c ( hid_t_f *prp_id , hsize_t_f *size)
+h5pget_meta_block_size_c ( hid_t_f *prp_id , hsize_t_f *size)
/******/
{
int ret_value = 0;
@@ -2537,26 +2435,26 @@ nh5pget_meta_block_size_c ( hid_t_f *prp_id , hsize_t_f *size)
}
/****if* H5Pf/h5pset_sieve_buf_size_c
* NAME
- * h5pset_sieve_buf_size_c
+ * h5pset_sieve_buf_size_c
* PURPOSE
- * Call H5Pset_sieve_buf_size to set size of datasieve buffer
+ * Call H5Pset_sieve_buf_size to set size of datasieve buffer
* INPUTS
- * prp_id - file access property list identifier
- * size - size of the buffer
+ * prp_id - file access property list identifier
+ * size - size of the buffer
* OUTPUTS
* NONE
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* Elena Pourmal
- * Monday, October 7, 2002
+ * Monday, October 7, 2002
* HISTORY
*
* SOURCE
*/
int_f
-nh5pset_sieve_buf_size_c ( hid_t_f *prp_id , size_t_f *size)
+h5pset_sieve_buf_size_c ( hid_t_f *prp_id , size_t_f *size)
/******/
{
int ret_value = 0;
@@ -2570,26 +2468,26 @@ nh5pset_sieve_buf_size_c ( hid_t_f *prp_id , size_t_f *size)
}
/****if* H5Pf/h5pget_sieve_buf_size_c
* NAME
- * h5pget_sieve_buf_size_c
+ * h5pget_sieve_buf_size_c
* PURPOSE
- * Call H5Pget_sieve_buf_size to get size of datasieve buffer
+ * Call H5Pget_sieve_buf_size to get size of datasieve buffer
* INPUTS
- * prp_id - file access property list identifier
+ * prp_id - file access property list identifier
* OUTPUTS
*
- * size - size of the buffer
+ * size - size of the buffer
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* Elena Pourmal
- * Monday, October 7, 2002
+ * Monday, October 7, 2002
* HISTORY
*
* SOURCE
*/
int_f
-nh5pget_sieve_buf_size_c ( hid_t_f *prp_id , size_t_f *size)
+h5pget_sieve_buf_size_c ( hid_t_f *prp_id , size_t_f *size)
/******/
{
int ret_value = 0;
@@ -2603,26 +2501,26 @@ nh5pget_sieve_buf_size_c ( hid_t_f *prp_id , size_t_f *size)
}
/****if* H5Pf/h5pset_small_data_block_size_c
* NAME
- * h5pset_small_data_block_size_c
+ * h5pset_small_data_block_size_c
* PURPOSE
- * Call H5Pset_small_data_block_size to set size of raw small data block
+ * Call H5Pset_small_data_block_size to set size of raw small data block
* INPUTS
- * prp_id - file access property list identifier
- * size - size of the block
+ * prp_id - file access property list identifier
+ * size - size of the block
* OUTPUTS
* NONE
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* Elena Pourmal
- * Monday, October 7, 2002
+ * Monday, October 7, 2002
* HISTORY
*
* SOURCE
*/
int_f
-nh5pset_small_data_block_size_c ( hid_t_f *prp_id , hsize_t_f *size)
+h5pset_small_data_block_size_c ( hid_t_f *prp_id , hsize_t_f *size)
/******/
{
int ret_value = 0;
@@ -2636,26 +2534,26 @@ nh5pset_small_data_block_size_c ( hid_t_f *prp_id , hsize_t_f *size)
}
/****if* H5Pf/h5pget_small_data_block_size_c
* NAME
- * h5pget_small_data_block_size_c
+ * h5pget_small_data_block_size_c
* PURPOSE
- * Call H5Pget_small_data_block_size to get size of raw small data block
+ * Call H5Pget_small_data_block_size to get size of raw small data block
* INPUTS
- * prp_id - file access property list identifier
+ * prp_id - file access property list identifier
* OUTPUTS
*
- * size - size of the block
+ * size - size of the block
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* Elena Pourmal
- * Monday, October 7, 2002
+ * Monday, October 7, 2002
* HISTORY
*
* SOURCE
*/
int_f
-nh5pget_small_data_block_size_c ( hid_t_f *prp_id , hsize_t_f *size)
+h5pget_small_data_block_size_c ( hid_t_f *prp_id , hsize_t_f *size)
/******/
{
int ret_value = 0;
@@ -2669,26 +2567,26 @@ nh5pget_small_data_block_size_c ( hid_t_f *prp_id , hsize_t_f *size)
}
/****if* H5Pf/h5pset_hyper_vector_size_c
* NAME
- * h5pset_hyper_vector_size_c
+ * h5pset_hyper_vector_size_c
* PURPOSE
- * Call H5Pset_hyper_vector_size to set size of the hyper vector
+ * Call H5Pset_hyper_vector_size to set size of the hyper vector
* INPUTS
- * prp_id - dataset transfer property list identifier
- * size - size of the vector
+ * prp_id - dataset transfer property list identifier
+ * size - size of the vector
* OUTPUTS
* NONE
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* Elena Pourmal
- * Monday, October 7, 2002
+ * Monday, October 7, 2002
* HISTORY
*
* SOURCE
*/
int_f
-nh5pset_hyper_vector_size_c ( hid_t_f *prp_id , size_t_f *size)
+h5pset_hyper_vector_size_c ( hid_t_f *prp_id , size_t_f *size)
/******/
{
int ret_value = 0;
@@ -2702,26 +2600,26 @@ nh5pset_hyper_vector_size_c ( hid_t_f *prp_id , size_t_f *size)
}
/****if* H5Pf/h5pget_hyper_vector_size_c
* NAME
- * h5pget_hyper_vector_size_c
+ * h5pget_hyper_vector_size_c
* PURPOSE
- * Call H5Pget_hyper_vector_size to get size of the hyper vector
+ * Call H5Pget_hyper_vector_size to get size of the hyper vector
* INPUTS
- * prp_id - dataset transfer property list identifier
+ * prp_id - dataset transfer property list identifier
* OUTPUTS
*
- * size - size of the vector
+ * size - size of the vector
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* Elena Pourmal
- * Monday, October 7, 2002
+ * Monday, October 7, 2002
* HISTORY
*
* SOURCE
*/
int_f
-nh5pget_hyper_vector_size_c ( hid_t_f *prp_id , size_t_f *size)
+h5pget_hyper_vector_size_c ( hid_t_f *prp_id , size_t_f *size)
/******/
{
int ret_value = 0;
@@ -2733,36 +2631,6 @@ nh5pget_hyper_vector_size_c ( hid_t_f *prp_id , size_t_f *size)
*size = (size_t_f)c_size;
return ret_value;
}
-/****if* H5Pf/h5pcreate_class_c
- * NAME
- * h5pcreate_class_c
- * PURPOSE
- * Call H5Pcreate_class to create a new property class
- * INPUTS
- * parent - property list class identifier
- * name - name of the new class
- * name_len - lenght of the "name" buffer
- * OUTPUTS
- * cls - new class identifier
- * RETURNS
- * 0 on success, -1 on failure
- * AUTHOR
- * Elena Pourmal
- * October 11, 2002
- *
- * HISTORY
- * SOURCE
-*/
-int_f
-nh5pcreate_class_f90_c(hid_t_f *parent, _fcd name, int_f *name_len, hid_t_f *cls)
-/******/
-{
- int ret_value = -1;
-
- ret_value = h5pcreate_class_c(parent, name, name_len, cls, NULL, NULL, NULL, NULL, NULL, NULL);
- return ret_value;
-}
-
/****if* H5Pf/h5pcreate_class_c
* NAME
@@ -2814,40 +2682,6 @@ DONE:
return ret_value;
}
-
-/****if* H5Pf/h5pregisterc_c
- * NAME
- * h5pregisterc_c
- * PURPOSE
- * Call h5pregister_c to registers a permanent property
- * INPUTS
- * class - property list class identifier
- * name - name of the new property
- * name_len - length of the "name" buffer
- * size - property size
- * value - property value of character type
- * RETURNS
- * 0 on success, -1 on failure
- * AUTHOR
- * Elena Pourmal
- * October 11, 2002
- * HISTORY
- *
- * SOURCE
-*/
-int_f
-nh5pregisterc_c(hid_t_f *cls, _fcd name, int_f *name_len, size_t_f *size, _fcd value, int_f H5_ATTR_UNUSED *value_len)
-/******/
-{
- int ret_value = -1;
-
- /*
- * Call h5pregister_c function
- */
- ret_value = h5pregister_c(cls, name, name_len, size, _fcdtocp(value));
- return ret_value;
-}
-
/****if* H5Pf/h5pregister_c
* NAME
* h5pregister_c
@@ -2891,66 +2725,6 @@ DONE:
return ret_value;
}
-int_f
-nh5pregister_integer_c(hid_t_f *cls, _fcd name, int_f *name_len, size_t_f *size, void *value)
-{
- /*
- * Call h5pregister_c function
- */
- return h5pregister_c(cls, name, name_len, size, value);
-}
-
-int_f
-nh5pregister_real_c(hid_t_f *cls, _fcd name, int_f *name_len, size_t_f *size, void *value)
-{
- /*
- * Call h5pregister_c function
- */
- return h5pregister_c(cls, name, name_len, size, value);
-}
-
-int_f
-nh5pregister_double_c(hid_t_f *cls, _fcd name, int_f *name_len, size_t_f *size, void *value)
-{
- /*
- * Call h5pregister_c function
- */
- return h5pregister_c(cls, name, name_len, size, value);
-}
-
-/****if* H5Pf/h5pinsertc_c
- * NAME
- * h5pinsertc_c
- * PURPOSE
- * Call h5pinsert_c to register a temporary property
- * INPUTS
- * plist - property list identifier
- * name - name of the new property
- * name_len - length of the "name" buffer
- * size - property size
- * value - property value of character type
- * RETURNS
- * 0 on success, -1 on failure
- * AUTHOR
- * Elena Pourmal
- * October 11, 2002
- * HISTORY
- *
- * SOURCE
-*/
-int_f
-nh5pinsertc_c(hid_t_f *plist, _fcd name, int_f *name_len, size_t_f *size, _fcd value, int_f H5_ATTR_UNUSED *value_len)
-/******/
-{
- int_f ret_value = -1;
-
- /*
- * Call h5pinsert_c function
- */
- ret_value = h5pinsert_c(plist, name, name_len, size, _fcdtocp(value));
- return ret_value;
-}
-
/****if* H5Pf/h5pinsert_c
* NAME
* h5pinsert_c
@@ -2994,54 +2768,27 @@ DONE:
return ret_value;
}
-int_f
-nh5pinsert_integer_c(hid_t_f *plist, _fcd name, int_f *name_len, size_t_f *size, void *value)
-{
- /*
- * Call h5pinsert_c function
- */
- return h5pinsert_c(plist, name, name_len, size, value);
-}
-
-int_f
-nh5pinsert_real_c(hid_t_f *plist, _fcd name, int_f *name_len, size_t_f *size, void *value)
-{
- /*
- * Call h5pinsert_c function
- */
- return h5pinsert_c(plist, name, name_len, size, value);
-}
-
-int_f
-nh5pinsert_double_c(hid_t_f *plist, _fcd name, int_f *name_len, size_t_f *size, void *value)
-{
- /*
- * Call h5pinsert_c function
- */
- return h5pinsert_c(plist, name, name_len, size, value);
-}
-
/****if* H5Pf/h5pexist_c
* NAME
- * h5pexist_c
+ * h5pexist_c
* PURPOSE
- * Call H5Pexist to querie whether a property name exists
- * in a property list or class
+ * Call H5Pexist to querie whether a property name exists
+ * in a property list or class
* INPUTS
- * plist - property list or property class identifier
- * name - name of the new property
- * name_len - length of the "name" buffer
+ * plist - property list or property class identifier
+ * name - name of the new property
+ * name_len - length of the "name" buffer
* RETURNS
- * nonnegative on success, -1 on failure
+ * nonnegative on success, -1 on failure
* AUTHOR
* Elena Pourmal
- * October 11, 2002
+ * October 11, 2002
* HISTORY
*
* SOURCE
*/
int_f
-nh5pexist_c(hid_t_f *cls, _fcd name, int_f *name_len)
+h5pexist_c(hid_t_f *cls, _fcd name, int_f *name_len)
/******/
{
int_f ret_value = -1;
@@ -3065,24 +2812,24 @@ DONE:
}
/****if* H5Pf/h5pisa_class_c
* NAME
- * h5pisa_class_c
+ * h5pisa_class_c
* PURPOSE
- * Call H5Pisa_class to querie whether a property is a
- * member of a class
+ * Call H5Pisa_class to querie whether a property is a
+ * member of a class
* INPUTS
- * plist - property list identifier
- * cls - property class identifier
+ * plist - property list identifier
+ * cls - property class identifier
* RETURNS
- * nonnegative on success, -1 on failure
+ * nonnegative on success, -1 on failure
* AUTHOR
* Elena Pourmal
- * October 11, 2002
+ * October 11, 2002
* HISTORY
*
* SOURCE
*/
int_f
-nh5pisa_class_c(hid_t_f *plist, hid_t_f *cls)
+h5pisa_class_c(hid_t_f *plist, hid_t_f *cls)
/******/
{
int_f ret_value = -1;
@@ -3102,26 +2849,26 @@ nh5pisa_class_c(hid_t_f *plist, hid_t_f *cls)
}
/****if* H5Pf/h5pget_size_c
* NAME
- * h5pget_size_c
+ * h5pget_size_c
* PURPOSE
- * Call H5Pget_size to querie the size of the property
+ * Call H5Pget_size to querie the size of the property
* INPUTS
- * plist - property list to query
- * name - name of the property
- * name_len - length of the "name" buffer
+ * plist - property list to query
+ * name - name of the property
+ * name_len - length of the "name" buffer
* OUTPUTS
- * size - size of the property in bytes
+ * size - size of the property in bytes
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* Elena Pourmal
- * October 11, 2002
+ * October 11, 2002
* HISTORY
*
* SOURCE
*/
int_f
-nh5pget_size_c(hid_t_f *plist, _fcd name, int_f *name_len, size_t_f *size)
+h5pget_size_c(hid_t_f *plist, _fcd name, int_f *name_len, size_t_f *size)
/******/
{
int_f ret_value = -1;
@@ -3146,24 +2893,24 @@ DONE:
}
/****if* H5Pf/h5pget_nprops_c
* NAME
- * h5pget_nprops_c
+ * h5pget_nprops_c
* PURPOSE
- * Call H5Pget_nporps to get number of the properties in the list
+ * Call H5Pget_nporps to get number of the properties in the list
* INPUTS
- * plist - property list to query
+ * plist - property list to query
* OUTPUTS
- * nprops - number of properties in the list
+ * nprops - number of properties in the list
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* Elena Pourmal
- * October 11, 2002
+ * October 11, 2002
* HISTORY
*
* SOURCE
*/
int_f
-nh5pget_nprops_c(hid_t_f *plist, size_t_f *nprops)
+h5pget_nprops_c(hid_t_f *plist, size_t_f *nprops)
/******/
{
int_f ret_value = -1;
@@ -3183,25 +2930,25 @@ nh5pget_nprops_c(hid_t_f *plist, size_t_f *nprops)
}
/****if* H5Pf/h5pget_class_parent_c
* NAME
- * h5pget_class_parent_c
+ * h5pget_class_parent_c
* PURPOSE
- * Call H5Pget_class_parent to get the parent class of
- * a genereic property class
+ * Call H5Pget_class_parent to get the parent class of
+ * a genereic property class
* INPUTS
- * prp_id - property list to query
+ * prp_id - property list to query
* OUTPUTS
- * parent_id - parent classs identifier
+ * parent_id - parent classs identifier
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* Elena Pourmal
- * October 11, 2002
+ * October 11, 2002
* HISTORY
*
* SOURCE
*/
int_f
-nh5pget_class_parent_c(hid_t_f *prp_id, hid_t_f *parent_id)
+h5pget_class_parent_c(hid_t_f *prp_id, hid_t_f *parent_id)
/******/
{
int_f ret_value = -1;
@@ -3222,26 +2969,26 @@ nh5pget_class_parent_c(hid_t_f *prp_id, hid_t_f *parent_id)
}
/****if* H5Pf/h5pcopy_prop_c
* NAME
- * h5pcopy_prop_c
+ * h5pcopy_prop_c
* PURPOSE
- * Call H5Pcopy_prop to copy a property from one list or
- * class to another
+ * Call H5Pcopy_prop to copy a property from one list or
+ * class to another
* INPUTS
- * dst_id - identifier of destination property list
- * src_id - identifier of source property list
- * name - name of the property
- * name_len - length of the "name" buffer
+ * dst_id - identifier of destination property list
+ * src_id - identifier of source property list
+ * name - name of the property
+ * name_len - length of the "name" buffer
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* Elena Pourmal
- * October 11, 2002
+ * October 11, 2002
* HISTORY
*
* SOURCE
*/
int_f
-nh5pcopy_prop_c(hid_t_f *dst_id, hid_t_f *src_id, _fcd name, int_f *name_len)
+h5pcopy_prop_c(hid_t_f *dst_id, hid_t_f *src_id, _fcd name, int_f *name_len)
/******/
{
int_f ret_value = -1;
@@ -3265,24 +3012,24 @@ DONE:
}
/****if* H5Pf/h5premove_c
* NAME
- * h5premove_c
+ * h5premove_c
* PURPOSE
- * Call H5Premove to remove a property from a list
+ * Call H5Premove to remove a property from a list
* INPUTS
- * plid - identifier of property list
- * name - name of the property to remove
- * name_len - length of the "name" buffer
+ * plid - identifier of property list
+ * name - name of the property to remove
+ * name_len - length of the "name" buffer
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* Elena Pourmal
- * October 11, 2002
+ * October 11, 2002
* HISTORY
*
* SOURCE
*/
int_f
-nh5premove_c(hid_t_f *plid, _fcd name, int_f *name_len)
+h5premove_c(hid_t_f *plid, _fcd name, int_f *name_len)
/******/
{
int_f ret_value = -1;
@@ -3305,15 +3052,15 @@ DONE:
}
/****if* H5Pf/h5punregister_c
* NAME
- * h5punregister_c
+ * h5punregister_c
* PURPOSE
- * Call H5Punregister to remove a property from a property class
+ * Call H5Punregister to remove a property from a property class
* INPUTS
- * cls - identifier of property class
- * name - name of the property to unregister
- * name_len - length of the "name" buffer
+ * cls - identifier of property class
+ * name - name of the property to unregister
+ * name_len - length of the "name" buffer
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* Elena Pourmal
* October 11, 2002
@@ -3322,7 +3069,7 @@ DONE:
* SOURCE
*/
int_f
-nh5punregister_c(hid_t_f *cls, _fcd name, int_f *name_len)
+h5punregister_c(hid_t_f *cls, _fcd name, int_f *name_len)
/******/
{
int_f ret_value = -1;
@@ -3345,13 +3092,13 @@ DONE:
}
/****if* H5Pf/h5pclose_class_c
* NAME
- * h5pclose_class_c
+ * h5pclose_class_c
* PURPOSE
- * Call H5Pclose_class to close property class
+ * Call H5Pclose_class to close property class
* INPUTS
- * class - identifier of property class to close
+ * class - identifier of property class to close
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* Elena Pourmal
* October 11, 2002
@@ -3360,7 +3107,7 @@ DONE:
* SOURCE
*/
int_f
-nh5pclose_class_c(hid_t_f *cls)
+h5pclose_class_c(hid_t_f *cls)
/******/
{
int_f ret_value = -1;
@@ -3377,15 +3124,15 @@ nh5pclose_class_c(hid_t_f *cls)
/****if* H5Pf/h5pget_class_name_c
* NAME
- * h5pget_class_name_c
+ * h5pget_class_name_c
* PURPOSE
- * Call H5Pget_class_name to get property class name
+ * Call H5Pget_class_name to get property class name
* INPUTS
- * cls - identifier of property class
- * name - buffer to retrieve name in
- * name_len - length of the "name" buffer
+ * cls - identifier of property class
+ * name - buffer to retrieve name in
+ * name_len - length of the "name" buffer
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* Elena Pourmal
* October 11, 2002
@@ -3394,7 +3141,7 @@ nh5pclose_class_c(hid_t_f *cls)
* SOURCE
*/
int_f
-nh5pget_class_name_c(hid_t_f *cls, _fcd name, int_f *name_len)
+h5pget_class_name_c(hid_t_f *cls, _fcd name, int_f *name_len)
/******/
{
int_f ret_value = -1;
@@ -3417,38 +3164,6 @@ DONE:
return ret_value;
}
-/****if* H5Pf/h5psetc_c
- * NAME
- * h5psetc_c
- * PURPOSE
- * Call h5setc_c to set property with the character string value
- * INPUTS
- * plist - property list identifier
- * name - name of property
- * name_len - length of the "name" buffer
- * value - property value of character type
- * RETURNS
- * 0 on success, -1 on failure
- * AUTHOR
- * Elena Pourmal
- * October 11, 2002
- * HISTORY
- *
- * SOURCE
-*/
-int_f
-nh5psetc_c(hid_t_f *plist, _fcd name, int_f *name_len, _fcd value, int_f H5_ATTR_UNUSED *value_len)
-/******/
-{
- int_f ret_value = -1;
-
- /*
- * Call h5pset_c function
- */
- ret_value = h5pset_c(plist, name, name_len, _fcdtocp(value));
- return ret_value;
-}
-
/****if* H5Pf/h5pset_c
* NAME
* h5pset_c
@@ -3489,64 +3204,6 @@ DONE:
return ret_value;
}
-int_f
-nh5pset_integer_c(hid_t_f *plist, _fcd name, int_f *name_len, void *value)
-{
- /*
- * Call h5pset_c function
- */
- return h5pset_c(plist, name, name_len, value);
-}
-
-int_f
-nh5pset_real_c(hid_t_f *plist, _fcd name, int_f *name_len, void *value)
-{
- /*
- * Call h5pset_c function
- */
- return h5pset_c(plist, name, name_len, value);
-}
-
-int_f
-nh5pset_double_c(hid_t_f *plist, _fcd name, int_f *name_len, void *value)
-{
- /*
- * Call h5pset_c function
- */
- return h5pset_c(plist, name, name_len, value);
-}
-/****if* H5Pf/h5pgetc_c
- * NAME
- * h5pgetc_c
- * PURPOSE
- * Call h5set_c to set property with the character string value
- * INPUTS
- * plist - property list identifier
- * name - name of property
- * name_len - length of the "name" buffer
- * Output: value - property value of character type
- * RETURNS
- * 0 on success, -1 on failure
- * AUTHOR
- * Elena Pourmal
- * October 11, 2002
- * HISTORY
- *
- * SOURCE
-*/
-int_f
-nh5pgetc_c(hid_t_f *plist, _fcd name, int_f *name_len, _fcd value, int_f H5_ATTR_UNUSED *value_len)
-/******/
-{
- int_f ret_value = -1;
-
- /*
- * Call h5pget_c function
- */
- ret_value = h5pget_c(plist, name, name_len, _fcdtocp(value));
- return ret_value;
-}
-
/****if* H5Pf/h5pget_c
* NAME
* h5pget_c
@@ -3556,7 +3213,7 @@ nh5pgetc_c(hid_t_f *plist, _fcd name, int_f *name_len, _fcd value, int_f H5_ATTR
* plist - property list class identifier
* name - name of the new property
* name_len - length of the "name" buffer
- * Output:
+ * Output:
* value - property value
* RETURNS
* 0 on success, -1 on failure
@@ -3588,54 +3245,26 @@ DONE:
return ret_value;
}
-int_f
-nh5pget_integer_c(hid_t_f *plist, _fcd name, int_f *name_len, void *value)
-{
- /*
- * Call h5pget_c function
- */
- return h5pget_c(plist, name, name_len, value);
-}
-
-int_f
-nh5pget_real_c(hid_t_f *plist, _fcd name, int_f *name_len, void *value)
-{
- /*
- * Call h5pget_c function
- */
- return h5pget_c(plist, name, name_len, value);
-}
-
-int_f
-nh5pget_double_c(hid_t_f *plist, _fcd name, int_f *name_len, void *value)
-{
- /*
- * Call h5pget_c function
- */
- return h5pget_c(plist, name, name_len, value);
-}
-
-
/****if* H5Pf/h5pset_shuffle_c
* NAME
- * h5pset_shuffle_c
+ * h5pset_shuffle_c
* PURPOSE
- * Call H5Pset_shuffle
+ * Call H5Pset_shuffle
* INPUTS
- * prp_id - property list identifier
- * type_size - size of the datatype in bytes
+ * prp_id - property list identifier
+ * type_size - size of the datatype in bytes
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* Elena Pourmal
- * Wednesday, March 12, 2003
+ * Wednesday, March 12, 2003
* HISTORY
*
* SOURCE
*/
int_f
-nh5pset_shuffle_c ( hid_t_f *prp_id )
+h5pset_shuffle_c ( hid_t_f *prp_id )
/******/
{
int_f ret_value = 0;
@@ -3649,23 +3278,23 @@ nh5pset_shuffle_c ( hid_t_f *prp_id )
}
/****if* H5Pf/h5pset_fletcher32_c
* NAME
- * h5pset_fletcher32_c
+ * h5pset_fletcher32_c
* PURPOSE
- * Call H5Pset_fletcher32 to enable EDC
+ * Call H5Pset_fletcher32 to enable EDC
* INPUTS
- * prp_id - dataset creation property list identifier
+ * prp_id - dataset creation property list identifier
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* Elena Pourmal
- * Thursday, March 13, 2003
+ * Thursday, March 13, 2003
* HISTORY
*
* SOURCE
*/
int_f
-nh5pset_fletcher32_c ( hid_t_f *prp_id )
+h5pset_fletcher32_c ( hid_t_f *prp_id )
/******/
{
int_f ret_value = 0;
@@ -3680,24 +3309,24 @@ nh5pset_fletcher32_c ( hid_t_f *prp_id )
/****if* H5Pf/h5pset_edc_check_c
* NAME
- * h5pset_edc_check_c
+ * h5pset_edc_check_c
* PURPOSE
- * Call H5Pset_edc_check to enable EDC
+ * Call H5Pset_edc_check to enable EDC
* INPUTS
- * prp_id - dataset transfer property list identifier
- * flag - EDC flag
+ * prp_id - dataset transfer property list identifier
+ * flag - EDC flag
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* Elena Pourmal
- * Thursday, March 13, 2003
+ * Thursday, March 13, 2003
* HISTORY
*
* SOURCE
*/
int_f
-nh5pset_edc_check_c ( hid_t_f *prp_id, int_f *flag )
+h5pset_edc_check_c ( hid_t_f *prp_id, int_f *flag )
/******/
{
int_f ret_value = 0;
@@ -3714,24 +3343,24 @@ nh5pset_edc_check_c ( hid_t_f *prp_id, int_f *flag )
/****if* H5Pf/h5pget_edc_check_c
* NAME
- * h5pget_edc_check_c
+ * h5pget_edc_check_c
* PURPOSE
- * Call H5Pget_edc_check to query EDC
+ * Call H5Pget_edc_check to query EDC
* INPUTS
- * prp_id - dataset transfer property list identifier
- * Outouts: flag - EDC flag
+ * prp_id - dataset transfer property list identifier
+ * Outouts: flag - EDC flag
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* Elena Pourmal
- * Thursday, March 13, 2003
+ * Thursday, March 13, 2003
* HISTORY
*
* SOURCE
*/
int_f
-nh5pget_edc_check_c ( hid_t_f *prp_id, int_f *flag )
+h5pget_edc_check_c ( hid_t_f *prp_id, int_f *flag )
/******/
{
int_f ret_value = 0;
@@ -3746,24 +3375,24 @@ nh5pget_edc_check_c ( hid_t_f *prp_id, int_f *flag )
}
/****if* H5Pf/h5pset_family_offset_c
* NAME
- * h5pset_family_offset_c
+ * h5pset_family_offset_c
* PURPOSE
- * Call H5Pset_family_offset to set and offset for family driver
+ * Call H5Pset_family_offset to set and offset for family driver
* INPUTS
- * prp_id - property list identifier
- * offset - offset in bytes
+ * prp_id - property list identifier
+ * offset - offset in bytes
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* Elena Pourmal
- * Wednesday, 19 March 2003
+ * Wednesday, 19 March 2003
* HISTORY
*
* SOURCE
*/
int_f
-nh5pset_family_offset_c ( hid_t_f *prp_id , hsize_t_f *offset)
+h5pset_family_offset_c ( hid_t_f *prp_id , hsize_t_f *offset)
/******/
{
int_f ret_value = 0;
@@ -3780,30 +3409,30 @@ nh5pset_family_offset_c ( hid_t_f *prp_id , hsize_t_f *offset)
/****if* H5Pf/h5pset_fapl_multi_c
* NAME
- * h5pset_fapl_multi_c
+ * h5pset_fapl_multi_c
* PURPOSE
- * Call H5Pset_fapl_multi to set multi file dirver
+ * Call H5Pset_fapl_multi to set multi file dirver
* INPUTS
- * prp_id - file_creation property list identifier
- * mem_map - memory mapping array
- * memb_fapl - property list for each memory usage type
- * memb_name - array with members names
- * len - array with the lenght of each name
- * lenmax - lenght of the name a sdeclared in Fortran
- * flag - flag allowing partila access when one of the files is missing
+ * prp_id - file_creation property list identifier
+ * mem_map - memory mapping array
+ * memb_fapl - property list for each memory usage type
+ * memb_name - array with members names
+ * len - array with the lenght of each name
+ * lenmax - lenght of the name a sdeclared in Fortran
+ * flag - flag allowing partila access when one of the files is missing
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* Elena Pourmal
- * Monday 24, March 2003
+ * Monday 24, March 2003
* HISTORY
*
* SOURCE
*/
int_f
-/*nh5pset_fapl_multi_c ( hid_t_f *prp_id , int_f *memb_map, hid_t_f *memb_fapl, _fcd memb_name, int_f *len, int_f *lenmax, haddr_t_f *memb_addr, int_f *flag) */
-nh5pset_fapl_multi_c ( hid_t_f *prp_id , int_f *memb_map, hid_t_f *memb_fapl, _fcd memb_name, int_f *len, int_f *lenmax, real_f *memb_addr, int_f *flag)
+/*h5pset_fapl_multi_c ( hid_t_f *prp_id , int_f *memb_map, hid_t_f *memb_fapl, _fcd memb_name, int_f *len, int_f *lenmax, haddr_t_f *memb_addr, int_f *flag) */
+h5pset_fapl_multi_c ( hid_t_f *prp_id , int_f *memb_map, hid_t_f *memb_fapl, _fcd memb_name, int_f *len, int_f *lenmax, real_f *memb_addr, int_f *flag)
/******/
{
int_f ret_value = -1;
@@ -3821,13 +3450,13 @@ nh5pset_fapl_multi_c ( hid_t_f *prp_id , int_f *memb_map, hid_t_f *memb_fapl, _f
c_lenmax = (int)*lenmax;
relax = (hbool_t)*flag;
/*
- * Check that we got correct values from Fortran for memb_addr array
+ * Check that we got correct values from Fortran for memb_addr array
*/
for (i=0; i < H5FD_MEM_NTYPES; i++) {
if(memb_addr[i] >= 1.0f) return ret_value;
}
/*
- * Take care of names array
+ * Take care of names array
*/
tmp = (char *)HD5f2cstring(memb_name, (size_t)c_lenmax*(H5FD_MEM_NTYPES));
@@ -3841,7 +3470,7 @@ nh5pset_fapl_multi_c ( hid_t_f *prp_id , int_f *memb_map, hid_t_f *memb_fapl, _f
tmp_p = tmp_p + c_lenmax;
}
/*
- * Take care of othe arguments
+ * Take care of othe arguments
*/
tmp_max_addr = (long double)(HADDR_MAX);
c_prp_id = (hid_t)*prp_id;
@@ -3852,7 +3481,7 @@ nh5pset_fapl_multi_c ( hid_t_f *prp_id , int_f *memb_map, hid_t_f *memb_fapl, _f
else c_memb_addr[i] = (haddr_t)(((float)memb_addr[i])*(tmp_max_addr));
}
/*
- * Call H5Pset_fapl_multi function
+ * Call H5Pset_fapl_multi function
*/
status = H5Pset_fapl_multi(c_prp_id, c_memb_map, c_memb_fapl, (const char * const *)c_memb_name, c_memb_addr, relax);
@@ -3868,23 +3497,23 @@ DONE:
/****if* H5Pf/h5pset_fapl_multi_sc
* NAME
- * h5pset_fapl_multi_sc
+ * h5pset_fapl_multi_sc
* PURPOSE
- * Call H5Pset_fapl_multi to set multi file dirver
+ * Call H5Pset_fapl_multi to set multi file dirver
* INPUTS
- * prp_id - file_creation property list identifier
+ * prp_id - file_creation property list identifier
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* Elena Pourmal
- * March 31 2003
+ * March 31 2003
* HISTORY
*
* SOURCE
*/
int_f
-nh5pset_fapl_multi_sc ( hid_t_f *prp_id , int_f *flag)
+h5pset_fapl_multi_sc ( hid_t_f *prp_id , int_f *flag)
/******/
{
int_f ret_value = -1;
@@ -3895,7 +3524,7 @@ nh5pset_fapl_multi_sc ( hid_t_f *prp_id , int_f *flag)
relax = (hbool_t)*flag;
c_prp_id = (hid_t)*prp_id;
/*
- * Call H5Pset_fapl_multi function
+ * Call H5Pset_fapl_multi function
*/
status = H5Pset_fapl_multi(c_prp_id, NULL, NULL, NULL, NULL, relax);
@@ -3905,30 +3534,30 @@ nh5pset_fapl_multi_sc ( hid_t_f *prp_id , int_f *flag)
}
/****if* H5Pf/h5pget_fapl_multi_c
* NAME
- * h5pget_fapl_multi_c
+ * h5pget_fapl_multi_c
* PURPOSE
- * Call H5Pget_fapl_multi to set multi file dirver
+ * Call H5Pget_fapl_multi to set multi file dirver
* INPUTS
- * prp_id - file_creation property list identifier
- * lenmax - lenght of the name a sdeclared in Fortran
+ * prp_id - file_creation property list identifier
+ * lenmax - lenght of the name a sdeclared in Fortran
* OUTPUTS
- * memb_map - memory mapping array
- * memb_fapl - property list for each memory usage type
- * memb_name - array with members names
- * len - array with the lenght of each name
- * flag - flag allowing partila access when one of the files is missing
+ * memb_map - memory mapping array
+ * memb_fapl - property list for each memory usage type
+ * memb_name - array with members names
+ * len - array with the lenght of each name
+ * flag - flag allowing partila access when one of the files is missing
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* Elena Pourmal
- * Monday 24, March 2003
+ * Monday 24, March 2003
* HISTORY
*
* SOURCE
*/
int_f
-nh5pget_fapl_multi_c ( hid_t_f *prp_id , int_f *memb_map, hid_t_f *memb_fapl, _fcd memb_name, int_f *len, int_f *lenmax, real_f *memb_addr, int_f *flag, int_f *maxlen_out)
+h5pget_fapl_multi_c ( hid_t_f *prp_id , int_f *memb_map, hid_t_f *memb_fapl, _fcd memb_name, int_f *len, int_f *lenmax, real_f *memb_addr, int_f *flag, int_f *maxlen_out)
/******/
{
int_f ret_value = -1;
@@ -3947,14 +3576,14 @@ nh5pget_fapl_multi_c ( hid_t_f *prp_id , int_f *memb_map, hid_t_f *memb_fapl, _f
c_prp_id = (hid_t)*prp_id;
/*
- * Call H5Pget_fapl_multi function
+ * Call H5Pget_fapl_multi function
*/
status = H5Pget_fapl_multi(c_prp_id, c_memb_map, c_memb_fapl, c_memb_name, c_memb_addr, &relax);
if ( status < 0 ) return ret_value;
/*
- * Take care of names array
+ * Take care of names array
*/
tmp = (char *)HDmalloc(c_lenmax*H5FD_MEM_NTYPES + 1);
tmp_p = tmp;
@@ -3969,7 +3598,7 @@ nh5pget_fapl_multi_c ( hid_t_f *prp_id , int_f *memb_map, hid_t_f *memb_fapl, _f
HD5packFstring(tmp, _fcdtocp(memb_name), (size_t)(c_lenmax*H5FD_MEM_NTYPES));
/*
- * Take care of other arguments
+ * Take care of other arguments
*/
for (i=0; i < H5FD_MEM_NTYPES; i++) {
@@ -3989,25 +3618,25 @@ HD5packFstring(tmp, _fcdtocp(memb_name), (size_t)(c_lenmax*H5FD_MEM_NTYPES));
/****if* H5Pf/h5pset_szip_c
* NAME
- * h5pset_szip_c
+ * h5pset_szip_c
* PURPOSE
- * Call H5Pset_szip to set szip compression
+ * Call H5Pset_szip to set szip compression
* INPUTS
- * prp_id - dataset creation property list identifier
- * options_mask
- * pixels_per_block -szip compression parameters
+ * prp_id - dataset creation property list identifier
+ * options_mask
+ * pixels_per_block -szip compression parameters
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* Elena Pourmal
- * April 8 2003
+ * April 8 2003
* HISTORY
*
* SOURCE
*/
int_f
-nh5pset_szip_c ( hid_t_f *prp_id , int_f *options_mask, int_f *pixels_per_block)
+h5pset_szip_c ( hid_t_f *prp_id , int_f *options_mask, int_f *pixels_per_block)
/******/
{
int_f ret_value = -1;
@@ -4020,7 +3649,7 @@ nh5pset_szip_c ( hid_t_f *prp_id , int_f *options_mask, int_f *pixels_per_block)
c_options_mask = (unsigned)*options_mask;
c_pixels_per_block = (unsigned)*pixels_per_block;
/*
- * Call H5Pset_szip function
+ * Call H5Pset_szip function
*/
status = H5Pset_szip(c_prp_id, c_options_mask, c_pixels_per_block);
@@ -4030,25 +3659,25 @@ nh5pset_szip_c ( hid_t_f *prp_id , int_f *options_mask, int_f *pixels_per_block)
}
/****if* H5Pf/h5pall_filters_avail_c
* NAME
- * h5pall_filters_avail_c
+ * h5pall_filters_avail_c
* PURPOSE
- * Call H5Pall_filters_avail
+ * Call H5Pall_filters_avail
* INPUTS
- * prp_id - dataset creation property list identifier
+ * prp_id - dataset creation property list identifier
* OUTPUTS
- * status - logical flag
+ * status - logical flag
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* Elena Pourmal
- * April 10 2003
+ * April 10 2003
* HISTORY
*
* SOURCE
*/
int_f
-nh5pall_filters_avail_c ( hid_t_f *prp_id , int_f *status)
+h5pall_filters_avail_c ( hid_t_f *prp_id , int_f *status)
/******/
{
int_f ret_value = -1;
@@ -4058,7 +3687,7 @@ nh5pall_filters_avail_c ( hid_t_f *prp_id , int_f *status)
c_prp_id = (hid_t)*prp_id;
/*
- * Call H5Pall_filters_avail function
+ * Call H5Pall_filters_avail function
*/
c_status = H5Pall_filters_avail(c_prp_id);
@@ -4071,31 +3700,31 @@ nh5pall_filters_avail_c ( hid_t_f *prp_id , int_f *status)
/****if* H5Pf/h5pget_filter_by_id_c
* NAME
- * h5pget_filter_by_id_c
+ * h5pget_filter_by_id_c
* PURPOSE
- * Call H5Pget_filter_by_id2 to get information about a filter
- * in a pipeline
+ * Call H5Pget_filter_by_id2 to get information about a filter
+ * in a pipeline
* INPUTS
- * prp_id - property list identifier
- * filter_id - filter id
- * namelen - Anticipated number of characters in name.
+ * prp_id - property list identifier
+ * filter_id - filter id
+ * namelen - Anticipated number of characters in name.
*OUTPUT
- * flags - Bit vector specifying certain general
- * properties of the filter.
- * cd_nelmts - Number of elements in cd_value
- * cd_values - Auxiliary data for the filter.
- * name - Name of the filter
+ * flags - Bit vector specifying certain general
+ * properties of the filter.
+ * cd_nelmts - Number of elements in cd_value
+ * cd_values - Auxiliary data for the filter.
+ * name - Name of the filter
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* Elena POurmal
- * April 10, 2003
+ * April 10, 2003
* HISTORY
*
* SOURCE
*/
int_f
-nh5pget_filter_by_id_c(hid_t_f *prp_id, int_f* filter_id, int_f* flags, size_t_f* cd_nelmts, int_f* cd_values, size_t_f *namelen, _fcd name)
+h5pget_filter_by_id_c(hid_t_f *prp_id, int_f* filter_id, int_f* flags, size_t_f* cd_nelmts, int_f* cd_values, size_t_f *namelen, _fcd name)
/******/
{
unsigned int c_flags;
@@ -4138,27 +3767,27 @@ DONE:
/****if* H5Pf/h5pmodify_filter_c
* NAME
- * h5pmodify_filter_c
+ * h5pmodify_filter_c
* PURPOSE
- * Call H5Pmodify_filter to modify a filter
+ * Call H5Pmodify_filter to modify a filter
* INPUTS
- * prp_id - property list identifier
- * filter - Filter to be modified
- * flags - Bit vector specifying certain general
- * properties of the filter.
- * cd_nelmts - Number of elements in cd_values.
- * cd_values - Auxiliary data for the filter.
+ * prp_id - property list identifier
+ * filter - Filter to be modified
+ * flags - Bit vector specifying certain general
+ * properties of the filter.
+ * cd_nelmts - Number of elements in cd_values.
+ * cd_values - Auxiliary data for the filter.
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* Elena Pourmal
- * April 10 2003
+ * April 10 2003
* HISTORY
*
* SOURCE
*/
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 )
+h5pmodify_filter_c (hid_t_f *prp_id, int_f* filter, int_f* flags, size_t_f* cd_nelmts, int_f* cd_values )
/******/
{
int_f ret_value = -1;
@@ -4190,23 +3819,23 @@ DONE:
/****if* H5Pf/h5premove_filter_c
* NAME
- * h5premove_filter_c
+ * h5premove_filter_c
* PURPOSE
- * Call H5Premove_filter to delete one or more filters
+ * Call H5Premove_filter to delete one or more filters
* INPUTS
- * prp_id - property list identifier
- * filter - Filter to be deleted
+ * prp_id - property list identifier
+ * filter - Filter to be deleted
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* Quincey Koziol
- * January 27 2004
+ * January 27 2004
* HISTORY
*
* SOURCE
*/
int_f
-nh5premove_filter_c (hid_t_f *prp_id, int_f* filter)
+h5premove_filter_c (hid_t_f *prp_id, int_f* filter)
/******/
{
int_f ret_value = -1;
@@ -4228,25 +3857,25 @@ DONE:
/****if* H5Pf/h5pget_attr_phase_change_c
* NAME
- * h5pget_attr_phase_change_c
+ * h5pget_attr_phase_change_c
* PURPOSE
- * Calls H5Pget_attr_phase_change
+ * Calls H5Pget_attr_phase_change
*
* INPUTS
- * ocpl_id - Object (dataset or group) creation property list identifier
- * Outputs max_compact - Maximum number of attributes to be stored in compact storage
- * min_dense - Minimum number of attributes to be stored in dense storage
+ * ocpl_id - Object (dataset or group) creation property list identifier
+ * Outputs max_compact - Maximum number of attributes to be stored in compact storage
+ * min_dense - Minimum number of attributes to be stored in dense storage
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* M. Scot Breitenfeld
- * January, 2008
+ * January, 2008
* HISTORY
*
* SOURCE
*/
int_f
-nh5pget_attr_phase_change_c(hid_t_f *ocpl_id, int_f *max_compact, int_f *min_dense )
+h5pget_attr_phase_change_c(hid_t_f *ocpl_id, int_f *max_compact, int_f *min_dense )
/******/
{
int ret_value = -1;
@@ -4269,24 +3898,24 @@ nh5pget_attr_phase_change_c(hid_t_f *ocpl_id, int_f *max_compact, int_f *min_den
/****if* H5Pf/h5pset_attr_creation_order_c
* NAME
- * h5pset_attr_creation_order_c
+ * h5pset_attr_creation_order_c
* PURPOSE
- * Calls H5Ppset_attr_creation_order
+ * Calls H5Ppset_attr_creation_order
*
* INPUTS
- * ocpl_id - Object (dataset or group) creation property list identifier
- * Outputs crt_order_flags - Flags specifying whether to track and index attribute creation order
+ * ocpl_id - Object (dataset or group) creation property list identifier
+ * Outputs crt_order_flags - Flags specifying whether to track and index attribute creation order
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* M. Scot Breitenfeld
- * January, 2008
+ * January, 2008
* HISTORY
*
* SOURCE
*/
int_f
-nh5pset_attr_creation_order_c(hid_t_f *ocpl_id, int_f *crt_order_flags )
+h5pset_attr_creation_order_c(hid_t_f *ocpl_id, int_f *crt_order_flags )
/******/
{
int ret_value = -1;
@@ -4306,29 +3935,29 @@ nh5pset_attr_creation_order_c(hid_t_f *ocpl_id, int_f *crt_order_flags )
/****if* H5Pf/h5pset_shared_mesg_nindexes_c
* NAME
- * h5pset_shared_mesg_nindexes_c
+ * h5pset_shared_mesg_nindexes_c
* PURPOSE
- * Calls h5pset_shared_mesg_nindexes
+ * Calls h5pset_shared_mesg_nindexes
*
* INPUTS
*
- * plist_id - file creation property list
- * nindexes - Number of shared object header message indexes
- * available in files created WITH this property list
+ * plist_id - file creation property list
+ * nindexes - Number of shared object header message indexes
+ * available in files created WITH this property list
*
* OUTPUTS
*
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* M. Scot Breitenfeld
- * January, 2008
+ * January, 2008
* HISTORY
*
* SOURCE
*/
int_f
-nh5pset_shared_mesg_nindexes_c(hid_t_f *plist_id, int_f *nindexes )
+h5pset_shared_mesg_nindexes_c(hid_t_f *plist_id, int_f *nindexes )
/******/
{
int ret_value = -1;
@@ -4349,30 +3978,30 @@ nh5pset_shared_mesg_nindexes_c(hid_t_f *plist_id, int_f *nindexes )
/****if* H5Pf/h5pset_shared_mesg_index_c
* NAME
- * h5pset_shared_mesg_index_c
+ * h5pset_shared_mesg_index_c
* PURPOSE
- * Calls H5Pset_shared_mesg_index
+ * Calls H5Pset_shared_mesg_index
*
* INPUTS
*
- * fcpl_id - File creation property list identifier.
- * index_num - Index being configured.
- * mesg_type_flags - Types of messages that should be stored in this index.
- * min_mesg_size - Minimum message size.
+ * fcpl_id - File creation property list identifier.
+ * index_num - Index being configured.
+ * mesg_type_flags - Types of messages that should be stored in this index.
+ * min_mesg_size - Minimum message size.
*
* OUTPUTS
*
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* M. Scot Breitenfeld
- * January, 2008
+ * January, 2008
* HISTORY
*
* SOURCE
*/
int_f
-nh5pset_shared_mesg_index_c(hid_t_f *fcpl_id, int_f *index_num, int_f *mesg_type_flags, int_f *min_mesg_size)
+h5pset_shared_mesg_index_c(hid_t_f *fcpl_id, int_f *index_num, int_f *mesg_type_flags, int_f *min_mesg_size)
/******/
{
int ret_value = -1;
@@ -4389,28 +4018,28 @@ nh5pset_shared_mesg_index_c(hid_t_f *fcpl_id, int_f *index_num, int_f *mesg_type
/****if* H5Pf/h5pget_attr_creation_order_c
* NAME
- * h5pget_attr_creation_order_c
+ * h5pget_attr_creation_order_c
* PURPOSE
- * Calls H5Pget_attr_creation_order
+ * Calls H5Pget_attr_creation_order
*
* INPUTS
*
- * ocpl_id - Object (group or dataset) creation property list identifier
+ * ocpl_id - Object (group or dataset) creation property list identifier
* OUTPUTS
*
- * crt_order_flags - Flags specifying whether to track and index attribute creation order
+ * crt_order_flags - Flags specifying whether to track and index attribute creation order
*
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* M. Scot Breitenfeld
- * February, 2008
+ * February, 2008
* HISTORY
*
* SOURCE
*/
int_f
-nh5pget_attr_creation_order_c(hid_t_f *ocpl_id, int_f *crt_order_flags)
+h5pget_attr_creation_order_c(hid_t_f *ocpl_id, int_f *crt_order_flags)
/******/
{
int ret_value = -1;
@@ -4431,29 +4060,29 @@ nh5pget_attr_creation_order_c(hid_t_f *ocpl_id, int_f *crt_order_flags)
}
/****if* H5Pf/h5pset_libver_bounds_c
* NAME
- * h5pset_libver_bounds_c
+ * h5pset_libver_bounds_c
* PURPOSE
- * Calls H5Pset_libver_bounds
+ * Calls H5Pset_libver_bounds
*
* INPUTS
*
- * fapl_id - File access property list identifier
- * low - The earliest version of the library that will be used for writing objects.
- * high - The latest version of the library that will be used for writing objects.
+ * fapl_id - File access property list identifier
+ * low - The earliest version of the library that will be used for writing objects.
+ * high - The latest version of the library that will be used for writing objects.
* OUTPUTS
*
*
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* M. Scot Breitenfeld
- * February 18, 2008
+ * February 18, 2008
* HISTORY
*
* SOURCE
*/
int_f
-nh5pset_libver_bounds_c(hid_t_f *fapl_id, int_f *low, int_f *high )
+h5pset_libver_bounds_c(hid_t_f *fapl_id, int_f *low, int_f *high )
/******/
{
int ret_value = -1;
@@ -4471,26 +4100,26 @@ nh5pset_libver_bounds_c(hid_t_f *fapl_id, int_f *low, int_f *high )
/****if* H5Pf/h5pset_link_creation_order_c
* NAME
- * h5pset_link_creation_order_c
+ * h5pset_link_creation_order_c
* PURPOSE
- * Calls H5Pset_link_creation_order
+ * Calls H5Pset_link_creation_order
*
* INPUTS
- * gcpl_id - Group creation property list identifier
- * crt_order_flags - Creation order flag(s)
+ * gcpl_id - Group creation property list identifier
+ * crt_order_flags - Creation order flag(s)
* OUTPUTS
*
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* M. Scot Breitenfeld
- * February 18, 2008
+ * February 18, 2008
* HISTORY
*
* SOURCE
*/
int_f
-nh5pset_link_creation_order_c(hid_t_f *gcpl_id, int_f *crt_order_flags )
+h5pset_link_creation_order_c(hid_t_f *gcpl_id, int_f *crt_order_flags )
/******/
{
int ret_value = -1;
@@ -4507,25 +4136,25 @@ nh5pset_link_creation_order_c(hid_t_f *gcpl_id, int_f *crt_order_flags )
/****if* H5Pf/h5pget_link_phase_change_c
* NAME
- * h5pget_link_phase_change_c
+ * h5pget_link_phase_change_c
* PURPOSE
- * Calls H5Pget_link_phase_change
+ * Calls H5Pget_link_phase_change
*
* INPUTS
- * gcpl_id - Group creation property list identifier
- * Outputs max_compact - Maximum number of attributes to be stored in compact storage
- * min_dense - Minimum number of attributes to be stored in dense storage
+ * gcpl_id - Group creation property list identifier
+ * Outputs max_compact - Maximum number of attributes to be stored in compact storage
+ * min_dense - Minimum number of attributes to be stored in dense storage
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* M. Scot Breitenfeld
- * February 20, 2008
+ * February 20, 2008
* HISTORY
*
* SOURCE
*/
int_f
-nh5pget_link_phase_change_c(hid_t_f *gcpl_id, int_f *max_compact, int_f *min_dense )
+h5pget_link_phase_change_c(hid_t_f *gcpl_id, int_f *max_compact, int_f *min_dense )
/******/
{
int ret_value = -1;
@@ -4547,27 +4176,27 @@ nh5pget_link_phase_change_c(hid_t_f *gcpl_id, int_f *max_compact, int_f *min_den
/****if* H5Pf/h5pget_obj_track_times_c
* NAME
- * h5pget_obj_track_times_c
+ * h5pget_obj_track_times_c
* PURPOSE
- * Call H5Pget_obj_track_times
+ * Call H5Pget_obj_track_times
*
* INPUTS
- * plist_id - property list id
+ * plist_id - property list id
* OUTPUTS
*
- * flag - TRUE/FALSE flag
+ * flag - TRUE/FALSE flag
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* M. Scot Breitenfeld
- * February 22, 2008
+ * February 22, 2008
* HISTORY
*
* SOURCE
*/
int_f
-nh5pget_obj_track_times_c(hid_t_f *plist_id, int_f *flag)
+h5pget_obj_track_times_c(hid_t_f *plist_id, int_f *flag)
/******/
{
int ret_value = -1;
@@ -4589,25 +4218,25 @@ nh5pget_obj_track_times_c(hid_t_f *plist_id, int_f *flag)
/****if* H5Pf/h5pset_obj_track_times_c
* NAME
- * h5pset_obj_track_times_c
+ * h5pset_obj_track_times_c
* PURPOSE
- * Call H5Pset_obj_track_times
+ * Call H5Pset_obj_track_times
*
* INPUTS
- * plist_id - property list id
- * flag - TRUE/FALSE flag
+ * plist_id - property list id
+ * flag - TRUE/FALSE flag
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* M. Scot Breitenfeld
- * February 22, 2008
+ * February 22, 2008
* HISTORY
*
* SOURCE
*/
int_f
-nh5pset_obj_track_times_c(hid_t_f *plist_id, int_f *flag)
+h5pset_obj_track_times_c(hid_t_f *plist_id, int_f *flag)
/******/
{
int ret_value = -1;
@@ -4629,28 +4258,28 @@ nh5pset_obj_track_times_c(hid_t_f *plist_id, int_f *flag)
/****if* H5Pf/h5pset_create_inter_group_c
* NAME
- * h5pset_create_inter_group_c
+ * h5pset_create_inter_group_c
* PURPOSE
- * Calls H5Pset_create_intermediate_group
+ * Calls H5Pset_create_intermediate_group
*
* INPUTS
*
* lcpl_id - Link creation property list identifier
- * crt_intermed_group - crt_intermed_group specifying whether
- * to create intermediate groups upon the
- * creation of an object
+ * crt_intermed_group - crt_intermed_group specifying whether
+ * to create intermediate groups upon the
+ * creation of an object
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* M. Scot Breitenfeld
- * February 22, 2008
+ * February 22, 2008
* HISTORY
*
* SOURCE
*/
int_f
-nh5pset_create_inter_group_c(hid_t_f *lcpl_id, int_f *crt_intermed_group)
+h5pset_create_inter_group_c(hid_t_f *lcpl_id, int_f *crt_intermed_group)
/******/
{
int ret_value = -1;
@@ -4668,28 +4297,28 @@ nh5pset_create_inter_group_c(hid_t_f *lcpl_id, int_f *crt_intermed_group)
/****if* H5Pf/h5pget_link_creation_order_c
* NAME
- * h5pget_link_creation_order_c
+ * h5pget_link_creation_order_c
* PURPOSE
- * Calls H5Pget_link_creation_order
+ * Calls H5Pget_link_creation_order
*
* INPUTS
*
- * gcpl_id - Group creation property list identifier
+ * gcpl_id - Group creation property list identifier
* OUTPUTS
*
- * crt_order_flags - Creation order flag(s)
+ * crt_order_flags - Creation order flag(s)
*
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* M. Scot Breitenfeld
- * March 3, 2008
+ * March 3, 2008
* HISTORY
*
* SOURCE
*/
int_f
-nh5pget_link_creation_order_c(hid_t_f *gcpl_id, int_f *crt_order_flags)
+h5pget_link_creation_order_c(hid_t_f *gcpl_id, int_f *crt_order_flags)
/******/
{
int ret_value = -1;
@@ -4711,30 +4340,30 @@ nh5pget_link_creation_order_c(hid_t_f *gcpl_id, int_f *crt_order_flags)
/****if* H5Pf/h5pset_char_encoding_c
* NAME
- * h5pset_char_encoding_c
+ * h5pset_char_encoding_c
* PURPOSE
* Calls H5Pset_char_encoding
*
* INPUTS
*
- * plist_id - Property list identifier
- * encoding - String encoding character set:
+ * plist_id - Property list identifier
+ * encoding - String encoding character set:
* H5T_CSET_ASCII_F -> US ASCII
* H5T_CSET_UTF8_F -> UTF-8 Unicode encoding
* OUTPUTS
* NONE
*
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* M. Scot Breitenfeld
- * March 3, 2008
+ * March 3, 2008
* HISTORY
*
* SOURCE
*/
int_f
-nh5pset_char_encoding_c(hid_t_f *plist_id, int_f *encoding)
+h5pset_char_encoding_c(hid_t_f *plist_id, int_f *encoding)
/******/
{
int ret_value = -1;
@@ -4753,30 +4382,30 @@ nh5pset_char_encoding_c(hid_t_f *plist_id, int_f *encoding)
/****if* H5Pf/h5pget_char_encoding_c
* NAME
- * h5pget_char_encoding_c
+ * h5pget_char_encoding_c
* PURPOSE
* Calls H5Pget_char_encoding
*
* INPUTS
*
- * plist_id - Property list identifier
+ * plist_id - Property list identifier
* OUTPUTS
*
- * encoding - Encoding character set:
+ * encoding - Encoding character set:
* H5T_CSET_ASCII_F -> US ASCII
* H5T_CSET_UTF8_F -> UTF-8 Unicode encoding
*
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* M. Scot Breitenfeld
- * March 3, 2008
+ * March 3, 2008
* HISTORY
*
* SOURCE
*/
int_f
-nh5pget_char_encoding_c(hid_t_f *plist_id, int_f *encoding)
+h5pget_char_encoding_c(hid_t_f *plist_id, int_f *encoding)
/******/
{
int ret_value = -1;
@@ -4796,30 +4425,30 @@ nh5pget_char_encoding_c(hid_t_f *plist_id, int_f *encoding)
/****if* H5Pf/h5pset_copy_object_c
* NAME
- * h5pset_copy_object_c
+ * h5pset_copy_object_c
* PURPOSE
* Calls H5Pset_copy_object
*
* INPUTS
*
- * ocp_plist_id - Object copy property list identifier
- * copy_options - Copy option(s) to be set
+ * ocp_plist_id - Object copy property list identifier
+ * copy_options - Copy option(s) to be set
*
* OUTPUTS
*
* NONE
*
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* M. Scot Breitenfeld
- * March 3, 2008
+ * March 3, 2008
* HISTORY
*
* SOURCE
*/
int_f
-nh5pset_copy_object_c(hid_t_f *ocp_plist_id, int_f *copy_options)
+h5pset_copy_object_c(hid_t_f *ocp_plist_id, int_f *copy_options)
/******/
{
int ret_value = -1;
@@ -4836,29 +4465,29 @@ nh5pset_copy_object_c(hid_t_f *ocp_plist_id, int_f *copy_options)
/****if* H5Pf/h5pget_copy_object_c
* NAME
- * h5pget_copy_object_c
+ * h5pget_copy_object_c
* PURPOSE
* Calls H5Pget_copy_object
*
* INPUTS
*
- * ocp_plist_id - Object copy property list identifier
+ * ocp_plist_id - Object copy property list identifier
*
* OUTPUTS
*
- * copy_options - Copy option(s) to be get
+ * copy_options - Copy option(s) to be get
*
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* M. Scot Breitenfeld
- * March 3, 2008
+ * March 3, 2008
* HISTORY
*
* SOURCE
*/
int_f
-nh5pget_copy_object_c(hid_t_f *ocp_plist_id, int_f *copy_options)
+h5pget_copy_object_c(hid_t_f *ocp_plist_id, int_f *copy_options)
/******/
{
int ret_value = -1;
@@ -4878,31 +4507,31 @@ nh5pget_copy_object_c(hid_t_f *ocp_plist_id, int_f *copy_options)
/****if* H5Pf/h5pget_data_transform_c
* NAME
- * h5pget_data_transform_c
+ * h5pget_data_transform_c
* PURPOSE
- * Calls H5Pget_data_transform
+ * Calls H5Pget_data_transform
* INPUTS
*
- * prp_id - property list identifier to query
- * expression_len - buffer size transorm expression
+ * prp_id - property list identifier to query
+ * expression_len - buffer size transorm expression
*
- * Output:
- * expression - buffer to hold transform expression
+ * Output:
+ * expression - buffer to hold transform expression
*
* RETURNS
*
- * Success: 0
+ * Success: 0
* Failure: -1
*
* AUTHOR
* M. Scot Breitenfeld
- * March 19, 2008
+ * March 19, 2008
* HISTORY
*
* SOURCE
*/
int_f
-nh5pget_data_transform_c(hid_t_f *plist_id, _fcd expression, int_f *expression_len, size_t_f *size)
+h5pget_data_transform_c(hid_t_f *plist_id, _fcd expression, int_f *expression_len, size_t_f *size)
/******/
{
char *c_expression = NULL; /* Buffer to hold C string */
@@ -4940,31 +4569,31 @@ done:
/****if* H5Pf/h5pset_data_transform_c
* NAME
- * h5pset_data_transform_c
+ * h5pset_data_transform_c
* PURPOSE
- * Calls H5Pset_data_transform
+ * Calls H5Pset_data_transform
* INPUTS
*
- * prp_id - property list identifier to query
- * expression - buffer to hold transform expression
- * expression_len - buffer size transorm expression
+ * prp_id - property list identifier to query
+ * expression - buffer to hold transform expression
+ * expression_len - buffer size transorm expression
*
- * Output:
+ * Output:
*
* RETURNS
*
- * Success: 0
+ * Success: 0
* Failure: -1
*
* AUTHOR
* M. Scot Breitenfeld
- * March 19, 2008
+ * March 19, 2008
* HISTORY
*
* SOURCE
*/
int_f
-nh5pset_data_transform_c(hid_t_f *plist_id, _fcd expression, int_f *expression_len)
+h5pset_data_transform_c(hid_t_f *plist_id, _fcd expression, int_f *expression_len)
/******/
{
char* c_expression = NULL; /* Buffer to hold C string */
@@ -4991,29 +4620,29 @@ done:
/****if* H5Pf/h5pget_local_heap_size_hint_c
* NAME
- * h5pget_local_heap_size_hint_c
+ * h5pget_local_heap_size_hint_c
* PURPOSE
- * Calls H5Pget_local_heap_size_hint
+ * Calls H5Pget_local_heap_size_hint
* INPUTS
*
- * gcpl_id - Group creation property list identifier
+ * gcpl_id - Group creation property list identifier
*
- * Output:
- * size_hint - Hint for size of local heap
+ * Output:
+ * size_hint - Hint for size of local heap
* RETURNS
*
- * Success: 0
+ * Success: 0
* Failure: -1
*
* AUTHOR
* M. Scot Breitenfeld
- * March 21, 2008
+ * March 21, 2008
* HISTORY
*
* SOURCE
*/
int_f
-nh5pget_local_heap_size_hint_c(hid_t_f *gcpl_id, size_t_f *size_hint)
+h5pget_local_heap_size_hint_c(hid_t_f *gcpl_id, size_t_f *size_hint)
/******/
{
int_f ret_value = -1; /* Return value */
@@ -5032,30 +4661,30 @@ nh5pget_local_heap_size_hint_c(hid_t_f *gcpl_id, size_t_f *size_hint)
/****if* H5Pf/h5pget_est_link_info_c
* NAME
- * h5pget_est_link_info_c
+ * h5pget_est_link_info_c
* PURPOSE
- * Calls H5Pget_est_link_info
+ * Calls H5Pget_est_link_info
* INPUTS
*
- * gcpl_id - Group creation property list identifier
+ * gcpl_id - Group creation property list identifier
*
- * Output:
- * est_num_entries - Estimated number of links to be inserted into group
- * est_name_len - Estimated average length of link names
+ * Output:
+ * est_num_entries - Estimated number of links to be inserted into group
+ * est_name_len - Estimated average length of link names
* RETURNS
*
- * Success: 0
+ * Success: 0
* Failure: -1
*
* AUTHOR
* M. Scot Breitenfeld
- * March 21, 2008
+ * March 21, 2008
* HISTORY
*
* SOURCE
*/
int_f
-nh5pget_est_link_info_c(hid_t_f *gcpl_id, int_f *est_num_entries, int_f *est_name_len)
+h5pget_est_link_info_c(hid_t_f *gcpl_id, int_f *est_num_entries, int_f *est_name_len)
/******/
{
int_f ret_value = -1; /* Return value */
@@ -5077,30 +4706,30 @@ nh5pget_est_link_info_c(hid_t_f *gcpl_id, int_f *est_num_entries, int_f *est_nam
/****if* H5Pf/h5pset_local_heap_size_hint_c
* NAME
- * h5pset_local_heap_size_hint_c
+ * h5pset_local_heap_size_hint_c
* PURPOSE
- * Calls H5Pset_local_heap_size_hint
+ * Calls H5Pset_local_heap_size_hint
* INPUTS
*
- * gcpl_id - Group creation property list identifier
- * size_hint - Hint for size of local heap
+ * gcpl_id - Group creation property list identifier
+ * size_hint - Hint for size of local heap
*
- * Output:
+ * Output:
*
* RETURNS
*
- * Success: 0
+ * Success: 0
* Failure: -1
*
* AUTHOR
* M. Scot Breitenfeld
- * March 21, 2008
+ * March 21, 2008
* HISTORY
*
* SOURCE
*/
int_f
-nh5pset_local_heap_size_hint_c(hid_t_f *gcpl_id, size_t_f *size_hint)
+h5pset_local_heap_size_hint_c(hid_t_f *gcpl_id, size_t_f *size_hint)
/******/
{
int_f ret_value = -1; /* Return value */
@@ -5117,30 +4746,30 @@ nh5pset_local_heap_size_hint_c(hid_t_f *gcpl_id, size_t_f *size_hint)
/****if* H5Pf/h5pset_est_link_info_c
* NAME
- * h5pset_est_link_info_c
+ * h5pset_est_link_info_c
* PURPOSE
- * Calls H5Pset_est_link_info
+ * Calls H5Pset_est_link_info
* INPUTS
*
- * gcpl_id - Group creation property list identifier
- * est_num_entries - Estimated number of links to be inserted into group
- * est_name_len - Estimated average length of link names
+ * gcpl_id - Group creation property list identifier
+ * est_num_entries - Estimated number of links to be inserted into group
+ * est_name_len - Estimated average length of link names
*
- * Output:
+ * Output:
* RETURNS
*
- * Success: 0
+ * Success: 0
* Failure: -1
*
* AUTHOR
* M. Scot Breitenfeld
- * March 21, 2008
+ * March 21, 2008
* HISTORY
*
* SOURCE
*/
int_f
-nh5pset_est_link_info_c(hid_t_f *gcpl_id, int_f *est_num_entries, int_f *est_name_len)
+h5pset_est_link_info_c(hid_t_f *gcpl_id, int_f *est_num_entries, int_f *est_name_len)
/******/
{
int_f ret_value = -1; /* Return value */
@@ -5157,26 +4786,26 @@ nh5pset_est_link_info_c(hid_t_f *gcpl_id, int_f *est_num_entries, int_f *est_nam
/****if* H5Pf/h5pset_link_phase_change_c
* NAME
- * h5pset_link_phase_change_c
+ * h5pset_link_phase_change_c
* PURPOSE
- * Calls H5Pset_link_phase_change
+ * Calls H5Pset_link_phase_change
*
* INPUTS
- * gcpl_id - Group creation property list identifier
- * max_compact - Maximum number of attributes to be stored in compact storage
- * min_dense - Minimum number of attributes to be stored in dense storage
- * Outputs
+ * gcpl_id - Group creation property list identifier
+ * max_compact - Maximum number of attributes to be stored in compact storage
+ * min_dense - Minimum number of attributes to be stored in dense storage
+ * Outputs
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* M. Scot Breitenfeld
- * March 21, 2008
+ * March 21, 2008
* HISTORY
*
* SOURCE
*/
int_f
-nh5pset_link_phase_change_c(hid_t_f *gcpl_id, int_f *max_compact, int_f *min_dense )
+h5pset_link_phase_change_c(hid_t_f *gcpl_id, int_f *max_compact, int_f *min_dense )
/******/
{
int ret_value = -1;
@@ -5194,28 +4823,28 @@ nh5pset_link_phase_change_c(hid_t_f *gcpl_id, int_f *max_compact, int_f *min_den
/****if* H5Pf/h5pset_fapl_direct_c
* NAME
- * h5pset_fapl_direct_c
+ * h5pset_fapl_direct_c
* PURPOSE
- * Calls H5Pset_fapl_direct
+ * Calls H5Pset_fapl_direct
*
* INPUTS
*
- * fapl_id - File access property list identifier
- * alignment - Required memory alignment boundary
- * block_size - File system block size
- * cbuf_size - Copy buffer size
- * Outputs
+ * fapl_id - File access property list identifier
+ * alignment - Required memory alignment boundary
+ * block_size - File system block size
+ * cbuf_size - Copy buffer size
+ * Outputs
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* M. Scot Breitenfeld
- * March 21, 2008
+ * March 21, 2008
* HISTORY
*
* SOURCE
*/
int_f
-nh5pset_fapl_direct_c(hid_t_f H5_ATTR_UNUSED *fapl_id, size_t_f H5_ATTR_UNUSED *alignment, size_t_f H5_ATTR_UNUSED *block_size, size_t_f H5_ATTR_UNUSED *cbuf_size)
+h5pset_fapl_direct_c(hid_t_f H5_ATTR_UNUSED *fapl_id, size_t_f H5_ATTR_UNUSED *alignment, size_t_f H5_ATTR_UNUSED *block_size, size_t_f H5_ATTR_UNUSED *cbuf_size)
/******/
{
int ret_value = -1;
@@ -5236,29 +4865,29 @@ nh5pset_fapl_direct_c(hid_t_f H5_ATTR_UNUSED *fapl_id, size_t_f H5_ATTR_UNUSED *
/****if* H5Pf/h5pget_fapl_direct_c
* NAME
- * h5pget_fapl_direct_c
+ * h5pget_fapl_direct_c
* PURPOSE
- * Calls H5Pget_fapl_direct
+ * Calls H5Pget_fapl_direct
*
* INPUTS
*
- * fapl_id - File access property list identifier
+ * fapl_id - File access property list identifier
* OUTPUTS
*
- * alignment - Required memory alignment boundary
- * block_size - File system block size
- * cbuf_size - Copy buffer size
+ * alignment - Required memory alignment boundary
+ * block_size - File system block size
+ * cbuf_size - Copy buffer size
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* M. Scot Breitenfeld
- * March 21, 2008
+ * March 21, 2008
* HISTORY
*
* SOURCE
*/
int_f
-nh5pget_fapl_direct_c(hid_t_f H5_ATTR_UNUSED *fapl_id, size_t_f H5_ATTR_UNUSED *alignment, size_t_f H5_ATTR_UNUSED *block_size, size_t_f H5_ATTR_UNUSED *cbuf_size)
+h5pget_fapl_direct_c(hid_t_f H5_ATTR_UNUSED *fapl_id, size_t_f H5_ATTR_UNUSED *alignment, size_t_f H5_ATTR_UNUSED *block_size, size_t_f H5_ATTR_UNUSED *cbuf_size)
/******/
{
int ret_value = -1;
@@ -5285,27 +4914,27 @@ nh5pget_fapl_direct_c(hid_t_f H5_ATTR_UNUSED *fapl_id, size_t_f H5_ATTR_UNUSED *
/****if* H5Pf/h5pset_attr_phase_change_c
* NAME
- * h5pset_attr_phase_change_c
+ * h5pset_attr_phase_change_c
* PURPOSE
- * Calls H5Pset_attr_phase_change
+ * Calls H5Pset_attr_phase_change
*
* INPUTS
- * ocpl_id - Object (dataset or group) creation property list identifier
- * max_compact - Maximum number of attributes to be stored in compact storage
- * min_dense - Minimum number of attributes to be stored in dense storage
+ * ocpl_id - Object (dataset or group) creation property list identifier
+ * max_compact - Maximum number of attributes to be stored in compact storage
+ * min_dense - Minimum number of attributes to be stored in dense storage
* OUTPUTS
*
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* M. Scot Breitenfeld
- * March 21, 2008
+ * March 21, 2008
* HISTORY
*
* SOURCE
*/
int_f
-nh5pset_attr_phase_change_c(hid_t_f *ocpl_id, int_f *max_compact, int_f *min_dense )
+h5pset_attr_phase_change_c(hid_t_f *ocpl_id, int_f *max_compact, int_f *min_dense )
/******/
{
int ret_value = -1;
@@ -5322,25 +4951,25 @@ nh5pset_attr_phase_change_c(hid_t_f *ocpl_id, int_f *max_compact, int_f *min_den
/****if* H5Pf/h5pset_nbit_c
* NAME
- * h5pset_nbit_c
+ * h5pset_nbit_c
* PURPOSE
- * Calls H5Pset_nbit
+ * Calls H5Pset_nbit
*
* INPUTS
- * plist_id - Dataset creation property list identifier
+ * plist_id - Dataset creation property list identifier
* OUTPUTS
*
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* M. Scot Breitenfeld
- * March 21, 2008
+ * March 21, 2008
* HISTORY
*
* SOURCE
*/
int_f
-nh5pset_nbit_c(hid_t_f *plist_id )
+h5pset_nbit_c(hid_t_f *plist_id )
/******/
{
int ret_value = -1;
@@ -5373,7 +5002,7 @@ nh5pset_nbit_c(hid_t_f *plist_id )
* SOURCE
*/
int_f
-nh5pset_scaleoffset_c(hid_t_f *plist_id, int_f *scale_type, int_f *scale_factor )
+h5pset_scaleoffset_c(hid_t_f *plist_id, int_f *scale_type, int_f *scale_factor )
/******/
{
int ret_value = -1;
@@ -5408,7 +5037,7 @@ nh5pset_scaleoffset_c(hid_t_f *plist_id, int_f *scale_type, int_f *scale_factor
* SOURCE
*/
int_f
-nh5pset_nlinks_c(hid_t_f *lapl_id, size_t_f *nlinks)
+h5pset_nlinks_c(hid_t_f *lapl_id, size_t_f *nlinks)
/******/
{
int ret_value = -1;
@@ -5425,29 +5054,29 @@ nh5pset_nlinks_c(hid_t_f *lapl_id, size_t_f *nlinks)
/****if* H5Pf/h5pget_nlinks
* NAME
- * h5pget_nlinks
+ * h5pget_nlinks
* PURPOSE
- * Calls H5Pget_nlinks
+ * Calls H5Pget_nlinks
*
* INPUTS
*
- * lapl_id - File access property list identifier
+ * lapl_id - File access property list identifier
*
* OUTPUTS
*
- * nlinks - Maximum number of links to traverse
+ * nlinks - Maximum number of links to traverse
*
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* M. Scot Breitenfeld
- * March 24, 2008
+ * March 24, 2008
* HISTORY
*
* SOURCE
*/
int_f
-nh5pget_nlinks_c(hid_t_f *lapl_id, size_t_f *nlinks)
+h5pget_nlinks_c(hid_t_f *lapl_id, size_t_f *nlinks)
/******/
{
int ret_value = -1;
@@ -5466,26 +5095,26 @@ nh5pget_nlinks_c(hid_t_f *lapl_id, size_t_f *nlinks)
/****if* H5Pf/h5pget_create_inter_group_c
* NAME
- * h5pget_create_inter_group_c
+ * h5pget_create_inter_group_c
* PURPOSE
- * Calls H5Pget_create_intermediate_group
+ * Calls H5Pget_create_intermediate_group
*
* INPUTS
*
* lcpl_id - Link creation property list identifier
- * crt_intermed_group - Specifying whether to create intermediate groups upon
- * the creation of an object
+ * crt_intermed_group - Specifying whether to create intermediate groups upon
+ * the creation of an object
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* M. Scot Breitenfeld
- * April 4, 2008
+ * April 4, 2008
* HISTORY
*
* SOURCE
*/
int_f
-nh5pget_create_inter_group_c(hid_t_f *lcpl_id, int_f *crt_intermed_group)
+h5pget_create_inter_group_c(hid_t_f *lcpl_id, int_f *crt_intermed_group)
/******/
{
int ret_value = -1;
@@ -5505,22 +5134,22 @@ nh5pget_create_inter_group_c(hid_t_f *lcpl_id, int_f *crt_intermed_group)
}
/*----------------------------------------------------------------------------
- * Name: h5pset_chunk_cache_c
- * Purpose: Calls H5Pset_chunk_cache
- *
- * Inputs: dapl_id - Link creation property list identifier
- * rdcc_nslots -
- * rdcc_nbytes -
- * rdcc_w0 -
- *
- * Returns: 0 on success, -1 on failure
- * Programmer: M. Scot Breitenfeld
- * April 13, 2009
- * Modifications:
+ * Name: h5pset_chunk_cache_c
+ * Purpose: Calls H5Pset_chunk_cache
+ *
+ * Inputs: dapl_id - Link creation property list identifier
+ * rdcc_nslots -
+ * rdcc_nbytes -
+ * rdcc_w0 -
+ *
+ * Returns: 0 on success, -1 on failure
+ * Programmer: M. Scot Breitenfeld
+ * April 13, 2009
+ * Modifications:
*---------------------------------------------------------------------------*/
int_f
-nh5pset_chunk_cache_c(hid_t_f *dapl_id, size_t_f *rdcc_nslots, size_t_f *rdcc_nbytes, real_f *rdcc_w0)
+h5pset_chunk_cache_c(hid_t_f *dapl_id, size_t_f *rdcc_nslots, size_t_f *rdcc_nbytes, real_f *rdcc_w0)
{
int ret_value = -1;
@@ -5535,23 +5164,23 @@ nh5pset_chunk_cache_c(hid_t_f *dapl_id, size_t_f *rdcc_nslots, size_t_f *rdcc_nb
}
/*----------------------------------------------------------------------------
- * Name: h5pget_chunk_cache_c
- * Purpose: Calls H5Pget_chunk_cache
- *
- * Inputs: dapl_id - Link creation property list identifier
- * Outputs:
- * rdcc_nslots -
- * rdcc_nbytes -
- * rdcc_w0 -
- *
- * Returns: 0 on success, -1 on failure
- * Programmer: M. Scot Breitenfeld
- * April 13, 2009
- * Modifications:
+ * Name: h5pget_chunk_cache_c
+ * Purpose: Calls H5Pget_chunk_cache
+ *
+ * Inputs: dapl_id - Link creation property list identifier
+ * Outputs:
+ * rdcc_nslots -
+ * rdcc_nbytes -
+ * rdcc_w0 -
+ *
+ * Returns: 0 on success, -1 on failure
+ * Programmer: M. Scot Breitenfeld
+ * April 13, 2009
+ * Modifications:
*---------------------------------------------------------------------------*/
int_f
-nh5pget_chunk_cache_c(hid_t_f *dapl_id, size_t_f *rdcc_nslots, size_t_f *rdcc_nbytes, real_f *rdcc_w0)
+h5pget_chunk_cache_c(hid_t_f *dapl_id, size_t_f *rdcc_nslots, size_t_f *rdcc_nbytes, real_f *rdcc_w0)
{
int ret_value = -1;
size_t c_rdcc_nslots;
@@ -5572,18 +5201,18 @@ nh5pget_chunk_cache_c(hid_t_f *dapl_id, size_t_f *rdcc_nslots, size_t_f *rdcc_nb
}
/*----------------------------------------------------------------------------
- * Name: h5pset_file_image_c
- * Purpose: Calls H5Pset_file_image
+ * Name: h5pset_file_image_c
+ * Purpose: Calls H5Pset_file_image
*
- * Inputs:
+ * Inputs:
* fapl_id - File access property list identifier
* buf_ptr - Pointer to the initial file image,
- * or NULL if no initial file image is desired
+ * or NULL if no initial file image is desired
* buf_len - Size of the supplied buffer, or 0 (zero) if no initial image is desired
*
- * Returns: 0 on success, -1 on failure
- * Programmer: M. Scot Breitenfeld
- * February 19, 2012
+ * Returns: 0 on success, -1 on failure
+ * Programmer: M. Scot Breitenfeld
+ * February 19, 2012
*---------------------------------------------------------------------------*/
int_f
@@ -5601,19 +5230,19 @@ h5pset_file_image_c(hid_t_f *fapl_id, void *buf_ptr, size_t_f *buf_len)
}
/*----------------------------------------------------------------------------
- * Name: h5pget_file_image_c
- * Purpose: Calls H5Pget_file_image
+ * Name: h5pget_file_image_c
+ * Purpose: Calls H5Pget_file_image
*
- * Inputs:
+ * Inputs:
* fapl_id - File access property list identifier
- * Outputs:
+ * Outputs:
* buf_ptr - Pointer to the initial file image,
- * or NULL if no initial file image is desired
+ * or NULL if no initial file image is desired
* buf_len - Size of the supplied buffer, or 0 (zero) if no initial image is desired
*
- * Returns: 0 on success, -1 on failure
- * Programmer: M. Scot Breitenfeld
- * February 19, 2012
+ * Returns: 0 on success, -1 on failure
+ * Programmer: M. Scot Breitenfeld
+ * February 19, 2012
*---------------------------------------------------------------------------*/
int_f
@@ -5640,3 +5269,225 @@ h5pget_file_image_c(hid_t_f *fapl_id, void **buf_ptr, size_t_f *buf_len_ptr)
return ret_value;
}
+
+#ifdef H5_HAVE_PARALLEL
+/****if* H5Pf/h5pset_fapl_mpio_c
+ * NAME
+ * h5pset_fapl_mpio_c
+ * PURPOSE
+ * Call H5Pset_fapl_mpio to set mode for parallel I/O and the user
+ * supplied communicator and info object
+ * INPUTS
+ * prp_id - property list identifier
+ * comm - MPI communicator
+ * info - MPI info object
+ * RETURNS
+ * 0 on success, -1 on failure
+ * AUTHOR
+ * Elena Pourmal
+ * Thursday, October 26, 2000
+ * HISTORY
+ *
+ * SOURCE
+*/
+int_f
+h5pset_fapl_mpio_c(hid_t_f *prp_id, int_f* comm, int_f* info)
+/******/
+{
+ int ret_value = -1;
+ hid_t c_prp_id;
+ herr_t ret;
+ MPI_Comm c_comm;
+ MPI_Info c_info;
+ c_comm = MPI_Comm_f2c(*comm);
+ c_info = MPI_Info_f2c(*info);
+
+ /*
+ * Call H5Pset_mpi function.
+ */
+ c_prp_id = *prp_id;
+ ret = H5Pset_fapl_mpio(c_prp_id, c_comm, c_info);
+ if (ret < 0) return ret_value;
+ ret_value = 0;
+ return ret_value;
+}
+/****if* H5Pf/h5pget_fapl_mpio_c
+ * NAME
+ * h5pget_fapl_mpio_c
+ * PURPOSE
+ * Call H5Pget_fapl_mpio to retrieve communicator and info object
+ * INPUTS
+ * prp_id - property list identifier
+ * comm - buffer to return MPI communicator
+ * info - buffer to return MPI info object
+ * RETURNS
+ * 0 on success, -1 on failure
+ * AUTHOR
+ * Elena Pourmal
+ * Thursday, October 26, 2000
+ * HISTORY
+ *
+ * SOURCE
+*/
+int_f
+h5pget_fapl_mpio_c(hid_t_f *prp_id, int_f* comm, int_f* info)
+/******/
+{
+ int ret_value = -1;
+ hid_t c_prp_id;
+ herr_t ret;
+ MPI_Comm c_comm;
+ MPI_Info c_info;
+
+ /*
+ * Call H5Pget_mpi function.
+ */
+ c_prp_id = *prp_id;
+ ret = H5Pget_fapl_mpio(c_prp_id, &c_comm, &c_info);
+ if (ret < 0) return ret_value;
+ *comm = (int_f) MPI_Comm_c2f(c_comm);
+ *info = (int_f) MPI_Info_c2f(c_info);
+ ret_value = 0;
+ return ret_value;
+}
+/****if* H5Pf/h5pset_dxpl_mpio_c
+ * NAME
+ * h5pset_dxpl_mpio_c
+ * PURPOSE
+ * Call H5Pset_dxpl_mpio to set transfer mode of the dataset
+ * trasfer property list
+ * INPUTS
+ * prp_id - property list identifier
+ * data_xfer_mode - transfer mode
+ * RETURNS
+ * 0 on success, -1 on failure
+ * AUTHOR
+ * Elena Pourmal
+ * Thursday, October 26, 2000
+ * HISTORY
+ *
+ * SOURCE
+*/
+int_f
+h5pset_dxpl_mpio_c(hid_t_f *prp_id, int_f* data_xfer_mode)
+/******/
+{
+ int ret_value = -1;
+ hid_t c_prp_id;
+ herr_t ret;
+ H5FD_mpio_xfer_t c_data_xfer_mode;
+/*
+ switch (*data_xfer_mode) {
+
+ case H5FD_MPIO_INDEPENDENT_F:
+ c_data_xfer_mode = H5FD_MPIO_INDEPENDENT;
+ break;
+
+ case H5FD_MPIO_COLLECTIVE_F:
+ c_data_xfer_mode = H5FD_MPIO_COLLECTIVE;
+ break;
+ default:
+ return ret_value;
+ }
+*/
+ c_data_xfer_mode = (H5FD_mpio_xfer_t)*data_xfer_mode;
+ /*
+ * Call H5Pset_dxpl_mpio function.
+ */
+ c_prp_id = *prp_id;
+ ret = H5Pset_dxpl_mpio(c_prp_id, c_data_xfer_mode);
+ if (ret < 0) return ret_value;
+ ret_value = 0;
+ return ret_value;
+}
+
+/****if* H5Pf/h5pget_dxpl_mpio_c
+ * NAME
+ * h5pget_dxpl_mpio_c
+ * PURPOSE
+ * Call H5Pget_dxpl_mpio to get transfer mode of the dataset
+ * trasfer property list
+ * INPUTS
+ * prp_id - property list identifier
+ * data_xfer_mode - buffer to retrieve transfer mode
+ * RETURNS
+ * 0 on success, -1 on failure
+ * AUTHOR
+ * Elena Pourmal
+ * Thursday, June 15, 2000
+ * HISTORY
+ *
+ * SOURCE
+*/
+int_f
+h5pget_dxpl_mpio_c(hid_t_f *prp_id, int_f* data_xfer_mode)
+/******/
+{
+ int ret_value = -1;
+ hid_t c_prp_id;
+ herr_t ret;
+ H5FD_mpio_xfer_t c_data_xfer_mode;
+
+ /*
+ * Call H5Pget_xfer function.
+ */
+ c_prp_id = *prp_id;
+ ret = H5Pget_dxpl_mpio(c_prp_id, &c_data_xfer_mode);
+ if (ret < 0) return ret_value;
+ *data_xfer_mode = (int_f)c_data_xfer_mode;
+/*
+ switch (c_data_xfer_mode) {
+
+ case H5FD_MPIO_INDEPENDENT:
+ *data_xfer_mode = H5FD_MPIO_INDEPENDENT_F;
+ break;
+
+ case H5FD_MPIO_COLLECTIVE:
+ *data_xfer_mode = H5FD_MPIO_COLLECTIVE_F;
+ break;
+
+ default:
+ return ret_value;
+ }
+*/
+ ret_value = 0;
+ return ret_value;
+}
+
+/****if* H5Pf/h5pget_mpio_actual_io_mode_c
+ * NAME
+ * h5pget_mpio_actual_io_mode_c
+ * PURPOSE
+ * Calls H5Pget_mpio_actual_io_mode
+ *
+ * INPUTS
+ * dxpl_id - Dataset transfer property list identifier.
+ * OUTPUTS
+ * actual_io_mode - The type of I/O performed by this process.
+ *
+ * RETURNS
+ * 0 on success, -1 on failure
+ * AUTHOR
+ * M. Scot Breitenfeld
+ * July 27, 2012
+ * SOURCE
+*/
+int_f
+h5pget_mpio_actual_io_mode_c(hid_t_f *dxpl_id, int_f *actual_io_mode)
+/******/
+{
+ int ret_value = -1;
+ H5D_mpio_actual_io_mode_t c_actual_io_mode;
+
+ /*
+ * Call H5Pget_mpio_actual_io_mode_f function.
+ */
+ if( (H5Pget_mpio_actual_io_mode((hid_t)*dxpl_id, &c_actual_io_mode)) <0 )
+ return ret_value; /* error occurred */
+
+ *actual_io_mode =(int_f)c_actual_io_mode;
+
+ ret_value = 0;
+ return ret_value;
+}
+#endif /*H5_HAVE_PARALLEL*/
diff --git a/fortran/src/H5Pff.f90 b/fortran/src/H5Pff.F90
index 3409f15..97f907b 100644
--- a/fortran/src/H5Pff.f90
+++ b/fortran/src/H5Pff.F90
@@ -1,17 +1,15 @@
-!****h* ROBODoc/H5P (F90)
+!****h* ROBODoc/H5Pff
!
! NAME
-! H5P_PROVISIONAL
+! H5P
!
! PURPOSE
-! This file contains Fortran interfaces for H5P functions. It includes
-! all the functions that are independent on whether the Fortran 2003 functions
-! are enabled or disabled.
+! This file contains Fortran interfaces for H5P functions.
!
! COPYRIGHT
! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
! Copyright by The HDF Group. *
-! Copyright by the Board of Trustees of the University of Illinois. *
+! Copyright by the Board of Trustees of the University of Illinois. *S
! All rights reserved. *
! *
! This file is part of HDF5. The full HDF5 copyright notice, including *
@@ -25,14 +23,24 @@
! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
!
! NOTES
-! *** IMPORTANT ***
+!
+! _____ __ __ _____ ____ _____ _______ _ _ _______
+! |_ _| \/ | __ \ / __ \| __ \__ __|/\ | \ | |__ __|
+! **** | | | \ / | |__) | | | | |__) | | | / \ | \| | | | ****
+! **** | | | |\/| | ___/| | | | _ / | | / /\ \ | . ` | | | ****
+! **** _| |_| | | | | | |__| | | \ \ | |/ ____ \| |\ | | | ****
+! |_____|_| |_|_| \____/|_| \_\ |_/_/ \_\_| \_| |_|
+!
! If you add a new H5P function you must add the function name to the
! Windows dll file 'hdf5_fortrandll.def.in' in the fortran/src directory.
! This is needed for Windows based operating systems.
!*****
+#include <H5config_f.inc>
+
MODULE H5P
+ USE, INTRINSIC :: ISO_C_BINDING
USE H5GLOBAL
INTERFACE h5pset_fapl_multi_f
@@ -40,6 +48,127 @@ MODULE H5P
MODULE PROCEDURE h5pset_fapl_multi_s
END INTERFACE
+ INTERFACE h5pset_fill_value_f
+ MODULE PROCEDURE h5pset_fill_value_integer
+ MODULE PROCEDURE h5pset_fill_value_char
+ ! Recommended procedure:
+ MODULE PROCEDURE h5pset_fill_value_ptr
+
+ END INTERFACE
+
+ INTERFACE h5pget_fill_value_f
+ MODULE PROCEDURE h5pget_fill_value_integer
+ MODULE PROCEDURE h5pget_fill_value_char
+ ! Recommended procedure:
+ MODULE PROCEDURE h5pget_fill_value_ptr
+
+ END INTERFACE
+
+ INTERFACE h5pset_f
+ MODULE PROCEDURE h5pset_integer
+ MODULE PROCEDURE h5pset_char
+ ! Recommended procedure:
+ MODULE PROCEDURE h5pset_ptr
+
+ END INTERFACE
+
+ INTERFACE h5pget_f
+ MODULE PROCEDURE h5pget_integer
+ MODULE PROCEDURE h5pget_char
+ ! Recommended procedure:
+ MODULE PROCEDURE h5pget_ptr
+ END INTERFACE
+
+ INTERFACE h5pregister_f
+ MODULE PROCEDURE h5pregister_integer
+ ! Recommended procedure:
+ MODULE PROCEDURE h5pregister_ptr
+ END INTERFACE
+
+ INTERFACE h5pinsert_f
+ MODULE PROCEDURE h5pinsert_integer
+ MODULE PROCEDURE h5pinsert_char
+ ! Recommended procedure:
+ MODULE PROCEDURE h5pinsert_ptr
+ END INTERFACE
+
+ INTERFACE
+ INTEGER FUNCTION h5pget_fill_value_c(prp_id, type_id, fillvalue) &
+ BIND(C, NAME='h5pget_fill_value_c')
+ IMPORT :: c_ptr
+ IMPORT :: HID_T
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: prp_id
+ INTEGER(HID_T), INTENT(IN) :: type_id
+ TYPE(C_PTR), VALUE :: fillvalue
+ END FUNCTION h5pget_fill_value_c
+ END INTERFACE
+
+ INTERFACE
+ INTEGER FUNCTION h5pset_fill_value_c(prp_id, type_id, fillvalue) &
+ BIND(C, NAME='h5pset_fill_value_c')
+ IMPORT :: c_ptr
+ IMPORT :: HID_T
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: prp_id
+ INTEGER(HID_T), INTENT(IN) :: type_id
+ TYPE(C_PTR), VALUE :: fillvalue
+ END FUNCTION h5pset_fill_value_c
+ END INTERFACE
+
+ INTERFACE
+ INTEGER FUNCTION h5pset_c(prp_id, name, name_len, value) &
+ BIND(C, NAME='h5pset_c')
+ IMPORT :: c_char, c_ptr
+ IMPORT :: HID_T
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: prp_id
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(IN) :: name
+ INTEGER :: name_len
+ TYPE(C_PTR), VALUE :: value
+ END FUNCTION h5pset_c
+ END INTERFACE
+
+ INTERFACE
+ INTEGER FUNCTION h5pget_c(prp_id, name, name_len, value) &
+ BIND(C, NAME='h5pget_c')
+ IMPORT :: c_char, c_ptr
+ IMPORT :: HID_T
+ INTEGER(HID_T), INTENT(IN) :: prp_id
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(IN) :: name
+ INTEGER :: name_len
+ TYPE(C_PTR), VALUE :: value
+ END FUNCTION h5pget_c
+ END INTERFACE
+
+ INTERFACE
+ INTEGER FUNCTION h5pregister_c(class, name, name_len, size, value) &
+ BIND(C, NAME='h5pregister_c')
+ IMPORT :: c_char, c_ptr
+ IMPORT :: HID_T, SIZE_T
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: class
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(IN) :: name
+ INTEGER, INTENT(IN) :: name_len
+ INTEGER(SIZE_T), INTENT(IN) :: size
+ TYPE(C_PTR), INTENT(IN), VALUE :: value
+ END FUNCTION h5pregister_c
+ END INTERFACE
+
+ INTERFACE
+ INTEGER FUNCTION h5pinsert_c(plist, name, name_len, size, value) &
+ BIND(C, NAME='h5pinsert_c')
+ IMPORT :: c_char, c_ptr
+ IMPORT :: HID_T, SIZE_T
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: plist
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(IN) :: name
+ INTEGER, INTENT(IN) :: name_len
+ INTEGER(SIZE_T), INTENT(IN) :: size
+ TYPE(C_PTR), INTENT(IN), VALUE :: value
+ END FUNCTION h5pinsert_c
+ END INTERFACE
+
CONTAINS
!****s* H5P/h5pcreate_f
@@ -92,15 +221,11 @@ CONTAINS
INTEGER(HID_T), INTENT(OUT) :: prp_id
INTEGER , INTENT(OUT) :: hdferr
!*****
-! INTEGER, EXTERNAL :: h5pcreate_c
-! MS FORTRAN needs explicit interface for C functions called here.
-!
INTERFACE
- INTEGER FUNCTION h5pcreate_c(class, prp_id)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5PCREATE_C'::h5pcreate_c
- !DEC$ENDIF
+ INTEGER FUNCTION h5pcreate_c(class, prp_id) &
+ BIND(C,NAME='h5pcreate_c')
+ IMPORT :: HID_T
+ IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: class
INTEGER(HID_T), INTENT(OUT) :: prp_id
END FUNCTION h5pcreate_c
@@ -152,15 +277,11 @@ CONTAINS
!*****
INTEGER :: flag_c
-! INTEGER, EXTERNAL :: h5pset_preserve_c
-! MS FORTRAN needs explicit interface for C functions called here.
-!
INTERFACE
- INTEGER FUNCTION h5pset_preserve_c(prp_id, flag_c)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5PSET_PRESERVE_C'::h5pset_preserve_c
- !DEC$ENDIF
+ INTEGER FUNCTION h5pset_preserve_c(prp_id, flag_c) &
+ BIND(C,NAME='h5pset_preserve_c')
+ IMPORT :: HID_T
+ IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: prp_id
INTEGER :: flag_c
END FUNCTION h5pset_preserve_c
@@ -210,15 +331,11 @@ CONTAINS
!*****
INTEGER :: flag_c
-! INTEGER, EXTERNAL :: h5pget_preserve_c
-! MS FORTRAN needs explicit interface for C functions called here.
-!
INTERFACE
- INTEGER FUNCTION h5pget_preserve_c(prp_id, flag_c)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5PGET_PRESERVE_C'::h5pget_preserve_c
- !DEC$ENDIF
+ INTEGER FUNCTION h5pget_preserve_c(prp_id, flag_c) &
+ BIND(C,NAME='h5pget_preserve_c')
+ IMPORT :: HID_T
+ IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: prp_id
INTEGER :: flag_c
END FUNCTION h5pget_preserve_c
@@ -265,11 +382,10 @@ CONTAINS
!*****
INTERFACE
- INTEGER FUNCTION h5pget_class_c(prp_id, classtype)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5PGET_CLASS_C'::h5pget_class_c
- !DEC$ENDIF
+ INTEGER FUNCTION h5pget_class_c(prp_id, classtype) &
+ BIND(C,NAME='h5pget_class_c')
+ IMPORT :: HID_T
+ IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: prp_id
INTEGER(HID_T), INTENT(OUT) :: classtype
END FUNCTION h5pget_class_c
@@ -312,15 +428,11 @@ CONTAINS
! 0 on success and -1 on failure
!*****
-! INTEGER, EXTERNAL :: h5pcopy_c
-! MS FORTRAN needs explicit interface for C functions called here.
-!
INTERFACE
- INTEGER FUNCTION h5pcopy_c(prp_id, new_prp_id)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5PCOPY_C'::h5pcopy_c
- !DEC$ENDIF
+ INTEGER FUNCTION h5pcopy_c(prp_id, new_prp_id) &
+ BIND(C,NAME='h5pcopy_c')
+ IMPORT :: HID_T
+ IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: prp_id
INTEGER(HID_T), INTENT(OUT) :: new_prp_id
END FUNCTION h5pcopy_c
@@ -360,16 +472,11 @@ CONTAINS
INTEGER, INTENT(OUT) :: hdferr ! Error code
! 0 on success and -1 on failure
!*****
-
-! INTEGER, EXTERNAL :: h5pclose_c
-! MS FORTRAN needs explicit interface for C functions called here.
-!
INTERFACE
- INTEGER FUNCTION h5pclose_c(prp_id)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5PCLOSE_C'::h5pclose_c
- !DEC$ENDIF
+ INTEGER FUNCTION h5pclose_c(prp_id) &
+ BIND(C,NAME='h5pclose_c')
+ IMPORT :: HID_T
+ IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: prp_id
END FUNCTION h5pclose_c
END INTERFACE
@@ -414,16 +521,11 @@ CONTAINS
INTEGER, INTENT(OUT) :: hdferr ! Error code
! 0 on success and -1 on failure
!*****
-
-! INTEGER, EXTERNAL :: h5pset_chunk_c
-! MS FORTRAN needs explicit interface for C functions called here.
-!
INTERFACE
- INTEGER FUNCTION h5pset_chunk_c(prp_id, ndims, dims)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5PSET_CHUNK_C'::h5pset_chunk_c
- !DEC$ENDIF
+ INTEGER FUNCTION h5pset_chunk_c(prp_id, ndims, dims) &
+ BIND(C,NAME='h5pset_chunk_c')
+ IMPORT :: HID_T, HSIZE_T
+ IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: prp_id
INTEGER, INTENT(IN) :: ndims
INTEGER(HSIZE_T), DIMENSION(ndims), INTENT(IN) :: dims
@@ -472,15 +574,12 @@ CONTAINS
! number of chunk dimensions on success,
! -1 on failure
!*****
-! INTEGER, EXTERNAL :: h5pget_chunk_c
-! MS FORTRAN needs explicit interface for C functions called here.
-!
+
INTERFACE
- INTEGER FUNCTION h5pget_chunk_c(prp_id, ndims, dims)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5PGET_CHUNK_C'::h5pget_chunk_c
- !DEC$ENDIF
+ INTEGER FUNCTION h5pget_chunk_c(prp_id, ndims, dims) &
+ BIND(C,NAME='h5pget_chunk_c')
+ IMPORT :: HID_T, HSIZE_T
+ IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: prp_id
INTEGER :: ndims
INTEGER(HSIZE_T), DIMENSION(*), INTENT(OUT) :: dims
@@ -528,11 +627,10 @@ CONTAINS
! MS FORTRAN needs explicit interface for C functions called here.
!
INTERFACE
- INTEGER FUNCTION h5pset_deflate_c(prp_id, level)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5PSET_DEFLATE_C'::h5pset_deflate_c
- !DEC$ENDIF
+ INTEGER FUNCTION h5pset_deflate_c(prp_id, level) &
+ BIND(C,NAME='h5pset_deflate_c')
+ IMPORT :: HID_T
+ IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: prp_id
INTEGER, INTENT(IN) :: level
END FUNCTION h5pset_deflate_c
@@ -587,20 +685,16 @@ CONTAINS
! 0 on success and -1 on failure
!*****
-! INTEGER, EXTERNAL :: h5pget_version_c
-! MS FORTRAN needs explicit interface for C functions called here.
-!
INTERFACE
- INTEGER FUNCTION h5pget_version_c(prp_id, boot, freelist, stab, shhdr)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5PGET_VERSION_C'::h5pget_version_c
- !DEC$ENDIF
+ INTEGER FUNCTION h5pget_version_c(prp_id, boot, freelist, stab, shhdr) &
+ BIND(C,NAME='h5pget_version_c')
+ IMPORT :: HID_T
+ IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: prp_id
- INTEGER, DIMENSION(:), INTENT(OUT) :: boot
- INTEGER, DIMENSION(:), INTENT(OUT) :: freelist
- INTEGER, DIMENSION(:), INTENT(OUT) :: stab
- INTEGER, DIMENSION(:), INTENT(OUT) :: shhdr
+ INTEGER, DIMENSION(*), INTENT(OUT) :: boot
+ INTEGER, DIMENSION(*), INTENT(OUT) :: freelist
+ INTEGER, DIMENSION(*), INTENT(OUT) :: stab
+ INTEGER, DIMENSION(*), INTENT(OUT) :: shhdr
END FUNCTION h5pget_version_c
END INTERFACE
@@ -640,16 +734,11 @@ CONTAINS
INTEGER, INTENT(OUT) :: hdferr ! Error code
! 0 on success and -1 on failure
!*****
-
-! INTEGER, EXTERNAL :: h5pset_userblock_c
-! MS FORTRAN needs explicit interface for C functions called here.
-!
INTERFACE
- INTEGER FUNCTION h5pset_userblock_c(prp_id, size)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5PSET_USERBLOCK_C'::h5pset_userblock_c
- !DEC$ENDIF
+ INTEGER FUNCTION h5pset_userblock_c(prp_id, size) &
+ BIND(C,NAME='h5pset_userblock_c')
+ IMPORT :: HID_T, HSIZE_T
+ IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: prp_id
INTEGER(HSIZE_T), INTENT(IN) :: size
END FUNCTION h5pset_userblock_c
@@ -693,15 +782,11 @@ CONTAINS
INTEGER, INTENT(OUT) :: hdferr ! Error code
! 0 on success and -1 on failure
!*****
-! INTEGER, EXTERNAL :: h5pget_userblock_c
-! MS FORTRAN needs explicit interface for C functions called here.
-!
INTERFACE
- INTEGER FUNCTION h5pget_userblock_c(prp_id, block_size)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5PGET_USERBLOCK_C'::h5pget_userblock_c
- !DEC$ENDIF
+ INTEGER FUNCTION h5pget_userblock_c(prp_id, block_size) &
+ BIND(C,NAME='h5pget_userblock_c')
+ IMPORT :: HID_T, HSIZE_T
+ IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: prp_id
INTEGER(HSIZE_T), INTENT(OUT) :: block_size
END FUNCTION h5pget_userblock_c
@@ -747,15 +832,11 @@ CONTAINS
INTEGER, INTENT(OUT) :: hdferr ! Error code
! 0 on success and -1 on failure
!*****
-! INTEGER, EXTERNAL :: h5pset_sizes_c
-! MS FORTRAN needs explicit interface for C functions called here.
-!
INTERFACE
- INTEGER FUNCTION h5pset_sizes_c(prp_id, sizeof_addr, sizeof_size)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5PSET_SIZES_C'::h5pset_sizes_c
- !DEC$ENDIF
+ INTEGER FUNCTION h5pset_sizes_c(prp_id, sizeof_addr, sizeof_size) &
+ BIND(C,NAME='h5pset_sizes_c')
+ IMPORT :: HID_T, SIZE_T
+ IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: prp_id
INTEGER(SIZE_T), INTENT(IN) :: sizeof_addr
INTEGER(SIZE_T), INTENT(IN) :: sizeof_size
@@ -803,15 +884,11 @@ CONTAINS
INTEGER, INTENT(OUT) :: hdferr ! Error code
! 0 on success and -1 on failure
!*****
-! INTEGER, EXTERNAL :: h5pget_sizes_c
-! MS FORTRAN needs explicit interface for C functions called here.
-!
INTERFACE
- INTEGER FUNCTION h5pget_sizes_c(prp_id, sizeof_addr, sizeof_size)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5PGET_SIZES_C'::h5pget_sizes_c
- !DEC$ENDIF
+ INTEGER FUNCTION h5pget_sizes_c(prp_id, sizeof_addr, sizeof_size) &
+ BIND(C,NAME='h5pget_sizes_c')
+ IMPORT :: HID_T, SIZE_T
+ IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: prp_id
INTEGER(SIZE_T), INTENT(OUT) :: sizeof_addr
INTEGER(SIZE_T), INTENT(OUT) :: sizeof_size
@@ -858,16 +935,11 @@ CONTAINS
INTEGER, INTENT(OUT) :: hdferr ! Error code
! 0 on success and -1 on failure
!*****
-
-! INTEGER, EXTERNAL :: h5pset_sym_k_c
-! MS FORTRAN needs explicit interface for C functions called here.
-!
INTERFACE
- INTEGER FUNCTION h5pset_sym_k_c(prp_id, ik, lk)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5PSET_SYM_K_C'::h5pset_sym_k_c
- !DEC$ENDIF
+ INTEGER FUNCTION h5pset_sym_k_c(prp_id, ik, lk) &
+ BIND(C,NAME='h5pset_sym_k_c')
+ IMPORT :: HID_T
+ IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: prp_id
INTEGER, INTENT(IN) :: ik
INTEGER, INTENT(IN) :: lk
@@ -913,16 +985,11 @@ CONTAINS
INTEGER, INTENT(OUT) :: hdferr ! Error code
! 0 on success and -1 on failure
!*****
-
-! INTEGER, EXTERNAL :: h5pget_sym_k_c
-! MS FORTRAN needs explicit interface for C functions called here.
-!
INTERFACE
- INTEGER FUNCTION h5pget_sym_k_c(prp_id, ik, lk)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5PGET_SYM_K_C'::h5pget_sym_k_c
- !DEC$ENDIF
+ INTEGER FUNCTION h5pget_sym_k_c(prp_id, ik, lk) &
+ BIND(C,NAME='h5pget_sym_k_c')
+ IMPORT :: HID_T
+ IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: prp_id
INTEGER, INTENT(OUT) :: ik
INTEGER, INTENT(OUT) :: lk
@@ -966,16 +1033,11 @@ CONTAINS
INTEGER, INTENT(OUT) :: hdferr ! Error code
! 0 on success and -1 on failure
!*****
-
-! INTEGER, EXTERNAL :: h5pset_istore_k_c
-! MS FORTRAN needs explicit interface for C functions called here.
-!
INTERFACE
- INTEGER FUNCTION h5pset_istore_k_c(prp_id, ik)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5PSET_ISTORE_K_C'::h5pset_istore_k_c
- !DEC$ENDIF
+ INTEGER FUNCTION h5pset_istore_k_c(prp_id, ik) &
+ BIND(C,NAME='h5pset_istore_k_c')
+ IMPORT :: HID_T
+ IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: prp_id
INTEGER, INTENT(IN) :: ik
END FUNCTION h5pset_istore_k_c
@@ -1018,16 +1080,11 @@ CONTAINS
INTEGER, INTENT(OUT) :: hdferr ! Error code
! 0 on success and -1 on failure
!*****
-
-! INTEGER, EXTERNAL :: h5pget_istore_k_c
-! MS FORTRAN needs explicit interface for C functions called here.
-!
INTERFACE
- INTEGER FUNCTION h5pget_istore_k_c(prp_id, ik)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5PGET_ISTORE_K_C'::h5pget_istore_k_c
- !DEC$ENDIF
+ INTEGER FUNCTION h5pget_istore_k_c(prp_id, ik) &
+ BIND(C,NAME='h5pget_istore_k_c')
+ IMPORT :: HID_T
+ IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: prp_id
INTEGER, INTENT(OUT) :: ik
END FUNCTION h5pget_istore_k_c
@@ -1071,15 +1128,11 @@ CONTAINS
INTEGER, INTENT(OUT) :: hdferr ! Error code
! 0 on success and -1 on failure
!*****
-! INTEGER, EXTERNAL :: h5pget_driver_c
-! MS FORTRAN needs explicit interface for C functions called here.
-!
INTERFACE
- INTEGER FUNCTION h5pget_driver_c(prp_id, driver)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5PGET_DRIVER_C'::h5pget_driver_c
- !DEC$ENDIF
+ INTEGER FUNCTION h5pget_driver_c(prp_id, driver) &
+ BIND(C,NAME='h5pget_driver_c')
+ IMPORT :: HID_T
+ IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: prp_id
INTEGER(HID_T), INTENT(OUT) :: driver
END FUNCTION h5pget_driver_c
@@ -1120,16 +1173,11 @@ CONTAINS
INTEGER, INTENT(OUT) :: hdferr ! Error code
! 0 on success and -1 on failure
!*****
-
-! INTEGER, EXTERNAL :: h5pset_fapl_stdio_c
-! MS FORTRAN needs explicit interface for C functions called here.
-!
INTERFACE
- INTEGER FUNCTION h5pset_fapl_stdio_c(prp_id)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5PSET_FAPL_STDIO_C'::h5pset_fapl_stdio_c
- !DEC$ENDIF
+ INTEGER FUNCTION h5pset_fapl_stdio_c(prp_id) &
+ BIND(C,NAME='h5pset_fapl_stdio_c')
+ IMPORT :: HID_T
+ IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: prp_id
END FUNCTION h5pset_fapl_stdio_c
END INTERFACE
@@ -1208,16 +1256,11 @@ CONTAINS
INTEGER, INTENT(OUT) :: hdferr ! Error code
! 0 on success and -1 on failure
!*****
-
-! INTEGER, EXTERNAL :: h5pset_fapl_sec2_c
-! MS FORTRAN needs explicit interface for C functions called here.
-!
INTERFACE
- INTEGER FUNCTION h5pset_fapl_sec2_c(prp_id)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5PSET_FAPL_SEC2_C'::h5pset_fapl_sec2_c
- !DEC$ENDIF
+ INTEGER FUNCTION h5pset_fapl_sec2_c(prp_id) &
+ BIND(C,NAME='h5pset_fapl_sec2_c')
+ IMPORT :: HID_T
+ IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier
END FUNCTION h5pset_fapl_sec2_c
END INTERFACE
@@ -1298,16 +1341,11 @@ CONTAINS
INTEGER, INTENT(OUT) :: hdferr ! Error code
! 0 on success and -1 on failure
!*****
-
-! INTEGER, EXTERNAL :: h5pset_alignment_c
-! MS FORTRAN needs explicit interface for C functions called here.
-!
INTERFACE
- INTEGER FUNCTION h5pset_alignment_c(prp_id, threshold, alignment)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5PSET_ALIGNMENT_C'::h5pset_alignment_c
- !DEC$ENDIF
+ INTEGER FUNCTION h5pset_alignment_c(prp_id, threshold, alignment) &
+ BIND(C,NAME='h5pset_alignment_c')
+ IMPORT :: HID_T, HSIZE_T
+ IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: prp_id
INTEGER(HSIZE_T), INTENT(IN) :: threshold
INTEGER(HSIZE_T), INTENT(IN) :: alignment
@@ -1353,15 +1391,11 @@ CONTAINS
INTEGER, INTENT(OUT) :: hdferr ! Error code
! 0 on success and -1 on failure
!*****
-! INTEGER, EXTERNAL :: h5pget_alignment_c
-! MS FORTRAN needs explicit interface for C functions called here.
-!
INTERFACE
- INTEGER FUNCTION h5pget_alignment_c(prp_id, threshold, alignment)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5PGET_ALIGNMENT_C'::h5pget_alignment_c
- !DEC$ENDIF
+ INTEGER FUNCTION h5pget_alignment_c(prp_id, threshold, alignment) &
+ BIND(C,NAME='h5pget_alignment_c')
+ IMPORT :: HID_T, HSIZE_T
+ IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: prp_id
INTEGER(HSIZE_T), INTENT(OUT) :: threshold
INTEGER(HSIZE_T), INTENT(OUT) :: alignment
@@ -1409,17 +1443,12 @@ CONTAINS
INTEGER, INTENT(OUT) :: hdferr ! Error code
! 0 on success and -1 on failure
!*****
- INTEGER :: backing_store_flag
-
-! INTEGER, EXTERNAL :: h5pset_fapl_core_c
-! MS FORTRAN needs explicit interface for C functions called here.
-!
+ INTEGER :: backing_store_flag
INTERFACE
- INTEGER FUNCTION h5pset_fapl_core_c(prp_id, increment, backing_store_flag)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5PSET_FAPL_CORE_C'::h5pset_fapl_core_c
- !DEC$ENDIF
+ INTEGER FUNCTION h5pset_fapl_core_c(prp_id, increment, backing_store_flag) &
+ BIND(C,NAME='h5pset_fapl_core_c')
+ IMPORT :: HID_T, SIZE_T
+ IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: prp_id
INTEGER(SIZE_T), INTENT(IN) :: increment
INTEGER :: backing_store_flag
@@ -1471,11 +1500,10 @@ CONTAINS
INTEGER :: backing_store_flag
INTERFACE
- INTEGER FUNCTION h5pget_fapl_core_c(prp_id, increment, backing_store_flag)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5PGET_FAPL_CORE_C'::h5pget_fapl_core_c
- !DEC$ENDIF
+ INTEGER FUNCTION h5pget_fapl_core_c(prp_id, increment, backing_store_flag) &
+ BIND(C,NAME='h5pget_fapl_core_c')
+ IMPORT :: HID_T,SIZE_T
+ IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: prp_id
INTEGER(SIZE_T), INTENT(OUT) :: increment
INTEGER :: backing_store_flag
@@ -1525,16 +1553,11 @@ CONTAINS
INTEGER, INTENT(OUT) :: hdferr ! Error code
! 0 on success and -1 on failure
!*****
-
-! INTEGER, EXTERNAL :: h5pset_fapl_family_f
-! MS FORTRAN needs explicit interface for C functions called here.
-!
INTERFACE
- INTEGER FUNCTION h5pset_fapl_family_c(prp_id, memb_size, memb_plist)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5PSET_FAPL_FAMILY_C'::h5pset_fapl_family_c
- !DEC$ENDIF
+ INTEGER FUNCTION h5pset_fapl_family_c(prp_id, memb_size, memb_plist) &
+ BIND(C,NAME='h5pset_fapl_family_c')
+ IMPORT :: HID_T,HSIZE_T
+ IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: prp_id
INTEGER(HSIZE_T), INTENT(IN) :: memb_size
INTEGER(HID_T), INTENT(IN) :: memb_plist
@@ -1581,16 +1604,11 @@ CONTAINS
INTEGER, INTENT(OUT) :: hdferr ! Error code
! 0 on success and -1 on failure
!*****
-
-! INTEGER, EXTERNAL :: h5pget_fapl_family_f
-! MS FORTRAN needs explicit interface for C functions called here.
-!
INTERFACE
- INTEGER FUNCTION h5pget_fapl_family_c(prp_id, memb_size, memb_plist)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5PGET_FAPL_FAMILY_C'::h5pget_fapl_family_c
- !DEC$ENDIF
+ INTEGER FUNCTION h5pget_fapl_family_c(prp_id, memb_size, memb_plist) &
+ BIND(C,NAME='h5pget_fapl_family_c')
+ IMPORT :: HID_T, HSIZE_T
+ IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: prp_id
INTEGER(HSIZE_T), INTENT(OUT) :: memb_size
INTEGER(HID_T), INTENT(OUT) :: memb_plist
@@ -1646,16 +1664,11 @@ CONTAINS
INTEGER, INTENT(OUT) :: hdferr ! Error code
! 0 on success and -1 on failure
!*****
-
-! INTEGER, EXTERNAL :: h5pset_cache_c
-! MS FORTRAN needs explicit interface for C functions called here.
-!
INTERFACE
- INTEGER FUNCTION h5pset_cache_c(prp_id,mdc_nelmts,rdcc_nelmts,rdcc_nbytes,rdcc_w0)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5PSET_CACHE_C'::h5pset_cache_c
- !DEC$ENDIF
+ INTEGER FUNCTION h5pset_cache_c(prp_id,mdc_nelmts,rdcc_nelmts,rdcc_nbytes,rdcc_w0) &
+ BIND(C,NAME='h5pset_cache_c')
+ IMPORT :: HID_T, SIZE_T
+ IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: prp_id
INTEGER, INTENT(IN) :: mdc_nelmts
INTEGER(SIZE_T), INTENT(IN) :: rdcc_nelmts
@@ -1715,15 +1728,11 @@ CONTAINS
INTEGER, INTENT(OUT) :: hdferr ! Error code
! 0 on success and -1 on failure
!*****
-! INTEGER, EXTERNAL :: h5pget_cache_c
-! MS FORTRAN needs explicit interface for C functions called here.
-!
INTERFACE
- INTEGER FUNCTION h5pget_cache_c(prp_id,mdc_nelmts,rdcc_nelmts,rdcc_nbytes,rdcc_w0)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5PGET_CACHE_C'::h5pget_cache_c
- !DEC$ENDIF
+ INTEGER FUNCTION h5pget_cache_c(prp_id,mdc_nelmts,rdcc_nelmts,rdcc_nbytes,rdcc_w0) &
+ BIND(C,NAME='h5pget_cache_c')
+ IMPORT :: HID_T, SIZE_T
+ IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: prp_id
INTEGER, INTENT(OUT) :: mdc_nelmts
INTEGER(SIZE_T), INTENT(OUT) :: rdcc_nelmts
@@ -1782,22 +1791,16 @@ CONTAINS
! 0 on success and -1 on failure
!*****
INTEGER :: meta_len, raw_len
-
-! INTEGER, EXTERNAL :: h5pset_fapl_split_c
-! MS FORTRAN needs explicit interface for C functions called here.
-!
INTERFACE
- INTEGER FUNCTION h5pset_fapl_split_c(prp_id,meta_len,meta_ext,meta_plist,raw_len,raw_ext,raw_plist)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5PSET_FAPL_SPLIT_C'::h5pset_fapl_split_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: meta_ext
- !DEC$ATTRIBUTES reference :: raw_ext
+ INTEGER FUNCTION h5pset_fapl_split_c(prp_id,meta_len,meta_ext,meta_plist,raw_len,raw_ext,raw_plist) &
+ BIND(C,NAME='h5pset_fapl_split_c')
+ IMPORT :: C_CHAR
+ IMPORT :: HID_T
+ IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: prp_id
- CHARACTER(LEN=*), INTENT(IN) :: meta_ext
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(IN) :: meta_ext
INTEGER(HID_T), INTENT(IN) :: meta_plist
- CHARACTER(LEN=*), INTENT(IN) :: raw_ext
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(IN) :: raw_ext
INTEGER(HID_T), INTENT(IN) :: raw_plist
INTEGER :: meta_len, raw_len
END FUNCTION h5pset_fapl_split_c
@@ -1896,16 +1899,11 @@ CONTAINS
INTEGER, INTENT(OUT) :: hdferr ! Error code
! 0 on success and -1 on failure
!*****
-
-! INTEGER, EXTERNAL :: h5pset_gc_references_c
-! MS FORTRAN needs explicit interface for C functions called here.
-!
INTERFACE
- INTEGER FUNCTION h5pset_gc_references_c(prp_id, gc_reference)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5PSET_GC_REFERENCES_C'::h5pset_gc_references_c
- !DEC$ENDIF
+ INTEGER FUNCTION h5pset_gc_references_c(prp_id, gc_reference) &
+ BIND(C,NAME='h5pset_gc_references_c')
+ IMPORT :: HID_T
+ IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: prp_id
INTEGER, INTENT(IN) :: gc_reference
END FUNCTION h5pset_gc_references_c
@@ -1950,16 +1948,11 @@ CONTAINS
INTEGER, INTENT(OUT) :: hdferr ! Error code
! 0 on success and -1 on failure
!*****
-
-! INTEGER, EXTERNAL :: h5pget_gc_references_c
-! MS FORTRAN needs explicit interface for C functions called here.
-!
INTERFACE
- INTEGER FUNCTION h5pget_gc_references_c(prp_id, gc_reference)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5PGET_GC_REFERENCES_C'::h5pget_gc_references_c
- !DEC$ENDIF
+ INTEGER FUNCTION h5pget_gc_references_c(prp_id, gc_reference) &
+ BIND(C,NAME='h5pget_gc_references_c')
+ IMPORT :: HID_T
+ IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: prp_id
INTEGER, INTENT(OUT) :: gc_reference
END FUNCTION h5pget_gc_references_c
@@ -2011,16 +2004,11 @@ CONTAINS
INTEGER, INTENT(OUT) :: hdferr ! Error code
! 0 on success and -1 on failure
!*****
-
-! INTEGER, EXTERNAL :: h5pset_layout_c
-! MS FORTRAN needs explicit interface for C functions called here.
-!
INTERFACE
- INTEGER FUNCTION h5pset_layout_c(prp_id, layout)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5PSET_LAYOUT_C'::h5pset_layout_c
- !DEC$ENDIF
+ INTEGER FUNCTION h5pset_layout_c(prp_id, layout) &
+ BIND(C,NAME='h5pset_layout_c')
+ IMPORT :: HID_T
+ IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: prp_id
INTEGER, INTENT(IN) :: layout
END FUNCTION h5pset_layout_c
@@ -2071,16 +2059,11 @@ CONTAINS
INTEGER, INTENT(OUT) :: hdferr ! Error code
! 0 on success and -1 on failure
!*****
-
-! INTEGER, EXTERNAL :: h5pget_layout_c
-! MS FORTRAN needs explicit interface for C functions called here.
-!
INTERFACE
- INTEGER FUNCTION h5pget_layout_c(prp_id, layout)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5PGET_LAYOUT_C'::h5pget_layout_c
- !DEC$ENDIF
+ INTEGER FUNCTION h5pget_layout_c(prp_id, layout) &
+ BIND(C,NAME='h5pget_layout_c')
+ IMPORT :: HID_T
+ IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: prp_id
INTEGER, INTENT(OUT) :: layout
END FUNCTION h5pget_layout_c
@@ -2127,16 +2110,11 @@ CONTAINS
INTEGER, INTENT(OUT) :: hdferr ! Error code
! 0 on success and -1 on failure
!*****
-
-! INTEGER, EXTERNAL :: h5pset_filter_c
-! MS FORTRAN needs explicit interface for C functions called here.
-!
INTERFACE
- INTEGER FUNCTION h5pset_filter_c(prp_id, filter, flags, cd_nelmts, cd_values)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5PSET_FILTER_C'::h5pset_filter_c
- !DEC$ENDIF
+ INTEGER FUNCTION h5pset_filter_c(prp_id, filter, flags, cd_nelmts, cd_values) &
+ BIND(C,NAME='h5pset_filter_c')
+ IMPORT :: HID_T, SIZE_T
+ IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: prp_id
INTEGER, INTENT(IN) :: filter
INTEGER, INTENT(IN) :: flags
@@ -2183,16 +2161,11 @@ CONTAINS
INTEGER, INTENT(OUT) :: hdferr ! Error code
! 0 on success and -1 on failure
!*****
-
-! INTEGER, EXTERNAL :: h5pget_nfilters_c
-! MS FORTRAN needs explicit interface for C functions called here.
-!
INTERFACE
- INTEGER FUNCTION h5pget_nfilters_c(prp_id, nfilters)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5PGET_NFILTERS_C'::h5pget_nfilters_c
- !DEC$ENDIF
+ INTEGER FUNCTION h5pget_nfilters_c(prp_id, nfilters) &
+ BIND(C,NAME='h5pget_nfilters_c')
+ IMPORT :: HID_T
+ IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: prp_id
INTEGER, INTENT(OUT) :: nfilters
END FUNCTION h5pget_nfilters_c
@@ -2261,19 +2234,18 @@ CONTAINS
!
INTERFACE
INTEGER FUNCTION h5pget_filter_c(prp_id, filter_number, flags, cd_nelmts, &
- cd_values, namelen, name, filter_id )
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5PGET_FILTER_C'::h5pget_filter_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: name
+ cd_values, namelen, name, filter_id ) &
+ BIND(C,NAME='h5pget_filter_c')
+ IMPORT :: C_CHAR
+ IMPORT :: HID_T, SIZE_T
+ IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: prp_id
INTEGER, INTENT(IN) :: filter_number
INTEGER, DIMENSION(*), INTENT(OUT) :: cd_values
INTEGER, INTENT(OUT) :: flags
INTEGER(SIZE_T), INTENT(INOUT) :: cd_nelmts
INTEGER(SIZE_T), INTENT(IN) :: namelen
- CHARACTER(LEN=*), INTENT(OUT) :: name
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(OUT) :: name
INTEGER, INTENT(OUT) :: filter_id
END FUNCTION h5pget_filter_c
END INTERFACE
@@ -2326,18 +2298,16 @@ CONTAINS
INTEGER, INTENT(OUT) :: hdferr ! Error code
! 0 on success and -1 on failure
!*****
-
INTEGER :: namelen
INTERFACE
- INTEGER FUNCTION h5pset_external_c(prp_id, name,namelen, offset, bytes)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5PSET_EXTERNAL_C'::h5pset_external_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: name
+ INTEGER FUNCTION h5pset_external_c(prp_id, name,namelen, offset, bytes) &
+ BIND(C,NAME='h5pset_external_c')
+ IMPORT :: C_CHAR
+ IMPORT :: HID_T, OFF_T, HSIZE_T
+ IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: prp_id
- CHARACTER(LEN=*), INTENT(IN) :: name
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(IN) :: name
INTEGER :: namelen
INTEGER(OFF_T), INTENT(IN) :: offset
INTEGER(HSIZE_T), INTENT(IN) :: bytes
@@ -2384,15 +2354,11 @@ CONTAINS
INTEGER, INTENT(OUT) :: hdferr ! Error code
! 0 on success and -1 on failure
!*****
-! INTEGER, EXTERNAL :: h5pget_external_count_c
-! MS FORTRAN needs explicit interface for C functions called here.
-!
INTERFACE
- INTEGER FUNCTION h5pget_external_count_c(prp_id, count)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5PGET_EXTERNAL_COUNT_C'::h5pget_external_count_c
- !DEC$ENDIF
+ INTEGER FUNCTION h5pget_external_count_c(prp_id, count) &
+ BIND(C,NAME='h5pget_external_count_c')
+ IMPORT :: HID_T
+ IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: prp_id
INTEGER, INTENT(OUT) :: count
END FUNCTION h5pget_external_count_c
@@ -2451,21 +2417,16 @@ CONTAINS
INTEGER, INTENT(OUT) :: hdferr ! Error code
! 0 on success and -1 on failure
!*****
-
-! INTEGER, EXTERNAL :: h5pget_external_c
-! MS FORTRAN needs explicit interface for C functions called here.
-!
INTERFACE
- INTEGER FUNCTION h5pget_external_c(prp_id, idx, name_size, name, offset, bytes)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5PGET_EXTERNAL_C'::h5pget_external_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: name
+ INTEGER FUNCTION h5pget_external_c(prp_id, idx, name_size, name, offset, bytes) &
+ BIND(C,NAME='h5pget_external_c')
+ IMPORT :: C_CHAR
+ IMPORT :: HID_T, SIZE_T, HSIZE_T, OFF_T
+ IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: prp_id
INTEGER, INTENT(IN) :: idx
INTEGER(SIZE_T), INTENT(IN) :: name_size
- CHARACTER(LEN=*), INTENT(OUT) :: name
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(OUT) :: name
INTEGER(OFF_T), INTENT(OUT) :: offset
INTEGER(HSIZE_T), INTENT(OUT) :: bytes
END FUNCTION h5pget_external_c
@@ -2514,16 +2475,11 @@ CONTAINS
INTEGER, INTENT(OUT) :: hdferr ! Error code
! 0 on success and -1 on failure
!*****
-
-! INTEGER, EXTERNAL :: h5pset_btree_ratios_c
-! MS FORTRAN needs explicit interface for C functions called here.
-!
INTERFACE
- INTEGER FUNCTION h5pset_btree_ratios_c(prp_id, left, middle, right)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5PSET_BTREE_RATIOS_C'::h5pset_btree_ratios_c
- !DEC$ENDIF
+ INTEGER FUNCTION h5pset_btree_ratios_c(prp_id, left, middle, right) &
+ BIND(C,NAME='h5pset_btree_ratios_c')
+ IMPORT :: HID_T
+ IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: prp_id
REAL, INTENT(IN) :: left
REAL, INTENT(IN) :: middle
@@ -2574,17 +2530,11 @@ CONTAINS
INTEGER, INTENT(OUT) :: hdferr ! Error code
! 0 on success and -1 on failure
!*****
-
-
-! INTEGER, EXTERNAL :: h5pget_btree_ratios_c
-! MS FORTRAN needs explicit interface for C functions called here.
-!
INTERFACE
- INTEGER FUNCTION h5pget_btree_ratios_c(prp_id, left, middle, right)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5PGET_BTREE_RATIOS_C'::h5pget_btree_ratios_c
- !DEC$ENDIF
+ INTEGER FUNCTION h5pget_btree_ratios_c(prp_id, left, middle, right) &
+ BIND(C,NAME='h5pget_btree_ratios_c')
+ IMPORT :: HID_T
+ IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: prp_id
REAL, INTENT(OUT) :: left
REAL, INTENT(OUT) :: middle
@@ -2635,16 +2585,11 @@ CONTAINS
INTEGER, INTENT(OUT) :: hdferr ! Error code
! 0 on success and -1 on failure
!*****
-
-! INTEGER, EXTERNAL :: h5pget_fclose_degree_c
-! MS FORTRAN needs explicit interface for C functions called here.
-!
INTERFACE
- INTEGER FUNCTION h5pget_fclose_degree_c(fapl_id, degree)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5PGET_FCLOSE_DEGREE_C'::h5pget_fclose_degree_c
- !DEC$ENDIF
+ INTEGER FUNCTION h5pget_fclose_degree_c(fapl_id, degree) &
+ BIND(C,NAME='h5pget_fclose_degree_c')
+ IMPORT :: HID_T
+ IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: fapl_id
INTEGER, INTENT(OUT) :: degree
END FUNCTION h5pget_fclose_degree_c
@@ -2689,13 +2634,11 @@ CONTAINS
INTEGER, INTENT(OUT) :: hdferr ! Error code
! 0 on success and -1 on failure
!*****
-
INTERFACE
- INTEGER FUNCTION h5pset_fclose_degree_c(fapl_id, degree)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5PSET_FCLOSE_DEGREE_C'::h5pset_fclose_degree_c
- !DEC$ENDIF
+ INTEGER FUNCTION h5pset_fclose_degree_c(fapl_id, degree) &
+ BIND(C,NAME='h5pset_fclose_degree_c')
+ IMPORT :: HID_T
+ IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: fapl_id
INTEGER, INTENT(IN) :: degree
END FUNCTION h5pset_fclose_degree_c
@@ -2739,11 +2682,10 @@ CONTAINS
INTEGER :: c_flag
INTERFACE
- INTEGER FUNCTION h5pequal_c(plist1_id, plist2_id, c_flag)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5PEQUAL_C'::h5pequal_c
- !DEC$ENDIF
+ INTEGER FUNCTION h5pequal_c(plist1_id, plist2_id, c_flag) &
+ BIND(C,NAME='h5pequal_c')
+ IMPORT :: HID_T
+ IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: plist1_id
INTEGER(HID_T), INTENT(IN) :: plist2_id
INTEGER, INTENT(OUT) :: c_flag
@@ -2787,11 +2729,10 @@ CONTAINS
!*****
INTERFACE
- INTEGER FUNCTION h5pset_buffer_c(plist_id, size)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5PSET_BUFFER_C'::h5pset_buffer_c
- !DEC$ENDIF
+ INTEGER FUNCTION h5pset_buffer_c(plist_id, size) &
+ BIND(C,NAME='h5pset_buffer_c')
+ IMPORT :: HID_T, HSIZE_T
+ IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: plist_id
INTEGER(HSIZE_T), INTENT(IN) :: size
END FUNCTION h5pset_buffer_c
@@ -2833,11 +2774,10 @@ CONTAINS
!*****
INTERFACE
- INTEGER FUNCTION h5pget_buffer_c(plist_id, size)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5PGET_BUFFER_C'::h5pget_buffer_c
- !DEC$ENDIF
+ INTEGER FUNCTION h5pget_buffer_c(plist_id, size) &
+ BIND(C,NAME='h5pget_buffer_c')
+ IMPORT :: HID_T, HSIZE_T
+ IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: plist_id
INTEGER(HSIZE_T), INTENT(OUT) :: size
END FUNCTION h5pget_buffer_c
@@ -2885,11 +2825,10 @@ CONTAINS
! 0 on success and -1 on failure
!*****
INTERFACE
- INTEGER FUNCTION h5pfill_value_defined_c(plist_id, flag)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5PFILL_VALUE_DEFINED_C'::h5pfill_value_defined_c
- !DEC$ENDIF
+ INTEGER FUNCTION h5pfill_value_defined_c(plist_id, flag) &
+ BIND(C,NAME='h5pfill_value_defined_c')
+ IMPORT :: HID_T
+ IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: plist_id
INTEGER, INTENT(OUT) :: flag
END FUNCTION h5pfill_value_defined_c
@@ -2939,11 +2878,10 @@ CONTAINS
!*****
INTERFACE
- INTEGER FUNCTION h5pset_alloc_time_c(plist_id, flag)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5PSET_ALLOC_TIME_C'::h5pset_alloc_time_c
- !DEC$ENDIF
+ INTEGER FUNCTION h5pset_alloc_time_c(plist_id, flag) &
+ BIND(C,NAME='h5pset_alloc_time_c')
+ IMPORT :: HID_T
+ IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: plist_id
INTEGER, INTENT(IN) :: flag
END FUNCTION h5pset_alloc_time_c
@@ -2993,11 +2931,10 @@ CONTAINS
!*****
INTERFACE
- INTEGER FUNCTION h5pget_alloc_time_c(plist_id, flag)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5PGET_ALLOC_TIME_C'::h5pget_alloc_time_c
- !DEC$ENDIF
+ INTEGER FUNCTION h5pget_alloc_time_c(plist_id, flag) &
+ BIND(C,NAME='h5pget_alloc_time_c')
+ IMPORT :: HID_T
+ IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: plist_id
INTEGER, INTENT(OUT) :: flag
END FUNCTION h5pget_alloc_time_c
@@ -3043,11 +2980,10 @@ CONTAINS
!*****
INTERFACE
- INTEGER FUNCTION h5pset_fill_time_c(plist_id, flag)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5PSET_FILL_TIME_C'::h5pset_fill_time_c
- !DEC$ENDIF
+ INTEGER FUNCTION h5pset_fill_time_c(plist_id, flag) &
+ BIND(C,NAME='h5pset_fill_time_c')
+ IMPORT :: HID_T
+ IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: plist_id
INTEGER, INTENT(IN) :: flag
END FUNCTION h5pset_fill_time_c
@@ -3094,11 +3030,10 @@ CONTAINS
!*****
INTERFACE
- INTEGER FUNCTION h5pget_fill_time_c(plist_id, flag)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5PGET_FILL_TIME_C'::h5pget_fill_time_c
- !DEC$ENDIF
+ INTEGER FUNCTION h5pget_fill_time_c(plist_id, flag) &
+ BIND(C,NAME='h5pget_fill_time_c')
+ IMPORT :: HID_T
+ IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: plist_id
INTEGER, INTENT(OUT) :: flag
END FUNCTION h5pget_fill_time_c
@@ -3137,11 +3072,10 @@ CONTAINS
! 0 on success and -1 on failure
!*****
INTERFACE
- INTEGER FUNCTION h5pset_meta_block_size_c(plist_id, size)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5PSET_META_BLOCK_SIZE_C'::h5pset_meta_block_size_c
- !DEC$ENDIF
+ INTEGER FUNCTION h5pset_meta_block_size_c(plist_id, size) &
+ BIND(C,NAME='h5pset_meta_block_size_c')
+ IMPORT :: HID_T, HSIZE_T
+ IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: plist_id
INTEGER(HSIZE_T), INTENT(IN) :: size
END FUNCTION h5pset_meta_block_size_c
@@ -3180,11 +3114,10 @@ CONTAINS
! 0 on success and -1 on failure
!*****
INTERFACE
- INTEGER FUNCTION h5pget_meta_block_size_c(plist_id, size)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5PGET_META_BLOCK_SIZE_C'::h5pget_meta_block_size_c
- !DEC$ENDIF
+ INTEGER FUNCTION h5pget_meta_block_size_c(plist_id, size) &
+ BIND(C,NAME='h5pget_meta_block_size_c')
+ IMPORT :: HID_T, HSIZE_T
+ IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: plist_id
INTEGER(HSIZE_T), INTENT(OUT) :: size
END FUNCTION h5pget_meta_block_size_c
@@ -3222,13 +3155,11 @@ CONTAINS
INTEGER, INTENT(OUT) :: hdferr ! Error code
! 0 on success and -1 on failure
!*****
-
INTERFACE
- INTEGER FUNCTION h5pset_sieve_buf_size_c(plist_id, size)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5PSET_SIEVE_BUF_SIZE_C'::h5pset_sieve_buf_size_c
- !DEC$ENDIF
+ INTEGER FUNCTION h5pset_sieve_buf_size_c(plist_id, size) &
+ BIND(C,NAME='h5pset_sieve_buf_size_c')
+ IMPORT :: HID_T, SIZE_T
+ IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: plist_id
INTEGER(SIZE_T), INTENT(IN) :: size
END FUNCTION h5pset_sieve_buf_size_c
@@ -3266,13 +3197,11 @@ CONTAINS
INTEGER, INTENT(OUT) :: hdferr ! Error code
! 0 on success and -1 on failure
!*****
-
INTERFACE
- INTEGER FUNCTION h5pget_sieve_buf_size_c(plist_id, size)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5PGET_SIEVE_BUF_SIZE_C'::h5pget_sieve_buf_size_c
- !DEC$ENDIF
+ INTEGER FUNCTION h5pget_sieve_buf_size_c(plist_id, size) &
+ BIND(C,NAME='h5pget_sieve_buf_size_c')
+ IMPORT :: HID_T, SIZE_T
+ IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: plist_id
INTEGER(SIZE_T), INTENT(OUT) :: size
END FUNCTION h5pget_sieve_buf_size_c
@@ -3310,13 +3239,11 @@ CONTAINS
INTEGER, INTENT(OUT) :: hdferr ! Error code
! 0 on success and -1 on failure
!*****
-
INTERFACE
- INTEGER FUNCTION h5pset_small_data_block_size_c(plist_id, size)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5PSET_SMALL_DATA_BLOCK_SIZE_C'::h5pset_small_data_block_size_c
- !DEC$ENDIF
+ INTEGER FUNCTION h5pset_small_data_block_size_c(plist_id, size) &
+ BIND(C,NAME='h5pset_small_data_block_size_c')
+ IMPORT :: HID_T, HSIZE_T
+ IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: plist_id
INTEGER(HSIZE_T), INTENT(IN) :: size
END FUNCTION h5pset_small_data_block_size_c
@@ -3354,13 +3281,11 @@ CONTAINS
INTEGER, INTENT(OUT) :: hdferr ! Error code
! 0 on success and -1 on failure
!*****
-
INTERFACE
- INTEGER FUNCTION h5pget_small_data_block_size_c(plist_id, size)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5PGET_SMALL_DATA_BLOCK_SIZE_C'::h5pget_small_data_block_size_c
- !DEC$ENDIF
+ INTEGER FUNCTION h5pget_small_data_block_size_c(plist_id, size) &
+ BIND(C,NAME='h5pget_small_data_block_size_c')
+ IMPORT :: HID_T, HSIZE_T
+ IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: plist_id
INTEGER(HSIZE_T), INTENT(OUT) :: size
END FUNCTION h5pget_small_data_block_size_c
@@ -3398,13 +3323,11 @@ CONTAINS
INTEGER, INTENT(OUT) :: hdferr ! Error code
! 0 on success and -1 on failure
!*****
-
INTERFACE
- INTEGER FUNCTION h5pset_hyper_vector_size_c(plist_id, size)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5PSET_HYPER_VECTOR_SIZE_C'::h5pset_hyper_vector_size_c
- !DEC$ENDIF
+ INTEGER FUNCTION h5pset_hyper_vector_size_c(plist_id, size) &
+ BIND(C,NAME='h5pset_hyper_vector_size_c')
+ IMPORT :: HID_T, SIZE_T
+ IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: plist_id
INTEGER(SIZE_T), INTENT(IN) :: size
END FUNCTION h5pset_hyper_vector_size_c
@@ -3442,13 +3365,11 @@ CONTAINS
INTEGER, INTENT(OUT) :: hdferr ! Error code
! 0 on success and -1 on failure
!*****
-
INTERFACE
- INTEGER FUNCTION h5pget_hyper_vector_size_c(plist_id, size)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5PGET_HYPER_VECTOR_SIZE_C'::h5pget_hyper_vector_size_c
- !DEC$ENDIF
+ INTEGER FUNCTION h5pget_hyper_vector_size_c(plist_id, size) &
+ BIND(C,NAME='h5pget_hyper_vector_size_c')
+ IMPORT :: HID_T, SIZE_T
+ IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: plist_id
INTEGER(SIZE_T), INTENT(OUT) :: size
END FUNCTION h5pget_hyper_vector_size_c
@@ -3491,14 +3412,13 @@ CONTAINS
INTEGER :: name_len
INTERFACE
- INTEGER FUNCTION h5pexist_c(prp_id, name, name_len)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5PEXIST_C'::h5pexist_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: name
+ INTEGER FUNCTION h5pexist_c(prp_id, name, name_len) &
+ BIND(C,NAME='h5pexist_c')
+ IMPORT :: C_CHAR
+ IMPORT :: HID_T
+ IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: prp_id
- CHARACTER(LEN=*), INTENT(IN) :: name
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(IN) :: name
INTEGER, INTENT(IN) :: name_len
END FUNCTION h5pexist_c
END INTERFACE
@@ -3549,14 +3469,13 @@ CONTAINS
INTEGER :: name_len
INTERFACE
- INTEGER FUNCTION h5pget_size_c(prp_id, name, name_len, size)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5PGET_SIZE_C'::h5pget_size_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: name
+ INTEGER FUNCTION h5pget_size_c(prp_id, name, name_len, size) &
+ BIND(C,NAME='h5pget_size_c')
+ IMPORT :: C_CHAR
+ IMPORT :: HID_T, SIZE_T
+ IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: prp_id
- CHARACTER(LEN=*), INTENT(IN) :: name
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(IN) :: name
INTEGER, INTENT(IN) :: name_len
INTEGER(SIZE_T), INTENT(OUT) :: size
END FUNCTION h5pget_size_c
@@ -3594,13 +3513,11 @@ CONTAINS
INTEGER, INTENT(OUT) :: hdferr ! Error code
! 0 on success and -1 on failure
!*****
-
INTERFACE
- INTEGER FUNCTION h5pget_nprops_c(prp_id, nprops)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5PGET_NPROPS_C'::h5pget_nprops_c
- !DEC$ENDIF
+ INTEGER FUNCTION h5pget_nprops_c(prp_id, nprops) &
+ BIND(C,NAME='h5pget_nprops_c')
+ IMPORT :: HID_T, SIZE_T
+ IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: prp_id
INTEGER(SIZE_T), INTENT(OUT) :: nprops
END FUNCTION h5pget_nprops_c
@@ -3648,14 +3565,13 @@ CONTAINS
INTEGER :: name_len
INTERFACE
- INTEGER FUNCTION h5pget_class_name_c(prp_id, name, name_len)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5PGET_CLASS_NAME_C'::h5pget_class_name_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: name
+ INTEGER FUNCTION h5pget_class_name_c(prp_id, name, name_len) &
+ BIND(C,NAME='h5pget_class_name_c')
+ IMPORT :: C_CHAR
+ IMPORT :: HID_T
+ IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: prp_id
- CHARACTER(LEN=*), INTENT(INOUT) :: name
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(INOUT) :: name
INTEGER, INTENT(IN) :: name_len
END FUNCTION h5pget_class_name_c
END INTERFACE
@@ -3698,13 +3614,11 @@ CONTAINS
INTEGER, INTENT(OUT) :: hdferr ! Error code
! 0 on success and -1 on failure
!*****
-
INTERFACE
- INTEGER FUNCTION h5pget_class_parent_c(prp_id, parent_id)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5PGET_CLASS_PARENT_C'::h5pget_class_parent_c
- !DEC$ENDIF
+ INTEGER FUNCTION h5pget_class_parent_c(prp_id, parent_id) &
+ BIND(C,NAME='h5pget_class_parent_c')
+ IMPORT :: HID_T
+ IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: prp_id
INTEGER(HID_T), INTENT(OUT) :: parent_id
END FUNCTION h5pget_class_parent_c
@@ -3744,11 +3658,10 @@ CONTAINS
! 0 on success and -1 on failure
!*****
INTERFACE
- INTEGER FUNCTION h5pisa_class_c(plist, pclass)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5PISA_CLASS_C'::h5pisa_class_c
- !DEC$ENDIF
+ INTEGER FUNCTION h5pisa_class_c(plist, pclass) &
+ BIND(C,NAME='h5pisa_class_c')
+ IMPORT :: HID_T
+ IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: plist
INTEGER(HID_T), INTENT(IN) :: pclass
END FUNCTION h5pisa_class_c
@@ -3796,15 +3709,14 @@ CONTAINS
INTEGER :: name_len
INTERFACE
- INTEGER FUNCTION h5pcopy_prop_c(dst_id, src_id, name, name_len)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5PCOPY_PROP_C'::h5pcopy_prop_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: name
+ INTEGER FUNCTION h5pcopy_prop_c(dst_id, src_id, name, name_len) &
+ BIND(C,NAME='h5pcopy_prop_c')
+ IMPORT :: C_CHAR
+ IMPORT :: HID_T
+ IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: dst_id
INTEGER(HID_T), INTENT(IN) :: src_id
- CHARACTER(LEN=*), INTENT(IN) :: name
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(IN) :: name
INTEGER, INTENT(IN) :: name_len
END FUNCTION h5pcopy_prop_c
END INTERFACE
@@ -3845,14 +3757,13 @@ CONTAINS
INTEGER :: name_len
INTERFACE
- INTEGER FUNCTION h5premove_c(plid, name, name_len)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5PREMOVE_C'::h5premove_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: name
+ INTEGER FUNCTION h5premove_c(plid, name, name_len) &
+ BIND(C,NAME='h5premove_c')
+ IMPORT :: C_CHAR
+ IMPORT :: HID_T
+ IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: plid
- CHARACTER(LEN=*), INTENT(IN) :: name
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(IN) :: name
INTEGER, INTENT(IN) :: name_len
END FUNCTION h5premove_c
END INTERFACE
@@ -3892,14 +3803,13 @@ CONTAINS
INTEGER :: name_len
INTERFACE
- INTEGER FUNCTION h5punregister_c(class, name, name_len)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5PUNREGISTER_C'::h5punregister_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: name
+ INTEGER FUNCTION h5punregister_c(class, name, name_len) &
+ BIND(C,NAME='h5punregister_c')
+ IMPORT :: C_CHAR
+ IMPORT :: HID_T
+ IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: class
- CHARACTER(LEN=*), INTENT(IN) :: name
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(IN) :: name
INTEGER, INTENT(IN) :: name_len
END FUNCTION h5punregister_c
END INTERFACE
@@ -3935,11 +3845,10 @@ CONTAINS
! 0 on success and -1 on failure
!*****
INTERFACE
- INTEGER FUNCTION h5pclose_class_c(class)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5PCLOSE_CLASS_C'::h5pclose_class_c
- !DEC$ENDIF
+ INTEGER FUNCTION h5pclose_class_c(class) &
+ BIND(C,NAME='h5pclose_class_c')
+ IMPORT :: HID_T
+ IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: class
END FUNCTION h5pclose_class_c
END INTERFACE
@@ -3971,16 +3880,11 @@ CONTAINS
INTEGER, INTENT(OUT) :: hdferr ! Error code
! 0 on success and -1 on failure
!*****
-
-! INTEGER, EXTERNAL :: h5pset_shuffle_c
-! MS FORTRAN needs explicit interface for C functions called here.
-!
INTERFACE
- INTEGER FUNCTION h5pset_shuffle_c(prp_id)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5PSET_SHUFFLE_C'::h5pset_shuffle_c
- !DEC$ENDIF
+ INTEGER FUNCTION h5pset_shuffle_c(prp_id) &
+ BIND(C,NAME='h5pset_shuffle_c')
+ IMPORT :: HID_T
+ IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: prp_id
END FUNCTION h5pset_shuffle_c
END INTERFACE
@@ -4018,16 +3922,11 @@ CONTAINS
INTEGER, INTENT(OUT) :: hdferr ! Error code
! 0 on success and -1 on failure
!*****
-
-! INTEGER, EXTERNAL :: h5pset_edc_check_c
-! MS FORTRAN needs explicit interface for C functions called here.
-!
INTERFACE
- INTEGER FUNCTION h5pset_edc_check_c(prp_id, flag)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5PSET_EDC_CHECK_C'::h5pset_edc_check_c
- !DEC$ENDIF
+ INTEGER FUNCTION h5pset_edc_check_c(prp_id, flag) &
+ BIND(C,NAME='h5pset_edc_check_c')
+ IMPORT :: HID_T
+ IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: prp_id
INTEGER, INTENT(IN) :: flag
END FUNCTION h5pset_edc_check_c
@@ -4068,16 +3967,11 @@ CONTAINS
INTEGER, INTENT(OUT) :: hdferr ! Error code
! 0 on success and -1 on failure
!*****
-
-! INTEGER, EXTERNAL :: h5pget_edc_check_c
-! MS FORTRAN needs explicit interface for C functions called here.
-!
INTERFACE
- INTEGER FUNCTION h5pget_edc_check_c(prp_id, flag)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5PGET_EDC_CHECK_C'::h5pget_edc_check_c
- !DEC$ENDIF
+ INTEGER FUNCTION h5pget_edc_check_c(prp_id, flag) &
+ BIND(C,NAME='h5pget_edc_check_c')
+ IMPORT :: HID_T
+ IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: prp_id
INTEGER, INTENT(OUT) :: flag
END FUNCTION h5pget_edc_check_c
@@ -4112,17 +4006,12 @@ CONTAINS
INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier
INTEGER, INTENT(OUT) :: hdferr ! Error code
! 0 on success and -1 on failure
-!*****
-
-! INTEGER, EXTERNAL :: h5pset_fletcher32_c
-! MS FORTRAN needs explicit interface for C functions called here.
-!
+!*****
INTERFACE
- INTEGER FUNCTION h5pset_fletcher32_c(prp_id)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5PSET_FLETCHER32_C'::h5pset_fletcher32_c
- !DEC$ENDIF
+ INTEGER FUNCTION h5pset_fletcher32_c(prp_id) &
+ BIND(C,NAME='h5pset_fletcher32_c')
+ IMPORT :: HID_T
+ IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: prp_id
END FUNCTION h5pset_fletcher32_c
END INTERFACE
@@ -4158,16 +4047,11 @@ CONTAINS
INTEGER, INTENT(OUT) :: hdferr ! Error code
! 0 on success and -1 on failure
!*****
-
-! INTEGER, EXTERNAL :: h5pset_family_offset_c
-! MS FORTRAN needs explicit interface for C functions called here.
-!
INTERFACE
- INTEGER FUNCTION h5pset_family_offset_c(prp_id, offset)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5PSET_FAMILY_OFFSET_C'::h5pset_family_offset_c
- !DEC$ENDIF
+ INTEGER FUNCTION h5pset_family_offset_c(prp_id, offset) &
+ BIND(C,NAME='h5pset_family_offset_c')
+ IMPORT :: HID_T, HSIZE_T
+ IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: prp_id
INTEGER(HSIZE_T), INTENT(IN) :: offset
END FUNCTION h5pset_family_offset_c
@@ -4217,17 +4101,15 @@ CONTAINS
INTERFACE
INTEGER FUNCTION h5pset_fapl_multi_c(prp_id, memb_map, memb_fapl, memb_name, lenm, &
- maxlen, memb_addr, flag)
- USE H5GLOBAL
+ maxlen, memb_addr, flag) &
+ BIND(C,NAME='h5pset_fapl_multi_c')
+ IMPORT :: C_CHAR
+ IMPORT :: HID_T
IMPLICIT NONE
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5PSET_FAPL_MULTI_C'::h5pset_fapl_multi_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: memb_name
INTEGER(HID_T), INTENT(IN) :: prp_id ! File creation property list identifier
INTEGER, DIMENSION(*), INTENT(IN) :: memb_map
INTEGER(HID_T), DIMENSION(*), INTENT(IN) :: memb_fapl
- CHARACTER(LEN=*), DIMENSION(*), INTENT(IN) :: memb_name
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(IN) :: memb_name
REAL, DIMENSION(*), INTENT(IN) :: memb_addr
INTEGER, DIMENSION(*) :: lenm
INTEGER :: maxlen
@@ -4273,16 +4155,11 @@ CONTAINS
!*****
INTEGER :: flag
-! INTEGER, EXTERNAL :: h5pset_fapl_multi_sc
-! MS FORTRAN needs explicit interface for C functions called here.
-!
INTERFACE
- INTEGER FUNCTION h5pset_fapl_multi_sc(prp_id,flag)
- USE H5GLOBAL
+ INTEGER FUNCTION h5pset_fapl_multi_sc(prp_id,flag) &
+ BIND(C,NAME='h5pset_fapl_multi_sc')
+ IMPORT :: HID_T
IMPLICIT NONE
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5PSET_FAPL_MULTI_SC'::h5pset_fapl_multi_sc
- !DEC$ENDIF
INTEGER(HID_T), INTENT(IN) :: prp_id ! File creation property list identifier
INTEGER, INTENT(IN) :: flag
END FUNCTION h5pset_fapl_multi_sc
@@ -4340,17 +4217,15 @@ CONTAINS
!
INTERFACE
INTEGER FUNCTION h5pget_fapl_multi_c(prp_id, memb_map, memb_fapl, memb_name, lenm, &
- maxlen, memb_addr, flag, c_maxlen_out)
- USE H5GLOBAL
+ maxlen, memb_addr, flag, c_maxlen_out) &
+ BIND(C,NAME='h5pget_fapl_multi_c')
+ IMPORT :: C_CHAR
+ IMPORT :: HID_T
IMPLICIT NONE
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5PGET_FAPL_MULTI_C'::h5pget_fapl_multi_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: memb_name
INTEGER(HID_T), INTENT(IN) :: prp_id ! File creation property list identifier
INTEGER, DIMENSION(*), INTENT(OUT) :: memb_map
INTEGER(HID_T), DIMENSION(*), INTENT(OUT) :: memb_fapl
- CHARACTER(LEN=*), DIMENSION(*), INTENT(OUT) :: memb_name
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(OUT) :: memb_name
REAL, DIMENSION(*), INTENT(OUT) :: memb_addr
INTEGER, DIMENSION(*) :: lenm
INTEGER :: maxlen
@@ -4407,17 +4282,12 @@ CONTAINS
! in each data block
INTEGER, INTENT(OUT) :: hdferr ! Error code
! 0 on success and -1 on failure
-!*****
-
-! INTEGER, EXTERNAL :: h5pset_szip_c
-! MS FORTRAN needs explicit interface for C functions called here.
-!
+!*****
INTERFACE
- INTEGER FUNCTION h5pset_szip_c(prp_id, options_mask, pixels_per_block)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5PSET_SZIP_C'::h5pset_szip_c
- !DEC$ENDIF
+ INTEGER FUNCTION h5pset_szip_c(prp_id, options_mask, pixels_per_block) &
+ BIND(C,NAME='h5pset_szip_c')
+ IMPORT :: HID_T
+ IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: prp_id ! File creation property list identifier
INTEGER, INTENT(IN) :: options_mask
INTEGER, INTENT(IN) :: pixels_per_block
@@ -4462,16 +4332,12 @@ CONTAINS
!*****
INTEGER :: status
-! INTEGER, EXTERNAL :: h5pall_filters_avail_c
-! MS FORTRAN needs explicit interface for C functions called here.
-!
INTERFACE
- INTEGER FUNCTION h5pall_filters_avail_c(prp_id, status)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5PALL_FILTERS_AVAIL_C'::h5pall_filters_avail_c
- !DEC$ENDIF
- INTEGER(HID_T), INTENT(IN) :: prp_id ! File creation property list identifier
+ INTEGER FUNCTION h5pall_filters_avail_c(prp_id, status) &
+ BIND(C,NAME='h5pall_filters_avail_c')
+ IMPORT :: HID_T
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: prp_id
INTEGER, INTENT(OUT) :: status
END FUNCTION h5pall_filters_avail_c
END INTERFACE
@@ -4522,27 +4388,21 @@ CONTAINS
CHARACTER(LEN=*), INTENT(OUT) :: name ! Name of the filter
INTEGER, INTENT(OUT) :: hdferr ! Error code
! 0 on success and -1 on failure
-!*****
-
-
-! INTEGER, EXTERNAL :: h5pget_filter_by_id_c
-! MS FORTRAN needs explicit interface for C functions called here.
-!
+!*****
INTERFACE
INTEGER FUNCTION h5pget_filter_by_id_c(prp_id, filter_id, flags, cd_nelmts, &
- cd_values, namelen, name)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5PGET_FILTER_BY_ID_C'::h5pget_filter_by_id_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: name
+ cd_values, namelen, name) &
+ BIND(C,NAME='h5pget_filter_by_id_c')
+ IMPORT :: C_CHAR
+ IMPORT :: HID_T, SIZE_T
+ IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: prp_id
INTEGER, INTENT(IN) :: filter_id
INTEGER, DIMENSION(*), INTENT(OUT) :: cd_values
INTEGER, INTENT(OUT) :: flags
INTEGER(SIZE_T), INTENT(INOUT) :: cd_nelmts
INTEGER(SIZE_T), INTENT(IN) :: namelen
- CHARACTER(LEN=*), INTENT(OUT) :: name
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(OUT) :: name
END FUNCTION h5pget_filter_by_id_c
END INTERFACE
@@ -4586,17 +4446,12 @@ CONTAINS
INTEGER, DIMENSION(*), INTENT(IN) :: cd_values ! Auxiliary data for the filter
INTEGER, INTENT(OUT) :: hdferr ! Error code
! 0 on success and -1 on failure
-!*****
-
-! INTEGER, EXTERNAL :: h5pmodify_filter_c
-! MS FORTRAN needs explicit interface for C functions called here.
-!
+!*****
INTERFACE
- INTEGER FUNCTION h5pmodify_filter_c(prp_id, filter, flags, cd_nelmts, cd_values)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5PMODIFY_FILTER_C'::h5pmodify_filter_c
- !DEC$ENDIF
+ INTEGER FUNCTION h5pmodify_filter_c(prp_id, filter, flags, cd_nelmts, cd_values) &
+ BIND(C,NAME='h5pmodify_filter_c')
+ IMPORT :: HID_T, SIZE_T
+ IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: prp_id
INTEGER, INTENT(IN) :: filter
INTEGER, INTENT(IN) :: flags
@@ -4637,17 +4492,12 @@ CONTAINS
INTEGER, INTENT(IN) :: filter ! Filter to be removed
INTEGER, INTENT(OUT) :: hdferr ! Error code
! 0 on success and -1 on failure
-!*****
-
-! INTEGER, EXTERNAL :: h5premove_filter_c
-! MS FORTRAN needs explicit interface for C functions called here.
-!
+!*****
INTERFACE
- INTEGER FUNCTION h5premove_filter_c(prp_id, filter)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5PREMOVE_FILTER_C'::h5premove_filter_c
- !DEC$ENDIF
+ INTEGER FUNCTION h5premove_filter_c(prp_id, filter) &
+ BIND(C,NAME='h5premove_filter_c')
+ IMPORT :: HID_T
+ IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: prp_id
INTEGER, INTENT(IN) :: filter
END FUNCTION h5premove_filter_c
@@ -4690,16 +4540,12 @@ CONTAINS
! (Default: 6)
INTEGER, INTENT(OUT) :: hdferr ! Error code
! 0 on success and -1 on failure
-!*****
-!
-! MS FORTRAN needs explicit interface for C functions called here.
-!
+!*****
INTERFACE
- INTEGER FUNCTION h5pget_attr_phase_change_c(ocpl_id, max_compact, min_dense)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5PGET_ATTR_PHASE_CHANGE_C'::h5pget_attr_phase_change_c
- !DEC$ENDIF
+ INTEGER FUNCTION h5pget_attr_phase_change_c(ocpl_id, max_compact, min_dense) &
+ BIND(C,NAME='h5pget_attr_phase_change_c')
+ IMPORT :: HID_T
+ IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: ocpl_id
INTEGER, INTENT(OUT) :: max_compact
INTEGER, INTENT(OUT) :: min_dense
@@ -4738,16 +4584,12 @@ CONTAINS
INTEGER, INTENT(IN) :: crt_order_flags ! Flags specifying whether to track and index attribute creation order
INTEGER, INTENT(OUT) :: hdferr ! Error code
! 0 on success and -1 on failure
-!*****
-!
-! MS FORTRAN needs explicit interface for C functions called here.
-!
+!*****
INTERFACE
- INTEGER FUNCTION H5Pset_attr_creation_order_c(ocpl_id, crt_order_flags)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5PSET_ATTR_CREATION_ORDER_C'::h5pset_attr_creation_order_c
- !DEC$ENDIF
+ INTEGER FUNCTION H5Pset_attr_creation_order_c(ocpl_id, crt_order_flags) &
+ BIND(C,NAME='h5pset_attr_creation_order_c')
+ IMPORT :: HID_T
+ IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: ocpl_id
INTEGER, INTENT(IN) :: crt_order_flags
@@ -4791,12 +4633,10 @@ CONTAINS
! MS FORTRAN needs explicit interface for C functions called here.
!
INTERFACE
- INTEGER FUNCTION h5pset_shared_mesg_nindexes_c(plist_id, nindexes)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5PSET_SHARED_MESG_NINDEXES_C'::h5pset_shared_mesg_nindexes_c
- !DEC$ENDIF
-
+ INTEGER FUNCTION h5pset_shared_mesg_nindexes_c(plist_id, nindexes) &
+ BIND(C,NAME='h5pset_shared_mesg_nindexes_c')
+ IMPORT :: HID_T
+ IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: plist_id
INTEGER, INTENT(IN) :: nindexes
@@ -4845,18 +4685,14 @@ CONTAINS
! MS FORTRAN needs explicit interface for C functions called here.
!
INTERFACE
- INTEGER FUNCTION h5pset_shared_mesg_index_c(fcpl_id, index_num, mesg_type_flags, min_mesg_size)
-
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5PSET_SHARED_MESG_INDEX_C'::h5pset_shared_mesg_index_c
- !DEC$ENDIF
-
+ INTEGER FUNCTION h5pset_shared_mesg_index_c(fcpl_id, index_num, mesg_type_flags, min_mesg_size) &
+ BIND(C,NAME='h5pset_shared_mesg_index_c')
+ IMPORT :: HID_T
+ IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: fcpl_id
INTEGER, INTENT(IN) :: index_num
INTEGER, INTENT(IN) :: mesg_type_flags
INTEGER, INTENT(IN) :: min_mesg_size
-
END FUNCTION H5pset_shared_mesg_index_c
END INTERFACE
@@ -4898,15 +4734,12 @@ CONTAINS
! MS FORTRAN needs explicit interface for C functions called here.
!
INTERFACE
- INTEGER FUNCTION h5pget_attr_creation_order_c(ocpl_id, crt_order_flags)
-
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5PGET_ATTR_CREATION_ORDER_C'::h5pget_attr_creation_order_c
- !DEC$ENDIF
+ INTEGER FUNCTION h5pget_attr_creation_order_c(ocpl_id, crt_order_flags) &
+ BIND(C,NAME='h5pget_attr_creation_order_c')
+ IMPORT :: HID_T
+ IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: ocpl_id
INTEGER, INTENT(OUT) :: crt_order_flags
-
END FUNCTION H5pget_attr_creation_order_c
END INTERFACE
@@ -4955,12 +4788,10 @@ CONTAINS
! MS FORTRAN needs explicit interface for C functions called here.
!
INTERFACE
- INTEGER FUNCTION h5pset_libver_bounds_c(fapl_id, low, high)
-
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5PSET_LIBVER_BOUNDS_C'::h5pset_libver_bounds_c
- !DEC$ENDIF
+ INTEGER FUNCTION h5pset_libver_bounds_c(fapl_id, low, high) &
+ BIND(C,NAME='h5pset_libver_bounds_c')
+ IMPORT :: HID_T
+ IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: fapl_id
INTEGER, INTENT(IN) :: low
INTEGER, INTENT(IN) :: high
@@ -5001,17 +4832,12 @@ CONTAINS
INTEGER, INTENT(IN) :: crt_order_flags ! Creation order flag(s)
INTEGER, INTENT(OUT) :: hdferr ! Error code
! 0 on success and -1 on failure
-!*****
-!
-! MS FORTRAN needs explicit interface for C functions called here.
-!
+!*****
INTERFACE
- INTEGER FUNCTION h5pset_link_creation_order_c(gcpl_id, crt_order_flags)
-
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5PSET_LINK_CREATION_ORDER_C'::h5pset_link_creation_order_c
- !DEC$ENDIF
+ INTEGER FUNCTION h5pset_link_creation_order_c(gcpl_id, crt_order_flags) &
+ BIND(C,NAME='h5pset_link_creation_order_c')
+ IMPORT :: HID_T
+ IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: gcpl_id
INTEGER, INTENT(IN) :: crt_order_flags
@@ -5052,16 +4878,12 @@ CONTAINS
INTEGER, INTENT(OUT) :: min_dense ! Minimum number of attributes to be stored in dense storage
INTEGER, INTENT(OUT) :: hdferr ! Error code
! 0 on success and -1 on failure
-!*****
-!
-! MS FORTRAN needs explicit interface for C functions called here.
-!
+!*****
INTERFACE
- INTEGER FUNCTION h5pget_link_phase_change_c(gcpl_id, max_compact, min_dense)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5PGET_LINK_PHASE_CHANGE_C'::h5pget_link_phase_change_c
- !DEC$ENDIF
+ INTEGER FUNCTION h5pget_link_phase_change_c(gcpl_id, max_compact, min_dense) &
+ BIND(C,NAME='h5pget_link_phase_change_c')
+ IMPORT :: HID_T
+ IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: gcpl_id
INTEGER, INTENT(OUT) :: max_compact
INTEGER, INTENT(OUT) :: min_dense
@@ -5108,11 +4930,9 @@ CONTAINS
! MS FORTRAN needs explicit interface for C functions called here.
!
INTERFACE
- INTEGER FUNCTION h5pget_obj_track_times_c(plist_id, status)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5PGET_OBJ_TRACK_TIMES_C'::h5pget_obj_track_times_c
- !DEC$ENDIF
+ INTEGER FUNCTION h5pget_obj_track_times_c(plist_id, status) &
+ BIND(C,NAME='h5pget_obj_track_times_c')
+ IMPORT :: HID_T
INTEGER(HID_T), INTENT(IN) :: plist_id ! File creation property list identifier
INTEGER, INTENT(OUT) :: status
END FUNCTION h5pget_obj_track_times_c
@@ -5174,11 +4994,10 @@ CONTAINS
! MS FORTRAN needs explicit interface for C functions called here.
!
INTERFACE
- INTEGER FUNCTION h5pset_obj_track_times_c(plist_id, status)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5PSET_OBJ_TRACK_TIMES_C'::h5pset_obj_track_times_c
- !DEC$ENDIF
+ INTEGER FUNCTION h5pset_obj_track_times_c(plist_id, status) &
+ BIND(C,NAME='h5pset_obj_track_times_c')
+ IMPORT :: HID_T
+ IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: plist_id ! File creation property list identifier
INTEGER, INTENT(IN) :: status
END FUNCTION h5pset_obj_track_times_c
@@ -5225,16 +5044,12 @@ CONTAINS
! upon the creation of an object
INTEGER, INTENT(OUT) :: hdferr ! Error code
! 0 on success and -1 on failure
-!*****
-!
-! MS FORTRAN needs explicit interface for C functions called here.
-!
+!*****
INTERFACE
- INTEGER FUNCTION h5pset_create_inter_group_c(lcpl_id, crt_intermed_group)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5PSET_CREATE_INTER_GROUP_C'::h5pset_create_inter_group_c
- !DEC$ENDIF
+ INTEGER FUNCTION h5pset_create_inter_group_c(lcpl_id, crt_intermed_group) &
+ BIND(C,NAME='h5pset_create_inter_group_c')
+ IMPORT :: HID_T
+ IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: lcpl_id
INTEGER, INTENT(IN) :: crt_intermed_group
END FUNCTION h5pset_create_inter_group_c
@@ -5273,17 +5088,12 @@ CONTAINS
INTEGER, INTENT(OUT) :: crt_order_flags ! Creation order flag(s)
INTEGER, INTENT(OUT) :: hdferr ! Error code
! 0 on success and -1 on failure
-!*****
-!
-! MS FORTRAN needs explicit interface for C functions called here.
-!
+!*****
INTERFACE
- INTEGER FUNCTION h5pget_link_creation_order_c(gcpl_id, crt_order_flags)
-
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5PGET_LINK_CREATION_ORDER_C'::h5pget_link_creation_order_c
- !DEC$ENDIF
+ INTEGER FUNCTION h5pget_link_creation_order_c(gcpl_id, crt_order_flags) &
+ BIND(C,NAME='h5pget_link_creation_order_c')
+ IMPORT :: HID_T
+ IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: gcpl_id
INTEGER, INTENT(OUT) :: crt_order_flags
@@ -5326,17 +5136,12 @@ CONTAINS
! H5T_CSET_UTF8_F -> UTF-8 Unicode encoding
INTEGER, INTENT(OUT) :: hdferr ! Error code
! 0 on success and -1 on failure
-!*****
-!
-! MS FORTRAN needs explicit interface for C functions called here.
-!
+!*****
INTERFACE
- INTEGER FUNCTION h5pset_char_encoding_c(plist_id, encoding)
-
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5PSET_CHAR_ENCODING_C'::h5pset_char_encoding_c
- !DEC$ENDIF
+ INTEGER FUNCTION h5pset_char_encoding_c(plist_id, encoding) &
+ BIND(C,NAME='h5pset_char_encoding_c')
+ IMPORT :: HID_T
+ IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: plist_id
INTEGER, INTENT(IN) :: encoding
@@ -5381,17 +5186,12 @@ CONTAINS
! H5T_CSET_UTF8_F -> UTF-8 Unicode encoding
INTEGER, INTENT(OUT) :: hdferr ! Error code
! 0 on success and -1 on failure
-!*****
-!
-! MS FORTRAN needs explicit interface for C functions called here.
-!
+!*****
INTERFACE
- INTEGER FUNCTION h5pget_char_encoding_c(plist_id, encoding)
-
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5PGET_CHAR_ENCODING_C'::h5pget_char_encoding_c
- !DEC$ENDIF
+ INTEGER FUNCTION h5pget_char_encoding_c(plist_id, encoding) &
+ BIND(C,NAME='h5pget_char_encoding_c')
+ IMPORT :: HID_T
+ IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: plist_id
INTEGER, INTENT(OUT) :: encoding
@@ -5438,16 +5238,12 @@ CONTAINS
! H5O_COPY_WITHOUT_ATTR_FLAG_F
INTEGER, INTENT(OUT) :: hdferr ! Error code
! 0 on success and -1 on failure
-!*****
-
-! MS FORTRAN needs explicit interface for C functions called here.
-!
+!*****
INTERFACE
- INTEGER FUNCTION h5pset_copy_object_c(ocp_plist_id, copy_options)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5PSET_COPY_OBJECT_C'::h5pset_copy_object_c
- !DEC$ENDIF
+ INTEGER FUNCTION h5pset_copy_object_c(ocp_plist_id, copy_options) &
+ BIND(C,NAME='h5pset_copy_object_c')
+ IMPORT :: HID_T
+ IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: ocp_plist_id
INTEGER, INTENT(IN) :: copy_options
END FUNCTION h5pset_copy_object_c
@@ -5491,16 +5287,12 @@ CONTAINS
! H5O_COPY_WITHOUT_ATTR_FLAG_F
INTEGER, INTENT(OUT) :: hdferr ! Error code
! 0 on success and -1 on failure
-!*****
-
-! MS FORTRAN needs explicit interface for C functions called here.
-!
+!*****
INTERFACE
- INTEGER FUNCTION h5pget_copy_object_c(ocp_plist_id, copy_options)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5PGET_COPY_OBJECT_C'::h5pget_copy_object_c
- !DEC$ENDIF
+ INTEGER FUNCTION h5pget_copy_object_c(ocp_plist_id, copy_options) &
+ BIND(C,NAME='h5pget_copy_object_c')
+ IMPORT :: HID_T
+ IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: ocp_plist_id
INTEGER, INTENT(OUT) :: copy_options
END FUNCTION h5pget_copy_object_c
@@ -5548,18 +5340,14 @@ SUBROUTINE h5pget_data_transform_f(plist_id, expression, hdferr, size)
INTEGER :: expression_len
INTEGER(SIZE_T) :: size_default
-
-! MS FORTRAN needs explicit interface for C functions called here.
-!
INTERFACE
- INTEGER FUNCTION h5pget_data_transform_c(plist_id, expression, expression_len, size_default)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5PGET_DATA_TRANSFORM_C'::h5pget_data_transform_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: expression
+ INTEGER FUNCTION h5pget_data_transform_c(plist_id, expression, expression_len, size_default) &
+ BIND(C,NAME='h5pget_data_transform_c')
+ IMPORT :: C_CHAR
+ IMPORT :: HID_T, SIZE_T
+ IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: plist_id
- CHARACTER(LEN=*), INTENT(OUT) :: expression
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(OUT) :: expression
INTEGER(SIZE_T) :: size_default
INTEGER :: expression_len
END FUNCTION h5pget_data_transform_c
@@ -5605,17 +5393,14 @@ SUBROUTINE h5pget_data_transform_f(plist_id, expression, hdferr, size)
!*****
INTEGER :: expression_len
-! MS FORTRAN needs explicit interface for C functions called here.
-!
INTERFACE
- INTEGER FUNCTION h5pset_data_transform_c(plist_id, expression, expression_len)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5PSET_DATA_TRANSFORM_C'::h5pset_data_transform_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: expression
+ INTEGER FUNCTION h5pset_data_transform_c(plist_id, expression, expression_len) &
+ BIND(C,NAME='h5pset_data_transform_c')
+ IMPORT :: C_CHAR
+ IMPORT :: HID_T
+ IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: plist_id
- CHARACTER(LEN=*), INTENT(IN) :: expression
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(IN) :: expression
INTEGER :: expression_len
END FUNCTION h5pset_data_transform_c
END INTERFACE
@@ -5653,16 +5438,12 @@ SUBROUTINE h5pget_data_transform_f(plist_id, expression, hdferr, size)
INTEGER(SIZE_T), INTENT(OUT) :: size_hint ! Hint for size of local heap
INTEGER, INTENT(OUT) :: hdferr ! Error code
! 0 on success and -1 on failure
-!*****
-
-! MS FORTRAN needs explicit interface for C functions called here.
-!
+!*****
INTERFACE
- INTEGER FUNCTION h5pget_local_heap_size_hint_c(gcpl_id, size_hint)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5PGET_LOCAL_HEAP_SIZE_HINT_C'::h5pget_local_heap_size_hint_c
- !DEC$ENDIF
+ INTEGER FUNCTION h5pget_local_heap_size_hint_c(gcpl_id, size_hint) &
+ BIND(C,NAME='h5pget_local_heap_size_hint_c')
+ IMPORT :: HID_T, SIZE_T
+ IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: gcpl_id
INTEGER(SIZE_T), INTENT(OUT) :: size_hint
END FUNCTION H5Pget_local_heap_size_hint_c
@@ -5705,16 +5486,12 @@ SUBROUTINE h5pget_data_transform_f(plist_id, expression, hdferr, size)
INTEGER, INTENT(OUT) :: est_name_len ! Estimated average length of link names
INTEGER, INTENT(OUT) :: hdferr ! Error code
! 0 on success and -1 on failure
-!*****
-
-! MS FORTRAN needs explicit interface for C functions called here.
-!
+!*****
INTERFACE
- INTEGER FUNCTION h5pget_est_link_info_c(gcpl_id, est_num_entries, est_name_len)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5PGET_EST_LINK_INFO_C'::h5pget_est_link_info_c
- !DEC$ENDIF
+ INTEGER FUNCTION h5pget_est_link_info_c(gcpl_id, est_num_entries, est_name_len) &
+ BIND(C,NAME='h5pget_est_link_info_c')
+ IMPORT :: HID_T
+ IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: gcpl_id
INTEGER, INTENT(OUT) :: est_num_entries
INTEGER, INTENT(OUT) :: est_name_len
@@ -5753,16 +5530,12 @@ SUBROUTINE h5pget_data_transform_f(plist_id, expression, hdferr, size)
INTEGER(SIZE_T), INTENT(IN) :: size_hint ! Hint for size of local heap
INTEGER, INTENT(OUT) :: hdferr ! Error code
! 0 on success and -1 on failure
-!*****
-
-! MS FORTRAN needs explicit interface for C functions called here.
-!
+!*****
INTERFACE
- INTEGER FUNCTION h5pset_local_heap_size_hint_c(gcpl_id, size_hint)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5PSET_LOCAL_HEAP_SIZE_HINT_C'::h5pset_local_heap_size_hint_c
- !DEC$ENDIF
+ INTEGER FUNCTION h5pset_local_heap_size_hint_c(gcpl_id, size_hint) &
+ BIND(C,NAME='h5pset_local_heap_size_hint_c')
+ IMPORT :: HID_T, SIZE_T
+ IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: gcpl_id
INTEGER(SIZE_T), INTENT(IN) :: size_hint
END FUNCTION h5pset_local_heap_size_hint_c
@@ -5802,16 +5575,12 @@ SUBROUTINE h5pget_data_transform_f(plist_id, expression, hdferr, size)
INTEGER, INTENT(IN) :: est_name_len ! Estimated average length of link names
INTEGER, INTENT(OUT) :: hdferr ! Error code
! 0 on success and -1 on failure
-!*****
-
-! MS FORTRAN needs explicit interface for C functions called here.
-!
+!*****
INTERFACE
- INTEGER FUNCTION h5pset_est_link_info_c(gcpl_id, est_num_entries, est_name_len)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5PSET_EST_LINK_INFO_C'::h5pset_est_link_info_c
- !DEC$ENDIF
+ INTEGER FUNCTION h5pset_est_link_info_c(gcpl_id, est_num_entries, est_name_len) &
+ BIND(C,NAME='h5pset_est_link_info_c')
+ IMPORT :: HID_T
+ IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: gcpl_id
INTEGER, INTENT(IN) :: est_num_entries
INTEGER, INTENT(IN) :: est_name_len
@@ -5852,20 +5621,15 @@ SUBROUTINE h5pset_link_phase_change_f(gcpl_id, max_compact, min_dense, hdferr)
INTEGER, INTENT(IN) :: min_dense ! Minimum number of attributes to be stored in dense storage
INTEGER, INTENT(OUT) :: hdferr ! Error code
! 0 on success and -1 on failure
-!*****
-!
-! MS FORTRAN needs explicit interface for C functions called here.
-!
+!*****
INTERFACE
- INTEGER FUNCTION h5pset_link_phase_change_c(gcpl_id, max_compact, min_dense)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5PSET_LINK_PHASE_CHANGE_C'::h5pset_link_phase_change_c
- !DEC$ENDIF
+ INTEGER FUNCTION h5pset_link_phase_change_c(gcpl_id, max_compact, min_dense) &
+ BIND(C,NAME='h5pset_link_phase_change_c')
+ IMPORT :: HID_T
+ IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: gcpl_id
INTEGER, INTENT(IN) :: max_compact
INTEGER, INTENT(IN) :: min_dense
-
END FUNCTION h5pset_link_phase_change_c
END INTERFACE
@@ -5904,16 +5668,12 @@ SUBROUTINE h5pset_fapl_direct_f(fapl_id, alignment, block_size, cbuf_size, hdfer
INTEGER(SIZE_T), INTENT(IN) :: cbuf_size ! Copy buffer size
INTEGER, INTENT(OUT) :: hdferr ! Error code
! 0 on success and -1 on failure
-!*****
-!
-! MS FORTRAN needs explicit interface for C functions called here.
-!
+!*****
INTERFACE
- INTEGER FUNCTION h5pset_fapl_direct_c(fapl_id, alignment, block_size, cbuf_size)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5PSET_FAPL_DIRECT_C'::h5pset_fapl_direct_c
- !DEC$ENDIF
+ INTEGER FUNCTION h5pset_fapl_direct_c(fapl_id, alignment, block_size, cbuf_size) &
+ BIND(C,NAME='h5pset_fapl_direct_c')
+ IMPORT :: HID_T, SIZE_T
+ IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: fapl_id
INTEGER(SIZE_T), INTENT(IN) :: alignment
INTEGER(SIZE_T), INTENT(IN) :: block_size
@@ -5956,16 +5716,12 @@ SUBROUTINE h5pset_fapl_direct_f(fapl_id, alignment, block_size, cbuf_size, hdfer
INTEGER(SIZE_T), INTENT(OUT) :: cbuf_size ! Copy buffer size
INTEGER, INTENT(OUT) :: hdferr ! Error code
! 0 on success and -1 on failure
-!*****
-!
-! MS FORTRAN needs explicit interface for C functions called here.
-!
+!*****
INTERFACE
- INTEGER FUNCTION h5pget_fapl_direct_c(fapl_id, alignment, block_size, cbuf_size)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5PGET_FAPL_DIRECT_C'::h5pget_fapl_direct_c
- !DEC$ENDIF
+ INTEGER FUNCTION h5pget_fapl_direct_c(fapl_id, alignment, block_size, cbuf_size) &
+ BIND(C,NAME='h5pget_fapl_direct_c')
+ IMPORT :: HID_T, SIZE_T
+ IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: fapl_id
INTEGER(SIZE_T), INTENT(OUT) :: alignment
INTEGER(SIZE_T), INTENT(OUT) :: block_size
@@ -6010,16 +5766,12 @@ SUBROUTINE h5pset_attr_phase_change_f(ocpl_id, max_compact, min_dense, hdferr)
! (Default: 6)
INTEGER, INTENT(OUT) :: hdferr ! Error code
! 0 on success and -1 on failure
-!*****
-!
-! MS FORTRAN needs explicit interface for C functions called here.
-!
+!*****
INTERFACE
- INTEGER FUNCTION h5pset_attr_phase_change_c(ocpl_id, max_compact, min_dense)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5PSET_ATTR_PHASE_CHANGE_C'::h5pset_attr_phase_change_c
- !DEC$ENDIF
+ INTEGER FUNCTION h5pset_attr_phase_change_c(ocpl_id, max_compact, min_dense) &
+ BIND(C,NAME='h5pset_attr_phase_change_c')
+ IMPORT :: HID_T
+ IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: ocpl_id
INTEGER, INTENT(IN) :: max_compact
INTEGER, INTENT(IN) :: min_dense
@@ -6056,11 +5808,10 @@ SUBROUTINE h5pset_attr_phase_change_f(ocpl_id, max_compact, min_dense, hdferr)
INTEGER , INTENT(OUT) :: hdferr
!*****
INTERFACE
- INTEGER FUNCTION H5Pset_nbit_c(plist_id)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5PSET_NBIT_C'::h5pset_nbit_c
- !DEC$ENDIF
+ INTEGER FUNCTION H5Pset_nbit_c(plist_id) &
+ BIND(C,NAME='h5pset_nbit_c')
+ IMPORT :: HID_T
+ IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: plist_id
END FUNCTION H5Pset_nbit_c
END INTERFACE
@@ -6102,11 +5853,10 @@ SUBROUTINE h5pset_attr_phase_change_f(ocpl_id, max_compact, min_dense, hdferr)
!*****
INTERFACE
- INTEGER FUNCTION h5pset_scaleoffset_c(plist_id, scale_type, scale_factor)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5PSET_SCALEOFFSET_C'::h5pset_scaleoffset_c
- !DEC$ENDIF
+ INTEGER FUNCTION h5pset_scaleoffset_c(plist_id, scale_type, scale_factor) &
+ BIND(C,NAME='h5pset_scaleoffset_c')
+ IMPORT :: HID_T
+ IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: plist_id
INTEGER, INTENT(IN) :: scale_type
INTEGER, INTENT(IN) :: scale_factor
@@ -6149,16 +5899,12 @@ SUBROUTINE h5pset_attr_phase_change_f(ocpl_id, max_compact, min_dense, hdferr)
INTEGER(SIZE_T), INTENT(IN) :: nlinks ! Maximum number of links to traverse
INTEGER, INTENT(OUT) :: hdferr ! Error code
! 0 on success and -1 on failure
-!*****
-
-! MS FORTRAN needs explicit interface for C functions called here.
-!
+!*****
INTERFACE
- INTEGER FUNCTION h5pset_nlinks_c(lapl_id, nlinks)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5PSET_NLINKS_C'::h5pset_nlinks_c
- !DEC$ENDIF
+ INTEGER FUNCTION h5pset_nlinks_c(lapl_id, nlinks) &
+ BIND(C,NAME='h5pset_nlinks_c')
+ IMPORT :: HID_T, SIZE_T
+ IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: lapl_id
INTEGER(SIZE_T), INTENT(IN) :: nlinks
END FUNCTION h5pset_nlinks_c
@@ -6197,15 +5943,12 @@ SUBROUTINE h5pset_attr_phase_change_f(ocpl_id, max_compact, min_dense, hdferr)
INTEGER(SIZE_T), INTENT(OUT) :: nlinks ! Maximum number of links to traverse
INTEGER, INTENT(OUT) :: hdferr ! Error code
! 0 on success and -1 on failure
-!*****
-! MS FORTRAN needs explicit interface for C functions called here.
-!
+!*****
INTERFACE
- INTEGER FUNCTION h5pget_nlinks_c(lapl_id, nlinks)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5PGET_NLINKS_C'::h5pget_nlinks_c
- !DEC$ENDIF
+ INTEGER FUNCTION h5pget_nlinks_c(lapl_id, nlinks) &
+ BIND(C,NAME='h5pget_nlinks_c')
+ IMPORT :: HID_T, SIZE_T
+ IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: lapl_id
INTEGER(SIZE_T), INTENT(OUT) :: nlinks
END FUNCTION h5pget_nlinks_c
@@ -6251,11 +5994,10 @@ SUBROUTINE h5pset_attr_phase_change_f(ocpl_id, max_compact, min_dense, hdferr)
! 0 on success and -1 on failure
!*****
INTERFACE
- INTEGER FUNCTION h5pget_create_inter_group_c(lcpl_id, crt_intermed_group)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5PGET_CREATE_INTER_GROUP_C'::h5pget_create_inter_group_c
- !DEC$ENDIF
+ INTEGER FUNCTION h5pget_create_inter_group_c(lcpl_id, crt_intermed_group) &
+ BIND(C,NAME='h5pget_create_inter_group_c')
+ IMPORT :: HID_T
+ IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: lcpl_id
INTEGER, INTENT(IN) :: crt_intermed_group
END FUNCTION h5pget_create_inter_group_c
@@ -6320,11 +6062,10 @@ SUBROUTINE h5pset_attr_phase_change_f(ocpl_id, max_compact, min_dense, hdferr)
!*****
INTERFACE
- INTEGER FUNCTION h5pset_chunk_cache_c(dapl_id, rdcc_nslots, rdcc_nbytes, rdcc_w0)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5PSET_CHUNK_CACHE_C'::h5pset_chunk_cache_c
- !DEC$ENDIF
+ INTEGER FUNCTION h5pset_chunk_cache_c(dapl_id, rdcc_nslots, rdcc_nbytes, rdcc_w0) &
+ BIND(C,NAME='h5pset_chunk_cache_c')
+ IMPORT :: HID_T, SIZE_T
+ IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: dapl_id
INTEGER(SIZE_T), INTENT(IN) :: rdcc_nslots
INTEGER(SIZE_T), INTENT(IN) :: rdcc_nbytes
@@ -6378,11 +6119,10 @@ SUBROUTINE h5pset_attr_phase_change_f(ocpl_id, max_compact, min_dense, hdferr)
! 0 on success and -1 on failure
!*****
INTERFACE
- INTEGER FUNCTION h5pget_chunk_cache_c(dapl_id, rdcc_nslots, rdcc_nbytes, rdcc_w0)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5PGET_CHUNK_CACHE_C'::h5pget_chunk_cache_c
- !DEC$ENDIF
+ INTEGER FUNCTION h5pget_chunk_cache_c(dapl_id, rdcc_nslots, rdcc_nbytes, rdcc_w0) &
+ BIND(C,NAME='h5pget_chunk_cache_c')
+ IMPORT :: HID_T, SIZE_T
+ IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: dapl_id
INTEGER(SIZE_T), INTENT(OUT) :: rdcc_nslots
INTEGER(SIZE_T), INTENT(OUT) :: rdcc_nbytes
@@ -6394,6 +6134,1193 @@ SUBROUTINE h5pset_attr_phase_change_f(ocpl_id, max_compact, min_dense, hdferr)
END SUBROUTINE h5pget_chunk_cache_f
+!
+!****s* H5P (F03)/h5pset_fill_value_f_F90
+!
+! NAME
+! h5pset_fill_value_f
+!
+! PURPOSE
+! Sets fill value for a dataset creation property list
+!
+! Inputs:
+! prp_id - Property list identifier
+! type_id - Datatype identifier of fill value datatype (in memory)
+! fillvalue - Fillvalue
+!
+! Outputs:
+! hdferr - Returns 0 if successful and -1 if fails
+!
+! AUTHOR
+! Elena Pourmal
+! August 12, 1999
+!
+! HISTORY
+!
+! Explicit Fortran interfaces were added for
+! called C functions (it is needed for Windows
+! port). March 14, 2001
+!
+! Added the recommended way of passing fillvalue
+! and that is by passing the C address, all other
+! ways are obsolete and should be avoided. June, 2008 MSB
+!
+! NOTES
+! h5pset(get)fill_value_f function is overloaded to support
+! INTEGER, REAL, DOUBLE PRECISION and CHARACTER dtatypes.
+!
+! Fortran90 Interface:
+!! SUBROUTINE h5pset_fill_value_f(prp_id, type_id, fillvalue, hdferr)
+!! IMPLICIT NONE
+!! INTEGER(HID_T), INTENT(IN) :: prp_id
+!! INTEGER(HID_T), INTENT(IN) :: type_id
+!! TYPE(VOID) , INTENT(IN) :: fillvalue
+!! INTEGER , INTENT(OUT) :: hdferr
+!*****
+
+
+ SUBROUTINE h5pset_fill_value_integer(prp_id, type_id, fillvalue, hdferr)
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier
+ INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier of
+ ! of fillvalue datatype
+ ! (in memory)
+ INTEGER, INTENT(IN), TARGET :: fillvalue ! Fillvalue
+ INTEGER, INTENT(OUT) :: hdferr ! Error code
+ TYPE(C_PTR) :: f_ptr ! C address
+
+ f_ptr = C_LOC(fillvalue)
+
+ hdferr = h5pset_fill_value_c(prp_id, type_id, f_ptr)
+
+ END SUBROUTINE h5pset_fill_value_integer
+!
+!****s* H5P (F03)/h5pget_fill_value_f_F90
+!
+! NAME
+! h5pget_fill_value_f
+!
+! PURPOSE
+! Gets fill value for a dataset creation property list
+!
+! Inputs:
+! prp_id - Property list identifier
+! type_id - Datatype identifier of fill value datatype (in memory)
+!
+! Outputs:
+! fillvalue - Fillvalue
+! hdferr - Returns 0 if successful and -1 if fails
+!
+! AUTHOR
+! Elena Pourmal
+! August 12, 1999
+!
+! HISTORY
+!
+! Explicit Fortran interfaces were added for
+! called C functions (it is needed for Windows
+! port). March 14, 2001
+!
+! Added the recommended way of passing fillvalue
+! and that is by passing the C address, all other
+! ways are obsolete and should be avoided. June, 2008 MSB
+!
+! NOTES
+! h5pget(get)fill_value_f function is overloaded to support
+! INTEGER, REAL, DOUBLE PRECISION and CHARACTER dtatypes.
+!
+! Fortran90 Interface:
+!! SUBROUTINE h5pget_fill_value_f(prp_id, type_id, fillvalue, hdferr)
+!! INTEGER(HID_T), INTENT(IN) :: prp_id
+!! INTEGER(HID_T), INTENT(IN) :: type_id
+!! TYPE(VOID) , INTENT(OUT) :: fillvalue
+!! INTEGER , INTENT(OUT) :: hdferr
+!*****
+
+ SUBROUTINE h5pget_fill_value_integer(prp_id, type_id, fillvalue, hdferr)
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier
+ INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier of
+ ! of fillvalue datatype
+ ! (in memory)
+ INTEGER, INTENT(OUT), TARGET :: fillvalue ! Fillvalue
+ INTEGER, INTENT(OUT) :: hdferr ! Error code
+ TYPE(C_PTR) :: f_ptr ! C address
+
+ f_ptr = C_LOC(fillvalue)
+
+ hdferr = h5pget_fill_value_c(prp_id, type_id, f_ptr)
+
+ END SUBROUTINE h5pget_fill_value_integer
+
+ SUBROUTINE h5pset_fill_value_char(prp_id, type_id, fillvalue, hdferr)
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier
+ INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier of
+ ! of fillvalue datatype
+ ! (in memory)
+ CHARACTER, INTENT(IN), TARGET :: fillvalue ! Fillvalue
+ INTEGER, INTENT(OUT) :: hdferr ! Error code
+ TYPE(C_PTR) :: f_ptr ! C address
+
+ f_ptr = C_LOC(fillvalue)
+ hdferr = h5pset_fill_value_c(prp_id, type_id, f_ptr)
+
+ END SUBROUTINE h5pset_fill_value_char
+
+ SUBROUTINE h5pget_fill_value_char(prp_id, type_id, fillvalue, hdferr)
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier
+ INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier of
+ ! of fillvalue datatype
+ ! (in memory)
+ CHARACTER, INTENT(OUT) :: fillvalue ! Fillvalue
+ INTEGER, INTENT(OUT) :: hdferr ! Error code
+
+ INTEGER :: i
+ CHARACTER(LEN=1), ALLOCATABLE, DIMENSION(:), TARGET :: chr
+ INTEGER :: chr_len
+
+ TYPE(C_PTR) :: f_ptr ! C address
+ ! To resolve Issue #1 outlined in the preamble of this file we
+ ! need to pack the character string into an array.
+
+ chr_len = LEN(fillvalue)
+ ALLOCATE(chr(1:chr_len), STAT=hdferr)
+ IF (hdferr .NE. 0) THEN
+ hdferr = -1
+ RETURN
+ ENDIF
+
+ f_ptr = C_LOC(chr(1)(1:1))
+ hdferr = h5pget_fill_value_c(prp_id, type_id, f_ptr)
+
+ DO i = 1, chr_len
+ fillvalue(i:i) = chr(i)
+ ENDDO
+ DEALLOCATE(chr)
+
+ END SUBROUTINE h5pget_fill_value_char
+!
+!****s* H5P (F03)/h5pset_fill_value_f_F03
+!
+! NAME
+! h5pset_fill_value_f
+!
+! PURPOSE
+! Sets fill value for a dataset creation property list
+!
+! Inputs:
+! prp_id - Property list identifier
+! type_id - Datatype identifier of fill value datatype (in memory)
+! fillvalue - Fillvalue
+!
+! Outputs:
+! hdferr - Returns 0 if successful and -1 if fails
+!
+! AUTHOR
+! Elena Pourmal
+! August 12, 1999
+!
+! HISTORY
+!
+! Explicit Fortran interfaces were added for
+! called C functions (it is needed for Windows
+! port). March 14, 2001
+!
+! Added the recommended way of passing fillvalue
+! and that is by passing the C address, all other
+! ways are obsolete and should be avoided. June, 2008 MSB
+!
+! NOTES
+! h5pset(get)fill_value_f function is overloaded to support
+! INTEGER, REAL, DOUBLE PRECISION and CHARACTER dtatypes.
+!
+! Fortran2003 Interface:
+!! SUBROUTINE h5pset_fill_value_f(prp_id, type_id, fillvalue, hdferr)
+!! INTEGER(HID_T), INTENT(IN) :: prp_id
+!! INTEGER(HID_T), INTENT(IN) :: type_id
+!! TYPE(C_PTR) , INTENT(IN) :: fillvalue
+!! INTEGER , INTENT(OUT) :: hdferr
+!*****
+
+ SUBROUTINE h5pset_fill_value_ptr(prp_id, type_id, fillvalue, hdferr)
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier
+ INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier of
+ ! of fillvalue datatype
+ ! (in memory)
+ TYPE(C_PTR), INTENT(IN) :: fillvalue ! Fillvalue
+ INTEGER, INTENT(OUT) :: hdferr ! Error code
+
+ hdferr = h5pset_fill_value_c(prp_id, type_id, fillvalue)
+
+ END SUBROUTINE h5pset_fill_value_ptr
+
+!
+!****s* H5P (F03)/h5pget_fill_value_f_F03
+!
+! NAME
+! h5pget_fill_value_f
+!
+! PURPOSE
+! Gets fill value for a dataset creation property list
+!
+! Inputs:
+! prp_id - Property list identifier
+! type_id - Datatype identifier of fill value datatype (in memory)
+!
+! Outputs:
+! fillvalue - Fillvalue
+! hdferr - Returns 0 if successful and -1 if fails
+!
+! AUTHOR
+! Elena Pourmal
+! August 12, 1999
+!
+! HISTORY
+!
+! Explicit Fortran interfaces were added for
+! called C functions (it is needed for Windows
+! port). March 14, 2001
+!
+! Added the recommended way of passing fillvalue
+! and that is by passing the C address, all other
+! ways are obsolete and should be avoided. June, 2008 MSB
+!
+! NOTES
+! h5pget(get)fill_value_f function is overloaded to support
+! INTEGER, REAL, DOUBLE PRECISION and CHARACTER dtatypes.
+!
+! Fortran2003 Interface:
+!! SUBROUTINE h5pget_fill_value_f(prp_id, type_id, fillvalue, hdferr)
+!! INTEGER(HID_T), INTENT(IN) :: prp_id
+!! INTEGER(HID_T), INTENT(IN) :: type_id
+!! TYPE(C_PTR) , INTENT(OUT) :: fillvalue
+!! INTEGER , INTENT(OUT) :: hdferr
+!*****
+
+ SUBROUTINE h5pget_fill_value_ptr(prp_id, type_id, fillvalue, hdferr)
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier
+ INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier of
+ ! of fillvalue datatype
+ ! (in memory)
+ TYPE(C_PTR), INTENT(OUT) :: fillvalue ! Fillvalue
+ INTEGER, INTENT(OUT) :: hdferr ! Error code
+
+ hdferr = h5pget_fill_value_c(prp_id, type_id, fillvalue)
+
+ END SUBROUTINE h5pget_fill_value_ptr
+
+!
+!****s* H5P (F03)/h5pset_f_F90
+!
+! NAME
+! h5pset_f
+!
+! PURPOSE
+! Sets a property list value
+!
+! Inputs:
+! prp_id - Property list identifier to modify
+! name - Name of property to modify
+! value - Property value, supported types are:
+! INTEGER
+! REAL
+! DOUBLE PRECISION
+! CHARACTER(LEN=*)
+! Outputs:
+! hdferr - Returns 0 if successful and -1 if fails
+!
+! AUTHOR
+! Elena Pourmal
+! October 9, 2002
+!
+! Fortran90 Interface:
+!! SUBROUTINE h5pset_f(plid, name, value, hdferr)
+!! INTEGER(HID_T) , INTENT(IN) :: plid
+!! CHARACTER(LEN=*), INTENT(IN) :: name
+!! TYPE , INTENT(IN) :: value
+!! INTEGER , INTENT(OUT) :: hdferr
+!*****
+ SUBROUTINE h5pset_integer(prp_id, name, value, hdferr)
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier
+ CHARACTER(LEN=*), INTENT(IN) :: name ! Name of property to modify
+ INTEGER, INTENT(IN), TARGET :: value ! Property value
+ INTEGER, INTENT(OUT) :: hdferr ! Error code
+
+ INTEGER :: name_len
+ TYPE(C_PTR) :: f_ptr
+
+ f_ptr = C_LOC(value)
+
+ name_len = LEN(name)
+ hdferr = h5pget_c(prp_id, name, name_len, f_ptr)
+
+ END SUBROUTINE h5pset_integer
+
+ SUBROUTINE h5pset_char(prp_id, name, value, hdferr)
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier
+ CHARACTER(LEN=*), INTENT(IN) :: name ! Name of property to modify
+ CHARACTER(LEN=*), INTENT(IN) :: value ! Property value
+ INTEGER, INTENT(OUT) :: hdferr ! Error code
+ INTEGER :: name_len
+
+ INTEGER :: i
+ CHARACTER(LEN=1), ALLOCATABLE, DIMENSION(:), TARGET :: chr
+ INTEGER :: chr_len
+
+ TYPE(C_PTR) :: f_ptr
+ ! To resolve Issue #1 outlined in the preamble of this file we
+ ! need to pack the character string into an array.
+
+ chr_len = LEN(value)
+ ALLOCATE(chr(1:chr_len), STAT=hdferr)
+ IF (hdferr .NE. 0) THEN
+ hdferr = -1
+ RETURN
+ ENDIF
+
+ DO i = 1, chr_len
+ chr(i) = value(i:i)
+ ENDDO
+
+ f_ptr = C_LOC(chr(1)(1:1))
+
+ name_len = LEN(name)
+ hdferr = h5pget_c(prp_id, name, name_len, f_ptr)
+
+ DEALLOCATE(chr)
+
+ END SUBROUTINE h5pset_char
+!
+!****s* H5P (F03)/h5pget_f_F90
+!
+! NAME
+! h5pget_f
+!
+! PURPOSE
+! Queries the value of a property.
+!
+! Inputs:
+! prp_id - Property list identifier to modify
+! name - Name of property to get
+! value - Property value, supported types are:
+! INTEGER
+! REAL
+! DOUBLE PRECISION
+! CHARACTER(LEN=*)
+! Outputs:
+! hdferr - Returns 0 if successful and -1 if fails
+!
+! AUTHOR
+! Elena Pourmal
+! October 9, 2002
+!
+! Fortran90 Interface:
+!! SUBROUTINE h5pget_f(plid, name, value, hdferr)
+!! INTEGER(HID_T) , INTENT(IN) :: plid
+!! CHARACTER(LEN=*), INTENT(IN) :: name
+!! TYPE , INTENT(OUT) :: value
+!! INTEGER , INTENT(OUT) :: hdferr
+!*****
+
+ SUBROUTINE h5pget_integer(prp_id, name, value, hdferr)
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier
+ CHARACTER(LEN=*), INTENT(IN) :: name ! Name of property to modify
+ INTEGER, INTENT(OUT), TARGET :: value ! Property value
+ INTEGER, INTENT(OUT) :: hdferr ! Error code
+ INTEGER :: name_len
+ TYPE(C_PTR) :: f_ptr
+
+ f_ptr = C_LOC(value)
+
+ name_len = LEN(name)
+ hdferr = h5pget_c(prp_id, name, name_len, f_ptr)
+
+ END SUBROUTINE h5pget_integer
+
+ SUBROUTINE h5pget_char(prp_id, name, value, hdferr)
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier
+ CHARACTER(LEN=*), INTENT(IN) :: name ! Name of property to modify
+ CHARACTER(LEN=*), INTENT(OUT) :: value ! Property value
+ INTEGER, INTENT(OUT) :: hdferr ! Error code
+ INTEGER :: name_len
+
+ INTEGER :: i
+ CHARACTER(LEN=1), ALLOCATABLE, DIMENSION(:), TARGET :: chr
+ INTEGER :: chr_len
+ TYPE(C_PTR) :: f_ptr
+
+ chr_len = LEN(value)
+ ALLOCATE(chr(1:chr_len), STAT=hdferr)
+ IF (hdferr .NE. 0) THEN
+ hdferr = -1
+ RETURN
+ ENDIF
+ f_ptr = C_LOC(chr(1)(1:1))
+
+ name_len = LEN(name)
+ hdferr = h5pget_c(prp_id, name, name_len, f_ptr)
+
+ DO i = 1, chr_len
+ value(i:i) = chr(i)
+ ENDDO
+
+ DEALLOCATE(chr)
+
+ END SUBROUTINE h5pget_char
+
+!
+!****s* H5P (F03)/h5pset_f_F03
+!
+! NAME
+! h5pset_f
+!
+! PURPOSE
+! Sets a property list value
+!
+! Inputs:
+! prp_id - Property list identifier to modify
+! name - Name of property to modify
+! value - Pointer to value to set the property to
+! Outputs:
+! hdferr - Returns 0 if successful and -1 if fails
+!
+! AUTHOR
+! Elena Pourmal
+! October 9, 2002
+!
+! Fortran2003 Interface:
+!! SUBROUTINE h5pset_f(plid, name, value, hdferr)
+!! INTEGER(HID_T) , INTENT(IN) :: plid
+!! CHARACTER(LEN=*), INTENT(IN) :: name
+!! TYPE(C_PTR) , INTENT(IN) :: value
+!! INTEGER , INTENT(OUT) :: hdferr
+!*****
+ SUBROUTINE h5pset_ptr(prp_id, name, value, hdferr)
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier
+ CHARACTER(LEN=*), INTENT(IN) :: name ! Name of property to modify
+ TYPE(C_PTR), INTENT(IN) :: value ! Property value
+ INTEGER, INTENT(OUT) :: hdferr ! Error code
+ INTEGER :: name_len
+
+ name_len = LEN(name)
+ hdferr = h5pset_c(prp_id, name, name_len, value)
+
+ END SUBROUTINE h5pset_ptr
+!
+!****s* H5P (F03)/h5pget_f_F03
+!
+! NAME
+! h5pget_f (F03)
+!
+! PURPOSE
+! Queries the value of a property.
+!
+! Inputs:
+! prp_id - Property list identifier to modify
+! name - Name of property to get
+! value - Pointer to a location to which to copy the value of of the property
+! Outputs:
+! hdferr - Returns 0 if successful and -1 if fails
+!
+! AUTHOR
+! Elena Pourmal
+! October 9, 2002
+!
+! Fortran2003 Interface:
+!! SUBROUTINE h5pget_f(plid, name, value, hdferr)
+!! INTEGER(HID_T) , INTENT(IN) :: plid
+!! CHARACTER(LEN=*), INTENT(IN) :: name
+!! TYPE(C_PTR) , INTENT(OUT) :: value
+!! INTEGER , INTENT(OUT) :: hdferr
+!*****
+ SUBROUTINE h5pget_ptr(prp_id, name, value, hdferr)
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier
+ CHARACTER(LEN=*), INTENT(IN) :: name ! Name of property to modify
+ TYPE(C_PTR), INTENT(OUT) :: value ! Property value
+ INTEGER, INTENT(OUT) :: hdferr ! Error code
+ INTEGER :: name_len
+
+ name_len = LEN(name)
+ hdferr = h5pget_c(prp_id, name, name_len, value)
+
+ END SUBROUTINE h5pget_ptr
+!
+!****s* H5P (F03)/h5pregister_f_F90
+!
+! NAME
+! h5pregister
+!
+! PURPOSE
+! Registers a permanent property with a property list class.
+!
+! Inputs:
+! class - Property list class identifier
+! name - Name of property to register
+! size - Size of the property value
+! value - Property value, supported types are:
+! INTEGER
+! REAL
+! DOUBLE PRECISION
+! CHARACTER(LEN=*)
+!
+! Outputs:
+! hdferr - Returns 0 if successful and -1 if fails
+!
+! AUTHOR
+! Elena Pourmal
+! October 10, 2002
+!
+! Fortran90 Interface:
+!! SUBROUTINE h5pregister_f(class, name, size, value, hdferr)
+!! INTEGER(HID_T) , INTENT(IN) :: class
+!! CHARACTER(LEN=*), INTENT(IN) :: name
+!! INTEGER(SIZE_T) , INTENT(IN) :: size
+!! TYPE , INTENT(IN) :: value
+!! INTEGER , INTENT(OUT) :: hdferr
+!*****
+ SUBROUTINE h5pregister_integer(class, name, size, value, hdferr)
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: class ! Property list class identifier
+ CHARACTER(LEN=*), INTENT(IN) :: name ! Name of property to register
+ INTEGER(SIZE_T), INTENT(IN) :: size ! Size of the property value
+ INTEGER, INTENT(IN), TARGET :: value ! Property value
+ INTEGER, INTENT(OUT) :: hdferr ! Error code
+ INTEGER :: name_len
+ TYPE(C_PTR) :: f_ptr
+
+ f_ptr = C_LOC(value)
+
+ name_len = LEN(name)
+ hdferr = h5pregister_c(class, name, name_len, size, f_ptr)
+
+ END SUBROUTINE h5pregister_integer
+
+
+ SUBROUTINE h5pregister_char(class, name, size, value, hdferr)
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: class ! Property list class identifier
+ CHARACTER(LEN=*), INTENT(IN) :: name ! Name of property to register
+ INTEGER(SIZE_T), INTENT(IN) :: size ! size of the property value
+ CHARACTER(LEN=*), INTENT(IN) :: value ! Property value
+ INTEGER, INTENT(OUT) :: hdferr ! Error code
+ INTEGER :: name_len
+
+ INTEGER :: i
+ CHARACTER(LEN=1), ALLOCATABLE, DIMENSION(:), TARGET :: chr
+ INTEGER :: chr_len
+
+ TYPE(C_PTR) :: f_ptr
+ ! To resolve Issue #1 outlined in the preamble of this file we
+ ! need to pack the character string into an array.
+
+ chr_len = LEN(value)
+ ALLOCATE(chr(1:chr_len), STAT=hdferr)
+ IF (hdferr .NE. 0) THEN
+ hdferr = -1
+ RETURN
+ ENDIF
+
+ DO i = 1, chr_len
+ chr(i) = value(i:i)
+ ENDDO
+
+ f_ptr = C_LOC(chr(1)(1:1))
+
+ name_len = LEN(name)
+ hdferr = h5pregister_c(class, name, name_len, size, f_ptr)
+ DEALLOCATE(chr)
+ END SUBROUTINE h5pregister_char
+!
+!****s* H5P (F03)/h5pregister_f_F03
+!
+! NAME
+! h5pregister (F03)
+!
+! PURPOSE
+! Registers a permanent property with a property list class.
+!
+! Inputs:
+! class - Property list class identifier
+! name - Name of property to register
+! size - Size of the property value
+! value - Pointer to value to set the property to
+!
+! Outputs:
+! hdferr - Returns 0 if successful and -1 if fails
+!
+! AUTHOR
+! M. Scot Breitenfeld
+! June 24, 2008
+!
+! Fortran2003 Interface:
+!! SUBROUTINE h5pregister_f(class, name, size, value, hdferr)
+!! INTEGER(HID_T) , INTENT(IN) :: class
+!! CHARACTER(LEN=*), INTENT(IN) :: name
+!! INTEGER(SIZE_T) , INTENT(IN) :: size
+!! TYPE(C_PTR) , INTENT(IN) :: value
+!! INTEGER , INTENT(OUT) :: hdferr
+!*****
+
+ SUBROUTINE h5pregister_ptr(class, name, size, value, hdferr)
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: class ! Property list class identifier
+ CHARACTER(LEN=*), INTENT(IN) :: name ! Name of property to register
+ INTEGER(SIZE_T), INTENT(IN) :: size ! Size of the property value
+ TYPE(C_PTR), INTENT(IN) :: value ! Property value
+ INTEGER, INTENT(OUT) :: hdferr ! Error code
+ INTEGER :: name_len
+
+ name_len = LEN(name)
+ hdferr = h5pregister_c(class, name, name_len, size, value)
+ END SUBROUTINE h5pregister_ptr
+
+!
+!****s* H5P (F03)/h5pinsert_f_F90
+!
+! NAME
+! h5pinsert (f90)
+!
+! PURPOSE
+! Registers a temporary property with a property list class.
+!
+! Inputs:
+! plist - Property list class identifier
+! name - Name of property to insert
+! size - Size of the property value
+! value - Property value, supported types are:
+! INTEGER
+! REAL
+! DOUBLE PRECISION
+! CHARACTER(LEN=*)
+! Outputs:
+! hdferr - Returns 0 if successful and -1 if fails
+! AUTHOR
+! Elena Pourmal
+! October 10, 2002
+!
+! Fortran90 Interface:
+!! SUBROUTINE h5pinsert_f
+!! INTEGER(HID_T) , INTENT(IN) :: plist
+!! CHARACTER(LEN=*), INTENT(IN) :: name
+!! INTEGER(SIZE_T) , INTENT(IN) :: size
+!! TYPE , INTENT(IN) :: value
+!! INTEGER , INTENT(OUT) :: hdferr
+!*****
+ SUBROUTINE h5pinsert_integer(plist, name, size, value, hdferr)
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: plist ! Property list identifier
+ CHARACTER(LEN=*), INTENT(IN) :: name ! Name of property to insert
+ INTEGER(SIZE_T), INTENT(IN) :: size ! Size of the property value
+ INTEGER, INTENT(IN), TARGET :: value ! Property value
+ INTEGER, INTENT(OUT) :: hdferr ! Error code
+ INTEGER :: name_len
+ TYPE(c_ptr) :: f_ptr
+
+ f_ptr = c_loc(value)
+
+ name_len = LEN(name)
+ hdferr = h5pinsert_c(plist, name , name_len, size, f_ptr)
+ END SUBROUTINE h5pinsert_integer
+
+ SUBROUTINE h5pinsert_char(plist, name, size, value, hdferr)
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: plist ! Property list identifier
+ CHARACTER(LEN=*), INTENT(IN) :: name ! Name of property to insert
+ INTEGER(SIZE_T), INTENT(IN) :: size ! Size of property value
+ CHARACTER(LEN=*), INTENT(IN) :: value ! Property value
+ INTEGER, INTENT(OUT) :: hdferr ! Error code
+ INTEGER :: name_len
+
+ INTEGER :: i
+ CHARACTER(LEN=1), ALLOCATABLE, DIMENSION(:), TARGET :: chr
+ INTEGER :: chr_len
+
+ TYPE(c_ptr) :: f_ptr
+ ! To resolve Issue #1 outlined in the preamble of this file we
+ ! need to pack the character string into an array.
+
+ chr_len = LEN(value)
+ ALLOCATE(chr(1:chr_len), STAT=hdferr)
+ IF (hdferr .NE. 0) THEN
+ hdferr = -1
+ RETURN
+ ENDIF
+
+ DO i = 1, chr_len
+ chr(i) = value(i:i)
+ ENDDO
+
+ f_ptr = C_LOC(chr(1)(1:1))
+
+ name_len = LEN(name)
+ hdferr = h5pinsert_c(plist, name , name_len, size, f_ptr)
+
+ DEALLOCATE(chr)
+
+ END SUBROUTINE h5pinsert_char
+
+!
+!****s* H5P (F03)/h5pinsert_f_F03
+!
+! NAME
+! h5pinsert (f03)
+!
+! PURPOSE
+! Registers a temporary property with a property list class.
+!
+! Inputs:
+! plist - Property list class identifier
+! name - Name of property to insert
+! size - Size of the property value
+! value - Pointer to new value pointer for the property being modified
+!
+! Outputs:
+! hdferr - Returns 0 if successful and -1 if fails
+!
+! AUTHOR
+! M. Scot Breitenfeld
+! June 24, 2008
+!
+! Fortran90 Interface:
+!! SUBROUTINE h5pinsert_f
+!! INTEGER(HID_T) , INTENT(IN) :: plist
+!! CHARACTER(LEN=*), INTENT(IN) :: name
+!! INTEGER(SIZE_T) , INTENT(IN) :: size
+!! TYPE(C_PTR) , INTENT(IN) :: value
+!! INTEGER , INTENT(OUT) :: hdferr
+!*****
+ SUBROUTINE h5pinsert_ptr(plist, name, size, value, hdferr)
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: plist ! Property list identifier
+ CHARACTER(LEN=*), INTENT(IN) :: name ! Name of property to insert
+ INTEGER(SIZE_T), INTENT(IN) :: size ! Size of property value
+ TYPE(c_ptr), INTENT(IN) :: value ! Property value
+ INTEGER, INTENT(OUT) :: hdferr ! Error code
+ INTEGER :: name_len
+
+ name_len = LEN(name)
+ hdferr = h5pinsert_c(plist, name , name_len, size, value)
+ END SUBROUTINE h5pinsert_ptr
+!
+!****s* H5P (F03)/h5pcreate_class_f_F03
+!
+! NAME
+! h5pcreate_class_f
+!
+! PURPOSE
+! Create a new property list class
+!
+! Inputs:
+! parent - Parent property list class identifier
+! Possible values include:
+! H5P_ROOT_F
+! H5P_FILE_CREATE_F
+! H5P_FILE_ACCESS_F
+! H5P_DATASET_CREATE_F
+! H5P_DATASET_XFER_F
+! H5P_FILE_MOUNT_F
+! name - Name of property to create
+!
+! Outputs:
+! class - Property list class identifier
+! hdferr - Returns 0 if successful and -1 if fails
+!
+! Optional parameters:
+! H5P_cls_create_func_t (create) - Callback routine called when a property list is created
+! create_data - User pointer to any class creation information needed
+! H5P_cls_copy_func_t (copy) - Callback routine called when a property list is copied
+! copy_data - User pointer to any class copy information needed
+! H5P_cls_close_func_t (close) - Callback routine called when a property list is being closed
+! close_data - User pointer to any class close information needed
+!
+! AUTHOR
+! Elena Pourmal
+! October 9, 2002
+!
+! HISTORY
+! Added callback arguments
+! M. Scot Breitenfeld, July 3, 2008
+!
+! Fortran2003 Interface:
+ SUBROUTINE h5pcreate_class_f(parent, name, class, hdferr, create, create_data, &
+ copy, copy_data, CLOSE, close_data)
+ IMPLICIT NONE
+ INTEGER(HID_T) , INTENT(IN) :: parent
+ CHARACTER(LEN=*), INTENT(IN) :: name
+ INTEGER(HID_T) , INTENT(OUT) :: class
+ INTEGER , INTENT(OUT) :: hdferr
+ TYPE(C_PTR) , OPTIONAL :: create_data, copy_data, close_data
+ TYPE(C_FUNPTR) , OPTIONAL :: create, copy, close
+!*****
+ INTEGER :: name_len
+ TYPE(C_PTR) :: create_data_default, copy_data_default, close_data_default
+ TYPE(C_FUNPTR) :: create_default, copy_default, close_default
+ INTERFACE
+ INTEGER FUNCTION h5pcreate_class_c(parent, name, name_len, class, &
+ create, create_data, copy, copy_data, close, close_data) &
+ BIND(C, NAME='h5pcreate_class_c')
+ IMPORT :: c_char, c_ptr, c_funptr
+ IMPORT :: HID_T
+ INTEGER(HID_T), INTENT(IN) :: parent
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(IN) :: name
+ INTEGER, INTENT(IN) :: name_len
+ INTEGER(HID_T), INTENT(OUT) :: class
+ TYPE(C_PTR), VALUE :: create_data, copy_data, close_data
+ TYPE(C_FUNPTR), VALUE :: create, copy, close
+ END FUNCTION h5pcreate_class_c
+ END INTERFACE
+ name_len = LEN(name)
+
+ create_default = c_null_funptr !fix:scot
+ create_data_default = c_null_ptr
+ copy_default = c_null_funptr !fix:scot
+ copy_data_default = c_null_ptr
+ close_default = c_null_funptr !fix:scot
+ close_data_default = c_null_ptr
+
+ IF(PRESENT(create)) create_default = create
+ IF(PRESENT(create_data)) create_data_default = create_data
+ IF(PRESENT(copy)) copy_default = copy
+ IF(PRESENT(copy_data)) copy_data_default = copy_data
+ IF(PRESENT(close)) close_default = close
+ IF(PRESENT(close_data)) close_data_default = close_data
+
+ hdferr = h5pcreate_class_c(parent, name , name_len, class, &
+ create_default, create_data_default, &
+ copy_default, copy_data_default, &
+ close_default, close_data_default)
+
+ END SUBROUTINE h5pcreate_class_f
+
+!
+!****s* H5P (F03)/h5pset_file_image_f_F03
+!
+! NAME
+! h5pset_file_image_f
+!
+! PURPOSE
+! Sets an initial file image in a memory buffer.
+!
+! Inputs:
+! fapl_id - File access property list identifier
+! buf_ptr - Pointer to the initial file image,
+! or C_NULL_PTR if no initial file image is desired
+! buf_len - Size of the supplied buffer, or 0 (zero) if no initial image is desired
+!
+! Outputs:
+! hdferr - Returns 0 if successful and -1 if fails
+!
+! AUTHOR
+! M. Scot Breitenfeld
+! February 19, 2012
+!
+! Fortran2003 Interface:
+ SUBROUTINE h5pset_file_image_f(fapl_id, buf_ptr, buf_len, hdferr)
+ IMPLICIT NONE
+ INTEGER(HID_T) , INTENT(IN) :: fapl_id
+ TYPE(C_PTR) , INTENT(IN) :: buf_ptr
+ INTEGER(SIZE_T), INTENT(IN) :: buf_len
+ INTEGER , INTENT(OUT) :: hdferr
+!*****
+ INTERFACE
+ INTEGER FUNCTION h5pset_file_image_c(fapl_id, buf_ptr, buf_len) &
+ BIND(C, NAME='h5pset_file_image_c')
+ IMPORT :: c_ptr
+ IMPORT :: HID_T, SIZE_T
+ INTEGER(HID_T), INTENT(IN) :: fapl_id
+ TYPE(C_PTR), VALUE :: buf_ptr
+ INTEGER(SIZE_T), INTENT(IN) :: buf_len
+ END FUNCTION h5pset_file_image_c
+ END INTERFACE
+
+ hdferr = h5pset_file_image_c(fapl_id, buf_ptr, buf_len)
+
+ END SUBROUTINE h5pset_file_image_f
+!
+!****s* H5P (F03)/h5pget_file_image_f_F03
+!
+! NAME
+! h5pget_file_image_f
+!
+! PURPOSE
+! Retrieves a copy of the file image designated as the initial content and structure of a file.
+!
+! Inputs:
+! fapl_id - File access property list identifier.
+!
+! Outputs:
+! buf_ptr - Will hold either a C_NULL_PTR or a scalar of type
+! c_loc. If buf_ptr is not C_NULL_PTR, on successful
+! return, buf_ptr shall contain a C pointer to a copy
+! of the initial image provided in the last call to
+! H5Pset_file_image_f for the supplied fapl_id, or
+! buf_ptr shall contain a C_NULL_PTR if there is no
+! initial image set.
+!
+! buf_len_ptr - Contains the value of the buffer parameter for
+! the initial image in the supplied fapl_id. The value
+! will be 0 if no initial image is set.
+!
+!
+! hdferr - Returns 0 if successful and -1 if fails
+!
+! AUTHOR
+! M. Scot Breitenfeld
+! February 19, 2012
+!
+! Fortran2003 Interface:
+ SUBROUTINE h5pget_file_image_f(fapl_id, buf_ptr, buf_len_ptr, hdferr)
+ IMPLICIT NONE
+ INTEGER(HID_T) , INTENT(IN) :: fapl_id
+ TYPE(C_PTR) , INTENT(OUT), DIMENSION(*) :: buf_ptr
+ INTEGER(SIZE_T), INTENT(OUT) :: buf_len_ptr
+ INTEGER , INTENT(OUT) :: hdferr
+
+!*****
+ INTERFACE
+ INTEGER FUNCTION h5pget_file_image_c(fapl_id, buf_ptr, buf_len_ptr) &
+ BIND(C, NAME='h5pget_file_image_c')
+ IMPORT :: c_ptr
+ IMPORT :: HID_T, SIZE_T
+ INTEGER(HID_T), INTENT(IN) :: fapl_id
+ TYPE(C_PTR), DIMENSION(*), INTENT(OUT) :: buf_ptr
+ INTEGER(SIZE_T), INTENT(OUT) :: buf_len_ptr
+ END FUNCTION h5pget_file_image_c
+ END INTERFACE
+
+ hdferr = h5pget_file_image_c(fapl_id, buf_ptr, buf_len_ptr)
+
+ END SUBROUTINE h5pget_file_image_f
+
+! *********************************************************************
+! Fortran interfaces for H5P functions needed by parallel MPI programs.
+! *********************************************************************
+
+#ifdef H5_HAVE_PARALLEL
+!****s* H5P/h5pset_fapl_mpio_f
+!
+! NAME
+! h5pset_fapl_mpio_f
+!
+! PURPOSE
+! Stores MPI IO communicator information to the file
+! access property list.
+!
+! INPUTS
+! prp_id - file access property list identifier
+! comm - MPI-2 communicator
+! info - MPI-2 info object
+! OUTPUTS
+! hdferr - Returns 0 if successful and -1 if fails
+! AUTHOR
+! Elena Pourmal
+! November, 2000
+!
+! SOURCE
+ SUBROUTINE h5pset_fapl_mpio_f(prp_id, comm, info, hdferr)
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier
+ INTEGER, INTENT(IN) :: comm ! MPI communicator to be used for file open
+ ! as defined in MPI_FILE_OPEN of MPI-2
+ INTEGER, INTENT(IN) :: info ! MPI info object to be used for file open
+ ! as defined in MPI_FILE_OPEN of MPI-2
+ INTEGER, INTENT(OUT) :: hdferr ! Error code
+!*****
+ INTERFACE
+ INTEGER FUNCTION h5pset_fapl_mpio_c(prp_id, comm, info) &
+ BIND(C,NAME='h5pset_fapl_mpio_c')
+ IMPORT :: HID_T
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: prp_id
+ INTEGER , INTENT(IN) :: comm
+ INTEGER , INTENT(IN) :: info
+ END FUNCTION h5pset_fapl_mpio_c
+ END INTERFACE
+
+ hdferr = h5pset_fapl_mpio_c(prp_id, comm, info)
+
+ END SUBROUTINE h5pset_fapl_mpio_f
+
+!****s* H5P/h5pget_fapl_mpio_f
+!
+! NAME
+! h5pget_fapl_mpio_f
+!
+! PURPOSE
+! Returns MPI communicator information.
+!
+! INPUTS
+! prp_id - file access property list identifier
+! OUTPUTS
+! comm - MPI-2 communicator
+! info - MPI-2 info object
+! hdferr - Returns 0 if successful and -1 if fails
+!
+! AUTHOR
+! Elena Pourmal
+! November, 2000
+!
+! SOURCE
+ SUBROUTINE h5pget_fapl_mpio_f(prp_id, comm, info, hdferr)
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier
+ INTEGER, INTENT(OUT) :: comm ! buffer to return communicator
+ INTEGER, INTENT(OUT) :: info ! buffer to return info object
+ ! as defined in MPI_FILE_OPEN of MPI-2
+ INTEGER, INTENT(OUT) :: hdferr ! Error code
+!*****
+ INTERFACE
+ INTEGER FUNCTION h5pget_fapl_mpio_c(prp_id, comm, info) &
+ BIND(C,NAME='h5pget_fapl_mpio_c')
+ IMPORT :: HID_T
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: prp_id
+ INTEGER , INTENT(OUT) :: comm
+ INTEGER , INTENT(OUT) :: info
+ END FUNCTION h5pget_fapl_mpio_c
+ END INTERFACE
+
+ hdferr = h5pget_fapl_mpio_c(prp_id, comm, info)
+
+ END SUBROUTINE h5pget_fapl_mpio_f
+
+!****s* H5P/h5pset_dxpl_mpio_f
+!
+! NAME
+! h5pset_dxpl_mpio_f
+!
+! PURPOSE
+! Sets data transfer mode.
+!
+! INPUTS
+! prp_id - data transfer property list identifier
+! data_xfer_mode - transfer mode; possible values are:
+! H5FD_MPIO_INDEPENDENT_F
+! H5FD_MPIO_COLLECTIVE_F
+! OUTPUTS
+! hdferr - Returns 0 if successful and -1 if fails
+! AUTHOR
+! Elena Pourmal
+! November, 2000
+!
+! SOURCE
+ SUBROUTINE h5pset_dxpl_mpio_f(prp_id, data_xfer_mode, hdferr)
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier
+ INTEGER, INTENT(IN) :: data_xfer_mode ! Data transfer mode. Possible values are:
+ ! H5FD_MPIO_INDEPENDENT_F
+ ! H5FD_MPIO_COLLECTIVE_F
+ INTEGER, INTENT(OUT) :: hdferr ! Error code
+!*****
+ INTERFACE
+ INTEGER FUNCTION h5pset_dxpl_mpio_c(prp_id, data_xfer_mode) &
+ BIND(C,NAME='h5pset_dxpl_mpio_c')
+ IMPORT :: HID_T
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: prp_id
+ INTEGER , INTENT(IN) :: data_xfer_mode
+ END FUNCTION h5pset_dxpl_mpio_c
+ END INTERFACE
+
+ hdferr = h5pset_dxpl_mpio_c(prp_id, data_xfer_mode)
+ END SUBROUTINE h5pset_dxpl_mpio_f
+
+!****s* H5P/h5pget_dxpl_mpio_f
+!
+! NAME
+! h5pget_dxpl_mpio_f
+!
+! PURPOSE
+! Returns the data transfer mode.
+!
+! INPUTS
+! prp_id - data transfer property list identifier
+! OUTPUTS
+! data_xfer_mode- transfer mode; possible values are:
+! H5FD_MPIO_INDEPENDENT_F
+! H5FD_MPIO_COLLECTIVE_F
+! hdferr - Returns 0 if successful and -1 if fails
+!
+! AUTHOR
+! Elena Pourmal
+! November, 2000
+!
+! SOURCE
+ SUBROUTINE h5pget_dxpl_mpio_f(prp_id, data_xfer_mode, hdferr)
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier
+ INTEGER, INTENT(OUT) :: data_xfer_mode ! Data transfer mode. Possible values are:
+ ! H5FD_MPIO_INDEPENDENT_F
+ ! H5FD_MPIO_COLLECTIVE_F
+ INTEGER, INTENT(OUT) :: hdferr ! Error code
+!*****
+ INTERFACE
+ INTEGER FUNCTION h5pget_dxpl_mpio_c(prp_id, data_xfer_mode) &
+ BIND(C,NAME='h5pget_dxpl_mpio_c')
+ IMPORT :: HID_T
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: prp_id
+ INTEGER , INTENT(OUT) :: data_xfer_mode
+ END FUNCTION h5pget_dxpl_mpio_c
+ END INTERFACE
+
+ hdferr = h5pget_dxpl_mpio_c(prp_id, data_xfer_mode)
+ END SUBROUTINE h5pget_dxpl_mpio_f
+
+!****s* H5P/h5pget_mpio_actual_io_mode_f
+! NAME
+! h5pget_mpio_actual_io_mode_f
+!
+! PURPOSE
+! Retrieves the type of I/O that HDF5 actually performed on the last
+! parallel I/O call. This is not necessarily the type of I/O requested.
+!
+! INPUTS
+! dxpl_id - Dataset transfer property list identifier.
+! OUTPUTS
+! actual_io_mode - The type of I/O performed by this process.
+! hdferr - Returns 0 if successful and -1 if fails.
+!
+! AUTHOR
+! M. Scot Breitenfeld
+! July 27, 2012
+!
+! HISTORY
+!
+! Fortran90 Interface:
+ SUBROUTINE h5pget_mpio_actual_io_mode_f(dxpl_id, actual_io_mode, hdferr)
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: dxpl_id
+ INTEGER , INTENT(OUT) :: actual_io_mode
+ INTEGER , INTENT(OUT) :: hdferr
+!*****
+ INTERFACE
+ INTEGER FUNCTION h5pget_mpio_actual_io_mode_c(dxpl_id, actual_io_mode) &
+ BIND(C,NAME='h5pget_mpio_actual_io_mode_c')
+ IMPORT :: HID_T
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: dxpl_id
+ INTEGER , INTENT(OUT) :: actual_io_mode
+ END FUNCTION h5pget_mpio_actual_io_mode_c
+ END INTERFACE
+
+ actual_io_mode = -1
+
+ hdferr = h5pget_mpio_actual_io_mode_c(dxpl_id, actual_io_mode)
+
+ END SUBROUTINE h5pget_mpio_actual_io_mode_f
+#endif
+
END MODULE H5P
diff --git a/fortran/src/H5Pff_F03.f90 b/fortran/src/H5Pff_F03.f90
deleted file mode 100644
index 01d1d98..0000000
--- a/fortran/src/H5Pff_F03.f90
+++ /dev/null
@@ -1,1267 +0,0 @@
-!****h* ROBODoc/H5P (F03)
-!
-! NAME
-! H5P_PROVISIONAL
-!
-! PURPOSE
-! This file contains Fortran 90 and Fortran 2003 interfaces for H5P functions.
-! It contains the same functions as H5Pff_F90.f90 but includes the
-! Fortran 2003 functions and the interface listings. This file will be compiled
-! instead of H5Pff_F90.f90 if Fortran 2003 functions are enabled.
-!
-! COPYRIGHT
-! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
-! Copyright by The HDF Group. *
-! Copyright by the Board of Trustees of the University of Illinois. *
-! All rights reserved. *
-! *
-! This file is part of HDF5. The full HDF5 copyright notice, including *
-! terms governing use, modification, and redistribution, is contained in *
-! the files COPYING and Copyright.html. COPYING can be found at the root *
-! of the source code distribution tree; Copyright.html can be found at the *
-! root level of an installed copy of the electronic HDF5 document set and *
-! is linked from the top-level documents page. It can also be found at *
-! http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have *
-! access to either file, you may request a copy from help@hdfgroup.org. *
-! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
-!
-! NOTES
-! *** IMPORTANT ***
-! If you add a new H5P function you must add the function name to the
-! Windows dll file 'hdf5_fortrandll.def.in' in the fortran/src directory.
-! This is needed for Windows based operating systems.
-!
-!*****
-
-MODULE H5P_PROVISIONAL
-
- USE H5GLOBAL
-
- INTERFACE h5pset_fill_value_f
- MODULE PROCEDURE h5pset_fill_value_integer
- MODULE PROCEDURE h5pset_fill_value_real
- MODULE PROCEDURE h5pset_fill_value_char
- ! Recommended procedure:
- MODULE PROCEDURE h5pset_fill_value_ptr
-
- END INTERFACE
-
- INTERFACE h5pget_fill_value_f
- MODULE PROCEDURE h5pget_fill_value_integer
- MODULE PROCEDURE h5pget_fill_value_real
- MODULE PROCEDURE h5pget_fill_value_char
- ! Recommended procedure:
- MODULE PROCEDURE h5pget_fill_value_ptr
-
- END INTERFACE
-
- INTERFACE h5pset_f
- MODULE PROCEDURE h5pset_integer
- MODULE PROCEDURE h5pset_real
- MODULE PROCEDURE h5pset_char
- ! Recommended procedure:
- MODULE PROCEDURE h5pset_ptr
-
- END INTERFACE
-
- INTERFACE h5pget_f
- MODULE PROCEDURE h5pget_integer
- MODULE PROCEDURE h5pget_real
- MODULE PROCEDURE h5pget_char
- ! Recommended procedure:
- MODULE PROCEDURE h5pget_ptr
- END INTERFACE
-
- INTERFACE h5pregister_f
- MODULE PROCEDURE h5pregister_integer
- MODULE PROCEDURE h5pregister_real
- MODULE PROCEDURE h5pregister_char
- ! Recommended procedure:
- MODULE PROCEDURE h5pregister_ptr
- END INTERFACE
-
- INTERFACE h5pinsert_f
- MODULE PROCEDURE h5pinsert_integer
- MODULE PROCEDURE h5pinsert_real
- MODULE PROCEDURE h5pinsert_char
- ! Recommended procedure:
- MODULE PROCEDURE h5pinsert_ptr
- END INTERFACE
-
- INTERFACE
- INTEGER FUNCTION h5pget_fill_value_c(prp_id, type_id, fillvalue) &
- BIND(C, NAME='h5pget_fill_value_c')
- USE H5GLOBAL
- USE, INTRINSIC :: ISO_C_BINDING, ONLY : c_ptr
- INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier
- INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier of
- ! of fillvalue datatype
- ! (in memory)
- TYPE(C_PTR), VALUE :: fillvalue ! Fillvalue
- END FUNCTION h5pget_fill_value_c
- END INTERFACE
-
- INTERFACE
- INTEGER FUNCTION h5pset_fill_value_c(prp_id, type_id, fillvalue) &
- BIND(C, NAME='h5pset_fill_value_c')
- USE H5GLOBAL
- USE, INTRINSIC :: ISO_C_BINDING, ONLY : c_ptr
- INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier
- INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier of
- ! of fillvalue datatype
- ! (in memory)
- TYPE(C_PTR), VALUE :: fillvalue ! Fillvalue
- END FUNCTION h5pset_fill_value_c
- END INTERFACE
-
- INTERFACE
- INTEGER FUNCTION h5pset_c(prp_id, name, name_len, value) &
- BIND(C, NAME='h5pset_c')
- USE, INTRINSIC :: ISO_C_BINDING, ONLY : c_char, c_ptr
- USE H5GLOBAL
- INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(IN) :: name ! Name of property to modify
- INTEGER :: name_len
- TYPE(C_PTR), VALUE :: value ! Property value
- END FUNCTION h5pset_c
- END INTERFACE
-
- INTERFACE
- INTEGER FUNCTION h5pget_c(prp_id, name, name_len, value) &
- BIND(C, NAME='h5pget_c')
- USE, INTRINSIC :: ISO_C_BINDING, ONLY : c_char, c_ptr
- USE H5GLOBAL
- INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(IN) :: name ! Name of property to modify
- INTEGER :: name_len
- TYPE(C_PTR), VALUE :: value ! Property value
- END FUNCTION h5pget_c
- END INTERFACE
-
- INTERFACE
- INTEGER FUNCTION h5pregister_c(class, name, name_len, size, value) &
- BIND(C, NAME='h5pregister_c')
- USE, INTRINSIC :: ISO_C_BINDING, ONLY : c_char, c_ptr
- USE H5GLOBAL
- INTEGER(HID_T), INTENT(IN) :: class
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(IN) :: name
- INTEGER, INTENT(IN) :: name_len
- INTEGER(SIZE_T), INTENT(IN) :: size
- TYPE(C_PTR), INTENT(IN), VALUE :: value
- END FUNCTION h5pregister_c
- END INTERFACE
-
- INTERFACE
- INTEGER FUNCTION h5pinsert_c(plist, name, name_len, size, value) &
- BIND(C, NAME='h5pinsert_c')
- USE, INTRINSIC :: ISO_C_BINDING, ONLY : c_char, c_ptr
- USE H5GLOBAL
- INTEGER(HID_T), INTENT(IN) :: plist
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(IN) :: name
- INTEGER, INTENT(IN) :: name_len
- INTEGER(SIZE_T), INTENT(IN) :: size
- TYPE(C_PTR), INTENT(IN), VALUE :: value
- END FUNCTION h5pinsert_c
- END INTERFACE
-
-CONTAINS
-
-!
-!****s* H5P (F03)/h5pset_fill_value_f_F90
-!
-! NAME
-! h5pset_fill_value_f
-!
-! PURPOSE
-! Sets fill value for a dataset creation property list
-!
-! Inputs:
-! prp_id - Property list identifier
-! type_id - Datatype identifier of fill value datatype (in memory)
-! fillvalue - Fillvalue
-!
-! Outputs:
-! hdferr - Returns 0 if successful and -1 if fails
-!
-! AUTHOR
-! Elena Pourmal
-! August 12, 1999
-!
-! HISTORY
-!
-! Explicit Fortran interfaces were added for
-! called C functions (it is needed for Windows
-! port). March 14, 2001
-!
-! Added the recommended way of passing fillvalue
-! and that is by passing the C address, all other
-! ways are obsolete and should be avoided. June, 2008 MSB
-!
-! NOTES
-! h5pset(get)fill_value_f function is overloaded to support
-! INTEGER, REAL, DOUBLE PRECISION and CHARACTER dtatypes.
-!
-! Fortran90 Interface:
-!! SUBROUTINE h5pset_fill_value_f(prp_id, type_id, fillvalue, hdferr)
-!! IMPLICIT NONE
-!! INTEGER(HID_T), INTENT(IN) :: prp_id
-!! INTEGER(HID_T), INTENT(IN) :: type_id
-!! TYPE(VOID) , INTENT(IN) :: fillvalue
-!! INTEGER , INTENT(OUT) :: hdferr
-!*****
-
-
- SUBROUTINE h5pset_fill_value_integer(prp_id, type_id, fillvalue, hdferr)
- USE, INTRINSIC :: ISO_C_BINDING
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier
- INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier of
- ! of fillvalue datatype
- ! (in memory)
- INTEGER, INTENT(IN), TARGET :: fillvalue ! Fillvalue
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- TYPE(C_PTR) :: f_ptr ! C address
-
- f_ptr = C_LOC(fillvalue)
-
- hdferr = h5pset_fill_value_c(prp_id, type_id, f_ptr)
-
- END SUBROUTINE h5pset_fill_value_integer
-!
-!****s* H5P (F03)/h5pget_fill_value_f_F90
-!
-! NAME
-! h5pget_fill_value_f
-!
-! PURPOSE
-! Gets fill value for a dataset creation property list
-!
-! Inputs:
-! prp_id - Property list identifier
-! type_id - Datatype identifier of fill value datatype (in memory)
-!
-! Outputs:
-! fillvalue - Fillvalue
-! hdferr - Returns 0 if successful and -1 if fails
-!
-! AUTHOR
-! Elena Pourmal
-! August 12, 1999
-!
-! HISTORY
-!
-! Explicit Fortran interfaces were added for
-! called C functions (it is needed for Windows
-! port). March 14, 2001
-!
-! Added the recommended way of passing fillvalue
-! and that is by passing the C address, all other
-! ways are obsolete and should be avoided. June, 2008 MSB
-!
-! NOTES
-! h5pget(get)fill_value_f function is overloaded to support
-! INTEGER, REAL, DOUBLE PRECISION and CHARACTER dtatypes.
-!
-! Fortran90 Interface:
-!! SUBROUTINE h5pget_fill_value_f(prp_id, type_id, fillvalue, hdferr)
-!! INTEGER(HID_T), INTENT(IN) :: prp_id
-!! INTEGER(HID_T), INTENT(IN) :: type_id
-!! TYPE(VOID) , INTENT(OUT) :: fillvalue
-!! INTEGER , INTENT(OUT) :: hdferr
-!*****
-
- SUBROUTINE h5pget_fill_value_integer(prp_id, type_id, fillvalue, hdferr)
- USE, INTRINSIC :: ISO_C_BINDING
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier
- INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier of
- ! of fillvalue datatype
- ! (in memory)
- INTEGER, INTENT(OUT), TARGET :: fillvalue ! Fillvalue
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- TYPE(C_PTR) :: f_ptr ! C address
-
- f_ptr = C_LOC(fillvalue)
-
- hdferr = h5pget_fill_value_c(prp_id, type_id, f_ptr)
-
- END SUBROUTINE h5pget_fill_value_integer
-
-
- SUBROUTINE h5pset_fill_value_real(prp_id, type_id, fillvalue, hdferr)
- USE, INTRINSIC :: ISO_C_BINDING
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier
- INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier of
- ! of fillvalue datatype
- ! (in memory)
- REAL, INTENT(IN), TARGET :: fillvalue ! Fillvalue
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- TYPE(C_PTR) :: f_ptr ! C address
-
- f_ptr = C_LOC(fillvalue)
-
- hdferr = h5pset_fill_value_c(prp_id, type_id, f_ptr)
-
- END SUBROUTINE h5pset_fill_value_real
-
-
- SUBROUTINE h5pget_fill_value_real(prp_id, type_id, fillvalue, hdferr)
- USE, INTRINSIC :: ISO_C_BINDING
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier
- INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier of
- ! of fillvalue datatype
- ! (in memory)
- REAL, INTENT(OUT), TARGET :: fillvalue ! Fillvalue
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- TYPE(C_PTR) :: f_ptr ! C address
-
- f_ptr = C_LOC(fillvalue)
-
- hdferr = h5pget_fill_value_c(prp_id, type_id, f_ptr)
-
- END SUBROUTINE h5pget_fill_value_real
-
- SUBROUTINE h5pset_fill_value_char(prp_id, type_id, fillvalue, hdferr)
- USE, INTRINSIC :: ISO_C_BINDING
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier
- INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier of
- ! of fillvalue datatype
- ! (in memory)
- CHARACTER, INTENT(IN), TARGET :: fillvalue ! Fillvalue
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- TYPE(C_PTR) :: f_ptr ! C address
-
- f_ptr = C_LOC(fillvalue)
-
- hdferr = h5pset_fill_value_c(prp_id, type_id, f_ptr)
-
- END SUBROUTINE h5pset_fill_value_char
-
- SUBROUTINE h5pget_fill_value_char(prp_id, type_id, fillvalue, hdferr)
- USE, INTRINSIC :: ISO_C_BINDING
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier
- INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier of
- ! of fillvalue datatype
- ! (in memory)
- CHARACTER, INTENT(OUT) :: fillvalue ! Fillvalue
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-
- INTEGER :: i
- CHARACTER(LEN=1), ALLOCATABLE, DIMENSION(:), TARGET :: chr
- INTEGER :: chr_len
-
- TYPE(C_PTR) :: f_ptr ! C address
- ! To resolve Issue #1 outlined in the preamble of this file we
- ! need to pack the character string into an array.
-
- chr_len = LEN(fillvalue)
- ALLOCATE(chr(1:chr_len), STAT=hdferr)
- IF (hdferr .NE. 0) THEN
- hdferr = -1
- RETURN
- ENDIF
-
- f_ptr = C_LOC(chr(1)(1:1))
-
- hdferr = h5pget_fill_value_c(prp_id, type_id, f_ptr)
-
- DO i = 1, chr_len
- fillvalue(i:i) = chr(i)
- ENDDO
- DEALLOCATE(chr)
-
- END SUBROUTINE h5pget_fill_value_char
-!
-!****s* H5P (F03)/h5pset_fill_value_f_F03
-!
-! NAME
-! h5pset_fill_value_f
-!
-! PURPOSE
-! Sets fill value for a dataset creation property list
-!
-! Inputs:
-! prp_id - Property list identifier
-! type_id - Datatype identifier of fill value datatype (in memory)
-! fillvalue - Fillvalue
-!
-! Outputs:
-! hdferr - Returns 0 if successful and -1 if fails
-!
-! AUTHOR
-! Elena Pourmal
-! August 12, 1999
-!
-! HISTORY
-!
-! Explicit Fortran interfaces were added for
-! called C functions (it is needed for Windows
-! port). March 14, 2001
-!
-! Added the recommended way of passing fillvalue
-! and that is by passing the C address, all other
-! ways are obsolete and should be avoided. June, 2008 MSB
-!
-! NOTES
-! h5pset(get)fill_value_f function is overloaded to support
-! INTEGER, REAL, DOUBLE PRECISION and CHARACTER dtatypes.
-!
-! Fortran2003 Interface:
-!! SUBROUTINE h5pset_fill_value_f(prp_id, type_id, fillvalue, hdferr)
-!! INTEGER(HID_T), INTENT(IN) :: prp_id
-!! INTEGER(HID_T), INTENT(IN) :: type_id
-!! TYPE(C_PTR) , INTENT(IN) :: fillvalue
-!! INTEGER , INTENT(OUT) :: hdferr
-!*****
-
- SUBROUTINE h5pset_fill_value_ptr(prp_id, type_id, fillvalue, hdferr)
- USE, INTRINSIC :: ISO_C_BINDING
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier
- INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier of
- ! of fillvalue datatype
- ! (in memory)
- TYPE(C_PTR), INTENT(IN) :: fillvalue ! Fillvalue
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-
- hdferr = h5pset_fill_value_c(prp_id, type_id, fillvalue)
-
- END SUBROUTINE h5pset_fill_value_ptr
-
-!
-!****s* H5P (F03)/h5pget_fill_value_f_F03
-!
-! NAME
-! h5pget_fill_value_f
-!
-! PURPOSE
-! Gets fill value for a dataset creation property list
-!
-! Inputs:
-! prp_id - Property list identifier
-! type_id - Datatype identifier of fill value datatype (in memory)
-!
-! Outputs:
-! fillvalue - Fillvalue
-! hdferr - Returns 0 if successful and -1 if fails
-!
-! AUTHOR
-! Elena Pourmal
-! August 12, 1999
-!
-! HISTORY
-!
-! Explicit Fortran interfaces were added for
-! called C functions (it is needed for Windows
-! port). March 14, 2001
-!
-! Added the recommended way of passing fillvalue
-! and that is by passing the C address, all other
-! ways are obsolete and should be avoided. June, 2008 MSB
-!
-! NOTES
-! h5pget(get)fill_value_f function is overloaded to support
-! INTEGER, REAL, DOUBLE PRECISION and CHARACTER dtatypes.
-!
-! Fortran2003 Interface:
-!! SUBROUTINE h5pget_fill_value_f(prp_id, type_id, fillvalue, hdferr)
-!! INTEGER(HID_T), INTENT(IN) :: prp_id
-!! INTEGER(HID_T), INTENT(IN) :: type_id
-!! TYPE(C_PTR) , INTENT(OUT) :: fillvalue
-!! INTEGER , INTENT(OUT) :: hdferr
-!*****
-
- SUBROUTINE h5pget_fill_value_ptr(prp_id, type_id, fillvalue, hdferr)
- USE, INTRINSIC :: ISO_C_BINDING
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier
- INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier of
- ! of fillvalue datatype
- ! (in memory)
- TYPE(C_PTR), INTENT(OUT) :: fillvalue ! Fillvalue
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-
- hdferr = h5pget_fill_value_c(prp_id, type_id, fillvalue)
-
- END SUBROUTINE h5pget_fill_value_ptr
-
-!
-!****s* H5P (F03)/h5pset_f_F90
-!
-! NAME
-! h5pset_f
-!
-! PURPOSE
-! Sets a property list value
-!
-! Inputs:
-! prp_id - Property list identifier to modify
-! name - Name of property to modify
-! value - Property value, supported types are:
-! INTEGER
-! REAL
-! DOUBLE PRECISION
-! CHARACTER(LEN=*)
-! Outputs:
-! hdferr - Returns 0 if successful and -1 if fails
-!
-! AUTHOR
-! Elena Pourmal
-! October 9, 2002
-!
-! Fortran90 Interface:
-!! SUBROUTINE h5pset_f(plid, name, value, hdferr)
-!! INTEGER(HID_T) , INTENT(IN) :: plid
-!! CHARACTER(LEN=*), INTENT(IN) :: name
-!! TYPE , INTENT(IN) :: value
-!! INTEGER , INTENT(OUT) :: hdferr
-!*****
- SUBROUTINE h5pset_integer(prp_id, name, value, hdferr)
- USE, INTRINSIC :: ISO_C_BINDING
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier
- CHARACTER(LEN=*), INTENT(IN) :: name ! Name of property to modify
- INTEGER, INTENT(IN), TARGET :: value ! Property value
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-
- INTEGER :: name_len
- TYPE(C_PTR) :: f_ptr
-
- f_ptr = C_LOC(value)
-
- name_len = LEN(name)
- hdferr = h5pget_c(prp_id, name, name_len, f_ptr)
-
- END SUBROUTINE h5pset_integer
-
- SUBROUTINE h5pset_real(prp_id, name, value, hdferr)
- USE, INTRINSIC :: ISO_C_BINDING
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier
- CHARACTER(LEN=*), INTENT(IN) :: name ! Name of property to modify
- REAL, INTENT(IN), TARGET :: value ! Property value
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- INTEGER :: name_len
- TYPE(C_PTR) :: f_ptr
-
- f_ptr = C_LOC(value)
-
- name_len = LEN(name)
- hdferr = h5pget_c(prp_id, name, name_len, f_ptr)
-
- END SUBROUTINE h5pset_real
-
- SUBROUTINE h5pset_char(prp_id, name, value, hdferr)
- USE, INTRINSIC :: ISO_C_BINDING
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier
- CHARACTER(LEN=*), INTENT(IN) :: name ! Name of property to modify
- CHARACTER(LEN=*), INTENT(IN) :: value ! Property value
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- INTEGER :: name_len
-
- INTEGER :: i
- CHARACTER(LEN=1), ALLOCATABLE, DIMENSION(:), TARGET :: chr
- INTEGER :: chr_len
-
- TYPE(C_PTR) :: f_ptr
- ! To resolve Issue #1 outlined in the preamble of this file we
- ! need to pack the character string into an array.
-
- chr_len = LEN(value)
- ALLOCATE(chr(1:chr_len), STAT=hdferr)
- IF (hdferr .NE. 0) THEN
- hdferr = -1
- RETURN
- ENDIF
-
- DO i = 1, chr_len
- chr(i) = value(i:i)
- ENDDO
-
- f_ptr = C_LOC(chr(1)(1:1))
-
- name_len = LEN(name)
- hdferr = h5pget_c(prp_id, name, name_len, f_ptr)
-
- DEALLOCATE(chr)
-
- END SUBROUTINE h5pset_char
-!
-!****s* H5P (F03)/h5pget_f_F90
-!
-! NAME
-! h5pget_f
-!
-! PURPOSE
-! Queries the value of a property.
-!
-! Inputs:
-! prp_id - Property list identifier to modify
-! name - Name of property to get
-! value - Property value, supported types are:
-! INTEGER
-! REAL
-! DOUBLE PRECISION
-! CHARACTER(LEN=*)
-! Outputs:
-! hdferr - Returns 0 if successful and -1 if fails
-!
-! AUTHOR
-! Elena Pourmal
-! October 9, 2002
-!
-! Fortran90 Interface:
-!! SUBROUTINE h5pget_f(plid, name, value, hdferr)
-!! INTEGER(HID_T) , INTENT(IN) :: plid
-!! CHARACTER(LEN=*), INTENT(IN) :: name
-!! TYPE , INTENT(OUT) :: value
-!! INTEGER , INTENT(OUT) :: hdferr
-!*****
-
- SUBROUTINE h5pget_integer(prp_id, name, value, hdferr)
- USE, INTRINSIC :: ISO_C_BINDING
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier
- CHARACTER(LEN=*), INTENT(IN) :: name ! Name of property to modify
- INTEGER, INTENT(OUT), TARGET :: value ! Property value
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- INTEGER :: name_len
- TYPE(C_PTR) :: f_ptr
-
- f_ptr = C_LOC(value)
-
- name_len = LEN(name)
- hdferr = h5pget_c(prp_id, name, name_len, f_ptr)
-
- END SUBROUTINE h5pget_integer
-
- SUBROUTINE h5pget_real(prp_id, name, value, hdferr)
- USE, INTRINSIC :: ISO_C_BINDING
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier
- CHARACTER(LEN=*), INTENT(IN) :: name ! Name of property to modify
- REAL, INTENT(OUT), TARGET :: value ! Property value
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- INTEGER :: name_len
- TYPE(C_PTR) :: f_ptr
-
- f_ptr = C_LOC(value)
-
- name_len = LEN(name)
- hdferr = h5pget_c(prp_id, name, name_len, f_ptr)
- END SUBROUTINE h5pget_real
-
- SUBROUTINE h5pget_char(prp_id, name, value, hdferr)
- USE, INTRINSIC :: ISO_C_BINDING
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier
- CHARACTER(LEN=*), INTENT(IN) :: name ! Name of property to modify
- CHARACTER(LEN=*), INTENT(OUT) :: value ! Property value
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- INTEGER :: name_len
-
- INTEGER :: i
- CHARACTER(LEN=1), ALLOCATABLE, DIMENSION(:), TARGET :: chr
- INTEGER :: chr_len
- TYPE(C_PTR) :: f_ptr
-
- chr_len = LEN(value)
- ALLOCATE(chr(1:chr_len), STAT=hdferr)
- IF (hdferr .NE. 0) THEN
- hdferr = -1
- RETURN
- ENDIF
- f_ptr = C_LOC(chr(1)(1:1))
-
- name_len = LEN(name)
- hdferr = h5pget_c(prp_id, name, name_len, f_ptr)
-
- DO i = 1, chr_len
- value(i:i) = chr(i)
- ENDDO
-
- DEALLOCATE(chr)
-
- END SUBROUTINE h5pget_char
-
-
-!
-!****s* H5P (F03)/h5pset_f_F03
-!
-! NAME
-! h5pset_f
-!
-! PURPOSE
-! Sets a property list value
-!
-! Inputs:
-! prp_id - Property list identifier to modify
-! name - Name of property to modify
-! value - Pointer to value to set the property to
-! Outputs:
-! hdferr - Returns 0 if successful and -1 if fails
-!
-! AUTHOR
-! Elena Pourmal
-! October 9, 2002
-!
-! Fortran2003 Interface:
-!! SUBROUTINE h5pset_f(plid, name, value, hdferr)
-!! INTEGER(HID_T) , INTENT(IN) :: plid
-!! CHARACTER(LEN=*), INTENT(IN) :: name
-!! TYPE(C_PTR) , INTENT(IN) :: value
-!! INTEGER , INTENT(OUT) :: hdferr
-!*****
- SUBROUTINE h5pset_ptr(prp_id, name, value, hdferr)
- USE, INTRINSIC :: ISO_C_BINDING
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier
- CHARACTER(LEN=*), INTENT(IN) :: name ! Name of property to modify
- TYPE(C_PTR), INTENT(IN) :: value ! Property value
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- INTEGER :: name_len
-
- name_len = LEN(name)
- hdferr = h5pset_c(prp_id, name, name_len, value)
-
- END SUBROUTINE h5pset_ptr
-!
-!****s* H5P (F03)/h5pget_f_F03
-!
-! NAME
-! h5pget_f (F03)
-!
-! PURPOSE
-! Queries the value of a property.
-!
-! Inputs:
-! prp_id - Property list identifier to modify
-! name - Name of property to get
-! value - Pointer to a location to which to copy the value of of the property
-! Outputs:
-! hdferr - Returns 0 if successful and -1 if fails
-!
-! AUTHOR
-! Elena Pourmal
-! October 9, 2002
-!
-! Fortran2003 Interface:
-!! SUBROUTINE h5pget_f(plid, name, value, hdferr)
-!! INTEGER(HID_T) , INTENT(IN) :: plid
-!! CHARACTER(LEN=*), INTENT(IN) :: name
-!! TYPE(C_PTR) , INTENT(OUT) :: value
-!! INTEGER , INTENT(OUT) :: hdferr
-!*****
- SUBROUTINE h5pget_ptr(prp_id, name, value, hdferr)
- USE, INTRINSIC :: ISO_C_BINDING
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier
- CHARACTER(LEN=*), INTENT(IN) :: name ! Name of property to modify
- TYPE(C_PTR), INTENT(OUT) :: value ! Property value
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- INTEGER :: name_len
-
- name_len = LEN(name)
- hdferr = h5pget_c(prp_id, name, name_len, value)
-
- END SUBROUTINE h5pget_ptr
-
-
-!
-!****s* H5P (F03)/h5pregister_f_F90
-!
-! NAME
-! h5pregister
-!
-! PURPOSE
-! Registers a permanent property with a property list class.
-!
-! Inputs:
-! class - Property list class identifier
-! name - Name of property to register
-! size - Size of the property value
-! value - Property value, supported types are:
-! INTEGER
-! REAL
-! DOUBLE PRECISION
-! CHARACTER(LEN=*)
-!
-! Outputs:
-! hdferr - Returns 0 if successful and -1 if fails
-!
-! AUTHOR
-! Elena Pourmal
-! October 10, 2002
-!
-! Fortran90 Interface:
-!! SUBROUTINE h5pregister_f(class, name, size, value, hdferr)
-!! INTEGER(HID_T) , INTENT(IN) :: class
-!! CHARACTER(LEN=*), INTENT(IN) :: name
-!! INTEGER(SIZE_T) , INTENT(IN) :: size
-!! TYPE , INTENT(IN) :: value
-!! INTEGER , INTENT(OUT) :: hdferr
-!*****
- SUBROUTINE h5pregister_integer(class, name, size, value, hdferr)
- USE, INTRINSIC :: ISO_C_BINDING
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: class ! Property list class identifier
- CHARACTER(LEN=*), INTENT(IN) :: name ! Name of property to register
- INTEGER(SIZE_T), INTENT(IN) :: size ! Size of the property value
- INTEGER, INTENT(IN), TARGET :: value ! Property value
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- INTEGER :: name_len
- TYPE(C_PTR) :: f_ptr
-
- f_ptr = C_LOC(value)
-
- name_len = LEN(name)
- hdferr = h5pregister_c(class, name, name_len, size, f_ptr)
-
- END SUBROUTINE h5pregister_integer
-
- SUBROUTINE h5pregister_real(class, name, size, value, hdferr)
- USE, INTRINSIC :: ISO_C_BINDING
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: class ! Property list class identifier
- CHARACTER(LEN=*), INTENT(IN) :: name ! Name of property to register
- INTEGER(SIZE_T), INTENT(IN) :: size ! size of the property value
- REAL, INTENT(IN), TARGET :: value ! Property value
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- INTEGER :: name_len
- TYPE(C_PTR) :: f_ptr
-
- f_ptr = C_LOC(value)
-
- name_len = LEN(name)
- hdferr = h5pregister_c(class, name, name_len, size, f_ptr)
-
- END SUBROUTINE h5pregister_real
-
- SUBROUTINE h5pregister_char(class, name, size, value, hdferr)
- USE, INTRINSIC :: ISO_C_BINDING
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: class ! Property list class identifier
- CHARACTER(LEN=*), INTENT(IN) :: name ! Name of property to register
- INTEGER(SIZE_T), INTENT(IN) :: size ! size of the property value
- CHARACTER(LEN=*), INTENT(IN) :: value ! Property value
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- INTEGER :: name_len
-
- INTEGER :: i
- CHARACTER(LEN=1), ALLOCATABLE, DIMENSION(:), TARGET :: chr
- INTEGER :: chr_len
-
- TYPE(C_PTR) :: f_ptr
- ! To resolve Issue #1 outlined in the preamble of this file we
- ! need to pack the character string into an array.
-
- chr_len = LEN(value)
- ALLOCATE(chr(1:chr_len), STAT=hdferr)
- IF (hdferr .NE. 0) THEN
- hdferr = -1
- RETURN
- ENDIF
-
- DO i = 1, chr_len
- chr(i) = value(i:i)
- ENDDO
-
- f_ptr = C_LOC(chr(1)(1:1))
-
- name_len = LEN(name)
- hdferr = h5pregister_c(class, name, name_len, size, f_ptr)
- DEALLOCATE(chr)
- END SUBROUTINE h5pregister_char
-!
-!****s* H5P (F03)/h5pregister_f_F03
-!
-! NAME
-! h5pregister (F03)
-!
-! PURPOSE
-! Registers a permanent property with a property list class.
-!
-! Inputs:
-! class - Property list class identifier
-! name - Name of property to register
-! size - Size of the property value
-! value - Pointer to value to set the property to
-!
-! Outputs:
-! hdferr - Returns 0 if successful and -1 if fails
-!
-! AUTHOR
-! M. Scot Breitenfeld
-! June 24, 2008
-!
-! Fortran2003 Interface:
-!! SUBROUTINE h5pregister_f(class, name, size, value, hdferr)
-!! INTEGER(HID_T) , INTENT(IN) :: class
-!! CHARACTER(LEN=*), INTENT(IN) :: name
-!! INTEGER(SIZE_T) , INTENT(IN) :: size
-!! TYPE(C_PTR) , INTENT(IN) :: value
-!! INTEGER , INTENT(OUT) :: hdferr
-!*****
-
- SUBROUTINE h5pregister_ptr(class, name, size, value, hdferr)
- USE, INTRINSIC :: ISO_C_BINDING
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: class ! Property list class identifier
- CHARACTER(LEN=*), INTENT(IN) :: name ! Name of property to register
- INTEGER(SIZE_T), INTENT(IN) :: size ! Size of the property value
- TYPE(C_PTR), INTENT(IN) :: value ! Property value
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- INTEGER :: name_len
-
- name_len = LEN(name)
- hdferr = h5pregister_c(class, name, name_len, size, value)
- END SUBROUTINE h5pregister_ptr
-
-!
-!****s* H5P (F03)/h5pinsert_f_F90
-!
-! NAME
-! h5pinsert (f90)
-!
-! PURPOSE
-! Registers a temporary property with a property list class.
-!
-! Inputs:
-! plist - Property list class identifier
-! name - Name of property to insert
-! size - Size of the property value
-! value - Property value, supported types are:
-! INTEGER
-! REAL
-! DOUBLE PRECISION
-! CHARACTER(LEN=*)
-! Outputs:
-! hdferr - Returns 0 if successful and -1 if fails
-! AUTHOR
-! Elena Pourmal
-! October 10, 2002
-!
-! Fortran90 Interface:
-!! SUBROUTINE h5pinsert_f
-!! INTEGER(HID_T) , INTENT(IN) :: plist
-!! CHARACTER(LEN=*), INTENT(IN) :: name
-!! INTEGER(SIZE_T) , INTENT(IN) :: size
-!! TYPE , INTENT(IN) :: value
-!! INTEGER , INTENT(OUT) :: hdferr
-!*****
- SUBROUTINE h5pinsert_integer(plist, name, size, value, hdferr)
- USE iso_c_binding
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: plist ! Property list identifier
- CHARACTER(LEN=*), INTENT(IN) :: name ! Name of property to insert
- INTEGER(SIZE_T), INTENT(IN) :: size ! Size of the property value
- INTEGER, INTENT(IN), TARGET :: value ! Property value
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- INTEGER :: name_len
- TYPE(c_ptr) :: f_ptr
-
- f_ptr = c_loc(value)
-
- name_len = LEN(name)
- hdferr = h5pinsert_c(plist, name , name_len, size, f_ptr)
- END SUBROUTINE h5pinsert_integer
-
- SUBROUTINE h5pinsert_real(plist, name, size, value, hdferr)
- USE iso_c_binding
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: plist ! Property list identifier
- CHARACTER(LEN=*), INTENT(IN) :: name ! Name of property to insert
- INTEGER(SIZE_T), INTENT(IN) :: size ! Size of the property value
- REAL, INTENT(IN), TARGET :: value ! Property value
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- INTEGER :: name_len
- TYPE(c_ptr) :: f_ptr
-
- f_ptr = c_loc(value)
-
- name_len = LEN(name)
- hdferr = h5pinsert_c(plist, name , name_len, size, f_ptr)
-
- END SUBROUTINE h5pinsert_real
-
- SUBROUTINE h5pinsert_char(plist, name, size, value, hdferr)
- USE iso_c_binding
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: plist ! Property list identifier
- CHARACTER(LEN=*), INTENT(IN) :: name ! Name of property to insert
- INTEGER(SIZE_T), INTENT(IN) :: size ! Size of property value
- CHARACTER(LEN=*), INTENT(IN) :: value ! Property value
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- INTEGER :: name_len
-
- INTEGER :: i
- CHARACTER(LEN=1), ALLOCATABLE, DIMENSION(:), TARGET :: chr
- INTEGER :: chr_len
-
- TYPE(c_ptr) :: f_ptr
- ! To resolve Issue #1 outlined in the preamble of this file we
- ! need to pack the character string into an array.
-
- chr_len = LEN(value)
- ALLOCATE(chr(1:chr_len), STAT=hdferr)
- IF (hdferr .NE. 0) THEN
- hdferr = -1
- RETURN
- ENDIF
-
- DO i = 1, chr_len
- chr(i) = value(i:i)
- ENDDO
-
- f_ptr = C_LOC(chr(1)(1:1))
-
- name_len = LEN(name)
- hdferr = h5pinsert_c(plist, name , name_len, size, f_ptr)
-
- DEALLOCATE(chr)
-
- END SUBROUTINE h5pinsert_char
-
-!
-!****s* H5P (F03)/h5pinsert_f_F03
-!
-! NAME
-! h5pinsert (f03)
-!
-! PURPOSE
-! Registers a temporary property with a property list class.
-!
-! Inputs:
-! plist - Property list class identifier
-! name - Name of property to insert
-! size - Size of the property value
-! value - Pointer to new value pointer for the property being modified
-!
-! Outputs:
-! hdferr - Returns 0 if successful and -1 if fails
-!
-! AUTHOR
-! M. Scot Breitenfeld
-! June 24, 2008
-!
-! Fortran90 Interface:
-!! SUBROUTINE h5pinsert_f
-!! INTEGER(HID_T) , INTENT(IN) :: plist
-!! CHARACTER(LEN=*), INTENT(IN) :: name
-!! INTEGER(SIZE_T) , INTENT(IN) :: size
-!! TYPE(C_PTR) , INTENT(IN) :: value
-!! INTEGER , INTENT(OUT) :: hdferr
-!*****
- SUBROUTINE h5pinsert_ptr(plist, name, size, value, hdferr)
- USE iso_c_binding
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: plist ! Property list identifier
- CHARACTER(LEN=*), INTENT(IN) :: name ! Name of property to insert
- INTEGER(SIZE_T), INTENT(IN) :: size ! Size of property value
- TYPE(c_ptr), INTENT(IN) :: value ! Property value
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- INTEGER :: name_len
-
- name_len = LEN(name)
- hdferr = h5pinsert_c(plist, name , name_len, size, value)
- END SUBROUTINE h5pinsert_ptr
-!
-!****s* H5P (F03)/h5pcreate_class_f_F03
-!
-! NAME
-! h5pcreate_class_f
-!
-! PURPOSE
-! Create a new property list class
-!
-! Inputs:
-! parent - Parent property list class identifier
-! Possible values include:
-! H5P_ROOT_F
-! H5P_FILE_CREATE_F
-! H5P_FILE_ACCESS_F
-! H5P_DATASET_CREATE_F
-! H5P_DATASET_XFER_F
-! H5P_FILE_MOUNT_F
-! name - Name of property to create
-!
-! Outputs:
-! class - Property list class identifier
-! hdferr - Returns 0 if successful and -1 if fails
-!
-! Optional parameters:
-! H5P_cls_create_func_t (create) - Callback routine called when a property list is created
-! create_data - User pointer to any class creation information needed
-! H5P_cls_copy_func_t (copy) - Callback routine called when a property list is copied
-! copy_data - User pointer to any class copy information needed
-! H5P_cls_close_func_t (close) - Callback routine called when a property list is being closed
-! close_data - User pointer to any class close information needed
-!
-! AUTHOR
-! Elena Pourmal
-! October 9, 2002
-!
-! HISTORY
-! Added callback arguments
-! M. Scot Breitenfeld, July 3, 2008
-!
-! Fortran2003 Interface:
- SUBROUTINE h5pcreate_class_f(parent, name, class, hdferr, create, create_data, copy, copy_data, close, close_data)
- USE iso_c_binding
- IMPLICIT NONE
- INTEGER(HID_T) , INTENT(IN) :: parent
- CHARACTER(LEN=*), INTENT(IN) :: name
- INTEGER(HID_T) , INTENT(OUT) :: class
- INTEGER , INTENT(OUT) :: hdferr
- TYPE(C_PTR) , OPTIONAL :: create_data, copy_data, close_data
- TYPE(C_FUNPTR) , OPTIONAL :: create, copy, close
-!*****
- INTEGER :: name_len
- TYPE(C_PTR) :: create_data_default, copy_data_default, close_data_default
- TYPE(C_FUNPTR) :: create_default, copy_default, close_default
- INTERFACE
- INTEGER FUNCTION h5pcreate_class_c(parent, name, name_len, class, &
- create, create_data, copy, copy_data, close, close_data) &
- BIND(C, NAME='h5pcreate_class_c')
- USE, INTRINSIC :: ISO_C_BINDING, ONLY : c_char, c_ptr, c_funptr
- USE H5GLOBAL
- INTEGER(HID_T), INTENT(IN) :: parent
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(IN) :: name
- INTEGER, INTENT(IN) :: name_len
- INTEGER(HID_T), INTENT(OUT) :: class
- TYPE(C_PTR), VALUE :: create_data, copy_data, close_data
- TYPE(C_FUNPTR), VALUE :: create, copy, close
- END FUNCTION h5pcreate_class_c
- END INTERFACE
- name_len = LEN(name)
-
- create_default = c_null_funptr !fix:scot
- create_data_default = c_null_ptr
- copy_default = c_null_funptr !fix:scot
- copy_data_default = c_null_ptr
- close_default = c_null_funptr !fix:scot
- close_data_default = c_null_ptr
-
- IF(PRESENT(create)) create_default = create
- IF(PRESENT(create_data)) create_data_default = create_data
- IF(PRESENT(copy)) copy_default = copy
- IF(PRESENT(copy_data)) copy_data_default = copy_data
- IF(PRESENT(close)) close_default = close
- IF(PRESENT(close_data)) close_data_default = close_data
-
- hdferr = h5pcreate_class_c(parent, name , name_len, class, &
- create_default, create_data_default, &
- copy_default, copy_data_default, &
- close_default, close_data_default)
-
- END SUBROUTINE h5pcreate_class_f
-
-!
-!****s* H5P (F03)/h5pset_file_image_f_F03
-!
-! NAME
-! h5pset_file_image_f
-!
-! PURPOSE
-! Sets an initial file image in a memory buffer.
-!
-! Inputs:
-! fapl_id - File access property list identifier
-! buf_ptr - Pointer to the initial file image,
-! or C_NULL_PTR if no initial file image is desired
-! buf_len - Size of the supplied buffer, or 0 (zero) if no initial image is desired
-!
-! Outputs:
-! hdferr - Returns 0 if successful and -1 if fails
-!
-! AUTHOR
-! M. Scot Breitenfeld
-! February 19, 2012
-!
-! Fortran2003 Interface:
- SUBROUTINE h5pset_file_image_f(fapl_id, buf_ptr, buf_len, hdferr)
- USE iso_c_binding
- IMPLICIT NONE
- INTEGER(HID_T) , INTENT(IN) :: fapl_id
- TYPE(C_PTR) , INTENT(IN) :: buf_ptr
- INTEGER(SIZE_T), INTENT(IN) :: buf_len
- INTEGER , INTENT(OUT) :: hdferr
-!*****
- INTERFACE
- INTEGER FUNCTION h5pset_file_image_c(fapl_id, buf_ptr, buf_len) &
- BIND(C, NAME='h5pset_file_image_c')
- USE, INTRINSIC :: ISO_C_BINDING, ONLY : c_ptr
- USE H5GLOBAL
- INTEGER(HID_T), INTENT(IN) :: fapl_id
- TYPE(C_PTR), VALUE :: buf_ptr
- INTEGER(SIZE_T), INTENT(IN) :: buf_len
- END FUNCTION h5pset_file_image_c
- END INTERFACE
-
- hdferr = h5pset_file_image_c(fapl_id, buf_ptr, buf_len)
-
- END SUBROUTINE h5pset_file_image_f
-!
-!****s* H5P (F03)/h5pget_file_image_f_F03
-!
-! NAME
-! h5pget_file_image_f
-!
-! PURPOSE
-! Retrieves a copy of the file image designated as the initial content and structure of a file.
-!
-! Inputs:
-! fapl_id - File access property list identifier.
-!
-! Outputs:
-! buf_ptr - Will hold either a C_NULL_PTR or a scalar of type
-! c_loc. If buf_ptr is not C_NULL_PTR, on successful
-! return, buf_ptr shall contain a C pointer to a copy
-! of the initial image provided in the last call to
-! H5Pset_file_image_f for the supplied fapl_id, or
-! buf_ptr shall contain a C_NULL_PTR if there is no
-! initial image set.
-!
-! buf_len_ptr - Contains the value of the buffer parameter for
-! the initial image in the supplied fapl_id. The value
-! will be 0 if no initial image is set.
-!
-!
-! hdferr - Returns 0 if successful and -1 if fails
-!
-! AUTHOR
-! M. Scot Breitenfeld
-! February 19, 2012
-!
-! Fortran2003 Interface:
- SUBROUTINE h5pget_file_image_f(fapl_id, buf_ptr, buf_len_ptr, hdferr)
- USE iso_c_binding
- IMPLICIT NONE
- INTEGER(HID_T) , INTENT(IN) :: fapl_id
- TYPE(C_PTR) , INTENT(OUT), DIMENSION(*) :: buf_ptr
- INTEGER(SIZE_T), INTENT(OUT) :: buf_len_ptr
- INTEGER , INTENT(OUT) :: hdferr
-
-!*****
- INTERFACE
- INTEGER FUNCTION h5pget_file_image_c(fapl_id, buf_ptr, buf_len_ptr) &
- BIND(C, NAME='h5pget_file_image_c')
- USE, INTRINSIC :: ISO_C_BINDING, ONLY : c_ptr
- USE H5GLOBAL
- INTEGER(HID_T), INTENT(IN) :: fapl_id
- TYPE(C_PTR), DIMENSION(*), INTENT(OUT) :: buf_ptr
- INTEGER(SIZE_T), INTENT(OUT) :: buf_len_ptr
- END FUNCTION h5pget_file_image_c
- END INTERFACE
-
- hdferr = h5pget_file_image_c(fapl_id, buf_ptr, buf_len_ptr)
-
- END SUBROUTINE h5pget_file_image_f
-
-END MODULE H5P_PROVISIONAL
-
diff --git a/fortran/src/H5Pff_F90.f90 b/fortran/src/H5Pff_F90.f90
deleted file mode 100644
index b5ea13d..0000000
--- a/fortran/src/H5Pff_F90.f90
+++ /dev/null
@@ -1,949 +0,0 @@
-!****h* ROBODoc/H5P (_F90)
-!
-! NAME
-! H5P_PROVISIONAL
-!
-! PURPOSE
-!
-! This file contains Fortran 90 interfaces for H5P functions. It contains
-! the same functions as H5Pff_F03.f90 but excludes the Fortran 2003 functions
-! and the interface listings. This file will be compiled instead of H5Pff_F03.f90
-! if Fortran 2003 functions are not enabled.
-!
-! COPYRIGHT
-! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
-! Copyright by The HDF Group. *
-! Copyright by the Board of Trustees of the University of Illinois. *
-! All rights reserved. *
-! *
-! This file is part of HDF5. The full HDF5 copyright notice, including *
-! terms governing use, modification, and redistribution, is contained in *
-! the files COPYING and Copyright.html. COPYING can be found at the root *
-! of the source code distribution tree; Copyright.html can be found at the *
-! root level of an installed copy of the electronic HDF5 document set and *
-! is linked from the top-level documents page. It can also be found at *
-! http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have *
-! access to either file, you may request a copy from help@hdfgroup.org. *
-! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
-!
-! NOTES
-! *** IMPORTANT ***
-! If you add a new H5P function you must add the function name to the
-! Windows dll file 'hdf5_fortrandll.def.in' in the fortran/src directory.
-! This is needed for Windows based operating systems.
-!*****
-
-MODULE H5P_PROVISIONAL
-
- USE H5GLOBAL
-
- INTERFACE h5pset_fill_value_f
- MODULE PROCEDURE h5pset_fill_value_integer
- MODULE PROCEDURE h5pset_fill_value_real
- MODULE PROCEDURE h5pset_fill_value_char
- END INTERFACE
-
- INTERFACE h5pget_fill_value_f
- MODULE PROCEDURE h5pget_fill_value_integer
- MODULE PROCEDURE h5pget_fill_value_real
- MODULE PROCEDURE h5pget_fill_value_char
- END INTERFACE
-
- INTERFACE h5pset_f
- MODULE PROCEDURE h5pset_integer
- MODULE PROCEDURE h5pset_real
- MODULE PROCEDURE h5pset_char
- END INTERFACE
-
- INTERFACE h5pget_f
- MODULE PROCEDURE h5pget_integer
- MODULE PROCEDURE h5pget_real
- MODULE PROCEDURE h5pget_char
- END INTERFACE
-
- INTERFACE h5pregister_f
- MODULE PROCEDURE h5pregister_integer
- MODULE PROCEDURE h5pregister_real
- MODULE PROCEDURE h5pregister_char
- END INTERFACE
-
- INTERFACE h5pinsert_f
- MODULE PROCEDURE h5pinsert_integer
- MODULE PROCEDURE h5pinsert_real
- MODULE PROCEDURE h5pinsert_char
- END INTERFACE
-
-CONTAINS
-!
-!****s* H5P (F90)/h5pset(get)fill_value_f
-!
-! NAME
-! h5pset(get)fill_value_f
-!
-! PURPOSE
-! Sets(gets) fill value for a dataset creation property list
-!
-! INPUTS
-! prp_id - dataset creation property list identifier
-! type_id - datatype identifier for fill value
-! fillvalue - fill value
-! OUTPUTS
-! type_id - datatype identifier for fill value
-! fillvalue - fill value
-! hdferr - error code
-! Success: 0
-! Failure: -1
-! AUTHOR
-! Elena Pourmal
-! August 12, 1999
-!
-! HISTORY
-! Explicit Fortran interfaces were added for
-! called C functions (it is needed for Windows
-! port). March 14, 2001
-!
-! NOTES
-! h5pset(get)fill_value_f function is overloaded to support
-! INTEGER, REAL, DOUBLE PRECISION and CHARACTER dtatypes.
-!
-! SOURCE
- SUBROUTINE h5pset_fill_value_integer(prp_id, type_id, fillvalue, hdferr)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier
- INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier of
- ! of fillvalue datatype
- ! (in memory)
- INTEGER, INTENT(IN) :: fillvalue ! Fillvalue
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-!*****
- INTERFACE
- INTEGER FUNCTION h5pset_fill_value_integer_c(prp_id, type_id, fillvalue)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5PSET_FILL_VALUE_INTEGER_C'::h5pset_fill_value_integer_c
- !DEC$ENDIF
- INTEGER(HID_T), INTENT(IN) :: prp_id
- INTEGER(HID_T), INTENT(IN) :: type_id
- INTEGER, INTENT(IN) :: fillvalue
- END FUNCTION h5pset_fill_value_integer_c
- END INTERFACE
-
- hdferr = h5pset_fill_value_integer_c(prp_id, type_id, fillvalue)
- END SUBROUTINE h5pset_fill_value_integer
-
-
- SUBROUTINE h5pget_fill_value_integer(prp_id, type_id, fillvalue, &
- hdferr)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier
- INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier of
- ! of fillvalue datatype
- ! (in memory)
- INTEGER, INTENT(IN) :: fillvalue ! Fillvalue
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-
- INTERFACE
- INTEGER FUNCTION h5pget_fill_value_integer_c(prp_id, type_id, fillvalue)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5PGET_FILL_VALUE_INTEGER_C'::h5pget_fill_value_integer_c
- !DEC$ENDIF
- INTEGER(HID_T), INTENT(IN) :: prp_id
- INTEGER(HID_T), INTENT(IN) :: type_id
- INTEGER :: fillvalue
- END FUNCTION h5pget_fill_value_integer_c
- END INTERFACE
-
- hdferr = h5pget_fill_value_integer_c(prp_id, type_id, fillvalue)
- END SUBROUTINE h5pget_fill_value_integer
-
-
- SUBROUTINE h5pset_fill_value_real(prp_id, type_id, fillvalue, &
- hdferr)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier
- INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier of
- ! of fillvalue datatype
- ! (in memory)
- REAL, INTENT(IN) :: fillvalue ! Fillvalue
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-
- INTERFACE
- INTEGER FUNCTION h5pset_fill_value_real_c(prp_id, type_id, fillvalue)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5PSET_FILL_VALUE_REAL_C'::h5pset_fill_value_real_c
- !DEC$ENDIF
- INTEGER(HID_T), INTENT(IN) :: prp_id
- INTEGER(HID_T), INTENT(IN) :: type_id
- REAL, INTENT(IN) :: fillvalue
- END FUNCTION h5pset_fill_value_real_c
- END INTERFACE
-
- hdferr = h5pset_fill_value_real_c(prp_id, type_id, fillvalue)
- END SUBROUTINE h5pset_fill_value_real
-
-
- SUBROUTINE h5pget_fill_value_real(prp_id, type_id, fillvalue, &
- hdferr)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier
- INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier of
- ! of fillvalue datatype
- ! (in memory)
- REAL, INTENT(IN) :: fillvalue ! Fillvalue
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-
- INTERFACE
- INTEGER FUNCTION h5pget_fill_value_real_c(prp_id, type_id, fillvalue)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5PGET_FILL_VALUE_REAL_C'::h5pget_fill_value_real_c
- !DEC$ENDIF
- INTEGER(HID_T), INTENT(IN) :: prp_id
- INTEGER(HID_T), INTENT(IN) :: type_id
- REAL :: fillvalue
- END FUNCTION h5pget_fill_value_real_c
- END INTERFACE
-
- hdferr = h5pget_fill_value_real_c(prp_id, type_id, fillvalue)
- END SUBROUTINE h5pget_fill_value_real
-
- SUBROUTINE h5pset_fill_value_char(prp_id, type_id, fillvalue, &
- hdferr)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier
- INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier of
- ! of fillvalue datatype
- ! (in memory)
- CHARACTER, INTENT(IN) :: fillvalue ! Fillvalue
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-
- INTERFACE
- INTEGER FUNCTION h5pset_fill_valuec_c(prp_id, type_id, fillvalue)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5PSET_FILL_VALUEC_C'::h5pset_fill_valuec_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: fillvalue
- INTEGER(HID_T), INTENT(IN) :: prp_id
- INTEGER(HID_T), INTENT(IN) :: type_id
- CHARACTER, INTENT(IN) :: fillvalue
- END FUNCTION h5pset_fill_valuec_c
- END INTERFACE
-
- hdferr = h5pset_fill_valuec_c(prp_id, type_id, fillvalue)
- END SUBROUTINE h5pset_fill_value_char
-
- SUBROUTINE h5pget_fill_value_char(prp_id, type_id, fillvalue, &
- hdferr)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier
- INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier of
- ! of fillvalue datatype
- ! (in memory)
- CHARACTER, INTENT(IN) :: fillvalue ! Fillvalue
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-
- INTERFACE
- INTEGER FUNCTION h5pget_fill_valuec_c(prp_id, type_id, fillvalue)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5PGET_FILL_VALUEC_C'::h5pget_fill_valuec_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: fillvalue
- INTEGER(HID_T), INTENT(IN) :: prp_id
- INTEGER(HID_T), INTENT(IN) :: type_id
- CHARACTER :: fillvalue
- END FUNCTION h5pget_fill_valuec_c
- END INTERFACE
-
- hdferr = h5pget_fill_valuec_c(prp_id, type_id, fillvalue)
- END SUBROUTINE h5pget_fill_value_char
-!
-!****s* H5P (F90)/h5pset_integer
-!
-! NAME
-! h5pset_integer
-!
-! PURPOSE
-! Sets a property list value
-!
-! INPUTS
-! prp_id - iproperty list identifier to modify
-! name - name of property to modify
-! value - value to set property to
-! OUTPUTS
-! hdferr: - error code
-! Success: 0
-! Failure: -1
-! AUTHOR
-! Elena Pourmal
-! October 9, 2002
-!
-! SOURCE
- SUBROUTINE h5pset_integer(prp_id, name, value, hdferr)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier
- CHARACTER(LEN=*), INTENT(IN) :: name ! Name of property to modify
- INTEGER, INTENT(IN) :: value ! Property value
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-!*****
- INTEGER :: name_len
-
- INTERFACE
- INTEGER FUNCTION h5pset_integer_c(prp_id, name, name_len, value)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5PSET_INTEGER_C'::h5pset_integer_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: name
- INTEGER(HID_T), INTENT(IN) :: prp_id
- CHARACTER(LEN=*), INTENT(IN) :: name
- INTEGER, INTENT(IN) :: name_len
- INTEGER, INTENT(IN) :: value
- END FUNCTION h5pset_integer_c
- END INTERFACE
-
- name_len = LEN(name)
- hdferr = h5pset_integer_c(prp_id, name , name_len, value)
- END SUBROUTINE h5pset_integer
-
-!
-!****s* H5P (F90)/h5pset_real
-!
-! NAME
-! h5pset_real
-!
-! PURPOSE
-! Sets a property list value
-!
-! INPUTS
-! prp_id - iproperty list identifier to modify
-! name - name of property to modify
-! value - value to set property to
-! OUTPUTS
-! hdferr: - error code
-! Success: 0
-! Failure: -1
-! AUTHOR
-! Elena Pourmal
-! October 9, 2002
-!
-! SOURCE
- SUBROUTINE h5pset_real(prp_id, name, value, hdferr)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier
- CHARACTER(LEN=*), INTENT(IN) :: name ! Name of property to modify
- REAL, INTENT(IN) :: value ! Property value
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-!*****
- INTEGER :: name_len
-
- INTERFACE
- INTEGER FUNCTION h5pset_real_c(prp_id, name, name_len, value)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5PSET_REAL_C'::h5pset_real_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: name
- INTEGER(HID_T), INTENT(IN) :: prp_id
- CHARACTER(LEN=*), INTENT(IN) :: name
- INTEGER, INTENT(IN) :: name_len
- REAL, INTENT(IN) :: value
- END FUNCTION h5pset_real_c
- END INTERFACE
-
- name_len = LEN(name)
- hdferr = h5pset_real_c(prp_id, name , name_len, value)
- END SUBROUTINE h5pset_real
-
-!****s* H5P (F90)/h5pset_char
-!
-! NAME
-! h5pset_char
-!
-! PURPOSE
-! Sets a property list value
-!
-! INPUTS
-! prp_id - iproperty list identifier to modify
-! name - name of property to modify
-! value - value to set property to
-! OUTPUTS
-! hdferr - error code
-! Success: 0
-! Failure: -1
-! OPTIONAL PARAMETERS
-! NONE
-!
-! AUTHOR
-! Elena Pourmal
-! October 9, 2002
-! SOURCE
- SUBROUTINE h5pset_char(prp_id, name, value, hdferr)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier
- CHARACTER(LEN=*), INTENT(IN) :: name ! Name of property to modify
- CHARACTER(LEN=*), INTENT(IN) :: value ! Property value
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-!*****
- INTEGER :: name_len
- INTEGER :: value_len
-
- INTERFACE
- INTEGER FUNCTION h5psetc_c(prp_id, name, name_len, value, value_len)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5PSETC_C'::h5psetc_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: name
- !DEC$ATTRIBUTES reference :: value
- INTEGER(HID_T), INTENT(IN) :: prp_id
- CHARACTER(LEN=*), INTENT(IN) :: name
- INTEGER, INTENT(IN) :: name_len
- CHARACTER(LEN=*), INTENT(IN) :: value
- INTEGER, INTENT(IN) :: value_len
- END FUNCTION h5psetc_c
- END INTERFACE
-
- name_len = LEN(name)
- value_len = LEN(value)
- hdferr = h5psetc_c(prp_id, name , name_len, value, value_len)
- END SUBROUTINE h5pset_char
-
-!****s* H5P (F90)/h5pget_integer
-!
-! NAME
-! h5pget_integer
-!
-! PURPOSE
-! Gets a property list value
-!
-! INPUTS
-! prp_id - iproperty list identifier to modify
-! name - name of property to modify
-! OUTPUTS
-! value - value of property
-! hdferr - error code
-! Success: 0
-! Failure: -1
-! AUTHOR
-! Elena Pourmal
-! October 9, 2002
-!
-! SOURCE
- SUBROUTINE h5pget_integer(prp_id, name, value, hdferr)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier
- CHARACTER(LEN=*), INTENT(IN) :: name ! Name of property to modify
- INTEGER, INTENT(OUT) :: value ! Property value
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-!*****
- INTEGER :: name_len
-
- INTERFACE
- INTEGER FUNCTION h5pget_integer_c(prp_id, name, name_len, value)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5PGET_INTEGER_C'::h5pget_integer_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: name
- INTEGER(HID_T), INTENT(IN) :: prp_id
- CHARACTER(LEN=*), INTENT(IN) :: name
- INTEGER, INTENT(IN) :: name_len
- INTEGER, INTENT(OUT) :: value
- END FUNCTION h5pget_integer_c
- END INTERFACE
-
- name_len = LEN(name)
- hdferr = h5pget_integer_c(prp_id, name , name_len, value)
- END SUBROUTINE h5pget_integer
-
-!
-!****s* H5P (F90)/h5pget_real
-!
-! NAME
-! h5pget_real
-!
-! PURPOSE
-! Gets a property list value
-!
-! INPUTS
-! prp_id - iproperty list identifier to modify
-! name - name of property to modify
-! OUTPUTS
-! value - value of property
-! hdferr - error code
-! Success: 0
-! Failure: -1
-! AUTHOR
-! Elena Pourmal
-! October 9, 2002
-! SOURCE
- SUBROUTINE h5pget_real(prp_id, name, value, hdferr)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier
- CHARACTER(LEN=*), INTENT(IN) :: name ! Name of property to modify
- REAL, INTENT(OUT) :: value ! Property value
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-!*****
- INTEGER :: name_len
-
- INTERFACE
- INTEGER FUNCTION h5pget_real_c(prp_id, name, name_len, value)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5PGET_REAL_C'::h5pget_real_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: name
- INTEGER(HID_T), INTENT(IN) :: prp_id
- CHARACTER(LEN=*), INTENT(IN) :: name
- INTEGER, INTENT(IN) :: name_len
- REAL, INTENT(OUT) :: value
- END FUNCTION h5pget_real_c
- END INTERFACE
-
- name_len = LEN(name)
- hdferr = h5pget_real_c(prp_id, name , name_len, value)
- END SUBROUTINE h5pget_real
-
-!
-!****s* H5P (F90)/h5pget_char
-!
-! NAME
-! h5pget_char
-!
-! PURPOSE
-! Gets a property list value
-!
-! INPUTS
-! prp_id - iproperty list identifier to modify
-! name - name of property to modify
-! OUTPUTS
-! value - value of property
-! hdferr - error code
-! Success: 0
-! Failure: -1
-!
-! AUTHOR
-! Elena Pourmal
-! October 9, 2002
-!
-! SOURCE
- SUBROUTINE h5pget_char(prp_id, name, value, hdferr)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier
- CHARACTER(LEN=*), INTENT(IN) :: name ! Name of property to modify
- CHARACTER(LEN=*), INTENT(OUT) :: value ! Property value
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-!*****
- INTEGER :: name_len
- INTEGER :: value_len
-
- INTERFACE
- INTEGER FUNCTION h5pgetc_c(prp_id, name, name_len, value, value_len)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5PGETC_C'::h5pgetc_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: name
- !DEC$ATTRIBUTES reference :: value
- INTEGER(HID_T), INTENT(IN) :: prp_id
- CHARACTER(LEN=*), INTENT(IN) :: name
- INTEGER, INTENT(IN) :: name_len
- CHARACTER(LEN=*), INTENT(OUT) :: value
- INTEGER, INTENT(IN) :: value_len
- END FUNCTION h5pgetc_c
- END INTERFACE
-
- name_len = LEN(name)
- value_len = LEN(value)
- hdferr = h5pgetc_c(prp_id, name , name_len, value, value_len)
- END SUBROUTINE h5pget_char
-
-!
-!****s* H5P (F90)/h5pregister_integer
-!
-! NAME
-! h5pregister_integer
-!
-! PURPOSE
-! Registers a permanent property with a property list class.
-!
-! INPUTS
-! class - property list class to register
-! permanent property within
-! name - name of property to register
-! size - size of property in bytes
-! value - default value for property in newly
-! created property lists
-! OUTPUTS
-! hdferr - error code
-! Success: 0
-! Failure: -1
-!
-! AUTHOR
-! Elena Pourmal
-! October 10, 2002
-!
-! SOURCE
- SUBROUTINE h5pregister_integer(class, name, size, value, hdferr)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: class ! Property list class identifier
- CHARACTER(LEN=*), INTENT(IN) :: name ! Name of property to register
- INTEGER(SIZE_T), INTENT(IN) :: size ! Size of the property value
- INTEGER, INTENT(IN) :: value ! Property value
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-!*****
- INTEGER :: name_len
-
- INTERFACE
- INTEGER FUNCTION h5pregister_integer_c(class, name, name_len, size, value)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5PREGISTER_INTEGER_C'::h5pregister_integer_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: name
- INTEGER(HID_T), INTENT(IN) :: class
- CHARACTER(LEN=*), INTENT(IN) :: name
- INTEGER, INTENT(IN) :: name_len
- INTEGER(SIZE_T), INTENT(IN) :: size
- INTEGER, INTENT(IN) :: value
- END FUNCTION h5pregister_integer_c
- END INTERFACE
-
- name_len = LEN(name)
- hdferr = h5pregister_integer_c(class, name , name_len, size, value)
- END SUBROUTINE h5pregister_integer
-
-!****s* H5P (F90)/h5pregister_real
-!
-! NAME
-!
-! h5pregister_real
-!
-! PURPOSE Registers a permanent property with a property list class.
-!
-! INPUTS
-! class - property list class to register
-! permanent property within
-! name - name of property to register
-! size - size of property in bytes
-! value - default value for property in newly
-! created property lists
-! OUTPUTS
-! hdferr - error code
-! Success: 0
-! Failure: -1
-!
-! AUTHOR
-! Elena Pourmal
-! October 10, 2002
-! SOURCE
- SUBROUTINE h5pregister_real(class, name, size, value, hdferr)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: class ! Property list class identifier
- CHARACTER(LEN=*), INTENT(IN) :: name ! Name of property to register
- INTEGER(SIZE_T), INTENT(IN) :: size ! size of the property value
- REAL, INTENT(IN) :: value ! Property value
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-!*****
- INTEGER :: name_len
-
- INTERFACE
- INTEGER FUNCTION h5pregister_real_c(class, name, name_len, size, value)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5PREGISTER_REAL_C'::h5pregister_real_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: name
- INTEGER(HID_T), INTENT(IN) :: class
- CHARACTER(LEN=*), INTENT(IN) :: name
- INTEGER, INTENT(IN) :: name_len
- INTEGER(SIZE_T), INTENT(IN) :: size
- REAL, INTENT(IN) :: value
- END FUNCTION h5pregister_real_c
- END INTERFACE
-
- name_len = LEN(name)
- hdferr = h5pregister_real_c(class, name , name_len, size, value)
- END SUBROUTINE h5pregister_real
-
-!
-!****s* H5P (F90)/h5pregister_char
-!
-! NAME
-! h5pregister_char
-!
-! PURPOSE
-! Registers a permanent property with a property list class.
-!
-! INPUTS
-! class - property list class to register
-! permanent property within
-! name - name of property to register
-! size - size of property in bytes
-! value - default value for property in newly
-! created property lists
-! OUTPUTS
-! hdferr - error code
-! Success: 0
-! Failure: -1
-! AUTHOR
-! Elena Pourmal
-! October 10, 2002
-! SOURCE
- SUBROUTINE h5pregister_char(class, name, size, value, hdferr)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: class ! Property list class identifier
- CHARACTER(LEN=*), INTENT(IN) :: name ! Name of property to register
- INTEGER(SIZE_T), INTENT(IN) :: size ! size of the property value
- CHARACTER(LEN=*), INTENT(IN) :: value ! Property value
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-!*****
- INTEGER :: name_len
- INTEGER :: value_len
-
- INTERFACE
- INTEGER FUNCTION h5pregisterc_c(class, name, name_len, size, value, &
- value_len)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5PREGISTERC_C'::h5pregisterc_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: name
- !DEC$ATTRIBUTES reference :: value
- INTEGER(HID_T), INTENT(IN) :: class
- CHARACTER(LEN=*), INTENT(IN) :: name
- INTEGER, INTENT(IN) :: name_len
- INTEGER(SIZE_T), INTENT(IN) :: size
- CHARACTER(LEN=*), INTENT(IN) :: value
- INTEGER, INTENT(IN) :: value_len
- END FUNCTION h5pregisterc_c
- END INTERFACE
-
- name_len = LEN(name)
- value_len = LEN(value)
- hdferr = h5pregisterc_c(class, name , name_len, size, value, value_len)
- END SUBROUTINE h5pregister_char
-!
-!****s* H5P (F90)/h5pinsert_integer
-!
-! NAME
-! h5pinsert_integer
-!
-! PURPOSE
-! Registers a temporary property with a property list class.
-!
-! INPUTS
-! plist - property list identifier
-! name - name of property to insert
-! size - size of property in bytes
-! value - initial value for the property
-! OUTPUTS
-! hdferr - error code
-! Success: 0
-! Failure: -1
-! AUTHOR
-! Elena Pourmal
-! October 10, 2002
-! SOURCE
- SUBROUTINE h5pinsert_integer(plist, name, size, value, hdferr)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: plist ! Property list identifier
- CHARACTER(LEN=*), INTENT(IN) :: name ! Name of property to insert
- INTEGER(SIZE_T), INTENT(IN) :: size ! Size of the property value
- INTEGER, INTENT(IN) :: value ! Property value
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-!*****
- INTEGER :: name_len
-
- INTERFACE
- INTEGER FUNCTION h5pinsert_integer_c(plist, name, name_len, size, value)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5PINSERT_INTEGER_C'::h5pinsert_integer_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: name
- INTEGER(HID_T), INTENT(IN) :: plist
- CHARACTER(LEN=*), INTENT(IN) :: name
- INTEGER, INTENT(IN) :: name_len
- INTEGER(SIZE_T), INTENT(IN) :: size
- INTEGER, INTENT(IN) :: value
- END FUNCTION h5pinsert_integer_c
- END INTERFACE
-
- name_len = LEN(name)
- hdferr = h5pinsert_integer_c(plist, name , name_len, size, value)
- END SUBROUTINE h5pinsert_integer
-
-!
-!****s* H5P (F90)/h5pinsert_real
-!
-! NAME
-! h5pinsert_real
-!
-! PURPOSE
-! Registers a temporary property with a property list class.
-!
-! INPUTS
-! plist - property list identifier
-! permanent property within
-! name - name of property to insert
-! size - size of property in bytes
-! value - initial value for the property
-! OUTPUTS
-! hdferr - error code
-! Success: 0
-! Failure: -1
-! AUTHOR
-! Elena Pourmal
-! October 10, 2002
-! SOURCE
- SUBROUTINE h5pinsert_real(plist, name, size, value, hdferr)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: plist ! Property list identifier
- CHARACTER(LEN=*), INTENT(IN) :: name ! Name of property to insert
- INTEGER(SIZE_T), INTENT(IN) :: size ! Size of the property value
- REAL, INTENT(IN) :: value ! Property value
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-!*****
- INTEGER :: name_len
-
- INTERFACE
- INTEGER FUNCTION h5pinsert_real_c(plist, name, name_len, size, value)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5PINSERT_REAL_C'::h5pinsert_real_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: name
- INTEGER(HID_T), INTENT(IN) :: plist
- CHARACTER(LEN=*), INTENT(IN) :: name
- INTEGER, INTENT(IN) :: name_len
- INTEGER(SIZE_T), INTENT(IN) :: size
- REAL, INTENT(IN) :: value
- END FUNCTION h5pinsert_real_c
- END INTERFACE
-
- name_len = LEN(name)
- hdferr = h5pinsert_real_c(plist, name , name_len, size, value)
- END SUBROUTINE h5pinsert_real
-
-
-!
-!****s* H5P (F90)/h5pinsert_char
-!
-! NAME
-! h5pinsert_char
-!
-! PURPOSE
-! Registers a temporary property with a property list class.
-!
-! INPUTS
-! plist - property list identifier
-! permanent property within
-! name - name of property to insert
-! size - size of property in bytes
-! value - initial value for the property
-! OUTPUTS
-! hdferr - error code
-! Success: 0
-! Failure: -1
-! AUTHOR
-! Elena Pourmal
-! October 10, 2002
-! SOURCE
-SUBROUTINE h5pinsert_char(plist, name, size, value, hdferr)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: plist ! Property list identifier
- CHARACTER(LEN=*), INTENT(IN) :: name ! Name of property to insert
- INTEGER(SIZE_T), INTENT(IN) :: size ! Size of property value
- CHARACTER(LEN=*), INTENT(IN) :: value ! Property value
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-!*****
- INTEGER :: name_len
- INTEGER :: value_len
-
- INTERFACE
- INTEGER FUNCTION h5pinsertc_c(plist, name, name_len, size, value, value_len)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5PINSERTC_C'::h5pinsertc_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: name
- !DEC$ATTRIBUTES reference :: value
- INTEGER(HID_T), INTENT(IN) :: plist
- CHARACTER(LEN=*), INTENT(IN) :: name
- INTEGER, INTENT(IN) :: name_len
- INTEGER(SIZE_T), INTENT(IN) :: size
- CHARACTER(LEN=*), INTENT(IN) :: value
- INTEGER, INTENT(IN) :: value_len
- END FUNCTION h5pinsertc_c
- END INTERFACE
-
- name_len = LEN(name)
- value_len = LEN(value)
- hdferr = h5pinsertc_c(plist, name , name_len, size, value, value_len)
- END SUBROUTINE h5pinsert_char
-
-!
-!****s* H5P (F90)/h5pcreate_class_f
-!
-! NAME
-! h5pcreate_class_f
-!
-! PURPOSE
-! Create a new property list class
-!
-! INPUTS
-! parent - Property list identifier of the parent class
-! Possible values include:
-! H5P_ROOT_F
-! H5P_FILE_CREATE_F
-! H5P_FILE_ACCESS_F
-! H5P_DATASET_CREATE_F
-! H5P_DATASET_XFER_F
-! H5P_FILE_MOUNT_F
-! name - name of the class we are creating
-! OUTPUTS
-! class - property list class identifier
-! hdferr - error code
-! Success: 0
-! Failure: -1
-! AUTHOR
-! Elena Pourmal
-! October 9, 2002
-!
-! SOURCE
- SUBROUTINE h5pcreate_class_f(parent, name, class, hdferr)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: parent ! parent property list class
- ! identifier
- CHARACTER(LEN=*), INTENT(IN) :: name ! name of property tocreate
- INTEGER(HID_T), INTENT(OUT) :: class ! property list class identifier
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-!*****
- INTEGER :: name_len
-
- INTERFACE
- INTEGER FUNCTION h5pcreate_class_f90_c(parent, name, name_len, class)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5PCREATE_CLASS_F90_C'::h5pcreate_class_f90_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: name
- INTEGER(HID_T), INTENT(IN) :: parent
- CHARACTER(LEN=*), INTENT(IN) :: name
- INTEGER, INTENT(IN) :: name_len
- INTEGER(HID_T), INTENT(OUT) :: class
- END FUNCTION h5pcreate_class_f90_c
- END INTERFACE
-
- name_len = LEN(name)
- hdferr = h5pcreate_class_f90_c(parent, name, name_len, class)
-
- END SUBROUTINE h5pcreate_class_f
-
-END MODULE H5P_PROVISIONAL
-
diff --git a/fortran/src/H5Rf.c b/fortran/src/H5Rf.c
index 068f24e..9cd9950 100644
--- a/fortran/src/H5Rf.c
+++ b/fortran/src/H5Rf.c
@@ -1,6 +1,6 @@
/****h* H5Rf/H5Rf
* PURPOSE
- * This file contains C stubs for H5R Fortran APIs
+ * This file contains C stubs for H5R Fortran APIs
*
* COPYRIGHT
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
@@ -24,68 +24,21 @@
#include "H5f90.h"
#include "H5Eprivate.h"
-/****if* H5Rf/h5rcreate_object_c
- * NAME
- * h5rcreate_object_c
- * PURPOSE
- * Call H5Rcreate to create a reference to an object
- * INPUTS
- * loc_id - file or group identifier
- * name - name of the dataset
- * namelen - name length
- * OUTPUTS
- * ref - reference to the object
- * RETURNS
- * 0 on success, -1 on failure
- * AUTHOR
- * Elena Pourmal
- * Wednesday, December 1, 1999
- * SOURCE
-*/
-int_f
-nh5rcreate_object_c(haddr_t_f *ref, hid_t_f *loc_id, _fcd name, int_f *namelen)
-/******/
-{
- char *c_name = NULL;
- hobj_ref_t ref_c;
- int_f ret_value = 0;
-
- /*
- * Convert FORTRAN name to C name
- */
- if(NULL == (c_name = (char *)HD5f2cstring(name, (size_t)*namelen)))
- HGOTO_DONE(FAIL)
-
- /*
- * Call H5Rcreate function.
- */
- if(H5Rcreate(&ref_c, *loc_id, c_name, H5R_OBJECT, (hid_t)-1) < 0)
- HGOTO_DONE(FAIL)
-
- /* Copy the reference created */
- *ref = (haddr_t_f)ref_c;
-
-done:
- if(c_name)
- HDfree(c_name);
- return ret_value;
-} /* nh5rcreate_object_c() */
-
/****if* H5Rf/h5rcreate_region_c
* NAME
- * h5rcreate_region_c
+ * h5rcreate_region_c
* PURPOSE
- * Call H5Rcreate to create a reference to dataset region
- * region
+ * Call H5Rcreate to create a reference to dataset region
+ * region
* INPUTS
- * loc_id - file or group identifier
- * name - name of the dataset
- * namelen - name length
- * space_id - dataset space identifier
+ * loc_id - file or group identifier
+ * name - name of the dataset
+ * namelen - name length
+ * space_id - dataset space identifier
* OUTPUTS
- * ref - reference to the dataset region
+ * ref - reference to the dataset region
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* Elena Pourmal
* Wednesday, December 1, 1999
@@ -94,7 +47,7 @@ done:
* SOURCE
*/
int_f
-nh5rcreate_region_c(int_f *ref, hid_t_f *loc_id, _fcd name, int_f *namelen, hid_t_f *space_id)
+h5rcreate_region_c(int_f *ref, hid_t_f *loc_id, _fcd name, int_f *namelen, hid_t_f *space_id)
/******/
{
char *c_name = NULL;
@@ -120,7 +73,7 @@ done:
if(c_name)
HDfree(c_name);
return ret_value;
-} /* end nh5rcreate_region_c() */
+} /* end h5rcreate_region_c() */
/****if* H5Rf/h5rcreate_ptr_c
* NAME
@@ -165,89 +118,6 @@ h5rcreate_ptr_c (void *ref, hid_t_f *loc_id, _fcd name, int_f *namelen, int_f *r
return ret_value;
}
-/****if* H5Rf/h5rdereference_region_c
- * NAME
- * h5rdereference_region_c
- * PURPOSE
- * Call H5Rdereference to dereference to dataset region
- * INPUTS
- * dset_id - dataset identifier
- * ref - reference to the dataset region
- * OUTPUTS
- * obj_id - dereferenced dataset identifier
- * RETURNS
- * 0 on success, -1 on failure
- * AUTHOR
- * Elena Pourmal
- * Wednesday, December 1, 1999
- * HISTORY
- *
- * SOURCE
-*/
-int_f
-nh5rdereference_region_c(hid_t_f *dset_id, int_f *ref, hid_t_f *obj_id)
-/******/
-{
- hdset_reg_ref_t ref_c;
- hid_t c_obj_id;
- int_f ret_value = 0;
-
- /* Copy the reference to dereference */
- HDmemcpy(&ref_c, ref, H5R_DSET_REG_REF_BUF_SIZE);
-
- /*
- * Call H5Rdereference function.
- */
- if((c_obj_id = H5Rdereference2((hid_t)*dset_id, H5P_DEFAULT, H5R_DATASET_REGION, &ref_c)) < 0)
- HGOTO_DONE(FAIL)
-
- /* Copy the object's ID */
- *obj_id = (hid_t_f)c_obj_id;
-
-done:
- return ret_value;
-} /* end nh5rdereference_region_c() */
-
-/****if* H5Rf/h5rdereference_object_c
- * NAME
- * h5rdereference_object_c
- * PURPOSE
- * Call H5Rdereference to dereference an object
- * INPUTS
- * dset_id - dataset identifier
- * ref - reference to an object
- * OUTPUTS
- * obj_id - dereferenced object identifier
- * RETURNS
- * 0 on success, -1 on failure
- * AUTHOR
- * Elena Pourmal
- * Wednesday, December 1, 1999
- * HISTORY
- *
- * SOURCE
-*/
-int_f
-nh5rdereference_object_c(hid_t_f *dset_id, haddr_t_f *ref, hid_t_f *obj_id)
-/******/
-{
- hid_t c_obj_id;
- hobj_ref_t ref_c = (hobj_ref_t)*ref;
- int_f ret_value = 0;
-
- /*
- * Call H5Rdereference function.
- */
- if((c_obj_id = H5Rdereference2((hid_t)*dset_id, H5P_DEFAULT, H5R_OBJECT, &ref_c)) < 0)
- HGOTO_DONE(FAIL)
-
- /* Copy the object's ID */
- *obj_id = (hid_t_f)c_obj_id;
-
-done:
- return ret_value;
-} /* end nh5rdereference_object_c() */
-
/****if* H5Rf/h5rdereference_ptr_c
* NAME
* h5rdereference_ptr_c
@@ -255,7 +125,7 @@ done:
* Call H5Rdereference
* INPUTS
* obj_id - Valid identifier for the file containing the
- * referenced object or any object in that file.
+ * referenced object or any object in that file.
* ref_typ - The reference type of ref.
* ref - Object reference
* OUTPUTS
@@ -292,8 +162,8 @@ h5rdereference_ptr_c (hid_t_f *obj_id, int_f *ref_type, void *ref, hid_t_f *ref_
* PURPOSE
* Call H5Rget_region to dereference dataspace region
* INPUTS
- * dset_id - dataset identifier
- * ref - reference to the dataset region
+ * dset_id - dataset identifier
+ * ref - reference to the dataset region
* OUTPUTS
* space_id - dereferenced dataset dataspace identifier
* RETURNS
@@ -306,7 +176,7 @@ h5rdereference_ptr_c (hid_t_f *obj_id, int_f *ref_type, void *ref, hid_t_f *ref_
* SOURCE
*/
int_f
-nh5rget_region_region_c(hid_t_f *dset_id, int_f *ref, hid_t_f *space_id)
+h5rget_region_region_c(hid_t_f *dset_id, int_f *ref, hid_t_f *space_id)
/******/
{
hid_t c_space_id;
@@ -327,7 +197,7 @@ nh5rget_region_region_c(hid_t_f *dset_id, int_f *ref, hid_t_f *space_id)
done:
return ret_value;
-} /* end nh5rget_region_region_c() */
+} /* end h5rget_region_region_c() */
/****if* H5Rf/h5rget_region_ptr_c
* NAME
@@ -335,8 +205,8 @@ done:
* PURPOSE
* Call H5Rget_region to dereference dataspace region
* INPUTS
- * dset_id - dataset identifier
- * ref - reference to the dataset region
+ * dset_id - dataset identifier
+ * ref - reference to the dataset region
* OUTPUTS
* space_id - dereferenced dataset dataspace identifier
* RETURNS
@@ -366,22 +236,22 @@ h5rget_region_ptr_c(hid_t_f *dset_id, void *ref, hid_t_f *space_id)
done:
return ret_value;
-} /* end nh5rget_region_ptr_c() */
+} /* end h5rget_region_ptr_c() */
/****if* H5Rf/h5rget_object_type_obj_c
* NAME
- * h5rget_object_type_obj_c
+ * h5rget_object_type_obj_c
* PURPOSE
- * Call H5Rget_object_type to retrieve the type of the object reference points
- * to
+ * Call H5Rget_object_type to retrieve the type of the object reference points
+ * to
* INPUTS
- * dset_id - dataset identifier
- * ref - reference to the dataset region
+ * dset_id - dataset identifier
+ * ref - reference to the dataset region
* OUTPUTS
- * obj_type - type of dereferenced object
+ * obj_type - type of dereferenced object
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* Elena Pourmal
* Wednesday, December 1, 1999
@@ -390,7 +260,7 @@ done:
* SOURCE
*/
int_f
-nh5rget_object_type_obj_c(hid_t_f *dset_id, haddr_t_f *ref, int_f *obj_type)
+h5rget_object_type_obj_c(hid_t_f *dset_id, haddr_t_f *ref, int_f *obj_type)
/******/
{
H5O_type_t c_obj_type;
@@ -408,125 +278,7 @@ nh5rget_object_type_obj_c(hid_t_f *dset_id, haddr_t_f *ref, int_f *obj_type)
done:
return ret_value;
-} /* end nh5rget_object_type_obj_c() */
-
-/****if* H5Rf/h5rget_name_object_c
- * NAME
- * h5rget_name_object_c
- * PURPOSE
- * Call H5Rget_name for an object
- * INPUTS
- *
- * loc_id - Identifier for the dataset containing the reference or for the group that dataset is in.
- * ref - An object or dataset region reference.
- *
- * OUTPUTS
- * name - A name associated with the referenced object or dataset region.
- * size - The size of the name buffer.
- *
- * RETURNS
- * 0 on success, -1 on failure
- * AUTHOR
- * M. Scot Breitenfeld
- * March 31, 2008
- * HISTORY
- *
- * SOURCE
-*/
-int_f
-nh5rget_name_object_c(hid_t_f *loc_id, haddr_t_f *ref, _fcd name, size_t_f *name_len, size_t_f *size_default)
-/******/
-{
- hobj_ref_t ref_c = (hobj_ref_t)*ref;
- ssize_t c_size;
- size_t c_bufsize = (size_t)*name_len + 1;
- char *c_buf = NULL; /* Buffer to hold C string */
- int_f ret_value = 0;
-
-
- /*
- * Allocate buffer to hold name of an attribute
- */
- if(NULL == (c_buf = (char *)HDmalloc(c_bufsize)))
- HGOTO_DONE(FAIL)
-
- /*
- * Call H5Rget_name function.
- */
- if((c_size = H5Rget_name((hid_t)*loc_id, H5R_OBJECT, &ref_c, c_buf, c_bufsize)) < 0)
- HGOTO_DONE(FAIL)
-
- /*
- * Convert C name to FORTRAN and place it in the given buffer
- */
- HD5packFstring(c_buf, _fcdtocp(name), c_bufsize-1);
- *size_default = (size_t_f)c_size;
-
-done:
- if(c_buf)
- HDfree(c_buf);
- return ret_value;
-} /* end nh5rget_name_object_c() */
-
-/****if* H5Rf/h5rget_name_region_c
- * NAME
- * h5rget_name_region_c
- * PURPOSE
- * Call H5Rget_name for a dataset region
- * INPUTS
- *
- * loc_id - Identifier for the dataset containing the reference or for the group that dataset is in.
- * ref - An object or dataset region reference.
- *
- * OUTPUTS
- * name - A name associated with the referenced object or dataset region.
- * size - The size of the name buffer.
- *
- * RETURNS
- * 0 on success, -1 on failure
- * AUTHOR
- * M. Scot Breitenfeld
- * March 31, 2008
- * HISTORY
- *
- * SOURCE
-*/
-int_f
-nh5rget_name_region_c(hid_t_f *loc_id, int_f *ref, _fcd name, size_t_f *name_len, size_t_f *size_default)
-/******/
-{
- hdset_reg_ref_t ref_c;
- ssize_t c_size;
- size_t c_bufsize = (size_t)*name_len + 1;
- char *c_buf = NULL; /* Buffer to hold C string */
- int_f ret_value = 0;
-
- /* Copy the reference to query */
- HDmemcpy(&ref_c, ref, H5R_DSET_REG_REF_BUF_SIZE);
-
- /*
- * Allocate buffer to hold name of an attribute
- */
- if(NULL == (c_buf = (char *)HDmalloc(c_bufsize)))
- HGOTO_DONE(FAIL)
-
- /*
- * Call H5Rget_name function.
- */
- if((c_size = H5Rget_name((hid_t)*loc_id, H5R_DATASET_REGION, &ref_c, c_buf, c_bufsize)) < 0)
- HGOTO_DONE(FAIL)
-
- /*
- * Convert C name to FORTRAN and place it in the given buffer
- */
- HD5packFstring(c_buf, _fcdtocp(name), c_bufsize - 1);
- *size_default = (size_t_f)c_size;
-
-done:
- if(c_buf)
- HDfree(c_buf);
- return ret_value;
-}
+} /* end h5rget_object_type_obj_c() */
/****if* H5Rf/h5rget_name_ptr_c
* NAME
@@ -535,13 +287,13 @@ done:
* Call H5Rget_name
* INPUTS
*
- * loc_id - Identifier for the dataset containing the reference or for the group that dataset is in.
- * ref_type - Type of reference.
- * ref - An object or dataset region reference.
+ * loc_id - Identifier for the dataset containing the reference or for the group that dataset is in.
+ * ref_type - Type of reference.
+ * ref - An object or dataset region reference.
*
* OUTPUTS
- * name - A name associated with the referenced object or dataset region.
- * size - The size of the name buffer.
+ * name - A name associated with the referenced object or dataset region.
+ * size - The size of the name buffer.
*
* RETURNS
* 0 on success, -1 on failure
@@ -589,24 +341,24 @@ h5rget_name_ptr_c (hid_t_f *loc_id, int_f *ref_type, void *ref, _fcd name, size_
/****if* H5Rf/h5rget_obj_type_c
* NAME
- * h5rget_obj_type_c
+ * h5rget_obj_type_c
* PURPOSE
- * Call H5Rget_obj_type
+ * Call H5Rget_obj_type
* INPUTS
- * loc_id - Identifier for the dataset containing the reference or
- * for the group that dataset is in.
- * ref_type - Type of reference to query.
- * ref - Reference to query.
+ * loc_id - Identifier for the dataset containing the reference or
+ * for the group that dataset is in.
+ * ref_type - Type of reference to query.
+ * ref - Reference to query.
*
* OUTPUTS
- * obj_type - Type of referenced object. These are defined in H5Opublic.h,
- * enum H5O_type_t
+ * obj_type - Type of referenced object. These are defined in H5Opublic.h,
+ * enum H5O_type_t
*
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
- * M. Scot Breitenfeld
- * December 17, 2008
+ * M. Scot Breitenfeld
+ * December 17, 2008
*
* SOURCE
*/
diff --git a/fortran/src/H5Rff_F03.f90 b/fortran/src/H5Rff.F90
index 8f40607..a90bd9a 100644
--- a/fortran/src/H5Rff_F03.f90
+++ b/fortran/src/H5Rff.F90
@@ -1,43 +1,48 @@
-!****h* ROBODoc/H5R (F03)
+!****h* ROBODoc/H5R
!
! NAME
-! MODULE H5R_PROVISIONAL
+! MODULE H5R
!
! FILE
-! fortran/src/H5Rff_F03.f90
+! fortran/src/H5Rff.f90
!
! PURPOSE
-! This file contains Fortran 90 and Fortran 2003 interfaces for H5R functions.
-! It contains the same functions as H5Rff_DEPRECIATE.f90 but includes the
-! Fortran 2003 functions and the interface listings. This file will be compiled
-! instead of H5Rff_DEPRECIATE.f90 if Fortran 2003 functions are enabled.
+! This file contains Fortran interfaces for H5R functions.
!
! COPYRIGHT
-! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
-! Copyright by The HDF Group. *
-! Copyright by the Board of Trustees of the University of Illinois. *
-! All rights reserved. *
-! *
-! This file is part of HDF5. The full HDF5 copyright notice, including *
-! terms governing use, modification, and redistribution, is contained in *
-! the files COPYING and Copyright.html. COPYING can be found at the root *
-! of the source code distribution tree; Copyright.html can be found at the *
-! root level of an installed copy of the electronic HDF5 document set and *
-! is linked from the top-level documents page. It can also be found at *
-! http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have *
-! access to either file, you may request a copy from help@hdfgroup.org. *
-! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+! Copyright by The HDF Group. *
+! Copyright by the Board of Trustees of the University of Illinois. *
+! All rights reserved. *
+! *
+! This file is part of HDF5. The full HDF5 copyright notice, including *
+! terms governing use, modification, and redistribution, is contained in *
+! the files COPYING and Copyright.html. COPYING can be found at the root *
+! of the source code distribution tree; Copyright.html can be found at the *
+! root level of an installed copy of the electronic HDF5 document set and *
+! is linked from the top-level documents page. It can also be found at *
+! http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have *
+! access to either file, you may request a copy from help@hdfgroup.org. *
+! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
!
! NOTES
-! *** IMPORTANT ***
+!
+! _____ __ __ _____ ____ _____ _______ _ _ _______
+! |_ _| \/ | __ \ / __ \| __ \__ __|/\ | \ | |__ __|
+! **** | | | \ / | |__) | | | | |__) | | | / \ | \| | | | ****
+! **** | | | |\/| | ___/| | | | _ / | | / /\ \ | . ` | | | ****
+! **** _| |_| | | | | | |__| | | \ \ | |/ ____ \| |\ | | | ****
+! |_____|_| |_|_| \____/|_| \_\ |_/_/ \_\_| \_| |_|
+!
! If you add a new H5R function you must add the function name to the
! Windows dll file 'hdf5_fortrandll.def.in' in the fortran/src directory.
! This is needed for Windows based operating systems.
!
!*****
-MODULE H5R_PROVISIONAL
+
+MODULE H5R
+ USE, INTRINSIC :: ISO_C_BINDING, ONLY : C_PTR, C_CHAR, C_SIGNED_CHAR
USE H5GLOBAL
- USE, INTRINSIC :: ISO_C_BINDING
! If you change the value of these parameters, do not forget to change corresponding
! values in the H5f90.h file.
@@ -53,6 +58,12 @@ MODULE H5R_PROVISIONAL
! END TYPE
!
+ INTERFACE h5rget_object_type_f
+
+ MODULE PROCEDURE h5rget_object_type_obj_f
+
+ END INTERFACE
+
TYPE :: hdset_reg_ref_t_f03
INTEGER(C_SIGNED_CHAR), DIMENSION(1:H5R_DSET_REG_REF_BUF_SIZE_F) :: ref
END TYPE hdset_reg_ref_t_f03
@@ -92,8 +103,9 @@ MODULE H5R_PROVISIONAL
INTERFACE
INTEGER FUNCTION h5rget_name_ptr_c(loc_id, ref_type, ref, name, name_len, size_default) &
BIND(C, NAME='h5rget_name_ptr_c')
- USE, INTRINSIC :: ISO_C_BINDING, ONLY : c_char, c_ptr
- USE H5GLOBAL
+ IMPORT :: c_char, c_ptr
+ IMPORT :: HID_T, SIZE_T
+ IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: loc_id
INTEGER, INTENT(IN) :: ref_type
TYPE(C_PTR), INTENT(IN), VALUE :: ref
@@ -106,8 +118,9 @@ MODULE H5R_PROVISIONAL
INTERFACE
INTEGER FUNCTION h5rdereference_ptr_c(obj_id, ref_type, ref, ref_obj_id) &
BIND(C, NAME='h5rdereference_ptr_c')
- USE, INTRINSIC :: ISO_C_BINDING, ONLY : c_ptr
- USE H5GLOBAL
+ IMPORT :: c_ptr
+ IMPORT :: HID_T
+ IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: obj_id
INTEGER, INTENT(IN) :: ref_type
TYPE(C_PTR), INTENT(IN), VALUE :: ref
@@ -118,8 +131,9 @@ MODULE H5R_PROVISIONAL
INTERFACE
INTEGER FUNCTION h5rcreate_ptr_c(ref, loc_id, name, namelen, ref_type, space_id) &
BIND(C, NAME='h5rcreate_ptr_c')
- USE, INTRINSIC :: ISO_C_BINDING, ONLY : c_char, c_ptr
- USE H5GLOBAL
+ IMPORT :: c_ptr, c_char
+ IMPORT :: HID_T
+ IMPLICIT NONE
TYPE(C_PTR), VALUE :: ref
INTEGER(HID_T), INTENT(IN) :: loc_id
CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(IN) :: name
@@ -132,16 +146,80 @@ MODULE H5R_PROVISIONAL
INTERFACE
INTEGER FUNCTION h5rget_region_ptr_c(dset_id, ref, space_id) &
BIND(C, NAME='h5rget_region_ptr_c')
- USE, INTRINSIC :: ISO_C_BINDING, ONLY : c_ptr
- USE H5GLOBAL
+ IMPORT :: c_ptr
+ IMPORT :: HID_T
+ IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: dset_id
TYPE(C_PTR), VALUE :: ref
INTEGER(HID_T), INTENT(OUT) :: space_id
END FUNCTION h5rget_region_ptr_c
END INTERFACE
+
CONTAINS
+!****s* H5R/h5rget_object_type_obj_f
+!
+! NAME
+! h5rget_object_type_obj_f
+!
+! PURPOSE
+! Retrieves the type of object that an object reference points to.
+!
+! INPUTS
+! dset_id - identifier of the dataset containing
+! reference to the objects
+! ref - reference to open
+! OUTPUTS
+! obj_type - object_type, possible values:
+! H5G_UNKNOWN_F
+! H5G_GROUP_F
+! H5G_DATASET_F
+! H5G_TYPE_F
+! hdferr - Returns 0 if successful and -1 if fails
+!
+! AUTHOR
+! Elena Pourmal
+! August 12, 1999
+!
+! HISTORY
+! Explicit Fortran interfaces were added for
+! called C functions (it is needed for Windows
+! port). February 28, 2001
+!
+! NOTES
+! This is a module procedure for the h5rget_object_type_f
+! subroutine.
+! SOURCE
+ SUBROUTINE h5rget_object_type_obj_f(dset_id, ref, obj_type, hdferr)
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
+ TYPE(hobj_ref_t_f), INTENT(IN) :: ref ! Object reference
+ INTEGER, INTENT(OUT) :: obj_type ! Object type
+ ! H5G_UNKNOWN_F
+ ! H5G_GROUP_F
+ ! H5G_DATASET_F
+ ! H5G_TYPE_F
+ INTEGER, INTENT(OUT) :: hdferr ! Error code
+!*****
+ INTEGER(HADDR_T) :: ref_f ! Local buffer to pass reference
+
+ INTERFACE
+ INTEGER FUNCTION h5rget_object_type_obj_c(dset_id, ref_f, obj_type) BIND(C, NAME='h5rget_object_type_obj_c')
+ IMPORT :: HID_T, HADDR_T
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: dset_id
+ INTEGER(HADDR_T) :: ref_f
+ INTEGER, INTENT(OUT) :: obj_type
+ END FUNCTION h5rget_object_type_obj_c
+ END INTERFACE
+
+ ref_f = ref%ref
+ hdferr = h5rget_object_type_obj_c(dset_id, ref_f, obj_type )
+
+ END SUBROUTINE h5rget_object_type_obj_f
+
+
!****s* H5R/h5rget_region_region_f
!
! NAME
@@ -180,13 +258,10 @@ CONTAINS
INTEGER :: ref_f(REF_REG_BUF_LEN) ! Local buffer to pass reference
INTERFACE
- INTEGER FUNCTION h5rget_region_region_c(dset_id, ref_f, space_id)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5RGET_REGION_REGION_C':: h5rget_region_region_c
- !DEC$ENDIF
+ INTEGER FUNCTION h5rget_region_region_c(dset_id, ref_f, space_id) BIND(C, NAME='h5rget_region_region_c')
+ IMPORT :: HID_T, REF_REG_BUF_LEN
+ IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: dset_id
- ! INTEGER, PARAMETER :: REF_REG_BUF_LEN = 3
INTEGER :: ref_f(REF_REG_BUF_LEN)
INTEGER(HID_T), INTENT(OUT) :: space_id
END FUNCTION h5rget_region_region_c
@@ -322,16 +397,13 @@ CONTAINS
INTEGER :: ref_f(REF_REG_BUF_LEN) ! Local buffer to pass reference
INTERFACE
- INTEGER FUNCTION h5rcreate_region_c(ref_f, loc_id, name, namelen, space_id)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5RCREATE_REGION_C':: h5rcreate_region_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: name
- ! INTEGER, PARAMETER :: REF_REG_BUF_LEN = 3
+ INTEGER FUNCTION h5rcreate_region_c(ref_f, loc_id, name, namelen, space_id) BIND(C,NAME='h5rcreate_region_c')
+ IMPORT :: HID_T, REF_REG_BUF_LEN
+ IMPORT :: C_CHAR
+ IMPLICIT NONE
INTEGER :: ref_f(REF_REG_BUF_LEN)
INTEGER(HID_T), INTENT(IN) :: loc_id
- CHARACTER(LEN=*), INTENT(IN) :: name
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(IN) :: name
INTEGER :: namelen
INTEGER(HID_T), INTENT(IN) :: space_id
END FUNCTION h5rcreate_region_c
@@ -703,8 +775,9 @@ CONTAINS
INTERFACE
INTEGER FUNCTION h5rget_obj_type_c(loc_id, ref_type, ref, obj_type) &
BIND(C, NAME='h5rget_obj_type_c')
- USE, INTRINSIC :: ISO_C_BINDING, ONLY : c_ptr
- USE H5GLOBAL
+ IMPORT :: C_PTR
+ IMPORT :: HID_T
+ IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: loc_id
INTEGER, INTENT(IN) :: ref_type
TYPE(C_PTR), VALUE :: ref
@@ -716,4 +789,4 @@ CONTAINS
END SUBROUTINE h5rget_obj_type_f
-END MODULE H5R_PROVISIONAL
+END MODULE H5R
diff --git a/fortran/src/H5Rff.f90 b/fortran/src/H5Rff.f90
deleted file mode 100644
index 77a1ff8..0000000
--- a/fortran/src/H5Rff.f90
+++ /dev/null
@@ -1,128 +0,0 @@
-!****h* ROBODoc/H5R
-!
-! NAME
-! MODULE H5R
-!
-! FILE
-! fortran/src/H5Rff.f90
-!
-! PURPOSE
-! This file contains Fortran interfaces for H5R functions. It includes
-! all the functions that are independent on whether the Fortran 2003 functions
-! are enabled or disabled.
-!
-!
-! COPYRIGHT
-! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
-! Copyright by The HDF Group. *
-! Copyright by the Board of Trustees of the University of Illinois. *
-! All rights reserved. *
-! *
-! This file is part of HDF5. The full HDF5 copyright notice, including *
-! terms governing use, modification, and redistribution, is contained in *
-! the files COPYING and Copyright.html. COPYING can be found at the root *
-! of the source code distribution tree; Copyright.html can be found at the *
-! root level of an installed copy of the electronic HDF5 document set and *
-! is linked from the top-level documents page. It can also be found at *
-! http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have *
-! access to either file, you may request a copy from help@hdfgroup.org. *
-! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
-!
-! NOTES
-! *** IMPORTANT ***
-! If you add a new H5R function you must add the function name to the
-! Windows dll file 'hdf5_fortrandll.def.in' in the fortran/src directory.
-! This is needed for Windows based operating systems.
-!
-!*****
-
-MODULE H5R
- USE H5GLOBAL
-
- ! If you change the value of these parameters, do not forget to change corresponding
- ! values in the H5f90.h file.
- ! INTEGER, PARAMETER :: REF_OBJ_BUF_LEN = 2
- ! INTEGER, PARAMETER :: REF_REG_BUF_LEN = 3
- !
- ! TYPE hobj_ref_t_f
- ! INTEGER ref(REF_OBJ_BUF_LEN)
- ! END TYPE
- !
- ! TYPE hdset_reg_ref_t_f
- ! INTEGER ref(REF_REG_BUF_LEN)
- ! END TYPE
- !
-
- INTERFACE h5rget_object_type_f
-
- MODULE PROCEDURE h5rget_object_type_obj_f
-
- END INTERFACE
-
-CONTAINS
-
-!****s* H5R/h5rget_object_type_obj_f
-!
-! NAME
-! h5rget_object_type_obj_f
-!
-! PURPOSE
-! Retrieves the type of object that an object reference points to.
-!
-! INPUTS
-! dset_id - identifier of the dataset containing
-! reference to the objects
-! ref - reference to open
-! OUTPUTS
-! obj_type - object_type, possible values:
-! H5G_UNKNOWN_F
-! H5G_GROUP_F
-! H5G_DATASET_F
-! H5G_TYPE_F
-! hdferr - Returns 0 if successful and -1 if fails
-!
-! AUTHOR
-! Elena Pourmal
-! August 12, 1999
-!
-! HISTORY
-! Explicit Fortran interfaces were added for
-! called C functions (it is needed for Windows
-! port). February 28, 2001
-!
-! NOTES
-! This is a module procedure for the h5rget_object_type_f
-! subroutine.
-! SOURCE
- SUBROUTINE h5rget_object_type_obj_f(dset_id, ref, obj_type, hdferr)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
- TYPE(hobj_ref_t_f), INTENT(IN) :: ref ! Object reference
- INTEGER, INTENT(OUT) :: obj_type ! Object type
- ! H5G_UNKNOWN_F
- ! H5G_GROUP_F
- ! H5G_DATASET_F
- ! H5G_TYPE_F
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-!*****
- INTEGER(HADDR_T) :: ref_f ! Local buffer to pass reference
-
- INTERFACE
- INTEGER FUNCTION h5rget_object_type_obj_c(dset_id, ref_f, obj_type)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5RGET_OBJECT_TYPE_OBJ_C':: h5rget_object_type_obj_c
- !DEC$ENDIF
- ! INTEGER, PARAMETER :: REF_OBJ_BUF_LEN = 2
- INTEGER(HID_T), INTENT(IN) :: dset_id
- INTEGER(HADDR_T) :: ref_f
- INTEGER, INTENT(OUT) :: obj_type
- END FUNCTION h5rget_object_type_obj_c
- END INTERFACE
-
- ref_f = ref%ref
- hdferr = h5rget_object_type_obj_c(dset_id, ref_f, obj_type )
-
- END SUBROUTINE h5rget_object_type_obj_f
-
-END MODULE H5R
diff --git a/fortran/src/H5Rff_F90.f90 b/fortran/src/H5Rff_F90.f90
deleted file mode 100644
index ac45857..0000000
--- a/fortran/src/H5Rff_F90.f90
+++ /dev/null
@@ -1,514 +0,0 @@
-!****h* ROBODoc/H5R (F90)
-!
-! NAME
-! MODULE H5R_PROVISIONAL
-!
-! FILE
-! fortran/src/H5Rff_F90.f90
-!
-! PURPOSE
-! This file contains Fortran 90 interfaces for H5R functions. It contains
-! the same functions as H5Rff_F03.f90 but excludes the Fortran 2003 functions
-! and the interface listings. This file will be compiled instead of H5Rff_F03.f90
-! if Fortran 2003 functions are not enabled.
-!
-! COPYRIGHT
-! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
-! Copyright by The HDF Group. *
-! Copyright by the Board of Trustees of the University of Illinois. *
-! All rights reserved. *
-! *
-! This file is part of HDF5. The full HDF5 copyright notice, including *
-! terms governing use, modification, and redistribution, is contained in *
-! the files COPYING and Copyright.html. COPYING can be found at the root *
-! of the source code distribution tree; Copyright.html can be found at the *
-! root level of an installed copy of the electronic HDF5 document set and *
-! is linked from the top-level documents page. It can also be found at *
-! http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have *
-! access to either file, you may request a copy from help@hdfgroup.org. *
-! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
-!
-! NOTES
-! *** IMPORTANT ***
-! If you add a new H5R function you must add the function name to the
-! Windows dll file 'hdf5_fortrandll.def.in' in the fortran/src directory.
-! This is needed for Windows based operating systems.
-!*****
-
-MODULE H5R_PROVISIONAL
- USE H5GLOBAL
-
-! If you change the value of these parameters, do not forget to change corresponding
-! values in the H5f90.h file.
-! INTEGER, PARAMETER :: REF_OBJ_BUF_LEN = 2
-! INTEGER, PARAMETER :: REF_REG_BUF_LEN = 3
-!
-! TYPE hobj_ref_t_f
-! INTEGER ref(REF_OBJ_BUF_LEN)
-! END TYPE
-!
-! TYPE hdset_reg_ref_t_f
-! INTEGER ref(REF_REG_BUF_LEN)
-! END TYPE
-!
- INTERFACE h5rcreate_f
-
- MODULE PROCEDURE h5rcreate_object_f
- MODULE PROCEDURE h5rcreate_region_f
-
- END INTERFACE
-
- INTERFACE h5rdereference_f
-
- MODULE PROCEDURE h5rdereference_object_f
- MODULE PROCEDURE h5rdereference_region_f
-
- END INTERFACE
-
- INTERFACE h5rget_name_f
-
- MODULE PROCEDURE h5rget_name_object_f
- MODULE PROCEDURE h5rget_name_region_f
-
- END INTERFACE
-
- INTERFACE h5rget_region_f
-
- MODULE PROCEDURE h5rget_region_region_f
-
- END INTERFACE
-
-
-CONTAINS
-
-
-!****s* H5R/h5rget_region_region_f
-!
-! NAME
-! h5rget_region_region_f
-!
-! PURPOSE
-! Retrieves a dataspace with the specified region selected
-!
-! INPUTS
-! dset_id - identifier of the dataset containing
-! reference to the regions
-! ref - reference to open
-! OUTPUTS
-! space_id - dataspace identifier
-! hdferr - Returns 0 if successful and -1 if fails
-! AUTHOR
-! Elena Pourmal
-! August 12, 1999
-!
-! HISTORY
-! Explicit Fortran interfaces were added for
-! called C functions (it is needed for Windows
-! port). February 28, 2001
-!
-! NOTES
-! This is a module procedure for the h5rget_region_f subroutine.
-!
-! SOURCE
- SUBROUTINE h5rget_region_region_f(dset_id, ref, space_id, hdferr)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
- TYPE(hdset_reg_ref_t_f), INTENT(IN) :: ref ! Dataset region reference
- INTEGER(HID_T), INTENT(OUT) :: space_id ! Space identifier
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-!*****
- INTEGER :: ref_f(REF_REG_BUF_LEN) ! Local buffer to pass reference
-
- INTERFACE
- INTEGER FUNCTION h5rget_region_region_c(dset_id, ref_f, space_id)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5RGET_REGION_REGION_C':: h5rget_region_region_c
- !DEC$ENDIF
- INTEGER(HID_T), INTENT(IN) :: dset_id
- ! INTEGER, PARAMETER :: REF_REG_BUF_LEN = 3
- INTEGER :: ref_f(REF_REG_BUF_LEN)
- INTEGER(HID_T), INTENT(OUT) :: space_id
- END FUNCTION h5rget_region_region_c
- END INTERFACE
-
- ref_f = ref%ref
- hdferr = h5rget_region_region_c(dset_id, ref_f, space_id )
-
- END SUBROUTINE h5rget_region_region_f
-
-
-
-!****s* H5R (F90)/h5rcreate_object_f
-!
-! NAME
-! h5rcreate_object_f
-!
-! PURPOSE
-! Creates reference to the object
-!
-! INPUTS
-! loc_id - location identifier
-! name - name of the object at the specified location
-! OUTPUTS
-! ref - reference to the specified object
-! hdferr: - error code
-! Success: 0
-! Failure: -1
-! AUTHOR
-! Elena Pourmal
-! August 12, 1999
-!
-! HISTORY
-! Explicit Fortran interfaces were added for
-! called C functions (it is needed for Windows
-! port). February 28, 2001
-!
-! NOTES
-! This is a module procedure for the h5rcreate_f subroutine.
-!
-! SOURCE
- SUBROUTINE h5rcreate_object_f(loc_id, name, ref, hdferr)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: loc_id ! Location identifier
- CHARACTER(LEN=*), INTENT(IN) :: name ! Name of the object at location specified
- ! by loc_id identifier
- TYPE(hobj_ref_t_f), INTENT(OUT) :: ref ! Object reference
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-!*****
- INTEGER :: namelen ! Name length
- INTEGER(HADDR_T) :: ref_f ! Local buffer to pass reference
-
- INTERFACE
- INTEGER FUNCTION h5rcreate_object_c(ref_f, loc_id, name, namelen)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5RCREATE_OBJECT_C':: h5rcreate_object_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: name
- INTEGER(HADDR_T) :: ref_f
- INTEGER(HID_T), INTENT(IN) :: loc_id
- CHARACTER(LEN=*), INTENT(IN) :: name
- INTEGER :: namelen
- END FUNCTION h5rcreate_object_c
- END INTERFACE
-
- namelen = LEN(name)
- ref_f = 0
- hdferr = h5rcreate_object_c(ref_f, loc_id, name, namelen )
- ref%ref = ref_f
-
- END SUBROUTINE h5rcreate_object_f
-
-!****s* H5R (F90)/h5rcreate_region_f
-!
-! NAME
-! h5rcreate_region_f
-!
-! PURPOSE
-! Creates reference to the dataset region
-!
-! INPUTS
-! loc_id - location identifier
-! name - name of the dataset at the specified location
-! space_id - dataspace identifier that describes selected region
-! OUTPUTS
-! ref - reference to the dataset region
-! hdferr: - error code
-! Success: 0
-! Failure: -1
-! AUTHOR
-! Elena Pourmal
-! August 12, 1999
-!
-! HISTORY
-! Explicit Fortran interfaces were added for
-! called C functions (it is needed for Windows
-! port). February 28, 2001
-!
-! NOTES
-! This is a module procedure for the h5rcreate_f subroutine.
-!
-! SOURCE
- SUBROUTINE h5rcreate_region_f(loc_id, name, space_id, ref, hdferr)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: loc_id ! Location identifier
- CHARACTER(LEN=*), INTENT(IN) :: name ! Name of the dataset at location specified
- ! by loc_id identifier
- INTEGER(HID_T), INTENT(IN) :: space_id ! Dataset's dataspace identifier
- TYPE(hdset_reg_ref_t_f), INTENT(OUT) :: ref ! Dataset region reference
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-!*****
- INTEGER :: namelen ! Name length
- INTEGER :: ref_f(REF_REG_BUF_LEN) ! Local buffer to pass reference
-
- INTERFACE
- INTEGER FUNCTION h5rcreate_region_c(ref_f, loc_id, name, namelen, space_id)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5RCREATE_REGION_C':: h5rcreate_region_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: name
- ! INTEGER, PARAMETER :: REF_REG_BUF_LEN = 3
- INTEGER :: ref_f(REF_REG_BUF_LEN)
- INTEGER(HID_T), INTENT(IN) :: loc_id
- CHARACTER(LEN=*), INTENT(IN) :: name
- INTEGER :: namelen
- INTEGER(HID_T), INTENT(IN) :: space_id
- END FUNCTION h5rcreate_region_c
- END INTERFACE
-
- namelen = LEN(name)
- ref_f = 0
- hdferr = h5rcreate_region_c(ref_f, loc_id, name, namelen, space_id )
- ref%ref = ref_f
-
- END SUBROUTINE h5rcreate_region_f
-!****s* H5R (F90)/h5rdereference_object_f
-!
-! NAME
-! h5rdereference_object_f
-!
-! PURPOSE
-! Opens the HDF5 object referenced
-!
-! INPUTS
-! dset_id - identifier of the dataset containing reference
-! ref - reference to open
-! OUTPUTS
-! obj_id - object_identifier
-! hdferr - error code
-! Success: 0
-! Failure: -1
-!
-! AUTHOR
-! Elena Pourmal
-! August 12, 1999
-!
-! HISTORY
-! Explicit Fortran interfaces were added for
-! called C functions (it is needed for Windows
-! port). February 28, 2001
-!
-! NOTES
-! This is a module procedure for the h5rdereference_f subroutine.
-!
-! SOURCE
- SUBROUTINE h5rdereference_object_f(dset_id, ref, obj_id, hdferr)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
- TYPE(hobj_ref_t_f), INTENT(IN) :: ref ! Object reference
- INTEGER(HID_T), INTENT(OUT) :: obj_id ! Object identifier
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-!*****
- INTEGER(HADDR_T) :: ref_f ! Local buffer to pass reference
-
- INTERFACE
- INTEGER FUNCTION h5rdereference_object_c(dset_id, ref_f, obj_id)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5RDEREFERENCE_OBJECT_C':: h5rdereference_object_c
- !DEC$ENDIF
- ! INTEGER, PARAMETER :: REF_OBJ_BUF_LEN = 2
- INTEGER(HID_T), INTENT(IN) :: dset_id
- INTEGER(HADDR_T) :: ref_f
- INTEGER(HID_T), INTENT(OUT) :: obj_id
- END FUNCTION h5rdereference_object_c
- END INTERFACE
-
- ref_f = ref%ref
- hdferr = h5rdereference_object_c(dset_id, ref_f, obj_id )
-
- END SUBROUTINE h5rdereference_object_f
-!****s* H5R (F90)/h5rdereference_region_f
-!
-! NAME
-! h5rdereference_region_f
-!
-! PURPOSE
-! Opens the dataset region
-!
-! INPUTS
-! dset_id - identifier of the dataset containing
-! reference to teh regions
-! ref - reference to open
-! OUTPUTS
-! obj_id - dataspace identifier
-! hdferr - error code
-! Success: 0
-! Failure: -1
-!
-! AUTHOR
-! Elena Pourmal
-! August 12, 1999
-!
-! HISTORY
-! Explicit Fortran interfaces were added for
-! called C functions (it is needed for Windows
-! port). February 28, 2001
-!
-! NOTES
-! This is a module procedure for the h5rdereference_f subroutine.
-!
-! SOURCE
- SUBROUTINE h5rdereference_region_f(dset_id, ref, obj_id, hdferr)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
- TYPE(hdset_reg_ref_t_f), INTENT(IN) :: ref ! Object reference
- INTEGER(HID_T), INTENT(OUT) :: obj_id ! Dataspace identifier
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-!*****
- INTEGER :: ref_f(REF_REG_BUF_LEN) ! Local buffer to pass reference
-
- INTERFACE
- INTEGER FUNCTION h5rdereference_region_c(dset_id, ref_f, obj_id)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5RDEREFERENCE_REGION_C':: h5rdereference_region_c
- !DEC$ENDIF
- INTEGER(HID_T), INTENT(IN) :: dset_id
-! INTEGER, PARAMETER :: REF_REG_BUF_LEN = 3
- INTEGER :: ref_f(REF_REG_BUF_LEN)
- INTEGER(HID_T), INTENT(OUT) :: obj_id
- END FUNCTION h5rdereference_region_c
- END INTERFACE
-
- ref_f = ref%ref
- hdferr = h5rdereference_region_c(dset_id, ref_f, obj_id )
-
- END SUBROUTINE h5rdereference_region_f
-!****s* H5R (F90)/h5rget_name_object_f
-!
-! NAME
-! h5rget_name_object_f
-!
-! PURPOSE
-! Retrieves a name of a referenced object.
-!
-! INPUTS
-! loc_id - Identifier for the file containing the reference or for any object in that file.
-! ref - An object or dataset region reference.
-!
-! OUTPUTS
-! name - A name associated with the referenced object or dataset region.
-!
-! hdferr - error code
-! Success: 0
-! Failure: -1
-!
-! OPTIONAL PARAMETERS
-! size - The size of the name buffer, returning 0 (zero) if
-! no name is associated with the identifier
-!
-! AUTHOR
-! M. Scot Breitenfeld
-! March 28, 2008
-!
-! SOURCES
- SUBROUTINE h5rget_name_object_f(loc_id, ref, name, hdferr, size)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: loc_id ! Identifier for the file containing the reference or
- ! for any object in that file.
- ! or for the group that dataset is in.
- TYPE(hobj_ref_t_f), INTENT(IN) :: ref ! Object reference
- INTEGER(SIZE_T), OPTIONAL, INTENT(OUT) :: size ! The size of the name buffer,
- ! returning 0 (zero) if no name is associated with the identifier
- CHARACTER(LEN=*), INTENT(OUT) :: name ! A name associated with the referenced object or dataset region.
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-!*****
- INTEGER(HADDR_T) :: ref_f ! Local buffer to pass reference
-
- INTEGER(SIZE_T) :: size_default
- INTEGER(SIZE_T) :: name_len
-
- INTERFACE
- INTEGER FUNCTION h5rget_name_object_c(loc_id, ref_f, name, name_len, size_default)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5RGET_NAME_OBJECT_C':: h5rget_name_object_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: name
- INTEGER(HID_T), INTENT(IN) :: loc_id
- INTEGER(SIZE_T) :: size_default
- CHARACTER(LEN=*), INTENT(OUT) :: name
- INTEGER(HADDR_T) :: ref_f
-
- INTEGER(SIZE_T) :: name_len
- END FUNCTION h5rget_name_object_c
- END INTERFACE
-
- name_len=LEN(name)
-
- ref_f = ref%ref
- hdferr = h5rget_name_object_c(loc_id, ref_f, name, name_len, size_default)
-
- IF(PRESENT(size)) size = size_default
-
- END SUBROUTINE h5rget_name_object_f
-
-!****s* H5R (F90)/h5rget_name_region_f
-!
-! NAME
-! h5rget_name_region_f
-!
-! PURPOSE
-! Retrieves a name of a dataset region.
-!
-! INPUTS
-! loc_id - Identifier for the file containing the reference or
-! for any object in that file.
-! ref - An object or dataset region reference.
-!
-! OUTPUTS
-! name - A name associated with the referenced object or dataset region.
-! hdferr - error code
-! Success: 0
-! Failure: -1
-!
-! OPTIONAL PARAMETERS
-! size - The size of the name buffer, returning 0 (zero) if no
-! name is associated with the identifier
-!
-! AUTHOR
-! M. Scot Breitenfeld
-! March 28, 2008
-!
-! SOURCE
- SUBROUTINE h5rget_name_region_f(loc_id, ref, name, hdferr, size)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: loc_id
- TYPE(hdset_reg_ref_t_f), INTENT(IN) :: ref
- INTEGER(SIZE_T), OPTIONAL, INTENT(OUT) :: size
- CHARACTER(LEN=*), INTENT(OUT) :: name
- INTEGER, INTENT(OUT) :: hdferr
-!*****
- INTEGER :: ref_f(REF_REG_BUF_LEN) ! Local buffer to pass reference
- INTEGER(SIZE_T) :: size_default
- INTEGER(SIZE_T) :: name_len
-
- INTERFACE
- INTEGER FUNCTION h5rget_name_region_c(loc_id, ref_f, name, name_len, size_default)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5RGET_NAME_REGION_C':: h5rget_name_region_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: name
- INTEGER(HID_T), INTENT(IN) :: loc_id
- INTEGER(SIZE_T) :: size_default
- CHARACTER(LEN=*), INTENT(OUT) :: name
- INTEGER :: ref_f(REF_REG_BUF_LEN)
-
- INTEGER(SIZE_T) :: name_len
- END FUNCTION h5rget_name_region_c
- END INTERFACE
-
- name_len=LEN(name)
-
- ref_f = ref%ref
- hdferr = h5rget_name_region_c(loc_id, ref_f, name, name_len, size_default)
-
- IF(PRESENT(size)) size = size_default
-
- END SUBROUTINE h5rget_name_region_f
-
-END MODULE H5R_PROVISIONAL
diff --git a/fortran/src/H5Sf.c b/fortran/src/H5Sf.c
index 6947d64..67427a7 100644
--- a/fortran/src/H5Sf.c
+++ b/fortran/src/H5Sf.c
@@ -1,6 +1,6 @@
/****h* H5Sf/H5Sf
* PURPOSE
- * This file contains C stubs for H5S Fortran APIs
+ * This file contains C stubs for H5S Fortran APIs
*
* COPYRIGHT
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
@@ -26,27 +26,27 @@
/****if* H5Sf/h5screate_simple_c
* NAME
- * h5screate_simple_c
+ * h5screate_simple_c
* PURPOSE
- * Call H5Screate_simple to create a dataspace
+ * Call H5Screate_simple to create a dataspace
* INPUTS
- * rank - number of dimensions of dataspace
- * dims - array of the size of each dimension
+ * rank - number of dimensions of dataspace
+ * dims - array of the size of each dimension
maxdims - an array of the maximum size of each dimension
* OUTPUTS
- * space_id - identifier of the created dataspace
+ * space_id - identifier of the created dataspace
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* Elena Pourmal
- * Wednesday, August 4, 1999
+ * Wednesday, August 4, 1999
* HISTORY
*
* SOURCE
*/
int_f
-nh5screate_simple_c ( int_f *rank, hsize_t_f *dims, hsize_t_f *maxdims, hid_t_f *space_id )
+h5screate_simple_c ( int_f *rank, hsize_t_f *dims, hsize_t_f *maxdims, hid_t_f *space_id )
/******/
{
hsize_t c_dims[H5S_MAX_RANK];
@@ -75,23 +75,23 @@ done:
/****if* H5Sf/h5sclose_c
* NAME
- * h5sclose_c
+ * h5sclose_c
* PURPOSE
- * Call H5Sclose to close the dataspace
+ * Call H5Sclose to close the dataspace
* INPUTS
- * space_id - identifier of the dataspace to be closed
+ * space_id - identifier of the dataspace to be closed
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* Elena Pourmal
- * Wednesday, August 4, 1999
+ * Wednesday, August 4, 1999
* HISTORY
*
* SOURCE
*/
int_f
-nh5sclose_c ( hid_t_f *space_id )
+h5sclose_c ( hid_t_f *space_id )
/******/
{
int ret_value = 0;
@@ -104,25 +104,25 @@ nh5sclose_c ( hid_t_f *space_id )
/****if* H5Sf/h5screate_c
* NAME
- * h5screate_c
+ * h5screate_c
* PURPOSE
- * Call H5Screate to create a dataspace
+ * Call H5Screate to create a dataspace
* INPUTS
- * classtype - type of the dataspace class
+ * classtype - type of the dataspace class
* OUTPUTS
- * space_id - identifier of the created dataspace
+ * space_id - identifier of the created dataspace
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* Elena Pourmal
- * Tuesday, August 10, 1999
+ * Tuesday, August 10, 1999
* HISTORY
*
* SOURCE
*/
int_f
-nh5screate_c ( int_f *classtype, hid_t_f *space_id )
+h5screate_c ( int_f *classtype, hid_t_f *space_id )
/******/
{
H5S_class_t c_classtype;
@@ -138,25 +138,25 @@ nh5screate_c ( int_f *classtype, hid_t_f *space_id )
/****if* H5Sf/h5scopy_c
* NAME
- * h5scopy_c
+ * h5scopy_c
* PURPOSE
- * Call H5Scopy to copy dataspace
+ * Call H5Scopy to copy dataspace
* INPUTS
- * space_id - identifier of the dataspace to be copied
+ * space_id - identifier of the dataspace to be copied
* OUTPUTS
- * new_space_id - identifier of the new datspace
+ * new_space_id - identifier of the new datspace
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* Elena Pourmal
- * Tuesday, August 10, 1999
+ * Tuesday, August 10, 1999
* HISTORY
*
* SOURCE
*/
int_f
-nh5scopy_c( hid_t_f *space_id , hid_t_f *new_space_id)
+h5scopy_c( hid_t_f *space_id , hid_t_f *new_space_id)
/******/
{
int ret_value = 0;
@@ -173,28 +173,28 @@ nh5scopy_c( hid_t_f *space_id , hid_t_f *new_space_id)
/****if* H5Sf/h5sget_select_hyper_nblocks_c
* NAME
- * h5sget_select_hyper_nblocks_c
+ * h5sget_select_hyper_nblocks_c
* PURPOSE
- * Call H5SH5Sget_select_hyper_nblocks to
- * get the the number of hyperslab blocks in
- * the current dataspace selection if successful
+ * Call H5SH5Sget_select_hyper_nblocks to
+ * get the the number of hyperslab blocks in
+ * the current dataspace selection if successful
* INPUTS
- * space_id - identifier of the dataspace
+ * space_id - identifier of the dataspace
* OUTPUTS
- * num_blocks - number of hyperslab blocks in
- * the current dataspace selection
+ * num_blocks - number of hyperslab blocks in
+ * the current dataspace selection
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* Xiangyang Su
- * Friday, November 12, 1999
+ * Friday, November 12, 1999
* HISTORY
*
* SOURCE
*/
int_f
-nh5sget_select_hyper_nblocks_c( hid_t_f *space_id , hssize_t_f * num_blocks)
+h5sget_select_hyper_nblocks_c( hid_t_f *space_id , hssize_t_f * num_blocks)
/******/
{
int ret_value = 0;
@@ -211,28 +211,28 @@ nh5sget_select_hyper_nblocks_c( hid_t_f *space_id , hssize_t_f * num_blocks)
/****if* H5Sf/h5sget_select_elem_npoints_c
* NAME
- * h5sget_select_elem_npoints_c
+ * h5sget_select_elem_npoints_c
* PURPOSE
- * Call H5Sget_select_elem_npoints to
- * get the the number of element points in
- * the current dataspace selection if successful
+ * Call H5Sget_select_elem_npoints to
+ * get the the number of element points in
+ * the current dataspace selection if successful
* INPUTS
- * space_id - identifier of the dataspace
+ * space_id - identifier of the dataspace
* OUTPUTS
- * num_points - number of element points in
- * the current dataspace selection
+ * num_points - number of element points in
+ * the current dataspace selection
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* Xiangyang Su
- * Monday, November 15, 1999
+ * Monday, November 15, 1999
* HISTORY
*
* SOURCE
*/
int_f
-nh5sget_select_elem_npoints_c( hid_t_f *space_id , hssize_t_f * num_points)
+h5sget_select_elem_npoints_c( hid_t_f *space_id , hssize_t_f * num_points)
/******/
{
int ret_value = 0;
@@ -249,36 +249,36 @@ nh5sget_select_elem_npoints_c( hid_t_f *space_id , hssize_t_f * num_points)
/****if* H5Sf/h5sget_select_hyper_blocklist_c
* NAME
- * h5sget_select_hyper_blocklist_c
+ * h5sget_select_hyper_blocklist_c
* PURPOSE
- * Call H5Sget_select_hyper_blocklist to
- * get a list of the hyperslab blocks currently selected
- * Starting with the startblock-th block in the
- * list of blocks, num_blocks blocks are put into the user's
- * buffer. If the user's buffer fills up before numblocks
- * blocks are inserted, the buffer
- * will contain only as many blocks as fit.
+ * Call H5Sget_select_hyper_blocklist to
+ * get a list of the hyperslab blocks currently selected
+ * Starting with the startblock-th block in the
+ * list of blocks, num_blocks blocks are put into the user's
+ * buffer. If the user's buffer fills up before numblocks
+ * blocks are inserted, the buffer
+ * will contain only as many blocks as fit.
* INPUTS
- * space_id - identifier of the dataspace
- * startblock - Hyperslab block to start with
- * num_blocks - number of hyperslab blocks in
- * the current dataspace selection
+ * space_id - identifier of the dataspace
+ * startblock - Hyperslab block to start with
+ * num_blocks - number of hyperslab blocks in
+ * the current dataspace selection
* OUTPUTS
- * buf - List of hyperslab blocks selected
+ * buf - List of hyperslab blocks selected
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* Xiangyang Su
- * Monday, November 15, 1999
+ * Monday, November 15, 1999
* HISTORY
*
- * Transpose dimension arrays because of C-FORTRAN storage order
- * M. Scot Breitenfeld
+ * Transpose dimension arrays because of C-FORTRAN storage order
+ * M. Scot Breitenfeld
* SOURCE
*/
int_f
-nh5sget_select_hyper_blocklist_c( hid_t_f *space_id ,hsize_t_f *startblock,
+h5sget_select_hyper_blocklist_c( hid_t_f *space_id ,hsize_t_f *startblock,
hsize_t_f *num_blocks, hsize_t_f *buf)
/******/
{
@@ -327,31 +327,31 @@ nh5sget_select_hyper_blocklist_c( hid_t_f *space_id ,hsize_t_f *startblock,
/****if* H5Sf/h5sget_select_bounds_c
* NAME
- * h5sget_select_bounds_c
+ * h5sget_select_bounds_c
* PURPOSE
- * Call H5Sget_select_bounds to retrieve the coordinates
- * of the bounding box containing the current selection
- * and places them into user-supplied buffers
+ * Call H5Sget_select_bounds to retrieve the coordinates
+ * of the bounding box containing the current selection
+ * and places them into user-supplied buffers
* INPUTS
- * space_id - identifier of the dataspace
+ * space_id - identifier of the dataspace
* OUTPUTS
- * start - Starting coordinates of the bounding box
- * end - Ending coordinates of the bounding box,
- * i.e., the coordinates of the diagonally opposite corne
+ * start - Starting coordinates of the bounding box
+ * end - Ending coordinates of the bounding box,
+ * i.e., the coordinates of the diagonally opposite corne
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* Xiangyang Su
- * Wednesday, November 17, 1999
+ * Wednesday, November 17, 1999
* HISTORY
- * swapped array bounds to account for C and Fortran reversed
- * matrix notation.
- * M. Scot Breitenfeld
+ * swapped array bounds to account for C and Fortran reversed
+ * matrix notation.
+ * M. Scot Breitenfeld
* SOURCE
*/
int_f
-nh5sget_select_bounds_c( hid_t_f *space_id , hsize_t_f * start, hsize_t_f * end)
+h5sget_select_bounds_c( hid_t_f *space_id , hsize_t_f * start, hsize_t_f * end)
/******/
{
hid_t c_space_id;
@@ -379,34 +379,34 @@ done:
/****if* H5Sf/h5sget_select_elem_pointlist_c
* NAME
- * h5sget_select_elem_pointlist_c
+ * h5sget_select_elem_pointlist_c
* PURPOSE
- * Call H5Sget_select_elem_pointlist
- * get a list of element points in the
- * current dataspace selectin.
- * Starting with the startpoint-th point in the
- * list of points, numpoints points are put into the user's
- * buffer. If the user's buffer fills up before numpoints
- * points are inserted, the buffer
- * will contain only as many points as fit.
+ * Call H5Sget_select_elem_pointlist
+ * get a list of element points in the
+ * current dataspace selectin.
+ * Starting with the startpoint-th point in the
+ * list of points, numpoints points are put into the user's
+ * buffer. If the user's buffer fills up before numpoints
+ * points are inserted, the buffer
+ * will contain only as many points as fit.
* INPUTS
- * space_id - identifier of the dataspace
- * startpoint - Element point to start with
- * numpoints - Number of element points to get
+ * space_id - identifier of the dataspace
+ * startpoint - Element point to start with
+ * numpoints - Number of element points to get
* OUTPUTS
- * buf - List of element points selected
+ * buf - List of element points selected
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* Xiangyang Su
- * Wednesday, November 17, 1999
+ * Wednesday, November 17, 1999
* HISTORY
*
* SOURCE
*/
int_f
-nh5sget_select_elem_pointlist_c( hid_t_f *space_id ,hsize_t_f * startpoint,
+h5sget_select_elem_pointlist_c( hid_t_f *space_id ,hsize_t_f * startpoint,
hsize_t_f * numpoints, hsize_t_f * buf)
/******/
{
@@ -451,23 +451,23 @@ nh5sget_select_elem_pointlist_c( hid_t_f *space_id ,hsize_t_f * startpoint,
/****if* H5Sf/h5sselect_all_c
* NAME
- * h5sselect_all_c
+ * h5sselect_all_c
* PURPOSE
- * Call H5Sselect_all to select entire dataspace
+ * Call H5Sselect_all to select entire dataspace
* INPUTS
- * space_id - identifier of the dataspace
+ * space_id - identifier of the dataspace
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* Elena Pourmal
- * Tuesday, August 10, 1999
+ * Tuesday, August 10, 1999
* HISTORY
*
* SOURCE
*/
int_f
-nh5sselect_all_c ( hid_t_f *space_id )
+h5sselect_all_c ( hid_t_f *space_id )
/******/
{
int ret_value = 0;
@@ -480,23 +480,23 @@ nh5sselect_all_c ( hid_t_f *space_id )
/****if* H5Sf/h5sselect_none_c
* NAME
- * h5sselect_none_c
+ * h5sselect_none_c
* PURPOSE
- * Call H5Sselect_none to reset the selection region
+ * Call H5Sselect_none to reset the selection region
* INPUTS
- * space_id - identifier of the dataspace
+ * space_id - identifier of the dataspace
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* Elena Pourmal
- * Tuesday, August 10, 1999
+ * Tuesday, August 10, 1999
* HISTORY
*
* SOURCE
*/
int_f
-nh5sselect_none_c ( hid_t_f *space_id )
+h5sselect_none_c ( hid_t_f *space_id )
/******/
{
int ret_value = 0;
@@ -509,27 +509,27 @@ nh5sselect_none_c ( hid_t_f *space_id )
/****if* H5Sf/h5sselect_valid_c
* NAME
- * h5sselect_valid_c
+ * h5sselect_valid_c
* PURPOSE
- * Call H5Sselect_valid to verify that selection
- * is within dataspace extent.
+ * Call H5Sselect_valid to verify that selection
+ * is within dataspace extent.
* INPUTS
- * space_id - identifier of the dataspace
+ * space_id - identifier of the dataspace
* OUTPUTS
- * flag - 0 if not valid selection, 1 if is valid selection,
- * and negative on failure.
+ * flag - 0 if not valid selection, 1 if is valid selection,
+ * and negative on failure.
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* Elena Pourmal
- * Tuesday, August 10, 1999
+ * Tuesday, August 10, 1999
* HISTORY
*
* SOURCE
*/
int_f
-nh5sselect_valid_c ( hid_t_f *space_id , int_f *flag )
+h5sselect_valid_c ( hid_t_f *space_id , int_f *flag )
/******/
{
int ret_value = 0;
@@ -545,26 +545,26 @@ nh5sselect_valid_c ( hid_t_f *space_id , int_f *flag )
/****if* H5Sf/h5sget_simple_extent_npoints_c
* NAME
- * h5sget_simple_extent_npoints_c
+ * h5sget_simple_extent_npoints_c
* PURPOSE
- * Call H5Sget_simple_extent_npoints to determine the number
- * of elements in a dataspace
+ * Call H5Sget_simple_extent_npoints to determine the number
+ * of elements in a dataspace
* INPUTS
- * space_id - identifier of the dataspace
+ * space_id - identifier of the dataspace
* OUTPUTS
- * npoints - number of points in a dataspace
+ * npoints - number of points in a dataspace
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* Elena Pourmal
- * Wednesday, August 11, 1999
+ * Wednesday, August 11, 1999
* HISTORY
*
* SOURCE
*/
int_f
-nh5sget_simple_extent_npoints_c ( hid_t_f *space_id , hsize_t_f *npoints )
+h5sget_simple_extent_npoints_c ( hid_t_f *space_id , hsize_t_f *npoints )
/******/
{
int ret_value = 0;
@@ -580,26 +580,26 @@ nh5sget_simple_extent_npoints_c ( hid_t_f *space_id , hsize_t_f *npoints )
/****if* H5Sf/h5sget_select_npoints_c
* NAME
- * h5sget_select_npoints_c
+ * h5sget_select_npoints_c
* PURPOSE
- * Call H5Sget_select_npoints to determine the number
- * of elements in a dataspace selection
+ * Call H5Sget_select_npoints to determine the number
+ * of elements in a dataspace selection
* INPUTS
- * space_id - identifier of the dataspace
+ * space_id - identifier of the dataspace
* OUTPUTS
- * npoints - number of points in a dataspace selection
+ * npoints - number of points in a dataspace selection
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* Elena Pourmal
- * Wednesday, August 11, 1999
+ * Wednesday, August 11, 1999
* HISTORY
*
* SOURCE
*/
int_f
-nh5sget_select_npoints_c ( hid_t_f *space_id , hssize_t_f *npoints )
+h5sget_select_npoints_c ( hid_t_f *space_id , hssize_t_f *npoints )
/******/
{
int ret_value = 0;
@@ -615,26 +615,26 @@ nh5sget_select_npoints_c ( hid_t_f *space_id , hssize_t_f *npoints )
/****if* H5Sf/h5sget_simple_extent_ndims_c
* NAME
- * h5sget_simple_extent_ndims_c
+ * h5sget_simple_extent_ndims_c
* PURPOSE
- * Call H5Sget_simple_extent_ndims to determine the number
- * dimensions
+ * Call H5Sget_simple_extent_ndims to determine the number
+ * dimensions
* INPUTS
- * space_id - identifier of the dataspace
+ * space_id - identifier of the dataspace
* OUTPUTS
- * rank - number of dataspace dimensions
+ * rank - number of dataspace dimensions
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* Elena Pourmal
- * Wednesday, August 11, 1999
+ * Wednesday, August 11, 1999
* HISTORY
*
* SOURCE
*/
int_f
-nh5sget_simple_extent_ndims_c ( hid_t_f *space_id , int_f *ndims )
+h5sget_simple_extent_ndims_c ( hid_t_f *space_id , int_f *ndims )
/******/
{
int ret_value = 0;
@@ -650,27 +650,27 @@ nh5sget_simple_extent_ndims_c ( hid_t_f *space_id , int_f *ndims )
/****if* H5Sf/h5sget_simple_extent_type_c
* NAME
- * h5sget_simple_extent_type_c
+ * h5sget_simple_extent_type_c
* PURPOSE
- * Call H5Sget_simple_extent_type to determine the class type
- * of a dataspace
+ * Call H5Sget_simple_extent_type to determine the class type
+ * of a dataspace
* INPUTS
- * space_id - identifier of the dataspace
+ * space_id - identifier of the dataspace
* OUTPUTS
- * classtype - class type; possible values are:
+ * classtype - class type; possible values are:
* H5S_SCALAR_F (0), H5S_SIMPLE_F (1), H5S_NULL_F (2)
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* Elena Pourmal
- * Wednesday, August 11, 1999
+ * Wednesday, August 11, 1999
* HISTORY
*
* SOURCE
*/
int_f
-nh5sget_simple_extent_type_c ( hid_t_f *space_id , int_f *classtype)
+h5sget_simple_extent_type_c ( hid_t_f *space_id , int_f *classtype)
/******/
{
int ret_value = 0;
@@ -691,25 +691,25 @@ nh5sget_simple_extent_type_c ( hid_t_f *space_id , int_f *classtype)
/****if* H5Sf/h5soffset_simple_c
* NAME
- * h5soffset_simple_c
+ * h5soffset_simple_c
* PURPOSE
- * Call H5Soffset_simple to set the offset of a simple
- * dataspace
+ * Call H5Soffset_simple to set the offset of a simple
+ * dataspace
* INPUTS
- * space_id - identifier of the dataspace
- * offset - offset array
+ * space_id - identifier of the dataspace
+ * offset - offset array
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* Elena Pourmal
- * Wednesday, August 11, 1999
+ * Wednesday, August 11, 1999
* HISTORY
*
* SOURCE
*/
int_f
-nh5soffset_simple_c ( hid_t_f *space_id , hssize_t_f *offset)
+h5soffset_simple_c ( hid_t_f *space_id , hssize_t_f *offset)
/******/
{
hid_t c_space_id;
@@ -738,27 +738,27 @@ done:
/****if* H5Sf/h5sset_extent_simple_c
* NAME
- * h5sset_extent_simple_c
+ * h5sset_extent_simple_c
* PURPOSE
- * Call H5Sset_extent_simple to set or reset size of
- * existing dataspace
+ * Call H5Sset_extent_simple to set or reset size of
+ * existing dataspace
* INPUTS
- * space_id - identifier of the dataspace
- * rank - dataspace rank
- * current_size - array with the new dimension sizes
- * maximum_size - aray with maximum sizes of dimensions
+ * space_id - identifier of the dataspace
+ * rank - dataspace rank
+ * current_size - array with the new dimension sizes
+ * maximum_size - aray with maximum sizes of dimensions
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* Elena Pourmal
- * Wednesday, August 11, 1999
+ * Wednesday, August 11, 1999
* HISTORY
*
* SOURCE
*/
int_f
-nh5sset_extent_simple_c ( hid_t_f *space_id , int_f *rank, hsize_t_f *current_size, hsize_t_f *maximum_size)
+h5sset_extent_simple_c ( hid_t_f *space_id , int_f *rank, hsize_t_f *current_size, hsize_t_f *maximum_size)
/******/
{
hsize_t c_current_size[H5S_MAX_RANK];
@@ -784,27 +784,27 @@ done:
/****if* H5Sf/h5sget_simple_extent_dims_c
* NAME
- * h5sget_simple_extent_dims_c
+ * h5sget_simple_extent_dims_c
* PURPOSE
- * Call H5Sget_simple_extent_dims to retrieve sizes of an
- * existing dataspace
+ * Call H5Sget_simple_extent_dims to retrieve sizes of an
+ * existing dataspace
* INPUTS
- * space_id - identifier of the dataspace
+ * space_id - identifier of the dataspace
* OUTPUTS
- * dims - array with the dimension sizes
- * maxdims - aray with maximum sizes of dimensions
+ * dims - array with the dimension sizes
+ * maxdims - aray with maximum sizes of dimensions
* RETURNS
- * number of dataspace dimensions (rank) on success, -1 on failure
+ * number of dataspace dimensions (rank) on success, -1 on failure
* AUTHOR
* Elena Pourmal
- * Wednesday, August 11, 1999
+ * Wednesday, August 11, 1999
* HISTORY
*
* SOURCE
*/
int_f
-nh5sget_simple_extent_dims_c ( hid_t_f *space_id , hsize_t_f *dims, hsize_t_f *maxdims)
+h5sget_simple_extent_dims_c ( hid_t_f *space_id , hsize_t_f *dims, hsize_t_f *maxdims)
/******/
{
hid_t c_space_id;
@@ -838,27 +838,27 @@ done:
/****if* H5Sf/h5sis_simple_c
* NAME
- * h5sis_simple_c
+ * h5sis_simple_c
* PURPOSE
- * Call H5Sis_simple to detrmine if the dataspace
- * is simple.
+ * Call H5Sis_simple to detrmine if the dataspace
+ * is simple.
* INPUTS
- * space_id - identifier of the dataspace
+ * space_id - identifier of the dataspace
* OUTPUTS
- * flag - 0 if not simple, 1 if is simple,
- * and negative on failure.
+ * flag - 0 if not simple, 1 if is simple,
+ * and negative on failure.
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* Elena Pourmal
- * Wednesday, August 11, 1999
+ * Wednesday, August 11, 1999
* HISTORY
*
* SOURCE
*/
int_f
-nh5sis_simple_c ( hid_t_f *space_id , int_f *flag )
+h5sis_simple_c ( hid_t_f *space_id , int_f *flag )
/******/
{
int ret_value = 0;
@@ -875,24 +875,24 @@ nh5sis_simple_c ( hid_t_f *space_id , int_f *flag )
/****if* H5Sf/h5sextent_copy_c
* NAME
- * h5sextent_copy_c
+ * h5sextent_copy_c
* PURPOSE
- * Call H5Sextent_copy to copy an extent of dataspace
+ * Call H5Sextent_copy to copy an extent of dataspace
* INPUTS
- * dest_space_id - identifier of the destination dataspace
- * source_space_id - identifier of the source dataspace
+ * dest_space_id - identifier of the destination dataspace
+ * source_space_id - identifier of the source dataspace
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* Elena Pourmal
- * Wednesday, August 11, 1999
+ * Wednesday, August 11, 1999
* HISTORY
*
* SOURCE
*/
int_f
-nh5sextent_copy_c ( hid_t_f *dest_space_id , hid_t_f *source_space_id)
+h5sextent_copy_c ( hid_t_f *dest_space_id , hid_t_f *source_space_id)
/******/
{
int ret_value = 0;
@@ -908,23 +908,23 @@ nh5sextent_copy_c ( hid_t_f *dest_space_id , hid_t_f *source_space_id)
/****if* H5Sf/h5sset_extent_none_c
* NAME
- * h5sset_extent_none_c
+ * h5sset_extent_none_c
* PURPOSE
- * Call H5Sset_extent_none to remove extent from a dataspace
+ * Call H5Sset_extent_none to remove extent from a dataspace
* INPUTS
- * space_id - dataspace identifier
+ * space_id - dataspace identifier
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* Elena Pourmal
- * Wednesday, August 11, 1999
+ * Wednesday, August 11, 1999
* HISTORY
*
* SOURCE
*/
int_f
-nh5sset_extent_none_c ( hid_t_f *space_id )
+h5sset_extent_none_c ( hid_t_f *space_id )
/******/
{
int ret_value = 0;
@@ -939,30 +939,30 @@ nh5sset_extent_none_c ( hid_t_f *space_id )
/****if* H5Sf/h5sselect_hyperslab_c
* NAME
- * h5sselect_hyperslab_c
+ * h5sselect_hyperslab_c
* PURPOSE
- * Call H5Sselect_hyperslab to select a hyperslab
+ * Call H5Sselect_hyperslab to select a hyperslab
* INPUTS
- * space_id - identifier of the dataspace
- * operator - defines how the new selection is combined
- * with the previous one; current values are
+ * space_id - identifier of the dataspace
+ * operator - defines how the new selection is combined
+ * with the previous one; current values are
* H5S_SELECT_SET_F (0) and H5S_SELECT_OR_F (1)
- * start - offset of start of hyperslab
- * count - number of blocks included in the hyperslab
- * stride - hyperslab stride (interval between blocks)
- * block - size of block in the hyperslab
+ * start - offset of start of hyperslab
+ * count - number of blocks included in the hyperslab
+ * stride - hyperslab stride (interval between blocks)
+ * block - size of block in the hyperslab
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* Elena Pourmal
- * Wednesday, August 11, 1999
+ * Wednesday, August 11, 1999
* HISTORY
*
* SOURCE
*/
int_f
-nh5sselect_hyperslab_c ( hid_t_f *space_id , int_f *op, hsize_t_f *start, hsize_t_f *count, hsize_t_f *stride, hsize_t_f *block)
+h5sselect_hyperslab_c ( hid_t_f *space_id , int_f *op, hsize_t_f *start, hsize_t_f *count, hsize_t_f *stride, hsize_t_f *block)
/******/
{
hsize_t c_start[H5S_MAX_RANK];
@@ -1000,30 +1000,30 @@ done:
#ifdef NEW_HYPERSLAB_API
/****if* H5Sf/h5scombine_hyperslab_c
* NAME
- * h5scombine_hyperslab_c
+ * h5scombine_hyperslab_c
* PURPOSE
- * Call H5Scombine_hyperslab
+ * Call H5Scombine_hyperslab
* INPUTS
- * space_id - identifier of the dataspace
- * operator - defines how the new selection is combined
- * start - offset of start of hyperslab
- * count - number of blocks included in the hyperslab
- * stride - hyperslab stride (interval between blocks)
- * block - size of block in the hyperslab
+ * space_id - identifier of the dataspace
+ * operator - defines how the new selection is combined
+ * start - offset of start of hyperslab
+ * count - number of blocks included in the hyperslab
+ * stride - hyperslab stride (interval between blocks)
+ * block - size of block in the hyperslab
* OUTPUTS
- * hyper_id - identifier for the new dataspace
+ * hyper_id - identifier for the new dataspace
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* Elena Pourmal
- * Monday, October 7, 2002
+ * Monday, October 7, 2002
* HISTORY
*
* SOURCE
*/
int_f
-nh5scombine_hyperslab_c ( hid_t_f *space_id , int_f *op, hsize_t_f *start, hsize_t_f *count, hsize_t_f *stride, hsize_t_f *block, hid_t_f *hyper_id)
+h5scombine_hyperslab_c ( hid_t_f *space_id , int_f *op, hsize_t_f *start, hsize_t_f *count, hsize_t_f *stride, hsize_t_f *block, hid_t_f *hyper_id)
/******/
{
int ret_value = -1;
@@ -1082,27 +1082,27 @@ DONE:
}
/****if* H5Sf/h5scombine_select_c
* NAME
- * h5scombine_select_c
+ * h5scombine_select_c
* PURPOSE
- * Call H5Scombine_ select
+ * Call H5Scombine_ select
* INPUTS
- * space1_id - identifier of the first dataspace
- * operator - defines how the new selection is combined
- * space2_id - identifier of the second dataspace
+ * space1_id - identifier of the first dataspace
+ * operator - defines how the new selection is combined
+ * space2_id - identifier of the second dataspace
* OUTPUTS
- * ds_id - identifier for the new dataspace
+ * ds_id - identifier for the new dataspace
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* Elena Pourmal
- * Monday, October 7, 2002
+ * Monday, October 7, 2002
* HISTORY
*
* SOURCE
*/
int_f
-nh5scombine_select_c ( hid_t_f *space1_id , int_f *op, hid_t_f *space2_id, hid_t_f *ds_id)
+h5scombine_select_c ( hid_t_f *space1_id , int_f *op, hid_t_f *space2_id, hid_t_f *ds_id)
/******/
{
int ret_value = -1;
@@ -1123,25 +1123,25 @@ nh5scombine_select_c ( hid_t_f *space1_id , int_f *op, hid_t_f *space2_id, hid_t
}
/****if* H5Sf/h5sselect_select_c
* NAME
- * h5sselect_select_c
+ * h5sselect_select_c
* PURPOSE
- * Call H5Sselect_ select
+ * Call H5Sselect_ select
* INPUTS
- * space1_id - identifier of the first dataspace to modify
- * operator - defines how the new selection is combined
- * space2_id - identifier of the second dataspace
+ * space1_id - identifier of the first dataspace to modify
+ * operator - defines how the new selection is combined
+ * space2_id - identifier of the second dataspace
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* Elena Pourmal
- * Monday, October 7, 2002
+ * Monday, October 7, 2002
* HISTORY
*
* SOURCE
*/
int_f
-nh5sselect_select_c ( hid_t_f *space1_id , int_f *op, hid_t_f *space2_id)
+h5sselect_select_c ( hid_t_f *space1_id , int_f *op, hid_t_f *space2_id)
/******/
{
int ret_value = -1;
@@ -1160,24 +1160,24 @@ nh5sselect_select_c ( hid_t_f *space1_id , int_f *op, hid_t_f *space2_id)
#endif /*NEW_HYPERSLAB_API*/
/****if* H5Sf/h5sget_select_type_c
* NAME
- * h5sget_select_type_c
+ * h5sget_select_type_c
* PURPOSE
- * Call H5Sget_select_type
+ * Call H5Sget_select_type
* INPUTS
- * space_id - identifier of the dataspace
+ * space_id - identifier of the dataspace
* OUTPUTS
- * type - type of selection
+ * type - type of selection
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* Elena Pourmal
- * Monday, October 7, 2002
+ * Monday, October 7, 2002
* HISTORY
*
* SOURCE
*/
int_f
-nh5sget_select_type_c ( hid_t_f *space_id , int_f *type)
+h5sget_select_type_c ( hid_t_f *space_id , int_f *type)
/******/
{
int ret_value = -1;
@@ -1195,28 +1195,28 @@ nh5sget_select_type_c ( hid_t_f *space_id , int_f *type)
/****if* H5Sf/h5sselect_elements_c
* NAME
- * h5sselect_elements_c
+ * h5sselect_elements_c
* PURPOSE
- * Call H5Sselect_elements to select elements of a dataspace
+ * Call H5Sselect_elements to select elements of a dataspace
* INPUTS
- * space_id - identifier of the dataspace
- * operator - defines how the new selection is combined
- * with the previous one; current values are
+ * space_id - identifier of the dataspace
+ * operator - defines how the new selection is combined
+ * with the previous one; current values are
* H5S_SELECT_SET_F (0)
- * nelements - number of elements in the selection
- * coord - arrays with the elements coordinates
+ * nelements - number of elements in the selection
+ * coord - arrays with the elements coordinates
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* Elena Pourmal
- * Wednesday, August 11, 1999
+ * Wednesday, August 11, 1999
* HISTORY
*
* SOURCE
*/
int_f
-nh5sselect_elements_c ( hid_t_f *space_id , int_f *op, size_t_f *nelements, hsize_t_f *coord)
+h5sselect_elements_c ( hid_t_f *space_id , int_f *op, size_t_f *nelements, hsize_t_f *coord)
/******/
{
int ret_value = -1;
@@ -1251,28 +1251,28 @@ nh5sselect_elements_c ( hid_t_f *space_id , int_f *op, size_t_f *nelements, hsi
/****if* H5Sf/h5sdecode_c
* NAME
- * h5sdecode_c
+ * h5sdecode_c
* PURPOSE
- * Call H5Sdecode
+ * Call H5Sdecode
* INPUTS
*
* buf - Buffer for the data space object to be decoded.
* OUTPUTS
*
- * obj_id - Object_id (non-negative)
+ * obj_id - Object_id (non-negative)
*
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* M. Scot Breitenfeld
- * March 26, 2008
+ * March 26, 2008
* HISTORY
*
* SOURCE
*/
int_f
-nh5sdecode_c ( _fcd buf, hid_t_f *obj_id )
+h5sdecode_c ( _fcd buf, hid_t_f *obj_id )
/******/
{
int ret_value = -1;
@@ -1297,26 +1297,26 @@ nh5sdecode_c ( _fcd buf, hid_t_f *obj_id )
/****if* H5Sf/h5sencode_c
* NAME
- * h5sencode_c
+ * h5sencode_c
* PURPOSE
- * Call H5Sencode
+ * Call H5Sencode
* INPUTS
*
- * obj_id - Identifier of the object to be encoded.
+ * obj_id - Identifier of the object to be encoded.
* buf - Buffer for the object to be encoded into.
- * nalloc - The size of the allocated buffer.
+ * nalloc - The size of the allocated buffer.
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* M. Scot Breitenfeld
- * March 26, 2008
+ * March 26, 2008
* HISTORY
*
* SOURCE
*/
int_f
-nh5sencode_c (_fcd buf, hid_t_f *obj_id, size_t_f *nalloc )
+h5sencode_c (_fcd buf, hid_t_f *obj_id, size_t_f *nalloc )
/******/
{
int ret_value = -1;
@@ -1366,28 +1366,28 @@ nh5sencode_c (_fcd buf, hid_t_f *obj_id, size_t_f *nalloc )
/****if* H5Sf/h5sextent_equal_c
* NAME
- * h5sextent_equal_c
+ * h5sextent_equal_c
* PURPOSE
- * Call H5Sextent_equal
+ * Call H5Sextent_equal
* INPUTS
*
* space1_id - First dataspace identifier.
- * space2_id - Second dataspace identifier.
+ * space2_id - Second dataspace identifier.
* OUTPUTS
*
- * equal - TRUE if equal, FALSE if unequal.
+ * equal - TRUE if equal, FALSE if unequal.
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* M. Scot Breitenfeld
- * April 4, 2008
+ * April 4, 2008
* HISTORY
*
* SOURCE
*/
int_f
-nh5sextent_equal_c ( hid_t_f * space1_id, hid_t_f *space2_id, hid_t_f *c_equal)
+h5sextent_equal_c ( hid_t_f * space1_id, hid_t_f *space2_id, hid_t_f *c_equal)
/******/
{
int ret_value = -1;
diff --git a/fortran/src/H5Sff.F90 b/fortran/src/H5Sff.F90
new file mode 100644
index 0000000..aeb3314
--- /dev/null
+++ b/fortran/src/H5Sff.F90
@@ -0,0 +1,1754 @@
+!****h* ROBODoc/H5S
+!
+! NAME
+! MODULE H5S
+!
+! FILE
+! fortran/src/H5Sff.f90
+!
+! PURPOSE
+! This file contains Fortran interfaces for H5S functions.
+!
+! COPYRIGHT
+! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+! Copyright by The HDF Group. *
+! Copyright by the Board of Trustees of the University of Illinois. *
+! All rights reserved. *
+! *
+! This file is part of HDF5. The full HDF5 copyright notice, including *
+! terms governing use, modification, and redistribution, is contained in *
+! the files COPYING and Copyright.html. COPYING can be found at the root *
+! of the source code distribution tree; Copyright.html can be found at the *
+! root level of an installed copy of the electronic HDF5 document set and *
+! is linked from the top-level documents page. It can also be found at *
+! http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have *
+! access to either file, you may request a copy from help@hdfgroup.org. *
+! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+!
+! NOTES
+!
+! _____ __ __ _____ ____ _____ _______ _ _ _______
+! |_ _| \/ | __ \ / __ \| __ \__ __|/\ | \ | |__ __|
+! **** | | | \ / | |__) | | | | |__) | | | / \ | \| | | | ****
+! **** | | | |\/| | ___/| | | | _ / | | / /\ \ | . ` | | | ****
+! **** _| |_| | | | | | |__| | | \ \ | |/ ____ \| |\ | | | ****
+! |_____|_| |_|_| \____/|_| \_\ |_/_/ \_\_| \_| |_|
+!
+! If you add a new H5S function you must add the function name to the
+! Windows dll file 'hdf5_fortrandll.def.in' in the fortran/src directory.
+! This is needed for Windows based operating systems.
+!
+!*****
+
+MODULE H5S
+ USE, INTRINSIC :: ISO_C_BINDING, ONLY : C_PTR, C_CHAR
+ USE H5GLOBAL
+
+CONTAINS
+!
+!****s* H5S/h5screate_simple_f
+!
+! NAME
+! h5screate_simple_f
+!
+! PURPOSE
+! Creates a new simple data space and opens it for access .
+!
+! INPUTS
+! rank - number of dimensions
+! dims - an array of the size of each dimension
+! OUTPUTS
+! space_id - dataspace identifier
+! hdferr - Returns 0 if successful and -1 if fails
+! OPTIONAL PARAMETERS
+! maxdims - an array of the maximum size of each dimension
+!
+! AUTHOR
+! Elena Pourmal
+! August 12, 1999
+!
+! HISTORY
+! Explicit Fortran interfaces were added for
+! called C functions (it is needed for Windows
+! port). March 6, 2001
+! SOURCE
+ SUBROUTINE h5screate_simple_f(rank, dims, space_id, hdferr, maxdims)
+
+ IMPLICIT NONE
+ INTEGER, INTENT(IN) :: rank
+ INTEGER(HSIZE_T), INTENT(IN) :: dims(rank)
+ INTEGER(HID_T), INTENT(OUT) :: space_id
+ INTEGER, INTENT(OUT) :: hdferr
+ INTEGER(HSIZE_T), OPTIONAL, INTENT(IN) :: maxdims(rank)
+!*****
+ INTEGER(HSIZE_T), ALLOCATABLE, DIMENSION(:) :: f_maxdims
+
+ INTERFACE
+ INTEGER FUNCTION h5screate_simple_c(rank, dims, maxdims, space_id) BIND(C,NAME='h5screate_simple_c')
+ IMPORT :: HID_T, HSIZE_T
+ IMPLICIT NONE
+ INTEGER, INTENT(IN) :: rank
+ INTEGER(HSIZE_T), INTENT(IN) :: dims(rank)
+ INTEGER(HSIZE_T), DIMENSION(:),INTENT(IN) :: maxdims(rank)
+ INTEGER(HID_T), INTENT(OUT) :: space_id
+ END FUNCTION h5screate_simple_c
+ END INTERFACE
+
+ ALLOCATE (f_maxdims(rank), stat=hdferr)
+ IF (hdferr .NE. 0) THEN
+ hdferr = -1
+ RETURN
+ ENDIF
+ IF (PRESENT(maxdims)) THEN
+ f_maxdims = maxdims
+ ELSE
+ f_maxdims = dims
+ ENDIF
+ hdferr = h5screate_simple_c(rank, dims, f_maxdims, space_id)
+ DEALLOCATE(f_maxdims)
+
+ END SUBROUTINE h5screate_simple_f
+
+!
+!****s* H5S/h5sclose_f
+!
+! NAME
+! h5sclose_f
+!
+! PURPOSE
+! Releases and terminates access to a dataspace.
+!
+! INPUTS
+! space_id - identifier of dataspace to release
+! OUTPUTS
+! hdferr - Returns 0 if successful and -1 if fails
+! AUTHOR
+! Elena Pourmal
+! August 12, 1999
+!
+! HISTORY
+! Explicit Fortran interfaces were added for
+! called C functions (it is needed for Windows
+! port). March 6, 2001
+!
+! SOURCE
+ SUBROUTINE h5sclose_f(space_id, hdferr)
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: space_id ! Dataspace identifier
+ INTEGER, INTENT(OUT) :: hdferr ! Error code
+!*****
+ INTERFACE
+ INTEGER FUNCTION h5sclose_c(space_id) BIND(C,NAME='h5sclose_c')
+ IMPORT :: HID_T
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: space_id
+ END FUNCTION h5sclose_c
+ END INTERFACE
+
+ hdferr = h5sclose_c(space_id)
+
+ END SUBROUTINE h5sclose_f
+
+!
+!****s* H5S/h5screate_f
+!
+! NAME
+! h5screate_f
+!
+! PURPOSE
+! Creates a new dataspace of a specified type.
+!
+! INPUTS
+! classtype - The type of the dataspace to be created
+! Possible values are:
+! H5S_SCALAR_F
+! H5S_SIMPLE_F
+! H5S_NULL_F
+! OUTPUTS
+! space_id - Dataspace identifier
+! hdferr - Returns 0 if successful and -1 if fails
+!
+! AUTHOR
+! Elena Pourmal
+! August 12, 1999
+!
+! HISTORY
+! Explicit Fortran interfaces were added for
+! called C functions (it is needed for Windows
+! port). March 6, 2001
+!
+! NOTES
+!
+
+! SOURCE
+ SUBROUTINE h5screate_f(classtype, space_id, hdferr)
+ IMPLICIT NONE
+ INTEGER, INTENT(IN) :: classtype
+ INTEGER(HID_T), INTENT(OUT) :: space_id
+ INTEGER, INTENT(OUT) :: hdferr
+!*****
+ INTERFACE
+ INTEGER FUNCTION h5screate_c(classtype, space_id) BIND(C,NAME='h5screate_c')
+ IMPORT :: HID_T
+ IMPLICIT NONE
+ INTEGER, INTENT(IN) :: classtype
+ INTEGER(HID_T), INTENT(OUT) :: space_id
+ END FUNCTION h5screate_c
+ END INTERFACE
+
+ hdferr = h5screate_c(classtype, space_id)
+
+ END SUBROUTINE h5screate_f
+
+!
+!****s* H5S/h5scopy_f
+!
+! NAME
+! h5scopy_f
+!
+! PURPOSE
+! Creates an exact copy of a dataspace.
+!
+! INPUTS
+! space_id - dataspace identifier
+! OUTPUTS
+! new_space_id - identifier of dataspace's copy
+! hdferr - Returns 0 if successful and -1 if fails
+!
+! AUTHOR
+! Elena Pourmal
+! August 12, 1999
+!
+! HISTORY
+! Explicit Fortran interfaces were added for
+! called C functions (it is needed for Windows
+! port). March 6, 2001
+!
+! NOTES
+!
+
+! SOURCE
+ SUBROUTINE h5scopy_f(space_id, new_space_id, hdferr)
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: space_id
+ INTEGER(HID_T), INTENT(OUT) :: new_space_id
+ INTEGER, INTENT(OUT) :: hdferr
+!*****
+ INTERFACE
+ INTEGER FUNCTION h5scopy_c(space_id, new_space_id) BIND(C,NAME='h5scopy_c')
+ IMPORT :: HID_T
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: space_id
+ INTEGER(HID_T), INTENT(OUT):: new_space_id
+ END FUNCTION h5scopy_c
+ END INTERFACE
+
+ hdferr = h5scopy_c(space_id, new_space_id)
+
+ END SUBROUTINE h5scopy_f
+
+!
+!****s* H5S/h5sget_select_hyper_nblocks_f
+!
+! NAME
+! h5sget_select_hyper_nblocks_f
+!
+! PURPOSE
+! Get number of hyperslab blocks.
+!
+! INPUTS
+! space_id - dataspace identifier
+! OUTPUTS
+! num_blocks - number of hyperslab blocks in the current
+! hyperslab selection
+! hdferr - Returns 0 if successful and -1 if fails
+! AUTHOR
+! Elena Pourmal
+! August 12, 1999
+!
+! HISTORY
+! Explicit Fortran interfaces were added for
+! called C functions (it is needed for Windows
+! port). March 6, 2001
+!
+! SOURCE
+ SUBROUTINE h5sget_select_hyper_nblocks_f(space_id, num_blocks, hdferr)
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: space_id
+ INTEGER(HSSIZE_T), INTENT(OUT) :: num_blocks
+ INTEGER, INTENT(OUT) :: hdferr
+!*****
+ INTERFACE
+ INTEGER FUNCTION h5sget_select_hyper_nblocks_c (space_id, num_blocks) &
+ BIND(C,NAME='h5sget_select_hyper_nblocks_c')
+ IMPORT :: HID_T, HSSIZE_T
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: space_id
+ INTEGER(HSSIZE_T), INTENT(OUT) :: num_blocks
+ END FUNCTION h5sget_select_hyper_nblocks_c
+ END INTERFACE
+
+ hdferr = h5sget_select_hyper_nblocks_c (space_id, num_blocks)
+
+ END SUBROUTINE h5sget_select_hyper_nblocks_f
+
+!
+!****s* H5S/h5sget_select_hyper_blocklist_f
+!
+! NAME
+! h5sget_select_hyper_blocklist_f
+!
+! PURPOSE
+! Gets the list of hyperslab blocks currently selected.
+!
+! INPUTS
+! space_id - dataspace identifier
+! startblock - hyperslab block to start with
+! num_blocks - number of blocks to get
+! OUTPUTS
+! buf - buffer to hold block list
+! hdferr - Returns 0 if successful and -1 if fails
+!
+! AUTHOR
+! Elena Pourmal
+! August 12, 1999
+!
+! HISTORY
+! Explicit Fortran interfaces were added for
+! called C functions (it is needed for Windows
+! port). March 6, 2001
+! SOURCE
+ SUBROUTINE h5sget_select_hyper_blocklist_f(space_id, startblock, &
+ num_blocks, buf, hdferr)
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: space_id
+ INTEGER(HSIZE_T), INTENT(IN) :: startblock
+ INTEGER(HSIZE_T), INTENT(IN) :: num_blocks
+ INTEGER(HSIZE_T), DIMENSION(*), INTENT(OUT) :: buf
+ INTEGER, INTENT(OUT) :: hdferr
+!*****
+ INTERFACE
+ INTEGER FUNCTION h5sget_select_hyper_blocklist_c(space_id, startblock, &
+ num_blocks, buf ) BIND(C,NAME='h5sget_select_hyper_blocklist_c')
+ IMPORT :: HID_T, HSIZE_T
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: space_id
+ INTEGER(HSIZE_T), INTENT(IN) :: startblock
+ INTEGER(HSIZE_T), INTENT(IN) :: num_blocks
+ INTEGER(HSIZE_T), DIMENSION(*), INTENT(OUT) :: buf
+ END FUNCTION h5sget_select_hyper_blocklist_c
+ END INTERFACE
+
+ hdferr = h5sget_select_hyper_blocklist_c(space_id, startblock, num_blocks, buf )
+
+ END SUBROUTINE h5sget_select_hyper_blocklist_f
+
+!
+!****s* H5S/h5sget_select_bounds_f
+!
+! NAME
+! h5sget_select_bounds_f
+!
+! PURPOSE
+! Gets the bounding box containing the current selection.
+!
+! INPUTS
+! space_id - dataspace identifier
+!
+! OUTPUTS
+! start - starting coordinates of bounding box
+! end - ending coordinates of bounding box
+! i.e., the coordinates of the diagonally opposite corner
+! hdferr - Returns 0 if successful and -1 if fails
+! OPTIONAL PARAMETERS
+! NONE
+!
+! AUTHOR
+! Elena Pourmal
+! August 12, 1999
+!
+! HISTORY
+! Explicit Fortran interfaces were added for
+! called C functions (it is needed for Windows
+! port). March 6, 2001
+! SOURCE
+ SUBROUTINE h5sget_select_bounds_f(space_id, start, END, hdferr)
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: space_id
+ INTEGER(HSIZE_T), DIMENSION(*), INTENT(OUT) :: start
+ INTEGER(HSIZE_T), DIMENSION(*), INTENT(OUT) :: END
+ INTEGER, INTENT(OUT) :: hdferr
+!*****
+ INTERFACE
+ INTEGER FUNCTION h5sget_select_bounds_c(space_id, start, end) &
+ BIND(C,NAME='h5sget_select_bounds_c')
+ IMPORT :: HID_T, HSIZE_T
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: space_id
+ INTEGER(HSIZE_T), DIMENSION(*), INTENT(OUT) :: start
+ INTEGER(HSIZE_T), DIMENSION(*), INTENT(OUT) :: END
+ END FUNCTION h5sget_select_bounds_c
+ END INTERFACE
+
+ hdferr = h5sget_select_bounds_c(space_id, start, END)
+
+ END SUBROUTINE h5sget_select_bounds_f
+
+!
+!****s* H5S/h5sget_select_elem_npoints_f
+!
+! NAME
+! h5sget_select_elem_npoints_f
+!
+! PURPOSE
+! Gets the number of element points in the current selection
+!
+! INPUTS
+! space_id - dataspace identifier
+! OUTPUTS
+! num_points - number of element points in the current
+! dataspace selection
+! hdferr - Returns 0 if successful and -1 if fails
+! AUTHOR
+! Elena Pourmal
+! August 12, 1999
+!
+! HISTORY
+! Explicit Fortran interfaces were added for
+! called C functions (it is needed for Windows
+! port). March 6, 2001
+!
+! SOURCE
+ SUBROUTINE h5sget_select_elem_npoints_f(space_id, num_points, hdferr)
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: space_id
+ INTEGER(HSSIZE_T), INTENT(OUT) :: num_points
+ INTEGER, INTENT(OUT) :: hdferr
+!*****
+ INTERFACE
+ INTEGER FUNCTION h5sget_select_elem_npoints_c (space_id, num_points) BIND(C,NAME='h5sget_select_elem_npoints_c')
+ IMPORT :: HID_T, HSSIZE_T
+ INTEGER(HID_T), INTENT(IN) :: space_id
+ INTEGER(HSSIZE_T), INTENT(OUT) :: num_points
+ END FUNCTION h5sget_select_elem_npoints_c
+ END INTERFACE
+
+ hdferr = h5sget_select_elem_npoints_c (space_id, num_points)
+
+ END SUBROUTINE h5sget_select_elem_npoints_f
+
+!
+!****s* H5S/h5sget_select_elem_pointlist_f
+!
+! NAME
+! h5sget_select_elem_pointlist_f
+!
+! PURPOSE
+! Gets the list of element points currently selected.
+!
+! INPUTS
+! space_id - dataspace identifier
+! startpoint - element point to start with
+! num_points - number of elemnt points to get
+! OUTPUTS
+! buf - buffer with element points selected
+! hdferr - Returns 0 if successful and -1 if fails
+! AUTHOR
+! Elena Pourmal
+! August 12, 1999
+!
+! HISTORY
+! Explicit Fortran interfaces were added for
+! called C functions (it is needed for Windows
+! port). March 6, 2001
+!
+! SOURCE
+ SUBROUTINE h5sget_select_elem_pointlist_f(space_id, startpoint, &
+ num_points, buf, hdferr)
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: space_id
+ INTEGER(HSIZE_T), INTENT(IN) :: startpoint
+ INTEGER(HSIZE_T), INTENT(IN) :: num_points
+ INTEGER(HSIZE_T), DIMENSION(*), INTENT(OUT) :: buf
+ INTEGER, INTENT(OUT) :: hdferr
+!*****
+ INTERFACE
+ INTEGER FUNCTION h5sget_select_elem_pointlist_c(space_id, startpoint, &
+ num_points, buf ) BIND(C,NAME='h5sget_select_elem_pointlist_c')
+ IMPORT :: HID_T, HSIZE_T
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: space_id
+ INTEGER(HSIZE_T), INTENT(IN) :: startpoint
+ INTEGER(HSIZE_T), INTENT(IN) :: num_points
+ INTEGER(HSIZE_T), DIMENSION(*), INTENT(OUT) :: buf
+ END FUNCTION h5sget_select_elem_pointlist_c
+ END INTERFACE
+
+ hdferr = h5sget_select_elem_pointlist_c(space_id, startpoint, &
+ num_points, buf )
+
+ END SUBROUTINE h5sget_select_elem_pointlist_f
+
+!
+!****s* H5S/h5sselect_elements_f
+!
+! NAME
+! h5sselect_elements_f
+!
+! PURPOSE
+! Selects elements to be included in the selection for
+! a dataspace
+!
+! INPUTS
+! space_id - dataspace identifier
+! operator - flag, valid values are:
+! H5S_SELECT_SET_F
+! H5S_SELECT_APPEND_F
+! H5S_SELECT_PREPEND_F
+! rank - number of dataspace dimensions
+! num_elements - number of elements to be selected
+! coord - 2D (rank x num_elements) array with the
+! elements coordinates ( 1-based); in C the
+! array is stored in 2D as (num_element x rank)
+! OUTPUTS
+! hdferr - Returns 0 if successful and -1 if fails
+! AUTHOR
+! Elena Pourmal
+! August 12, 1999
+!
+! HISTORY
+! Explicit Fortran interfaces were added for
+! called C functions (it is needed for Windows
+! port). March 6, 2001
+! SOURCE
+ SUBROUTINE h5sselect_elements_f(space_id, OPERATOR, rank, &
+ num_elements, coord, hdferr)
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: space_id
+ INTEGER, INTENT(IN) :: OPERATOR
+ INTEGER, INTENT(IN) :: rank
+ INTEGER(SIZE_T), INTENT(IN) :: num_elements
+ INTEGER(HSIZE_T), INTENT(IN) , DIMENSION(rank,num_elements) :: coord
+ INTEGER, INTENT(OUT) :: hdferr
+!*****
+ INTEGER(HSIZE_T), ALLOCATABLE, DIMENSION(:,:) :: c_coord
+ INTEGER :: error, i
+
+ INTERFACE
+ INTEGER FUNCTION h5sselect_elements_c(space_id, OPERATOR,&
+ num_elements,c_c_coord) BIND(C,NAME='h5sselect_elements_c')
+ IMPORT :: HID_T, SIZE_T, HSIZE_T
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: space_id
+ INTEGER, INTENT(IN) :: OPERATOR
+ INTEGER(SIZE_T), INTENT(IN) :: num_elements
+ INTEGER(HSIZE_T),DIMENSION(*) :: c_c_coord
+ END FUNCTION h5sselect_elements_c
+ END INTERFACE
+
+ ALLOCATE(c_coord(rank,num_elements), STAT = error)
+ IF (error.NE. 0) THEN
+ hdferr = -1
+ RETURN
+ ENDIF
+ DO i = 1, rank
+ c_coord(i,:) = coord(rank-i+1, :) - 1
+ ENDDO
+ hdferr = h5sselect_elements_c(space_id, OPERATOR, num_elements, c_coord)
+
+! ALLOCATE(c_coord(num_elements,rank), stat = error)
+! IF (error.NE. 0) THEN
+! hdferr = -1
+! RETURN
+! ENDIF
+!
+! c_coord = TRANSPOSE(coord)
+! hdferr = h5sselect_elements_c(space_id, OPERATOR, INT(rank,size_t), c_coord)
+
+
+ DEALLOCATE(c_coord)
+
+ END SUBROUTINE h5sselect_elements_f
+
+!
+!****s* H5S/h5sselect_all_f
+!
+! NAME
+! h5sselect_all_f
+!
+! PURPOSE
+! Selects the entire dataspace.
+!
+! INPUTS
+! space_id - Identifier for the dataspace in which
+! selection being made
+! OUTPUTS
+! hdferr - Returns 0 if successful and -1 if fails
+! AUTHOR
+! Elena Pourmal
+! August 12, 1999
+!
+! HISTORY
+! Explicit Fortran interfaces were added for
+! called C functions (it is needed for Windows
+! port). March 6, 2001
+!
+! SOURCE
+ SUBROUTINE h5sselect_all_f(space_id, hdferr)
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: space_id
+ INTEGER, INTENT(OUT) :: hdferr
+!*****
+ INTERFACE
+ INTEGER FUNCTION h5sselect_all_c(space_id) BIND(C,NAME='h5sselect_all_c')
+ IMPORT :: HID_T
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: space_id
+ END FUNCTION h5sselect_all_c
+ END INTERFACE
+
+ hdferr = h5sselect_all_c(space_id)
+
+ END SUBROUTINE h5sselect_all_f
+
+!
+!****s* H5S/h5sselect_none_f
+!
+! NAME
+! h5sselect_none_f
+!
+! PURPOSE
+! Resets the selection region to include no elements.
+!
+! INPUTS
+! space_id - the identifier for the dataspace in which
+! the selection is being reset.
+! OUTPUTS
+! hdferr - Returns 0 if successful and -1 if fails
+!
+! AUTHOR
+! Elena Pourmal
+! August 12, 1999
+!
+! HISTORY
+! Explicit Fortran interfaces were added for
+! called C functions (it is needed for Windows
+! port). March 6, 2001
+!
+! SOURCE
+ SUBROUTINE h5sselect_none_f(space_id, hdferr)
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: space_id
+ INTEGER, INTENT(OUT) :: hdferr
+!*****
+ INTERFACE
+ INTEGER FUNCTION h5sselect_none_c(space_id) BIND(C,NAME='h5sselect_none_c')
+ IMPORT :: HID_T
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: space_id
+ END FUNCTION h5sselect_none_c
+ END INTERFACE
+
+ hdferr = h5sselect_none_c(space_id)
+
+ END SUBROUTINE h5sselect_none_f
+
+!
+!****s* H5S/h5sselect_valid_f
+!
+! NAME
+! h5sselect_valid_f
+!
+! PURPOSE
+! Verifies that the selection is within the extent of
+! the dataspace.
+!
+! INPUTS
+! space_id - identifier for the dataspace for which
+! selection is verified
+! OUTPUTS
+! status - TRUE if the selection is contained within
+! the extent, FALSE otherwise.
+! hdferr - Returns 0 if successful and -1 if fails
+!
+! AUTHOR
+! Elena Pourmal
+! August 12, 1999
+!
+! HISTORY
+! Explicit Fortran interfaces were added for
+! called C functions (it is needed for Windows
+! port). March 6, 2001
+!
+! SOURCE
+ SUBROUTINE h5sselect_valid_f(space_id, status, hdferr)
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: space_id
+ LOGICAL, INTENT(OUT) :: status
+ INTEGER, INTENT(OUT) :: hdferr
+!*****
+ INTEGER :: flag ! "TRUE/FALSE/ERROR" flag from C routine
+
+ INTERFACE
+ INTEGER FUNCTION h5sselect_valid_c(space_id, flag) BIND(C,NAME='h5sselect_valid_c')
+ IMPORT :: HID_T
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: space_id
+ INTEGER :: flag
+ END FUNCTION h5sselect_valid_c
+ END INTERFACE
+
+ hdferr = h5sselect_valid_c(space_id, flag)
+ status = .TRUE.
+ IF (flag .EQ. 0) status = .FALSE.
+
+ END SUBROUTINE h5sselect_valid_f
+
+!
+!****s* H5S/h5sget_simple_extent_npoints_f
+!
+! NAME
+! h5sget_simple_extent_npoints_f
+!
+! PURPOSE
+! Determines the number of elements in a dataspace.
+!
+! INPUTS
+! space_id - dataspace identifier
+! OUTPUTS
+! npoints - number of elements in the dataspace
+! hdferr - Returns 0 if successful and -1 if fails
+!
+! AUTHOR
+! Elena Pourmal
+! August 12, 1999
+!
+! HISTORY
+! Explicit Fortran interfaces were added for
+! called C functions (it is needed for Windows
+! port). March 6, 2001
+!
+! SOURCE
+ SUBROUTINE h5sget_simple_extent_npoints_f(space_id, npoints, hdferr)
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: space_id
+ INTEGER(HSIZE_T), INTENT(OUT) :: npoints
+ INTEGER, INTENT(OUT) :: hdferr
+!*****
+ INTERFACE
+ INTEGER FUNCTION h5sget_simple_extent_npoints_c( space_id, npoints) BIND(C,NAME='h5sget_simple_extent_npoints_c')
+ IMPORT :: HID_T, HSIZE_T
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: space_id
+ INTEGER(HSIZE_T), INTENT(OUT) :: npoints
+ END FUNCTION h5sget_simple_extent_npoints_c
+ END INTERFACE
+
+ hdferr = h5sget_simple_extent_npoints_c( space_id, npoints)
+
+ END SUBROUTINE h5sget_simple_extent_npoints_f
+
+!
+!****s* H5S/h5sget_select_npoints_f
+!
+! NAME
+! h5sget_select_npoints_f
+!
+! PURPOSE
+! Determines the number of elements in a dataspace selection.
+!
+! INPUTS
+! space_id - dataspace identifier
+! OUTPUTS
+! npoints - number of points in the dataspace selection
+! hdferr - Returns 0 if successful and -1 if fails
+! AUTHOR
+! Elena Pourmal
+! August 12, 1999
+!
+! HISTORY
+! Explicit Fortran interfaces were added for
+! called C functions (it is needed for Windows
+! port). March 6, 2001
+! SOURCE
+ SUBROUTINE h5sget_select_npoints_f(space_id, npoints, hdferr)
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: space_id
+ INTEGER(HSSIZE_T), INTENT(OUT) :: npoints
+ INTEGER, INTENT(OUT) :: hdferr
+!*****
+ INTERFACE
+ INTEGER FUNCTION h5sget_select_npoints_c(space_id, npoints) BIND(C,NAME='h5sget_select_npoints_c')
+ IMPORT :: HID_T, HSSIZE_T
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: space_id
+ INTEGER(HSSIZE_T), INTENT(OUT) :: npoints
+ END FUNCTION h5sget_select_npoints_c
+ END INTERFACE
+
+ hdferr = h5sget_select_npoints_c(space_id, npoints)
+
+ END SUBROUTINE h5sget_select_npoints_f
+
+!
+!****s* H5S/h5sget_simple_extent_ndims_f
+!
+! NAME
+! h5sget_simple_extent_ndims_f
+!
+! PURPOSE
+! Determines the dimensionality of a dataspace
+!
+! INPUTS
+! space_id - dataspace identifier
+! OUTPUTS
+! rank - number of dataspace dimensions
+! hdferr - Returns 0 if successful and -1 if fails
+! AUTHOR
+! Elena Pourmal
+! August 12, 1999
+!
+! HISTORY
+! Explicit Fortran interfaces were added for
+! called C functions (it is needed for Windows
+! port). March 6, 2001
+!
+! SOURCE
+ SUBROUTINE h5sget_simple_extent_ndims_f(space_id, rank, hdferr)
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: space_id
+ INTEGER, INTENT(OUT) :: rank
+ INTEGER, INTENT(OUT) :: hdferr
+!*****
+ INTERFACE
+ INTEGER FUNCTION h5sget_simple_extent_ndims_c(space_id, rank) BIND(C,NAME='h5sget_simple_extent_ndims_c')
+ IMPORT :: HID_T
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: space_id
+ INTEGER, INTENT(OUT) :: rank
+ END FUNCTION h5sget_simple_extent_ndims_c
+ END INTERFACE
+
+ hdferr = h5sget_simple_extent_ndims_c(space_id, rank)
+
+ END SUBROUTINE h5sget_simple_extent_ndims_f
+!
+!****s* H5S/h5sget_simple_extent_dims_f
+!
+! NAME
+! h5sget_simple_extent_dims_f
+!
+! PURPOSE
+! Retrieves dataspace dimension size and maximum size.
+!
+! INPUTS
+! space_id - dataspace identifier
+!
+! OUTPUTS
+! dims - array to store size of each dimension
+! maxdims - array to store maximum size of each dimension
+! hdferr - Returns 0 if successful and -1 if fails
+!
+! AUTHOR
+! Elena Pourmal
+! August 12, 1999
+!
+! HISTORY
+! Explicit Fortran interfaces were added for
+! called C functions (it is needed for Windows
+! port). March 6, 2001
+!
+! SOURCE
+ SUBROUTINE h5sget_simple_extent_dims_f(space_id, dims, maxdims, hdferr)
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: space_id
+ INTEGER(HSIZE_T), DIMENSION(*), INTENT(OUT) :: dims
+ INTEGER(HSIZE_T), DIMENSION(*), INTENT(OUT) :: maxdims
+ INTEGER, INTENT(OUT) :: hdferr
+!*****
+ INTERFACE
+ INTEGER FUNCTION h5sget_simple_extent_dims_c(space_id, dims, maxdims) BIND(C,NAME='h5sget_simple_extent_dims_c')
+ IMPORT :: HID_T, HSIZE_T
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: space_id
+ INTEGER(HSIZE_T), DIMENSION(*), INTENT(OUT) :: dims
+ INTEGER(HSIZE_T), DIMENSION(*), INTENT(OUT) :: maxdims
+ END FUNCTION h5sget_simple_extent_dims_c
+ END INTERFACE
+
+ hdferr = h5sget_simple_extent_dims_c(space_id, dims, maxdims)
+
+ END SUBROUTINE h5sget_simple_extent_dims_f
+
+!
+!****s* H5S/h5sget_simple_extent_type_f
+!
+! NAME
+! h5sget_simple_extent_type_f
+!
+! PURPOSE
+! Determine the current class of a dataspace
+!
+! INPUTS
+! space_id - dataspace identifier
+! OUTPUTS
+! classtype - class type, possible values are:
+! H5S_NO_CLASS_F
+! H5S_SCALAR_F
+! H5S_SIMPLE_F
+! H5S_NULL_F
+! hdferr - Returns 0 if successful and -1 if fails
+! AUTHOR
+! Elena Pourmal
+! August 12, 1999
+!
+! HISTORY
+! Explicit Fortran interfaces were added for
+! called C functions (it is needed for Windows
+! port). March 6, 2001
+!
+! SOURCE
+ SUBROUTINE h5sget_simple_extent_type_f(space_id, classtype, hdferr)
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: space_id
+ INTEGER, INTENT(OUT) :: classtype
+ INTEGER, INTENT(OUT) :: hdferr
+!*****
+ INTERFACE
+ INTEGER FUNCTION h5sget_simple_extent_type_c(space_id, classtype) BIND(C,NAME='h5sget_simple_extent_type_c')
+ IMPORT :: HID_T
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: space_id
+ INTEGER, INTENT(OUT) :: classtype
+ END FUNCTION h5sget_simple_extent_type_c
+ END INTERFACE
+
+ hdferr = h5sget_simple_extent_type_c(space_id, classtype)
+
+ END SUBROUTINE h5sget_simple_extent_type_f
+ !
+!****s* H5S/h5sset_extent_simple_f
+!
+! NAME
+! h5sset_extent_simple_f
+!
+! PURPOSE
+! Sets or resets the size of an existing dataspace.
+!
+! INPUTS
+! space_id - dataspace identifier
+! rank - dataspace number of dimensions
+! current_size - array with the new sizes of dimensions
+! maximum_size - array with the new maximum sizes of
+! dimensions
+! OUTPUTS
+! hdferr - Returns 0 if successful and -1 if fails
+! AUTHOR
+! Elena Pourmal
+! August 12, 1999
+!
+! HISTORY
+! Explicit Fortran interfaces were added for
+! called C functions (it is needed for Windows
+! port). March 6, 2001
+!
+! SOURCE
+ SUBROUTINE h5sset_extent_simple_f(space_id, rank, current_size, &
+ maximum_size, hdferr)
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: space_id
+ INTEGER, INTENT(IN) :: rank
+ INTEGER(HSIZE_T), DIMENSION(rank), INTENT(IN) :: current_size
+ INTEGER(HSIZE_T), DIMENSION(rank), INTENT(IN) :: maximum_size
+ INTEGER, INTENT(OUT) :: hdferr
+!*****
+ INTERFACE
+ INTEGER FUNCTION h5sset_extent_simple_c(space_id, rank, &
+ current_size, maximum_size) BIND(C,NAME='h5sset_extent_simple_c')
+ IMPORT :: HID_T, HSIZE_T
+ INTEGER(HID_T), INTENT(IN) :: space_id
+ INTEGER, INTENT(IN) :: rank
+ INTEGER(HSIZE_T), DIMENSION(rank), INTENT(IN) :: current_size
+ INTEGER(HSIZE_T), DIMENSION(rank), INTENT(IN) :: maximum_size
+ END FUNCTION h5sset_extent_simple_c
+ END INTERFACE
+
+ hdferr = h5sset_extent_simple_c(space_id, rank, current_size, &
+ maximum_size)
+
+ END SUBROUTINE h5sset_extent_simple_f
+!
+!****s* H5S/h5sis_simple_f
+!
+! NAME
+! h5sis_simple_f
+!
+! PURPOSE
+! Determines whether a dataspace is a simple dataspace.
+!
+! INPUTS
+! space_id - dataspace identifier
+! OUTPUTS
+! status - flag to indicate if dataspace
+! is simple or not (TRUE or FALSE)
+! hdferr - Returns 0 if successful and -1 if fails
+! AUTHOR
+! Elena Pourmal
+! August 12, 1999
+!
+! HISTORY
+! Explicit Fortran interfaces were added for
+! called C functions (it is needed for Windows
+! port). March 6, 2001
+!
+! SOURCE
+ SUBROUTINE h5sis_simple_f(space_id, status, hdferr)
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: space_id
+ LOGICAL, INTENT(OUT) :: status
+ INTEGER, INTENT(OUT) :: hdferr
+!*****
+ INTEGER :: flag ! "TRUE/FALSE/ERROR from C"
+
+ INTERFACE
+ INTEGER FUNCTION h5sis_simple_c(space_id, flag) BIND(C,NAME='h5sis_simple_c')
+ IMPORT :: HID_T
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: space_id
+ INTEGER :: flag
+ END FUNCTION h5sis_simple_c
+ END INTERFACE
+
+ hdferr = h5sis_simple_c(space_id, flag)
+ status = .TRUE.
+ IF (flag .EQ. 0) status = .FALSE.
+
+ END SUBROUTINE h5sis_simple_f
+
+!
+!****s* H5S/h5soffset_simple_f
+!
+! NAME
+! h5soffset_simple_f
+!
+! PURPOSE
+! Sets the offset of a simple dataspace.
+!
+! INPUTS
+! space_id - dataspace identifier
+! offset - the offset at which to position the
+! selection
+! OUTPUTS
+! hdferr - Returns 0 if successful and -1 if fails
+! OPTIONAL PARAMETERS
+! NONE
+!
+! AUTHOR
+! Elena Pourmal
+! August 12, 1999
+!
+! HISTORY
+! Explicit Fortran interfaces were added for
+! called C functions (it is needed for Windows
+! port). March 6, 2001
+!
+! SOURCE
+ SUBROUTINE h5soffset_simple_f(space_id, offset, hdferr)
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: space_id
+ INTEGER(HSSIZE_T), DIMENSION(*), INTENT(IN) :: offset
+ INTEGER, INTENT(OUT) :: hdferr
+!*****
+ INTERFACE
+ INTEGER FUNCTION h5soffset_simple_c(space_id, offset) BIND(C,NAME='h5soffset_simple_c')
+ IMPORT :: HID_T, HSSIZE_T
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: space_id
+ INTEGER(HSSIZE_T), DIMENSION(*), INTENT(IN) :: offset
+ END FUNCTION h5soffset_simple_c
+ END INTERFACE
+
+ hdferr = h5soffset_simple_c(space_id, offset)
+
+ END SUBROUTINE h5soffset_simple_f
+
+!
+!****s* H5S/h5sextent_copy_f
+!
+! NAME
+! h5sextent_copy_f
+!
+! PURPOSE
+! Copies the extent of a dataspace.
+!
+! INPUTS
+! dest_space_id - the identifier for the dataspace to which
+! the extent is copied
+! source_space_id - the identifier for the dataspace from
+! which the extent is copied
+! OUTPUTS
+! hdferr - Returns 0 if successful and -1 if fails
+! OPTIONAL PARAMETERS
+! NONE
+!
+! AUTHOR
+! Elena Pourmal
+! August 12, 1999
+!
+! HISTORY
+! Explicit Fortran interfaces were added for
+! called C functions (it is needed for Windows
+! port). March 6, 2001
+!
+! NOTES
+!
+
+! SOURCE
+ SUBROUTINE h5sextent_copy_f(dest_space_id, source_space_id, hdferr)
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: dest_space_id
+ INTEGER(HID_T), INTENT(IN) :: source_space_id
+ INTEGER, INTENT(OUT) :: hdferr ! Error code
+!*****
+ INTERFACE
+ INTEGER FUNCTION h5sextent_copy_c(dest_space_id, source_space_id) BIND(C,NAME='h5sextent_copy_c')
+ IMPORT :: HID_T
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: dest_space_id
+ INTEGER(HID_T), INTENT(IN) :: source_space_id
+ END FUNCTION h5sextent_copy_c
+ END INTERFACE
+
+ hdferr = h5sextent_copy_c(dest_space_id, source_space_id)
+
+ END SUBROUTINE h5sextent_copy_f
+
+!
+!****s* H5S/h5sset_extent_none_f
+!
+! NAME
+! h5sset_extent_none_f
+!
+! PURPOSE
+! Removes the extent from a dataspace.
+!
+! INPUTS
+! space_id - dataspace identifier
+! OUTPUTS
+! hdferr - Returns 0 if successful and -1 if fails
+! AUTHOR
+! Elena Pourmal
+! August 12, 1999
+!
+! HISTORY
+! Explicit Fortran interfaces were added for
+! called C functions (it is needed for Windows
+! port). March 6, 2001
+!
+! SOURCE
+ SUBROUTINE h5sset_extent_none_f(space_id, hdferr)
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: space_id
+ INTEGER, INTENT(OUT) :: hdferr
+!*****
+ INTERFACE
+ INTEGER FUNCTION h5sset_extent_none_c(space_id) BIND(C,NAME='h5sset_extent_none_c')
+ IMPORT :: HID_T
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: space_id
+ END FUNCTION h5sset_extent_none_c
+ END INTERFACE
+
+ hdferr = h5sset_extent_none_c(space_id)
+
+ END SUBROUTINE h5sset_extent_none_f
+!
+!****s* H5S/h5sselect_hyperslab_f
+!
+! NAME
+! h5sselect_hyperslab_f
+!
+! PURPOSE
+! Selects a hyperslab region to add to the current selected
+! region
+!
+! INPUTS
+! space_id - dataspace identifier
+! operator - flag, valid values are:
+! H5S_SELECT_SET_F
+! H5S_SELECT_OR_F
+! start - array with hyperslab offsets
+! count - number of blocks included in the hyperslab
+! OUTPUTS
+! hdferr - Returns 0 if successful and -1 if fails
+! OPTIONAL PARAMETERS
+! stride - array with hyperslab strides
+! block - array with hyperslab block sizes
+!
+! AUTHOR
+! Elena Pourmal
+! August 12, 1999
+!
+! HISTORY
+! Explicit Fortran interfaces were added for
+! called C functions (it is needed for Windows
+! port). March 6, 2001
+!
+! SOURCE
+ SUBROUTINE h5sselect_hyperslab_f(space_id, OPERATOR, start, count, &
+ hdferr, stride, BLOCK)
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: space_id
+ INTEGER, INTENT(IN) :: OPERATOR
+ INTEGER(HSIZE_T), DIMENSION(*), INTENT(IN) :: start
+ INTEGER(HSIZE_T), DIMENSION(*), INTENT(IN) :: count
+ INTEGER, INTENT(OUT) :: hdferr
+ INTEGER(HSIZE_T), DIMENSION(:), OPTIONAL, INTENT(IN) :: stride
+ INTEGER(HSIZE_T), DIMENSION(:), OPTIONAL, INTENT(IN) :: BLOCK
+!*****
+ INTEGER(HSIZE_T), DIMENSION(:), ALLOCATABLE :: def_block
+ INTEGER(HSIZE_T), DIMENSION(:), ALLOCATABLE :: def_stride
+ INTEGER :: rank
+ INTEGER :: error1, error2
+
+ INTERFACE
+ INTEGER FUNCTION h5sselect_hyperslab_c(space_id, OPERATOR, &
+ start, count, stride, BLOCK) BIND(C,NAME='h5sselect_hyperslab_c')
+ IMPORT :: HID_T, HSIZE_T
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: space_id
+ INTEGER, INTENT(IN) :: OPERATOR
+ INTEGER(HSIZE_T), DIMENSION(*), INTENT(IN) :: start
+ INTEGER(HSIZE_T), DIMENSION(*), INTENT(IN) :: count
+ INTEGER(HSIZE_T), DIMENSION(*), INTENT(IN) :: stride
+ INTEGER(HSIZE_T), DIMENSION(*), INTENT(IN) :: BLOCK
+ END FUNCTION h5sselect_hyperslab_c
+ END INTERFACE
+
+ IF (PRESENT(stride).AND. PRESENT(BLOCK)) THEN
+ hdferr = h5sselect_hyperslab_c(space_id, OPERATOR, start, count, &
+ stride, BLOCK)
+ RETURN
+ ENDIF
+ ! Case of optional parameters.
+ !
+ ! Find the rank of the dataspace to allocate memery for
+ ! default stride and block arrays.
+ !
+ CALL h5sget_simple_extent_ndims_f(space_id, rank, hdferr)
+ IF( hdferr .EQ. -1) RETURN
+ !
+ IF (PRESENT(stride).AND. .NOT.PRESENT(BLOCK)) THEN
+ ALLOCATE(def_block(rank), stat=error1)
+ IF (error1.NE.0) THEN
+ hdferr = -1
+ RETURN
+ ENDIF
+ def_block = 1
+ hdferr = h5sselect_hyperslab_c(space_id, OPERATOR, start, count, &
+ stride, def_block)
+ DEALLOCATE(def_block)
+ RETURN
+ ENDIF
+
+ IF (.NOT.PRESENT(stride).AND. PRESENT(BLOCK)) THEN
+ ALLOCATE(def_stride(rank), stat=error2)
+ IF (error2.NE.0) THEN
+ hdferr = -1
+ RETURN
+ ENDIF
+ def_stride = 1
+ hdferr = h5sselect_hyperslab_c(space_id, OPERATOR, start, count, &
+ def_stride, BLOCK)
+ DEALLOCATE(def_stride)
+ RETURN
+ ENDIF
+ ALLOCATE(def_block(rank), stat=error1)
+ ALLOCATE(def_stride(rank), stat=error2)
+ IF ((error1.NE.0) .OR. (error2.NE.0)) THEN
+ hdferr = -1
+ RETURN
+ ENDIF
+ def_block = 1
+ def_stride = 1
+ hdferr = h5sselect_hyperslab_c(space_id, OPERATOR, start, count, &
+ def_stride, def_block)
+ DEALLOCATE(def_block)
+ DEALLOCATE(def_stride)
+
+ END SUBROUTINE h5sselect_hyperslab_f
+! !$!
+! !$!****s* H5S/h5scombine_hyperslab_f
+! !$!
+! !$! NAME
+! !$! h5scombine_hyperslab_f
+! !$!
+! !$! PURPOSE
+! !$! Combine a hyperslab selection with the current
+! !$! selection for a dataspace
+! !$!
+! !$! INPUTS
+! !$! space_id - dataspace of selection to use
+! !$! operator - flag, valid values are:
+! !$! H5S_SELECT_NOOP_F
+! !$! H5S_SELECT_SET_F
+! !$! H5S_SELECT_OR_F
+! !$! H5S_SELECT_AND_F
+! !$! H5S_SELECT_XOR_F
+! !$! H5S_SELECT_NOTB_F
+! !$! H5S_SELECT_NOTA_F
+! !$! H5S_SELECT_APPEND_F
+! !$! H5S_SELECT_PREPEND_F
+! !$! start - array with hyperslab offsets
+! !$! count - number of blocks included in the
+! !$! hyperslab
+! !$! OUTPUTS
+! !$! hyper_id - identifier for the new hyperslab
+! !$! hdferr: - error code
+! !$! Success: 0
+! !$! Failure: -1
+! !$! OPTIONAL PARAMETERS
+! !$! stride - array with hyperslab strides
+! !$! block - array with hyperslab block sizes
+! !$!
+! !$! AUTHOR
+! !$! Elena Pourmal
+! !$! October 7, 2002
+! !$!
+! !$! HISTORY
+! !$!
+! !$!
+! !$! NOTES
+! !$! Commented out until 1.6 ? 10/08/2002
+! !$!
+! !$! SOURCE
+! SUBROUTINE h5scombine_hyperslab_f(space_id, operator, start, count, &
+! hyper_id, hdferr, stride, block)
+! IMPLICIT NONE
+! INTEGER(HID_T), INTENT(IN) :: space_id ! Dataspace identifier
+! INTEGER, INTENT(IN) :: operator ! Flag, valid values are:
+ ! H5S_SELECT_NOOP_F
+ ! H5S_SELECT_SET_F
+ ! H5S_SELECT_OR_F
+ ! H5S_SELECT_AND_F
+ ! H5S_SELECT_XOR_F
+ ! H5S_SELECT_NOTB_F
+ ! H5S_SELECT_NOTA_F
+ ! H5S_SELECT_APPEND_F
+ ! H5S_SELECT_PREPEND_F
+ !
+! INTEGER(HSIZE_T), DIMENSION(*), INTENT(IN) :: start
+ ! Starting coordinates of the hyperslab
+! INTEGER(HSIZE_T), DIMENSION(*), INTENT(IN) :: count
+ ! Number of blocks to select
+ ! from dataspace
+! INTEGER(HID_T), INTENT(OUT) :: hyper_id ! New hyperslab identifier
+! INTEGER, INTENT(OUT) :: hdferr ! Error code
+! INTEGER(HSIZE_T), DIMENSION(:), OPTIONAL, INTENT(IN) :: stride
+ ! Array of how many elements to move
+ ! in each direction
+! INTEGER(HSIZE_T), DIMENSION(:), OPTIONAL, INTENT(IN) :: block
+ ! Sizes of element block
+! INTEGER(HSIZE_T), DIMENSION(:), ALLOCATABLE :: def_block
+! INTEGER(HSIZE_T), DIMENSION(:), ALLOCATABLE :: def_stride
+! INTEGER :: rank
+! INTEGER :: error1, error2
+
+! INTERFACE
+! INTEGER FUNCTION h5scombine_hyperslab_c(space_id, operator, &
+! start, count, stride, block, hyper_id)
+! USE H5GLOBAL
+! !DEC$IF DEFINED(HDF5F90_WINDOWS)
+! !DEC$ATTRIBUTES C,reference,decorate,alias:'H5SCOMBINE_HYPERSLAB_C'::h5scombine_hyperslab_c
+! !DEC$ENDIF
+! INTEGER(HID_T), INTENT(IN) :: space_id
+! INTEGER, INTENT(IN) :: operator
+! INTEGER(HSIZE_T), DIMENSION(*), INTENT(IN) :: start
+! INTEGER(HSIZE_T), DIMENSION(*), INTENT(IN) :: count
+! INTEGER(HSIZE_T), DIMENSION(*), OPTIONAL, INTENT(IN) :: stride
+! INTEGER(HSIZE_T), DIMENSION(*), OPTIONAL, INTENT(IN) :: block
+! INTEGER(HID_T), INTENT(OUT) :: hyper_id
+! END FUNCTION h5scombine_hyperslab_c
+! END INTERFACE
+
+! if (present(stride).and. present(block)) then
+! hdferr = h5scombine_hyperslab_c(space_id, operator, start, count, &
+! stride, block, hyper_id)
+! return
+! endif
+ ! Case of optional parameters.
+ !
+ ! Find the rank of the dataspace to allocate memery for
+ ! default stride and block arrays.
+ !
+! CALL h5sget_simple_extent_ndims_f(space_id, rank, hdferr)
+! if( hdferr .EQ. -1) return
+ !
+! if (present(stride).and. .not.present(block)) then
+! allocate(def_block(rank), stat=error1)
+! if (error1.NE.0) then
+! hdferr = -1
+! return
+! endif
+! def_block = 1
+! hdferr = h5scombine_hyperslab_c(space_id, operator, start, count, &
+! stride, def_block, hyper_id)
+! deallocate(def_block)
+! return
+! endif
+
+! if (.not.present(stride).and. present(block)) then
+! allocate(def_stride(rank), stat=error2)
+! if (error2.NE.0) then
+! hdferr = -1
+! return
+! endif
+! def_stride = 1
+! hdferr = h5scombine_hyperslab_c(space_id, operator, start, count, &
+! def_stride, block, hyper_id)
+! deallocate(def_stride)
+! return
+! endif
+! allocate(def_block(rank), stat=error1)
+! allocate(def_stride(rank), stat=error2)
+! if ((error1.NE.0) .OR. (error2.NE.0)) then
+! hdferr = -1
+! return
+! endif
+! def_block = 1
+! def_stride = 1
+! hdferr = h5scombine_hyperslab_c(space_id, operator, start, count, &
+! def_stride, def_block, hyper_id)
+! deallocate(def_block)
+! deallocate(def_stride)
+
+! END SUBROUTINE h5scombine_hyperslab_f
+
+! !$!
+! !$!****s* H5S/
+! !$!
+! !$! NAME
+! !$! h5scombine_select_f
+! !$!
+! !$! PURPOSE
+! !$! Combine two hyperslab selections with an operation
+! !$! and return a dataspace with resulting selection.
+! !$!
+! !$! INPUTS
+! !$! space1_id - dataspace of selection to use
+! !$! operator - flag, valid values are:
+! !$! H5S_SELECT_NOOP_F
+! !$! H5S_SELECT_SET_F
+! !$! H5S_SELECT_OR_F
+! !$! H5S_SELECT_AND_F
+! !$! H5S_SELECT_XOR_F
+! !$! H5S_SELECT_NOTB_F
+! !$! H5S_SELECT_NOTA_F
+! !$! H5S_SELECT_APPEND_F
+! !$! H5S_SELECT_PREPEND_F
+! !$! space2_id - dataspace of selection to use
+! !$! OUTPUTS
+! !$! ds_id - idataspace identifier with the new selection
+! !$! hdferr: - error code
+! !$! Success: 0
+! !$! Failure: -1
+! !$! OPTIONAL PARAMETERS - NONE
+! !$!
+! !$! AUTHOR
+! !$! Elena Pourmal
+! !$! October 7, 2002
+! !$!
+! !$! HISTORY
+! !$!
+! !$!
+! !$! NOTES commented out until 1.6 release(?) 10/08/2002
+! !$!
+
+! ! SOURCE
+! !$ SUBROUTINE h5scombine_select_f(space1_id, operator, space2_id, &
+! ds_id, hdferr)
+! IMPLICIT NONE
+! INTEGER(HID_T), INTENT(IN) :: space1_id ! First dataspace identifier
+! INTEGER(HID_T), INTENT(IN) :: space2_id ! Second dataspace identifier
+! INTEGER, INTENT(IN) :: operator ! Flag, valid values are:
+ ! H5S_SELECT_NOOP_F
+ ! H5S_SELECT_SET_F
+ ! H5S_SELECT_OR_F
+ ! H5S_SELECT_AND_F
+ ! H5S_SELECT_XOR_F
+ ! H5S_SELECT_NOTB_F
+ ! H5S_SELECT_NOTA_F
+ ! H5S_SELECT_APPEND_F
+ ! H5S_SELECT_PREPEND_F
+ !
+! INTEGER(HID_T), INTENT(OUT) :: ds_id ! New dataspace identifier
+! INTEGER, INTENT(OUT) :: hdferr ! Error code
+!
+! INTERFACE
+! INTEGER FUNCTION h5scombine_select_c(space1_id, operator, &
+! space2_id, ds_id)
+! USE H5GLOBAL
+! !DEC$IF DEFINED(HDF5F90_WINDOWS)
+! !DEC$ATTRIBUTES C,reference,decorate,alias:'H5SCOMBINE_SELECT_C'::h5scombine_select_c
+! !DEC$ENDIF
+! INTEGER(HID_T), INTENT(IN) :: space1_id
+! INTEGER(HID_T), INTENT(IN) :: space2_id
+! INTEGER, INTENT(IN) :: operator
+! INTEGER(HID_T), INTENT(OUT) :: ds_id
+! END FUNCTION h5scombine_select_c
+! END INTERFACE
+
+! hdferr = h5scombine_select_c(space1_id, operator, space2_id, &
+! ds_id)
+! return
+
+! END SUBROUTINE h5scombine_select_f
+
+! !$!
+! !$!****s* H5S/
+! !$!
+! !$! NAME
+! !$! h5sselect_select_f
+! !$!
+! !$! PURPOSE
+! !$! Refine a hyperslab selection with an operation
+! !$! using second hyperslab
+! !$!
+! !$! INPUTS
+! !$! space1_id - dataspace of selection to modify
+! !$! operator - flag, valid values are:
+! !$! H5S_SELECT_NOOP_F
+! !$! H5S_SELECT_SET_F
+! !$! H5S_SELECT_OR_F
+! !$! H5S_SELECT_AND_F
+! !$! H5S_SELECT_XOR_F
+! !$! H5S_SELECT_NOTB_F
+! !$! H5S_SELECT_NOTA_F
+! !$! H5S_SELECT_APPEND_F
+! !$! H5S_SELECT_PREPEND_F
+! !$! space2_id - dataspace of selection to use
+! !$!
+! !$! OUTPUTS
+! !$! hdferr: - error code
+! !$! Success: 0
+! !$! Failure: -1
+! !$! OPTIONAL PARAMETERS - NONE
+! !$!
+! !$! AUTHOR
+! !$! Elena Pourmal
+! !$! October 7, 2002
+! !$!
+! !$! HISTORY
+! !$!
+! !$!
+! !$! NOTESCommented out until 1.6 release(?) 10/08/2002 EIP
+! !$!
+
+! ! SOURCE
+! SUBROUTINE h5sselect_select_f(space1_id, operator, space2_id, &
+! hdferr)
+! IMPLICIT NONE
+! INTEGER(HID_T), INTENT(INOUT) :: space1_id ! Dataspace identifier to
+ ! modify
+! INTEGER(HID_T), INTENT(IN) :: space2_id ! Second dataspace identifier
+! INTEGER, INTENT(IN) :: operator ! Flag, valid values are:
+ ! H5S_SELECT_NOOP_F
+ ! H5S_SELECT_SET_F
+ ! H5S_SELECT_OR_F
+ ! H5S_SELECT_AND_F
+ ! H5S_SELECT_XOR_F
+ ! H5S_SELECT_NOTB_F
+ ! H5S_SELECT_NOTA_F
+ ! H5S_SELECT_APPEND_F
+ ! H5S_SELECT_PREPEND_F
+ !
+! INTEGER, INTENT(OUT) :: hdferr ! Error code
+
+! INTERFACE
+! INTEGER FUNCTION h5sselect_select_c(space1_id, operator, &
+! space2_id)
+! USE H5GLOBAL
+! !DEC$IF DEFINED(HDF5F90_WINDOWS)
+! !DEC$ATTRIBUTES C,reference,decorate,alias:'H5SSELECT_SELECT_C'::h5sselect_select_c
+! !DEC$ENDIF
+! INTEGER(HID_T), INTENT(INOUT) :: space1_id
+! INTEGER(HID_T), INTENT(IN) :: space2_id
+! INTEGER, INTENT(IN) :: operator
+! END FUNCTION h5sselect_select_c
+! END INTERFACE
+
+! hdferr = h5sselect_select_c(space1_id, operator, space2_id)
+! return
+
+! END SUBROUTINE h5sselect_select_f
+
+!
+!****s* H5S/h5sget_select_type_f
+!
+! NAME
+! h5sget_select_type_f
+!
+! PURPOSE
+! Retrieve the type of selection
+!
+! INPUTS
+! space_id - dataspace identifier with selection
+! OUTPUTS
+! type - selection type flag, valid values are:
+! H5S_SEL_ERROR_F
+! H5S_SEL_NONE_F
+! H5S_SEL_POINTS_F
+! H5S_SEL_HYPERSLABS_F
+! H5S_SEL_ALL_F
+! hdferr - Returns 0 if successful and -1 if fails
+! AUTHOR
+! Elena Pourmal
+! October 7, 2002
+!
+! SOURCE
+ SUBROUTINE h5sget_select_type_f(space_id, TYPE, hdferr)
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(INOUT) :: space_id
+ INTEGER, INTENT(OUT) :: TYPE
+ INTEGER, INTENT(OUT) :: hdferr
+!*****
+ INTERFACE
+ INTEGER FUNCTION h5sget_select_type_c(space_id, TYPE) BIND(C,NAME='h5sget_select_type_c')
+ IMPORT :: HID_T
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: space_id
+ INTEGER, INTENT(OUT) :: TYPE
+ END FUNCTION h5sget_select_type_c
+ END INTERFACE
+
+ hdferr = h5sget_select_type_c(space_id, TYPE)
+ RETURN
+
+ END SUBROUTINE h5sget_select_type_f
+
+!
+!****s* H5S/H5Sdecode_f
+!
+! NAME
+! H5Sdecode_f
+!
+! PURPOSE
+! Decode a binary object description of data space and return a new object handle.
+!
+! INPUTS
+! buf - Buffer for the data space object to be decoded.
+! obj_id - Object ID
+! OUTPUTS
+! hdferr - Returns 0 if successful and -1 if fails
+!
+! AUTHOR
+! M. Scot Breitenfeld
+! March 26, 2008
+! SOURCE
+ SUBROUTINE h5sdecode_f(buf, obj_id, hdferr)
+ IMPLICIT NONE
+ CHARACTER(LEN=*), INTENT(IN) :: buf
+ INTEGER(HID_T), INTENT(OUT) :: obj_id
+ INTEGER, INTENT(OUT) :: hdferr
+!*****
+ INTERFACE
+ INTEGER FUNCTION h5sdecode_c(buf, obj_id) BIND(C,NAME='h5sdecode_c')
+ IMPORT :: C_CHAR
+ IMPORT :: HID_T
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(IN) :: buf
+ INTEGER(HID_T), INTENT(OUT) :: obj_id ! Object ID
+ END FUNCTION h5sdecode_c
+ END INTERFACE
+
+ hdferr = h5sdecode_c(buf, obj_id)
+
+ END SUBROUTINE h5sdecode_f
+
+!
+!****s* H5S/H5Sencode_f
+!
+! NAME
+! H5Sencode_f
+!
+! PURPOSE
+! Encode a data space object description into a binary buffer.
+!
+! INPUTS
+! obj_id - Identifier of the object to be encoded.
+! buf - Buffer for the object to be encoded into.
+! nalloc - The size of the allocated buffer.
+! OUTPUTS
+! nalloc - The size of the buffer needed.
+! hdferr - Returns 0 if successful and -1 if fails.
+!
+! AUTHOR
+! M. Scot Breitenfeld
+! March 26, 2008
+! SOURCE
+ SUBROUTINE h5sencode_f(obj_id, buf, nalloc, hdferr)
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: obj_id
+ CHARACTER(LEN=*), INTENT(OUT) :: buf
+ INTEGER(SIZE_T), INTENT(INOUT) :: nalloc
+ INTEGER, INTENT(OUT) :: hdferr
+!*****
+
+ INTERFACE
+ INTEGER FUNCTION h5sencode_c(buf, obj_id, nalloc) BIND(C,NAME='h5sencode_c')
+ IMPORT :: C_CHAR
+ IMPORT :: HID_T, SIZE_T
+ INTEGER(HID_T), INTENT(IN) :: obj_id
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(OUT) :: buf
+ INTEGER(SIZE_T), INTENT(INOUT) :: nalloc
+ END FUNCTION h5sencode_c
+ END INTERFACE
+
+ hdferr = h5sencode_c(buf, obj_id, nalloc)
+
+ END SUBROUTINE h5sencode_f
+
+!****s* H5S/h5sextent_equal_f
+!
+! NAME
+! h5sextent_equal_f
+!
+! PURPOSE
+! Determines whether two dataspace extents are equal.
+!
+! INPUTS
+! space1_id - First dataspace identifier.
+! space2_id - Second dataspace identifier.
+! OUTPUTS
+! Equal - .TRUE. if equal, .FALSE. if unequal.
+! hdferr - Returns 0 if successful and -1 if fails
+! AUTHOR
+! M. Scot Breitenfeld
+! April 2, 2008
+!
+! SOURCE
+ SUBROUTINE h5sextent_equal_f(space1_id, space2_id, equal, hdferr)
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: space1_id
+ INTEGER(HID_T), INTENT(IN) :: space2_id
+ LOGICAL, INTENT(OUT) :: Equal
+ INTEGER, INTENT(OUT) :: hdferr
+!*****
+ INTEGER(HID_T) :: c_equal
+
+ INTERFACE
+ INTEGER FUNCTION h5sextent_equal_c(space1_id, space2_id, c_equal) BIND(C,NAME='h5sextent_equal_c')
+ IMPORT :: HID_T
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: space1_id
+ INTEGER(HID_T), INTENT(IN) :: space2_id
+ INTEGER(HID_T) :: c_equal
+ END FUNCTION h5sextent_equal_c
+ END INTERFACE
+
+ hdferr = h5sextent_equal_c(space1_id, space2_id, c_equal)
+ equal = .FALSE.
+ IF(c_equal.GT.0) equal = .TRUE.
+
+ END SUBROUTINE h5sextent_equal_f
+
+END MODULE H5S
diff --git a/fortran/src/H5Sff.f90 b/fortran/src/H5Sff.f90
deleted file mode 100644
index c493d46..0000000
--- a/fortran/src/H5Sff.f90
+++ /dev/null
@@ -1,1875 +0,0 @@
-!****h* ROBODoc/H5S
-!
-! NAME
-! MODULE H5S
-!
-! FILE
-! fortran/src/H5Sff.f90
-!
-! PURPOSE
-! This file contains Fortran interfaces for H5S functions. It includes
-! all the functions that are independent on whether the Fortran 2003 functions
-! are enabled or disabled.
-!
-!
-! COPYRIGHT
-! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
-! Copyright by The HDF Group. *
-! Copyright by the Board of Trustees of the University of Illinois. *
-! All rights reserved. *
-! *
-! This file is part of HDF5. The full HDF5 copyright notice, including *
-! terms governing use, modification, and redistribution, is contained in *
-! the files COPYING and Copyright.html. COPYING can be found at the root *
-! of the source code distribution tree; Copyright.html can be found at the *
-! root level of an installed copy of the electronic HDF5 document set and *
-! is linked from the top-level documents page. It can also be found at *
-! http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have *
-! access to either file, you may request a copy from help@hdfgroup.org. *
-! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
-!
-! NOTES
-! *** IMPORTANT ***
-! If you add a new H5S function you must add the function name to the
-! Windows dll file 'hdf5_fortrandll.def.in' in the fortran/src directory.
-! This is needed for Windows based operating systems.
-!
-!*****
-
-MODULE H5S
- USE H5GLOBAL
-
-CONTAINS
-
-!
-!****s* H5S/h5screate_simple_f
-!
-! NAME
-! h5screate_simple_f
-!
-! PURPOSE
-! Creates a new simple data space and opens it for access .
-!
-! INPUTS
-! rank - number of dimensions
-! dims - an array of the size of each dimension
-! OUTPUTS
-! space_id - dataspace identifier
-! hdferr - Returns 0 if successful and -1 if fails
-! OPTIONAL PARAMETERS
-! maxdims - an array of the maximum size of each dimension
-!
-! AUTHOR
-! Elena Pourmal
-! August 12, 1999
-!
-! HISTORY
-! Explicit Fortran interfaces were added for
-! called C functions (it is needed for Windows
-! port). March 6, 2001
-! SOURCE
- SUBROUTINE h5screate_simple_f(rank, dims, space_id, hdferr, maxdims)
-
- IMPLICIT NONE
- INTEGER, INTENT(IN) :: rank ! Number of dataspace dimensions
- INTEGER(HSIZE_T), INTENT(IN) :: dims(rank)
- ! Array with the dimension
- ! sizes
- INTEGER(HID_T), INTENT(OUT) :: space_id ! Dataspace identifier
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- INTEGER(HSIZE_T), OPTIONAL, INTENT(IN) :: maxdims(rank)
- ! Array with the maximum
- ! dimension sizes
-!*****
- INTEGER(HSIZE_T), ALLOCATABLE, DIMENSION(:) :: f_maxdims
-
- INTERFACE
- INTEGER FUNCTION h5screate_simple_c(rank, dims, maxdims, space_id)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5SCREATE_SIMPLE_C'::h5screate_simple_c
- !DEC$ENDIF
- INTEGER, INTENT(IN) :: rank
- INTEGER(HSIZE_T), INTENT(IN) :: dims(rank)
- INTEGER(HSIZE_T), DIMENSION(:),INTENT(IN) :: maxdims(rank)
- INTEGER(HID_T), INTENT(OUT) :: space_id
- END FUNCTION h5screate_simple_c
- END INTERFACE
-
- allocate (f_maxdims(rank), stat=hdferr)
- if (hdferr .NE. 0) then
- hdferr = -1
- return
- endif
- if (present(maxdims)) then
- f_maxdims = maxdims
- else
- f_maxdims = dims
- endif
- hdferr = h5screate_simple_c(rank, dims, f_maxdims, space_id)
- deallocate(f_maxdims)
-
- END SUBROUTINE h5screate_simple_f
-
-!
-!****s* H5S/h5sclose_f
-!
-! NAME
-! h5sclose_f
-!
-! PURPOSE
-! Releases and terminates access to a dataspace.
-!
-! INPUTS
-! space_id - identifier of dataspace to release
-! OUTPUTS
-! hdferr - Returns 0 if successful and -1 if fails
-! AUTHOR
-! Elena Pourmal
-! August 12, 1999
-!
-! HISTORY
-! Explicit Fortran interfaces were added for
-! called C functions (it is needed for Windows
-! port). March 6, 2001
-!
-! SOURCE
- SUBROUTINE h5sclose_f(space_id, hdferr)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: space_id ! Dataspace identifier
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-!*****
- INTERFACE
- INTEGER FUNCTION h5sclose_c(space_id)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5SCLOSE_C'::h5sclose_c
- !DEC$ENDIF
- INTEGER(HID_T), INTENT(IN) :: space_id
- END FUNCTION h5sclose_c
- END INTERFACE
-
- hdferr = h5sclose_c(space_id)
-
- END SUBROUTINE h5sclose_f
-
-!
-!****s* H5S/h5screate_f
-!
-! NAME
-! h5screate_f
-!
-! PURPOSE
-! Creates a new dataspace of a specified type.
-!
-! INPUTS
-! classtype - the type of the dataspace to be created
-! OUTPUTS
-! space_id - dataspace identifier
-! hdferr - Returns 0 if successful and -1 if fails
-!
-! AUTHOR
-! Elena Pourmal
-! August 12, 1999
-!
-! HISTORY
-! Explicit Fortran interfaces were added for
-! called C functions (it is needed for Windows
-! port). March 6, 2001
-!
-! NOTES
-!
-
-! SOURCE
- SUBROUTINE h5screate_f(classtype, space_id, hdferr)
- IMPLICIT NONE
- INTEGER, INTENT(IN) :: classtype ! The type of the dataspace
- ! to be created.
- ! Possible values are:
- ! H5S_SCALAR_F (0)
- ! H5S_SIMPLE_F(1)
- ! H5S_NULL_F(2)
- INTEGER(HID_T), INTENT(OUT) :: space_id ! Dataspace identifier
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-!*****
- INTERFACE
- INTEGER FUNCTION h5screate_c(classtype, space_id)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5SCREATE_C'::h5screate_c
- !DEC$ENDIF
- INTEGER, INTENT(IN) :: classtype
- INTEGER(HID_T), INTENT(OUT) :: space_id
- END FUNCTION h5screate_c
- END INTERFACE
-
- hdferr = h5screate_c(classtype, space_id)
-
- END SUBROUTINE h5screate_f
-
-!
-!****s* H5S/h5scopy_f
-!
-! NAME
-! h5scopy_f
-!
-! PURPOSE
-! Creates an exact copy of a dataspace.
-!
-! INPUTS
-! space_id - dataspace identifier
-! OUTPUTS
-! new_space_id - identifier of dataspace's copy
-! hdferr - Returns 0 if successful and -1 if fails
-!
-! AUTHOR
-! Elena Pourmal
-! August 12, 1999
-!
-! HISTORY
-! Explicit Fortran interfaces were added for
-! called C functions (it is needed for Windows
-! port). March 6, 2001
-!
-! NOTES
-!
-
-! SOURCE
- SUBROUTINE h5scopy_f(space_id, new_space_id, hdferr)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: space_id ! Dataspace identifier
- INTEGER(HID_T), INTENT(OUT) :: new_space_id
- ! Identifier of dataspace's copy
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-!*****
- INTERFACE
- INTEGER FUNCTION h5scopy_c(space_id, new_space_id)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5SCOPY_C'::h5scopy_c
- !DEC$ENDIF
- INTEGER(HID_T), INTENT(IN) :: space_id
- INTEGER(HID_T), INTENT(OUT):: new_space_id
- END FUNCTION h5scopy_c
- END INTERFACE
-
- hdferr = h5scopy_c(space_id, new_space_id)
-
- END SUBROUTINE h5scopy_f
-
-!
-!****s* H5S/h5sget_select_hyper_nblocks_f
-!
-! NAME
-! h5sget_select_hyper_nblocks_f
-!
-! PURPOSE
-! Get number of hyperslab blocks.
-!
-! INPUTS
-! space_id - dataspace identifier
-! OUTPUTS
-! num_blocks - number of hyperslab blocks in the current
-! hyperslab selection
-! hdferr - Returns 0 if successful and -1 if fails
-! AUTHOR
-! Elena Pourmal
-! August 12, 1999
-!
-! HISTORY
-! Explicit Fortran interfaces were added for
-! called C functions (it is needed for Windows
-! port). March 6, 2001
-!
-! SOURCE
- SUBROUTINE h5sget_select_hyper_nblocks_f(space_id, num_blocks, hdferr)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: space_id ! Dataspace identifier
- INTEGER(HSSIZE_T), INTENT(OUT) :: num_blocks
- !number of hyperslab blocks
- !in the current dataspace
- !selection
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-!*****
- INTERFACE
- INTEGER FUNCTION h5sget_select_hyper_nblocks_c (space_id, num_blocks)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
-! DEC$ ATTRIBUTES C,reference,decorate,alias:'H5SGET_SELECT_HYPER_NBLOCKS_C'::h5sget_select_hyper_nblocks_c
- !DEC$ENDIF
- INTEGER(HID_T), INTENT(IN) :: space_id
- INTEGER(HSSIZE_T), INTENT(OUT) :: num_blocks
- END FUNCTION h5sget_select_hyper_nblocks_c
- END INTERFACE
-
- hdferr = h5sget_select_hyper_nblocks_c (space_id, num_blocks)
-
- END SUBROUTINE h5sget_select_hyper_nblocks_f
-
-!
-!****s* H5S/h5sget_select_hyper_blocklist_f
-!
-! NAME
-! h5sget_select_hyper_blocklist_f
-!
-! PURPOSE
-! Gets the list of hyperslab blocks currently selected.
-!
-! INPUTS
-! space_id - dataspace identifier
-! startblock - hyperslab block to start with
-! num_blocks - number of blocks to get
-! OUTPUTS
-! buf - buffer to hold block list
-! hdferr - Returns 0 if successful and -1 if fails
-!
-! AUTHOR
-! Elena Pourmal
-! August 12, 1999
-!
-! HISTORY
-! Explicit Fortran interfaces were added for
-! called C functions (it is needed for Windows
-! port). March 6, 2001
-! SOURCE
- SUBROUTINE h5sget_select_hyper_blocklist_f(space_id, startblock, &
- num_blocks, buf, hdferr)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: space_id ! Dataspace identifier
- INTEGER(HSIZE_T), INTENT(IN) :: startblock
- !Hyperslab block to start with.
- INTEGER(HSIZE_T), INTENT(IN) :: num_blocks
- !number of hyperslab blocks
- !to get in the current dataspace
- !selection
- INTEGER(HSIZE_T), DIMENSION(*), INTENT(OUT) :: buf
- !List of hyperslab blocks selected
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-!*****
-
- INTERFACE
- INTEGER FUNCTION h5sget_select_hyper_blocklist_c(space_id, startblock, &
- num_blocks, buf )
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5SGET_SELECT_HYPER_BLOCKLIST_C'::h5sget_select_hyper_blocklist_c
- !DEC$ENDIF
- INTEGER(HID_T), INTENT(IN) :: space_id
- INTEGER(HSIZE_T), INTENT(IN) :: startblock
- INTEGER(HSIZE_T), INTENT(IN) :: num_blocks
- INTEGER(HSIZE_T), DIMENSION(*), INTENT(OUT) :: buf
- END FUNCTION h5sget_select_hyper_blocklist_c
- END INTERFACE
-
-
- hdferr = h5sget_select_hyper_blocklist_c(space_id, startblock, &
- num_blocks, buf )
-
- END SUBROUTINE h5sget_select_hyper_blocklist_f
-
-!
-!****s* H5S/h5sget_select_bounds_f
-!
-! NAME
-! h5sget_select_bounds_f
-!
-! PURPOSE
-! Gets the bounding box containing the current selection.
-!
-! INPUTS
-! space_id - dataspace identifier
-!
-! OUTPUTS
-! start - starting coordinates of bounding box
-! end - ending coordinates of bounding box
-! hdferr - Returns 0 if successful and -1 if fails
-! OPTIONAL PARAMETERS
-! NONE
-!
-! AUTHOR
-! Elena Pourmal
-! August 12, 1999
-!
-! HISTORY
-! Explicit Fortran interfaces were added for
-! called C functions (it is needed for Windows
-! port). March 6, 2001
-! SOURCE
- SUBROUTINE h5sget_select_bounds_f(space_id, start, END, hdferr)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: space_id ! Dataspace identifier
- INTEGER(HSIZE_T), DIMENSION(*), INTENT(OUT) :: start
- ! Starting coordinates of the bounding box.
- INTEGER(HSIZE_T), DIMENSION(*), INTENT(OUT) :: END
- !Ending coordinates of the bounding box,
- !i.e., the coordinates of the diagonally
- !opposite corner
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-!*****
- INTERFACE
- INTEGER FUNCTION h5sget_select_bounds_c(space_id, start, END)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5SGET_SELECT_BOUNDS_C'::h5sget_select_bounds_c
- !DEC$ENDIF
- INTEGER(HID_T), INTENT(IN) :: space_id
- INTEGER(HSIZE_T), DIMENSION(*), INTENT(OUT) :: start
- INTEGER(HSIZE_T), DIMENSION(*), INTENT(OUT) :: END
- END FUNCTION h5sget_select_bounds_c
- END INTERFACE
-
- hdferr = h5sget_select_bounds_c(space_id, start, END)
-
- END SUBROUTINE h5sget_select_bounds_f
-
-!
-!****s* H5S/h5sget_select_elem_npoints_f
-!
-! NAME
-! h5sget_select_elem_npoints_f
-!
-! PURPOSE
-! Gets the number of element points in the current selection
-!
-! INPUTS
-! space_id - dataspace identifier
-! OUTPUTS
-! num_points - number of element points in the current
-! dataspace selection
-! hdferr - Returns 0 if successful and -1 if fails
-! AUTHOR
-! Elena Pourmal
-! August 12, 1999
-!
-! HISTORY
-! Explicit Fortran interfaces were added for
-! called C functions (it is needed for Windows
-! port). March 6, 2001
-!
-! SOURCE
- SUBROUTINE h5sget_select_elem_npoints_f(space_id, num_points, hdferr)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: space_id ! Dataspace identifier
- INTEGER(HSSIZE_T), INTENT(OUT) :: num_points
- !number of element points
- !in the current dataspace
- !selection
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-!*****
- INTERFACE
- INTEGER FUNCTION h5sget_select_elem_npoints_c (space_id, num_points)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
-! DEC$ ATTRIBUTES C,reference,decorate,alias:'H5SGET_SELECT_ELEM_NPOINTS_C'::h5sget_select_elem_npoints_c
- !DEC$ENDIF
- INTEGER(HID_T), INTENT(IN) :: space_id
- INTEGER(HSSIZE_T), INTENT(OUT) :: num_points
- END FUNCTION h5sget_select_elem_npoints_c
- END INTERFACE
-
- hdferr = h5sget_select_elem_npoints_c (space_id, num_points)
-
- END SUBROUTINE h5sget_select_elem_npoints_f
-
-!
-!****s* H5S/h5sget_select_elem_pointlist_f
-!
-! NAME
-! h5sget_select_elem_pointlist_f
-!
-! PURPOSE
-! Gets the list of element points currently selected.
-!
-! INPUTS
-! space_id - dataspace identifier
-! startpoint - element point to start with
-! num_points - number of elemnt points to get
-! OUTPUTS
-! buf - buffer with element points selected
-! hdferr - Returns 0 if successful and -1 if fails
-! AUTHOR
-! Elena Pourmal
-! August 12, 1999
-!
-! HISTORY
-! Explicit Fortran interfaces were added for
-! called C functions (it is needed for Windows
-! port). March 6, 2001
-!
-! SOURCE
- SUBROUTINE h5sget_select_elem_pointlist_f(space_id, startpoint, &
- num_points, buf, hdferr)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: space_id ! Dataspace identifier
- INTEGER(HSIZE_T), INTENT(IN) :: startpoint
- !Element point to start with.
- INTEGER(HSIZE_T), INTENT(IN) :: num_points
- !Number of element points to get
- INTEGER(HSIZE_T), DIMENSION(*), INTENT(OUT) :: buf
- !List of element points selected
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-!*****
- INTERFACE
- INTEGER FUNCTION h5sget_select_elem_pointlist_c(space_id, startpoint, &
- num_points, buf )
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
-! DEC$ ATTRIBUTES C,reference,decorate,alias:'H5SGET_SELECT_ELEM_POINTLIST_C'::h5sget_select_elem_pointlist_c
- !DEC$ENDIF
- INTEGER(HID_T), INTENT(IN) :: space_id
- INTEGER(HSIZE_T), INTENT(IN) :: startpoint
- INTEGER(HSIZE_T), INTENT(IN) :: num_points
- INTEGER(HSIZE_T), DIMENSION(*), INTENT(OUT) :: buf
- END FUNCTION h5sget_select_elem_pointlist_c
- END INTERFACE
-
- hdferr = h5sget_select_elem_pointlist_c(space_id, startpoint, &
- num_points, buf )
-
- END SUBROUTINE h5sget_select_elem_pointlist_f
-
-!
-!****s* H5S/h5sselect_elements_f
-!
-! NAME
-! h5sselect_elements_f
-!
-! PURPOSE
-! Selects elements to be included in the selection for
-! a dataspace
-!
-! INPUTS
-! space_id - dataspace identifier
-! operator - flag, valid values are:
-! H5S_SELECT_SET_F
-! H5S_SELECT_APPEND_F
-! H5S_SELECT_PREPEND_F
-! rank - number of dataspace dimensions
-! num_elements - number of elements to be selected
-! coord - 2D (rank x num_elements) array with the
-! elements coordinates ( 1-based); in C the
-! array is stored in 2D as (num_element x rank)
-! OUTPUTS
-! hdferr - Returns 0 if successful and -1 if fails
-! AUTHOR
-! Elena Pourmal
-! August 12, 1999
-!
-! HISTORY
-! Explicit Fortran interfaces were added for
-! called C functions (it is needed for Windows
-! port). March 6, 2001
-! SOURCE
- SUBROUTINE h5sselect_elements_f(space_id, OPERATOR, rank, &
- num_elements, coord, hdferr)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: space_id
- INTEGER, INTENT(IN) :: OPERATOR
- INTEGER, INTENT(IN) :: rank
- INTEGER(SIZE_T), INTENT(IN) :: num_elements
- INTEGER(HSIZE_T), INTENT(IN) , DIMENSION(rank,num_elements) :: coord
- INTEGER, INTENT(OUT) :: hdferr
-!*****
- INTEGER(HSIZE_T), ALLOCATABLE, DIMENSION(:,:) :: c_coord
- INTEGER :: error, i
-
- INTERFACE
- INTEGER FUNCTION h5sselect_elements_c(space_id, OPERATOR,&
- num_elements,c_c_coord)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5SSELECT_ELEMENTS_C'::h5sselect_elements_c
- !DEC$ENDIF
- INTEGER(HID_T), INTENT(IN) :: space_id
- INTEGER, INTENT(IN) :: OPERATOR
- INTEGER(SIZE_T), INTENT(IN) :: num_elements
- INTEGER(HSIZE_T),DIMENSION(*) :: c_c_coord
- END FUNCTION h5sselect_elements_c
- END INTERFACE
-
- ALLOCATE(c_coord(rank,num_elements), STAT = error)
- IF (error.NE. 0) THEN
- hdferr = -1
- RETURN
- ENDIF
- DO i = 1, rank
- c_coord(i,:) = coord(rank-i+1, :) - 1
- ENDDO
- hdferr = h5sselect_elements_c(space_id, OPERATOR, num_elements, c_coord)
-
-! ALLOCATE(c_coord(num_elements,rank), stat = error)
-! IF (error.NE. 0) THEN
-! hdferr = -1
-! RETURN
-! ENDIF
-!
-! c_coord = TRANSPOSE(coord)
-! hdferr = h5sselect_elements_c(space_id, OPERATOR, INT(rank,size_t), c_coord)
-
-
- DEALLOCATE(c_coord)
-
- END SUBROUTINE h5sselect_elements_f
-
-!
-!****s* H5S/h5sselect_all_f
-!
-! NAME
-! h5sselect_all_f
-!
-! PURPOSE
-! Selects the entire dataspace.
-!
-! INPUTS
-! space_id - Identifier for the dataspace in which
-! selection being made
-! OUTPUTS
-! hdferr - Returns 0 if successful and -1 if fails
-! AUTHOR
-! Elena Pourmal
-! August 12, 1999
-!
-! HISTORY
-! Explicit Fortran interfaces were added for
-! called C functions (it is needed for Windows
-! port). March 6, 2001
-!
-! SOURCE
- SUBROUTINE h5sselect_all_f(space_id, hdferr)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: space_id ! Dataspace identifier
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-!*****
- INTERFACE
- INTEGER FUNCTION h5sselect_all_c(space_id)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5SSELECT_ALL_C'::h5sselect_all_c
- !DEC$ENDIF
- INTEGER(HID_T), INTENT(IN) :: space_id
- END FUNCTION h5sselect_all_c
- END INTERFACE
-
- hdferr = h5sselect_all_c(space_id)
-
- END SUBROUTINE h5sselect_all_f
-
-!
-!****s* H5S/h5sselect_none_f
-!
-! NAME
-! h5sselect_none_f
-!
-! PURPOSE
-! Resets the selection region to include no elements.
-!
-! INPUTS
-! space_id - the identifier for the dataspace in which
-! the selection is being reset.
-! OUTPUTS
-! hdferr - Returns 0 if successful and -1 if fails
-!
-! AUTHOR
-! Elena Pourmal
-! August 12, 1999
-!
-! HISTORY
-! Explicit Fortran interfaces were added for
-! called C functions (it is needed for Windows
-! port). March 6, 2001
-!
-! SOURCE
- SUBROUTINE h5sselect_none_f(space_id, hdferr)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: space_id ! Dataspace identifier
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-!*****
- INTERFACE
- INTEGER FUNCTION h5sselect_none_c(space_id)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5SSELECT_NONE_C'::h5sselect_none_c
- !DEC$ENDIF
- INTEGER(HID_T), INTENT(IN) :: space_id
- END FUNCTION h5sselect_none_c
- END INTERFACE
-
- hdferr = h5sselect_none_c(space_id)
-
- END SUBROUTINE h5sselect_none_f
-
-!
-!****s* H5S/h5sselect_valid_f
-!
-! NAME
-! h5sselect_valid_f
-!
-! PURPOSE
-! Verifies that the selection is within the extent of
-! the dataspace.
-!
-! INPUTS
-! space_id - identifier for the dataspace for which
-! selection is verified
-! OUTPUTS
-! hdferr - Returns 0 if successful and -1 if fails
-!
-! AUTHOR
-! Elena Pourmal
-! August 12, 1999
-!
-! HISTORY
-! Explicit Fortran interfaces were added for
-! called C functions (it is needed for Windows
-! port). March 6, 2001
-!
-! SOURCE
- SUBROUTINE h5sselect_valid_f(space_id, status, hdferr)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: space_id ! Dataspace identifier
- LOGICAL, INTENT(OUT) :: status ! TRUE if the selection is
- ! contained within the extent,
- ! FALSE otherwise.
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-!*****
- INTEGER :: flag ! "TRUE/FALSE/ERROR" flag from C routine
-
- INTERFACE
- INTEGER FUNCTION h5sselect_valid_c(space_id, flag)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5SSELECT_VALID_C'::h5sselect_valid_c
- !DEC$ENDIF
- INTEGER(HID_T), INTENT(IN) :: space_id
- INTEGER :: flag
- END FUNCTION h5sselect_valid_c
- END INTERFACE
-
- hdferr = h5sselect_valid_c(space_id, flag)
- status = .TRUE.
- if (flag .EQ. 0) status = .FALSE.
-
- END SUBROUTINE h5sselect_valid_f
-
-!
-!****s* H5S/h5sget_simple_extent_npoints_f
-!
-! NAME
-! h5sget_simple_extent_npoints_f
-!
-! PURPOSE
-! Determines the number of elements in a dataspace.
-!
-! INPUTS
-! space_id - dataspace identifier
-! OUTPUTS
-! npoints - number of elements in the dataspace
-! hdferr - Returns 0 if successful and -1 if fails
-!
-! AUTHOR
-! Elena Pourmal
-! August 12, 1999
-!
-! HISTORY
-! Explicit Fortran interfaces were added for
-! called C functions (it is needed for Windows
-! port). March 6, 2001
-!
-! SOURCE
- SUBROUTINE h5sget_simple_extent_npoints_f(space_id, npoints, hdferr)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: space_id ! Dataspace identifier
- INTEGER(HSIZE_T), INTENT(OUT) :: npoints ! Number of elements in
- ! dataspace
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-!*****
- INTERFACE
- INTEGER FUNCTION h5sget_simple_extent_npoints_c( space_id, npoints)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5SGET_SIMPLE_EXTENT_NPOINTS_C'::h5sget_simple_extent_npoints_c
- !DEC$ENDIF
- INTEGER(HID_T), INTENT(IN) :: space_id
- INTEGER(HSIZE_T), INTENT(OUT) :: npoints
- END FUNCTION h5sget_simple_extent_npoints_c
- END INTERFACE
-
- hdferr = h5sget_simple_extent_npoints_c( space_id, npoints)
-
- END SUBROUTINE h5sget_simple_extent_npoints_f
-
-!
-!****s* H5S/h5sget_select_npoints_f
-!
-! NAME
-! h5sget_select_npoints_f
-!
-! PURPOSE
-! Determines the number of elements in a dataspace selection.
-!
-! INPUTS
-! space_id - dataspace identifier
-! OUTPUTS
-! npoints - number of points in the dataspace selection
-! hdferr - Returns 0 if successful and -1 if fails
-! AUTHOR
-! Elena Pourmal
-! August 12, 1999
-!
-! HISTORY
-! Explicit Fortran interfaces were added for
-! called C functions (it is needed for Windows
-! port). March 6, 2001
-! SOURCE
- SUBROUTINE h5sget_select_npoints_f(space_id, npoints, hdferr)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: space_id ! Dataspace identifier
- INTEGER(HSSIZE_T), INTENT(OUT) :: npoints ! Number of elements in the
- ! selection
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-!*****
- INTERFACE
- INTEGER FUNCTION h5sget_select_npoints_c(space_id, npoints)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5SGET_SELECT_NPOINTS_C'::h5sget_select_npoints_c
- !DEC$ENDIF
- INTEGER(HID_T), INTENT(IN) :: space_id
- INTEGER(HSSIZE_T), INTENT(OUT) :: npoints
- END FUNCTION h5sget_select_npoints_c
- END INTERFACE
-
- hdferr = h5sget_select_npoints_c(space_id, npoints)
-
- END SUBROUTINE h5sget_select_npoints_f
-
-!
-!****s* H5S/h5sget_simple_extent_ndims_f
-!
-! NAME
-! h5sget_simple_extent_ndims_f
-!
-! PURPOSE
-! Determines the dimensionality of a dataspace
-!
-! INPUTS
-! space_id - dataspace identifier
-! OUTPUTS
-! rank - number of dataspace dimensions
-! hdferr - Returns 0 if successful and -1 if fails
-! AUTHOR
-! Elena Pourmal
-! August 12, 1999
-!
-! HISTORY
-! Explicit Fortran interfaces were added for
-! called C functions (it is needed for Windows
-! port). March 6, 2001
-!
-! SOURCE
- SUBROUTINE h5sget_simple_extent_ndims_f(space_id, rank, hdferr)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: space_id ! Dataspace identifier
- INTEGER, INTENT(OUT) :: rank ! Number of dimensions
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-!*****
- INTERFACE
- INTEGER FUNCTION h5sget_simple_extent_ndims_c(space_id, rank)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5SGET_SIMPLE_EXTENT_NDIMS_C'::h5sget_simple_extent_ndims_c
- !DEC$ENDIF
- INTEGER(HID_T), INTENT(IN) :: space_id
- INTEGER, INTENT(OUT) :: rank
- END FUNCTION h5sget_simple_extent_ndims_c
- END INTERFACE
-
- hdferr = h5sget_simple_extent_ndims_c(space_id, rank)
-
- END SUBROUTINE h5sget_simple_extent_ndims_f
-!
-!****s* H5S/h5sget_simple_extent_dims_f
-!
-! NAME
-! h5sget_simple_extent_dims_f
-!
-! PURPOSE
-! Retrieves dataspace dimension size and maximum size.
-!
-! INPUTS
-! space_id - dataspace identifier
-! OUTPUTS
-! dims - array to store size of each dimension
-! maxdims - array to store maximum size of each
-! dimension
-! hdferr - Returns 0 if successful and -1 if fails
-! AUTHOR
-! Elena Pourmal
-! August 12, 1999
-!
-! HISTORY
-! Explicit Fortran interfaces were added for
-! called C functions (it is needed for Windows
-! port). March 6, 2001
-!
-! SOURCE
- SUBROUTINE h5sget_simple_extent_dims_f(space_id, dims, maxdims, hdferr)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: space_id ! Dataspace identifier
- INTEGER(HSIZE_T), DIMENSION(*), INTENT(OUT) :: dims
- ! Array to store dimension sizes
- INTEGER(HSIZE_T), DIMENSION(*), INTENT(OUT) :: maxdims
- ! Array to store max dimension
- ! sizes
- INTEGER, INTENT(OUT) :: hdferr ! Error code: -1 on failure,
- ! number of dimensions on
- ! on success
-!*****
- INTERFACE
- INTEGER FUNCTION h5sget_simple_extent_dims_c(space_id, dims, maxdims)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5SGET_SIMPLE_EXTENT_DIMS_C'::h5sget_simple_extent_dims_c
- !DEC$ENDIF
- INTEGER(HID_T), INTENT(IN) :: space_id
- INTEGER(HSIZE_T), DIMENSION(*), INTENT(OUT) :: dims
- INTEGER(HSIZE_T), DIMENSION(*), INTENT(OUT) :: maxdims
- END FUNCTION h5sget_simple_extent_dims_c
- END INTERFACE
-
- hdferr = h5sget_simple_extent_dims_c(space_id, dims, maxdims)
-
- END SUBROUTINE h5sget_simple_extent_dims_f
-
-!
-!****s* H5S/h5sget_simple_extent_type_f
-!
-! NAME
-! h5sget_simple_extent_type_f
-!
-! PURPOSE
-! Determine the current class of a dataspace
-!
-! INPUTS
-! space_id - dataspace identifier
-! OUTPUTS
-! classtype - class type, possible values are:
-! H5S_NO_CLASS_F (-1)
-! H5S_SCALAR_F (0)
-! H5S_SIMPLE_F (1)
-! H5S_NULL_F (2)
-! hdferr - Returns 0 if successful and -1 if fails
-! AUTHOR
-! Elena Pourmal
-! August 12, 1999
-!
-! HISTORY
-! Explicit Fortran interfaces were added for
-! called C functions (it is needed for Windows
-! port). March 6, 2001
-!
-! SOURCE
- SUBROUTINE h5sget_simple_extent_type_f(space_id, classtype, hdferr)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: space_id ! Dataspace identifier
- INTEGER, INTENT(OUT) :: classtype ! Class type , possible values
- ! are:
- ! H5S_NO_CLASS_F (-1)
- ! H5S_SCALAR_F (0)
- ! H5S_SIMPLE_F (1)
- ! H5S_NULL_F (2)
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-!*****
- INTERFACE
- INTEGER FUNCTION h5sget_simple_extent_type_c(space_id, classtype)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5SGET_SIMPLE_EXTENT_TYPE_C'::h5sget_simple_extent_type_c
- !DEC$ENDIF
- INTEGER(HID_T), INTENT(IN) :: space_id
- INTEGER, INTENT(OUT) :: classtype
- END FUNCTION h5sget_simple_extent_type_c
- END INTERFACE
-
- hdferr = h5sget_simple_extent_type_c(space_id, classtype)
-
- END SUBROUTINE h5sget_simple_extent_type_f
-!
-!****s* H5S/h5sset_extent_simple_f
-!
-! NAME
-! h5sset_extent_simple_f
-!
-! PURPOSE
-! Sets or resets the size of an existing dataspace.
-!
-! INPUTS
-! space_id - dataspace identifier
-! rank - dataspace number of dimensions
-! current_size - array with the new sizes of dimensions
-! maximum_size - array with the new maximum sizes of
-! dimensions
-! OUTPUTS
-! hdferr - Returns 0 if successful and -1 if fails
-! AUTHOR
-! Elena Pourmal
-! August 12, 1999
-!
-! HISTORY
-! Explicit Fortran interfaces were added for
-! called C functions (it is needed for Windows
-! port). March 6, 2001
-!
-! SOURCE
- SUBROUTINE h5sset_extent_simple_f(space_id, rank, current_size, &
- maximum_size, hdferr)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: space_id ! Dataspace identifier
- INTEGER, INTENT(IN) :: rank ! Dataspace rank
- INTEGER(HSIZE_T), DIMENSION(rank), INTENT(IN) :: current_size
- ! Array with the new sizes
- ! of dimensions
- INTEGER(HSIZE_T), DIMENSION(rank), INTENT(IN) :: maximum_size
- ! Array with the new maximum
- ! sizes of dimensions
- ! sizes
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-!*****
- INTERFACE
- INTEGER FUNCTION h5sset_extent_simple_c(space_id, rank, &
- current_size, maximum_size)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5SSET_EXTENT_SIMPLE_C'::h5sset_extent_simple_c
- !DEC$ENDIF
- INTEGER(HID_T), INTENT(IN) :: space_id
- INTEGER, INTENT(IN) :: rank
- INTEGER(HSIZE_T), DIMENSION(rank), INTENT(IN) :: current_size
- INTEGER(HSIZE_T), DIMENSION(rank), INTENT(IN) :: maximum_size
- END FUNCTION h5sset_extent_simple_c
- END INTERFACE
-
- hdferr = h5sset_extent_simple_c(space_id, rank, current_size, &
- maximum_size)
-
- END SUBROUTINE h5sset_extent_simple_f
-!
-!****s* H5S/h5sis_simple_f
-!
-! NAME
-! h5sis_simple_f
-!
-! PURPOSE
-! Determines whether a dataspace is a simple dataspace.
-!
-! INPUTS
-! space_id - dataspace identifier
-! OUTPUTS
-! status - flag to indicate if dataspace
-! is simple or not
-! hdferr - Returns 0 if successful and -1 if fails
-! AUTHOR
-! Elena Pourmal
-! August 12, 1999
-!
-! HISTORY
-! Explicit Fortran interfaces were added for
-! called C functions (it is needed for Windows
-! port). March 6, 2001
-!
-! SOURCE
- SUBROUTINE h5sis_simple_f(space_id, status, hdferr)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: space_id ! Dataspace identifier
- LOGICAL, INTENT(OUT) :: status ! Flag, idicates if dataspace
- ! is simple or not ( TRUE or
- ! FALSE)
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-!*****
- INTEGER :: flag ! "TRUE/FALSE/ERROR from C"
-
- INTERFACE
- INTEGER FUNCTION h5sis_simple_c(space_id, flag)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5SIS_SIMPLE_C'::h5sis_simple_c
- !DEC$ENDIF
- INTEGER(HID_T), INTENT(IN) :: space_id
- INTEGER :: flag
- END FUNCTION h5sis_simple_c
- END INTERFACE
-
- hdferr = h5sis_simple_c(space_id, flag)
- status = .TRUE.
- if (flag .EQ. 0) status = .FALSE.
-
- END SUBROUTINE h5sis_simple_f
-
-!
-!****s* H5S/h5soffset_simple_f
-!
-! NAME
-! h5soffset_simple_f
-!
-! PURPOSE
-! Sets the offset of a simple dataspace.
-!
-! INPUTS
-! space_id - dataspace identifier
-! offset - the offset at which to position the
-! selection
-! OUTPUTS
-! hdferr - Returns 0 if successful and -1 if fails
-! OPTIONAL PARAMETERS
-! NONE
-!
-! AUTHOR
-! Elena Pourmal
-! August 12, 1999
-!
-! HISTORY
-! Explicit Fortran interfaces were added for
-! called C functions (it is needed for Windows
-! port). March 6, 2001
-!
-! SOURCE
- SUBROUTINE h5soffset_simple_f(space_id, offset, hdferr)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: space_id ! Dataspace identifier
- INTEGER(HSSIZE_T), DIMENSION(*), INTENT(IN) :: offset
- ! The offset at which to position
- ! the selection
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-!*****
- INTERFACE
- INTEGER FUNCTION h5soffset_simple_c(space_id, offset)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5SOFFSET_SIMPLE_C'::h5soffset_simple_c
- !DEC$ENDIF
- INTEGER(HID_T), INTENT(IN) :: space_id
- INTEGER(HSSIZE_T), DIMENSION(*), INTENT(IN) :: offset
- END FUNCTION h5soffset_simple_c
- END INTERFACE
-
- hdferr = h5soffset_simple_c(space_id, offset)
-
- END SUBROUTINE h5soffset_simple_f
-
-!
-!****s* H5S/h5sextent_copy_f
-!
-! NAME
-! h5sextent_copy_f
-!
-! PURPOSE
-! Copies the extent of a dataspace.
-!
-! INPUTS
-! dest_space_id - the identifier for the dataspace to which
-! the extent is copied
-! source_space_id - the identifier for the dataspace from
-! which the extent is copied
-! OUTPUTS
-! hdferr - Returns 0 if successful and -1 if fails
-! OPTIONAL PARAMETERS
-! NONE
-!
-! AUTHOR
-! Elena Pourmal
-! August 12, 1999
-!
-! HISTORY
-! Explicit Fortran interfaces were added for
-! called C functions (it is needed for Windows
-! port). March 6, 2001
-!
-! NOTES
-!
-
-! SOURCE
- SUBROUTINE h5sextent_copy_f(dest_space_id, source_space_id, hdferr)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: dest_space_id ! Identifier of destination
- ! dataspace
- INTEGER(HID_T), INTENT(IN) :: source_space_id ! Identifier of source
- ! dataspace
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-!*****
- INTERFACE
- INTEGER FUNCTION h5sextent_copy_c(dest_space_id, source_space_id)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5SEXTENT_COPY_C'::h5sextent_copy_c
- !DEC$ENDIF
- INTEGER(HID_T), INTENT(IN) :: dest_space_id
- INTEGER(HID_T), INTENT(IN) :: source_space_id
- END FUNCTION h5sextent_copy_c
- END INTERFACE
-
- hdferr = h5sextent_copy_c(dest_space_id, source_space_id)
-
- END SUBROUTINE h5sextent_copy_f
-
-!
-!****s* H5S/h5sset_extent_none_f
-!
-! NAME
-! h5sset_extent_none_f
-!
-! PURPOSE
-! Removes the extent from a dataspace.
-!
-! INPUTS
-! space_id - dataspace identifier
-! OUTPUTS
-! hdferr - Returns 0 if successful and -1 if fails
-! AUTHOR
-! Elena Pourmal
-! August 12, 1999
-!
-! HISTORY
-! Explicit Fortran interfaces were added for
-! called C functions (it is needed for Windows
-! port). March 6, 2001
-!
-! SOURCE
- SUBROUTINE h5sset_extent_none_f(space_id, hdferr)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: space_id ! Dataspace identifier
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-!*****
- INTERFACE
- INTEGER FUNCTION h5sset_extent_none_c(space_id)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5SSET_EXTENT_NONE_C'::h5sset_extent_none_c
- !DEC$ENDIF
- INTEGER(HID_T), INTENT(IN) :: space_id
- END FUNCTION h5sset_extent_none_c
- END INTERFACE
-
- hdferr = h5sset_extent_none_c(space_id)
-
- END SUBROUTINE h5sset_extent_none_f
-
-!
-!****s* H5S/h5sselect_hyperslab_f
-!
-! NAME
-! h5sselect_hyperslab_f
-!
-! PURPOSE
-! Selects a hyperslab region to add to the current selected
-! region
-!
-! INPUTS
-! space_id - dataspace identifier
-! operator - flag, valid values are:
-! H5S_SELECT_SET_F (0)
-! H5S_SELECT_OR_F (1)
-! start - array with hyperslab offsets
-! count - number of blocks included in the
-! hyperslab
-! OUTPUTS
-! hdferr - Returns 0 if successful and -1 if fails
-! OPTIONAL PARAMETERS
-! stride - array with hyperslab strides
-! block - array with hyperslab block sizes
-!
-! AUTHOR
-! Elena Pourmal
-! August 12, 1999
-!
-! HISTORY
-! Explicit Fortran interfaces were added for
-! called C functions (it is needed for Windows
-! port). March 6, 2001
-!
-! SOURCE
- SUBROUTINE h5sselect_hyperslab_f(space_id, operator, start, count, &
- hdferr, stride, block)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: space_id ! Dataspace identifier
- INTEGER, INTENT(IN) :: operator ! Flag, valid values are:
- ! H5S_SELECT_SET_F (0)
- ! H5S_SELECT_OR_F (1)
- !
- INTEGER(HSIZE_T), DIMENSION(*), INTENT(IN) :: start
- ! Starting coordinates of the hyperslab
- INTEGER(HSIZE_T), DIMENSION(*), INTENT(IN) :: count
- ! Number of blocks to select
- ! from dataspace
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- INTEGER(HSIZE_T), DIMENSION(:), OPTIONAL, INTENT(IN) :: stride
- ! Array of how many elements to move
- ! in each direction
- INTEGER(HSIZE_T), DIMENSION(:), OPTIONAL, INTENT(IN) :: block
- ! Sizes of element block
-!*****
- INTEGER(HSIZE_T), DIMENSION(:), ALLOCATABLE :: def_block
- INTEGER(HSIZE_T), DIMENSION(:), ALLOCATABLE :: def_stride
- INTEGER :: rank
- INTEGER :: error1, error2
-
- INTERFACE
- INTEGER FUNCTION h5sselect_hyperslab_c(space_id, operator, &
- start, count, stride, block)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5SSELECT_HYPERSLAB_C'::h5sselect_hyperslab_c
- !DEC$ENDIF
- INTEGER(HID_T), INTENT(IN) :: space_id
- INTEGER, INTENT(IN) :: operator
- INTEGER(HSIZE_T), DIMENSION(*), INTENT(IN) :: start
- INTEGER(HSIZE_T), DIMENSION(*), INTENT(IN) :: count
- INTEGER(HSIZE_T), DIMENSION(*), INTENT(IN) :: stride
- INTEGER(HSIZE_T), DIMENSION(*), INTENT(IN) :: block
- END FUNCTION h5sselect_hyperslab_c
- END INTERFACE
-
- if (present(stride).and. present(block)) then
- hdferr = h5sselect_hyperslab_c(space_id, operator, start, count, &
- stride, block)
- return
- endif
- ! Case of optional parameters.
- !
- ! Find the rank of the dataspace to allocate memery for
- ! default stride and block arrays.
- !
- CALL h5sget_simple_extent_ndims_f(space_id, rank, hdferr)
- if( hdferr .EQ. -1) return
- !
- if (present(stride).and. .not.present(block)) then
- allocate(def_block(rank), stat=error1)
- if (error1.NE.0) then
- hdferr = -1
- return
- endif
- def_block = 1
- hdferr = h5sselect_hyperslab_c(space_id, operator, start, count, &
- stride, def_block)
- deallocate(def_block)
- return
- endif
-
- if (.not.present(stride).and. present(block)) then
- allocate(def_stride(rank), stat=error2)
- if (error2.NE.0) then
- hdferr = -1
- return
- endif
- def_stride = 1
- hdferr = h5sselect_hyperslab_c(space_id, operator, start, count, &
- def_stride, block)
- deallocate(def_stride)
- return
- endif
- allocate(def_block(rank), stat=error1)
- allocate(def_stride(rank), stat=error2)
- if ((error1.NE.0) .OR. (error2.NE.0)) then
- hdferr = -1
- return
- endif
- def_block = 1
- def_stride = 1
- hdferr = h5sselect_hyperslab_c(space_id, operator, start, count, &
- def_stride, def_block)
- deallocate(def_block)
- deallocate(def_stride)
-
- END SUBROUTINE h5sselect_hyperslab_f
-! !$!
-! !$!****s* H5S/h5scombine_hyperslab_f
-! !$!
-! !$! NAME
-! !$! h5scombine_hyperslab_f
-! !$!
-! !$! PURPOSE
-! !$! Combine a hyperslab selection with the current
-! !$! selection for a dataspace
-! !$!
-! !$! INPUTS
-! !$! space_id - dataspace of selection to use
-! !$! operator - flag, valid values are:
-! !$! H5S_SELECT_NOOP_F
-! !$! H5S_SELECT_SET_F
-! !$! H5S_SELECT_OR_F
-! !$! H5S_SELECT_AND_F
-! !$! H5S_SELECT_XOR_F
-! !$! H5S_SELECT_NOTB_F
-! !$! H5S_SELECT_NOTA_F
-! !$! H5S_SELECT_APPEND_F
-! !$! H5S_SELECT_PREPEND_F
-! !$! start - array with hyperslab offsets
-! !$! count - number of blocks included in the
-! !$! hyperslab
-! !$! OUTPUTS
-! !$! hyper_id - identifier for the new hyperslab
-! !$! hdferr: - error code
-! !$! Success: 0
-! !$! Failure: -1
-! !$! OPTIONAL PARAMETERS
-! !$! stride - array with hyperslab strides
-! !$! block - array with hyperslab block sizes
-! !$!
-! !$! AUTHOR
-! !$! Elena Pourmal
-! !$! October 7, 2002
-! !$!
-! !$! HISTORY
-! !$!
-! !$!
-! !$! NOTES
-! !$! Commented out until 1.6 ? 10/08/2002
-! !$!
-! !$! SOURCE
-! SUBROUTINE h5scombine_hyperslab_f(space_id, operator, start, count, &
-! hyper_id, hdferr, stride, block)
-! IMPLICIT NONE
-! INTEGER(HID_T), INTENT(IN) :: space_id ! Dataspace identifier
-! INTEGER, INTENT(IN) :: operator ! Flag, valid values are:
- ! H5S_SELECT_NOOP_F
- ! H5S_SELECT_SET_F
- ! H5S_SELECT_OR_F
- ! H5S_SELECT_AND_F
- ! H5S_SELECT_XOR_F
- ! H5S_SELECT_NOTB_F
- ! H5S_SELECT_NOTA_F
- ! H5S_SELECT_APPEND_F
- ! H5S_SELECT_PREPEND_F
- !
-! INTEGER(HSIZE_T), DIMENSION(*), INTENT(IN) :: start
- ! Starting coordinates of the hyperslab
-! INTEGER(HSIZE_T), DIMENSION(*), INTENT(IN) :: count
- ! Number of blocks to select
- ! from dataspace
-! INTEGER(HID_T), INTENT(OUT) :: hyper_id ! New hyperslab identifier
-! INTEGER, INTENT(OUT) :: hdferr ! Error code
-! INTEGER(HSIZE_T), DIMENSION(:), OPTIONAL, INTENT(IN) :: stride
- ! Array of how many elements to move
- ! in each direction
-! INTEGER(HSIZE_T), DIMENSION(:), OPTIONAL, INTENT(IN) :: block
- ! Sizes of element block
-! INTEGER(HSIZE_T), DIMENSION(:), ALLOCATABLE :: def_block
-! INTEGER(HSIZE_T), DIMENSION(:), ALLOCATABLE :: def_stride
-! INTEGER :: rank
-! INTEGER :: error1, error2
-
-! INTERFACE
-! INTEGER FUNCTION h5scombine_hyperslab_c(space_id, operator, &
-! start, count, stride, block, hyper_id)
-! USE H5GLOBAL
-! !DEC$IF DEFINED(HDF5F90_WINDOWS)
-! !DEC$ATTRIBUTES C,reference,decorate,alias:'H5SCOMBINE_HYPERSLAB_C'::h5scombine_hyperslab_c
-! !DEC$ENDIF
-! INTEGER(HID_T), INTENT(IN) :: space_id
-! INTEGER, INTENT(IN) :: operator
-! INTEGER(HSIZE_T), DIMENSION(*), INTENT(IN) :: start
-! INTEGER(HSIZE_T), DIMENSION(*), INTENT(IN) :: count
-! INTEGER(HSIZE_T), DIMENSION(*), OPTIONAL, INTENT(IN) :: stride
-! INTEGER(HSIZE_T), DIMENSION(*), OPTIONAL, INTENT(IN) :: block
-! INTEGER(HID_T), INTENT(OUT) :: hyper_id
-! END FUNCTION h5scombine_hyperslab_c
-! END INTERFACE
-
-! if (present(stride).and. present(block)) then
-! hdferr = h5scombine_hyperslab_c(space_id, operator, start, count, &
-! stride, block, hyper_id)
-! return
-! endif
- ! Case of optional parameters.
- !
- ! Find the rank of the dataspace to allocate memery for
- ! default stride and block arrays.
- !
-! CALL h5sget_simple_extent_ndims_f(space_id, rank, hdferr)
-! if( hdferr .EQ. -1) return
- !
-! if (present(stride).and. .not.present(block)) then
-! allocate(def_block(rank), stat=error1)
-! if (error1.NE.0) then
-! hdferr = -1
-! return
-! endif
-! def_block = 1
-! hdferr = h5scombine_hyperslab_c(space_id, operator, start, count, &
-! stride, def_block, hyper_id)
-! deallocate(def_block)
-! return
-! endif
-
-! if (.not.present(stride).and. present(block)) then
-! allocate(def_stride(rank), stat=error2)
-! if (error2.NE.0) then
-! hdferr = -1
-! return
-! endif
-! def_stride = 1
-! hdferr = h5scombine_hyperslab_c(space_id, operator, start, count, &
-! def_stride, block, hyper_id)
-! deallocate(def_stride)
-! return
-! endif
-! allocate(def_block(rank), stat=error1)
-! allocate(def_stride(rank), stat=error2)
-! if ((error1.NE.0) .OR. (error2.NE.0)) then
-! hdferr = -1
-! return
-! endif
-! def_block = 1
-! def_stride = 1
-! hdferr = h5scombine_hyperslab_c(space_id, operator, start, count, &
-! def_stride, def_block, hyper_id)
-! deallocate(def_block)
-! deallocate(def_stride)
-
-! END SUBROUTINE h5scombine_hyperslab_f
-
-! !$!
-! !$!****s* H5S/
-! !$!
-! !$! NAME
-! !$! h5scombine_select_f
-! !$!
-! !$! PURPOSE
-! !$! Combine two hyperslab selections with an operation
-! !$! and return a dataspace with resulting selection.
-! !$!
-! !$! INPUTS
-! !$! space1_id - dataspace of selection to use
-! !$! operator - flag, valid values are:
-! !$! H5S_SELECT_NOOP_F
-! !$! H5S_SELECT_SET_F
-! !$! H5S_SELECT_OR_F
-! !$! H5S_SELECT_AND_F
-! !$! H5S_SELECT_XOR_F
-! !$! H5S_SELECT_NOTB_F
-! !$! H5S_SELECT_NOTA_F
-! !$! H5S_SELECT_APPEND_F
-! !$! H5S_SELECT_PREPEND_F
-! !$! space2_id - dataspace of selection to use
-! !$! OUTPUTS
-! !$! ds_id - idataspace identifier with the new selection
-! !$! hdferr: - error code
-! !$! Success: 0
-! !$! Failure: -1
-! !$! OPTIONAL PARAMETERS - NONE
-! !$!
-! !$! AUTHOR
-! !$! Elena Pourmal
-! !$! October 7, 2002
-! !$!
-! !$! HISTORY
-! !$!
-! !$!
-! !$! NOTES commented out until 1.6 release(?) 10/08/2002
-! !$!
-
-! ! SOURCE
-! !$ SUBROUTINE h5scombine_select_f(space1_id, operator, space2_id, &
-! ds_id, hdferr)
-! IMPLICIT NONE
-! INTEGER(HID_T), INTENT(IN) :: space1_id ! First dataspace identifier
-! INTEGER(HID_T), INTENT(IN) :: space2_id ! Second dataspace identifier
-! INTEGER, INTENT(IN) :: operator ! Flag, valid values are:
- ! H5S_SELECT_NOOP_F
- ! H5S_SELECT_SET_F
- ! H5S_SELECT_OR_F
- ! H5S_SELECT_AND_F
- ! H5S_SELECT_XOR_F
- ! H5S_SELECT_NOTB_F
- ! H5S_SELECT_NOTA_F
- ! H5S_SELECT_APPEND_F
- ! H5S_SELECT_PREPEND_F
- !
-! INTEGER(HID_T), INTENT(OUT) :: ds_id ! New dataspace identifier
-! INTEGER, INTENT(OUT) :: hdferr ! Error code
-!
-! INTERFACE
-! INTEGER FUNCTION h5scombine_select_c(space1_id, operator, &
-! space2_id, ds_id)
-! USE H5GLOBAL
-! !DEC$IF DEFINED(HDF5F90_WINDOWS)
-! !DEC$ATTRIBUTES C,reference,decorate,alias:'H5SCOMBINE_SELECT_C'::h5scombine_select_c
-! !DEC$ENDIF
-! INTEGER(HID_T), INTENT(IN) :: space1_id
-! INTEGER(HID_T), INTENT(IN) :: space2_id
-! INTEGER, INTENT(IN) :: operator
-! INTEGER(HID_T), INTENT(OUT) :: ds_id
-! END FUNCTION h5scombine_select_c
-! END INTERFACE
-
-! hdferr = h5scombine_select_c(space1_id, operator, space2_id, &
-! ds_id)
-! return
-
-! END SUBROUTINE h5scombine_select_f
-
-! !$!
-! !$!****s* H5S/
-! !$!
-! !$! NAME
-! !$! h5sselect_select_f
-! !$!
-! !$! PURPOSE
-! !$! Refine a hyperslab selection with an operation
-! !$! using second hyperslab
-! !$!
-! !$! INPUTS
-! !$! space1_id - dataspace of selection to modify
-! !$! operator - flag, valid values are:
-! !$! H5S_SELECT_NOOP_F
-! !$! H5S_SELECT_SET_F
-! !$! H5S_SELECT_OR_F
-! !$! H5S_SELECT_AND_F
-! !$! H5S_SELECT_XOR_F
-! !$! H5S_SELECT_NOTB_F
-! !$! H5S_SELECT_NOTA_F
-! !$! H5S_SELECT_APPEND_F
-! !$! H5S_SELECT_PREPEND_F
-! !$! space2_id - dataspace of selection to use
-! !$!
-! !$! OUTPUTS
-! !$! hdferr: - error code
-! !$! Success: 0
-! !$! Failure: -1
-! !$! OPTIONAL PARAMETERS - NONE
-! !$!
-! !$! AUTHOR
-! !$! Elena Pourmal
-! !$! October 7, 2002
-! !$!
-! !$! HISTORY
-! !$!
-! !$!
-! !$! NOTESCommented out until 1.6 release(?) 10/08/2002 EIP
-! !$!
-
-! ! SOURCE
-! SUBROUTINE h5sselect_select_f(space1_id, operator, space2_id, &
-! hdferr)
-! IMPLICIT NONE
-! INTEGER(HID_T), INTENT(INOUT) :: space1_id ! Dataspace identifier to
- ! modify
-! INTEGER(HID_T), INTENT(IN) :: space2_id ! Second dataspace identifier
-! INTEGER, INTENT(IN) :: operator ! Flag, valid values are:
- ! H5S_SELECT_NOOP_F
- ! H5S_SELECT_SET_F
- ! H5S_SELECT_OR_F
- ! H5S_SELECT_AND_F
- ! H5S_SELECT_XOR_F
- ! H5S_SELECT_NOTB_F
- ! H5S_SELECT_NOTA_F
- ! H5S_SELECT_APPEND_F
- ! H5S_SELECT_PREPEND_F
- !
-! INTEGER, INTENT(OUT) :: hdferr ! Error code
-
-! INTERFACE
-! INTEGER FUNCTION h5sselect_select_c(space1_id, operator, &
-! space2_id)
-! USE H5GLOBAL
-! !DEC$IF DEFINED(HDF5F90_WINDOWS)
-! !DEC$ATTRIBUTES C,reference,decorate,alias:'H5SSELECT_SELECT_C'::h5sselect_select_c
-! !DEC$ENDIF
-! INTEGER(HID_T), INTENT(INOUT) :: space1_id
-! INTEGER(HID_T), INTENT(IN) :: space2_id
-! INTEGER, INTENT(IN) :: operator
-! END FUNCTION h5sselect_select_c
-! END INTERFACE
-
-! hdferr = h5sselect_select_c(space1_id, operator, space2_id)
-! return
-
-! END SUBROUTINE h5sselect_select_f
-
-!
-!****s* H5S/h5sget_select_type_f
-!
-! NAME
-! h5sget_select_type_f
-!
-! PURPOSE
-! Retrieve the type of selection
-!
-! INPUTS
-! space_id - dataspace iidentifier with selection
-! OUTPUTS
-! type - flag, valid values are:
-! H5S_SEL_ERROR_F
-! H5S_SEL_NONE_F
-! H5S_SEL_POINTS_F
-! H5S_SEL_HYPERSLABS_F
-! H5S_SEL_ALL_F
-! hdferr - Returns 0 if successful and -1 if fails
-! AUTHOR
-! Elena Pourmal
-! October 7, 2002
-!
-! SOURCE
- SUBROUTINE h5sget_select_type_f(space_id, type, hdferr)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(INOUT) :: space_id ! Dataspace identifier to
- INTEGER, INTENT(OUT) :: type ! Selection type
- ! H5S_SEL_ERROR_F
- ! H5S_SEL_NONE_F
- ! H5S_SEL_POINTS_F
- ! H5S_SEL_HYPERSLABS_F
- ! H5S_SEL_ALL_F
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-!*****
- INTERFACE
- INTEGER FUNCTION h5sget_select_type_c(space_id, type)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5SGET_SELECT_TYPE_C'::h5sget_select_type_c
- !DEC$ENDIF
- INTEGER(HID_T), INTENT(IN) :: space_id
- INTEGER, INTENT(OUT) :: type
- END FUNCTION h5sget_select_type_c
- END INTERFACE
-
- hdferr = h5sget_select_type_c(space_id, type)
- return
-
- END SUBROUTINE h5sget_select_type_f
-
-!
-!****s* H5S/H5Sdecode_f
-!
-! NAME
-! H5Sdecode_f
-!
-! PURPOSE
-! Decode a binary object description of data space and return a new object handle.
-!
-! INPUTS
-! buf - Buffer for the data space object to be decoded.
-! obj_id - Object ID
-! OUTPUTS
-! hdferr - Returns 0 if successful and -1 if fails
-!
-! AUTHOR
-! M. Scot Breitenfeld
-! March 26, 2008
-! SOURCE
- SUBROUTINE h5sdecode_f(buf, obj_id, hdferr)
- IMPLICIT NONE
- CHARACTER(LEN=*), INTENT(IN) :: buf ! Buffer for the data space object to be decoded.
- INTEGER(HID_T), INTENT(OUT) :: obj_id ! Object ID
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-!*****
- INTERFACE
- INTEGER FUNCTION h5sdecode_c(buf, obj_id)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5SDECODE_C'::h5sdecode_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: buf
- CHARACTER(LEN=*), INTENT(IN) :: buf
- INTEGER(HID_T), INTENT(OUT) :: obj_id ! Object ID
- END FUNCTION h5sdecode_c
- END INTERFACE
-
- hdferr = h5sdecode_c(buf, obj_id)
-
- END SUBROUTINE h5sdecode_f
-
-!
-!****s* H5S/H5Sencode_f
-!
-! NAME
-! H5Sencode_f
-!
-! PURPOSE
-! Encode a data space object description into a binary buffer.
-!
-! INPUTS
-! obj_id - Identifier of the object to be encoded.
-! buf - Buffer for the object to be encoded into.
-! nalloc - The size of the allocated buffer.
-! OUTPUTS
-! nalloc - The size of the buffer needed.
-! hdferr - Returns 0 if successful and -1 if fails.
-!
-! AUTHOR
-! M. Scot Breitenfeld
-! March 26, 2008
-! SOURCE
- SUBROUTINE h5sencode_f(obj_id, buf, nalloc, hdferr)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: obj_id ! Identifier of the object to be encoded.
- CHARACTER(LEN=*), INTENT(OUT) :: buf ! Buffer for the object to be encoded into.
- INTEGER(SIZE_T), INTENT(INOUT) :: nalloc ! The size of the allocated buffer.
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-!*****
-
- INTERFACE
- INTEGER FUNCTION h5sencode_c(buf, obj_id, nalloc)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5SENCODE_C'::h5sencode_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: buf
- INTEGER(HID_T), INTENT(IN) :: obj_id
- CHARACTER(LEN=*), INTENT(OUT) :: buf
- INTEGER(SIZE_T), INTENT(INOUT) :: nalloc
- END FUNCTION h5sencode_c
- END INTERFACE
-
- hdferr = h5sencode_c(buf, obj_id, nalloc)
-
- END SUBROUTINE h5sencode_f
-
-!****s* H5S/h5sextent_equal_f
-!
-! NAME
-! h5sextent_equal_f
-!
-! PURPOSE
-! Determines whether two dataspace extents are equal.
-!
-! INPUTS
-! space1_id - First dataspace identifier.
-! space2_id - Second dataspace identifier.
-! OUTPUTS
-! Equal - .TRUE. if equal, .FALSE. if unequal.
-! hdferr - Returns 0 if successful and -1 if fails
-! AUTHOR
-! M. Scot Breitenfeld
-! April 2, 2008
-!
-! SOURCE
- SUBROUTINE h5sextent_equal_f(space1_id, space2_id, equal, hdferr)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: space1_id ! First dataspace identifier.
- INTEGER(HID_T), INTENT(IN) :: space2_id ! Second dataspace identifier.
- LOGICAL, INTENT(OUT) :: Equal ! .TRUE. if equal, .FALSE. if unequal.
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-!*****
- INTEGER(HID_T) :: c_equal
-
- INTERFACE
- INTEGER FUNCTION h5sextent_equal_c(space1_id, space2_id, c_equal)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5SEXTENT_EQUAL_C'::h5sextent_equal_c
- !DEC$ENDIF
- INTEGER(HID_T), INTENT(IN) :: space1_id
- INTEGER(HID_T), INTENT(IN) :: space2_id
- INTEGER(HID_T) :: c_equal
- END FUNCTION h5sextent_equal_c
- END INTERFACE
-
- hdferr = h5sextent_equal_c(space1_id, space2_id, c_equal)
-
-
- equal = .FALSE.
- IF(c_equal.GT.0) equal = .TRUE.
-
-
- END SUBROUTINE h5sextent_equal_f
-
-END MODULE H5S
diff --git a/fortran/src/H5Tf.c b/fortran/src/H5Tf.c
index 7e1aa42..b6389258 100644
--- a/fortran/src/H5Tf.c
+++ b/fortran/src/H5Tf.c
@@ -1,6 +1,6 @@
/****h* H5Tf/H5Tf
* PURPOSE
- * This file contains C stubs for H5T Fortran APIs
+ * This file contains C stubs for H5T Fortran APIs
*
* COPYRIGHT
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
@@ -23,30 +23,29 @@
#include "H5f90.h"
-
/****if* H5Tf/h5topen_c
* NAME
* h5topen_c
* PURPOSE
* Call H5Topen2 to open a datatype
* INPUTS
- * loc_id - file or group identifier
- * name - name of the datatype within file or group
- * namelen - name length
- * tapl_id - datatype access property list identifier
+ * loc_id - file or group identifier
+ * name - name of the datatype within file or group
+ * namelen - name length
+ * tapl_id - datatype access property list identifier
* OUTPUTS
- * type_id - dataset identifier
+ * type_id - dataset identifier
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* Elena Pourmal
- * Saturday, August 14, 1999
+ * Saturday, August 14, 1999
* HISTORY
*
* SOURCE
*/
int_f
-nh5topen_c (hid_t_f *loc_id, _fcd name, int_f *namelen, hid_t_f *type_id, hid_t_f *tapl_id)
+h5topen_c (hid_t_f *loc_id, _fcd name, int_f *namelen, hid_t_f *type_id, hid_t_f *tapl_id)
/******/
{
char *c_name = NULL;
@@ -75,25 +74,24 @@ done:
return ret_value;
}
-
/****if* H5Tf/h5tcommit_c
* NAME
* h5tcommit_c
* PURPOSE
* Call H5Tcommit2 to commit a datatype
* INPUTS
- * loc_id - file or group identifier
- * name - name of the datatype within file or group
- * namelen - name length
- * type_id - dataset identifier
- * lcpl_id - Link creation property list
- * tcpl_id - Datatype creation property list
- * tapl_id - Datatype access property list
+ * loc_id - file or group identifier
+ * name - name of the datatype within file or group
+ * namelen - name length
+ * type_id - dataset identifier
+ * lcpl_id - Link creation property list
+ * tcpl_id - Datatype creation property list
+ * tapl_id - Datatype access property list
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* Elena Pourmal
- * Saturday, August 14, 1999
+ * Saturday, August 14, 1999
* HISTORY
*
* - Added passing optional parameters for version 1.8
@@ -101,7 +99,7 @@ done:
* SOURCE
*/
int_f
-nh5tcommit_c(hid_t_f *loc_id, _fcd name, int_f *namelen, hid_t_f *type_id,
+h5tcommit_c(hid_t_f *loc_id, _fcd name, int_f *namelen, hid_t_f *type_id,
hid_t_f *lcpl_id, hid_t_f *tcpl_id, hid_t_f *tapl_id)
/******/
{
@@ -130,19 +128,19 @@ done:
* PURPOSE
* Call H5Tclose to close the datatype
* INPUTS
- * type_id - identifier of the datatype to be closed
+ * type_id - identifier of the datatype to be closed
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* Elena Pourmal
- * Saturday, August 14, 1999
+ * Saturday, August 14, 1999
* HISTORY
*
* SOURCE
*/
int_f
-nh5tclose_c ( hid_t_f *type_id )
+h5tclose_c ( hid_t_f *type_id )
/******/
{
int ret_value = 0;
@@ -153,28 +151,27 @@ nh5tclose_c ( hid_t_f *type_id )
return ret_value;
}
-
/****if* H5Tf/h5tcopy_c
* NAME
* h5tcopy_c
* PURPOSE
* Call H5Tcopy to copy a datatype
* INPUTS
- * type_id - identifier of the datatype to be copied
+ * type_id - identifier of the datatype to be copied
* OUTPUTS
- * new_type_id - identifier of the new datatype
+ * new_type_id - identifier of the new datatype
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* Elena Pourmal
- * Saturday, August 14, 1999
+ * Saturday, August 14, 1999
* HISTORY
*
* SOURCE
*/
int_f
-nh5tcopy_c ( hid_t_f *type_id , hid_t_f *new_type_id)
+h5tcopy_c ( hid_t_f *type_id , hid_t_f *new_type_id)
/******/
{
int ret_value = 0;
@@ -194,22 +191,22 @@ nh5tcopy_c ( hid_t_f *type_id , hid_t_f *new_type_id)
* PURPOSE
* Call H5Tequal to copy a datatype
* INPUTS
- * type1_id - datatype identifier
- * type2_id - datatype identifier
+ * type1_id - datatype identifier
+ * type2_id - datatype identifier
* OUTPUTS
- * c_flag - flag; indicates if two datatypes are equal or not.
+ * c_flag - flag; indicates if two datatypes are equal or not.
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* Elena Pourmal
- * Tuesday, February 22, 2000
+ * Tuesday, February 22, 2000
* HISTORY
*
* SOURCE
*/
int_f
-nh5tequal_c ( hid_t_f *type1_id , hid_t_f *type2_id, int_f *c_flag)
+h5tequal_c ( hid_t_f *type1_id , hid_t_f *type2_id, int_f *c_flag)
/******/
{
int ret_value = -1;
@@ -257,7 +254,7 @@ nh5tequal_c ( hid_t_f *type1_id , hid_t_f *type2_id, int_f *c_flag)
*/
int_f
-nh5tget_class_c ( hid_t_f *type_id , int_f *classtype)
+h5tget_class_c ( hid_t_f *type_id , int_f *classtype)
/******/
{
int ret_value = 0;
@@ -293,24 +290,24 @@ nh5tget_class_c ( hid_t_f *type_id , int_f *classtype)
* PURPOSE
* Call H5Tget_order to determine byte order
* INPUTS
- * type_id - identifier of the dataspace
+ * type_id - identifier of the dataspace
* OUTPUTS
- * order; possible values are:
+ * order; possible values are:
* H5T_ORDER_LE_F (0)
* H5T_ORDER_BE_F (1)
* H5T_ORDER_VAX_F (2)
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* Elena Pourmal
- * Saturday, August 14, 1999
+ * Saturday, August 14, 1999
* HISTORY
*
* SOURCE
*/
int_f
-nh5tget_order_c ( hid_t_f *type_id , int_f *order)
+h5tget_order_c ( hid_t_f *type_id , int_f *order)
/******/
{
int ret_value = -1;
@@ -337,23 +334,23 @@ nh5tget_order_c ( hid_t_f *type_id , int_f *order)
* PURPOSE
* Call H5Tset_order to set byte order
* INPUTS
- * type_id - identifier of the dataspace
- * order; possible values are:
+ * type_id - identifier of the dataspace
+ * order; possible values are:
* H5T_ORDER_LE_F (0)
* H5T_ORDER_BE_F (1)
* H5T_ORDER_VAX_F (2)
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* Elena Pourmal
- * Saturday, August 14, 1999
+ * Saturday, August 14, 1999
* HISTORY
*
* SOURCE
*/
int_f
-nh5tset_order_c ( hid_t_f *type_id , int_f *order)
+h5tset_order_c ( hid_t_f *type_id , int_f *order)
/******/
{
int ret_value = 0;
@@ -378,21 +375,21 @@ nh5tset_order_c ( hid_t_f *type_id , int_f *order)
* PURPOSE
* Call H5Tget_size to get size of the datatype
* INPUTS
- * type_id - identifier of the dataspace
+ * type_id - identifier of the dataspace
* OUTPUTS
- * size (in bytes)
+ * size (in bytes)
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* Elena Pourmal
- * Saturday, August 14, 1999
+ * Saturday, August 14, 1999
* HISTORY
*
* SOURCE
*/
int_f
-nh5tget_size_c ( hid_t_f *type_id , size_t_f *size)
+h5tget_size_c ( hid_t_f *type_id , size_t_f *size)
/******/
{
int ret_value = -1;
@@ -413,21 +410,21 @@ nh5tget_size_c ( hid_t_f *type_id , size_t_f *size)
* PURPOSE
* Call H5Tget_size to get size of the datatype
* INPUTS
- * type_id - identifier of the dataspace
+ * type_id - identifier of the dataspace
* OUTPUTS
- * size (in bytes)
+ * size (in bytes)
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* Elena Pourmal
- * Saturday, August 14, 1999
+ * Saturday, August 14, 1999
* HISTORY
*
* SOURCE
*/
int_f
-nh5tset_size_c ( hid_t_f *type_id , size_t_f *size)
+h5tset_size_c ( hid_t_f *type_id , size_t_f *size)
/******/
{
int ret_value = -1;
@@ -449,21 +446,21 @@ nh5tset_size_c ( hid_t_f *type_id , size_t_f *size)
* PURPOSE
* Call H5Tget_precision to get precision of the datatype
* INPUTS
- * type_id - identifier of the dataspace
+ * type_id - identifier of the dataspace
* OUTPUTS
- * precision - number of significant bits
+ * precision - number of significant bits
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* XIANGYANG SU
- * Tuesday, January 25, 2000
+ * Tuesday, January 25, 2000
* HISTORY
*
* SOURCE
*/
int_f
-nh5tget_precision_c ( hid_t_f *type_id , size_t_f *precision)
+h5tget_precision_c ( hid_t_f *type_id , size_t_f *precision)
/******/
{
int ret_value = -1;
@@ -484,20 +481,20 @@ nh5tget_precision_c ( hid_t_f *type_id , size_t_f *precision)
* PURPOSE
* Call H5Tset_precision to set precision of the datatype
* INPUTS
- * type_id - identifier of the dataspace
- * precision - number of significant bits
+ * type_id - identifier of the dataspace
+ * precision - number of significant bits
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* XIANGYANG SU
- * Tuesday, January 25, 2000
+ * Tuesday, January 25, 2000
* HISTORY
*
* SOURCE
*/
int_f
-nh5tset_precision_c ( hid_t_f *type_id , size_t_f *precision)
+h5tset_precision_c ( hid_t_f *type_id , size_t_f *precision)
/******/
{
int ret_value = -1;
@@ -518,23 +515,23 @@ nh5tset_precision_c ( hid_t_f *type_id , size_t_f *precision)
* h5tget_offset_c
* PURPOSE
* Call H5Tget_offset to get bit offset of the first
- * significant bit of the datatype
+ * significant bit of the datatype
* INPUTS
- * type_id - identifier of the dataspace
+ * type_id - identifier of the dataspace
* OUTPUTS
- * offset - bit offset of the first significant bit
+ * offset - bit offset of the first significant bit
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* XIANGYANG SU
- * Tuesday, January 25, 2000
+ * Tuesday, January 25, 2000
* HISTORY
*
* SOURCE
*/
int_f
-nh5tget_offset_c ( hid_t_f *type_id , size_t_f *offset)
+h5tget_offset_c ( hid_t_f *type_id , size_t_f *offset)
/******/
{
int ret_value = -1;
@@ -555,22 +552,22 @@ nh5tget_offset_c ( hid_t_f *type_id , size_t_f *offset)
* h5tset_offset_c
* PURPOSE
* Call H5Tset_offset to set bit offset of the first
- * significant bit of the datatype
+ * significant bit of the datatype
* INPUTS
- * type_id - identifier of the dataspace
- * offset - bit offset of the first significant bit
+ * type_id - identifier of the dataspace
+ * offset - bit offset of the first significant bit
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* XIANGYANG SU
- * Tuesday, January 25, 2000
+ * Tuesday, January 25, 2000
* HISTORY
*
* SOURCE
*/
int_f
-nh5tset_offset_c ( hid_t_f *type_id , size_t_f *offset)
+h5tset_offset_c ( hid_t_f *type_id , size_t_f *offset)
/******/
{
int ret_value = -1;
@@ -591,25 +588,25 @@ nh5tset_offset_c ( hid_t_f *type_id , size_t_f *offset)
* h5tget_pad_c
* PURPOSE
* Call H5Tget_pad to get the padding type of the least and
- * most-significant bit padding
+ * most-significant bit padding
*
* INPUTS
- * type_id - identifier of the dataspace
+ * type_id - identifier of the dataspace
* OUTPUTS
- * lsbpad - padding type of the least significant bit
- * msbpad - padding type of the least significant bit
+ * lsbpad - padding type of the least significant bit
+ * msbpad - padding type of the least significant bit
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* XIANGYANG SU
- * Wednesday, January 26, 2000
+ * Wednesday, January 26, 2000
* HISTORY
*
* SOURCE
*/
int_f
-nh5tget_pad_c ( hid_t_f *type_id , int_f * lsbpad, int_f * msbpad)
+h5tget_pad_c ( hid_t_f *type_id , int_f * lsbpad, int_f * msbpad)
/******/
{
int ret_value = -1;
@@ -631,27 +628,27 @@ nh5tget_pad_c ( hid_t_f *type_id , int_f * lsbpad, int_f * msbpad)
* NAME
* h5tset_pad_c
* INPUTS
- * type_id - identifier of the dataspace
+ * type_id - identifier of the dataspace
* PURPOSE
* Call H5Tset_pad to set the padding type of the least and
- * most-significant bit padding
+ * most-significant bit padding
*
* INPUTS
- * type_id - identifier of the dataspace
- * lsbpad - padding type of the least significant bit
- * msbpad - padding type of the least significant bit
+ * type_id - identifier of the dataspace
+ * lsbpad - padding type of the least significant bit
+ * msbpad - padding type of the least significant bit
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* XIANGYANG SU
- * Wednesday, January 26, 2000
+ * Wednesday, January 26, 2000
* HISTORY
*
* SOURCE
*/
int_f
-nh5tset_pad_c ( hid_t_f *type_id, int_f * lsbpad, int_f* msbpad )
+h5tset_pad_c ( hid_t_f *type_id, int_f * lsbpad, int_f* msbpad )
/******/
{
int ret_value = -1;
@@ -674,21 +671,21 @@ nh5tset_pad_c ( hid_t_f *type_id, int_f * lsbpad, int_f* msbpad )
* PURPOSE
* Call H5Tget_sign to get sign type for an integer type
* INPUTS
- * type_id - identifier of the dataspace
+ * type_id - identifier of the dataspace
* OUTPUTS
- * sign - sign type for an integer type
+ * sign - sign type for an integer type
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* XIANGYANG SU
- * Wednesday, January 26, 2000
+ * Wednesday, January 26, 2000
* HISTORY
*
* SOURCE
*/
int_f
-nh5tget_sign_c ( hid_t_f *type_id , int_f *sign)
+h5tget_sign_c ( hid_t_f *type_id , int_f *sign)
/******/
{
int ret_value = -1;
@@ -709,20 +706,20 @@ nh5tget_sign_c ( hid_t_f *type_id , int_f *sign)
* PURPOSE
* Call H5Tset_sign to set sign type for an integer type
* INPUTS
- * type_id - identifier of the dataspace
- * sign - sign type for an integer typ
+ * type_id - identifier of the dataspace
+ * sign - sign type for an integer typ
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* XIANGYANG SU
- * Wednesday, January 26, 2000
+ * Wednesday, January 26, 2000
* HISTORY
*
* SOURCE
*/
int_f
-nh5tset_sign_c ( hid_t_f *type_id , int_f* sign)
+h5tset_sign_c ( hid_t_f *type_id , int_f* sign)
/******/
{
int ret_value = -1;
@@ -744,26 +741,26 @@ nh5tset_sign_c ( hid_t_f *type_id , int_f* sign)
* h5tget_fields_c
* PURPOSE
* Call H5Tget_fields to get floating point datatype
- * bit field information
+ * bit field information
* INPUTS
- * type_id - identifier of the dataspace
+ * type_id - identifier of the dataspace
* OUTPUTS
- * epos - exponent bit-position
- * esize - size of exponent in bits
- * mpos - mantissa bit-position
- * msize - size of mantissa in bits
+ * epos - exponent bit-position
+ * esize - size of exponent in bits
+ * mpos - mantissa bit-position
+ * msize - size of mantissa in bits
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* XIANGYANG SU
- * Thursday, January 27, 2000
+ * Thursday, January 27, 2000
* HISTORY
*
* SOURCE
*/
int_f
-nh5tget_fields_c ( hid_t_f *type_id , size_t_f *spos, size_t_f *epos, size_t_f* esize, size_t_f* mpos, size_t_f* msize)
+h5tget_fields_c ( hid_t_f *type_id , size_t_f *spos, size_t_f *epos, size_t_f* esize, size_t_f* mpos, size_t_f* msize)
/******/
{
int ret_value = -1;
@@ -788,25 +785,25 @@ nh5tget_fields_c ( hid_t_f *type_id , size_t_f *spos, size_t_f *epos, size_t_f*
* h5tset_fields_c
* PURPOSE
* Call H5Tset_fields to set floating point datatype
- * bit field information
+ * bit field information
* INPUTS
- * type_id - identifier of the dataspace
- * epos - exponent bit-position
- * esize - size of exponent in bits
- * mpos - mantissa bit-position
- * msize - size of mantissa in bits
+ * type_id - identifier of the dataspace
+ * epos - exponent bit-position
+ * esize - size of exponent in bits
+ * mpos - mantissa bit-position
+ * msize - size of mantissa in bits
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* XIANGYANG SU
- * Wednesday, January 26, 2000
+ * Wednesday, January 26, 2000
* HISTORY
*
* SOURCE
*/
int_f
-nh5tset_fields_c ( hid_t_f *type_id, size_t_f *spos, size_t_f *epos, size_t_f* esize, size_t_f* mpos, size_t_f* msize)
+h5tset_fields_c ( hid_t_f *type_id, size_t_f *spos, size_t_f *epos, size_t_f* esize, size_t_f* mpos, size_t_f* msize)
/******/
{
int ret_value = -1;
@@ -832,23 +829,23 @@ nh5tset_fields_c ( hid_t_f *type_id, size_t_f *spos, size_t_f *epos, size_t_f* e
* h5tget_ebias_c
* PURPOSE
* Call H5Tget_ebias to get exponent bias of a
- * floating-point type of the datatype
+ * floating-point type of the datatype
* INPUTS
- * type_id - identifier of the dataspace
+ * type_id - identifier of the dataspace
* OUTPUTS
- * ebias - exponent bias of a floating-point type of the datatype
+ * ebias - exponent bias of a floating-point type of the datatype
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* Xiangyang Su
- * Friday, January 27, 2000
+ * Friday, January 27, 2000
* HISTORY
*
* SOURCE
*/
int_f
-nh5tget_ebias_c ( hid_t_f *type_id , size_t_f *ebias)
+h5tget_ebias_c ( hid_t_f *type_id , size_t_f *ebias)
/******/
{
int ret_value = -1;
@@ -869,22 +866,22 @@ nh5tget_ebias_c ( hid_t_f *type_id , size_t_f *ebias)
* h5tset_ebias_c
* PURPOSE
* Call H5Tset_ebias to set exponent bias of a
- * floating-point type of the datatype
+ * floating-point type of the datatype
* INPUTS
- * type_id - identifier of the dataspace
- * ebias - exponent bias of a floating-point type of the datatyp
+ * type_id - identifier of the dataspace
+ * ebias - exponent bias of a floating-point type of the datatyp
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* Xiangyang Su
- * Friday, January 27, 2000
+ * Friday, January 27, 2000
* HISTORY
*
* SOURCE
*/
int_f
-nh5tset_ebias_c ( hid_t_f *type_id , size_t_f *ebias)
+h5tset_ebias_c ( hid_t_f *type_id , size_t_f *ebias)
/******/
{
int ret_value = -1;
@@ -906,23 +903,23 @@ nh5tset_ebias_c ( hid_t_f *type_id , size_t_f *ebias)
* h5tget_norm_c
* PURPOSE
* Call H5Tget_norm to get mantissa normalization
- * of a floating-point datatype
+ * of a floating-point datatype
* INPUTS
- * type_id - identifier of the dataspace
+ * type_id - identifier of the dataspace
* OUTPUTS
- * norm - mantissa normalization of a floating-point type
+ * norm - mantissa normalization of a floating-point type
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* Xiangyang Su
- * Friday, January 27, 2000
+ * Friday, January 27, 2000
* HISTORY
*
* SOURCE
*/
int_f
-nh5tget_norm_c ( hid_t_f *type_id , int_f *norm)
+h5tget_norm_c ( hid_t_f *type_id , int_f *norm)
/******/
{
int ret_value = -1;
@@ -943,22 +940,22 @@ nh5tget_norm_c ( hid_t_f *type_id , int_f *norm)
* h5tset_norm_c
* PURPOSE
* Call H5Tset_norm to set mantissa normalization of
- * floating-point type of the datatype
+ * floating-point type of the datatype
* INPUTS
- * type_id - identifier of the dataspace
- * norm - mantissa normalization of a floating-point type
+ * type_id - identifier of the dataspace
+ * norm - mantissa normalization of a floating-point type
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* Xiangyang Su
- * Friday, January 27, 2000
+ * Friday, January 27, 2000
* HISTORY
*
* SOURCE
*/
int_f
-nh5tset_norm_c ( hid_t_f *type_id , int_f *norm)
+h5tset_norm_c ( hid_t_f *type_id , int_f *norm)
/******/
{
int ret_value = -1;
@@ -980,25 +977,25 @@ nh5tset_norm_c ( hid_t_f *type_id , int_f *norm)
* h5tget_inpad_c
* PURPOSE
* Call H5Tget_inpad to get the padding type for
- * unused bits in floating-point datatypes
+ * unused bits in floating-point datatypes
*
* INPUTS
- * type_id - identifier of the dataspace
+ * type_id - identifier of the dataspace
* OUTPUTS
- * padtype - padding type for
- * unused bits in floating-point datatype
+ * padtype - padding type for
+ * unused bits in floating-point datatype
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* XIANGYANG SU
- * Wednesday, January 26, 2000
+ * Wednesday, January 26, 2000
* HISTORY
*
* SOURCE
*/
int_f
-nh5tget_inpad_c ( hid_t_f *type_id , int_f * padtype)
+h5tget_inpad_c ( hid_t_f *type_id , int_f * padtype)
/******/
{
int ret_value = -1;
@@ -1018,27 +1015,27 @@ nh5tget_inpad_c ( hid_t_f *type_id , int_f * padtype)
* NAME
* h5tset_inpad_c
* INPUTS
- * type_id - identifier of the dataspace
+ * type_id - identifier of the dataspace
* PURPOSE
* Call H5Tset_inpad to set the padding type
- * unused bits in floating-point datatype
+ * unused bits in floating-point datatype
*
* INPUTS
- * type_id - identifier of the dataspace
- * padtype - padding type for unused bits
- * in floating-point datatypes
+ * type_id - identifier of the dataspace
+ * padtype - padding type for unused bits
+ * in floating-point datatypes
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* XIANGYANG SU
- * Wednesday, January 26, 2000
+ * Wednesday, January 26, 2000
* HISTORY
*
* SOURCE
*/
int_f
-nh5tset_inpad_c ( hid_t_f *type_id, int_f * padtype)
+h5tset_inpad_c ( hid_t_f *type_id, int_f * padtype)
/******/
{
int ret_value = -1;
@@ -1060,24 +1057,24 @@ nh5tset_inpad_c ( hid_t_f *type_id, int_f * padtype)
* h5tget_cset_c
* PURPOSE
* Call H5Tget_cset to get character set
- * type of a string datatype
+ * type of a string datatype
*
* INPUTS
- * type_id - identifier of the dataspace
+ * type_id - identifier of the dataspace
* OUTPUTS
- * cset - character set type of a string datatype
+ * cset - character set type of a string datatype
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* XIANGYANG SU
- * Wednesday, January 26, 2000
+ * Wednesday, January 26, 2000
* HISTORY
*
* SOURCE
*/
int_f
-nh5tget_cset_c ( hid_t_f *type_id , int_f * cset)
+h5tget_cset_c ( hid_t_f *type_id , int_f * cset)
/******/
{
int ret_value = -1;
@@ -1097,26 +1094,26 @@ nh5tget_cset_c ( hid_t_f *type_id , int_f * cset)
* NAME
* h5tset_cset_c
* INPUTS
- * type_id - identifier of the dataspace
+ * type_id - identifier of the dataspace
* PURPOSE
* Call H5Tset_cset to set character set
- * type of a string datatype
+ * type of a string datatype
*
* INPUTS
- * type_id - identifier of the dataspace
- * cset - character set type of a string datatype
+ * type_id - identifier of the dataspace
+ * cset - character set type of a string datatype
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* XIANGYANG SU
- * Wednesday, January 26, 2000
+ * Wednesday, January 26, 2000
* HISTORY
*
* SOURCE
*/
int_f
-nh5tset_cset_c ( hid_t_f *type_id, int_f * cset)
+h5tset_cset_c ( hid_t_f *type_id, int_f * cset)
/******/
{
int ret_value = -1;
@@ -1138,22 +1135,22 @@ nh5tset_cset_c ( hid_t_f *type_id, int_f * cset)
* h5tget_strpad_c
* PURPOSE
* Call H5Tget_strpad to get string padding method
- * for a string datatype
+ * for a string datatype
* INPUTS
- * type_id - identifier of the dataspace
+ * type_id - identifier of the dataspace
* OUTPUTS
- * strpad - string padding method for a string datatype
+ * strpad - string padding method for a string datatype
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* XIANGYANG SU
- * Wednesday, January 26, 2000
+ * Wednesday, January 26, 2000
* HISTORY
*
* SOURCE
*/
int_f
-nh5tget_strpad_c ( hid_t_f *type_id , int_f * strpad)
+h5tget_strpad_c ( hid_t_f *type_id , int_f * strpad)
/******/
{
int ret_value = -1;
@@ -1173,26 +1170,26 @@ nh5tget_strpad_c ( hid_t_f *type_id , int_f * strpad)
* NAME
* h5tset_strpad_c
* INPUTS
- * type_id - identifier of the dataspace
+ * type_id - identifier of the dataspace
* PURPOSE
* Call H5Tset_strpad to set string padding method
- * for a string datatype
+ * for a string datatype
*
* INPUTS
- * type_id - identifier of the dataspace
- * strpad - string padding method for a string datatype
+ * type_id - identifier of the dataspace
+ * strpad - string padding method for a string datatype
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* XIANGYANG SU
- * Wednesday, January 26, 2000
+ * Wednesday, January 26, 2000
* HISTORY
*
* SOURCE
*/
int_f
-nh5tset_strpad_c ( hid_t_f *type_id, int_f * strpad)
+h5tset_strpad_c ( hid_t_f *type_id, int_f * strpad)
/******/
{
int ret_value = -1;
@@ -1214,23 +1211,23 @@ nh5tset_strpad_c ( hid_t_f *type_id, int_f * strpad)
* h5tget_nmembers_c
* PURPOSE
* Call H5Tget_nmembers to get number of fields
- * in a compound datatype
+ * in a compound datatype
* INPUTS
- * type_id - identifier of the dataspace
+ * type_id - identifier of the dataspace
* OUTPUTS
- * num_members - number of fields in a compound datatype
+ * num_members - number of fields in a compound datatype
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* XIANGYANG SU
- * Thursday, February 3, 2000
+ * Thursday, February 3, 2000
* HISTORY
*
* SOURCE
*/
int_f
-nh5tget_nmembers_c ( hid_t_f *type_id , int_f * num_members)
+h5tget_nmembers_c ( hid_t_f *type_id , int_f * num_members)
/******/
{
int ret_value = -1;
@@ -1249,24 +1246,24 @@ nh5tget_nmembers_c ( hid_t_f *type_id , int_f * num_members)
* h5tget_member_name_c
* PURPOSE
* Call H5Tget_member_name to get name
- * of a compound datatype
+ * of a compound datatype
* INPUTS
- * type_id - identifier of the dataspace
+ * type_id - identifier of the dataspace
* OUTPUTS
- * member_name - name of a field of a compound datatype
+ * member_name - name of a field of a compound datatype
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* XIANGYANG SU
- * Thursday, February 3, 2000
+ * Thursday, February 3, 2000
* HISTORY
- * Elena Pourmal
- * Added namelen parameter to return length of the name to Fortran user
+ * Elena Pourmal
+ * Added namelen parameter to return length of the name to Fortran user
* SOURCE
*/
int_f
-nh5tget_member_name_c ( hid_t_f *type_id ,int_f* idx, _fcd member_name, int_f *namelen)
+h5tget_member_name_c ( hid_t_f *type_id ,int_f* idx, _fcd member_name, int_f *namelen)
/******/
{
int ret_value = -1;
@@ -1290,15 +1287,15 @@ nh5tget_member_name_c ( hid_t_f *type_id ,int_f* idx, _fcd member_name, int_f *n
* h5tget_member_index_c
* PURPOSE
* Call H5Tget_member_index to get an index of
- * the specified datatype filed or member.
+ * the specified datatype filed or member.
* INPUTS
- * type_id - datatype identifier
- * name - name of the datatype within file or group
- * namelen - name length
+ * type_id - datatype identifier
+ * name - name of the datatype within file or group
+ * namelen - name length
* OUTPUTS
- * index - 0-based index
+ * index - 0-based index
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* Elena Pourmal
* Thursday, September 26, 2002
@@ -1307,7 +1304,7 @@ nh5tget_member_name_c ( hid_t_f *type_id ,int_f* idx, _fcd member_name, int_f *n
* SOURCE
*/
int_f
-nh5tget_member_index_c (hid_t_f *type_id, _fcd name, int_f *namelen, int_f *idx)
+h5tget_member_index_c (hid_t_f *type_id, _fcd name, int_f *namelen, int_f *idx)
/******/
{
int ret_value = -1;
@@ -1341,26 +1338,26 @@ DONE:
* h5tget_member_offset_c
* PURPOSE
* Call H5Tget_member_offset to get byte offset of the
- * beginning of a field within a compound datatype with
- * respect to the beginning of the compound data type datum
+ * beginning of a field within a compound datatype with
+ * respect to the beginning of the compound data type datum
* INPUTS
- * type_id - identifier of the dataspace
- * member_no - Number of the field whose offset is requested
+ * type_id - identifier of the dataspace
+ * member_no - Number of the field whose offset is requested
* OUTPUTS
- * offset - byte offset of the the beginning of the field of
- * a compound datatype
+ * offset - byte offset of the the beginning of the field of
+ * a compound datatype
* RETURNS
- * always 0
+ * always 0
* AUTHOR
* XIANGYANG SU
- * Thursday, February 3, 2000
+ * Thursday, February 3, 2000
* HISTORY
*
* SOURCE
*/
int_f
-nh5tget_member_offset_c ( hid_t_f *type_id ,int_f* member_no, size_t_f * offset)
+h5tget_member_offset_c ( hid_t_f *type_id ,int_f* member_no, size_t_f * offset)
/******/
{
int ret_value = -1;
@@ -1377,23 +1374,23 @@ nh5tget_member_offset_c ( hid_t_f *type_id ,int_f* member_no, size_t_f * offset)
* h5tget_array_dims_c
* PURPOSE
* Call H5Tget_array_dims2 to get
- * dimensions of array datatype
+ * dimensions of array datatype
* INPUTS
- * type_id - identifier of the array datatype
+ * type_id - identifier of the array datatype
* OUTPUTS
- * dims - dimensions(sizes of dimensions) of the array
+ * dims - dimensions(sizes of dimensions) of the array
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* Elena Pourmal
- * Thursday, November 16, 2000
+ * Thursday, November 16, 2000
* HISTORY
*
* SOURCE
*/
int_f
-nh5tget_array_dims_c ( hid_t_f *type_id , hsize_t_f * dims)
+h5tget_array_dims_c ( hid_t_f *type_id , hsize_t_f * dims)
/******/
{
hsize_t c_dims[H5S_MAX_RANK];
@@ -1420,23 +1417,23 @@ DONE:
* h5tget_array_ndims_c
* PURPOSE
* Call H5Tget_array_ndims to get number
- * of dimensions of array datatype
+ * of dimensions of array datatype
* INPUTS
- * type_id - identifier of the array datatype
+ * type_id - identifier of the array datatype
* OUTPUTS
- * ndims - number of dimensions of the array
+ * ndims - number of dimensions of the array
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* Elena Pourmal
- * Thursday, November 16, 2000
+ * Thursday, November 16, 2000
* HISTORY
*
* SOURCE
*/
int_f
-nh5tget_array_ndims_c ( hid_t_f *type_id , int_f * ndims)
+h5tget_array_ndims_c ( hid_t_f *type_id , int_f * ndims)
/******/
{
int ret_value = -1;
@@ -1457,23 +1454,23 @@ nh5tget_array_ndims_c ( hid_t_f *type_id , int_f * ndims)
* h5tget_super_c
* PURPOSE
* Call H5Tget_super to get base datatype from which
- * datatype was derived
+ * datatype was derived
* INPUTS
- * type_id - identifier of the array datatype
+ * type_id - identifier of the array datatype
* OUTPUTS
- * base_type_id - base datatype identifier
+ * base_type_id - base datatype identifier
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* Elena Pourmal
- * Thursday, November 16, 2000
+ * Thursday, November 16, 2000
* HISTORY
*
* SOURCE
*/
int_f
-nh5tget_super_c ( hid_t_f *type_id , hid_t_f *base_type_id)
+h5tget_super_c ( hid_t_f *type_id , hid_t_f *base_type_id)
/******/
{
int ret_value = -1;
@@ -1495,14 +1492,14 @@ nh5tget_super_c ( hid_t_f *type_id , hid_t_f *base_type_id)
* h5tget_member_type_c
* PURPOSE
* Call H5Tget_member_type to get the identifier of a copy of
- * the datatype of the field
+ * the datatype of the field
* INPUTS
- * type_id - identifier of the datatype
- * field_idx - Field index (0-based) of the field type to retrieve
+ * type_id - identifier of the datatype
+ * field_idx - Field index (0-based) of the field type to retrieve
* OUTPUTS
- * datatype - identifier of a copy of the datatype of the field
+ * datatype - identifier of a copy of the datatype of the field
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* XIANGYANG SU
* Thursday, February 3, 2000
@@ -1512,7 +1509,7 @@ nh5tget_super_c ( hid_t_f *type_id , hid_t_f *base_type_id)
*/
int_f
-nh5tget_member_type_c ( hid_t_f *type_id ,int_f* field_idx, hid_t_f * datatype)
+h5tget_member_type_c ( hid_t_f *type_id ,int_f* field_idx, hid_t_f * datatype)
/******/
{
int ret_value = -1;
@@ -1531,10 +1528,10 @@ nh5tget_member_type_c ( hid_t_f *type_id ,int_f* field_idx, hid_t_f * datatype)
* PURPOSE
* Call H5Tcreate to create a datatype
* INPUTS
- * cls - class type
- * size - size of the class memeber
+ * cls - class type
+ * size - size of the class memeber
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* Elena Pourmal
* Thursday, February 17, 2000
@@ -1544,7 +1541,7 @@ nh5tget_member_type_c ( hid_t_f *type_id ,int_f* field_idx, hid_t_f * datatype)
*/
int_f
-nh5tcreate_c(int_f *cls, size_t_f *size, hid_t_f *type_id)
+h5tcreate_c(int_f *cls, size_t_f *size, hid_t_f *type_id)
/******/
{
int ret_value = -1;
@@ -1583,7 +1580,7 @@ nh5tcreate_c(int_f *cls, size_t_f *size, hid_t_f *type_id)
*/
int_f
-nh5tinsert_c(hid_t_f *type_id, _fcd name, int_f* namelen, size_t_f *offset, hid_t_f * field_id)
+h5tinsert_c(hid_t_f *type_id, _fcd name, int_f* namelen, size_t_f *offset, hid_t_f * field_id)
/******/
{
int ret_value = -1;
@@ -1622,7 +1619,7 @@ nh5tinsert_c(hid_t_f *type_id, _fcd name, int_f* namelen, size_t_f *offset, hid_
*/
int_f
-nh5tpack_c(hid_t_f * type_id)
+h5tpack_c(hid_t_f * type_id)
/******/
{
int ret_value = -1;
@@ -1643,12 +1640,12 @@ nh5tpack_c(hid_t_f * type_id)
* PURPOSE
* Call H5Tarray_create2 to create array datatype
* INPUTS
- * base_id - identifier of array base datatype
- * rank - array's rank
- * dims - Size of new member array
- * type_id - identifier of the array datatype
+ * base_id - identifier of array base datatype
+ * rank - array's rank
+ * dims - Size of new member array
+ * type_id - identifier of the array datatype
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* Elena Pourmal
* Thursday, November 16, 2000
@@ -1657,7 +1654,7 @@ nh5tpack_c(hid_t_f * type_id)
* SOURCE
*/
int_f
-nh5tarray_create_c(hid_t_f * base_id, int_f *rank, hsize_t_f* dims, hid_t_f* type_id)
+h5tarray_create_c(hid_t_f * base_id, int_f *rank, hsize_t_f* dims, hid_t_f* type_id)
/******/
{
hsize_t c_dims[H5S_MAX_RANK];
@@ -1692,7 +1689,7 @@ DONE:
* parent_id - Datatype identifier for the base datatype
* OUTPUTS
* new_type_id - datatype identifier for the new
- * enumeration datatype
+ * enumeration datatype
* RETURNS
* 0 on success, -1 on failure
* AUTHOR
@@ -1704,7 +1701,7 @@ DONE:
*/
int_f
-nh5tenum_create_c ( hid_t_f *parent_id , hid_t_f *new_type_id)
+h5tenum_create_c ( hid_t_f *parent_id , hid_t_f *new_type_id)
/******/
{
int ret_value = 0;
@@ -1740,7 +1737,7 @@ nh5tenum_create_c ( hid_t_f *parent_id , hid_t_f *new_type_id)
*/
int_f
-nh5tenum_insert_c(hid_t_f *type_id, _fcd name, int_f* namelen, int_f* value)
+h5tenum_insert_c(hid_t_f *type_id, _fcd name, int_f* namelen, int_f* value)
/******/
{
int ret_value = -1;
@@ -1767,24 +1764,24 @@ nh5tenum_insert_c(hid_t_f *type_id, _fcd name, int_f* namelen, int_f* value)
* h5tenum_nameof_c
* PURPOSE
* Call H5Tenum_nameof to find the symbol name that corresponds to
- * the specified value of the enumeration datatype type
+ * the specified value of the enumeration datatype type
* INPUTS
- * type_id - identifier of the datatype
- * namelen - length of the name
- * value - value of the enumeration datatype
- * Output: name - Name of the enumeration datatype
+ * type_id - identifier of the datatype
+ * namelen - length of the name
+ * value - value of the enumeration datatype
+ * Output: name - Name of the enumeration datatype
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* XIANGYANG SU
- * Thursday, February 3, 2000
+ * Thursday, February 3, 2000
* HISTORY
*
* SOURCE
*/
int_f
-nh5tenum_nameof_c(hid_t_f *type_id, int_f* value, _fcd name, size_t_f* namelen)
+h5tenum_nameof_c(hid_t_f *type_id, int_f* value, _fcd name, size_t_f* namelen)
/******/
{
int ret_value = -1;
@@ -1811,24 +1808,24 @@ nh5tenum_nameof_c(hid_t_f *type_id, int_f* value, _fcd name, size_t_f* namelen)
* h5tenum_valueof_c
* PURPOSE
* Call H5Tenum_valueof to find the value of that corresponds to
- * the specified name of the enumeration datatype type
+ * the specified name of the enumeration datatype type
* INPUTS
- * type_id - identifier of the datatype
- * name - Name of the enumeration datatype
- * namelen - length of name
- * Output: value - value of the enumeration datatype
+ * type_id - identifier of the datatype
+ * name - Name of the enumeration datatype
+ * namelen - length of name
+ * Output: value - value of the enumeration datatype
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* XIANGYANG SU
- * Thursday, February 3, 2000
+ * Thursday, February 3, 2000
* HISTORY
*
* SOURCE
*/
int_f
-nh5tenum_valueof_c(hid_t_f *type_id, _fcd name, int_f* namelen, int_f* value)
+h5tenum_valueof_c(hid_t_f *type_id, _fcd name, int_f* namelen, int_f* value)
/******/
{
int ret_value = -1;
@@ -1851,23 +1848,23 @@ nh5tenum_valueof_c(hid_t_f *type_id, _fcd name, int_f* namelen, int_f* value)
* h5tget_member_value_c
* PURPOSE
* Call H5Tget_member_value to get the value of an
- * enumeration datatype member
+ * enumeration datatype member
* INPUTS
- * type_id - identifier of the datatype
- * member_no - Number of the enumeration datatype member.
- * Output: value - value of the enumeration datatype
+ * type_id - identifier of the datatype
+ * member_no - Number of the enumeration datatype member.
+ * Output: value - value of the enumeration datatype
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* XIANGYANG SU
- * Thursday, February 3, 2000
+ * Thursday, February 3, 2000
* HISTORY
*
* SOURCE
*/
int_f
-nh5tget_member_value_c(hid_t_f *type_id, int_f* member_no, int_f* value)
+h5tget_member_value_c(hid_t_f *type_id, int_f* member_no, int_f* value)
/******/
{
int ret_value = -1;
@@ -1886,25 +1883,25 @@ nh5tget_member_value_c(hid_t_f *type_id, int_f* member_no, int_f* value)
* NAME
* h5tset_tag_c
* INPUTS
- * type_id - identifier of the dataspace
+ * type_id - identifier of the dataspace
* PURPOSE
* Call H5Tset_tag to set an opaque datatype tag
* INPUTS
- * type_id - identifier of the dataspace
- * tag - Unique ASCII string with which the opaque
- * datatype is to be tagged
- * namelen - length of tag
+ * type_id - identifier of the dataspace
+ * tag - Unique ASCII string with which the opaque
+ * datatype is to be tagged
+ * namelen - length of tag
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* XIANGYANG SU
- * Wednesday, January 26, 2000
+ * Wednesday, January 26, 2000
* HISTORY
*
* SOURCE
*/
int_f
-nh5tset_tag_c(hid_t_f* type_id, _fcd tag, int_f* namelen)
+h5tset_tag_c(hid_t_f* type_id, _fcd tag, int_f* namelen)
/******/
{
int ret_value = -1;
@@ -1929,11 +1926,11 @@ nh5tset_tag_c(hid_t_f* type_id, _fcd tag, int_f* namelen)
* INPUTS
* type_id - identifier of the datatype
* OUTPUTS
- * tag - Unique ASCII string with which the opaque
- * datatype is to be tagged
- * taglen - length of tag
+ * tag - Unique ASCII string with which the opaque
+ * datatype is to be tagged
+ * taglen - length of tag
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* XIANGYANG SU
* Wednesday, January 26, 2000
@@ -1942,7 +1939,7 @@ nh5tset_tag_c(hid_t_f* type_id, _fcd tag, int_f* namelen)
* SOURCE
*/
int_f
-nh5tget_tag_c(hid_t_f* type_id, _fcd tag, size_t_f* tag_size, int_f* taglen)
+h5tget_tag_c(hid_t_f* type_id, _fcd tag, size_t_f* tag_size, int_f* taglen)
/******/
{
int ret_value = -1;
@@ -1965,20 +1962,20 @@ nh5tget_tag_c(hid_t_f* type_id, _fcd tag, size_t_f* tag_size, int_f* taglen)
* PURPOSE
* Call H5Tvlen_create to create VL dtatype
* INPUTS
- * type_id - identifier of the base datatype
+ * type_id - identifier of the base datatype
* OUTPUTS
- * vltype_id - identifier of the VL datatype
+ * vltype_id - identifier of the VL datatype
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* Elena Pourmal
- * Wednesday, October 23, 2002
+ * Wednesday, October 23, 2002
* HISTORY
*
* SOURCE
*/
int_f
-nh5tvlen_create_c(hid_t_f* type_id, hid_t_f *vltype_id)
+h5tvlen_create_c(hid_t_f* type_id, hid_t_f *vltype_id)
/******/
{
int ret_value = -1;
@@ -1997,24 +1994,24 @@ nh5tvlen_create_c(hid_t_f* type_id, hid_t_f *vltype_id)
* h5tis_variable_str_c
* PURPOSE
* Call H5Tis_variable_str to detrmine if the datatype
- * is a variable string.
+ * is a variable string.
* INPUTS
- * type_id - identifier of the dataspace
+ * type_id - identifier of the dataspace
* OUTPUTS
- * flag - 0 if not VL str, 1 if is not
- * and negative on failure.
+ * flag - 0 if not VL str, 1 if is not
+ * and negative on failure.
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* Elena Pourmal
- * Wednesday, March 12 , 2003
+ * Wednesday, March 12 , 2003
* HISTORY
*
* SOURCE
*/
int_f
-nh5tis_variable_str_c ( hid_t_f *type_id , int_f *flag )
+h5tis_variable_str_c ( hid_t_f *type_id , int_f *flag )
/******/
{
int ret_value = 0;
@@ -2034,13 +2031,13 @@ nh5tis_variable_str_c ( hid_t_f *type_id , int_f *flag )
* Call H5Tget_member_class to detrmine ithe class of the compound
* datatype member
* INPUTS
- * type_id - identifier of the dataspace
- * member_no - member's index
+ * type_id - identifier of the dataspace
+ * member_no - member's index
* OUTPUTS
- * class - member's class
- * and negative on failure.
+ * class - member's class
+ * and negative on failure.
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* Elena Pourmal
* Wednesday, April 6, 2005
@@ -2050,7 +2047,7 @@ nh5tis_variable_str_c ( hid_t_f *type_id , int_f *flag )
*/
int_f
-nh5tget_member_class_c ( hid_t_f *type_id , int_f *member_no, int_f *cls )
+h5tget_member_class_c ( hid_t_f *type_id , int_f *member_no, int_f *cls )
/******/
{
int ret_value = 0;
@@ -2073,12 +2070,12 @@ nh5tget_member_class_c ( hid_t_f *type_id , int_f *member_no, int_f *cls )
* PURPOSE
* Call H5Tcommit_anon
* INPUTS
- * loc_id - file or group identifier
- * dtype_id - dataset identifier
- * tcpl_id - Datatype creation property list
- * tapl_id - Datatype access property list
+ * loc_id - file or group identifier
+ * dtype_id - dataset identifier
+ * tcpl_id - Datatype creation property list
+ * tapl_id - Datatype access property list
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* M. Scot Breitenfeld
* February 25, 2008
@@ -2087,7 +2084,7 @@ nh5tget_member_class_c ( hid_t_f *type_id , int_f *member_no, int_f *cls )
* SOURCE
*/
int_f
-nh5tcommit_anon_c(hid_t_f *loc_id, hid_t_f *dtype_id,
+h5tcommit_anon_c(hid_t_f *loc_id, hid_t_f *dtype_id,
hid_t_f *tcpl_id, hid_t_f *tapl_id)
/******/
{
@@ -2108,10 +2105,10 @@ nh5tcommit_anon_c(hid_t_f *loc_id, hid_t_f *dtype_id,
* h5tcommitted_c
* PURPOSE
* Call H5Tcommitted
- * dtype_id - dataset identifier
+ * dtype_id - dataset identifier
* RETURNS
- * a positive value, for TRUE, if the datatype has been committed,
- * or 0 (zero), for FALSE, if the datatype has not been committed.
+ * a positive value, for TRUE, if the datatype has been committed,
+ * or 0 (zero), for FALSE, if the datatype has not been committed.
* Otherwise returns a negative value.
* AUTHOR
* M. Scot Breitenfeld
@@ -2121,7 +2118,7 @@ nh5tcommit_anon_c(hid_t_f *loc_id, hid_t_f *dtype_id,
* SOURCE
*/
int_f
-nh5tcommitted_c(hid_t_f *dtype_id)
+h5tcommitted_c(hid_t_f *dtype_id)
/******/
{
int_f ret_value;
@@ -2144,10 +2141,10 @@ nh5tcommitted_c(hid_t_f *dtype_id)
* buf - Buffer for the data space object to be decoded.
* OUTPUTS
*
- * obj_id - Object_id (non-negative)
+ * obj_id - Object_id (non-negative)
*
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* M. Scot Breitenfeld
* April 9, 2008
@@ -2157,7 +2154,7 @@ nh5tcommitted_c(hid_t_f *dtype_id)
*/
int_f
-nh5tdecode_c ( _fcd buf, hid_t_f *obj_id )
+h5tdecode_c ( _fcd buf, hid_t_f *obj_id )
/******/
{
int ret_value = -1;
@@ -2187,11 +2184,11 @@ nh5tdecode_c ( _fcd buf, hid_t_f *obj_id )
* Call H5Tencode
* INPUTS
*
- * obj_id - Identifier of the object to be encoded.
+ * obj_id - Identifier of the object to be encoded.
* buf - Buffer for the object to be encoded into.
- * nalloc - The size of the allocated buffer.
+ * nalloc - The size of the allocated buffer.
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* M. Scot Breitenfeld
* April 9, 2008
@@ -2201,7 +2198,7 @@ nh5tdecode_c ( _fcd buf, hid_t_f *obj_id )
*/
int_f
-nh5tencode_c (_fcd buf, hid_t_f *obj_id, size_t_f *nalloc )
+h5tencode_c (_fcd buf, hid_t_f *obj_id, size_t_f *nalloc )
/******/
{
int ret_value = -1;
@@ -2256,11 +2253,11 @@ nh5tencode_c (_fcd buf, hid_t_f *obj_id, size_t_f *nalloc )
* PURPOSE
* Call H5Tget_create_plist
* INPUTS
- * dtype_id - Datatype identifier
+ * dtype_id - Datatype identifier
* OUTPUTS
- * dtpl_id - Datatype property list identifier
+ * dtpl_id - Datatype property list identifier
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* M. Scot Breitenfeld
* April 9, 2008
@@ -2270,7 +2267,7 @@ nh5tencode_c (_fcd buf, hid_t_f *obj_id, size_t_f *nalloc )
*/
int_f
-nh5tget_create_plist_c ( hid_t_f *dtype_id, hid_t_f *dtpl_id)
+h5tget_create_plist_c ( hid_t_f *dtype_id, hid_t_f *dtpl_id)
/******/
{
int_f ret_value=-1; /* Return value */
@@ -2289,12 +2286,12 @@ nh5tget_create_plist_c ( hid_t_f *dtype_id, hid_t_f *dtpl_id)
* Call H5Tcompiler_conv
* INPUTS
*
- * src_id - Identifier for the source datatype.
- * dst_id - Identifier for the destination datatype.
+ * src_id - Identifier for the source datatype.
+ * dst_id - Identifier for the destination datatype.
* OUTPUTS
- * c_flag - flag; TRUE for compiler conversion, FALSE for library conversion
+ * c_flag - flag; TRUE for compiler conversion, FALSE for library conversion
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* M.Scot Breitenfeld
* April 9, 2008
@@ -2304,7 +2301,7 @@ nh5tget_create_plist_c ( hid_t_f *dtype_id, hid_t_f *dtpl_id)
*/
int_f
-nh5tcompiler_conv_c ( hid_t_f *src_id, hid_t_f *dst_id, int_f *c_flag)
+h5tcompiler_conv_c ( hid_t_f *src_id, hid_t_f *dst_id, int_f *c_flag)
/******/
{
int ret_value = -1;
@@ -2323,12 +2320,12 @@ nh5tcompiler_conv_c ( hid_t_f *src_id, hid_t_f *dst_id, int_f *c_flag)
* Call H5Tget_native_type
* INPUTS
*
- * dtype_id - Datatype identifier for the dataset datatype.
- * direction - Direction of search.
+ * dtype_id - Datatype identifier for the dataset datatype.
+ * direction - Direction of search.
* OUTPUTS
- * native_dtype_id - The native datatype identifier for the specified dataset datatype
+ * native_dtype_id - The native datatype identifier for the specified dataset datatype
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* M. Scot Breitenfeld
* June 18, 2008
@@ -2338,7 +2335,7 @@ nh5tcompiler_conv_c ( hid_t_f *src_id, hid_t_f *dst_id, int_f *c_flag)
*/
int_f
-nh5tget_native_type_c(hid_t_f *dtype_id, int_f *direction, hid_t_f *native_dtype_id)
+h5tget_native_type_c(hid_t_f *dtype_id, int_f *direction, hid_t_f *native_dtype_id)
/******/
{
int ret_value = -1;
diff --git a/fortran/src/H5Tff.F90 b/fortran/src/H5Tff.F90
new file mode 100644
index 0000000..6b8f896
--- /dev/null
+++ b/fortran/src/H5Tff.F90
@@ -0,0 +1,3082 @@
+!****h* ROBODoc/H5T
+!
+! NAME
+! MODULE H5T
+!
+! PURPOSE
+! This file contains Fortran interfaces for H5T functions.
+!
+! COPYRIGHT
+! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+! Copyright by The HDF Group. *
+! Copyright by the Board of Trustees of the University of Illinois. *
+! All rights reserved. *
+! *
+! This file is part of HDF5. The full HDF5 copyright notice, including *
+! terms governing use, modification, and redistribution, is contained in *
+! the files COPYING and Copyright.html. COPYING can be found at the root *
+! of the source code distribution tree; Copyright.html can be found at the *
+! root level of an installed copy of the electronic HDF5 document set and *
+! is linked from the top-level documents page. It can also be found at *
+! http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have *
+! access to either file, you may request a copy from help@hdfgroup.org. *
+! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+!
+! NOTES
+!
+! _____ __ __ _____ ____ _____ _______ _ _ _______
+! |_ _| \/ | __ \ / __ \| __ \__ __|/\ | \ | |__ __|
+! **** | | | \ / | |__) | | | | |__) | | | / \ | \| | | | ****
+! **** | | | |\/| | ___/| | | | _ / | | / /\ \ | . ` | | | ****
+! **** _| |_| | | | | | |__| | | \ \ | |/ ____ \| |\ | | | ****
+! |_____|_| |_|_| \____/|_| \_\ |_/_/ \_\_| \_| |_|
+!
+! If you add a new function here then you MUST add the function name to the
+! Windows dll file 'hdf5_fortrandll.def.in' in the fortran/src directory.
+! This is needed for Windows based operating systems.
+!
+!*****
+
+MODULE H5T
+
+ USE, INTRINSIC :: ISO_C_BINDING, ONLY : C_PTR, C_CHAR, C_NULL_PTR
+ USE H5GLOBAL
+ IMPLICIT NONE
+
+!****t* H5T/hvl_t
+! Fortran2003 Derived Type:
+ TYPE hvl_t
+ INTEGER(size_t) :: len ! Length of VL data (in base type units)
+ TYPE(C_PTR) :: p ! Pointer to VL data
+ END TYPE hvl_t
+
+!*****
+
+ INTERFACE h5tenum_insert_f
+ MODULE PROCEDURE h5tenum_insert_f03
+ MODULE PROCEDURE h5tenum_insert_f90
+ END INTERFACE
+
+CONTAINS
+
+!
+!****s* H5T/h5topen_f
+!
+! NAME
+! h5topen_f
+!
+! PURPOSE
+! Opens named datatype.
+!
+! INPUTS
+! loc_id - location identifier
+! name - a datatype name
+! OUTPUTS
+! type_id - datatype identifier
+! hdferr - Returns 0 if successful and -1 if fails
+! OPTIONAL PARAMETERS
+! tapl_id - datatype access property list identifier.
+!
+! AUTHOR
+! Elena Pourmal
+! August 12, 1999
+!
+! HISTORY
+! Explicit Fortran interfaces were added for
+! called C functions (it is needed for Windows
+! port). March 7, 2001
+!
+! Added optional parameter 'tapl_id' for compatability
+! with H5Topen2. April 9, 2009.
+!
+! SOURCE
+ SUBROUTINE h5topen_f(loc_id, name, type_id, hdferr, tapl_id)
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: loc_id
+ CHARACTER(LEN=*), INTENT(IN) :: name
+ INTEGER(HID_T), INTENT(OUT) :: type_id
+ INTEGER, INTENT(OUT) :: hdferr
+ INTEGER(HID_T), OPTIONAL, INTENT(IN) :: tapl_id
+!*****
+ INTEGER :: namelen ! Name length
+ INTEGER(HID_T) :: tapl_id_default
+
+ INTERFACE
+ INTEGER FUNCTION h5topen_c(loc_id, name, namelen, type_id, tapl_id_default) BIND(C,NAME='h5topen_c')
+ IMPORT :: C_CHAR
+ IMPORT :: HID_T
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: loc_id
+ CHARACTER(KIND=C_CHAR), INTENT(IN) :: name
+ INTEGER :: namelen
+ INTEGER(HID_T), INTENT(OUT) :: type_id
+ INTEGER(HID_T) :: tapl_id_default
+ END FUNCTION h5topen_c
+ END INTERFACE
+
+ namelen = LEN(name)
+
+ tapl_id_default = H5P_DEFAULT_F
+ IF(PRESENT(tapl_id)) tapl_id_default = tapl_id
+
+ hdferr = h5topen_c(loc_id, name, namelen, type_id, tapl_id_default)
+ END SUBROUTINE h5topen_f
+!
+!****s* H5T/h5tcommit_f
+!
+! NAME
+! h5tcommit_f
+!
+! PURPOSE
+! Commits a transient datatype to a file, creating a
+! new named datatype.
+!
+! INPUTS
+! loc_id - location identifier
+! name - name of the datatype to be stored
+! at the specified location
+! type_id - identifier of a datatype to be stored
+! OUTPUTS
+! hdferr - Returns 0 if successful and -1 if fails
+! OPTIONAL PARAMETERS
+! lcpl_id - Link creation property list
+! tcpl_id - Datatype creation property list
+! tapl_id - Datatype access property list
+!
+! AUTHOR
+! Elena Pourmal
+! August 12, 1999
+!
+! HISTORY
+! - Explicit Fortran interfaces were added for
+! called C functions (it is needed for Windows
+! port). March 7, 2001
+!
+! - Added optional parameters introduced in version 1.8
+! M. Scot Breitenfeld
+!
+! SOURCE
+ SUBROUTINE h5tcommit_f(loc_id, name, type_id, hdferr, &
+ lcpl_id, tcpl_id, tapl_id )
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: loc_id ! File or group identifier
+ CHARACTER(LEN=*), INTENT(IN) :: name
+ ! Datatype name within file or group
+ INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier
+ INTEGER, INTENT(OUT) :: hdferr ! Error code
+ INTEGER(HID_T), OPTIONAL, INTENT(IN) :: lcpl_id ! Link creation property list
+ INTEGER(HID_T), OPTIONAL, INTENT(IN) :: tcpl_id ! Datatype creation property list
+ INTEGER(HID_T), OPTIONAL, INTENT(IN) :: tapl_id ! Datatype access property list
+!*****
+
+ INTEGER :: namelen ! Name length
+
+ INTEGER(HID_T) :: lcpl_id_default
+ INTEGER(HID_T) :: tcpl_id_default
+ INTEGER(HID_T) :: tapl_id_default
+
+ INTERFACE
+ INTEGER FUNCTION h5tcommit_c(loc_id, name, namelen, type_id, &
+ lcpl_id_default, tcpl_id_default, tapl_id_default ) BIND(C,NAME='h5tcommit_c')
+ IMPORT :: C_CHAR
+ IMPORT :: HID_T
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: loc_id
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(IN) :: name
+ INTEGER :: namelen
+ INTEGER(HID_T), INTENT(IN) :: type_id
+ INTEGER(HID_T) :: lcpl_id_default
+ INTEGER(HID_T) :: tcpl_id_default
+ INTEGER(HID_T) :: tapl_id_default
+ END FUNCTION h5tcommit_c
+ END INTERFACE
+
+ lcpl_id_default = H5P_DEFAULT_F
+ tcpl_id_default = H5P_DEFAULT_F
+ tapl_id_default = H5P_DEFAULT_F
+
+ IF (PRESENT(lcpl_id)) lcpl_id_default = lcpl_id
+ IF (PRESENT(tcpl_id)) tcpl_id_default = tcpl_id
+ IF (PRESENT(tapl_id)) tapl_id_default = tapl_id
+
+ namelen = LEN(name)
+
+ hdferr = h5tcommit_c(loc_id, name, namelen, type_id, &
+ lcpl_id_default, tcpl_id_default, tapl_id_default )
+
+ END SUBROUTINE h5tcommit_f
+!
+!****s* H5T/h5tcopy_f
+!
+! NAME
+! h5tcopy_f
+!
+! PURPOSE
+! Creates a copy of exisiting datatype.
+!
+! INPUTS
+! type_id - datatype identifier
+! OUTPUTS
+! new_type_id - identifier of datatype's copy
+! hdferr - Returns 0 if successful and -1 if fails
+! AUTHOR
+! Elena Pourmal
+! August 12, 1999
+!
+! HISTORY
+! Explicit Fortran interfaces were added for
+! called C functions (it is needed for Windows
+! port). March 7, 2001
+!
+! SOURCE
+ SUBROUTINE h5tcopy_f(type_id, new_type_id, hdferr)
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: type_id
+ INTEGER(HID_T), INTENT(OUT) :: new_type_id
+ INTEGER, INTENT(OUT) :: hdferr
+!*****
+ INTERFACE
+ INTEGER FUNCTION h5tcopy_c(type_id, new_type_id) BIND(C,NAME='h5tcopy_c')
+ IMPORT :: HID_T
+ INTEGER(HID_T), INTENT(IN) :: type_id
+ INTEGER(HID_T), INTENT(OUT) :: new_type_id
+ END FUNCTION h5tcopy_c
+ END INTERFACE
+
+ hdferr = h5tcopy_c(type_id, new_type_id)
+ END SUBROUTINE h5tcopy_f
+!
+!****s* H5T/h5tequal_f
+!
+! NAME
+! h5tequal_f
+!
+! PURPOSE
+! Determines whether two datatype identifiers refer
+! to the same datatype.
+!
+! INPUTS
+! type1_id - datatype identifier
+! type2_id - datatype identifier
+! OUTPUTS
+! flag - TRUE/FALSE flag to indicate
+! if two datatypes are equal
+! hdferr - Returns 0 if successful and -1 if fails
+! AUTHOR
+! Elena Pourmal
+! August 12, 1999
+!
+! HISTORY
+! Explicit Fortran interfaces were added for
+! called C functions (it is needed for Windows
+! port). March 7, 2001
+! SOURCE
+ SUBROUTINE h5tequal_f(type1_id, type2_id, flag, hdferr)
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: type1_id
+ INTEGER(HID_T), INTENT(IN) :: type2_id
+ LOGICAL, INTENT(OUT) :: flag
+ INTEGER, INTENT(OUT) :: hdferr
+!*****
+ INTEGER :: c_flag
+ INTERFACE
+ INTEGER FUNCTION h5tequal_c(type1_id, type2_id, c_flag) BIND(C,NAME='h5tequal_c')
+ IMPORT :: HID_T
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: type1_id
+ INTEGER(HID_T), INTENT(IN) :: type2_id
+ INTEGER :: c_flag
+ END FUNCTION h5tequal_c
+ END INTERFACE
+
+ flag = .FALSE.
+ hdferr = h5tequal_c(type1_id, type2_id, c_flag)
+ IF(c_flag .GT. 0) flag = .TRUE.
+ END SUBROUTINE h5tequal_f
+!
+!****s* H5T/h5tclose_f
+!
+! NAME
+! h5tclose_f
+!
+! PURPOSE
+! Releases a datatype.
+!
+! INPUTS
+! type_id - datatype identifier
+! OUTPUTS
+! hdferr - Returns 0 if successful and -1 if fails
+!
+! AUTHOR
+! Elena Pourmal
+! August 12, 1999
+!
+! HISTORY
+! Explicit Fortran interfaces were added for
+! called C functions (it is needed for Windows
+! port). March 7, 2001
+!
+! SOURCE
+ SUBROUTINE h5tclose_f(type_id, hdferr)
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: type_id
+ INTEGER, INTENT(OUT) :: hdferr
+!*****
+ INTERFACE
+ INTEGER FUNCTION h5tclose_c(type_id) BIND(C,NAME='h5tclose_c')
+ IMPORT :: HID_T
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: type_id
+ END FUNCTION h5tclose_c
+ END INTERFACE
+
+ hdferr = h5tclose_c(type_id)
+ END SUBROUTINE h5tclose_f
+!
+!****s* H5T/h5tget_class_f
+!
+! NAME
+! h5tget_class_f
+!
+! PURPOSE
+! Returns the datatype class identifier.
+!
+! INPUTS
+! type_id - Datatype identifier
+! OUTPUTS
+! class - Class, possible values are:
+! H5T_NO_CLASS_F (-1)
+! H5T_INTEGER_F (0)
+! H5T_FLOAT_F (1)
+! H5T_TIME_F (2)
+! H5T_STRING_F (3)
+! H5T_BITFIELD_F (4)
+! H5T_OPAQUE_F (5)
+! H5T_COMPOUND_F (6)
+! H5T_REFERENCE_F (7)
+! H5T_ENUM_F (8)
+! H5T_VLEN_F (9)
+! H5T_ARRAY_F (10)
+! hdferr - Returns 0 if successful and -1 if fails
+!
+! AUTHOR
+! Elena Pourmal
+! August 12, 1999
+!
+! HISTORY
+! Explicit Fortran interfaces were added for
+! called C functions (it is needed for Windows
+! port). March 7, 2001
+!
+! SOURCE
+ SUBROUTINE h5tget_class_f(type_id, class, hdferr)
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: type_id
+ INTEGER, INTENT(OUT) :: class
+ INTEGER, INTENT(OUT) :: hdferr
+!*****
+ INTERFACE
+ INTEGER FUNCTION h5tget_class_c(type_id, class) BIND(C,NAME='h5tget_class_c')
+ IMPORT :: HID_T
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: type_id
+ INTEGER, INTENT(OUT) :: class
+ END FUNCTION h5tget_class_c
+ END INTERFACE
+
+ hdferr = h5tget_class_c(type_id, class)
+ END SUBROUTINE h5tget_class_f
+!
+!****s* H5T/h5tget_size_f
+!
+! NAME
+! h5tget_size_f
+!
+! PURPOSE
+! Returns the size of a datatype.
+!
+! INPUTS
+! type_id - datatype identifier
+! OUTPUTS
+! size - datatype size
+! hdferr - Returns 0 if successful and -1 if fails
+!
+! AUTHOR
+! Elena Pourmal
+! August 12, 1999
+!
+! HISTORY
+! Explicit Fortran interfaces were added for
+! called C functions (it is needed for Windows
+! port). March 7, 2001
+!
+! SOURCE
+ SUBROUTINE h5tget_size_f(type_id, size, hdferr)
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier
+ INTEGER(SIZE_T), INTENT(OUT) :: size ! Datatype size
+ INTEGER, INTENT(OUT) :: hdferr ! Error code
+!*****
+ INTERFACE
+ INTEGER FUNCTION h5tget_size_c(type_id, size) BIND(C,NAME='h5tget_size_c')
+ IMPORT :: HID_T, SIZE_T
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: type_id
+ INTEGER(SIZE_T), INTENT(OUT) :: size
+ END FUNCTION h5tget_size_c
+ END INTERFACE
+
+ hdferr = h5tget_size_c(type_id, size)
+ END SUBROUTINE h5tget_size_f
+
+!
+!****s* H5T/h5tset_size_f
+!
+! NAME
+! h5tset_size_f
+!
+! PURPOSE
+! Sets the total size for an atomic datatype.
+!
+! INPUTS
+! type_id - datatype identifier
+! size - size of the datatype
+! OUTPUTS
+! hdferr - Returns 0 if successful and -1 if fails
+!
+! AUTHOR
+! Elena Pourmal
+! August 12, 1999
+!
+! HISTORY
+! Explicit Fortran interfaces were added for
+! called C functions (it is needed for Windows
+! port). March 7, 2001
+!
+!
+! SOURCE
+ SUBROUTINE h5tset_size_f(type_id, size, hdferr)
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier
+ INTEGER(SIZE_T), INTENT(IN) :: size ! Datatype size
+ INTEGER, INTENT(OUT) :: hdferr ! Error code
+!*****
+ INTERFACE
+ INTEGER FUNCTION h5tset_size_c(type_id, size) BIND(C,NAME='h5tset_size_c')
+ IMPORT :: HID_T, SIZE_T
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: type_id
+ INTEGER(SIZE_T), INTENT(IN) :: size
+ END FUNCTION h5tset_size_c
+ END INTERFACE
+
+ hdferr = h5tset_size_c(type_id, size)
+ END SUBROUTINE h5tset_size_f
+
+!
+!****s* H5T/h5tget_order_f
+!
+! NAME
+! h5tget_order_f
+!
+! PURPOSE
+! Returns the byte order of an atomic datatype.
+!
+! INPUTS
+! type_id - datatype identifier
+! OUTPUTS
+! order - byte order for the datatype, possible
+! values are:
+! H5T_ORDER_LE_F
+! H5T_ORDER_BE_F
+! H5T_ORDER_VAX_F (not implemented yet)
+! hdferr - Returns 0 if successful and -1 if fails
+! AUTHOR
+! Elena Pourmal
+! August 12, 1999
+!
+! HISTORY
+! Explicit Fortran interfaces were added for
+! called C functions (it is needed for Windows
+! port). March 7, 2001
+!
+! SOURCE
+ SUBROUTINE h5tget_order_f(type_id, order, hdferr)
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier
+ INTEGER, INTENT(OUT) :: order
+ ! Datatype byte order, possible values are:
+ ! H5T_ORDER_LE_F
+ ! H5T_ORDER_BE_F
+ ! H5T_ORDER_VAX_F
+ INTEGER, INTENT(OUT) :: hdferr ! Error code
+!*****
+ INTERFACE
+ INTEGER FUNCTION h5tget_order_c(type_id, order) BIND(C,NAME='h5tget_order_c')
+ IMPORT :: HID_T
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: type_id
+ INTEGER, INTENT(OUT) :: order
+ END FUNCTION h5tget_order_c
+ END INTERFACE
+
+ hdferr = h5tget_order_c(type_id, order)
+ END SUBROUTINE h5tget_order_f
+!
+!****s* H5T/h5tset_order_f
+!
+! NAME
+! h5tset_order_f
+!
+! PURPOSE
+! Sets the byte ordering of an atomic datatype.
+!
+! INPUTS
+! type_id - datatype identifier
+! order - datatype byte order Possible values are:
+! H5T_ORDER_LE_F
+! H5T_ORDER_BE_F
+! H5T_ORDER_VAX_F (not implemented yet)
+! OUTPUTS
+! hdferr - Returns 0 if successful and -1 if fails
+! AUTHOR
+! Elena Pourmal
+! August 12, 1999
+!
+! HISTORY
+! Explicit Fortran interfaces were added for
+! called C functions (it is needed for Windows
+! port). March 7, 2001
+!
+! SOURCE
+ SUBROUTINE h5tset_order_f(type_id, order, hdferr)
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier
+ INTEGER, INTENT(IN) :: order ! Datatype byte order, possible values
+ ! are:
+ ! H5T_ORDER_LE_F
+ ! H5T_ORDER_BE_F
+ ! H5T_ORDER_VAX_F
+ INTEGER, INTENT(OUT) :: hdferr ! Error code
+!*****
+ INTERFACE
+ INTEGER FUNCTION h5tset_order_c(type_id, order) BIND(C,NAME='h5tset_order_c')
+ IMPORT :: HID_T
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: type_id
+ INTEGER, INTENT(IN) :: order
+ END FUNCTION h5tset_order_c
+ END INTERFACE
+
+ hdferr = h5tset_order_c(type_id, order)
+ END SUBROUTINE h5tset_order_f
+
+!
+!****s* H5T/h5tget_precision_f
+!
+! NAME
+! h5tget_precision_f
+!
+! PURPOSE
+! Returns the precision of an atomic datatype.
+!
+! INPUTS
+! type_id - datatype identifier
+! OUTPUTS
+! precision - precision of the datatype
+! hdferr - Returns 0 if successful and -1 if fails
+!
+! AUTHOR
+! Elena Pourmal
+! August 12, 1999
+!
+! HISTORY
+! Explicit Fortran interfaces were added for
+! called C functions (it is needed for Windows
+! port). March 7, 2001
+!
+! SOURCE
+ SUBROUTINE h5tget_precision_f(type_id, PRECISION, hdferr)
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: type_id
+ INTEGER(SIZE_T), INTENT(OUT) :: precision
+ INTEGER, INTENT(OUT) :: hdferr
+!*****
+ INTERFACE
+ INTEGER FUNCTION h5tget_precision_c(type_id, PRECISION) BIND(C,NAME='h5tget_precision_c')
+ IMPORT :: HID_T, SIZE_T
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: type_id
+ INTEGER(SIZE_T), INTENT(OUT) :: PRECISION
+ END FUNCTION h5tget_precision_c
+ END INTERFACE
+
+ hdferr = h5tget_precision_c(type_id, PRECISION)
+ END SUBROUTINE h5tget_precision_f
+
+!
+!****s* H5T/h5tset_precision_f
+!
+! NAME
+! h5tset_precision_f
+!
+! PURPOSE
+! Sets the precision of an atomic datatype.
+!
+! INPUTS
+! type_id - datatype identifier
+! precision - datatype precision
+! OUTPUTS
+! hdferr - Returns 0 if successful and -1 if fails
+!
+! AUTHOR
+! Elena Pourmal
+! August 12, 1999
+!
+! HISTORY
+! Explicit Fortran interfaces were added for
+! called C functions (it is needed for Windows
+! port). March 7, 2001
+!
+! SOURCE
+ SUBROUTINE h5tset_precision_f(type_id, PRECISION, hdferr)
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: type_id
+ INTEGER(SIZE_T), INTENT(IN) :: PRECISION
+ INTEGER, INTENT(OUT) :: hdferr
+!*****
+ INTERFACE
+ INTEGER FUNCTION h5tset_precision_c (type_id, PRECISION) BIND(C,NAME='h5tset_precision_c')
+ IMPORT :: HID_T, SIZE_T
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: type_id
+ INTEGER(SIZE_T), INTENT(IN) :: PRECISION
+ END FUNCTION h5tset_precision_c
+ END INTERFACE
+
+ hdferr = h5tset_precision_c(type_id, PRECISION)
+ END SUBROUTINE h5tset_precision_f
+
+!
+!****s* H5T/h5tget_offset_f
+!
+! NAME
+! h5tget_offset_f
+!
+! PURPOSE
+! Retrieves the bit offset of the first significant bit.
+!
+! INPUTS
+! type_id - datatype identifier
+! OUTPUTS
+! offset - offset value
+! hdferr - Returns 0 if successful and -1 if fails
+! AUTHOR
+! Elena Pourmal
+! August 12, 1999
+!
+! HISTORY
+! Explicit Fortran interfaces were added for
+! called C functions (it is needed for Windows
+! port). March 7, 2001
+!
+! SOURCE
+ SUBROUTINE h5tget_offset_f(type_id, offset, hdferr)
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: type_id
+ INTEGER(SIZE_T), INTENT(OUT) :: offset
+ INTEGER, INTENT(OUT) :: hdferr
+!*****
+ INTERFACE
+ INTEGER FUNCTION h5tget_offset_c(type_id, offset) BIND(C,NAME='h5tget_offset_c')
+ IMPORT :: HID_T, SIZE_T
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: type_id
+ INTEGER(SIZE_T), INTENT(OUT) :: offset
+ END FUNCTION h5tget_offset_c
+ END INTERFACE
+
+ hdferr = h5tget_offset_c(type_id, offset)
+ END SUBROUTINE h5tget_offset_f
+
+!
+!****s* H5T/h5tset_offset_f
+!
+! NAME
+! h5tset_offset_f
+!
+! PURPOSE
+! Sets the bit offset of the first significant bit.
+!
+! INPUTS
+! type_id - datatype identifier
+! offset - offset value
+! OUTPUTS
+! hdferr - Returns 0 if successful and -1 if fails
+! AUTHOR
+! Elena Pourmal
+! August 12, 1999
+!
+! HISTORY
+! Explicit Fortran interfaces were added for
+! called C functions (it is needed for Windows
+! port). March 7, 2001
+!
+! SOURCE
+ SUBROUTINE h5tset_offset_f(type_id, offset, hdferr)
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: type_id
+ INTEGER(SIZE_T), INTENT(IN) :: offset
+ INTEGER, INTENT(OUT) :: hdferr
+!*****
+ INTERFACE
+ INTEGER FUNCTION h5tset_offset_c(type_id, offset) BIND(C,NAME='h5tset_offset_c')
+ IMPORT :: HID_T, SIZE_T
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: type_id
+ INTEGER(SIZE_T), INTENT(IN) :: offset
+ END FUNCTION h5tset_offset_c
+ END INTERFACE
+
+ hdferr = h5tset_offset_c(type_id, offset)
+ END SUBROUTINE h5tset_offset_f
+
+!
+!****s* H5T/h5tget_pad_f
+!
+! NAME
+! h5tget_pad_f
+!
+! PURPOSE
+! Retrieves the padding type of the least and
+! most -significant bit padding.
+!
+! INPUTS
+! type_id - datatype identifier
+! OUTPUTS
+! lsbpad - least-significant bit padding type
+! msbpad - most-significant bit padding type
+! Possible values of padding type are:
+! H5T_PAD_ERROR_F
+! H5T_PAD_ZERO_F
+! H5T_PAD_ONE_F
+! H5T_PAD_BACKGROUND_F
+! H5T_PAD_NPAD_F
+! hdferr - Returns 0 if successful and -1 if fails
+
+!
+! AUTHOR
+! Elena Pourmal
+! August 12, 1999
+!
+! HISTORY
+! Explicit Fortran interfaces were added for
+! called C functions (it is needed for Windows
+! port). March 7, 2001
+! SOURCE
+ SUBROUTINE h5tget_pad_f(type_id, lsbpad, msbpad, hdferr)
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: type_id
+ INTEGER, INTENT(OUT) :: lsbpad
+ INTEGER, INTENT(OUT) :: msbpad
+ INTEGER, INTENT(OUT) :: hdferr
+!*****
+ INTERFACE
+ INTEGER FUNCTION h5tget_pad_c(type_id, lsbpad, msbpad) BIND(C,NAME='h5tget_pad_c')
+ IMPORT :: HID_T
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: type_id
+ INTEGER, INTENT(OUT) :: lsbpad
+ INTEGER, INTENT(OUT) :: msbpad
+ END FUNCTION h5tget_pad_c
+ END INTERFACE
+
+ hdferr = h5tget_pad_c(type_id, lsbpad, msbpad)
+ END SUBROUTINE h5tget_pad_f
+
+!
+!****s* H5T/h5tset_pad_f
+!
+! NAME
+! h5tset_pad_f
+!
+! PURPOSE
+! Sets the least and most-significant bits padding types.
+!
+! INPUTS
+! type_id - datatype identifier
+! lsbpad - least-significant bit padding type
+! msbpad - most-significant bit padding type
+! Possible values of padding type are:
+! H5T_PAD_ERROR_F = -1
+! H5T_PAD_ZERO_F = 0
+! H5T_PAD_ONE_F = 1
+! H5T_PAD_BACKGROUND_F = 2
+! H5T_PAD_NPAD_F = 3
+! OUTPUTS
+! hdferr - Returns 0 if successful and -1 if fails
+!
+! AUTHOR
+! Elena Pourmal
+! August 12, 1999
+!
+! HISTORY
+! Explicit Fortran interfaces were added for
+! called C functions (it is needed for Windows
+! port). March 7, 2001
+! SOURCE
+ SUBROUTINE h5tset_pad_f(type_id, lsbpad, msbpad, hdferr)
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: type_id
+ INTEGER, INTENT(IN) :: lsbpad
+ INTEGER, INTENT(IN) :: msbpad
+ INTEGER, INTENT(OUT) :: hdferr
+!*****
+ INTERFACE
+ INTEGER FUNCTION h5tset_pad_c(type_id, lsbpad, msbpad) BIND(C,NAME='h5tset_pad_c')
+ IMPORT :: HID_T
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: type_id
+ INTEGER, INTENT(IN) :: lsbpad
+ INTEGER, INTENT(IN) :: msbpad
+ END FUNCTION h5tset_pad_c
+ END INTERFACE
+
+ hdferr = h5tset_pad_c(type_id, lsbpad, msbpad)
+ END SUBROUTINE h5tset_pad_f
+
+!
+!****s* H5T/h5tget_sign_f
+!
+! NAME
+! h5tget_sign_f
+!
+! PURPOSE
+! Retrieves the sign type for an integer type.
+!
+! INPUTS
+! type_id - datatype identifier
+! OUTPUTS
+! sign - sign type
+! Possible values are:
+! - Unsigned integer type
+! H5T_SGN_NONE_F = 0
+! - Two's complement signed integer type
+! H5T_SGN_2_F = 1
+! - error value: H5T_SGN_ERROR_F=-1
+! hdferr - Returns 0 if successful and -1 if fails
+!
+! AUTHOR
+! Elena Pourmal
+! August 12, 1999
+!
+! HISTORY
+! Explicit Fortran interfaces were added for
+! called C functions (it is needed for Windows
+! port). March 7, 2001
+! SOURCE
+ SUBROUTINE h5tget_sign_f(type_id, sign, hdferr)
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: type_id
+ INTEGER, INTENT(OUT) :: sign
+ INTEGER, INTENT(OUT) :: hdferr
+!*****
+
+ INTERFACE
+ INTEGER FUNCTION h5tget_sign_c(type_id, sign) BIND(C,NAME='h5tget_sign_c')
+ IMPORT :: HID_T
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: type_id
+ INTEGER, INTENT(OUT) :: sign
+ END FUNCTION h5tget_sign_c
+ END INTERFACE
+
+ hdferr = h5tget_sign_c(type_id, sign)
+ END SUBROUTINE h5tget_sign_f
+
+!
+!****s* H5T/h5tset_sign_f
+!
+! NAME
+! h5tset_sign_f
+!
+! PURPOSE
+! Sets the sign proprety for an integer type.
+!
+! INPUTS
+! type_id - datatype identifier
+! sign - sign type
+! Possible values are:
+! - Unsigned integer type
+! H5T_SGN_NONE_F = 0
+! - Two's complement signed integer type
+! H5T_SGN_2_F = 1
+! - error value: H5T_SGN_ERROR_F=-1
+! OUTPUTS
+! hdferr - Returns 0 if successful and -1 if fails
+!
+! AUTHOR
+! Elena Pourmal
+! August 12, 1999
+!
+! HISTORY
+! Explicit Fortran interfaces were added for
+! called C functions (it is needed for Windows
+! port). March 7, 2001
+! SOURCE
+ SUBROUTINE h5tset_sign_f(type_id, sign, hdferr)
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: type_id
+ INTEGER, INTENT(IN) :: sign
+ INTEGER, INTENT(OUT) :: hdferr
+!*****
+ INTERFACE
+ INTEGER FUNCTION h5tset_sign_c(type_id, sign) BIND(C,NAME='h5tset_sign_c')
+ IMPORT :: HID_T
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: type_id
+ INTEGER, INTENT(IN) :: sign
+ END FUNCTION h5tset_sign_c
+ END INTERFACE
+
+ hdferr = h5tset_sign_c(type_id, sign)
+ END SUBROUTINE h5tset_sign_f
+
+!
+!****s* H5T/h5tget_fields_f
+!
+! NAME
+! h5tget_fields_f
+!
+! PURPOSE
+! Retrieves floating point datatype bit field information.
+!
+! INPUTS
+! type_id - datatype identifier
+! OUTPUTS
+! spos - sign bit-position
+! epos - exponent bit-position
+! esize - size of exponent in bits
+! mpos - mantissa position
+! msize - size of mantissa in bits
+! hdferr - Returns 0 if successful and -1 if fails
+!
+! AUTHOR
+! Elena Pourmal
+! August 12, 1999
+!
+! HISTORY
+! Explicit Fortran interfaces were added for
+! called C functions (it is needed for Windows
+! port). March 7, 2001
+! SOURCE
+ SUBROUTINE h5tget_fields_f(type_id, spos, epos, esize, mpos, msize, hdferr)
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: type_id
+ INTEGER(SIZE_T), INTENT(OUT) :: spos
+ INTEGER(SIZE_T), INTENT(OUT) :: epos
+ INTEGER(SIZE_T), INTENT(OUT) :: esize
+ INTEGER(SIZE_T), INTENT(OUT) :: mpos
+ INTEGER(SIZE_T), INTENT(OUT) :: msize
+ INTEGER, INTENT(OUT) :: hdferr
+!*****
+
+ INTERFACE
+ INTEGER FUNCTION h5tget_fields_c(type_id, spos, epos, esize, mpos, msize) &
+ BIND(C,NAME='h5tget_fields_c')
+ IMPORT :: HID_T, SIZE_T
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: type_id
+ INTEGER(SIZE_T), INTENT(OUT) :: spos
+ INTEGER(SIZE_T), INTENT(OUT) :: epos
+ INTEGER(SIZE_T), INTENT(OUT) :: esize
+ INTEGER(SIZE_T), INTENT(OUT) :: mpos
+ INTEGER(SIZE_T), INTENT(OUT) :: msize
+ END FUNCTION h5tget_fields_c
+ END INTERFACE
+
+ hdferr = h5tget_fields_c(type_id, spos, epos, esize, mpos, msize)
+ END SUBROUTINE h5tget_fields_f
+
+!
+!****s* H5T/h5tset_fields_f
+!
+! NAME
+! h5tset_fields_f
+!
+! PURPOSE
+! Sets locations and sizes of floating point bit fields.
+!
+! INPUTS
+! type_id - datatype identifier
+! spos - sign bit-position
+! epos - exponent bit-position
+! esize - size of exponent in bits
+! mpos - mantissa position
+! msize - size of mantissa in bits
+! OUTPUTS
+! hdferr - Returns 0 if successful and -1 if fails
+!
+! AUTHOR
+! Elena Pourmal
+! August 12, 1999
+!
+! HISTORY
+! Explicit Fortran interfaces were added for
+! called C functions (it is needed for Windows
+! port). March 7, 2001
+! SOURCE
+ SUBROUTINE h5tset_fields_f(type_id, spos, epos, esize, mpos, msize, hdferr)
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: type_id
+ INTEGER(SIZE_T), INTENT(IN) :: spos
+ INTEGER(SIZE_T), INTENT(IN) :: epos
+ INTEGER(SIZE_T), INTENT(IN) :: esize
+ INTEGER(SIZE_T), INTENT(IN) :: mpos
+ INTEGER(SIZE_T), INTENT(IN) :: msize
+ INTEGER, INTENT(OUT) :: hdferr
+!*****
+
+ INTERFACE
+ INTEGER FUNCTION h5tset_fields_c(type_id, spos, epos, esize, mpos, msize) &
+ BIND(C,NAME='h5tset_fields_c')
+ IMPORT :: HID_T, SIZE_T
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: type_id
+ INTEGER(SIZE_T), INTENT(IN) :: spos
+ INTEGER(SIZE_T), INTENT(IN) :: epos
+ INTEGER(SIZE_T), INTENT(IN) :: esize
+ INTEGER(SIZE_T), INTENT(IN) :: mpos
+ INTEGER(SIZE_T), INTENT(IN) :: msize
+ END FUNCTION h5tset_fields_c
+ END INTERFACE
+
+ hdferr = h5tset_fields_c(type_id, spos, epos, esize, mpos, msize)
+ END SUBROUTINE h5tset_fields_f
+
+!
+!****s* H5T/h5tget_ebias_f
+!
+! NAME
+! h5tget_ebias_f
+!
+! PURPOSE
+! Retrieves the exponent bias of a floating-point type.
+!
+! INPUTS
+! type_id - datatype identifier
+! OUTPUTS
+! ebias - datatype exponent bias
+! hdferr - Returns 0 if successful and -1 if fails
+!
+! AUTHOR
+! Elena Pourmal
+! August 12, 1999
+!
+! HISTORY
+! Explicit Fortran interfaces were added for
+! called C functions (it is needed for Windows
+! port). March 7, 2001
+! SOURCE
+ SUBROUTINE h5tget_ebias_f(type_id, ebias, hdferr)
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: type_id
+ INTEGER(SIZE_T), INTENT(OUT) :: ebias
+ INTEGER, INTENT(OUT) :: hdferr
+!*****
+
+ INTERFACE
+ INTEGER FUNCTION h5tget_ebias_c(type_id, ebias) BIND(C,NAME='h5tget_ebias_c')
+ IMPORT :: HID_T, SIZE_T
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: type_id
+ INTEGER(SIZE_T), INTENT(OUT) :: ebias
+ END FUNCTION h5tget_ebias_c
+ END INTERFACE
+
+ hdferr = h5tget_ebias_c(type_id, ebias)
+ END SUBROUTINE h5tget_ebias_f
+
+!
+!****s* H5T/h5tset_ebias_f
+!
+! NAME
+! h5tset_ebias_f
+!
+! PURPOSE
+! Sets the exponent bias of a floating-point type.
+!
+! INPUTS
+! type_id - datatype identifier
+! ebias - datatype exponent bias
+! OUTPUTS
+! hdferr - Returns 0 if successful and -1 if fails
+!
+! AUTHOR
+! Elena Pourmal
+! August 12, 1999
+!
+! HISTORY
+! Explicit Fortran interfaces were added for
+! called C functions (it is needed for Windows
+! port). March 7, 2001
+! SOURCE
+ SUBROUTINE h5tset_ebias_f(type_id, ebias, hdferr)
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: type_id
+ INTEGER(SIZE_T), INTENT(IN) :: ebias
+ INTEGER, INTENT(OUT) :: hdferr
+!*****
+ INTERFACE
+ INTEGER FUNCTION h5tset_ebias_c(type_id, ebias) BIND(C,NAME='h5tset_ebias_c')
+ IMPORT :: HID_T, SIZE_T
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: type_id
+ INTEGER(SIZE_T), INTENT(IN) :: ebias
+ END FUNCTION h5tset_ebias_c
+ END INTERFACE
+
+ hdferr = h5tset_ebias_c(type_id, ebias)
+ END SUBROUTINE h5tset_ebias_f
+
+!
+!****s* H5T/h5tget_norm_f
+!
+! NAME
+! h5tget_norm_f
+!
+! PURPOSE
+! Retrieves mantissa normalization of a floating-point
+! datatype.
+!
+! INPUTS
+! type_id - datatype identifier
+! OUTPUTS
+! norm - normalization types, valid values are:
+! H5T_NORM_IMPLIED_F
+! H5T_NORM_MSBSET_F
+! H5T_NORM_NONE_F
+! hdferr - Returns 0 if successful and -1 if fails
+!
+! AUTHOR
+! Elena Pourmal
+! August 12, 1999
+!
+! HISTORY
+! Explicit Fortran interfaces were added for
+! called C functions (it is needed for Windows
+! port). March 7, 2001
+! SOURCE
+ SUBROUTINE h5tget_norm_f(type_id, norm, hdferr)
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: type_id
+ INTEGER, INTENT(OUT) :: norm
+ INTEGER, INTENT(OUT) :: hdferr
+!*****
+
+ INTERFACE
+ INTEGER FUNCTION h5tget_norm_c(type_id, norm) BIND(C,NAME='h5tget_norm_c')
+ IMPORT :: HID_T
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: type_id
+ INTEGER, INTENT(OUT) :: norm
+ END FUNCTION h5tget_norm_c
+ END INTERFACE
+
+ hdferr = h5tget_norm_c(type_id, norm)
+ END SUBROUTINE h5tget_norm_f
+
+!
+!****s* H5T/h5tset_norm_f
+!
+! NAME
+! h5tset_norm_f
+!
+! PURPOSE
+! Sets the mantissa normalization of a floating-point datatype.
+!
+! INPUTS
+! type_id - datatype identifier
+! norm - normalization types, valid values are:
+! H5T_NORM_IMPLIED_F
+! H5T_NORM_MSBSET_F
+! H5T_NORM_NONE_F
+! OUTPUTS
+! hdferr - Returns 0 if successful and -1 if fails
+!
+! AUTHOR
+! Elena Pourmal
+! August 12, 1999
+!
+! HISTORY
+! Explicit Fortran interfaces were added for
+! called C functions (it is needed for Windows
+! port). March 7, 2001
+!
+! SOURCE
+ SUBROUTINE h5tset_norm_f(type_id, norm, hdferr)
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: type_id
+ INTEGER, INTENT(IN) :: norm
+ INTEGER, INTENT(OUT) :: hdferr
+!*****
+ INTERFACE
+ INTEGER FUNCTION h5tset_norm_c(type_id, norm) BIND(C,NAME='h5tset_norm_c')
+ IMPORT :: HID_T
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: type_id
+ INTEGER, INTENT(IN) :: norm
+ END FUNCTION h5tset_norm_c
+ END INTERFACE
+
+ hdferr = h5tset_norm_c(type_id, norm)
+ END SUBROUTINE h5tset_norm_f
+
+!
+!****s* H5T/h5tget_inpad_f
+!
+! NAME
+! h5tget_inpad_f
+!
+! PURPOSE
+! Retrieves the internal padding type for unused bits
+! in floating-point datatypes.
+!
+! INPUTS
+! type_id - datatype identifier
+! OUTPUTS
+! padtype - padding type for unused bits
+! Possible values of padding type are:
+! H5T_PAD_ZERO_F
+! H5T_PAD_ONE_F
+! H5T_PAD_BACKGROUND_F
+! hdferr - Returns 0 if successful and -1 if fails
+!
+! AUTHOR
+! Elena Pourmal
+! August 12, 1999
+!
+! HISTORY
+! Explicit Fortran interfaces were added for
+! called C functions (it is needed for Windows
+! port). March 7, 2001
+! SOURCE
+ SUBROUTINE h5tget_inpad_f(type_id, padtype, hdferr)
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: type_id
+ INTEGER, INTENT(OUT) :: padtype
+ INTEGER, INTENT(OUT) :: hdferr
+!*****
+ INTERFACE
+ INTEGER FUNCTION h5tget_inpad_c(type_id, padtype) BIND(C,NAME='h5tget_inpad_c')
+ IMPORT :: HID_T
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: type_id
+ INTEGER, INTENT(OUT) :: padtype
+ END FUNCTION h5tget_inpad_c
+ END INTERFACE
+
+ hdferr = h5tget_inpad_c(type_id, padtype)
+ END SUBROUTINE h5tget_inpad_f
+
+!
+!****s* H5T/h5tset_inpad_f
+!
+! NAME
+! h5tset_inpad_f
+!
+! PURPOSE
+! Fills unused internal floating point bits.
+!
+! INPUTS
+! type_id - datatype identifier
+! padtype - padding type for unused bits
+! Possible values of padding type are:
+! H5T_PAD_ZERO_F
+! H5T_PAD_ONE_F
+! H5T_PAD_BACKGROUND_F
+! OUTPUTS
+! hdferr - Returns 0 if successful and -1 if fails
+!
+! AUTHOR
+! Elena Pourmal
+! August 12, 1999
+!
+! HISTORY
+! Explicit Fortran interfaces were added for
+! called C functions (it is needed for Windows
+! port). March 7, 2001
+! SOURCE
+ SUBROUTINE h5tset_inpad_f(type_id, padtype, hdferr)
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: type_id
+ INTEGER, INTENT(IN) :: padtype
+ INTEGER, INTENT(OUT) :: hdferr
+!*****
+ INTERFACE
+ INTEGER FUNCTION h5tset_inpad_c(type_id, padtype) BIND(C,NAME='h5tset_inpad_c')
+ IMPORT :: HID_T
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: type_id
+ INTEGER, INTENT(IN) :: padtype
+ END FUNCTION h5tset_inpad_c
+ END INTERFACE
+
+ hdferr = h5tset_inpad_c(type_id, padtype)
+ END SUBROUTINE h5tset_inpad_f
+
+!
+!****s* H5T/h5tget_cset_f
+!
+! NAME
+! h5tget_cset_f
+!
+! PURPOSE
+! Retrieves the character set type of a string datatype.
+!
+! INPUTS
+! type_id - Datatype identifier
+! OUTPUTS
+! cset - Character set type of a string datatype
+! Possible values are:
+! H5T_CSET_ASCII_F
+! H5T_CSET_UTF8_F
+! hdferr - Returns 0 if successful and -1 if fails
+!
+! AUTHOR
+! Elena Pourmal
+! August 12, 1999
+!
+! HISTORY
+! Explicit Fortran interfaces were added for
+! called C functions (it is needed for Windows
+! port). March 7, 2001
+! SOURCE
+ SUBROUTINE h5tget_cset_f(type_id, cset, hdferr)
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: type_id
+ INTEGER, INTENT(OUT) :: cset
+ INTEGER, INTENT(OUT) :: hdferr ! Error code
+!*****
+ INTERFACE
+ INTEGER FUNCTION h5tget_cset_c(type_id, cset) BIND(C,NAME='h5tget_cset_c')
+ IMPORT :: HID_T
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: type_id
+ INTEGER, INTENT(OUT) :: cset
+ END FUNCTION h5tget_cset_c
+ END INTERFACE
+
+ hdferr = h5tget_cset_c(type_id, cset)
+ END SUBROUTINE h5tget_cset_f
+
+!
+!****s* H5T/h5tset_cset_f
+!
+! NAME
+! h5tset_cset_f
+!
+! PURPOSE
+! Sets character set to be used.
+!
+! INPUTS
+! type_id - datatype identifier
+! cset - character set type of a string datatype
+! Possible values are:
+! H5T_CSET_ASCII_F
+! H5T_CSET_UTF8_F
+! OUTPUTS
+! hdferr - Returns 0 if successful and -1 if fails
+!
+! AUTHOR
+! Elena Pourmal
+! August 12, 1999
+!
+! HISTORY
+! Explicit Fortran interfaces were added for
+! called C functions (it is needed for Windows
+! port). March 7, 2001
+! SOURCE
+ SUBROUTINE h5tset_cset_f(type_id, cset, hdferr)
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: type_id
+ INTEGER, INTENT(IN) :: cset
+ INTEGER, INTENT(OUT) :: hdferr
+!*****
+ INTERFACE
+ INTEGER FUNCTION h5tset_cset_c(type_id, cset) BIND(C,NAME='h5tset_cset_c')
+ IMPORT :: HID_T
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: type_id
+ INTEGER, INTENT(IN) :: cset
+ END FUNCTION h5tset_cset_c
+ END INTERFACE
+
+ hdferr = h5tset_cset_c(type_id, cset)
+ END SUBROUTINE h5tset_cset_f
+!
+!****s* H5T/h5tget_strpad_f
+!
+! NAME
+! h5tget_strpad_f
+!
+! PURPOSE
+! Retrieves the storage mechanism for a string datatype.
+!
+! INPUTS
+! type_id - datatype identifier
+! OUTPUTS
+! strpad - storage method for a string datatype
+! Possible values are:
+! H5T_STR_NULLTERM_F,
+! H5T_STR_NULLPAD_F,
+! H5T_STR_SPACEPAD_F
+! H5T_STR_ERROR_F
+! hdferr - Returns 0 if successful and -1 if fails
+!
+! AUTHOR
+! Elena Pourmal
+! August 12, 1999
+!
+! HISTORY
+! Explicit Fortran interfaces were added for
+! called C functions (it is needed for Windows
+! port). March 7, 2001
+! SOURCE
+ SUBROUTINE h5tget_strpad_f(type_id, strpad, hdferr)
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: type_id
+ INTEGER, INTENT(OUT) :: strpad
+ INTEGER, INTENT(OUT) :: hdferr
+!*****
+ INTERFACE
+ INTEGER FUNCTION h5tget_strpad_c(type_id, strpad) BIND(C,NAME='h5tget_strpad_c')
+ IMPORT :: HID_T
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: type_id
+ INTEGER, INTENT(OUT) :: strpad
+ END FUNCTION h5tget_strpad_c
+ END INTERFACE
+
+ hdferr = h5tget_strpad_c(type_id, strpad)
+ END SUBROUTINE h5tget_strpad_f
+
+!
+!****s* H5T/h5tset_strpad_f
+!
+! NAME
+! h5tset_strpad_f
+!
+! PURPOSE
+! Defines the storage mechanism for character strings.
+!
+! INPUTS
+! type_id - datatype identifier
+! strpad - storage method for a string datatype
+! Possible values are:
+! H5T_STR_NULLTERM_F,
+! H5T_STR_NULLPAD_F,
+! H5T_STR_SPACEPAD_F,
+! H5T_STR_ERROR_F.
+! OUTPUTS
+! hdferr - Returns 0 if successful and -1 if fails
+!
+! AUTHOR
+! Elena Pourmal
+! August 12, 1999
+!
+! HISTORY
+! Explicit Fortran interfaces were added for
+! called C functions (it is needed for Windows
+! port). March 7, 2001
+! SOURCE
+ SUBROUTINE h5tset_strpad_f(type_id, strpad, hdferr)
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: type_id
+ INTEGER, INTENT(IN) :: strpad
+ INTEGER, INTENT(OUT) :: hdferr
+!*****
+ INTERFACE
+ INTEGER FUNCTION h5tset_strpad_c(type_id, strpad) BIND(C,NAME='h5tset_strpad_c')
+ IMPORT :: HID_T
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: type_id
+ INTEGER, INTENT(IN) :: strpad
+ END FUNCTION h5tset_strpad_c
+ END INTERFACE
+
+ hdferr = h5tset_strpad_c(type_id, strpad)
+ END SUBROUTINE h5tset_strpad_f
+
+!
+!****s* H5T/h5tget_nmembers_f
+!
+! NAME
+! h5tget_nmembers_f
+!
+! PURPOSE
+! Retrieves the number of fields in a compound datatype.
+!
+! INPUTS
+! type_id - datatype identifier
+! OUTPUTS
+! num_members - number of members
+! hdferr - Returns 0 if successful and -1 if fails
+!
+! AUTHOR
+! Elena Pourmal
+! August 12, 1999
+!
+! HISTORY
+! Explicit Fortran interfaces were added for
+! called C functions (it is needed for Windows
+! port). March 7, 2001
+!
+! SOURCE
+ SUBROUTINE h5tget_nmembers_f(type_id, num_members, hdferr)
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: type_id
+ INTEGER, INTENT(OUT) :: num_members
+ INTEGER, INTENT(OUT) :: hdferr
+!*****
+ INTERFACE
+ INTEGER FUNCTION h5tget_nmembers_c(type_id, num_members) BIND(C,NAME='h5tget_nmembers_c')
+ IMPORT :: HID_T
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: type_id
+ INTEGER, INTENT(OUT) :: num_members
+ END FUNCTION h5tget_nmembers_c
+ END INTERFACE
+
+ hdferr = h5tget_nmembers_c(type_id, num_members)
+ END SUBROUTINE h5tget_nmembers_f
+
+!
+!****s* H5T/h5tget_member_name_f
+!
+! NAME
+! h5tget_member_name_f
+!
+! PURPOSE
+! Retrieves the name of a field of a compound datatype.
+!
+! INPUTS
+! type_id - datatype identifier
+! index - filed index (0-based)
+! OUTPUTS
+! member_name - buffer to hold member's name
+! namelen - name length
+! hdferr - Returns 0 if successful and -1 if fails
+!
+! AUTHOR
+! Elena Pourmal
+! August 12, 1999
+!
+! HISTORY
+! Explicit Fortran interfaces were added for
+! called C functions (it is needed for Windows
+! port). March 7, 2001
+! SOURCE
+ SUBROUTINE h5tget_member_name_f(type_id, index, member_name, namelen, hdferr)
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: type_id
+ INTEGER, INTENT(IN) :: index
+ CHARACTER(LEN=*), INTENT(OUT) :: member_name
+ INTEGER, INTENT(OUT) :: namelen
+ INTEGER, INTENT(OUT) :: hdferr
+!*****
+ INTERFACE
+ INTEGER FUNCTION h5tget_member_name_c(type_id, index, member_name, namelen) BIND(C,NAME='h5tget_member_name_c')
+ IMPORT :: C_CHAR
+ IMPORT :: HID_T
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: type_id
+ INTEGER, INTENT(IN) :: index
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(OUT) :: member_name
+ INTEGER, INTENT(OUT) :: namelen
+ END FUNCTION h5tget_member_name_c
+ END INTERFACE
+
+ hdferr = h5tget_member_name_c(type_id, index, member_name, namelen)
+ END SUBROUTINE h5tget_member_name_f
+
+!
+!****s* H5T/h5tget_member_offset_f
+!
+! NAME
+! h5tget_member_offset_f
+!
+! PURPOSE
+! Retrieves the offset of a field of a compound datatype.
+!
+! INPUTS
+! type_id - datatype identifier
+! member_no - number of the field
+! OUTPUTS
+! offset - byte offset of the requested field
+! hdferr - Returns 0 if successful and -1 if fails
+!
+! AUTHOR
+! Elena Pourmal
+! August 12, 1999
+!
+! HISTORY
+! Explicit Fortran interfaces were added for
+! called C functions (it is needed for Windows
+! port). March 7, 2001
+! SOURCE
+ SUBROUTINE h5tget_member_offset_f(type_id, member_no, offset, hdferr)
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: type_id
+ INTEGER, INTENT(IN) :: member_no
+ INTEGER(SIZE_T), INTENT(OUT) :: offset
+ INTEGER, INTENT(OUT) :: hdferr
+!*****
+ INTERFACE
+ INTEGER FUNCTION h5tget_member_offset_c(type_id, member_no, offset ) BIND(C,NAME='h5tget_member_offset_c')
+ IMPORT :: HID_T, SIZE_T
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: type_id
+ INTEGER, INTENT(IN) :: member_no
+ INTEGER(SIZE_T), INTENT(OUT) :: offset
+ END FUNCTION h5tget_member_offset_c
+ END INTERFACE
+
+ hdferr = h5tget_member_offset_c(type_id, member_no, offset )
+ END SUBROUTINE h5tget_member_offset_f
+!
+!****s* H5T/h5tget_member_index_f
+!
+! NAME
+! h5tget_member_index_f
+!
+! PURPOSE
+! Retrieves the index of a compound or enumeration datatype member.
+!
+! INPUTS
+! type_id - datatype identifier
+! name - name of the field or member whose index to
+! to be retrieved from the datatype.
+! OUTPUTS
+! index - 0-based index of the filed or member (0 to N-1)
+! hdferr - Returns 0 if successful and -1 if fails
+!
+! AUTHOR
+! Elena Pourmal
+! September 26, 2002
+!
+! SOURCE
+ SUBROUTINE h5tget_member_index_f(type_id, name, index, hdferr)
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: type_id
+ CHARACTER(LEN=*), INTENT(IN) :: name
+ INTEGER, INTENT(OUT) :: index
+ INTEGER, INTENT(OUT) :: hdferr
+!*****
+ INTEGER :: namelen ! Name length
+
+ INTERFACE
+ INTEGER FUNCTION h5tget_member_index_c(type_id, name, namelen, index) BIND(C,NAME='h5tget_member_index_c')
+ IMPORT :: C_CHAR
+ IMPORT :: HID_T
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: type_id
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(IN) :: name
+ INTEGER, INTENT(IN) :: namelen
+ INTEGER, INTENT(OUT) :: index
+ END FUNCTION h5tget_member_index_c
+ END INTERFACE
+
+ namelen = LEN(name)
+ hdferr = h5tget_member_index_c(type_id, name, namelen, index)
+ END SUBROUTINE h5tget_member_index_f
+
+
+! !$!
+! !$!****s* H5T/h5tget_member_dim_f
+! !$!
+! !$! NAME
+! !$! h5tget_member_dim_f
+! !$!
+! !$! PURPOSE
+! !$! This function is not supported in hdf5-1.4.*
+! !$!
+! !$! INPUTS
+! !$! OUTPUTS
+! !$! hdferr: - error code
+! !$! Success: 0
+! !$! Failure: -1
+! !$!
+! !$! AUTHOR
+! !$! Elena Pourmal
+! !$! August 12, 1999
+! !$!
+! !$! HISTORY
+! !$! Explicit Fortran interfaces were added for
+! !$! called C functions (it is needed for Windows
+! !$! port). March 7, 2001
+! !$!
+! !$! SOURCE
+! !$! SUBROUTINE h5tget_member_dims_f(type_id, field_idx,dims, field_dims, perm, hdferr)
+! !$!
+! !$! IMPLICIT NONE
+! !$! INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier
+! !$! INTEGER, INTENT(IN) :: field_idx !Field index (0-based) of
+! !$! !field_dims, perm)
+! !$! INTEGER, INTENT(OUT) :: dims !number of dimensions of the field
+! !$!
+! !$! INTEGER(SIZE_T),DIMENSION(*), INTENT(OUT) :: field_dims !buffer to store the
+! !$! !dimensions of the field
+! !$! INTEGER, DIMENSION(*), INTENT(OUT) :: perm !buffer to store the
+! !$! !permutation vector of the field
+! !$! INTEGER, INTENT(OUT) :: hdferr ! Error code
+! !$!*****!
+! !$! INTEGER, EXTERNAL :: h5tget_member_dims_c
+! !$! hdferr = h5tget_member_dims_c(type_id, field_idx, dims, field_dims, perm)
+! !$!
+! !$! END SUBROUTINE h5tget_member_dims_f
+
+
+!****s* H5T/h5tget_array_dims_f
+!
+! NAME
+! h5tget_array_dims_f
+!
+! PURPOSE
+! Returns sizes of array dimensions.
+!
+! INPUTS
+! type_id - array datatype identifier
+! OUTPUTS
+! dims - buffer to store array datatype dimensions
+! hdferr - Returns 0 if successful and -1 if fails
+!
+! AUTHOR
+! Elena Pourmal
+! August 12, 1999
+!
+! HISTORY
+! Explicit Fortran interfaces were added for
+! called C functions (it is needed for Windows
+! port). March 7, 2001
+! SOURCE
+ SUBROUTINE h5tget_array_dims_f(type_id, dims, hdferr)
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: type_id
+ INTEGER(HSIZE_T),DIMENSION(*), INTENT(OUT) :: dims
+ INTEGER, INTENT(OUT) :: hdferr
+!*****
+ INTERFACE
+ INTEGER FUNCTION h5tget_array_dims_c(type_id, dims) BIND(C,NAME='h5tget_array_dims_c')
+ IMPORT :: HID_T, HSIZE_T
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: type_id
+ INTEGER(HSIZE_T),DIMENSION(*), INTENT(OUT) :: dims
+ END FUNCTION h5tget_array_dims_c
+ END INTERFACE
+
+ hdferr = h5tget_array_dims_c(type_id, dims)
+
+ END SUBROUTINE h5tget_array_dims_f
+
+!
+!****s* H5T/h5tget_array_ndims_f
+!
+! NAME
+! h5tget_array_ndims_f
+!
+! PURPOSE
+! Returns the rank of an array datatype.
+!
+! INPUTS
+! type_id - array datatype identifier
+! OUTPUTS
+! ndims - number of array dimensions
+! hdferr - Returns 0 if successful and -1 if fails
+!
+! AUTHOR
+! Elena Pourmal
+! August 12, 1999
+!
+! HISTORY
+! Explicit Fortran interfaces were added for
+! called C functions (it is needed for Windows
+! port). March 7, 2001
+! SOURCE
+ SUBROUTINE h5tget_array_ndims_f(type_id, ndims, hdferr)
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: type_id
+ INTEGER, INTENT(OUT) :: ndims
+ INTEGER, INTENT(OUT) :: hdferr
+!*****
+ INTERFACE
+ INTEGER FUNCTION h5tget_array_ndims_c(type_id, ndims) BIND(C,NAME='h5tget_array_ndims_c')
+ IMPORT :: HID_T
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: type_id
+ INTEGER, INTENT(OUT) :: ndims
+ END FUNCTION h5tget_array_ndims_c
+ END INTERFACE
+
+ hdferr = h5tget_array_ndims_c(type_id, ndims)
+
+ END SUBROUTINE h5tget_array_ndims_f
+
+!
+!****s* H5T/h5tget_super_f
+!
+! NAME
+! h5tget_super_f
+!
+! PURPOSE
+! Returns the base datatype from which a datatype is derived.
+!
+! INPUTS
+! type_id - datatype identifier
+! OUTPUTS
+! base_type_id - identifier of the base type
+! hdferr - Returns 0 if successful and -1 if fails
+!
+! AUTHOR
+! Elena Pourmal
+! August 12, 1999
+!
+! HISTORY
+! Explicit Fortran interfaces were added for
+! called C functions (it is needed for Windows
+! port). March 7, 2001
+! SOURCE
+ SUBROUTINE h5tget_super_f(type_id, base_type_id, hdferr)
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: type_id
+ INTEGER(HID_T), INTENT(OUT) :: base_type_id
+ INTEGER, INTENT(OUT) :: hdferr
+!*****
+ INTERFACE
+ INTEGER FUNCTION h5tget_super_c(type_id, base_type_id) BIND(C,NAME='h5tget_super_c')
+ IMPORT :: HID_T
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: type_id
+ INTEGER(HID_T), INTENT(OUT) :: base_type_id
+ END FUNCTION h5tget_super_c
+ END INTERFACE
+
+ hdferr = h5tget_super_c(type_id, base_type_id)
+
+ END SUBROUTINE h5tget_super_f
+
+!
+!****s* H5T/h5tget_member_type_f
+!
+! NAME
+! h5tget_member_type_f
+!
+! PURPOSE
+! Returns the datatype of the specified member.
+!
+! INPUTS
+! type_id - compound datatype identifier
+! field_idx - field index (0-based)
+!
+! OUTPUTS
+! datatype - identifier of the member's datatype
+! hdferr - Returns 0 if successful and -1 if fails
+!
+! AUTHOR
+! Elena Pourmal
+! August 12, 1999
+!
+! HISTORY
+! Explicit Fortran interfaces were added for
+! called C functions (it is needed for Windows
+! port). March 7, 2001
+! SOURCE
+ SUBROUTINE h5tget_member_type_f(type_id, field_idx, datatype, hdferr)
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: type_id
+ INTEGER, INTENT(IN) :: field_idx
+ INTEGER(HID_T), INTENT(OUT) :: datatype
+ INTEGER, INTENT(OUT) :: hdferr
+!*****
+ INTERFACE
+ INTEGER FUNCTION h5tget_member_type_c(type_id, field_idx , datatype) &
+ BIND(C,NAME='h5tget_member_type_c')
+ IMPORT :: HID_T
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: type_id
+ INTEGER, INTENT(IN) :: field_idx
+ INTEGER(HID_T), INTENT(OUT) :: datatype
+ END FUNCTION h5tget_member_type_c
+ END INTERFACE
+
+ hdferr = h5tget_member_type_c(type_id, field_idx , datatype)
+ END SUBROUTINE h5tget_member_type_f
+
+!
+!****s* H5T/h5tcreate_f
+!
+! NAME
+! h5tcreate_f
+!
+! PURPOSE
+! Creates a new datatype.
+!
+! INPUTS
+! class - Datatype class can be one of:
+! H5T_COMPOUND_F
+! H5T_ENUM_F
+! H5T_OPAQUE_F
+! H5T_STRING_F
+!
+! size - Size of the datatype.
+! OUTPUTS
+! type_id - Datatype identifier.
+! hdferr - Returns 0 if successful and -1 if fails
+!
+! AUTHOR
+! Elena Pourmal
+! August 12, 1999
+!
+! HISTORY
+! Explicit Fortran interfaces were added for
+! called C functions (it is needed for Windows
+! port). March 7, 2001
+! SOURCE
+ SUBROUTINE h5tcreate_f(class, size, type_id, hdferr)
+ IMPLICIT NONE
+ INTEGER , INTENT(IN) :: class
+ INTEGER(SIZE_T), INTENT(IN) :: size
+ INTEGER(HID_T) , INTENT(OUT) :: type_id
+ INTEGER , INTENT(OUT) :: hdferr
+!*****
+ INTERFACE
+ INTEGER FUNCTION h5tcreate_c(class, size, type_id) BIND(C,NAME='h5tcreate_c')
+ IMPORT :: HID_T, SIZE_T
+ IMPLICIT NONE
+ INTEGER, INTENT(IN) :: class
+ INTEGER(SIZE_T), INTENT(IN) :: size
+ INTEGER(HID_T), INTENT(OUT) :: type_id
+ END FUNCTION h5tcreate_c
+ END INTERFACE
+
+ hdferr = h5tcreate_c(class, size, type_id)
+ END SUBROUTINE h5tcreate_f
+
+!
+!****s* H5T/h5tinsert_f
+!
+! NAME
+! h5tinsert_f
+!
+! PURPOSE
+! Adds a new member to a compound datatype.
+!
+! INPUTS
+! type_id - compound datatype identifier
+! name - name of the field to insert
+! offset - start of the member in an instance of
+! the compound datatype
+! field_id - datatype identifier of the field to insert
+! OUTPUTS
+! hdferr - Returns 0 if successful and -1 if fails
+!
+! AUTHOR
+! Elena Pourmal
+! August 12, 1999
+!
+! HISTORY
+! Explicit Fortran interfaces were added for
+! called C functions (it is needed for Windows
+! port). March 7, 2001
+! SOURCE
+ SUBROUTINE h5tinsert_f(type_id, name, offset, field_id, hdferr)
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: type_id
+ CHARACTER(LEN=*), INTENT(IN) :: name
+ INTEGER(SIZE_T), INTENT(IN) :: offset
+ INTEGER(HID_T), INTENT(IN) :: field_id
+ INTEGER, INTENT(OUT) :: hdferr
+!*****
+ INTEGER :: namelen
+
+ INTERFACE
+ INTEGER FUNCTION h5tinsert_c(type_id, name, namelen, offset, field_id) BIND(C,NAME='h5tinsert_c')
+ IMPORT :: C_CHAR
+ IMPORT :: HID_T, SIZE_T
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: type_id
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(IN) :: name
+ INTEGER(SIZE_T), INTENT(IN) :: offset
+ INTEGER(HID_T), INTENT(IN) :: field_id
+ INTEGER :: namelen
+ END FUNCTION h5tinsert_c
+ END INTERFACE
+
+ namelen = LEN(name)
+ hdferr = h5tinsert_c(type_id, name, namelen, offset, field_id )
+ END SUBROUTINE h5tinsert_f
+
+!
+!****s* H5T/h5tpack_f
+!
+! NAME
+! h5tpack_f
+!
+! PURPOSE
+! Recursively removes padding from within a compound datatype.
+!
+! INPUTS
+! type_id - compound datatype identifier
+! OUTPUTS
+! hdferr - Returns 0 if successful and -1 if fails
+!
+! AUTHOR
+! Elena Pourmal
+! August 12, 1999
+!
+! HISTORY
+! Explicit Fortran interfaces were added for
+! called C functions (it is needed for Windows
+! port). March 7, 2001
+! SOURCE
+ SUBROUTINE h5tpack_f(type_id, hdferr)
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: type_id
+ INTEGER, INTENT(OUT) :: hdferr
+!*****
+ INTERFACE
+ INTEGER FUNCTION h5tpack_c(type_id) BIND(C,NAME='h5tpack_c')
+ IMPORT :: HID_T
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: type_id
+ END FUNCTION h5tpack_c
+ END INTERFACE
+
+ hdferr = h5tpack_c(type_id)
+ END SUBROUTINE h5tpack_f
+
+! !$!
+! !$!****s* H5T/h5tinsert_array_f
+! !$!
+! !$! NAME
+! !$! h5tinsert_array_f
+! !$!
+! !$! PURPOSE
+! !$! This function is not available on hdf5-1.4.*
+! !$!
+! !$! INPUTS
+! !$! OUTPUTS
+! !$! hdferr: - error code
+! !$! Success: 0
+! !$! Failure: -1
+! !$!
+! !$! AUTHOR
+! !$! Elena Pourmal
+! !$! August 12, 1999
+! !$!
+! !$! HISTORY
+! !$! Explicit Fortran interfaces were added for
+! !$! called C functions (it is needed for Windows
+! !$! port). March 7, 2001
+! !$! SOURCE
+! SUBROUTINE h5tinsert_array_f(parent_id,name,offset, ndims, dims, member_id, hdferr, perm)
+! IMPLICIT NONE
+! INTEGER(HID_T), INTENT(IN) :: parent_id ! identifier of the parent compound datatype
+! CHARACTER(LEN=*), INTENT(IN) :: name !Name of the new member
+! INTEGER(SIZE_T), INTENT(IN) :: offset !Offset to start of new member
+! !within compound datatype
+! INTEGER, INTENT(IN) :: ndims !Dimensionality of new member.
+! !Valid values are 0 (zero) through 4 (four)
+! INTEGER(SIZE_T), DIMENSION(*), INTENT(IN) :: dims !Size of new member array
+! INTEGER(HID_T), INTENT(IN) :: member_id ! identifier of the datatype of the new member
+! INTEGER, INTENT(OUT) :: hdferr ! Error code
+! !*****!
+! INTEGER, DIMENSION(*), OPTIONAL, INTENT(IN) :: perm
+! !Pointer to buffer to store
+! !the permutation vector of the field
+! INTEGER :: namelen, sizeofperm
+! INTEGER, EXTERNAL :: h5tinsert_array_c, h5tinsert_array_c2
+! namelen = LEN(name)
+! if (present(perm)) then
+! hdferr = h5tinsert_array_c(parent_id, name, namelen, offset, ndims,dims, member_id, perm)
+! else
+! hdferr = h5tinsert_array_c2(parent_id, name, namelen, offset, ndims,dims, member_id)
+! end if
+!
+! END SUBROUTINE h5tinsert_array_f
+
+!
+!****s* H5T/h5tarray_create_f
+!
+! NAME
+! h5tarray_create_f
+!
+! PURPOSE
+! Creates an array datatype object.
+!
+! INPUTS
+! base_id - datatype identifier for the array
+! base datatype
+! rank - rank of the array
+! dims - array dimension sizes
+! OUTPUTS
+! type_id - array datatype identifier
+! hdferr - Returns 0 if successful and -1 if fails
+!
+! AUTHOR
+! Elena Pourmal
+! August 12, 1999
+!
+! HISTORY
+! Explicit Fortran interfaces were added for
+! called C functions (it is needed for Windows
+! port). March 7, 2001
+! SOURCE
+ SUBROUTINE h5tarray_create_f(base_id, rank, dims, type_id, hdferr)
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: base_id
+ INTEGER, INTENT(IN) :: rank
+ INTEGER(HSIZE_T), DIMENSION(*), INTENT(IN) :: dims
+ INTEGER(HID_T), INTENT(OUT) :: type_id
+ INTEGER, INTENT(OUT) :: hdferr
+!*****
+ INTERFACE
+ INTEGER FUNCTION h5tarray_create_c(base_id, rank, dims, type_id) BIND(C,NAME='h5tarray_create_c')
+ IMPORT :: HID_T, HSIZE_T
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: base_id
+ INTEGER, INTENT(IN) :: rank
+ INTEGER(HSIZE_T), DIMENSION(*), INTENT(IN) :: dims
+ INTEGER(HID_T), INTENT(OUT) :: type_id
+ END FUNCTION h5tarray_create_c
+ END INTERFACE
+
+ hdferr = h5tarray_create_c(base_id, rank, dims, type_id)
+
+ END SUBROUTINE h5tarray_create_f
+
+!
+!****s* H5T/h5tenum_create_f
+!
+! NAME
+! h5tenum_create_f
+!
+! PURPOSE
+! Creates a new enumeration datatype.
+!
+! INPUTS
+! parent_id - datatype identifier for base datatype
+! OUTPUTS
+! new_type_id - datatype identifier for the enumeration datatype
+! hdferr - Returns 0 if successful and -1 if fails
+!
+! AUTHOR
+! Elena Pourmal
+! August 12, 1999
+!
+! HISTORY
+! Explicit Fortran interfaces were added for
+! called C functions (it is needed for Windows
+! port). March 7, 2001
+! SOURCE
+ SUBROUTINE h5tenum_create_f(parent_id, new_type_id, hdferr)
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: parent_id
+ INTEGER(HID_T), INTENT(OUT) :: new_type_id
+ INTEGER, INTENT(OUT) :: hdferr
+!*****
+
+ INTERFACE
+ INTEGER FUNCTION h5tenum_create_c(parent_id, new_type_id) BIND(C,NAME='h5tenum_create_c')
+ IMPORT :: HID_T
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: parent_id
+ INTEGER(HID_T), INTENT(OUT) :: new_type_id
+ END FUNCTION h5tenum_create_c
+ END INTERFACE
+
+ hdferr = h5tenum_create_c(parent_id, new_type_id)
+ END SUBROUTINE h5tenum_create_f
+!
+!****s* H5T/h5tenum_nameof_f
+!
+! NAME
+! h5tenum_nameof_f
+!
+! PURPOSE
+! Returns the symbol name corresponding to a specified
+! member of an enumeration datatype.
+!
+! INPUTS
+! type_id - datatype identifier
+! value - value of the enumeration datatype
+! namelen - name buffer size
+! OUTPUTS
+! name - buffer to hold symbol name
+! hdferr - Returns 0 if successful and -1 if fails
+!
+! AUTHOR
+! Elena Pourmal
+! August 12, 1999
+!
+! HISTORY
+! Explicit Fortran interfaces were added for
+! called C functions (it is needed for Windows
+! port). March 7, 2001
+!
+! NOTE
+! According to the standard: Because an INTENT(OUT) variable is considered undefined
+! on entry to the procedure, any default initialization specified for its type will
+! be applied. So we need to blank out the "name" to be portable and eliminate any
+! characters the "name' may contain upon entry, depending on compiler implementation.
+! SOURCE
+ SUBROUTINE h5tenum_nameof_f(type_id, value, namelen, name, hdferr)
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: type_id
+ CHARACTER(LEN=*), INTENT(OUT) :: name
+ INTEGER(SIZE_T), INTENT(IN) :: namelen
+ INTEGER, INTENT(IN) :: value
+ INTEGER, INTENT(OUT) :: hdferr
+!*****
+ INTERFACE
+ INTEGER FUNCTION h5tenum_nameof_c(type_id, value, name, namelen) BIND(C,NAME='h5tenum_nameof_c')
+ IMPORT :: C_CHAR
+ IMPORT :: HID_T, SIZE_T
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: type_id
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(OUT) :: name
+ INTEGER(SIZE_T), INTENT(IN) :: namelen
+ INTEGER, INTENT(IN) :: value
+ END FUNCTION h5tenum_nameof_c
+ END INTERFACE
+
+ name(1:LEN(name)) = ' '
+
+ hdferr = h5tenum_nameof_c(type_id, value, name, namelen)
+ END SUBROUTINE h5tenum_nameof_f
+!
+!****s* H5T/h5tenum_valuof_f
+!
+! NAME
+! h5tenum_valuof_f
+!
+! PURPOSE
+! Returns the value corresponding to a specified
+! member of an enumeration datatype.
+!
+! INPUTS
+! type_id - datatype identifier
+! name - symbol name
+! OUTPUTS
+! value - value of the enumeration datatype
+! hdferr - Returns 0 if successful and -1 if fails
+!
+! AUTHOR
+! Elena Pourmal
+! August 12, 1999
+!
+! HISTORY
+! Explicit Fortran interfaces were added for
+! called C functions (it is needed for Windows
+! port). March 7, 2001
+!
+! SOURCE
+ SUBROUTINE h5tenum_valueof_f(type_id, name, value, hdferr)
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: type_id
+ CHARACTER(LEN=*), INTENT(IN) :: name
+ INTEGER, INTENT(OUT) :: value
+ INTEGER, INTENT(OUT) :: hdferr
+!*****
+ INTEGER :: namelen
+
+ INTERFACE
+ INTEGER FUNCTION h5tenum_valueof_c(type_id, name, namelen, value) &
+ BIND(C,NAME='h5tenum_valueof_c')
+ IMPORT :: C_CHAR
+ IMPORT :: HID_T
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: type_id
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(IN) :: name
+ INTEGER, INTENT(IN) :: namelen
+ INTEGER, INTENT(OUT) :: value
+ END FUNCTION h5tenum_valueof_c
+ END INTERFACE
+
+ namelen = LEN(name)
+ hdferr = h5tenum_valueof_c(type_id, name, namelen, value)
+ END SUBROUTINE h5tenum_valueof_f
+
+!
+!****s* H5T/h5tget_member_value_f
+!
+! NAME
+! h5tget_member_value_f
+!
+! PURPOSE
+! Returns the value of an enumeration datatype member.
+!
+! INPUTS
+! type_id - datatype identifier
+! member_no - number of the enumeration datatype member
+! OUTPUTS
+! value - value of the enumeration datatype
+! hdferr - Returns 0 if successful and -1 if fails
+!
+! AUTHOR
+! Elena Pourmal
+! August 12, 1999
+!
+! HISTORY
+! Explicit Fortran interfaces were added for
+! called C functions (it is needed for Windows
+! port). March 7, 2001
+! SOURCE
+ SUBROUTINE h5tget_member_value_f(type_id, member_no, value, hdferr)
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: type_id
+ INTEGER, INTENT(IN) :: member_no
+ INTEGER, INTENT(OUT) :: value
+ INTEGER, INTENT(OUT) :: hdferr
+!*****
+ INTERFACE
+ INTEGER FUNCTION h5tget_member_value_c(type_id, member_no, value) &
+ BIND(C,NAME='h5tget_member_value_c')
+ IMPORT :: HID_T
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: type_id
+ INTEGER, INTENT(IN) :: member_no
+ INTEGER, INTENT(OUT) :: value
+ END FUNCTION h5tget_member_value_c
+ END INTERFACE
+
+ hdferr = h5tget_member_value_c(type_id, member_no, value)
+ END SUBROUTINE h5tget_member_value_f
+
+!
+!****s* H5T/h5tset_tag_f
+!
+! NAME
+! h5tset_tag_f
+!
+! PURPOSE
+! Tags an opaque datatype.
+!
+! INPUTS
+! type_id - identifier for opaque datatype
+! tag - unique ASCII string with which the opaque
+! datatype is to be tagged.
+! OUTPUTS
+! hdferr - Returns 0 if successful and -1 if fails
+!
+! AUTHOR
+! Elena Pourmal
+! August 12, 1999
+!
+! HISTORY
+! Explicit Fortran interfaces were added for
+! called C functions (it is needed for Windows
+! port). March 7, 2001
+! SOURCE
+ SUBROUTINE h5tset_tag_f(type_id, tag, hdferr)
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: type_id
+ CHARACTER(LEN=*), INTENT(IN) :: tag
+ INTEGER, INTENT(OUT) :: hdferr
+!*****
+ INTEGER :: taglen
+
+ INTERFACE
+ INTEGER FUNCTION h5tset_tag_c(type_id, tag, taglen) BIND(C,NAME='h5tset_tag_c')
+ IMPORT :: C_CHAR
+ IMPORT :: HID_T
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: type_id
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(IN) :: tag
+ INTEGER :: taglen
+ END FUNCTION h5tset_tag_c
+ END INTERFACE
+
+ taglen = LEN(tag)
+ hdferr = h5tset_tag_c(type_id, tag, taglen)
+ END SUBROUTINE h5tset_tag_f
+
+!
+!****s* H5T/h5tget_tag_f
+!
+! NAME
+! h5tget_tag_f
+!
+! PURPOSE
+! Gets the tag associated with an opaque datatype.
+!
+! INPUTS
+! type_id - identifier for opaque datatype
+! OUTPUTS
+! tag - unique ASCII string associated with opaque
+! datatype
+! taglen - Length of tag
+! hdferr - Returns 0 if successful and -1 if fails
+!
+! AUTHOR
+! Elena Pourmal
+! August 12, 1999
+!
+! HISTORY
+! Explicit Fortran interfaces were added for
+! called C functions (it is needed for Windows
+! port). March 7, 2001
+! SOURCE
+ SUBROUTINE h5tget_tag_f(type_id, tag,taglen, hdferr)
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: type_id
+ CHARACTER(LEN=*), INTENT(OUT) :: tag
+ INTEGER, INTENT(OUT) :: taglen
+ INTEGER, INTENT(OUT) :: hdferr
+!*****
+ INTEGER(SIZE_T):: tag_size ! Declared character length of tab
+ INTERFACE
+ INTEGER FUNCTION h5tget_tag_c(type_id, tag, tag_size, taglen) &
+ BIND(C,NAME='h5tget_tag_c')
+ IMPORT :: C_CHAR
+ IMPORT :: HID_T, SIZE_T
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: type_id
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(OUT) :: tag
+ INTEGER(SIZE_T), INTENT(IN) :: tag_size
+ INTEGER, INTENT(OUT) :: taglen
+ END FUNCTION h5tget_tag_c
+ END INTERFACE
+
+ tag_size = LEN(tag)
+ hdferr = h5tget_tag_c(type_id, tag, tag_size, taglen )
+ END SUBROUTINE h5tget_tag_f
+
+!
+!****s* H5T/h5tvlen_create_f
+!
+! NAME
+! h5tvlen_create_f
+!
+! PURPOSE
+! Creates a new variable-length datatype.
+!
+! INPUTS
+! type_id - identifier iof base datatype
+! OUTPUTS
+! vltype_id - identifier for VL datatype
+! hdferr - Returns 0 if successful and -1 if fails
+!
+! AUTHOR
+! Elena Pourmal
+! Wednesday, October 23, 2002
+!
+! NOTES
+! Only basic Fortran base datatypes are supported
+!
+! SOURCE
+ SUBROUTINE h5tvlen_create_f(type_id, vltype_id, hdferr)
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: type_id
+ INTEGER(HID_T), INTENT(OUT) :: vltype_id
+ INTEGER, INTENT(OUT) :: hdferr
+!*****
+ INTERFACE
+ INTEGER FUNCTION h5tvlen_create_c(type_id, vltype_id) BIND(C,NAME='h5tvlen_create_c')
+ IMPORT :: HID_T
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: type_id
+ INTEGER(HID_T), INTENT(OUT) :: vltype_id
+ END FUNCTION h5tvlen_create_c
+ END INTERFACE
+
+ hdferr = h5tvlen_create_c(type_id, vltype_id)
+ END SUBROUTINE h5tvlen_create_f
+
+!
+!****s* H5T/h5tis_variable_str_f
+!
+! NAME
+! h5tis_variable_str_f
+!
+! PURPOSE
+! Determines whether a dattype is a variable string.
+!
+! INPUTS
+! type_id - datartpe identifier
+! OUTPUTS
+! status - flag to indicate if datatype
+! is a variable string ( TRUE or FALSE)
+! hdferr - Returns 0 if successful and -1 if fails
+!
+! AUTHOR
+! Elena Pourmal
+! March 12, 2003
+!
+! SOURCE
+ SUBROUTINE h5tis_variable_str_f(type_id, status, hdferr)
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: type_id
+ LOGICAL, INTENT(OUT) :: status
+ INTEGER, INTENT(OUT) :: hdferr
+!*****
+ INTEGER :: flag ! "TRUE/FALSE/ERROR from C"
+
+ INTERFACE
+ INTEGER FUNCTION h5tis_variable_str_c(type_id, flag) &
+ BIND(C,NAME='h5tis_variable_str_c')
+ IMPORT :: HID_T
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: type_id
+ INTEGER :: flag
+ END FUNCTION h5tis_variable_str_c
+ END INTERFACE
+
+ hdferr = h5tis_variable_str_c(type_id, flag)
+ status = .TRUE.
+ IF (flag .EQ. 0) status = .FALSE.
+
+ END SUBROUTINE h5tis_variable_str_f
+
+!
+!****s* H5T/h5tget_member_class_f
+!
+! NAME
+! h5tget_member_class_f
+!
+! PURPOSE
+! Returns datatype class of compound datatype member.
+!
+! INPUTS
+! type_id - datartpe identifier
+! member_no - index of compound datatype member
+! OUTPUTS
+! class - class type for compound dadtype member
+! Valid classes:
+! H5T_NO_CLASS_F (error)
+! H5T_INTEGER_F
+! H5T_FLOAT_F
+! H5T_TIME_F
+! H5T_STRING_F
+! H5T_BITFIELD_F
+! H5T_OPAQUE_F
+! H5T_COMPOUND_F
+! H5T_REFERENCE_F
+! H5T_ENUM_F
+! H5T_VLEN_F
+! H5T_ARRAY_F
+! hdferr - Returns 0 if successful and -1 if fails
+!
+! AUTHOR
+! Elena Pourmal
+! April 6, 2005
+!
+! SOURCE
+ SUBROUTINE h5tget_member_class_f(type_id, member_no, class, hdferr)
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: type_id
+ INTEGER, INTENT(IN) :: member_no
+ INTEGER, INTENT(OUT) :: class
+ INTEGER, INTENT(OUT) :: hdferr
+!*****
+ INTERFACE
+ INTEGER FUNCTION h5tget_member_class_c(type_id, member_no, class) &
+ BIND(C,NAME='h5tget_member_class_c')
+ IMPORT :: HID_T
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: type_id
+ INTEGER, INTENT(IN) :: member_no
+ INTEGER, INTENT(OUT) :: class
+ END FUNCTION h5tget_member_class_c
+ END INTERFACE
+
+ hdferr = h5tget_member_class_c(type_id, member_no, class)
+
+ END SUBROUTINE h5tget_member_class_f
+
+!
+!****s* H5T/h5tcommit_anon_f
+!
+! NAME
+! h5tcommit_anon_f
+!
+! PURPOSE
+! Commits a transient datatype to a file,
+! creating a new named datatype,
+! but does not link it into the file structure.
+!
+! INPUTS
+! loc_id - A file or group identifier specifying the file
+! in which the new named datatype is to be created.
+! dtype_id - A datatype identifier.
+!
+! OUTPUTS
+! hdferr - Returns 0 if successful and -1 if fails
+! OPTIONAL PARAMETERS
+! tcpl_id - A datatype creation property list identifier.
+! (H5P_DEFAULT_F for the default property list.)
+! tapl_id - A datatype access property list identifier.
+! should always be passed as the value H5P_DEFAULT_F.
+!
+! AUTHOR
+! M. Scot Breitenfeld
+! February 25, 2008
+!
+! SOURCE
+ SUBROUTINE h5tcommit_anon_f(loc_id, dtype_id, hdferr, tcpl_id, tapl_id)
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: loc_id
+ INTEGER(HID_T), INTENT(IN) :: dtype_id
+ INTEGER, INTENT(OUT) :: hdferr
+ INTEGER(HID_T), OPTIONAL, INTENT(IN) :: tcpl_id
+ INTEGER(HID_T), OPTIONAL, INTENT(IN) :: tapl_id
+!*****
+ INTEGER(HID_T) :: tcpl_id_default
+ INTEGER(HID_T) :: tapl_id_default
+
+ INTERFACE
+ INTEGER FUNCTION h5tcommit_anon_c(loc_id, dtype_id, &
+ tcpl_id_default, tapl_id_default) BIND(C,NAME='h5tcommit_anon_c')
+ IMPORT :: HID_T
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: loc_id
+ INTEGER(HID_T), INTENT(IN) :: dtype_id
+ INTEGER(HID_T) :: tcpl_id_default
+ INTEGER(HID_T) :: tapl_id_default
+ END FUNCTION h5tcommit_anon_c
+ END INTERFACE
+
+ tcpl_id_default = H5P_DEFAULT_F
+ tapl_id_default = H5P_DEFAULT_F
+
+ IF(PRESENT(tcpl_id)) tcpl_id_default = tcpl_id
+ IF(PRESENT(tapl_id)) tapl_id_default = tapl_id
+
+ hdferr = h5tcommit_anon_c(loc_id, dtype_id, &
+ tcpl_id_default, tapl_id_default )
+
+ END SUBROUTINE h5tcommit_anon_f
+
+!
+!****s* H5T/h5tcommitted_f
+!
+! NAME
+! h5tcommitted_f
+!
+! PURPOSE
+! Determines whether a datatype is a named type or a transient type.
+!
+! INPUTS
+! dtype_id - A datatype identifier.
+!
+! OUTPUTS
+! committed - .TRUE., if the datatype has been committed
+! .FALSE., if the datatype has not been committed.
+! hdferr - Returns 0 if successful and -1 if fails
+! AUTHOR
+! M. Scot Breitenfeld
+! February 25, 2008
+!
+! SOURCE
+ SUBROUTINE h5tcommitted_f(dtype_id, committed, hdferr)
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: dtype_id
+ LOGICAL, INTENT(OUT) :: committed
+ INTEGER, INTENT(OUT) :: hdferr
+!*****
+ INTERFACE
+ INTEGER FUNCTION h5tcommitted_c(dtype_id) BIND(C,NAME='h5tcommitted_c')
+ IMPORT :: HID_T
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: dtype_id
+ END FUNCTION h5tcommitted_c
+ END INTERFACE
+
+ hdferr = h5tcommitted_c(dtype_id)
+
+ IF(hdferr.GT.0)THEN
+ committed = .TRUE.
+ hdferr = 0
+ ELSE IF(hdferr.EQ.0)THEN
+ committed = .FALSE.
+ hdferr = 0
+ ELSE
+ hdferr = -1
+ ENDIF
+
+ END SUBROUTINE h5tcommitted_f
+
+!
+!****s* H5T/H5Tdecode_f
+!
+! NAME
+! H5Tdecode_f
+!
+! PURPOSE
+! Decode a binary object description of data type and return a new object handle.
+! INPUTS
+! buf - Buffer for the data space object to be decoded.
+! obj_id - Object ID
+! OUTPUTS
+! hdferr - Returns 0 if successful and -1 if fails
+!
+! AUTHOR
+! M. Scot Breitenfeld
+! April 9, 2008
+!
+! SOURCE
+ SUBROUTINE h5tdecode_f(buf, obj_id, hdferr)
+ IMPLICIT NONE
+ CHARACTER(LEN=*), INTENT(IN) :: buf
+ INTEGER(HID_T), INTENT(OUT) :: obj_id
+ INTEGER, INTENT(OUT) :: hdferr
+!*****
+ INTERFACE
+ INTEGER FUNCTION h5tdecode_c(buf, obj_id) BIND(C,NAME='h5tdecode_c')
+ IMPORT :: C_CHAR
+ IMPORT :: HID_T
+ IMPLICIT NONE
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(IN) :: buf
+ INTEGER(HID_T), INTENT(OUT) :: obj_id ! Object ID
+ END FUNCTION h5tdecode_c
+ END INTERFACE
+
+ hdferr = h5tdecode_c(buf, obj_id)
+
+ END SUBROUTINE h5tdecode_f
+
+!
+!****s* H5T/H5Tencode_f
+!
+! NAME
+! H5Tencode_f
+!
+! PURPOSE
+! Encode a data type object description into a binary buffer.
+!
+! INPUTS
+! obj_id - Identifier of the object to be encoded.
+! buf - Buffer for the object to be encoded into.
+! nalloc - The size of the allocated buffer.
+! OUTPUTS
+! nalloc - The size of the buffer needed.
+! hdferr - Returns 0 if successful and -1 if fails.
+!
+! AUTHOR
+! M. Scot Breitenfeld
+! April 9, 2008
+! SOURCE
+ SUBROUTINE h5tencode_f(obj_id, buf, nalloc, hdferr)
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: obj_id
+ CHARACTER(LEN=*), INTENT(OUT) :: buf
+ INTEGER(SIZE_T), INTENT(INOUT) :: nalloc
+ INTEGER, INTENT(OUT) :: hdferr
+!*****
+
+ INTERFACE
+ INTEGER FUNCTION h5tencode_c(buf, obj_id, nalloc) BIND(C,NAME='h5tencode_c')
+ IMPORT :: C_CHAR
+ IMPORT :: HID_T, SIZE_T
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: obj_id
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(OUT) :: buf
+ INTEGER(SIZE_T), INTENT(INOUT) :: nalloc
+ END FUNCTION h5tencode_c
+ END INTERFACE
+
+ hdferr = h5tencode_c(buf, obj_id, nalloc)
+
+ END SUBROUTINE h5tencode_f
+
+!
+!****s* H5T/h5tget_create_plist_f
+!
+! NAME
+! h5tget_create_plist_f
+!
+! PURPOSE
+! Returns a copy of a datatype creation property list.
+!
+! INPUTS
+! dtype_id - Datatype identifier
+! OUTPUTS
+! dtpl_id - Datatype property list identifier
+! hdferr - Returns 0 if successful and -1 if fails
+!
+! AUTHOR
+! M. Scot Breitenfeld
+! April 9, 2008
+!
+! SOURCE
+ SUBROUTINE h5tget_create_plist_f(dtype_id, dtpl_id, hdferr)
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: dtype_id
+ INTEGER(HID_T), INTENT(OUT) :: dtpl_id
+ INTEGER, INTENT(OUT) :: hdferr
+!*****
+ INTERFACE
+ INTEGER FUNCTION h5tget_create_plist_c(dtype_id, dtpl_id) BIND(C,NAME='h5tget_create_plist_c')
+ IMPORT :: HID_T
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: dtype_id
+ INTEGER(HID_T), INTENT(OUT) :: dtpl_id
+ END FUNCTION h5tget_create_plist_c
+ END INTERFACE
+
+ hdferr = h5tget_create_plist_c(dtype_id, dtpl_id)
+ END SUBROUTINE h5tget_create_plist_f
+
+!
+!****s* H5T/h5tcompiler_conv_f
+!
+! NAME
+! h5tcompiler_conv_f
+!
+! PURPOSE
+! Check whether the library’s default conversion is hard conversion.R
+!
+! INPUTS
+! src_id - Identifier for the source datatype.
+! dst_id - Identifier for the destination datatype.
+! OUTPUTS
+! flag - TRUE for compiler conversion, FALSE for library conversion
+! hdferr - Returns 0 if successful and -1 if fails
+!
+! AUTHOR
+! M. Scot Breitenfeld
+! April 9, 2008
+! SOURCE
+ SUBROUTINE h5tcompiler_conv_f( src_id, dst_id, flag, hdferr)
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: src_id
+ INTEGER(HID_T), INTENT(IN) :: dst_id
+ LOGICAL, INTENT(OUT) :: flag
+ INTEGER, INTENT(OUT) :: hdferr
+!*****
+ INTEGER :: c_flag
+
+ INTERFACE
+ INTEGER FUNCTION h5tcompiler_conv_c(src_id, dst_id, c_flag) BIND(C,NAME='h5tcompiler_conv_c')
+ IMPORT :: HID_T
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: src_id
+ INTEGER(HID_T), INTENT(IN) :: dst_id
+ INTEGER :: c_flag
+ END FUNCTION h5tcompiler_conv_c
+ END INTERFACE
+
+ hdferr = h5tcompiler_conv_c(src_id, dst_id, c_flag)
+
+ flag = .FALSE.
+ IF(c_flag .GT. 0) flag = .TRUE.
+
+ END SUBROUTINE h5tcompiler_conv_f
+
+!
+!****s* H5T/h5tget_native_type_f
+!
+! NAME
+! h5tget_native_type_f
+!
+! PURPOSE
+! Returns the native datatype of a specified datatype.
+!
+! INPUTS
+! dtype_id - Datatype identifier for the dataset datatype.
+!
+! direction - Direction of search:
+! H5T_DIR_DEFAULT, default direction is inscendent,
+! H5T_DIR_ASCEND , in inscendent order,
+! H5T_DIR_DESCEND, in descendent order.
+!
+! * NOTE: In C it is defined as a structure: H5T_direction_t
+!
+! OUTPUTS
+! native_dtype_id - The native datatype identifier for the specified dataset datatype
+! hdferr - Returns 0 if successful and -1 if fails
+! AUTHOR
+! M. Scot Breitenfeld
+! June 18, 2008
+! SOURCE
+ SUBROUTINE h5tget_native_type_f(dtype_id, direction, native_dtype_id, hdferr)
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: dtype_id
+ INTEGER, INTENT(IN) :: direction
+ INTEGER(HID_T), INTENT(OUT) :: native_dtype_id
+ INTEGER, INTENT(OUT) :: hdferr
+!*****
+ INTERFACE
+ INTEGER FUNCTION h5tget_native_type_c(dtype_id, direction, native_dtype_id) BIND(C,NAME='h5tget_native_type_c')
+ IMPORT :: HID_T
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: dtype_id
+ INTEGER, INTENT(IN) :: direction
+ INTEGER(HID_T), INTENT(OUT) :: native_dtype_id
+ END FUNCTION h5tget_native_type_c
+ END INTERFACE
+
+ hdferr = h5tget_native_type_c(dtype_id, direction, native_dtype_id)
+ END SUBROUTINE h5tget_native_type_f
+
+!****s* H5T/H5Tconvert_f_F03
+!
+! NAME
+! H5Tconvert_f
+!
+! PURPOSE
+! Converts data from between specified datatypes.
+!
+! Inputs:
+! src_id - Identifier for the source datatype.
+! dst_id - Identifier for the destination datatype.
+! nelmts - Size of array buf.
+! buf - Array containing pre-conversion values.
+! background - Optional background buffer.
+! plist_id - Dataset transfer property list identifier.
+!
+! Outputs:
+! buf - Array containing post-conversion values.
+! hdferr - error code:
+! 0 on success and -1 on failure
+! AUTHOR
+! M. Scot Breitenfeld
+! Decemember 8, 2008
+!
+! Fortran2003 Interface:
+ SUBROUTINE h5tconvert_f(src_id, dst_id, nelmts, buf, hdferr, background, plist_id)
+ IMPLICIT NONE
+ INTEGER(HID_T) , INTENT(IN) :: src_id
+ INTEGER(HID_T) , INTENT(IN) :: dst_id
+ INTEGER(SIZE_T), INTENT(IN) :: nelmts
+ TYPE(C_PTR) , INTENT(INOUT) :: buf
+ INTEGER , INTENT(OUT) :: hdferr
+ TYPE(C_PTR) , INTENT(INOUT), OPTIONAL :: background
+ INTEGER(HID_T) , INTENT(IN) , OPTIONAL :: plist_id
+!*****
+ INTEGER(HID_T) :: plist_id_default
+ TYPE(C_PTR) :: background_default
+
+ INTERFACE
+ INTEGER FUNCTION h5tconvert_c(src_id, dst_id, nelmts, buf, background, plist_id) &
+ BIND(C, NAME='h5tconvert_c')
+ IMPORT :: c_ptr
+ IMPORT :: HID_T, SIZE_T
+ IMPLICIT NONE
+ INTEGER(HID_T) , INTENT(IN) :: src_id
+ INTEGER(HID_T) , INTENT(IN) :: dst_id
+ INTEGER(SIZE_T), INTENT(IN) :: nelmts
+ TYPE(C_PTR) , VALUE :: buf
+ TYPE(C_PTR) , VALUE :: background
+ INTEGER(HID_T) , INTENT(IN) :: plist_id
+ END FUNCTION h5tconvert_c
+ END INTERFACE
+
+ plist_id_default = H5P_DEFAULT_F
+ IF(PRESENT(plist_id)) plist_id_default = plist_id
+
+ background_default = C_NULL_PTR
+ IF(PRESENT(background)) background_default = background
+
+ hdferr = H5Tconvert_c(src_id, dst_id, nelmts, buf, background_default, plist_id_default)
+
+ END SUBROUTINE h5tconvert_f
+!
+!****s* H5T/h5tenum_insert_f90
+!
+! NAME
+! h5tenum_insert_f
+!
+! PURPOSE
+! Inserts a new enumeration datatype member.
+!
+! INPUTS
+! type_id - Datatype identifier for the enumeration datatype.
+! name - Datatype identifier.
+! value - Value of the new member.
+! OUTPUTS
+! hdferr - Returns 0 if successful and -1 if fails
+!
+! AUTHOR
+! Elena Pourmal
+! August 12, 1999
+!
+! HISTORY
+! Explicit Fortran interfaces were added for
+! called C functions (it is needed for Windows
+! port). March 7, 2001
+! SOURCE
+ SUBROUTINE h5tenum_insert_f90(type_id, name, value, hdferr)
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: type_id
+ CHARACTER(LEN=*), INTENT(IN) :: name
+ INTEGER, INTENT(IN) :: value
+ INTEGER, INTENT(OUT) :: hdferr
+!*****
+ INTEGER :: namelen
+ INTERFACE
+ INTEGER FUNCTION h5tenum_insert_c(type_id, name, namelen, value) BIND(C,NAME='h5tenum_insert_c')
+ IMPORT :: C_CHAR
+ IMPORT :: HID_T
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: type_id
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(IN) :: name
+ INTEGER, INTENT(IN) :: value
+ INTEGER :: namelen
+ END FUNCTION h5tenum_insert_c
+ END INTERFACE
+
+ namelen = LEN(name)
+ hdferr = h5tenum_insert_c(type_id, name, namelen, value)
+ END SUBROUTINE h5tenum_insert_f90
+
+!
+!****s* H5T/h5tenum_insert_f03
+!
+! NAME
+! h5tenum_insert_f
+!
+! PURPOSE
+! Inserts a new enumeration datatype member.
+!
+! INPUTS
+! type_id - Datatype identifier for the enumeration datatype.
+! name - Datatype identifier.
+! value - Pointer to the value of the new member.
+! OUTPUTS
+! hdferr - Returns 0 if successful and -1 if fails
+!
+! AUTHOR
+! M. Scot Breitenfeld
+! February 6, 2015
+!
+! HISTORY
+! F2003 implementation of function
+! SOURCE
+ SUBROUTINE h5tenum_insert_f03(type_id, name, value, hdferr)
+ IMPLICIT NONE
+ INTEGER(HID_T) , INTENT(IN) :: type_id
+ CHARACTER(LEN=*), INTENT(IN) :: name
+ TYPE(C_PTR) , INTENT(IN) :: value
+ INTEGER, INTENT(OUT) :: hdferr
+!*****
+ INTEGER :: namelen
+
+ INTERFACE
+ INTEGER FUNCTION h5tenum_insert_ptr_c(type_id, name, namelen, value) &
+ BIND(C, NAME='h5tenum_insert_ptr_c')
+ IMPORT :: C_CHAR, C_PTR
+ IMPORT :: HID_T
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: type_id
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(IN) :: name
+ INTEGER :: namelen
+ TYPE(C_PTR), VALUE :: value
+ END FUNCTION h5tenum_insert_ptr_c
+ END INTERFACE
+
+ namelen = LEN(name)
+ hdferr = h5tenum_insert_ptr_c(type_id, name, namelen, value)
+ END SUBROUTINE h5tenum_insert_f03
+
+END MODULE H5T
diff --git a/fortran/src/H5Tff.f90 b/fortran/src/H5Tff.f90
deleted file mode 100644
index 4b4c0b6..0000000
--- a/fortran/src/H5Tff.f90
+++ /dev/null
@@ -1,3105 +0,0 @@
-!****h* ROBODoc/H5T
-!
-! NAME
-! MODULE H5T
-!
-! PURPOSE
-! This file contains Fortran interfaces for H5T functions. It includes
-! all the functions that are independent on whether the Fortran 2003 functions
-! are enabled or disabled.
-!
-!
-! COPYRIGHT
-! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
-! Copyright by The HDF Group. *
-! Copyright by the Board of Trustees of the University of Illinois. *
-! All rights reserved. *
-! *
-! This file is part of HDF5. The full HDF5 copyright notice, including *
-! terms governing use, modification, and redistribution, is contained in *
-! the files COPYING and Copyright.html. COPYING can be found at the root *
-! of the source code distribution tree; Copyright.html can be found at the *
-! root level of an installed copy of the electronic HDF5 document set and *
-! is linked from the top-level documents page. It can also be found at *
-! http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have *
-! access to either file, you may request a copy from help@hdfgroup.org. *
-! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
-!
-! NOTES
-! *** IMPORTANT ***
-! If you add a new H5T function you must add the function name to the
-! Windows dll file 'hdf5_fortrandll.def.in' in the fortran/src directory.
-! This is needed for Windows based operating systems.
-!
-!*****
-
-MODULE H5T
-
- USE H5GLOBAL
-
-CONTAINS
-
-!
-!****s* H5T/h5topen_f
-!
-! NAME
-! h5topen_f
-!
-! PURPOSE
-! Opens named datatype.
-!
-! INPUTS
-! loc_id - location identifier
-! name - a datatype name
-! OUTPUTS
-! type_id - datatype identifier
-! hdferr - Returns 0 if successful and -1 if fails
-! OPTIONAL PARAMETERS
-! tapl_id - datatype access property list identifier.
-!
-! AUTHOR
-! Elena Pourmal
-! August 12, 1999
-!
-! HISTORY
-! Explicit Fortran interfaces were added for
-! called C functions (it is needed for Windows
-! port). March 7, 2001
-!
-! Added optional parameter 'tapl_id' for compatability
-! with H5Topen2. April 9, 2009.
-!
-! SOURCE
- SUBROUTINE h5topen_f(loc_id, name, type_id, hdferr, tapl_id)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: loc_id ! File or group identifier
- CHARACTER(LEN=*), INTENT(IN) :: name ! Datatype name within file or group
- INTEGER(HID_T), INTENT(OUT) :: type_id ! Datatype identifier
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: tapl_id ! datatype access property list identifier
-!*****
- INTEGER :: namelen ! Name length
- INTEGER(HID_T) :: tapl_id_default
-
- INTERFACE
- INTEGER FUNCTION h5topen_c(loc_id, name, namelen, type_id, tapl_id_default)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5TOPEN_C'::h5topen_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference ::name
- INTEGER(HID_T), INTENT(IN) :: loc_id
- CHARACTER(LEN=*), INTENT(IN) :: name
- INTEGER :: namelen
- INTEGER(HID_T), INTENT(OUT) :: type_id
- INTEGER(HID_T) :: tapl_id_default
- END FUNCTION h5topen_c
- END INTERFACE
-
- namelen = LEN(name)
-
- tapl_id_default = H5P_DEFAULT_F
- IF(PRESENT(tapl_id)) tapl_id_default = tapl_id
-
- hdferr = h5topen_c(loc_id, name, namelen, type_id, tapl_id_default)
- END SUBROUTINE h5topen_f
-!
-!****s* H5T/h5tcommit_f
-!
-! NAME
-! h5tcommit_f
-!
-! PURPOSE
-! Commits a transient datatype to a file, creating a
-! new named datatype.
-!
-! INPUTS
-! loc_id - location identifier
-! name - name of the datatype to be stored
-! at the specified location
-! type_id - identifier of a datatype to be stored
-! OUTPUTS
-! hdferr - Returns 0 if successful and -1 if fails
-! OPTIONAL PARAMETERS
-! lcpl_id - Link creation property list
-! tcpl_id - Datatype creation property list
-! tapl_id - Datatype access property list
-!
-! AUTHOR
-! Elena Pourmal
-! August 12, 1999
-!
-! HISTORY
-! - Explicit Fortran interfaces were added for
-! called C functions (it is needed for Windows
-! port). March 7, 2001
-!
-! - Added optional parameters introduced in version 1.8
-! M. Scot Breitenfeld
-!
-! SOURCE
- SUBROUTINE h5tcommit_f(loc_id, name, type_id, hdferr, &
- lcpl_id, tcpl_id, tapl_id )
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: loc_id ! File or group identifier
- CHARACTER(LEN=*), INTENT(IN) :: name
- ! Datatype name within file or group
- INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: lcpl_id ! Link creation property list
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: tcpl_id ! Datatype creation property list
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: tapl_id ! Datatype access property list
-!*****
-
- INTEGER :: namelen ! Name length
-
- INTEGER(HID_T) :: lcpl_id_default
- INTEGER(HID_T) :: tcpl_id_default
- INTEGER(HID_T) :: tapl_id_default
-
- INTERFACE
- INTEGER FUNCTION h5tcommit_c(loc_id, name, namelen, type_id, &
- lcpl_id_default, tcpl_id_default, tapl_id_default )
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5TCOMMIT_C'::h5tcommit_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference ::name
- INTEGER(HID_T), INTENT(IN) :: loc_id
- CHARACTER(LEN=*), INTENT(IN) :: name
- INTEGER :: namelen
- INTEGER(HID_T), INTENT(IN) :: type_id
- INTEGER(HID_T) :: lcpl_id_default
- INTEGER(HID_T) :: tcpl_id_default
- INTEGER(HID_T) :: tapl_id_default
- END FUNCTION h5tcommit_c
- END INTERFACE
-
- lcpl_id_default = H5P_DEFAULT_F
- tcpl_id_default = H5P_DEFAULT_F
- tapl_id_default = H5P_DEFAULT_F
-
- IF (PRESENT(lcpl_id)) lcpl_id_default = lcpl_id
- IF (PRESENT(tcpl_id)) tcpl_id_default = tcpl_id
- IF (PRESENT(tapl_id)) tapl_id_default = tapl_id
-
- namelen = LEN(name)
-
- hdferr = h5tcommit_c(loc_id, name, namelen, type_id, &
- lcpl_id_default, tcpl_id_default, tapl_id_default )
-
- END SUBROUTINE h5tcommit_f
-!
-!****s* H5T/h5tcopy_f
-!
-! NAME
-! h5tcopy_f
-!
-! PURPOSE
-! Creates a copy of exisiting datatype.
-!
-! INPUTS
-! type_id - datatype identifier
-! OUTPUTS
-! new_type_id - identifier of datatype's copy
-! hdferr - Returns 0 if successful and -1 if fails
-! AUTHOR
-! Elena Pourmal
-! August 12, 1999
-!
-! HISTORY
-! Explicit Fortran interfaces were added for
-! called C functions (it is needed for Windows
-! port). March 7, 2001
-!
-! SOURCE
- SUBROUTINE h5tcopy_f(type_id, new_type_id, hdferr)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier
- INTEGER(HID_T), INTENT(OUT) :: new_type_id
- ! Identifier of datatype's copy
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-!*****
- INTERFACE
- INTEGER FUNCTION h5tcopy_c(type_id, new_type_id)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5TCOPY_C'::h5tcopy_c
- !DEC$ENDIF
- INTEGER(HID_T), INTENT(IN) :: type_id
- INTEGER(HID_T), INTENT(OUT) :: new_type_id
- END FUNCTION h5tcopy_c
- END INTERFACE
-
- hdferr = h5tcopy_c(type_id, new_type_id)
- END SUBROUTINE h5tcopy_f
-!
-!****s* H5T/h5tequal_f
-!
-! NAME
-! h5tequal_f
-!
-! PURPOSE
-! Determines whether two datatype identifiers refer
-! to the same datatype.
-!
-! INPUTS
-! type1_id - datatype identifier
-! type2_id - datatype identifier
-! OUTPUTS
-! flag - TRUE/FALSE flag to indicate
-! if two datatypes are equal
-! hdferr - Returns 0 if successful and -1 if fails
-! AUTHOR
-! Elena Pourmal
-! August 12, 1999
-!
-! HISTORY
-! Explicit Fortran interfaces were added for
-! called C functions (it is needed for Windows
-! port). March 7, 2001
-! SOURCE
- SUBROUTINE h5tequal_f(type1_id, type2_id, flag, hdferr)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: type1_id ! Datatype identifier
- INTEGER(HID_T), INTENT(IN) :: type2_id ! Datatype identifier
- LOGICAL, INTENT(OUT) :: flag ! TRUE/FALSE flag to indicate if two
- ! datatypes are equal
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-!*****
- INTEGER :: c_flag
- INTERFACE
- INTEGER FUNCTION h5tequal_c(type1_id, type2_id, c_flag)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5TEQUAL_C'::h5tequal_c
- !DEC$ENDIF
- INTEGER(HID_T), INTENT(IN) :: type1_id
- INTEGER(HID_T), INTENT(IN) :: type2_id
- INTEGER :: c_flag
- END FUNCTION h5tequal_c
- END INTERFACE
-
- flag = .FALSE.
- hdferr = h5tequal_c(type1_id, type2_id, c_flag)
- if(c_flag .gt. 0) flag = .TRUE.
- END SUBROUTINE h5tequal_f
-!
-!****s* H5T/h5tclose_f
-!
-! NAME
-! h5tclose_f
-!
-! PURPOSE
-! Releases a datatype.
-!
-! INPUTS
-! type_id - datatype identifier
-! OUTPUTS
-! hdferr - Returns 0 if successful and -1 if fails
-!
-! AUTHOR
-! Elena Pourmal
-! August 12, 1999
-!
-! HISTORY
-! Explicit Fortran interfaces were added for
-! called C functions (it is needed for Windows
-! port). March 7, 2001
-!
-! SOURCE
- SUBROUTINE h5tclose_f(type_id, hdferr)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-!*****
- INTERFACE
- INTEGER FUNCTION h5tclose_c(type_id)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5TCLOSE_C'::h5tclose_c
- !DEC$ENDIF
- INTEGER(HID_T), INTENT(IN) :: type_id
- END FUNCTION h5tclose_c
- END INTERFACE
-
- hdferr = h5tclose_c(type_id)
- END SUBROUTINE h5tclose_f
-!
-!****s* H5T/h5tget_class_f
-!
-! NAME
-! h5tget_class_f
-!
-! PURPOSE
-! Returns the datatype class identifier.
-!
-! INPUTS
-! type_id - Datatype identifier
-! OUTPUTS
-! class - Class, possible values are:
-! H5T_NO_CLASS_F (-1)
-! H5T_INTEGER_F (0)
-! H5T_FLOAT_F (1)
-! H5T_TIME_F (2)
-! H5T_STRING_F (3)
-! H5T_BITFIELD_F (4)
-! H5T_OPAQUE_F (5)
-! H5T_COMPOUND_F (6)
-! H5T_REFERENCE_F (7)
-! H5T_ENUM_F (8)
-! H5T_VLEN_F (9)
-! H5T_ARRAY_F (10)
-! hdferr - Returns 0 if successful and -1 if fails
-!
-! AUTHOR
-! Elena Pourmal
-! August 12, 1999
-!
-! HISTORY
-! Explicit Fortran interfaces were added for
-! called C functions (it is needed for Windows
-! port). March 7, 2001
-!
-! SOURCE
- SUBROUTINE h5tget_class_f(type_id, class, hdferr)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: type_id
- INTEGER, INTENT(OUT) :: class
- INTEGER, INTENT(OUT) :: hdferr
-!*****
- INTERFACE
- INTEGER FUNCTION h5tget_class_c(type_id, class)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5TGET_CLASS_C'::h5tget_class_c
- !DEC$ENDIF
- INTEGER(HID_T), INTENT(IN) :: type_id
- INTEGER, INTENT(OUT) :: class
- END FUNCTION h5tget_class_c
- END INTERFACE
-
- hdferr = h5tget_class_c(type_id, class)
- END SUBROUTINE h5tget_class_f
-!
-!****s* H5T/h5tget_size_f
-!
-! NAME
-! h5tget_size_f
-!
-! PURPOSE
-! Returns the size of a datatype.
-!
-! INPUTS
-! type_id - datatype identifier
-! OUTPUTS
-! size - datatype size
-! hdferr - Returns 0 if successful and -1 if fails
-!
-! AUTHOR
-! Elena Pourmal
-! August 12, 1999
-!
-! HISTORY
-! Explicit Fortran interfaces were added for
-! called C functions (it is needed for Windows
-! port). March 7, 2001
-!
-! SOURCE
- SUBROUTINE h5tget_size_f(type_id, size, hdferr)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier
- INTEGER(SIZE_T), INTENT(OUT) :: size ! Datatype size
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-!*****
- INTERFACE
- INTEGER FUNCTION h5tget_size_c(type_id, size)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5TGET_SIZE_C'::h5tget_size_c
- !DEC$ENDIF
- INTEGER(HID_T), INTENT(IN) :: type_id
- INTEGER(SIZE_T), INTENT(OUT) :: size
- END FUNCTION h5tget_size_c
- END INTERFACE
-
- hdferr = h5tget_size_c(type_id, size)
- END SUBROUTINE h5tget_size_f
-
-!
-!****s* H5T/h5tset_size_f
-!
-! NAME
-! h5tset_size_f
-!
-! PURPOSE
-! Sets the total size for an atomic datatype.
-!
-! INPUTS
-! type_id - datatype identifier
-! size - size of the datatype
-! OUTPUTS
-! hdferr - Returns 0 if successful and -1 if fails
-!
-! AUTHOR
-! Elena Pourmal
-! August 12, 1999
-!
-! HISTORY
-! Explicit Fortran interfaces were added for
-! called C functions (it is needed for Windows
-! port). March 7, 2001
-!
-!
-! SOURCE
- SUBROUTINE h5tset_size_f(type_id, size, hdferr)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier
- INTEGER(SIZE_T), INTENT(IN) :: size ! Datatype size
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-!*****
- INTERFACE
- INTEGER FUNCTION h5tset_size_c(type_id, size)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5TSET_SIZE_C'::h5tset_size_c
- !DEC$ENDIF
- INTEGER(HID_T), INTENT(IN) :: type_id
- INTEGER(SIZE_T), INTENT(IN) :: size
- END FUNCTION h5tset_size_c
- END INTERFACE
-
- hdferr = h5tset_size_c(type_id, size)
- END SUBROUTINE h5tset_size_f
-
-!
-!****s* H5T/h5tget_order_f
-!
-! NAME
-! h5tget_order_f
-!
-! PURPOSE
-! Returns the byte order of an atomic datatype.
-!
-! INPUTS
-! type_id - datatype identifier
-! OUTPUTS
-! order - byte order for the datatype, possible
-! values are:
-! H5T_ORDER_LE_F
-! H5T_ORDER_BE_F
-! H5T_ORDER_VAX_F (not implemented yet)
-! hdferr - Returns 0 if successful and -1 if fails
-! AUTHOR
-! Elena Pourmal
-! August 12, 1999
-!
-! HISTORY
-! Explicit Fortran interfaces were added for
-! called C functions (it is needed for Windows
-! port). March 7, 2001
-!
-! SOURCE
- SUBROUTINE h5tget_order_f(type_id, order, hdferr)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier
- INTEGER, INTENT(OUT) :: order
- ! Datatype byte order, possible values are:
- ! H5T_ORDER_LE_F
- ! H5T_ORDER_BE_F
- ! H5T_ORDER_VAX_F
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-!*****
- INTERFACE
- INTEGER FUNCTION h5tget_order_c(type_id, order)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5TGET_ORDER_C'::h5tget_order_c
- !DEC$ENDIF
- INTEGER(HID_T), INTENT(IN) :: type_id
- INTEGER, INTENT(OUT) :: order
- END FUNCTION h5tget_order_c
- END INTERFACE
-
- hdferr = h5tget_order_c(type_id, order)
- END SUBROUTINE h5tget_order_f
-!
-!****s* H5T/h5tset_order_f
-!
-! NAME
-! h5tset_order_f
-!
-! PURPOSE
-! Sets the byte ordering of an atomic datatype.
-!
-! INPUTS
-! type_id - datatype identifier
-! order - datatype byte order Possible values are:
-! H5T_ORDER_LE_F
-! H5T_ORDER_BE_F
-! H5T_ORDER_VAX_F (not implemented yet)
-! OUTPUTS
-! hdferr - Returns 0 if successful and -1 if fails
-! AUTHOR
-! Elena Pourmal
-! August 12, 1999
-!
-! HISTORY
-! Explicit Fortran interfaces were added for
-! called C functions (it is needed for Windows
-! port). March 7, 2001
-!
-! SOURCE
- SUBROUTINE h5tset_order_f(type_id, order, hdferr)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier
- INTEGER, INTENT(IN) :: order ! Datatype byte order, possible values
- ! are:
- ! H5T_ORDER_LE_F
- ! H5T_ORDER_BE_F
- ! H5T_ORDER_VAX_F
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-!*****
- INTERFACE
- INTEGER FUNCTION h5tset_order_c(type_id, order)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5TSET_ORDER_C'::h5tset_order_c
- !DEC$ENDIF
- INTEGER(HID_T), INTENT(IN) :: type_id
- INTEGER, INTENT(IN) :: order
- END FUNCTION h5tset_order_c
- END INTERFACE
-
- hdferr = h5tset_order_c(type_id, order)
- END SUBROUTINE h5tset_order_f
-
-!
-!****s* H5T/h5tget_precision_f
-!
-! NAME
-! h5tget_precision_f
-!
-! PURPOSE
-! Returns the precision of an atomic datatype.
-!
-! INPUTS
-! type_id - datatype identifier
-! OUTPUTS
-! precision - precision of the datatype
-! hdferr - Returns 0 if successful and -1 if fails
-!
-! AUTHOR
-! Elena Pourmal
-! August 12, 1999
-!
-! HISTORY
-! Explicit Fortran interfaces were added for
-! called C functions (it is needed for Windows
-! port). March 7, 2001
-!
-! SOURCE
- SUBROUTINE h5tget_precision_f(type_id, precision, hdferr)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier
- INTEGER(SIZE_T), INTENT(OUT) :: precision ! Datatype precision
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-!*****
- INTERFACE
- INTEGER FUNCTION h5tget_precision_c (type_id, precision)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5TGET_PRECISION_C'::h5tget_precision_c
- !DEC$ENDIF
- INTEGER(HID_T), INTENT(IN) :: type_id
- INTEGER(SIZE_T), INTENT(OUT) :: precision
- END FUNCTION h5tget_precision_c
- END INTERFACE
-
- hdferr = h5tget_precision_c(type_id, precision)
- END SUBROUTINE h5tget_precision_f
-
-!
-!****s* H5T/h5tset_precision_f
-!
-! NAME
-! h5tset_precision_f
-!
-! PURPOSE
-! Sets the precision of an atomic datatype.
-!
-! INPUTS
-! type_id - datatype identifier
-! precision - datatype precision
-! OUTPUTS
-! hdferr - Returns 0 if successful and -1 if fails
-!
-! AUTHOR
-! Elena Pourmal
-! August 12, 1999
-!
-! HISTORY
-! Explicit Fortran interfaces were added for
-! called C functions (it is needed for Windows
-! port). March 7, 2001
-!
-! SOURCE
- SUBROUTINE h5tset_precision_f(type_id, precision, hdferr)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier
- INTEGER(SIZE_T), INTENT(IN) :: precision ! Datatype precision
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-!*****
- INTERFACE
- INTEGER FUNCTION h5tset_precision_c (type_id, precision)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5TSET_PRECISION_C'::h5tset_precision_c
- !DEC$ENDIF
- INTEGER(HID_T), INTENT(IN) :: type_id
- INTEGER(SIZE_T), INTENT(IN) :: precision
- END FUNCTION h5tset_precision_c
- END INTERFACE
-
- hdferr = h5tset_precision_c(type_id, precision)
- END SUBROUTINE h5tset_precision_f
-
-!
-!****s* H5T/h5tget_offset_f
-!
-! NAME
-! h5tget_offset_f
-!
-! PURPOSE
-! Retrieves the bit offset of the first significant bit.
-!
-! INPUTS
-! type_id - datatype identifier
-! OUTPUTS
-! offset - offset value
-! hdferr - Returns 0 if successful and -1 if fails
-! AUTHOR
-! Elena Pourmal
-! August 12, 1999
-!
-! HISTORY
-! Explicit Fortran interfaces were added for
-! called C functions (it is needed for Windows
-! port). March 7, 2001
-!
-! SOURCE
- SUBROUTINE h5tget_offset_f(type_id, offset, hdferr)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier
- INTEGER(SIZE_T), INTENT(OUT) :: offset ! Datatype bit offset of the
- ! first significant bit
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-!*****
- INTERFACE
- INTEGER FUNCTION h5tget_offset_c(type_id, offset)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5TGET_OFFSET_C'::h5tget_offset_c
- !DEC$ENDIF
- INTEGER(HID_T), INTENT(IN) :: type_id
- INTEGER(SIZE_T), INTENT(OUT) :: offset
- END FUNCTION h5tget_offset_c
- END INTERFACE
-
- hdferr = h5tget_offset_c(type_id, offset)
- END SUBROUTINE h5tget_offset_f
-
-!
-!****s* H5T/h5tset_offset_f
-!
-! NAME
-! h5tset_offset_f
-!
-! PURPOSE
-! Sets the bit offset of the first significant bit.
-!
-! INPUTS
-! type_id - datatype identifier
-! offset - offset value
-! OUTPUTS
-! hdferr - Returns 0 if successful and -1 if fails
-! AUTHOR
-! Elena Pourmal
-! August 12, 1999
-!
-! HISTORY
-! Explicit Fortran interfaces were added for
-! called C functions (it is needed for Windows
-! port). March 7, 2001
-!
-! SOURCE
- SUBROUTINE h5tset_offset_f(type_id, offset, hdferr)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier
- INTEGER(SIZE_T), INTENT(IN) :: offset ! Datatype bit offset of the
- ! first significant bit
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-!*****
- INTERFACE
- INTEGER FUNCTION h5tset_offset_c(type_id, offset)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5TSET_OFFSET_C'::h5tset_offset_c
- !DEC$ENDIF
- INTEGER(HID_T), INTENT(IN) :: type_id
- INTEGER(SIZE_T), INTENT(IN) :: offset
- END FUNCTION h5tset_offset_c
- END INTERFACE
-
- hdferr = h5tset_offset_c(type_id, offset)
- END SUBROUTINE h5tset_offset_f
-
-!
-!****s* H5T/h5tget_pad_f
-!
-! NAME
-! h5tget_pad_f
-!
-! PURPOSE
-! Retrieves the padding type of the least and
-! most -significant bit padding.
-!
-! INPUTS
-! type_id - datatype identifier
-! OUTPUTS
-! lsbpad - least-significant bit padding type
-! msbpad - most-significant bit padding type
-! Possible values of padding type are:
-! H5T_PAD_ERROR_F = -1
-! H5T_PAD_ZERO_F = 0
-! H5T_PAD_ONE_F = 1
-! H5T_PAD_BACKGROUND_F = 2
-! H5T_PAD_NPAD_F = 3
-! hdferr - Returns 0 if successful and -1 if fails
-
-!
-! AUTHOR
-! Elena Pourmal
-! August 12, 1999
-!
-! HISTORY
-! Explicit Fortran interfaces were added for
-! called C functions (it is needed for Windows
-! port). March 7, 2001
-! SOURCE
- SUBROUTINE h5tget_pad_f(type_id, lsbpad, msbpad, hdferr)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier
- INTEGER, INTENT(OUT) :: lsbpad ! padding type of the
- ! least significant bit
- INTEGER, INTENT(OUT) :: msbpad ! padding type of the
- ! most significant bit
- ! Possible values of padding type are:
- ! H5T__PAD_ZERO_F = 0
- ! H5T__PAD_ONE_F = 1
- ! H5T__PAD_BACKGROUND_F = 2
- ! H5T_PAD_ERROR_F = -1
- ! H5T_PAD_NPAD_F = 3
-
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-!*****
- INTERFACE
- INTEGER FUNCTION h5tget_pad_c(type_id, lsbpad, msbpad)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5TGET_PAD_C'::h5tget_pad_c
- !DEC$ENDIF
- INTEGER(HID_T), INTENT(IN) :: type_id
- INTEGER, INTENT(OUT) :: lsbpad
- INTEGER, INTENT(OUT) :: msbpad
- END FUNCTION h5tget_pad_c
- END INTERFACE
-
- hdferr = h5tget_pad_c(type_id, lsbpad, msbpad)
- END SUBROUTINE h5tget_pad_f
-
-!
-!****s* H5T/h5tset_pad_f
-!
-! NAME
-! h5tset_pad_f
-!
-! PURPOSE
-! Sets the least and most-significant bits padding types.
-!
-! INPUTS
-! type_id - datatype identifier
-! lsbpad - least-significant bit padding type
-! msbpad - most-significant bit padding type
-! Possible values of padding type are:
-! H5T_PAD_ERROR_F = -1
-! H5T_PAD_ZERO_F = 0
-! H5T_PAD_ONE_F = 1
-! H5T_PAD_BACKGROUND_F = 2
-! H5T_PAD_NPAD_F = 3
-! OUTPUTS
-! hdferr - Returns 0 if successful and -1 if fails
-!
-! AUTHOR
-! Elena Pourmal
-! August 12, 1999
-!
-! HISTORY
-! Explicit Fortran interfaces were added for
-! called C functions (it is needed for Windows
-! port). March 7, 2001
-! SOURCE
- SUBROUTINE h5tset_pad_f(type_id, lsbpad, msbpad, hdferr)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier
- INTEGER, INTENT(IN) :: lsbpad ! padding type of the
- ! least significant bit
- INTEGER, INTENT(IN) :: msbpad ! padding type of the
- ! most significant bit
- ! Possible values of padding type are:
- ! H5T_PAD_ZERO_F = 0
- ! H5T_PAD_ONE_F = 1
- ! H5T_PAD_BACKGROUND_F = 2
- ! H5T_PAD_ERROR_F = -1
- ! H5T_PAD_NPAD_F = 3
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-!*****
- INTERFACE
- INTEGER FUNCTION h5tset_pad_c(type_id, lsbpad, msbpad)
- USE H5GLOBAL
- INTEGER(HID_T), INTENT(IN) :: type_id
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5TSET_PAD_C'::h5tset_pad_c
- !DEC$ENDIF
- INTEGER, INTENT(IN) :: lsbpad
- INTEGER, INTENT(IN) :: msbpad
- END FUNCTION h5tset_pad_c
- END INTERFACE
-
- hdferr = h5tset_pad_c(type_id, lsbpad, msbpad)
- END SUBROUTINE h5tset_pad_f
-
-!
-!****s* H5T/h5tget_sign_f
-!
-! NAME
-! h5tget_sign_f
-!
-! PURPOSE
-! Retrieves the sign type for an integer type.
-!
-! INPUTS
-! type_id - datatype identifier
-! OUTPUTS
-! sign - sign type
-! Possible values are:
-! - Unsigned integer type
-! H5T_SGN_NONE_F = 0
-! - Two's complement signed integer type
-! H5T_SGN_2_F = 1
-! - error value: H5T_SGN_ERROR_F=-1
-! hdferr - Returns 0 if successful and -1 if fails
-!
-! AUTHOR
-! Elena Pourmal
-! August 12, 1999
-!
-! HISTORY
-! Explicit Fortran interfaces were added for
-! called C functions (it is needed for Windows
-! port). March 7, 2001
-! SOURCE
- SUBROUTINE h5tget_sign_f(type_id, sign, hdferr)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier
- INTEGER, INTENT(OUT) :: sign ! sign type for an integer type
- !possible values are:
- !Unsigned integer type H5T_SGN_NONE_F = 0
- !Two's complement signed integer type
- !H5T_SGN_2_F = 1
- !or error value: H5T_SGN_ERROR_F=-1
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-!*****
-
- INTERFACE
- INTEGER FUNCTION h5tget_sign_c(type_id, sign)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5TGET_SIGN_C'::h5tget_sign_c
- !DEC$ENDIF
- INTEGER(HID_T), INTENT(IN) :: type_id
- INTEGER, INTENT(OUT) :: sign
- END FUNCTION h5tget_sign_c
- END INTERFACE
-
- hdferr = h5tget_sign_c(type_id, sign)
- END SUBROUTINE h5tget_sign_f
-
-!
-!****s* H5T/h5tset_sign_f
-!
-! NAME
-! h5tset_sign_f
-!
-! PURPOSE
-! Sets the sign proprety for an integer type.
-!
-! INPUTS
-! type_id - datatype identifier
-! sign - sign type
-! Possible values are:
-! - Unsigned integer type
-! H5T_SGN_NONE_F = 0
-! - Two's complement signed integer type
-! H5T_SGN_2_F = 1
-! - error value: H5T_SGN_ERROR_F=-1
-! OUTPUTS
-! hdferr - Returns 0 if successful and -1 if fails
-!
-! AUTHOR
-! Elena Pourmal
-! August 12, 1999
-!
-! HISTORY
-! Explicit Fortran interfaces were added for
-! called C functions (it is needed for Windows
-! port). March 7, 2001
-! SOURCE
- SUBROUTINE h5tset_sign_f(type_id, sign, hdferr)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier
- INTEGER, INTENT(IN) :: sign !sign type for an integer type
- !possible values are:
- !Unsigned integer type H5T_SGN_NONE_F = 0
- !Two's complement signed integer type
- !H5T_SGN_2_F = 1
- !or error value: H5T_SGN_ERROR_F=-1
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-!*****
-
- INTERFACE
- INTEGER FUNCTION h5tset_sign_c(type_id, sign)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5TSET_SIGN_C'::h5tset_sign_c
- !DEC$ENDIF
- INTEGER(HID_T), INTENT(IN) :: type_id
- INTEGER, INTENT(IN) :: sign
- END FUNCTION h5tset_sign_c
- END INTERFACE
-
- hdferr = h5tset_sign_c(type_id, sign)
- END SUBROUTINE h5tset_sign_f
-
-!
-!****s* H5T/h5tget_fields_f
-!
-! NAME
-! h5tget_fields_f
-!
-! PURPOSE
-! Retrieves floating point datatype bit field information.
-!
-! INPUTS
-! type_id - datatype identifier
-! OUTPUTS
-! spos - sign bit-position
-! epos - exponent bit-position
-! esize - size of exponent in bits
-! mpos - mantissa position
-! msize - size of mantissa in bits
-! hdferr - Returns 0 if successful and -1 if fails
-!
-! AUTHOR
-! Elena Pourmal
-! August 12, 1999
-!
-! HISTORY
-! Explicit Fortran interfaces were added for
-! called C functions (it is needed for Windows
-! port). March 7, 2001
-! SOURCE
- SUBROUTINE h5tget_fields_f(type_id, spos, epos, esize, mpos, msize, hdferr)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier
- INTEGER(SIZE_T), INTENT(OUT) :: spos ! sign bit-position
- INTEGER(SIZE_T), INTENT(OUT) :: epos ! exponent bit-position
- INTEGER(SIZE_T), INTENT(OUT) :: esize ! size of exponent in bits
- INTEGER(SIZE_T), INTENT(OUT) :: mpos ! mantissa bit-position
- INTEGER(SIZE_T), INTENT(OUT) :: msize ! size of mantissa in bits
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-!*****
-
- INTERFACE
- INTEGER FUNCTION h5tget_fields_c(type_id, spos, epos, esize, mpos, msize)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5TGET_FIELDS_C'::h5tget_fields_c
- !DEC$ENDIF
- INTEGER(HID_T), INTENT(IN) :: type_id
- INTEGER(SIZE_T), INTENT(OUT) :: spos
- INTEGER(SIZE_T), INTENT(OUT) :: epos
- INTEGER(SIZE_T), INTENT(OUT) :: esize
- INTEGER(SIZE_T), INTENT(OUT) :: mpos
- INTEGER(SIZE_T), INTENT(OUT) :: msize
- END FUNCTION h5tget_fields_c
- END INTERFACE
-
- hdferr = h5tget_fields_c(type_id, spos, epos, esize, mpos, msize)
- END SUBROUTINE h5tget_fields_f
-
-!
-!****s* H5T/h5tset_fields_f
-!
-! NAME
-! h5tset_fields_f
-!
-! PURPOSE
-! Sets locations and sizes of floating point bit fields.
-!
-! INPUTS
-! type_id - datatype identifier
-! spos - sign bit-position
-! epos - exponent bit-position
-! esize - size of exponent in bits
-! mpos - mantissa position
-! msize - size of mantissa in bits
-! OUTPUTS
-! hdferr - Returns 0 if successful and -1 if fails
-!
-! AUTHOR
-! Elena Pourmal
-! August 12, 1999
-!
-! HISTORY
-! Explicit Fortran interfaces were added for
-! called C functions (it is needed for Windows
-! port). March 7, 2001
-! SOURCE
- SUBROUTINE h5tset_fields_f(type_id, spos, epos, esize, mpos, msize, hdferr)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier
- INTEGER(SIZE_T), INTENT(IN) :: spos ! sign bit-position
- INTEGER(SIZE_T), INTENT(IN) :: epos ! exponent bit-position
- INTEGER(SIZE_T), INTENT(IN) :: esize ! size of exponent in bits
- INTEGER(SIZE_T), INTENT(IN) :: mpos ! mantissa bit-position
- INTEGER(SIZE_T), INTENT(IN) :: msize ! size of mantissa in bits
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-!*****
-
- INTERFACE
- INTEGER FUNCTION h5tset_fields_c(type_id, spos, epos, esize, mpos, msize)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5TSET_FIELDS_C'::h5tset_fields_c
- !DEC$ENDIF
- INTEGER(HID_T), INTENT(IN) :: type_id
- INTEGER(SIZE_T), INTENT(IN) :: spos
- INTEGER(SIZE_T), INTENT(IN) :: epos
- INTEGER(SIZE_T), INTENT(IN) :: esize
- INTEGER(SIZE_T), INTENT(IN) :: mpos
- INTEGER(SIZE_T), INTENT(IN) :: msize
- END FUNCTION h5tset_fields_c
- END INTERFACE
-
- hdferr = h5tset_fields_c(type_id, spos, epos, esize, mpos, msize)
- END SUBROUTINE h5tset_fields_f
-
-!
-!****s* H5T/h5tget_ebias_f
-!
-! NAME
-! h5tget_ebias_f
-!
-! PURPOSE
-! Retrieves the exponent bias of a floating-point type.
-!
-! INPUTS
-! type_id - datatype identifier
-! OUTPUTS
-! ebias - datatype exponent bias
-! hdferr - Returns 0 if successful and -1 if fails
-!
-! AUTHOR
-! Elena Pourmal
-! August 12, 1999
-!
-! HISTORY
-! Explicit Fortran interfaces were added for
-! called C functions (it is needed for Windows
-! port). March 7, 2001
-! SOURCE
- SUBROUTINE h5tget_ebias_f(type_id, ebias, hdferr)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier
- INTEGER(SIZE_T), INTENT(OUT) :: ebias ! Datatype exponent bias of a floating-point type
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-!*****
-
- INTERFACE
- INTEGER FUNCTION h5tget_ebias_c(type_id, ebias)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5TGET_EBIAS_C'::h5tget_ebias_c
- !DEC$ENDIF
- INTEGER(HID_T), INTENT(IN) :: type_id
- INTEGER(SIZE_T), INTENT(OUT) :: ebias
- END FUNCTION h5tget_ebias_c
- END INTERFACE
-
- hdferr = h5tget_ebias_c(type_id, ebias)
- END SUBROUTINE h5tget_ebias_f
-
-!
-!****s* H5T/h5tset_ebias_f
-!
-! NAME
-! h5tset_ebias_f
-!
-! PURPOSE
-! Sets the exponent bias of a floating-point type.
-!
-! INPUTS
-! type_id - datatype identifier
-! ebias - datatype exponent bias
-! OUTPUTS
-! hdferr - Returns 0 if successful and -1 if fails
-!
-! AUTHOR
-! Elena Pourmal
-! August 12, 1999
-!
-! HISTORY
-! Explicit Fortran interfaces were added for
-! called C functions (it is needed for Windows
-! port). March 7, 2001
-! SOURCE
- SUBROUTINE h5tset_ebias_f(type_id, ebias, hdferr)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier
- INTEGER(SIZE_T), INTENT(IN) :: ebias !Datatype exponent bias of a floating-point type
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-!*****
-
- INTERFACE
- INTEGER FUNCTION h5tset_ebias_c(type_id, ebias)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5TSET_EBIAS_C'::h5tset_ebias_c
- !DEC$ENDIF
- INTEGER(HID_T), INTENT(IN) :: type_id
- INTEGER(SIZE_T), INTENT(IN) :: ebias
- END FUNCTION h5tset_ebias_c
- END INTERFACE
-
- hdferr = h5tset_ebias_c(type_id, ebias)
- END SUBROUTINE h5tset_ebias_f
-
-!
-!****s* H5T/h5tget_norm_f
-!
-! NAME
-! h5tget_norm_f
-!
-! PURPOSE
-! Retrieves mantissa normalization of a floating-point
-! datatype.
-!
-! INPUTS
-! type_id - datatype identifier
-! OUTPUTS
-! norm - normalization types, valid values are:
-! H5T_NORM_IMPLIED_F(0)
-! H5T_NORM_MSBSET_F(1)
-! H5T_NORM_NONE_F(2)
-! hdferr - Returns 0 if successful and -1 if fails
-!
-! AUTHOR
-! Elena Pourmal
-! August 12, 1999
-!
-! HISTORY
-! Explicit Fortran interfaces were added for
-! called C functions (it is needed for Windows
-! port). March 7, 2001
-! SOURCE
- SUBROUTINE h5tget_norm_f(type_id, norm, hdferr)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier
- INTEGER, INTENT(OUT) :: norm !mantissa normalization of a floating-point datatype
- !Valid normalization types are:
- !H5T_NORM_IMPLIED_F(0),MSB of mantissa is not
- !stored, always 1, H5T_NORM_MSBSET_F(1), MSB of
- !mantissa is always 1, H5T_NORM_NONE_F(2)
- !Mantissa is not normalize
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-!*****
-
- INTERFACE
- INTEGER FUNCTION h5tget_norm_c(type_id, norm)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5TGET_NORM_C'::h5tget_norm_c
- !DEC$ENDIF
- INTEGER(HID_T), INTENT(IN) :: type_id
- INTEGER, INTENT(OUT) :: norm
- END FUNCTION h5tget_norm_c
- END INTERFACE
-
- hdferr = h5tget_norm_c(type_id, norm)
- END SUBROUTINE h5tget_norm_f
-
-!
-!****s* H5T/h5tset_norm_f
-!
-! NAME
-! h5tset_norm_f
-!
-! PURPOSE
-! Sets the mantissa normalization of a floating-point datatype.
-!
-! INPUTS
-! type_id - datatype identifier
-! norm - normalization types, valid values are:
-! H5T_NORM_IMPLIED_F(0)
-! H5T_NORM_MSBSET_F(1)
-! H5T_NORM_NONE_F(2)
-! OUTPUTS
-! hdferr - Returns 0 if successful and -1 if fails
-!
-! AUTHOR
-! Elena Pourmal
-! August 12, 1999
-!
-! HISTORY
-! Explicit Fortran interfaces were added for
-! called C functions (it is needed for Windows
-! port). March 7, 2001
-!
-! SOURCE
- SUBROUTINE h5tset_norm_f(type_id, norm, hdferr)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier
- INTEGER, INTENT(IN) :: norm !mantissa normalization of a floating-point datatype
- !Valid normalization types are:
- !H5T_NORM_IMPLIED_F(0),MSB of mantissa is not
- !stored, always 1, H5T_NORM_MSBSET_F(1), MSB of
- !mantissa is always 1, H5T_NORM_NONE_F(2)
- !Mantissa is not normalize
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-!*****
- INTERFACE
- INTEGER FUNCTION h5tset_norm_c(type_id, norm)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5TSET_NORM_C'::h5tset_norm_c
- !DEC$ENDIF
- INTEGER(HID_T), INTENT(IN) :: type_id
- INTEGER, INTENT(IN) :: norm
- END FUNCTION h5tset_norm_c
- END INTERFACE
-
- hdferr = h5tset_norm_c(type_id, norm)
- END SUBROUTINE h5tset_norm_f
-
-!
-!****s* H5T/h5tget_inpad_f
-!
-! NAME
-! h5tget_inpad_f
-!
-! PURPOSE
-! Retrieves the internal padding type for unused bits
-! in floating-point datatypes.
-!
-! INPUTS
-! type_id - datatype identifier
-! OUTPUTS
-! padtype - padding type for unused bits
-! Possible values of padding type are:
-! H5T_PAD_ZERO_F = 0
-! H5T_PAD_ONE_F = 1
-! H5T_PAD_BACKGROUND_F = 2
-! hdferr - Returns 0 if successful and -1 if fails
-!
-! AUTHOR
-! Elena Pourmal
-! August 12, 1999
-!
-! HISTORY
-! Explicit Fortran interfaces were added for
-! called C functions (it is needed for Windows
-! port). March 7, 2001
-! SOURCE
- SUBROUTINE h5tget_inpad_f(type_id, padtype, hdferr)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier
- INTEGER, INTENT(OUT) :: padtype ! padding type for unused bits
- ! in floating-point datatypes.
- ! Possible values of padding type are:
- ! H5T__PAD_ZERO_F = 0
- ! H5T__PAD_ONE_F = 1
- ! H5T__PAD_BACKGROUND_F = 2
-
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-!*****
- INTERFACE
- INTEGER FUNCTION h5tget_inpad_c(type_id, padtype)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5TGET_INPAD_C'::h5tget_inpad_c
- !DEC$ENDIF
- INTEGER(HID_T), INTENT(IN) :: type_id
- INTEGER, INTENT(OUT) :: padtype
- END FUNCTION h5tget_inpad_c
- END INTERFACE
-
- hdferr = h5tget_inpad_c(type_id, padtype)
- END SUBROUTINE h5tget_inpad_f
-
-!
-!****s* H5T/h5tset_inpad_f
-!
-! NAME
-! h5tset_inpad_f
-!
-! PURPOSE
-! Fills unused internal floating point bits.
-!
-! INPUTS
-! type_id - datatype identifier
-! padtype - padding type for unused bits
-! Possible values of padding type are:
-! H5T_PAD_ZERO_F = 0
-! H5T_PAD_ONE_F = 1
-! H5T_PAD_BACKGROUND_F = 2
-! OUTPUTS
-! hdferr - Returns 0 if successful and -1 if fails
-!
-! AUTHOR
-! Elena Pourmal
-! August 12, 1999
-!
-! HISTORY
-! Explicit Fortran interfaces were added for
-! called C functions (it is needed for Windows
-! port). March 7, 2001
-! SOURCE
- SUBROUTINE h5tset_inpad_f(type_id, padtype, hdferr)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier
- INTEGER, INTENT(IN) :: padtype ! padding type for unused bits
- ! in floating-point datatypes.
- ! Possible values of padding type are:
- ! H5T__PAD_ZERO_F = 0
- ! H5T__PAD_ONE_F = 1
- ! H5T__PAD_BACKGROUND_F = 2
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-!*****
- INTERFACE
- INTEGER FUNCTION h5tset_inpad_c(type_id, padtype)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5TSET_INPAD_C'::h5tset_inpad_c
- !DEC$ENDIF
- INTEGER(HID_T), INTENT(IN) :: type_id
- INTEGER, INTENT(IN) :: padtype
- END FUNCTION h5tset_inpad_c
- END INTERFACE
-
- hdferr = h5tset_inpad_c(type_id, padtype)
- END SUBROUTINE h5tset_inpad_f
-
-!
-!****s* H5T/h5tget_cset_f
-!
-! NAME
-! h5tget_cset_f
-!
-! PURPOSE
-! Retrieves the character set type of a string datatype.
-!
-! INPUTS
-! type_id - Datatype identifier
-! OUTPUTS
-! cset - Character set type of a string datatype
-! Possible values are:
-! H5T_CSET_ASCII_F = 0
-! H5T_CSET_UTF8_F
-! hdferr - Returns 0 if successful and -1 if fails
-!
-! AUTHOR
-! Elena Pourmal
-! August 12, 1999
-!
-! HISTORY
-! Explicit Fortran interfaces were added for
-! called C functions (it is needed for Windows
-! port). March 7, 2001
-! SOURCE
- SUBROUTINE h5tget_cset_f(type_id, cset, hdferr)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier
- INTEGER, INTENT(OUT) :: cset ! character set type of a string datatype
- ! Possible values are:
- ! H5T_CSET_ASCII_F = 0
- ! H5T_CSET_UTF8_F
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-!*****
- INTERFACE
- INTEGER FUNCTION h5tget_cset_c(type_id, cset)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5TGET_CSET_C'::h5tget_cset_c
- !DEC$ENDIF
- INTEGER(HID_T), INTENT(IN) :: type_id
- INTEGER, INTENT(OUT) :: cset
- END FUNCTION h5tget_cset_c
- END INTERFACE
-
- hdferr = h5tget_cset_c(type_id, cset)
- END SUBROUTINE h5tget_cset_f
-
-!
-!****s* H5T/h5tset_cset_f
-!
-! NAME
-! h5tset_cset_f
-!
-! PURPOSE
-! Sets character set to be used.
-!
-! INPUTS
-! type_id - datatype identifier
-! cset - character set type of a string datatype
-! Possible values are:
-! H5T_CSET_ASCII_F = 0
-! H5T_CSET_UTF8_F
-! OUTPUTS
-! hdferr - Returns 0 if successful and -1 if fails
-!
-! AUTHOR
-! Elena Pourmal
-! August 12, 1999
-!
-! HISTORY
-! Explicit Fortran interfaces were added for
-! called C functions (it is needed for Windows
-! port). March 7, 2001
-! SOURCE
- SUBROUTINE h5tset_cset_f(type_id, cset, hdferr)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier
- INTEGER, INTENT(IN) :: cset !character set type of a string datatype
- ! Possible values of padding type are:
- ! H5T_CSET_ASCII_F = 0
- ! H5T_CSET_UTF8_F
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-!*****
- INTERFACE
- INTEGER FUNCTION h5tset_cset_c(type_id, cset)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5TSET_CSET_C'::h5tset_cset_c
- !DEC$ENDIF
- INTEGER(HID_T), INTENT(IN) :: type_id
- INTEGER, INTENT(IN) :: cset
- END FUNCTION h5tset_cset_c
- END INTERFACE
-
- hdferr = h5tset_cset_c(type_id, cset)
- END SUBROUTINE h5tset_cset_f
-
-!
-!****s* H5T/h5tget_strpad_f
-!
-! NAME
-! h5tget_strpad_f
-!
-! PURPOSE
-! Retrieves the storage mechanism for a string datatype.
-!
-! INPUTS
-! type_id - datatype identifier
-! OUTPUTS
-! strpad - storage method for a string datatype
-! Possible values are:
-! H5T_STR_NULLTERM_F,
-! H5T_STR_NULLPAD_F,
-! H5T_STR_SPACEPAD_F
-! H5T_STR_ERROR_F
-! hdferr - Returns 0 if successful and -1 if fails
-!
-! AUTHOR
-! Elena Pourmal
-! August 12, 1999
-!
-! HISTORY
-! Explicit Fortran interfaces were added for
-! called C functions (it is needed for Windows
-! port). March 7, 2001
-! SOURCE
- SUBROUTINE h5tget_strpad_f(type_id, strpad, hdferr)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier
- INTEGER, INTENT(OUT) :: strpad
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-!*****
- INTERFACE
- INTEGER FUNCTION h5tget_strpad_c(type_id, strpad)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5TGET_STRPAD_C'::h5tget_strpad_c
- !DEC$ENDIF
- INTEGER(HID_T), INTENT(IN) :: type_id
- INTEGER, INTENT(OUT) :: strpad
- END FUNCTION h5tget_strpad_c
- END INTERFACE
-
- hdferr = h5tget_strpad_c(type_id, strpad)
- END SUBROUTINE h5tget_strpad_f
-
-!
-!****s* H5T/h5tset_strpad_f
-!
-! NAME
-! h5tset_strpad_f
-!
-! PURPOSE
-! Defines the storage mechanism for character strings.
-!
-! INPUTS
-! type_id - datatype identifier
-! strpad - storage method for a string datatype
-! Possible values are:
-! H5T_STR_NULLTERM_F,
-! H5T_STR_NULLPAD_F,
-! H5T_STR_SPACEPAD_F
-! H5T_STR_ERROR_F
-! OUTPUTS
-! hdferr - Returns 0 if successful and -1 if fails
-!
-! AUTHOR
-! Elena Pourmal
-! August 12, 1999
-!
-! HISTORY
-! Explicit Fortran interfaces were added for
-! called C functions (it is needed for Windows
-! port). March 7, 2001
-! SOURCE
- SUBROUTINE h5tset_strpad_f(type_id, strpad, hdferr)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier
- INTEGER, INTENT(IN) :: strpad ! string padding method for a string datatype
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-!*****
- INTERFACE
- INTEGER FUNCTION h5tset_strpad_c(type_id, strpad)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5TSET_STRPAD_C'::h5tset_strpad_c
- !DEC$ENDIF
- INTEGER(HID_T), INTENT(IN) :: type_id
- INTEGER, INTENT(IN) :: strpad
- END FUNCTION h5tset_strpad_c
- END INTERFACE
-
- hdferr = h5tset_strpad_c(type_id, strpad)
- END SUBROUTINE h5tset_strpad_f
-
-!
-!****s* H5T/h5tget_nmembers_f
-!
-! NAME
-! h5tget_nmembers_f
-!
-! PURPOSE
-! Retrieves the number of fields in a compound datatype.
-!
-! INPUTS
-! type_id - datatype identifier
-! OUTPUTS
-! num_members - number of members
-! hdferr - Returns 0 if successful and -1 if fails
-!
-! AUTHOR
-! Elena Pourmal
-! August 12, 1999
-!
-! HISTORY
-! Explicit Fortran interfaces were added for
-! called C functions (it is needed for Windows
-! port). March 7, 2001
-!
-! SOURCE
- SUBROUTINE h5tget_nmembers_f(type_id, num_members, hdferr)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier
- INTEGER, INTENT(OUT) :: num_members !number of fields in a compound datatype
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-!*****
-
- INTERFACE
- INTEGER FUNCTION h5tget_nmembers_c(type_id, num_members)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5TGET_NMEMBERS_C'::h5tget_nmembers_c
- !DEC$ENDIF
- INTEGER(HID_T), INTENT(IN) :: type_id
- INTEGER, INTENT(OUT) :: num_members
- END FUNCTION h5tget_nmembers_c
- END INTERFACE
-
- hdferr = h5tget_nmembers_c(type_id, num_members)
- END SUBROUTINE h5tget_nmembers_f
-
-!
-!****s* H5T/h5tget_member_name_f
-!
-! NAME
-! h5tget_member_name_f
-!
-! PURPOSE
-! Retrieves the name of a field of a compound datatype.
-!
-! INPUTS
-! type_id - datatype identifier
-! index - filed index (0-based)
-! OUTPUTS
-! member_name - buffer to hold member's name
-! namelen - name length
-! hdferr - Returns 0 if successful and -1 if fails
-!
-! AUTHOR
-! Elena Pourmal
-! August 12, 1999
-!
-! HISTORY
-! Explicit Fortran interfaces were added for
-! called C functions (it is needed for Windows
-! port). March 7, 2001
-! SOURCE
- SUBROUTINE h5tget_member_name_f(type_id, index, member_name, namelen, hdferr)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier
- INTEGER, INTENT(IN) :: index !Field index (0-based) of the field name to retrieve
- CHARACTER(LEN=*), INTENT(OUT) :: member_name !name of a field of
- !a compound datatype
- INTEGER, INTENT(OUT) :: namelen ! Length of the name
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-!*****
- INTERFACE
- INTEGER FUNCTION h5tget_member_name_c(type_id, index, member_name, namelen)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5TGET_MEMBER_NAME_C'::h5tget_member_name_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: member_name
- INTEGER(HID_T), INTENT(IN) :: type_id
- INTEGER, INTENT(IN) :: index
- CHARACTER(LEN=*), INTENT(OUT) :: member_name
- INTEGER, INTENT(OUT) :: namelen
- END FUNCTION
- END INTERFACE
-
- hdferr = h5tget_member_name_c(type_id, index, member_name, namelen)
- END SUBROUTINE h5tget_member_name_f
-
-!
-!****s* H5T/h5tget_member_offset_f
-!
-! NAME
-! h5tget_member_offset_f
-!
-! PURPOSE
-! Retrieves the offset of a field of a compound datatype.
-!
-! INPUTS
-! type_id - datatype identifier
-! member_no - number of the field
-! OUTPUTS
-! offset - byte offset of the requested field
-! hdferr - Returns 0 if successful and -1 if fails
-!
-! AUTHOR
-! Elena Pourmal
-! August 12, 1999
-!
-! HISTORY
-! Explicit Fortran interfaces were added for
-! called C functions (it is needed for Windows
-! port). March 7, 2001
-! SOURCE
- SUBROUTINE h5tget_member_offset_f(type_id, member_no, offset, hdferr)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier
- INTEGER, INTENT(IN) :: member_no !Number of the field
- !whose offset is requested
- INTEGER(SIZE_T), INTENT(OUT) :: offset !byte offset of the beginning of the field
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-!*****
- INTERFACE
- INTEGER FUNCTION h5tget_member_offset_c(type_id, member_no, offset )
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5TGET_MEMBER_OFFSET_C'::h5tget_member_offset_c
- !DEC$ENDIF
- INTEGER(HID_T), INTENT(IN) :: type_id
- INTEGER, INTENT(IN) :: member_no
- INTEGER(SIZE_T), INTENT(OUT) :: offset
- END FUNCTION h5tget_member_offset_c
- END INTERFACE
-
- hdferr = h5tget_member_offset_c(type_id, member_no, offset )
- END SUBROUTINE h5tget_member_offset_f
-!
-!****s* H5T/h5tget_member_index_f
-!
-! NAME
-! h5tget_member_index_f
-!
-! PURPOSE
-! Retrieves the index of a compound or enumeration datatype member.
-!
-! INPUTS
-! type_id - datatype identifier
-! name - name of the field or member whose index to
-! to be retrieved from the datatype.
-! OUTPUTS
-! index - 0-based index of the filed or member (0 to N-1)
-! hdferr - Returns 0 if successful and -1 if fails
-!
-! AUTHOR
-! Elena Pourmal
-! September 26, 2002
-!
-! SOURCE
- SUBROUTINE h5tget_member_index_f(type_id, name, index, hdferr)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier
- CHARACTER(LEN=*), INTENT(IN) :: name ! Field or member name
- INTEGER, INTENT(OUT) :: index ! Field or member index
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-!*****
- INTEGER :: namelen ! Name length
-
- INTERFACE
- INTEGER FUNCTION h5tget_member_index_c(type_id, name, namelen, index)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5TGET_MEMBER_INDEX_C'::h5tget_member_index_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference ::name
- INTEGER(HID_T), INTENT(IN) :: type_id
- CHARACTER(LEN=*), INTENT(IN) :: name
- INTEGER, INTENT(IN) :: namelen
- INTEGER, INTENT(OUT) :: index
- END FUNCTION h5tget_member_index_c
- END INTERFACE
-
- namelen = LEN(name)
- hdferr = h5tget_member_index_c(type_id, name, namelen, index)
- END SUBROUTINE h5tget_member_index_f
-
-
-! !$!
-! !$!****s* H5T/h5tget_member_dim_f
-! !$!
-! !$! NAME
-! !$! h5tget_member_dim_f
-! !$!
-! !$! PURPOSE
-! !$! This function is not supported in hdf5-1.4.*
-! !$!
-! !$! INPUTS
-! !$! OUTPUTS
-! !$! hdferr: - error code
-! !$! Success: 0
-! !$! Failure: -1
-! !$!
-! !$! AUTHOR
-! !$! Elena Pourmal
-! !$! August 12, 1999
-! !$!
-! !$! HISTORY
-! !$! Explicit Fortran interfaces were added for
-! !$! called C functions (it is needed for Windows
-! !$! port). March 7, 2001
-! !$!
-! !$! SOURCE
-! !$! SUBROUTINE h5tget_member_dims_f(type_id, field_idx,dims, field_dims, perm, hdferr)
-! !$!
-! !$! IMPLICIT NONE
-! !$! INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier
-! !$! INTEGER, INTENT(IN) :: field_idx !Field index (0-based) of
-! !$! !field_dims, perm)
-! !$! INTEGER, INTENT(OUT) :: dims !number of dimensions of the field
-! !$!
-! !$! INTEGER(SIZE_T),DIMENSION(*), INTENT(OUT) :: field_dims !buffer to store the
-! !$! !dimensions of the field
-! !$! INTEGER, DIMENSION(*), INTENT(OUT) :: perm !buffer to store the
-! !$! !permutation vector of the field
-! !$! INTEGER, INTENT(OUT) :: hdferr ! Error code
-! !$!*****!
-! !$! INTEGER, EXTERNAL :: h5tget_member_dims_c
-! !$! hdferr = h5tget_member_dims_c(type_id, field_idx, dims, field_dims, perm)
-! !$!
-! !$! END SUBROUTINE h5tget_member_dims_f
-
-
-!****s* H5T/h5tget_array_dims_f
-!
-! NAME
-! h5tget_array_dims_f
-!
-! PURPOSE
-! Returns sizes of array dimensions.
-!
-! INPUTS
-! type_id - array datatype identifier
-! OUTPUTS
-! dims - buffer to store array datatype dimensions
-! hdferr - Returns 0 if successful and -1 if fails
-!
-! AUTHOR
-! Elena Pourmal
-! August 12, 1999
-!
-! HISTORY
-! Explicit Fortran interfaces were added for
-! called C functions (it is needed for Windows
-! port). March 7, 2001
-! SOURCE
- SUBROUTINE h5tget_array_dims_f(type_id, dims, hdferr)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: type_id ! Array datatype identifier
- INTEGER(HSIZE_T),DIMENSION(*), INTENT(OUT) :: dims !buffer to store array datatype
- ! dimensions
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-!*****
-
- INTERFACE
- INTEGER FUNCTION h5tget_array_dims_c(type_id, dims)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5TGET_ARRAY_DIMS_C'::h5tget_array_dims_c
- !DEC$ENDIF
- INTEGER(HID_T), INTENT(IN) :: type_id
- INTEGER(HSIZE_T),DIMENSION(*), INTENT(OUT) :: dims
- END FUNCTION h5tget_array_dims_c
- END INTERFACE
-
- hdferr = h5tget_array_dims_c(type_id, dims)
-
- END SUBROUTINE h5tget_array_dims_f
-
-!
-!****s* H5T/h5tget_array_ndims_f
-!
-! NAME
-! h5tget_array_ndims_f
-!
-! PURPOSE
-! Returns the rank of an array datatype.
-!
-! INPUTS
-! type_id - array datatype identifier
-! OUTPUTS
-! ndims - number of array dimensions
-! hdferr - Returns 0 if successful and -1 if fails
-!
-! AUTHOR
-! Elena Pourmal
-! August 12, 1999
-!
-! HISTORY
-! Explicit Fortran interfaces were added for
-! called C functions (it is needed for Windows
-! port). March 7, 2001
-! SOURCE
- SUBROUTINE h5tget_array_ndims_f(type_id, ndims, hdferr)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: type_id ! Array datatype identifier
- INTEGER, INTENT(OUT) :: ndims ! number of array dimensions
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-!*****
- INTERFACE
- INTEGER FUNCTION h5tget_array_ndims_c(type_id, ndims)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5TGET_ARRAY_NDIMS_C'::h5tget_array_ndims_c
- !DEC$ENDIF
- INTEGER(HID_T), INTENT(IN) :: type_id
- INTEGER, INTENT(OUT) :: ndims
- END FUNCTION h5tget_array_ndims_c
- END INTERFACE
-
- hdferr = h5tget_array_ndims_c(type_id, ndims)
-
- END SUBROUTINE h5tget_array_ndims_f
-
-!
-!****s* H5T/h5tget_super_f
-!
-! NAME
-! h5tget_super_f
-!
-! PURPOSE
-! Returns the base datatype from which a datatype is derived.
-!
-! INPUTS
-! type_id - datatype identifier
-! OUTPUTS
-! base_type_id - identifier of the base type
-! hdferr - Returns 0 if successful and -1 if fails
-!
-! AUTHOR
-! Elena Pourmal
-! August 12, 1999
-!
-! HISTORY
-! Explicit Fortran interfaces were added for
-! called C functions (it is needed for Windows
-! port). March 7, 2001
-! SOURCE
- SUBROUTINE h5tget_super_f(type_id, base_type_id, hdferr)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: type_id ! datatype identifier
- INTEGER(HID_T), INTENT(OUT) :: base_type_id ! identifier of the datatype
- ! from which datatype (type_id) was derived
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-!*****
- INTERFACE
- INTEGER FUNCTION h5tget_super_c(type_id, base_type_id)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5TGET_SUPER_C'::h5tget_super_c
- !DEC$ENDIF
- INTEGER(HID_T), INTENT(IN) :: type_id
- INTEGER(HID_T), INTENT(OUT) :: base_type_id
- END FUNCTION h5tget_super_c
- END INTERFACE
-
- hdferr = h5tget_super_c(type_id, base_type_id)
-
- END SUBROUTINE h5tget_super_f
-
-!
-!****s* H5T/h5tget_member_type_f
-!
-! NAME
-! h5tget_member_type_f
-!
-! PURPOSE
-! Returns the datatype of the specified member.
-!
-! INPUTS
-! type_id - compound datatype identifier
-! field_idx - field index (0-based)
-!
-! OUTPUTS
-! datatype - idnetifier of the member's datatype
-! hdferr - Returns 0 if successful and -1 if fails
-!
-! AUTHOR
-! Elena Pourmal
-! August 12, 1999
-!
-! HISTORY
-! Explicit Fortran interfaces were added for
-! called C functions (it is needed for Windows
-! port). March 7, 2001
-! SOURCE
- SUBROUTINE h5tget_member_type_f(type_id, field_idx, datatype, hdferr)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier
- INTEGER, INTENT(IN) :: field_idx !Field index (0-based) of the field type to retrieve
- INTEGER(HID_T), INTENT(OUT) :: datatype !identifier of a copy of
- !the datatype of the field
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-!*****
- INTERFACE
- INTEGER FUNCTION h5tget_member_type_c(type_id, field_idx , datatype)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5TGET_MEMBER_TYPE_C'::h5tget_member_type_c
- !DEC$ENDIF
- INTEGER(HID_T), INTENT(IN) :: type_id
- INTEGER, INTENT(IN) :: field_idx
- INTEGER(HID_T), INTENT(OUT) :: datatype
- END FUNCTION h5tget_member_type_c
- END INTERFACE
-
- hdferr = h5tget_member_type_c(type_id, field_idx , datatype)
- END SUBROUTINE h5tget_member_type_f
-
-!
-!****s* H5T/h5tcreate_f
-!
-! NAME
-! h5tcreate_f
-!
-! PURPOSE
-! Creates a new datatype.
-!
-! INPUTS
-! class - Datatype class can be one of:
-! H5T_COMPOUND_F
-! H5T_ENUM_F
-! H5T_OPAQUE_F
-! H5T_STRING_F
-!
-! size - Size of the datatype.
-! OUTPUTS
-! type_id - Datatype identifier.
-! hdferr - Returns 0 if successful and -1 if fails
-!
-! AUTHOR
-! Elena Pourmal
-! August 12, 1999
-!
-! HISTORY
-! Explicit Fortran interfaces were added for
-! called C functions (it is needed for Windows
-! port). March 7, 2001
-! SOURCE
- SUBROUTINE h5tcreate_f(class, size, type_id, hdferr)
- IMPLICIT NONE
- INTEGER , INTENT(IN) :: class
- INTEGER(SIZE_T), INTENT(IN) :: size
- INTEGER(HID_T) , INTENT(OUT) :: type_id
- INTEGER , INTENT(OUT) :: hdferr
-!*****
- INTERFACE
- INTEGER FUNCTION h5tcreate_c(class, size, type_id)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5TCREATE_C'::h5tcreate_c
- !DEC$ENDIF
- INTEGER, INTENT(IN) :: class
- INTEGER(SIZE_T), INTENT(IN) :: size
- INTEGER(HID_T), INTENT(OUT) :: type_id
- END FUNCTION h5tcreate_c
- END INTERFACE
-
- hdferr = h5tcreate_c(class, size, type_id)
- END SUBROUTINE h5tcreate_f
-
-!
-!****s* H5T/h5tinsert_f
-!
-! NAME
-! h5tinsert_f
-!
-! PURPOSE
-! Adds a new member to a compound datatype.
-!
-! INPUTS
-! type_id - compound dattype identifier
-! name - name of the field to insert
-! offset - start of the member in an instance of
-! the compound datatype
-! field_id - datatype identifier of the field to insert
-! OUTPUTS
-! hdferr - Returns 0 if successful and -1 if fails
-!
-! AUTHOR
-! Elena Pourmal
-! August 12, 1999
-!
-! HISTORY
-! Explicit Fortran interfaces were added for
-! called C functions (it is needed for Windows
-! port). March 7, 2001
-! SOURCE
- SUBROUTINE h5tinsert_f(type_id, name, offset, field_id, hdferr)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier
- CHARACTER(LEN=*), INTENT(IN) :: name !Name of the field to insert
- INTEGER(SIZE_T), INTENT(IN) :: offset !start of the member in an instance of
- !the compound datatype
- INTEGER(HID_T), INTENT(IN) :: field_id !datatype identifier of the new member
-
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-!*****
- INTEGER :: namelen
-
- INTERFACE
- INTEGER FUNCTION h5tinsert_c(type_id, name, namelen, offset, field_id)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5TINSERT_C'::h5tinsert_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: name
- INTEGER(HID_T), INTENT(IN) :: type_id
- CHARACTER(LEN=*), INTENT(IN) :: name
- INTEGER(SIZE_T), INTENT(IN) :: offset
- INTEGER(HID_T), INTENT(IN) :: field_id
- INTEGER :: namelen
- END FUNCTION h5tinsert_c
- END INTERFACE
-
- namelen = LEN(name)
- hdferr = h5tinsert_c(type_id, name, namelen, offset, field_id )
- END SUBROUTINE h5tinsert_f
-
-!
-!****s* H5T/h5tpack_f
-!
-! NAME
-! h5tpack_f
-!
-! PURPOSE
-! Recursively removes padding from within a compound datatype.
-!
-! INPUTS
-! type_id - compound datatype identifier
-! OUTPUTS
-! hdferr - Returns 0 if successful and -1 if fails
-!
-! AUTHOR
-! Elena Pourmal
-! August 12, 1999
-!
-! HISTORY
-! Explicit Fortran interfaces were added for
-! called C functions (it is needed for Windows
-! port). March 7, 2001
-! SOURCE
- SUBROUTINE h5tpack_f(type_id, hdferr)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-!*****
-
- INTERFACE
- INTEGER FUNCTION h5tpack_c(type_id)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5TPACK_C'::h5tpack_c
- !DEC$ENDIF
- INTEGER(HID_T), INTENT(IN) :: type_id
- END FUNCTION h5tpack_c
- END INTERFACE
-
- hdferr = h5tpack_c(type_id)
- END SUBROUTINE h5tpack_f
-
-! !$!
-! !$!****s* H5T/h5tinsert_array_f
-! !$!
-! !$! NAME
-! !$! h5tinsert_array_f
-! !$!
-! !$! PURPOSE
-! !$! This function is not available on hdf5-1.4.*
-! !$!
-! !$! INPUTS
-! !$! OUTPUTS
-! !$! hdferr: - error code
-! !$! Success: 0
-! !$! Failure: -1
-! !$!
-! !$! AUTHOR
-! !$! Elena Pourmal
-! !$! August 12, 1999
-! !$!
-! !$! HISTORY
-! !$! Explicit Fortran interfaces were added for
-! !$! called C functions (it is needed for Windows
-! !$! port). March 7, 2001
-! !$! SOURCE
-! SUBROUTINE h5tinsert_array_f(parent_id,name,offset, ndims, dims, member_id, hdferr, perm)
-! IMPLICIT NONE
-! INTEGER(HID_T), INTENT(IN) :: parent_id ! identifier of the parent compound datatype
-! CHARACTER(LEN=*), INTENT(IN) :: name !Name of the new member
-! INTEGER(SIZE_T), INTENT(IN) :: offset !Offset to start of new member
-! !within compound datatype
-! INTEGER, INTENT(IN) :: ndims !Dimensionality of new member.
-! !Valid values are 0 (zero) through 4 (four)
-! INTEGER(SIZE_T), DIMENSION(*), INTENT(IN) :: dims !Size of new member array
-! INTEGER(HID_T), INTENT(IN) :: member_id ! identifier of the datatype of the new member
-! INTEGER, INTENT(OUT) :: hdferr ! Error code
-! !*****!
-! INTEGER, DIMENSION(*), OPTIONAL, INTENT(IN) :: perm
-! !Pointer to buffer to store
-! !the permutation vector of the field
-! INTEGER :: namelen, sizeofperm
-! INTEGER, EXTERNAL :: h5tinsert_array_c, h5tinsert_array_c2
-! namelen = LEN(name)
-! if (present(perm)) then
-! hdferr = h5tinsert_array_c(parent_id, name, namelen, offset, ndims,dims, member_id, perm)
-! else
-! hdferr = h5tinsert_array_c2(parent_id, name, namelen, offset, ndims,dims, member_id)
-! end if
-!
-! END SUBROUTINE h5tinsert_array_f
-
-!
-!****s* H5T/h5tarray_create_f
-!
-! NAME
-! h5tarray_create_f
-!
-! PURPOSE
-! Creates an array datatype object.
-!
-! INPUTS
-! base_id - datatype identifier for the array
-! base datatype
-! rank - rank of the array
-! dims - array dimension sizes
-! OUTPUTS
-! type_id - array datatype identifier
-! hdferr - Returns 0 if successful and -1 if fails
-!
-! AUTHOR
-! Elena Pourmal
-! August 12, 1999
-!
-! HISTORY
-! Explicit Fortran interfaces were added for
-! called C functions (it is needed for Windows
-! port). March 7, 2001
-! SOURCE
- SUBROUTINE h5tarray_create_f(base_id, rank, dims, type_id, hdferr)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: base_id ! identifier of array base datatype
- INTEGER, INTENT(IN) :: rank ! Rank of the array
- INTEGER(HSIZE_T), DIMENSION(*), INTENT(IN) :: dims !Sizes of each array dimension
- INTEGER(HID_T), INTENT(OUT) :: type_id ! identifier of the array datatype
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-!*****
- INTERFACE
- INTEGER FUNCTION h5tarray_create_c(base_id, rank, dims, type_id)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5TARRAY_CREATE_C'::h5tarray_create_c
- !DEC$ENDIF
- INTEGER(HID_T), INTENT(IN) :: base_id
- INTEGER, INTENT(IN) :: rank
- INTEGER(HSIZE_T), DIMENSION(*), INTENT(IN) :: dims
- INTEGER(HID_T), INTENT(OUT) :: type_id
- END FUNCTION h5tarray_create_c
- END INTERFACE
-
- hdferr = h5tarray_create_c(base_id, rank, dims, type_id)
-
- END SUBROUTINE h5tarray_create_f
-
-!
-!****s* H5T/h5tenum_create_f
-!
-! NAME
-! h5tenum_create_f
-!
-! PURPOSE
-! Creates a new enumeration datatype.
-!
-! INPUTS
-! parent_id - datatype identifier for base datatype
-! OUTPUTS
-! new_type_id - datatype identifier for the enumeration datatype
-! hdferr - Returns 0 if successful and -1 if fails
-!
-! AUTHOR
-! Elena Pourmal
-! August 12, 1999
-!
-! HISTORY
-! Explicit Fortran interfaces were added for
-! called C functions (it is needed for Windows
-! port). March 7, 2001
-! SOURCE
- SUBROUTINE h5tenum_create_f(parent_id, new_type_id, hdferr)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: parent_id ! Datatype identifier for
- ! the base datatype
- INTEGER(HID_T), INTENT(OUT) :: new_type_id
- !datatype identifier for the
- ! new enumeration datatype
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-!*****
-
- INTERFACE
- INTEGER FUNCTION h5tenum_create_c(parent_id, new_type_id)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5TENUM_CREATE_C'::h5tenum_create_c
- !DEC$ENDIF
- INTEGER(HID_T), INTENT(IN) :: parent_id
- INTEGER(HID_T), INTENT(OUT) :: new_type_id
- END FUNCTION h5tenum_create_c
- END INTERFACE
-
- hdferr = h5tenum_create_c(parent_id, new_type_id)
- END SUBROUTINE h5tenum_create_f
-!
-!****s* H5T/h5tenum_nameof_f
-!
-! NAME
-! h5tenum_nameof_f
-!
-! PURPOSE
-! Returns the symbol name corresponding to a specified
-! member of an enumeration datatype.
-!
-! INPUTS
-! type_id - datatype identifier
-! value - value of the enumeration datatype
-! namelen - name buffer size
-! OUTPUTS
-! name - buffer to hold symbol name
-! hdferr - Returns 0 if successful and -1 if fails
-!
-! AUTHOR
-! Elena Pourmal
-! August 12, 1999
-!
-! HISTORY
-! Explicit Fortran interfaces were added for
-! called C functions (it is needed for Windows
-! port). March 7, 2001
-!
-! NOTE
-! According to the standard: Because an INTENT(OUT) variable is considered undefined
-! on entry to the procedure, any default initialization specified for its type will
-! be applied. So we need to blank out the "name" to be portable and eliminate any
-! characters the "name' may contain upon entry, depending on compiler implementation.
-! SOURCE
- SUBROUTINE h5tenum_nameof_f(type_id, value, namelen, name, hdferr)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier
- CHARACTER(LEN=*), INTENT(OUT) :: name !Name of the enumeration datatype.
- INTEGER(SIZE_T), INTENT(IN) :: namelen !length of the name
- INTEGER, INTENT(IN) :: value !value of the enumeration datatype.
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-!*****
-
- INTERFACE
- INTEGER FUNCTION h5tenum_nameof_c(type_id, value, name, namelen)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5TENUM_NAMEOF_C'::h5tenum_nameof_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: name
- INTEGER(HID_T), INTENT(IN) :: type_id
- CHARACTER(LEN=*), INTENT(OUT) :: name
- INTEGER(SIZE_T), INTENT(IN) :: namelen
- INTEGER, INTENT(IN) :: value
- END FUNCTION h5tenum_nameof_c
- END INTERFACE
-
- name(1:LEN(name)) = ' '
-
- hdferr = h5tenum_nameof_c(type_id, value, name, namelen)
- END SUBROUTINE h5tenum_nameof_f
-
-!
-!****s* H5T/h5tenum_valuof_f
-!
-! NAME
-! h5tenum_valuof_f
-!
-! PURPOSE
-! Returns the value corresponding to a specified
-! member of an enumeration datatype.
-!
-! INPUTS
-! type_id - datatype identifier
-! name - symbol name
-! OUTPUTS
-! value - value of the enumeration datatype
-! hdferr - Returns 0 if successful and -1 if fails
-!
-! AUTHOR
-! Elena Pourmal
-! August 12, 1999
-!
-! HISTORY
-! Explicit Fortran interfaces were added for
-! called C functions (it is needed for Windows
-! port). March 7, 2001
-!
-! SOURCE
- SUBROUTINE h5tenum_valueof_f(type_id, name, value, hdferr)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier
- CHARACTER(LEN=*), INTENT(IN) :: name !Name of the enumeration datatype.
- INTEGER, INTENT(OUT) :: value !value of the enumeration datatype.
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-!*****
- INTEGER :: namelen
-
- INTERFACE
- INTEGER FUNCTION h5tenum_valueof_c(type_id, name, namelen, value)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5TENUM_VALUEOF_C'::h5tenum_valueof_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: name
- INTEGER(HID_T), INTENT(IN) :: type_id
- CHARACTER(LEN=*), INTENT(IN) :: name
- INTEGER, INTENT(IN) :: namelen
- INTEGER, INTENT(OUT) :: value
- END FUNCTION h5tenum_valueof_c
- END INTERFACE
-
- namelen = LEN(name)
- hdferr = h5tenum_valueof_c(type_id, name, namelen, value)
- END SUBROUTINE h5tenum_valueof_f
-
-!
-!****s* H5T/h5tget_member_value_f
-!
-! NAME
-! h5tget_member_value_f
-!
-! PURPOSE
-! Returns the value of an enumeration datatype member.
-!
-! INPUTS
-! type_id - datatype identifier
-! member_no - number of the enumeration datatype member
-! OUTPUTS
-! value - value of the enumeration datatype
-! hdferr - Returns 0 if successful and -1 if fails
-!
-! AUTHOR
-! Elena Pourmal
-! August 12, 1999
-!
-! HISTORY
-! Explicit Fortran interfaces were added for
-! called C functions (it is needed for Windows
-! port). March 7, 2001
-! SOURCE
- SUBROUTINE h5tget_member_value_f(type_id, member_no, value, hdferr)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier
- INTEGER, INTENT(IN) :: member_no !Number of the enumeration datatype member
- INTEGER, INTENT(OUT) :: value !value of the enumeration datatype.
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-!*****
-
- INTERFACE
- INTEGER FUNCTION h5tget_member_value_c(type_id, member_no, value)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5TGET_MEMBER_VALUE_C'::h5tget_member_value_c
- !DEC$ENDIF
- INTEGER(HID_T), INTENT(IN) :: type_id
- INTEGER, INTENT(IN) :: member_no
- INTEGER, INTENT(OUT) :: value
- END FUNCTION
- END INTERFACE
-
- hdferr = h5tget_member_value_c(type_id, member_no, value)
- END SUBROUTINE h5tget_member_value_f
-
-!
-!****s* H5T/h5tset_tag_f
-!
-! NAME
-! h5tset_tag_f
-!
-! PURPOSE
-! Tags an opaque datatype.
-!
-! INPUTS
-! type_id - identifier for opaque datatype
-! tag - unique ASCII string with which the opaque
-! datatype is to be tagged.
-! OUTPUTS
-! hdferr - Returns 0 if successful and -1 if fails
-!
-! AUTHOR
-! Elena Pourmal
-! August 12, 1999
-!
-! HISTORY
-! Explicit Fortran interfaces were added for
-! called C functions (it is needed for Windows
-! port). March 7, 2001
-! SOURCE
- SUBROUTINE h5tset_tag_f(type_id, tag, hdferr)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier
- CHARACTER(LEN=*), INTENT(IN) :: tag !Unique ASCII string with which
- !the opaque datatype is to be tagged
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-!*****
- INTEGER :: taglen
-
- INTERFACE
- INTEGER FUNCTION h5tset_tag_c(type_id, tag, taglen)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5TSET_TAG_C'::h5tset_tag_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: tag
- INTEGER(HID_T), INTENT(IN) :: type_id
- CHARACTER(LEN=*), INTENT(IN) :: tag
- INTEGER :: taglen
- END FUNCTION h5tset_tag_c
- END INTERFACE
-
- taglen = LEN(tag)
- hdferr = h5tset_tag_c(type_id, tag, taglen)
- END SUBROUTINE h5tset_tag_f
-
-!
-!****s* H5T/h5tget_tag_f
-!
-! NAME
-! h5tget_tag_f
-!
-! PURPOSE
-! Gets the tag associated with an opaque datatype.
-!
-! INPUTS
-! type_id - identifier for opaque datatype
-! OUTPUTS
-! tag - unique ASCII string associated with opaque
-! datatype
-! hdferr - Returns 0 if successful and -1 if fails
-!
-! AUTHOR
-! Elena Pourmal
-! August 12, 1999
-!
-! HISTORY
-! Explicit Fortran interfaces were added for
-! called C functions (it is needed for Windows
-! port). March 7, 2001
-! SOURCE
- SUBROUTINE h5tget_tag_f(type_id, tag,taglen, hdferr)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier
- CHARACTER(LEN=*), INTENT(OUT) :: tag ! Unique ASCII string with which
- ! the opaque datatype is to be tagged
- INTEGER, INTENT(OUT) :: taglen ! Length of tag
- INTEGER(SIZE_T) :: tag_size ! Declared character length of tab
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-!*****
- INTERFACE
- INTEGER FUNCTION h5tget_tag_c(type_id, tag, tag_size, taglen)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5TGET_TAG_C'::h5tget_tag_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: tag
- INTEGER(HID_T), INTENT(IN) :: type_id
- CHARACTER(LEN=*), INTENT(OUT) :: tag
- INTEGER(SIZE_T), INTENT(IN) :: tag_size
- INTEGER, INTENT(OUT) :: taglen
- END FUNCTION h5tget_tag_c
- END INTERFACE
-
- tag_size = LEN(tag)
-
- hdferr = h5tget_tag_c(type_id, tag, tag_size, taglen )
- END SUBROUTINE h5tget_tag_f
-
-!
-!****s* H5T/h5tvlen_create_f
-!
-! NAME
-! h5tvlen_create_f
-!
-! PURPOSE
-! Creates a new variable-length datatype.
-!
-! INPUTS
-! type_id - identifier iof base datatype
-! OUTPUTS
-! vltype_id - identifier for VL datatype
-! hdferr - Returns 0 if successful and -1 if fails
-!
-! AUTHOR
-! Elena Pourmal
-! Wednesday, October 23, 2002
-!
-! NOTES
-! Only basic Fortran base datatypes are supported
-!
-! SOURCE
- SUBROUTINE h5tvlen_create_f(type_id, vltype_id, hdferr)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier
- INTEGER(HID_T), INTENT(OUT) :: vltype_id ! VL datatype identifier
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-!*****
- INTERFACE
- INTEGER FUNCTION h5tvlen_create_c(type_id, vltype_id)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5TVLEN_CREATE_C'::h5tvlen_create_c
- !DEC$ENDIF
- INTEGER(HID_T), INTENT(IN) :: type_id
- INTEGER(HID_T), INTENT(OUT) :: vltype_id
- END FUNCTION h5tvlen_create_c
- END INTERFACE
-
- hdferr = h5tvlen_create_c(type_id, vltype_id)
- END SUBROUTINE h5tvlen_create_f
-
-!
-!****s* H5T/h5tis_variable_str_f
-!
-! NAME
-! h5tis_variable_str_f
-!
-! PURPOSE
-! Determines whether a dattype is a variable string.
-!
-! INPUTS
-! type_id - datartpe identifier
-! OUTPUTS
-! status - flag to indicate if datatype
-! is a variable string
-! hdferr - Returns 0 if successful and -1 if fails
-!
-! AUTHOR
-! Elena Pourmal
-! March 12, 2003
-!
-! SOURCE
- SUBROUTINE h5tis_variable_str_f(type_id, status, hdferr)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier
- LOGICAL, INTENT(OUT) :: status ! Flag, idicates if datatype
- ! is a variable string or not ( TRUE or
- ! FALSE)
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-!*****
- INTEGER :: flag ! "TRUE/FALSE/ERROR from C"
-
- INTERFACE
- INTEGER FUNCTION h5tis_variable_str_c(type_id, flag)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5TIS_VARIABLE_STR_C'::h5tis_variable_str_c
- !DEC$ENDIF
- INTEGER(HID_T), INTENT(IN) :: type_id
- INTEGER :: flag
- END FUNCTION h5tis_variable_str_c
- END INTERFACE
-
- hdferr = h5tis_variable_str_c(type_id, flag)
- status = .TRUE.
- if (flag .EQ. 0) status = .FALSE.
-
- END SUBROUTINE h5tis_variable_str_f
-
-!
-!****s* H5T/h5tget_member_class_f
-!
-! NAME
-! h5tget_member_class_f
-!
-! PURPOSE
-! Returns datatype class of compound datatype member.
-!
-! INPUTS
-! type_id - datartpe identifier
-! member_no - index of compound datatype member
-! OUTPUTS
-! class - class type for compound dadtype member
-! Valid classes:
-! H5T_NO_CLASS_F (error)
-! H5T_INTEGER_F
-! H5T_FLOAT_F
-! H5T_TIME_F
-! H5T_STRING_F
-! H5T_BITFIELD_F
-! H5T_OPAQUE_F
-! H5T_COMPOUND_F
-! H5T_REFERENCE_F
-! H5T_ENUM_F
-! H5T_VLEN_F
-! H5T_ARRAY_F
-! hdferr - Returns 0 if successful and -1 if fails
-!
-! AUTHOR
-! Elena Pourmal
-! April 6, 2005
-!
-! SOURCE
- SUBROUTINE h5tget_member_class_f(type_id, member_no, class, hdferr)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier
- INTEGER, INTENT(IN) :: member_no ! Member number
- INTEGER, INTENT(OUT) :: class ! Member class
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-!*****
- INTERFACE
- INTEGER FUNCTION h5tget_member_class_c(type_id, member_no, class)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5TGET_MEMBER_CLASS_C'::h5tget_member_class_c
- !DEC$ENDIF
- INTEGER(HID_T), INTENT(IN) :: type_id
- INTEGER, INTENT(IN) :: member_no
- INTEGER, INTENT(OUT) :: class
- END FUNCTION h5tget_member_class_c
- END INTERFACE
-
- hdferr = h5tget_member_class_c(type_id, member_no, class)
-
- END SUBROUTINE h5tget_member_class_f
-
-!
-!****s* H5T/h5tcommit_anon_f
-!
-! NAME
-! h5tcommit_anon_f
-!
-! PURPOSE
-! Commits a transient datatype to a file,
-! creating a new named datatype,
-! but does not link it into the file structure.
-!
-! INPUTS
-! loc_id - A file or group identifier specifying the file
-! in which the new named datatype is to be created.
-! dtype_id - A datatype identifier.
-!
-! OUTPUTS
-! hdferr - Returns 0 if successful and -1 if fails
-! OPTIONAL PARAMETERS
-! tcpl_id - A datatype creation property list identifier.
-! (H5P_DEFAULT_F for the default property list.)
-! tapl_id - A datatype access property list identifier.
-! should always be passed as the value H5P_DEFAULT_F.
-!
-! AUTHOR
-! M. Scot Breitenfeld
-! February 25, 2008
-!
-! SOURCE
- SUBROUTINE h5tcommit_anon_f(loc_id, dtype_id, hdferr, tcpl_id, tapl_id)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: loc_id ! A file or group identifier specifying
- ! the file in which the new named datatype
- ! is to be created.
- INTEGER(HID_T), INTENT(IN) :: dtype_id ! Datatype identifier
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: tcpl_id ! A datatype creation property
- ! list identifier.
- ! (H5P_DEFAULT_F for the default property list.)
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: tapl_id ! A datatype access property list identifier.
- ! should always be passed as the value H5P_DEFAULT_F.
-!*****
- INTEGER(HID_T) :: tcpl_id_default
- INTEGER(HID_T) :: tapl_id_default
-
- INTERFACE
- INTEGER FUNCTION h5tcommit_anon_c(loc_id, dtype_id, &
- tcpl_id_default, tapl_id_default)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5TCOMMIT_ANON_C'::h5tcommit_anon_c
- !DEC$ENDIF
- INTEGER(HID_T), INTENT(IN) :: loc_id
- INTEGER(HID_T), INTENT(IN) :: dtype_id
- INTEGER(HID_T) :: tcpl_id_default
- INTEGER(HID_T) :: tapl_id_default
- END FUNCTION h5tcommit_anon_c
- END INTERFACE
-
- tcpl_id_default = H5P_DEFAULT_F
- tapl_id_default = H5P_DEFAULT_F
-
- IF(PRESENT(tcpl_id)) tcpl_id_default = tcpl_id
- IF(PRESENT(tapl_id)) tapl_id_default = tapl_id
-
- hdferr = h5tcommit_anon_c(loc_id, dtype_id, &
- tcpl_id_default, tapl_id_default )
-
- END SUBROUTINE h5tcommit_anon_f
-
-!
-!****s* H5T/h5tcommitted_f
-!
-! NAME
-! h5tcommitted_f
-!
-! PURPOSE
-! Determines whether a datatype is a named type or a transient type.
-!
-! INPUTS
-! dtype_id - A datatype identifier.
-!
-! OUTPUTS
-! committed - .TRUE., if the datatype has been committed
-! .FALSE., if the datatype has not been committed.
-! hdferr - Returns 0 if successful and -1 if fails
-! AUTHOR
-! M. Scot Breitenfeld
-! February 25, 2008
-!
-! SOURCE
- SUBROUTINE h5tcommitted_f(dtype_id, committed, hdferr)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: dtype_id ! A datatype identifier
- LOGICAL, INTENT(OUT) :: committed ! .TRUE., if the datatype has been committed
- !.FALSE., if the datatype has not been committed.
- INTEGER, INTENT(OUT) :: hdferr ! Error code:
-! Success: 0
-! Failure: -1
-!*****
- INTERFACE
- INTEGER FUNCTION h5tcommitted_c(dtype_id)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5TCOMMITTED_C'::h5tcommitted_c
- !DEC$ENDIF
- INTEGER(HID_T), INTENT(IN) :: dtype_id
- END FUNCTION h5tcommitted_c
- END INTERFACE
-
- hdferr = h5tcommitted_c(dtype_id)
-
- IF(hdferr.GT.0)THEN
- committed = .TRUE.
- hdferr = 0
- ELSE IF(hdferr.EQ.0)THEN
- committed = .FALSE.
- hdferr = 0
- ELSE
- hdferr = -1
- ENDIF
-
-
- END SUBROUTINE h5tcommitted_f
-
-!
-!****s* H5T/H5Tdecode_f
-!
-! NAME
-! H5Tdecode_f
-!
-! PURPOSE
-! Decode a binary object description of data type and return a new object handle.
-! INPUTS
-! buf - Buffer for the data space object to be decoded.
-! obj_id - Object ID
-! OUTPUTS
-! hdferr - Returns 0 if successful and -1 if fails
-!
-! AUTHOR
-! M. Scot Breitenfeld
-! April 9, 2008
-!
-! SOURCE
- SUBROUTINE h5tdecode_f(buf, obj_id, hdferr)
- IMPLICIT NONE
- CHARACTER(LEN=*), INTENT(IN) :: buf ! Buffer for the data space object to be decoded.
- INTEGER(HID_T), INTENT(OUT) :: obj_id ! Object ID
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-!*****
- INTERFACE
- INTEGER FUNCTION h5tdecode_c(buf, obj_id)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5TDECODE_C'::h5tdecode_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: buf
- CHARACTER(LEN=*), INTENT(IN) :: buf
- INTEGER(HID_T), INTENT(OUT) :: obj_id ! Object ID
- END FUNCTION h5tdecode_c
- END INTERFACE
-
- hdferr = h5tdecode_c(buf, obj_id)
-
- END SUBROUTINE h5tdecode_f
-
-!
-!****s* H5T/H5Tencode_f
-!
-! NAME
-! H5Tencode_f
-!
-! PURPOSE
-! Encode a data type object description into a binary buffer.
-!
-! INPUTS
-! obj_id - Identifier of the object to be encoded.
-! buf - Buffer for the object to be encoded into.
-! nalloc - The size of the allocated buffer.
-! OUTPUTS
-! nalloc - The size of the buffer needed.
-! hdferr - Returns 0 if successful and -1 if fails.
-!
-! AUTHOR
-! M. Scot Breitenfeld
-! April 9, 2008
-! SOURCE
- SUBROUTINE h5tencode_f(obj_id, buf, nalloc, hdferr)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: obj_id ! Identifier of the object to be encoded.
- CHARACTER(LEN=*), INTENT(OUT) :: buf ! Buffer for the object to be encoded into.
- INTEGER(SIZE_T), INTENT(INOUT) :: nalloc ! The size of the allocated buffer.
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-!*****
-
- INTERFACE
- INTEGER FUNCTION h5tencode_c(buf, obj_id, nalloc)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5TENCODE_C'::h5tencode_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: buf
- INTEGER(HID_T), INTENT(IN) :: obj_id
- CHARACTER(LEN=*), INTENT(OUT) :: buf
- INTEGER(SIZE_T), INTENT(INOUT) :: nalloc
- END FUNCTION h5tencode_c
- END INTERFACE
-
- hdferr = h5tencode_c(buf, obj_id, nalloc)
-
- END SUBROUTINE h5tencode_f
-
-!
-!****s* H5T/h5tget_create_plist_f
-!
-! NAME
-! h5tget_create_plist_f
-!
-! PURPOSE
-! Returns a copy of a datatype creation property list.
-!
-! INPUTS
-! dtype_id - Datatype identifier
-! OUTPUTS
-! dtpl_id - Datatype property list identifier
-! hdferr - Returns 0 if successful and -1 if fails
-!
-! AUTHOR
-! M. Scot Breitenfeld
-! April 9, 2008
-!
-! SOURCE
- SUBROUTINE h5tget_create_plist_f(dtype_id, dtpl_id, hdferr)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: dtype_id ! Datatype identifier
- INTEGER(HID_T), INTENT(OUT) :: dtpl_id ! Datatype property list identifier.
- INTEGER, INTENT(OUT) :: hdferr ! Error code:
- ! 0 on success and -1 on failure
-!*****
- INTERFACE
- INTEGER FUNCTION h5tget_create_plist_c(dtype_id, dtpl_id)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5TGET_CREATE_PLIST_C'::h5tget_create_plist_c
- !DEC$ENDIF
- INTEGER(HID_T), INTENT(IN) :: dtype_id
- INTEGER(HID_T), INTENT(OUT) :: dtpl_id
- END FUNCTION h5tget_create_plist_c
- END INTERFACE
-
- hdferr = h5tget_create_plist_c(dtype_id, dtpl_id)
- END SUBROUTINE h5tget_create_plist_f
-
-!
-!****s* H5T/h5tcompiler_conv_f
-!
-! NAME
-! h5tcompiler_conv_f
-!
-! PURPOSE
-! Check whether the library’s default conversion is hard conversion.R
-!
-! INPUTS
-! src_id - Identifier for the source datatype.
-! dst_id - Identifier for the destination datatype.
-! OUTPUTS
-! flag - TRUE for compiler conversion, FALSE for library conversion
-! hdferr - Returns 0 if successful and -1 if fails
-!
-! AUTHOR
-! M. Scot Breitenfeld
-! April 9, 2008
-! SOURCE
- SUBROUTINE h5tcompiler_conv_f( src_id, dst_id, flag, hdferr)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: src_id ! Identifier for the source datatype.
- INTEGER(HID_T), INTENT(IN) :: dst_id ! Identifier for the destination datatype.
- LOGICAL, INTENT(OUT) :: flag ! .TRUE. for compiler conversion, .FALSE. for library conversion
- INTEGER, INTENT(OUT) :: hdferr ! Error code:
- ! 0 on success and -1 on failure
-!*****
- INTEGER :: c_flag
-
- INTERFACE
- INTEGER FUNCTION h5tcompiler_conv_c(src_id, dst_id, c_flag)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5TCOMPILER_CONV_C'::h5tcompiler_conv_c
- !DEC$ENDIF
- INTEGER(HID_T), INTENT(IN) :: src_id
- INTEGER(HID_T), INTENT(IN) :: dst_id
- INTEGER :: c_flag
- END FUNCTION h5tcompiler_conv_c
- END INTERFACE
-
- hdferr = h5tcompiler_conv_c(src_id, dst_id, c_flag)
-
- flag = .FALSE.
- IF(c_flag .GT. 0) flag = .TRUE.
-
- END SUBROUTINE h5tcompiler_conv_f
-
-!
-!****s* H5T/h5tget_native_type_f
-!
-! NAME
-! h5tget_native_type_f
-!
-! PURPOSE
-! Returns the native datatype of a specified datatype.
-!
-! INPUTS
-! dtype_id - Datatype identifier for the dataset datatype.
-!
-! direction - Direction of search:
-! H5T_DIR_DEFAULT = 0, /*default direction is inscendent */
-! H5T_DIR_ASCEND = 1, /*in inscendent order */
-! H5T_DIR_DESCEND = 2 /*in descendent order */
-! * NOTE: In C it is defined as a structure: H5T_direction_t
-!
-! OUTPUTS
-! native_dtype_id - The native datatype identifier for the specified dataset datatype
-! hdferr - Returns 0 if successful and -1 if fails
-! AUTHOR
-! M. Scot Breitenfeld
-! June 18, 2008
-! SOURCE
- SUBROUTINE h5tget_native_type_f(dtype_id, direction, native_dtype_id, hdferr)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: dtype_id ! Datatype identifier
- INTEGER, INTENT(IN) :: direction ! Direction of search:
- ! H5T_DIR_ASCEND_F = 1 in inscendent order
- ! H5T_DIR_DESCEND_F = 2 in descendent order
- INTEGER(HID_T), INTENT(OUT) :: native_dtype_id ! The native datatype identifier
- INTEGER, INTENT(OUT) :: hdferr ! Error code:
- ! 0 on success and -1 on failure
-!*****
- INTERFACE
- INTEGER FUNCTION h5tget_native_type_c(dtype_id, direction, native_dtype_id)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5TGET_NATIVE_TYPE_C'::h5tget_native_type_c
- !DEC$ENDIF
- INTEGER(HID_T), INTENT(IN) :: dtype_id
- INTEGER, INTENT(IN) :: direction
- INTEGER(HID_T), INTENT(OUT) :: native_dtype_id
- END FUNCTION h5tget_native_type_c
- END INTERFACE
-
- hdferr = h5tget_native_type_c(dtype_id, direction, native_dtype_id)
- END SUBROUTINE h5tget_native_type_f
-
-END MODULE H5T
diff --git a/fortran/src/H5Tff_F03.f90 b/fortran/src/H5Tff_F03.f90
deleted file mode 100644
index 2c9f212..0000000
--- a/fortran/src/H5Tff_F03.f90
+++ /dev/null
@@ -1,223 +0,0 @@
-!****h* ROBODoc/H5T (F03)
-!
-! NAME
-! H5T_PROVISIONAL
-!
-! PURPOSE
-! This file contains Fortran 90 and Fortran 2003 interfaces for H5T functions.
-! It contains the same functions as H5Tff_F90.f90 but includes the
-! Fortran 2003 functions and the interface listings. This file will be compiled
-! instead of H5Tff_F90.f90 if Fortran 2003 functions are enabled.
-!
-! COPYRIGHT
-! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
-! Copyright by The HDF Group. *
-! Copyright by the Board of Trustees of the University of Illinois. *
-! All rights reserved. *
-! *
-! This file is part of HDF5. The full HDF5 copyright notice, including *
-! terms governing use, modification, and redistribution, is contained in *
-! the files COPYING and Copyright.html. COPYING can be found at the root *
-! of the source code distribution tree; Copyright.html can be found at the *
-! root level of an installed copy of the electronic HDF5 document set and *
-! is linked from the top-level documents page. It can also be found at *
-! http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have *
-! access to either file, you may request a copy from help@hdfgroup.org. *
-! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
-!
-! NOTES
-! *** IMPORTANT ***
-! If you add a new H5T function you must add the function name to the
-! Windows dll file 'hdf5_fortrandll.def.in' in the fortran/src directory.
-! This is needed for Windows based operating systems.
-!
-!*****
-
-MODULE H5T_PROVISIONAL
-
- USE H5GLOBAL
- USE, INTRINSIC :: ISO_C_BINDING
-
-!****t* H5T (F03)/hvl_t
-! Fortran2003 Derived Type:
- TYPE hvl_t
- INTEGER(size_t) :: len ! Length of VL data (in base type units)
- TYPE(C_PTR) :: p ! Pointer to VL data
- END TYPE hvl_t
-
-!*****
-
- INTERFACE h5tenum_insert_f
- MODULE PROCEDURE h5tenum_insert_f03
- MODULE PROCEDURE h5tenum_insert_f90
- END INTERFACE
-
-CONTAINS
-
-!****s* H5T (F03)/H5Tconvert_f_F03
-!
-! NAME
-! H5Tconvert_f
-!
-! PURPOSE
-! Converts data from between specified datatypes.
-!
-! Inputs:
-! src_id - Identifier for the source datatype.
-! dst_id - Identifier for the destination datatype.
-! nelmts - Size of array buf.
-! buf - Array containing pre-conversion values.
-! background - Optional background buffer.
-! plist_id - Dataset transfer property list identifier.
-!
-! Outputs:
-! buf - Array containing post-conversion values.
-! hdferr - error code:
-! 0 on success and -1 on failure
-! AUTHOR
-! M. Scot Breitenfeld
-! Decemember 8, 2008
-!
-! Fortran2003 Interface:
- SUBROUTINE h5tconvert_f(src_id, dst_id, nelmts, buf, hdferr, background, plist_id)
- USE, INTRINSIC :: ISO_C_BINDING
- IMPLICIT NONE
- INTEGER(HID_T) , INTENT(IN) :: src_id
- INTEGER(HID_T) , INTENT(IN) :: dst_id
- INTEGER(SIZE_T), INTENT(IN) :: nelmts
- TYPE(C_PTR) , INTENT(INOUT) :: buf
- INTEGER , INTENT(OUT) :: hdferr
- TYPE(C_PTR) , INTENT(INOUT), OPTIONAL :: background
- INTEGER(HID_T) , INTENT(IN) , OPTIONAL :: plist_id
-!*****
- INTEGER(HID_T) :: plist_id_default
- TYPE(C_PTR) :: background_default
-
- INTERFACE
- INTEGER FUNCTION h5tconvert_c(src_id, dst_id, nelmts, buf, background, plist_id) &
- BIND(C, NAME='h5tconvert_c')
- USE, INTRINSIC :: ISO_C_BINDING, ONLY : c_ptr
- USE H5GLOBAL
- IMPLICIT NONE
- INTEGER(HID_T) , INTENT(IN) :: src_id
- INTEGER(HID_T) , INTENT(IN) :: dst_id
- INTEGER(SIZE_T), INTENT(IN) :: nelmts
- TYPE(C_PTR) , VALUE :: buf
- TYPE(C_PTR) , VALUE :: background
- INTEGER(HID_T) , INTENT(IN) :: plist_id
- END FUNCTION h5tconvert_c
- END INTERFACE
-
- plist_id_default = H5P_DEFAULT_F
- IF(PRESENT(plist_id)) plist_id_default = plist_id
-
- background_default = C_NULL_PTR
- IF(PRESENT(background)) background_default = background
-
- hdferr = H5Tconvert_c(src_id, dst_id, nelmts, buf, background_default, plist_id_default)
-
- END SUBROUTINE h5tconvert_f
-!
-!****s* (F03) H5T/h5tenum_insert_f90
-!
-! NAME
-! h5tenum_insert_f
-!
-! PURPOSE
-! Inserts a new enumeration datatype member.
-!
-! INPUTS
-! type_id - Datatype identifier for the enumeration datatype.
-! name - Datatype identifier.
-! value - Value of the new member.
-! OUTPUTS
-! hdferr - Returns 0 if successful and -1 if fails
-!
-! AUTHOR
-! Elena Pourmal
-! August 12, 1999
-!
-! HISTORY
-! Explicit Fortran interfaces were added for
-! called C functions (it is needed for Windows
-! port). March 7, 2001
-! SOURCE
- SUBROUTINE h5tenum_insert_f90(type_id, name, value, hdferr)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier
- CHARACTER(LEN=*), INTENT(IN) :: name !Name of the new member
- INTEGER, INTENT(IN) :: value ! value of the new member
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-!*****
- INTEGER :: namelen
- INTERFACE
- INTEGER FUNCTION h5tenum_insert_c(type_id, name, namelen, value)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5TENUM_INSERT_C'::h5tenum_insert_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: name
- INTEGER(HID_T), INTENT(IN) :: type_id
- CHARACTER(LEN=*), INTENT(IN) :: name
- INTEGER, INTENT(IN) :: value
- INTEGER :: namelen
- END FUNCTION h5tenum_insert_c
- END INTERFACE
-
- namelen = LEN(name)
- hdferr = h5tenum_insert_c(type_id, name, namelen, value)
- END SUBROUTINE h5tenum_insert_f90
-
-!
-!****s* (F03) H5T/h5tenum_insert_f03
-!
-! NAME
-! h5tenum_insert_f
-!
-! PURPOSE
-! Inserts a new enumeration datatype member.
-!
-! INPUTS
-! type_id - Datatype identifier for the enumeration datatype.
-! name - Datatype identifier.
-! value - Pointer to the value of the new member.
-! OUTPUTS
-! hdferr - Returns 0 if successful and -1 if fails
-!
-! AUTHOR
-! M. Scot Breitenfeld
-! February 6, 2015
-!
-! HISTORY
-! F2003 implementation of function
-! SOURCE
- SUBROUTINE h5tenum_insert_f03(type_id, name, value, hdferr)
- USE, INTRINSIC :: ISO_C_BINDING, ONLY : c_ptr, c_char
- USE H5GLOBAL
- IMPLICIT NONE
- INTEGER(HID_T) , INTENT(IN) :: type_id
- CHARACTER(LEN=*), INTENT(IN) :: name
- TYPE(C_PTR) , INTENT(IN) :: value
- INTEGER, INTENT(OUT) :: hdferr
-!*****
- INTEGER :: namelen
-
- INTERFACE
- INTEGER FUNCTION h5tenum_insert_ptr_c(type_id, name, namelen, value) &
- BIND(C, NAME='h5tenum_insert_ptr_c')
- USE, INTRINSIC :: ISO_C_BINDING, ONLY : c_ptr, c_char
- USE H5GLOBAL
- IMPLICIT NONE
- INTEGER(HID_T) , INTENT(IN) :: type_id
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(IN) :: name
- INTEGER :: namelen
- TYPE(C_PTR), VALUE :: value
- END FUNCTION h5tenum_insert_ptr_c
- END INTERFACE
-
- namelen = LEN(name)
- hdferr = h5tenum_insert_ptr_c(type_id, name, namelen, value)
- END SUBROUTINE h5tenum_insert_f03
-
-END MODULE H5T_PROVISIONAL
-
diff --git a/fortran/src/H5Tff_F90.f90 b/fortran/src/H5Tff_F90.f90
deleted file mode 100644
index 380fbec..0000000
--- a/fortran/src/H5Tff_F90.f90
+++ /dev/null
@@ -1,95 +0,0 @@
-!****h* ROBODoc/H5T (F90)
-!
-! NAME
-! MODULE H5T_PROVISIONAL
-!
-! PURPOSE
-! This file contains Fortran 90 interfaces for H5T functions. It contains
-! the same functions as H5Tff_F03.f90 but excludes the Fortran 2003 functions
-! and the interface listings. This file will be compiled instead of H5Tff_F03.f90
-! if Fortran 2003 functions are not enabled.
-!
-! NOTE
-! Currently contains no functions.
-!
-! COPYRIGHT
-! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
-! Copyright by The HDF Group. *
-! Copyright by the Board of Trustees of the University of Illinois. *
-! All rights reserved. *
-! *
-! This file is part of HDF5. The full HDF5 copyright notice, including *
-! terms governing use, modification, and redistribution, is contained in *
-! the files COPYING and Copyright.html. COPYING can be found at the root *
-! of the source code distribution tree; Copyright.html can be found at the *
-! root level of an installed copy of the electronic HDF5 document set and *
-! is linked from the top-level documents page. It can also be found at *
-! http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have *
-! access to either file, you may request a copy from help@hdfgroup.org. *
-! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
-!
-! *** IMPORTANT ***
-! If you add a new H5D function you must add the function name to the
-! Windows dll file 'hdf5_fortrandll.def.in' in the fortran/src directory.
-! This is needed for Windows based operating systems.
-!*****
-
-MODULE H5T_PROVISIONAL
-
- USE H5GLOBAL
-
-CONTAINS
-
-!
-!****s* H5T/h5tenum_insert_f
-!
-! NAME
-! h5tenum_insert_f
-!
-! PURPOSE
-! Inserts a new enumeration datatype member.
-!
-! INPUTS
-! type_id - Datatype identifier for the enumeration datatype.
-! name - Datatype identifier.
-! value - Value of the new member.
-! OUTPUTS
-! hdferr - Returns 0 if successful and -1 if fails
-!
-! AUTHOR
-! Elena Pourmal
-! August 12, 1999
-!
-! HISTORY
-! Explicit Fortran interfaces were added for
-! called C functions (it is needed for Windows
-! port). March 7, 2001
-! SOURCE
- SUBROUTINE h5tenum_insert_f(type_id, name, value, hdferr)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: type_id
- CHARACTER(LEN=*), INTENT(IN) :: name
- INTEGER, INTENT(IN) :: value
- INTEGER, INTENT(OUT) :: hdferr
-!*****
- INTEGER :: namelen
-
- INTERFACE
- INTEGER FUNCTION h5tenum_insert_c(type_id, name, namelen, value)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5TENUM_INSERT_C'::h5tenum_insert_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: name
- INTEGER(HID_T), INTENT(IN) :: type_id
- CHARACTER(LEN=*), INTENT(IN) :: name
- INTEGER, INTENT(IN) :: value
- INTEGER :: namelen
- END FUNCTION h5tenum_insert_c
- END INTERFACE
-
- namelen = LEN(name)
- hdferr = h5tenum_insert_c(type_id, name, namelen, value)
- END SUBROUTINE h5tenum_insert_f
-
-END MODULE H5T_PROVISIONAL
diff --git a/fortran/src/H5Zf.c b/fortran/src/H5Zf.c
index 169e018..a8cf1c2 100644
--- a/fortran/src/H5Zf.c
+++ b/fortran/src/H5Zf.c
@@ -1,6 +1,6 @@
/****h* H5Zf/H5Zf
* PURPOSE
- * This file contains C stubs for H5Z Fortran APIs
+ * This file contains C stubs for H5Z Fortran APIs
*
* COPYRIGHT
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
@@ -25,22 +25,22 @@
/****if* H5Zf/h5zunregister_c
* NAME
- * h5zunregister_c
+ * h5zunregister_c
* PURPOSE
- * Call H5Zunregister to unregister filter
+ * Call H5Zunregister to unregister filter
* INPUTS
- * filter identifier
+ * filter identifier
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* Elena Pourmal
- * Wednesday, March 12, 2003
+ * Wednesday, March 12, 2003
* HISTORY
*
* SOURCE
*/
int_f
-nh5zunregister_c (int_f *filter)
+h5zunregister_c (int_f *filter)
/******/
{
int ret_value = -1;
@@ -58,25 +58,25 @@ nh5zunregister_c (int_f *filter)
}
/****if* H5Zf/h5zfiletr_avail_c
* NAME
- * h5zfiletr_avail_c
+ * h5zfiletr_avail_c
* PURPOSE
- * Call H5Zfilter_avail to find if filter is available
+ * Call H5Zfilter_avail to find if filter is available
* INPUTS
- * filter - filter identifier
+ * filter - filter identifier
* OUTPUTS
- * flag - status flag
+ * flag - status flag
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* Elena Pourmal
- * Wednesday, March 12, 2003
+ * Wednesday, March 12, 2003
* HISTORY
*
* SOURCE
*/
int_f
-nh5zfilter_avail_c ( int_f *filter , int_f *flag )
+h5zfilter_avail_c ( int_f *filter , int_f *flag )
/******/
{
int ret_value = 0;
@@ -92,26 +92,26 @@ nh5zfilter_avail_c ( int_f *filter , int_f *flag )
/****if* H5Zf/h5zget_filter_info_c
* NAME
- * h5zget_filter_info_c
+ * h5zget_filter_info_c
* PURPOSE
- * Call H5Zget_filter_info to find if filter has its encoder
- * and/or its decoder available
+ * Call H5Zget_filter_info to find if filter has its encoder
+ * and/or its decoder available
* INPUTS
- * filter - filter identifier
+ * filter - filter identifier
* OUTPUTS
- * flag - status flag
+ * flag - status flag
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
* Nat Furrer and James Laird
- * Wednesday, June 16, 2004
+ * Wednesday, June 16, 2004
* HISTORY
*
* SOURCE
*/
int_f
-nh5zget_filter_info_c ( int_f *filter , int_f *flag )
+h5zget_filter_info_c ( int_f *filter , int_f *flag )
/******/
{
int ret_value = 0;
diff --git a/fortran/src/H5Zff.f90 b/fortran/src/H5Zff.F90
index 7b67b5b..0259959 100644
--- a/fortran/src/H5Zff.f90
+++ b/fortran/src/H5Zff.F90
@@ -4,29 +4,32 @@
! MODULE H5Z
!
! PURPOSE
-! This file contains Fortran interfaces for H5Z functions. It includes
-! all the functions that are independent on whether the Fortran 2003 functions
-! are enabled or disabled.
-!
+! This file contains Fortran interfaces for H5Z functions.
!
! COPYRIGHT
! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
-! Copyright by The HDF Group. *
-! Copyright by the Board of Trustees of the University of Illinois. *
-! All rights reserved. *
-! *
-! This file is part of HDF5. The full HDF5 copyright notice, including *
-! terms governing use, modification, and redistribution, is contained in *
-! the files COPYING and Copyright.html. COPYING can be found at the root *
-! of the source code distribution tree; Copyright.html can be found at the *
-! root level of an installed copy of the electronic HDF5 document set and *
-! is linked from the top-level documents page. It can also be found at *
-! http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have *
-! access to either file, you may request a copy from help@hdfgroup.org. *
+! Copyright by The HDF Group. *
+! Copyright by the Board of Trustees of the University of Illinois. *
+! All rights reserved. *
+! *
+! This file is part of HDF5. The full HDF5 copyright notice, including *
+! terms governing use, modification, and redistribution, is contained in *
+! the files COPYING and Copyright.html. COPYING can be found at the root *
+! of the source code distribution tree; Copyright.html can be found at the *
+! root level of an installed copy of the electronic HDF5 document set and *
+! is linked from the top-level documents page. It can also be found at *
+! http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have *
+! access to either file, you may request a copy from help@hdfgroup.org. *
! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
!
-! NOTES
-! *** IMPORTANT ***
+! NOTES!
+! _____ __ __ _____ ____ _____ _______ _ _ _______
+! |_ _| \/ | __ \ / __ \| __ \__ __|/\ | \ | |__ __|
+! **** | | | \ / | |__) | | | | |__) | | | / \ | \| | | | ****
+! **** | | | |\/| | ___/| | | | _ / | | / /\ \ | . ` | | | ****
+! **** _| |_| | | | | | |__| | | \ \ | |/ ____ \| |\ | | | ****
+! |_____|_| |_|_| \____/|_| \_\ |_/_/ \_\_| \_| |_|
+!
! If you add a new H5Z function you must add the function name to the
! Windows dll file 'hdf5_fortrandll.def.in' in the fortran/src directory.
! This is needed for Windows based operating systems.
@@ -48,7 +51,7 @@ CONTAINS
! Unregisters specified filetr
!
! INPUTS
-! filter - filter; may have one of the following values:
+! filter - Filter; may have one of the following values:
! H5Z_FILTER_DEFLATE_F
! H5Z_FILTER_SZIP_F
! H5Z_FILTER_NBIT_F
@@ -57,7 +60,7 @@ CONTAINS
! H5Z_FILTER_FLETCHER32_F
!
! OUTPUTS
-! hdferr - error code
+! hdferr - Error code
! Success: 0
! Failure: -1
!
@@ -69,18 +72,14 @@ CONTAINS
SUBROUTINE h5zunregister_f(filter, hdferr)
IMPLICIT NONE
INTEGER, INTENT(IN) :: filter
- INTEGER, INTENT(OUT) :: hdferr ! Error code
+ INTEGER, INTENT(OUT) :: hdferr
!*****
INTERFACE
- INTEGER FUNCTION h5zunregister_c (filter)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5ZUNREGISTER_C':: h5zunregister_c
- !DEC$ENDIF
+ INTEGER FUNCTION h5zunregister_c(filter) BIND(C,NAME='h5zunregister_c')
INTEGER, INTENT(IN) :: filter
END FUNCTION h5zunregister_c
END INTERFACE
- hdferr = h5zunregister_c (filter)
+ hdferr = h5zunregister_c(filter)
END SUBROUTINE h5zunregister_f
!****s* H5Z/h5zfilter_avail_f
@@ -91,11 +90,17 @@ CONTAINS
! Queries if filter is available
!
! INPUTS
-! filter - filter
+! filter - Filter; may be one of the following:
+! H5Z_FILTER_DEFLATE_F
+! H5Z_FILTER_SZIP_F
+! H5Z_FILTER_NBIT_F
+! H5Z_FILTER_SCALEOFFSET_F
+! H5Z_FILTER_SHUFFLE_F
+! H5Z_FILTER_FLETCHER32_F
! OUTPUTS
-! status - status; .TRUE. if filter is available,
+! status - Flag; .TRUE. if filter is available,
! .FALSE. otherwise
-! hdferr: - error code
+! hdferr: - Error code
! Success: 0
! Failure: -1
!
@@ -106,26 +111,15 @@ CONTAINS
! SOURCE
SUBROUTINE h5zfilter_avail_f(filter, status, hdferr)
IMPLICIT NONE
- INTEGER, INTENT(IN) :: filter ! Filter; may be one of the following:
- ! H5Z_FILTER_DEFLATE_F
- ! H5Z_FILTER_SZIP_F
- ! H5Z_FILTER_NBIT_F
- ! H5Z_FILTER_SCALEOFFSET_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, INTENT(IN) :: filter
+ LOGICAL, INTENT(OUT) :: status
+ INTEGER, INTENT(OUT) :: hdferr
!*****
INTEGER :: flag ! "TRUE/FALSE/ERROR from C"
INTERFACE
- INTEGER FUNCTION h5zfilter_avail_c(filter, flag)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5ZFILTER_AVAIL_C'::h5zfilter_avail_c
- !DEC$ENDIF
+ INTEGER FUNCTION h5zfilter_avail_c(filter, flag) BIND(C,NAME='h5zfilter_avail_c')
+ IMPLICIT NONE
INTEGER, INTENT(IN) :: filter
INTEGER :: flag
END FUNCTION h5zfilter_avail_c
@@ -136,6 +130,7 @@ CONTAINS
IF (flag .EQ. 0) status = .FALSE.
END SUBROUTINE h5zfilter_avail_f
+
!****s* H5Z/h5zget_filter_info_f
!
! NAME
@@ -146,13 +141,20 @@ CONTAINS
! available
!
! INPUTS
-! filter - filter
+! filter - Filter; may be one of the following:
+! H5Z_FILTER_DEFLATE_F
+! H5Z_FILTER_SZIP_F
+! H5Z_FILTER_NBIT_F
+! H5Z_FILTER_SCALEOFFSET_F
+! H5Z_FILTER_SHUFFLE_F
+! H5Z_FILTER_FLETCHER32_Ffilter
! OUTPUTS
-! config_flags - Bit vector possibly containing the
+! config_flags - Flag, indicates if filter has its encoder
+! and/or decoder available, possibly containing the
! following values:
! H5Z_FILTER_ENCODE_ENABLED_F
! H5Z_FILTER_DECODE_ENABLED_F
-! hdferr: - error code
+! hdferr: - Error code
! Success: 0
! Failure: -1
!
@@ -162,25 +164,14 @@ CONTAINS
! SOURCE
SUBROUTINE h5zget_filter_info_f(filter, config_flags, hdferr)
IMPLICIT NONE
- INTEGER, INTENT(IN) :: filter ! Filter; may be one of the following:
- ! H5Z_FILTER_DEFLATE_F
- ! H5Z_FILTER_SZIP_F
- ! H5Z_FILTER_NBIT_F
- ! H5Z_FILTER_SCALEOFFSET_F
- ! H5Z_FILTER_SHUFFLE_F
- ! H5Z_FILTER_FLETCHER32_F
- INTEGER, INTENT(OUT) :: config_flags! Flag, indicates if filter
- ! has its encoder and/or decoder
- ! available
- INTEGER, INTENT(OUT) :: hdferr ! Error code
+ INTEGER, INTENT(IN) :: filter
+ INTEGER, INTENT(OUT) :: config_flags
+ INTEGER, INTENT(OUT) :: hdferr
!*****
INTERFACE
- INTEGER FUNCTION h5zget_filter_info_c(filter, config_flags)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5ZGET_FILTER_INFO_C'::h5zget_filter_info_c
- !DEC$ENDIF
+ INTEGER FUNCTION h5zget_filter_info_c(filter, config_flags) BIND(C,NAME='h5zget_filter_info_c')
+ IMPLICIT NONE
INTEGER, INTENT(IN) :: filter
INTEGER, INTENT(OUT) :: config_flags
END FUNCTION h5zget_filter_info_c
diff --git a/fortran/src/H5_DBLE_InterfaceExclude.f90 b/fortran/src/H5_DBLE_InterfaceExclude.f90
deleted file mode 100644
index 2a3e26f..0000000
--- a/fortran/src/H5_DBLE_InterfaceExclude.f90
+++ /dev/null
@@ -1,39 +0,0 @@
-!****h* fortran/src/H5_DBLE_InterfaceExclude.f90
-!
-! NAME
-! H5_DBLE_INTERFACE
-!
-! FUNCTION
-! This module is used for when the default REAL is of type DOUBLE PRECISION.
-! We do not include the double precision interfaces if the defaut REAL is
-! DOUBLE PRECISION since this would lead to a non-unique conflict with the
-! generic interfaces declared as REAL and those declared as DOUBLE PRECISION.
-!
-! NOTES
-! Empty module.
-!
-! COPYRIGHT
-! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
-! Copyright by The HDF Group. *
-! Copyright by the Board of Trustees of the University of Illinois. *
-! All rights reserved. *
-! *
-! This file is part of HDF5. The full HDF5 copyright notice, including *
-! terms governing use, modification, and redistribution, is contained in *
-! the files COPYING and Copyright.html. COPYING can be found at the root *
-! of the source code distribution tree; Copyright.html can be found at the *
-! root level of an installed copy of the electronic HDF5 document set and *
-! is linked from the top-level documents page. It can also be found at *
-! http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have *
-! access to either file, you may request a copy from help@hdfgroup.org. *
-! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
-!
-! AUTHOR
-! M. Scot Breitenfeld
-!
-!*****
-
-MODULE H5_DBLE_INTERFACE
-
-
-END MODULE H5_DBLE_INTERFACE
diff --git a/fortran/src/H5_DBLE_InterfaceInclude.f90 b/fortran/src/H5_DBLE_InterfaceInclude.f90
deleted file mode 100644
index 11e0a85..0000000
--- a/fortran/src/H5_DBLE_InterfaceInclude.f90
+++ /dev/null
@@ -1,1859 +0,0 @@
-!****h* fortran/src/H5_DBLE_InterfaceInclude.f90
-!
-! NAME
-! H5_DBLE_INTERFACE
-!
-! FUNCTION
-! This module is used for when the default REAL is not of the type DOUBLE PRECISION.
-! We only do not include the double precision interfaces if the defaut REAL is
-! DOUBLE PRECISION since this would lead to a non-unique conflict with the
-! generic interfaces declared as REAL. Otherwise it is okay to include the interfaces.
-!
-! NOTES
-! This module contains all the DOUBLE PRECISION interfaces and corresponding subroutines
-! from the HDF function catagory H5A, H5D and H5P.
-!
-! COPYRIGHT
-! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
-! Copyright by The HDF Group. *
-! Copyright by the Board of Trustees of the University of Illinois. *
-! All rights reserved. *
-! *
-! This file is part of HDF5. The full HDF5 copyright notice, including *
-! terms governing use, modification, and redistribution, is contained in *
-! the files COPYING and Copyright.html. COPYING can be found at the root *
-! of the source code distribution tree; Copyright.html can be found at the *
-! root level of an installed copy of the electronic HDF5 document set and *
-! is linked from the top-level documents page. It can also be found at *
-! http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have *
-! access to either file, you may request a copy from help@hdfgroup.org. *
-! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
-!
-! AUTHOR
-! M. Scot Breitenfeld
-!
-!*****
-
-MODULE H5_DBLE_INTERFACE
-
- USE H5GLOBAL
-
- !
- ! ----- H5A ----
- !
- INTERFACE h5awrite_f
- MODULE PROCEDURE h5awrite_double_scalar
- MODULE PROCEDURE h5awrite_double_1
- MODULE PROCEDURE h5awrite_double_2
- MODULE PROCEDURE h5awrite_double_3
- MODULE PROCEDURE h5awrite_double_4
- MODULE PROCEDURE h5awrite_double_5
- MODULE PROCEDURE h5awrite_double_6
- MODULE PROCEDURE h5awrite_double_7
- END INTERFACE
-
- INTERFACE h5aread_f
- MODULE PROCEDURE h5aread_double_scalar
- MODULE PROCEDURE h5aread_double_1
- MODULE PROCEDURE h5aread_double_2
- MODULE PROCEDURE h5aread_double_3
- MODULE PROCEDURE h5aread_double_4
- MODULE PROCEDURE h5aread_double_5
- MODULE PROCEDURE h5aread_double_6
- MODULE PROCEDURE h5aread_double_7
- END INTERFACE
- !
- ! ----- H5D ----
- !
- INTERFACE h5dwrite_f
- MODULE PROCEDURE h5dwrite_double_scalar
- MODULE PROCEDURE h5dwrite_double_1
- MODULE PROCEDURE h5dwrite_double_2
- MODULE PROCEDURE h5dwrite_double_3
- MODULE PROCEDURE h5dwrite_double_4
- MODULE PROCEDURE h5dwrite_double_5
- MODULE PROCEDURE h5dwrite_double_6
- MODULE PROCEDURE h5dwrite_double_7
- END INTERFACE
-
- INTERFACE h5dread_f
- MODULE PROCEDURE h5dread_double_scalar
- MODULE PROCEDURE h5dread_double_1
- MODULE PROCEDURE h5dread_double_2
- MODULE PROCEDURE h5dread_double_3
- MODULE PROCEDURE h5dread_double_4
- MODULE PROCEDURE h5dread_double_5
- MODULE PROCEDURE h5dread_double_6
- MODULE PROCEDURE h5dread_double_7
- END INTERFACE
-
- INTERFACE h5dfill_f
- MODULE PROCEDURE h5dfill_double
- END INTERFACE
-
- !
- ! ----- H5P ----
- !
- INTERFACE h5pset_fill_value_f
- MODULE PROCEDURE h5pset_fill_value_double
- END INTERFACE
-
- INTERFACE h5pget_fill_value_f
- MODULE PROCEDURE h5pget_fill_value_double
- END INTERFACE
-
- INTERFACE h5pset_f
- MODULE PROCEDURE h5pset_double
- END INTERFACE
-
- INTERFACE h5pget_f
- MODULE PROCEDURE h5pget_double
- END INTERFACE
-
- INTERFACE h5pregister_f
- MODULE PROCEDURE h5pregister_double
- END INTERFACE
-
- INTERFACE h5pinsert_f
- MODULE PROCEDURE h5pinsert_double
- END INTERFACE
-
-CONTAINS
-
- !
- ! ----- H5A ----
- !
- SUBROUTINE h5awrite_double_scalar(attr_id, memtype_id, buf, dims, hdferr)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
- INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
- ! identifier (in memory)
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- DOUBLE PRECISION, INTENT(IN) :: buf ! Attribute data
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-
- ! INTEGER, EXTERNAL :: h5awrite_double_s_c
- ! MS FORTRAN needs explicit interface for C functions called here.
- !
- INTERFACE
- INTEGER FUNCTION h5awrite_double_s_c(attr_id, memtype_id, buf, dims)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5AWRITE_DOUBLE_S_C'::h5awrite_double_s_c
- !DEC$ENDIF
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- INTEGER(HID_T), INTENT(IN) :: attr_id
- INTEGER(HID_T), INTENT(IN) :: memtype_id
- DOUBLE PRECISION, INTENT(IN)::buf
- END FUNCTION h5awrite_double_s_c
- END INTERFACE
-
- hdferr = h5awrite_double_s_c(attr_id, memtype_id, buf, dims)
- END SUBROUTINE h5awrite_double_scalar
-
- SUBROUTINE h5awrite_double_1(attr_id, memtype_id, buf, dims, hdferr)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
- INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
- ! identifier (in memory)
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- DOUBLE PRECISION, INTENT(IN), &
- DIMENSION(dims(1)) :: buf ! Attribute data
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-
- ! INTEGER, EXTERNAL :: h5awrite_double_1_c
- ! MS FORTRAN needs explicit interface for C functions called here.
- !
- INTERFACE
- INTEGER FUNCTION h5awrite_double_1_c(attr_id, memtype_id, buf, dims)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5AWRITE_DOUBLE_1_C'::h5awrite_double_1_c
- !DEC$ENDIF
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- INTEGER(HID_T), INTENT(IN) :: attr_id
- INTEGER(HID_T), INTENT(IN) :: memtype_id
- DOUBLE PRECISION, INTENT(IN), &
- DIMENSION(dims(1)) :: buf
- END FUNCTION h5awrite_double_1_c
- END INTERFACE
-
- hdferr = h5awrite_double_1_c(attr_id, memtype_id, buf, dims)
- END SUBROUTINE h5awrite_double_1
-
-
- SUBROUTINE h5awrite_double_2(attr_id, memtype_id, buf, dims, hdferr)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
- INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
- ! identifier (in memory)
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- DOUBLE PRECISION, INTENT(IN), &
- DIMENSION(dims(1),dims(2)) :: buf
- ! Attribute data
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-
- ! INTEGER, EXTERNAL :: h5awrite_double_2_c
- ! MS FORTRAN needs explicit interface for C functions called here.
- !
- INTERFACE
- INTEGER FUNCTION h5awrite_double_2_c(attr_id, memtype_id, buf, dims)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5AWRITE_DOUBLE_2_C'::h5awrite_double_2_c
- !DEC$ENDIF
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- INTEGER(HID_T), INTENT(IN) :: attr_id
- INTEGER(HID_T), INTENT(IN) :: memtype_id
- DOUBLE PRECISION, INTENT(IN), &
- DIMENSION(dims(1),dims(2)) :: buf
- END FUNCTION h5awrite_double_2_c
- END INTERFACE
-
- hdferr = h5awrite_double_2_c(attr_id, memtype_id, buf, dims)
- END SUBROUTINE h5awrite_double_2
-
-
- SUBROUTINE h5awrite_double_3(attr_id, memtype_id, buf, dims, hdferr)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
- INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
- ! identifier (in memory)
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- DOUBLE PRECISION, INTENT(IN), &
- DIMENSION(dims(1),dims(2),dims(3)) :: buf
- ! Attribute data
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-
- ! INTEGER, EXTERNAL :: h5awrite_double_3_c
- ! MS FORTRAN needs explicit interface for C functions called here.
- !
- INTERFACE
- INTEGER FUNCTION h5awrite_double_3_c(attr_id, memtype_id, buf, dims)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5AWRITE_DOUBLE_3_C'::h5awrite_double_3_c
- !DEC$ENDIF
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- INTEGER(HID_T), INTENT(IN) :: attr_id
- INTEGER(HID_T), INTENT(IN) :: memtype_id
- DOUBLE PRECISION, INTENT(IN), &
- DIMENSION(dims(1),dims(2),dims(3)) :: buf
- END FUNCTION h5awrite_double_3_c
- END INTERFACE
-
- hdferr = h5awrite_double_3_c(attr_id, memtype_id, buf, dims)
- END SUBROUTINE h5awrite_double_3
-
-
- SUBROUTINE h5awrite_double_4(attr_id, memtype_id, buf, dims, hdferr)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
- INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
- ! identifier (in memory)
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- DOUBLE PRECISION, INTENT(IN), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4)) :: buf
- ! Attribute data
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-
- ! INTEGER, EXTERNAL :: h5awrite_double_4_c
- ! MS FORTRAN needs explicit interface for C functions called here.
- !
- INTERFACE
- INTEGER FUNCTION h5awrite_double_4_c(attr_id, memtype_id, buf, dims)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5AWRITE_DOUBLE_4_C'::h5awrite_double_4_c
- !DEC$ENDIF
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- INTEGER(HID_T), INTENT(IN) :: attr_id
- INTEGER(HID_T), INTENT(IN) :: memtype_id
- DOUBLE PRECISION, INTENT(IN), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4)) :: buf
- END FUNCTION h5awrite_double_4_c
- END INTERFACE
-
- hdferr = h5awrite_double_4_c(attr_id, memtype_id, buf, dims)
- END SUBROUTINE h5awrite_double_4
-
-
- SUBROUTINE h5awrite_double_5(attr_id, memtype_id, buf, dims, hdferr)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
- INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
- ! identifier (in memory)
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- DOUBLE PRECISION, INTENT(IN), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)) :: buf
- ! Attribute data
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-
- ! INTEGER, EXTERNAL :: h5awrite_double_5_c
- ! MS FORTRAN needs explicit interface for C functions called here.
- !
- INTERFACE
- INTEGER FUNCTION h5awrite_double_5_c(attr_id, memtype_id, buf, dims)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5AWRITE_DOUBLE_5_C'::h5awrite_double_5_c
- !DEC$ENDIF
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- INTEGER(HID_T), INTENT(IN) :: attr_id
- INTEGER(HID_T), INTENT(IN) :: memtype_id
- DOUBLE PRECISION, INTENT(IN), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)) :: buf
- END FUNCTION h5awrite_double_5_c
- END INTERFACE
-
- hdferr = h5awrite_double_5_c(attr_id, memtype_id, buf, dims)
- END SUBROUTINE h5awrite_double_5
-
-
- SUBROUTINE h5awrite_double_6(attr_id, memtype_id, buf, dims, hdferr)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
- INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
- ! identifier (in memory)
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- DOUBLE PRECISION, INTENT(IN), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)) :: buf
- ! Attribute data
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-
- ! INTEGER, EXTERNAL :: h5awrite_double_6_c
- ! MS FORTRAN needs explicit interface for C functions called here.
- !
- INTERFACE
- INTEGER FUNCTION h5awrite_double_6_c(attr_id, memtype_id, buf, dims)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5AWRITE_DOUBLE_6_C'::h5awrite_double_6_c
- !DEC$ENDIF
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- INTEGER(HID_T), INTENT(IN) :: attr_id
- INTEGER(HID_T), INTENT(IN) :: memtype_id
- DOUBLE PRECISION, INTENT(IN), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)) :: buf
- END FUNCTION h5awrite_double_6_c
- END INTERFACE
-
- hdferr = h5awrite_double_6_c(attr_id, memtype_id, buf, dims)
- END SUBROUTINE h5awrite_double_6
-
-
- SUBROUTINE h5awrite_double_7(attr_id, memtype_id, buf, dims, hdferr)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
- INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
- ! identifier (in memory)
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- DOUBLE PRECISION, INTENT(IN), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)) :: buf
- ! Attribute data
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-
- ! INTEGER, EXTERNAL :: h5awrite_double_7_c
- ! MS FORTRAN needs explicit interface for C functions called here.
- !
- INTERFACE
- INTEGER FUNCTION h5awrite_double_7_c(attr_id, memtype_id, buf, dims)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5AWRITE_DOUBLE_7_C'::h5awrite_double_7_c
- !DEC$ENDIF
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- INTEGER(HID_T), INTENT(IN) :: attr_id
- INTEGER(HID_T), INTENT(IN) :: memtype_id
- DOUBLE PRECISION, INTENT(IN), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)) :: buf
- END FUNCTION h5awrite_double_7_c
- END INTERFACE
-
- hdferr = h5awrite_double_7_c(attr_id, memtype_id, buf, dims)
- END SUBROUTINE h5awrite_double_7
-
-
- SUBROUTINE h5aread_double_scalar(attr_id, memtype_id, buf, dims, hdferr)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
- INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
- ! identifier (in memory)
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- DOUBLE PRECISION, INTENT(INOUT) :: buf ! Attribute data
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-
- ! INTEGER, EXTERNAL :: h5aread_double_s_c
- ! MS FORTRAN needs explicit interface for C functions called here.
- !
- INTERFACE
- INTEGER FUNCTION h5aread_double_s_c(attr_id, memtype_id, buf, dims)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5AREAD_DOUBLE_S_C'::h5aread_double_s_c
- !DEC$ENDIF
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- INTEGER(HID_T), INTENT(IN) :: attr_id
- INTEGER(HID_T), INTENT(IN) :: memtype_id
- DOUBLE PRECISION, INTENT(INOUT)::buf
- END FUNCTION h5aread_double_s_c
- END INTERFACE
-
- hdferr = h5aread_double_s_c(attr_id, memtype_id, buf, dims)
- END SUBROUTINE h5aread_double_scalar
-
- SUBROUTINE h5aread_double_1(attr_id, memtype_id, buf, dims, hdferr)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
- INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
- ! identifier (in memory)
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- DOUBLE PRECISION, INTENT(INOUT), &
- DIMENSION(dims(1)) :: buf
- ! Attribute data
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-
- ! INTEGER, EXTERNAL :: h5aread_double_1_c
- ! MS FORTRAN needs explicit interface for C functions called here.
- !
- INTERFACE
- INTEGER FUNCTION h5aread_double_1_c(attr_id, memtype_id, buf, dims)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5AREAD_DOUBLE_1_C'::h5aread_double_1_c
- !DEC$ENDIF
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- INTEGER(HID_T), INTENT(IN) :: attr_id
- INTEGER(HID_T), INTENT(IN) :: memtype_id
- DOUBLE PRECISION, INTENT(INOUT), &
- DIMENSION(dims(1)) :: buf
- END FUNCTION h5aread_double_1_c
- END INTERFACE
-
- hdferr = h5aread_double_1_c(attr_id, memtype_id, buf, dims)
- END SUBROUTINE h5aread_double_1
-
-
- SUBROUTINE h5aread_double_2(attr_id, memtype_id, buf, dims, hdferr)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
- INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
- ! identifier (in memory)
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- DOUBLE PRECISION, INTENT(INOUT), &
- DIMENSION(dims(1),dims(2)) :: buf
- ! Attribute data
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-
- ! INTEGER, EXTERNAL :: h5aread_double_2_c
- ! MS FORTRAN needs explicit interface for C functions called here.
- !
- INTERFACE
- INTEGER FUNCTION h5aread_double_2_c(attr_id, memtype_id, buf, dims)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5AREAD_DOUBLE_2_C'::h5aread_double_2_c
- !DEC$ENDIF
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- INTEGER(HID_T), INTENT(IN) :: attr_id
- INTEGER(HID_T), INTENT(IN) :: memtype_id
- DOUBLE PRECISION, INTENT(INOUT), &
- DIMENSION(dims(1),dims(2)) :: buf
- END FUNCTION h5aread_double_2_c
- END INTERFACE
-
- hdferr = h5aread_double_2_c(attr_id, memtype_id, buf, dims)
- END SUBROUTINE h5aread_double_2
-
-
- SUBROUTINE h5aread_double_3(attr_id, memtype_id, buf, dims, hdferr)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
- INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
- ! identifier (in memory)
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- DOUBLE PRECISION, INTENT(INOUT), &
- DIMENSION(dims(1),dims(2),dims(3)) :: buf
- ! Attribute data
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-
- ! INTEGER, EXTERNAL :: h5aread_double_3_c
- ! MS FORTRAN needs explicit interface for C functions called here.
- !
- INTERFACE
- INTEGER FUNCTION h5aread_double_3_c(attr_id, memtype_id, buf, dims)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5AREAD_DOUBLE_3_C'::h5aread_double_3_c
- !DEC$ENDIF
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- INTEGER(HID_T), INTENT(IN) :: attr_id
- INTEGER(HID_T), INTENT(IN) :: memtype_id
- DOUBLE PRECISION, INTENT(INOUT), &
- DIMENSION(dims(1),dims(2),dims(3)) :: buf
- END FUNCTION h5aread_double_3_c
- END INTERFACE
-
- hdferr = h5aread_double_3_c(attr_id, memtype_id, buf, dims)
- END SUBROUTINE h5aread_double_3
-
-
- SUBROUTINE h5aread_double_4(attr_id, memtype_id, buf, dims, hdferr)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
- INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
- ! identifier (in memory)
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- DOUBLE PRECISION, INTENT(INOUT), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4)) :: buf
- ! Attribute data
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-
- ! INTEGER, EXTERNAL :: h5aread_double_4_c
- ! MS FORTRAN needs explicit interface for C functions called here.
- !
- INTERFACE
- INTEGER FUNCTION h5aread_double_4_c(attr_id, memtype_id, buf, dims)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5AREAD_DOUBLE_4_C'::h5aread_double_4_c
- !DEC$ENDIF
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- INTEGER(HID_T), INTENT(IN) :: attr_id
- INTEGER(HID_T), INTENT(IN) :: memtype_id
- DOUBLE PRECISION, INTENT(INOUT), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4)) :: buf
- END FUNCTION h5aread_double_4_c
- END INTERFACE
-
- hdferr = h5aread_double_4_c(attr_id, memtype_id, buf, dims)
- END SUBROUTINE h5aread_double_4
-
-
- SUBROUTINE h5aread_double_5(attr_id, memtype_id, buf, dims, hdferr)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
- INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
- ! identifier (in memory)
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- DOUBLE PRECISION, INTENT(INOUT), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)) :: buf
- ! Attribute data
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-
- ! INTEGER, EXTERNAL :: h5aread_double_5_c
- ! MS FORTRAN needs explicit interface for C functions called here.
- !
- INTERFACE
- INTEGER FUNCTION h5aread_double_5_c(attr_id, memtype_id, buf, dims)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5AREAD_DOUBLE_5_C'::h5aread_double_5_c
- !DEC$ENDIF
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- INTEGER(HID_T), INTENT(IN) :: attr_id
- INTEGER(HID_T), INTENT(IN) :: memtype_id
- DOUBLE PRECISION, INTENT(INOUT), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)) :: buf
- END FUNCTION h5aread_double_5_c
- END INTERFACE
-
- hdferr = h5aread_double_5_c(attr_id, memtype_id, buf, dims)
- END SUBROUTINE h5aread_double_5
-
-
- SUBROUTINE h5aread_double_6(attr_id, memtype_id, buf, dims, hdferr)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
- INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
- ! identifier (in memory)
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- DOUBLE PRECISION, INTENT(INOUT), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)) :: buf
- ! Attribute data
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-
- ! INTEGER, EXTERNAL :: h5aread_double_6_c
- ! MS FORTRAN needs explicit interface for C functions called here.
- !
- INTERFACE
- INTEGER FUNCTION h5aread_double_6_c(attr_id, memtype_id, buf, dims)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5AREAD_DOUBLE_6_C'::h5aread_double_6_c
- !DEC$ENDIF
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- INTEGER(HID_T), INTENT(IN) :: attr_id
- INTEGER(HID_T), INTENT(IN) :: memtype_id
- DOUBLE PRECISION, INTENT(INOUT), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)) :: buf
- END FUNCTION h5aread_double_6_c
- END INTERFACE
-
- hdferr = h5aread_double_6_c(attr_id, memtype_id, buf, dims)
- END SUBROUTINE h5aread_double_6
-
-
- SUBROUTINE h5aread_double_7(attr_id, memtype_id, buf, dims, hdferr)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
- INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
- ! identifier (in memory)
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- DOUBLE PRECISION, INTENT(INOUT), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)) :: buf
- ! Attribute data
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-
- ! INTEGER, EXTERNAL :: h5aread_double_7_c
- ! MS FORTRAN needs explicit interface for C functions called here.
- !
- INTERFACE
- INTEGER FUNCTION h5aread_double_7_c(attr_id, memtype_id, buf, dims)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5AREAD_DOUBLE_7_C'::h5aread_double_7_c
- !DEC$ENDIF
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims ! Array to story buf dimension sizes
- INTEGER(HID_T), INTENT(IN) :: attr_id
- INTEGER(HID_T), INTENT(IN) :: memtype_id
- DOUBLE PRECISION, INTENT(INOUT), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)) :: buf
- END FUNCTION h5aread_double_7_c
- END INTERFACE
-
- hdferr = h5aread_double_7_c(attr_id, memtype_id, buf, dims)
- END SUBROUTINE h5aread_double_7
-
-
- !
- ! ----- H5D ----
- !
- SUBROUTINE h5dwrite_double_scalar(dset_id, mem_type_id, buf, dims, hdferr, &
- mem_space_id, file_space_id, xfer_prp)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
- INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
- DOUBLE PRECISION, INTENT(IN) :: buf ! Data buffer
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id
- ! Memory dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id
- ! File dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp
- ! Transfer property list identifier
-
- INTEGER(HID_T) :: xfer_prp_default
- INTEGER(HID_T) :: mem_space_id_default
- INTEGER(HID_T) :: file_space_id_default
-
- ! INTEGER, EXTERNAL :: h5dwrite_double_s_c
- ! MS FORTRAN needs explicit interface for C functions called here.
- !
- INTERFACE
- INTEGER FUNCTION h5dwrite_double_s_c(dset_id, mem_type_id, &
- mem_space_id_default, &
- file_space_id_default, &
- xfer_prp_default, buf, dims)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5DWRITE_DOUBLE_S_C'::h5dwrite_double_s_c
- !DEC$ENDIF
- INTEGER(HID_T), INTENT(IN) :: dset_id
- INTEGER(HID_T), INTENT(IN) :: mem_type_id
- INTEGER(HID_T) :: mem_space_id_default
- INTEGER(HID_T) :: file_space_id_default
- INTEGER(HID_T) :: xfer_prp_default
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
- DOUBLE PRECISION, INTENT(IN) :: buf
- END FUNCTION h5dwrite_double_s_c
- END INTERFACE
-
-
- xfer_prp_default = H5P_DEFAULT_F
- mem_space_id_default = H5S_ALL_F
- file_space_id_default = H5S_ALL_F
-
- if (present(xfer_prp)) xfer_prp_default = xfer_prp
- if (present(mem_space_id)) mem_space_id_default = mem_space_id
- if (present(file_space_id)) file_space_id_default = file_space_id
-
- hdferr = h5dwrite_double_s_c(dset_id, mem_type_id, mem_space_id_default, &
- file_space_id_default, xfer_prp_default, buf, dims)
-
- END SUBROUTINE h5dwrite_double_scalar
-
- SUBROUTINE h5dwrite_double_1(dset_id, mem_type_id, buf, dims, hdferr, &
- mem_space_id, file_space_id, xfer_prp)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
- INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
- DOUBLE PRECISION, INTENT(IN), &
- DIMENSION(dims(1)) :: buf
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id
- ! Memory dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id
- ! File dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp
- ! Transfer property list identifier
-
- INTEGER(HID_T) :: xfer_prp_default
- INTEGER(HID_T) :: mem_space_id_default
- INTEGER(HID_T) :: file_space_id_default
-
- ! INTEGER, EXTERNAL :: h5dwrite_double_1_c
- ! MS FORTRAN needs explicit interface for C functions called here.
- !
- INTERFACE
- INTEGER FUNCTION h5dwrite_double_1_c(dset_id, mem_type_id, &
- mem_space_id_default, &
- file_space_id_default, &
- xfer_prp_default, buf, dims)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5DWRITE_DOUBLE_1_C'::h5dwrite_double_1_c
- !DEC$ENDIF
- INTEGER(HID_T), INTENT(IN) :: dset_id
- INTEGER(HID_T), INTENT(IN) :: mem_type_id
- INTEGER(HID_T) :: mem_space_id_default
- INTEGER(HID_T) :: file_space_id_default
- INTEGER(HID_T) :: xfer_prp_default
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
- DOUBLE PRECISION, INTENT(IN), &
- DIMENSION(dims(1)) :: buf
- END FUNCTION h5dwrite_double_1_c
- END INTERFACE
-
-
- xfer_prp_default = H5P_DEFAULT_F
- mem_space_id_default = H5S_ALL_F
- file_space_id_default = H5S_ALL_F
-
- if (present(xfer_prp)) xfer_prp_default = xfer_prp
- if (present(mem_space_id)) mem_space_id_default = mem_space_id
- if (present(file_space_id)) file_space_id_default = file_space_id
-
- hdferr = h5dwrite_double_1_c(dset_id, mem_type_id, mem_space_id_default, &
- file_space_id_default, xfer_prp_default, buf, dims)
-
- END SUBROUTINE h5dwrite_double_1
-
- SUBROUTINE h5dwrite_double_2(dset_id, mem_type_id, buf, dims, hdferr, &
- mem_space_id, file_space_id, xfer_prp)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
- INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
- DOUBLE PRECISION, INTENT(IN), &
- DIMENSION(dims(1),dims(2)) :: buf
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id
- ! Memory dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id
- ! File dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp
- ! Transfer property list identifier
-
- INTEGER(HID_T) :: xfer_prp_default
- INTEGER(HID_T) :: mem_space_id_default
- INTEGER(HID_T) :: file_space_id_default
-
- ! INTEGER, EXTERNAL :: h5dwrite_double_2_c
- ! MS FORTRAN needs explicit interface for C functions called here.
- !
- INTERFACE
- INTEGER FUNCTION h5dwrite_double_2_c(dset_id, mem_type_id, &
- mem_space_id_default, &
- file_space_id_default, &
- xfer_prp_default, buf, dims)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5DWRITE_DOUBLE_2_C'::h5dwrite_double_2_c
- !DEC$ENDIF
- INTEGER(HID_T), INTENT(IN) :: dset_id
- INTEGER(HID_T), INTENT(IN) :: mem_type_id
- INTEGER(HID_T) :: mem_space_id_default
- INTEGER(HID_T) :: file_space_id_default
- INTEGER(HID_T) :: xfer_prp_default
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
- DOUBLE PRECISION, INTENT(IN), &
- DIMENSION(dims(1),dims(2)) :: buf
- END FUNCTION h5dwrite_double_2_c
- END INTERFACE
-
-
- xfer_prp_default = H5P_DEFAULT_F
- mem_space_id_default = H5S_ALL_F
- file_space_id_default = H5S_ALL_F
-
- if (present(xfer_prp)) xfer_prp_default = xfer_prp
- if (present(mem_space_id)) mem_space_id_default = mem_space_id
- if (present(file_space_id)) file_space_id_default = file_space_id
-
- hdferr = h5dwrite_double_2_c(dset_id, mem_type_id, mem_space_id_default, &
- file_space_id_default, xfer_prp_default, buf, dims)
-
- END SUBROUTINE h5dwrite_double_2
-
- SUBROUTINE h5dwrite_double_3(dset_id, mem_type_id, buf, dims, hdferr, &
- mem_space_id, file_space_id, xfer_prp)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
- INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
- DOUBLE PRECISION, INTENT(IN), &
- DIMENSION(dims(1),dims(2),dims(3)) :: buf
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id
- ! Memory dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id
- ! File dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp
- ! Transfer property list identifier
-
- INTEGER(HID_T) :: xfer_prp_default
- INTEGER(HID_T) :: mem_space_id_default
- INTEGER(HID_T) :: file_space_id_default
-
- ! INTEGER, EXTERNAL :: h5dwrite_double_3_c
- ! MS FORTRAN needs explicit interface for C functions called here.
- !
- INTERFACE
- INTEGER FUNCTION h5dwrite_double_3_c(dset_id, mem_type_id, &
- mem_space_id_default, &
- file_space_id_default, &
- xfer_prp_default, buf, dims)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5DWRITE_DOUBLE_3_C'::h5dwrite_double_3_c
- !DEC$ENDIF
- INTEGER(HID_T), INTENT(IN) :: dset_id
- INTEGER(HID_T), INTENT(IN) :: mem_type_id
- INTEGER(HID_T) :: mem_space_id_default
- INTEGER(HID_T) :: file_space_id_default
- INTEGER(HID_T) :: xfer_prp_default
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
- DOUBLE PRECISION, INTENT(IN), &
- DIMENSION(dims(1),dims(2),dims(3)) :: buf
- END FUNCTION h5dwrite_double_3_c
- END INTERFACE
-
-
- xfer_prp_default = H5P_DEFAULT_F
- mem_space_id_default = H5S_ALL_F
- file_space_id_default = H5S_ALL_F
-
- if (present(xfer_prp)) xfer_prp_default = xfer_prp
- if (present(mem_space_id)) mem_space_id_default = mem_space_id
- if (present(file_space_id)) file_space_id_default = file_space_id
-
- hdferr = h5dwrite_double_3_c(dset_id, mem_type_id, mem_space_id_default, &
- file_space_id_default, xfer_prp_default, buf, dims)
-
- END SUBROUTINE h5dwrite_double_3
-
- SUBROUTINE h5dwrite_double_4(dset_id, mem_type_id, buf, dims, hdferr, &
- mem_space_id, file_space_id, xfer_prp)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
- INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
- DOUBLE PRECISION, INTENT(IN), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4)) :: buf
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id
- ! Memory dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id
- ! File dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp
- ! Transfer property list identifier
-
- INTEGER(HID_T) :: xfer_prp_default
- INTEGER(HID_T) :: mem_space_id_default
- INTEGER(HID_T) :: file_space_id_default
-
- ! INTEGER, EXTERNAL :: h5dwrite_double_4_c
- ! MS FORTRAN needs explicit interface for C functions called here.
- !
- INTERFACE
- INTEGER FUNCTION h5dwrite_double_4_c(dset_id, mem_type_id, &
- mem_space_id_default, &
- file_space_id_default, &
- xfer_prp_default, buf, dims)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5DWRITE_DOUBLE_4_C'::h5dwrite_double_4_c
- !DEC$ENDIF
- INTEGER(HID_T), INTENT(IN) :: dset_id
- INTEGER(HID_T), INTENT(IN) :: mem_type_id
- INTEGER(HID_T) :: mem_space_id_default
- INTEGER(HID_T) :: file_space_id_default
- INTEGER(HID_T) :: xfer_prp_default
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
- DOUBLE PRECISION, INTENT(IN), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4)) :: buf
- END FUNCTION h5dwrite_double_4_c
- END INTERFACE
-
-
- xfer_prp_default = H5P_DEFAULT_F
- mem_space_id_default = H5S_ALL_F
- file_space_id_default = H5S_ALL_F
-
- if (present(xfer_prp)) xfer_prp_default = xfer_prp
- if (present(mem_space_id)) mem_space_id_default = mem_space_id
- if (present(file_space_id)) file_space_id_default = file_space_id
-
- hdferr = h5dwrite_double_4_c(dset_id, mem_type_id, mem_space_id_default, &
- file_space_id_default, xfer_prp_default, buf, dims)
-
- END SUBROUTINE h5dwrite_double_4
-
- SUBROUTINE h5dwrite_double_5(dset_id, mem_type_id, buf, dims, hdferr, &
- mem_space_id, file_space_id, xfer_prp)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
- INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
- DOUBLE PRECISION, INTENT(IN), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)) :: buf
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id
- ! Memory dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id
- ! File dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp
- ! Transfer property list identifier
-
- INTEGER(HID_T) :: xfer_prp_default
- INTEGER(HID_T) :: mem_space_id_default
- INTEGER(HID_T) :: file_space_id_default
-
- ! INTEGER, EXTERNAL :: h5dwrite_double_5_c
- ! MS FORTRAN needs explicit interface for C functions called here.
- !
- INTERFACE
- INTEGER FUNCTION h5dwrite_double_5_c(dset_id, mem_type_id, &
- mem_space_id_default, &
- file_space_id_default, &
- xfer_prp_default, buf, dims)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5DWRITE_DOUBLE_5_C'::h5dwrite_double_5_c
- !DEC$ENDIF
- INTEGER(HID_T), INTENT(IN) :: dset_id
- INTEGER(HID_T), INTENT(IN) :: mem_type_id
- INTEGER(HID_T) :: mem_space_id_default
- INTEGER(HID_T) :: file_space_id_default
- INTEGER(HID_T) :: xfer_prp_default
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
- DOUBLE PRECISION, INTENT(IN), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)) :: buf
- END FUNCTION h5dwrite_double_5_c
- END INTERFACE
-
-
- xfer_prp_default = H5P_DEFAULT_F
- mem_space_id_default = H5S_ALL_F
- file_space_id_default = H5S_ALL_F
-
- if (present(xfer_prp)) xfer_prp_default = xfer_prp
- if (present(mem_space_id)) mem_space_id_default = mem_space_id
- if (present(file_space_id)) file_space_id_default = file_space_id
-
- hdferr = h5dwrite_double_5_c(dset_id, mem_type_id, mem_space_id_default, &
- file_space_id_default, xfer_prp_default, buf, dims)
-
- END SUBROUTINE h5dwrite_double_5
-
- SUBROUTINE h5dwrite_double_6(dset_id, mem_type_id, buf, dims, hdferr, &
- mem_space_id, file_space_id, xfer_prp)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
- INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
- DOUBLE PRECISION, INTENT(IN), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)) :: buf
- ! Data buffer
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id
- ! Memory dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id
- ! File dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp
- ! Transfer property list identifier
-
- INTEGER(HID_T) :: xfer_prp_default
- INTEGER(HID_T) :: mem_space_id_default
- INTEGER(HID_T) :: file_space_id_default
-
- ! INTEGER, EXTERNAL :: h5dwrite_double_6_c
- ! MS FORTRAN needs explicit interface for C functions called here.
- !
- INTERFACE
- INTEGER FUNCTION h5dwrite_double_6_c(dset_id, mem_type_id, &
- mem_space_id_default, &
- file_space_id_default, &
- xfer_prp_default, buf, dims)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5DWRITE_DOUBLE_6_C'::h5dwrite_double_6_c
- !DEC$ENDIF
- INTEGER(HID_T), INTENT(IN) :: dset_id
- INTEGER(HID_T), INTENT(IN) :: mem_type_id
- INTEGER(HID_T) :: mem_space_id_default
- INTEGER(HID_T) :: file_space_id_default
- INTEGER(HID_T) :: xfer_prp_default
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
- DOUBLE PRECISION, INTENT(IN), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)) :: buf
- END FUNCTION h5dwrite_double_6_c
- END INTERFACE
-
-
- xfer_prp_default = H5P_DEFAULT_F
- mem_space_id_default = H5S_ALL_F
- file_space_id_default = H5S_ALL_F
-
- if (present(xfer_prp)) xfer_prp_default = xfer_prp
- if (present(mem_space_id)) mem_space_id_default = mem_space_id
- if (present(file_space_id)) file_space_id_default = file_space_id
-
- hdferr = h5dwrite_double_6_c(dset_id, mem_type_id, mem_space_id_default, &
- file_space_id_default, xfer_prp_default, buf, dims)
-
- END SUBROUTINE h5dwrite_double_6
-
- SUBROUTINE h5dwrite_double_7(dset_id, mem_type_id, buf, dims, hdferr, &
- mem_space_id, file_space_id, xfer_prp)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
- INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
- DOUBLE PRECISION, INTENT(IN), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)) :: buf
- ! Data buffer
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id
- ! Memory dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id
- ! File dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp
- ! Transfer property list identifier
-
- INTEGER(HID_T) :: xfer_prp_default
- INTEGER(HID_T) :: mem_space_id_default
- INTEGER(HID_T) :: file_space_id_default
-
- ! INTEGER, EXTERNAL :: h5dwrite_double_7_c
- ! MS FORTRAN needs explicit interface for C functions called here.
- !
- INTERFACE
- INTEGER FUNCTION h5dwrite_double_7_c(dset_id, mem_type_id, &
- mem_space_id_default, &
- file_space_id_default, &
- xfer_prp_default, buf, dims)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5DWRITE_DOUBLE_7_C'::h5dwrite_double_7_c
- !DEC$ENDIF
- INTEGER(HID_T), INTENT(IN) :: dset_id
- INTEGER(HID_T), INTENT(IN) :: mem_type_id
- INTEGER(HID_T) :: mem_space_id_default
- INTEGER(HID_T) :: file_space_id_default
- INTEGER(HID_T) :: xfer_prp_default
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
- DOUBLE PRECISION, INTENT(IN), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)) :: buf
- END FUNCTION h5dwrite_double_7_c
- END INTERFACE
-
- xfer_prp_default = H5P_DEFAULT_F
- mem_space_id_default = H5S_ALL_F
- file_space_id_default = H5S_ALL_F
-
- if (present(xfer_prp)) xfer_prp_default = xfer_prp
- if (present(mem_space_id)) mem_space_id_default = mem_space_id
- if (present(file_space_id)) file_space_id_default = file_space_id
-
- hdferr = h5dwrite_double_7_c(dset_id, mem_type_id, mem_space_id_default, &
- file_space_id_default, xfer_prp_default, buf, dims)
-
- END SUBROUTINE h5dwrite_double_7
-
- SUBROUTINE h5dread_double_scalar(dset_id, mem_type_id, buf, dims, hdferr, &
- mem_space_id, file_space_id, xfer_prp)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
- INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
- DOUBLE PRECISION, INTENT(INOUT) :: buf ! Data buffer
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id
- ! Memory dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id
- ! File dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp
- ! Transfer property list identifier
-
- INTEGER(HID_T) :: xfer_prp_default
- INTEGER(HID_T) :: mem_space_id_default
- INTEGER(HID_T) :: file_space_id_default
-
- ! INTEGER, EXTERNAL :: h5dread_double_s_c
- ! MS FORTRAN needs explicit interface for C functions called here.
- !
- INTERFACE
- INTEGER FUNCTION h5dread_double_s_c(dset_id, mem_type_id, &
- mem_space_id_default, &
- file_space_id_default, &
- xfer_prp_default, buf, dims)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5DREAD_DOUBLE_S_C'::h5dread_double_s_c
- !DEC$ENDIF
- INTEGER(HID_T), INTENT(IN) :: dset_id
- INTEGER(HID_T), INTENT(IN) :: mem_type_id
- INTEGER(HID_T) :: mem_space_id_default
- INTEGER(HID_T) :: file_space_id_default
- INTEGER(HID_T) :: xfer_prp_default
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
- DOUBLE PRECISION, INTENT(OUT) :: buf
- END FUNCTION h5dread_double_s_c
- END INTERFACE
-
-
- xfer_prp_default = H5P_DEFAULT_F
- mem_space_id_default = H5S_ALL_F
- file_space_id_default = H5S_ALL_F
-
- if (present(xfer_prp)) xfer_prp_default = xfer_prp
- if (present(mem_space_id)) mem_space_id_default = mem_space_id
- if (present(file_space_id)) file_space_id_default = file_space_id
-
- hdferr = h5dread_double_s_c(dset_id, mem_type_id, mem_space_id_default, &
- file_space_id_default, xfer_prp_default, buf, dims)
-
- END SUBROUTINE h5dread_double_scalar
-
- SUBROUTINE h5dread_double_1(dset_id, mem_type_id, buf, dims, hdferr, &
- mem_space_id, file_space_id, xfer_prp)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
- INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
- DOUBLE PRECISION, INTENT(INOUT), &
- DIMENSION(dims(1)) :: buf
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id
- ! Memory dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id
- ! File dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp
- ! Transfer property list identifier
-
- INTEGER(HID_T) :: xfer_prp_default
- INTEGER(HID_T) :: mem_space_id_default
- INTEGER(HID_T) :: file_space_id_default
-
- ! INTEGER, EXTERNAL :: h5dread_double_1_c
- ! MS FORTRAN needs explicit interface for C functions called here.
- !
- INTERFACE
- INTEGER FUNCTION h5dread_double_1_c(dset_id, mem_type_id, &
- mem_space_id_default, &
- file_space_id_default, &
- xfer_prp_default, buf, dims)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5DREAD_DOUBLE_1_C'::h5dread_double_1_c
- !DEC$ENDIF
- INTEGER(HID_T), INTENT(IN) :: dset_id
- INTEGER(HID_T), INTENT(IN) :: mem_type_id
- INTEGER(HID_T) :: mem_space_id_default
- INTEGER(HID_T) :: file_space_id_default
- INTEGER(HID_T) :: xfer_prp_default
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
- DOUBLE PRECISION, INTENT(INOUT), &
- DIMENSION(dims(1)) :: buf
- END FUNCTION h5dread_double_1_c
- END INTERFACE
-
-
- xfer_prp_default = H5P_DEFAULT_F
- mem_space_id_default = H5S_ALL_F
- file_space_id_default = H5S_ALL_F
-
- if (present(xfer_prp)) xfer_prp_default = xfer_prp
- if (present(mem_space_id)) mem_space_id_default = mem_space_id
- if (present(file_space_id)) file_space_id_default = file_space_id
-
- hdferr = h5dread_double_1_c(dset_id, mem_type_id, mem_space_id_default, &
- file_space_id_default, xfer_prp_default, buf, dims)
-
- END SUBROUTINE h5dread_double_1
-
- SUBROUTINE h5dread_double_2(dset_id, mem_type_id, buf, dims, hdferr, &
- mem_space_id, file_space_id, xfer_prp)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
- INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
- DOUBLE PRECISION, INTENT(INOUT), &
- DIMENSION(dims(1),dims(2)) :: buf
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id
- ! Memory dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id
- ! File dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp
- ! Transfer property list identifier
-
- INTEGER(HID_T) :: xfer_prp_default
- INTEGER(HID_T) :: mem_space_id_default
- INTEGER(HID_T) :: file_space_id_default
-
- ! INTEGER, EXTERNAL :: h5dread_double_2_c
- ! MS FORTRAN needs explicit interface for C functions called here.
- !
- INTERFACE
- INTEGER FUNCTION h5dread_double_2_c(dset_id, mem_type_id, &
- mem_space_id_default, &
- file_space_id_default, &
- xfer_prp_default, buf, dims)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5DREAD_DOUBLE_2_C'::h5dread_double_2_c
- !DEC$ENDIF
- INTEGER(HID_T), INTENT(IN) :: dset_id
- INTEGER(HID_T), INTENT(IN) :: mem_type_id
- INTEGER(HID_T) :: mem_space_id_default
- INTEGER(HID_T) :: file_space_id_default
- INTEGER(HID_T) :: xfer_prp_default
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
- DOUBLE PRECISION, INTENT(INOUT), &
- DIMENSION(dims(1),dims(2)) :: buf
- END FUNCTION h5dread_double_2_c
- END INTERFACE
-
-
- xfer_prp_default = H5P_DEFAULT_F
- mem_space_id_default = H5S_ALL_F
- file_space_id_default = H5S_ALL_F
-
- if (present(xfer_prp)) xfer_prp_default = xfer_prp
- if (present(mem_space_id)) mem_space_id_default = mem_space_id
- if (present(file_space_id)) file_space_id_default = file_space_id
-
- hdferr = h5dread_double_2_c(dset_id, mem_type_id, mem_space_id_default, &
- file_space_id_default, xfer_prp_default, buf, dims)
-
- END SUBROUTINE h5dread_double_2
-
- SUBROUTINE h5dread_double_3(dset_id, mem_type_id, buf, dims, hdferr, &
- mem_space_id, file_space_id, xfer_prp)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
- INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
- DOUBLE PRECISION, INTENT(INOUT), &
- DIMENSION(dims(1),dims(2),dims(3)) :: buf
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id
- ! Memory dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id
- ! File dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp
- ! Transfer property list identifier
-
- INTEGER(HID_T) :: xfer_prp_default
- INTEGER(HID_T) :: mem_space_id_default
- INTEGER(HID_T) :: file_space_id_default
-
- ! INTEGER, EXTERNAL :: h5dread_double_3_c
- ! MS FORTRAN needs explicit interface for C functions called here.
- !
- INTERFACE
- INTEGER FUNCTION h5dread_double_3_c(dset_id, mem_type_id, &
- mem_space_id_default, &
- file_space_id_default, &
- xfer_prp_default, buf, dims)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5DREAD_DOUBLE_3_C'::h5dread_double_3_c
- !DEC$ENDIF
- INTEGER(HID_T), INTENT(IN) :: dset_id
- INTEGER(HID_T), INTENT(IN) :: mem_type_id
- INTEGER(HID_T) :: mem_space_id_default
- INTEGER(HID_T) :: file_space_id_default
- INTEGER(HID_T) :: xfer_prp_default
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
- DOUBLE PRECISION, INTENT(INOUT), &
- DIMENSION(dims(1),dims(2),dims(3)) :: buf
- END FUNCTION h5dread_double_3_c
- END INTERFACE
-
-
- xfer_prp_default = H5P_DEFAULT_F
- mem_space_id_default = H5S_ALL_F
- file_space_id_default = H5S_ALL_F
-
- if (present(xfer_prp)) xfer_prp_default = xfer_prp
- if (present(mem_space_id)) mem_space_id_default = mem_space_id
- if (present(file_space_id)) file_space_id_default = file_space_id
-
- hdferr = h5dread_double_3_c(dset_id, mem_type_id, mem_space_id_default, &
- file_space_id_default, xfer_prp_default, buf, dims)
-
- END SUBROUTINE h5dread_double_3
-
- SUBROUTINE h5dread_double_4(dset_id, mem_type_id, buf, dims, hdferr, &
- mem_space_id, file_space_id, xfer_prp)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
- INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
- DOUBLE PRECISION, INTENT(INOUT), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4)) :: buf
- ! Data buffer
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id
- ! Memory dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id
- ! File dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp
- ! Transfer property list identifier
-
- INTEGER(HID_T) :: xfer_prp_default
- INTEGER(HID_T) :: mem_space_id_default
- INTEGER(HID_T) :: file_space_id_default
-
- ! INTEGER, EXTERNAL :: h5dread_double_4_c
- ! MS FORTRAN needs explicit interface for C functions called here.
- !
- INTERFACE
- INTEGER FUNCTION h5dread_double_4_c(dset_id, mem_type_id, &
- mem_space_id_default, &
- file_space_id_default, &
- xfer_prp_default, buf, dims)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5DREAD_DOUBLE_4_C'::h5dread_double_4_c
- !DEC$ENDIF
- INTEGER(HID_T), INTENT(IN) :: dset_id
- INTEGER(HID_T), INTENT(IN) :: mem_type_id
- INTEGER(HID_T) :: mem_space_id_default
- INTEGER(HID_T) :: file_space_id_default
- INTEGER(HID_T) :: xfer_prp_default
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
- DOUBLE PRECISION, INTENT(INOUT), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4)) :: buf
- END FUNCTION h5dread_double_4_c
- END INTERFACE
-
-
- xfer_prp_default = H5P_DEFAULT_F
- mem_space_id_default = H5S_ALL_F
- file_space_id_default = H5S_ALL_F
-
- if (present(xfer_prp)) xfer_prp_default = xfer_prp
- if (present(mem_space_id)) mem_space_id_default = mem_space_id
- if (present(file_space_id)) file_space_id_default = file_space_id
-
- hdferr = h5dread_double_4_c(dset_id, mem_type_id, mem_space_id_default, &
- file_space_id_default, xfer_prp_default, buf, dims)
-
- END SUBROUTINE h5dread_double_4
-
- SUBROUTINE h5dread_double_5(dset_id, mem_type_id, buf, dims, hdferr, &
- mem_space_id, file_space_id, xfer_prp)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
- INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
- DOUBLE PRECISION, INTENT(INOUT), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)) :: buf
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id
- ! Memory dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id
- ! File dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp
- ! Transfer property list identifier
-
- INTEGER(HID_T) :: xfer_prp_default
- INTEGER(HID_T) :: mem_space_id_default
- INTEGER(HID_T) :: file_space_id_default
-
- ! INTEGER, EXTERNAL :: h5dread_double_5_c
- ! MS FORTRAN needs explicit interface for C functions called here.
- !
- INTERFACE
- INTEGER FUNCTION h5dread_double_5_c(dset_id, mem_type_id, &
- mem_space_id_default, &
- file_space_id_default, &
- xfer_prp_default, buf, dims)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5DREAD_DOUBLE_5_C'::h5dread_double_5_c
- !DEC$ENDIF
- INTEGER(HID_T), INTENT(IN) :: dset_id
- INTEGER(HID_T), INTENT(IN) :: mem_type_id
- INTEGER(HID_T) :: mem_space_id_default
- INTEGER(HID_T) :: file_space_id_default
- INTEGER(HID_T) :: xfer_prp_default
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
- DOUBLE PRECISION, INTENT(INOUT), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)) :: buf
- END FUNCTION h5dread_double_5_c
- END INTERFACE
-
-
- xfer_prp_default = H5P_DEFAULT_F
- mem_space_id_default = H5S_ALL_F
- file_space_id_default = H5S_ALL_F
-
- if (present(xfer_prp)) xfer_prp_default = xfer_prp
- if (present(mem_space_id)) mem_space_id_default = mem_space_id
- if (present(file_space_id)) file_space_id_default = file_space_id
-
- hdferr = h5dread_double_5_c(dset_id, mem_type_id, mem_space_id_default, &
- file_space_id_default, xfer_prp_default, buf, dims)
-
- END SUBROUTINE h5dread_double_5
-
- SUBROUTINE h5dread_double_6(dset_id, mem_type_id, buf, dims, hdferr, &
- mem_space_id, file_space_id, xfer_prp)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
- INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
- DOUBLE PRECISION, INTENT(INOUT), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)) :: buf
- ! Data buffer
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id
- ! Memory dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id
- ! File dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp
- ! Transfer property list identifier
-
- INTEGER(HID_T) :: xfer_prp_default
- INTEGER(HID_T) :: mem_space_id_default
- INTEGER(HID_T) :: file_space_id_default
-
- ! INTEGER, EXTERNAL :: h5dread_double_6_c
- ! MS FORTRAN needs explicit interface for C functions called here.
- !
- INTERFACE
- INTEGER FUNCTION h5dread_double_6_c(dset_id, mem_type_id, &
- mem_space_id_default, &
- file_space_id_default, &
- xfer_prp_default, buf, dims)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5DREAD_DOUBLE_6_C'::h5dread_double_6_c
- !DEC$ENDIF
- INTEGER(HID_T), INTENT(IN) :: dset_id
- INTEGER(HID_T), INTENT(IN) :: mem_type_id
- INTEGER(HID_T) :: mem_space_id_default
- INTEGER(HID_T) :: file_space_id_default
- INTEGER(HID_T) :: xfer_prp_default
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
- DOUBLE PRECISION, INTENT(INOUT), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)) :: buf
- END FUNCTION h5dread_double_6_c
- END INTERFACE
-
-
- xfer_prp_default = H5P_DEFAULT_F
- mem_space_id_default = H5S_ALL_F
- file_space_id_default = H5S_ALL_F
-
- if (present(xfer_prp)) xfer_prp_default = xfer_prp
- if (present(mem_space_id)) mem_space_id_default = mem_space_id
- if (present(file_space_id)) file_space_id_default = file_space_id
-
- hdferr = h5dread_double_6_c(dset_id, mem_type_id, mem_space_id_default, &
- file_space_id_default, xfer_prp_default, buf, dims)
-
- END SUBROUTINE h5dread_double_6
-
- SUBROUTINE h5dread_double_7(dset_id, mem_type_id, buf, dims, hdferr, &
- mem_space_id, file_space_id, xfer_prp)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
- INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
- DOUBLE PRECISION, INTENT(INOUT), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)) :: buf
- ! Data buffer
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id
- ! Memory dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id
- ! File dataspace identfier
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp
- ! Transfer property list identifier
-
- INTEGER(HID_T) :: xfer_prp_default
- INTEGER(HID_T) :: mem_space_id_default
- INTEGER(HID_T) :: file_space_id_default
-
- ! INTEGER, EXTERNAL :: h5dread_double_7_c
- ! MS FORTRAN needs explicit interface for C functions called here.
- !
- INTERFACE
- INTEGER FUNCTION h5dread_double_7_c(dset_id, mem_type_id, &
- mem_space_id_default, &
- file_space_id_default, &
- xfer_prp_default, buf, dims)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5DREAD_DOUBLE_7_C'::h5dread_double_7_c
- !DEC$ENDIF
- INTEGER(HID_T), INTENT(IN) :: dset_id
- INTEGER(HID_T), INTENT(IN) :: mem_type_id
- INTEGER(HID_T) :: mem_space_id_default
- INTEGER(HID_T) :: file_space_id_default
- INTEGER(HID_T) :: xfer_prp_default
- INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
- DOUBLE PRECISION, INTENT(INOUT), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)) :: buf
- END FUNCTION h5dread_double_7_c
- END INTERFACE
-
- xfer_prp_default = H5P_DEFAULT_F
- mem_space_id_default = H5S_ALL_F
- file_space_id_default = H5S_ALL_F
-
- if (present(xfer_prp)) xfer_prp_default = xfer_prp
- if (present(mem_space_id)) mem_space_id_default = mem_space_id
- if (present(file_space_id)) file_space_id_default = file_space_id
-
- hdferr = h5dread_double_7_c(dset_id, mem_type_id, mem_space_id_default, &
- file_space_id_default, xfer_prp_default, buf, dims)
-
- END SUBROUTINE h5dread_double_7
-
- !----------------------------------------------------------------------
- ! Name: h5dfill_double
- !
- ! Purpose: Fills dataspace elements with a fill value in a memory buffer.
- ! Only INTEGER, CHARACTER, REAL and DOUBLE PRECISION datatypes
- ! of the fillvalues and buffers are supported. Buffer and fillvalue
- ! are assumed to have the same datatype.
- ! Only one-dimesional buffers are supported.
- !
- ! Inputs:
- ! fill_value - fill value
- ! space_id - memory space selection identifier
- ! buf - data buffer iin memory ro apply selection to
- ! - of k-th dimension of the buf array
- ! Outputs:
- ! hdferr: - error code
- ! Success: 0
- ! Failure: -1
- !
- ! Programmer: Elena Pourmal
- ! March 12, 2003
- !
- !----------------------------------------------------------------------
-
- SUBROUTINE h5dfill_double(fill_value, space_id, buf, hdferr)
- IMPLICIT NONE
- DOUBLE PRECISION, INTENT(IN) :: fill_value ! Fill value
- INTEGER(HID_T), INTENT(IN) :: space_id ! Memory dataspace selection identifier
- DOUBLE PRECISION, INTENT(IN), DIMENSION(*) :: buf ! Memory buffer to fill in
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-
- INTEGER(HID_T) :: fill_type_id ! Fill value datatype identifier
- INTEGER(HID_T) :: mem_type_id ! Buffer dadtype identifier
-
- ! INTEGER, EXTERNAL :: h5dfill_double_c
- ! MS FORTRAN needs explicit interface for C functions called here.
- !
- INTERFACE
- INTEGER FUNCTION h5dfill_double_c(fill_value, fill_type_id, space_id, &
- buf, mem_type_id)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5DFILL_DOUBLE_C'::h5dfill_double_c
- !DEC$ENDIF
- DOUBLE PRECISION, INTENT(IN) :: fill_value ! Fill value
- INTEGER(HID_T) :: fill_type_id ! Fill value datatype identifier
- INTEGER(HID_T), INTENT(IN) :: space_id ! Memory dataspace selection identifier
- DOUBLE PRECISION, INTENT(IN), DIMENSION(*) :: buf ! Memory buffer to fill in
- INTEGER(HID_T) :: mem_type_id ! Buffer dadtype identifier
- END FUNCTION h5dfill_double_c
- END INTERFACE
- fill_type_id = H5T_NATIVE_DOUBLE
- mem_type_id = H5T_NATIVE_DOUBLE
-
- hdferr = h5dfill_double_c(fill_value, fill_type_id, space_id, &
- buf, mem_type_id)
-
-
- END SUBROUTINE h5dfill_double
-
- !
- ! -- H5P ---
- !
-
- SUBROUTINE h5pset_fill_value_double(prp_id, type_id, fillvalue, &
- hdferr)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier
- INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier of
- ! of fillvalue datatype
- ! (in memory)
- DOUBLE PRECISION, INTENT(IN) :: fillvalue ! Fillvalue
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-
- INTERFACE
- INTEGER FUNCTION h5pset_fill_value_double_c(prp_id, type_id, fillvalue)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5PSET_FILL_VALUE_DOUBLE_C'::h5pset_fill_value_double_c
- !DEC$ENDIF
- INTEGER(HID_T), INTENT(IN) :: prp_id
- INTEGER(HID_T), INTENT(IN) :: type_id
- DOUBLE PRECISION, INTENT(IN) :: fillvalue
- END FUNCTION h5pset_fill_value_double_c
- END INTERFACE
-
- hdferr = h5pset_fill_value_double_c(prp_id, type_id, fillvalue)
- END SUBROUTINE h5pset_fill_value_double
-
- SUBROUTINE h5pget_fill_value_double(prp_id, type_id, fillvalue, &
- hdferr)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier
- INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier of
- ! of fillvalue datatype
- ! (in memory)
- DOUBLE PRECISION, INTENT(IN) :: fillvalue ! Fillvalue
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-
- INTERFACE
- INTEGER FUNCTION h5pget_fill_value_double_c(prp_id, type_id, fillvalue)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5PGET_FILL_VALUE_DOUBLE_C'::h5pget_fill_value_double_c
- !DEC$ENDIF
- INTEGER(HID_T), INTENT(IN) :: prp_id
- INTEGER(HID_T), INTENT(IN) :: type_id
- DOUBLE PRECISION :: fillvalue
- END FUNCTION h5pget_fill_value_double_c
- END INTERFACE
-
- hdferr = h5pget_fill_value_double_c(prp_id, type_id, fillvalue)
- END SUBROUTINE h5pget_fill_value_double
-
-!
-!****s* H5P (F90)/h5pset_double
-!
-! NAME
-! h5pset_double
-!
-! PURPOSE
-! Sets a property list value
-!
-! INPUTS
-! prp_id - iproperty list identifier to modify
-! name - name of property to modify
-! value - value to set property to
-! OUTPUTS
-! hdferr: - error code
-! Success: 0
-! Failure: -1
-! AUTHOR
-! Elena Pourmal
-! October 9, 2002
-! SOURCE
- SUBROUTINE h5pset_double(prp_id, name, value, hdferr)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier
- CHARACTER(LEN=*), INTENT(IN) :: name ! Name of property to modify
- DOUBLE PRECISION, INTENT(IN) :: value ! Property value
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-!*****
- INTEGER :: name_len
-
- INTERFACE
- INTEGER FUNCTION h5pset_double_c(prp_id, name, name_len, value)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5PSET_DOUBLE_C'::h5pset_double_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: name
- INTEGER(HID_T), INTENT(IN) :: prp_id
- CHARACTER(LEN=*), INTENT(IN) :: name
- INTEGER, INTENT(IN) :: name_len
- DOUBLE PRECISION, INTENT(IN) :: value
- END FUNCTION h5pset_double_c
- END INTERFACE
-
- name_len = LEN(name)
- hdferr = h5pset_double_c(prp_id, name , name_len, value)
- END SUBROUTINE h5pset_double
-
-!****s* H5P (F90)/h5pget_double
-!
-! NAME
-! h5pget_double
-!
-! PURPOSE
-! Gets a property list value
-!
-! INPUTS
-! prp_id - iproperty list identifier to modify
-! name - name of property to modify
-! OUTPUTS
-! value - value of property
-! hdferr - error code
-! Success: 0
-! Failure: -1
-! AUTHOR
-! Elena Pourmal
-! October 9, 2002
-!
-! SOURCE
- SUBROUTINE h5pget_double(prp_id, name, value, hdferr)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier
- CHARACTER(LEN=*), INTENT(IN) :: name ! Name of property to modify
- DOUBLE PRECISION, INTENT(OUT) :: value ! Property value
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-!*****
- INTEGER :: name_len
-
- INTERFACE
- INTEGER FUNCTION h5pget_double_c(prp_id, name, name_len, value)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5PGET_DOUBLE_C'::h5pget_double_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: name
- INTEGER(HID_T), INTENT(IN) :: prp_id
- CHARACTER(LEN=*), INTENT(IN) :: name
- INTEGER, INTENT(IN) :: name_len
- DOUBLE PRECISION, INTENT(OUT) :: value
- END FUNCTION h5pget_double_c
- END INTERFACE
-
- name_len = LEN(name)
- hdferr = h5pget_double_c(prp_id, name , name_len, value)
- END SUBROUTINE h5pget_double
-
-!
-!****s* H5P (F90)/h5pregister_double
-!
-! NAME
-! h5pregister_double
-!
-! PURPOSE
-! Registers a permanent property with a property list class.
-!
-! INPUTS
-! class - property list class to register
-! permanent property within
-! name - name of property to register
-! size - size of property in bytes
-! value - default value for property in newly
-! created property lists
-! OUTPUTS
-! hdferr - error code
-! Success: 0
-! Failure: -1
-! AUTHOR
-! Elena Pourmal
-! October 10, 2002
-!
-! SOURCE
- SUBROUTINE h5pregister_double(class, name, size, value, hdferr)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: class ! Property list class identifier
- CHARACTER(LEN=*), INTENT(IN) :: name ! Name of property to register
- INTEGER(SIZE_T), INTENT(IN) :: size ! Size of the property value
- DOUBLE PRECISION, INTENT(IN) :: value ! Property value
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-!*****
- INTEGER :: name_len
-
- INTERFACE
- INTEGER FUNCTION h5pregister_double_c(class, name, name_len, size, value)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5PREGISTER_DOUBLE_C'::h5pregister_double_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: name
- INTEGER(HID_T), INTENT(IN) :: class
- CHARACTER(LEN=*), INTENT(IN) :: name
- INTEGER, INTENT(IN) :: name_len
- INTEGER(SIZE_T), INTENT(IN) :: size
- DOUBLE PRECISION, INTENT(IN) :: value
- END FUNCTION h5pregister_double_c
- END INTERFACE
-
- name_len = LEN(name)
- hdferr = h5pregister_double_c(class, name , name_len, size, value)
- END SUBROUTINE h5pregister_double
-
-!****s* H5P (F90)/h5pinsert_double
-!
-! NAME
-!
-! h5pinsert_double
-!
-! PURPOSE
-! Registers a temporary property with a property list class.
-!
-! INPUTS
-! plist - property list identifier
-! permanent property within
-! name - name of property to insert
-! size - size of property in bytes
-! value - initial value for the property
-! OUTPUTS
-! hdferr - error code
-! Success: 0
-! Failure: -1
-! AUTHOR
-! Elena Pourmal
-! October 10, 2002
-! SOURCE
- SUBROUTINE h5pinsert_double(plist, name, size, value, hdferr)
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: plist ! Property list identifier
- CHARACTER(LEN=*), INTENT(IN) :: name ! Name of property to insert
- INTEGER(SIZE_T), INTENT(IN) :: size ! Size of the property value
- DOUBLE PRECISION, INTENT(IN) :: value ! Property value
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-!*****
- INTEGER :: name_len
-
- INTERFACE
- INTEGER FUNCTION h5pinsert_double_c(plist, name, name_len, size, value)
- USE H5GLOBAL
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5PINSERT_DOUBLE_C'::h5pinsert_double_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: name
- INTEGER(HID_T), INTENT(IN) :: plist
- CHARACTER(LEN=*), INTENT(IN) :: name
- INTEGER, INTENT(IN) :: name_len
- INTEGER(SIZE_T), INTENT(IN) :: size
- DOUBLE PRECISION, INTENT(IN) :: value
- END FUNCTION h5pinsert_double_c
- END INTERFACE
-
- name_len = LEN(name)
- hdferr = h5pinsert_double_c(plist, name , name_len, size, value)
- END SUBROUTINE h5pinsert_double
-
-END MODULE H5_DBLE_INTERFACE
diff --git a/fortran/src/H5_buildiface.F90 b/fortran/src/H5_buildiface.F90
new file mode 100644
index 0000000..9a42cbf
--- /dev/null
+++ b/fortran/src/H5_buildiface.F90
@@ -0,0 +1,1024 @@
+!****p* Program/H5_buildiface
+!
+! NAME
+! Executable: H5_buildiface
+!
+! FILE
+! fortran/src/H5_buildiface.f90
+!
+! PURPOSE
+! This stand alone program is used at build time to generate the module
+! H5_gen (H5_gen.F90). It cycles through all the available KIND parameters for
+! integers and reals. The appropriate program and subroutines are then generated
+! depending on which of the KIND values are found.
+!
+! NOTES
+! This program uses the Fortran 2008 intrinsic function STORAGE_SIZE or SIZEOF
+! depending on availablity.It generates code that makes use of
+! STORAGE_SIZE/SIZEOF in H5_gen.F90. STORAGE_SIZE is standard
+! compliant and should always be chosen over SIZEOF.
+!
+! The availability of STORAGE_SIZE/SIZEOF is checked at configure time and the TRUE/FALSE
+! condition is set in the configure variable "FORTRAN_HAVE_STORAGE_SIZE" or
+! "FORTRAN_HAVE_SIZEOF".
+!
+! The use of C_SIZOF(X) is not used since the argument X must be an interoperable
+! data entity.
+!
+! COPYRIGHT
+! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+! Copyright by The HDF Group. *
+! Copyright by the Board of Trustees of the University of Illinois. *
+! All rights reserved. *
+! *
+! This file is part of HDF5. The full HDF5 copyright notice, including *
+! terms governing use, modification, and redistribution, is contained in *
+! the files COPYING and Copyright.html. COPYING can be found at the root *
+! of the source code distribution tree; Copyright.html can be found at the *
+! root level of an installed copy of the electronic HDF5 document set and *
+! is linked from the top-level documents page. It can also be found at *
+! http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have *
+! access to either file, you may request a copy from help@hdfgroup.org. *
+! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+!
+! AUTHOR
+! M. Scot Breitenfeld
+!
+!*****
+
+#include <H5config_f.inc>
+
+PROGRAM H5_buildiface
+ USE, INTRINSIC :: ISO_C_BINDING
+ IMPLICIT NONE
+
+! These values are valid REAL KINDs (with corresponding C float) found during configure
+ H5_H5CONFIG_F_NUM_RKIND
+ H5_H5CONFIG_F_RKIND
+! These values are valid INTEGER KINDs (with corresponding C integer) found during configure
+ H5_H5CONFIG_F_NUM_IKIND
+ H5_H5CONFIG_F_IKIND
+
+ INTEGER :: i, j, k
+ INTEGER :: ji, jr, jd
+#ifdef H5_FORTRAN_HAVE_C_LONG_DOUBLE
+ REAL(KIND=C_LONG_DOUBLE) :: c_longdble
+#endif
+ REAL(KIND=C_DOUBLE) :: c_dble
+ REAL(KIND=C_FLOAT) :: c_flt
+ INTEGER :: sizeof_var
+ CHARACTER(LEN=2) :: chr2
+! subroutine rank of array being passed in
+ CHARACTER(LEN=2), DIMENSION(1:8), PARAMETER :: chr_rank=(/"_0","_1","_2","_3","_4","_5","_6","_7"/)
+! rank definitions
+ CHARACTER(LEN=70), DIMENSION(1:8), PARAMETER :: rank_dim_line=(/ &
+ ' ', &
+ ', DIMENSION(dims(1)) ', &
+ ', DIMENSION(dims(1),dims(2)) ', &
+ ', DIMENSION(dims(1),dims(2),dims(3)) ', &
+ ', DIMENSION(dims(1),dims(2),dims(3),dims(4)) ', &
+ ', DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)) ', &
+ ', DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)) ', &
+ ', DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7))' &
+ /)
+! pointer to the buffer
+ CHARACTER(LEN=37), DIMENSION(1:8), PARAMETER :: f_ptr_line=(/ &
+ ' f_ptr = C_LOC(buf) ', &
+ ' f_ptr = C_LOC(buf(1)) ', &
+ ' f_ptr = C_LOC(buf(1,1)) ', &
+ ' f_ptr = C_LOC(buf(1,1,1)) ', &
+ ' f_ptr = C_LOC(buf(1,1,1,1)) ', &
+ ' f_ptr = C_LOC(buf(1,1,1,1,1)) ', &
+ ' f_ptr = C_LOC(buf(1,1,1,1,1,1)) ', &
+ ' f_ptr = C_LOC(buf(1,1,1,1,1,1,1))' &
+ /)
+ CHARACTER(LEN=42), DIMENSION(1:8), PARAMETER :: fchr_ptr_line=(/ &
+ ' f_ptr = C_LOC(buf(1:1)) ', &
+ ' f_ptr = C_LOC(buf(1)(1:1)) ', &
+ ' f_ptr = C_LOC(buf(1,1)(1:1)) ', &
+ ' f_ptr = C_LOC(buf(1,1,1)(1:1)) ', &
+ ' f_ptr = C_LOC(buf(1,1,1,1)(1:1)) ', &
+ ' f_ptr = C_LOC(buf(1,1,1,1,1)(1:1)) ', &
+ ' f_ptr = C_LOC(buf(1,1,1,1,1,1)(1:1)) ', &
+ ' f_ptr = C_LOC(buf(1,1,1,1,1,1,1)(1:1))' &
+ /)
+
+! (a) Generate Fortran H5* interfaces having multiple KIND interfaces.
+!
+! DEVELOPER'S NOTES:
+!
+! Only interfaces with arrays of rank 7 and less are provided. Even-though, the F2008
+! standard extended the maximum rank to 15, it was decided that user's should use the
+! new APIs to handle those use cases. Handling rank 7 and less is for backward compatibility
+! with the Fortran 90/95 APIs codes which could never handle ranks greater than 7.
+
+ OPEN(11,FILE='H5_gen.F90')
+ WRITE(11,'(40(A,/))') &
+'!****h* ROBODoc/H5_gen.F90',&
+'!',&
+'! NAME',&
+'! H5_gen',&
+'! ',&
+'! PURPOSE',&
+'! This module is generated at build by H5_buildiface.F90 to handle all the',&
+'! detected KINDs for APIs being passed INTEGERs, REALs and CHARACTERs. Currently ',&
+'! these are H5A, H5D and H5P APIs',&
+'!',&
+'! COPYRIGHT',&
+'! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *',&
+'! Copyright by The HDF Group. *',&
+'! All rights reserved. *',&
+'! *',&
+'! This file is part of HDF5. The full HDF5 copyright notice, including *',&
+'! terms governing use, modification, and redistribution, is contained in *',&
+'! the files COPYING and Copyright.html. COPYING can be found at the root *',&
+'! of the source code distribution tree; Copyright.html can be found at the *',&
+'! root level of an installed copy of the electronic HDF5 document set and *',&
+'! is linked from the top-level documents page. It can also be found at *',&
+'! http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have *',&
+'! access to either file, you may request a copy from help@hdfgroup.org. *',&
+'! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *',&
+'!',&
+'! AUTHOR',&
+'! H5_buildiface.F90',&
+'!',&
+'!*****'
+
+ WRITE(11,'(A)') "MODULE H5_GEN"
+
+ WRITE(11,'(A)') ' USE, INTRINSIC :: ISO_C_BINDING'
+ WRITE(11,'(A)') ' USE H5GLOBAL'
+
+ WRITE(11,'(A)') ' USE H5A'
+ WRITE(11,'(A)') ' USE H5D'
+ WRITE(11,'(A)') ' USE H5P'
+ WRITE(11,'(A)') ' IMPLICIT NONE'
+!***************
+! H5A INTERFACES
+!***************
+!
+! H5Awrite_f
+!
+ WRITE(11,'(A)') " INTERFACE h5awrite_f"
+ DO i = 1, num_rkinds
+ j = rkind(i)
+ WRITE(chr2,'(I2)') j
+ DO k = 1, 8
+ WRITE(11,'(A)') " MODULE PROCEDURE h5awrite_rkind_"//TRIM(ADJUSTL(chr2))//'_rank'//chr_rank(k)
+ ENDDO
+ END DO
+ DO i = 1, num_ikinds
+ j = ikind(i)
+ WRITE(chr2,'(I2)') j
+ DO k = 1, 8
+ WRITE(11,'(A)') " MODULE PROCEDURE h5awrite_ikind_"//TRIM(ADJUSTL(chr2))//'_rank'//chr_rank(k)
+ ENDDO
+ END DO
+ DO k = 2, 8
+ WRITE(11,'(A)') " MODULE PROCEDURE h5awrite_ckind_rank"//chr_rank(k)
+ ENDDO
+ WRITE(11,'(A)') " END INTERFACE"
+
+! H5Aread_f
+ WRITE(11,'(A)') " INTERFACE h5aread_f"
+ DO i = 1, num_rkinds
+ j = rkind(i)
+ WRITE(chr2,'(I2)') j
+ DO k = 1, 8
+ WRITE(11,'(A)') " MODULE PROCEDURE h5aread_rkind_"//TRIM(ADJUSTL(chr2))//'_rank'//chr_rank(k)
+ ENDDO
+ END DO
+ DO i = 1, num_ikinds
+ j = ikind(i)
+ WRITE(chr2,'(I2)') j
+ DO k = 1, 8
+ WRITE(11,'(A)') " MODULE PROCEDURE h5aread_ikind_"//TRIM(ADJUSTL(chr2))//'_rank'//chr_rank(k)
+ ENDDO
+ END DO
+ DO k = 2, 8
+ WRITE(11,'(A)') " MODULE PROCEDURE h5aread_ckind_rank"//chr_rank(k)
+ ENDDO
+ WRITE(11,'(A)') " END INTERFACE"
+!***************
+! H5D INTERFACES
+!***************
+!
+! H5Dwrite_f
+ WRITE(11,'(A)') " INTERFACE h5dwrite_f"
+ DO i = 1, num_rkinds
+ j = rkind(i)
+ WRITE(chr2,'(I2)') j
+ DO k = 1, 8
+ WRITE(11,'(A)') " MODULE PROCEDURE h5dwrite_rkind_"//TRIM(ADJUSTL(chr2))//'_rank'//chr_rank(k)
+ ENDDO
+ END DO
+ DO i = 1, num_ikinds
+ j = ikind(i)
+ WRITE(chr2,'(I2)') j
+ DO k = 1, 8
+ WRITE(11,'(A)') " MODULE PROCEDURE h5dwrite_ikind_"//TRIM(ADJUSTL(chr2))//'_rank'//chr_rank(k)
+ ENDDO
+ END DO
+ DO k = 2, 8
+ WRITE(11,'(A)') " MODULE PROCEDURE h5dwrite_ckind_rank"//chr_rank(k)
+ END DO
+ WRITE(11,'(A)') " END INTERFACE"
+
+! H5Dread_f
+ WRITE(11,'(A)') " INTERFACE h5dread_f"
+ DO i = 1, num_rkinds
+ j = rkind(i)
+ WRITE(chr2,'(I2)') j
+ DO k = 1, 8
+ WRITE(11,'(A)') " MODULE PROCEDURE h5dread_rkind_"//TRIM(ADJUSTL(chr2))//'_rank'//chr_rank(k)
+ ENDDO
+ END DO
+ DO i = 1, num_ikinds
+ j = ikind(i)
+ WRITE(chr2,'(I2)') j
+ DO k = 1, 8
+ WRITE(11,'(A)') " MODULE PROCEDURE h5dread_ikind_"//TRIM(ADJUSTL(chr2))//'_rank'//chr_rank(k)
+ ENDDO
+ END DO
+ DO k = 2, 8
+ WRITE(11,'(A)') " MODULE PROCEDURE h5dread_ckind_rank"//chr_rank(k)
+ ENDDO
+ WRITE(11,'(A)') " END INTERFACE"
+
+!***************
+! H5P INTERFACES
+!***************
+!
+! H5Pset_fill_value_f
+ WRITE(11,'(A)') " INTERFACE h5pset_fill_value_f"
+ DO i = 1, num_rkinds
+ j = rkind(i)
+ WRITE(chr2,'(I2)') j
+ WRITE(11,'(A)') " MODULE PROCEDURE h5pset_fill_value_kind_"//TRIM(ADJUSTL(chr2))
+ END DO
+ WRITE(11,'(A)') " END INTERFACE"
+
+! H5Pget_fill_value_f
+ WRITE(11,'(A)') " INTERFACE h5pget_fill_value_f"
+ DO i = 1, num_rkinds
+ j = rkind(i)
+ WRITE(chr2,'(I2)') j
+ WRITE(11,'(A)') " MODULE PROCEDURE h5pget_fill_value_kind_"//TRIM(ADJUSTL(chr2))
+ END DO
+ WRITE(11,'(A)') " END INTERFACE"
+
+! H5Pset_f
+ WRITE(11,'(A)') " INTERFACE h5pset_f"
+ DO i = 1, num_rkinds
+ j = rkind(i)
+ WRITE(chr2,'(I2)') j
+ WRITE(11,'(A)') " MODULE PROCEDURE h5pset_kind_"//TRIM(ADJUSTL(chr2))
+ END DO
+ WRITE(11,'(A)') " END INTERFACE"
+
+! H5Pget_f
+ WRITE(11,'(A)') " INTERFACE h5pget_f"
+ DO i = 1, num_rkinds
+ j = rkind(i)
+ WRITE(chr2,'(I2)') j
+ WRITE(11,'(A)') " MODULE PROCEDURE h5pget_kind_"//TRIM(ADJUSTL(chr2))
+ END DO
+ WRITE(11,'(A)') " END INTERFACE"
+
+! H5Pregister_f
+ WRITE(11,'(A)') " INTERFACE h5pregister_f"
+ DO i = 1, num_rkinds
+ j = rkind(i)
+ WRITE(chr2,'(I2)') j
+ WRITE(11,'(A)') " MODULE PROCEDURE h5pregister_kind_"//TRIM(ADJUSTL(chr2))
+ END DO
+ WRITE(11,'(A)') " END INTERFACE"
+
+! H5Pinsert_f
+ WRITE(11,'(A)') " INTERFACE h5pinsert_f"
+ DO i = 1, num_rkinds
+ j = rkind(i)
+ WRITE(chr2,'(I2)') j
+ WRITE(11,'(A)') " MODULE PROCEDURE h5pinsert_kind_"//TRIM(ADJUSTL(chr2))
+ END DO
+ WRITE(11,'(A)') " END INTERFACE"
+
+ WRITE(11,'(A)') 'CONTAINS'
+
+!**********************
+! H5A APIs
+!**********************
+!
+! H5Awrite_f
+
+!****s* H5A (F03)/H5Awrite_f_F90
+!
+! NAME
+! H5Awrite_f_F90
+!
+! PURPOSE
+! Writes an attribute.
+!
+! Inputs:
+! attr_id - Attribute identifier
+! memtype_id - Attribute datatype identifier (in memory)
+! dims - Array to hold corresponding dimension sizes of data buffer buf;
+! dim(k) has value of the k-th dimension of buffer buf;
+! values are ignored if buf is a scalar
+! buf - Data buffer; may be a scalar or an array
+!
+! Outputs:
+! hdferr - Returns 0 if successful and -1 if fails
+!
+! AUTHOR
+! Elena Pourmal
+! August 12, 1999
+!
+! HISTORY
+! Explicit Fortran interfaces are added for
+! called C functions (it is needed for Windows
+! port). February 27, 2001
+!
+! dims parameter was added to make code portable;
+! Aprile 4, 2001
+!
+! Changed buf intent to INOUT to be consistant
+! with how the C functions handles it. The pg
+! compiler will return 0 if a buf value is not set.
+! February, 2008
+!
+! NOTES
+! This function is overloaded to write INTEGER,
+! REAL, REAL(KIND=C_DOUBLE) and CHARACTER buffers
+! up to 7 dimensions.
+!
+! Fortran90 Interface:
+!! SUBROUTINE H5Awrite_f(attr_id, memtype_id, buf, dims, hdferr)
+!! INTEGER(HID_T) , INTENT(IN) :: attr_id
+!! INTEGER(HID_T) , INTENT(IN) :: memtype_id
+!! TYPE , INTENT(IN) :: buf
+!! INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
+!! INTEGER , INTENT(OUT) :: hdferr
+!*****
+
+ DO i = 1, num_rkinds
+ k = rkind(i)
+ WRITE(chr2,'(I2)') k
+ DO j = 1, 8
+
+! DLL definitions for windows
+ WRITE(11,'(A)') '!DEC$if defined(BUILD_HDF5_DLL)'
+ WRITE(11,'(A)') '!DEC$attributes dllexport :: h5awrite_rkind_'//TRIM(ADJUSTL(chr2))//'_rank'//chr_rank(j)
+ WRITE(11,'(A)') '!DEC$endif'
+
+! Subroutine API
+ WRITE(11,'(A)') ' SUBROUTINE h5awrite_rkind_'//TRIM(ADJUSTL(chr2))&
+ &//'_rank'//chr_rank(j)//'(attr_id, memtype_id, buf, dims, hdferr)'
+ WRITE(11,'(A)') ' IMPLICIT NONE'
+ WRITE(11,'(A)') ' INTEGER(HID_T) , INTENT(IN) :: attr_id'
+ WRITE(11,'(A)') ' INTEGER(HID_T) , INTENT(IN) :: memtype_id'
+ WRITE(11,'(A)') ' INTEGER(HSIZE_T) , INTENT(IN), DIMENSION(*) :: dims'
+ WRITE(11,'(A)') ' REAL(KIND='//TRIM(ADJUSTL(chr2))//'),INTENT(IN)'//TRIM(rank_dim_line(j))//', TARGET :: buf'
+ WRITE(11,'(A)') ' INTEGER , INTENT(OUT) :: hdferr'
+ WRITE(11,'(A)') ' TYPE(C_PTR) :: f_ptr'
+
+ WRITE(11,'(A)') f_ptr_line(j)
+ WRITE(11,'(A)') ' hdferr = H5Awrite_f_c(attr_id, memtype_id, f_ptr)'
+ WRITE(11,'(A)') ' END SUBROUTINE h5awrite_rkind_'//TRIM(ADJUSTL(chr2))//'_rank'//chr_rank(j)
+ ENDDO
+ ENDDO
+ DO i = 1, num_ikinds
+ k = ikind(i)
+ WRITE(chr2,'(I2)') k
+ DO j = 1, 8
+
+! DLL definitions for windows
+ WRITE(11,'(A)') '!DEC$if defined(BUILD_HDF5_DLL)'
+ WRITE(11,'(A)') '!DEC$attributes dllexport :: h5awrite_ikind_'//TRIM(ADJUSTL(chr2))//'_rank'//chr_rank(j)
+ WRITE(11,'(A)') '!DEC$endif'
+
+! Subroutine API
+ WRITE(11,'(A)') ' SUBROUTINE h5awrite_ikind_'//TRIM(ADJUSTL(chr2))&
+ &//'_rank'//chr_rank(j)//'(attr_id, memtype_id, buf, dims, hdferr)'
+ WRITE(11,'(A)') ' IMPLICIT NONE'
+ WRITE(11,'(A)') ' INTEGER(HID_T) , INTENT(IN) :: attr_id'
+ WRITE(11,'(A)') ' INTEGER(HID_T) , INTENT(IN) :: memtype_id'
+ WRITE(11,'(A)') ' INTEGER(HSIZE_T) , INTENT(IN), DIMENSION(*) :: dims'
+ WRITE(11,'(A)') ' INTEGER(KIND='//TRIM(ADJUSTL(chr2))//'),INTENT(INOUT)'//TRIM(rank_dim_line(j))//', TARGET :: buf'
+ WRITE(11,'(A)') ' INTEGER , INTENT(OUT) :: hdferr'
+ WRITE(11,'(A)') ' TYPE(C_PTR) :: f_ptr'
+
+ WRITE(11,'(A)') f_ptr_line(j)
+ WRITE(11,'(A)') ' hdferr = H5Awrite_f_c(attr_id, memtype_id, f_ptr)'
+ WRITE(11,'(A)') ' END SUBROUTINE h5awrite_ikind_'//TRIM(ADJUSTL(chr2))//'_rank'//chr_rank(j)
+ ENDDO
+ ENDDO
+ DO j = 2, 8
+
+! DLL definitions for windows
+ WRITE(11,'(A)') '!DEC$if defined(BUILD_HDF5_DLL)'
+ WRITE(11,'(A)') '!DEC$attributes dllexport :: h5awrite_ckind_rank'//chr_rank(j)
+ WRITE(11,'(A)') '!DEC$endif'
+
+! Subroutine API
+ WRITE(11,'(A)') ' SUBROUTINE h5awrite_ckind_rank'//chr_rank(j)//'(attr_id, memtype_id, buf, dims, hdferr)'
+ WRITE(11,'(A)') ' IMPLICIT NONE'
+ WRITE(11,'(A)') ' INTEGER(HID_T) , INTENT(IN) :: attr_id'
+ WRITE(11,'(A)') ' INTEGER(HID_T) , INTENT(IN) :: memtype_id'
+ WRITE(11,'(A)') ' INTEGER(HSIZE_T) , INTENT(IN), DIMENSION(*) :: dims'
+ WRITE(11,'(A)') ' CHARACTER(LEN=*) , INTENT(IN)'//TRIM(rank_dim_line(j))//', TARGET :: buf'
+ WRITE(11,'(A)') ' INTEGER , INTENT(OUT) :: hdferr'
+ WRITE(11,'(A)') ' TYPE(C_PTR) :: f_ptr'
+
+ WRITE(11,'(A)') fchr_ptr_line(j)
+ WRITE(11,'(A)') ' hdferr = H5Awrite_f_c(attr_id, memtype_id, f_ptr)'
+ WRITE(11,'(A)') ' END SUBROUTINE h5awrite_ckind_rank'//chr_rank(j)
+ ENDDO
+
+!
+! H5Aread_f
+
+!****s* H5A (F03)/H5Aread_f_F90
+!
+! NAME
+! H5Aread_f_F90
+!
+! PURPOSE
+! Reads an attribute.
+!
+! Inputs:
+! attr_id - Attribute identifier
+! memtype_id - Attribute datatype identifier (in memory)
+! dims - Array to hold corresponding dimension sizes of data buffer buf;
+! dim(k) has value of the k-th dimension of buffer buf;
+! values are ignored if buf is a scalar
+!
+! Outputs:
+! buf - Data buffer; may be a scalar or an array
+! hdferr - Returns 0 if successful and -1 if fails
+!
+! AUTHOR
+! Elena Pourmal
+! August 12, 1999
+!
+! HISTORY
+! Explicit Fortran interfaces are added for
+! called C functions (it is needed for Windows
+! port). February 27, 2001
+!
+! dims parameter was added to make code portable;
+! Aprile 4, 2001
+!
+! Changed buf intent to INOUT to be consistant
+! with how the C functions handles it. The pg
+! compiler will return 0 if a buf value is not set.
+! February, 2008
+!
+! NOTES
+! This function is overloaded to write INTEGER,
+! REAL, REAL(KIND=C_DOUBLE) and CHARACTER buffers
+! up to 7 dimensions.
+! Fortran90 Interface:
+!! SUBROUTINE H5Aread_f(attr_id, memtype_id, buf, dims, hdferr)
+!! INTEGER(HID_T) , INTENT(IN) :: attr_id
+!! INTEGER(HID_T) , INTENT(IN) :: memtype_id
+!! TYPE , INTENT(INOUT) :: buf
+!! INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
+!! INTEGER , INTENT(OUT) :: hdferr
+!*****
+ DO i = 1, num_rkinds
+ k = rkind(i)
+ WRITE(chr2,'(I2)') k
+ DO j = 1, 8
+! DLL definitions for windows
+ WRITE(11,'(A)') '!DEC$if defined(BUILD_HDF5_DLL)'
+ WRITE(11,'(A)') '!DEC$attributes dllexport :: h5aread_rkind_'//TRIM(ADJUSTL(chr2))//'_rank'//chr_rank(j)
+ WRITE(11,'(A)') '!DEC$endif'
+! Subroutine API
+ WRITE(11,'(A)') ' SUBROUTINE h5aread_rkind_'//TRIM(ADJUSTL(chr2))&
+ &//'_rank'//chr_rank(j)//'(attr_id, memtype_id, buf, dims, hdferr)'
+ WRITE(11,'(A)') ' IMPLICIT NONE'
+ WRITE(11,'(A)') ' INTEGER(HID_T) , INTENT(IN) :: attr_id'
+ WRITE(11,'(A)') ' INTEGER(HID_T) , INTENT(IN) :: memtype_id'
+ WRITE(11,'(A)') ' INTEGER(HSIZE_T) , INTENT(IN), DIMENSION(*) :: dims'
+ WRITE(11,'(A)') ' REAL(KIND='//TRIM(ADJUSTL(chr2))//'),INTENT(INOUT)'//TRIM(rank_dim_line(j))//', TARGET :: buf'
+ WRITE(11,'(A)') ' INTEGER , INTENT(OUT) :: hdferr'
+ WRITE(11,'(A)') ' TYPE(C_PTR) :: f_ptr'
+
+ WRITE(11,'(A)') f_ptr_line(j)
+ WRITE(11,'(A)') ' hdferr = H5Aread_f_c(attr_id, memtype_id, f_ptr)'
+ WRITE(11,'(A)') ' END SUBROUTINE h5aread_rkind_'//TRIM(ADJUSTL(chr2))//'_rank'//chr_rank(j)
+ ENDDO
+ ENDDO
+ DO i = 1, num_ikinds
+ k = ikind(i)
+ WRITE(chr2,'(I2)') k
+ DO j = 1, 8
+! DLL definitions for windows
+ WRITE(11,'(A)') '!DEC$if defined(BUILD_HDF5_DLL)'
+ WRITE(11,'(A)') '!DEC$attributes dllexport :: h5aread_ikind_'//TRIM(ADJUSTL(chr2))//'_rank'//chr_rank(j)
+ WRITE(11,'(A)') '!DEC$endif'
+! Subroutine API
+ WRITE(11,'(A)') ' SUBROUTINE h5aread_ikind_'//TRIM(ADJUSTL(chr2))&
+ &//'_rank'//chr_rank(j)//'(attr_id, memtype_id, buf, dims, hdferr)'
+ WRITE(11,'(A)') ' IMPLICIT NONE'
+ WRITE(11,'(A)') ' INTEGER(HID_T) , INTENT(IN) :: attr_id'
+ WRITE(11,'(A)') ' INTEGER(HID_T) , INTENT(IN) :: memtype_id'
+ WRITE(11,'(A)') ' INTEGER(HSIZE_T) , INTENT(IN), DIMENSION(*) :: dims'
+ WRITE(11,'(A)') ' INTEGER(KIND='//TRIM(ADJUSTL(chr2))//'),INTENT(INOUT)'//TRIM(rank_dim_line(j))//', TARGET :: buf'
+ WRITE(11,'(A)') ' INTEGER , INTENT(OUT) :: hdferr'
+ WRITE(11,'(A)') ' TYPE(C_PTR) :: f_ptr'
+
+ WRITE(11,'(A)') f_ptr_line(j)
+ WRITE(11,'(A)') ' hdferr = H5Aread_f_c(attr_id, memtype_id, f_ptr)'
+ WRITE(11,'(A)') ' END SUBROUTINE h5aread_ikind_'//TRIM(ADJUSTL(chr2))//'_rank'//chr_rank(j)
+ ENDDO
+ ENDDO
+ DO j = 2, 8
+! DLL definitions for windows
+ WRITE(11,'(A)') '!DEC$if defined(BUILD_HDF5_DLL)'
+ WRITE(11,'(A)') '!DEC$attributes dllexport :: h5aread_ckind_rank'//chr_rank(j)
+ WRITE(11,'(A)') '!DEC$endif'
+! Subroutine API
+ WRITE(11,'(A)') ' SUBROUTINE h5aread_ckind_rank'//chr_rank(j)//'(attr_id, memtype_id, buf, dims, hdferr)'
+ WRITE(11,'(A)') ' IMPLICIT NONE'
+ WRITE(11,'(A)') ' INTEGER(HID_T) , INTENT(IN) :: attr_id'
+ WRITE(11,'(A)') ' INTEGER(HID_T) , INTENT(IN) :: memtype_id'
+ WRITE(11,'(A)') ' INTEGER(HSIZE_T) , INTENT(IN), DIMENSION(*) :: dims'
+ WRITE(11,'(A)') ' CHARACTER(LEN=*), INTENT(IN)'//TRIM(rank_dim_line(j))//', TARGET :: buf'
+ WRITE(11,'(A)') ' INTEGER , INTENT(OUT) :: hdferr'
+ WRITE(11,'(A)') ' TYPE(C_PTR) :: f_ptr'
+
+ WRITE(11,'(A)') fchr_ptr_line(j)
+ WRITE(11,'(A)') ' hdferr = H5Aread_f_c(attr_id, memtype_id, f_ptr)'
+ WRITE(11,'(A)') ' END SUBROUTINE h5aread_ckind_rank'//chr_rank(j)
+ ENDDO
+
+!**********************
+! H5D APIs
+!**********************
+!
+! h5dread_f
+
+!
+! NAME
+! h5dread_f
+!
+! PURPOSE
+! Reads raw data from the specified dataset into buf,
+! converting from file datatype and dataspace to memory
+! datatype and dataspace.
+!
+! Inputs:
+! dset_id - dataset identifier
+! mem_type_id - memory type identifier
+! dims - 1-dim array of size 7; dims(k) has the size
+! - of k-th dimension of the buf array
+! Outputs:
+! buf - buffer to read data in
+! hdferr: - error code
+! Success: 0
+! Failure: -1
+! Optional parameters:
+! mem_space_id - memory dataspace identifier
+! file_space_id - file dataspace identifier
+! xfer_prp - trasfer property list identifier
+!
+! AUTHOR
+! Elena Pourmal
+! August 12, 1999
+!
+! HISTORY
+! Explicit Fortran interfaces were added for
+! called C functions (it is needed for Windows
+! port). February 28, 2001
+!
+! dims parameter was added to make code portable;
+! n parameter was replaced with dims parameter in
+! the h5dwrite_reference_obj and h5dwrite_reference_dsetreg
+! functions. April 2, 2001
+!
+! NOTES
+! This function is overloaded to read INTEGER,
+! REAL, DOUBLE PRECISION and CHARACTER buffers
+! up to 7 dimensions, and one dimensional buffers
+! of the TYPE(hobj_ref_t_f) and TYPE(hdset_reg_ref_t_f)
+! types.
+!
+ DO i = 1, num_rkinds
+ k = rkind(i)
+ WRITE(chr2,'(I2)') k
+ DO j = 1, 8
+! DLL definitions for windows
+ WRITE(11,'(A)') '!DEC$if defined(BUILD_HDF5_DLL)'
+ WRITE(11,'(A)') '!DEC$attributes dllexport :: h5dread_rkind_'//TRIM(ADJUSTL(chr2))//'_rank'//chr_rank(j)
+ WRITE(11,'(A)') '!DEC$endif'
+! Subroutine API
+ WRITE(11,'(A)') ' SUBROUTINE h5dread_rkind_'//TRIM(ADJUSTL(chr2))&
+ &//'_rank'//chr_rank(j)//'(dset_id, mem_type_id, buf, dims, hdferr, &'
+ WRITE(11,'(A)') ' mem_space_id, file_space_id, xfer_prp)'
+ WRITE(11,'(A)') ' USE, INTRINSIC :: ISO_C_BINDING'
+ WRITE(11,'(A)') ' IMPLICIT NONE'
+ WRITE(11,'(A)') ' INTEGER(HID_T), INTENT(IN) :: dset_id'
+ WRITE(11,'(A)') ' INTEGER(HID_T), INTENT(IN) :: mem_type_id'
+ WRITE(11,'(A)') ' INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims'
+ WRITE(11,'(A)') ' REAL(KIND='//TRIM(ADJUSTL(chr2))//'),INTENT(INOUT)'//TRIM(rank_dim_line(j))//', TARGET :: buf'
+ WRITE(11,'(A)') ' INTEGER, INTENT(OUT) :: hdferr'
+ WRITE(11,'(A)') ' INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id'
+ WRITE(11,'(A)') ' INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id'
+ WRITE(11,'(A)') ' INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp'
+ WRITE(11,'(A)') ' INTEGER(HID_T) :: xfer_prp_default'
+ WRITE(11,'(A)') ' INTEGER(HID_T) :: mem_space_id_default'
+ WRITE(11,'(A)') ' INTEGER(HID_T) :: file_space_id_default'
+ WRITE(11,'(A)') ' TYPE(C_PTR) :: f_ptr'
+ WRITE(11,'(A)') ' xfer_prp_default = H5P_DEFAULT_F'
+ WRITE(11,'(A)') ' mem_space_id_default = H5S_ALL_F'
+ WRITE(11,'(A)') ' file_space_id_default = H5S_ALL_F'
+ WRITE(11,'(A)') ' IF(PRESENT(xfer_prp)) xfer_prp_default = xfer_prp'
+ WRITE(11,'(A)') ' IF(PRESENT(mem_space_id)) mem_space_id_default = mem_space_id'
+ WRITE(11,'(A)') ' IF(PRESENT(file_space_id)) file_space_id_default = file_space_id'
+ WRITE(11,'(A)') f_ptr_line(j)
+ WRITE(11,'(A)') ' hdferr = h5dread_f_c(dset_id, mem_type_id, mem_space_id_default, &'
+ WRITE(11,'(A)') ' file_space_id_default, xfer_prp_default, f_ptr)'
+ WRITE(11,'(A)') ' END SUBROUTINE h5dread_rkind_'//TRIM(ADJUSTL(chr2))//'_rank'//chr_rank(j)
+
+ ENDDO
+ ENDDO
+
+ DO i = 1, num_ikinds
+ k = ikind(i)
+ WRITE(chr2,'(I2)') k
+ DO j = 1, 8
+! DLL definitions for windows
+ WRITE(11,'(A)') '!DEC$if defined(BUILD_HDF5_DLL)'
+ WRITE(11,'(A)') '!DEC$attributes dllexport :: h5dread_ikind_'//TRIM(ADJUSTL(chr2))//'_rank'//chr_rank(j)
+ WRITE(11,'(A)') '!DEC$endif'
+! Subroutine API
+ WRITE(11,'(A)') ' SUBROUTINE h5dread_ikind_'//TRIM(ADJUSTL(chr2))&
+ &//'_rank'//chr_rank(j)//'(dset_id, mem_type_id, buf, dims, hdferr, &'
+ WRITE(11,'(A)') ' mem_space_id, file_space_id, xfer_prp)'
+ WRITE(11,'(A)') ' USE, INTRINSIC :: ISO_C_BINDING'
+ WRITE(11,'(A)') ' IMPLICIT NONE'
+ WRITE(11,'(A)') ' INTEGER(HID_T), INTENT(IN) :: dset_id'
+ WRITE(11,'(A)') ' INTEGER(HID_T), INTENT(IN) :: mem_type_id'
+ WRITE(11,'(A)') ' INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims'
+ WRITE(11,'(A)') ' INTEGER(KIND='//TRIM(ADJUSTL(chr2))//'),INTENT(INOUT)'//TRIM(rank_dim_line(j))//', TARGET :: buf'
+ WRITE(11,'(A)') ' INTEGER, INTENT(OUT) :: hdferr'
+ WRITE(11,'(A)') ' INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id'
+ WRITE(11,'(A)') ' INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id'
+ WRITE(11,'(A)') ' INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp'
+ WRITE(11,'(A)') ' INTEGER(HID_T) :: xfer_prp_default'
+ WRITE(11,'(A)') ' INTEGER(HID_T) :: mem_space_id_default'
+ WRITE(11,'(A)') ' INTEGER(HID_T) :: file_space_id_default'
+ WRITE(11,'(A)') ' TYPE(C_PTR) :: f_ptr'
+ WRITE(11,'(A)') ' xfer_prp_default = H5P_DEFAULT_F'
+ WRITE(11,'(A)') ' mem_space_id_default = H5S_ALL_F'
+ WRITE(11,'(A)') ' file_space_id_default = H5S_ALL_F'
+ WRITE(11,'(A)') ' IF(PRESENT(xfer_prp)) xfer_prp_default = xfer_prp'
+ WRITE(11,'(A)') ' IF(PRESENT(mem_space_id)) mem_space_id_default = mem_space_id'
+ WRITE(11,'(A)') ' IF(PRESENT(file_space_id)) file_space_id_default = file_space_id'
+ WRITE(11,'(A)') f_ptr_line(j)
+ WRITE(11,'(A)') ' hdferr = h5dread_f_c(dset_id, mem_type_id, mem_space_id_default, &'
+ WRITE(11,'(A)') ' file_space_id_default, xfer_prp_default, f_ptr)'
+ WRITE(11,'(A)') ' END SUBROUTINE h5dread_ikind_'//TRIM(ADJUSTL(chr2))//'_rank'//chr_rank(j)
+
+ ENDDO
+ ENDDO
+ DO j = 2, 8
+! DLL definitions for windows
+ WRITE(11,'(A)') '!DEC$if defined(BUILD_HDF5_DLL)'
+ WRITE(11,'(A)') '!DEC$attributes dllexport :: h5dread_ckind_rank'//chr_rank(j)
+ WRITE(11,'(A)') '!DEC$endif'
+! Subroutine API
+ WRITE(11,'(A)') ' SUBROUTINE h5dread_ckind_rank'//chr_rank(j)//'(dset_id, mem_type_id, buf, dims, hdferr, &'
+ WRITE(11,'(A)') ' mem_space_id, file_space_id, xfer_prp)'
+ WRITE(11,'(A)') ' USE, INTRINSIC :: ISO_C_BINDING'
+ WRITE(11,'(A)') ' IMPLICIT NONE'
+ WRITE(11,'(A)') ' INTEGER(HID_T), INTENT(IN) :: dset_id'
+ WRITE(11,'(A)') ' INTEGER(HID_T), INTENT(IN) :: mem_type_id'
+ WRITE(11,'(A)') ' INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims'
+ WRITE(11,'(A)') ' CHARACTER(LEN=*), INTENT(INOUT)'//TRIM(rank_dim_line(j))//', TARGET :: buf'
+ WRITE(11,'(A)') ' INTEGER, INTENT(OUT) :: hdferr'
+ WRITE(11,'(A)') ' INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id'
+ WRITE(11,'(A)') ' INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id'
+ WRITE(11,'(A)') ' INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp'
+ WRITE(11,'(A)') ' INTEGER(HID_T) :: xfer_prp_default'
+ WRITE(11,'(A)') ' INTEGER(HID_T) :: mem_space_id_default'
+ WRITE(11,'(A)') ' INTEGER(HID_T) :: file_space_id_default'
+ WRITE(11,'(A)') ' TYPE(C_PTR) :: f_ptr'
+ WRITE(11,'(A)') ' xfer_prp_default = H5P_DEFAULT_F'
+ WRITE(11,'(A)') ' mem_space_id_default = H5S_ALL_F'
+ WRITE(11,'(A)') ' file_space_id_default = H5S_ALL_F'
+ WRITE(11,'(A)') ' IF(PRESENT(xfer_prp)) xfer_prp_default = xfer_prp'
+ WRITE(11,'(A)') ' IF(PRESENT(mem_space_id)) mem_space_id_default = mem_space_id'
+ WRITE(11,'(A)') ' IF(PRESENT(file_space_id)) file_space_id_default = file_space_id'
+ WRITE(11,'(A)') fchr_ptr_line(j)
+ WRITE(11,'(A)') ' hdferr = h5dread_f_c(dset_id, mem_type_id, mem_space_id_default, &'
+ WRITE(11,'(A)') ' file_space_id_default, xfer_prp_default, f_ptr)'
+ WRITE(11,'(A)') ' END SUBROUTINE h5dread_ckind_rank'//chr_rank(j)
+ ENDDO
+!
+! h5dwrite_f
+
+!****s* H5D (F03)/h5dwrite_f_F03
+!
+! NAME
+! h5dwrite_f_F03
+!
+! PURPOSE
+! Writes raw data from a dataset into a buffer.
+!
+! Inputs:
+! dset_id - Identifier of the dataset to write to.
+! mem_type_id - Identifier of the memory datatype.
+! buf - Buffer with data to be written to the file.
+!
+! Outputs:
+! hdferr - Returns 0 if successful and -1 if fails
+!
+! Optional parameters:
+! mem_space_id - Identifier of the memory dataspace.
+! file_space_id - Identifier of the dataset's dataspace in the file.
+! xfer_prp - Identifier of a transfer property list for this I/O operation.
+!
+! AUTHOR
+! M. Scot Breitenfeld
+! September 17, 2011
+!
+! Fortran2003 Interface:
+!! SUBROUTINE h5dwrite_f(dset_id, mem_type_id, buf, hdferr, &
+!! mem_space_id, file_space_id, xfer_prp)
+!! INTEGER(HID_T), INTENT(IN) :: dset_id
+!! INTEGER(HID_T), INTENT(IN) :: mem_type_id
+!! TYPE(C_PTR) , INTENT(IN) :: buf
+!! INTEGER , INTENT(OUT) :: hdferr
+!! INTEGER(HID_T), INTENT(IN) , OPTIONAL :: mem_space_id
+!! INTEGER(HID_T), INTENT(IN) , OPTIONAL :: file_space_id
+!! INTEGER(HID_T), INTENT(IN) , OPTIONAL :: xfer_prp
+!*****
+ DO i = 1, num_rkinds
+ k = rkind(i)
+ WRITE(chr2,'(I2)') k
+ DO j = 1, 8
+! DLL definitions for windows
+ WRITE(11,'(A)') '!DEC$if defined(BUILD_HDF5_DLL)'
+ WRITE(11,'(A)') '!DEC$attributes dllexport :: h5dwrite_rkind_'//TRIM(ADJUSTL(chr2))//'_rank'//chr_rank(j)
+ WRITE(11,'(A)') '!DEC$endif'
+! Subroutine API
+ WRITE(11,'(A)') ' SUBROUTINE h5dwrite_rkind_'//TRIM(ADJUSTL(chr2))&
+ &//'_rank'//chr_rank(j)//'(dset_id, mem_type_id, buf, dims, hdferr, &'
+ WRITE(11,'(A)') ' mem_space_id, file_space_id, xfer_prp)'
+ WRITE(11,'(A)') ' USE, INTRINSIC :: ISO_C_BINDING'
+ WRITE(11,'(A)') ' IMPLICIT NONE'
+ WRITE(11,'(A)') ' INTEGER(HID_T), INTENT(IN) :: dset_id'
+ WRITE(11,'(A)') ' INTEGER(HID_T), INTENT(IN) :: mem_type_id'
+ WRITE(11,'(A)') ' INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims'
+ WRITE(11,'(A)') ' REAL(KIND='//TRIM(ADJUSTL(chr2))//'),INTENT(IN)'//TRIM(rank_dim_line(j))//', TARGET :: buf'
+ WRITE(11,'(A)') ' INTEGER, INTENT(OUT) :: hdferr'
+ WRITE(11,'(A)') ' INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id'
+ WRITE(11,'(A)') ' INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id'
+ WRITE(11,'(A)') ' INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp'
+ WRITE(11,'(A)') ' INTEGER(HID_T) :: xfer_prp_default'
+ WRITE(11,'(A)') ' INTEGER(HID_T) :: mem_space_id_default'
+ WRITE(11,'(A)') ' INTEGER(HID_T) :: file_space_id_default'
+ WRITE(11,'(A)') ' TYPE(C_PTR) :: f_ptr'
+ WRITE(11,'(A)') ' xfer_prp_default = H5P_DEFAULT_F'
+ WRITE(11,'(A)') ' mem_space_id_default = H5S_ALL_F'
+ WRITE(11,'(A)') ' file_space_id_default = H5S_ALL_F'
+ WRITE(11,'(A)') ' IF(PRESENT(xfer_prp)) xfer_prp_default = xfer_prp'
+ WRITE(11,'(A)') ' IF(PRESENT(mem_space_id)) mem_space_id_default = mem_space_id'
+ WRITE(11,'(A)') ' IF(PRESENT(file_space_id)) file_space_id_default = file_space_id'
+ WRITE(11,'(A)') f_ptr_line(j)
+ WRITE(11,'(A)') ' hdferr = h5dwrite_f_c(dset_id, mem_type_id, mem_space_id_default, &'
+ WRITE(11,'(A)') ' file_space_id_default, xfer_prp_default, f_ptr)'
+ WRITE(11,'(A)') ' END SUBROUTINE h5dwrite_rkind_'//TRIM(ADJUSTL(chr2))//'_rank'//chr_rank(j)
+ ENDDO
+ ENDDO
+
+ DO i = 1, num_ikinds
+ k = ikind(i)
+ WRITE(chr2,'(I2)') k
+ DO j = 1, 8
+! DLL definitions for windows
+ WRITE(11,'(A)') '!DEC$if defined(BUILD_HDF5_DLL)'
+ WRITE(11,'(A)') '!DEC$attributes dllexport :: h5dwrite_ikind_'//TRIM(ADJUSTL(chr2))//'_rank'//chr_rank(j)
+ WRITE(11,'(A)') '!DEC$endif'
+! Subroutine API
+ WRITE(11,'(A)') ' SUBROUTINE h5dwrite_ikind_'//TRIM(ADJUSTL(chr2))&
+ &//'_rank'//chr_rank(j)//'(dset_id, mem_type_id, buf, dims, hdferr, &'
+ WRITE(11,'(A)') ' mem_space_id, file_space_id, xfer_prp)'
+ WRITE(11,'(A)') ' USE, INTRINSIC :: ISO_C_BINDING'
+ WRITE(11,'(A)') ' IMPLICIT NONE'
+ WRITE(11,'(A)') ' INTEGER(HID_T), INTENT(IN) :: dset_id'
+ WRITE(11,'(A)') ' INTEGER(HID_T), INTENT(IN) :: mem_type_id'
+ WRITE(11,'(A)') ' INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims'
+ WRITE(11,'(A)') ' INTEGER(KIND='//TRIM(ADJUSTL(chr2))//'),INTENT(IN)'//TRIM(rank_dim_line(j))//', TARGET :: buf'
+ WRITE(11,'(A)') ' INTEGER, INTENT(OUT) :: hdferr'
+ WRITE(11,'(A)') ' INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id'
+ WRITE(11,'(A)') ' INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id'
+ WRITE(11,'(A)') ' INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp'
+ WRITE(11,'(A)') ' INTEGER(HID_T) :: xfer_prp_default'
+ WRITE(11,'(A)') ' INTEGER(HID_T) :: mem_space_id_default'
+ WRITE(11,'(A)') ' INTEGER(HID_T) :: file_space_id_default'
+ WRITE(11,'(A)') ' TYPE(C_PTR) :: f_ptr'
+ WRITE(11,'(A)') ' xfer_prp_default = H5P_DEFAULT_F'
+ WRITE(11,'(A)') ' mem_space_id_default = H5S_ALL_F'
+ WRITE(11,'(A)') ' file_space_id_default = H5S_ALL_F'
+ WRITE(11,'(A)') ' IF(PRESENT(xfer_prp)) xfer_prp_default = xfer_prp'
+ WRITE(11,'(A)') ' IF(PRESENT(mem_space_id)) mem_space_id_default = mem_space_id'
+ WRITE(11,'(A)') ' IF(PRESENT(file_space_id)) file_space_id_default = file_space_id'
+ WRITE(11,'(A)') f_ptr_line(j)
+ WRITE(11,'(A)') ' hdferr = h5dwrite_f_c(dset_id, mem_type_id, mem_space_id_default, &'
+ WRITE(11,'(A)') ' file_space_id_default, xfer_prp_default, f_ptr)'
+ WRITE(11,'(A)') ' END SUBROUTINE h5dwrite_ikind_'//TRIM(ADJUSTL(chr2))//'_rank'//chr_rank(j)
+ ENDDO
+ ENDDO
+ DO j = 2, 8
+! DLL definitions for windows
+ WRITE(11,'(A)') '!DEC$if defined(BUILD_HDF5_DLL)'
+ WRITE(11,'(A)') '!DEC$attributes dllexport :: h5dwrite_ckind_rank'//chr_rank(j)
+ WRITE(11,'(A)') '!DEC$endif'
+! Subroutine API
+ WRITE(11,'(A)') ' SUBROUTINE h5dwrite_ckind_rank'//chr_rank(j)//'(dset_id, mem_type_id, buf, dims, hdferr, &'
+ WRITE(11,'(A)') ' mem_space_id, file_space_id, xfer_prp)'
+ WRITE(11,'(A)') ' USE, INTRINSIC :: ISO_C_BINDING'
+ WRITE(11,'(A)') ' IMPLICIT NONE'
+ WRITE(11,'(A)') ' INTEGER(HID_T), INTENT(IN) :: dset_id'
+ WRITE(11,'(A)') ' INTEGER(HID_T), INTENT(IN) :: mem_type_id'
+ WRITE(11,'(A)') ' INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims'
+ WRITE(11,'(A)') ' CHARACTER(LEN=*),INTENT(IN)'//TRIM(rank_dim_line(j))//', TARGET :: buf'
+ WRITE(11,'(A)') ' INTEGER, INTENT(OUT) :: hdferr'
+ WRITE(11,'(A)') ' INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id'
+ WRITE(11,'(A)') ' INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id'
+ WRITE(11,'(A)') ' INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp'
+ WRITE(11,'(A)') ' INTEGER(HID_T) :: xfer_prp_default'
+ WRITE(11,'(A)') ' INTEGER(HID_T) :: mem_space_id_default'
+ WRITE(11,'(A)') ' INTEGER(HID_T) :: file_space_id_default'
+ WRITE(11,'(A)') ' TYPE(C_PTR) :: f_ptr'
+ WRITE(11,'(A)') ' xfer_prp_default = H5P_DEFAULT_F'
+ WRITE(11,'(A)') ' mem_space_id_default = H5S_ALL_F'
+ WRITE(11,'(A)') ' file_space_id_default = H5S_ALL_F'
+ WRITE(11,'(A)') ' IF(PRESENT(xfer_prp)) xfer_prp_default = xfer_prp'
+ WRITE(11,'(A)') ' IF(PRESENT(mem_space_id)) mem_space_id_default = mem_space_id'
+ WRITE(11,'(A)') ' IF(PRESENT(file_space_id)) file_space_id_default = file_space_id'
+ WRITE(11,'(A)') fchr_ptr_line(j)
+ WRITE(11,'(A)') ' hdferr = h5dwrite_f_c(dset_id, mem_type_id, mem_space_id_default, &'
+ WRITE(11,'(A)') ' file_space_id_default, xfer_prp_default, f_ptr)'
+ WRITE(11,'(A)') ' END SUBROUTINE h5dwrite_ckind_rank'//chr_rank(j)
+ ENDDO
+
+!**********************
+! H5P APIs
+!**********************
+!
+! H5Pset_fill_value_f
+ DO i = 1, num_rkinds
+ k = rkind(i)
+ WRITE(chr2,'(I2)') k
+! DLL definitions for windows
+ WRITE(11,'(A)') '!DEC$if defined(BUILD_HDF5_DLL)'
+ WRITE(11,'(A)') '!DEC$attributes dllexport :: h5pset_fill_value_kind_'//TRIM(ADJUSTL(chr2))
+ WRITE(11,'(A)') '!DEC$endif'
+! Subroutine API
+ WRITE(11,'(A)') ' SUBROUTINE h5pset_fill_value_kind_'//TRIM(ADJUSTL(chr2))&
+ &//'(prp_id, type_id, fillvalue, hdferr)'
+ WRITE(11,'(A)') ' IMPLICIT NONE'
+ WRITE(11,'(A)') ' INTEGER(HID_T), INTENT(IN) :: prp_id'
+ WRITE(11,'(A)') ' INTEGER(HID_T), INTENT(IN) :: type_id'
+ WRITE(11,'(A)') ' REAL(KIND='//TRIM(ADJUSTL(chr2))//'), INTENT(IN), TARGET :: fillvalue'
+ WRITE(11,'(A)') ' INTEGER, INTENT(OUT) :: hdferr '
+ WRITE(11,'(A)') ' TYPE(C_PTR) :: f_ptr '
+ WRITE(11,'(A)') ' f_ptr = C_LOC(fillvalue)'
+ WRITE(11,'(A)') ' hdferr = h5pset_fill_value_c(prp_id, type_id, f_ptr)'
+ WRITE(11,'(A)') ' END SUBROUTINE h5pset_fill_value_kind_'//TRIM(ADJUSTL(chr2))
+ ENDDO
+
+! H5Pget_fill_value_f
+ DO i = 1, num_rkinds
+ k = rkind(i)
+ WRITE(chr2,'(I2)') k
+! DLL definitions for windows
+ WRITE(11,'(A)') '!DEC$if defined(BUILD_HDF5_DLL)'
+ WRITE(11,'(A)') '!DEC$attributes dllexport :: h5pget_fill_value_kind_'//TRIM(ADJUSTL(chr2))
+ WRITE(11,'(A)') '!DEC$endif'
+! Subroutine API
+ WRITE(11,'(A)') ' SUBROUTINE h5pget_fill_value_kind_'//TRIM(ADJUSTL(chr2))&
+ &//'(prp_id, type_id, fillvalue, hdferr)'
+ WRITE(11,'(A)') ' IMPLICIT NONE'
+ WRITE(11,'(A)') ' INTEGER(HID_T), INTENT(IN) :: prp_id'
+ WRITE(11,'(A)') ' INTEGER(HID_T), INTENT(IN) :: type_id'
+ WRITE(11,'(A)') ' REAL(KIND='//TRIM(ADJUSTL(chr2))//'), INTENT(OUT), TARGET :: fillvalue'
+ WRITE(11,'(A)') ' INTEGER, INTENT(OUT) :: hdferr'
+ WRITE(11,'(A)') ' TYPE(C_PTR) :: f_ptr'
+ WRITE(11,'(A)') ' f_ptr = C_LOC(fillvalue)'
+ WRITE(11,'(A)') ' hdferr = h5pget_fill_value_c(prp_id, type_id, f_ptr)'
+ WRITE(11,'(A)') ' END SUBROUTINE h5pget_fill_value_kind_'//TRIM(ADJUSTL(chr2))
+ ENDDO
+
+! H5Pset_f
+ DO i = 1, num_rkinds
+ k = rkind(i)
+ WRITE(chr2,'(I2)') k
+! DLL definitions for windows
+ WRITE(11,'(A)') '!DEC$if defined(BUILD_HDF5_DLL)'
+ WRITE(11,'(A)') '!DEC$attributes dllexport :: h5pset_kind_'//TRIM(ADJUSTL(chr2))
+ WRITE(11,'(A)') '!DEC$endif'
+! Subroutine API
+ WRITE(11,'(A)') ' SUBROUTINE h5pset_kind_'//TRIM(ADJUSTL(chr2))&
+ &//'(prp_id, name, value, hdferr)'
+ WRITE(11,'(A)') ' IMPLICIT NONE'
+ WRITE(11,'(A)') ' INTEGER(HID_T), INTENT(IN) :: prp_id'
+ WRITE(11,'(A)') ' CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(IN) :: name'
+ WRITE(11,'(A)') ' REAL(KIND='//TRIM(ADJUSTL(chr2))//'), INTENT(IN), TARGET :: value'
+ WRITE(11,'(A)') ' INTEGER, INTENT(OUT) :: hdferr'
+ WRITE(11,'(A)') ' INTEGER :: name_len'
+ WRITE(11,'(A)') ' TYPE(C_PTR) :: f_ptr'
+ WRITE(11,'(A)') ' f_ptr = C_LOC(value)'
+ WRITE(11,'(A)') ' name_len = LEN(name)'
+ WRITE(11,'(A)') ' hdferr = h5pget_c(prp_id, name, name_len, f_ptr)'
+
+ WRITE(11,'(A)') ' END SUBROUTINE h5pset_kind_'//TRIM(ADJUSTL(chr2))
+ ENDDO
+
+! H5Pget_f
+ DO i = 1, num_rkinds
+ k = rkind(i)
+ WRITE(chr2,'(I2)') k
+! DLL definitions for windows
+ WRITE(11,'(A)') '!DEC$if defined(BUILD_HDF5_DLL)'
+ WRITE(11,'(A)') '!DEC$attributes dllexport :: h5pget_kind_'//TRIM(ADJUSTL(chr2))
+ WRITE(11,'(A)') '!DEC$endif'
+! Subroutine API
+ WRITE(11,'(A)') ' SUBROUTINE h5pget_kind_'//TRIM(ADJUSTL(chr2))&
+ &//'(prp_id, name, value, hdferr)'
+ WRITE(11,'(A)') ' IMPLICIT NONE'
+ WRITE(11,'(A)') ' INTEGER(HID_T), INTENT(IN) :: prp_id'
+ WRITE(11,'(A)') ' CHARACTER(LEN=*), INTENT(IN) :: name'
+ WRITE(11,'(A)') ' REAL(KIND='//TRIM(ADJUSTL(chr2))//'), INTENT(OUT), TARGET :: value'
+ WRITE(11,'(A)') ' INTEGER, INTENT(OUT) :: hdferr'
+ WRITE(11,'(A)') ' INTEGER :: name_len'
+ WRITE(11,'(A)') ' TYPE(C_PTR) :: f_ptr'
+ WRITE(11,'(A)') ' f_ptr = C_LOC(value)'
+ WRITE(11,'(A)') ' name_len = LEN(name)'
+ WRITE(11,'(A)') ' hdferr = h5pget_c(prp_id, name, name_len, f_ptr)'
+ WRITE(11,'(A)') ' END SUBROUTINE h5pget_kind_'//TRIM(ADJUSTL(chr2))
+ ENDDO
+
+! H5Pregister_f
+ DO i = 1, num_rkinds
+ k = rkind(i)
+ WRITE(chr2,'(I2)') k
+! DLL definitions for windows
+ WRITE(11,'(A)') '!DEC$if defined(BUILD_HDF5_DLL)'
+ WRITE(11,'(A)') '!DEC$attributes dllexport :: h5pregister_kind_'//TRIM(ADJUSTL(chr2))
+ WRITE(11,'(A)') '!DEC$endif'
+! Subroutine API
+ WRITE(11,'(A)') 'SUBROUTINE h5pregister_kind_'//TRIM(ADJUSTL(chr2))&
+ &//'(class, name, size, value, hdferr)'
+ WRITE(11,'(A)') ' IMPLICIT NONE'
+ WRITE(11,'(A)') ' INTEGER(HID_T), INTENT(IN) :: class'
+ WRITE(11,'(A)') ' CHARACTER(LEN=*), INTENT(IN) :: name'
+ WRITE(11,'(A)') ' INTEGER(SIZE_T), INTENT(IN) :: size'
+ WRITE(11,'(A)') ' REAL(KIND='//TRIM(ADJUSTL(chr2))//'), INTENT(IN), TARGET :: value'
+ WRITE(11,'(A)') ' INTEGER, INTENT(OUT) :: hdferr'
+ WRITE(11,'(A)') ' INTEGER :: name_len'
+ WRITE(11,'(A)') ' TYPE(C_PTR) :: f_ptr'
+ WRITE(11,'(A)') ' f_ptr = C_LOC(value)'
+ WRITE(11,'(A)') ' name_len = LEN(name)'
+ WRITE(11,'(A)') ' hdferr = h5pregister_c(class, name, name_len, size, f_ptr)'
+ WRITE(11,'(A)') 'END SUBROUTINE h5pregister_kind_'//TRIM(ADJUSTL(chr2))
+ ENDDO
+
+! H5Pinsert_f
+ DO i = 1, num_rkinds
+ k = rkind(i)
+ WRITE(chr2,'(I2)') k
+! DLL definitions for windows
+ WRITE(11,'(A)') '!DEC$if defined(BUILD_HDF5_DLL)'
+ WRITE(11,'(A)') '!DEC$attributes dllexport :: h5pinsert_kind_'//TRIM(ADJUSTL(chr2))
+ WRITE(11,'(A)') '!DEC$endif'
+! Subroutine API
+ WRITE(11,'(A)') ' SUBROUTINE h5pinsert_kind_'//TRIM(ADJUSTL(chr2))&
+ &//'(plist, name, size, value, hdferr)'
+ WRITE(11,'(A)') ' IMPLICIT NONE'
+ WRITE(11,'(A)') ' INTEGER(HID_T), INTENT(IN) :: plist'
+ WRITE(11,'(A)') ' CHARACTER(LEN=*), INTENT(IN) :: name'
+ WRITE(11,'(A)') ' INTEGER(SIZE_T), INTENT(IN) :: size'
+ WRITE(11,'(A)') ' REAL(KIND='//TRIM(ADJUSTL(chr2))//'), INTENT(IN), TARGET :: value'
+ WRITE(11,'(A)') ' INTEGER, INTENT(OUT) :: hdferr'
+ WRITE(11,'(A)') ' INTEGER :: name_len'
+ WRITE(11,'(A)') ' TYPE(c_ptr) :: f_ptr'
+ WRITE(11,'(A)') ' f_ptr = c_loc(value)'
+ WRITE(11,'(A)') ' name_len = LEN(name)'
+ WRITE(11,'(A)') ' hdferr = h5pinsert_c(plist, name , name_len, size, f_ptr)'
+ WRITE(11,'(A)') ' END SUBROUTINE h5pinsert_kind_'//TRIM(ADJUSTL(chr2))
+ ENDDO
+
+ WRITE(11,'(A)') 'END MODULE H5_gen'
+
+ CLOSE(11)
+
+END PROGRAM H5_buildiface
+
+
+
diff --git a/fortran/src/H5_f.c b/fortran/src/H5_f.c
index 1641989..f3bc42f 100644
--- a/fortran/src/H5_f.c
+++ b/fortran/src/H5_f.c
@@ -1,6 +1,6 @@
/****ih* H5_f/H5_f
* PURPOSE
- * This file contains C stubs for H5 Fortran APIs
+ * This file contains C stubs for H5 Fortran APIs
*
* COPYRIGHT
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
@@ -22,7 +22,7 @@
*/
#include "H5f90.h"
-
+#include "H5fort_type_defines.h"
/****if* H5_f/h5init_types_c
* NAME
* h5init_types_c
@@ -30,17 +30,17 @@
* Initialize predefined datatypes in Fortran
* INPUTS
* types - array with the predefined Native Fortran
- * type, its element and length must be the
- * same as the types array defined in the
- * H5f90global.f90
+ * type, its element and length must be the
+ * same as the types array defined in the
+ * H5f90global.F90
* floatingtypes - array with the predefined Floating Fortran
- * type, its element and length must be the
- * same as the floatingtypes array defined in the
- * H5f90global.f90
+ * type, its element and length must be the
+ * same as the floatingtypes array defined in the
+ * H5f90global.F90
* integertypes - array with the predefined Integer Fortran
- * type, its element and length must be the
- * same as the integertypes array defined in the
- * H5f90global.f90
+ * type, its element and length must be the
+ * same as the integertypes array defined in the
+ * H5f90global.F90
* RETURNS
* 0 on success, -1 on failure
* AUTHOR
@@ -49,14 +49,14 @@
* SOURCE
*/
int_f
-nh5init_types_c( hid_t_f * types, hid_t_f * floatingtypes, hid_t_f * integertypes )
+h5init_types_c( hid_t_f * types, hid_t_f * floatingtypes, hid_t_f * integertypes )
/******/
{
int ret_value = -1;
hid_t c_type_id;
size_t tmp_val;
-/* Fortran INTEGER is may not be the same as C in; do all checking to find
+/* Fortran INTEGER may not be the same as C; do all checking to find
an appropriate size
*/
if (sizeof(int_f) == sizeof(int)) {
@@ -92,6 +92,12 @@ nh5init_types_c( hid_t_f * types, hid_t_f * floatingtypes, hid_t_f * integertype
if ((types[2] = (hid_t_f)H5Tcopy(H5T_NATIVE_LDOUBLE)) < 0) return ret_value;
}/*end else */
#endif
+#ifdef H5_HAVE_FLOAT128
+ else if(sizeof(double_f)==sizeof(__float128)) {
+ if ((types[2] = H5Tcopy (H5T_NATIVE_FLOAT)) < 0) return ret_value;
+ if ( H5Tset_precision (types[2], 128) < 0) return ret_value;
+ }/*end else */
+#endif
/*
if ((types[3] = H5Tcopy(H5T_NATIVE_UINT8)) < 0) return ret_value;
@@ -126,7 +132,11 @@ nh5init_types_c( hid_t_f * types, hid_t_f * floatingtypes, hid_t_f * integertype
if ((types[6] = (hid_t_f)H5Tcopy(H5T_NATIVE_INT)) < 0) return ret_value;
} /*end if */
else if (sizeof(int_1_f) == sizeof(long long)) {
- if ((types[6] = (hid_t_f)H5Tcopy(H5T_NATIVE_LLONG)) < 0) return ret_value;
+ if ((types[6] = (hid_t_f)H5Tcopy(H5T_NATIVE_LLONG)) < 0) return ret_value;
+ } /*end if */
+ else {
+ if ((types[6] = H5Tcopy (H5T_NATIVE_INT)) < 0) return ret_value;
+ if ( H5Tset_precision (types[6], 128) < 0) return ret_value;
} /*end else */
/*
* FIND H5T_NATIVE_INTEGER_2
@@ -143,6 +153,10 @@ nh5init_types_c( hid_t_f * types, hid_t_f * floatingtypes, hid_t_f * integertype
else if (sizeof(int_2_f) == sizeof(long long)) {
if ((types[7] = (hid_t_f)H5Tcopy(H5T_NATIVE_LLONG)) < 0) return ret_value;
} /*end else */
+ else {
+ if ((types[7] = H5Tcopy (H5T_NATIVE_INT)) < 0) return ret_value;
+ if ( H5Tset_precision (types[7], 128) < 0) return ret_value;
+ } /*end else */
/*
* FIND H5T_NATIVE_INTEGER_4
*/
@@ -158,6 +172,10 @@ nh5init_types_c( hid_t_f * types, hid_t_f * floatingtypes, hid_t_f * integertype
else if (sizeof(int_4_f) == sizeof(long long)) {
if ((types[8] = (hid_t_f)H5Tcopy(H5T_NATIVE_LLONG)) < 0) return ret_value;
} /*end else */
+ else {
+ if ((types[8] = H5Tcopy (H5T_NATIVE_INT)) < 0) return ret_value;
+ if ( H5Tset_precision (types[8], 128) < 0) return ret_value;
+ } /*end else */
/*
* FIND H5T_NATIVE_INTEGER_8
*/
@@ -173,47 +191,65 @@ nh5init_types_c( hid_t_f * types, hid_t_f * floatingtypes, hid_t_f * integertype
else if (sizeof(int_8_f) == sizeof(long long)) {
if ((types[9] = (hid_t_f)H5Tcopy(H5T_NATIVE_LLONG)) < 0) return ret_value;
} /*end else */
+ else {
+ if ((types[9] = H5Tcopy (H5T_NATIVE_INT)) < 0) return ret_value;
+ if ( H5Tset_precision (types[9], 128) < 0) return ret_value;
+ } /*end else */
+
/*
- * FIND H5T_NATIVE_REAL_4
+ * FIND H5T_NATIVE_REAL_C_FLOAT
*/
- if (sizeof(real_4_f) == sizeof(float)) {
+ if (sizeof(real_C_FLOAT_f) == sizeof(float)) {
if ((types[10] = (hid_t_f)H5Tcopy(H5T_NATIVE_FLOAT)) < 0) return ret_value;
} /*end if */
- else if (sizeof(real_4_f) == sizeof(double)) {
+ else if (sizeof(real_C_FLOAT_f) == sizeof(double)) {
if ((types[10] = (hid_t_f)H5Tcopy(H5T_NATIVE_DOUBLE)) < 0) return ret_value;
} /*end if */
#if H5_SIZEOF_LONG_DOUBLE!=0
- else if (sizeof(real_4_f) == sizeof(long double)) {
+ else if (sizeof(real_C_FLOAT_f) == sizeof(long double)) {
if ((types[10] = (hid_t_f)H5Tcopy(H5T_NATIVE_LDOUBLE)) < 0) return ret_value;
} /*end else */
#endif
/*
- * FIND H5T_NATIVE_REAL_8
+ * FIND H5T_NATIVE_REAL_C_DOUBLE
*/
- if (sizeof(real_8_f) == sizeof(float)) {
+ if (sizeof(real_C_DOUBLE_f) == sizeof(float)) {
if ((types[11] = (hid_t_f)H5Tcopy(H5T_NATIVE_FLOAT)) < 0) return ret_value;
} /*end if */
- else if (sizeof(real_8_f) == sizeof(double)) {
+ else if (sizeof(real_C_DOUBLE_f) == sizeof(double)) {
if ((types[11] = (hid_t_f)H5Tcopy(H5T_NATIVE_DOUBLE)) < 0) return ret_value;
} /*end if */
#if H5_SIZEOF_LONG_DOUBLE!=0
- else if (sizeof(real_8_f) == sizeof(long double)) {
+ else if (sizeof(real_C_DOUBLE_f) == sizeof(long double)) {
if ((types[11] = (hid_t_f)H5Tcopy(H5T_NATIVE_LDOUBLE)) < 0) return ret_value;
} /*end else */
#endif
/*
- * FIND H5T_NATIVE_REAL_16
+ * FIND H5T_NATIVE_REAL_C_LONG_DOUBLE
*/
- if (sizeof(real_16_f) == sizeof(float)) {
+#if H5_FORTRAN_C_LONG_DOUBLE_IS_UNIQUE!=0
+ if (sizeof(real_C_LONG_DOUBLE_f) == sizeof(float)) {
if ((types[12] = (hid_t_f)H5Tcopy(H5T_NATIVE_FLOAT)) < 0) return ret_value;
} /*end if */
- else if (sizeof(real_16_f) == sizeof(double)) {
+ else if (sizeof(real_C_LONG_DOUBLE_f) == sizeof(double)) {
if ((types[12] = (hid_t_f)H5Tcopy(H5T_NATIVE_DOUBLE)) < 0) return ret_value;
} /*end if */
-#if H5_SIZEOF_LONG_DOUBLE!=0
- else if (sizeof(real_16_f) == sizeof(long double)) {
+# if H5_FORTRAN_HAVE_C_LONG_DOUBLE!=0
+ else if (sizeof(real_C_LONG_DOUBLE_f) == sizeof(long double)) {
+ if ( H5_PAC_C_MAX_REAL_PRECISION >= H5_PAC_FC_MAX_REAL_PRECISION) {
if ((types[12] = (hid_t_f)H5Tcopy(H5T_NATIVE_LDOUBLE)) < 0) return ret_value;
- } /*end else */
+ }
+ else {
+ if ((types[12] = H5Tcopy (H5T_NATIVE_FLOAT)) < 0) return ret_value;
+ if ( H5Tset_precision (types[12], 128) < 0) return ret_value;
+ }
+ }
+# else
+ if ((types[12] = H5Tcopy (H5T_NATIVE_FLOAT)) < 0) return ret_value;
+ if ( H5Tset_precision (types[12], 64) < 0) return ret_value;
+# endif
+#else
+ if ((types[12] = H5Tcopy(H5T_NATIVE_DOUBLE)) < 0) return ret_value;
#endif
/*
* FIND H5T_NATIVE_B_8
@@ -221,7 +257,38 @@ nh5init_types_c( hid_t_f * types, hid_t_f * floatingtypes, hid_t_f * integertype
if ((types[13] = (hid_t_f)H5Tcopy(H5T_NATIVE_B8)) < 0) return ret_value;
if ((types[14] = (hid_t_f)H5Tcopy(H5T_NATIVE_B16)) < 0) return ret_value;
if ((types[15] = (hid_t_f)H5Tcopy(H5T_NATIVE_B32)) < 0) return ret_value;
- if ((types[16] = (hid_t_f)H5Tcopy(H5T_NATIVE_B64)) < 0) return ret_value;
+ if ((types[16] = (hid_t_f)H5Tcopy(H5T_NATIVE_B64)) < 0) return ret_value;
+
+#if H5_HAVE_Fortran_INTEGER_SIZEOF_16!=0
+ /*
+ * FIND H5T_NATIVE_INTEGER_16
+ */
+ if (sizeof(int_16_f) == sizeof(char)) {
+ if ((types[17] = (hid_t_f)H5Tcopy(H5T_NATIVE_CHAR)) < 0) return ret_value;
+ } /*end if */
+ else if (sizeof(int_16_f) == sizeof(short)) {
+ if ((types[17] = (hid_t_f)H5Tcopy(H5T_NATIVE_SHORT)) < 0) return ret_value;
+ } /*end if */
+ else if (sizeof(int_16_f) == sizeof(int)) {
+ if ((types[17] = (hid_t_f)H5Tcopy(H5T_NATIVE_INT)) < 0) return ret_value;
+ } /*end if */
+ else if (sizeof(int_16_f) == sizeof(long long)) {
+ if ((types[17] = (hid_t_f)H5Tcopy(H5T_NATIVE_LLONG)) < 0) return ret_value;
+ } /*end else */
+ else {
+ if ((types[17] = H5Tcopy (H5T_NATIVE_INT)) < 0) return ret_value;
+ if ( H5Tset_precision (types[17], 128) < 0) return ret_value;
+ } /*end else */
+#else
+ if ((types[17] = H5Tcopy (H5T_NATIVE_INT)) < 0) return ret_value;
+ if ( H5Tset_precision (types[17], 128) < 0) return ret_value;
+#endif
+
+ /*
+ * FIND H5T_NATIVE_FLOAT_128
+ */
+ if ((types[18] = H5Tcopy (H5T_NATIVE_FLOAT)) < 0) return ret_value;
+ if ( H5Tset_precision (types[18], 128) < 0) return ret_value;
if ((floatingtypes[0] = (hid_t_f)H5Tcopy(H5T_IEEE_F32BE)) < 0) return ret_value;
if ((floatingtypes[1] = (hid_t_f)H5Tcopy(H5T_IEEE_F32LE)) < 0) return ret_value;
@@ -272,35 +339,35 @@ nh5init_types_c( hid_t_f * types, hid_t_f * floatingtypes, hid_t_f * integertype
* Closes predefined datatype in Fortran
* INPUTS
* types - array with the predefined Native Fortran
- * type, its element and length must be the
- * same as the types array defined in the
- * H5f90global.f90
+ * type, its element and length must be the
+ * same as the types array defined in the
+ * H5f90global.F90
* lentypes - length of the types array, which must be the
- * same as the length of types array defined
- * in the H5f90global.f90
+ * same as the length of types array defined
+ * in the H5f90global.F90
* floatingtypes - array with the predefined Floating Fortran
- * type, its element and length must be the
- * same as the floatingtypes array defined in the
- * H5f90global.f90
+ * type, its element and length must be the
+ * same as the floatingtypes array defined in the
+ * H5f90global.F90
* floatinglen - length of the floatingtypes array, which must be the
- * same as the length of floatingtypes array defined
- * in the H5f90global.f90
+ * same as the length of floatingtypes array defined
+ * in the H5f90global.F90
* integertypes - array with the predefined Integer Fortran
- * type, its element and length must be the
- * same as the integertypes array defined in the
- * H5f90global.f90
+ * type, its element and length must be the
+ * same as the integertypes array defined in the
+ * H5f90global.F90
* integerlen - length of the floatingtypes array, which must be the
- * same as the length of floatingtypes array defined
- * in the H5f90global.f90
+ * same as the length of floatingtypes array defined
+ * in the H5f90global.F90
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
- * Elena Pourmal
- * Tuesday, August 3, 1999
+ * Elena Pourmal
+ * Tuesday, August 3, 1999
* SOURCE
*/
int_f
-nh5close_types_c( hid_t_f * types, int_f *lentypes,
+h5close_types_c( hid_t_f * types, int_f *lentypes,
hid_t_f * floatingtypes, int_f* floatinglen,
hid_t_f * integertypes, int_f * integerlen )
/******/
@@ -310,16 +377,16 @@ nh5close_types_c( hid_t_f * types, int_f *lentypes,
int i;
for (i = 0; i < *lentypes; i++) {
- c_type_id = types[i];
- if ( H5Tclose(c_type_id) < 0) return ret_value;
+ c_type_id = types[i];
+ if ( H5Tclose(c_type_id) < 0) return ret_value;
}
for (i = 0; i < *floatinglen; i++) {
- c_type_id = floatingtypes[i];
- if ( H5Tclose(c_type_id) < 0) return ret_value;
+ c_type_id = floatingtypes[i];
+ if ( H5Tclose(c_type_id) < 0) return ret_value;
}
for (i = 0; i < *integerlen; i++) {
- c_type_id = integertypes[i];
- if ( H5Tclose(c_type_id) < 0) return ret_value;
+ c_type_id = integertypes[i];
+ if ( H5Tclose(c_type_id) < 0) return ret_value;
}
ret_value = 0;
return ret_value;
@@ -368,12 +435,13 @@ nh5close_types_c( hid_t_f * types, int_f *lentypes,
* SOURCE
*/
int_f
-nh5init_flags_c( int_f *h5d_flags, size_t_f *h5d_size_flags,
- int_f *h5e_flags, hid_t_f *h5e_hid_flags, int_f *h5f_flags,
- int_f *h5fd_flags, hid_t_f *h5fd_hid_flags,
- int_f *h5g_flags, int_f *h5i_flags, int_f *h5l_flags, int_f *h5o_flags,
- hid_t_f *h5p_flags, int_f *h5p_flags_int, int_f *h5r_flags, int_f *h5s_flags,
- hsize_t_f *h5s_hsize_flags, int_f *h5t_flags, int_f *h5z_flags, int_f *h5_generic_flags)
+h5init_flags_c( int_f *h5d_flags, size_t_f *h5d_size_flags,
+ int_f *h5e_flags, hid_t_f *h5e_hid_flags, int_f *h5f_flags,
+ int_f *h5fd_flags, hid_t_f *h5fd_hid_flags,
+ int_f *h5g_flags, int_f *h5i_flags, int_f *h5l_flags, int_f *h5o_flags,
+ hid_t_f *h5p_flags, int_f *h5p_flags_int, int_f *h5r_flags, int_f *h5s_flags,
+ hsize_t_f *h5s_hsize_flags, int_f *h5t_flags, int_f *h5z_flags, int_f *h5_generic_flags,
+ haddr_t_f *h5_haddr_generic_flags)
/******/
{
int ret_value = -1;
@@ -524,11 +592,11 @@ nh5init_flags_c( int_f *h5d_flags, size_t_f *h5d_size_flags,
h5o_flags[6] = (int_f)H5O_COPY_ALL; /* All object copying flags (for internal checking) */
/* Flags for shared message indexes.
- * Pass these flags in using the mesg_type_flags parameter in
+ * Pass these flags in using the mesg_type_flags parameter in
* H5P_set_shared_mesg_index.
* (Developers: These flags correspond to object header message type IDs,
- * but we need to assign each kind of message to a different bit so that
- * one index can hold multiple types.)
+ * but we need to assign each kind of message to a different bit so that
+ * one index can hold multiple types.)
*/
h5o_flags[7] = (int_f)H5O_SHMESG_NONE_FLAG; /* No shared messages */
h5o_flags[8] = (int_f)H5O_SHMESG_SDSPACE_FLAG; /* Simple Dataspace Message. */
@@ -547,7 +615,7 @@ nh5init_flags_c( int_f *h5d_flags, size_t_f *h5d_size_flags,
h5o_flags[19] = (int_f)H5O_HDR_ALL_FLAGS;
/* Maximum shared message values. Number of indexes is 8 to allow room to add
- * new types of messages.
+ * new types of messages.
*/
h5o_flags[20] = (int_f)H5O_SHMESG_MAX_NINDEXES;
h5o_flags[21] = (int_f)H5O_SHMESG_MAX_LIST_SIZE;
@@ -689,7 +757,7 @@ nh5init_flags_c( int_f *h5d_flags, size_t_f *h5d_size_flags,
/*
- * H5 Generic flags introduced in version 1.8 -MSB-
+ * H5 Generic flags introduced in version 1.8
*/
/* H5_index_t enum struct */
@@ -706,14 +774,16 @@ nh5init_flags_c( int_f *h5d_flags, size_t_f *h5d_size_flags,
h5_generic_flags[5] = (int_f)H5_ITER_INC; /* Increasing order */
h5_generic_flags[6] = (int_f)H5_ITER_DEC; /* Decreasing order */
h5_generic_flags[7] = (int_f)H5_ITER_NATIVE; /* No particular order, whatever is fastest */
- h5_generic_flags[8] = (int_f)H5_ITER_N; /* Number of iteration orders */
+ h5_generic_flags[8] = (int_f)H5_ITER_N; /* Number of iteration orders */
+
+ h5_haddr_generic_flags[0] = (haddr_t_f)HADDR_UNDEF; /* undefined address */
ret_value = 0;
return ret_value;
}
int_f
-nh5init1_flags_c(int_f *h5lib_flags)
+h5init1_flags_c(int_f *h5lib_flags)
/******/
{
int ret_value = -1;
@@ -727,19 +797,19 @@ nh5init1_flags_c(int_f *h5lib_flags)
/****if* H5_f/h5open_c
* NAME
- * h5open_c
+ * h5open_c
* PURPOSE
- * Calls H5open call to initialize C HDF5 library
+ * Calls H5open call to initialize C HDF5 library
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
- * Elena Pourmal
- * Friday, November 17, 2000
+ * Elena Pourmal
+ * Friday, November 17, 2000
*
* SOURCE
*/
int_f
-nh5open_c(void)
+h5open_c(void)
/******/
{
int ret_value = -1;
@@ -750,17 +820,17 @@ nh5open_c(void)
}
/****if* H5_f/h5close_c
* NAME
- * h5close_c
+ * h5close_c
* PURPOSE
- * Calls H5close call to close C HDF5 library
+ * Calls H5close call to close C HDF5 library
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
- * Elena Pourmal
+ * Elena Pourmal
* SOURCE
*/
int_f
-nh5close_c(void)
+h5close_c(void)
/******/
{
int ret_value = -1;
@@ -772,28 +842,28 @@ nh5close_c(void)
/****if* H5_f/h5get_libversion_c
* NAME
- * h5get_libversion_c
+ * h5get_libversion_c
* PURPOSE
- * Calls H5get_libversion function
+ * Calls H5get_libversion function
* to retrieve library version info.
* INPUTS
*
- * None
+ * None
* OUTPUTS
*
- * majnum - the major version of the library
- * minnum - the minor version of the library
- * relnum - the release version of the library
+ * majnum - the major version of the library
+ * minnum - the minor version of the library
+ * relnum - the release version of the library
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
- * Elena Pourmal
- * Tuesday, September 24, 2002
+ * Elena Pourmal
+ * Tuesday, September 24, 2002
* SOURCE
*
*/
int_f
-nh5get_libversion_c(int_f *majnum, int_f *minnum, int_f *relnum)
+h5get_libversion_c(int_f *majnum, int_f *minnum, int_f *relnum)
/******/
{
@@ -811,27 +881,27 @@ nh5get_libversion_c(int_f *majnum, int_f *minnum, int_f *relnum)
/****if* H5_f/h5check_version_c
* NAME
- * h5check_version_c
+ * h5check_version_c
* PURPOSE
- * Calls H5check_version function
+ * Calls H5check_version function
* to verify library version info.
* INPUTS
*
- * majnum - the major version of the library
- * minnum - the minor version of the library
- * relnum - the release version of the library
+ * majnum - the major version of the library
+ * minnum - the minor version of the library
+ * relnum - the release version of the library
* OUTPUTS
*
- * None
+ * None
* RETURNS
- * 0 on success, aborts on failure
+ * 0 on success, aborts on failure
* AUTHOR
- * Elena Pourmal
- * Tuesday, September 24, 2002
+ * Elena Pourmal
+ * Tuesday, September 24, 2002
* SOURCE
*/
int_f
-nh5check_version_c(int_f *majnum, int_f *minnum, int_f *relnum)
+h5check_version_c(int_f *majnum, int_f *minnum, int_f *relnum)
/******/
{
int ret_value = -1;
@@ -849,18 +919,18 @@ nh5check_version_c(int_f *majnum, int_f *minnum, int_f *relnum)
/****if* H5_f/h5garbage_collect_c
* NAME
- * h5garbage_collect_c
+ * h5garbage_collect_c
* PURPOSE
- * Calls H5garbage_collect to collect on all free-lists of all types
+ * Calls H5garbage_collect to collect on all free-lists of all types
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
- * Elena Pourmal
- * Tuesday, September 24, 2002
+ * Elena Pourmal
+ * Tuesday, September 24, 2002
* SOURCE
*/
int_f
-nh5garbage_collect_c(void)
+h5garbage_collect_c(void)
/******/
{
int ret_value = -1;
@@ -872,18 +942,18 @@ nh5garbage_collect_c(void)
/****if* H5_f/h5dont_atexit_c
* NAME
- * h5dont_atexit_c
+ * h5dont_atexit_c
* PURPOSE
- * Calls H5dont_atexit not to install atexit cleanup routine
+ * Calls H5dont_atexit not to install atexit cleanup routine
* RETURNS
- * 0 on success, -1 on failure
+ * 0 on success, -1 on failure
* AUTHOR
- * Elena Pourmal
- * Tuesday, September 24, 2002
+ * Elena Pourmal
+ * Tuesday, September 24, 2002
* SOURCE
*/
int_f
-nh5dont_atexit_c(void)
+h5dont_atexit_c(void)
/******/
{
int ret_value = -1;
diff --git a/fortran/src/H5_ff.f90 b/fortran/src/H5_ff.F90
index 49e64a3..169864f 100644
--- a/fortran/src/H5_ff.f90
+++ b/fortran/src/H5_ff.F90
@@ -6,11 +6,6 @@
! PURPOSE
! This module provides fortran specific helper functions for the HDF library
!
-! USES
-! H5LIB_PROVISIONAL - This module provides helper functions for Fortran 2003
-! only features. If Fortran 2003 functions are enabled then
-! H5_ff_F03.f90 is compiled, else H5_ff_F90.f90,
-! which is just a place holder blank module, is compiled.
! COPYRIGHT
! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
! Copyright by The HDF Group. *
@@ -28,19 +23,26 @@
! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
!
! NOTES
-! *** IMPORTANT ***
+! _____ __ __ _____ ____ _____ _______ _ _ _______
+! |_ _| \/ | __ \ / __ \| __ \__ __|/\ | \ | |__ __|
+! **** | | | \ / | |__) | | | | |__) | | | / \ | \| | | | ****
+! **** | | | |\/| | ___/| | | | _ / | | / /\ \ | . ` | | | ****
+! **** _| |_| | | | | | |__| | | \ \ | |/ ____ \| |\ | | | ****
+! |_____|_| |_|_| \____/|_| \_\ |_/_/ \_\_| \_| |_|
+!
! If you add a new function you must add the function name to the
! Windows dll file 'hdf5_fortrandll.def.in' in the fortran/src directory.
! This is needed for Windows based operating systems.
!
!*****
+#include <H5config_f.inc>
+
MODULE H5LIB
- USE H5LIB_PROVISIONAL ! helper functions for Fortran 2003 features:
- ! pre-Fortran 2003 - empty module
- ! Forttran 2003 - contains functions
+ USE, INTRINSIC :: ISO_C_BINDING, ONLY : c_ptr, C_INTPTR_T
USE H5GLOBAL
+ IMPLICIT NONE
CONTAINS
!****s* H5LIB/h5open_f
@@ -68,21 +70,20 @@ CONTAINS
! October 13, 2011
! Fortran90 Interface:
SUBROUTINE h5open_f(error)
- USE H5GLOBAL
IMPLICIT NONE
INTEGER, INTENT(OUT) :: error
!*****
INTEGER :: error_1, error_2, error_3
INTERFACE
- INTEGER FUNCTION h5init_types_c(p_types, f_types, i_types)
- USE H5GLOBAL
+ INTEGER FUNCTION h5init_types_c(p_types, f_types, i_types) &
+ BIND(C,NAME='h5init_types_c')
+ IMPORT :: HID_T
+ IMPORT :: PREDEF_TYPES_LEN, FLOATING_TYPES_LEN, INTEGER_TYPES_LEN
+ IMPLICIT NONE
INTEGER(HID_T), DIMENSION(PREDEF_TYPES_LEN) :: p_types
INTEGER(HID_T), DIMENSION(FLOATING_TYPES_LEN) :: f_types
INTEGER(HID_T), DIMENSION(INTEGER_TYPES_LEN) :: i_types
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5INIT_TYPES_C'::h5init_types_c
- !DEC$ENDIF
END FUNCTION h5init_types_c
END INTERFACE
INTERFACE
@@ -104,8 +105,18 @@ CONTAINS
i_H5S_hsize_flags, &
i_H5T_flags, &
i_H5Z_flags, &
- i_H5generic_flags)
- USE H5GLOBAL
+ i_H5generic_flags, &
+ i_H5generic_haddr_flags) &
+ BIND(C,NAME='h5init_flags_c')
+ IMPORT :: HID_T, SIZE_T, HSIZE_T, HADDR_T
+ IMPORT :: H5D_FLAGS_LEN, H5D_SIZE_FLAGS_LEN, &
+ H5E_FLAGS_LEN, H5E_HID_FLAGS_LEN, &
+ H5F_FLAGS_LEN, H5G_FLAGS_LEN, H5FD_FLAGS_LEN, &
+ H5FD_HID_FLAGS_LEN, H5I_FLAGS_LEN, H5L_FLAGS_LEN, &
+ H5O_FLAGS_LEN, H5P_FLAGS_LEN, H5P_FLAGS_INT_LEN, &
+ H5R_FLAGS_LEN, H5S_FLAGS_LEN, H5S_HSIZE_FLAGS_LEN, &
+ H5T_FLAGS_LEN, H5Z_FLAGS_LEN, H5generic_FLAGS_LEN, H5generic_haddr_FLAGS_LEN
+ IMPLICIT NONE
INTEGER i_H5D_flags(H5D_FLAGS_LEN)
INTEGER(SIZE_T) i_H5D_size_flags(H5D_SIZE_FLAGS_LEN)
INTEGER i_H5E_flags(H5E_FLAGS_LEN)
@@ -125,18 +136,15 @@ CONTAINS
INTEGER i_H5T_flags(H5T_FLAGS_LEN)
INTEGER i_H5Z_flags(H5Z_FLAGS_LEN)
INTEGER i_H5generic_flags(H5generic_FLAGS_LEN)
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5INIT_FLAGS_C'::h5init_flags_c
- !DEC$ENDIF
+ INTEGER(HADDR_T) i_H5generic_haddr_flags(H5generic_haddr_FLAGS_LEN)
END FUNCTION h5init_flags_c
END INTERFACE
INTERFACE
- INTEGER FUNCTION h5init1_flags_c( i_H5LIB_flags )
- USE H5GLOBAL
+ INTEGER FUNCTION h5init1_flags_c( i_H5LIB_flags ) &
+ BIND(C,NAME='h5init1_flags_c')
+ IMPORT :: H5LIB_FLAGS_LEN
+ IMPLICIT NONE
INTEGER i_H5LIB_flags(H5LIB_FLAGS_LEN)
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5INIT1_FLAGS_C'::h5init1_flags_c
- !DEC$ENDIF
END FUNCTION h5init1_flags_c
END INTERFACE
error_1 = h5init_types_c(predef_types, floating_types, integer_types)
@@ -158,7 +166,8 @@ CONTAINS
H5S_hsize_flags, &
H5T_flags, &
H5Z_flags, &
- H5generic_flags)
+ H5generic_flags,&
+ H5generic_haddr_flags)
error_3 = h5init1_flags_c(H5LIB_flags )
error = error_1 + error_2 + error_3
END SUBROUTINE h5open_f
@@ -188,7 +197,6 @@ CONTAINS
! October 13, 2011
! Fortran90 Interface:
SUBROUTINE h5close_f(error)
- USE H5GLOBAL
IMPLICIT NONE
INTEGER, INTENT(OUT) :: error
!*****
@@ -196,17 +204,15 @@ CONTAINS
INTERFACE
INTEGER FUNCTION h5close_types_c(p_types, P_TYPES_LEN, &
f_types, F_TYPES_LEN, &
- i_types, I_TYPES_LEN )
- USE H5GLOBAL
+ i_types, I_TYPES_LEN ) &
+ BIND(C,NAME='h5close_types_c')
+ IMPORT :: HID_T
INTEGER P_TYPES_LEN
INTEGER F_TYPES_LEN
INTEGER I_TYPES_LEN
INTEGER(HID_T), DIMENSION(P_TYPES_LEN) :: p_types
INTEGER(HID_T), DIMENSION(F_TYPES_LEN) :: f_types
INTEGER(HID_T), DIMENSION(I_TYPES_LEN) :: i_types
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5CLOSE_TYPES_C'::h5close_types_c
- !DEC$ENDIF
END FUNCTION h5close_types_c
END INTERFACE
error_1 = h5close_types_c(predef_types, PREDEF_TYPES_LEN, &
@@ -236,15 +242,13 @@ CONTAINS
!
! Fortran90 Interface:
SUBROUTINE h5get_libversion_f(majnum, minnum, relnum, error)
- USE H5GLOBAL
IMPLICIT NONE
INTEGER, INTENT(OUT) :: majnum, minnum, relnum, error
!*****
INTERFACE
- INTEGER FUNCTION h5get_libversion_c(majnum, minnum, relnum)
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5GET_LIBVERSION_C'::h5get_libversion_c
- !DEC$ENDIF
+ INTEGER FUNCTION h5get_libversion_c(majnum, minnum, relnum) &
+ BIND(C,NAME='h5get_libversion_c')
+ IMPLICIT NONE
INTEGER, INTENT(OUT) :: majnum, minnum, relnum
END FUNCTION h5get_libversion_c
END INTERFACE
@@ -275,16 +279,14 @@ CONTAINS
!
! Fortran90 Interface:
SUBROUTINE h5check_version_f(majnum, minnum, relnum, error)
- USE H5GLOBAL
IMPLICIT NONE
INTEGER, INTENT(IN) :: majnum, minnum, relnum
INTEGER, INTENT(OUT) :: error
!*****
INTERFACE
- INTEGER FUNCTION h5check_version_c(majnum, minnum, relnum)
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5CHECK_VERSION_C'::h5check_version_c
- !DEC$ENDIF
+ INTEGER FUNCTION h5check_version_c(majnum, minnum, relnum) &
+ BIND(C,NAME='h5check_version_c')
+ IMPLICIT NONE
INTEGER, INTENT(IN) :: majnum, minnum, relnum
END FUNCTION h5check_version_c
END INTERFACE
@@ -309,15 +311,12 @@ CONTAINS
!
! Fortran90 Interface:
SUBROUTINE h5garbage_collect_f(error)
- USE H5GLOBAL
IMPLICIT NONE
INTEGER, INTENT(OUT) :: error
!*****
INTERFACE
- INTEGER FUNCTION h5garbage_collect_c()
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5GARBAGE_COLLECT_C'::h5garbage_collect_c
- !DEC$ENDIF
+ INTEGER FUNCTION h5garbage_collect_c() &
+ BIND(C,NAME='h5garbage_collect_c')
END FUNCTION h5garbage_collect_c
END INTERFACE
@@ -341,15 +340,12 @@ CONTAINS
!
! Fortran90 Interface:
SUBROUTINE h5dont_atexit_f(error)
- USE H5GLOBAL
IMPLICIT NONE
INTEGER, INTENT(OUT) :: error
!*****
INTERFACE
- INTEGER FUNCTION h5dont_atexit_c()
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5DONT_ATEXIT_C'::h5dont_atexit_c
- !DEC$ENDIF
+ INTEGER FUNCTION h5dont_atexit_c() &
+ BIND(C,NAME='h5dont_atexit_c')
END FUNCTION h5dont_atexit_c
END INTERFACE
@@ -378,32 +374,89 @@ CONTAINS
! August 25, 2008
!
! Fortran90 Interface:
- INTEGER(HID_T) FUNCTION h5kind_to_type(kind, flag) RESULT(h5_type)
- USE H5GLOBAL
+ INTEGER(HID_T) FUNCTION h5kind_to_type(ikind, flag) RESULT(h5_type)
+ USE ISO_C_BINDING
IMPLICIT NONE
- INTEGER, INTENT(IN) :: kind
+ INTEGER, INTENT(IN) :: ikind
INTEGER, INTENT(IN) :: flag
+#if H5_HAVE_Fortran_INTEGER_SIZEOF_16!=0
+ INTEGER :: Fortran_INTEGER_16
+ Fortran_INTEGER_16=SELECTED_INT_KIND(36) !should map to INTEGER*16 on most modern processors
+#endif
+
+
!*****
IF(flag.EQ.H5_INTEGER_KIND)THEN
- IF(kind.EQ.Fortran_INTEGER_1)THEN
+ IF(ikind.EQ.Fortran_INTEGER_1)THEN
h5_type = H5T_NATIVE_INTEGER_1
- ELSE IF(kind.EQ.Fortran_INTEGER_2)THEN
+ ELSE IF(ikind.EQ.Fortran_INTEGER_2)THEN
h5_type = H5T_NATIVE_INTEGER_2
- ELSE IF(kind.EQ.Fortran_INTEGER_4)THEN
+ ELSE IF(ikind.EQ.Fortran_INTEGER_4)THEN
h5_type = H5T_NATIVE_INTEGER_4
- ELSE IF(kind.EQ.Fortran_INTEGER_8)THEN
+ ELSE IF(ikind.EQ.Fortran_INTEGER_8)THEN
h5_type = H5T_NATIVE_INTEGER_8
+#if H5_HAVE_Fortran_INTEGER_SIZEOF_16!=0
+ ELSE IF(ikind.EQ.Fortran_INTEGER_16)THEN
+ h5_type = H5T_NATIVE_INTEGER_16
+#endif
ENDIF
ELSE IF(flag.EQ.H5_REAL_KIND)THEN
- IF(kind.EQ.Fortran_REAL_4)THEN
- h5_type = H5T_NATIVE_REAL_4
- ELSE IF(kind.EQ.Fortran_REAL_8)THEN
- h5_type = H5T_NATIVE_REAL_8
- ELSE IF(kind.EQ.Fortran_REAL_16)THEN
- h5_type = H5T_NATIVE_REAL_16
+ IF(ikind.EQ.KIND(1.0_C_FLOAT))THEN
+ h5_type = H5T_NATIVE_REAL_C_FLOAT
+ ELSE IF(ikind.EQ.KIND(1.0_C_DOUBLE))THEN
+ h5_type = H5T_NATIVE_REAL_C_DOUBLE
+#if H5_FORTRAN_C_LONG_DOUBLE_IS_UNIQUE!=0
+ ELSE IF(ikind.EQ.KIND(1.0_C_LONG_DOUBLE))THEN
+ h5_type = H5T_NATIVE_REAL_C_LONG_DOUBLE
+#endif
+#if H5_PAC_FC_MAX_REAL_PRECISION > 28
+#if H5_HAVE_FLOAT128 == 1
+ ELSE
+ h5_type = H5T_NATIVE_FLOAT_128
+#endif
+#else
+ ELSE
+ h5_type = -1
+#endif
ENDIF
ENDIF
END FUNCTION h5kind_to_type
+!****f* H5LIB_PROVISIONAL/h5offsetof
+!
+! NAME
+! h5offsetof
+!
+! PURPOSE
+! Computes the offset in memory
+!
+! Inputs:
+! start - starting pointer address
+! end - ending pointer address
+!
+! Outputs:
+! offset - offset of a member within the derived type
+!
+! AUTHOR
+! M. Scot Breitenfeld
+! Augest 25, 2008
+!
+! ACKNOWLEDGEMENTS
+! Joe Krahn
+!
+! Fortran2003 Interface:
+ FUNCTION h5offsetof(start,end) RESULT(offset)
+ IMPLICIT NONE
+ INTEGER(SIZE_T) :: offset
+ TYPE(C_PTR), VALUE, INTENT(IN) :: start, end
+!*****
+ INTEGER(C_INTPTR_T) :: int_address_start, int_address_end
+ int_address_start = TRANSFER(start, int_address_start)
+ int_address_end = TRANSFER(end , int_address_end )
+
+ offset = int_address_end - int_address_start
+
+ END FUNCTION h5offsetof
+
END MODULE H5LIB
diff --git a/fortran/src/H5_ff_F03.f90 b/fortran/src/H5_ff_F03.f90
deleted file mode 100644
index d418ed5..0000000
--- a/fortran/src/H5_ff_F03.f90
+++ /dev/null
@@ -1,75 +0,0 @@
-!****h* ROBODoc/H5LIB_PROVISIONAL
-!
-! NAME
-! MODULE H5LIB_PROVISIONAL
-!
-! PURPOSE
-! This file contains helper functions for Fortran 2003 features and is
-! only compiled when Fortran 2003 features are enabled, otherwise
-! the file H5_ff_F90.f90 is compiled.
-!
-! COPYRIGHT
-! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
-! Copyright by The HDF Group. *
-! Copyright by the Board of Trustees of the University of Illinois. *
-! All rights reserved. *
-! *
-! This file is part of HDF5. The full HDF5 copyright notice, including *
-! terms governing use, modification, and redistribution, is contained in *
-! the files COPYING and Copyright.html. COPYING can be found at the root *
-! of the source code distribution tree; Copyright.html can be found at the *
-! root level of an installed copy of the electronic HDF5 document set and *
-! is linked from the top-level documents page. It can also be found at *
-! http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have *
-! access to either file, you may request a copy from help@hdfgroup.org. *
-! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
-!
-! NOTES
-! *** IMPORTANT ***
-! If you add a new function you must add the function name to the
-! Windows dll file 'hdf5_fortrandll.def.in' in the fortran/src directory.
-! This is needed for Windows based operating systems.
-!*****
-
-MODULE H5LIB_PROVISIONAL
-
-CONTAINS
-!****f* H5LIB_PROVISIONAL/h5offsetof
-!
-! NAME
-! h5offsetof
-!
-! PURPOSE
-! Computes the offset in memory
-!
-! Inputs:
-! start - starting pointer address
-! end - ending pointer address
-!
-! Outputs:
-! offset - offset of a member within the derived type
-!
-! AUTHOR
-! M. Scot Breitenfeld
-! Augest 25, 2008
-!
-! ACKNOWLEDGEMENTS
-! Joe Krahn
-!
-! Fortran2003 Interface:
- FUNCTION h5offsetof(start,end) RESULT(offset)
- USE, INTRINSIC :: ISO_C_BINDING
- USE H5GLOBAL
- IMPLICIT NONE
- INTEGER(SIZE_T) :: offset
- TYPE(C_PTR), VALUE, INTENT(IN) :: start, end
-!*****
- INTEGER(C_INTPTR_T) :: int_address_start, int_address_end
- int_address_start = TRANSFER(start, int_address_start)
- int_address_end = TRANSFER(end , int_address_end )
-
- offset = int_address_end - int_address_start
-
- END FUNCTION h5offsetof
-
-END MODULE H5LIB_PROVISIONAL
diff --git a/fortran/src/H5_ff_F90.f90 b/fortran/src/H5_ff_F90.f90
deleted file mode 100644
index a5d303a..0000000
--- a/fortran/src/H5_ff_F90.f90
+++ /dev/null
@@ -1,34 +0,0 @@
-!****h* ROBODoc/H5LIB_PROVISIONAL (F90)
-!
-! NAME
-! MODULE H5LIB_PROVISIONAL
-!
-! FILE
-! fortran/src/H5_ff_F90.f90
-!
-! PURPOSE
-! This file is a dummy module for when Fortran 2003 features are not enabled.
-! It is compiled in place of H5_ff_F03.f90 and is empty.
-!
-! COPYRIGHT
-! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
-! Copyright by The HDF Group. *
-! Copyright by the Board of Trustees of the University of Illinois. *
-! All rights reserved. *
-! *
-! This file is part of HDF5. The full HDF5 copyright notice, including *
-! terms governing use, modification, and redistribution, is contained in *
-! the files COPYING and Copyright.html. COPYING can be found at the root *
-! of the source code distribution tree; Copyright.html can be found at the *
-! root level of an installed copy of the electronic HDF5 document set and *
-! is linked from the top-level documents page. It can also be found at *
-! http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have *
-! access to either file, you may request a copy from help@hdfgroup.org. *
-! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
-!
-!*****
-
-MODULE H5LIB_PROVISIONAL
-
-
-END MODULE H5LIB_PROVISIONAL
diff --git a/fortran/src/H5config_f.inc.cmake b/fortran/src/H5config_f.inc.cmake
new file mode 100644
index 0000000..cc36889
--- /dev/null
+++ b/fortran/src/H5config_f.inc.cmake
@@ -0,0 +1,84 @@
+! fortran/src/H5config_f.inc. Generated from fortran/src/H5config_f.inc.in by configure
+
+! Define if we have parallel support
+#define H5_HAVE_PARALLEL @CMAKE_H5_HAVE_PARALLEL@
+
+#if H5_HAVE_PARALLEL==0
+#undef H5_HAVE_PARALLEL
+#endif
+
+! Define if the intrinsic function STORAGE_SIZE exists
+#define H5_FORTRAN_HAVE_STORAGE_SIZE @FORTRAN_HAVE_STORAGE_SIZE@
+
+#if H5_FORTRAN_HAVE_STORAGE_SIZE==0
+#undef H5_FORTRAN_HAVE_STORAGE_SIZE
+#endif
+
+! Define if the intrinsic function SIZEOF exists
+#define H5_FORTRAN_HAVE_SIZEOF @FORTRAN_HAVE_SIZEOF@
+
+#if H5_FORTRAN_HAVE_SIZEOF==0
+#undef H5_FORTRAN_HAVE_SIZEOF
+#endif
+
+! Define if the intrinsic function C_SIZEOF exists
+#define H5_FORTRAN_HAVE_C_SIZEOF @FORTRAN_HAVE_C_SIZEOF@
+
+#if H5_FORTRAN_HAVE_C_SIZEOF==0
+#undef H5_FORTRAN_HAVE_C_SIZEOF
+#endif
+
+! Define if the intrinsic C_LONG_DOUBLE exists
+#define H5_FORTRAN_HAVE_C_LONG_DOUBLE @FORTRAN_HAVE_C_LONG_DOUBLE@
+
+#if H5_FORTRAN_HAVE_C_LONG_DOUBLE==0
+#undef H5_FORTRAN_HAVE_C_LONG_DOUBLE
+#endif
+
+! Define if Fortran C_LONG_DOUBLE is different from C_DOUBLE
+#define H5_FORTRAN_C_LONG_DOUBLE_IS_UNIQUE @FORTRAN_C_LONG_DOUBLE_IS_UNIQUE@
+
+! Define if the intrinsic module ISO_FORTRAN_ENV exists
+#define H5_HAVE_ISO_FORTRAN_ENV @HAVE_ISO_FORTRAN_ENV@
+
+
+! should this be ${HDF_PREFIX} instead of H5 MSB
+#define H5_SIZEOF_DOUBLE @H5_SIZEOF_DOUBLE@
+
+#if H5_SIZEOF_DOUBLE==0
+#undef H5_SIZEOF_DOUBLE
+#endif
+
+! should this be ${HDF_PREFIX} instead of H5 MSB
+#define H5_SIZEOF_LONG_DOUBLE @H5_SIZEOF_LONG_DOUBLE@
+
+#if H5_SIZEOF_LONG_DOUBLE==0
+#undef H5_SIZEOF_LONG_DOUBLE
+#endif
+
+! Define the maximum decimal precision for reals
+#define H5_PAC_FC_MAX_REAL_PRECISION @H5_PAC_FC_MAX_REAL_PRECISION@
+
+! If C has quad precision
+#define H5_HAVE_FLOAT128 @H5_HAVE_FLOAT128@
+
+! Define if INTEGER*16 is available
+#define H5_HAVE_Fortran_INTEGER_SIZEOF_16 @HAVE_Fortran_INTEGER_SIZEOF_16@
+
+! Maximum decimal precision for C
+#define H5_PAC_C_MAX_REAL_PRECISION @H5_PAC_C_MAX_REAL_PRECISION@
+
+! number of valid REAL KINDs
+#define H5_H5CONFIG_F_NUM_RKIND @H5CONFIG_F_NUM_RKIND@
+
+! valid REAL KINDs (need to have a matching C counter-part)
+#define H5_H5CONFIG_F_RKIND @H5CONFIG_F_RKIND@
+
+! valid REAL KINDs (need to have a matching C counter-part)
+#define H5_H5CONFIG_F_RKIND_SIZEOF @H5CONFIG_F_RKIND_SIZEOF@
+
+! number of valid INTEGER KINDs
+#define H5_H5CONFIG_F_NUM_IKIND @H5CONFIG_F_NUM_IKIND@
+
+! valid INTEGER KINDs (need to have a matching C counter-part)
+#define H5_H5CONFIG_F_IKIND @H5CONFIG_F_IKIND@
diff --git a/fortran/src/H5config_f.inc.in b/fortran/src/H5config_f.inc.in
new file mode 100644
index 0000000..64c3a0c
--- /dev/null
+++ b/fortran/src/H5config_f.inc.in
@@ -0,0 +1,59 @@
+! fortran/src/H5config_f.inc. Generated from fortran/src/H5config_f.inc.in by configure
+
+! The script to replace the defines in H5config_f.inc.in is
+! located in configure.ac in the Fortran section.
+
+! Define if we have parallel support
+#undef HAVE_PARALLEL
+
+! Define if the intrinsic function STORAGE_SIZE exists
+#undef FORTRAN_HAVE_STORAGE_SIZE
+
+! Define if the intrinsic function SIZEOF exists
+#undef FORTRAN_HAVE_SIZEOF
+
+! Define if the intrinsic function C_SIZEOF exists
+#undef FORTRAN_HAVE_C_SIZEOF
+
+! Define if the intrinsic function C_LONG_DOUBLE exists
+#undef FORTRAN_HAVE_C_LONG_DOUBLE
+
+! Define if Fortran C_LONG_DOUBLE is different from C_DOUBLE
+#undef FORTRAN_C_LONG_DOUBLE_IS_UNIQUE
+
+! Define if the intrinsic module ISO_FORTRAN_ENV exists
+#undef HAVE_ISO_FORTRAN_ENV
+
+! Define the size of C's long double
+#undef SIZEOF_DOUBLE
+
+! Define the size of C's long double
+#undef SIZEOF_LONG_DOUBLE
+
+! Define the maximum decimal precision for reals
+#undef PAC_FC_MAX_REAL_PRECISION
+
+! If C has quad precision
+#undef HAVE_FLOAT128
+
+! Define if INTEGER*16 is available
+#undef HAVE_Fortran_INTEGER_SIZEOF_16
+
+! Maximum decimal precision for C
+#undef PAC_C_MAX_REAL_PRECISION
+
+! number of valid REAL KINDs
+#undef H5CONFIG_F_NUM_RKIND
+
+! valid REAL KINDs (need to have a matching C counter-part)
+#undef H5CONFIG_F_RKIND
+
+! valid REAL KINDs (need to have a matching C counter-part)
+#undef H5CONFIG_F_RKIND_SIZEOF
+
+! number of valid INTEGER KINDs
+#undef H5CONFIG_F_NUM_IKIND
+
+! valid INTEGER KINDs (need to have a matching C counter-part)
+#undef H5CONFIG_F_IKIND
+
diff --git a/fortran/src/H5f90global.f90 b/fortran/src/H5f90global.F90
index 0e371f5..947eff4 100644
--- a/fortran/src/H5f90global.f90
+++ b/fortran/src/H5f90global.F90
@@ -66,7 +66,7 @@ MODULE H5GLOBAL
INTEGER, DIMENSION(1:REF_REG_BUF_LEN) :: ref
END TYPE hdset_reg_ref_t_f
- INTEGER, PARAMETER :: PREDEF_TYPES_LEN = 17 ! Do not forget to change this
+ INTEGER, PARAMETER :: PREDEF_TYPES_LEN = 19 ! Do not forget to change this
! value when new predefined
! datatypes are added
@@ -82,9 +82,9 @@ MODULE H5GLOBAL
H5T_NATIVE_INTEGER_2, &
H5T_NATIVE_INTEGER_4, &
H5T_NATIVE_INTEGER_8, &
- H5T_NATIVE_REAL_4, &
- H5T_NATIVE_REAL_8, &
- H5T_NATIVE_REAL_16, &
+ H5T_NATIVE_REAL_C_FLOAT, &
+ H5T_NATIVE_REAL_C_DOUBLE, &
+ H5T_NATIVE_REAL_C_LONG_DOUBLE, &
H5T_NATIVE_INTEGER, &
H5T_NATIVE_REAL, &
H5T_NATIVE_DOUBLE, &
@@ -108,6 +108,9 @@ MODULE H5GLOBAL
H5T_STD_U16BE, &
H5T_STD_U16LE, &
H5T_STD_U32BE
+
+ INTEGER(HID_T) :: H5T_NATIVE_INTEGER_16 ! NEED IFDEF -MSB-
+ INTEGER(HID_T) :: H5T_NATIVE_FLOAT_128 ! NEED IFDEF -MSB-
! NOTE: Splitting the line since the Fortran 95 standard limits the number of
! continuation lines to 39; the F03/F08 standard limits the number
@@ -144,13 +147,15 @@ MODULE H5GLOBAL
EQUIVALENCE (predef_types(8), H5T_NATIVE_INTEGER_2)
EQUIVALENCE (predef_types(9), H5T_NATIVE_INTEGER_4)
EQUIVALENCE (predef_types(10), H5T_NATIVE_INTEGER_8)
- EQUIVALENCE (predef_types(11), H5T_NATIVE_REAL_4)
- EQUIVALENCE (predef_types(12), H5T_NATIVE_REAL_8)
- EQUIVALENCE (predef_types(13), H5T_NATIVE_REAL_16)
+ EQUIVALENCE (predef_types(11), H5T_NATIVE_REAL_C_FLOAT)
+ EQUIVALENCE (predef_types(12), H5T_NATIVE_REAL_C_DOUBLE)
+ EQUIVALENCE (predef_types(13), H5T_NATIVE_REAL_C_LONG_DOUBLE)
EQUIVALENCE (predef_types(14), H5T_NATIVE_B8 )
EQUIVALENCE (predef_types(15), H5T_NATIVE_B16)
EQUIVALENCE (predef_types(16), H5T_NATIVE_B32)
EQUIVALENCE (predef_types(17), H5T_NATIVE_B64)
+ EQUIVALENCE (predef_types(18), H5T_NATIVE_INTEGER_16) ! ADDED NEW TYPE -MSB-
+ EQUIVALENCE (predef_types(19), H5T_NATIVE_FLOAT_128) ! ADDED NEW TYPE -MSB-
INTEGER(HID_T), DIMENSION(FLOATING_TYPES_LEN) :: floating_types
EQUIVALENCE (floating_types(1), H5T_IEEE_F32BE )
@@ -234,9 +239,6 @@ MODULE H5GLOBAL
!
! H5F flags (DO NOT FORGET TO UPDATE WHEN NEW FLAGS ARE ADDED !)
!
- ! NOTE: H5F_ACC_DEBUG is deprecated (nonfunctional) but retained for
- ! backward compatibility since it's in the public API.
- !
! H5F flags declaration
!
INTEGER, PARAMETER :: H5F_FLAGS_LEN = 19
@@ -314,6 +316,18 @@ MODULE H5GLOBAL
EQUIVALENCE(H5generic_flags(7), H5_ITER_DEC_F)
EQUIVALENCE(H5generic_flags(8), H5_ITER_NATIVE_F)
EQUIVALENCE(H5generic_flags(9), H5_ITER_N_F)
+
+ INTEGER, PARAMETER :: H5generic_haddr_FLAGS_LEN = 1
+ INTEGER(HADDR_T) :: H5generic_haddr_flags(H5generic_haddr_FLAGS_LEN)
+ !DEC$if defined(BUILD_HDF5_DLL)
+ !DEC$ATTRIBUTES DLLEXPORT :: /H5generic_haddr_FLAGS/
+ !DEC$endif
+ COMMON /H5generic_haddr_FLAGS/ H5generic_haddr_flags
+
+ INTEGER(HADDR_T) :: HADDR_UNDEF_F
+
+ EQUIVALENCE(H5generic_haddr_flags(1), HADDR_UNDEF_F)
+
!
! H5G flags declaration
!
@@ -943,5 +957,96 @@ MODULE H5GLOBAL
!!$ EQUIVALENCE(H5F_flags(1), H5F_SCOPE_GLOBAL_F)
!!$ EQUIVALENCE(H5F_flags(2), H5F_SCOPE_LOCAL_F)
+CONTAINS
+
+ ! Copy a c string to a Fortran string
+
+ SUBROUTINE H5_Fortran_string_c2f(c_string, f_string)
+
+ USE, INTRINSIC :: ISO_C_BINDING
+ IMPLICIT NONE
+ CHARACTER(KIND=C_CHAR, LEN=*), INTENT(IN) :: c_string
+ CHARACTER(LEN=*), INTENT(OUT) :: f_string
+ INTEGER(SIZE_T) :: c_len, f_len
+
+ ! Find the length of the C string by located the null terminator
+ c_len = MAX(INDEX(c_string,C_NULL_CHAR, KIND=SIZE_T)-1,1)
+ ! Find the length of the Fortran string
+ f_len = LEN(f_string)
+
+ ! CASE (1): C string is equal to or larger then Fortran character buffer,
+ ! so fill the entire Fortran buffer.
+ IF(c_len.GE.f_len)THEN !
+ f_string(1:f_len) = c_string(1:f_len)
+
+ ! CASE (2): C string is smaller then Fortran character buffer,
+ ! so copy C string and blank pad remaining characters.
+ ELSE
+ f_string(1:c_len) = c_string(1:c_len)
+ f_string(c_len+1:f_len) =' '
+ ENDIF
+ END SUBROUTINE H5_Fortran_string_c2f
+
+ SUBROUTINE H5_Fortran_string_f2c(f_string, c_string)
+
+ USE, INTRINSIC :: ISO_C_BINDING
+ IMPLICIT NONE
+ CHARACTER(LEN=*), INTENT(IN) :: f_string
+ CHARACTER(KIND=C_CHAR, LEN=*), INTENT(OUT) :: c_string
+ INTEGER(SIZE_T) :: c_len, f_len
+
+ c_string = TRIM(f_string)//C_NULL_CHAR
+
+ END SUBROUTINE H5_Fortran_string_f2c
+
+
+! Copy Fortran string to C charater array, assuming the C array is one-char
+! longer for the terminating null char.
+! fstring : the Fortran input string
+! cstring : the C output string (with memory already allocated)
+!!$subroutine MPIR_Fortran_string_f2c(fstring, cstring)
+!!$ implicit none
+!!$ character(len=*), intent(in) :: fstring
+!!$ character(kind=c_char), intent(out) :: cstring(:)
+!!$ integer :: i, j
+!!$ logical :: met_non_blank
+!!$
+!!$ ! Trim the leading and trailing blank characters
+!!$ j = 1
+!!$ met_non_blank = .false.
+!!$ do i = 1, len_trim(fstring)
+!!$ if (met_non_blank) then
+!!$ cstring(j) = fstring(i:i)
+!!$ j = j + 1
+!!$ else if (fstring(i:i) /= ' ') then
+!!$ met_non_blank = .true.
+!!$ cstring(j) = fstring(i:i)
+!!$ j = j + 1
+!!$ end if
+!!$ end do
+!!$
+!!$ cstring(j) = C_NULL_CHAR
+!!$end subroutine MPIR_Fortran_string_f2c
+!!$
+!!$! Copy C charater array to Fortran string
+!!$subroutine MPIR_Fortran_string_c2f(cstring, fstring)
+!!$ implicit none
+!!$ character(kind=c_char), intent(in) :: cstring(:)
+!!$ character(len=*), intent(out) :: fstring
+!!$ integer :: i, j, length
+!!$
+!!$ i = 1
+!!$ do while (cstring(i) /= C_NULL_CHAR)
+!!$ fstring(i:i) = cstring(i)
+!!$ i = i + 1
+!!$ end do
+!!$
+!!$ ! Zero out the trailing characters
+!!$ length = len(fstring)
+!!$ do j = i, length
+!!$ fstring(j:j) = ' '
+!!$ end do
+!!$end subroutine MPIR_Fortran_string_c2f
+
END MODULE H5GLOBAL
diff --git a/fortran/src/H5f90kit.c b/fortran/src/H5f90kit.c
index 0bc721f..c6c874f 100644
--- a/fortran/src/H5f90kit.c
+++ b/fortran/src/H5f90kit.c
@@ -1,6 +1,6 @@
/****h* H5f90kit/H5f90kit
* PURPOSE
- * Routines from HDF4 to deal with C-FORTRAN issues:
+ * Routines from HDF4 to deal with C-FORTRAN issues:
*
* HD5f2cstring -- convert a Fortran string to a C string
* HD5packFstring -- convert a C string into a Fortran string
@@ -31,16 +31,16 @@
/****if* H5f90kit/HDf2cstring
* NAME
* HD5f2cstring -- convert a Fortran string to a C string
- * char * HDf2cstring(fdesc, len)
+ * char * HDf2cstring(fdesc, len)
* INPUTS
* _fcd fdesc; IN: Fortran string descriptor
- * int len; IN: length of Fortran string
+ * int len; IN: length of Fortran string
* RETURNS
- * Pointer to the C string if success, else NULL
+ * Pointer to the C string if success, else NULL
* PURPOSE
- * Chop off trailing blanks off of a Fortran string and
- * move it into a newly allocated C string. It is up
- * to the user to free this string.
+ * Chop off trailing blanks off of a Fortran string and
+ * move it into a newly allocated C string. It is up
+ * to the user to free this string.
* SOURCE
*/
char *
@@ -72,21 +72,21 @@ HD5f2cstring(_fcd fdesc, size_t len)
/****if* H5f90kit/HD5packFstring
* NAME
* HD5packFstring -- convert a C string into a Fortran string
- * int HD5packFstring(src, dest, len)
+ * int HD5packFstring(src, dest, len)
* INPUTS
- * char * src; IN: source string
- * int len; IN: length of string
+ * char * src; IN: source string
+ * int len; IN: length of string
* OUTPUTS
- * char * dest; OUT: destination
+ * char * dest; OUT: destination
* RETURNS
* SUCCEED / FAIL
* PURPOSE
- * given a NULL terminated C string 'src' convert it to
- * a space padded Fortran string 'dest' of length 'len'
+ * given a NULL terminated C string 'src' convert it to
+ * a space padded Fortran string 'dest' of length 'len'
*
- * This is very similar to HDc2fstr except that function does
- * it in place and this one copies. We should probably only
- * support one of these.
+ * This is very similar to HDc2fstr except that function does
+ * it in place and this one copies. We should probably only
+ * support one of these.
* SOURCE
*/
void
diff --git a/fortran/src/H5f90proto.h b/fortran/src/H5f90proto.h
index 6bde877..1d08d7e 100644
--- a/fortran/src/H5f90proto.h
+++ b/fortran/src/H5f90proto.h
@@ -18,13 +18,11 @@
#define _H5f90proto_H
#include "H5public.h"
+#include "H5f90.h"
H5_FCDLL char * HD5f2cstring (_fcd fdesc, size_t len);
H5_FCDLL void HD5packFstring(char *src, char *dest, size_t len);
-#ifdef H5_VMS
-#define H5_FC_FUNC_(name, NAME) NAME
-#endif /*H5_VMS*/
/*
* Storage info struct used by H5O_info_t and H5F_info_t
@@ -80,1236 +78,506 @@ typedef struct H5O_info_t_f {
/*
* Functions from H5Ff.c
*/
-#define nh5fcreate_c H5_FC_FUNC_(h5fcreate_c, H5FCREATE_C)
-#define nh5fflush_c H5_FC_FUNC_(h5fflush_c, H5FFLUSH_C)
-#define nh5fclose_c H5_FC_FUNC_(h5fclose_c, H5FCLOSE_C)
-#define nh5fopen_c H5_FC_FUNC_(h5fopen_c, H5FOPEN_C)
-#define nh5fis_hdf5_c H5_FC_FUNC_(h5fis_hdf5_c, H5FIS_HDF5_C)
-#define nh5fmount_c H5_FC_FUNC_(h5fmount_c, H5FMOUNT_C)
-#define nh5funmount_c H5_FC_FUNC_(h5funmount_c, H5FUNMOUNT_C)
-#define nh5freopen_c H5_FC_FUNC_(h5freopen_c, H5FREOPEN_C)
-#define nh5fget_create_plist_c H5_FC_FUNC_(h5fget_create_plist_c, H5FGET_CREATE_PLIST_C)
-#define nh5fget_access_plist_c H5_FC_FUNC_(h5fget_access_plist_c, H5FGET_ACCESS_PLIST_C)
-#define nh5fget_obj_count_c H5_FC_FUNC_(h5fget_obj_count_c, H5FGET_OBJ_COUNT_C)
-#define nh5fget_obj_ids_c H5_FC_FUNC_(h5fget_obj_ids_c, H5FGET_OBJ_IDS_C)
-#define nh5fget_freespace_c H5_FC_FUNC_(h5fget_freespace_c, H5FGET_FREESPACE_C)
-#define nh5fget_name_c H5_FC_FUNC_(h5fget_name_c, H5FGET_NAME_C)
-#define nh5fget_filesize_c H5_FC_FUNC_(h5fget_filesize_c, H5FGET_FILESIZE_C)
-
-H5_FCDLL int_f nh5fcreate_c (_fcd name, int_f *namelen, int_f *access_flags, hid_t_f *crt_prp, hid_t_f *acc_prp, hid_t_f *file_id);
-H5_FCDLL int_f nh5fopen_c (_fcd name, int_f *namelen, int_f *access_flags, hid_t_f *acc_prp, hid_t_f *file_id);
-H5_FCDLL int_f nh5fis_hdf5_c (_fcd name, int_f *namelen, int_f *flag);
-H5_FCDLL int_f nh5fclose_c (hid_t_f *file_id);
-H5_FCDLL int_f nh5fmount_c (hid_t_f *loc_id, _fcd dsetname, int_f *namelen, hid_t_f *file_id, hid_t_f *acc_prp);
-H5_FCDLL int_f nh5funmount_c (hid_t_f *loc_id, _fcd dsetname, int_f *namelen);
-H5_FCDLL int_f nh5freopen_c (hid_t_f *file_id1, hid_t_f *file_id2);
-H5_FCDLL int_f nh5fget_create_plist_c (hid_t_f *file_id, hid_t_f *prop_id);
-H5_FCDLL int_f nh5fget_access_plist_c (hid_t_f *file_id, hid_t_f *access_id);
-H5_FCDLL int_f nh5fget_obj_count_c (hid_t_f *file_id, int_f *obj_type, size_t_f *obj_count);
-H5_FCDLL int_f nh5fget_obj_ids_c (hid_t_f *file_id, int_f *obj_type, size_t_f *max_objs, hid_t_f *obj_ids, size_t_f *num_objs);
-H5_FCDLL int_f nh5fget_freespace_c (hid_t_f *file_id, hssize_t_f *free_space);
+H5_FCDLL int_f h5fcreate_c(_fcd name, int_f *namelen, int_f *access_flags, hid_t_f *crt_prp, hid_t_f *acc_prp, hid_t_f *file_id);
+H5_FCDLL int_f h5fopen_c(_fcd name, int_f *namelen, int_f *access_flags, hid_t_f *acc_prp, hid_t_f *file_id);
+H5_FCDLL int_f h5fis_hdf5_c(_fcd name, int_f *namelen, int_f *flag);
+H5_FCDLL int_f h5fclose_c(hid_t_f *file_id);
+H5_FCDLL int_f h5fmount_c(hid_t_f *loc_id, _fcd dsetname, int_f *namelen, hid_t_f *file_id, hid_t_f *acc_prp);
+H5_FCDLL int_f h5funmount_c(hid_t_f *loc_id, _fcd dsetname, int_f *namelen);
+H5_FCDLL int_f h5freopen_c(hid_t_f *file_id1, hid_t_f *file_id2);
+H5_FCDLL int_f h5fget_create_plist_c(hid_t_f *file_id, hid_t_f *prop_id);
+H5_FCDLL int_f h5fget_access_plist_c(hid_t_f *file_id, hid_t_f *access_id);
+H5_FCDLL int_f h5fget_obj_count_c(hid_t_f *file_id, int_f *obj_type, size_t_f *obj_count);
+H5_FCDLL int_f h5fget_obj_ids_c(hid_t_f *file_id, int_f *obj_type, size_t_f *max_objs, hid_t_f *obj_ids, size_t_f *num_objs);
+H5_FCDLL int_f h5fget_freespace_c(hid_t_f *file_id, hssize_t_f *free_space);
H5_FCDLL int_f h5fget_file_image_c(hid_t_f *file_id, void *buf_ptr, size_t_f *buf_len, size_t_f *buf_req);
-H5_FCDLL int_f nh5fflush_c (hid_t_f *obj_id, int_f *scope);
-H5_FCDLL int_f nh5fget_name_c(hid_t_f *obj_id, size_t_f *size, _fcd buf, size_t_f *buflen);
-H5_FCDLL int_f nh5fget_filesize_c(hid_t_f *file_id, hsize_t_f *size);
+H5_FCDLL int_f h5fflush_c(hid_t_f *obj_id, int_f *scope);
+H5_FCDLL int_f h5fget_name_c(hid_t_f *obj_id, size_t_f *size, _fcd buf, size_t_f *buflen);
+H5_FCDLL int_f h5fget_filesize_c(hid_t_f *file_id, hsize_t_f *size);
/*
* Functions from H5Sf.c
*/
-#define nh5screate_simple_c H5_FC_FUNC_(h5screate_simple_c, H5SCREATE_SIMPLE_C)
-#define nh5sclose_c H5_FC_FUNC_(h5sclose_c, H5SCLOSE_C)
-#define nh5screate_c H5_FC_FUNC_(h5screate_c, H5SCREATE_C)
-#define nh5scopy_c H5_FC_FUNC_(h5scopy_c, H5SCOPY_C)
-#define nh5sget_select_hyper_nblocks_c H5_FC_FUNC_(h5sget_select_hyper_nblocks_c, H5SGET_SELECT_HYPER_NBLOCKS_C)
-#define nh5sget_select_hyper_blocklist_c H5_FC_FUNC_(h5sget_select_hyper_blocklist_c, H5SGET_SELECT_HYPER_BLOCKLIST_C)
-#define nh5sget_select_elem_npoints_c H5_FC_FUNC_(h5sget_select_elem_npoints_c, H5SGET_SELECT_ELEM_NPOINTS_C)
-#define nh5sget_select_elem_pointlist_c H5_FC_FUNC_(h5sget_select_elem_pointlist_c, H5SGET_SELECT_ELEM_POINTLIST_C)
-#define nh5sget_select_bounds_c H5_FC_FUNC_(h5sget_select_bounds_c, H5SGET_SELECT_BOUNDS_C)
-#define nh5sselect_all_c H5_FC_FUNC_(h5sselect_all_c, H5SSELECT_ALL_C)
-#define nh5sselect_none_c H5_FC_FUNC_(h5sselect_none_c, H5SSELECT_NONE_C)
-#define nh5sselect_valid_c H5_FC_FUNC_(h5sselect_valid_c, H5SSELECT_VALID_C)
-#define nh5sget_simple_extent_npoints_c H5_FC_FUNC_(h5sget_simple_extent_npoints_c, H5SGET_SIMPLE_EXTENT_NPOINTS_C)
-#define nh5sget_select_npoints_c H5_FC_FUNC_(h5sget_select_npoints_c, H5SGET_SELECT_NPOINTS_C)
-#define nh5sget_simple_extent_ndims_c H5_FC_FUNC_(h5sget_simple_extent_ndims_c, H5SGET_SIMPLE_EXTENT_NDIMS_C)
-#define nh5sget_simple_extent_type_c H5_FC_FUNC_(h5sget_simple_extent_type_c, H5SGET_SIMPLE_EXTENT_TYPE_C)
-#define nh5soffset_simple_c H5_FC_FUNC_(h5soffset_simple_c, H5SOFFSET_SIMPLE_C)
-#define nh5sset_extent_simple_c H5_FC_FUNC_(h5sset_extent_simple_c, H5SSET_EXTENT_SIMPLE_C)
-#define nh5sis_simple_c H5_FC_FUNC_(h5sis_simple_c, H5SIS_SIMPLE_C)
-#define nh5sextent_class_c H5_FC_FUNC_(h5sextent_class_c, H5SEXTENT_CLASS_C)
-#define nh5sget_simple_extent_dims_c H5_FC_FUNC_(h5sget_simple_extent_dims_c, H5SGET_SIMPLE_EXTENT_DIMS_C)
-#define nh5sextent_copy_c H5_FC_FUNC_(h5sextent_copy_c, H5SEXTENT_COPY_C)
-#define nh5sset_extent_none_c H5_FC_FUNC_(h5sset_extent_none_c, H5SSET_EXTENT_NONE_C)
-#define nh5sselect_hyperslab_c H5_FC_FUNC_(h5sselect_hyperslab_c, H5SSELECT_HYPERSLAB_C)
-#define nh5scombine_hyperslab_c H5_FC_FUNC_(h5scombine_hyperslab_c, H5SCOMBINE_HYPERSLAB_C)
-#define nh5scombine_select_c H5_FC_FUNC_(h5scombine_select_c, H5SCOMBINE_SELECT_C)
-#define nh5sselect_select_c H5_FC_FUNC_(h5sselect_select_c, H5SSELECT_SELECT_C)
-#define nh5sget_select_type_c H5_FC_FUNC_(h5sget_select_type_c, H5SGET_SELECT_TYPE_C)
-#define nh5sselect_elements_c H5_FC_FUNC_(h5sselect_elements_c, H5SSELECT_ELEMENTS_C)
-#define nh5sdecode_c H5_FC_FUNC_(h5sdecode_c, H5SDECODE_C)
-#define nh5sencode_c H5_FC_FUNC_(h5sencode_c, H5SENCODE_C)
-#define nh5sextent_equal_c H5_FC_FUNC_(h5sextent_equal_c, H5SEXTENT_EQUAL_C)
-
-H5_FCDLL int_f nh5screate_simple_c ( int_f *rank, hsize_t_f *dims, hsize_t_f *maxdims, hid_t_f *space_id );
-H5_FCDLL int_f nh5sclose_c ( hid_t_f *space_id );
-H5_FCDLL int_f nh5screate_c ( int_f *classtype, hid_t_f *space_id );
-H5_FCDLL int_f nh5scopy_c ( hid_t_f *space_id , hid_t_f *new_space_id);
-H5_FCDLL int_f nh5sget_select_hyper_nblocks_c( hid_t_f *space_id , hssize_t_f * num_blocks);
-H5_FCDLL int_f nh5sget_select_hyper_blocklist_c( hid_t_f *space_id ,hsize_t_f * startblock, hsize_t_f * num_blocks, hsize_t_f * buf);
-H5_FCDLL int_f nh5sget_select_bounds_c( hid_t_f *space_id , hsize_t_f * start, hsize_t_f * end);
-H5_FCDLL int_f nh5sget_select_elem_npoints_c( hid_t_f *space_id , hssize_t_f * num_points);
-H5_FCDLL int_f nh5sget_select_elem_pointlist_c( hid_t_f *space_id ,hsize_t_f * startpoint, hsize_t_f * numpoints, hsize_t_f * buf);
-H5_FCDLL int_f nh5sselect_all_c ( hid_t_f *space_id );
-H5_FCDLL int_f nh5sselect_none_c ( hid_t_f *space_id );
-H5_FCDLL int_f nh5sselect_valid_c ( hid_t_f *space_id , int_f *flag );
-H5_FCDLL int_f nh5sget_simple_extent_npoints_c ( hid_t_f *space_id , hsize_t_f *npoints );
-H5_FCDLL int_f nh5sget_select_npoints_c ( hid_t_f *space_id , hssize_t_f *npoints );
-H5_FCDLL int_f nh5sget_simple_extent_ndims_c ( hid_t_f *space_id , int_f *ndims );
-H5_FCDLL int_f nh5sget_simple_extent_type_c ( hid_t_f *space_id , int_f *classtype);
-H5_FCDLL int_f nh5soffset_simple_c ( hid_t_f *space_id , hssize_t_f *offset);
-H5_FCDLL int_f nh5sset_extent_simple_c ( hid_t_f *space_id , int_f *rank, hsize_t_f * current_size, hsize_t_f *maximum_size);
-H5_FCDLL int_f nh5sis_simple_c ( hid_t_f *space_id , int_f *flag );
-H5_FCDLL int_f nh5sextent_class_c ( hid_t_f *space_id , int_f *classtype);
-H5_FCDLL int_f nh5sget_simple_extent_dims_c ( hid_t_f *space_id , hsize_t_f *dims, hsize_t_f *maxdims);
-H5_FCDLL int_f nh5sextent_copy_c ( hid_t_f *dest_space_id , hid_t_f *source_space_id);
-H5_FCDLL int_f nh5sset_extent_none_c ( hid_t_f *space_id );
-H5_FCDLL int_f nh5sselect_hyperslab_c ( hid_t_f *space_id , int_f *op, hsize_t_f *start, hsize_t_f *count, hsize_t_f *stride, hsize_t_f *block);
-H5_FCDLL int_f nh5sget_select_type_c ( hid_t_f *space_id , int_f *op);
-H5_FCDLL int_f nh5sselect_elements_c ( hid_t_f *space_id , int_f *op, size_t_f *nelements, hsize_t_f *coord);
-H5_FCDLL int_f nh5scombine_hyperslab_c ( hid_t_f *space_id , int_f *op, hsize_t_f *start, hsize_t_f *count, hsize_t_f *stride, hsize_t_f *block, hid_t_f *hyper_id);
-H5_FCDLL int_f nh5scombine_select_c ( hid_t_f *space1_id , int_f *op, hid_t_f *space2_id, hid_t_f *ds_id);
-H5_FCDLL int_f nh5sselect_select_c ( hid_t_f *space1_id , int_f *op, hid_t_f *space2_id);
-H5_FCDLL int_f nh5sdecode_c ( _fcd buf, hid_t_f *obj_id );
-H5_FCDLL int_f nh5sencode_c (_fcd buf, hid_t_f *obj_id, size_t_f *nalloc );
-H5_FCDLL int_f nh5sextent_equal_c ( hid_t_f * space1_id, hid_t_f *space2_id, hid_t_f *c_equal);
+H5_FCDLL int_f h5screate_simple_c( int_f *rank, hsize_t_f *dims, hsize_t_f *maxdims, hid_t_f *space_id );
+H5_FCDLL int_f h5sclose_c( hid_t_f *space_id );
+H5_FCDLL int_f h5screate_c( int_f *classtype, hid_t_f *space_id );
+H5_FCDLL int_f h5scopy_c( hid_t_f *space_id , hid_t_f *new_space_id);
+H5_FCDLL int_f h5sget_select_hyper_nblocks_c( hid_t_f *space_id , hssize_t_f * num_blocks);
+H5_FCDLL int_f h5sget_select_hyper_blocklist_c( hid_t_f *space_id ,hsize_t_f * startblock, hsize_t_f * num_blocks, hsize_t_f * buf);
+H5_FCDLL int_f h5sget_select_bounds_c( hid_t_f *space_id , hsize_t_f * start, hsize_t_f * end);
+H5_FCDLL int_f h5sget_select_elem_npoints_c( hid_t_f *space_id , hssize_t_f * num_points);
+H5_FCDLL int_f h5sget_select_elem_pointlist_c( hid_t_f *space_id ,hsize_t_f * startpoint, hsize_t_f * numpoints, hsize_t_f * buf);
+H5_FCDLL int_f h5sselect_all_c( hid_t_f *space_id );
+H5_FCDLL int_f h5sselect_none_c( hid_t_f *space_id );
+H5_FCDLL int_f h5sselect_valid_c( hid_t_f *space_id , int_f *flag );
+H5_FCDLL int_f h5sget_simple_extent_npoints_c( hid_t_f *space_id , hsize_t_f *npoints );
+H5_FCDLL int_f h5sget_select_npoints_c( hid_t_f *space_id , hssize_t_f *npoints );
+H5_FCDLL int_f h5sget_simple_extent_ndims_c( hid_t_f *space_id , int_f *ndims );
+H5_FCDLL int_f h5sget_simple_extent_type_c( hid_t_f *space_id , int_f *classtype);
+H5_FCDLL int_f h5soffset_simple_c( hid_t_f *space_id , hssize_t_f *offset);
+H5_FCDLL int_f h5sset_extent_simple_c( hid_t_f *space_id , int_f *rank, hsize_t_f * current_size, hsize_t_f *maximum_size);
+H5_FCDLL int_f h5sis_simple_c( hid_t_f *space_id , int_f *flag );
+H5_FCDLL int_f h5sget_simple_extent_dims_c( hid_t_f *space_id , hsize_t_f *dims, hsize_t_f *maxdims);
+H5_FCDLL int_f h5sextent_copy_c( hid_t_f *dest_space_id , hid_t_f *source_space_id);
+H5_FCDLL int_f h5sset_extent_none_c( hid_t_f *space_id );
+H5_FCDLL int_f h5sselect_hyperslab_c( hid_t_f *space_id , int_f *op, hsize_t_f *start, hsize_t_f *count, hsize_t_f *stride, hsize_t_f *block);
+H5_FCDLL int_f h5sget_select_type_c( hid_t_f *space_id , int_f *op);
+H5_FCDLL int_f h5sselect_elements_c( hid_t_f *space_id , int_f *op, size_t_f *nelements, hsize_t_f *coord);
+H5_FCDLL int_f h5scombine_hyperslab_c( hid_t_f *space_id , int_f *op, hsize_t_f *start, hsize_t_f *count, hsize_t_f *stride, hsize_t_f *block, hid_t_f *hyper_id);
+H5_FCDLL int_f h5scombine_select_c( hid_t_f *space1_id , int_f *op, hid_t_f *space2_id, hid_t_f *ds_id);
+H5_FCDLL int_f h5sselect_select_c( hid_t_f *space1_id , int_f *op, hid_t_f *space2_id);
+H5_FCDLL int_f h5sdecode_c( _fcd buf, hid_t_f *obj_id );
+H5_FCDLL int_f h5sencode_c(_fcd buf, hid_t_f *obj_id, size_t_f *nalloc );
+H5_FCDLL int_f h5sextent_equal_c( hid_t_f * space1_id, hid_t_f *space2_id, hid_t_f *c_equal);
/*
* Functions from H5Df.c
*/
-#define nh5dcreate_c H5_FC_FUNC_(h5dcreate_c, H5DCREATE_C)
-#define nh5dclose_c H5_FC_FUNC_(h5dclose_c, H5DCLOSE_C)
-#define nh5dopen_c H5_FC_FUNC_(h5dopen_c, H5DOPEN_C)
-#define nh5dwrite_c H5_FC_FUNC_(h5dwrite_c, H5DWRITE_C)
-#define nh5dwrite_integer_s_c H5_FC_FUNC_(h5dwrite_integer_s_c, H5DWRITE_INTEGER_S_C)
-#define nh5dwrite_integer_1_c H5_FC_FUNC_(h5dwrite_integer_1_c, H5DWRITE_INTEGER_1_C)
-#define nh5dwrite_integer_2_c H5_FC_FUNC_(h5dwrite_integer_2_c, H5DWRITE_INTEGER_2_C)
-#define nh5dwrite_integer_3_c H5_FC_FUNC_(h5dwrite_integer_3_c, H5DWRITE_INTEGER_3_C)
-#define nh5dwrite_integer_4_c H5_FC_FUNC_(h5dwrite_integer_4_c, H5DWRITE_INTEGER_4_C)
-#define nh5dwrite_integer_5_c H5_FC_FUNC_(h5dwrite_integer_5_c, H5DWRITE_INTEGER_5_C)
-#define nh5dwrite_integer_6_c H5_FC_FUNC_(h5dwrite_integer_6_c, H5DWRITE_INTEGER_6_C)
-#define nh5dwrite_integer_7_c H5_FC_FUNC_(h5dwrite_integer_7_c, H5DWRITE_INTEGER_7_C)
-#define nh5dwrite_real_s_c H5_FC_FUNC_(h5dwrite_real_s_c, H5DWRITE_REAL_S_C)
-#define nh5dwrite_real_1_c H5_FC_FUNC_(h5dwrite_real_1_c, H5DWRITE_REAL_1_C)
-#define nh5dwrite_real_2_c H5_FC_FUNC_(h5dwrite_real_2_c, H5DWRITE_REAL_2_C)
-#define nh5dwrite_real_3_c H5_FC_FUNC_(h5dwrite_real_3_c, H5DWRITE_REAL_3_C)
-#define nh5dwrite_real_4_c H5_FC_FUNC_(h5dwrite_real_4_c, H5DWRITE_REAL_4_C)
-#define nh5dwrite_real_5_c H5_FC_FUNC_(h5dwrite_real_5_c, H5DWRITE_REAL_5_C)
-#define nh5dwrite_real_6_c H5_FC_FUNC_(h5dwrite_real_6_c, H5DWRITE_REAL_6_C)
-#define nh5dwrite_real_7_c H5_FC_FUNC_(h5dwrite_real_7_c, H5DWRITE_REAL_7_C)
-#define nh5dwrite_double_s_c H5_FC_FUNC_(h5dwrite_double_s_c, H5DWRITE_DOUBLE_S_C)
-#define nh5dwrite_double_1_c H5_FC_FUNC_(h5dwrite_double_1_c, H5DWRITE_DOUBLE_1_C)
-#define nh5dwrite_double_2_c H5_FC_FUNC_(h5dwrite_double_2_c, H5DWRITE_DOUBLE_2_C)
-#define nh5dwrite_double_3_c H5_FC_FUNC_(h5dwrite_double_3_c, H5DWRITE_DOUBLE_3_C)
-#define nh5dwrite_double_4_c H5_FC_FUNC_(h5dwrite_double_4_c, H5DWRITE_DOUBLE_4_C)
-#define nh5dwrite_double_5_c H5_FC_FUNC_(h5dwrite_double_5_c, H5DWRITE_DOUBLE_5_C)
-#define nh5dwrite_double_6_c H5_FC_FUNC_(h5dwrite_double_6_c, H5DWRITE_DOUBLE_6_C)
-#define nh5dwrite_double_7_c H5_FC_FUNC_(h5dwrite_double_7_c, H5DWRITE_DOUBLE_7_C)
-#define nh5dwrite_ref_obj_c H5_FC_FUNC_(h5dwrite_ref_obj_c, H5DWRITE_REF_OBJ_C)
-#define nh5dwrite_ref_reg_c H5_FC_FUNC_(h5dwrite_ref_reg_c, H5DWRITE_REF_REG_C)
-#define nh5dwritec_c H5_FC_FUNC_(h5dwritec_c, H5DWRITEC_C)
-#define nh5dwritec_s_c H5_FC_FUNC_(h5dwritec_s_c, H5DWRITEC_S_C)
-#define nh5dwritec_1_c H5_FC_FUNC_(h5dwritec_1_c, H5DWRITEC_1_C)
-#define nh5dwritec_2_c H5_FC_FUNC_(h5dwritec_2_c, H5DWRITEC_2_C)
-#define nh5dwritec_3_c H5_FC_FUNC_(h5dwritec_3_c, H5DWRITEC_3_C)
-#define nh5dwritec_4_c H5_FC_FUNC_(h5dwritec_4_c, H5DWRITEC_4_C)
-#define nh5dwritec_5_c H5_FC_FUNC_(h5dwritec_5_c, H5DWRITEC_5_C)
-#define nh5dwritec_6_c H5_FC_FUNC_(h5dwritec_6_c, H5DWRITEC_6_C)
-#define nh5dwritec_7_c H5_FC_FUNC_(h5dwritec_7_c, H5DWRITEC_7_C)
-#define nh5dread_c H5_FC_FUNC_(h5dread_c, H5DREAD_C)
-#define nh5dread_integer_s_c H5_FC_FUNC_(h5dread_integer_s_c, H5DREAD_INTEGER_S_C)
-#define nh5dread_integer_1_c H5_FC_FUNC_(h5dread_integer_1_c, H5DREAD_INTEGER_1_C)
-#define nh5dread_integer_2_c H5_FC_FUNC_(h5dread_integer_2_c, H5DREAD_INTEGER_2_C)
-#define nh5dread_integer_3_c H5_FC_FUNC_(h5dread_integer_3_c, H5DREAD_INTEGER_3_C)
-#define nh5dread_integer_4_c H5_FC_FUNC_(h5dread_integer_4_c, H5DREAD_INTEGER_4_C)
-#define nh5dread_integer_5_c H5_FC_FUNC_(h5dread_integer_5_c, H5DREAD_INTEGER_5_C)
-#define nh5dread_integer_6_c H5_FC_FUNC_(h5dread_integer_6_c, H5DREAD_INTEGER_6_C)
-#define nh5dread_integer_7_c H5_FC_FUNC_(h5dread_integer_7_c, H5DREAD_INTEGER_7_C)
-#define nh5dread_real_s_c H5_FC_FUNC_(h5dread_real_s_c, H5DREAD_REAL_S_C)
-#define nh5dread_real_1_c H5_FC_FUNC_(h5dread_real_1_c, H5DREAD_REAL_1_C)
-#define nh5dread_real_2_c H5_FC_FUNC_(h5dread_real_2_c, H5DREAD_REAL_2_C)
-#define nh5dread_real_3_c H5_FC_FUNC_(h5dread_real_3_c, H5DREAD_REAL_3_C)
-#define nh5dread_real_4_c H5_FC_FUNC_(h5dread_real_4_c, H5DREAD_REAL_4_C)
-#define nh5dread_real_5_c H5_FC_FUNC_(h5dread_real_5_c, H5DREAD_REAL_5_C)
-#define nh5dread_real_6_c H5_FC_FUNC_(h5dread_real_6_c, H5DREAD_REAL_6_C)
-#define nh5dread_real_7_c H5_FC_FUNC_(h5dread_real_7_c, H5DREAD_REAL_7_C)
-#define nh5dread_double_s_c H5_FC_FUNC_(h5dread_double_s_c, H5DREAD_DOUBLE_S_C)
-#define nh5dread_double_1_c H5_FC_FUNC_(h5dread_double_1_c, H5DREAD_DOUBLE_1_C)
-#define nh5dread_double_2_c H5_FC_FUNC_(h5dread_double_2_c, H5DREAD_DOUBLE_2_C)
-#define nh5dread_double_3_c H5_FC_FUNC_(h5dread_double_3_c, H5DREAD_DOUBLE_3_C)
-#define nh5dread_double_4_c H5_FC_FUNC_(h5dread_double_4_c, H5DREAD_DOUBLE_4_C)
-#define nh5dread_double_5_c H5_FC_FUNC_(h5dread_double_5_c, H5DREAD_DOUBLE_5_C)
-#define nh5dread_double_6_c H5_FC_FUNC_(h5dread_double_6_c, H5DREAD_DOUBLE_6_C)
-#define nh5dread_double_7_c H5_FC_FUNC_(h5dread_double_7_c, H5DREAD_DOUBLE_7_C)
-#define nh5dread_c_b H5_FC_FUNC_(h5dread_c_b, H5DREAD_C_B)
-#define nh5dread_ref_reg_c H5_FC_FUNC_(h5dread_ref_reg_c, H5DREAD_REF_REG_C)
-#define nh5dread_ref_obj_c H5_FC_FUNC_(h5dread_ref_obj_c, H5DREAD_REF_OBJ_C)
-#define nh5dreadc_c H5_FC_FUNC_(h5dreadc_c, H5DREADC_C)
-#define nh5dreadc_s_c H5_FC_FUNC_(h5dreadc_s_c, H5DREADC_S_C)
-#define nh5dreadc_1_c H5_FC_FUNC_(h5dreadc_1_c, H5DREADC_1_C)
-#define nh5dreadc_2_c H5_FC_FUNC_(h5dreadc_2_c, H5DREADC_2_C)
-#define nh5dreadc_3_c H5_FC_FUNC_(h5dreadc_3_c, H5DREADC_3_C)
-#define nh5dreadc_4_c H5_FC_FUNC_(h5dreadc_4_c, H5DREADC_4_C)
-#define nh5dreadc_5_c H5_FC_FUNC_(h5dreadc_5_c, H5DREADC_5_C)
-#define nh5dreadc_6_c H5_FC_FUNC_(h5dreadc_6_c, H5DREADC_6_C)
-#define nh5dreadc_7_c H5_FC_FUNC_(h5dreadc_7_c, H5DREADC_7_C)
-#define nh5dreadc_c_b H5_FC_FUNC_(h5dreadc_c_b, H5DREADC_C_B)
-#define nh5dget_space_c H5_FC_FUNC_(h5dget_space_c, H5DGET_SPACE_C)
-#define nh5dget_type_c H5_FC_FUNC_(h5dget_type_c, H5DGET_TYPE_C)
-#define nh5dget_create_plist_c H5_FC_FUNC_(h5dget_create_plist_c, H5DGET_CREATE_PLIST_C)
-#define nh5dset_extent_c H5_FC_FUNC_(h5dset_extent_c, H5DSET_EXTENT_C)
-#define nh5dget_storage_size_c H5_FC_FUNC_(h5dget_storage_size_c, H5DGET_STORAGE_SIZE_C)
-#define nh5dvlen_get_max_len_c H5_FC_FUNC_(h5dvlen_get_max_len_c, H5DVLEN_GET_MAX_LEN_C)
-#define nh5dwrite_vl_integer_c H5_FC_FUNC_(h5dwrite_vl_integer_c, H5DWRITE_VL_INTEGER_C)
-#define nh5dread_vl_integer_c H5_FC_FUNC_(h5dread_vl_integer_c, H5DREAD_VL_INTEGER_C)
-#define nh5dwrite_vl_real_c H5_FC_FUNC_(h5dwrite_vl_real_c, H5DWRITE_VL_REAL_C)
-#define nh5dread_vl_real_c H5_FC_FUNC_(h5dread_vl_real_c, H5DREAD_VL_REAL_C)
-#define nh5dwrite_vl_string_c H5_FC_FUNC_(h5dwrite_vl_string_c, H5DWRITE_VL_STRING_C)
-#define nh5dread_vl_string_c H5_FC_FUNC_(h5dread_vl_string_c, H5DREAD_VL_STRING_C)
-#define nh5dfillc_c H5_FC_FUNC_(h5dfillc_c, H5DFILLC_C)
-#define nh5dfill_integer_c H5_FC_FUNC_(h5dfill_integer_c, H5DFILL_INTEGER_C)
-#define nh5dfill_real_c H5_FC_FUNC_(h5dfill_real_c, H5DFILL_REAL_C)
-#define nh5dfill_double_c H5_FC_FUNC_(h5dfill_double_c, H5DFILL_DOUBLE_C)
-#define nh5dget_space_status_c H5_FC_FUNC_(h5dget_space_status_c, H5DGET_SPACE_STATUS_C)
-#define nh5dcreate_anon_c H5_FC_FUNC_(h5dcreate_anon_c, H5DCREATE_ANON_C)
-#define nh5dget_access_plist_c H5_FC_FUNC_(h5dget_access_plist_c, H5DGET_ACCESS_PLIST_C)
-
-H5_FCDLL int_f nh5dcreate_c (hid_t_f *loc_id, _fcd name, int_f *namelen, hid_t_f *type_id, hid_t_f *space_id,
+H5_FCDLL int_f h5dcreate_c(hid_t_f *loc_id, _fcd name, int_f *namelen, hid_t_f *type_id, hid_t_f *space_id,
hid_t_f *lcpl_id, hid_t_f *dcpl_id, hid_t_f *dapl_id, hid_t_f *dset_id);
-H5_FCDLL int_f nh5dopen_c (hid_t_f *loc_id, _fcd name, int_f *namelen, hid_t_f *dapl_id, hid_t_f *dset_id);
-H5_FCDLL int_f nh5dclose_c ( hid_t_f *dset_id );
-H5_FCDLL int_f nh5dwrite_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims);
-H5_FCDLL int_f nh5dwrite_integer_s_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims);
-H5_FCDLL int_f nh5dwrite_integer_1_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims);
-H5_FCDLL int_f nh5dwrite_integer_2_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims);
-H5_FCDLL int_f nh5dwrite_integer_3_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims);
-H5_FCDLL int_f nh5dwrite_integer_4_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims);
-H5_FCDLL int_f nh5dwrite_integer_5_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims);
-H5_FCDLL int_f nh5dwrite_integer_6_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims);
-H5_FCDLL int_f nh5dwrite_integer_7_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims);
-
-H5_FCDLL int_f nh5dwrite_real_s_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims);
-H5_FCDLL int_f nh5dwrite_real_1_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims);
-H5_FCDLL int_f nh5dwrite_real_2_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims);
-H5_FCDLL int_f nh5dwrite_real_3_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims);
-H5_FCDLL int_f nh5dwrite_real_4_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims);
-H5_FCDLL int_f nh5dwrite_real_5_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims);
-H5_FCDLL int_f nh5dwrite_real_6_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims);
-H5_FCDLL int_f nh5dwrite_real_7_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims);
-
-H5_FCDLL int_f nh5dwrite_double_s_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims);
-H5_FCDLL int_f nh5dwrite_double_1_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims);
-H5_FCDLL int_f nh5dwrite_double_2_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims);
-H5_FCDLL int_f nh5dwrite_double_3_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims);
-H5_FCDLL int_f nh5dwrite_double_4_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims);
-H5_FCDLL int_f nh5dwrite_double_5_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims);
-H5_FCDLL int_f nh5dwrite_double_6_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims);
-H5_FCDLL int_f nh5dwrite_double_7_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims);
-
-H5_FCDLL int_f nh5dwrite_vl_integer_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, int_f *buf, hsize_t_f *dims, size_t_f *len);
-H5_FCDLL int_f nh5dwrite_vl_real_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, real_f *buf, hsize_t_f *dims, size_t_f *len);
-H5_FCDLL int_f nh5dwrite_vl_string_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, _fcd buf, hsize_t_f *dims, size_t_f *len);
-H5_FCDLL int_f nh5dwrite_ref_obj_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, haddr_t_f *buf, hsize_t_f *dims);
-H5_FCDLL int_f nh5dwrite_ref_reg_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, int_f *buf, hsize_t_f *dims);
-
-H5_FCDLL int_f nh5dwritec_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, _fcd buf, hsize_t_f *dims);
-
-H5_FCDLL int_f nh5dwritec_s_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, _fcd buf, hsize_t_f *dims);
-H5_FCDLL int_f nh5dwritec_1_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, _fcd buf, hsize_t_f *dims);
-H5_FCDLL int_f nh5dwritec_2_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, _fcd buf, hsize_t_f *dims);
-H5_FCDLL int_f nh5dwritec_3_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, _fcd buf, hsize_t_f *dims);
-H5_FCDLL int_f nh5dwritec_4_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, _fcd buf, hsize_t_f *dims);
-H5_FCDLL int_f nh5dwritec_5_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, _fcd buf, hsize_t_f *dims);
-H5_FCDLL int_f nh5dwritec_6_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, _fcd buf, hsize_t_f *dims);
-H5_FCDLL int_f nh5dwritec_7_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, _fcd buf, hsize_t_f *dims);
-
-H5_FCDLL int_f nh5dread_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims);
-
-H5_FCDLL int_f nh5dread_integer_s_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims);
-H5_FCDLL int_f nh5dread_integer_1_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims);
-H5_FCDLL int_f nh5dread_integer_2_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims);
-H5_FCDLL int_f nh5dread_integer_3_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims);
-H5_FCDLL int_f nh5dread_integer_4_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims);
-H5_FCDLL int_f nh5dread_integer_5_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims);
-H5_FCDLL int_f nh5dread_integer_6_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims);
-H5_FCDLL int_f nh5dread_integer_7_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims);
-
-H5_FCDLL int_f nh5dread_real_s_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims);
-H5_FCDLL int_f nh5dread_real_1_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims);
-H5_FCDLL int_f nh5dread_real_2_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims);
-H5_FCDLL int_f nh5dread_real_3_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims);
-H5_FCDLL int_f nh5dread_real_4_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims);
-H5_FCDLL int_f nh5dread_real_5_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims);
-H5_FCDLL int_f nh5dread_real_6_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims);
-H5_FCDLL int_f nh5dread_real_7_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims);
-
-H5_FCDLL int_f nh5dread_double_s_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims);
-H5_FCDLL int_f nh5dread_double_1_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims);
-H5_FCDLL int_f nh5dread_double_2_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims);
-H5_FCDLL int_f nh5dread_double_3_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims);
-H5_FCDLL int_f nh5dread_double_4_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims);
-H5_FCDLL int_f nh5dread_double_5_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims);
-H5_FCDLL int_f nh5dread_double_6_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims);
-H5_FCDLL int_f nh5dread_double_7_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, hsize_t_f *dims);
-
-H5_FCDLL int_f nh5dread_vl_integer_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, int_f *buf, hsize_t_f *dims, size_t_f *len);
-H5_FCDLL int_f nh5dread_vl_real_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, real_f *buf, hsize_t_f *dims, size_t_f *len);
-H5_FCDLL int_f nh5dread_vl_string_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, _fcd buf, hsize_t_f *dims, size_t_f *len);
-H5_FCDLL int_f nh5dread_ref_obj_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, haddr_t_f * buf, hsize_t_f *dims);
-H5_FCDLL int_f nh5dread_ref_reg_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, int_f * buf, hsize_t_f *dims);
-
-H5_FCDLL int_f nh5dreadc_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, _fcd buf, hsize_t_f *dims);
-
-H5_FCDLL int_f nh5dreadc_s_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, _fcd buf, hsize_t_f *dims);
-H5_FCDLL int_f nh5dreadc_1_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, _fcd buf, hsize_t_f *dims);
-H5_FCDLL int_f nh5dreadc_2_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, _fcd buf, hsize_t_f *dims);
-H5_FCDLL int_f nh5dreadc_3_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, _fcd buf, hsize_t_f *dims);
-H5_FCDLL int_f nh5dreadc_4_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, _fcd buf, hsize_t_f *dims);
-H5_FCDLL int_f nh5dreadc_5_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, _fcd buf, hsize_t_f *dims);
-H5_FCDLL int_f nh5dreadc_6_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, _fcd buf, hsize_t_f *dims);
-H5_FCDLL int_f nh5dreadc_7_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, _fcd buf, hsize_t_f *dims);
-H5_FCDLL int_f nh5dget_access_plist_c (hid_t_f *dset_id, hid_t_f *plist_id);
-
-
-H5_FCDLL int_f nh5dget_space_c ( hid_t_f *dset_id , hid_t_f *space_id);
-H5_FCDLL int_f nh5dget_type_c ( hid_t_f *dset_id , hid_t_f *type_id);
-H5_FCDLL int_f nh5dget_create_plist_c ( hid_t_f *dset_id , hid_t_f *plist_id);
-H5_FCDLL int_f nh5dset_extent_c ( hid_t_f *dset_id , hsize_t_f *dims);
-H5_FCDLL int_f nh5dvlen_get_max_len_c(hid_t_f *dataset_id, hid_t_f *type_id, hid_t_f *space_id, size_t_f *len);
-H5_FCDLL int_f nh5dget_storage_size_c(hid_t_f *dataset_id, hsize_t_f *size);
-H5_FCDLL int_f nh5dfillc_c(_fcd fill_value, hid_t_f *fill_type_id, hid_t_f *space_id, _fcd buf, hid_t_f *mem_type_id);
+H5_FCDLL int_f h5dopen_c(hid_t_f *loc_id, _fcd name, int_f *namelen, hid_t_f *dapl_id, hid_t_f *dset_id);
+H5_FCDLL int_f h5dclose_c( hid_t_f *dset_id );
+
+H5_FCDLL int_f h5dwrite_vl_integer_c(hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, int_f *buf, hsize_t_f *dims, size_t_f *len);
+H5_FCDLL int_f h5dwrite_vl_real_c(hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, real_f *buf, hsize_t_f *dims, size_t_f *len);
+H5_FCDLL int_f h5dwrite_vl_string_c(hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, _fcd buf, hsize_t_f *dims, size_t_f *len);
+H5_FCDLL int_f h5dwrite_ref_reg_c(hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, int_f *buf, hsize_t_f *dims);
+H5_FCDLL int_f h5dread_vl_integer_c(hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, int_f *buf, hsize_t_f *dims, size_t_f *len);
+H5_FCDLL int_f h5dread_vl_real_c(hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, real_f *buf, hsize_t_f *dims, size_t_f *len);
+H5_FCDLL int_f h5dread_vl_string_c(hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, _fcd buf, hsize_t_f *dims, size_t_f *len);
+H5_FCDLL int_f h5dread_ref_reg_c(hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, int_f * buf, hsize_t_f *dims);
+H5_FCDLL int_f h5dget_access_plist_c(hid_t_f *dset_id, hid_t_f *plist_id);
+H5_FCDLL int_f h5dget_space_c( hid_t_f *dset_id , hid_t_f *space_id);
+H5_FCDLL int_f h5dget_type_c( hid_t_f *dset_id , hid_t_f *type_id);
+H5_FCDLL int_f h5dget_create_plist_c( hid_t_f *dset_id , hid_t_f *plist_id);
+H5_FCDLL int_f h5dset_extent_c( hid_t_f *dset_id , hsize_t_f *dims);
+H5_FCDLL int_f h5dvlen_get_max_len_c(hid_t_f *dataset_id, hid_t_f *type_id, hid_t_f *space_id, size_t_f *len);
+H5_FCDLL int_f h5dget_storage_size_c(hid_t_f *dataset_id, hsize_t_f *size);
H5_FCDLL int_f h5dfill_c(void * fill_value, hid_t_f *fill_type_id, hid_t_f *space_id, void * buf, hid_t_f *mem_type_id);
-H5_FCDLL int_f nh5dfill_integer_c(void * fill_value, hid_t_f *fill_type_id, hid_t_f *space_id, void * buf, hid_t_f *mem_type_id);
-H5_FCDLL int_f nh5dfill_real_c(void * fill_value, hid_t_f *fill_type_id, hid_t_f *space_id, void * buf, hid_t_f *mem_type_id);
-H5_FCDLL int_f nh5dfill_double_c(void * fill_value, hid_t_f *fill_type_id, hid_t_f *space_id, void * buf, hid_t_f *mem_type_id);
-H5_FCDLL int_f nh5dget_space_status_c ( hid_t_f *dset_id, int_f *flag);
-H5_FCDLL int_f nh5dcreate_anon_c (hid_t_f *loc_id, hid_t_f *type_id, hid_t_f *space_id,
+H5_FCDLL int_f h5dget_space_status_c( hid_t_f *dset_id, int_f *flag);
+H5_FCDLL int_f h5dcreate_anon_c(hid_t_f *loc_id, hid_t_f *type_id, hid_t_f *space_id,
hid_t_f *dcpl_id, hid_t_f *dapl_id, hid_t_f *dset_id);
-H5_FCDLL int_f h5dwrite_f_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id,
+H5_FCDLL int_f h5dwrite_f_c(hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id,
hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf);
-H5_FCDLL int_f h5dread_f_c ( hid_t_f *dset_id , hid_t_f *mem_type_id, hid_t_f *mem_space_id,
+H5_FCDLL int_f h5dread_f_c( hid_t_f *dset_id , hid_t_f *mem_type_id, hid_t_f *mem_space_id,
hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf);
-H5_FCDLL int_f h5dvlen_reclaim_c (hid_t_f *type_id , hid_t_f *space_id, hid_t_f *plist_id, void *buf);
+H5_FCDLL int_f h5dvlen_reclaim_c(hid_t_f *type_id , hid_t_f *space_id, hid_t_f *plist_id, void *buf);
+
/*
* Functions from H5Gf.c
*/
-#define nh5gcreate_c H5_FC_FUNC_(h5gcreate_c, H5GCREATE_C)
-#define nh5gclose_c H5_FC_FUNC_(h5gclose_c, H5GCLOSE_C)
-#define nh5gopen_c H5_FC_FUNC_(h5gopen_c, H5GOPEN_C)
-#define nh5gget_obj_info_idx_c H5_FC_FUNC_(h5gget_obj_info_idx_c, H5GGET_OBJ_INFO_IDX_C)
-#define nh5gn_members_c H5_FC_FUNC_(h5gn_members_c, H5GN_MEMBERS_C)
-#define nh5glink_c H5_FC_FUNC_(h5glink_c, H5GLINK_C)
-#define nh5glink2_c H5_FC_FUNC_(h5glink2_c, H5GLINK2_C)
-#define nh5gunlink_c H5_FC_FUNC_(h5gunlink_c, H5GUNLINK_C)
-#define nh5gmove_c H5_FC_FUNC_(h5gmove_c, H5GMOVE_C)
-#define nh5gmove2_c H5_FC_FUNC_(h5gmove2_c, H5GMOVE2_C)
-#define nh5gget_linkval_c H5_FC_FUNC_(h5gget_linkval_c, H5GGET_LINKVAL_C)
-#define nh5gset_comment_c H5_FC_FUNC_(h5gset_comment_c, H5GSET_COMMENT_C)
-#define nh5gget_comment_c H5_FC_FUNC_(h5gget_comment_c, H5GGET_COMMENT_C)
-#define nh5gcreate_anon_c H5_FC_FUNC_(h5gcreate_anon_c, H5GCREATE_ANON_C)
-#define nh5gget_create_plist_c H5_FC_FUNC_(h5gget_create_plist_c, H5GGET_CREATE_PLIST_C)
-#define nh5gget_info_c H5_FC_FUNC_(h5gget_info_c, H5GGET_INFO_C)
-#define nh5gget_info_by_idx_c H5_FC_FUNC_(h5gget_info_by_idx_c, H5GGET_INFO_BY_IDX_C)
-#define nh5gget_info_by_name_c H5_FC_FUNC_(h5gget_info_by_name_c, H5GGET_INFO_BY_NAME_C)
-
-
-H5_FCDLL int_f nh5gcreate_c (hid_t_f *loc_id, _fcd name, int_f *namelen, size_t_f *size_hint, hid_t_f *grp_id,
+H5_FCDLL int_f h5gcreate_c(hid_t_f *loc_id, _fcd name, int_f *namelen, size_t_f *size_hint, hid_t_f *grp_id,
hid_t_f *lcpl_id, hid_t_f *gcpl_id, hid_t_f *gapl_id);
-H5_FCDLL int_f nh5gopen_c (hid_t_f *loc_id, _fcd name, int_f *namelen, hid_t_f *gapl_id, hid_t_f *grp_id);
-H5_FCDLL int_f nh5gclose_c ( hid_t_f *grp_id );
-H5_FCDLL int_f nh5gget_obj_info_idx_c (hid_t_f *loc_id, _fcd name, int_f *namelen, int_f *idx, _fcd obj_name, int_f *obj_namelen, int_f *obj_type);
-H5_FCDLL int_f nh5gn_members_c (hid_t_f *loc_id, _fcd name, int_f *namelen, int_f *nmembers);
-H5_FCDLL int_f nh5glink_c (hid_t_f *loc_id, int_f *link_type, _fcd current_name, int_f *current_namelen, _fcd new_name, int_f *new_namelen);
-H5_FCDLL int_f nh5glink2_c (hid_t_f *cur_loc_id, _fcd cur_name, int_f *cur_namelen, int_f *link_type, hid_t_f *new_loc_id, _fcd new_name, int_f *new_namelen);
-H5_FCDLL int_f nh5gunlink_c (hid_t_f *loc_id, _fcd name, int_f *namelen);
-H5_FCDLL int_f nh5gmove_c (hid_t_f *loc_id, _fcd src_name, int_f *src_namelen, _fcd dst_name, int_f *dst_namelen);
-H5_FCDLL int_f nh5gmove2_c (hid_t_f *src_loc_id, _fcd src_name, int_f *src_namelen, hid_t_f *dst_loc_id,_fcd dst_name, int_f *dst_namelen);
-H5_FCDLL int_f nh5gget_linkval_c (hid_t_f *loc_id, _fcd name, int_f *namelen, size_t_f *size, _fcd value );
-H5_FCDLL int_f nh5gset_comment_c (hid_t_f *loc_id, _fcd name, int_f *namelen, _fcd comment, int_f *commentlen);
-H5_FCDLL int_f nh5gget_comment_c (hid_t_f *loc_id, _fcd name, int_f *namelen, size_t_f *bufsize, _fcd comment);
-H5_FCDLL int_f nh5gcreate_anon_c (hid_t_f *loc_id, hid_t_f *gcpl_id, hid_t_f *gapl_id, hid_t_f *grp_id);
-H5_FCDLL int_f nh5gget_create_plist_c(hid_t_f *grp_id, hid_t_f *gcpl_id );
-H5_FCDLL int_f nh5gget_info_c (hid_t_f *group_id, int_f *storage_type, int_f *nlinks, int_f *max_corder, int_f *mounted);
-H5_FCDLL int_f nh5gget_info_by_idx_c(hid_t_f *loc_id, _fcd group_name, size_t_f *group_namelen,
+H5_FCDLL int_f h5gopen_c(hid_t_f *loc_id, _fcd name, int_f *namelen, hid_t_f *gapl_id, hid_t_f *grp_id);
+H5_FCDLL int_f h5gclose_c( hid_t_f *grp_id );
+H5_FCDLL int_f h5gget_obj_info_idx_c(hid_t_f *loc_id, _fcd name, int_f *namelen, int_f *idx, _fcd obj_name, int_f *obj_namelen, int_f *obj_type);
+H5_FCDLL int_f h5gn_members_c(hid_t_f *loc_id, _fcd name, int_f *namelen, int_f *nmembers);
+H5_FCDLL int_f h5glink_c(hid_t_f *loc_id, int_f *link_type, _fcd current_name, int_f *current_namelen, _fcd new_name, int_f *new_namelen);
+H5_FCDLL int_f h5glink2_c(hid_t_f *cur_loc_id, _fcd cur_name, int_f *cur_namelen, int_f *link_type, hid_t_f *new_loc_id, _fcd new_name, int_f *new_namelen);
+H5_FCDLL int_f h5gunlink_c(hid_t_f *loc_id, _fcd name, int_f *namelen);
+H5_FCDLL int_f h5gmove_c(hid_t_f *loc_id, _fcd src_name, int_f *src_namelen, _fcd dst_name, int_f *dst_namelen);
+H5_FCDLL int_f h5gmove2_c(hid_t_f *src_loc_id, _fcd src_name, int_f *src_namelen, hid_t_f *dst_loc_id,_fcd dst_name, int_f *dst_namelen);
+H5_FCDLL int_f h5gget_linkval_c(hid_t_f *loc_id, _fcd name, int_f *namelen, size_t_f *size, _fcd value );
+H5_FCDLL int_f h5gset_comment_c(hid_t_f *loc_id, _fcd name, int_f *namelen, _fcd comment, int_f *commentlen);
+H5_FCDLL int_f h5gget_comment_c(hid_t_f *loc_id, _fcd name, int_f *namelen, size_t_f *bufsize, _fcd comment);
+H5_FCDLL int_f h5gcreate_anon_c(hid_t_f *loc_id, hid_t_f *gcpl_id, hid_t_f *gapl_id, hid_t_f *grp_id);
+H5_FCDLL int_f h5gget_create_plist_c(hid_t_f *grp_id, hid_t_f *gcpl_id );
+H5_FCDLL int_f h5gget_info_c(hid_t_f *group_id, int_f *storage_type, int_f *nlinks, int_f *max_corder, int_f *mounted);
+H5_FCDLL int_f h5gget_info_by_idx_c(hid_t_f *loc_id, _fcd group_name, size_t_f *group_namelen,
int_f *index_type, int_f *order, hsize_t_f *n, hid_t_f *lapl_id,
int_f *storage_type, int_f *nlinks, int_f *max_corder, int_f *mounted);
-H5_FCDLL int_f nh5gget_info_by_name_c(hid_t_f *loc_id, _fcd group_name, size_t_f *group_namelen, hid_t_f *lapl_id,
+H5_FCDLL int_f h5gget_info_by_name_c(hid_t_f *loc_id, _fcd group_name, size_t_f *group_namelen, hid_t_f *lapl_id,
int_f *storage_type, int_f *nlinks, int_f *max_corder, int_f *mounted);
/*
* Functions from H5Af.c
*/
-#define nh5acreate_c H5_FC_FUNC_(h5acreate_c, H5ACREATE_C)
-#define nh5aclose_c H5_FC_FUNC_(h5aclose_c, H5ACLOSE_C)
-#define nh5aopen_name_c H5_FC_FUNC_(h5aopen_name_c, H5AOPEN_NAME_C)
-#define nh5awrite_c H5_FC_FUNC_(h5awrite_c, H5AWRITE_C)
-#define nh5awrite_integer_s_c H5_FC_FUNC_(h5awrite_integer_s_c, H5AWRITE_INTEGER_S_C)
-#define nh5awrite_integer_1_c H5_FC_FUNC_(h5awrite_integer_1_c, H5AWRITE_INTEGER_1_C)
-#define nh5awrite_integer_2_c H5_FC_FUNC_(h5awrite_integer_2_c, H5AWRITE_INTEGER_2_C)
-#define nh5awrite_integer_3_c H5_FC_FUNC_(h5awrite_integer_3_c, H5AWRITE_INTEGER_3_C)
-#define nh5awrite_integer_4_c H5_FC_FUNC_(h5awrite_integer_4_c, H5AWRITE_INTEGER_4_C)
-#define nh5awrite_integer_5_c H5_FC_FUNC_(h5awrite_integer_5_c, H5AWRITE_INTEGER_5_C)
-#define nh5awrite_integer_6_c H5_FC_FUNC_(h5awrite_integer_6_c, H5AWRITE_INTEGER_6_C)
-#define nh5awrite_integer_7_c H5_FC_FUNC_(h5awrite_integer_7_c, H5AWRITE_INTEGER_7_C)
-#define nh5awrite_real_s_c H5_FC_FUNC_(h5awrite_real_s_c, H5AWRITE_REAL_S_C)
-#define nh5awrite_real_1_c H5_FC_FUNC_(h5awrite_real_1_c, H5AWRITE_REAL_1_C)
-#define nh5awrite_real_2_c H5_FC_FUNC_(h5awrite_real_2_c, H5AWRITE_REAL_2_C)
-#define nh5awrite_real_3_c H5_FC_FUNC_(h5awrite_real_3_c, H5AWRITE_REAL_3_C)
-#define nh5awrite_real_4_c H5_FC_FUNC_(h5awrite_real_4_c, H5AWRITE_REAL_4_C)
-#define nh5awrite_real_5_c H5_FC_FUNC_(h5awrite_real_5_c, H5AWRITE_REAL_5_C)
-#define nh5awrite_real_6_c H5_FC_FUNC_(h5awrite_real_6_c, H5AWRITE_REAL_6_C)
-#define nh5awrite_real_7_c H5_FC_FUNC_(h5awrite_real_7_c, H5AWRITE_REAL_7_C)
-#define nh5awrite_double_s_c H5_FC_FUNC_(h5awrite_double_s_c, H5AWRITE_DOUBLE_S_C)
-#define nh5awrite_double_1_c H5_FC_FUNC_(h5awrite_double_1_c, H5AWRITE_DOUBLE_1_C)
-#define nh5awrite_double_2_c H5_FC_FUNC_(h5awrite_double_2_c, H5AWRITE_DOUBLE_2_C)
-#define nh5awrite_double_3_c H5_FC_FUNC_(h5awrite_double_3_c, H5AWRITE_DOUBLE_3_C)
-#define nh5awrite_double_4_c H5_FC_FUNC_(h5awrite_double_4_c, H5AWRITE_DOUBLE_4_C)
-#define nh5awrite_double_5_c H5_FC_FUNC_(h5awrite_double_5_c, H5AWRITE_DOUBLE_5_C)
-#define nh5awrite_double_6_c H5_FC_FUNC_(h5awrite_double_6_c, H5AWRITE_DOUBLE_6_C)
-#define nh5awrite_double_7_c H5_FC_FUNC_(h5awrite_double_7_c, H5AWRITE_DOUBLE_7_C)
-#define nh5awritec_c H5_FC_FUNC_(h5awritec_c, H5AWRITEC_C)
-#define nh5awritec_s_c H5_FC_FUNC_(h5awritec_s_c, H5AWRITEC_S_C)
-#define nh5awritec_1_c H5_FC_FUNC_(h5awritec_1_c, H5AWRITEC_1_C)
-#define nh5awritec_2_c H5_FC_FUNC_(h5awritec_2_c, H5AWRITEC_2_C)
-#define nh5awritec_3_c H5_FC_FUNC_(h5awritec_3_c, H5AWRITEC_3_C)
-#define nh5awritec_4_c H5_FC_FUNC_(h5awritec_4_c, H5AWRITEC_4_C)
-#define nh5awritec_5_c H5_FC_FUNC_(h5awritec_5_c, H5AWRITEC_5_C)
-#define nh5awritec_6_c H5_FC_FUNC_(h5awritec_6_c, H5AWRITEC_6_C)
-#define nh5awritec_7_c H5_FC_FUNC_(h5awritec_7_c, H5AWRITEC_7_C)
-#define nh5aread_c H5_FC_FUNC_(h5aread_c, H5AREAD_C)
-#define nh5aread_integer_s_c H5_FC_FUNC_(h5aread_integer_s_c, H5AREAD_INTEGER_S_C)
-#define nh5aread_integer_1_c H5_FC_FUNC_(h5aread_integer_1_c, H5AREAD_INTEGER_1_C)
-#define nh5aread_integer_2_c H5_FC_FUNC_(h5aread_integer_2_c, H5AREAD_INTEGER_2_C)
-#define nh5aread_integer_3_c H5_FC_FUNC_(h5aread_integer_3_c, H5AREAD_INTEGER_3_C)
-#define nh5aread_integer_4_c H5_FC_FUNC_(h5aread_integer_4_c, H5AREAD_INTEGER_4_C)
-#define nh5aread_integer_5_c H5_FC_FUNC_(h5aread_integer_5_c, H5AREAD_INTEGER_5_C)
-#define nh5aread_integer_6_c H5_FC_FUNC_(h5aread_integer_6_c, H5AREAD_INTEGER_6_C)
-#define nh5aread_integer_7_c H5_FC_FUNC_(h5aread_integer_7_c, H5AREAD_INTEGER_7_C)
-#define nh5aread_real_s_c H5_FC_FUNC_(h5aread_real_s_c, H5AREAD_REAL_S_C)
-#define nh5aread_real_1_c H5_FC_FUNC_(h5aread_real_1_c, H5AREAD_REAL_1_C)
-#define nh5aread_real_2_c H5_FC_FUNC_(h5aread_real_2_c, H5AREAD_REAL_2_C)
-#define nh5aread_real_3_c H5_FC_FUNC_(h5aread_real_3_c, H5AREAD_REAL_3_C)
-#define nh5aread_real_4_c H5_FC_FUNC_(h5aread_real_4_c, H5AREAD_REAL_4_C)
-#define nh5aread_real_5_c H5_FC_FUNC_(h5aread_real_5_c, H5AREAD_REAL_5_C)
-#define nh5aread_real_6_c H5_FC_FUNC_(h5aread_real_6_c, H5AREAD_REAL_6_C)
-#define nh5aread_real_7_c H5_FC_FUNC_(h5aread_real_7_c, H5AREAD_REAL_7_C)
-#define nh5aread_double_s_c H5_FC_FUNC_(h5aread_double_s_c, H5AREAD_DOUBLE_S_C)
-#define nh5aread_double_1_c H5_FC_FUNC_(h5aread_double_1_c, H5AREAD_DOUBLE_1_C)
-#define nh5aread_double_2_c H5_FC_FUNC_(h5aread_double_2_c, H5AREAD_DOUBLE_2_C)
-#define nh5aread_double_3_c H5_FC_FUNC_(h5aread_double_3_c, H5AREAD_DOUBLE_3_C)
-#define nh5aread_double_4_c H5_FC_FUNC_(h5aread_double_4_c, H5AREAD_DOUBLE_4_C)
-#define nh5aread_double_5_c H5_FC_FUNC_(h5aread_double_5_c, H5AREAD_DOUBLE_5_C)
-#define nh5aread_double_6_c H5_FC_FUNC_(h5aread_double_6_c, H5AREAD_DOUBLE_6_C)
-#define nh5aread_double_7_c H5_FC_FUNC_(h5aread_double_7_c, H5AREAD_DOUBLE_7_C)
-#define nh5areadc_c H5_FC_FUNC_(h5areadc_c, H5AREADC_C)
-#define nh5areadc_s_c H5_FC_FUNC_(h5areadc_s_c, H5AREADC_S_C)
-#define nh5areadc_1_c H5_FC_FUNC_(h5areadc_1_c, H5AREADC_1_C)
-#define nh5areadc_2_c H5_FC_FUNC_(h5areadc_2_c, H5AREADC_2_C)
-#define nh5areadc_3_c H5_FC_FUNC_(h5areadc_3_c, H5AREADC_3_C)
-#define nh5areadc_4_c H5_FC_FUNC_(h5areadc_4_c, H5AREADC_4_C)
-#define nh5areadc_5_c H5_FC_FUNC_(h5areadc_5_c, H5AREADC_5_C)
-#define nh5areadc_6_c H5_FC_FUNC_(h5areadc_6_c, H5AREADC_6_C)
-#define nh5areadc_7_c H5_FC_FUNC_(h5areadc_7_c, H5AREADC_7_C)
-#define nh5aget_name_c H5_FC_FUNC_(h5aget_name_c, H5AGET_NAME_C)
-#define nh5aopen_idx_c H5_FC_FUNC_(h5aopen_idx_c, H5AOPEN_IDX_C)
-#define nh5aget_space_c H5_FC_FUNC_(h5aget_space_c, H5AGET_SPACE_C)
-#define nh5aget_type_c H5_FC_FUNC_(h5aget_type_c, H5AGET_TYPE_C)
-#define nh5aget_num_attrs_c H5_FC_FUNC_(h5aget_num_attrs_c, H5AGET_NUM_ATTRS_C)
-#define nh5adelete_c H5_FC_FUNC_(h5adelete_c, H5ADELETE_C)
-#define nh5aget_storage_size_c H5_FC_FUNC_(h5aget_storage_size_c, H5AGET_STORAGE_SIZE_C)
-#define nh5arename_by_name_c H5_FC_FUNC_(h5arename_by_name_c, H5ARENAME_BY_NAME_C)
-#define nh5aopen_c H5_FC_FUNC_(h5aopen_c, H5AOPEN_C)
-#define nh5adelete_by_name_c H5_FC_FUNC_(h5adelete_by_name_c,H5ADELETE_BY_NAME_C)
-#define nh5adelete_by_idx_c H5_FC_FUNC_(h5adelete_by_idx_c,H5ADELETE_BY_IDX_C)
-#define nh5aget_name_by_idx_c H5_FC_FUNC_(h5aget_name_by_idx_c,H5AGET_NAME_BY_IDX_C)
-#define nh5aget_create_plist_c H5_FC_FUNC_(h5aget_create_plist_c,H5AGET_CREATE_PLIST_C)
-#define nh5aopen_by_idx_c H5_FC_FUNC_(h5aopen_by_idx_c,H5AOPEN_BY_IDX_C)
-#define nh5aget_info_c H5_FC_FUNC_(h5aget_info_c,H5AGET_INFO_C)
-#define nh5aget_info_by_idx_c H5_FC_FUNC_(h5aget_info_by_idx_c,H5AGET_INFO_BY_IDX_C)
-#define nh5aget_info_by_name_c H5_FC_FUNC_(h5aget_info_by_name_c,H5AGET_INFO_BY_NAME_C)
-#define nh5aget_info_by_name_c H5_FC_FUNC_(h5aget_info_by_name_c,H5AGET_INFO_BY_NAME_C)
-#define nh5acreate_by_name_c H5_FC_FUNC_(h5acreate_by_name_c,H5ACREATE_BY_NAME_C)
-#define nh5aexists_c H5_FC_FUNC_(h5aexists_c,H5AEXISTS_C)
-#define nh5aexists_by_name_c H5_FC_FUNC_(h5aexists_by_name_c,H5AEXISTS_BY_NAME_C)
-#define nh5aopen_by_name_c H5_FC_FUNC_(h5aopen_by_name_c,H5AOPEN_BY_NAME_C)
-#define nh5arename_c H5_FC_FUNC_(h5arename_c,H5ARENAME_C)
-H5_FCDLL int_f nh5acreate_c (hid_t_f *obj_id, _fcd name, size_t_f *namelen, hid_t_f *type_id, hid_t_f *space_id, hid_t_f *crt_prp, hid_t_f *aapl, hid_t_f *attr_id);
-H5_FCDLL int_f nh5aopen_name_c (hid_t_f *obj_id, _fcd name, size_t_f *namelen, hid_t_f *attr_id);
-H5_FCDLL int_f nh5awritec_c (hid_t_f *attr_id, hid_t_f *mem_type_id, _fcd buf, void *dims);
-H5_FCDLL int_f nh5awritec_s_c (hid_t_f *attr_id, hid_t_f *mem_type_id, _fcd buf, void *dims);
-H5_FCDLL int_f nh5awritec_1_c (hid_t_f *attr_id, hid_t_f *mem_type_id, _fcd buf, void *dims);
-H5_FCDLL int_f nh5awritec_2_c (hid_t_f *attr_id, hid_t_f *mem_type_id, _fcd buf, void *dims);
-H5_FCDLL int_f nh5awritec_3_c (hid_t_f *attr_id, hid_t_f *mem_type_id, _fcd buf, void *dims);
-H5_FCDLL int_f nh5awritec_4_c (hid_t_f *attr_id, hid_t_f *mem_type_id, _fcd buf, void *dims);
-H5_FCDLL int_f nh5awritec_5_c (hid_t_f *attr_id, hid_t_f *mem_type_id, _fcd buf, void *dims);
-H5_FCDLL int_f nh5awritec_6_c (hid_t_f *attr_id, hid_t_f *mem_type_id, _fcd buf, void *dims);
-H5_FCDLL int_f nh5awritec_7_c (hid_t_f *attr_id, hid_t_f *mem_type_id, _fcd buf, void *dims);
-H5_FCDLL int_f nh5awrite_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void *dims);
-H5_FCDLL int_f nh5awrite_integer_s_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void *dims);
-H5_FCDLL int_f nh5awrite_integer_1_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void *dims);
-H5_FCDLL int_f nh5awrite_integer_2_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void *dims);
-H5_FCDLL int_f nh5awrite_integer_3_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void *dims);
-H5_FCDLL int_f nh5awrite_integer_4_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void *dims);
-H5_FCDLL int_f nh5awrite_integer_5_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void *dims);
-H5_FCDLL int_f nh5awrite_integer_6_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void *dims);
-H5_FCDLL int_f nh5awrite_integer_7_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void *dims);
-H5_FCDLL int_f nh5awrite_real_s_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void *dims);
-H5_FCDLL int_f nh5awrite_real_1_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void *dims);
-H5_FCDLL int_f nh5awrite_real_2_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void *dims);
-H5_FCDLL int_f nh5awrite_real_3_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void *dims);
-H5_FCDLL int_f nh5awrite_real_4_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void *dims);
-H5_FCDLL int_f nh5awrite_real_5_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void *dims);
-H5_FCDLL int_f nh5awrite_real_6_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void *dims);
-H5_FCDLL int_f nh5awrite_real_7_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void *dims);
-H5_FCDLL int_f nh5awrite_double_s_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void *dims);
-H5_FCDLL int_f nh5awrite_double_1_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void *dims);
-H5_FCDLL int_f nh5awrite_double_2_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void *dims);
-H5_FCDLL int_f nh5awrite_double_3_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void *dims);
-H5_FCDLL int_f nh5awrite_double_4_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void *dims);
-H5_FCDLL int_f nh5awrite_double_5_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void *dims);
-H5_FCDLL int_f nh5awrite_double_6_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void *dims);
-H5_FCDLL int_f nh5awrite_double_7_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void *dims);
-H5_FCDLL int_f h5awrite_f_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf);
-H5_FCDLL int_f nh5areadc_c (hid_t_f *attr_id, hid_t_f *mem_type_id, _fcd buf, void *dims);
-H5_FCDLL int_f nh5areadc_s_c (hid_t_f *attr_id, hid_t_f *mem_type_id, _fcd buf, void *dims);
-H5_FCDLL int_f nh5areadc_1_c (hid_t_f *attr_id, hid_t_f *mem_type_id, _fcd buf, void *dims);
-H5_FCDLL int_f nh5areadc_2_c (hid_t_f *attr_id, hid_t_f *mem_type_id, _fcd buf, void *dims);
-H5_FCDLL int_f nh5areadc_3_c (hid_t_f *attr_id, hid_t_f *mem_type_id, _fcd buf, void *dims);
-H5_FCDLL int_f nh5areadc_4_c (hid_t_f *attr_id, hid_t_f *mem_type_id, _fcd buf, void *dims);
-H5_FCDLL int_f nh5areadc_5_c (hid_t_f *attr_id, hid_t_f *mem_type_id, _fcd buf, void *dims);
-H5_FCDLL int_f nh5areadc_6_c (hid_t_f *attr_id, hid_t_f *mem_type_id, _fcd buf, void *dims);
-H5_FCDLL int_f nh5areadc_7_c (hid_t_f *attr_id, hid_t_f *mem_type_id, _fcd buf, void *dims);
-H5_FCDLL int_f nh5aread_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void *dims);
-H5_FCDLL int_f nh5aread_integer_s_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void *dims);
-H5_FCDLL int_f nh5aread_integer_1_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void *dims);
-H5_FCDLL int_f nh5aread_integer_2_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void *dims);
-H5_FCDLL int_f nh5aread_integer_3_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void *dims);
-H5_FCDLL int_f nh5aread_integer_4_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void *dims);
-H5_FCDLL int_f nh5aread_integer_5_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void *dims);
-H5_FCDLL int_f nh5aread_integer_6_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void *dims);
-H5_FCDLL int_f nh5aread_integer_7_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void *dims);
-H5_FCDLL int_f nh5aread_real_s_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void *dims);
-H5_FCDLL int_f nh5aread_real_1_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void *dims);
-H5_FCDLL int_f nh5aread_real_2_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void *dims);
-H5_FCDLL int_f nh5aread_real_3_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void *dims);
-H5_FCDLL int_f nh5aread_real_4_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void *dims);
-H5_FCDLL int_f nh5aread_real_5_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void *dims);
-H5_FCDLL int_f nh5aread_real_6_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void *dims);
-H5_FCDLL int_f nh5aread_real_7_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void *dims);
-H5_FCDLL int_f nh5aread_double_s_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void *dims);
-H5_FCDLL int_f nh5aread_double_1_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void *dims);
-H5_FCDLL int_f nh5aread_double_2_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void *dims);
-H5_FCDLL int_f nh5aread_double_3_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void *dims);
-H5_FCDLL int_f nh5aread_double_4_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void *dims);
-H5_FCDLL int_f nh5aread_double_5_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void *dims);
-H5_FCDLL int_f nh5aread_double_6_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void *dims);
-H5_FCDLL int_f nh5aread_double_7_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, void *dims);
-H5_FCDLL int_f h5aread_f_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf);
-H5_FCDLL int_f nh5aclose_c ( hid_t_f *attr_id );
-H5_FCDLL int_f nh5adelete_c (hid_t_f *obj_id, _fcd name, size_t_f *namelen);
-H5_FCDLL int_f nh5aopen_idx_c (hid_t_f *obj_id, int_f *idx, hid_t_f *attr_id);
-H5_FCDLL int_f nh5aget_space_c (hid_t_f *attr_id, hid_t_f *space_id);
-H5_FCDLL int_f nh5aget_type_c (hid_t_f *attr_id, hid_t_f *type_id);
-H5_FCDLL int_f nh5aget_num_attrs_c (hid_t_f *obj_id, int_f *attr_num);
-H5_FCDLL int_f nh5aget_name_c(hid_t_f *attr_id, size_t_f *size, _fcd buf);
-H5_FCDLL int_f nh5aget_storage_size_c ( hid_t_f *attr_id, hsize_t_f *size );
-H5_FCDLL int_f nh5arename_by_name_c ( hid_t_f *loc_id, _fcd obj_name, size_t_f *obj_namelen,
+H5_FCDLL int_f h5awrite_f_c(hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf);
+H5_FCDLL int_f h5aread_f_c(hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf);
+H5_FCDLL int_f h5adelete_c(hid_t_f *obj_id, _fcd name, size_t_f *namelen);
+H5_FCDLL int_f h5aget_num_attrs_c(hid_t_f *obj_id, int_f *attr_num);
+H5_FCDLL int_f h5aget_name_c(hid_t_f *attr_id, size_t_f *size, _fcd buf);
+H5_FCDLL int_f h5arename_by_name_c( hid_t_f *loc_id, _fcd obj_name, size_t_f *obj_namelen,
_fcd old_attr_name, size_t_f *old_attr_namelen,
_fcd new_attr_name, size_t_f *new_attr_namelen,
hid_t_f *lapl_id );
-H5_FCDLL int_f nh5aopen_c ( hid_t_f *obj_id, _fcd attr_name, size_t_f *attr_namelen,
+H5_FCDLL int_f h5aopen_c( hid_t_f *obj_id, _fcd attr_name, size_t_f *attr_namelen,
hid_t_f *aapl_id, hid_t_f *attr_id);
-H5_FCDLL int_f nh5adelete_by_name_c (hid_t_f *loc_id, _fcd obj_name, size_t_f *obj_namelen,
+H5_FCDLL int_f h5adelete_by_name_c(hid_t_f *loc_id, _fcd obj_name, size_t_f *obj_namelen,
_fcd attr_name, size_t_f *attr_namelen, hid_t_f *lapl_id);
-H5_FCDLL int_f nh5adelete_by_idx_c (hid_t_f *loc_id, _fcd obj_name, size_t_f *obj_namelen,
+H5_FCDLL int_f h5adelete_by_idx_c(hid_t_f *loc_id, _fcd obj_name, size_t_f *obj_namelen,
int_f *idx_type, int_f *order, hsize_t_f *n, hid_t_f *lapl_id);
-H5_FCDLL int_f nh5aget_name_by_idx_c (hid_t_f *loc_id, _fcd obj_name, size_t_f *obj_namelen,
+H5_FCDLL int_f h5aget_name_by_idx_c(hid_t_f *loc_id, _fcd obj_name, size_t_f *obj_namelen,
int_f *idx_type, int_f *order, hsize_t_f *n, _fcd name,
size_t_f *size, hid_t_f *lapl_id);
-H5_FCDLL int_f nh5aget_create_plist_c ( hid_t_f *attr_id, hid_t_f *creation_prop_id );
-H5_FCDLL int_f nh5aopen_by_idx_c (hid_t_f *loc_id, _fcd obj_name, size_t_f *obj_namelen,
+H5_FCDLL int_f h5aopen_by_idx_c(hid_t_f *loc_id, _fcd obj_name, size_t_f *obj_namelen,
int_f *idx_type, int_f *order, hsize_t_f *n, hid_t_f *aapl_id, hid_t_f *lapl_id, hid_t_f *attr_id);
-H5_FCDLL int_f nh5aget_info_c (hid_t_f *loc_id, int_f *corder_valid, int_f *corder,
+H5_FCDLL int_f h5aget_info_c(hid_t_f *loc_id, int_f *corder_valid, int_f *corder,
int_f *cset, hsize_t_f *data_size );
-H5_FCDLL int_f nh5aget_info_by_idx_c (hid_t_f *loc_id, _fcd obj_name, size_t_f *obj_namelen,
+H5_FCDLL int_f h5aget_info_by_idx_c(hid_t_f *loc_id, _fcd obj_name, size_t_f *obj_namelen,
int_f *idx_type, int_f *order, hsize_t_f *n, hid_t_f *lapl_id,
int_f *corder_valid, int_f *corder,
int_f *cset, hsize_t_f *data_size );
-H5_FCDLL int_f nh5aget_info_by_name_c (hid_t_f *loc_id, _fcd obj_name, size_t_f *obj_namelen,
+H5_FCDLL int_f h5aget_info_by_name_c(hid_t_f *loc_id, _fcd obj_name, size_t_f *obj_namelen,
_fcd attr_name, size_t_f *attr_namelen, hid_t_f *lapl_id,
int_f *corder_valid, int_f *corder,
int_f *cset, hsize_t_f *data_size );
-H5_FCDLL int_f nh5acreate_by_name_c(hid_t_f *loc_id, _fcd obj_name, size_t_f *obj_namelen,
+H5_FCDLL int_f h5acreate_by_name_c(hid_t_f *loc_id, _fcd obj_name, size_t_f *obj_namelen,
_fcd attr_name, size_t_f *attr_namelen, hid_t_f *type_id,
hid_t_f *space_id, hid_t_f *acpl_id, hid_t_f *aapl_id,
hid_t_f *lapl_id, hid_t_f *attr_id );
-H5_FCDLL int_f nh5aexists_c (hid_t_f *obj_id, _fcd name, size_t_f *namelen, hid_t_f *attr_exists);
-H5_FCDLL int_f nh5aexists_by_name_c (hid_t_f *loc_id, _fcd obj_name, size_t_f *obj_namelen, _fcd attr_name, size_t_f *attr_namelen,
+H5_FCDLL int_f h5aexists_c(hid_t_f *obj_id, _fcd name, size_t_f *namelen, hid_t_f *attr_exists);
+H5_FCDLL int_f h5aexists_by_name_c(hid_t_f *loc_id, _fcd obj_name, size_t_f *obj_namelen, _fcd attr_name, size_t_f *attr_namelen,
hid_t_f *lapl_id, int_f *attr_exists);
-H5_FCDLL int_f nh5aopen_by_name_c (hid_t_f *loc_id, _fcd obj_name, size_t_f *obj_namelen, _fcd attr_name, size_t_f *attr_namelen,
+H5_FCDLL int_f h5aopen_by_name_c(hid_t_f *loc_id, _fcd obj_name, size_t_f *obj_namelen, _fcd attr_name, size_t_f *attr_namelen,
hid_t_f *aapl_id, hid_t_f *lapl_id, hid_t_f *attr_id);
-H5_FCDLL int_f nh5arename_c( hid_t_f *loc_id,
+H5_FCDLL int_f h5arename_c( hid_t_f *loc_id,
_fcd old_attr_name, size_t_f *old_attr_namelen,
_fcd new_attr_name, size_t_f *new_attr_namelen);
/*
* Functions form H5Tf.c file
*/
-#define nh5topen_c H5_FC_FUNC_(h5topen_c, H5TOPEN_C)
-#define nh5tcommit_c H5_FC_FUNC_(h5tcommit_c, H5TCOMMIT_C)
-#define nh5tcommitted_c H5_FC_FUNC_(h5tcommitted_c, H5TCOMMITTED_C)
-#define nh5tclose_c H5_FC_FUNC_(h5tclose_c, H5TCLOSE_C)
-#define nh5tcopy_c H5_FC_FUNC_(h5tcopy_c, H5TCOPY_C)
-#define nh5tequal_c H5_FC_FUNC_(h5tequal_c, H5TEQUAL_C)
-#define nh5tget_class_c H5_FC_FUNC_(h5tget_class_c, H5TGET_CLASS_C)
-#define nh5tget_order_c H5_FC_FUNC_(h5tget_order_c, H5TGET_ORDER_C)
-#define nh5tset_order_c H5_FC_FUNC_(h5tset_order_c, H5TSET_ORDER_C)
-#define nh5tget_size_c H5_FC_FUNC_(h5tget_size_c, H5TGET_SIZE_C)
-#define nh5tset_size_c H5_FC_FUNC_(h5tset_size_c, H5TSET_SIZE_C)
-#define nh5tget_precision_c H5_FC_FUNC_(h5tget_precision_c, H5TGET_PRECISION_C)
-#define nh5tset_precision_c H5_FC_FUNC_(h5tset_precision_c, H5TSET_PRECISION_C)
-#define nh5tget_offset_c H5_FC_FUNC_(h5tget_offset_c, H5TGET_OFFSET_C)
-#define nh5tset_offset_c H5_FC_FUNC_(h5tset_offset_c, H5TSET_OFFSET_C)
-#define nh5tget_pad_c H5_FC_FUNC_(h5tget_pad_c, H5TGET_PAD_C)
-#define nh5tset_pad_c H5_FC_FUNC_(h5tset_pad_c, H5TSET_PAD_C)
-#define nh5tget_sign_c H5_FC_FUNC_(h5tget_sign_c, H5TGET_SIGN_C)
-#define nh5tset_sign_c H5_FC_FUNC_(h5tset_sign_c, H5TSET_SIGN_C)
-#define nh5tget_fields_c H5_FC_FUNC_(h5tget_fields_c, H5TGET_FIELDS_C)
-#define nh5tset_fields_c H5_FC_FUNC_(h5tset_fields_c, H5TSET_FIELDS_C)
-#define nh5tget_ebias_c H5_FC_FUNC_(h5tget_ebias_c, H5TGET_EBIAS_C)
-#define nh5tset_ebias_c H5_FC_FUNC_(h5tset_ebias_c, H5TSET_EBIAS_C)
-#define nh5tget_norm_c H5_FC_FUNC_(h5tget_norm_c, H5TGET_NORM_C)
-#define nh5tset_norm_c H5_FC_FUNC_(h5tset_norm_c, H5TSET_NORM_C)
-#define nh5tget_inpad_c H5_FC_FUNC_(h5tget_inpad_c, H5TGET_INPAD_C)
-#define nh5tset_inpad_c H5_FC_FUNC_(h5tset_inpad_c, H5TSET_INPAD_C)
-#define nh5tget_cset_c H5_FC_FUNC_(h5tget_cset_c, H5TGET_CSET_C)
-#define nh5tset_cset_c H5_FC_FUNC_(h5tset_cset_c, H5TSET_CSET_C)
-#define nh5tget_strpad_c H5_FC_FUNC_(h5tget_strpad_c, H5TGET_STRPAD_C)
-#define nh5tset_strpad_c H5_FC_FUNC_(h5tset_strpad_c, H5TSET_STRPAD_C)
-#define nh5tget_nmembers_c H5_FC_FUNC_(h5tget_nmembers_c, H5TGET_NMEMBERS_C)
-#define nh5tget_member_name_c H5_FC_FUNC_(h5tget_member_name_c, H5TGET_MEMBER_NAME_C)
-#define nh5tget_member_offset_c H5_FC_FUNC_(h5tget_member_offset_c, H5TGET_MEMBER_OFFSET_C)
-#define nh5tget_member_dims_c H5_FC_FUNC_(h5tget_member_dims_c, H5TGET_MEMBER_DIMS_C)
-#define nh5tget_member_type_c H5_FC_FUNC_(h5tget_member_type_c, H5TGET_MEMBER_TYPE_C)
-#define nh5tget_member_index_c H5_FC_FUNC_(h5tget_member_index_c, H5TGET_MEMBER_INDEX_C)
-#define nh5tinsert_c H5_FC_FUNC_(h5tinsert_c, H5TINSERT_C)
-#define nh5tcreate_c H5_FC_FUNC_(h5tcreate_c, H5TCREATE_C)
-#define nh5tpack_c H5_FC_FUNC_(h5tpack_c, H5TPACK_C)
-#define nh5tinsert_array_c H5_FC_FUNC_(h5tinsert_array_c, H5TINSERT_ARRAY_C)
-#define nh5tinsert_array_c2 H5_FC_FUNC_(h5tinsert_array_c2, H5TINSERT_ARRAY_C2)
-#define nh5tenum_create_c H5_FC_FUNC_(h5tenum_create_c, H5TENUM_CREATE_C)
-#define nh5tenum_insert_c H5_FC_FUNC_(h5tenum_insert_c, H5TENUM_INSERT_C)
-#define nh5tenum_nameof_c H5_FC_FUNC_(h5tenum_nameof_c, H5TENUM_NAMEOF_C)
-#define nh5tenum_valueof_c H5_FC_FUNC_(h5tenum_valueof_c, H5TENUM_VALUEOF_C)
-#define nh5tget_member_value_c H5_FC_FUNC_(h5tget_member_value_c, H5TGET_MEMBER_VALUE_C)
-#define nh5tset_tag_c H5_FC_FUNC_(h5tset_tag_c, H5TSET_TAG_C)
-#define nh5tget_tag_c H5_FC_FUNC_(h5tget_tag_c, H5TGET_TAG_C)
-#define nh5tarray_create_c H5_FC_FUNC_(h5tarray_create_c, H5TARRAY_CREATE_C)
-#define nh5tget_array_ndims_c H5_FC_FUNC_(h5tget_array_ndims_c, H5TGET_ARRAY_NDIMS_C)
-#define nh5tget_array_dims_c H5_FC_FUNC_(h5tget_array_dims_c, H5TGET_ARRAY_DIMS_C)
-#define nh5tget_super_c H5_FC_FUNC_(h5tget_super_c, H5TGET_SUPER_C)
-#define nh5tvlen_create_c H5_FC_FUNC_(h5tvlen_create_c, H5TVLEN_CREATE_C)
-#define nh5tis_variable_str_c H5_FC_FUNC_(h5tis_variable_str_c, H5TIS_VARIABLE_STR_C)
-#define nh5tget_member_class_c H5_FC_FUNC_(h5tget_member_class_c, H5TGET_MEMBER_CLASS_C)
-#define nh5tcommit_anon_c H5_FC_FUNC_(h5tcommit_anon_c, H5TCOMMIT_ANON_C)
-#define nh5tdecode_c H5_FC_FUNC_(h5tdecode_c, H5TDECODE_C)
-#define nh5tencode_c H5_FC_FUNC_(h5tencode_c, H5TENCODE_C)
-#define nh5tget_create_plist_c H5_FC_FUNC_(h5tget_create_plist_c, H5TGET_CREATE_PLIST_C)
-#define nh5tcompiler_conv_c H5_FC_FUNC_(h5tcompiler_conv_c, H5TCOMPILER_CONV_C)
-#define nh5tget_native_type_c H5_FC_FUNC_(h5tget_native_type_c, H5TGET_NATIVE_TYPE_C )
-H5_FCDLL int_f nh5tcreate_c(int_f *cls, size_t_f *size, hid_t_f *type_id);
-H5_FCDLL int_f nh5topen_c (hid_t_f *loc_id, _fcd name, int_f *namelen, hid_t_f *type_id, hid_t_f *tapl_id );
-H5_FCDLL int_f nh5tcommit_c (hid_t_f *loc_id, _fcd name, int_f *namelen, hid_t_f *type_id, hid_t_f *lcpl_id, hid_t_f *tcpl_id, hid_t_f *tapl_id);
-H5_FCDLL int_f nh5tclose_c ( hid_t_f *type_id );
-H5_FCDLL int_f nh5tequal_c ( hid_t_f *type1_id , hid_t_f *type2_id, int_f *c_flag);
-H5_FCDLL int_f nh5tcopy_c ( hid_t_f *type_id , hid_t_f *new_type_id);
-H5_FCDLL int_f nh5tget_class_c ( hid_t_f *type_id , int_f *classtype);
-H5_FCDLL int_f nh5tget_order_c ( hid_t_f *type_id , int_f *order);
-H5_FCDLL int_f nh5tset_order_c ( hid_t_f *type_id , int_f *order);
-H5_FCDLL int_f nh5tget_size_c ( hid_t_f *type_id , size_t_f *size);
-H5_FCDLL int_f nh5tset_size_c ( hid_t_f *type_id , size_t_f *size);
-H5_FCDLL int_f nh5tcommitted_c (hid_t_f *dtype_id);
-H5_FCDLL int_f nh5tget_precision_c ( hid_t_f *type_id , size_t_f *precision);
-H5_FCDLL int_f nh5tset_precision_c ( hid_t_f *type_id , size_t_f *precision);
-H5_FCDLL int_f nh5tget_offset_c ( hid_t_f *type_id , size_t_f *offset);
-H5_FCDLL int_f nh5tset_offset_c ( hid_t_f *type_id , size_t_f *offset);
-H5_FCDLL int_f nh5tget_pad_c ( hid_t_f *type_id , int_f * lsbpad, int_f * msbpad);
-H5_FCDLL int_f nh5tset_pad_c ( hid_t_f *type_id, int_f * lsbpad, int_f * msbpad );
-H5_FCDLL int_f nh5tget_sign_c ( hid_t_f *type_id , int_f* sign);
-H5_FCDLL int_f nh5tset_sign_c ( hid_t_f *type_id , int_f *sign);
-H5_FCDLL int_f nh5tget_fields_c ( hid_t_f *type_id, size_t_f *spos, size_t_f *epos, size_t_f* esize, size_t_f* mpos, size_t_f* msize);
-H5_FCDLL int_f nh5tset_fields_c ( hid_t_f *type_id, size_t_f *spos, size_t_f *epos, size_t_f* esize, size_t_f* mpos, size_t_f* msize);
-H5_FCDLL int_f nh5tget_ebias_c ( hid_t_f *type_id , size_t_f *ebias);
-H5_FCDLL int_f nh5tset_ebias_c ( hid_t_f *type_id , size_t_f *ebias);
-H5_FCDLL int_f nh5tget_norm_c ( hid_t_f *type_id , int_f *norm);
-H5_FCDLL int_f nh5tset_norm_c ( hid_t_f *type_id , int_f *norm);
-H5_FCDLL int_f nh5tget_inpad_c ( hid_t_f *type_id, int_f * padtype);
-H5_FCDLL int_f nh5tset_inpad_c ( hid_t_f *type_id, int_f * padtype);
-H5_FCDLL int_f nh5tget_cset_c ( hid_t_f *type_id, int_f * cset);
-H5_FCDLL int_f nh5tset_cset_c ( hid_t_f *type_id, int_f * cset);
-H5_FCDLL int_f nh5tget_strpad_c ( hid_t_f *type_id, int_f * strpad);
-H5_FCDLL int_f nh5tset_strpad_c ( hid_t_f *type_id, int_f * strpad);
-H5_FCDLL int_f nh5tget_nmembers_c ( hid_t_f *type_id , int_f * num_members);
-H5_FCDLL int_f nh5tget_member_name_c ( hid_t_f *type_id ,int_f* idx, _fcd member_name, int_f *namelen);
-H5_FCDLL int_f nh5tget_member_dims_c ( hid_t_f *type_id ,int_f* field_idx, int_f * dims, size_t_f * field_dims, int_f * perm );
-H5_FCDLL int_f nh5tget_member_offset_c ( hid_t_f *type_id ,int_f* member_no, size_t_f* offset);
-H5_FCDLL int_f nh5tget_member_type_c ( hid_t_f *type_id ,int_f* field_idx, hid_t_f * datatype);
-H5_FCDLL int_f nh5tget_member_index_c ( hid_t_f *type_id ,_fcd name, int_f* namelen, int_f *idx);
-H5_FCDLL int_f nh5tinsert_c(hid_t_f *type_id, _fcd name, int_f* namelen, size_t_f *offset, hid_t_f * field_id);
-H5_FCDLL int_f nh5tpack_c(hid_t_f * type_id);
-H5_FCDLL int_f nh5tinsert_array_c(hid_t_f * parent_id, _fcd name, int_f* namelen, size_t_f* offset, int_f* ndims, size_t_f* dims, hid_t_f* member_id, int_f* perm );
-H5_FCDLL int_f nh5tinsert_array_c2(hid_t_f * parent_id, _fcd name, int_f* namelen, size_t_f* offset, int_f* ndims, size_t_f* dims, hid_t_f* member_id);
-H5_FCDLL int_f nh5tenum_create_c ( hid_t_f *parent_id , hid_t_f *new_type_id);
-H5_FCDLL int_f nh5tenum_insert_c(hid_t_f *type_id, _fcd name, int_f* namelen, int_f* value);
+H5_FCDLL int_f h5tcreate_c(int_f *cls, size_t_f *size, hid_t_f *type_id);
+H5_FCDLL int_f h5topen_c(hid_t_f *loc_id, _fcd name, int_f *namelen, hid_t_f *type_id, hid_t_f *tapl_id );
+H5_FCDLL int_f h5tcommit_c(hid_t_f *loc_id, _fcd name, int_f *namelen, hid_t_f *type_id, hid_t_f *lcpl_id, hid_t_f *tcpl_id, hid_t_f *tapl_id);
+H5_FCDLL int_f h5tclose_c( hid_t_f *type_id );
+H5_FCDLL int_f h5tequal_c( hid_t_f *type1_id , hid_t_f *type2_id, int_f *c_flag);
+H5_FCDLL int_f h5tcopy_c( hid_t_f *type_id , hid_t_f *new_type_id);
+H5_FCDLL int_f h5tget_class_c( hid_t_f *type_id , int_f *classtype);
+H5_FCDLL int_f h5tget_order_c( hid_t_f *type_id , int_f *order);
+H5_FCDLL int_f h5tset_order_c( hid_t_f *type_id , int_f *order);
+H5_FCDLL int_f h5tget_size_c( hid_t_f *type_id , size_t_f *size);
+H5_FCDLL int_f h5tset_size_c( hid_t_f *type_id , size_t_f *size);
+H5_FCDLL int_f h5tcommitted_c(hid_t_f *dtype_id);
+H5_FCDLL int_f h5tget_precision_c( hid_t_f *type_id , size_t_f *precision);
+H5_FCDLL int_f h5tset_precision_c( hid_t_f *type_id , size_t_f *precision);
+H5_FCDLL int_f h5tget_offset_c( hid_t_f *type_id , size_t_f *offset);
+H5_FCDLL int_f h5tset_offset_c( hid_t_f *type_id , size_t_f *offset);
+H5_FCDLL int_f h5tget_pad_c( hid_t_f *type_id , int_f * lsbpad, int_f * msbpad);
+H5_FCDLL int_f h5tset_pad_c( hid_t_f *type_id, int_f * lsbpad, int_f * msbpad );
+H5_FCDLL int_f h5tget_sign_c( hid_t_f *type_id , int_f* sign);
+H5_FCDLL int_f h5tset_sign_c( hid_t_f *type_id , int_f *sign);
+H5_FCDLL int_f h5tget_fields_c( hid_t_f *type_id, size_t_f *spos, size_t_f *epos, size_t_f* esize, size_t_f* mpos, size_t_f* msize);
+H5_FCDLL int_f h5tset_fields_c( hid_t_f *type_id, size_t_f *spos, size_t_f *epos, size_t_f* esize, size_t_f* mpos, size_t_f* msize);
+H5_FCDLL int_f h5tget_ebias_c( hid_t_f *type_id , size_t_f *ebias);
+H5_FCDLL int_f h5tset_ebias_c( hid_t_f *type_id , size_t_f *ebias);
+H5_FCDLL int_f h5tget_norm_c( hid_t_f *type_id , int_f *norm);
+H5_FCDLL int_f h5tset_norm_c( hid_t_f *type_id , int_f *norm);
+H5_FCDLL int_f h5tget_inpad_c( hid_t_f *type_id, int_f * padtype);
+H5_FCDLL int_f h5tset_inpad_c( hid_t_f *type_id, int_f * padtype);
+H5_FCDLL int_f h5tget_cset_c( hid_t_f *type_id, int_f * cset);
+H5_FCDLL int_f h5tset_cset_c( hid_t_f *type_id, int_f * cset);
+H5_FCDLL int_f h5tget_strpad_c( hid_t_f *type_id, int_f * strpad);
+H5_FCDLL int_f h5tset_strpad_c( hid_t_f *type_id, int_f * strpad);
+H5_FCDLL int_f h5tget_nmembers_c( hid_t_f *type_id , int_f * num_members);
+H5_FCDLL int_f h5tget_member_name_c( hid_t_f *type_id ,int_f* idx, _fcd member_name, int_f *namelen);
+H5_FCDLL int_f h5tget_member_dims_c( hid_t_f *type_id ,int_f* field_idx, int_f * dims, size_t_f * field_dims, int_f * perm );
+H5_FCDLL int_f h5tget_member_offset_c( hid_t_f *type_id ,int_f* member_no, size_t_f* offset);
+H5_FCDLL int_f h5tget_member_type_c( hid_t_f *type_id ,int_f* field_idx, hid_t_f * datatype);
+H5_FCDLL int_f h5tget_member_index_c( hid_t_f *type_id ,_fcd name, int_f* namelen, int_f *idx);
+H5_FCDLL int_f h5tinsert_c(hid_t_f *type_id, _fcd name, int_f* namelen, size_t_f *offset, hid_t_f * field_id);
+H5_FCDLL int_f h5tpack_c(hid_t_f * type_id);
+H5_FCDLL int_f h5tinsert_array_c(hid_t_f * parent_id, _fcd name, int_f* namelen, size_t_f* offset, int_f* ndims, size_t_f* dims, hid_t_f* member_id, int_f* perm );
+H5_FCDLL int_f h5tinsert_array_c2(hid_t_f * parent_id, _fcd name, int_f* namelen, size_t_f* offset, int_f* ndims, size_t_f* dims, hid_t_f* member_id);
+H5_FCDLL int_f h5tenum_create_c( hid_t_f *parent_id , hid_t_f *new_type_id);
+H5_FCDLL int_f h5tenum_insert_c(hid_t_f *type_id, _fcd name, int_f* namelen, int_f* value);
H5_FCDLL int_f h5tenum_insert_ptr_c(hid_t_f *type_id, _fcd name, int_f* namelen, void *value);
-H5_FCDLL int_f nh5tenum_nameof_c(hid_t_f *type_id, int_f* value, _fcd name, size_t_f* namelen);
-H5_FCDLL int_f nh5tenum_valueof_c(hid_t_f *type_id, _fcd name, int_f* namelen, int_f* value);
-H5_FCDLL int_f nh5tget_member_value_c(hid_t_f *type_id, int_f* member_no, int_f* value);
-H5_FCDLL int_f nh5tset_tag_c(hid_t_f* type_id, _fcd tag, int_f* namelen);
-H5_FCDLL int_f nh5tget_tag_c(hid_t_f* type_id, _fcd tag, size_t_f* tag_size, int_f* namelen);
-H5_FCDLL int_f nh5tarray_create_c(hid_t_f * base_id, int_f *rank, hsize_t_f* dims, hid_t_f* type_id);
-H5_FCDLL int_f nh5tget_array_dims_c ( hid_t_f *type_id , hsize_t_f * dims);
-H5_FCDLL int_f nh5tget_array_ndims_c ( hid_t_f *type_id , int_f * ndims);
-H5_FCDLL int_f nh5tget_super_c ( hid_t_f *type_id , hid_t_f *base_type_id);
-H5_FCDLL int_f nh5tvlen_create_c ( hid_t_f *type_id , hid_t_f *vltype_id);
-H5_FCDLL int_f nh5tis_variable_str_c ( hid_t_f *type_id , int_f *flag );
-H5_FCDLL int_f nh5tget_member_class_c ( hid_t_f *type_id , int_f *member_no, int_f *cls );
-H5_FCDLL int_f nh5tcommit_anon_c(hid_t_f *loc_id, hid_t_f *dtype_id, hid_t_f *tcpl_id, hid_t_f *tapl_id);
-H5_FCDLL int_f nh5tdecode_c ( _fcd buf, hid_t_f *obj_id );
-H5_FCDLL int_f nh5tencode_c (_fcd buf, hid_t_f *obj_id, size_t_f *nalloc );
-H5_FCDLL int_f nh5tget_create_plist_c ( hid_t_f *dtype_id, hid_t_f *dtpl_id);
-H5_FCDLL int_f nh5tcompiler_conv_c ( hid_t_f *src_id, hid_t_f *dst_id, int_f *c_flag);
-H5_FCDLL int_f nh5tget_native_type_c(hid_t_f *dtype_id, int_f *direction, hid_t_f *native_dtype_id);
+H5_FCDLL int_f h5tenum_nameof_c(hid_t_f *type_id, int_f* value, _fcd name, size_t_f* namelen);
+H5_FCDLL int_f h5tenum_valueof_c(hid_t_f *type_id, _fcd name, int_f* namelen, int_f* value);
+H5_FCDLL int_f h5tget_member_value_c(hid_t_f *type_id, int_f* member_no, int_f* value);
+H5_FCDLL int_f h5tset_tag_c(hid_t_f* type_id, _fcd tag, int_f* namelen);
+H5_FCDLL int_f h5tget_tag_c(hid_t_f* type_id, _fcd tag, size_t_f* tag_size, int_f* namelen);
+H5_FCDLL int_f h5tarray_create_c(hid_t_f * base_id, int_f *rank, hsize_t_f* dims, hid_t_f* type_id);
+H5_FCDLL int_f h5tget_array_dims_c( hid_t_f *type_id , hsize_t_f * dims);
+H5_FCDLL int_f h5tget_array_ndims_c( hid_t_f *type_id , int_f * ndims);
+H5_FCDLL int_f h5tget_super_c( hid_t_f *type_id , hid_t_f *base_type_id);
+H5_FCDLL int_f h5tvlen_create_c( hid_t_f *type_id , hid_t_f *vltype_id);
+H5_FCDLL int_f h5tis_variable_str_c( hid_t_f *type_id , int_f *flag );
+H5_FCDLL int_f h5tget_member_class_c( hid_t_f *type_id , int_f *member_no, int_f *cls );
+H5_FCDLL int_f h5tcommit_anon_c(hid_t_f *loc_id, hid_t_f *dtype_id, hid_t_f *tcpl_id, hid_t_f *tapl_id);
+H5_FCDLL int_f h5tdecode_c( _fcd buf, hid_t_f *obj_id );
+H5_FCDLL int_f h5tencode_c(_fcd buf, hid_t_f *obj_id, size_t_f *nalloc );
+H5_FCDLL int_f h5tget_create_plist_c( hid_t_f *dtype_id, hid_t_f *dtpl_id);
+H5_FCDLL int_f h5tcompiler_conv_c( hid_t_f *src_id, hid_t_f *dst_id, int_f *c_flag);
+H5_FCDLL int_f h5tget_native_type_c(hid_t_f *dtype_id, int_f *direction, hid_t_f *native_dtype_id);
H5_FCDLL int_f h5tconvert_c(hid_t_f *src_id, hid_t_f *dst_id, size_t_f *nelmts, void *buf, void *background, hid_t_f *plist_id);
-
/*
* Functions from H5Of.c
*/
-#define nh5olink_c H5_FC_FUNC_(h5olink_c, H5OLINK_C)
-#define nh5oopen_c H5_FC_FUNC_(h5oopen_c, H5OOPEN_C)
-#define nh5oclose_c H5_FC_FUNC_(h5oclose_c, H5OCLOSE_C)
-#define nh5oopen_by_addr_c H5_FC_FUNC_(h5oopen_by_addr_c, H5OOPEN_BY_ADDR_C)
-#define nh5ocopy_c H5_FC_FUNC_(h5ocopy_c, H5OCOPY_C)
-#define nh5odecr_refcount_c H5_FC_FUNC_(h5odecr_refcount_c, H5ODECR_REFCOUNT_C)
-#define nh5oincr_refcount_c H5_FC_FUNC_(h5oincr_refcount_c, H5OINCR_REFCOUNT_C)
-#define nh5oexists_by_name_c H5_FC_FUNC_(h5oexists_by_name_c, H5OEXISTS_BY_NAME_C)
-#define nh5oset_comment_c H5_FC_FUNC_(h5oset_comment_c, H5OSET_COMMENT_C)
-#define nh5oset_comment_by_name_c H5_FC_FUNC_(h5oset_comment_by_name_c, H5OSET_COMMENT_BY_NAME_C)
-#define nh5oopen_by_idx_c H5_FC_FUNC_(h5oopen_by_idx_c, H5OOPEN_BY_IDX_C)
-#define nh5oget_comment_c H5_FC_FUNC_(h5oget_comment_c, H5OGET_COMMENT_C)
-#define nh5oget_comment_by_name_c H5_FC_FUNC_(h5oget_comment_by_name_c, H5OGET_COMMENT_BY_NAME_C)
-
-H5_FCDLL int_f nh5oopen_c (hid_t_f *loc_id, _fcd name, size_t_f *namelen, hid_t_f *lapl_id, hid_t_f *obj_id);
-H5_FCDLL int_f nh5oclose_c (hid_t_f *object_id );
-H5_FCDLL int_f nh5oopen_by_addr_c (hid_t_f *loc_id, haddr_t_f *addr, hid_t_f *obj_id);
-H5_FCDLL int_f nh5olink_c (hid_t_f *object_id, hid_t_f *new_loc_id, _fcd name, size_t_f *namelen,
+H5_FCDLL int_f h5oopen_c(hid_t_f *loc_id, _fcd name, size_t_f *namelen, hid_t_f *lapl_id, hid_t_f *obj_id);
+H5_FCDLL int_f h5oclose_c(hid_t_f *object_id );
+H5_FCDLL int_f h5oopen_by_addr_c(hid_t_f *loc_id, haddr_t_f *addr, hid_t_f *obj_id);
+H5_FCDLL int_f h5olink_c(hid_t_f *object_id, hid_t_f *new_loc_id, _fcd name, size_t_f *namelen,
hid_t_f *lcpl_id, hid_t_f *lapl_id);
-H5_FCDLL int_f h5ovisit_c (hid_t_f *group_id, int_f *index_type, int_f *order, H5O_iterate_t op, void *op_data);
+H5_FCDLL int_f h5ovisit_c(hid_t_f *group_id, int_f *index_type, int_f *order, H5O_iterate_t op, void *op_data);
H5_FCDLL int_f h5ovisit_by_name_c(hid_t_f *loc_id, _fcd object_name, size_t_f *namelen, int_f *index_type, int_f *order,
H5O_iterate_t op, void *op_data, hid_t_f *lapl_id );
-H5_FCDLL int_f h5oget_info_c (hid_t_f *object_id, H5O_info_t_f *object_info);
-H5_FCDLL int_f h5oget_info_by_idx_c (hid_t_f *loc_id, _fcd group_name, size_t_f *namelen,
+H5_FCDLL int_f h5oget_info_c(hid_t_f *object_id, H5O_info_t_f *object_info);
+H5_FCDLL int_f h5oget_info_by_idx_c(hid_t_f *loc_id, _fcd group_name, size_t_f *namelen,
int_f *index_field, int_f *order, hsize_t_f *n, hid_t_f *lapl_id, H5O_info_t_f *object_info);
-H5_FCDLL int_f h5oget_info_by_name_c (hid_t_f *loc_id, _fcd name, size_t_f *namelen, hid_t_f *lapl_id,
+H5_FCDLL int_f h5oget_info_by_name_c(hid_t_f *loc_id, _fcd name, size_t_f *namelen, hid_t_f *lapl_id,
H5O_info_t_f *object_info);
-H5_FCDLL int_f nh5ocopy_c (hid_t_f *src_loc_id, _fcd src_name, size_t_f *src_name_len,
+H5_FCDLL int_f h5ocopy_c(hid_t_f *src_loc_id, _fcd src_name, size_t_f *src_name_len,
hid_t_f *dst_loc_id, _fcd dst_name, size_t_f *dst_name_len,
hid_t_f *ocpypl_id, hid_t_f *lcpl_id );
-H5_FCDLL int_f nh5odecr_refcount_c (hid_t_f *object_id);
-H5_FCDLL int_f nh5oincr_refcount_c (hid_t_f *object_id);
-H5_FCDLL int_f nh5oexists_by_name_c (hid_t_f *loc_id, _fcd name, size_t_f *namelen, hid_t_f *lapl_id);
-H5_FCDLL int_f nh5oset_comment_c (hid_t_f *object_id, _fcd comment, size_t_f *commentlen);
-H5_FCDLL int_f nh5oset_comment_by_name_c (hid_t_f *object_id, _fcd name, size_t_f *namelen, _fcd comment, size_t_f *commentlen, hid_t_f *lapl_id);
-H5_FCDLL int_f nh5oopen_by_idx_c (hid_t_f *loc_id, _fcd group_name, size_t_f *group_namelen,
+H5_FCDLL int_f h5odecr_refcount_c(hid_t_f *object_id);
+H5_FCDLL int_f h5oincr_refcount_c(hid_t_f *object_id);
+H5_FCDLL int_f h5oexists_by_name_c(hid_t_f *loc_id, _fcd name, size_t_f *namelen, hid_t_f *lapl_id);
+H5_FCDLL int_f h5oset_comment_c(hid_t_f *object_id, _fcd comment, size_t_f *commentlen);
+H5_FCDLL int_f h5oset_comment_by_name_c(hid_t_f *object_id, _fcd name, size_t_f *namelen, _fcd comment, size_t_f *commentlen, hid_t_f *lapl_id);
+H5_FCDLL int_f h5oopen_by_idx_c(hid_t_f *loc_id, _fcd group_name, size_t_f *group_namelen,
int_f *index_type, int_f *order, hsize_t_f *n, hid_t_f *obj_id, hid_t_f *lapl_id);
-H5_FCDLL int_f nh5oget_comment_c (hid_t_f *object_id, _fcd comment, size_t_f *commentsize, hssize_t_f *bufsize);
-H5_FCDLL int_f nh5oget_comment_by_name_c (hid_t_f *loc_id, _fcd name, size_t_f *name_size,
+H5_FCDLL int_f h5oget_comment_c(hid_t_f *object_id, _fcd comment, size_t_f *commentsize, hssize_t_f *bufsize);
+H5_FCDLL int_f h5oget_comment_by_name_c(hid_t_f *loc_id, _fcd name, size_t_f *name_size,
_fcd comment, size_t_f *commentsize, size_t_f *bufsize, hid_t_f *lapl_id);
/*
* Functions from H5Pf.c
*/
-#define nh5pcreate_c H5_FC_FUNC_(h5pcreate_c, H5PCREATE_C)
-#define nh5pclose_c H5_FC_FUNC_(h5pclose_c, H5PCLOSE_C)
-#define nh5pcopy_c H5_FC_FUNC_(h5pcopy_c, H5PCOPY_C)
-#define nh5pcreate_class_f90_c H5_FC_FUNC_(h5pcreate_class_f90_c, H5PCREATE_CLASS_F90_C)
-#define nh5pequal_c H5_FC_FUNC_(h5pequal_c, H5PEQUAL_C)
-#define nh5pget_class_c H5_FC_FUNC_(h5pget_class_c, H5PGET_CLASS_C)
-#define nh5pset_deflate_c H5_FC_FUNC_(h5pset_deflate_c, H5PSET_DEFLATE_C)
-#define nh5pset_preserve_c H5_FC_FUNC_(h5pset_preserve_c, H5PSET_PRESERVE_C)
-#define nh5pget_preserve_c H5_FC_FUNC_(h5pget_preserve_c, H5PGET_PRESERVE_C)
-#define nh5pset_chunk_c H5_FC_FUNC_(h5pset_chunk_c, H5PSET_CHUNK_C)
-#define nh5pget_chunk_c H5_FC_FUNC_(h5pget_chunk_c, H5PGET_CHUNK_C)
-#define nh5pset_fill_valuec_c H5_FC_FUNC_(h5pset_fill_valuec_c, H5PSET_FILL_VALUEC_C)
-#define nh5pset_fill_value_integer_c H5_FC_FUNC_(h5pset_fill_value_integer_c, H5PSET_FILL_VALUE_INTEGER_C)
-#define nh5pset_fill_value_real_c H5_FC_FUNC_(h5pset_fill_value_real_c, H5PSET_FILL_VALUE_REAL_C)
-#define nh5pset_fill_value_double_c H5_FC_FUNC_(h5pset_fill_value_double_c, H5PSET_FILL_VALUE_DOUBLE_C)
-#define nh5pget_fill_valuec_c H5_FC_FUNC_(h5pget_fill_valuec_c, H5PGET_FILL_VALUEC_C)
-#define nh5pget_fill_value_integer_c H5_FC_FUNC_(h5pget_fill_value_integer_c, H5PGET_FILL_VALUE_INTEGER_C)
-#define nh5pget_fill_value_real_c H5_FC_FUNC_(h5pget_fill_value_real_c, H5PGET_FILL_VALUE_REAL_C)
-#define nh5pget_fill_value_double_c H5_FC_FUNC_(h5pget_fill_value_double_c, H5PGET_FILL_VALUE_DOUBLE_C)
-#define nh5pget_version_c H5_FC_FUNC_(h5pget_version_c, H5PGET_VERSION_C)
-#define nh5pget_userblock_c H5_FC_FUNC_(h5pget_userblock_c, H5PGET_USERBLOCK_C)
-#define nh5pset_userblock_c H5_FC_FUNC_(h5pset_userblock_c, H5PSET_USERBLOCK_C)
-#define nh5pset_sizes_c H5_FC_FUNC_(h5pset_sizes_c, H5PSET_SIZES_C)
-#define nh5pget_sizes_c H5_FC_FUNC_(h5pget_sizes_c, H5PGET_SIZES_C)
-#define nh5pget_sym_k_c H5_FC_FUNC_(h5pget_sym_k_c, H5PGET_SYM_K_C)
-#define nh5pset_sym_k_c H5_FC_FUNC_(h5pset_sym_k_c, H5PSET_SYM_K_C)
-#define nh5pget_istore_k_c H5_FC_FUNC_(h5pget_istore_k_c, H5PGET_ISTORE_K_C)
-#define nh5pset_istore_k_c H5_FC_FUNC_(h5pset_istore_k_c, H5PSET_ISTORE_K_C)
-#define nh5pget_driver_c H5_FC_FUNC_(h5pget_driver_c, H5PGET_DRIVER_C)
-#define nh5pset_fapl_stdio_c H5_FC_FUNC_(h5pset_fapl_stdio_c, H5PSET_FAPL_STDIO_C)
-#define nh5pget_fapl_stdio_c H5_FC_FUNC_(h5pget_fapl_stdio_c, H5PGET_FAPL_STDIO_C)
-#define nh5pset_fapl_sec2_c H5_FC_FUNC_(h5pset_fapl_sec2_c, H5PSET_FAPL_SEC2_C)
-#define nh5pget_fapl_sec2_c H5_FC_FUNC_(h5pget_fapl_sec2_c, H5PGET_FAPL_SEC2_C)
-#define nh5pset_alignment_c H5_FC_FUNC_(h5pset_alignment_c, H5PSET_ALIGNMENT_C)
-#define nh5pget_alignment_c H5_FC_FUNC_(h5pget_alignment_c, H5PGET_ALIGNMENT_C)
-#define nh5pset_fapl_core_c H5_FC_FUNC_(h5pset_fapl_core_c, H5PSET_FAPL_CORE_C)
-#define nh5pget_fapl_core_c H5_FC_FUNC_(h5pget_fapl_core_c, H5PGET_FAPL_CORE_C)
-#define nh5pset_fapl_family_c H5_FC_FUNC_(h5pset_fapl_family_c, H5PSET_FAPL_FAMILY_C)
-#define nh5pget_fapl_family_c H5_FC_FUNC_(h5pget_fapl_family_c, H5PGET_FAPL_FAMILY_C)
-#define nh5pset_cache_c H5_FC_FUNC_(h5pset_cache_c, H5PSET_CACHE_C)
-#define nh5pget_cache_c H5_FC_FUNC_(h5pget_cache_c, H5PGET_CACHE_C)
-#define nh5pset_fapl_split_c H5_FC_FUNC_(h5pset_fapl_split_c, H5PSET_FAPL_SPLIT_C)
-#define nh5pget_fapl_split_c H5_FC_FUNC_(h5pget_fapl_split_c, H5PGET_FAPL_SPLIT_C)
-#define nh5pset_gc_references_c H5_FC_FUNC_(h5pset_gc_references_c, H5PSET_GC_REFERENCES_C)
-#define nh5pget_gc_references_c H5_FC_FUNC_(h5pget_gc_references_c, H5PGET_GC_REFERENCES_C)
-#define nh5pset_layout_c H5_FC_FUNC_(h5pset_layout_c, H5PSET_LAYOUT_C)
-#define nh5pget_layout_c H5_FC_FUNC_(h5pget_layout_c, H5PGET_LAYOUT_C)
-#define nh5pset_filter_c H5_FC_FUNC_(h5pset_filter_c, H5PSET_FILTER_C)
-#define nh5premove_filter_c H5_FC_FUNC_(h5premove_filter_c, H5PREMOVE_FILTER_C)
-#define nh5pmodify_filter_c H5_FC_FUNC_(h5pmodify_filter_c, H5PMODIFY_FILTER_C)
-#define nh5pget_nfilters_c H5_FC_FUNC_(h5pget_nfilters_c, H5PGET_NFILTERS_C)
-#define nh5pget_filter_c H5_FC_FUNC_(h5pget_filter_c, H5PGET_FILTER_C)
-#define nh5pget_filter_by_id_c H5_FC_FUNC_(h5pget_filter_by_id_c, H5PGET_FILTER_BY_ID_C)
-#define nh5pset_external_c H5_FC_FUNC_(h5pset_external_c, H5PSET_EXTERNAL_C)
-#define nh5pget_external_count_c H5_FC_FUNC_(h5pget_external_count_c, H5PGET_EXTERNAL_COUNT_C)
-#define nh5pget_external_c H5_FC_FUNC_(h5pget_external_c, H5PGET_EXTERNAL_C)
-#define nh5pget_btree_ratios_c H5_FC_FUNC_(h5pget_btree_ratios_c, H5PGET_BTREE_RATIOS_C)
-#define nh5pset_btree_ratios_c H5_FC_FUNC_(h5pset_btree_ratios_c, H5PSET_BTREE_RATIOS_C)
-#define nh5pset_fapl_mpio_c H5_FC_FUNC_(h5pset_fapl_mpio_c, H5PSET_FAPL_MPIO_C)
-#define nh5pget_fapl_mpio_c H5_FC_FUNC_(h5pget_fapl_mpio_c, H5PGET_FAPL_MPIO_C)
-#define nh5pset_dxpl_mpio_c H5_FC_FUNC_(h5pset_dxpl_mpio_c, H5PSET_DXPL_MPIO_C)
-#define nh5pget_dxpl_mpio_c H5_FC_FUNC_(h5pget_dxpl_mpio_c, H5PGET_DXPL_MPIO_C)
-#define nh5pget_fclose_degree_c H5_FC_FUNC_(h5pget_fclose_degree_c, H5PGET_FCLOSE_DEGREE_C)
-#define nh5pset_fclose_degree_c H5_FC_FUNC_(h5pset_fclose_degree_c, H5PSET_FCLOSE_DEGREE_C)
-#define nh5pset_buffer_c H5_FC_FUNC_(h5pset_buffer_c, H5PSET_BUFFER_C)
-#define nh5pget_buffer_c H5_FC_FUNC_(h5pget_buffer_c, H5PGET_BUFFER_C)
-#define nh5pfill_value_defined_c H5_FC_FUNC_(h5pfill_value_defined_c, H5PFILL_VALUE_DEFINED_C)
-#define nh5pset_alloc_time_c H5_FC_FUNC_(h5pset_alloc_time_c, H5PSET_ALLOC_TIME_C)
-#define nh5pget_alloc_time_c H5_FC_FUNC_(h5pget_alloc_time_c, H5PGET_ALLOC_TIME_C)
-#define nh5pset_fill_time_c H5_FC_FUNC_(h5pset_fill_time_c, H5PSET_FILL_TIME_C)
-#define nh5pget_fill_time_c H5_FC_FUNC_(h5pget_fill_time_c, H5PGET_FILL_TIME_C)
-#define nh5pset_meta_block_size_c H5_FC_FUNC_(h5pset_meta_block_size_c, H5PSET_META_BLOCK_SIZE_C)
-#define nh5pget_meta_block_size_c H5_FC_FUNC_(h5pget_meta_block_size_c, H5PGET_META_BLOCK_SIZE_C)
-#define nh5pset_sieve_buf_size_c H5_FC_FUNC_(h5pset_sieve_buf_size_c, H5PSET_SIEVE_BUF_SIZE_C)
-#define nh5pget_sieve_buf_size_c H5_FC_FUNC_(h5pget_sieve_buf_size_c, H5PGET_SIEVE_BUF_SIZE_C)
-#define nh5pset_hyper_vector_size_c H5_FC_FUNC_(h5pset_hyper_vector_size_c, H5PSET_HYPER_VECTOR_SIZE_C)
-#define nh5pget_hyper_vector_size_c H5_FC_FUNC_(h5pget_hyper_vector_size_c, H5PGET_HYPER_VECTOR_SIZE_C)
-#define nh5pset_small_data_block_size_c H5_FC_FUNC_(h5pset_small_data_block_size_c, H5PSET_SMALL_DATA_BLOCK_SIZE_C)
-#define nh5pget_small_data_block_size_c H5_FC_FUNC_(h5pget_small_data_block_size_c, H5PGET_SMALL_DATA_BLOCK_SIZE_C)
-#define nh5pregister_integer_c H5_FC_FUNC_(h5pregister_integer_c, H5PREGISTER_INTEGER_C)
-#define nh5pregister_real_c H5_FC_FUNC_(h5pregister_real_c, H5PREGISTER_REAL_C)
-#define nh5pregister_double_c H5_FC_FUNC_(h5pregister_double_c, H5PREGISTER_DOUBLE_C)
-#define nh5pregisterc_c H5_FC_FUNC_(h5pregisterc_c, H5PREGISTERC_C)
-#define nh5pinsert_integer_c H5_FC_FUNC_(h5pinsert_integer_c, H5PINSERT_INTEGER_C)
-#define nh5pinsert_real_c H5_FC_FUNC_(h5pinsert_real_c, H5PINSERT_REAL_C)
-#define nh5pinsert_double_c H5_FC_FUNC_(h5pinsert_double_c, H5PINSERT_DOUBLE_C)
-#define nh5pinsertc_c H5_FC_FUNC_(h5pinsertc_c, H5PINSERTC_C)
-#define nh5pset_integer_c H5_FC_FUNC_(h5pset_integer_c, H5PSET_INTEGER_C)
-#define nh5pset_real_c H5_FC_FUNC_(h5pset_real_c, H5PSET_REAL_C)
-#define nh5pset_double_c H5_FC_FUNC_(h5pset_double_c, H5PSET_DOUBLE_C)
-#define nh5psetc_c H5_FC_FUNC_(h5psetc_c, H5PSETC_C)
-#define nh5pget_integer_c H5_FC_FUNC_(h5pget_integer_c, H5PGET_INTEGER_C)
-#define nh5pget_real_c H5_FC_FUNC_(h5pget_real_c, H5PGET_REAL_C)
-#define nh5pget_double_c H5_FC_FUNC_(h5pget_double_c, H5PGET_DOUBLE_C)
-#define nh5pgetc_c H5_FC_FUNC_(h5pgetc_c, H5PGETC_C)
-#define nh5pexist_c H5_FC_FUNC_(h5pexist_c, H5PEXIST_C)
-#define nh5pget_size_c H5_FC_FUNC_(h5pget_size_c, H5PGET_SIZE_C)
-#define nh5pget_nprops_c H5_FC_FUNC_(h5pget_nprops_c, H5PGET_NPROPS_C)
-#define nh5pget_class_parent_c H5_FC_FUNC_(h5pget_class_parent_c, H5PGET_CLASS_PARENT_C)
-#define nh5pisa_class_c H5_FC_FUNC_(h5pisa_class_c, H5PISA_CLASS_C)
-#define nh5pcopy_prop_c H5_FC_FUNC_(h5pcopy_prop_c, H5PCOPY_PROP_C)
-#define nh5premove_c H5_FC_FUNC_(h5premove_c, H5PREMOVE_C)
-#define nh5punregister_c H5_FC_FUNC_(h5punregister_c, H5PUNREGISTER_C)
-#define nh5pclose_class_c H5_FC_FUNC_(h5pclose_class_c, H5PCLOSE_CLASS_C)
-#define nh5pget_class_name_c H5_FC_FUNC_(h5pget_class_name_c, H5PGET_CLASS_NAME_C)
-#define nh5pset_shuffle_c H5_FC_FUNC_(h5pset_shuffle_c, H5PSET_SHUFFLE_C)
-#define nh5pset_fletcher32_c H5_FC_FUNC_(h5pset_fletcher32_c, H5PSET_FLETCHER32_C)
-#define nh5pset_edc_check_c H5_FC_FUNC_(h5pset_edc_check_c, H5PSET_EDC_CHECK_C)
-#define nh5pget_edc_check_c H5_FC_FUNC_(h5pget_edc_check_c, H5PGET_EDC_CHECK_C)
-#define nh5pset_family_offset_c H5_FC_FUNC_(h5pset_family_offset_c, H5PSET_FAMILY_OFFSET_C)
-#define nh5pget_fapl_multi_c H5_FC_FUNC_(h5pget_fapl_multi_c, H5PGET_FAPL_MULTI_C)
-#define nh5pset_fapl_multi_c H5_FC_FUNC_(h5pset_fapl_multi_c, H5PSET_FAPL_MULTI_C)
-#define nh5pset_fapl_multi_sc H5_FC_FUNC_(h5pset_fapl_multi_sc, H5PSET_FAPL_MULTI_SC)
-#define nh5pset_szip_c H5_FC_FUNC_(h5pset_szip_c, H5PSET_SZIP_C)
-#define nh5pall_filters_avail_c H5_FC_FUNC_(h5pall_filters_avail_c, H5PALL_FILTERS_AVAIL_C)
-#define nh5pget_attr_phase_change_c H5_FC_FUNC_(h5pget_attr_phase_change_c, H5PGET_ATTR_PHASE_CHANGE_C)
-#define nh5pset_attr_creation_order_c H5_FC_FUNC_(h5pset_attr_creation_order_c, H5PSET_ATTR_CREATION_ORDER_C)
-#define nh5pset_shared_mesg_nindexes_c H5_FC_FUNC_(h5pset_shared_mesg_nindexes_c, H5PSET_SHARED_MESG_NINDEXES_C)
-#define nh5pset_shared_mesg_index_c H5_FC_FUNC_(h5pset_shared_mesg_index_c,H5PSET_SHARED_MESG_INDEX_C)
-#define nh5pget_attr_creation_order_c H5_FC_FUNC_(h5pget_attr_creation_order_c,H5PGET_ATTR_CREATION_ORDER_C)
-#define nh5pset_libver_bounds_c H5_FC_FUNC_(h5pset_libver_bounds_c,H5PSET_LIBVER_BOUNDS_C)
-#define nh5pset_link_creation_order_c H5_FC_FUNC_(h5pset_link_creation_order_c, H5PSET_LINK_CREATION_ORDER_C)
-#define nh5pget_link_phase_change_c H5_FC_FUNC_(h5pget_link_phase_change_c, H5PGET_LINK_PHASE_CHANGE_C)
-#define nh5pget_obj_track_times_c H5_FC_FUNC_(h5pget_obj_track_times_c, H5PGET_OBJ_TRACK_TIMES_C)
-#define nh5pset_obj_track_times_c H5_FC_FUNC_(h5pset_obj_track_times_c, H5PSET_OBJ_TRACK_TIMES_C)
-#define nh5pset_create_inter_group_c H5_FC_FUNC_(h5pset_create_inter_group_c,H5PSET_CREATE_INTER_GROUP_C)
-#define nh5pget_create_inter_group_c H5_FC_FUNC_(h5pget_create_inter_group_c,H5PGET_CREATE_INTER_GROUP_C)
-#define nh5pget_link_creation_order_c H5_FC_FUNC_(h5pget_link_creation_order_c,H5PGET_LINK_CREATION_ORDER_C)
-#define nh5pset_char_encoding_c H5_FC_FUNC_(h5pset_char_encoding_c, H5PSET_CHAR_ENCODING_C)
-#define nh5pget_char_encoding_c H5_FC_FUNC_(h5pget_char_encoding_c, H5PGET_CHAR_ENCODING_C)
-#define nh5pset_copy_object_c H5_FC_FUNC_(h5pset_copy_object_c, H5PSET_COPY_OBJECT_C)
-#define nh5pget_copy_object_c H5_FC_FUNC_(h5pget_copy_object_c, H5PGET_COPY_OBJECT_C)
-#define nh5pget_data_transform_c H5_FC_FUNC_(h5pget_data_transform_c, H5PGET_DATA_TRANSFORM_C)
-#define nh5pset_data_transform_c H5_FC_FUNC_(h5pset_data_transform_c, H5PSET_DATA_TRANSFORM_C)
-#define nh5pget_local_heap_size_hint_c H5_FC_FUNC_(h5pget_local_heap_size_hint_c, H5PGET_LOCAL_HEAP_SIZE_HINT_C)
-#define nh5pget_est_link_info_c H5_FC_FUNC_(h5pget_est_link_info_c,H5PGET_EST_LINK_INFO_C)
-#define nh5pset_est_link_info_c H5_FC_FUNC_(h5pset_est_link_info_c,H5PSET_EST_LINK_INFO_C)
-#define nh5pset_local_heap_size_hint_c H5_FC_FUNC_(h5pset_local_heap_size_hint_c, H5PSET_LOCAL_HEAP_SIZE_HINT_C)
-#define nh5pset_link_phase_change_c H5_FC_FUNC_(h5pset_link_phase_change_c, H5PSET_LINK_PHASE_CHANGE_C)
-#define nh5pset_fapl_direct_c H5_FC_FUNC_(h5pset_fapl_direct_c, H5PSET_FAPL_DIRECT_C)
-#define nh5pget_fapl_direct_c H5_FC_FUNC_(h5pget_fapl_direct_c, H5PGET_FAPL_DIRECT_C)
-#define nh5pset_attr_phase_change_c H5_FC_FUNC_(h5pset_attr_phase_change_c, H5PSET_ATTR_PHASE_CHANGE_C)
-#define nh5pset_nbit_c H5_FC_FUNC_(h5pset_nbit_c, H5PSET_NBIT_C)
-#define nh5pset_scaleoffset_c H5_FC_FUNC_(h5pset_scaleoffset_c, H5PSET_SCALEOFFSET_C)
-#define nh5pset_nlinks_c H5_FC_FUNC_(h5pset_nlinks_c, H5PSET_NLINKS_C)
-#define nh5pget_nlinks_c H5_FC_FUNC_(h5pget_nlinks_c, H5PGET_NLINKS_C)
-#define nh5pset_chunk_cache_c H5_FC_FUNC_(h5pset_chunk_cache_c, H5PSET_CHUNK_CACHE_C)
-#define nh5pget_chunk_cache_c H5_FC_FUNC_(h5pget_chunk_cache_c, H5PGET_CHUNK_CACHE_C)
-#define nh5pget_mpio_actual_io_mode_c H5_FC_FUNC_(h5pget_mpio_actual_io_mode_c, H5PGET_MPIO_ACTUAL_IO_MODE_C)
-
-H5_FCDLL int_f nh5pcreate_c ( hid_t_f *cls, hid_t_f *prp_id );
-H5_FCDLL int_f nh5pclose_c ( hid_t_f *prp_id );
-H5_FCDLL int_f nh5pcopy_c ( hid_t_f *prp_id , hid_t_f *new_prp_id);
-H5_FCDLL int_f nh5pequal_c ( hid_t_f *plist1_id , hid_t_f *plist2_id, int_f *c_flag);
-H5_FCDLL int_f nh5pget_class_c ( hid_t_f *prp_id , hid_t_f *classtype);
-H5_FCDLL int_f nh5pset_deflate_c ( hid_t_f *prp_id , int_f *level);
-H5_FCDLL int_f nh5pset_chunk_c ( hid_t_f *prp_id, int_f *rank, hsize_t_f *dims );
-H5_FCDLL int_f nh5pget_chunk_c ( hid_t_f *prp_id, int_f *max_rank, hsize_t_f *dims );
-H5_FCDLL int_f h5pset_file_image_c (hid_t_f *fapl_id, void *buf_ptr, size_t_f *buf_len);
-H5_FCDLL int_f nh5pset_fill_valuec_c (hid_t_f *prp_id, hid_t_f *type_id, _fcd fillvalue);
-H5_FCDLL int_f h5pset_fill_value_c (hid_t_f *prp_id, hid_t_f *type_id, void *fillvalue);
-H5_FCDLL int_f nh5pset_fill_value_integer_c (hid_t_f *prp_id, hid_t_f *type_id, void *fillvalue);
-H5_FCDLL int_f nh5pset_fill_value_real_c (hid_t_f *prp_id, hid_t_f *type_id, void *fillvalue);
-H5_FCDLL int_f nh5pset_fill_value_double_c (hid_t_f *prp_id, hid_t_f *type_id, void *fillvalue);
-H5_FCDLL int_f h5pget_file_image_c (hid_t_f *fapl_id, void **buf_ptr, size_t_f *buf_len);
-H5_FCDLL int_f nh5pget_fill_valuec_c (hid_t_f *prp_id, hid_t_f *type_id, _fcd fillvalue);
-H5_FCDLL int_f h5pget_fill_value_c (hid_t_f *prp_id, hid_t_f *type_id, void *fillvalue);
-H5_FCDLL int_f nh5pget_fill_value_integer_c (hid_t_f *prp_id, hid_t_f *type_id, void *fillvalue);
-H5_FCDLL int_f nh5pget_fill_value_real_c (hid_t_f *prp_id, hid_t_f *type_id, void *fillvalue);
-H5_FCDLL int_f nh5pget_fill_value_double_c (hid_t_f *prp_id, hid_t_f *type_id, void *fillvalue);
-H5_FCDLL int_f nh5pset_preserve_c ( hid_t_f *prp_id , int_f *flag);
-H5_FCDLL int_f nh5pget_preserve_c ( hid_t_f *prp_id , int_f *flag);
-H5_FCDLL int_f nh5pget_version_c (hid_t_f *prp_id, int_f * boot,int_f * freelist, int_f * stab, int_f *shhdr);
-H5_FCDLL int_f nh5pset_userblock_c (hid_t_f *prp_id, hsize_t_f * size);
-H5_FCDLL int_f nh5pget_userblock_c (hid_t_f *prp_id, hsize_t_f * size);
-H5_FCDLL int_f nh5pget_sizes_c (hid_t_f *prp_id, size_t_f * sizeof_addr, size_t_f * sizeof_size);
-H5_FCDLL int_f nh5pset_sizes_c (hid_t_f *prp_id, size_t_f * sizeof_addr, size_t_f * sizeof_size);
-H5_FCDLL int_f nh5pset_sym_k_c (hid_t_f *prp_id, int_f* ik, int_f* lk);
-H5_FCDLL int_f nh5pget_sym_k_c (hid_t_f *prp_id, int_f* ik, int_f* lk);
-H5_FCDLL int_f nh5pset_istore_k_c (hid_t_f *prp_id, int_f* ik);
-H5_FCDLL int_f nh5pget_istore_k_c (hid_t_f *prp_id, int_f* ik);
-H5_FCDLL int_f nh5pget_driver_c (hid_t_f *prp_id, hid_t_f*driver);
-H5_FCDLL int_f nh5pset_fapl_stdio_c (hid_t_f *prp_id);
-H5_FCDLL int_f nh5pget_fapl_stdio_c (hid_t_f *prp_id, int_f* io);
-H5_FCDLL int_f nh5pset_fapl_sec2_c (hid_t_f *prp_id);
-H5_FCDLL int_f nh5pget_fapl_sec2_c (hid_t_f *prp_id, int_f* sec2);
-H5_FCDLL int_f nh5pset_alignment_c(hid_t_f *prp_id, hsize_t_f* threshold, hsize_t_f* alignment);
-H5_FCDLL int_f nh5pget_alignment_c(hid_t_f *prp_id, hsize_t_f* threshold, hsize_t_f* alignment);
-H5_FCDLL int_f nh5pget_fapl_core_c (hid_t_f *prp_id, size_t_f* increment, int_f *flag);
-H5_FCDLL int_f nh5pset_fapl_core_c (hid_t_f *prp_id, size_t_f* increment, int_f *flag);
-H5_FCDLL int_f nh5pset_fapl_family_c (hid_t_f *prp_id, hsize_t_f* memb_size, hid_t_f* memb_plist );
-H5_FCDLL int_f nh5pget_fapl_family_c (hid_t_f *prp_id, hsize_t_f* memb_size, hid_t_f* memb_plist );
-H5_FCDLL int_f nh5pset_cache_c(hid_t_f *prp_id, int_f* mdc_nelmts, size_t_f* rdcc_nelmts, size_t_f* rdcc_nbytes, real_f* rdcc_w0);
-H5_FCDLL int_f nh5pget_cache_c(hid_t_f *prp_id, int_f* mdc_nelmts, size_t_f* rdcc_nelmts, size_t_f* rdcc_nbytes, real_f* rdcc_w0);
-H5_FCDLL int_f nh5pget_fapl_split_c(hid_t_f *prp_id, size_t_f* meta_ext_size , _fcd meta_ext, hid_t_f* meta_plist, size_t_f* raw_ext_size, _fcd raw_ext, hid_t_f * raw_plist);
-H5_FCDLL int_f nh5pset_fapl_split_c(hid_t_f *prp_id, int_f* meta_len, _fcd meta_ext, hid_t_f* meta_plist, int_f* raw_len, _fcd raw_ext, hid_t_f * raw_plist);
-H5_FCDLL int_f nh5pset_gc_references_c(hid_t_f *prp_id, int_f* gc_references);
-H5_FCDLL int_f nh5pget_gc_references_c(hid_t_f *prp_id, int_f* gc_references);
-H5_FCDLL int_f nh5pset_layout_c (hid_t_f *prp_id, int_f* layout);
-H5_FCDLL int_f nh5pget_layout_c (hid_t_f *prp_id, int_f* layout);
-H5_FCDLL 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_FCDLL int_f nh5premove_filter_c (hid_t_f *prp_id, int_f* filter);
-H5_FCDLL 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_FCDLL int_f nh5pget_nfilters_c (hid_t_f *prp_id, int_f* nfilters);
-H5_FCDLL int_f nh5pget_filter_c(hid_t_f *prp_id, int_f* filter_number, int_f* flags, size_t_f* cd_nelmts, int_f* cd_values, size_t_f *namelen, _fcd name, int_f* filter_id);
-H5_FCDLL int_f nh5pget_filter_by_id_c(hid_t_f *prp_id, int_f* filter_id, int_f* flags, size_t_f* cd_nelmts, int_f* cd_values, size_t_f *namelen, _fcd name);
-H5_FCDLL int_f nh5pset_external_c (hid_t_f *prp_id, _fcd name, int_f* namelen, off_t_f* offset, hsize_t_f*bytes);
-H5_FCDLL int_f nh5pget_external_count_c (hid_t_f *prp_id, int_f* count);
-H5_FCDLL int_f nh5pget_external_c(hid_t_f *prp_id, int_f *idx, size_t_f* name_size, _fcd name, off_t_f* offset, hsize_t_f*bytes);
-H5_FCDLL int_f nh5pget_btree_ratios_c(hid_t_f *prp_id, real_f* left, real_f* middle, real_f* right);
-H5_FCDLL int_f nh5pset_btree_ratios_c(hid_t_f *prp_id, real_f* left, real_f* middle, real_f* right);
-H5_FCDLL int_f nh5pget_fapl_mpio_c(hid_t_f *prp_id, int_f* comm, int_f* info);
-H5_FCDLL int_f nh5pset_fapl_mpio_c(hid_t_f *prp_id, int_f* comm, int_f* info);
-H5_FCDLL int_f nh5pget_dxpl_mpio_c(hid_t_f *prp_id, int_f* data_xfer_mode);
-H5_FCDLL int_f nh5pset_dxpl_mpio_c(hid_t_f *prp_id, int_f* data_xfer_mode);
-H5_FCDLL int_f nh5pset_fclose_degree_c(hid_t_f *fapl, int_f *degree);
-H5_FCDLL int_f nh5pget_fclose_degree_c(hid_t_f *fapl, int_f *degree);
-H5_FCDLL int_f nh5pget_buffer_c(hid_t_f *plist, hsize_t_f *size);
-H5_FCDLL int_f nh5pset_buffer_c(hid_t_f *plist, hsize_t_f *size);
-H5_FCDLL int_f nh5pset_alloc_time_c(hid_t_f *plist, int_f *flag);
-H5_FCDLL int_f nh5pget_alloc_time_c(hid_t_f *plist, int_f *flag);
-H5_FCDLL int_f nh5pset_fill_time_c(hid_t_f *plist, int_f *flag);
-H5_FCDLL int_f nh5pget_fill_time_c(hid_t_f *plist, int_f *flag);
-H5_FCDLL int_f nh5pset_meta_block_size_c(hid_t_f *plist, hsize_t_f *size);
-H5_FCDLL int_f nh5pget_meta_block_size_c(hid_t_f *plist, hsize_t_f *size);
-H5_FCDLL int_f nh5pset_sieve_buf_size_c(hid_t_f *plist, size_t_f *size);
-H5_FCDLL int_f nh5pget_sieve_buf_size_c(hid_t_f *plist, size_t_f *size);
-H5_FCDLL int_f nh5pset_small_data_block_size_c(hid_t_f *plist, hsize_t_f *size);
-H5_FCDLL int_f nh5pget_small_data_block_size_c(hid_t_f *plist, hsize_t_f *size);
-H5_FCDLL int_f nh5pset_hyper_vector_size_c(hid_t_f *plist, size_t_f *size);
-H5_FCDLL int_f nh5pget_hyper_vector_size_c(hid_t_f *plist, size_t_f *size);
+H5_FCDLL int_f h5pcreate_c( hid_t_f *cls, hid_t_f *prp_id );
+H5_FCDLL int_f h5pclose_c( hid_t_f *prp_id );
+H5_FCDLL int_f h5pcopy_c( hid_t_f *prp_id , hid_t_f *new_prp_id);
+H5_FCDLL int_f h5pequal_c( hid_t_f *plist1_id , hid_t_f *plist2_id, int_f *c_flag);
+H5_FCDLL int_f h5pget_class_c( hid_t_f *prp_id , hid_t_f *classtype);
+H5_FCDLL int_f h5pset_deflate_c( hid_t_f *prp_id , int_f *level);
+H5_FCDLL int_f h5pset_chunk_c( hid_t_f *prp_id, int_f *rank, hsize_t_f *dims );
+H5_FCDLL int_f h5pget_chunk_c( hid_t_f *prp_id, int_f *max_rank, hsize_t_f *dims );
+H5_FCDLL int_f h5pset_file_image_c(hid_t_f *fapl_id, void *buf_ptr, size_t_f *buf_len);
+H5_FCDLL int_f h5pset_fill_value_c(hid_t_f *prp_id, hid_t_f *type_id, void *fillvalue);
+H5_FCDLL int_f h5pget_file_image_c(hid_t_f *fapl_id, void **buf_ptr, size_t_f *buf_len);
+H5_FCDLL int_f h5pget_fill_value_c(hid_t_f *prp_id, hid_t_f *type_id, void *fillvalue);
+H5_FCDLL int_f h5pset_preserve_c( hid_t_f *prp_id , int_f *flag);
+H5_FCDLL int_f h5pget_preserve_c( hid_t_f *prp_id , int_f *flag);
+H5_FCDLL int_f h5pget_version_c(hid_t_f *prp_id, int_f * boot,int_f * freelist, int_f * stab, int_f *shhdr);
+H5_FCDLL int_f h5pset_userblock_c(hid_t_f *prp_id, hsize_t_f * size);
+H5_FCDLL int_f h5pget_userblock_c(hid_t_f *prp_id, hsize_t_f * size);
+H5_FCDLL int_f h5pget_sizes_c(hid_t_f *prp_id, size_t_f * sizeof_addr, size_t_f * sizeof_size);
+H5_FCDLL int_f h5pset_sizes_c(hid_t_f *prp_id, size_t_f * sizeof_addr, size_t_f * sizeof_size);
+H5_FCDLL int_f h5pset_sym_k_c(hid_t_f *prp_id, int_f* ik, int_f* lk);
+H5_FCDLL int_f h5pget_sym_k_c(hid_t_f *prp_id, int_f* ik, int_f* lk);
+H5_FCDLL int_f h5pset_istore_k_c(hid_t_f *prp_id, int_f* ik);
+H5_FCDLL int_f h5pget_istore_k_c(hid_t_f *prp_id, int_f* ik);
+H5_FCDLL int_f h5pget_driver_c(hid_t_f *prp_id, hid_t_f*driver);
+H5_FCDLL int_f h5pset_fapl_stdio_c(hid_t_f *prp_id);
+#ifdef NO_SUCH_F90_FUNCTION
+H5_FCDLL int_f h5pget_fapl_stdio_c(hid_t_f *prp_id, int_f* io);
+#endif
+H5_FCDLL int_f h5pset_fapl_sec2_c(hid_t_f *prp_id);
+#ifdef NO_SUCH_F90_FUNCTION
+H5_FCDLL int_f h5pget_fapl_sec2_c(hid_t_f *prp_id, int_f* sec2);
+#endif
+H5_FCDLL int_f h5pset_alignment_c(hid_t_f *prp_id, hsize_t_f* threshold, hsize_t_f* alignment);
+H5_FCDLL int_f h5pget_alignment_c(hid_t_f *prp_id, hsize_t_f* threshold, hsize_t_f* alignment);
+H5_FCDLL int_f h5pget_fapl_core_c(hid_t_f *prp_id, size_t_f* increment, int_f *flag);
+H5_FCDLL int_f h5pset_fapl_core_c(hid_t_f *prp_id, size_t_f* increment, int_f *flag);
+H5_FCDLL int_f h5pset_fapl_family_c(hid_t_f *prp_id, hsize_t_f* memb_size, hid_t_f* memb_plist );
+H5_FCDLL int_f h5pget_fapl_family_c(hid_t_f *prp_id, hsize_t_f* memb_size, hid_t_f* memb_plist );
+H5_FCDLL int_f h5pset_cache_c(hid_t_f *prp_id, int_f* mdc_nelmts, size_t_f* rdcc_nelmts, size_t_f* rdcc_nbytes, real_f* rdcc_w0);
+H5_FCDLL int_f h5pget_cache_c(hid_t_f *prp_id, int_f* mdc_nelmts, size_t_f* rdcc_nelmts, size_t_f* rdcc_nbytes, real_f* rdcc_w0);
+#ifdef NO_SUCH_F90_FUNCTION
+H5_FCDLL int_f h5pget_fapl_split_c(hid_t_f *prp_id, size_t_f* meta_ext_size , _fcd meta_ext, hid_t_f* meta_plist, size_t_f* raw_ext_size, _fcd raw_ext, hid_t_f * raw_plist);
+#endif
+H5_FCDLL int_f h5pset_fapl_split_c(hid_t_f *prp_id, int_f* meta_len, _fcd meta_ext, hid_t_f* meta_plist, int_f* raw_len, _fcd raw_ext, hid_t_f * raw_plist);
+H5_FCDLL int_f h5pset_gc_references_c(hid_t_f *prp_id, int_f* gc_references);
+H5_FCDLL int_f h5pget_gc_references_c(hid_t_f *prp_id, int_f* gc_references);
+H5_FCDLL int_f h5pset_layout_c(hid_t_f *prp_id, int_f* layout);
+H5_FCDLL int_f h5pget_layout_c(hid_t_f *prp_id, int_f* layout);
+H5_FCDLL int_f h5pset_filter_c(hid_t_f *prp_id, int_f* filter, int_f* flags, size_t_f* cd_nelmts, int_f* cd_values );
+H5_FCDLL int_f h5premove_filter_c(hid_t_f *prp_id, int_f* filter);
+H5_FCDLL int_f h5pmodify_filter_c(hid_t_f *prp_id, int_f* filter, int_f* flags, size_t_f* cd_nelmts, int_f* cd_values );
+H5_FCDLL int_f h5pget_nfilters_c(hid_t_f *prp_id, int_f* nfilters);
+H5_FCDLL int_f h5pget_filter_c(hid_t_f *prp_id, int_f* filter_number, int_f* flags, size_t_f* cd_nelmts, int_f* cd_values, size_t_f *namelen, _fcd name, int_f* filter_id);
+H5_FCDLL int_f h5pget_filter_by_id_c(hid_t_f *prp_id, int_f* filter_id, int_f* flags, size_t_f* cd_nelmts, int_f* cd_values, size_t_f *namelen, _fcd name);
+H5_FCDLL int_f h5pset_external_c(hid_t_f *prp_id, _fcd name, int_f* namelen, off_t_f* offset, hsize_t_f*bytes);
+H5_FCDLL int_f h5pget_external_count_c(hid_t_f *prp_id, int_f* count);
+H5_FCDLL int_f h5pget_external_c(hid_t_f *prp_id, int_f *idx, size_t_f* name_size, _fcd name, off_t_f* offset, hsize_t_f*bytes);
+H5_FCDLL int_f h5pget_btree_ratios_c(hid_t_f *prp_id, real_f* left, real_f* middle, real_f* right);
+H5_FCDLL int_f h5pset_btree_ratios_c(hid_t_f *prp_id, real_f* left, real_f* middle, real_f* right);
+H5_FCDLL int_f h5pset_fclose_degree_c(hid_t_f *fapl, int_f *degree);
+H5_FCDLL int_f h5pget_fclose_degree_c(hid_t_f *fapl, int_f *degree);
+H5_FCDLL int_f h5pget_buffer_c(hid_t_f *plist, hsize_t_f *size);
+H5_FCDLL int_f h5pset_buffer_c(hid_t_f *plist, hsize_t_f *size);
+H5_FCDLL int_f h5pset_alloc_time_c(hid_t_f *plist, int_f *flag);
+H5_FCDLL int_f h5pget_alloc_time_c(hid_t_f *plist, int_f *flag);
+H5_FCDLL int_f h5pset_fill_time_c(hid_t_f *plist, int_f *flag);
+H5_FCDLL int_f h5pget_fill_time_c(hid_t_f *plist, int_f *flag);
+H5_FCDLL int_f h5pset_meta_block_size_c(hid_t_f *plist, hsize_t_f *size);
+H5_FCDLL int_f h5pget_meta_block_size_c(hid_t_f *plist, hsize_t_f *size);
+H5_FCDLL int_f h5pset_sieve_buf_size_c(hid_t_f *plist, size_t_f *size);
+H5_FCDLL int_f h5pget_sieve_buf_size_c(hid_t_f *plist, size_t_f *size);
+H5_FCDLL int_f h5pset_small_data_block_size_c(hid_t_f *plist, hsize_t_f *size);
+H5_FCDLL int_f h5pget_small_data_block_size_c(hid_t_f *plist, hsize_t_f *size);
+H5_FCDLL int_f h5pset_hyper_vector_size_c(hid_t_f *plist, size_t_f *size);
+H5_FCDLL int_f h5pget_hyper_vector_size_c(hid_t_f *plist, size_t_f *size);
H5_FCDLL int_f h5pcreate_class_c(hid_t_f *parent, _fcd name, int_f *name_len, hid_t_f *cls,
H5P_cls_create_func_t create, void *create_data,
H5P_cls_copy_func_t copy, void *copy_data,
H5P_cls_close_func_t close, void *close_data);
-H5_FCDLL int_f nh5pcreate_class_f90_c(hid_t_f *parent, _fcd name, int_f *name_len, hid_t_f *cls);
H5_FCDLL int_f h5pregister_c(hid_t_f *cls, _fcd name, int_f * name_len, size_t_f *size, void *value);
-H5_FCDLL int_f nh5pregister_integer_c(hid_t_f *cls, _fcd name, int_f * name_len, size_t_f *size, void *value);
-H5_FCDLL int_f nh5pregister_real_c(hid_t_f *cls, _fcd name, int_f * name_len, size_t_f *size, void *value);
-H5_FCDLL int_f nh5pregister_double_c(hid_t_f *cls, _fcd name, int_f * name_len, size_t_f *size, void *value);
-H5_FCDLL int_f nh5pregisterc_c(hid_t_f *cls, _fcd name, int_f * name_len, size_t_f *size, _fcd value, int_f *value_len);
H5_FCDLL int_f h5pinsert_c(hid_t_f *plist, _fcd name, int_f *name_len, size_t_f *size, void *value);
-H5_FCDLL int_f nh5pinsert_integer_c(hid_t_f *plist, _fcd name, int_f *name_len, size_t_f *size, void *value);
-H5_FCDLL int_f nh5pinsert_real_c(hid_t_f *plist, _fcd name, int_f *name_len, size_t_f *size, void *value);
-H5_FCDLL int_f nh5pinsert_double_c(hid_t_f *plist, _fcd name, int_f *name_len, size_t_f *size, void *value);
-H5_FCDLL int_f nh5pinsertc_c(hid_t_f *plist, _fcd name, int_f *name_len, size_t_f *size, _fcd value, int_f *value_len);
H5_FCDLL int_f h5pset_c(hid_t_f *prp_id, _fcd name, int_f *name_len, void *value);
-H5_FCDLL int_f nh5pset_integer_c(hid_t_f *prp_id, _fcd name, int_f *name_len, void *value);
-H5_FCDLL int_f nh5pset_real_c(hid_t_f *prp_id, _fcd name, int_f *name_len, void *value);
-H5_FCDLL int_f nh5pset_double_c(hid_t_f *prp_id, _fcd name, int_f *name_len, void *value);
-H5_FCDLL int_f nh5psetc_c(hid_t_f *prp_id, _fcd name, int_f *name_len, _fcd value, int_f *value_len);
H5_FCDLL int_f h5pget_c(hid_t_f *prp_id, _fcd name, int_f *name_len, void *value);
-H5_FCDLL int_f nh5pget_double_c(hid_t_f *prp_id, _fcd name, int_f *name_len, void *value);
-H5_FCDLL int_f nh5pget_integer_c(hid_t_f *prp_id, _fcd name, int_f *name_len, void *value);
-H5_FCDLL int_f nh5pget_real_c(hid_t_f *prp_id, _fcd name, int_f *name_len, void *value);
-H5_FCDLL int_f nh5pgetc_c(hid_t_f *prp_id, _fcd name, int_f *name_len, _fcd value, int_f *value_len);
-H5_FCDLL int_f nh5pexist_c(hid_t_f *prp_id, _fcd name, int_f *name_len);
-H5_FCDLL int_f nh5pget_size_c(hid_t_f *prp_id, _fcd name, int_f *name_len, size_t_f *size);
-H5_FCDLL int_f nh5pget_nprops_c(hid_t_f *prp_id, size_t_f *nprops);
-H5_FCDLL int_f nh5pget_class_parent_c(hid_t_f *prp_id, hid_t_f *parent_id);
-H5_FCDLL int_f nh5pisa_class_c(hid_t_f *plist, hid_t_f *pclass);
-H5_FCDLL int_f nh5pcopy_prop_c(hid_t_f *dst_id, hid_t_f *src_id, _fcd name, int_f *name_len);
-H5_FCDLL int_f nh5premove_c(hid_t_f *plid, _fcd name, int_f *name_len);
-H5_FCDLL int_f nh5punregister_c(hid_t_f *cls, _fcd name, int_f *name_len);
-H5_FCDLL int_f nh5pclose_class_c(hid_t_f * cls);
-H5_FCDLL int_f nh5pget_class_name_c(hid_t_f *prp_id, _fcd name, int_f *name_len);
-H5_FCDLL int_f nh5pset_shuffle_c ( hid_t_f *prp_id);
-H5_FCDLL int_f nh5pset_fletcher32_c ( hid_t_f *prp_id );
-H5_FCDLL int_f nh5pset_edc_check_c ( hid_t_f *prp_id, int_f *flag );
-H5_FCDLL int_f nh5pget_edc_check_c ( hid_t_f *prp_id, int_f *flag );
-H5_FCDLL int_f nh5pset_family_offset_c ( hid_t_f *prp_id , hsize_t_f *offset);
-H5_FCDLL int_f nh5pget_fapl_multi_c ( hid_t_f *prp_id , int_f *mem_map, hid_t_f *memb_fapl, _fcd memb_name, int_f *len, int_f *lenmax, real_f *memb_addr, int_f *flag, int_f *maxlen_out);
-H5_FCDLL int_f nh5pset_fapl_multi_c ( hid_t_f *prp_id , int_f *mem_map, hid_t_f *memb_fapl, _fcd memb_name, int_f *len, int_f *lenmax, real_f *memb_addr, int_f *flag);
-H5_FCDLL int_f nh5pset_fapl_multi_sc ( hid_t_f *prp_id , int_f *flag);
-H5_FCDLL int_f nh5pset_szip_c ( hid_t_f *prp_id , int_f *options_mask, int_f *pixels_per_block);
-H5_FCDLL int_f nh5pall_filters_avail_c ( hid_t_f *prp_id , int_f *status);
-H5_FCDLL int_f nh5pfill_value_defined_c ( hid_t_f *prp_id , int_f *flag);
-H5_FCDLL int_f nh5pget_attr_phase_change_c (hid_t_f *ocpl_id, int_f *max_compact, int_f *min_dense );
-H5_FCDLL int_f nh5pset_attr_creation_order_c(hid_t_f *ocpl_id, int_f *crt_order_flags );
-H5_FCDLL int_f nh5pset_shared_mesg_nindexes_c(hid_t_f *plist_id, int_f *nindexes );
-H5_FCDLL int_f nh5pset_shared_mesg_index_c(hid_t_f *fcpl_id, int_f *index_num, int_f *mesg_type_flags, int_f *min_mesg_size);
-H5_FCDLL int_f nh5pget_attr_creation_order_c(hid_t_f *ocpl_id, int_f *crt_order_flags);
-H5_FCDLL int_f nh5pset_libver_bounds_c(hid_t_f *fapl_id, int_f *low, int_f *high);
-H5_FCDLL int_f nh5pset_link_creation_order_c(hid_t_f *gcpl_id, int_f *crt_order_flags);
-H5_FCDLL int_f nh5pget_link_phase_change_c(hid_t_f *gcpl_id, int_f *max_compact, int_f *min_dense );
-H5_FCDLL int_f nh5pget_obj_track_times_c(hid_t_f *plist_id, int_f *flag);
-H5_FCDLL int_f nh5pset_obj_track_times_c(hid_t_f *plist_id, int_f *flag);
-H5_FCDLL int_f nh5pset_create_inter_group_c(hid_t_f *lcpl_id, int_f *crt_intermed_group);
-H5_FCDLL int_f nh5pget_create_inter_group_c(hid_t_f *lcpl_id, int_f *crt_intermed_group);
-H5_FCDLL int_f nh5pget_link_creation_order_c(hid_t_f *gcpl_id, int_f *crt_order_flags);
-H5_FCDLL int_f nh5pset_char_encoding_c(hid_t_f *plist_id, int_f *encoding);
-H5_FCDLL int_f nh5pget_char_encoding_c(hid_t_f *plist_id, int_f *encoding);
-H5_FCDLL int_f nh5pset_copy_object_c(hid_t_f *ocp_plist_id, int_f *copy_options);
-H5_FCDLL int_f nh5pget_copy_object_c(hid_t_f *ocp_plist_id, int_f *copy_options);
-H5_FCDLL int_f nh5pget_data_transform_c(hid_t_f *plist_id, _fcd expression, int_f *expression_len, size_t_f *size);
-H5_FCDLL int_f nh5pset_data_transform_c(hid_t_f *plist_id, _fcd expression, int_f *expression_len);
-H5_FCDLL int_f nh5pget_local_heap_size_hint_c(hid_t_f *gcpl_id, size_t_f *size_hint);
-H5_FCDLL int_f nh5pget_est_link_info_c(hid_t_f *gcpl_id, int_f *est_num_entries, int_f *est_name_len);
-H5_FCDLL int_f nh5pset_local_heap_size_hint_c(hid_t_f *gcpl_id, size_t_f *size_hint);
-H5_FCDLL int_f nh5pset_est_link_info_c(hid_t_f *gcpl_id, int_f *est_num_entries, int_f *est_name_len);
-H5_FCDLL int_f nh5pset_link_phase_change_c(hid_t_f *gcpl_id, int_f *max_compact, int_f *min_dense );
-H5_FCDLL int_f nh5pset_fapl_direct_c(hid_t_f *fapl_id, size_t_f *alignment, size_t_f *block_size, size_t_f *cbuf_size );
-H5_FCDLL int_f nh5pget_fapl_direct_c(hid_t_f *fapl_id, size_t_f *alignment, size_t_f *block_size, size_t_f *cbuf_size );
-H5_FCDLL int_f nh5pset_attr_phase_change_c (hid_t_f *ocpl_id, int_f *max_compact, int_f *min_dense );
-H5_FCDLL int_f nh5pset_nbit_c(hid_t_f *plist_id );
-H5_FCDLL int_f nh5pset_scaleoffset_c(hid_t_f *plist_id, int_f *scale_type, int_f *scale_factor );
-H5_FCDLL int_f nh5pset_nlinks_c(hid_t_f *lapl_id, size_t_f *nlinks);
-H5_FCDLL int_f nh5pget_nlinks_c(hid_t_f *lapl_id, size_t_f *nlinks);
-H5_FCDLL int_f nh5pset_chunk_cache_c(hid_t_f *dapl_id, size_t_f *rdcc_nslots, size_t_f *rdcc_nbytes, real_f *rdcc_w0);
-H5_FCDLL int_f nh5pget_chunk_cache_c(hid_t_f *dapl_id, size_t_f *rdcc_nslots, size_t_f *rdcc_nbytes, real_f *rdcc_w0);
-H5_FCDLL int_f nh5pget_mpio_actual_io_mode_c(hid_t_f *dxpl_id, int_f *actual_io_mode);
+H5_FCDLL int_f h5pexist_c(hid_t_f *prp_id, _fcd name, int_f *name_len);
+H5_FCDLL int_f h5pget_size_c(hid_t_f *prp_id, _fcd name, int_f *name_len, size_t_f *size);
+H5_FCDLL int_f h5pget_nprops_c(hid_t_f *prp_id, size_t_f *nprops);
+H5_FCDLL int_f h5pget_class_parent_c(hid_t_f *prp_id, hid_t_f *parent_id);
+H5_FCDLL int_f h5pisa_class_c(hid_t_f *plist, hid_t_f *pclass);
+H5_FCDLL int_f h5pcopy_prop_c(hid_t_f *dst_id, hid_t_f *src_id, _fcd name, int_f *name_len);
+H5_FCDLL int_f h5premove_c(hid_t_f *plid, _fcd name, int_f *name_len);
+H5_FCDLL int_f h5punregister_c(hid_t_f *cls, _fcd name, int_f *name_len);
+H5_FCDLL int_f h5pclose_class_c(hid_t_f * cls);
+H5_FCDLL int_f h5pget_class_name_c(hid_t_f *prp_id, _fcd name, int_f *name_len);
+H5_FCDLL int_f h5pset_shuffle_c( hid_t_f *prp_id);
+H5_FCDLL int_f h5pset_fletcher32_c( hid_t_f *prp_id );
+H5_FCDLL int_f h5pset_edc_check_c( hid_t_f *prp_id, int_f *flag );
+H5_FCDLL int_f h5pget_edc_check_c( hid_t_f *prp_id, int_f *flag );
+H5_FCDLL int_f h5pset_family_offset_c( hid_t_f *prp_id , hsize_t_f *offset);
+H5_FCDLL int_f h5pget_fapl_multi_c( hid_t_f *prp_id , int_f *mem_map, hid_t_f *memb_fapl, _fcd memb_name, int_f *len, int_f *lenmax, real_f *memb_addr, int_f *flag, int_f *maxlen_out);
+H5_FCDLL int_f h5pset_fapl_multi_c( hid_t_f *prp_id , int_f *mem_map, hid_t_f *memb_fapl, _fcd memb_name, int_f *len, int_f *lenmax, real_f *memb_addr, int_f *flag);
+H5_FCDLL int_f h5pset_fapl_multi_sc ( hid_t_f *prp_id , int_f *flag);
+H5_FCDLL int_f h5pset_szip_c( hid_t_f *prp_id , int_f *options_mask, int_f *pixels_per_block);
+H5_FCDLL int_f h5pall_filters_avail_c( hid_t_f *prp_id , int_f *status);
+H5_FCDLL int_f h5pfill_value_defined_c( hid_t_f *prp_id , int_f *flag);
+H5_FCDLL int_f h5pget_attr_phase_change_c(hid_t_f *ocpl_id, int_f *max_compact, int_f *min_dense );
+H5_FCDLL int_f h5pset_attr_creation_order_c(hid_t_f *ocpl_id, int_f *crt_order_flags );
+H5_FCDLL int_f h5pset_shared_mesg_nindexes_c(hid_t_f *plist_id, int_f *nindexes );
+H5_FCDLL int_f h5pset_shared_mesg_index_c(hid_t_f *fcpl_id, int_f *index_num, int_f *mesg_type_flags, int_f *min_mesg_size);
+H5_FCDLL int_f h5pget_attr_creation_order_c(hid_t_f *ocpl_id, int_f *crt_order_flags);
+H5_FCDLL int_f h5pset_libver_bounds_c(hid_t_f *fapl_id, int_f *low, int_f *high);
+H5_FCDLL int_f h5pset_link_creation_order_c(hid_t_f *gcpl_id, int_f *crt_order_flags);
+H5_FCDLL int_f h5pget_link_phase_change_c(hid_t_f *gcpl_id, int_f *max_compact, int_f *min_dense );
+H5_FCDLL int_f h5pget_obj_track_times_c(hid_t_f *plist_id, int_f *flag);
+H5_FCDLL int_f h5pset_obj_track_times_c(hid_t_f *plist_id, int_f *flag);
+H5_FCDLL int_f h5pset_create_inter_group_c(hid_t_f *lcpl_id, int_f *crt_intermed_group);
+H5_FCDLL int_f h5pget_create_inter_group_c(hid_t_f *lcpl_id, int_f *crt_intermed_group);
+H5_FCDLL int_f h5pget_link_creation_order_c(hid_t_f *gcpl_id, int_f *crt_order_flags);
+H5_FCDLL int_f h5pset_char_encoding_c(hid_t_f *plist_id, int_f *encoding);
+H5_FCDLL int_f h5pget_char_encoding_c(hid_t_f *plist_id, int_f *encoding);
+H5_FCDLL int_f h5pset_copy_object_c(hid_t_f *ocp_plist_id, int_f *copy_options);
+H5_FCDLL int_f h5pget_copy_object_c(hid_t_f *ocp_plist_id, int_f *copy_options);
+H5_FCDLL int_f h5pget_data_transform_c(hid_t_f *plist_id, _fcd expression, int_f *expression_len, size_t_f *size);
+H5_FCDLL int_f h5pset_data_transform_c(hid_t_f *plist_id, _fcd expression, int_f *expression_len);
+H5_FCDLL int_f h5pget_local_heap_size_hint_c(hid_t_f *gcpl_id, size_t_f *size_hint);
+H5_FCDLL int_f h5pget_est_link_info_c(hid_t_f *gcpl_id, int_f *est_num_entries, int_f *est_name_len);
+H5_FCDLL int_f h5pset_local_heap_size_hint_c(hid_t_f *gcpl_id, size_t_f *size_hint);
+H5_FCDLL int_f h5pset_est_link_info_c(hid_t_f *gcpl_id, int_f *est_num_entries, int_f *est_name_len);
+H5_FCDLL int_f h5pset_link_phase_change_c(hid_t_f *gcpl_id, int_f *max_compact, int_f *min_dense );
+H5_FCDLL int_f h5pset_fapl_direct_c(hid_t_f *fapl_id, size_t_f *alignment, size_t_f *block_size, size_t_f *cbuf_size );
+H5_FCDLL int_f h5pget_fapl_direct_c(hid_t_f *fapl_id, size_t_f *alignment, size_t_f *block_size, size_t_f *cbuf_size );
+H5_FCDLL int_f h5pset_attr_phase_change_c(hid_t_f *ocpl_id, int_f *max_compact, int_f *min_dense );
+H5_FCDLL int_f h5pset_nbit_c(hid_t_f *plist_id );
+H5_FCDLL int_f h5pset_scaleoffset_c(hid_t_f *plist_id, int_f *scale_type, int_f *scale_factor );
+H5_FCDLL int_f h5pset_nlinks_c(hid_t_f *lapl_id, size_t_f *nlinks);
+H5_FCDLL int_f h5pget_nlinks_c(hid_t_f *lapl_id, size_t_f *nlinks);
+H5_FCDLL int_f h5pset_chunk_cache_c(hid_t_f *dapl_id, size_t_f *rdcc_nslots, size_t_f *rdcc_nbytes, real_f *rdcc_w0);
+H5_FCDLL int_f h5pget_chunk_cache_c(hid_t_f *dapl_id, size_t_f *rdcc_nslots, size_t_f *rdcc_nbytes, real_f *rdcc_w0);
+#ifdef H5_HAVE_PARALLEL
+H5_FCDLL int_f h5pget_mpio_actual_io_mode_c(hid_t_f *dxpl_id, int_f *actual_io_mode);
+H5_FCDLL int_f h5pget_fapl_mpio_c(hid_t_f *prp_id, int_f* comm, int_f* info);
+H5_FCDLL int_f h5pset_fapl_mpio_c(hid_t_f *prp_id, int_f* comm, int_f* info);
+H5_FCDLL int_f h5pget_dxpl_mpio_c(hid_t_f *prp_id, int_f* data_xfer_mode);
+H5_FCDLL int_f h5pset_dxpl_mpio_c(hid_t_f *prp_id, int_f* data_xfer_mode);
+#endif
/*
* Functions frome H5Rf.c
*/
-#define nh5rcreate_object_c H5_FC_FUNC_(h5rcreate_object_c, H5RCREATE_OBJECT_C)
-#define nh5rcreate_region_c H5_FC_FUNC_(h5rcreate_region_c, H5RCREATE_REGION_C)
-#define nh5rdereference_region_c H5_FC_FUNC_(h5rdereference_region_c, H5RDEREFERENCE_REGION_C)
-#define nh5rdereference_object_c H5_FC_FUNC_(h5rdereference_object_c, H5RDEREFERENCE_OBJECT_C)
-#define nh5rget_region_region_c H5_FC_FUNC_(h5rget_region_region_c, H5RGET_REGION_REGION_C)
-#define nh5rget_object_type_obj_c H5_FC_FUNC_(h5rget_object_type_obj_c, H5RGET_OBJECT_TYPE_OBJ_C)
-#define nh5rget_name_object_c H5_FC_FUNC_(h5rget_name_object_c, H5RGET_NAME_OBJECT_C)
-#define nh5rget_name_region_c H5_FC_FUNC_(h5rget_name_region_c, H5RGET_NAME_REGION_C)
-
-
-H5_FCDLL int_f nh5rcreate_object_c (haddr_t_f *ref, hid_t_f *loc_id, _fcd name, int_f *namelen);
-H5_FCDLL int_f nh5rcreate_region_c (int_f *ref, hid_t_f *loc_id, _fcd name, int_f *namelen, hid_t_f *space_id);
-H5_FCDLL int_f h5rcreate_ptr_c (void *ref, hid_t_f *loc_id, _fcd name, int_f *namelen, int_f *ref_type, hid_t_f *space_id);
-H5_FCDLL int_f nh5rdereference_region_c (hid_t_f *dset_id, int_f *ref, hid_t_f *obj_id);
-H5_FCDLL int_f nh5rdereference_object_c (hid_t_f *dset_id, haddr_t_f *ref, hid_t_f *obj_id);
-H5_FCDLL int_f h5rdereference_ptr_c (hid_t_f *obj_id, int_f *ref_type, void *ref, hid_t_f *ref_obj_id);
-H5_FCDLL int_f nh5rget_region_region_c (hid_t_f *dset_id, int_f *ref, hid_t_f *space_id);
+H5_FCDLL int_f h5rcreate_region_c(int_f *ref, hid_t_f *loc_id, _fcd name, int_f *namelen, hid_t_f *space_id);
+H5_FCDLL int_f h5rcreate_ptr_c(void *ref, hid_t_f *loc_id, _fcd name, int_f *namelen, int_f *ref_type, hid_t_f *space_id);
+H5_FCDLL int_f h5rdereference_ptr_c(hid_t_f *obj_id, int_f *ref_type, void *ref, hid_t_f *ref_obj_id);
+H5_FCDLL int_f h5rget_region_region_c(hid_t_f *dset_id, int_f *ref, hid_t_f *space_id);
H5_FCDLL int_f h5rget_region_ptr_c(hid_t_f *dset_id, void *ref, hid_t_f *space_id);
-H5_FCDLL int_f nh5rget_object_type_obj_c (hid_t_f *dset_id, haddr_t_f *ref, int_f *obj_type);
-H5_FCDLL int_f nh5rget_name_object_c (hid_t_f *loc_id, haddr_t_f *ref, _fcd name, size_t_f *name_len, size_t_f *size_default);
-H5_FCDLL int_f nh5rget_name_region_c (hid_t_f *loc_id, int_f *ref, _fcd name, size_t_f *name_len, size_t_f *size_default);
-H5_FCDLL int_f h5rget_name_ptr_c (hid_t_f *loc_id, int_f *ref_type, void *ref, _fcd name, size_t_f *name_len, size_t_f *size_default);
-H5_FCDLL int_f h5rget_obj_type_c (hid_t_f *loc_id, int_f *ref_type, void *ref, int_f *obj_type);
+H5_FCDLL int_f h5rget_object_type_obj_c(hid_t_f *dset_id, haddr_t_f *ref, int_f *obj_type);
+H5_FCDLL int_f h5rget_name_ptr_c(hid_t_f *loc_id, int_f *ref_type, void *ref, _fcd name, size_t_f *name_len, size_t_f *size_default);
+H5_FCDLL int_f h5rget_obj_type_c(hid_t_f *loc_id, int_f *ref_type, void *ref, int_f *obj_type);
/*
* Functions from H5If.c
*/
-#define nh5iget_type_c H5_FC_FUNC_(h5iget_type_c, H5IGET_TYPE_C)
-#define nh5iget_name_c H5_FC_FUNC_(h5iget_name_c, H5IGET_NAME_C)
-#define nh5iinc_ref_c H5_FC_FUNC_(h5iinc_ref_c, H5IINC_REF_C)
-#define nh5idec_ref_c H5_FC_FUNC_(h5idec_ref_c, H5IDEC_REF_C)
-#define nh5iget_ref_c H5_FC_FUNC_(h5iget_ref_c, H5IGET_REF_C)
-#define nh5iget_file_id_c H5_FC_FUNC_(h5iget_file_id_c, H5IGET_FILE_ID_C)
-#define nh5iis_valid_c H5_FC_FUNC_(h5iis_valid_c, H5IIS_VALID_C)
-
-H5_FCDLL int_f nh5iget_type_c(hid_t_f *obj_id, int_f *type);
-H5_FCDLL int_f nh5iget_name_c(hid_t_f *obj_id, _fcd buf, size_t_f *buf_size, size_t_f *name_size);
-H5_FCDLL int_f nh5iinc_ref_c(hid_t_f *obj_id, int_f *ref_count);
-H5_FCDLL int_f nh5idec_ref_c(hid_t_f *obj_id, int_f *ref_count);
-H5_FCDLL int_f nh5iget_ref_c(hid_t_f *obj_id, int_f *ref_count);
-H5_FCDLL int_f nh5iget_file_id_c(hid_t_f *obj_id, hid_t_f *file_id);
-H5_FCDLL int_f nh5iis_valid_c(hid_t_f *obj_id, int_f *c_valid);
+H5_FCDLL int_f h5iget_type_c(hid_t_f *obj_id, int_f *type);
+H5_FCDLL int_f h5iget_name_c(hid_t_f *obj_id, _fcd buf, size_t_f *buf_size, size_t_f *name_size);
+H5_FCDLL int_f h5iinc_ref_c(hid_t_f *obj_id, int_f *ref_count);
+H5_FCDLL int_f h5idec_ref_c(hid_t_f *obj_id, int_f *ref_count);
+H5_FCDLL int_f h5iget_ref_c(hid_t_f *obj_id, int_f *ref_count);
+H5_FCDLL int_f h5iget_file_id_c(hid_t_f *obj_id, hid_t_f *file_id);
+H5_FCDLL int_f h5iis_valid_c(hid_t_f *obj_id, int_f *c_valid);
/*
* Functions from H5Ef.c
*/
-#define nh5eclear_c H5_FC_FUNC_(h5eclear_c, H5ECLEAR_C)
-#define nh5eprint_c1 H5_FC_FUNC_(h5eprint_c1, H5EPRINT_C1)
-#define nh5eprint_c2 H5_FC_FUNC_(h5eprint_c2, H5EPRINT_C2)
-#define nh5eget_major_c H5_FC_FUNC_(h5eget_major_c, H5EGET_MAJOR_C)
-#define nh5eget_minor_c H5_FC_FUNC_(h5eget_minor_c, H5EGET_MINOR_C)
-#define nh5eset_auto_c H5_FC_FUNC_(h5eset_auto_c, H5ESET_AUTO_C)
-#define nprocess_buffer H5_FC_FUNC_(process_buffer, PROCESS_BUFFER)
-
-H5_FCDLL int_f nh5eclear_c(hid_t_f *estack_id);
-H5_FCDLL int_f nh5eprint_c1(_fcd name, int_f* namelen);
-H5_FCDLL int_f nh5eprint_c2(void);
-H5_FCDLL int_f nh5eget_major_c(int_f* error_no, _fcd name, size_t_f* namelen);
-H5_FCDLL int_f nh5eget_minor_c(int_f* error_no, _fcd name, size_t_f* namelen);
-H5_FCDLL int_f nh5eset_auto_c(int_f* printflag);
+H5_FCDLL int_f h5eclear_c(hid_t_f *estack_id);
+H5_FCDLL int_f h5eprint_c1(_fcd name, int_f* namelen);
+H5_FCDLL int_f h5eprint_c2(void);
+H5_FCDLL int_f h5eget_major_c(int_f* error_no, _fcd name, size_t_f* namelen);
+H5_FCDLL int_f h5eget_minor_c(int_f* error_no, _fcd name, size_t_f* namelen);
H5_FCDLL int_f h5eset_auto2_c(int_f* printflag, hid_t_f *estack_id, H5E_auto2_t func, void *client_data);
-H5_FCDLL int_f nprocess_buffer(hid_t_f *estack_id,void **buffer);
/*
* Functions from H5f.c
*/
-#define nh5open_c H5_FC_FUNC_(h5open_c, H5OPEN_C)
-#define nh5close_c H5_FC_FUNC_(h5close_c, H5CLOSE_C)
-#define nh5init_types_c H5_FC_FUNC_(h5init_types_c, H5INIT_TYPES_C)
-#define nh5close_types_c H5_FC_FUNC_(h5close_types_c, H5CLOSE_TYPES_C)
-#define nh5init_flags_c H5_FC_FUNC_(h5init_flags_c, H5INIT_FLAGS_C)
-#define nh5init1_flags_c H5_FC_FUNC_(h5init1_flags_c, H5INIT1_FLAGS_C)
-#define nh5get_libversion_c H5_FC_FUNC_(h5get_libversion_c, H5GET_LIBVERSION_C)
-#define nh5check_version_c H5_FC_FUNC_(h5check_version_c, H5CHECK_VERSION_C)
-#define nh5garbage_collect_c H5_FC_FUNC_(h5garbage_collect_c, H5GARBAGE_COLLECT_C)
-#define nh5dont_atexit_c H5_FC_FUNC_(h5dont_atexit_c, H5DONT_ATEXIT_C)
-
-
-H5_FCDLL int_f nh5open_c(void);
-H5_FCDLL int_f nh5close_c(void);
-H5_FCDLL int_f nh5init_types_c(hid_t_f *types, hid_t_f *floatingtypes, hid_t_f *integertypes);
-H5_FCDLL int_f nh5close_types_c(hid_t_f *types, int_f *lentypes, hid_t_f *floatingtypes, int_f *floatinglen, hid_t_f *integertypes, int_f *integerlen);
-H5_FCDLL int_f nh5init_flags_c(int_f *h5d_flags, size_t_f *h5d_size_flags, int_f *h5e_flags, hid_t_f *h5e_hid_flags, int_f *h5f_flags,
- int_f *h5fd_flags, hid_t_f *h5fd_hid_flags,
- int_f *h5g_flags, int_f *h5i_flags, int_f *h5l_flags, int_f *h5o_flags,
- hid_t_f *h5p_flags, int_f *h5p_flags_int, int_f *h5r_flags, int_f *h5s_flags,
- hsize_t_f *h5s_hsize_flags, int_f *h5t_flags, int_f *h5z_flags, int_f *h5_generic_flags);
-H5_FCDLL int_f nh5init1_flags_c(int_f *h5lib_flags);
-H5_FCDLL int_f nh5get_libversion_c(int_f *majnum, int_f *minnum, int_f *relnum);
-H5_FCDLL int_f nh5check_version_c(int_f *majnum, int_f *minnum, int_f *relnum);
-H5_FCDLL int_f nh5garbage_collect_c(void);
-H5_FCDLL int_f nh5dont_atexit_c(void);
+H5_FCDLL int_f h5open_c(void);
+H5_FCDLL int_f h5close_c(void);
+H5_FCDLL int_f h5init_types_c(hid_t_f *types, hid_t_f *floatingtypes, hid_t_f *integertypes);
+H5_FCDLL int_f h5close_types_c(hid_t_f *types, int_f *lentypes, hid_t_f *floatingtypes, int_f *floatinglen, hid_t_f *integertypes, int_f *integerlen);
+H5_FCDLL int_f h5init_flags_c(int_f *h5d_flags, size_t_f *h5d_size_flags, int_f *h5e_flags, hid_t_f *h5e_hid_flags, int_f *h5f_flags,
+ int_f *h5fd_flags, hid_t_f *h5fd_hid_flags,
+ int_f *h5g_flags, int_f *h5i_flags, int_f *h5l_flags, int_f *h5o_flags,
+ hid_t_f *h5p_flags, int_f *h5p_flags_int, int_f *h5r_flags, int_f *h5s_flags,
+ hsize_t_f *h5s_hsize_flags, int_f *h5t_flags, int_f *h5z_flags, int_f *h5_generic_flags,
+ haddr_t_f *h5_haddr_generic_flags);
+H5_FCDLL int_f h5init1_flags_c(int_f *h5lib_flags);
+H5_FCDLL int_f h5get_libversion_c(int_f *majnum, int_f *minnum, int_f *relnum);
+H5_FCDLL int_f h5check_version_c(int_f *majnum, int_f *minnum, int_f *relnum);
+H5_FCDLL int_f h5garbage_collect_c(void);
+H5_FCDLL int_f h5dont_atexit_c(void);
/*
* Functions from H5Zf.c
*/
-#define nh5zunregister_c H5_FC_FUNC_(h5zunregister_c, H5ZUNREGISTER_C)
-#define nh5zfilter_avail_c H5_FC_FUNC_(h5zfilter_avail_c, H5ZFILTER_AVAIL_C)
-#define nh5zget_filter_info_c H5_FC_FUNC_(h5zget_filter_info_c, H5ZGET_FILTER_INFO_C)
-
-
-H5_FCDLL int_f nh5zunregister_c (int_f *filter);
-H5_FCDLL int_f nh5zfilter_avail_c (int_f *filter, int_f *flag);
-H5_FCDLL int_f nh5zget_filter_info_c (int_f *filter, int_f *flag);
-
+H5_FCDLL int_f h5zunregister_c(int_f *filter);
+H5_FCDLL int_f h5zfilter_avail_c(int_f *filter, int_f *flag);
+H5_FCDLL int_f h5zget_filter_info_c(int_f *filter, int_f *flag);
/*
* Functions from H5Lf.c
*/
-#define nh5lcopy_c H5_FC_FUNC_(h5lcopy_c, H5LCOPY_C)
-#define nh5lcreate_external_c H5_FC_FUNC_(h5lcreate_external_c, H5LCREATE_EXTERNAL_C)
-#define nh5lcreate_hard_c H5_FC_FUNC_(h5lcreate_hard_c, H5LCREATE_HARD_C)
-#define nh5lcreate_soft_c H5_FC_FUNC_(h5lcreate_soft_c, H5LCREATE_SOFT_C)
-#define nh5ldelete_c H5_FC_FUNC_(h5ldelete_c, H5LDELETE_C)
-#define nh5ldelete_by_idx_c H5_FC_FUNC_(h5ldelete_by_idx_c, H5LDELETE_BY_IDX_C)
-#define nh5lexists_c H5_FC_FUNC_(h5lexists_c, H5LEXISTS_C)
-#define nh5lget_info_c H5_FC_FUNC_(h5lget_info_c, H5LGET_INFO_C)
-#define nh5lget_info_by_idx_c H5_FC_FUNC_(h5lget_info_by_idx_c, H5LGET_INFO_BY_IDX_C)
-#define nh5lis_registered_c H5_FC_FUNC_(h5lis_registered_c, H5LIS_REGISTERED_C)
-#define nh5lmove_c H5_FC_FUNC_(h5lmove_c, H5LMOVE_C)
-#define nh5lget_name_by_idx_c H5_FC_FUNC_(h5lget_name_by_idx_c, H5LGET_NAME_BY_IDX_C)
-#define nh5lget_val_c H5_FC_FUNC_(h5lget_val_c, H5LGET_VAL_C)
-H5_FCDLL int_f nh5lcopy_c(hid_t_f *src_loc_id, _fcd src_name, size_t_f *src_namelen, hid_t_f *dest_loc_id,
+H5_FCDLL int_f h5lcopy_c(hid_t_f *src_loc_id, _fcd src_name, size_t_f *src_namelen, hid_t_f *dest_loc_id,
_fcd dest_name, size_t_f *dest_namelen,
hid_t_f *lcpl_id, hid_t_f *lapl_id);
-H5_FCDLL int_f nh5lcreate_external_c(_fcd file_name, size_t_f *file_namelen, _fcd obj_name, size_t_f *obj_namelen,
+H5_FCDLL int_f h5lcreate_external_c(_fcd file_name, size_t_f *file_namelen, _fcd obj_name, size_t_f *obj_namelen,
hid_t_f *link_loc_id, _fcd link_name, size_t_f *link_namelen,
hid_t_f *lcpl_id, hid_t_f *lapl_id);
-H5_FCDLL int_f nh5lcreate_hard_c(hid_t_f *obj_loc_id, _fcd obj_name, size_t_f *obj_namelen,
+H5_FCDLL int_f h5lcreate_hard_c(hid_t_f *obj_loc_id, _fcd obj_name, size_t_f *obj_namelen,
hid_t_f *link_loc_id,
_fcd link_name, size_t_f *link_namelen,
hid_t_f *lcpl_id, hid_t_f *lapl_id );
-H5_FCDLL int_f nh5lcreate_soft_c(_fcd target_path, size_t_f *target_path_len,
+H5_FCDLL int_f h5lcreate_soft_c(_fcd target_path, size_t_f *target_path_len,
hid_t_f *link_loc_id,
_fcd link_name, size_t_f *link_name_len,
hid_t_f *lcpl_id, hid_t_f *lapl_id );
-H5_FCDLL int_f nh5ldelete_c( hid_t_f *loc_id, _fcd name, size_t_f *namelen, hid_t_f *lapl_id );
-H5_FCDLL int_f nh5ldelete_by_idx_c (hid_t_f *loc_id, _fcd group_name, size_t_f *group_namelen,
+H5_FCDLL int_f h5ldelete_c( hid_t_f *loc_id, _fcd name, size_t_f *namelen, hid_t_f *lapl_id );
+H5_FCDLL int_f h5ldelete_by_idx_c(hid_t_f *loc_id, _fcd group_name, size_t_f *group_namelen,
int_f *index_field, int_f *order, hsize_t_f *n, hid_t_f *lapl_id);
-H5_FCDLL int_f nh5lexists_c (hid_t_f *loc_id, _fcd name, size_t_f *namelen, hid_t_f *lapl_id, int_f *link_exists);
-H5_FCDLL int_f nh5lget_info_c (hid_t_f *link_loc_id, _fcd link_name, size_t_f *link_namelen,
+H5_FCDLL int_f h5lexists_c(hid_t_f *loc_id, _fcd name, size_t_f *namelen, hid_t_f *lapl_id, int_f *link_exists);
+H5_FCDLL int_f h5lget_info_c(hid_t_f *link_loc_id, _fcd link_name, size_t_f *link_namelen,
int_f *cset, int_f *corder, int_f *corder_valid, int_f *link_type,
haddr_t_f *address, size_t_f *val_size,
hid_t_f *lapl_id);
-H5_FCDLL int_f nh5lget_info_by_idx_c(hid_t_f *loc_id, _fcd group_name, size_t_f *group_namelen,
+H5_FCDLL int_f h5lget_info_by_idx_c(hid_t_f *loc_id, _fcd group_name, size_t_f *group_namelen,
int_f *index_field, int_f *order, hsize_t_f *n,
int_f *link_type, int_f *corder_valid, int_f *corder, int_f *cset, haddr_t_f *address, size_t_f *val_size, hid_t_f *lapl_id);
-H5_FCDLL int_f nh5lis_registered_c(int_f *link_cls_id);
-H5_FCDLL int_f nh5lmove_c(hid_t_f *src_loc_id, _fcd src_name, size_t_f *src_namelen, hid_t_f *dest_loc_id,
+H5_FCDLL int_f h5lis_registered_c(int_f *link_cls_id);
+H5_FCDLL int_f h5lmove_c(hid_t_f *src_loc_id, _fcd src_name, size_t_f *src_namelen, hid_t_f *dest_loc_id,
_fcd dest_name, size_t_f *dest_namelen, hid_t_f *lcpl_id, hid_t_f *lapl_id);
-H5_FCDLL int_f nh5lget_name_by_idx_c(hid_t_f *loc_id, _fcd group_name, size_t_f *group_namelen,
+H5_FCDLL int_f h5lget_name_by_idx_c(hid_t_f *loc_id, _fcd group_name, size_t_f *group_namelen,
int_f *index_field, int_f *order, hsize_t_f *n,
size_t_f *size, _fcd name, hid_t_f *lapl_id);
-H5_FCDLL int_f nh5lget_val_c(hid_t_f *link_loc_id, _fcd link_name, size_t_f *link_namelen, size_t_f *size,
+H5_FCDLL int_f h5lget_val_c(hid_t_f *link_loc_id, _fcd link_name, size_t_f *link_namelen, size_t_f *size,
void *linkval_buff, hid_t_f *lapl_id) ;
H5_FCDLL int_f h5literate_c(hid_t_f *group_id, int_f *index_type, int_f *order, hsize_t_f *idx, H5L_iterate_t op, void *op_data );
diff --git a/fortran/src/H5fort_type_defines.h.in b/fortran/src/H5fort_type_defines.h.in
new file mode 100644
index 0000000..0e14e86
--- /dev/null
+++ b/fortran/src/H5fort_type_defines.h.in
@@ -0,0 +1,16 @@
+/* If you are reading this file and it has a '.h' suffix, it was automatically
+ * generated from the '.in' version. Make changes there.
+ */
+#define H5_FORTRAN_NATIVE_INTEGER_KIND @PAC_FORTRAN_NATIVE_INTEGER_KIND@
+#define H5_FORTRAN_NATIVE_INTEGER_SIZEOF @PAC_FORTRAN_NATIVE_INTEGER_SIZEOF@
+#define H5_FORTRAN_NATIVE_REAL_KIND @PAC_FORTRAN_NATIVE_REAL_KIND@
+#define H5_FORTRAN_NATIVE_REAL_SIZEOF @PAC_FORTRAN_NATIVE_REAL_SIZEOF@
+#define H5_FORTRAN_NATIVE_DOUBLE_KIND @PAC_FORTRAN_NATIVE_DOUBLE_KIND@
+#define H5_FORTRAN_NATIVE_DOUBLE_SIZEOF @PAC_FORTRAN_NATIVE_DOUBLE_SIZEOF@
+#define H5_FORTRAN_INTEGER_KINDS @PAC_FC_ALL_INTEGER_KINDS@
+#define H5_FORTRAN_INTEGER_KINDS_SIZEOF @PAC_FC_ALL_INTEGER_KINDS_SIZEOF@
+#define H5_FORTRAN_REAL_KINDS @PAC_FC_ALL_REAL_KINDS@
+#define H5_FORTRAN_REAL_KINDS_SIZEOF @PAC_FC_ALL_REAL_KINDS_SIZEOF@
+#define H5_HAVE_Fortran_INTEGER_SIZEOF_16 @HAVE_Fortran_INTEGER_SIZEOF_16@
+#define H5_FORTRAN_HAVE_C_LONG_DOUBLE @FORTRAN_HAVE_C_LONG_DOUBLE@
+#define H5_FORTRAN_C_LONG_DOUBLE_IS_UNIQUE @FORTRAN_C_LONG_DOUBLE_IS_UNIQUE@
diff --git a/fortran/src/H5match_types.c b/fortran/src/H5match_types.c
index c4b7f73..37509a0 100644
--- a/fortran/src/H5match_types.c
+++ b/fortran/src/H5match_types.c
@@ -9,7 +9,7 @@
* PURPOSE
* C Program to match C types to Fortran types.
* Creates the files H5f90i_gen.h for the C code and
- * H5fortran_types.f90 for the Fortran code.
+ * H5fortran_types.F90 for the Fortran code.
*
* COPYRIGHT
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
@@ -31,6 +31,7 @@
*/
#include <stdio.h>
+#include <string.h>
#include <assert.h>
#include "H5public.h"
@@ -45,12 +46,13 @@ FILE * c_header;
FILE * fort_header;
#define CFILE "H5f90i_gen.h"
-#define FFILE "H5fortran_types.f90"
+#define FFILE "H5fortran_types.F90"
/* Prototypes for the write routines */
-void writeTypedef(const char* c_typedef, const char* c_type, unsigned int size);
-void writeTypedefDefault(const char* c_typedef, unsigned int size);
-void writeToFiles(const char* c_typedef, const char* fortran_type, const char* c_type, int size, unsigned int kind);
+void writeTypedef(const char* c_typedef, const char* c_type, int size);
+void writeTypedefDefault(const char* c_typedef, int size);
+void writeToFiles(const char* c_typedef, const char* fortran_type, const char* c_type, int size, int kind);
+void writeToFilesChr(const char* c_typedef, const char* fortran_type, const char* c_type, int size, char* kind);
static void
initCfile(void)
@@ -100,6 +102,7 @@ initFfile(void)
!\n!\n\
! This file is automatically generated and contains HDF5 Fortran90 type definitions.\n!\n\
MODULE H5FORTRAN_TYPES\n\
+ USE ISO_C_BINDING\n\
!\n\
! HDF5 integers\n\
!\n");
@@ -119,253 +122,198 @@ endFfile(void)
}
/* Define a c_int_x type in the C header */
-void writeTypedef(const char* c_typedef, const char* c_type, unsigned int size)
+void writeTypedef(const char* c_typedef, const char* c_type, int size)
{
fprintf(c_header, "#define c_%s_%u %s\n", c_typedef, size, c_type);
}
/* Call this function if there is no matching C type for sizes > 1 */
-void writeTypedefDefault(const char* c_typedef, unsigned int size)
+void writeTypedefDefault(const char* c_typedef, int size)
{
assert(size %2 == 0);
- fprintf(c_header, "typedef struct {c_%s_%u a; c_%s_%u b;} c_%s_%u\n", c_typedef, size / 2, c_typedef, size / 2, c_typedef, size);
+ fprintf(c_header, "typedef struct {c_%s_%u a; c_%s_%u b;} c_%s_%u;\n", c_typedef, size / 2, c_typedef, size / 2, c_typedef, size);
}
/* Create matching Fortran and C types by writing to both files */
-void writeToFiles(const char* c_typedef, const char* fortran_type, const char* c_type, int size, unsigned int kind)
+void writeToFiles(const char* c_typedef, const char* fortran_type, const char* c_type, int size, int kind)
{
fprintf(fort_header, " INTEGER, PARAMETER :: %s = %u\n", fortran_type, kind);
fprintf(c_header, "typedef c_%s_%d %s;\n", c_typedef, size, c_type);
}
-
+void writeToFilesChr(const char* c_typedef, const char* fortran_type, const char* c_type, int size, char* kind)
+{
+ fprintf(fort_header, " INTEGER, PARAMETER :: %s = %s\n", fortran_type, kind);
+ fprintf(c_header, "typedef c_%s_%d %s;\n", c_typedef, size, c_type);
+}
int main(void)
{
- int FoundIntSize[4];
- unsigned FoundIntSizeKind[4];
- int FoundRealSize[3];
- unsigned FoundRealSizeKind[3];
- int i,j,flag;
- char chrA[20],chrB[20];
- int H5_C_HAS_REAL_NATIVE_16;
+ int FoundIntSize[10];
+ int FoundIntSizeKind[10];
+ int FoundRealSize[10];
+ int FoundRealSizeKind[10];
+ int i, j,flag;
+ char chrA[32],chrB[32];
+
+ int IntKinds[] = H5_FORTRAN_INTEGER_KINDS;
+ int IntKinds_SizeOf[] = H5_FORTRAN_INTEGER_KINDS_SIZEOF;
+ int RealKinds[] = H5_FORTRAN_REAL_KINDS;
+ int RealKinds_SizeOf[] = H5_FORTRAN_REAL_KINDS_SIZEOF;
+ char Real_C_TYPES[10][32];
+
+ int H5_FORTRAN_NUM_INTEGER_KINDS;
+ int H5_FORTRAN_NUM_REAL_KINDS;
+ int found_long_double = 0;
/* Open target files */
c_header = fopen(CFILE, "w");
fort_header = fopen(FFILE, "w");
- /* Default is C has 16 byte float */
- H5_C_HAS_REAL_NATIVE_16 = 1;
-
/* Write copyright, boilerplate to both files */
initCfile();
initFfile();
- /* First, define c_int_x */
-
-#if defined H5_FORTRAN_HAS_INTEGER_1_KIND
- if(sizeof(long long) == 1)
- writeTypedef("int", "long long", 1);
- else if(sizeof(long) == 1)
- writeTypedef("int", "long", 1);
- else if(sizeof(int) == 1)
- writeTypedef("int", "int", 1);
- else if(sizeof(short) == 1)
- writeTypedef("int", "short", 1);
- else
- writeTypedef("int", "char", 1);
- /* Actually, char is not necessarily one byte.
- * But if char isn't, then nothing is, so this
- * is as close as we can get. */
- if(sizeof(size_t) == 1)
- writeTypedef("size_t", "size_t", 1);
- if(sizeof(hsize_t) == 1)
- writeTypedef("hsize_t", "hsize_t", 1);
-#endif /*H5_FORTRAN_HAS_INTEGER_1_KIND*/
-
-#if defined H5_FORTRAN_HAS_INTEGER_2_KIND
- if(sizeof(long long) == 2)
- writeTypedef("int", "long long", 2);
- else if(sizeof(long) == 2)
- writeTypedef("int", "long", 2);
- else if(sizeof(int) == 2)
- writeTypedef("int", "int", 2);
- else if(sizeof(short) == 2)
- writeTypedef("int", "short", 2);
- else
- writeTypedefDefault("int",2);
-
- if(sizeof(size_t) == 2)
- writeTypedef("size_t", "size_t", 2);
- if(sizeof(hsize_t) == 2)
- writeTypedef("hsize_t", "hsize_t", 2);
-#endif /*H5_FORTRAN_HAS_INTEGER_2_KIND*/
-
-#if defined H5_FORTRAN_HAS_INTEGER_4_KIND
- if(sizeof(long long) == 4)
- writeTypedef("int", "long long", 4);
- else if(sizeof(long) == 4)
- writeTypedef("int", "long", 4);
- else if(sizeof(int) == 4)
- writeTypedef("int", "int", 4);
- else if(sizeof(short) == 4)
- writeTypedef("int", "short", 4);
- else
- writeTypedefDefault("int",4);
-
- if(sizeof(size_t) == 4)
- writeTypedef("size_t", "size_t", 4);
- if(sizeof(hsize_t) == 4)
- writeTypedef("hsize_t", "hsize_t", 4);
-
-#endif /*H5_FORTRAN_HAS_INTEGER_4_KIND*/
-
-#if defined H5_FORTRAN_HAS_INTEGER_8_KIND
- if(sizeof(long long) == 8)
- writeTypedef("int", "long long", 8);
- else if(sizeof(long) == 8)
- writeTypedef("int", "long", 8);
- else if(sizeof(int) == 8)
- writeTypedef("int", "int", 8);
- else if(sizeof(short) == 8)
- writeTypedef("int", "short", 8);
- else
- writeTypedefDefault("int",8);
-
- if(sizeof(size_t) == 8)
- writeTypedef("size_t", "size_t", 8);
- if(sizeof(hsize_t) == 8)
- writeTypedef("hsize_t", "hsize_t", 8);
-
-#endif /*H5_FORTRAN_HAS_INTEGER_8_KIND*/
-
- /* Define c_float_x */
-
-#if defined H5_FORTRAN_HAS_REAL_NATIVE_4_KIND || defined H5_FORTRAN_HAS_REAL_4_KIND
- if(sizeof(long double) == 4)
- writeTypedef("float", "long double", 4);
- else if(sizeof(double) == 4)
- writeTypedef("float", "double", 4);
- else if(sizeof(float) == 4)
- writeTypedef("float", "float", 4);
- else
- { printf("Fortran REAL is 4 bytes, no corresponding C floating type\n");
- printf("Quitting....\n");
- return -1;
- }
-#endif /*H5_FORTRAN_HAS_REAL_NATIVE_4_KIND*/
-
-#if defined H5_FORTRAN_HAS_REAL_NATIVE_8_KIND || defined H5_FORTRAN_HAS_REAL_8_KIND
- if(sizeof(long double) == 8)
- writeTypedef("float", "long double", 8);
- else if(sizeof(double) == 8)
- writeTypedef("float", "double", 8);
- else if(sizeof(float) == 8)
- writeTypedef("float", "float", 8);
- else
- { printf("Fortran REAL is 16 bytes, no corresponding C floating type\n");
- printf("Quitting....\n");
- return -1;
- }
-#endif /*H5_FORTRAN_HAS_REAL_NATIVE_8_KIND*/
-
-#if defined H5_FORTRAN_HAS_REAL_NATIVE_16_KIND || defined H5_FORTRAN_HAS_REAL_16_KIND
- if(sizeof(long double) == 16)
- writeTypedef("float", "long double", 16);
- else if(sizeof(double) == 16)
- writeTypedef("float", "double", 16);
- else if(sizeof(float) == 16)
- writeTypedef("float", "float", 16);
- else /*C has no 16 byte float so disable it in Fortran*/
- { printf("warning: Fortran REAL is 16 bytes, no corresponding C floating type\n");
- printf(" Disabling Fortran 16 byte REALs\n");
- H5_C_HAS_REAL_NATIVE_16 = 0;
- }
-#endif /*H5_FORTRAN_HAS_REAL_NATIVE_16_KIND*/
+ /* (a) define c_int_x */
+
+ H5_FORTRAN_NUM_INTEGER_KINDS = (int)(sizeof(IntKinds)/sizeof(IntKinds[0]));
+ H5_FORTRAN_NUM_REAL_KINDS = (int)(sizeof(RealKinds)/sizeof(RealKinds[0]));
+
+ for(i=0;i< H5_FORTRAN_NUM_INTEGER_KINDS;i++) {
+ if(sizeof(long long) == IntKinds_SizeOf[i])
+ writeTypedef("int", "long long", IntKinds[i]);
+ else if(sizeof(long) == IntKinds[i])
+ writeTypedef("int", "long", IntKinds[i]);
+ else if(sizeof(int) == IntKinds_SizeOf[i])
+ writeTypedef("int", "int", IntKinds[i]);
+ else if(sizeof(short) == IntKinds_SizeOf[i])
+ writeTypedef("int", "short", IntKinds[i]);
+ else
+ if(IntKinds_SizeOf[i] == 1) {
+ writeTypedef("int", "char", IntKinds[i]);
+ /* Actually, char is not necessarily one byte.
+ * But if char isn't, then nothing is, so this
+ * is as close as we can get. */
+ } else {
+ writeTypedefDefault("int",IntKinds[i]);
+ }
+ if(sizeof(size_t) == IntKinds_SizeOf[i])
+ writeTypedef("size_t", "size_t", IntKinds[i]);
+ if(sizeof(hsize_t) == IntKinds_SizeOf[i])
+ writeTypedef("hsize_t", "hsize_t", IntKinds[i]);
+ }
+
+ /* (b) Define c_float_x */
+
+ for(i=0;i< H5_FORTRAN_NUM_REAL_KINDS;i++) {
+ if (sizeof(float) == RealKinds_SizeOf[i]) {
+ writeTypedef("float", "float", RealKinds[i]);
+ strcpy(Real_C_TYPES[i], "C_FLOAT");
+ }
+ else if(sizeof(double) == RealKinds_SizeOf[i]) {
+ writeTypedef("float", "double", RealKinds[i]);
+ strcpy(Real_C_TYPES[i], "C_DOUBLE");
+ }
+#if H5_FORTRAN_HAVE_C_LONG_DOUBLE!=0
+ else if(sizeof(long double) == RealKinds_SizeOf[i] && found_long_double == 0) {
+ writeTypedef("float", "long double", RealKinds[i]);
+ strcpy(Real_C_TYPES[i], "C_LONG_DOUBLE");
+ found_long_double = 1;
+ }
+# ifdef H5_HAVE_FLOAT128
+ /* Don't select a higher precision than Fortran can support */
+ else if(sizeof(__float128) == RealKinds_SizeOf[i] && found_long_double == 1 && H5_PAC_FC_MAX_REAL_PRECISION > 28) {
+ writeTypedef("float", "__float128", RealKinds[i]);
+ strcpy(Real_C_TYPES[i], "C_FLOAT128");
+ }
+# else
+ else if(sizeof(long double) == RealKinds_SizeOf[i] && found_long_double == 1 && H5_PAC_FC_MAX_REAL_PRECISION > 28) {
+ writeTypedef("float", "long double", RealKinds[i]);
+ strcpy(Real_C_TYPES[i], "C_FLOAT128");
+ }
+# endif
+#else /* There is no C_LONG_DOUBLE intrinsic */
+# ifdef H5_HAVE_FLOAT128
+ /* Don't select a higher precision than Fortran can support */
+ else if(sizeof(__float128) == RealKinds_SizeOf[i] ) {
+ writeTypedef("float", "__float128", RealKinds[i]);
+ strcpy(Real_C_TYPES[i], "C_FLOAT128");
+ }
+# else
+ else if(sizeof(long double) == RealKinds_SizeOf[i] ) {
+ writeTypedef("float", "long double", RealKinds[i]);
+ strcpy(Real_C_TYPES[i], "C_FLOAT128");
+ }
+# endif
+#endif
+ else {
+ printf("\n **** HDF5 WARNING ****\n");
+ printf("Fortran REAL(KIND=%d) is %d Bytes, but no corresponding C float type exists of that size\n",RealKinds[i],RealKinds_SizeOf[i]);
+ printf(" !!! Fortran interfaces will not be generated for REAL(KIND=%d) !!!\n\n",RealKinds[i]);
+
+ RealKinds_SizeOf[i] = -1;
+ RealKinds[i] = -1;
+ }
+ }
/* Now begin defining fortran types. */
fprintf(c_header, "\n");
+
/* haddr_t */
-#if defined H5_FORTRAN_HAS_INTEGER_8_KIND && H5_SIZEOF_HADDR_T >= 8
- writeToFiles("int","HADDR_T", "haddr_t_f", 8, H5_FORTRAN_HAS_INTEGER_8_KIND);
-#elif defined H5_FORTRAN_HAS_INTEGER_4_KIND && H5_SIZEOF_HADDR_T >= 4
- writeToFiles("int","HADDR_T", "haddr_t_f", 4, H5_FORTRAN_HAS_INTEGER_4_KIND);
-#elif defined H5_FORTRAN_HAS_INTEGER_2_KIND && H5_SIZEOF_HADDR_T >= 2
- writeToFiles("int","HADDR_T", "haddr_t_f", 2, H5_FORTRAN_HAS_INTEGER_2_KIND);
-#elif defined H5_FORTRAN_HAS_INTEGER_1_KIND && H5_SIZEOF_HADDR_T >= 1
- writeToFiles("int","HADDR_T", "haddr_t_f", 1, H5_FORTRAN_HAS_INTEGER_1_KIND);
-#else
- /* Error: couldn't find a size for haddr_t */
- return -1;
-#endif
+ for(i=0;i< H5_FORTRAN_NUM_INTEGER_KINDS;i++) {
+ if(IntKinds_SizeOf[i] == H5_SIZEOF_HADDR_T) {
+ writeToFiles("int","HADDR_T", "haddr_t_f", H5_SIZEOF_HADDR_T, IntKinds[i]);
+ break;
+ }
+ if(i == (H5_FORTRAN_NUM_INTEGER_KINDS-1) )
+ /* Error: couldn't find a size for haddr_t */
+ return -1;
+ }
/* hsize_t */
-#if defined H5_FORTRAN_HAS_INTEGER_8_KIND && H5_SIZEOF_HSIZE_T >= 8
- writeToFiles("hsize_t","HSIZE_T", "hsize_t_f", 8, H5_FORTRAN_HAS_INTEGER_8_KIND);
-#elif defined H5_FORTRAN_HAS_INTEGER_4_KIND && H5_SIZEOF_HSIZE_T >= 4
- writeToFiles("hsize_t","HSIZE_T", "hsize_t_f", 4, H5_FORTRAN_HAS_INTEGER_4_KIND);
-#elif defined H5_FORTRAN_HAS_INTEGER_2_KIND && H5_SIZEOF_HSIZE_T >= 2
- writeToFiles("hsize_t","HSIZE_T", "hsize_t_f", 2, H5_FORTRAN_HAS_INTEGER_2_KIND);
-#elif defined H5_FORTRAN_HAS_INTEGER_1_KIND && H5_SIZEOF_HSIZE_T >= 1
- writeToFiles("hsize_t","HSIZE_T", "hsize_t_f", 1, H5_FORTRAN_HAS_INTEGER_1_KIND);
-#else
- /* Error: couldn't find a size for hsize_t */
- return -1;
-#endif
+ for(i=0;i< H5_FORTRAN_NUM_INTEGER_KINDS;i++) {
+ if(IntKinds_SizeOf[i] == H5_SIZEOF_HSIZE_T) {
+ writeToFiles("hsize_t","HSIZE_T", "hsize_t_f", H5_SIZEOF_HSIZE_T, IntKinds[i]);
+ break;
+ }
+ if(i == (H5_FORTRAN_NUM_INTEGER_KINDS-1) )
+ /* Error: couldn't find a size for hsize_t */
+ return -1;
+ }
/* hssize_t */
-#if defined H5_FORTRAN_HAS_INTEGER_8_KIND && H5_SIZEOF_HSSIZE_T >= 8
- writeToFiles("int","HSSIZE_T", "hssize_t_f", 8, H5_FORTRAN_HAS_INTEGER_8_KIND);
-#elif defined H5_FORTRAN_HAS_INTEGER_4_KIND && H5_SIZEOF_HSSIZE_T >= 4
- writeToFiles("int","HSSIZE_T", "hssize_t_f", 4, H5_FORTRAN_HAS_INTEGER_4_KIND);
-#elif defined H5_FORTRAN_HAS_INTEGER_2_KIND && H5_SIZEOF_HSSIZE_T >= 2
- writeToFiles("int","HSSIZE_T", "hssize_t_f", 2, H5_FORTRAN_HAS_INTEGER_2_KIND);
-#elif defined H5_FORTRAN_HAS_INTEGER_1_KIND && H5_SIZEOF_HSSIZE_T >= 1
- writeToFiles("int","HSSIZE_T", "hssize_t_f", 1, H5_FORTRAN_HAS_INTEGER_1_KIND);
-#else
- /* Error: couldn't find a size for hssize_t */
- return -1;
-#endif
+ for(i=0;i< H5_FORTRAN_NUM_INTEGER_KINDS;i++) {
+ if(IntKinds_SizeOf[i] == H5_SIZEOF_HSSIZE_T) {
+ writeToFiles("int","HSSIZE_T", "hssize_t_f", H5_SIZEOF_HSSIZE_T, IntKinds[i]);
+ break;
+ }
+ if(i == (H5_FORTRAN_NUM_INTEGER_KINDS-1) )
+ /* Error: couldn't find a size for hssize_t */
+ return -1;
+ }
/* off_t */
-#if defined H5_FORTRAN_HAS_INTEGER_8_KIND && H5_SIZEOF_OFF_T >= 8
- writeToFiles("int","OFF_T", "off_t_f", 8, H5_FORTRAN_HAS_INTEGER_8_KIND);
-#elif defined H5_FORTRAN_HAS_INTEGER_4_KIND && H5_SIZEOF_OFF_T >= 4
- writeToFiles("int","OFF_T", "off_t_f", 4, H5_FORTRAN_HAS_INTEGER_4_KIND);
-#elif defined H5_FORTRAN_HAS_INTEGER_2_KIND && H5_SIZEOF_OFF_T >= 2
- writeToFiles("int","OFF_T", "off_t_f", 2, H5_FORTRAN_HAS_INTEGER_2_KIND);
-#elif defined H5_FORTRAN_HAS_INTEGER_1_KIND && H5_SIZEOF_OFF_T >= 1
- writeToFiles("int","OFF_T", "off_t_f", 1, H5_FORTRAN_HAS_INTEGER_1_KIND);
-#else
- /* Error: couldn't find a size for off_t */
- return -1;
-#endif
+ for(i=0;i< H5_FORTRAN_NUM_INTEGER_KINDS;i++) {
+ if(IntKinds_SizeOf[i] == H5_SIZEOF_OFF_T) {
+ writeToFiles("int","OFF_T", "off_t_f", H5_SIZEOF_OFF_T, IntKinds[i]);
+ break;
+ }
+ if(i == (H5_FORTRAN_NUM_INTEGER_KINDS-1) )
+ /* Error: couldn't find a size for off_t */
+ return -1;
+ }
/* size_t */
-#if defined H5_FORTRAN_HAS_INTEGER_8_KIND && H5_SIZEOF_SIZE_T >= 8
- writeToFiles("size_t","SIZE_T", "size_t_f", 8, H5_FORTRAN_HAS_INTEGER_8_KIND);
-#elif defined H5_FORTRAN_HAS_INTEGER_4_KIND && H5_SIZEOF_SIZE_T >= 4
- writeToFiles("size_t","SIZE_T", "size_t_f", 4, H5_FORTRAN_HAS_INTEGER_4_KIND);
-#elif defined H5_FORTRAN_HAS_INTEGER_2_KIND && H5_SIZEOF_SIZE_T >= 2
- writeToFiles("size_t","SIZE_T", "size_t_f", 2, H5_FORTRAN_HAS_INTEGER_2_KIND);
-#elif defined H5_FORTRAN_HAS_INTEGER_1_KIND && H5_SIZEOF_SIZE_T >= 1
- writeToFiles("size_t","SIZE_T", "size_t_f", 1, H5_FORTRAN_HAS_INTEGER_1_KIND);
-#else
- /* Error: couldn't find a size for size_t */
- return -1;
-#endif
+ for(i=0;i< H5_FORTRAN_NUM_INTEGER_KINDS;i++) {
+ if(IntKinds_SizeOf[i] == H5_SIZEOF_SIZE_T) {
+ writeToFiles("size_t","SIZE_T", "size_t_f", H5_SIZEOF_SIZE_T, IntKinds[i]);
+ break;
+ }
+ if(i == (H5_FORTRAN_NUM_INTEGER_KINDS-1) )
+ /* Error: couldn't find a size for size_t */
+ return -1;
+ }
/* int */
-#if defined H5_FORTRAN_HAS_NATIVE_8_KIND
- writeToFiles("int","Fortran_INTEGER", "int_f", 8, H5_FORTRAN_HAS_NATIVE_8_KIND);
-#elif defined H5_FORTRAN_HAS_NATIVE_4_KIND
- writeToFiles("int","Fortran_INTEGER", "int_f", 4, H5_FORTRAN_HAS_NATIVE_4_KIND);
-#elif defined H5_FORTRAN_HAS_NATIVE_2_KIND
- writeToFiles("int","Fortran_INTEGER", "int_f", 2, H5_FORTRAN_HAS_NATIVE_2_KIND);
-#elif defined H5_FORTRAN_HAS_NATIVE_1_KIND
- writeToFiles("int","Fortran_INTEGER", "int_f", 1, H5_FORTRAN_HAS_NATIVE_1_KIND);
-#else
- /* Error: couldn't find a size for int */
- return -1;
-#endif
+ writeToFiles("int","Fortran_INTEGER", "int_f", H5_FORTRAN_NATIVE_INTEGER_SIZEOF, H5_FORTRAN_NATIVE_INTEGER_KIND);
/* int_1, int_2, int_4, int_8 */
@@ -374,29 +322,20 @@ int main(void)
/* it a value of the next larger one, but if the next */
/* higher one is not available we assigned it the next lowest */
- FoundIntSize[0] = -1;
- FoundIntSize[1] = -2;
- FoundIntSize[2] = -4;
- FoundIntSize[3] = -8;
-#if defined H5_FORTRAN_HAS_INTEGER_1_KIND
- FoundIntSize[0] = 1;
- FoundIntSizeKind[0] = H5_FORTRAN_HAS_INTEGER_1_KIND;
-#endif
-#if defined H5_FORTRAN_HAS_INTEGER_2_KIND
- FoundIntSize[1] = 2;
- FoundIntSizeKind[1] = H5_FORTRAN_HAS_INTEGER_2_KIND;
-#endif
-#if defined H5_FORTRAN_HAS_INTEGER_4_KIND
- FoundIntSize[2] = 4;
- FoundIntSizeKind[2] = H5_FORTRAN_HAS_INTEGER_4_KIND;
-#endif
-#if defined H5_FORTRAN_HAS_INTEGER_8_KIND
- FoundIntSize[3] = 8;
- FoundIntSizeKind[3] = H5_FORTRAN_HAS_INTEGER_8_KIND ;
-#endif
+ FoundIntSize[0] = -1;
+ FoundIntSize[1] = -1;
+ FoundIntSize[2] = -1;
+ FoundIntSize[3] = -1;
+ FoundIntSize[4] = -1;
+
+ for(i=0;i<H5_FORTRAN_NUM_INTEGER_KINDS;i++) {
+ FoundIntSize[i] = (int)IntKinds[i];
+ FoundIntSizeKind[i] = (int)IntKinds_SizeOf[i];
+/* writeToFiles("int",chrA, chrB, FoundIntSize[i], FoundIntSizeKind[i]); */
+ }
- for(i=0;i<4;i++) {
+ for(i=0;i<H5_FORTRAN_NUM_INTEGER_KINDS;i++) {
if( FoundIntSize[i] > 0) /* Found the integer type */
{
sprintf(chrA, "Fortran_INTEGER_%d", FoundIntSize[i]);
@@ -443,129 +382,77 @@ int main(void)
/* it a value of the next larger one, but if the next */
/* higher one is not available we assigned it the next lowest */
- FoundRealSize[0] = -4;
- FoundRealSize[1] = -8;
- FoundRealSize[2] = -16;
-
-#if defined H5_FORTRAN_HAS_REAL_4_KIND
- FoundRealSize[0] = 4;
- FoundRealSizeKind[0] = H5_FORTRAN_HAS_REAL_4_KIND;
-#endif
-#if defined H5_FORTRAN_HAS_REAL_8_KIND
- FoundRealSize[1] = 8;
- FoundRealSizeKind[1] = H5_FORTRAN_HAS_REAL_8_KIND;
-#endif
-
-#if defined H5_FORTRAN_HAS_REAL_16_KIND
- if(H5_C_HAS_REAL_NATIVE_16 != 0) {
- FoundRealSize[2] = 16;
- FoundRealSizeKind[2] = H5_FORTRAN_HAS_REAL_16_KIND;
- }
-#endif
-
- for(i=0;i<3;i++) {
- if( FoundRealSize[i] > 0) /* Found the real type */
- {
- sprintf(chrA, "Fortran_REAL_%d", FoundRealSize[i]);
- sprintf(chrB, "real_%d_f", FoundRealSize[i]);
- writeToFiles("float",chrA, chrB, FoundRealSize[i], FoundRealSizeKind[i]);
- }
- else /* Did not find the real type */
- {
- flag = 0; /* flag indicating if found the next highest */
- for(j=i+1;j<3;j++) /* search for next highest */
- {
- if( FoundRealSize[j] > 0) /* Found the next highest */
- {
- sprintf(chrA, "Fortran_REAL_%d", (-1)*FoundRealSize[i]);
- sprintf(chrB, "real_%d_f", (-1)*FoundRealSize[i]);
- if(FoundRealSize[j]>4) {
- writeToFiles("float",chrA, chrB, FoundRealSize[j], FoundRealSizeKind[j]);
- flag = 1;
- }
- /* else { */
-/* writeToFiles("float", chrA, chrB, FoundRealSize[j]); */
-/* } */
- flag = 1;
- break;
- }
- }
- if(flag == 0) /* No higher one found, so find next lowest */
- {
- for(j=1;j>-1;j--) /* Search for next lowest */
- {
- if( FoundRealSize[j] > 0) /* Found the next lowest */
- {
- sprintf(chrA, "Fortran_REAL_%d", (-1)*FoundRealSize[i]);
- sprintf(chrB, "real_%d_f", (-1)*FoundRealSize[i]);
- if(FoundRealSize[j]>4)
- writeToFiles("float",chrA, chrB, FoundRealSize[j], FoundRealSizeKind[j]);
- /* else { */
-/* writeToFiles("float", chrA, chrB, FoundRealSize[j]); */
-/* } */
- flag = 1;
- break;
- }
- }
- }
- if(flag == 0) /* No higher or lower one found, indicating an error */
- return -1;
- }
+ FoundRealSize[0] = -1;
+ FoundRealSize[1] = -1;
+ FoundRealSize[2] = -1;
+ FoundRealSize[3] = -1;
+ FoundRealSize[4] = -1;
+
+ for(i=0;i<H5_FORTRAN_NUM_REAL_KINDS;i++) {
+ if (RealKinds[i] > 0) {
+ FoundRealSize[i] = (int)RealKinds[i];
+ FoundRealSizeKind[i] = (int)RealKinds_SizeOf[i];
+ sprintf(chrA, "Fortran_REAL_%s", Real_C_TYPES[i]);
+ sprintf(chrB, "real_%s_f", Real_C_TYPES[i]);
+ writeToFiles("float",chrA, chrB, RealKinds[i], RealKinds_SizeOf[i]);
}
+ }
/* hid_t */
-#if defined H5_FORTRAN_HAS_INTEGER_8_KIND && H5_SIZEOF_HID_T >= 8
- writeToFiles("int","HID_T", "hid_t_f", 8, H5_FORTRAN_HAS_INTEGER_8_KIND);
-#elif defined H5_FORTRAN_HAS_INTEGER_4_KIND && H5_SIZEOF_HID_T >= 4
- writeToFiles("int","HID_T", "hid_t_f", 4, H5_FORTRAN_HAS_INTEGER_4_KIND);
-#elif defined H5_FORTRAN_HAS_INTEGER_2_KIND && H5_SIZEOF_HID_T >= 2
- writeToFiles("int","HID_T", "hid_t_f", 2, H5_FORTRAN_HAS_INTEGER_2_KIND);
-#elif defined H5_FORTRAN_HAS_INTEGER_1_KIND && H5_SIZEOF_HID_T >= 1
- writeToFiles("int","HID_T", "hid_t_f", 1, H5_FORTRAN_HAS_INTEGER_1_KIND);
-#elif defined H5_FORTRAN_HAS_INTEGER_8_KIND && H5_SIZEOF_HID_T >= 4
- writeToFiles("int","HID_T", "hid_t_f", 8, H5_FORTRAN_HAS_INTEGER_8_KIND);
-#else
- /* Error: couldn't find a size for hid_t */
- return -1;
-#endif
+ for(i=0;i< H5_FORTRAN_NUM_INTEGER_KINDS;i++) {
+ if(IntKinds_SizeOf[i] == H5_SIZEOF_HID_T) {
+ writeToFiles("int","HID_T", "hid_t_f", H5_SIZEOF_HID_T, IntKinds[i]);
+ break;
+ }
+ if(i == (H5_FORTRAN_NUM_INTEGER_KINDS-1) )
+ /* Error: couldn't find a size for hid_t */
+ return -1;
+ }
/* real_f */
-#if defined H5_FORTRAN_HAS_REAL_NATIVE_16_KIND
- if(H5_C_HAS_REAL_NATIVE_16 != 0) {
- writeToFiles("float","Fortran_REAL", "real_f", 16, H5_FORTRAN_HAS_REAL_NATIVE_16_KIND);
+ if(H5_FORTRAN_NATIVE_REAL_SIZEOF == sizeof(long double))
+ writeToFilesChr("float","Fortran_REAL", "real_f", H5_FORTRAN_NATIVE_REAL_KIND, "C_LONG_DOUBLE");
+ else if(H5_FORTRAN_NATIVE_REAL_SIZEOF == sizeof(double))
+ writeToFilesChr("float","Fortran_REAL", "real_f", H5_FORTRAN_NATIVE_REAL_KIND, "C_DOUBLE");
+ else if(H5_FORTRAN_NATIVE_REAL_SIZEOF == sizeof(float))
+ writeToFilesChr("float","Fortran_REAL", "real_f", H5_FORTRAN_NATIVE_REAL_KIND, "C_FLOAT");
+ else {
+ /* No exact match, choose the next highest */
+ if(H5_FORTRAN_NATIVE_REAL_SIZEOF > sizeof(long double))
+ writeToFilesChr("float","Fortran_REAL", "real_f", H5_FORTRAN_NATIVE_REAL_KIND, "C_LONG_DOUBLE");
+ else if(H5_FORTRAN_NATIVE_REAL_SIZEOF > sizeof(double))
+ writeToFilesChr("float","Fortran_REAL", "real_f", H5_FORTRAN_NATIVE_REAL_KIND, "C_DOUBLE");
+ else if(H5_FORTRAN_NATIVE_REAL_SIZEOF > sizeof(float))
+ writeToFilesChr("float","Fortran_REAL", "real_f", H5_FORTRAN_NATIVE_REAL_KIND, "C_FLOAT");
+ else {
+ /* Error: couldn't find a size for real_f */
+ printf("Error: couldn't find a size for real_f \n");
+ return -1;
}
-#elif defined H5_FORTRAN_HAS_REAL_NATIVE_8_KIND
- writeToFiles("float", "Fortran_REAL", "real_f", 8, H5_FORTRAN_HAS_REAL_NATIVE_8_KIND);
-#elif defined H5_FORTRAN_HAS_REAL_NATIVE_4_KIND
- writeToFiles("float", "Fortran_REAL", "real_f", 4, H5_FORTRAN_HAS_REAL_NATIVE_4_KIND);
-#else
- /* Error: couldn't find a size for real_f */
- return -1;
-#endif
+ }
/* double_f */
-#if defined H5_FORTRAN_HAS_DOUBLE_NATIVE_16_KIND
- if(H5_C_HAS_REAL_NATIVE_16 != 0) { /* Check if C has 16 byte floats */
- writeToFiles("float", "Fortran_DOUBLE", "double_f", 16, H5_FORTRAN_HAS_DOUBLE_NATIVE_16_KIND);
- } else {
-#if defined H5_FORTRAN_HAS_REAL_NATIVE_8_KIND /* Fall back to 8 byte floats */
- writeToFiles("float", "Fortran_DOUBLE", "double_f", 8, H5_FORTRAN_HAS_REAL_NATIVE_8_KIND);
- }
-#elif defined H5_FORTRAN_HAS_REAL_NATIVE_4_KIND /* Fall back to 4 byte floats */
- writeToFiles("float", "Fortran_DOUBLE", "double_f", 4, H5_FORTRAN_HAS_REAL_NATIVE_4_KIND);
+ if(H5_FORTRAN_NATIVE_DOUBLE_SIZEOF == sizeof(long double))
+ writeToFilesChr("float","Fortran_DOUBLE", "double_f", H5_FORTRAN_NATIVE_DOUBLE_KIND, "C_LONG_DOUBLE");
+ else if(H5_FORTRAN_NATIVE_DOUBLE_SIZEOF == sizeof(double))
+ writeToFilesChr("float","Fortran_DOUBLE", "double_f", H5_FORTRAN_NATIVE_DOUBLE_KIND, "C_DOUBLE");
+ else if(H5_FORTRAN_NATIVE_DOUBLE_SIZEOF == sizeof(float))
+ writeToFilesChr("float","Fortran_DOUBLE", "double_f", H5_FORTRAN_NATIVE_DOUBLE_KIND, "C_FLOAT");
+#ifdef H5_HAVE_FLOAT128
+ /* Don't select a higher precision than Fortran can support */
+ else if(sizeof(__float128) == H5_FORTRAN_NATIVE_DOUBLE_SIZEOF && H5_PAC_FC_MAX_REAL_PRECISION > 28) {
+ writeToFilesChr("float","Fortran_DOUBLE", "double_f", H5_FORTRAN_NATIVE_DOUBLE_KIND, "C_FLOAT128");
}
#else
- /* Error: couldn't find a size for double_f when fortran has 16 byte reals */
- return -1;
+ else if(sizeof(long double) == H5_FORTRAN_NATIVE_DOUBLE_SIZEOF && H5_PAC_FC_MAX_REAL_PRECISION > 28) {
+ writeToFilesChr("float","Fortran_DOUBLE", "double_f", H5_FORTRAN_NATIVE_DOUBLE_KIND, "C_FLOAT128");
}
#endif
-
-#elif defined H5_FORTRAN_HAS_DOUBLE_NATIVE_8_KIND
- writeToFiles("float", "Fortran_DOUBLE", "double_f", 8, H5_FORTRAN_HAS_DOUBLE_NATIVE_8_KIND);
-#else
- /* Error: couldn't find a size for real_f */
+ else {
+ /* Error: couldn't find a size for double_f */
+ printf("Error: couldn't find a size for double_f \n");
return -1;
-#endif
+ }
/* Need the buffer size for the fortran derive type 'hdset_reg_ref_t_f03'
* in order to be interoperable with C's structure, the C buffer size
@@ -574,12 +461,12 @@ int main(void)
fprintf(fort_header, " INTEGER, PARAMETER :: H5R_DSET_REG_REF_BUF_SIZE_F = %u\n", H5_SIZEOF_HADDR_T + 4 );
-
/* Close files */
endCfile();
endFfile();
fclose(c_header);
fclose(fort_header);
+
return 0;
}
diff --git a/fortran/src/H5test_kind.f90 b/fortran/src/H5test_kind.f90
deleted file mode 100644
index 1a1a0ec..0000000
--- a/fortran/src/H5test_kind.f90
+++ /dev/null
@@ -1,269 +0,0 @@
-!****p* Program/H5test_kind
-!
-! NAME
-! Executable: H5test_kind
-!
-! FILE
-! fortran/src/H5test_kind.f90
-!
-! PURPOSE
-! This stand alone program is used at build time to generate the program
-! H5fortran_detect.f90. It cycles through all the available KIND parameters for
-! integers and reals. The appropriate program and subroutines are then generated
-! depending on which of the KIND values are found.
-!
-! NOTES
-! This program is depreciated in favor of H5test_kind_SIZEOF.f90 and is only
-! used when the Fortran intrinsic function SIZEOF is not available. It generates
-! code that does not make use of SIZEOF in H5fortran_detect.f90 which is less
-! portable in comparison to using SIZEOF.
-!
-! The availability of SIZEOF is checked at configure time and the TRUE/FALSE
-! condition is set in the configure variable "FORTRAN_HAVE_SIZEOF".
-!
-! COPYRIGHT
-! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
-! Copyright by The HDF Group. *
-! Copyright by the Board of Trustees of the University of Illinois. *
-! All rights reserved. *
-! *
-! This file is part of HDF5. The full HDF5 copyright notice, including *
-! terms governing use, modification, and redistribution, is contained in *
-! the files COPYING and Copyright.html. COPYING can be found at the root *
-! of the source code distribution tree; Copyright.html can be found at the *
-! root level of an installed copy of the electronic HDF5 document set and *
-! is linked from the top-level documents page. It can also be found at *
-! http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have *
-! access to either file, you may request a copy from help@hdfgroup.org. *
-! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
-!
-! AUTHOR
-! Elena Pourma
-!
-!*****
-
-PROGRAM test_kind
- IMPLICIT NONE
- INTEGER :: i, j, ii, ir, last, ikind_numbers(10), rkind_numbers(10)
- INTEGER :: ji, jr, jd
- last = -1
- ii = 0
- j = SELECTED_INT_KIND(18)
- DO i = 1,100
- j = SELECTED_INT_KIND(i)
- IF(j .NE. last) THEN
- IF(last .NE. -1) THEN
- ii = ii + 1
- ikind_numbers(ii) = last
- ENDIF
- last = j
- IF(j .EQ. -1) EXIT
- ENDIF
- ENDDO
-
- last = -1
- ir = 0
- DO i = 1,100
- j = SELECTED_REAL_KIND(i)
- IF(j .NE. last) THEN
- IF(last .NE. -1) THEN
- ir = ir + 1
- rkind_numbers(ir) = last
- ENDIF
- last = j
- IF(j .EQ. -1) EXIT
- ENDIF
- ENDDO
-
-! Generate program information:
-
-WRITE(*,'(40(A,/))') &
-'!****h* ROBODoc/H5fortran_detect.f90',&
-'!',&
-'! NAME',&
-'! H5fortran_detect',&
-'! ',&
-'! PURPOSE',&
-'! This stand alone program is used at build time to generate the header file',&
-'! H5fort_type_defines.h. The source code itself was automatically generated by',&
-'! the program H5test_kind.f90',&
-'!',&
-'! NOTES',&
-'! This source code does not make use of the Fortran intrinsic function SIZEOF because',&
-'! the availability of the intrinsic function was determined to be not available at',&
-'! configure time',&
-'!',&
-'! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *',&
-'! Copyright by The HDF Group. *',&
-'! Copyright by the Board of Trustees of the University of Illinois. *',&
-'! All rights reserved. *',&
-'! *',&
-'! This file is part of HDF5. The full HDF5 copyright notice, including *',&
-'! terms governing use, modification, and redistribution, is contained in *',&
-'! the files COPYING and Copyright.html. COPYING can be found at the root *',&
-'! of the source code distribution tree; Copyright.html can be found at the *',&
-'! root level of an installed copy of the electronic HDF5 document set and *',&
-'! is linked from the top-level documents page. It can also be found at *',&
-'! http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have *',&
-'! access to either file, you may request a copy from help@hdfgroup.org. *',&
-'! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *',&
-'!',&
-'! AUTHOR',&
-'! H5test_kind.f90',&
-'!',&
-'!*****'
-
-! Generate a program
-
- WRITE(*,*) "PROGRAM int_kind"
- WRITE(*,*) "WRITE(*,*) "" /*generating header file*/ """
- ji = 0
- WRITE(*, "("" CALL i"", i2.2,""()"")") ji
- jr = 0
- WRITE(*, "("" CALL r"", i2.2,""()"")") jr
- jd = 0
- WRITE(*, "("" CALL d"", i2.2,""()"")") jd
- DO i = 1, ii
- j = ikind_numbers(i)
- WRITE(*, "("" CALL i"", i2.2,""()"")") j
- ENDDO
- DO i = 1, ir
- j = rkind_numbers(i)
- WRITE(*, "("" CALL r"", i2.2,""()"")") j
- ENDDO
- WRITE(*,*) "END PROGRAM int_kind"
- j = 0
- ji = KIND(1)
- WRITE(*, "("" SUBROUTINE i"", i2.2,""()"")") j
- WRITE(*,*)" IMPLICIT NONE"
- WRITE(*,*)" INTEGER :: a = 0"
- WRITE(*,*)" INTEGER :: a_size"
- WRITE(*,*)" CHARACTER(LEN=2) :: jchr2"
- WRITE(*,*)" a_size = BIT_SIZE(a)"
- WRITE(*,*)" IF (a_size .EQ. 8) THEN"
- WRITE(*,*)" WRITE(jchr2,'(I2)')",ji
- WRITE(*,'(A)')' WRITE(*,*) "#define H5_FORTRAN_HAS_NATIVE_1_KIND "'//"//ADJUSTL(jchr2)"
- WRITE(*,*)" endif"
- WRITE(*,*)" IF (a_size .EQ. 16) THEN"
- WRITE(*,*)" WRITE(jchr2,'(I2)')",ji
- WRITE(*,'(A)')' WRITE(*,*) "#define H5_FORTRAN_HAS_NATIVE_2_KIND "'//"//ADJUSTL(jchr2)"
- WRITE(*,*)" endif"
- WRITE(*,*)" IF (a_size .EQ. 32) THEN"
- WRITE(*,*)" WRITE(jchr2,'(I2)')",ji
- WRITE(*,'(A)')' WRITE(*,*) "#define H5_FORTRAN_HAS_NATIVE_4_KIND "'//"//ADJUSTL(jchr2)"
- WRITE(*,*)" ENDIF"
- WRITE(*,*)" IF (a_size .EQ. 64) THEN"
- WRITE(*,*)" WRITE(jchr2,'(I2)')",ji
- WRITE(*,'(A)')' WRITE(*,*) "#define H5_FORTRAN_HAS_NATIVE_8_KIND "'//"//ADJUSTL(jchr2)"
- WRITE(*,*)" ENDIF"
- WRITE(*,*)" IF (a_size .EQ. 128) THEN"
- WRITE(*,*)" WRITE(jchr2,'(I2)')",ji
- WRITE(*,'(A)')' WRITE(*,*) "#define H5_FORTRAN_HAS_NATIVE_16_KIND "'//"//ADJUSTL(jchr2)"
- WRITE(*,*)" ENDIF"
- WRITE(*,*)" RETURN"
- WRITE(*,*)"END SUBROUTINE"
- jr = KIND(1.0)
- WRITE(*, "("" SUBROUTINE r"", i2.2,""()"")") j
- WRITE(*,*)" IMPLICIT NONE"
- WRITE(*,*)" REAL :: b(32)"
- WRITE(*,*)" INTEGER :: a(1)"
- WRITE(*,*)" INTEGER :: a_size"
- WRITE(*,*)" INTEGER :: real_size"
- WRITE(*,*)" CHARACTER(LEN=2) :: jchr2"
- WRITE(*,*)" a_size = BIT_SIZE(a(1)) ! Size in bits for integer"
- WRITE(*,*)" real_size = (SIZE(TRANSFER(b,a))*a_size)/SIZE(b)"
- WRITE(*,*)" IF (real_size .EQ. 32) THEN"
- WRITE(*,*)" WRITE(jchr2,'(I2)')",jr
- WRITE(*,'(A)')' WRITE(*,*) "#define H5_FORTRAN_HAS_REAL_NATIVE_4_KIND "'//"//ADJUSTL(jchr2)"
- WRITE(*,*)" ENDIF"
- WRITE(*,*)" IF (real_size .EQ. 64) THEN"
- WRITE(*,*)" WRITE(jchr2,'(I2)')",jr
- WRITE(*,'(A)')' WRITE(*,*) "#define H5_FORTRAN_HAS_REAL_NATIVE_8_KIND "'//"//ADJUSTL(jchr2)"
- WRITE(*,*)" ENDIF"
- WRITE(*,*)" IF (real_size .EQ. 128) THEN"
- WRITE(*,*)" WRITE(jchr2,'(I2)')",jr
- WRITE(*,'(A)')' WRITE(*,*) "#define H5_FORTRAN_HAS_REAL_NATIVE_16_KIND "'//"//ADJUSTL(jchr2)"
- WRITE(*,*)" ENDIF"
- WRITE(*,*)" RETURN"
- WRITE(*,*)"END SUBROUTINE"
- jd = KIND(1.d0)
- WRITE(*, "("" SUBROUTINE d"", i2.2,""()"")") j
- WRITE(*,*)" IMPLICIT NONE"
- WRITE(*,*)" DOUBLE PRECISION :: b=0"
- WRITE(*,*)" INTEGER :: a(8)=0"
- WRITE(*,*)" INTEGER :: a_size"
- WRITE(*,*)" INTEGER :: b_size"
- WRITE(*,*)" CHARACTER(LEN=2) :: jchr2"
- WRITE(*,*)" a_size = BIT_SIZE(a(1))"
- WRITE(*,*)" b_size = SIZE(transfer(b,a))*a_size"
- WRITE(*,*)" IF (b_size .EQ. 64) THEN"
- WRITE(*,*)" WRITE(jchr2,'(I2)')",jd
- WRITE(*,'(A)')' WRITE(*,*) "#define H5_FORTRAN_HAS_DOUBLE_NATIVE_8_KIND "'//"//ADJUSTL(jchr2)"
- WRITE(*,*)" ENDIF"
- WRITE(*,*)" IF (b_size .EQ. 128) THEN"
- WRITE(*,*)" WRITE(jchr2,'(I2)')",jd
- WRITE(*,'(A)')' WRITE(*,*) "#define H5_FORTRAN_HAS_DOUBLE_NATIVE_16_KIND "'//"//ADJUSTL(jchr2)"
- WRITE(*,*)" ENDIF"
- WRITE(*,*)" RETURN"
- WRITE(*,*)"END SUBROUTINE"
- DO i = 1, ii
- j = ikind_numbers(i)
- WRITE(*, "("" SUBROUTINE i"", i2.2,""()"")") j
- WRITE(*,*)" IMPLICIT NONE"
- WRITE(*,*)" INTEGER(",j,") :: a = 0"
- WRITE(*,*)" INTEGER :: a_size"
- WRITE(*,*)" CHARACTER(LEN=2) :: jchr2"
- WRITE(*,*)" a_size = BIT_SIZE(a)"
- WRITE(*,*)" IF (a_size .EQ. 8) THEN"
- WRITE(*,*)" WRITE(jchr2,'(I2)')",j
- WRITE(*,'(A)')' WRITE(*,*) "#define H5_FORTRAN_HAS_INTEGER_1_KIND "'//"//ADJUSTL(jchr2)"
- WRITE(*,*)" ENDIF"
- WRITE(*,*)" IF (a_size .EQ. 16) THEN"
- WRITE(*,*)" WRITE(jchr2,'(I2)')",j
- WRITE(*,'(A)')' WRITE(*,*) "#define H5_FORTRAN_HAS_INTEGER_2_KIND "'//"//ADJUSTL(jchr2)"
- WRITE(*,*)" ENDIF"
- WRITE(*,*)" IF (a_size .EQ. 32) THEN"
- WRITE(*,*)" WRITE(jchr2,'(I2)')",j
- WRITE(*,'(A)')' WRITE(*,*) "#define H5_FORTRAN_HAS_INTEGER_4_KIND "'//"//ADJUSTL(jchr2)"
- WRITE(*,*)" ENDIF"
- WRITE(*,*)" IF (a_size .EQ. 64) THEN"
- WRITE(*,*)" WRITE(jchr2,'(I2)')",j
- WRITE(*,'(A)')' WRITE(*,*) "#define H5_FORTRAN_HAS_INTEGER_8_KIND "'//"//ADJUSTL(jchr2)"
- WRITE(*,*)" ENDIF"
- WRITE(*,*)" IF (a_size .EQ. 128) THEN"
- WRITE(*,*)" WRITE(jchr2,'(I2)')",j
- WRITE(*,'(A)')' WRITE(*,*) "#define H5_FORTRAN_HAS_INTEGER_16_KIND "'//"//ADJUSTL(jchr2)"
- WRITE(*,*)" ENDIF"
- WRITE(*,*)" RETURN"
- WRITE(*,*)" END SUBROUTINE"
- ENDDO
- DO i = 1, ir
- j = rkind_numbers(i)
- WRITE(*, "("" SUBROUTINE r"", i2.2,""()"")") j
- WRITE(*,*)" IMPLICIT NONE"
- WRITE(*,*)" REAL(KIND=",j,") :: b(32)"
- WRITE(*,*)" INTEGER :: a(1)"
- WRITE(*,*)" INTEGER :: a_size"
- WRITE(*,*)" INTEGER :: real_size"
- WRITE(*,*)" CHARACTER(LEN=2) :: jchr2"
- WRITE(*,*)" a_size = BIT_SIZE(a(1)) ! Size in bits for integer"
- WRITE(*,*)" real_size = (SIZE(TRANSFER(b,a))*a_size)/SIZE(b)"
- WRITE(*,*)" IF (real_size .EQ. 32) THEN"
- WRITE(*,*)" WRITE(jchr2,'(I2)')",j
- WRITE(*,'(A)')' WRITE(*,*) "#define H5_FORTRAN_HAS_REAL_4_KIND "'//"//ADJUSTL(jchr2)"
- WRITE(*,*)" ENDIF"
- WRITE(*,*)" IF (real_size .EQ. 64) THEN"
- WRITE(*,*)" WRITE(jchr2,'(I2)')",j
- WRITE(*,*)' WRITE(*,*) "#define H5_FORTRAN_HAS_REAL_8_KIND "'//"//ADJUSTL(jchr2)"
- WRITE(*,*)" endif"
- WRITE(*,*)" IF (real_size .EQ. 128) THEN"
- WRITE(*,*)" WRITE(jchr2,'(I2)')",j
- WRITE(*,'(A)')' WRITE(*,*) "#define H5_FORTRAN_HAS_REAL_16_KIND "'//"//ADJUSTL(jchr2)"
- WRITE(*,*)" ENDIF"
- WRITE(*,*)" RETURN"
- WRITE(*,*)" END SUBROUTINE"
- ENDDO
-END PROGRAM test_kind
-
-
-
diff --git a/fortran/src/H5test_kind_SIZEOF.f90 b/fortran/src/H5test_kind_SIZEOF.f90
deleted file mode 100644
index 468086a..0000000
--- a/fortran/src/H5test_kind_SIZEOF.f90
+++ /dev/null
@@ -1,228 +0,0 @@
-!****p* Program/H5test_kind_SIZEOF
-!
-! NAME
-! Executable: H5test_kind
-!
-! FILE
-! fortran/src/H5test_kind_SIZEOF.f90
-!
-! PURPOSE
-! This stand alone program is used at build time to generate the program
-! H5fortran_detect.f90. It cycles through all the available KIND parameters for
-! integers and reals. The appropriate program and subroutines are then generated
-! depending on which of the KIND values are found.
-!
-! NOTES
-! This program is used in place of H5test_kind.f90 when the Fortran intrinsic
-! function SIZEOF is available. It generates code that makes use of SIZEOF in
-! H5fortran_detect.f90 which is a portable solution but is not standard
-! compliant. The program H5test_kind_C_SIZEOF uses F2008 standard intrinsic
-! function instead, which is the preferred method.
-!
-! The availability of SIZEOF is checked at configure time and the TRUE/FALSE
-! condition is set in the configure variable "FORTRAN_HAVE_SIZEOF".
-!
-! COPYRIGHT
-! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
-! Copyright by The HDF Group. *
-! Copyright by the Board of Trustees of the University of Illinois. *
-! All rights reserved. *
-! *
-! This file is part of HDF5. The full HDF5 copyright notice, including *
-! terms governing use, modification, and redistribution, is contained in *
-! the files COPYING and Copyright.html. COPYING can be found at the root *
-! of the source code distribution tree; Copyright.html can be found at the *
-! root level of an installed copy of the electronic HDF5 document set and *
-! is linked from the top-level documents page. It can also be found at *
-! http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have *
-! access to either file, you may request a copy from help@hdfgroup.org. *
-! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
-!
-! AUTHOR
-! M. Scot Breitenfeld
-!
-!*****
-
-PROGRAM test_kind
- IMPLICIT NONE
- INTEGER :: i, j, ii, ir, last, ikind_numbers(10), rkind_numbers(10)
- INTEGER :: ji, jr, jd
- last = -1
- ii = 0
-
- ikind_numbers = 0
- rkind_numbers = 0
-
- DO i = 1,100
- j = SELECTED_INT_KIND(i)
- IF(j .NE. last) THEN
- IF(last .NE. -1) THEN
- ii = ii + 1
- ikind_numbers(ii) = last
- ENDIF
- last = j
- IF(j .EQ. -1) EXIT
- ENDIF
- ENDDO
-
- last = -1
- ir = 0
- DO i = 1,100
- j = SELECTED_REAL_KIND(i)
- IF(j .NE. last) THEN
- IF(last .NE. -1) THEN
- ir = ir + 1
- rkind_numbers(ir) = last
- ENDIF
- last = j
- IF(j .EQ. -1) EXIT
- ENDIF
- ENDDO
-
-! Generate program information:
-
-WRITE(*,'(40(A,/))') &
-'!****h* ROBODoc/H5fortran_detect.f90',&
-'!',&
-'! NAME',&
-'! H5fortran_detect',&
-'! ',&
-'! PURPOSE',&
-'! This stand alone program is used at build time to generate the header file',&
-'! H5fort_type_defines.h. The source code itself was automatically generated by',&
-'! the program H5test_kind_SIZEOF.f90',&
-'!',&
-'! NOTES',&
-'! This source code makes use of the Fortran intrinsic function SIZEOF because',&
-'! the availability of the intrinsic function was determined to be available at',&
-'! configure time',&
-'!',&
-'! COPYRIGHT',&
-'! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *',&
-'! Copyright by The HDF Group. *',&
-'! Copyright by the Board of Trustees of the University of Illinois. *',&
-'! All rights reserved. *',&
-'! *',&
-'! This file is part of HDF5. The full HDF5 copyright notice, including *',&
-'! terms governing use, modification, and redistribution, is contained in *',&
-'! the files COPYING and Copyright.html. COPYING can be found at the root *',&
-'! of the source code distribution tree; Copyright.html can be found at the *',&
-'! root level of an installed copy of the electronic HDF5 document set and *',&
-'! is linked from the top-level documents page. It can also be found at *',&
-'! http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have *',&
-'! access to either file, you may request a copy from help@hdfgroup.org. *',&
-'! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *',&
-'!',&
-'! AUTHOR',&
-'! H5test_kind_SIZEOF.f90',&
-'!',&
-'!*****'
-
-! GENERATE A PROGRAM
-!
-! (a) Generate the module
-
- WRITE(*,*) "MODULE H5test_kind_SIZEOF_mod"
- WRITE(*,*) "USE ISO_C_BINDING"
- WRITE(*,*) "IMPLICIT NONE"
- WRITE(*,*) "CONTAINS"
- j = 0
- ji = KIND(1)
- WRITE(*, "("" SUBROUTINE i"", i2.2,""()"")") j
- WRITE(*,*)" IMPLICIT NONE"
- WRITE(*,*)" INTEGER :: a"
- WRITE(*,*)" INTEGER(C_SIZE_T) :: a_size"
- WRITE(*,*)" CHARACTER(LEN=2) :: ichr2, jchr2"
- WRITE(*,*)" a_size = SIZEOF(a)"
- WRITE(*,*)" WRITE(ichr2,'(I2)') a_size"
- WRITE(*,'(A,I0)')" WRITE(jchr2,'(I2)') ",ji
- WRITE(*,'(A)')' WRITE(*,*) "#define H5_FORTRAN_HAS_NATIVE_"'// &
- "//TRIM(ADJUSTL(ichr2))//"//'"_KIND "'//"//ADJUSTL(jchr2)"
- WRITE(*,*)" RETURN"
- WRITE(*,*)"END SUBROUTINE"
- jr = 0
- j = KIND(1.0)
- WRITE(*, "("" SUBROUTINE r"", i2.2,""()"")") jr
- WRITE(*,*)" IMPLICIT NONE"
- WRITE(*,*)" REAL :: a"
- WRITE(*,*)" INTEGER(C_SIZE_T) :: a_size"
- WRITE(*,*)" CHARACTER(LEN=2) :: ichr2, jchr2"
- WRITE(*,*)" a_size = SIZEOF(a)"
- WRITE(*,*)" WRITE(ichr2,'(I2)') a_size"
- WRITE(*,'(A,I0)')" WRITE(jchr2,'(I2)') ",j
- WRITE(*,'(A)')' WRITE(*,*) "#define H5_FORTRAN_HAS_REAL_NATIVE_"'// &
- "//TRIM(ADJUSTL(ichr2))//"//'"_KIND "'//"//ADJUSTL(jchr2)"
- WRITE(*,*)" RETURN"
- WRITE(*,*)"END SUBROUTINE"
- jd = 0
- j = KIND(1.d0)
- WRITE(*, "("" SUBROUTINE d"", i2.2,""()"")") jd
- WRITE(*,*)" IMPLICIT NONE"
- WRITE(*,*)" DOUBLE PRECISION :: a"
- WRITE(*,*)" INTEGER(C_SIZE_T) :: a_size"
- WRITE(*,*)" CHARACTER(LEN=2) :: ichr2, jchr2"
- WRITE(*,*)" a_size = SIZEOF(a)"
- WRITE(*,*)" WRITE(ichr2,'(I2)') a_size"
- WRITE(*,'(A,I0)')" WRITE(jchr2,'(I2)') ",j
- WRITE(*,'(A)')' WRITE(*,*) "#define H5_FORTRAN_HAS_DOUBLE_NATIVE_"'// &
- "//TRIM(ADJUSTL(ichr2))//"//'"_KIND "'//"//ADJUSTL(jchr2)"
- WRITE(*,*)" RETURN"
- WRITE(*,*)"END SUBROUTINE"
- DO i = 1, ii
- j = ikind_numbers(i)
- WRITE(*, "("" SUBROUTINE i"", i2.2,""()"")") j
- WRITE(*,*)" IMPLICIT NONE"
- WRITE(*,'(A,I0,A)')" INTEGER(KIND=",j,") :: a"
- WRITE(*,*)" INTEGER(C_SIZE_T) :: a_size"
- WRITE(*,*)" CHARACTER(LEN=2) :: ichr2, jchr2"
- WRITE(*,*)" a_size = SIZEOF(a)"
- WRITE(*,*)" WRITE(ichr2,'(I2)') a_size"
- WRITE(*,'(A,I0)')" WRITE(jchr2,'(I2)') ",j
- WRITE(*,'(A)')' WRITE(*,*) "#define H5_FORTRAN_HAS_INTEGER_"'// &
- "//TRIM(ADJUSTL(ichr2))//"//'"_KIND "'//"//ADJUSTL(jchr2)"
- WRITE(*,*)" RETURN"
- WRITE(*,*)"END SUBROUTINE"
- ENDDO
- DO i = 1, ir
- j = rkind_numbers(i)
- WRITE(*, "("" SUBROUTINE r"", i2.2,""()"")") j
- WRITE(*,*)" IMPLICIT NONE"
- WRITE(*,'(A,I0,A)')" REAL(KIND= ",j,") :: a"
- WRITE(*,*)" INTEGER(C_SIZE_T) :: a_size"
- WRITE(*,*)" CHARACTER(LEN=2) :: ichr2, jchr2"
- WRITE(*,*)" a_size = SIZEOF(a)"
- WRITE(*,*)" WRITE(ichr2,'(I2)') a_size"
- WRITE(*,'(A,I0)')" WRITE(jchr2,'(I2)') ", j
- WRITE(*,'(A)')' WRITE(*,*) "#define H5_FORTRAN_HAS_REAL_"'// &
- "//TRIM(ADJUSTL(ichr2))//"//'"_KIND "'//"//ADJUSTL(jchr2)"
- WRITE(*,*)" RETURN"
- WRITE(*,*)"END SUBROUTINE"
- ENDDO
- WRITE(*,*) "END MODULE H5test_kind_SIZEOF_mod"
- WRITE(*,*) ""
-
- ! (b) generate the main program
-
- WRITE(*,*) "PROGRAM H5test_kind_SIZEOF"
- WRITE(*,*) "USE H5test_kind_SIZEOF_mod"
- WRITE(*,*) "WRITE(*,*) "" /*generating header file*/ """
- ji = 0
- WRITE(*, "("" CALL i"", i2.2,""()"")") ji
- jr = 0
- WRITE(*, "("" CALL r"", i2.2,""()"")") jr
- jd = 0
- WRITE(*, "("" CALL d"", i2.2,""()"")") jd
- DO i = 1, ii
- j = ikind_numbers(i)
- WRITE(*, "("" CALL i"", i2.2,""()"")") j
- ENDDO
- DO i = 1, ir
- j = rkind_numbers(i)
- WRITE(*, "("" CALL r"", i2.2,""()"")") j
- ENDDO
- WRITE(*,*) "END PROGRAM H5test_kind_SIZEOF"
-
-END PROGRAM test_kind
-
-
-
diff --git a/fortran/src/H5test_kind_STORAGE_SIZE.f90 b/fortran/src/H5test_kind_STORAGE_SIZE.f90
deleted file mode 100644
index 89c904c..0000000
--- a/fortran/src/H5test_kind_STORAGE_SIZE.f90
+++ /dev/null
@@ -1,230 +0,0 @@
-!****p* Program/H5test_kind_STORAGE_SIZE
-!
-! NAME
-! Executable: H5test_kind
-!
-! FILE
-! fortran/src/H5test_kind_STORAGE_SIZE.f90
-!
-! PURPOSE
-! This stand alone program is used at build time to generate the program
-! H5fortran_detect.f90. It cycles through all the available KIND parameters for
-! integers and reals. The appropriate program and subroutines are then generated
-! depending on which of the KIND values are found.
-!
-! NOTES
-! This program is used in place of H5test_kind.f90 or H5test_kind_SIZEOF.f90 when
-! the Fortran 2008 intrinsic function STORAGE_SIZE is available. It generates code
-! that makes use of STORAGE_SIZE in H5fortran_detect.f90, which will be standard
-! compliant. This program is the preferred method.
-!
-! The availability of STORAGE_SIZE is checked at configure time and the TRUE/FALSE
-! condition is set in the configure variable "FORTRAN_HAVE_STORAGE_SIZE".
-!
-! The use of C_SIZOF(X) is not used since the argument X must be an interoperable
-! data entity.
-!
-! COPYRIGHT
-! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
-! Copyright by The HDF Group. *
-! Copyright by the Board of Trustees of the University of Illinois. *
-! All rights reserved. *
-! *
-! This file is part of HDF5. The full HDF5 copyright notice, including *
-! terms governing use, modification, and redistribution, is contained in *
-! the files COPYING and Copyright.html. COPYING can be found at the root *
-! of the source code distribution tree; Copyright.html can be found at the *
-! root level of an installed copy of the electronic HDF5 document set and *
-! is linked from the top-level documents page. It can also be found at *
-! http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have *
-! access to either file, you may request a copy from help@hdfgroup.org. *
-! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
-!
-! AUTHOR
-! M. Scot Breitenfeld
-!
-!*****
-
-PROGRAM test_kind
- IMPLICIT NONE
- INTEGER :: i, j, ii, ir, last, ikind_numbers(10), rkind_numbers(10)
- INTEGER :: ji, jr, jd
- last = -1
- ii = 0
-
- ikind_numbers = 0
- rkind_numbers = 0
-
- DO i = 1,100
- j = SELECTED_INT_KIND(i)
- IF(j .NE. last) THEN
- IF(last .NE. -1) THEN
- ii = ii + 1
- ikind_numbers(ii) = last
- ENDIF
- last = j
- IF(j .EQ. -1) EXIT
- ENDIF
- ENDDO
-
- last = -1
- ir = 0
- DO i = 1,100
- j = SELECTED_REAL_KIND(i)
- IF(j .NE. last) THEN
- IF(last .NE. -1) THEN
- ir = ir + 1
- rkind_numbers(ir) = last
- ENDIF
- last = j
- IF(j .EQ. -1) EXIT
- ENDIF
- ENDDO
-
-! Generate program information:
-
-WRITE(*,'(40(A,/))') &
-'!****h* ROBODoc/H5fortran_detect.f90',&
-'!',&
-'! NAME',&
-'! H5fortran_detect',&
-'! ',&
-'! PURPOSE',&
-'! This stand alone program is used at build time to generate the header file',&
-'! H5fort_type_defines.h. The source code itself was automatically generated by',&
-'! the program H5test_kind_STORAGE_SIZE.f90',&
-'!',&
-'! NOTES',&
-'! This source code makes use of the Fortran intrinsic function STORAGE_SIZE because',&
-'! the availability of the intrinsic function was determined to be available at',&
-'! configure time',&
-'!',&
-'! COPYRIGHT',&
-'! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *',&
-'! Copyright by The HDF Group. *',&
-'! Copyright by the Board of Trustees of the University of Illinois. *',&
-'! All rights reserved. *',&
-'! *',&
-'! This file is part of HDF5. The full HDF5 copyright notice, including *',&
-'! terms governing use, modification, and redistribution, is contained in *',&
-'! the files COPYING and Copyright.html. COPYING can be found at the root *',&
-'! of the source code distribution tree; Copyright.html can be found at the *',&
-'! root level of an installed copy of the electronic HDF5 document set and *',&
-'! is linked from the top-level documents page. It can also be found at *',&
-'! http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have *',&
-'! access to either file, you may request a copy from help@hdfgroup.org. *',&
-'! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *',&
-'!',&
-'! AUTHOR',&
-'! H5test_kind_C_SIZEOF.f90',&
-'!',&
-'!*****'
-
-! GENERATE A PROGRAM
-!
-! (a) Generate the module
-
- WRITE(*,*) "MODULE H5test_kind_STORAGE_SIZE_mod"
- WRITE(*,*) "USE ISO_C_BINDING"
- WRITE(*,*) "IMPLICIT NONE"
- WRITE(*,*) "CONTAINS"
- j = 0
- ji = KIND(1)
- WRITE(*, "("" SUBROUTINE i"", i2.2,""()"")") j
- WRITE(*,*)" IMPLICIT NONE"
- WRITE(*,*)" INTEGER :: a"
- WRITE(*,*)" INTEGER(C_SIZE_T) :: a_size"
- WRITE(*,*)" CHARACTER(LEN=2) :: ichr2, jchr2"
- WRITE(*,*)" a_size = STORAGE_SIZE(a, c_size_t)/STORAGE_SIZE(c_char_'a',c_size_t)"
- WRITE(*,*)" WRITE(ichr2,'(I2)') a_size"
- WRITE(*,'(A,I0)')" WRITE(jchr2,'(I2)') ",ji
- WRITE(*,'(A)')' WRITE(*,*) "#define H5_FORTRAN_HAS_NATIVE_"'// &
- "//TRIM(ADJUSTL(ichr2))//"//'"_KIND "'//"//ADJUSTL(jchr2)"
- WRITE(*,*)" RETURN"
- WRITE(*,*)"END SUBROUTINE"
- jr = 0
- j = KIND(1.0)
- WRITE(*, "("" SUBROUTINE r"", i2.2,""()"")") jr
- WRITE(*,*)" IMPLICIT NONE"
- WRITE(*,*)" REAL :: a"
- WRITE(*,*)" INTEGER(C_SIZE_T) :: a_size"
- WRITE(*,*)" CHARACTER(LEN=2) :: ichr2, jchr2"
- WRITE(*,*)" a_size = STORAGE_SIZE(a, c_size_t)/STORAGE_SIZE(c_char_'a',c_size_t)"
- WRITE(*,*)" WRITE(ichr2,'(I2)') a_size"
- WRITE(*,'(A,I0)')" WRITE(jchr2,'(I2)') ",j
- WRITE(*,'(A)')' WRITE(*,*) "#define H5_FORTRAN_HAS_REAL_NATIVE_"'// &
- "//TRIM(ADJUSTL(ichr2))//"//'"_KIND "'//"//ADJUSTL(jchr2)"
- WRITE(*,*)" RETURN"
- WRITE(*,*)"END SUBROUTINE"
- jd = 0
- j = KIND(1.d0)
- WRITE(*, "("" SUBROUTINE d"", i2.2,""()"")") jd
- WRITE(*,*)" IMPLICIT NONE"
- WRITE(*,*)" DOUBLE PRECISION :: a"
- WRITE(*,*)" INTEGER(C_SIZE_T) :: a_size"
- WRITE(*,*)" CHARACTER(LEN=2) :: ichr2, jchr2"
- WRITE(*,*)" a_size = STORAGE_SIZE(a, c_size_t)/STORAGE_SIZE(c_char_'a',c_size_t)"
- WRITE(*,*)" WRITE(ichr2,'(I2)') a_size"
- WRITE(*,'(A,I0)')" WRITE(jchr2,'(I2)') ",j
- WRITE(*,'(A)')' WRITE(*,*) "#define H5_FORTRAN_HAS_DOUBLE_NATIVE_"'// &
- "//TRIM(ADJUSTL(ichr2))//"//'"_KIND "'//"//ADJUSTL(jchr2)"
- WRITE(*,*)" RETURN"
- WRITE(*,*)"END SUBROUTINE"
- DO i = 1, ii
- j = ikind_numbers(i)
- WRITE(*, "("" SUBROUTINE i"", i2.2,""()"")") j
- WRITE(*,*)" IMPLICIT NONE"
- WRITE(*,'(A,I0,A)')" INTEGER(KIND=",j,") :: a"
- WRITE(*,*)" INTEGER(C_SIZE_T) :: a_size"
- WRITE(*,*)" CHARACTER(LEN=2) :: ichr2, jchr2"
- WRITE(*,*)" a_size = STORAGE_SIZE(a, c_size_t)/STORAGE_SIZE(c_char_'a',c_size_t)"
- WRITE(*,*)" WRITE(ichr2,'(I2)') a_size"
- WRITE(*,'(A,I0)')" WRITE(jchr2,'(I2)') ",j
- WRITE(*,'(A)')' WRITE(*,*) "#define H5_FORTRAN_HAS_INTEGER_"'// &
- "//TRIM(ADJUSTL(ichr2))//"//'"_KIND "'//"//ADJUSTL(jchr2)"
- WRITE(*,*)" RETURN"
- WRITE(*,*)"END SUBROUTINE"
- ENDDO
- DO i = 1, ir
- j = rkind_numbers(i)
- WRITE(*, "("" SUBROUTINE r"", i2.2,""()"")") j
- WRITE(*,*)" IMPLICIT NONE"
- WRITE(*,'(A,I0,A)')" REAL(KIND= ",j,") :: a"
- WRITE(*,*)" INTEGER(C_SIZE_T) :: a_size"
- WRITE(*,*)" CHARACTER(LEN=2) :: ichr2, jchr2"
- WRITE(*,*)" a_size = STORAGE_SIZE(a, c_size_t)/STORAGE_SIZE(c_char_'a',c_size_t)"
- WRITE(*,*)" WRITE(ichr2,'(I2)') a_size"
- WRITE(*,'(A,I0)')" WRITE(jchr2,'(I2)') ", j
- WRITE(*,'(A)')' WRITE(*,*) "#define H5_FORTRAN_HAS_REAL_"'// &
- "//TRIM(ADJUSTL(ichr2))//"//'"_KIND "'//"//ADJUSTL(jchr2)"
- WRITE(*,*)" RETURN"
- WRITE(*,*)"END SUBROUTINE"
- ENDDO
- WRITE(*,*) "END MODULE H5test_kind_STORAGE_SIZE_mod"
- WRITE(*,*) ""
-
- ! (b) generate the main program
-
- WRITE(*,*) "PROGRAM H5test_kind_STORAGE_SIZE"
- WRITE(*,*) "USE H5test_kind_STORAGE_SIZE_mod"
- WRITE(*,*) "WRITE(*,*) "" /*generating header file*/ """
- ji = 0
- WRITE(*, "("" CALL i"", i2.2,""()"")") ji
- jr = 0
- WRITE(*, "("" CALL r"", i2.2,""()"")") jr
- jd = 0
- WRITE(*, "("" CALL d"", i2.2,""()"")") jd
- DO i = 1, ii
- j = ikind_numbers(i)
- WRITE(*, "("" CALL i"", i2.2,""()"")") j
- ENDDO
- DO i = 1, ir
- j = rkind_numbers(i)
- WRITE(*, "("" CALL r"", i2.2,""()"")") j
- ENDDO
- WRITE(*,*) "END PROGRAM H5test_kind_STORAGE_SIZE"
-
-END PROGRAM test_kind
-
-
-
diff --git a/fortran/src/HDF5.f90 b/fortran/src/HDF5.F90
index 75af333..64f5be6 100644
--- a/fortran/src/HDF5.f90
+++ b/fortran/src/HDF5.F90
@@ -26,31 +26,21 @@
! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
!
!*****
-
MODULE HDF5
USE H5GLOBAL
USE H5F
- USE H5F_PROVISIONAL
USE H5G
USE H5E
- USE H5E_PROVISIONAL
USE H5I
USE H5L
- USE H5L_PROVISIONAL
USE H5S
USE H5D
- USE H5D_PROVISIONAL
USE H5A
- USE H5A_PROVISIONAL
USE H5T
- USE H5T_PROVISIONAL
USE H5O
- USE H5O_PROVISIONAL
USE H5P
- USE H5P_PROVISIONAL
USE H5R
- USE H5R_PROVISIONAL
USE H5Z
- USE H5_DBLE_INTERFACE
+ USE H5_gen
USE H5LIB
END MODULE HDF5
diff --git a/fortran/src/HDF5mpio.f90 b/fortran/src/HDF5mpio.f90
deleted file mode 100644
index b8fb645..0000000
--- a/fortran/src/HDF5mpio.f90
+++ /dev/null
@@ -1,55 +0,0 @@
-!****h* ROBODoc/HDF5 (mpio)
-!
-! NAME
-! HDF5
-!
-! PURPOSE
-! This is the main module used for linking to the Fortran parallel HDF library.
-! This file replaces HDF5.f90 when compiling the parallel library.
-!
-! COPYRIGHT
-! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
-! Copyright by The HDF Group. *
-! Copyright by the Board of Trustees of the University of Illinois. *
-! All rights reserved. *
-! *
-! This file is part of HDF5. The full HDF5 copyright notice, including *
-! terms governing use, modification, and redistribution, is contained in *
-! the files COPYING and Copyright.html. COPYING can be found at the root *
-! of the source code distribution tree; Copyright.html can be found at the *
-! root level of an installed copy of the electronic HDF5 document set and *
-! is linked from the top-level documents page. It can also be found at *
-! http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have *
-! access to either file, you may request a copy from help@hdfgroup.org. *
-! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
-!
-!*****
-
-MODULE HDF5
- USE H5GLOBAL
- USE H5F
- USE H5F_PROVISIONAL
- USE H5G
- USE H5E
- USE H5E_PROVISIONAL
- USE H5I
- USE H5L
- USE H5L_PROVISIONAL
- USE H5S
- USE H5D
- USE H5D_PROVISIONAL
- USE H5A
- USE H5A_PROVISIONAL
- USE H5T
- USE H5T_PROVISIONAL
- USE H5O
- USE H5O_PROVISIONAL
- USE H5P
- USE H5P_PROVISIONAL
- USE H5FDMPIO
- USE H5R
- USE H5R_PROVISIONAL
- USE H5Z
- USE H5_DBLE_INTERFACE
- USE H5LIB
-END MODULE HDF5
diff --git a/fortran/src/Makefile.am b/fortran/src/Makefile.am
index a4b3843..eb45f60 100644
--- a/fortran/src/Makefile.am
+++ b/fortran/src/Makefile.am
@@ -42,42 +42,13 @@ else
AM_LDFLAGS+=-static
endif
-# Include HDF5.f90 if parallel is disabled, HDF5mpiof* if parallel is enabled
-if BUILD_PARALLEL_CONDITIONAL
- PARALLEL_COND_SRC = H5FDmpiof.c HDF5mpio.f90 H5FDmpioff.f90
-else
- PARALLEL_COND_SRC = HDF5.f90
-endif
-
-# Check if the compiler supports the Fortran 2003 standard
-# which should include the intrinsic module iso_c_binding
-if FORTRAN_2003_CONDITIONAL_F
- F_STATUS = _F03
-else
- F_STATUS = _F90
-endif
-
-# Condition for including/excluding the DBLE interfaces for when the
-# default REAL is of type DOUBLE PRECISION.
-# We do not include the double precision interfaces if the defaut REAL is
-# DOUBLE PRECISION since this would lead to a non-unique conflict with the
-# generic interfaces declared as REAL.
-if FORTRAN_DEFAULT_REALisDBLE_F
- F_DBLE = Exclude
-else
- F_DBLE = Include
-endif
-
# Source files for the library.
-libhdf5_fortran_la_SOURCES=H5f90global.f90 \
- H5fortran_types.f90 H5_ff$(F_STATUS).f90 H5_ff.f90 H5Aff.f90 H5Dff.f90 H5Eff.f90 \
- H5Fff.f90 H5Gff.f90 H5Iff.f90 H5Lff.f90 H5Off.f90 H5Pff.f90 H5Rff.f90 H5Sff.f90 \
- H5Tff.f90 H5Zff.f90 \
- H5_DBLE_Interface$(F_DBLE).f90 \
+libhdf5_fortran_la_SOURCES=H5f90global.F90 \
+ H5fortran_types.F90 H5_ff.F90 H5Aff.F90 H5Dff.F90 H5Eff.F90 \
+ H5Fff.F90 H5Gff.F90 H5Iff.F90 H5Lff.F90 H5Off.F90 H5Pff.F90 H5Rff.F90 H5Sff.F90 \
+ H5Tff.F90 H5Zff.F90 H5_gen.f90 \
H5f90kit.c H5_f.c H5Af.c H5Df.c H5Ef.c H5Ff.c H5Gf.c \
- H5If.c H5Lf.c H5Of.c H5Pf.c H5Rf.c H5Sf.c H5Tf.c H5Zf.c \
- H5Aff$(F_STATUS).f90 H5Dff$(F_STATUS).f90 H5Eff$(F_STATUS).f90 H5Fff$(F_STATUS).f90 H5Lff$(F_STATUS).f90 \
- H5Off$(F_STATUS).f90 H5Pff$(F_STATUS).f90 H5Rff$(F_STATUS).f90 H5Tff$(F_STATUS).f90 $(PARALLEL_COND_SRC)
+ H5If.c H5Lf.c H5Of.c H5Pf.c H5Rf.c H5Sf.c H5Tf.c H5Zf.c HDF5.f90
# HDF5 Fortran library depends on HDF5 Library.
libhdf5_fortran_la_LIBADD=$(LIBHDF5)
@@ -86,11 +57,9 @@ libhdf5_fortran_la_LIBADD=$(LIBHDF5)
# Remove it only when distclean.
DISTCLEANFILES=h5fc
-# H5fortran_types.f90 and H5f90i.h are automatically generaed by
-# H5match_types, and must be cleaned explicitly. H5fort_type_defines.h
-# is generated by H5fortran_detect
-MOSTLYCLEANFILES=H5fortran_types.f90 H5f90i_gen.h H5fort_type_defines.h \
- H5fortran_detect.f90
+# H5fortran_types.F90 and H5f90i.h are automatically generaed by
+# H5match_types, and must be cleaned explicitly.
+MOSTLYCLEANFILES=H5fortran_types.F90 H5f90i_gen.h
# Fortran module files can have different extensions and different names
# (e.g., different capitalizations) on different platforms. Write rules
@@ -136,55 +105,35 @@ endif
# programs.
# It's a bit tricky to make sure that Automake builds things in the right
# order (especially when using 'gmake -j ...')
-# H5test_kind is compiled and run to produce H5fortran_detect.f90.
-# H5fortran_detect is compiled and run to produce H5fort_type_defines.h.
-# H5match_types.c then includes this file and can be compiled into
+# H5_buildiface is compiled and run to produce H5_gen.F90.
+# H5match_types.c then includes H5fort_type_defines.h and can be compiled into
# H5match_types. When H5match_types is run, it creates H5f90i_gen.h
-# and H5fortran_types.f90, which are included in the Fortran library.
+# and H5fortran_types.F90, which are included in the Fortran library.
# These are the helper programs we need to build.
-noinst_PROGRAMS = H5match_types H5fortran_detect H5test_kind
+noinst_PROGRAMS = H5match_types H5_buildiface
# Tell Automake to create H5f90i_gen.h before it builds the library
# sources. When it creates H5f90i_gen.h, it will create
-# H5fortran_types.f90 as a side effect.
+# H5fortran_types.F90 as a side effect.
BUILT_SOURCES = H5f90i_gen.h
#Specify what Automake needs to create: first the H5fort_type_defines.h
# header, then H5match_types which includes that header, then
# it needs to run H5match_types.
-H5fortran_types.f90 H5f90i_gen.h: H5match_types$(EXEEXT)
+H5fortran_types.F90 H5f90i_gen.h: H5match_types$(EXEEXT)
$(RUNSERIAL) ./H5match_types$(EXEEXT)
-# H5fort_type_defines.h is created by running H5fortran_detect.
-# Obviously, H5fortran_detect needs to be built first.
-H5fort_type_defines.h: H5fortran_detect$(EXEEXT)
- $(RUNSERIAL) ./H5fortran_detect$(EXEEXT) > H5fort_type_defines.h
-
-H5match_types.$(OBJEXT): H5fort_type_defines.h
-
-# Automake knows how to build fortran programs if we tell it the source
-# files.
-H5fortran_detect_SOURCES = H5fortran_detect.f90
+# H5_buildiface.F90 generates all the APIs that have a KIND type associated
+# with them.
-# H5test_kind.f90 generates H5Fortran_detect.f90 depending on if
-# intrinsic function SIZEOF is available.
+H5_gen.F90: H5_buildiface$(EXEEXT)
+ $(RUNSERIAL) ./H5_buildiface$(EXEEXT)
-H5fortran_detect.f90: H5test_kind$(EXEEXT)
- $(RUNSERIAL) ./H5test_kind$(EXEEXT) > H5fortran_detect.f90
-
-# H5test_kind.f90 is included in the distribution, and Automake knows
+# H5_buildiface.F90 is included in the distribution, and Automake knows
# how to compile a fortran program given its sources.
-if FORTRAN_HAVE_STORAGE_SIZE
- H5test_kind_SOURCES = H5test_kind_STORAGE_SIZE.f90
-else
-if FORTRAN_HAVE_SIZEOF
- H5test_kind_SOURCES = H5test_kind_SIZEOF.f90
-else
- H5test_kind_SOURCES = H5test_kind.f90
-endif
-endif
+H5_buildiface_SOURCES = H5_buildiface.F90
# Mark this directory as part of the Fortran API
FORTRAN_API=yes
@@ -193,51 +142,28 @@ FORTRAN_API=yes
# determining this automagically (like we do with the C files). So, when
# doing a parallel make, some modules could be made way before the
# modules they depend upon are actually made. *sigh*
-H5f90global.lo: $(srcdir)/H5f90global.f90 H5fortran_types.lo
-H5fortran_types.lo: H5fortran_types.f90
-H5fortran_detect.lo: H5fortran_detect.f90
-H5test_kind.lo: $(srcdir)/H5test_kind.f90
-H5test_kind_SIZEOF.lo: $(srcdir)/H5test_kind_SIZEOF.f90
-H5_ff$(F_STATUS).lo: $(srcdir)/H5_ff$(F_STATUS).f90 H5f90global.lo
-H5_ff.lo: $(srcdir)/H5_ff.f90 H5f90global.lo H5_ff$(F_STATUS).lo
-H5Aff.lo: $(srcdir)/H5Aff.f90 H5f90global.lo
-H5Dff.lo: $(srcdir)/H5Dff.f90 H5f90global.lo
-H5Aff$(F_STATUS).lo: $(srcdir)/H5Aff$(F_STATUS).f90 H5f90global.lo
-H5Dff$(F_STATUS).lo: $(srcdir)/H5Dff$(F_STATUS).f90 H5f90global.lo
-H5Eff$(F_STATUS).lo: $(srcdir)/H5Eff$(F_STATUS).f90 H5f90global.lo
-H5Fff$(F_STATUS).lo: $(srcdir)/H5Fff$(F_STATUS).f90 H5f90global.lo
-H5Lff$(F_STATUS).lo: $(srcdir)/H5Lff$(F_STATUS).f90 H5f90global.lo
-H5Off$(F_STATUS).lo: $(srcdir)/H5Off$(F_STATUS).f90 H5f90global.lo
-H5Pff$(F_STATUS).lo: $(srcdir)/H5Pff$(F_STATUS).f90 H5f90global.lo
-H5Rff$(F_STATUS).lo: $(srcdir)/H5Rff$(F_STATUS).f90 H5f90global.lo
-H5Tff$(F_STATUS).lo: $(srcdir)/H5Tff$(F_STATUS).f90 H5f90global.lo
-H5Eff.lo: $(srcdir)/H5Eff.f90 H5f90global.lo
-H5Fff.lo: $(srcdir)/H5Fff.f90 H5f90global.lo
-H5Gff.lo: $(srcdir)/H5Gff.f90 H5f90global.lo
-H5Iff.lo: $(srcdir)/H5Iff.f90 H5f90global.lo
-H5Lff.lo: $(srcdir)/H5Lff.f90 H5f90global.lo
-H5Off.lo: $(srcdir)/H5Off.f90 H5f90global.lo
-H5Pff.lo: $(srcdir)/H5Pff.f90 H5f90global.lo
-H5Rff.lo: $(srcdir)/H5Rff.f90 H5f90global.lo
-H5Sff.lo: $(srcdir)/H5Sff.f90 H5f90global.lo
-H5Tff.lo: $(srcdir)/H5Tff.f90 H5f90global.lo
-H5Zff.lo: $(srcdir)/H5Zff.f90 H5f90global.lo
-H5_DBLE_Interface$(F_DBLE).lo: $(srcdir)/H5_DBLE_Interface$(F_DBLE).f90 H5Aff$(F_STATUS).lo H5Dff$(F_STATUS).lo H5Fff$(F_STATUS).lo H5Eff$(F_STATUS).lo H5Pff$(F_STATUS).lo
-HDF5.lo: $(srcdir)/HDF5.f90 H5f90global.lo H5_ff$(F_STATUS).lo H5_ff.lo H5Aff.lo H5Aff$(F_STATUS).lo \
- H5Dff.lo H5Dff$(F_STATUS).lo \
- H5Eff.lo H5Eff$(F_STATUS).lo \
- H5Fff.lo H5Fff$(F_STATUS).lo H5Gff.lo H5Iff.lo H5Lff.lo H5Lff$(F_STATUS).lo \
- H5Off.lo H5Off$(F_STATUS).lo H5Pff.lo H5Pff$(F_STATUS).lo H5Rff$(F_STATUS).lo H5Rff.lo \
- H5Sff.lo H5Tff.lo H5Tff$(F_STATUS).lo H5Zff.lo \
- H5_DBLE_Interface$(F_DBLE).lo
-H5FDmpioff.lo: $(srcdir)/H5FDmpioff.f90 H5f90global.lo
-HDF5mpio.lo: $(srcdir)/H5FDmpioff.f90 H5f90global.lo H5_ff$(F_STATUS).lo H5_ff.lo \
- H5Aff.lo H5Aff$(F_STATUS).lo \
- H5Dff.lo H5Dff$(F_STATUS).lo \
- H5Eff.lo H5Eff$(F_STATUS).lo \
- H5Fff.lo H5Fff$(F_STATUS).lo H5Gff.lo H5Iff.lo H5Lff.lo H5Lff$(F_STATUS).lo \
- H5Off.lo H5Off$(F_STATUS).lo H5Pff.lo H5Pff$(F_STATUS).lo H5Rff$(F_STATUS).lo H5Rff.lo \
- H5Sff.lo H5Tff.lo H5Tff$(F_STATUS).lo H5Zff.lo \
- H5_DBLE_Interface$(F_DBLE).lo H5FDmpioff.lo
-
-include $(top_srcdir)/config/conclude.am
+H5f90global.lo: $(srcdir)/H5f90global.F90 H5fortran_types.lo
+H5_buildiface.lo: $(srcdir)/H5_buildiface.F90
+H5_ff.lo: $(srcdir)/H5_ff.F90 H5f90global.lo
+H5Aff.lo: $(srcdir)/H5Aff.F90 H5f90global.lo
+H5Dff.lo: $(srcdir)/H5Dff.F90 H5f90global.lo
+H5Eff.lo: $(srcdir)/H5Eff.F90 H5f90global.lo
+H5Fff.lo: $(srcdir)/H5Fff.F90 H5f90global.lo
+H5Gff.lo: $(srcdir)/H5Gff.F90 H5f90global.lo
+H5Iff.lo: $(srcdir)/H5Iff.F90 H5f90global.lo
+H5Lff.lo: $(srcdir)/H5Lff.F90 H5f90global.lo
+H5Off.lo: $(srcdir)/H5Off.F90 H5f90global.lo
+H5Pff.lo: $(srcdir)/H5Pff.F90 H5f90global.lo
+H5Rff.lo: $(srcdir)/H5Rff.F90 H5f90global.lo
+H5Sff.lo: $(srcdir)/H5Sff.F90 H5f90global.lo
+H5Tff.lo: $(srcdir)/H5Tff.F90 H5f90global.lo
+H5Zff.lo: $(srcdir)/H5Zff.F90 H5f90global.lo
+H5_gen.lo: H5_gen.F90 H5f90global.lo H5Aff.lo H5Dff.lo H5Pff.lo
+HDF5.lo: $(srcdir)/HDF5.F90 H5f90global.lo H5_ff.lo H5Aff.lo \
+ H5Dff.lo \
+ H5Eff.lo \
+ H5Fff.lo H5Gff.lo H5Iff.lo H5Lff.lo \
+ H5Off.lo H5Pff.lo H5Rff.lo \
+ H5Sff.lo H5Tff.lo H5Zff.lo H5_gen.lo
+
+include $(top_srcdir)/config/conclude_fc.am
diff --git a/fortran/src/Makefile.in b/fortran/src/Makefile.in
index aba85ec..563f75f 100644
--- a/fortran/src/Makefile.in
+++ b/fortran/src/Makefile.in
@@ -31,6 +31,10 @@
# HDF5 Fortran Library Makefile(.in)
#
+# Makefile.am include fragment with Fortran helper rules and macros.
+
+# AM_FCCPPFLAGS, FCCPPFLAGS are currently not used.
+
VPATH = @srcdir@
am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
@@ -98,17 +102,18 @@ build_triplet = @build@
host_triplet = @host@
DIST_COMMON = $(top_srcdir)/config/commence.am \
$(top_srcdir)/config/lt_vers.am \
+ $(top_srcdir)/config/conclude_fc.am \
$(top_srcdir)/config/conclude.am $(srcdir)/Makefile.in \
- $(srcdir)/Makefile.am $(top_srcdir)/bin/mkinstalldirs \
- $(srcdir)/h5fc.in $(top_srcdir)/bin/depcomp \
+ $(srcdir)/Makefile.am $(srcdir)/H5config_f.inc.in \
+ $(top_srcdir)/bin/mkinstalldirs $(srcdir)/h5fc.in \
+ $(srcdir)/H5fort_type_defines.h.in $(top_srcdir)/bin/depcomp \
$(top_srcdir)/bin/test-driver README
# Some Fortran compilers can't build shared libraries, so sometimes we
# want to build a shared C library and a static Fortran library. If so,
# pass the -static flag to the library linker.
@FORTRAN_SHARED_CONDITIONAL_FALSE@am__append_1 = -static
-noinst_PROGRAMS = H5match_types$(EXEEXT) H5fortran_detect$(EXEEXT) \
- H5test_kind$(EXEEXT)
+noinst_PROGRAMS = H5match_types$(EXEEXT) H5_buildiface$(EXEEXT)
TESTS =
subdir = fortran/src
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
@@ -117,8 +122,8 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/aclocal_cxx.m4 \
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(SHELL) $(top_srcdir)/bin/mkinstalldirs
-CONFIG_HEADER = $(top_builddir)/src/H5config.h
-CONFIG_CLEAN_FILES = h5fc
+CONFIG_HEADER = $(top_builddir)/src/H5config.h H5config_f.inc
+CONFIG_CLEAN_FILES = h5fc H5fort_type_defines.h
CONFIG_CLEAN_VPATH_FILES =
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
am__vpath_adj = case $$p in \
@@ -150,30 +155,12 @@ am__uninstall_files_from_dir = { \
am__installdirs = "$(DESTDIR)$(libdir)"
LTLIBRARIES = $(lib_LTLIBRARIES)
libhdf5_fortran_la_DEPENDENCIES = $(LIBHDF5)
-am__libhdf5_fortran_la_SOURCES_DIST = H5f90global.f90 \
- H5fortran_types.f90 H5_ff$(F_STATUS).f90 H5_ff.f90 H5Aff.f90 \
- H5Dff.f90 H5Eff.f90 H5Fff.f90 H5Gff.f90 H5Iff.f90 H5Lff.f90 \
- H5Off.f90 H5Pff.f90 H5Rff.f90 H5Sff.f90 H5Tff.f90 H5Zff.f90 \
- H5_DBLE_Interface$(F_DBLE).f90 H5f90kit.c H5_f.c H5Af.c H5Df.c \
- H5Ef.c H5Ff.c H5Gf.c H5If.c H5Lf.c H5Of.c H5Pf.c H5Rf.c H5Sf.c \
- H5Tf.c H5Zf.c H5Aff$(F_STATUS).f90 H5Dff$(F_STATUS).f90 \
- H5Eff$(F_STATUS).f90 H5Fff$(F_STATUS).f90 H5Lff$(F_STATUS).f90 \
- H5Off$(F_STATUS).f90 H5Pff$(F_STATUS).f90 H5Rff$(F_STATUS).f90 \
- H5Tff$(F_STATUS).f90 HDF5.f90 H5FDmpiof.c HDF5mpio.f90 \
- H5FDmpioff.f90
-@BUILD_PARALLEL_CONDITIONAL_FALSE@am__objects_1 = HDF5.lo
-@BUILD_PARALLEL_CONDITIONAL_TRUE@am__objects_1 = H5FDmpiof.lo \
-@BUILD_PARALLEL_CONDITIONAL_TRUE@ HDF5mpio.lo H5FDmpioff.lo
am_libhdf5_fortran_la_OBJECTS = H5f90global.lo H5fortran_types.lo \
- H5_ff$(F_STATUS).lo H5_ff.lo H5Aff.lo H5Dff.lo H5Eff.lo \
- H5Fff.lo H5Gff.lo H5Iff.lo H5Lff.lo H5Off.lo H5Pff.lo H5Rff.lo \
- H5Sff.lo H5Tff.lo H5Zff.lo H5_DBLE_Interface$(F_DBLE).lo \
- H5f90kit.lo H5_f.lo H5Af.lo H5Df.lo H5Ef.lo H5Ff.lo H5Gf.lo \
- H5If.lo H5Lf.lo H5Of.lo H5Pf.lo H5Rf.lo H5Sf.lo H5Tf.lo \
- H5Zf.lo H5Aff$(F_STATUS).lo H5Dff$(F_STATUS).lo \
- H5Eff$(F_STATUS).lo H5Fff$(F_STATUS).lo H5Lff$(F_STATUS).lo \
- H5Off$(F_STATUS).lo H5Pff$(F_STATUS).lo H5Rff$(F_STATUS).lo \
- H5Tff$(F_STATUS).lo $(am__objects_1)
+ H5_ff.lo H5Aff.lo H5Dff.lo H5Eff.lo H5Fff.lo H5Gff.lo H5Iff.lo \
+ H5Lff.lo H5Off.lo H5Pff.lo H5Rff.lo H5Sff.lo H5Tff.lo H5Zff.lo \
+ H5_gen.lo H5f90kit.lo H5_f.lo H5Af.lo H5Df.lo H5Ef.lo H5Ff.lo \
+ H5Gf.lo H5If.lo H5Lf.lo H5Of.lo H5Pf.lo H5Rf.lo H5Sf.lo \
+ H5Tf.lo H5Zf.lo HDF5.lo
libhdf5_fortran_la_OBJECTS = $(am_libhdf5_fortran_la_OBJECTS)
AM_V_lt = $(am__v_lt_@AM_V@)
am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
@@ -184,19 +171,12 @@ libhdf5_fortran_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=FC \
$(AM_FCFLAGS) $(FCFLAGS) $(libhdf5_fortran_la_LDFLAGS) \
$(LDFLAGS) -o $@
PROGRAMS = $(noinst_PROGRAMS)
-am_H5fortran_detect_OBJECTS = H5fortran_detect.$(OBJEXT)
-H5fortran_detect_OBJECTS = $(am_H5fortran_detect_OBJECTS)
-H5fortran_detect_LDADD = $(LDADD)
+am_H5_buildiface_OBJECTS = H5_buildiface.$(OBJEXT)
+H5_buildiface_OBJECTS = $(am_H5_buildiface_OBJECTS)
+H5_buildiface_LDADD = $(LDADD)
H5match_types_SOURCES = H5match_types.c
H5match_types_OBJECTS = H5match_types.$(OBJEXT)
H5match_types_LDADD = $(LDADD)
-am__H5test_kind_SOURCES_DIST = H5test_kind.f90 H5test_kind_SIZEOF.f90 \
- H5test_kind_STORAGE_SIZE.f90
-@FORTRAN_HAVE_SIZEOF_FALSE@@FORTRAN_HAVE_STORAGE_SIZE_FALSE@am_H5test_kind_OBJECTS = H5test_kind.$(OBJEXT)
-@FORTRAN_HAVE_SIZEOF_TRUE@@FORTRAN_HAVE_STORAGE_SIZE_FALSE@am_H5test_kind_OBJECTS = H5test_kind_SIZEOF.$(OBJEXT)
-@FORTRAN_HAVE_STORAGE_SIZE_TRUE@am_H5test_kind_OBJECTS = H5test_kind_STORAGE_SIZE.$(OBJEXT)
-H5test_kind_OBJECTS = $(am_H5test_kind_OBJECTS)
-H5test_kind_LDADD = $(LDADD)
AM_V_P = $(am__v_P_@AM_V@)
am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
am__v_P_0 = false
@@ -213,6 +193,18 @@ DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/src
depcomp = $(SHELL) $(top_srcdir)/bin/depcomp
am__depfiles_maybe = depfiles
am__mv = mv -f
+AM_V_PPFC = $(am__v_PPFC_@AM_V@)
+am__v_PPFC_ = $(am__v_PPFC_@AM_DEFAULT_V@)
+am__v_PPFC_0 = @echo " PPFC " $@;
+am__v_PPFC_1 =
+FCLD = $(FC)
+FCLINK = $(LIBTOOL) $(AM_V_lt) --tag=FC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(FCLD) $(AM_FCFLAGS) $(FCFLAGS) \
+ $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_FCLD = $(am__v_FCLD_@AM_V@)
+am__v_FCLD_ = $(am__v_FCLD_@AM_DEFAULT_V@)
+am__v_FCLD_0 = @echo " FCLD " $@;
+am__v_FCLD_1 =
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
@@ -238,25 +230,17 @@ AM_V_FC = $(am__v_FC_@AM_V@)
am__v_FC_ = $(am__v_FC_@AM_DEFAULT_V@)
am__v_FC_0 = @echo " FC " $@;
am__v_FC_1 =
-FCLD = $(FC)
-FCLINK = $(LIBTOOL) $(AM_V_lt) --tag=FC $(AM_LIBTOOLFLAGS) \
- $(LIBTOOLFLAGS) --mode=link $(FCLD) $(AM_FCFLAGS) $(FCFLAGS) \
- $(AM_LDFLAGS) $(LDFLAGS) -o $@
-AM_V_FCLD = $(am__v_FCLD_@AM_V@)
-am__v_FCLD_ = $(am__v_FCLD_@AM_DEFAULT_V@)
-am__v_FCLD_0 = @echo " FCLD " $@;
-am__v_FCLD_1 =
-SOURCES = $(libhdf5_fortran_la_SOURCES) $(H5fortran_detect_SOURCES) \
- H5match_types.c $(H5test_kind_SOURCES)
-DIST_SOURCES = $(am__libhdf5_fortran_la_SOURCES_DIST) \
- $(H5fortran_detect_SOURCES) H5match_types.c \
- $(am__H5test_kind_SOURCES_DIST)
+SOURCES = $(libhdf5_fortran_la_SOURCES) $(H5_buildiface_SOURCES) \
+ H5match_types.c
+DIST_SOURCES = $(libhdf5_fortran_la_SOURCES) $(H5_buildiface_SOURCES) \
+ H5match_types.c
am__can_run_installinfo = \
case $$AM_UPDATE_INFO_DIR in \
n|no|NO) false;; \
*) (install-info --version) >/dev/null 2>&1;; \
esac
-am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) \
+ $(LISP)H5config_f.inc.in
# Read a list of newline-separated strings from the standard input,
# and print each of them once, without duplicates. Input order is
# *not* preserved.
@@ -513,14 +497,21 @@ F9XMODEXT = @F9XMODEXT@
F9XMODFLAG = @F9XMODFLAG@
F9XSUFFIXFLAG = @F9XSUFFIXFLAG@
FC = @FC@
-FC2003 = @FC2003@
FCFLAGS = @FCFLAGS@
FCFLAGS_f90 = @FCFLAGS_f90@
FCLIBS = @FCLIBS@
FC_VERSION = @FC_VERSION@
FGREP = @FGREP@
+FORTRAN_C_LONG_DOUBLE_IS_UNIQUE = @FORTRAN_C_LONG_DOUBLE_IS_UNIQUE@
+FORTRAN_HAVE_C_LONG_DOUBLE = @FORTRAN_HAVE_C_LONG_DOUBLE@
+FORTRAN_SIZEOF_LONG_DOUBLE = @FORTRAN_SIZEOF_LONG_DOUBLE@
FSEARCH_DIRS = @FSEARCH_DIRS@
GREP = @GREP@
+H5CONFIG_F_IKIND = @H5CONFIG_F_IKIND@
+H5CONFIG_F_NUM_IKIND = @H5CONFIG_F_NUM_IKIND@
+H5CONFIG_F_NUM_RKIND = @H5CONFIG_F_NUM_RKIND@
+H5CONFIG_F_RKIND = @H5CONFIG_F_RKIND@
+H5CONFIG_F_RKIND_SIZEOF = @H5CONFIG_F_RKIND_SIZEOF@
H5_CFLAGS = @H5_CFLAGS@
H5_CPPFLAGS = @H5_CPPFLAGS@
H5_CXXFLAGS = @H5_CXXFLAGS@
@@ -530,13 +521,12 @@ H5_LDFLAGS = @H5_LDFLAGS@
H5_VERSION = @H5_VERSION@
HADDR_T = @HADDR_T@
HAVE_DMALLOC = @HAVE_DMALLOC@
-HAVE_FORTRAN_2003 = @HAVE_FORTRAN_2003@
+HAVE_Fortran_INTEGER_SIZEOF_16 = @HAVE_Fortran_INTEGER_SIZEOF_16@
HAVE_PTHREAD = @HAVE_PTHREAD@
HDF5_HL = @HDF5_HL@
HDF5_INTERFACES = @HDF5_INTERFACES@
HDF_CXX = @HDF_CXX@
HDF_FORTRAN = @HDF_FORTRAN@
-HDF_FORTRAN2003 = @HDF_FORTRAN2003@
HID_T = @HID_T@
HL = @HL@
HL_FOR = @HL_FOR@
@@ -578,9 +568,20 @@ PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
+PAC_C_MAX_REAL_PRECISION = @PAC_C_MAX_REAL_PRECISION@
+PAC_FC_ALL_INTEGER_KINDS = @PAC_FC_ALL_INTEGER_KINDS@
+PAC_FC_ALL_INTEGER_KINDS_SIZEOF = @PAC_FC_ALL_INTEGER_KINDS_SIZEOF@
+PAC_FC_ALL_REAL_KINDS = @PAC_FC_ALL_REAL_KINDS@
+PAC_FC_ALL_REAL_KINDS_SIZEOF = @PAC_FC_ALL_REAL_KINDS_SIZEOF@
+PAC_FC_MAX_REAL_PRECISION = @PAC_FC_MAX_REAL_PRECISION@
+PAC_FORTRAN_NATIVE_DOUBLE_KIND = @PAC_FORTRAN_NATIVE_DOUBLE_KIND@
+PAC_FORTRAN_NATIVE_DOUBLE_SIZEOF = @PAC_FORTRAN_NATIVE_DOUBLE_SIZEOF@
+PAC_FORTRAN_NATIVE_INTEGER_KIND = @PAC_FORTRAN_NATIVE_INTEGER_KIND@
+PAC_FORTRAN_NATIVE_INTEGER_SIZEOF = @PAC_FORTRAN_NATIVE_INTEGER_SIZEOF@
+PAC_FORTRAN_NATIVE_REAL_KIND = @PAC_FORTRAN_NATIVE_REAL_KIND@
+PAC_FORTRAN_NATIVE_REAL_SIZEOF = @PAC_FORTRAN_NATIVE_REAL_SIZEOF@
PARALLEL = @PARALLEL@
PATH_SEPARATOR = @PATH_SEPARATOR@
-PERL = @PERL@
RANLIB = @RANLIB@
ROOT = @ROOT@
RUNPARALLEL = @RUNPARALLEL@
@@ -724,7 +725,7 @@ CHECK_CLEANFILES = *.chkexe *.chklog *.clog *.clog2
# After making changes, run bin/reconfigure to update other configure related
# files like Makefile.in.
LT_VERS_INTERFACE = 6
-LT_VERS_REVISION = 217
+LT_VERS_REVISION = 219
LT_VERS_AGE = 0
AM_FCLIBS = $(LIBHDF5)
@@ -733,34 +734,14 @@ lib_LTLIBRARIES = libhdf5_fortran.la
# Add libtool numbers to the HDF5 Fortran library (from config/lt_vers.am)
libhdf5_fortran_la_LDFLAGS = -version-info $(LT_VERS_INTERFACE):$(LT_VERS_REVISION):$(LT_VERS_AGE) $(AM_LDFLAGS)
-@BUILD_PARALLEL_CONDITIONAL_FALSE@PARALLEL_COND_SRC = HDF5.f90
-
-# Include HDF5.f90 if parallel is disabled, HDF5mpiof* if parallel is enabled
-@BUILD_PARALLEL_CONDITIONAL_TRUE@PARALLEL_COND_SRC = H5FDmpiof.c HDF5mpio.f90 H5FDmpioff.f90
-@FORTRAN_2003_CONDITIONAL_F_FALSE@F_STATUS = _F90
-
-# Check if the compiler supports the Fortran 2003 standard
-# which should include the intrinsic module iso_c_binding
-@FORTRAN_2003_CONDITIONAL_F_TRUE@F_STATUS = _F03
-@FORTRAN_DEFAULT_REALisDBLE_F_FALSE@F_DBLE = Include
-
-# Condition for including/excluding the DBLE interfaces for when the
-# default REAL is of type DOUBLE PRECISION.
-# We do not include the double precision interfaces if the defaut REAL is
-# DOUBLE PRECISION since this would lead to a non-unique conflict with the
-# generic interfaces declared as REAL.
-@FORTRAN_DEFAULT_REALisDBLE_F_TRUE@F_DBLE = Exclude
# Source files for the library.
-libhdf5_fortran_la_SOURCES = H5f90global.f90 \
- H5fortran_types.f90 H5_ff$(F_STATUS).f90 H5_ff.f90 H5Aff.f90 H5Dff.f90 H5Eff.f90 \
- H5Fff.f90 H5Gff.f90 H5Iff.f90 H5Lff.f90 H5Off.f90 H5Pff.f90 H5Rff.f90 H5Sff.f90 \
- H5Tff.f90 H5Zff.f90 \
- H5_DBLE_Interface$(F_DBLE).f90 \
+libhdf5_fortran_la_SOURCES = H5f90global.F90 \
+ H5fortran_types.F90 H5_ff.F90 H5Aff.F90 H5Dff.F90 H5Eff.F90 \
+ H5Fff.F90 H5Gff.F90 H5Iff.F90 H5Lff.F90 H5Off.F90 H5Pff.F90 H5Rff.F90 H5Sff.F90 \
+ H5Tff.F90 H5Zff.F90 H5_gen.f90 \
H5f90kit.c H5_f.c H5Af.c H5Df.c H5Ef.c H5Ff.c H5Gf.c \
- H5If.c H5Lf.c H5Of.c H5Pf.c H5Rf.c H5Sf.c H5Tf.c H5Zf.c \
- H5Aff$(F_STATUS).f90 H5Dff$(F_STATUS).f90 H5Eff$(F_STATUS).f90 H5Fff$(F_STATUS).f90 H5Lff$(F_STATUS).f90 \
- H5Off$(F_STATUS).f90 H5Pff$(F_STATUS).f90 H5Rff$(F_STATUS).f90 H5Tff$(F_STATUS).f90 $(PARALLEL_COND_SRC)
+ H5If.c H5Lf.c H5Of.c H5Pf.c H5Rf.c H5Sf.c H5Tf.c H5Zf.c HDF5.f90
# HDF5 Fortran library depends on HDF5 Library.
@@ -770,12 +751,9 @@ libhdf5_fortran_la_LIBADD = $(LIBHDF5)
# Remove it only when distclean.
DISTCLEANFILES = h5fc
-# H5fortran_types.f90 and H5f90i.h are automatically generaed by
-# H5match_types, and must be cleaned explicitly. H5fort_type_defines.h
-# is generated by H5fortran_detect
-MOSTLYCLEANFILES = H5fortran_types.f90 H5f90i_gen.h H5fort_type_defines.h \
- H5fortran_detect.f90
-
+# H5fortran_types.F90 and H5f90i.h are automatically generaed by
+# H5match_types, and must be cleaned explicitly.
+MOSTLYCLEANFILES = H5fortran_types.F90 H5f90i_gen.h
@BUILD_PARALLEL_CONDITIONAL_FALSE@H5FC_NAME = h5fc
# Custom rule for installing h5fc, since it will be named h5pfc if hdf5
@@ -784,21 +762,17 @@ MOSTLYCLEANFILES = H5fortran_types.f90 H5f90i_gen.h H5fort_type_defines.h \
# Tell Automake to create H5f90i_gen.h before it builds the library
# sources. When it creates H5f90i_gen.h, it will create
-# H5fortran_types.f90 as a side effect.
+# H5fortran_types.F90 as a side effect.
BUILT_SOURCES = H5f90i_gen.h
-# Automake knows how to build fortran programs if we tell it the source
-# files.
-H5fortran_detect_SOURCES = H5fortran_detect.f90
-@FORTRAN_HAVE_SIZEOF_FALSE@@FORTRAN_HAVE_STORAGE_SIZE_FALSE@H5test_kind_SOURCES = H5test_kind.f90
-@FORTRAN_HAVE_SIZEOF_TRUE@@FORTRAN_HAVE_STORAGE_SIZE_FALSE@H5test_kind_SOURCES = H5test_kind_SIZEOF.f90
-
-# H5test_kind.f90 is included in the distribution, and Automake knows
+# H5_buildiface.F90 is included in the distribution, and Automake knows
# how to compile a fortran program given its sources.
-@FORTRAN_HAVE_STORAGE_SIZE_TRUE@H5test_kind_SOURCES = H5test_kind_STORAGE_SIZE.f90
+H5_buildiface_SOURCES = H5_buildiface.F90
# Mark this directory as part of the Fortran API
FORTRAN_API = yes
+PPFCCOMPILE = $(FC) $(FCDEFS) $(DEFAULT_INCLUDES) $(FCINCLUDES) $(AM_FCCPPFLAGS) $(FCCPPFLAGS) $(AM_FCFLAGS) $(FCFLAGS)
+LTPPFCCOMPILE = $(LIBTOOL) --tag=FC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(PPFCCOMPILE)
# Automake needs to be taught how to build lib, progs, and tests targets.
# These will be filled in automatically for the most part (e.g.,
@@ -819,12 +793,12 @@ TEST_PROG_CHKEXE = $(TEST_PROG:=.chkexe_)
TEST_PROG_PARA_CHKEXE = $(TEST_PROG_PARA:=.chkexe_)
TEST_SCRIPT_CHKSH = $(TEST_SCRIPT:=.chkexe_)
TEST_SCRIPT_PARA_CHKSH = $(TEST_SCRIPT_PARA:=.chkexe_)
-all: $(BUILT_SOURCES)
+all: $(BUILT_SOURCES) H5config_f.inc
$(MAKE) $(AM_MAKEFLAGS) all-am
.SUFFIXES:
-.SUFFIXES: .c .f90 .lo .log .o .obj .sh .sh$(EXEEXT) .trs
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/config/commence.am $(top_srcdir)/config/lt_vers.am $(top_srcdir)/config/conclude.am $(am__configure_deps)
+.SUFFIXES: .F90 .c .f90 .lo .log .o .obj .sh .sh$(EXEEXT) .trs
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/config/commence.am $(top_srcdir)/config/lt_vers.am $(top_srcdir)/config/conclude_fc.am $(top_srcdir)/config/conclude.am $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
@@ -845,7 +819,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
-$(top_srcdir)/config/commence.am $(top_srcdir)/config/lt_vers.am $(top_srcdir)/config/conclude.am:
+$(top_srcdir)/config/commence.am $(top_srcdir)/config/lt_vers.am $(top_srcdir)/config/conclude_fc.am $(top_srcdir)/config/conclude.am:
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
@@ -855,8 +829,21 @@ $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(am__aclocal_m4_deps):
+
+H5config_f.inc: stamp-h2
+ @test -f $@ || rm -f stamp-h2
+ @test -f $@ || $(MAKE) $(AM_MAKEFLAGS) stamp-h2
+
+stamp-h2: $(srcdir)/H5config_f.inc.in $(top_builddir)/config.status
+ @rm -f stamp-h2
+ cd $(top_builddir) && $(SHELL) ./config.status fortran/src/H5config_f.inc
+
+distclean-hdr:
+ -rm -f H5config_f.inc stamp-h2
h5fc: $(top_builddir)/config.status $(srcdir)/h5fc.in
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
+H5fort_type_defines.h: $(top_builddir)/config.status $(srcdir)/H5fort_type_defines.h.in
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
install-libLTLIBRARIES: $(lib_LTLIBRARIES)
@$(NORMAL_INSTALL)
@@ -905,18 +892,14 @@ clean-noinstPROGRAMS:
echo " rm -f" $$list; \
rm -f $$list
-H5fortran_detect$(EXEEXT): $(H5fortran_detect_OBJECTS) $(H5fortran_detect_DEPENDENCIES) $(EXTRA_H5fortran_detect_DEPENDENCIES)
- @rm -f H5fortran_detect$(EXEEXT)
- $(AM_V_FCLD)$(FCLINK) $(H5fortran_detect_OBJECTS) $(H5fortran_detect_LDADD) $(LIBS)
+H5_buildiface$(EXEEXT): $(H5_buildiface_OBJECTS) $(H5_buildiface_DEPENDENCIES) $(EXTRA_H5_buildiface_DEPENDENCIES)
+ @rm -f H5_buildiface$(EXEEXT)
+ $(AM_V_FCLD)$(FCLINK) $(H5_buildiface_OBJECTS) $(H5_buildiface_LDADD) $(LIBS)
H5match_types$(EXEEXT): $(H5match_types_OBJECTS) $(H5match_types_DEPENDENCIES) $(EXTRA_H5match_types_DEPENDENCIES)
@rm -f H5match_types$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(H5match_types_OBJECTS) $(H5match_types_LDADD) $(LIBS)
-H5test_kind$(EXEEXT): $(H5test_kind_OBJECTS) $(H5test_kind_DEPENDENCIES) $(EXTRA_H5test_kind_DEPENDENCIES)
- @rm -f H5test_kind$(EXEEXT)
- $(AM_V_FCLD)$(FCLINK) $(H5test_kind_OBJECTS) $(H5test_kind_LDADD) $(LIBS)
-
mostlyclean-compile:
-rm -f *.$(OBJEXT)
@@ -926,7 +909,6 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Af.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Df.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Ef.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5FDmpiof.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Ff.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Gf.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5If.Plo@am__quote@
@@ -941,6 +923,12 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5f90kit.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5match_types.Po@am__quote@
+.F90.obj:
+ $(AM_V_PPFC)$(PPFCCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+
+.F90.lo:
+ $(AM_V_PPFC)$(LTPPFCCOMPILE) -c -o $@ $<
+
.c.o:
@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
@@ -962,9 +950,6 @@ distclean-compile:
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $<
-.f90.o:
- $(AM_V_FC)$(FCCOMPILE) -c -o $@ $(FCFLAGS_f90) $<
-
.f90.obj:
$(AM_V_FC)$(FCCOMPILE) -c -o $@ $(FCFLAGS_f90) `$(CYGPATH_W) '$<'`
@@ -1208,7 +1193,7 @@ check-am: all-am
$(MAKE) $(AM_MAKEFLAGS) check-TESTS
check: $(BUILT_SOURCES)
$(MAKE) $(AM_MAKEFLAGS) check-am
-all-am: Makefile $(LTLIBRARIES) $(PROGRAMS) all-local
+all-am: Makefile $(LTLIBRARIES) $(PROGRAMS) H5config_f.inc all-local
installdirs:
for dir in "$(DESTDIR)$(libdir)"; do \
test -z "$$dir" || $(MKDIR_P) "$$dir"; \
@@ -1259,7 +1244,7 @@ distclean: distclean-am
-rm -rf ./$(DEPDIR)
-rm -f Makefile
distclean-am: clean-am distclean-compile distclean-generic \
- distclean-local distclean-tags
+ distclean-hdr distclean-local distclean-tags
dvi: dvi-am
@@ -1328,14 +1313,14 @@ uninstall-am: uninstall-libLTLIBRARIES uninstall-local
check-am clean clean-generic clean-libLTLIBRARIES \
clean-libtool clean-local clean-noinstPROGRAMS cscopelist-am \
ctags ctags-am distclean distclean-compile distclean-generic \
- distclean-libtool distclean-local distclean-tags distdir dvi \
- dvi-am html html-am info info-am install install-am \
- install-data install-data-am install-data-local install-dvi \
- install-dvi-am install-exec install-exec-am install-exec-local \
- install-html install-html-am install-info install-info-am \
- install-libLTLIBRARIES install-man install-pdf install-pdf-am \
- install-ps install-ps-am install-strip installcheck \
- installcheck-am installdirs maintainer-clean \
+ distclean-hdr distclean-libtool distclean-local distclean-tags \
+ distdir dvi dvi-am html html-am info info-am install \
+ install-am install-data install-data-am install-data-local \
+ install-dvi install-dvi-am install-exec install-exec-am \
+ install-exec-local install-html install-html-am install-info \
+ install-info-am install-libLTLIBRARIES install-man install-pdf \
+ install-pdf-am install-ps install-ps-am install-strip \
+ installcheck installcheck-am installdirs maintainer-clean \
maintainer-clean-generic maintainer-clean-local mostlyclean \
mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
mostlyclean-local pdf pdf-am ps ps-am recheck tags tags-am \
@@ -1401,72 +1386,48 @@ install-exec-local:
#Specify what Automake needs to create: first the H5fort_type_defines.h
# header, then H5match_types which includes that header, then
# it needs to run H5match_types.
-H5fortran_types.f90 H5f90i_gen.h: H5match_types$(EXEEXT)
+H5fortran_types.F90 H5f90i_gen.h: H5match_types$(EXEEXT)
$(RUNSERIAL) ./H5match_types$(EXEEXT)
-# H5fort_type_defines.h is created by running H5fortran_detect.
-# Obviously, H5fortran_detect needs to be built first.
-H5fort_type_defines.h: H5fortran_detect$(EXEEXT)
- $(RUNSERIAL) ./H5fortran_detect$(EXEEXT) > H5fort_type_defines.h
-
-H5match_types.$(OBJEXT): H5fort_type_defines.h
+# H5_buildiface.F90 generates all the APIs that have a KIND type associated
+# with them.
-# H5test_kind.f90 generates H5Fortran_detect.f90 depending on if
-# intrinsic function SIZEOF is available.
-
-H5fortran_detect.f90: H5test_kind$(EXEEXT)
- $(RUNSERIAL) ./H5test_kind$(EXEEXT) > H5fortran_detect.f90
+H5_gen.F90: H5_buildiface$(EXEEXT)
+ $(RUNSERIAL) ./H5_buildiface$(EXEEXT)
# Hardcode the dependencies of these files. There isn't a known way of
# determining this automagically (like we do with the C files). So, when
# doing a parallel make, some modules could be made way before the
# modules they depend upon are actually made. *sigh*
-H5f90global.lo: $(srcdir)/H5f90global.f90 H5fortran_types.lo
-H5fortran_types.lo: H5fortran_types.f90
-H5fortran_detect.lo: H5fortran_detect.f90
-H5test_kind.lo: $(srcdir)/H5test_kind.f90
-H5test_kind_SIZEOF.lo: $(srcdir)/H5test_kind_SIZEOF.f90
-H5_ff$(F_STATUS).lo: $(srcdir)/H5_ff$(F_STATUS).f90 H5f90global.lo
-H5_ff.lo: $(srcdir)/H5_ff.f90 H5f90global.lo H5_ff$(F_STATUS).lo
-H5Aff.lo: $(srcdir)/H5Aff.f90 H5f90global.lo
-H5Dff.lo: $(srcdir)/H5Dff.f90 H5f90global.lo
-H5Aff$(F_STATUS).lo: $(srcdir)/H5Aff$(F_STATUS).f90 H5f90global.lo
-H5Dff$(F_STATUS).lo: $(srcdir)/H5Dff$(F_STATUS).f90 H5f90global.lo
-H5Eff$(F_STATUS).lo: $(srcdir)/H5Eff$(F_STATUS).f90 H5f90global.lo
-H5Fff$(F_STATUS).lo: $(srcdir)/H5Fff$(F_STATUS).f90 H5f90global.lo
-H5Lff$(F_STATUS).lo: $(srcdir)/H5Lff$(F_STATUS).f90 H5f90global.lo
-H5Off$(F_STATUS).lo: $(srcdir)/H5Off$(F_STATUS).f90 H5f90global.lo
-H5Pff$(F_STATUS).lo: $(srcdir)/H5Pff$(F_STATUS).f90 H5f90global.lo
-H5Rff$(F_STATUS).lo: $(srcdir)/H5Rff$(F_STATUS).f90 H5f90global.lo
-H5Tff$(F_STATUS).lo: $(srcdir)/H5Tff$(F_STATUS).f90 H5f90global.lo
-H5Eff.lo: $(srcdir)/H5Eff.f90 H5f90global.lo
-H5Fff.lo: $(srcdir)/H5Fff.f90 H5f90global.lo
-H5Gff.lo: $(srcdir)/H5Gff.f90 H5f90global.lo
-H5Iff.lo: $(srcdir)/H5Iff.f90 H5f90global.lo
-H5Lff.lo: $(srcdir)/H5Lff.f90 H5f90global.lo
-H5Off.lo: $(srcdir)/H5Off.f90 H5f90global.lo
-H5Pff.lo: $(srcdir)/H5Pff.f90 H5f90global.lo
-H5Rff.lo: $(srcdir)/H5Rff.f90 H5f90global.lo
-H5Sff.lo: $(srcdir)/H5Sff.f90 H5f90global.lo
-H5Tff.lo: $(srcdir)/H5Tff.f90 H5f90global.lo
-H5Zff.lo: $(srcdir)/H5Zff.f90 H5f90global.lo
-H5_DBLE_Interface$(F_DBLE).lo: $(srcdir)/H5_DBLE_Interface$(F_DBLE).f90 H5Aff$(F_STATUS).lo H5Dff$(F_STATUS).lo H5Fff$(F_STATUS).lo H5Eff$(F_STATUS).lo H5Pff$(F_STATUS).lo
-HDF5.lo: $(srcdir)/HDF5.f90 H5f90global.lo H5_ff$(F_STATUS).lo H5_ff.lo H5Aff.lo H5Aff$(F_STATUS).lo \
- H5Dff.lo H5Dff$(F_STATUS).lo \
- H5Eff.lo H5Eff$(F_STATUS).lo \
- H5Fff.lo H5Fff$(F_STATUS).lo H5Gff.lo H5Iff.lo H5Lff.lo H5Lff$(F_STATUS).lo \
- H5Off.lo H5Off$(F_STATUS).lo H5Pff.lo H5Pff$(F_STATUS).lo H5Rff$(F_STATUS).lo H5Rff.lo \
- H5Sff.lo H5Tff.lo H5Tff$(F_STATUS).lo H5Zff.lo \
- H5_DBLE_Interface$(F_DBLE).lo
-H5FDmpioff.lo: $(srcdir)/H5FDmpioff.f90 H5f90global.lo
-HDF5mpio.lo: $(srcdir)/H5FDmpioff.f90 H5f90global.lo H5_ff$(F_STATUS).lo H5_ff.lo \
- H5Aff.lo H5Aff$(F_STATUS).lo \
- H5Dff.lo H5Dff$(F_STATUS).lo \
- H5Eff.lo H5Eff$(F_STATUS).lo \
- H5Fff.lo H5Fff$(F_STATUS).lo H5Gff.lo H5Iff.lo H5Lff.lo H5Lff$(F_STATUS).lo \
- H5Off.lo H5Off$(F_STATUS).lo H5Pff.lo H5Pff$(F_STATUS).lo H5Rff$(F_STATUS).lo H5Rff.lo \
- H5Sff.lo H5Tff.lo H5Tff$(F_STATUS).lo H5Zff.lo \
- H5_DBLE_Interface$(F_DBLE).lo H5FDmpioff.lo
+H5f90global.lo: $(srcdir)/H5f90global.F90 H5fortran_types.lo
+H5_buildiface.lo: $(srcdir)/H5_buildiface.F90
+H5_ff.lo: $(srcdir)/H5_ff.F90 H5f90global.lo
+H5Aff.lo: $(srcdir)/H5Aff.F90 H5f90global.lo
+H5Dff.lo: $(srcdir)/H5Dff.F90 H5f90global.lo
+H5Eff.lo: $(srcdir)/H5Eff.F90 H5f90global.lo
+H5Fff.lo: $(srcdir)/H5Fff.F90 H5f90global.lo
+H5Gff.lo: $(srcdir)/H5Gff.F90 H5f90global.lo
+H5Iff.lo: $(srcdir)/H5Iff.F90 H5f90global.lo
+H5Lff.lo: $(srcdir)/H5Lff.F90 H5f90global.lo
+H5Off.lo: $(srcdir)/H5Off.F90 H5f90global.lo
+H5Pff.lo: $(srcdir)/H5Pff.F90 H5f90global.lo
+H5Rff.lo: $(srcdir)/H5Rff.F90 H5f90global.lo
+H5Sff.lo: $(srcdir)/H5Sff.F90 H5f90global.lo
+H5Tff.lo: $(srcdir)/H5Tff.F90 H5f90global.lo
+H5Zff.lo: $(srcdir)/H5Zff.F90 H5f90global.lo
+H5_gen.lo: H5_gen.F90 H5f90global.lo H5Aff.lo H5Dff.lo H5Pff.lo
+HDF5.lo: $(srcdir)/HDF5.F90 H5f90global.lo H5_ff.lo H5Aff.lo \
+ H5Dff.lo \
+ H5Eff.lo \
+ H5Fff.lo H5Gff.lo H5Iff.lo H5Lff.lo \
+ H5Off.lo H5Pff.lo H5Rff.lo \
+ H5Sff.lo H5Tff.lo H5Zff.lo H5_gen.lo
+
+# Treat all .f90 and .F90 files as preprocessed Fortran.
+.f90.o:
+ $(PPFCCOMPILE) -c -o $@ $(FCFLAGS) $<
+.F90.o:
+ $(PPFCCOMPILE) -c -o $@ $(FCFLAGS) $<
# lib/progs/tests targets recurse into subdirectories. build-* targets
# build files in this directory.
diff --git a/fortran/src/hdf5_fortrandll.def.in b/fortran/src/hdf5_fortrandll.def.in
index 48fb343..1333262 100644
--- a/fortran/src/hdf5_fortrandll.def.in
+++ b/fortran/src/hdf5_fortrandll.def.in
@@ -7,99 +7,13 @@ H5LIB_mp_H5CHECK_VERSION_F
H5LIB_mp_H5GARBAGE_COLLECT_F
H5LIB_mp_H5DONT_ATEXIT_F
H5LIB_mp_H5KIND_TO_TYPE
-@H5_NOF03EXP@H5LIB_PROVISIONAL_mp_H5OFFSETOF
-; H5_DBLE_INTERFACE
-H5_DBLE_INTERFACE_mp_H5AREAD_DOUBLE_SCALAR
-H5_DBLE_INTERFACE_mp_H5AREAD_DOUBLE_1
-H5_DBLE_INTERFACE_mp_H5AREAD_DOUBLE_2
-H5_DBLE_INTERFACE_mp_H5AREAD_DOUBLE_3
-H5_DBLE_INTERFACE_mp_H5AREAD_DOUBLE_4
-H5_DBLE_INTERFACE_mp_H5AREAD_DOUBLE_5
-H5_DBLE_INTERFACE_mp_H5AREAD_DOUBLE_6
-H5_DBLE_INTERFACE_mp_H5AREAD_DOUBLE_7
-H5_DBLE_INTERFACE_mp_H5AWRITE_DOUBLE_SCALAR
-H5_DBLE_INTERFACE_mp_H5AWRITE_DOUBLE_1
-H5_DBLE_INTERFACE_mp_H5AWRITE_DOUBLE_2
-H5_DBLE_INTERFACE_mp_H5AWRITE_DOUBLE_3
-H5_DBLE_INTERFACE_mp_H5AWRITE_DOUBLE_4
-H5_DBLE_INTERFACE_mp_H5AWRITE_DOUBLE_5
-H5_DBLE_INTERFACE_mp_H5AWRITE_DOUBLE_6
-H5_DBLE_INTERFACE_mp_H5AWRITE_DOUBLE_7
-H5_DBLE_INTERFACE_mp_H5DFILL_DOUBLE
-H5_DBLE_INTERFACE_mp_H5DREAD_DOUBLE_SCALAR
-H5_DBLE_INTERFACE_mp_H5DREAD_DOUBLE_1
-H5_DBLE_INTERFACE_mp_H5DREAD_DOUBLE_2
-H5_DBLE_INTERFACE_mp_H5DREAD_DOUBLE_3
-H5_DBLE_INTERFACE_mp_H5DREAD_DOUBLE_4
-H5_DBLE_INTERFACE_mp_H5DREAD_DOUBLE_5
-H5_DBLE_INTERFACE_mp_H5DREAD_DOUBLE_6
-H5_DBLE_INTERFACE_mp_H5DREAD_DOUBLE_7
-H5_DBLE_INTERFACE_mp_H5DWRITE_DOUBLE_SCALAR
-H5_DBLE_INTERFACE_mp_H5DWRITE_DOUBLE_1
-H5_DBLE_INTERFACE_mp_H5DWRITE_DOUBLE_2
-H5_DBLE_INTERFACE_mp_H5DWRITE_DOUBLE_3
-H5_DBLE_INTERFACE_mp_H5DWRITE_DOUBLE_4
-H5_DBLE_INTERFACE_mp_H5DWRITE_DOUBLE_5
-H5_DBLE_INTERFACE_mp_H5DWRITE_DOUBLE_6
-H5_DBLE_INTERFACE_mp_H5DWRITE_DOUBLE_7
-H5_DBLE_INTERFACE_mp_H5PGET_DOUBLE
-H5_DBLE_INTERFACE_mp_H5PSET_DOUBLE
-H5_DBLE_INTERFACE_mp_H5PSET_FILL_VALUE_DOUBLE
-H5_DBLE_INTERFACE_mp_H5PGET_FILL_VALUE_DOUBLE
-H5_DBLE_INTERFACE_mp_H5PINSERT_DOUBLE
-H5_DBLE_INTERFACE_mp_H5PREGISTER_DOUBLE
+H5LIB_mp_H5OFFSETOF
; H5A
+H5A_mp_H5AWRITE_CHAR_SCALAR
+H5A_mp_H5AREAD_CHAR_SCALAR
H5A_mp_H5ACREATE_F
H5A_mp_H5AOPEN_NAME_F
H5A_mp_H5AOPEN_IDX_F
-H5A_PROVISIONAL_mp_H5AWRITE_INTEGER_SCALAR
-H5A_PROVISIONAL_mp_H5AWRITE_INTEGER_1
-H5A_PROVISIONAL_mp_H5AWRITE_INTEGER_2
-H5A_PROVISIONAL_mp_H5AWRITE_INTEGER_3
-H5A_PROVISIONAL_mp_H5AWRITE_INTEGER_4
-H5A_PROVISIONAL_mp_H5AWRITE_INTEGER_5
-H5A_PROVISIONAL_mp_H5AWRITE_INTEGER_6
-H5A_PROVISIONAL_mp_H5AWRITE_INTEGER_7
-H5A_PROVISIONAL_mp_H5AWRITE_REAL_SCALAR
-H5A_PROVISIONAL_mp_H5AWRITE_REAL_1
-H5A_PROVISIONAL_mp_H5AWRITE_REAL_2
-H5A_PROVISIONAL_mp_H5AWRITE_REAL_3
-H5A_PROVISIONAL_mp_H5AWRITE_REAL_4
-H5A_PROVISIONAL_mp_H5AWRITE_REAL_5
-H5A_PROVISIONAL_mp_H5AWRITE_REAL_6
-H5A_PROVISIONAL_mp_H5AWRITE_REAL_7
-H5A_PROVISIONAL_mp_H5AWRITE_CHAR_SCALAR
-H5A_PROVISIONAL_mp_H5AWRITE_CHAR_1
-H5A_PROVISIONAL_mp_H5AWRITE_CHAR_2
-H5A_PROVISIONAL_mp_H5AWRITE_CHAR_3
-H5A_PROVISIONAL_mp_H5AWRITE_CHAR_4
-H5A_PROVISIONAL_mp_H5AWRITE_CHAR_5
-H5A_PROVISIONAL_mp_H5AWRITE_CHAR_6
-H5A_PROVISIONAL_mp_H5AWRITE_CHAR_7
-H5A_PROVISIONAL_mp_H5AREAD_INTEGER_SCALAR
-H5A_PROVISIONAL_mp_H5AREAD_INTEGER_1
-H5A_PROVISIONAL_mp_H5AREAD_INTEGER_2
-H5A_PROVISIONAL_mp_H5AREAD_INTEGER_3
-H5A_PROVISIONAL_mp_H5AREAD_INTEGER_4
-H5A_PROVISIONAL_mp_H5AREAD_INTEGER_5
-H5A_PROVISIONAL_mp_H5AREAD_INTEGER_6
-H5A_PROVISIONAL_mp_H5AREAD_INTEGER_7
-H5A_PROVISIONAL_mp_H5AREAD_REAL_SCALAR
-H5A_PROVISIONAL_mp_H5AREAD_REAL_1
-H5A_PROVISIONAL_mp_H5AREAD_REAL_2
-H5A_PROVISIONAL_mp_H5AREAD_REAL_3
-H5A_PROVISIONAL_mp_H5AREAD_REAL_4
-H5A_PROVISIONAL_mp_H5AREAD_REAL_5
-H5A_PROVISIONAL_mp_H5AREAD_REAL_6
-H5A_PROVISIONAL_mp_H5AREAD_REAL_7
-H5A_PROVISIONAL_mp_H5AREAD_CHAR_SCALAR
-H5A_PROVISIONAL_mp_H5AREAD_CHAR_1
-H5A_PROVISIONAL_mp_H5AREAD_CHAR_2
-H5A_PROVISIONAL_mp_H5AREAD_CHAR_3
-H5A_PROVISIONAL_mp_H5AREAD_CHAR_4
-H5A_PROVISIONAL_mp_H5AREAD_CHAR_5
-H5A_PROVISIONAL_mp_H5AREAD_CHAR_6
-H5A_PROVISIONAL_mp_H5AREAD_CHAR_7
H5A_mp_H5AGET_SPACE_F
H5A_mp_H5AGET_TYPE_F
H5A_mp_H5AGET_NAME_F
@@ -121,65 +35,19 @@ H5A_mp_H5ACREATE_BY_NAME_F
H5A_mp_H5AEXISTS_F
H5A_mp_H5AEXISTS_BY_NAME_F
H5A_mp_H5AOPEN_BY_NAME_F
+H5A_mp_H5AWRITE_PTR
+H5A_mp_H5AREAD_PTR
H5A_mp_H5ARENAME_F
-@H5_NOF03EXP@H5A_PROVISIONAL_mp_H5AWRITE_PTR
-@H5_NOF03EXP@H5A_PROVISIONAL_mp_H5AREAD_PTR
; H5D
H5D_mp_H5DCREATE_F
H5D_mp_H5DOPEN_F
H5D_mp_H5DCLOSE_F
-H5D_PROVISIONAL_mp_H5DWRITE_REFERENCE_OBJ
-H5D_PROVISIONAL_mp_H5DWRITE_REFERENCE_DSETREG
-H5D_PROVISIONAL_mp_H5DWRITE_INTEGER_SCALAR
-H5D_PROVISIONAL_mp_H5DWRITE_INTEGER_1
-H5D_PROVISIONAL_mp_H5DWRITE_INTEGER_2
-H5D_PROVISIONAL_mp_H5DWRITE_INTEGER_3
-H5D_PROVISIONAL_mp_H5DWRITE_INTEGER_4
-H5D_PROVISIONAL_mp_H5DWRITE_INTEGER_5
-H5D_PROVISIONAL_mp_H5DWRITE_INTEGER_6
-H5D_PROVISIONAL_mp_H5DWRITE_INTEGER_7
-H5D_PROVISIONAL_mp_H5DWRITE_CHAR_SCALAR
-H5D_PROVISIONAL_mp_H5DWRITE_CHAR_1
-H5D_PROVISIONAL_mp_H5DWRITE_CHAR_2
-H5D_PROVISIONAL_mp_H5DWRITE_CHAR_3
-H5D_PROVISIONAL_mp_H5DWRITE_CHAR_4
-H5D_PROVISIONAL_mp_H5DWRITE_CHAR_5
-H5D_PROVISIONAL_mp_H5DWRITE_CHAR_6
-H5D_PROVISIONAL_mp_H5DWRITE_CHAR_7
-H5D_PROVISIONAL_mp_H5DWRITE_REAL_SCALAR
-H5D_PROVISIONAL_mp_H5DWRITE_REAL_1
-H5D_PROVISIONAL_mp_H5DWRITE_REAL_2
-H5D_PROVISIONAL_mp_H5DWRITE_REAL_3
-H5D_PROVISIONAL_mp_H5DWRITE_REAL_4
-H5D_PROVISIONAL_mp_H5DWRITE_REAL_5
-H5D_PROVISIONAL_mp_H5DWRITE_REAL_6
-H5D_PROVISIONAL_mp_H5DWRITE_REAL_7
-H5D_PROVISIONAL_mp_H5DREAD_REFERENCE_OBJ
-H5D_PROVISIONAL_mp_H5DREAD_REFERENCE_DSETREG
-H5D_PROVISIONAL_mp_H5DREAD_INTEGER_SCALAR
-H5D_PROVISIONAL_mp_H5DREAD_INTEGER_1
-H5D_PROVISIONAL_mp_H5DREAD_INTEGER_2
-H5D_PROVISIONAL_mp_H5DREAD_INTEGER_3
-H5D_PROVISIONAL_mp_H5DREAD_INTEGER_4
-H5D_PROVISIONAL_mp_H5DREAD_INTEGER_5
-H5D_PROVISIONAL_mp_H5DREAD_INTEGER_6
-H5D_PROVISIONAL_mp_H5DREAD_INTEGER_7
-H5D_PROVISIONAL_mp_H5DREAD_CHAR_SCALAR
-H5D_PROVISIONAL_mp_H5DREAD_CHAR_1
-H5D_PROVISIONAL_mp_H5DREAD_CHAR_2
-H5D_PROVISIONAL_mp_H5DREAD_CHAR_3
-H5D_PROVISIONAL_mp_H5DREAD_CHAR_4
-H5D_PROVISIONAL_mp_H5DREAD_CHAR_5
-H5D_PROVISIONAL_mp_H5DREAD_CHAR_6
-H5D_PROVISIONAL_mp_H5DREAD_CHAR_7
-H5D_PROVISIONAL_mp_H5DREAD_REAL_SCALAR
-H5D_PROVISIONAL_mp_H5DREAD_REAL_1
-H5D_PROVISIONAL_mp_H5DREAD_REAL_2
-H5D_PROVISIONAL_mp_H5DREAD_REAL_3
-H5D_PROVISIONAL_mp_H5DREAD_REAL_4
-H5D_PROVISIONAL_mp_H5DREAD_REAL_5
-H5D_PROVISIONAL_mp_H5DREAD_REAL_6
-H5D_PROVISIONAL_mp_H5DREAD_REAL_7
+H5D_mp_H5DWRITE_REFERENCE_OBJ
+H5D_mp_H5DWRITE_REFERENCE_DSETREG
+H5D_mp_H5DWRITE_CHAR_SCALAR
+H5D_mp_H5DREAD_REFERENCE_OBJ
+H5D_mp_H5DREAD_REFERENCE_DSETREG
+H5D_mp_H5DREAD_CHAR_SCALAR
H5D_mp_H5DGET_SPACE_F
H5D_mp_H5DGET_TYPE_F
H5D_mp_H5DSET_EXTENT_F
@@ -192,11 +60,11 @@ H5D_mp_H5DWRITE_VL_REAL
H5D_mp_H5DREAD_VL_REAL
H5D_mp_H5DWRITE_VL_STRING
H5D_mp_H5DREAD_VL_STRING
-H5D_PROVISIONAL_mp_H5DFILL_INTEGER
-H5D_PROVISIONAL_mp_H5DFILL_REAL
-H5D_PROVISIONAL_mp_H5DFILL_CHAR
+H5D_mp_H5DFILL_CHAR
+H5D_mp_H5DFILL_INTEGER
H5D_mp_H5DGET_SPACE_STATUS_F
H5D_mp_H5DCREATE_ANON_F
+H5D_mp_H5DGET_OFFSET_F
H5D_mp_H5DGET_SPACE_F
H5D_mp_H5DGET_TYPE_F
H5D_mp_H5DSET_EXTENT_F
@@ -204,15 +72,15 @@ H5D_mp_H5DGET_CREATE_PLIST_F
H5D_mp_H5DGET_STORAGE_SIZE_F
H5D_mp_H5DVLEN_GET_MAX_LEN_F
H5D_mp_H5DGET_ACCESS_PLIST_F
-@H5_NOF03EXP@H5D_PROVISIONAL_mp_H5DWRITE_PTR
-@H5_NOF03EXP@H5D_PROVISIONAL_mp_H5DREAD_PTR
-@H5_NOF03EXP@H5D_PROVISIONAL_mp_H5DVLEN_RECLAIM_F
+H5D_mp_H5DWRITE_PTR
+H5D_mp_H5DREAD_PTR
+H5D_mp_H5DVLEN_RECLAIM_F
; H5E
H5E_mp_H5ECLEAR_F
H5E_mp_H5EPRINT_F
H5E_mp_H5EGET_MAJOR_F
H5E_mp_H5EGET_MINOR_F
-H5E_PROVISIONAL_mp_H5ESET_AUTO_F
+H5E_mp_H5ESET_AUTO_F
; H5F
H5F_mp_H5FCREATE_F
H5F_mp_H5FFLUSH_F
@@ -229,7 +97,7 @@ H5F_mp_H5FGET_ACCESS_PLIST_F
H5F_mp_H5FIS_HDF5_F
H5F_mp_H5FGET_NAME_F
H5F_mp_H5FGET_FILESIZE_F
-@H5_NOF03EXP@H5F_PROVISIONAL_mp_H5FGET_FILE_IMAGE_F
+H5F_mp_H5FGET_FILE_IMAGE_F
; H5G
H5G_mp_H5GOPEN_F
H5G_mp_H5GCREATE_F
@@ -291,8 +159,8 @@ H5L_mp_H5LGET_INFO_BY_IDX_F
H5L_mp_H5LIS_REGISTERED_F
H5L_mp_H5LMOVE_F
H5L_mp_H5LGET_NAME_BY_IDX_F
-@H5_NOF03EXP@H5L_PROVISIONAL_mp_H5LITERATE_F
-@H5_NOF03EXP@H5L_PROVISIONAL_mp_H5LITERATE_BY_NAME_F
+H5L_mp_H5LITERATE_F
+H5L_mp_H5LITERATE_BY_NAME_F
; H5O
H5O_mp_H5OCLOSE_F
H5O_mp_H5OCOPY_F
@@ -307,11 +175,11 @@ H5O_mp_H5OOPEN_BY_IDX_F
H5O_mp_H5OOPEN_F
H5O_mp_H5OSET_COMMENT_F
H5O_mp_H5OSET_COMMENT_BY_NAME_F
-@H5_NOF03EXP@H5O_PROVISIONAL_mp_H5OGET_INFO_BY_IDX_F
-@H5_NOF03EXP@H5O_PROVISIONAL_mp_H5OGET_INFO_BY_NAME_F
-@H5_NOF03EXP@H5O_PROVISIONAL_mp_H5OGET_INFO_F
-@H5_NOF03EXP@H5O_PROVISIONAL_mp_H5OVISIT_BY_NAME_F
-@H5_NOF03EXP@H5O_PROVISIONAL_mp_H5OVISIT_F
+H5O_mp_H5OGET_INFO_BY_IDX_F
+H5O_mp_H5OGET_INFO_BY_NAME_F
+H5O_mp_H5OGET_INFO_F
+H5O_mp_H5OVISIT_BY_NAME_F
+H5O_mp_H5OVISIT_F
; H5P
H5P_mp_H5PCREATE_F
H5P_mp_H5PSET_PRESERVE_F
@@ -322,12 +190,10 @@ H5P_mp_H5PCLOSE_F
H5P_mp_H5PSET_CHUNK_F
H5P_mp_H5PGET_CHUNK_F
H5P_mp_H5PSET_DEFLATE_F
-H5P_PROVISIONAL_mp_H5PSET_FILL_VALUE_INTEGER
-H5P_PROVISIONAL_mp_H5PGET_FILL_VALUE_INTEGER
-H5P_PROVISIONAL_mp_H5PSET_FILL_VALUE_REAL
-H5P_PROVISIONAL_mp_H5PGET_FILL_VALUE_REAL
-H5P_PROVISIONAL_mp_H5PSET_FILL_VALUE_CHAR
-H5P_PROVISIONAL_mp_H5PGET_FILL_VALUE_CHAR
+H5P_mp_H5PSET_FILL_VALUE_CHAR
+H5P_mp_H5PGET_FILL_VALUE_CHAR
+H5P_mp_H5PSET_FILL_VALUE_INTEGER
+H5P_mp_H5PGET_FILL_VALUE_INTEGER
H5P_mp_H5PGET_VERSION_F
H5P_mp_H5PSET_USERBLOCK_F
H5P_mp_H5PGET_USERBLOCK_F
@@ -379,12 +245,10 @@ H5P_mp_H5PSET_SMALL_DATA_BLOCK_SIZE_F
H5P_mp_H5PGET_SMALL_DATA_BLOCK_SIZE_F
H5P_mp_H5PSET_HYPER_VECTOR_SIZE_F
H5P_mp_H5PGET_HYPER_VECTOR_SIZE_F
-H5P_PROVISIONAL_mp_H5PSET_INTEGER
-H5P_PROVISIONAL_mp_H5PSET_REAL
-H5P_PROVISIONAL_mp_H5PSET_CHAR
-H5P_PROVISIONAL_mp_H5PGET_INTEGER
-H5P_PROVISIONAL_mp_H5PGET_REAL
-H5P_PROVISIONAL_mp_H5PGET_CHAR
+H5P_mp_H5PSET_CHAR
+H5P_mp_H5PSET_INTEGER
+H5P_mp_H5PGET_CHAR
+H5P_mp_H5PGET_INTEGER
H5P_mp_H5PEXIST_F
H5P_mp_H5PGET_SIZE_F
H5P_mp_H5PGET_NPROPS_F
@@ -395,13 +259,11 @@ H5P_mp_H5PCOPY_PROP_F
H5P_mp_H5PREMOVE_F
H5P_mp_H5PUNREGISTER_F
H5P_mp_H5PCLOSE_CLASS_F
-H5P_PROVISIONAL_mp_H5PCREATE_CLASS_F
-H5P_PROVISIONAL_mp_H5PREGISTER_INTEGER
-H5P_PROVISIONAL_mp_H5PREGISTER_REAL
-H5P_PROVISIONAL_mp_H5PREGISTER_CHAR
-H5P_PROVISIONAL_mp_H5PINSERT_INTEGER
-H5P_PROVISIONAL_mp_H5PINSERT_REAL
-H5P_PROVISIONAL_mp_H5PINSERT_CHAR
+H5P_mp_H5PCREATE_CLASS_F
+H5P_mp_H5PREGISTER_INTEGER
+H5P_mp_H5PREGISTER_CHAR
+H5P_mp_H5PINSERT_CHAR
+H5P_mp_H5PINSERT_INTEGER
H5P_mp_H5PSET_SHUFFLE_F
H5P_mp_H5PSET_EDC_CHECK_F
H5P_mp_H5PGET_EDC_CHECK_F
@@ -448,28 +310,34 @@ H5P_mp_H5PGET_NLINKS_F
H5P_mp_H5PGET_CREATE_INTER_GROUP_F
H5P_mp_H5PSET_CHUNK_CACHE_F
H5P_mp_H5PGET_CHUNK_CACHE_F
-@H5_NOF03EXP@H5P_PROVISIONAL_mp_H5PSET_FILL_VALUE_PTR
-@H5_NOF03EXP@H5P_PROVISIONAL_mp_H5PGET_FILL_VALUE_PTR
-@H5_NOF03EXP@H5P_PROVISIONAL_mp_H5PSET_PTR
-@H5_NOF03EXP@H5P_PROVISIONAL_mp_H5PGET_PTR
-@H5_NOF03EXP@H5P_PROVISIONAL_mp_H5PREGISTER_PTR
-@H5_NOF03EXP@H5P_PROVISIONAL_mp_H5PINSERT_PTR
-@H5_NOF03EXP@H5P_PROVISIONAL_mp_H5PGET_FILE_IMAGE_F
-@H5_NOF03EXP@H5P_PROVISIONAL_mp_H5PSET_FILE_IMAGE_F
+H5P_mp_H5PSET_FILL_VALUE_PTR
+H5P_mp_H5PGET_FILL_VALUE_PTR
+H5P_mp_H5PSET_PTR
+H5P_mp_H5PGET_PTR
+H5P_mp_H5PREGISTER_PTR
+H5P_mp_H5PINSERT_PTR
+H5P_mp_H5PGET_FILE_IMAGE_F
+H5P_mp_H5PSET_FILE_IMAGE_F
+; Parallel
+@H5_NOPAREXP@H5P_mp_H5PSET_FAPL_MPIO_F
+@H5_NOPAREXP@H5P_mp_H5PGET_FAPL_MPIO_F
+@H5_NOPAREXP@H5P_mp_H5PSET_DXPL_MPIO_F
+@H5_NOPAREXP@H5P_mp_H5PGET_DXPL_MPIO_F
+@H5_NOPAREXP@H5P_mp_H5PGET_MPIO_ACTUAL_IO_MODE_F
; H5R
-H5R_PROVISIONAL_mp_H5RCREATE_OBJECT_F
-H5R_PROVISIONAL_mp_H5RCREATE_REGION_F
-H5R_PROVISIONAL_mp_H5RDEREFERENCE_OBJECT_F
-H5R_PROVISIONAL_mp_H5RDEREFERENCE_REGION_F
-H5R_PROVISIONAL_mp_H5RGET_REGION_REGION_F
+H5R_mp_H5RCREATE_OBJECT_F
+H5R_mp_H5RCREATE_REGION_F
+H5R_mp_H5RDEREFERENCE_OBJECT_F
+H5R_mp_H5RDEREFERENCE_REGION_F
+H5R_mp_H5RGET_REGION_REGION_F
H5R_mp_H5RGET_OBJECT_TYPE_OBJ_F
-H5R_PROVISIONAL_mp_H5RGET_NAME_OBJECT_F
-H5R_PROVISIONAL_mp_H5RGET_NAME_REGION_F
-@H5_NOF03EXP@H5R_PROVISIONAL_mp_H5RGET_REGION_PTR_F
-@H5_NOF03EXP@H5R_PROVISIONAL_mp_H5RCREATE_PTR_F
-@H5_NOF03EXP@H5R_PROVISIONAL_mp_H5RDEREFERENCE_PTR_F
-@H5_NOF03EXP@H5R_PROVISIONAL_mp_H5RGET_NAME_PTR_F
-@H5_NOF03EXP@H5R_PROVISIONAL_mp_H5RGET_OBJ_TYPE_F
+H5R_mp_H5RGET_NAME_OBJECT_F
+H5R_mp_H5RGET_NAME_REGION_F
+H5R_mp_H5RGET_REGION_PTR_F
+H5R_mp_H5RCREATE_PTR_F
+H5R_mp_H5RDEREFERENCE_PTR_F
+H5R_mp_H5RGET_NAME_PTR_F
+H5R_mp_H5RGET_OBJ_TYPE_F
; H5S
H5S_mp_H5SCREATE_SIMPLE_F
H5S_mp_H5SCLOSE_F
@@ -558,17 +426,10 @@ H5T_mp_H5TENCODE_F
H5T_mp_H5TGET_CREATE_PLIST_F
H5T_mp_H5TCOMPILER_CONV_F
H5T_mp_H5TGET_NATIVE_TYPE_F
-@H5_NOF03EXP@H5T_PROVISIONAL_mp_H5TCONVERT_F
-@H5_F03EXP@H5T_PROVISIONAL_mp_H5TENUM_INSERT_F
-@H5_NOF03EXP@H5T_PROVISIONAL_mp_H5TENUM_INSERT_F90
-@H5_NOF03EXP@H5T_PROVISIONAL_mp_H5TENUM_INSERT_F03
+H5T_mp_H5TCONVERT_F
+H5T_mp_H5TENUM_INSERT_F90
+H5T_mp_H5TENUM_INSERT_F03
; H5Z
H5Z_mp_H5ZUNREGISTER_F
H5Z_mp_H5ZFILTER_AVAIL_F
H5Z_mp_H5ZGET_FILTER_INFO_F
-; Parallel
-@H5_NOPAREXP@H5FDMPIO_mp_H5PSET_FAPL_MPIO_F
-@H5_NOPAREXP@H5FDMPIO_mp_H5PGET_FAPL_MPIO_F
-@H5_NOPAREXP@H5FDMPIO_mp_H5PSET_DXPL_MPIO_F
-@H5_NOPAREXP@H5FDMPIO_mp_H5PGET_DXPL_MPIO_F
-@H5_NOPAREXP@H5FDMPIO_mp_H5PGET_MPIO_ACTUAL_IO_MODE_F
diff --git a/fortran/test/CMakeLists.txt b/fortran/test/CMakeLists.txt
index 2893156..49b8da8 100644
--- a/fortran/test/CMakeLists.txt
+++ b/fortran/test/CMakeLists.txt
@@ -9,57 +9,123 @@ INCLUDE_DIRECTORIES (${HDF5_F90_BINARY_DIR} ${HDF5_F90_SRC_DIR}/src)
#-----------------------------------------------------------------------------
# Add Test Lib
#-----------------------------------------------------------------------------
-add_library (${HDF5_F90_C_TEST_LIB_TARGET} ${LIB_TYPE} t.c)
+add_library (${HDF5_F90_C_TEST_LIB_TARGET} STATIC t.c)
set_source_files_properties (t.c PROPERTIES LANGUAGE C)
-TARGET_C_PROPERTIES (${HDF5_F90_C_TEST_LIB_TARGET} ${LIB_TYPE} " " " ")
+TARGET_C_PROPERTIES (${HDF5_F90_C_TEST_LIB_TARGET} STATIC " " " ")
target_link_libraries (${HDF5_F90_C_TEST_LIB_TARGET}
${HDF5_F90_C_LIB_TARGET}
${HDF5_TEST_LIB_TARGET}
)
-H5_SET_LIB_OPTIONS (${HDF5_F90_C_TEST_LIB_TARGET} ${HDF5_F90_C_TEST_LIB_NAME} ${LIB_TYPE})
+H5_SET_LIB_OPTIONS (${HDF5_F90_C_TEST_LIB_TARGET} ${HDF5_F90_C_TEST_LIB_NAME} STATIC)
set_target_properties (${HDF5_F90_C_TEST_LIB_TARGET} PROPERTIES
FOLDER libraries/test/fortran
LINKER_LANGUAGE C
INTERFACE_INCLUDE_DIRECTORIES "$<INSTALL_INTERFACE:$<INSTALL_PREFIX>/include>"
)
+if (BUILD_SHARED_LIBS AND NOT SKIP_HDF5_FORTRAN_SHARED)
+ add_library (${HDF5_F90_C_TEST_LIBSH_TARGET} SHARED t.c)
+ TARGET_C_PROPERTIES (${HDF5_F90_C_TEST_LIBSH_TARGET} SHARED " " " ")
+ target_link_libraries (${HDF5_F90_C_TEST_LIBSH_TARGET}
+ ${HDF5_F90_C_LIBSH_TARGET}
+ ${HDF5_TEST_LIBSH_TARGET}
+ )
+ H5_SET_LIB_OPTIONS (${HDF5_F90_C_TEST_LIBSH_TARGET} ${HDF5_F90_C_TEST_LIB_NAME} SHARED)
+ set_target_properties (${HDF5_F90_C_TEST_LIBSH_TARGET} PROPERTIES
+ FOLDER libraries/test/fortran
+ LINKER_LANGUAGE C
+ COMPILE_DEFINITIONS "H5_BUILT_AS_DYNAMIC_LIB"
+ INTERFACE_INCLUDE_DIRECTORIES "$<INSTALL_INTERFACE:$<INSTALL_PREFIX>/include>"
+ INTERFACE_COMPILE_DEFINITIONS H5_BUILT_AS_DYNAMIC_LIB=1
+ )
+endif (BUILD_SHARED_LIBS AND NOT SKIP_HDF5_FORTRAN_SHARED)
-# See if the F2008 intrinsic STORAGE_SIZE and C_SIZEOF are supported. If not then
-# fall back to F2003. If F2003 not supported then use F90 for the tests.
-
-set_source_files_properties (tf_F90.f90 tf_F03.f90 tf_F08.f90 tf.f90 PROPERTIES LANGUAGE Fortran)
-if (FORTRAN_HAVE_STORAGE_SIZE AND FORTRAN_HAVE_C_SIZEOF)
- add_library (${HDF5_F90_TEST_LIB_TARGET} ${LIB_TYPE} tf_F08.f90 tf.f90)
-elseif (HDF5_ENABLE_F2003)
- add_library (${HDF5_F90_TEST_LIB_TARGET} ${LIB_TYPE} tf_F03.f90 tf.f90)
-else (FORTRAN_HAVE_STORAGE_SIZE AND FORTRAN_HAVE_C_SIZEOF)
- add_library (${HDF5_F90_TEST_LIB_TARGET} ${LIB_TYPE} tf_F90.f90 tf.f90)
-endif (FORTRAN_HAVE_STORAGE_SIZE AND FORTRAN_HAVE_C_SIZEOF)
-
+set_source_files_properties (tf.F90 ${HDF5_F90_BINARY_DIR}/tf_gen.F90 PROPERTIES LANGUAGE Fortran)
+add_library (${HDF5_F90_TEST_LIB_TARGET} STATIC tf.F90 ${HDF5_F90_BINARY_DIR}/tf_gen.F90)
+if (BUILD_SHARED_LIBS AND NOT SKIP_HDF5_FORTRAN_SHARED)
+ add_library (${HDF5_F90_TEST_LIBSH_TARGET} SHARED tf.F90 ${HDF5_F90_BINARY_DIR}/tf_gen.F90)
+endif (BUILD_SHARED_LIBS AND NOT SKIP_HDF5_FORTRAN_SHARED)
-set (SHARED_LINK_FLAGS " ")
-if (WIN32)
- if (BUILD_SHARED_LIBS)
- set_property (TARGET ${HDF5_F90_TEST_LIB_TARGET} APPEND PROPERTY COMPILE_DEFINITIONS BUILD_HDF5_TEST_DLL)
- if (MSVC)
- set (SHARED_LINK_FLAGS "/DLL")
- endif (MSVC)
- endif (BUILD_SHARED_LIBS)
- set_property (TARGET ${HDF5_F90_TEST_LIB_TARGET} APPEND PROPERTY COMPILE_DEFINITIONS HDF5F90_WINDOWS)
-endif (WIN32)
-TARGET_FORTRAN_PROPERTIES (${HDF5_F90_TEST_LIB_TARGET} ${LIB_TYPE} " " ${SHARED_LINK_FLAGS})
+TARGET_FORTRAN_PROPERTIES (${HDF5_F90_TEST_LIB_TARGET} STATIC " " " ")
target_link_libraries (${HDF5_F90_TEST_LIB_TARGET}
${HDF5_F90_C_TEST_LIB_TARGET}
${HDF5_F90_LIB_TARGET}
${HDF5_LIB_TARGET}
)
-H5_SET_LIB_OPTIONS (${HDF5_F90_TEST_LIB_TARGET} ${HDF5_F90_TEST_LIB_NAME} ${LIB_TYPE})
+H5_SET_LIB_OPTIONS (${HDF5_F90_TEST_LIB_TARGET} ${HDF5_F90_TEST_LIB_NAME} STATIC)
+target_include_directories (${HDF5_F90_TEST_LIB_TARGET} PRIVATE ${CMAKE_Fortran_MODULE_DIRECTORY}/static)
set_target_properties (${HDF5_F90_TEST_LIB_TARGET} PROPERTIES
FOLDER libraries/test/fortran
LINKER_LANGUAGE Fortran
INTERFACE_INCLUDE_DIRECTORIES "$<INSTALL_INTERFACE:$<INSTALL_PREFIX>/include>"
+ Fortran_MODULE_DIRECTORY ${CMAKE_Fortran_MODULE_DIRECTORY}/static
+)
+if (WIN32)
+ set_property (TARGET ${HDF5_F90_TEST_LIB_TARGET} APPEND PROPERTY
+ COMPILE_DEFINITIONS "HDF5F90_WINDOWS"
+ )
+endif (WIN32)
+if (BUILD_SHARED_LIBS AND NOT SKIP_HDF5_FORTRAN_SHARED)
+ set (SHARED_LINK_FLAGS " ")
+ if (WIN32 AND MSVC)
+ set (SHARED_LINK_FLAGS "/DLL")
+ endif (WIN32 AND MSVC)
+ TARGET_FORTRAN_PROPERTIES (${HDF5_F90_TEST_LIBSH_TARGET} SHARED " " ${SHARED_LINK_FLAGS})
+ target_link_libraries (${HDF5_F90_TEST_LIBSH_TARGET}
+ ${HDF5_F90_C_TEST_LIBSH_TARGET}
+ ${HDF5_F90_LIBSH_TARGET}
+ ${HDF5_LIBSH_TARGET}
+ )
+ H5_SET_LIB_OPTIONS (${HDF5_F90_TEST_LIBSH_TARGET} ${HDF5_F90_TEST_LIB_NAME} SHARED)
+ target_include_directories (${HDF5_F90_TEST_LIBSH_TARGET} PRIVATE ${CMAKE_Fortran_MODULE_DIRECTORY}/shared)
+ set_target_properties (${HDF5_F90_TEST_LIBSH_TARGET} PROPERTIES
+ FOLDER libraries/test/fortran
+ LINKER_LANGUAGE Fortran
+ COMPILE_DEFINITIONS "H5_BUILT_AS_DYNAMIC_LIB"
+ INTERFACE_INCLUDE_DIRECTORIES "$<INSTALL_INTERFACE:$<INSTALL_PREFIX>/include>"
+ INTERFACE_COMPILE_DEFINITIONS H5_BUILT_AS_DYNAMIC_LIB=1
+ Fortran_MODULE_DIRECTORY ${CMAKE_Fortran_MODULE_DIRECTORY}/shared
+ )
+ if (WIN32)
+ set_property (TARGET ${HDF5_F90_TEST_LIBSH_TARGET} APPEND PROPERTY
+ COMPILE_DEFINITIONS "BUILD_HDF5_TEST_DLL;HDF5F90_WINDOWS"
+ )
+ endif (WIN32)
+endif (BUILD_SHARED_LIBS AND NOT SKIP_HDF5_FORTRAN_SHARED)
+
+#-----------------------------------------------------------------------------
+# Setup the Fortran auto-detection utilities
+# H5_test_buildiface.F90 used to generate various KIND test interfaces
+#-----------------------------------------------------------------------------
+
+add_executable (H5_test_buildiface
+ ${HDF5_F90_SRC_DIR}/test/H5_test_buildiface.F90
+ )
+
+if (WIN32 AND MSVC)
+ if (BUILD_SHARED_LIBS)
+ set_target_properties (H5_test_buildiface
+ PROPERTIES
+ COMPILE_FLAGS "/MT"
+ )
+ endif (BUILD_SHARED_LIBS)
+ set_target_properties (H5_test_buildiface
+ PROPERTIES
+ LINK_FLAGS "/SUBSYSTEM:CONSOLE"
+ )
+endif (WIN32 AND MSVC)
+set_target_properties (H5_test_buildiface PROPERTIES
+ LINKER_LANGUAGE Fortran
Fortran_MODULE_DIRECTORY ${CMAKE_Fortran_MODULE_DIRECTORY}
)
+set (CMD $<TARGET_FILE:H5_test_buildiface>)
+add_custom_command (
+ OUTPUT ${HDF5_F90_BINARY_DIR}/tf_gen.F90
+ COMMAND ${CMD}
+ WORKING_DIRECTORY ${HDF5_F90_BINARY_DIR}
+ DEPENDS H5_test_buildiface
+)
+
#-----------------------------------------------------------------------------
# Add Tests
#-----------------------------------------------------------------------------
@@ -82,9 +148,9 @@ add_executable (testhdf5_fortran
tH5Z.f90
tHDF5.f90
)
-TARGET_NAMING (testhdf5_fortran ${LIB_TYPE})
-TARGET_FORTRAN_PROPERTIES (testhdf5_fortran ${LIB_TYPE} " " " ")
-target_link_libraries (testhdf5_fortran
+TARGET_NAMING (testhdf5_fortran STATIC)
+TARGET_FORTRAN_PROPERTIES (testhdf5_fortran STATIC " " " ")
+target_link_libraries (testhdf5_fortran
${HDF5_F90_TEST_LIB_TARGET}
${HDF5_F90_LIB_TARGET}
${HDF5_LIB_TARGET}
@@ -96,8 +162,43 @@ target_include_directories (testhdf5_fortran PRIVATE ${CMAKE_Fortran_MODULE_DIRE
set_target_properties (testhdf5_fortran PROPERTIES
LINKER_LANGUAGE Fortran
FOLDER test/fortran
- Fortran_MODULE_DIRECTORY ${CMAKE_Fortran_MODULE_DIRECTORY}
+ Fortran_MODULE_DIRECTORY ${CMAKE_Fortran_MODULE_DIRECTORY}/static
)
+if (BUILD_SHARED_LIBS AND NOT SKIP_HDF5_FORTRAN_SHARED)
+ add_executable (testhdf5_fortran-shared
+ fortranlib_test.f90
+ tH5A.f90
+ tH5D.f90
+ tH5E.f90
+ tH5F.f90
+ tH5G.f90
+ tH5I.f90
+ tH5P.f90
+ tH5R.f90
+ tH5S.f90
+ tH5Sselect.f90
+ tH5T.f90
+ tH5VL.f90
+ tH5Z.f90
+ tHDF5.f90
+ )
+ TARGET_NAMING (testhdf5_fortran-shared SHARED)
+ TARGET_FORTRAN_PROPERTIES (testhdf5_fortran-shared SHARED " " " ")
+ target_link_libraries (testhdf5_fortran-shared
+ ${HDF5_F90_TEST_LIBSH_TARGET}
+ ${HDF5_F90_LIBSH_TARGET}
+ ${HDF5_LIBSH_TARGET}
+ )
+ if (WIN32 AND MSVC)
+ target_link_libraries (testhdf5_fortran-shared "ws2_32.lib")
+ endif (WIN32 AND MSVC)
+ target_include_directories (testhdf5_fortran-shared PRIVATE ${CMAKE_Fortran_MODULE_DIRECTORY}/shared)
+ set_target_properties (testhdf5_fortran-shared PROPERTIES
+ LINKER_LANGUAGE Fortran
+ FOLDER test/fortran
+ Fortran_MODULE_DIRECTORY ${CMAKE_Fortran_MODULE_DIRECTORY}/shared
+ )
+endif (BUILD_SHARED_LIBS AND NOT SKIP_HDF5_FORTRAN_SHARED)
#-- Adding test for testhdf5_fortran_1_8
add_executable (testhdf5_fortran_1_8
@@ -108,9 +209,9 @@ add_executable (testhdf5_fortran_1_8
tH5MISC_1_8.f90
tHDF5_1_8.f90
)
-TARGET_NAMING (testhdf5_fortran_1_8 ${LIB_TYPE})
-TARGET_FORTRAN_PROPERTIES (testhdf5_fortran_1_8 ${LIB_TYPE} " " " ")
-target_link_libraries (testhdf5_fortran_1_8
+TARGET_NAMING (testhdf5_fortran_1_8 STATIC)
+TARGET_FORTRAN_PROPERTIES (testhdf5_fortran_1_8 STATIC " " " ")
+target_link_libraries (testhdf5_fortran_1_8
${HDF5_F90_TEST_LIB_TARGET}
${HDF5_F90_LIB_TARGET}
${HDF5_LIB_TARGET}
@@ -122,44 +223,96 @@ target_include_directories (testhdf5_fortran_1_8 PRIVATE ${CMAKE_Fortran_MODULE_
set_target_properties (testhdf5_fortran_1_8 PROPERTIES
LINKER_LANGUAGE Fortran
FOLDER test/fortran
- Fortran_MODULE_DIRECTORY ${CMAKE_Fortran_MODULE_DIRECTORY}
+ Fortran_MODULE_DIRECTORY ${CMAKE_Fortran_MODULE_DIRECTORY}/static
)
+if (BUILD_SHARED_LIBS AND NOT SKIP_HDF5_FORTRAN_SHARED)
+ add_executable (testhdf5_fortran_1_8-shared
+ fortranlib_test_1_8.f90
+ tH5O.f90
+ tH5A_1_8.f90
+ tH5G_1_8.f90
+ tH5MISC_1_8.f90
+ tHDF5_1_8.f90
+ )
+ TARGET_NAMING (testhdf5_fortran_1_8-shared SHARED)
+ TARGET_FORTRAN_PROPERTIES (testhdf5_fortran_1_8-shared SHARED " " " ")
+ target_link_libraries (testhdf5_fortran_1_8-shared
+ ${HDF5_F90_TEST_LIBSH_TARGET}
+ ${HDF5_F90_LIBSH_TARGET}
+ ${HDF5_LIBSH_TARGET}
+ )
+ if (WIN32 AND MSVC)
+ target_link_libraries (testhdf5_fortran_1_8-shared "ws2_32.lib")
+ endif (WIN32 AND MSVC)
+ target_include_directories (testhdf5_fortran_1_8-shared PRIVATE ${CMAKE_Fortran_MODULE_DIRECTORY}/shared)
+ set_target_properties (testhdf5_fortran_1_8-shared PROPERTIES
+ LINKER_LANGUAGE Fortran
+ FOLDER test/fortran
+ Fortran_MODULE_DIRECTORY ${CMAKE_Fortran_MODULE_DIRECTORY}/shared
+ )
+endif (BUILD_SHARED_LIBS AND NOT SKIP_HDF5_FORTRAN_SHARED)
#-- Adding test for fortranlib_test_F03
-if (HDF5_ENABLE_F2003)
- add_executable (fortranlib_test_F03
+add_executable (fortranlib_test_F03
+ fortranlib_test_F03.f90
+ tH5E_F03.f90
+ tH5F_F03.f90
+ tH5L_F03.f90
+ tH5O_F03.f90
+ tH5P_F03.f90
+ tH5T_F03.F90
+ tHDF5_F03.f90
+)
+TARGET_NAMING (fortranlib_test_F03 STATIC)
+TARGET_FORTRAN_PROPERTIES (fortranlib_test_F03 STATIC " " " ")
+target_link_libraries (fortranlib_test_F03
+ ${HDF5_F90_TEST_LIB_TARGET}
+ ${HDF5_F90_LIB_TARGET}
+ ${HDF5_LIB_TARGET}
+)
+if (WIN32 AND MSVC)
+ target_link_libraries (fortranlib_test_F03 "ws2_32.lib")
+endif (WIN32 AND MSVC)
+target_include_directories (fortranlib_test_F03 PRIVATE ${CMAKE_Fortran_MODULE_DIRECTORY}/static)
+set_target_properties (fortranlib_test_F03 PROPERTIES
+ LINKER_LANGUAGE Fortran
+ FOLDER test/fortran
+ Fortran_MODULE_DIRECTORY ${CMAKE_Fortran_MODULE_DIRECTORY}/static
+)
+if (BUILD_SHARED_LIBS AND NOT SKIP_HDF5_FORTRAN_SHARED)
+ add_executable (fortranlib_test_F03-shared
fortranlib_test_F03.f90
tH5E_F03.f90
tH5F_F03.f90
tH5L_F03.f90
tH5O_F03.f90
tH5P_F03.f90
- tH5T_F03.f90
+ tH5T_F03.F90
tHDF5_F03.f90
)
- TARGET_NAMING (fortranlib_test_F03 ${LIB_TYPE})
- TARGET_FORTRAN_PROPERTIES (fortranlib_test_F03 ${LIB_TYPE} " " " ")
- target_link_libraries (fortranlib_test_F03
- ${HDF5_F90_TEST_LIB_TARGET}
- ${HDF5_F90_LIB_TARGET}
- ${HDF5_LIB_TARGET}
+ TARGET_NAMING (fortranlib_test_F03-shared SHARED)
+ TARGET_FORTRAN_PROPERTIES (fortranlib_test_F03-shared SHARED " " " ")
+ target_link_libraries (fortranlib_test_F03-shared
+ ${HDF5_F90_TEST_LIBSH_TARGET}
+ ${HDF5_F90_LIBSH_TARGET}
+ ${HDF5_LIBSH_TARGET}
)
if (WIN32 AND MSVC)
- target_link_libraries (fortranlib_test_F03 "ws2_32.lib")
+ target_link_libraries (fortranlib_test_F03-shared "ws2_32.lib")
endif (WIN32 AND MSVC)
- target_include_directories (fortranlib_test_F03 PRIVATE ${CMAKE_Fortran_MODULE_DIRECTORY}/static)
- set_target_properties (fortranlib_test_F03 PROPERTIES
+ target_include_directories (fortranlib_test_F03-shared PRIVATE ${CMAKE_Fortran_MODULE_DIRECTORY}/shared)
+ set_target_properties (fortranlib_test_F03-shared PROPERTIES
LINKER_LANGUAGE Fortran
FOLDER test/fortran
- Fortran_MODULE_DIRECTORY ${CMAKE_Fortran_MODULE_DIRECTORY}
- )
-endif (HDF5_ENABLE_F2003)
+ Fortran_MODULE_DIRECTORY ${CMAKE_Fortran_MODULE_DIRECTORY}/shared
+)
+endif (BUILD_SHARED_LIBS AND NOT SKIP_HDF5_FORTRAN_SHARED)
#-- Adding test for fflush1
add_executable (fflush1 fflush1.f90)
-TARGET_NAMING (fflush1 ${LIB_TYPE})
-TARGET_FORTRAN_PROPERTIES (fflush1 ${LIB_TYPE} " " " ")
-target_link_libraries (fflush1
+TARGET_NAMING (fflush1 STATIC)
+TARGET_FORTRAN_PROPERTIES (fflush1 STATIC " " " ")
+target_link_libraries (fflush1
${HDF5_F90_LIB_TARGET}
${HDF5_F90_TEST_LIB_TARGET}
${HDF5_LIB_TARGET}
@@ -171,14 +324,33 @@ target_include_directories (fflush1 PRIVATE ${CMAKE_Fortran_MODULE_DIRECTORY}/st
set_target_properties (fflush1 PROPERTIES
LINKER_LANGUAGE Fortran
FOLDER test/fortran
- Fortran_MODULE_DIRECTORY ${CMAKE_Fortran_MODULE_DIRECTORY}
+ Fortran_MODULE_DIRECTORY ${CMAKE_Fortran_MODULE_DIRECTORY}/static
)
+if (BUILD_SHARED_LIBS AND NOT SKIP_HDF5_FORTRAN_SHARED)
+ add_executable (fflush1-shared fflush1.f90)
+ TARGET_NAMING (fflush1-shared SHARED)
+ TARGET_FORTRAN_PROPERTIES (fflush1-shared SHARED " " " ")
+ target_link_libraries (fflush1-shared
+ ${HDF5_F90_LIBSH_TARGET}
+ ${HDF5_F90_TEST_LIBSH_TARGET}
+ ${HDF5_LIBSH_TARGET}
+ )
+ if (WIN32 AND MSVC)
+ target_link_libraries (fflush1-shared "ws2_32.lib")
+ endif (WIN32 AND MSVC)
+ target_include_directories (fflush1-shared PRIVATE ${CMAKE_Fortran_MODULE_DIRECTORY}/shared)
+ set_target_properties (fflush1-shared PROPERTIES
+ LINKER_LANGUAGE Fortran
+ FOLDER test/fortran
+ Fortran_MODULE_DIRECTORY ${CMAKE_Fortran_MODULE_DIRECTORY}/shared
+ )
+endif (BUILD_SHARED_LIBS AND NOT SKIP_HDF5_FORTRAN_SHARED)
#-- Adding test for fflush2
add_executable (fflush2 fflush2.f90)
-TARGET_NAMING (fflush2 ${LIB_TYPE})
-TARGET_FORTRAN_PROPERTIES (fflush2 ${LIB_TYPE} " " " ")
-target_link_libraries (fflush2
+TARGET_NAMING (fflush2 STATIC)
+TARGET_FORTRAN_PROPERTIES (fflush2 STATIC " " " ")
+target_link_libraries (fflush2
${HDF5_F90_TEST_LIB_TARGET}
${HDF5_F90_LIB_TARGET}
${HDF5_LIB_TARGET}
@@ -190,7 +362,26 @@ target_include_directories (fflush2 PRIVATE ${CMAKE_Fortran_MODULE_DIRECTORY}/st
set_target_properties (fflush2 PROPERTIES
LINKER_LANGUAGE Fortran
FOLDER test/fortran
- Fortran_MODULE_DIRECTORY ${CMAKE_Fortran_MODULE_DIRECTORY}
+ Fortran_MODULE_DIRECTORY ${CMAKE_Fortran_MODULE_DIRECTORY}/static
)
+if (BUILD_SHARED_LIBS AND NOT SKIP_HDF5_FORTRAN_SHARED)
+ add_executable (fflush2-shared fflush2.f90)
+ TARGET_NAMING (fflush2-shared SHARED)
+ TARGET_FORTRAN_PROPERTIES (fflush2-shared SHARED " " " ")
+ target_link_libraries (fflush2-shared
+ ${HDF5_F90_TEST_LIBSH_TARGET}
+ ${HDF5_F90_LIBSH_TARGET}
+ ${HDF5_LIBSH_TARGET}
+ )
+ if (WIN32 AND MSVC)
+ target_link_libraries (fflush2-shared "ws2_32.lib")
+ endif (WIN32 AND MSVC)
+ target_include_directories (fflush2-shared PRIVATE ${CMAKE_Fortran_MODULE_DIRECTORY}/shared)
+ set_target_properties (fflush2-shared PROPERTIES
+ LINKER_LANGUAGE Fortran
+ FOLDER test/fortran
+ Fortran_MODULE_DIRECTORY ${CMAKE_Fortran_MODULE_DIRECTORY}/shared
+ )
+endif (BUILD_SHARED_LIBS AND NOT SKIP_HDF5_FORTRAN_SHARED)
include (CMakeTests.cmake)
diff --git a/fortran/test/CMakeTests.cmake b/fortran/test/CMakeTests.cmake
index 4df50ad..154e70c 100644
--- a/fortran/test/CMakeTests.cmake
+++ b/fortran/test/CMakeTests.cmake
@@ -26,3 +26,29 @@ add_test (NAME FORTRAN_fflush1 COMMAND $<TARGET_FILE:fflush1>)
#-- Adding test for fflush2
add_test (NAME FORTRAN_fflush2 COMMAND $<TARGET_FILE:fflush2>)
set_tests_properties (FORTRAN_fflush2 PROPERTIES DEPENDS FORTRAN_fflush1)
+
+if (BUILD_SHARED_LIBS AND NOT SKIP_HDF5_FORTRAN_SHARED)
+ add_test (NAME FORTRAN_testhdf5_fortran-shared COMMAND $<TARGET_FILE:testhdf5_fortran-shared>)
+ set_tests_properties (FORTRAN_testhdf5_fortran-shared PROPERTIES PASS_REGULAR_EXPRESSION "[ ]*0 error.s")
+ set_tests_properties (FORTRAN_testhdf5_fortran-shared PROPERTIES DEPENDS FORTRAN_testhdf5_fortran)
+
+ #-- Adding test for testhdf5_fortran_1_8
+ add_test (NAME FORTRAN_testhdf5_fortran_1_8-shared COMMAND $<TARGET_FILE:testhdf5_fortran_1_8-shared>)
+ set_tests_properties (FORTRAN_testhdf5_fortran_1_8-shared PROPERTIES PASS_REGULAR_EXPRESSION "[ ]*0 error.s")
+ set_tests_properties (FORTRAN_testhdf5_fortran_1_8-shared PROPERTIES DEPENDS FORTRAN_testhdf5_fortran_1_8)
+
+ #-- Adding test for fortranlib_test_F03
+ if (HDF5_ENABLE_F2003)
+ add_test (NAME FORTRAN_fortranlib_test_F03-shared COMMAND $<TARGET_FILE:fortranlib_test_F03-shared>)
+ set_tests_properties (FORTRAN_fortranlib_test_F03-shared PROPERTIES PASS_REGULAR_EXPRESSION "[ ]*0 error.s")
+ set_tests_properties (FORTRAN_fortranlib_test_F03-shared PROPERTIES DEPENDS FORTRAN_fortranlib_test_F03)
+ endif (HDF5_ENABLE_F2003)
+
+ #-- Adding test for fflush1
+ add_test (NAME FORTRAN_fflush1-shared COMMAND $<TARGET_FILE:fflush1-shared>)
+ set_tests_properties (FORTRAN_fflush1-shared PROPERTIES DEPENDS FORTRAN_fflush2)
+
+ #-- Adding test for fflush2
+ add_test (NAME FORTRAN_fflush2-shared COMMAND $<TARGET_FILE:fflush2-shared>)
+ set_tests_properties (FORTRAN_fflush2-shared PROPERTIES DEPENDS FORTRAN_fflush1-shared)
+endif (BUILD_SHARED_LIBS AND NOT SKIP_HDF5_FORTRAN_SHARED)
diff --git a/fortran/test/H5_test_buildiface.F90 b/fortran/test/H5_test_buildiface.F90
new file mode 100644
index 0000000..30687df
--- /dev/null
+++ b/fortran/test/H5_test_buildiface.F90
@@ -0,0 +1,306 @@
+!****p* Program/H5_buildiface
+!
+! NAME
+! Executable: H5_buildiface
+!
+! FILE
+! fortran/src/H5_buildiface.f90
+!
+! PURPOSE
+! This stand alone program is used at build time to generate the program
+! H5fortran_detect.f90. It cycles through all the available KIND parameters for
+! integers and reals. The appropriate program and subroutines are then generated
+! depending on which of the KIND values are found.
+!
+! NOTES
+! This program uses the Fortran 2008 intrinsic function STORAGE_SIZE or SIZEOF
+! depending on availablity.It generates code that makes use of
+! STORAGE_SIZE/SIZEOF in H5fortran_detect.f90. STORAGE_SIZE is standard
+! compliant and should always be chosen over SIZEOF.
+!
+! The availability of STORAGE_SIZE/SIZEOF is checked at configure time and the TRUE/FALSE
+! condition is set in the configure variable "FORTRAN_HAVE_STORAGE_SIZE" or
+! "FORTRAN_HAVE_SIZEOF".
+!
+! The use of C_SIZOF(X) is not used since the argument X must be an interoperable
+! data entity.
+!
+! COPYRIGHT
+! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+! Copyright by The HDF Group. *
+! Copyright by the Board of Trustees of the University of Illinois. *
+! All rights reserved. *
+! *
+! This file is part of HDF5. The full HDF5 copyright notice, including *
+! terms governing use, modification, and redistribution, is contained in *
+! the files COPYING and Copyright.html. COPYING can be found at the root *
+! of the source code distribution tree; Copyright.html can be found at the *
+! root level of an installed copy of the electronic HDF5 document set and *
+! is linked from the top-level documents page. It can also be found at *
+! http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have *
+! access to either file, you may request a copy from help@hdfgroup.org. *
+! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+!
+! AUTHOR
+! M. Scot Breitenfeld
+!
+!*****
+
+#include <H5config_f.inc>
+
+PROGRAM H5_test_buildiface
+ USE, INTRINSIC :: ISO_C_BINDING
+ IMPLICIT NONE
+
+! These values are valid REAL KINDs (with corresponding C float) found during configure
+ H5_H5CONFIG_F_NUM_RKIND
+ H5_H5CONFIG_F_RKIND
+! These values are valid INTEGER KINDs (with corresponding C integer) found during configure
+ H5_H5CONFIG_F_NUM_IKIND
+ H5_H5CONFIG_F_IKIND
+
+ INTEGER :: i, j, k
+ INTEGER :: ji, jr, jd
+#ifdef H5_FORTRAN_HAVE_C_LONG_DOUBLE
+ REAL(KIND=C_LONG_DOUBLE) :: c_longdble
+#endif
+ REAL(KIND=C_DOUBLE) :: c_dble
+ REAL(KIND=C_FLOAT) :: c_flt
+ INTEGER :: sizeof_var
+ CHARACTER(LEN=2) :: chr2
+! subroutine rank of array being passed in
+ CHARACTER(LEN=2), DIMENSION(1:8), PARAMETER :: chr_rank=(/"_0","_1","_2","_3","_4","_5","_6","_7"/)
+! rank definitions
+ CHARACTER(LEN=70), DIMENSION(1:8), PARAMETER :: rank_dim_line=(/ &
+ ' ', &
+ ', DIMENSION(dims(1)) ', &
+ ', DIMENSION(dims(1),dims(2)) ', &
+ ', DIMENSION(dims(1),dims(2),dims(3)) ', &
+ ', DIMENSION(dims(1),dims(2),dims(3),dims(4)) ', &
+ ', DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)) ', &
+ ', DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)) ', &
+ ', DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7))' &
+ /)
+! pointer to the buffer
+ CHARACTER(LEN=37), DIMENSION(1:8), PARAMETER :: f_ptr_line=(/ &
+ ' f_ptr = C_LOC(buf) ', &
+ ' f_ptr = C_LOC(buf(1)) ', &
+ ' f_ptr = C_LOC(buf(1,1)) ', &
+ ' f_ptr = C_LOC(buf(1,1,1)) ', &
+ ' f_ptr = C_LOC(buf(1,1,1,1)) ', &
+ ' f_ptr = C_LOC(buf(1,1,1,1,1)) ', &
+ ' f_ptr = C_LOC(buf(1,1,1,1,1,1)) ', &
+ ' f_ptr = C_LOC(buf(1,1,1,1,1,1,1))' &
+ /)
+
+! Generate Fortran Check routines for the tests KIND interfaces.
+
+ OPEN(11,FILE='tf_gen.F90')
+ WRITE(11,'(40(A,/))') &
+'!****h* ROBODoc/TH5_MISC_gen.F90',&
+'!',&
+'! NAME',&
+'! TH5_MISC_gen',&
+'! ',&
+'! PURPOSE',&
+'! This module is generated at build by H5_test_buildiface.F90 to handle checking ',&
+'! in the tests all the detected KINDs.',&
+'!',&
+'! COPYRIGHT',&
+'! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *',&
+'! Copyright by The HDF Group. *',&
+'! All rights reserved. *',&
+'! *',&
+'! This file is part of HDF5. The full HDF5 copyright notice, including *',&
+'! terms governing use, modification, and redistribution, is contained in *',&
+'! the files COPYING and Copyright.html. COPYING can be found at the root *',&
+'! of the source code distribution tree; Copyright.html can be found at the *',&
+'! root level of an installed copy of the electronic HDF5 document set and *',&
+'! is linked from the top-level documents page. It can also be found at *',&
+'! http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have *',&
+'! access to either file, you may request a copy from help@hdfgroup.org. *',&
+'! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *',&
+'!',&
+'! AUTHOR',&
+'! H5_test_buildiface.F90',&
+'!',&
+'!*****'
+
+ WRITE(11,'(a)') "MODULE TH5_MISC_gen"
+
+ WRITE(11,'(A)') ' USE, INTRINSIC :: ISO_C_BINDING'
+
+! Interfaces for validating REALs, INTEGERs, CHARACTERs, LOGICALs
+
+ WRITE(11,'(A)') ' INTERFACE verify'
+ DO i = 1, num_rkinds
+ j = rkind(i)
+ WRITE(chr2,'(I2)') j
+ WRITE(11,'(A)') " MODULE PROCEDURE verify_real_kind_"//TRIM(ADJUSTL(chr2))
+ END DO
+ DO i = 1, num_ikinds
+ j = ikind(i)
+ WRITE(chr2,'(I2)') j
+ WRITE(11,'(A)') " MODULE PROCEDURE verify_integer_kind_"//TRIM(ADJUSTL(chr2))
+ END DO
+ WRITE(11,'(A)') " MODULE PROCEDURE verify_character"
+ WRITE(11,'(A)') " MODULE PROCEDURE verify_logical"
+ WRITE(11,'(A)') " END INTERFACE"
+
+ WRITE(11,'(A)') ' INTERFACE check_real_eq'
+ DO i = 1, num_rkinds
+ j = rkind(i)
+ WRITE(chr2,'(I2)') j
+ WRITE(11,'(A)') " MODULE PROCEDURE real_eq_kind_"//TRIM(ADJUSTL(chr2))
+ END DO
+ WRITE(11,'(A)') " END INTERFACE"
+
+ WRITE(11,'(A)') 'CONTAINS'
+
+! ***************************
+! VALIDATE INTEGERS
+! ***************************
+ DO i = 1, num_ikinds
+ k = ikind(i)
+ WRITE(chr2,'(I2)') k
+! DLL definitions for windows
+ WRITE(11,'(A)') '!DEC$if defined(BUILD_HDF5_TEST_DLL)'
+ WRITE(11,'(A)') '!DEC$attributes dllexport :: verify_integer_kind_'//TRIM(ADJUSTL(chr2))
+ WRITE(11,'(A)') '!DEC$endif'
+
+! Subroutine API
+ WRITE(11,'(A)') ' SUBROUTINE verify_integer_kind_'//TRIM(ADJUSTL(chr2))//'(string,value,correct_value,total_error)'
+ WRITE(11,'(A)') ' IMPLICIT NONE'
+ WRITE(11,'(A)') ' CHARACTER(LEN=*) :: string'
+ WRITE(11,'(A)') ' INTEGER(KIND='//TRIM(ADJUSTL(chr2))//') :: value, correct_value'
+ WRITE(11,'(A)') ' INTEGER :: total_error'
+ WRITE(11,'(A)') ' IF (value .NE. correct_value) THEN'
+ WRITE(11,'(A)') ' total_error=total_error+1'
+ WRITE(11,'(A)') ' WRITE(*,*) "ERROR: INCORRECT INTEGER VALIDATION ", string'
+ WRITE(11,'(A)') ' ENDIF'
+ WRITE(11,'(A)') ' END SUBROUTINE verify_integer_kind_'//TRIM(ADJUSTL(chr2))
+ ENDDO
+
+! ***************************
+! VALIDATE REALS
+! ***************************
+ DO i = 1, num_rkinds
+ k = rkind(i)
+ WRITE(chr2,'(I2)') k
+! DLL definitions for windows
+ WRITE(11,'(A)') '!DEC$if defined(BUILD_HDF5_TEST_DLL)'
+ WRITE(11,'(A)') '!DEC$attributes dllexport :: verify_real_kind_'//TRIM(ADJUSTL(chr2))
+ WRITE(11,'(A)') '!DEC$endif'
+
+! Subroutine API
+ WRITE(11,'(A)') ' SUBROUTINE verify_real_kind_'//TRIM(ADJUSTL(chr2))//'(string,value,correct_value,total_error)'
+ WRITE(11,'(A)') ' IMPLICIT NONE'
+ WRITE(11,'(A)') ' CHARACTER(LEN=*) :: string'
+ WRITE(11,'(A)') ' REAL(KIND='//TRIM(ADJUSTL(chr2))//') :: value, correct_value'
+ WRITE(11,'(A)') ' INTEGER :: total_error'
+ WRITE(11,'(A)') ' IF (.NOT.real_eq_kind_'//TRIM(ADJUSTL(chr2))//'( value, correct_value) ) THEN'
+ WRITE(11,'(A)') ' total_error=total_error+1'
+ WRITE(11,'(A)') ' WRITE(*,*) "ERROR: INCORRECT REAL VALIDATION ", string'
+ WRITE(11,'(A)') ' ENDIF'
+ WRITE(11,'(A)') ' END SUBROUTINE verify_real_kind_'//TRIM(ADJUSTL(chr2))
+
+
+! ***********************************
+! TEST IF TWO REAL NUMBERS ARE EQUAL
+! ***********************************
+
+! [1] The test performed is
+!
+! ABS( x - y ) < ( ULP * SPACING( MAX(ABS(x),ABS(y)) ) )
+!
+! The numbers are considered equal if true
+!
+! The intrinsic function SPACING(x) returns the absolute spacing of numbers
+! near the value of x,
+!
+! { EXPONENT(x)-DIGITS(x)
+! { 2.0 for x /= 0
+! SPACING(x) = {
+! {
+! { TINY(x) for x == 0
+!
+! The ULP optional argument scales the comparison:
+!
+! Unit of data precision. The acronym stands for "unit in
+! the last place," the smallest possible increment or decrement
+! that can be made using a machine's floating point arithmetic.
+! A 0.5 ulp maximum error is the best you could hope for, since
+! this corresponds to always rounding to the nearest representable
+! floating-point number. Value must be positive - if a negative
+! value is supplied, the absolute value is used.
+! If not specified, the default value is 1.
+!
+! James Van Buskirk and James Giles suggested this method for floating
+! point comparisons in the comp.lang.fortran newsgroup.
+!
+! Reference: [1] Paul van Delst, paul.vandelst@ssec.wisc.edu
+
+ WRITE(11,'(A)') '!DEC$if defined(BUILD_HDF5_TEST_DLL)'
+ WRITE(11,'(A)') '!DEC$attributes dllexport :: real_eq_kind_'//TRIM(ADJUSTL(chr2))
+ WRITE(11,'(A)') '!DEC$endif'
+ WRITE(11,'(A)') ' LOGICAL FUNCTION real_eq_kind_'//TRIM(ADJUSTL(chr2))//'(a,b,ulp)'
+ WRITE(11,'(A)') ' IMPLICIT NONE'
+ WRITE(11,'(A)') ' REAL(KIND='//TRIM(ADJUSTL(chr2))//'), INTENT (in):: a,b'
+ WRITE(11,'(A)') ' REAL(KIND='//TRIM(ADJUSTL(chr2))//') :: Rel'
+ WRITE(11,'(A)') ' INTEGER, OPTIONAL, INTENT( IN ) :: ulp'
+ WRITE(11,'(A)') ' IF ( PRESENT( ulp ) ) Rel = REAL( ABS(ulp), '//TRIM(ADJUSTL(chr2))//')'
+ WRITE(11,'(A)') ' Rel = 1.0_'//TRIM(ADJUSTL(chr2))
+ WRITE(11,'(A)') ' real_eq_kind_'//TRIM(ADJUSTL(chr2))//' = ABS( a - b ) < ( Rel * SPACING( MAX(ABS(a),ABS(b)) ) )'
+ WRITE(11,'(A)') ' END FUNCTION real_eq_kind_'//TRIM(ADJUSTL(chr2))
+ ENDDO
+
+! ***************************
+! VALIDATE CHARACTER STRINGS
+! ***************************
+
+! DLL definitions for windows
+ WRITE(11,'(A)') '!DEC$if defined(BUILD_HDF5_TEST_DLL)'
+ WRITE(11,'(A)') '!DEC$attributes dllexport :: verify_character'
+ WRITE(11,'(A)') '!DEC$endif'
+
+! Subroutine API
+ WRITE(11,'(A)') ' SUBROUTINE verify_character(string,value,correct_value,total_error)'
+ WRITE(11,'(A)') ' IMPLICIT NONE'
+ WRITE(11,'(A)') ' CHARACTER*(*) :: string'
+ WRITE(11,'(A)') ' CHARACTER*(*) :: value, correct_value'
+ WRITE(11,'(A)') ' INTEGER :: total_error'
+ WRITE(11,'(A)') ' IF (TRIM(value) .NE. TRIM(correct_value)) THEN'
+ WRITE(11,'(A)') ' total_error = total_error + 1'
+ WRITE(11,'(A)') ' WRITE(*,*) "ERROR: INCORRECT VALIDATION ", string'
+ WRITE(11,'(A)') ' ENDIF'
+ WRITE(11,'(A)') ' END SUBROUTINE verify_character'
+
+! ***************************
+! VALIDATE LOGICAL
+! ***************************
+
+! DLL definitions for windows
+ WRITE(11,'(A)') '!DEC$if defined(BUILD_HDF5_TEST_DLL)'
+ WRITE(11,'(A)') '!DEC$attributes dllexport :: verify_logical'
+ WRITE(11,'(A)') '!DEC$endif'
+! Subroutine API
+ WRITE(11,'(A)') ' SUBROUTINE verify_logical(string,value,correct_value,total_error)'
+ WRITE(11,'(A)') ' IMPLICIT NONE'
+ WRITE(11,'(A)') ' CHARACTER(LEN=*) :: string'
+ WRITE(11,'(A)') ' LOGICAL :: value, correct_value'
+ WRITE(11,'(A)') ' INTEGER :: total_error'
+ WRITE(11,'(A)') ' IF (value .NEQV. correct_value) THEN'
+ WRITE(11,'(A)') ' total_error = total_error + 1'
+ WRITE(11,'(A)') ' WRITE(*,*) "ERROR: INCORRECT VALIDATION ", string'
+ WRITE(11,'(A)') ' ENDIF'
+
+ WRITE(11,'(A)') ' END SUBROUTINE verify_logical'
+
+ WRITE(11,'(A)') "END MODULE TH5_MISC_gen"
+
+ CLOSE(11)
+
+END PROGRAM H5_test_buildiface
+
+
+
diff --git a/fortran/test/Makefile.am b/fortran/test/Makefile.am
index 735ab7a..29c41ec 100644
--- a/fortran/test/Makefile.am
+++ b/fortran/test/Makefile.am
@@ -36,40 +36,12 @@ else
AM_LDFLAGS+=-static
endif
-# Check if the compiler supports the Fortran 2003 standard
-# which should include the intrinsic module iso_c_binding
-if FORTRAN_2003_CONDITIONAL_F
- ff_PREFIX = F03
-else
- ff_PREFIX = F90
-endif
-
# Our main targets, the tests themselves
-TEST_PROG=fortranlib_test fflush1 fflush2 fortranlib_test_1_8
-
-if FORTRAN_2003_CONDITIONAL_F
- TEST_PROG += fortranlib_test_F03
-endif
+TEST_PROG=fortranlib_test fflush1 fflush2 fortranlib_test_1_8 fortranlib_test_F03
check_PROGRAMS=$(TEST_PROG)
-if FORTRAN_HAVE_STORAGE_SIZE
-if FORTRAN_HAVE_C_SIZEOF
- libh5test_fortran_la_SOURCES = tf_F08.f90
-else
- libh5test_fortran_la_SOURCES = tf_F03.f90
-endif
-else
-if FORTRAN_2003_CONDITIONAL_F
- libh5test_fortran_la_SOURCES = tf_F03.f90
-else
- libh5test_fortran_la_SOURCES = tf_F90.f90
-endif
-endif
-
-# tf.f90 depends on either tf_F08.f90 or tf_F03.f90 so they need to be
-# compiled first
-libh5test_fortran_la_SOURCES += tf.f90 t.c
+libh5test_fortran_la_SOURCES = tf_gen.F90 tf.F90 t.c
# Source files are used for both the library and fortranlib_test.
# Automake will complain about this without the following workaround.
@@ -79,13 +51,11 @@ fortranlib_test_CFLAGS=$(AM_CFLAGS)
fortranlib_test_SOURCES = tH5F.f90 tH5D.f90 tH5R.f90 tH5S.f90 tH5T.f90 tH5VL.f90 tH5Z.f90 \
tH5Sselect.f90 tH5P.f90 tH5A.f90 tH5I.f90 tH5G.f90 tH5E.f90 tHDF5.f90 fortranlib_test.f90
-fortranlib_test_1_8_SOURCES = tH5O.f90 tH5A_1_8.f90 tH5G_1_8.f90 tH5MISC_1_8.f90 tHDF5_1_8.f90\
+fortranlib_test_1_8_SOURCES = tH5O.f90 tH5A_1_8.f90 tH5G_1_8.f90 tH5MISC_1_8.f90 tHDF5_1_8.f90 \
fortranlib_test_1_8.f90
-if FORTRAN_2003_CONDITIONAL_F
- fortranlib_test_F03_SOURCES = tH5E_F03.f90 tH5F_F03.f90 tH5L_F03.f90 \
- tH5O_F03.f90 tH5P_F03.f90 tH5T_F03.f90 tHDF5_F03.f90 fortranlib_test_F03.f90
-endif
+fortranlib_test_F03_SOURCES = tH5E_F03.f90 tH5F_F03.f90 tH5L_F03.f90 \
+ tH5O_F03.f90 tH5P_F03.f90 tH5T_F03.F90 tHDF5_F03.f90 fortranlib_test_F03.f90
fflush1_SOURCES=fflush1.f90
@@ -106,15 +76,34 @@ maintainer-clean-local: clean-local
distclean-local: clean-local
clean-local:
@if test -n "$(F9XMODEXT)" && test "X$(F9XMODEXT)" != "Xo"; then \
- $(RM) *.$(F9XMODEXT); \
+ $(RM) *.$(F9XMODEXT) tf_gen.F90; \
fi
# Mark this directory as part of the Fortran API (this affects output
# from tests in conclude.am)
FORTRAN_API=yes
+# helper program we need to build.
+noinst_PROGRAMS = H5_test_buildiface
+
+# H5_test_buildiface.F90 generates all the test APIs that have a KIND type associated
+# with them.
+
+tf_gen.F90: H5_test_buildiface$(EXEEXT)
+ $(RUNSERIAL) ./H5_test_buildiface$(EXEEXT)
+
+# H5_test_buildiface.F90 is included in the distribution, and Automake knows
+# how to compile a fortran program given its sources.
+
+H5_test_buildiface_SOURCES = H5_test_buildiface.F90
+
+# The build of the H5_test_buildiface does depend on any libraries, so set it
+# to nothing.
+
+H5_test_buildiface_LDADD =
+
# fflush2 depends on files created by fflush1
fflush2.chkexe_: fflush1.chkexe_
-include $(top_srcdir)/config/conclude.am
+include $(top_srcdir)/config/conclude_fc.am
diff --git a/fortran/test/Makefile.in b/fortran/test/Makefile.in
index 4ec1ad5..e65ed45 100644
--- a/fortran/test/Makefile.in
+++ b/fortran/test/Makefile.in
@@ -14,6 +14,11 @@
@SET_MAKE@
+# Makefile.am include fragment with Fortran helper rules and macros.
+
+# AM_FCCPPFLAGS, FCCPPFLAGS are currently not used.
+
+
VPATH = @srcdir@
am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
am__make_running_with_option = \
@@ -79,6 +84,7 @@ POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
DIST_COMMON = $(top_srcdir)/config/commence.am \
+ $(top_srcdir)/config/conclude_fc.am \
$(top_srcdir)/config/conclude.am $(srcdir)/Makefile.in \
$(srcdir)/Makefile.am $(top_srcdir)/bin/mkinstalldirs \
$(top_srcdir)/bin/depcomp $(top_srcdir)/bin/test-driver
@@ -87,9 +93,9 @@ DIST_COMMON = $(top_srcdir)/config/commence.am \
# want to build a shared C library and a static Fortran library. If so,
# pass the -static flag to the library linker.
@FORTRAN_SHARED_CONDITIONAL_FALSE@am__append_1 = -static
-@FORTRAN_2003_CONDITIONAL_F_TRUE@am__append_2 = fortranlib_test_F03
-check_PROGRAMS = $(am__EXEEXT_2)
-TESTS = $(am__EXEEXT_2)
+check_PROGRAMS = $(am__EXEEXT_1)
+noinst_PROGRAMS = H5_test_buildiface$(EXEEXT)
+TESTS = $(am__EXEEXT_1)
subdir = fortran/test
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/aclocal_cxx.m4 \
@@ -97,34 +103,25 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/aclocal_cxx.m4 \
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(SHELL) $(top_srcdir)/bin/mkinstalldirs
-CONFIG_HEADER = $(top_builddir)/src/H5config.h
+CONFIG_HEADER = $(top_builddir)/src/H5config.h \
+ $(top_builddir)/fortran/src/H5config_f.inc
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
LTLIBRARIES = $(noinst_LTLIBRARIES)
libh5test_fortran_la_LIBADD =
-am__libh5test_fortran_la_SOURCES_DIST = tf_F90.f90 tf.f90 t.c \
- tf_F03.f90 tf_F08.f90
-@FORTRAN_2003_CONDITIONAL_F_FALSE@@FORTRAN_HAVE_STORAGE_SIZE_FALSE@am_libh5test_fortran_la_OBJECTS = tf_F90.lo \
-@FORTRAN_2003_CONDITIONAL_F_FALSE@@FORTRAN_HAVE_STORAGE_SIZE_FALSE@ tf.lo \
-@FORTRAN_2003_CONDITIONAL_F_FALSE@@FORTRAN_HAVE_STORAGE_SIZE_FALSE@ t.lo
-@FORTRAN_2003_CONDITIONAL_F_TRUE@@FORTRAN_HAVE_STORAGE_SIZE_FALSE@am_libh5test_fortran_la_OBJECTS = tf_F03.lo \
-@FORTRAN_2003_CONDITIONAL_F_TRUE@@FORTRAN_HAVE_STORAGE_SIZE_FALSE@ tf.lo \
-@FORTRAN_2003_CONDITIONAL_F_TRUE@@FORTRAN_HAVE_STORAGE_SIZE_FALSE@ t.lo
-@FORTRAN_HAVE_C_SIZEOF_FALSE@@FORTRAN_HAVE_STORAGE_SIZE_TRUE@am_libh5test_fortran_la_OBJECTS = tf_F03.lo \
-@FORTRAN_HAVE_C_SIZEOF_FALSE@@FORTRAN_HAVE_STORAGE_SIZE_TRUE@ tf.lo \
-@FORTRAN_HAVE_C_SIZEOF_FALSE@@FORTRAN_HAVE_STORAGE_SIZE_TRUE@ t.lo
-@FORTRAN_HAVE_C_SIZEOF_TRUE@@FORTRAN_HAVE_STORAGE_SIZE_TRUE@am_libh5test_fortran_la_OBJECTS = tf_F08.lo \
-@FORTRAN_HAVE_C_SIZEOF_TRUE@@FORTRAN_HAVE_STORAGE_SIZE_TRUE@ tf.lo \
-@FORTRAN_HAVE_C_SIZEOF_TRUE@@FORTRAN_HAVE_STORAGE_SIZE_TRUE@ t.lo
+am_libh5test_fortran_la_OBJECTS = tf_gen.lo tf.lo t.lo
libh5test_fortran_la_OBJECTS = $(am_libh5test_fortran_la_OBJECTS)
AM_V_lt = $(am__v_lt_@AM_V@)
am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
am__v_lt_0 = --silent
am__v_lt_1 =
-@FORTRAN_2003_CONDITIONAL_F_TRUE@am__EXEEXT_1 = \
-@FORTRAN_2003_CONDITIONAL_F_TRUE@ fortranlib_test_F03$(EXEEXT)
-am__EXEEXT_2 = fortranlib_test$(EXEEXT) fflush1$(EXEEXT) \
- fflush2$(EXEEXT) fortranlib_test_1_8$(EXEEXT) $(am__EXEEXT_1)
+am__EXEEXT_1 = fortranlib_test$(EXEEXT) fflush1$(EXEEXT) \
+ fflush2$(EXEEXT) fortranlib_test_1_8$(EXEEXT) \
+ fortranlib_test_F03$(EXEEXT)
+PROGRAMS = $(noinst_PROGRAMS)
+am_H5_test_buildiface_OBJECTS = H5_test_buildiface.$(OBJEXT)
+H5_test_buildiface_OBJECTS = $(am_H5_test_buildiface_OBJECTS)
+H5_test_buildiface_DEPENDENCIES =
am_fflush1_OBJECTS = fflush1.$(OBJEXT)
fflush1_OBJECTS = $(am_fflush1_OBJECTS)
fflush1_LDADD = $(LDADD)
@@ -159,18 +156,10 @@ fortranlib_test_1_8_OBJECTS = $(am_fortranlib_test_1_8_OBJECTS)
fortranlib_test_1_8_LDADD = $(LDADD)
fortranlib_test_1_8_DEPENDENCIES = libh5test_fortran.la $(LIBH5TEST) \
$(LIBH5F) $(LIBHDF5)
-am__fortranlib_test_F03_SOURCES_DIST = tH5E_F03.f90 tH5F_F03.f90 \
- tH5L_F03.f90 tH5O_F03.f90 tH5P_F03.f90 tH5T_F03.f90 \
- tHDF5_F03.f90 fortranlib_test_F03.f90
-@FORTRAN_2003_CONDITIONAL_F_TRUE@am_fortranlib_test_F03_OBJECTS = \
-@FORTRAN_2003_CONDITIONAL_F_TRUE@ tH5E_F03.$(OBJEXT) \
-@FORTRAN_2003_CONDITIONAL_F_TRUE@ tH5F_F03.$(OBJEXT) \
-@FORTRAN_2003_CONDITIONAL_F_TRUE@ tH5L_F03.$(OBJEXT) \
-@FORTRAN_2003_CONDITIONAL_F_TRUE@ tH5O_F03.$(OBJEXT) \
-@FORTRAN_2003_CONDITIONAL_F_TRUE@ tH5P_F03.$(OBJEXT) \
-@FORTRAN_2003_CONDITIONAL_F_TRUE@ tH5T_F03.$(OBJEXT) \
-@FORTRAN_2003_CONDITIONAL_F_TRUE@ tHDF5_F03.$(OBJEXT) \
-@FORTRAN_2003_CONDITIONAL_F_TRUE@ fortranlib_test_F03.$(OBJEXT)
+am_fortranlib_test_F03_OBJECTS = tH5E_F03.$(OBJEXT) tH5F_F03.$(OBJEXT) \
+ tH5L_F03.$(OBJEXT) tH5O_F03.$(OBJEXT) tH5P_F03.$(OBJEXT) \
+ tH5T_F03.$(OBJEXT) tHDF5_F03.$(OBJEXT) \
+ fortranlib_test_F03.$(OBJEXT)
fortranlib_test_F03_OBJECTS = $(am_fortranlib_test_F03_OBJECTS)
fortranlib_test_F03_LDADD = $(LDADD)
fortranlib_test_F03_DEPENDENCIES = libh5test_fortran.la $(LIBH5TEST) \
@@ -187,10 +176,22 @@ AM_V_at = $(am__v_at_@AM_V@)
am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
am__v_at_0 = @
am__v_at_1 =
-DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/src
+DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/src -I$(top_builddir)/fortran/src
depcomp = $(SHELL) $(top_srcdir)/bin/depcomp
am__depfiles_maybe = depfiles
am__mv = mv -f
+AM_V_PPFC = $(am__v_PPFC_@AM_V@)
+am__v_PPFC_ = $(am__v_PPFC_@AM_DEFAULT_V@)
+am__v_PPFC_0 = @echo " PPFC " $@;
+am__v_PPFC_1 =
+FCLD = $(FC)
+FCLINK = $(LIBTOOL) $(AM_V_lt) --tag=FC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(FCLD) $(AM_FCFLAGS) $(FCFLAGS) \
+ $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_FCLD = $(am__v_FCLD_@AM_V@)
+am__v_FCLD_ = $(am__v_FCLD_@AM_DEFAULT_V@)
+am__v_FCLD_0 = @echo " FCLD " $@;
+am__v_FCLD_1 =
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
@@ -216,21 +217,14 @@ AM_V_FC = $(am__v_FC_@AM_V@)
am__v_FC_ = $(am__v_FC_@AM_DEFAULT_V@)
am__v_FC_0 = @echo " FC " $@;
am__v_FC_1 =
-FCLD = $(FC)
-FCLINK = $(LIBTOOL) $(AM_V_lt) --tag=FC $(AM_LIBTOOLFLAGS) \
- $(LIBTOOLFLAGS) --mode=link $(FCLD) $(AM_FCFLAGS) $(FCFLAGS) \
- $(AM_LDFLAGS) $(LDFLAGS) -o $@
-AM_V_FCLD = $(am__v_FCLD_@AM_V@)
-am__v_FCLD_ = $(am__v_FCLD_@AM_DEFAULT_V@)
-am__v_FCLD_0 = @echo " FCLD " $@;
-am__v_FCLD_1 =
-SOURCES = $(libh5test_fortran_la_SOURCES) $(fflush1_SOURCES) \
+SOURCES = $(libh5test_fortran_la_SOURCES) \
+ $(H5_test_buildiface_SOURCES) $(fflush1_SOURCES) \
+ $(fflush2_SOURCES) $(fortranlib_test_SOURCES) \
+ $(fortranlib_test_1_8_SOURCES) $(fortranlib_test_F03_SOURCES)
+DIST_SOURCES = $(libh5test_fortran_la_SOURCES) \
+ $(H5_test_buildiface_SOURCES) $(fflush1_SOURCES) \
$(fflush2_SOURCES) $(fortranlib_test_SOURCES) \
$(fortranlib_test_1_8_SOURCES) $(fortranlib_test_F03_SOURCES)
-DIST_SOURCES = $(am__libh5test_fortran_la_SOURCES_DIST) \
- $(fflush1_SOURCES) $(fflush2_SOURCES) \
- $(fortranlib_test_SOURCES) $(fortranlib_test_1_8_SOURCES) \
- $(am__fortranlib_test_F03_SOURCES_DIST)
am__can_run_installinfo = \
case $$AM_UPDATE_INFO_DIR in \
n|no|NO) false;; \
@@ -522,14 +516,21 @@ F9XMODEXT = @F9XMODEXT@
F9XMODFLAG = @F9XMODFLAG@
F9XSUFFIXFLAG = @F9XSUFFIXFLAG@
FC = @FC@
-FC2003 = @FC2003@
FCFLAGS = @FCFLAGS@
FCFLAGS_f90 = @FCFLAGS_f90@
FCLIBS = @FCLIBS@
FC_VERSION = @FC_VERSION@
FGREP = @FGREP@
+FORTRAN_C_LONG_DOUBLE_IS_UNIQUE = @FORTRAN_C_LONG_DOUBLE_IS_UNIQUE@
+FORTRAN_HAVE_C_LONG_DOUBLE = @FORTRAN_HAVE_C_LONG_DOUBLE@
+FORTRAN_SIZEOF_LONG_DOUBLE = @FORTRAN_SIZEOF_LONG_DOUBLE@
FSEARCH_DIRS = @FSEARCH_DIRS@
GREP = @GREP@
+H5CONFIG_F_IKIND = @H5CONFIG_F_IKIND@
+H5CONFIG_F_NUM_IKIND = @H5CONFIG_F_NUM_IKIND@
+H5CONFIG_F_NUM_RKIND = @H5CONFIG_F_NUM_RKIND@
+H5CONFIG_F_RKIND = @H5CONFIG_F_RKIND@
+H5CONFIG_F_RKIND_SIZEOF = @H5CONFIG_F_RKIND_SIZEOF@
H5_CFLAGS = @H5_CFLAGS@
H5_CPPFLAGS = @H5_CPPFLAGS@
H5_CXXFLAGS = @H5_CXXFLAGS@
@@ -539,13 +540,12 @@ H5_LDFLAGS = @H5_LDFLAGS@
H5_VERSION = @H5_VERSION@
HADDR_T = @HADDR_T@
HAVE_DMALLOC = @HAVE_DMALLOC@
-HAVE_FORTRAN_2003 = @HAVE_FORTRAN_2003@
+HAVE_Fortran_INTEGER_SIZEOF_16 = @HAVE_Fortran_INTEGER_SIZEOF_16@
HAVE_PTHREAD = @HAVE_PTHREAD@
HDF5_HL = @HDF5_HL@
HDF5_INTERFACES = @HDF5_INTERFACES@
HDF_CXX = @HDF_CXX@
HDF_FORTRAN = @HDF_FORTRAN@
-HDF_FORTRAN2003 = @HDF_FORTRAN2003@
HID_T = @HID_T@
HL = @HL@
HL_FOR = @HL_FOR@
@@ -587,9 +587,20 @@ PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
+PAC_C_MAX_REAL_PRECISION = @PAC_C_MAX_REAL_PRECISION@
+PAC_FC_ALL_INTEGER_KINDS = @PAC_FC_ALL_INTEGER_KINDS@
+PAC_FC_ALL_INTEGER_KINDS_SIZEOF = @PAC_FC_ALL_INTEGER_KINDS_SIZEOF@
+PAC_FC_ALL_REAL_KINDS = @PAC_FC_ALL_REAL_KINDS@
+PAC_FC_ALL_REAL_KINDS_SIZEOF = @PAC_FC_ALL_REAL_KINDS_SIZEOF@
+PAC_FC_MAX_REAL_PRECISION = @PAC_FC_MAX_REAL_PRECISION@
+PAC_FORTRAN_NATIVE_DOUBLE_KIND = @PAC_FORTRAN_NATIVE_DOUBLE_KIND@
+PAC_FORTRAN_NATIVE_DOUBLE_SIZEOF = @PAC_FORTRAN_NATIVE_DOUBLE_SIZEOF@
+PAC_FORTRAN_NATIVE_INTEGER_KIND = @PAC_FORTRAN_NATIVE_INTEGER_KIND@
+PAC_FORTRAN_NATIVE_INTEGER_SIZEOF = @PAC_FORTRAN_NATIVE_INTEGER_SIZEOF@
+PAC_FORTRAN_NATIVE_REAL_KIND = @PAC_FORTRAN_NATIVE_REAL_KIND@
+PAC_FORTRAN_NATIVE_REAL_SIZEOF = @PAC_FORTRAN_NATIVE_REAL_SIZEOF@
PARALLEL = @PARALLEL@
PATH_SEPARATOR = @PATH_SEPARATOR@
-PERL = @PERL@
RANLIB = @RANLIB@
ROOT = @ROOT@
RUNPARALLEL = @RUNPARALLEL@
@@ -732,39 +743,10 @@ CHECK_CLEANFILES = *.chkexe *.chklog *.clog *.clog2 *.h5 *.raw
# The Fortran test library
noinst_LTLIBRARIES = libh5test_fortran.la
-@FORTRAN_2003_CONDITIONAL_F_FALSE@ff_PREFIX = F90
-
-# Check if the compiler supports the Fortran 2003 standard
-# which should include the intrinsic module iso_c_binding
-@FORTRAN_2003_CONDITIONAL_F_TRUE@ff_PREFIX = F03
# Our main targets, the tests themselves
-TEST_PROG = fortranlib_test fflush1 fflush2 fortranlib_test_1_8 \
- $(am__append_2)
-
-# tf.f90 depends on either tf_F08.f90 or tf_F03.f90 so they need to be
-# compiled first
-@FORTRAN_2003_CONDITIONAL_F_FALSE@@FORTRAN_HAVE_STORAGE_SIZE_FALSE@libh5test_fortran_la_SOURCES = tf_F90.f90 \
-@FORTRAN_2003_CONDITIONAL_F_FALSE@@FORTRAN_HAVE_STORAGE_SIZE_FALSE@ tf.f90 \
-@FORTRAN_2003_CONDITIONAL_F_FALSE@@FORTRAN_HAVE_STORAGE_SIZE_FALSE@ t.c
-
-# tf.f90 depends on either tf_F08.f90 or tf_F03.f90 so they need to be
-# compiled first
-@FORTRAN_2003_CONDITIONAL_F_TRUE@@FORTRAN_HAVE_STORAGE_SIZE_FALSE@libh5test_fortran_la_SOURCES = tf_F03.f90 \
-@FORTRAN_2003_CONDITIONAL_F_TRUE@@FORTRAN_HAVE_STORAGE_SIZE_FALSE@ tf.f90 \
-@FORTRAN_2003_CONDITIONAL_F_TRUE@@FORTRAN_HAVE_STORAGE_SIZE_FALSE@ t.c
-
-# tf.f90 depends on either tf_F08.f90 or tf_F03.f90 so they need to be
-# compiled first
-@FORTRAN_HAVE_C_SIZEOF_FALSE@@FORTRAN_HAVE_STORAGE_SIZE_TRUE@libh5test_fortran_la_SOURCES = tf_F03.f90 \
-@FORTRAN_HAVE_C_SIZEOF_FALSE@@FORTRAN_HAVE_STORAGE_SIZE_TRUE@ tf.f90 \
-@FORTRAN_HAVE_C_SIZEOF_FALSE@@FORTRAN_HAVE_STORAGE_SIZE_TRUE@ t.c
-
-# tf.f90 depends on either tf_F08.f90 or tf_F03.f90 so they need to be
-# compiled first
-@FORTRAN_HAVE_C_SIZEOF_TRUE@@FORTRAN_HAVE_STORAGE_SIZE_TRUE@libh5test_fortran_la_SOURCES = tf_F08.f90 \
-@FORTRAN_HAVE_C_SIZEOF_TRUE@@FORTRAN_HAVE_STORAGE_SIZE_TRUE@ tf.f90 \
-@FORTRAN_HAVE_C_SIZEOF_TRUE@@FORTRAN_HAVE_STORAGE_SIZE_TRUE@ t.c
+TEST_PROG = fortranlib_test fflush1 fflush2 fortranlib_test_1_8 fortranlib_test_F03
+libh5test_fortran_la_SOURCES = tf_gen.F90 tf.F90 t.c
# Source files are used for both the library and fortranlib_test.
# Automake will complain about this without the following workaround.
@@ -773,11 +755,11 @@ fortranlib_test_CFLAGS = $(AM_CFLAGS)
fortranlib_test_SOURCES = tH5F.f90 tH5D.f90 tH5R.f90 tH5S.f90 tH5T.f90 tH5VL.f90 tH5Z.f90 \
tH5Sselect.f90 tH5P.f90 tH5A.f90 tH5I.f90 tH5G.f90 tH5E.f90 tHDF5.f90 fortranlib_test.f90
-fortranlib_test_1_8_SOURCES = tH5O.f90 tH5A_1_8.f90 tH5G_1_8.f90 tH5MISC_1_8.f90 tHDF5_1_8.f90\
+fortranlib_test_1_8_SOURCES = tH5O.f90 tH5A_1_8.f90 tH5G_1_8.f90 tH5MISC_1_8.f90 tHDF5_1_8.f90 \
fortranlib_test_1_8.f90
-@FORTRAN_2003_CONDITIONAL_F_TRUE@fortranlib_test_F03_SOURCES = tH5E_F03.f90 tH5F_F03.f90 tH5L_F03.f90 \
-@FORTRAN_2003_CONDITIONAL_F_TRUE@ tH5O_F03.f90 tH5P_F03.f90 tH5T_F03.f90 tHDF5_F03.f90 fortranlib_test_F03.f90
+fortranlib_test_F03_SOURCES = tH5E_F03.f90 tH5F_F03.f90 tH5L_F03.f90 \
+ tH5O_F03.f90 tH5P_F03.f90 tH5T_F03.F90 tHDF5_F03.f90 fortranlib_test_F03.f90
fflush1_SOURCES = fflush1.f90
fflush2_SOURCES = fflush2.f90
@@ -790,6 +772,16 @@ MOSTLYCLEANFILES = *.tmp
# from tests in conclude.am)
FORTRAN_API = yes
+# H5_test_buildiface.F90 is included in the distribution, and Automake knows
+# how to compile a fortran program given its sources.
+H5_test_buildiface_SOURCES = H5_test_buildiface.F90
+
+# The build of the H5_test_buildiface does depend on any libraries, so set it
+# to nothing.
+H5_test_buildiface_LDADD =
+PPFCCOMPILE = $(FC) $(FCDEFS) $(DEFAULT_INCLUDES) $(FCINCLUDES) $(AM_FCCPPFLAGS) $(FCCPPFLAGS) $(AM_FCFLAGS) $(FCFLAGS)
+LTPPFCCOMPILE = $(LIBTOOL) --tag=FC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(PPFCCOMPILE)
+
# Automake needs to be taught how to build lib, progs, and tests targets.
# These will be filled in automatically for the most part (e.g.,
# lib_LIBRARIES are built for lib target), but EXTRA_LIB, EXTRA_PROG, and
@@ -812,8 +804,8 @@ TEST_SCRIPT_PARA_CHKSH = $(TEST_SCRIPT_PARA:=.chkexe_)
all: all-am
.SUFFIXES:
-.SUFFIXES: .c .f90 .lo .log .o .obj .sh .sh$(EXEEXT) .trs
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/config/commence.am $(top_srcdir)/config/conclude.am $(am__configure_deps)
+.SUFFIXES: .F90 .c .f90 .lo .log .o .obj .sh .sh$(EXEEXT) .trs
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/config/commence.am $(top_srcdir)/config/conclude_fc.am $(top_srcdir)/config/conclude.am $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
@@ -834,7 +826,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
-$(top_srcdir)/config/commence.am $(top_srcdir)/config/conclude.am:
+$(top_srcdir)/config/commence.am $(top_srcdir)/config/conclude_fc.am $(top_srcdir)/config/conclude.am:
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
@@ -868,6 +860,19 @@ clean-checkPROGRAMS:
echo " rm -f" $$list; \
rm -f $$list
+clean-noinstPROGRAMS:
+ @list='$(noinst_PROGRAMS)'; test -n "$$list" || exit 0; \
+ echo " rm -f" $$list; \
+ rm -f $$list || exit $$?; \
+ test -n "$(EXEEXT)" || exit 0; \
+ list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
+ echo " rm -f" $$list; \
+ rm -f $$list
+
+H5_test_buildiface$(EXEEXT): $(H5_test_buildiface_OBJECTS) $(H5_test_buildiface_DEPENDENCIES) $(EXTRA_H5_test_buildiface_DEPENDENCIES)
+ @rm -f H5_test_buildiface$(EXEEXT)
+ $(AM_V_FCLD)$(FCLINK) $(H5_test_buildiface_OBJECTS) $(H5_test_buildiface_LDADD) $(LIBS)
+
fflush1$(EXEEXT): $(fflush1_OBJECTS) $(fflush1_DEPENDENCIES) $(EXTRA_fflush1_DEPENDENCIES)
@rm -f fflush1$(EXEEXT)
$(AM_V_FCLD)$(FCLINK) $(fflush1_OBJECTS) $(fflush1_LDADD) $(LIBS)
@@ -896,6 +901,12 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/t.Plo@am__quote@
+.F90.obj:
+ $(AM_V_PPFC)$(PPFCCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+
+.F90.lo:
+ $(AM_V_PPFC)$(LTPPFCCOMPILE) -c -o $@ $<
+
.c.o:
@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
@@ -917,9 +928,6 @@ distclean-compile:
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $<
-.f90.o:
- $(AM_V_FC)$(FCCOMPILE) -c -o $@ $(FCFLAGS_f90) $<
-
.f90.obj:
$(AM_V_FC)$(FCCOMPILE) -c -o $@ $(FCFLAGS_f90) `$(CYGPATH_W) '$<'`
@@ -1288,7 +1296,7 @@ check-am: all-am
$(MAKE) $(AM_MAKEFLAGS) $(check_PROGRAMS)
$(MAKE) $(AM_MAKEFLAGS) check-TESTS
check: check-am
-all-am: Makefile $(LTLIBRARIES) all-local
+all-am: Makefile $(LTLIBRARIES) $(PROGRAMS) all-local
installdirs:
install: install-am
install-exec: install-exec-am
@@ -1327,7 +1335,7 @@ maintainer-clean-generic:
clean: clean-am
clean-am: clean-checkPROGRAMS clean-generic clean-libtool clean-local \
- clean-noinstLTLIBRARIES mostlyclean-am
+ clean-noinstLTLIBRARIES clean-noinstPROGRAMS mostlyclean-am
distclean: distclean-am
-rm -rf ./$(DEPDIR)
@@ -1400,19 +1408,19 @@ uninstall-am:
.PHONY: CTAGS GTAGS TAGS all all-am all-local check check-TESTS \
check-am clean clean-checkPROGRAMS clean-generic clean-libtool \
- clean-local clean-noinstLTLIBRARIES cscopelist-am ctags \
- ctags-am distclean distclean-compile distclean-generic \
- distclean-libtool distclean-local distclean-tags distdir dvi \
- dvi-am html html-am info info-am install install-am \
- install-data install-data-am install-dvi install-dvi-am \
- install-exec install-exec-am install-html install-html-am \
- install-info install-info-am install-man install-pdf \
- install-pdf-am install-ps install-ps-am install-strip \
- installcheck installcheck-am installdirs maintainer-clean \
- maintainer-clean-generic maintainer-clean-local mostlyclean \
- mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
- mostlyclean-local pdf pdf-am ps ps-am recheck tags tags-am \
- uninstall uninstall-am
+ clean-local clean-noinstLTLIBRARIES clean-noinstPROGRAMS \
+ cscopelist-am ctags ctags-am distclean distclean-compile \
+ distclean-generic distclean-libtool distclean-local \
+ distclean-tags distdir dvi dvi-am html html-am info info-am \
+ install install-am install-data install-data-am install-dvi \
+ install-dvi-am install-exec install-exec-am install-html \
+ install-html-am install-info install-info-am install-man \
+ install-pdf install-pdf-am install-ps install-ps-am \
+ install-strip installcheck installcheck-am installdirs \
+ maintainer-clean maintainer-clean-generic \
+ maintainer-clean-local mostlyclean mostlyclean-compile \
+ mostlyclean-generic mostlyclean-libtool mostlyclean-local pdf \
+ pdf-am ps ps-am recheck tags tags-am uninstall uninstall-am
#
@@ -1453,12 +1461,24 @@ maintainer-clean-local: clean-local
distclean-local: clean-local
clean-local:
@if test -n "$(F9XMODEXT)" && test "X$(F9XMODEXT)" != "Xo"; then \
- $(RM) *.$(F9XMODEXT); \
+ $(RM) *.$(F9XMODEXT) tf_gen.F90; \
fi
+# H5_test_buildiface.F90 generates all the test APIs that have a KIND type associated
+# with them.
+
+tf_gen.F90: H5_test_buildiface$(EXEEXT)
+ $(RUNSERIAL) ./H5_test_buildiface$(EXEEXT)
+
# fflush2 depends on files created by fflush1
fflush2.chkexe_: fflush1.chkexe_
+# Treat all .f90 and .F90 files as preprocessed Fortran.
+.f90.o:
+ $(PPFCCOMPILE) -c -o $@ $(FCFLAGS) $<
+.F90.o:
+ $(PPFCCOMPILE) -c -o $@ $(FCFLAGS) $<
+
# lib/progs/tests targets recurse into subdirectories. build-* targets
# build files in this directory.
build-lib: $(LIB)
diff --git a/fortran/test/fflush2.f90 b/fortran/test/fflush2.f90
index 04ce439..4230832 100644
--- a/fortran/test/fflush2.f90
+++ b/fortran/test/fflush2.f90
@@ -27,152 +27,151 @@
!
!*****
- PROGRAM FFLUSH2EXAMPLE
-
- USE HDF5 ! This module contains all necessary modules
- USE TH5_MISC
-
- IMPLICIT NONE
-
- CHARACTER(LEN=7), PARAMETER :: filename = "fflush1"
- CHARACTER(LEN=80) :: fix_filename
-
- !
- !data space rank and dimensions
- !
- INTEGER, PARAMETER :: NX = 4
- INTEGER, PARAMETER :: NY = 5
-
- !
- ! File identifiers
- !
- INTEGER(HID_T) :: file_id
-
- !
- ! Group identifier
- !
- INTEGER(HID_T) :: gid
-
- !
- ! dataset identifier
- !
- INTEGER(HID_T) :: dset_id
-
-
- !
- ! data type identifier
- !
- INTEGER(HID_T) :: dtype_id
-
- !
- !flag to check operation success
- !
- INTEGER :: error
-
- !
- !general purpose integer
- !
- INTEGER :: i, j, total_error = 0
-
- !
- !data buffers
- !
- INTEGER, DIMENSION(NX,NY) :: data_out
- INTEGER(HSIZE_T), DIMENSION(2) :: data_dims
- data_dims(1) = NX
- data_dims(2) = NY
-
- !
- !Initialize FORTRAN predifined datatypes
- !
- CALL h5open_f(error)
- CALL check("h5open_f",error,total_error)
-
- !
- !Open the file.
- !
- CALL h5_fixname_f(filename, fix_filename, H5P_DEFAULT_F, error)
- if (error .ne. 0) then
- write(*,*) "Cannot modify filename"
- CALL h5_exit_f (1)
- endif
- CALL h5fopen_f(fix_filename, H5F_ACC_RDONLY_F, file_id, error)
- CALL check("h5fopen_f",error,total_error)
-
- !
- !Open the dataset
- !
- CALL h5dopen_f(file_id, "/D", dset_id, error)
- CALL check("h5dopen_f",error,total_error)
-
- !
- !Get dataset's data type.
- !
- CALL h5dget_type_f(dset_id, dtype_id, error)
- CALL check("h5dget_type_f",error,total_error)
-
- !
- !Read the dataset.
- !
- CALL h5dread_f(dset_id, dtype_id, data_out, data_dims, error)
- CALL check("h5dread_f",error,total_error)
-
- !
- !Print the dataset.
- !
- do i = 1, NX
- write(*,*) (data_out(i,j), j = 1, NY)
- end do
-!
-!result of the print statement
-!
-! 0, 1, 2, 3, 4
-! 1, 2, 3, 4, 5
-! 2, 3, 4, 5, 6
-! 3, 4, 5, 6, 7
-
- !
- !Open the group.
- !
- CALL h5gopen_f(file_id, "G", gid, error)
- CALL check("h5gopen_f",error,total_error)
-
- !
- !In case error happens, exit.
- !
- IF (error == -1) CALL h5_exit_f (1)
- !
- !Close the datatype
- !
- CALL h5tclose_f(dtype_id, error)
- CALL check("h5tclose_f",error,total_error)
-
- !
- !Close the dataset.
- !
- CALL h5dclose_f(dset_id, error)
- CALL check("h5dclose_f",error,total_error)
-
- !
- !Close the group.
- !
- CALL h5gclose_f(gid, error)
- CALL check("h5gclose_f",error,total_error)
-
- !
- !Close the file.
- !
- CALL h5fclose_f(file_id, error)
- CALL check("h5fclose_f",error,total_error)
-
- !
- !Close FORTRAN predifined datatypes
- !
- CALL h5_cleanup_f(filename, H5P_DEFAULT_F, error)
- CALL h5close_f(error)
- CALL check("h5close_types_f",error,total_error)
-
- ! if errors detected, exit with non-zero code.
- IF (total_error .ne. 0) CALL h5_exit_f (1)
-
- END PROGRAM FFLUSH2EXAMPLE
+PROGRAM FFLUSH2EXAMPLE
+
+ USE HDF5 ! This module contains all necessary modules
+ USE TH5_MISC
+
+ IMPLICIT NONE
+
+ CHARACTER(LEN=7), PARAMETER :: filename = "fflush1"
+ CHARACTER(LEN=80) :: fix_filename
+
+ !
+ !data space rank and dimensions
+ !
+ INTEGER, PARAMETER :: NX = 4
+ INTEGER, PARAMETER :: NY = 5
+
+ !
+ ! File identifiers
+ !
+ INTEGER(HID_T) :: file_id
+
+ !
+ ! Group identifier
+ !
+ INTEGER(HID_T) :: gid
+
+ !
+ ! dataset identifier
+ !
+ INTEGER(HID_T) :: dset_id
+
+
+ !
+ ! data type identifier
+ !
+ INTEGER(HID_T) :: dtype_id
+
+ !
+ !flag to check operation success
+ !
+ INTEGER :: error
+
+ !
+ !general purpose integer
+ !
+ INTEGER :: i, j, total_error = 0
+
+ !
+ !data buffers
+ !
+ INTEGER, DIMENSION(NX,NY) :: data_out
+ INTEGER(HSIZE_T), DIMENSION(2) :: data_dims
+ data_dims(1) = NX
+ data_dims(2) = NY
+
+ !
+ !Initialize FORTRAN predifined datatypes
+ !
+ CALL h5open_f(error)
+ CALL check("h5open_f",error,total_error)
+
+ !
+ !Open the file.
+ !
+ CALL h5_fixname_f(filename, fix_filename, H5P_DEFAULT_F, error)
+ IF (error .NE. 0) THEN
+ WRITE(*,*) "Cannot modify filename"
+ CALL h5_exit_f (1)
+ ENDIF
+ CALL h5fopen_f(fix_filename, H5F_ACC_RDONLY_F, file_id, error)
+ CALL check("h5fopen_f",error,total_error)
+
+ !
+ !Open the dataset
+ !
+ CALL h5dopen_f(file_id, "/D", dset_id, error)
+ CALL check("h5dopen_f",error,total_error)
+
+ !
+ !Get dataset's data type.
+ !
+ CALL h5dget_type_f(dset_id, dtype_id, error)
+ CALL check("h5dget_type_f",error,total_error)
+ !
+ !Read the dataset.
+ !
+ CALL h5dread_f(dset_id, dtype_id, data_out, data_dims, error)
+ CALL check("h5dread_f",error,total_error)
+
+ !
+ !Print the dataset.
+ !
+ DO i = 1, NX
+ WRITE(*,*) (data_out(i,j), j = 1, NY)
+ END DO
+ !
+ !result of the print statement
+ !
+ ! 0, 1, 2, 3, 4
+ ! 1, 2, 3, 4, 5
+ ! 2, 3, 4, 5, 6
+ ! 3, 4, 5, 6, 7
+
+ !
+ !Open the group.
+ !
+ CALL h5gopen_f(file_id, "G", gid, error)
+ CALL check("h5gopen_f",error,total_error)
+
+ !
+ !In case error happens, exit.
+ !
+ IF (error == -1) CALL h5_exit_f (1)
+ !
+ !Close the datatype
+ !
+ CALL h5tclose_f(dtype_id, error)
+ CALL check("h5tclose_f",error,total_error)
+
+ !
+ !Close the dataset.
+ !
+ CALL h5dclose_f(dset_id, error)
+ CALL check("h5dclose_f",error,total_error)
+
+ !
+ !Close the group.
+ !
+ CALL h5gclose_f(gid, error)
+ CALL check("h5gclose_f",error,total_error)
+
+ !
+ !Close the file.
+ !
+ CALL h5fclose_f(file_id, error)
+ CALL check("h5fclose_f",error,total_error)
+
+ !
+ !Close FORTRAN predifined datatypes
+ !
+ CALL h5_cleanup_f(filename, H5P_DEFAULT_F, error)
+ CALL h5close_f(error)
+ CALL check("h5close_types_f",error,total_error)
+
+ ! if errors detected, exit with non-zero code.
+ IF (total_error .ne. 0) CALL h5_exit_f (1)
+
+END PROGRAM FFLUSH2EXAMPLE
diff --git a/fortran/test/fortranlib_test.f90 b/fortran/test/fortranlib_test.f90
index 79ff161..f41d811 100644
--- a/fortran/test/fortranlib_test.f90
+++ b/fortran/test/fortranlib_test.f90
@@ -93,6 +93,9 @@ PROGRAM fortranlibtest
ret_total_error = 0
CALL extenddsettest(cleanup, ret_total_error)
CALL write_test_status(ret_total_error, ' Extendible dataset test', total_error)
+! MSB--DISABLED TEST-- Fails for unknown reasons on platypus with pgf90 compiler
+! CALL test_userblock_offset(cleanup, ret_total_error)
+! CALL write_test_status(ret_total_error, ' Dataset offset with user block', total_error)
! write(*,*)
! write(*,*) '========================================='
diff --git a/fortran/test/tH5A.f90 b/fortran/test/tH5A.f90
index e3b3b2a..5b814fa 100644
--- a/fortran/test/tH5A.f90
+++ b/fortran/test/tH5A.f90
@@ -29,6 +29,10 @@
!*****
MODULE TH5A
+ USE HDF5 ! This module contains all necessary modules
+ USE TH5_MISC
+ USE TH5_MISC_GEN
+
CONTAINS
SUBROUTINE attribute_test(cleanup, total_error)
@@ -36,9 +40,6 @@ CONTAINS
! h5acreate_f, h5awrite_f, h5aclose_f,h5aread_f, h5aopen_name_f,
! h5aget_name_f,h5aget_space_f, h5aget_type_f,
!
-
- USE HDF5 ! This module contains all necessary modules
- USE TH5_MISC
IMPLICIT NONE
LOGICAL, INTENT(IN) :: cleanup
INTEGER, INTENT(INOUT) :: total_error
@@ -309,7 +310,7 @@ CONTAINS
!
CALL h5aget_storage_size_f(attr_id, attr_storage, error)
CALL check("h5aget_storage_size_f",error,total_error)
-! CALL VERIFY("h5aget_storage_size_f",attr_storage,*SizeOf(attr_storage),total_error)
+! CALL verify("h5aget_storage_size_f",attr_storage,*SizeOf(attr_storage),total_error)
CALL h5aget_storage_size_f(attr2_id, attr_storage, error)
CALL check("h5aget_storage_size_f",error,total_error)
! CALL verify("h5aget_storage_size_f",attr_storage,1,total_error)
@@ -517,21 +518,15 @@ CONTAINS
data_dims(1) = 1
CALL h5aread_f(attr3_id, H5T_NATIVE_DOUBLE, aread_double_data, data_dims, error)
CALL check("h5aread_f",error,total_error)
+ CALL VERIFY("Read back double attrbute is wrong", aread_double_data(1),3.459_Fortran_DOUBLE,total_error)
- IF( .NOT.dreal_eq( REAL(aread_double_data(1),dp), 3.459_dp) )THEN
- WRITE(*,*) "Read back double attrbute is wrong", aread_double_data(1)
- total_error = total_error + 1
- ENDIF
!
!read the real attribute data back to memory
!
data_dims(1) = 1
CALL h5aread_f(attr4_id, H5T_NATIVE_REAL, aread_real_data, data_dims, error)
CALL check("h5aread_f",error,total_error)
- IF( .NOT.dreal_eq( REAL(aread_real_data(1),dp), 4.0_dp) )THEN
- WRITE(*,*) "Read back real attrbute is wrong", aread_real_data(1)
- total_error = total_error + 1
- ENDIF
+ CALL VERIFY("Read back real attrbute is wrong", aread_real_data(1),4.0,total_error)
!
!read the Integer attribute data back to memory
!
diff --git a/fortran/test/tH5A_1_8.f90 b/fortran/test/tH5A_1_8.f90
index 8e20100..c70e288 100644
--- a/fortran/test/tH5A_1_8.f90
+++ b/fortran/test/tH5A_1_8.f90
@@ -32,6 +32,10 @@
!*****
MODULE TH5A_1_8
+ USE HDF5 ! This module contains all necessary modules
+ USE TH5_MISC
+ USE TH5_MISC_GEN
+
CONTAINS
SUBROUTINE attribute_test_1_8(cleanup, total_error)
@@ -41,8 +45,6 @@ SUBROUTINE attribute_test_1_8(cleanup, total_error)
! H5Pset_shared_mesg_index_f
!
- USE HDF5 ! This module contains all necessary modules
- USE TH5_MISC
IMPLICIT NONE
LOGICAL, INTENT(IN) :: cleanup
@@ -199,8 +201,6 @@ SUBROUTINE test_attr_corder_create_compact(fcpl,fapl, total_error)
! Needed for get_info_by_name
- USE HDF5 ! This module contains all necessary modules
- USE TH5_MISC
IMPLICIT NONE
@@ -350,7 +350,7 @@ SUBROUTINE test_attr_corder_create_compact(fcpl,fapl, total_error)
! Verify creation order of attribute
- CALL verifyLogical("H5Aget_info_by_name_f", f_corder_valid, .TRUE., total_error)
+ CALL verify("H5Aget_info_by_name_f", f_corder_valid, .TRUE., total_error)
CALL verify("H5Aget_info_by_name_f", corder, u, total_error)
@@ -363,7 +363,7 @@ SUBROUTINE test_attr_corder_create_compact(fcpl,fapl, total_error)
! Verify creation order of attribute
- CALL verifyLogical("H5Aget_info_by_name_f", f_corder_valid, .TRUE., total_error)
+ CALL verify("H5Aget_info_by_name_f", f_corder_valid, .TRUE., total_error)
CALL verify("H5Aget_info_by_name_f", corder, u, total_error)
END DO
@@ -389,8 +389,7 @@ SUBROUTINE test_attr_null_space(fcpl, fapl, total_error)
!** Tests storing attribute with "null" dataspace
!**
!***************************************************************
- USE HDF5
- USE TH5_MISC
+
IMPLICIT NONE
@@ -473,22 +472,22 @@ SUBROUTINE test_attr_null_space(fcpl, fapl, total_error)
CALL H5Sextent_equal_f(attr_sid, null_sid, equal, error)
CALL check("H5Sextent_equal_f",error,total_error)
- CALL Verifylogical("H5Sextent_equal_f",equal,.TRUE.,total_error)
+ CALL verify("H5Sextent_equal_f",equal,.TRUE.,total_error)
CALL h5aget_storage_size_f(attr, storage_size, error)
CALL check("h5aget_storage_size_f",error,total_error)
- CALL VERIFY("h5aget_storage_size_f",INT(storage_size),0,total_error)
+ CALL verify("h5aget_storage_size_f",INT(storage_size),0,total_error)
CALL h5aget_info_f(attr, f_corder_valid, corder, cset, data_size, error)
CALL check("h5aget_info_f", error, total_error)
! Check the attribute's information
- CALL VERIFY("h5aget_info_f.corder",corder,0,total_error)
+ CALL verify("h5aget_info_f.corder",corder,0,total_error)
- CALL VERIFY("h5aget_info_f.cset", cset, H5T_CSET_ASCII_F, total_error)
+ CALL verify("h5aget_info_f.cset", cset, H5T_CSET_ASCII_F, total_error)
CALL h5aget_storage_size_f(attr, storage_size, error)
CALL check("h5aget_storage_size_f",error,total_error)
- CALL VERIFY("h5aget_info_f.data_size", INT(data_size), INT(storage_size), total_error)
+ CALL verify("h5aget_info_f.data_size", INT(data_size), INT(storage_size), total_error)
CALL h5aclose_f(attr,error)
CALL check("h5aclose_f",error,total_error)
@@ -520,9 +519,6 @@ SUBROUTINE test_attr_create_by_name(new_format,fcpl,fapl, total_error)
!**
!***************************************************************
- USE HDF5
- USE TH5_MISC
-
IMPLICIT NONE
INTEGER(SIZE_T), PARAMETER :: NAME_BUF_SIZE = 7
@@ -735,9 +731,6 @@ SUBROUTINE test_attr_info_by_idx(new_format, fcpl, fapl, total_error)
!**
!***************************************************************
- USE HDF5
- USE TH5_MISC
-
IMPLICIT NONE
LOGICAL :: new_format
@@ -859,24 +852,24 @@ SUBROUTINE test_attr_info_by_idx(new_format, fcpl, fapl, total_error)
CALL h5aget_info_by_idx_f(my_dataset, ".", H5_INDEX_CRT_ORDER_F, H5_ITER_INC_F, 0_hsize_t, &
f_corder_valid, corder, cset, data_size, error, lapl_id=H5P_DEFAULT_F)
- CALL VERIFY("h5aget_info_by_idx_f",error,minusone,total_error)
+ CALL verify("h5aget_info_by_idx_f",error,minusone,total_error)
! 2) call by passing an integer with the INT(,hsize_t) declaration
CALL h5aget_info_by_idx_f(my_dataset, ".", H5_INDEX_CRT_ORDER_F, H5_ITER_INC_F, INT(0,hsize_t), &
f_corder_valid, corder, cset, data_size, error, lapl_id=H5P_DEFAULT_F)
- CALL VERIFY("h5aget_info_by_idx_f",error,minusone,total_error)
+ CALL verify("h5aget_info_by_idx_f",error,minusone,total_error)
! 3) call by passing a variable with the attribute hsize_t
CALL h5aget_info_by_idx_f(my_dataset, ".", H5_INDEX_CRT_ORDER_F, H5_ITER_INC_F, hzero, &
f_corder_valid, corder, cset, data_size, error, lapl_id=H5P_DEFAULT_F)
- CALL VERIFY("h5aget_info_by_idx_f",error,minusone,total_error)
+ CALL verify("h5aget_info_by_idx_f",error,minusone,total_error)
CALL h5aget_name_by_idx_f(my_dataset, ".", H5_INDEX_CRT_ORDER_F, H5_ITER_INC_F, &
hzero, tmpname, error, size, lapl_id=H5P_DEFAULT_F)
- CALL VERIFY("h5aget_name_by_idx_f",error,minusone,total_error)
+ CALL verify("h5aget_name_by_idx_f",error,minusone,total_error)
! Create attributes, up to limit of compact form
@@ -941,9 +934,6 @@ END SUBROUTINE test_attr_info_by_idx
SUBROUTINE attr_info_by_idx_check(obj_id, attrname, n, use_index, total_error )
- USE HDF5
- USE TH5_MISC
-
IMPLICIT NONE
INTEGER :: error, total_error
@@ -974,7 +964,7 @@ SUBROUTINE attr_info_by_idx_check(obj_id, attrname, n, use_index, total_error )
f_corder_valid, corder, cset, data_size, error)
CALL check("h5aget_info_by_idx_f",error,total_error)
- CALL VERIFY("h5aget_info_by_idx_f",corder,INT(n),total_error)
+ CALL verify("h5aget_info_by_idx_f",corder,INT(n),total_error)
! Verify the name for new link, in increasing creation order
@@ -983,12 +973,12 @@ SUBROUTINE attr_info_by_idx_check(obj_id, attrname, n, use_index, total_error )
CALL h5aget_name_by_idx_f(obj_id, ".", H5_INDEX_CRT_ORDER_F, H5_ITER_INC_F, &
n, tmpname, error, NAME_BUF_SIZE)
CALL check("h5aget_name_by_idx_f",error,total_error)
- CALL VERIFY("h5aget_name_by_idx_f", INT(NAME_BUF_SIZE), 7, error)
+ CALL verify("h5aget_name_by_idx_f", INT(NAME_BUF_SIZE), 7, error)
IF(attrname.NE.tmpname)THEN
error = -1
ENDIF
- CALL VERIFY("h5aget_name_by_idx_f",error,0,total_error)
+ CALL verify("h5aget_name_by_idx_f",error,0,total_error)
! Don't test "native" order if there is no creation order index, since
! * there's not a good way to easily predict the attribute's order in the name
@@ -999,13 +989,13 @@ SUBROUTINE attr_info_by_idx_check(obj_id, attrname, n, use_index, total_error )
CALL h5aget_info_by_idx_f(obj_id, ".", H5_INDEX_CRT_ORDER_F, H5_ITER_NATIVE_F, hzero, &
f_corder_valid, corder, cset, data_size, error)
CALL check("h5aget_info_by_idx_f",error,total_error)
- CALL VERIFY("h5aget_info_by_idx_f",corder,0,total_error)
+ CALL verify("h5aget_info_by_idx_f",corder,0,total_error)
! Verify the information for new attribute, in native creation order
CALL h5aget_info_by_idx_f(obj_id, ".", H5_INDEX_CRT_ORDER_F, H5_ITER_NATIVE_F, n, &
f_corder_valid, corder, cset, data_size, error)
CALL check("h5aget_info_by_idx_f",error,total_error)
- CALL VERIFY("h5aget_info_by_idx_f",corder,INT(n),total_error)
+ CALL verify("h5aget_info_by_idx_f",corder,INT(n),total_error)
! Verify the name for new link, in increasing native order
CALL h5aget_name_by_idx_f(obj_id, ".", H5_INDEX_CRT_ORDER_F, H5_ITER_NATIVE_F, &
@@ -1015,14 +1005,14 @@ SUBROUTINE attr_info_by_idx_check(obj_id, attrname, n, use_index, total_error )
WRITE(*,*) "ERROR: attribute name size wrong!"
error = -1
ENDIF
- CALL VERIFY("h5aget_name_by_idx_f",error,0,total_error)
+ CALL verify("h5aget_name_by_idx_f",error,0,total_error)
END IF
CALL h5aget_info_by_idx_f(obj_id, ".", H5_INDEX_CRT_ORDER_F, H5_ITER_DEC_F, n, &
f_corder_valid, corder, cset, data_size, error)
CALL check("h5aget_info_by_idx_f",error,total_error)
- CALL VERIFY("h5aget_info_by_idx_f",corder,0,total_error)
+ CALL verify("h5aget_info_by_idx_f",corder,0,total_error)
!EP CALL h5aget_info_by_idx_f(obj_id, ".", H5_INDEX_CRT_ORDER_F, H5_ITER_DEC_F, 0_HSIZE_T, &
@@ -1033,41 +1023,41 @@ SUBROUTINE attr_info_by_idx_check(obj_id, attrname, n, use_index, total_error )
CALL h5aget_info_by_idx_f(obj_id, ".", H5_INDEX_CRT_ORDER_F, H5_ITER_DEC_F, 0_HSIZE_T, &
f_corder_valid, corder, cset, data_size, error)
CALL check("h5aget_info_by_idx_f",error,total_error)
- CALL VERIFY("h5aget_info_by_idx_f",corder,INT(n),total_error)
+ CALL verify("h5aget_info_by_idx_f",corder,INT(n),total_error)
! 2) call by passing an integer with the INT(,hsize_t) declaration
CALL h5aget_info_by_idx_f(obj_id, ".", H5_INDEX_CRT_ORDER_F, H5_ITER_DEC_F, INT(0,HSIZE_T), &
f_corder_valid, corder, cset, data_size, error)
CALL check("h5aget_info_by_idx_f",error,total_error)
- CALL VERIFY("h5aget_info_by_idx_f",corder,INT(n),total_error)
+ CALL verify("h5aget_info_by_idx_f",corder,INT(n),total_error)
! 3) call by passing a variable with the attribute hsize_t
CALL h5aget_info_by_idx_f(obj_id, ".", H5_INDEX_CRT_ORDER_F, H5_ITER_DEC_F, hzero, &
f_corder_valid, corder, cset, data_size, error)
CALL check("h5aget_info_by_idx_f",error,total_error)
- CALL VERIFY("h5aget_info_by_idx_f",corder,INT(n),total_error)
+ CALL verify("h5aget_info_by_idx_f",corder,INT(n),total_error)
!EP CALL h5aget_info_by_idx_f(obj_id, ".", H5_INDEX_NAME_F, H5_ITER_INC_F, 0_HSIZE_T, &
CALL h5aget_info_by_idx_f(obj_id, ".", H5_INDEX_NAME_F, H5_ITER_INC_F, hzero, &
f_corder_valid, corder, cset, data_size, error)
CALL check("h5aget_info_by_idx_f",error,total_error)
- CALL VERIFY("h5aget_info_by_idx_f",corder,0,total_error)
+ CALL verify("h5aget_info_by_idx_f",corder,0,total_error)
CALL h5aget_info_by_idx_f(obj_id, ".", H5_INDEX_NAME_F, H5_ITER_INC_F, n, &
f_corder_valid, corder, cset, data_size, error)
CALL check("h5aget_info_by_idx_f",error,total_error)
- CALL VERIFY("h5aget_info_by_idx_f",corder,INT(n),total_error)
+ CALL verify("h5aget_info_by_idx_f",corder,INT(n),total_error)
CALL h5aget_info_by_idx_f(obj_id, ".", H5_INDEX_NAME_F, H5_ITER_DEC_F, n, &
f_corder_valid, corder, cset, data_size, error)
CALL check("h5aget_info_by_idx_f",error,total_error)
- CALL VERIFY("h5aget_info_by_idx_f",corder,0,total_error)
+ CALL verify("h5aget_info_by_idx_f",corder,0,total_error)
!EP CALL h5aget_info_by_idx_f(obj_id, ".", H5_INDEX_NAME_F, H5_ITER_DEC_F, 0_HSIZE_T, &
CALL h5aget_info_by_idx_f(obj_id, ".", H5_INDEX_NAME_F, H5_ITER_DEC_F, hzero, &
f_corder_valid, corder, cset, data_size, error)
CALL check("h5aget_info_by_idx_f",error,total_error)
- CALL VERIFY("h5aget_info_by_idx_f",corder,INT(n),total_error)
+ CALL verify("h5aget_info_by_idx_f",corder,INT(n),total_error)
END SUBROUTINE attr_info_by_idx_check
@@ -1082,9 +1072,6 @@ SUBROUTINE test_attr_shared_rename( fcpl, fapl, total_error)
!**
!***************************************************************
- USE HDF5
- USE TH5_MISC
-
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: fcpl
@@ -1371,7 +1358,7 @@ SUBROUTINE test_attr_shared_rename( fcpl, fapl, total_error)
! Check size of file
!filesize = h5_get_file_size(FILENAME);
- !VERIFY(filesize, empty_filesize, "h5_get_file_size");
+ !verify(filesize, empty_filesize, "h5_get_file_size");
ENDDO
! Close dataspaces
@@ -1392,9 +1379,6 @@ SUBROUTINE test_attr_delete_by_idx(new_format, fcpl, fapl, total_error)
!**
!***************************************************************
- USE HDF5
- USE TH5_MISC
-
IMPLICIT NONE
LOGICAL, INTENT(IN) :: new_format
@@ -1518,7 +1502,7 @@ SUBROUTINE test_attr_delete_by_idx(new_format, fcpl, fapl, total_error)
! Check for deleting non-existant attribute
!EP CALL H5Adelete_by_idx_f(my_dataset, '.', idx_type, order, 0_HSIZE_T,error, lapl_id=H5P_DEFAULT_F)
CALL H5Adelete_by_idx_f(my_dataset, '.', idx_type, order, hzero,error, lapl_id=H5P_DEFAULT_F)
- CALL VERIFY("H5Adelete_by_idx_f",error,minusone,total_error)
+ CALL verify("H5Adelete_by_idx_f",error,minusone,total_error)
! Create attributes, up to limit of compact form
DO u = 0, max_compact - 1
@@ -1546,7 +1530,7 @@ SUBROUTINE test_attr_delete_by_idx(new_format, fcpl, fapl, total_error)
! Check for out of bound deletions
CALL H5Adelete_by_idx_f(my_dataset, ".", idx_type, order, INT(u,HSIZE_T), error, lapl_id=H5P_DEFAULT_F)
- CALL VERIFY("H5Adelete_by_idx_f",error,minusone,total_error)
+ CALL verify("H5Adelete_by_idx_f",error,minusone,total_error)
ENDDO
@@ -1584,10 +1568,10 @@ SUBROUTINE test_attr_delete_by_idx(new_format, fcpl, fapl, total_error)
IF(new_format)THEN
IF(order.EQ.H5_ITER_INC_F)THEN
- CALL VERIFY("H5Aget_info_by_idx_f",corder,u + 1,total_error)
+ CALL verify("H5Aget_info_by_idx_f",corder,u + 1,total_error)
ENDIF
ELSE
- CALL VERIFY("H5Aget_info_by_idx_f",corder, max_compact-(u + 2),total_error)
+ CALL verify("H5Aget_info_by_idx_f",corder, max_compact-(u + 2),total_error)
ENDIF
! Verify the name for first attribute in appropriate order
@@ -1604,7 +1588,7 @@ SUBROUTINE test_attr_delete_by_idx(new_format, fcpl, fapl, total_error)
attrname = 'attr '//chr2
ENDIF
IF(TRIM(attrname).NE.TRIM(tmpname)) error = -1
- CALL VERIFY("h5aget_name_by_idx_f",error,0,total_error)
+ CALL verify("h5aget_name_by_idx_f",error,0,total_error)
ENDDO
! Delete last attribute
@@ -1655,7 +1639,7 @@ SUBROUTINE test_attr_delete_by_idx(new_format, fcpl, fapl, total_error)
ENDDO
! Check for out of bound deletion
CALL H5Adelete_by_idx_f(my_dataset, ".", idx_type, order, INT(u,HSIZE_T), error)
- CALL VERIFY("H5Adelete_by_idx_f",error,minusone,total_error)
+ CALL verify("H5Adelete_by_idx_f",error,minusone,total_error)
ENDDO
! Work on all the datasets
@@ -1684,10 +1668,10 @@ SUBROUTINE test_attr_delete_by_idx(new_format, fcpl, fapl, total_error)
f_corder_valid, corder, cset, data_size, error)
IF(new_format)THEN
IF(order.EQ.H5_ITER_INC_F)THEN
- CALL VERIFY("H5Aget_info_by_idx_f",corder,u + 1,total_error)
+ CALL verify("H5Aget_info_by_idx_f",corder,u + 1,total_error)
ENDIF
ELSE
- CALL VERIFY("H5Aget_info_by_idx_f",corder, ((max_compact * 2) - (u + 2)), total_error)
+ CALL verify("H5Aget_info_by_idx_f",corder, ((max_compact * 2) - (u + 2)), total_error)
ENDIF
! Verify the name for first attribute in appropriate order
@@ -1705,7 +1689,7 @@ SUBROUTINE test_attr_delete_by_idx(new_format, fcpl, fapl, total_error)
attrname = 'attr '//chr2
ENDIF
IF(TRIM(attrname).NE.TRIM(tmpname)) error = -1
- CALL VERIFY("h5aget_name_by_idx_f",error,0,total_error)
+ CALL verify("h5aget_name_by_idx_f",error,0,total_error)
ENDDO
@@ -1716,7 +1700,7 @@ SUBROUTINE test_attr_delete_by_idx(new_format, fcpl, fapl, total_error)
! Check for deletion on empty attribute storage again
CALL H5Adelete_by_idx_f(my_dataset, ".", idx_type, order, INT(0,HSIZE_T), error)
- CALL VERIFY("H5Adelete_by_idx_f",error,minusone,total_error)
+ CALL verify("H5Adelete_by_idx_f",error,minusone,total_error)
ENDDO
! Close Datasets
@@ -1753,9 +1737,6 @@ SUBROUTINE test_attr_shared_delete(fcpl, fapl, total_error)
!**
!***************************************************************
- USE HDF5
- USE TH5_MISC
-
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: fcpl
@@ -2030,9 +2011,6 @@ SUBROUTINE test_attr_dense_open( fcpl, fapl, total_error)
!**
!***************************************************************
- USE HDF5
- USE TH5_MISC
-
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: fcpl
@@ -2169,7 +2147,7 @@ SUBROUTINE test_attr_dense_open( fcpl, fapl, total_error)
! Check size of file
! filesize = h5_get_file_size(FILENAME);
- ! VERIFY(filesize, empty_filesize, "h5_get_file_size")
+ ! verify(filesize, empty_filesize, "h5_get_file_size")
END SUBROUTINE test_attr_dense_open
@@ -2182,9 +2160,6 @@ END SUBROUTINE test_attr_dense_open
SUBROUTINE test_attr_dense_verify(loc_id, max_attr, total_error)
- USE HDF5
- USE TH5_MISC
-
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: loc_id
@@ -2227,7 +2202,7 @@ SUBROUTINE test_attr_dense_verify(loc_id, max_attr, total_error)
CALL h5aread_f(attr, H5T_NATIVE_INTEGER, value, data_dims, error)
CALL CHECK("H5Aread_F", error, total_error)
- CALL VERIFY("H5Aread_F", value, u, total_error)
+ CALL verify("H5Aread_F", value, u, total_error)
! Close attribute
CALL h5aclose_f(attr, error)
@@ -2259,7 +2234,7 @@ SUBROUTINE test_attr_dense_verify(loc_id, max_attr, total_error)
data_dims(1) = 1
CALL h5aread_f(attr, H5T_NATIVE_INTEGER, value, data_dims, error)
CALL CHECK("H5Aread_f", error, total_error)
- CALL VERIFY("H5Aread_f", value, u, total_error)
+ CALL verify("H5Aread_f", value, u, total_error)
! Close attribute
@@ -2278,9 +2253,6 @@ END SUBROUTINE test_attr_dense_verify
SUBROUTINE test_attr_corder_create_basic( fcpl, fapl, total_error )
- USE HDF5
- USE TH5_MISC
-
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: fcpl
@@ -2314,14 +2286,14 @@ SUBROUTINE test_attr_corder_create_basic( fcpl, fapl, total_error )
! Get creation order indexing on object
CALL H5Pget_attr_creation_order_f(dcpl, crt_order_flags, error)
CALL check("H5Pget_attr_creation_order_f",error,total_error)
- CALL VERIFY("H5Pget_attr_creation_order_f",crt_order_flags , 0, total_error)
+ CALL verify("H5Pget_attr_creation_order_f",crt_order_flags , 0, total_error)
! Setting invalid combination of a attribute order creation order indexing on should fail
CALL H5Pset_attr_creation_order_f(dcpl, H5P_CRT_ORDER_INDEXED_F, error)
- CALL VERIFY("H5Pset_attr_creation_order_f",error , minusone, total_error)
+ CALL verify("H5Pset_attr_creation_order_f",error , minusone, total_error)
CALL H5Pget_attr_creation_order_f(dcpl, crt_order_flags, error)
CALL check("H5Pget_attr_creation_order_f",error,total_error)
- CALL VERIFY("H5Pget_attr_creation_order_f",crt_order_flags , 0, total_error)
+ CALL verify("H5Pget_attr_creation_order_f",crt_order_flags , 0, total_error)
! Set attribute creation order tracking & indexing for object
CALL h5pset_attr_creation_order_f(dcpl, IOR(H5P_CRT_ORDER_TRACKED_F, H5P_CRT_ORDER_INDEXED_F), error)
@@ -2329,7 +2301,7 @@ SUBROUTINE test_attr_corder_create_basic( fcpl, fapl, total_error )
CALL H5Pget_attr_creation_order_f(dcpl, crt_order_flags, error)
CALL check("H5Pget_attr_creation_order_f",error,total_error)
- CALL VERIFY("H5Pget_attr_creation_order_f",crt_order_flags , &
+ CALL verify("H5Pget_attr_creation_order_f",crt_order_flags , &
IOR(H5P_CRT_ORDER_TRACKED_F, H5P_CRT_ORDER_INDEXED_F), total_error)
! Create dataspace for dataset
@@ -2374,7 +2346,7 @@ SUBROUTINE test_attr_corder_create_basic( fcpl, fapl, total_error )
! Query the attribute creation properties
CALL H5Pget_attr_creation_order_f(dcpl, crt_order_flags, error)
CALL check("H5Pget_attr_creation_order_f",error,total_error)
- CALL VERIFY("H5Pget_attr_creation_order_f",crt_order_flags , &
+ CALL verify("H5Pget_attr_creation_order_f",crt_order_flags , &
IOR(H5P_CRT_ORDER_TRACKED_F, H5P_CRT_ORDER_INDEXED_F), total_error )
! Close property list
@@ -2401,9 +2373,6 @@ END SUBROUTINE test_attr_corder_create_basic
SUBROUTINE test_attr_basic_write(fapl, total_error)
- USE HDF5
- USE TH5_MISC
-
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: fapl
@@ -2512,7 +2481,7 @@ SUBROUTINE test_attr_basic_write(fapl, total_error)
CALL h5aget_storage_size_f(attr, attr_size, error)
CALL check("h5aget_storage_size_f",error,total_error)
-!EP CALL VERIFY("h5aget_storage_size_f", INT(attr_size), 2*HSIZE_T, total_error)
+!EP CALL verify("h5aget_storage_size_f", INT(attr_size), 2*HSIZE_T, total_error)
! Read attribute information immediately, without closing attribute
@@ -2521,7 +2490,7 @@ SUBROUTINE test_attr_basic_write(fapl, total_error)
! Verify values read in
DO i = 1, ATTR1_DIM1
- CALL VERIFY('h5aread_f',attr_data1(i),read_data1(i), total_error)
+ CALL verify('h5aread_f',attr_data1(i),read_data1(i), total_error)
ENDDO
! CLOSE attribute
@@ -2570,7 +2539,7 @@ SUBROUTINE test_attr_basic_write(fapl, total_error)
size = 18
CALL H5Aget_name_f(attr, size, chr_exact_size, error)
CALL check('H5Aget_name_f',error,total_error)
- CALL VerifyString('H5Aget_name_f',chr_exact_size,ATTR_TMP_NAME, total_error)
+ CALL verify('H5Aget_name_f',chr_exact_size,ATTR_TMP_NAME, total_error)
! Close attribute
CALL h5aclose_f(attr, error)
@@ -2599,9 +2568,6 @@ END SUBROUTINE test_attr_basic_write
SUBROUTINE test_attr_many(new_format, fcpl, fapl, total_error)
- USE HDF5
- USE TH5_MISC
-
IMPLICIT NONE
LOGICAL, INTENT(IN) :: new_format
@@ -2656,19 +2622,19 @@ SUBROUTINE test_attr_many(new_format, fcpl, fapl, total_error)
WRITE(chr5,'(I5.5)') u
attrname = 'attr '//chr5
CALL H5Aexists_f( gid, attrname, exists, error)
- CALL VerifyLogical("H5Aexists",exists,.FALSE.,total_error )
+ CALL verify("H5Aexists",exists,.FALSE.,total_error )
CALL H5Aexists_by_name_f(fid, GROUP1_NAME, attrname, exists, error, lapl_id = H5P_DEFAULT_F)
- CALL VerifyLogical("H5Aexists_by_name_f",exists,.FALSE.,total_error )
+ CALL verify("H5Aexists_by_name_f",exists,.FALSE.,total_error )
CALL h5acreate_f(gid, attrname, H5T_NATIVE_INTEGER, sid, aid, error, H5P_DEFAULT_F, H5P_DEFAULT_F)
CALL check("h5acreate_f",error,total_error)
CALL H5Aexists_f(gid, attrname, exists, error)
- CALL VerifyLogical("H5Aexists",exists,.TRUE.,total_error )
+ CALL verify("H5Aexists",exists,.TRUE.,total_error )
CALL H5Aexists_by_name_f(fid, GROUP1_NAME, attrname, exists, error)
- CALL VerifyLogical("H5Aexists_by_name_f",exists,.TRUE.,total_error )
+ CALL verify("H5Aexists_by_name_f",exists,.TRUE.,total_error )
attr_data1(1) = u
data_dims(1) = 1
@@ -2680,10 +2646,10 @@ SUBROUTINE test_attr_many(new_format, fcpl, fapl, total_error)
CALL check("h5aclose_f",error,total_error)
CALL H5Aexists_f(gid, attrname, exists, error)
- CALL VerifyLogical("H5Aexists",exists,.TRUE.,total_error )
+ CALL verify("H5Aexists",exists,.TRUE.,total_error )
CALL H5Aexists_by_name_f(fid, GROUP1_NAME, attrname, exists, error)
- CALL VerifyLogical("H5Aexists_by_name_f",exists,.TRUE.,total_error )
+ CALL verify("H5Aexists_by_name_f",exists,.TRUE.,total_error )
ENDDO
@@ -2717,9 +2683,6 @@ END SUBROUTINE test_attr_many
SUBROUTINE attr_open_check(fid, dsetname, obj_id, max_attrs, total_error )
- USE HDF5
- USE TH5_MISC
-
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: fid
CHARACTER(LEN=*), INTENT(IN) :: dsetname
@@ -2757,13 +2720,13 @@ SUBROUTINE attr_open_check(fid, dsetname, obj_id, max_attrs, total_error )
CALL check("h5aget_info_f",error,total_error)
! Check that the object's attributes are correct
- CALL VERIFY("h5aget_info_f.corder",corder,u,total_error)
- CALL Verifylogical("h5aget_info_f.corder_valid",f_corder_valid,.TRUE.,total_error)
- CALL VERIFY("h5aget_info_f.cset", cset, H5T_CSET_ASCII_F, total_error)
+ CALL verify("h5aget_info_f.corder",corder,u,total_error)
+ CALL verify("h5aget_info_f.corder_valid",f_corder_valid,.TRUE.,total_error)
+ CALL verify("h5aget_info_f.cset", cset, H5T_CSET_ASCII_F, total_error)
CALL h5aget_storage_size_f(attr_id, storage_size, error)
CALL check("h5aget_storage_size_f",error,total_error)
- CALL VERIFY("h5aget_info_f.data_size", INT(data_size), INT(storage_size), total_error)
+ CALL verify("h5aget_info_f.data_size", INT(data_size), INT(storage_size), total_error)
! Close attribute
@@ -2778,12 +2741,12 @@ SUBROUTINE attr_open_check(fid, dsetname, obj_id, max_attrs, total_error )
CALL h5aget_info_f(attr_id, f_corder_valid, corder, cset, data_size, error)
CALL check("h5aget_info_f",error,total_error)
! Check the attribute's information
- CALL VERIFY("h5aget_info_f",corder,u,total_error)
- CALL Verifylogical("h5aget_info_f",f_corder_valid,.TRUE.,total_error)
- CALL VERIFY("h5aget_info_f", cset, H5T_CSET_ASCII_F, total_error)
+ CALL verify("h5aget_info_f",corder,u,total_error)
+ CALL verify("h5aget_info_f",f_corder_valid,.TRUE.,total_error)
+ CALL verify("h5aget_info_f", cset, H5T_CSET_ASCII_F, total_error)
CALL h5aget_storage_size_f(attr_id, storage_size, error)
CALL check("h5aget_storage_size_f",error,total_error)
- CALL VERIFY("h5aget_info_f", INT(data_size), INT(storage_size), total_error)
+ CALL verify("h5aget_info_f", INT(data_size), INT(storage_size), total_error)
! Close attribute
CALL h5aclose_f(attr_id, error)
@@ -2800,12 +2763,12 @@ SUBROUTINE attr_open_check(fid, dsetname, obj_id, max_attrs, total_error )
CALL check("h5aget_info_f",error,total_error)
! Check the attribute's information
- CALL VERIFY("h5aget_info_f",corder,u,total_error)
- CALL Verifylogical("h5aget_info_f",f_corder_valid,.TRUE.,total_error)
- CALL VERIFY("h5aget_info_f", cset, H5T_CSET_ASCII_F, total_error)
+ CALL verify("h5aget_info_f",corder,u,total_error)
+ CALL verify("h5aget_info_f",f_corder_valid,.TRUE.,total_error)
+ CALL verify("h5aget_info_f", cset, H5T_CSET_ASCII_F, total_error)
CALL h5aget_storage_size_f(attr_id, storage_size, error)
CALL check("h5aget_storage_size_f",error,total_error)
- CALL VERIFY("h5aget_info_f", INT(data_size), INT(storage_size), total_error)
+ CALL verify("h5aget_info_f", INT(data_size), INT(storage_size), total_error)
! Close attribute
CALL h5aclose_f(attr_id, error)
diff --git a/fortran/test/tH5D.f90 b/fortran/test/tH5D.f90
index c0eb8f9..c9ba952 100644
--- a/fortran/test/tH5D.f90
+++ b/fortran/test/tH5D.f90
@@ -36,503 +36,595 @@
!
MODULE TH5D
-CONTAINS
- SUBROUTINE datasettest(cleanup, total_error)
- USE HDF5 ! This module contains all necessary modules
- USE TH5_MISC
-
- IMPLICIT NONE
- LOGICAL, INTENT(IN) :: cleanup
- INTEGER, INTENT(OUT) :: total_error
-
- CHARACTER(LEN=5), PARAMETER :: filename = "dsetf" ! File name
- CHARACTER(LEN=80) :: fix_filename
- CHARACTER(LEN=4), PARAMETER :: dsetname = "dset" ! Dataset name
- CHARACTER(LEN=9), PARAMETER :: null_dsetname = "null_dset" ! Dataset name
-
- INTEGER(HID_T) :: file_id ! File identifier
- INTEGER(HID_T) :: dset_id ! Dataset identifier
- INTEGER(HID_T) :: null_dset ! Null dataset identifier
- INTEGER(HID_T) :: dspace_id ! Dataspace identifier
- INTEGER(HID_T) :: null_dspace ! Null dataspace identifier
- INTEGER(HID_T) :: dtype_id ! Datatype identifier
-
-
- INTEGER(HSIZE_T), DIMENSION(2) :: dims = (/4,6/) ! Dataset dimensions
- INTEGER :: rank = 2 ! Dataset rank
-
- INTEGER, DIMENSION(4,6) :: dset_data, data_out ! Data buffers
- INTEGER :: error ! Error flag
-
- INTEGER :: i, j !general purpose integers
- INTEGER(HSIZE_T), DIMENSION(2) :: data_dims
- INTEGER(HSIZE_T), DIMENSION(1) :: null_data_dim
- INTEGER :: null_dset_data = 1 ! null data
- INTEGER :: flag ! Space allocation status
-
- !
- ! Initialize the dset_data array.
- !
- do i = 1, 4
- do j = 1, 6
- dset_data(i,j) = (i-1)*6 + j;
- end do
- end do
-
-
- !
- ! Create a new file using default properties.
- !
- CALL h5_fixname_f(filename, fix_filename, H5P_DEFAULT_F, error)
- if (error .ne. 0) then
- write(*,*) "Cannot modify filename"
- stop
- endif
- CALL h5fcreate_f(fix_filename, H5F_ACC_TRUNC_F, file_id, error)
- CALL check("h5fcreate_f", error, total_error)
-
-
- !
- ! Create the dataspace.
- !
- CALL h5screate_simple_f(rank, dims, dspace_id, error)
- CALL check("h5screate_simple_f", error, total_error)
- !
- ! Create null dataspace.
- !
- CALL h5screate_f(H5S_NULL_F, null_dspace, error)
- CALL check("h5screate_simple_f", error, total_error)
-
-
- !
- ! Create the dataset with default properties.
- !
- CALL h5dcreate_f(file_id, dsetname, H5T_NATIVE_INTEGER, dspace_id, &
- dset_id, error)
- CALL check("h5dcreate_f", error, total_error)
- !
- ! Create the null dataset.
- !
- CALL h5dcreate_f(file_id, null_dsetname, H5T_NATIVE_INTEGER, null_dspace, &
- null_dset, error)
- CALL check("h5dcreate_f", error, total_error)
-
- !
- ! Write the dataset.
- !
- data_dims(1) = 4
- data_dims(2) = 6
- CALL h5dwrite_f(dset_id, H5T_NATIVE_INTEGER, dset_data, data_dims, error)
- CALL check("h5dwrite_f", error, total_error)
- !
- ! Write null dataset. Nothing can be written.
- !
- null_data_dim(1) = 1
- CALL h5dwrite_f(null_dset, H5T_NATIVE_INTEGER, null_dset_data, null_data_dim, error)
- CALL check("h5dwrite_f", error, total_error)
-
-
- !
- ! End access to the dataset and release resources used by it.
- !
- CALL h5dclose_f(dset_id, error)
- CALL check("h5dclose_f", error, total_error)
- CALL h5dclose_f(null_dset, error)
- CALL check("h5dclose_f", error, total_error)
-
- !
- ! Terminate access to the data space.
- !
- CALL h5sclose_f(dspace_id, error)
- CALL check("h5sclose_f", error, total_error)
- CALL h5sclose_f(null_dspace, error)
- CALL check("h5sclose_f", error, total_error)
-
- !
- ! Close the file.
- !
- CALL h5fclose_f(file_id, error)
- CALL check("h5fclose_f", error, total_error)
-
- !
- ! Open the existing file.
- !
- CALL h5fopen_f (fix_filename, H5F_ACC_RDWR_F, file_id, error)
- CALL check("h5fopen_f", error, total_error)
+ USE HDF5 ! This module contains all necessary modules
+ USE TH5_MISC
+ USE TH5_MISC_GEN
- !
- ! Open the existing dataset.
- !
- CALL h5dopen_f(file_id, dsetname, dset_id, error)
- CALL check("h5dopen_f", error, total_error)
- CALL h5dopen_f(file_id, null_dsetname, null_dset, error)
- CALL check("h5dopen_f", error, total_error)
-
- ! Test whether space has been allocated for a dataset
- CALL h5dget_space_status_f(dset_id, flag, error)
- CALL check("h5dget_space_status_f",error, total_error)
- CALL verify("h5dget_space_status_f", flag, H5D_SPACE_STS_ALLOCATED_F, total_error)
-
- CALL h5dget_space_status_f(null_dset, flag, error)
- CALL check("h5dget_space_status_f",error, total_error)
- CALL verify("h5dget_space_status_f", flag, H5D_SPACE_STS_NOT_ALLOCATED_F, total_error)
-
-
- !
- ! Get the dataset type.
- !
- CALL h5dget_type_f(dset_id, dtype_id, error)
- CALL check("h5dget_type_f", error, total_error)
-
- !
- ! Get the data space.
- !
- CALL h5dget_space_f(dset_id, dspace_id, error)
- CALL check("h5dget_space_f", error, total_error)
-
- !
- ! Read the dataset.
- !
- CALL h5dread_f(dset_id, H5T_NATIVE_INTEGER, data_out, data_dims, error)
- CALL check("h5dread_f", error, total_error)
- !
- ! Read the null dataset. Nothing should be read.
- !
- CALL h5dread_f(null_dset, H5T_NATIVE_INTEGER, null_dset_data, null_data_dim, error)
- CALL check("h5dread_f", error, total_error)
-
- !
- !Compare the data.
- !
- do i = 1, 4
- do j = 1, 6
- IF (data_out(i,j) .NE. dset_data(i, j)) THEN
- write(*, *) "dataset test error occured"
- write(*,*) "data read is not the same as the data written"
- END IF
- end do
- end do
-
- !
- ! Check if no change to null_dset_data
- !
- IF (null_dset_data .NE. 1) THEN
- write(*, *) "null dataset test error occured"
+CONTAINS
+ SUBROUTINE datasettest(cleanup, total_error)
+
+ IMPLICIT NONE
+ LOGICAL, INTENT(IN) :: cleanup
+ INTEGER, INTENT(OUT) :: total_error
+
+ CHARACTER(LEN=5), PARAMETER :: filename = "dsetf" ! File name
+ CHARACTER(LEN=80) :: fix_filename
+ CHARACTER(LEN=4), PARAMETER :: dsetname = "dset" ! Dataset name
+ CHARACTER(LEN=9), PARAMETER :: null_dsetname = "null_dset" ! Dataset name
+
+ INTEGER(HID_T) :: file_id ! File identifier
+ INTEGER(HID_T) :: dset_id ! Dataset identifier
+ INTEGER(HID_T) :: null_dset ! Null dataset identifier
+ INTEGER(HID_T) :: dspace_id ! Dataspace identifier
+ INTEGER(HID_T) :: null_dspace ! Null dataspace identifier
+ INTEGER(HID_T) :: dtype_id ! Datatype identifier
+
+ INTEGER(HSIZE_T), DIMENSION(2) :: dims = (/4,6/) ! Dataset dimensions
+ INTEGER :: rank = 2 ! Dataset rank
+
+ INTEGER, DIMENSION(4,6) :: dset_data, data_out ! Data buffers
+ INTEGER :: error ! Error flag
+
+ INTEGER :: i, j !general purpose integers
+ INTEGER(HSIZE_T), DIMENSION(2) :: data_dims
+ INTEGER(HSIZE_T), DIMENSION(1) :: null_data_dim
+ INTEGER :: null_dset_data = 1 ! null data
+ INTEGER :: flag ! Space allocation status
+
+ !
+ ! Initialize the dset_data array.
+ !
+ DO i = 1, 4
+ DO j = 1, 6
+ dset_data(i,j) = (i-1)*6 + j;
+ END DO
+ END DO
+ !
+ ! Create a new file using default properties.
+ !
+ CALL h5_fixname_f(filename, fix_filename, H5P_DEFAULT_F, error)
+ IF (error .NE. 0) THEN
+ WRITE(*,*) "Cannot modify filename"
+ STOP
+ ENDIF
+ CALL h5fcreate_f(fix_filename, H5F_ACC_TRUNC_F, file_id, error)
+ CALL check("h5fcreate_f", error, total_error)
+ !
+ ! Create the dataspace.
+ !
+ CALL h5screate_simple_f(rank, dims, dspace_id, error)
+ CALL check("h5screate_simple_f", error, total_error)
+ !
+ ! Create null dataspace.
+ !
+ CALL h5screate_f(H5S_NULL_F, null_dspace, error)
+ CALL check("h5screate_simple_f", error, total_error)
+ !
+ ! Create the dataset with default properties.
+ !
+ CALL h5dcreate_f(file_id, dsetname, H5T_NATIVE_INTEGER, dspace_id, &
+ dset_id, error)
+ CALL check("h5dcreate_f", error, total_error)
+ !
+ ! Create the null dataset.
+ !
+ CALL h5dcreate_f(file_id, null_dsetname, H5T_NATIVE_INTEGER, null_dspace, null_dset, error)
+ CALL check("h5dcreate_f", error, total_error)
+ !
+ ! Write the dataset.
+ !
+ data_dims(1) = 4
+ data_dims(2) = 6
+ CALL h5dwrite_f(dset_id, H5T_NATIVE_INTEGER, dset_data, data_dims, error)
+ CALL check("h5dwrite_f", error, total_error)
+ !
+ ! Write null dataset. Nothing can be written.
+ !
+ null_data_dim(1) = 1
+ CALL h5dwrite_f(null_dset, H5T_NATIVE_INTEGER, null_dset_data, null_data_dim, error)
+ CALL check("h5dwrite_f", error, total_error)
+ !
+ ! End access to the dataset and release resources used by it.
+ !
+ CALL h5dclose_f(dset_id, error)
+ CALL check("h5dclose_f", error, total_error)
+ CALL h5dclose_f(null_dset, error)
+ CALL check("h5dclose_f", error, total_error)
+ !
+ ! Terminate access to the data space.
+ !
+ CALL h5sclose_f(dspace_id, error)
+ CALL check("h5sclose_f", error, total_error)
+ CALL h5sclose_f(null_dspace, error)
+ CALL check("h5sclose_f", error, total_error)
+ !
+ ! Close the file.
+ !
+ CALL h5fclose_f(file_id, error)
+ CALL check("h5fclose_f", error, total_error)
+ !
+ ! Open the existing file.
+ !
+ CALL h5fopen_f (fix_filename, H5F_ACC_RDWR_F, file_id, error)
+ CALL check("h5fopen_f", error, total_error)
+ !
+ ! Open the existing dataset.
+ !
+ CALL h5dopen_f(file_id, dsetname, dset_id, error)
+ CALL check("h5dopen_f", error, total_error)
+ CALL h5dopen_f(file_id, null_dsetname, null_dset, error)
+ CALL check("h5dopen_f", error, total_error)
+
+ ! Test whether space has been allocated for a dataset
+ CALL h5dget_space_status_f(dset_id, flag, error)
+ CALL check("h5dget_space_status_f",error, total_error)
+ CALL VERIFY("h5dget_space_status_f", flag, H5D_SPACE_STS_ALLOCATED_F, total_error)
+
+ CALL h5dget_space_status_f(null_dset, flag, error)
+ CALL check("h5dget_space_status_f",error, total_error)
+ CALL VERIFY("h5dget_space_status_f", flag, H5D_SPACE_STS_NOT_ALLOCATED_F, total_error)
+ !
+ ! Get the dataset type.
+ !
+ CALL h5dget_type_f(dset_id, dtype_id, error)
+ CALL check("h5dget_type_f", error, total_error)
+ !
+ ! Get the data space.
+ !
+ CALL h5dget_space_f(dset_id, dspace_id, error)
+ CALL check("h5dget_space_f", error, total_error)
+ !
+ ! Read the dataset.
+ !
+ CALL h5dread_f(dset_id, H5T_NATIVE_INTEGER, data_out, data_dims, error)
+ CALL check("h5dread_f", error, total_error)
+ !
+ ! Read the null dataset. Nothing should be read.
+ !
+ CALL h5dread_f(null_dset, H5T_NATIVE_INTEGER, null_dset_data, null_data_dim, error)
+ CALL check("h5dread_f", error, total_error)
+ !
+ !Compare the data.
+ !
+ DO i = 1, 4
+ DO j = 1, 6
+ IF (data_out(i,j) .NE. dset_data(i, j)) THEN
+ WRITE(*, *) "dataset test error occured"
+ WRITE(*,*) "data read is not the same as the data written"
END IF
-
- !
- ! End access to the dataset and release resources used by it.
- !
- CALL h5dclose_f(dset_id, error)
- CALL check("h5dclose_f", error, total_error)
- CALL h5dclose_f(null_dset, error)
- CALL check("h5dclose_f", error, total_error)
-
- !
- ! Terminate access to the data space.
- !
- CALL h5sclose_f(dspace_id, error)
- CALL check("h5sclose_f", error, total_error)
-
- !
- ! Terminate access to the data type.
- !
- CALL h5tclose_f(dtype_id, error)
- CALL check("h5tclose_f", error, total_error)
- !
- ! Close the file.
- !
- CALL h5fclose_f(file_id, error)
- CALL check("h5fclose_f", error, total_error)
- if(cleanup) CALL h5_cleanup_f(filename, H5P_DEFAULT_F, error)
- CALL check("h5_cleanup_f", error, total_error)
-
- RETURN
- END SUBROUTINE datasettest
-
+ END DO
+ END DO
+ !
+ ! Check if no change to null_dset_data
+ !
+ IF (null_dset_data .NE. 1) THEN
+ WRITE(*, *) "null dataset test error occured"
+ END IF
+ !
+ ! End access to the dataset and release resources used by it.
+ !
+ CALL h5dclose_f(dset_id, error)
+ CALL check("h5dclose_f", error, total_error)
+ CALL h5dclose_f(null_dset, error)
+ CALL check("h5dclose_f", error, total_error)
+ !
+ ! Terminate access to the data space.
+ !
+ CALL h5sclose_f(dspace_id, error)
+ CALL check("h5sclose_f", error, total_error)
+
+ !
+ ! Terminate access to the data type.
+ !
+ CALL h5tclose_f(dtype_id, error)
+ CALL check("h5tclose_f", error, total_error)
+ !
+ ! Close the file.
+ !
+ CALL h5fclose_f(file_id, error)
+ CALL check("h5fclose_f", error, total_error)
+ IF(cleanup) CALL h5_cleanup_f(filename, H5P_DEFAULT_F, error)
+ CALL check("h5_cleanup_f", error, total_error)
+
+ RETURN
+ END SUBROUTINE datasettest
+
!
!the following subroutine tests h5dextend_f functionality
!
- SUBROUTINE extenddsettest(cleanup, total_error)
- USE HDF5 ! This module contains all necessary modules
- USE TH5_MISC
-
- IMPLICIT NONE
-
- LOGICAL, INTENT(IN) :: cleanup
- INTEGER, INTENT(OUT) :: total_error
-
- !
- !the dataset is stored in file "extf.h5"
- !
- CHARACTER(LEN=4), PARAMETER :: filename = "extf"
- CHARACTER(LEN=80) :: fix_filename
-
- !
- !dataset name is "ExtendibleArray"
- !
- CHARACTER(LEN=15), PARAMETER :: dsetname = "ExtendibleArray"
-
- !
- !dataset rank is 2
- !
- INTEGER :: RANK = 2
-
- INTEGER(HID_T) :: file_id ! File identifier
- INTEGER(HID_T) :: dset_id ! Dataset identifier
- INTEGER(HID_T) :: dataspace ! Dataspace identifier
- INTEGER(HID_T) :: memspace ! memory Dataspace identifier
- INTEGER(HID_T) :: crp_list ! dataset creatation property identifier
-
- !
- !dataset dimensions at creation time
- !
- INTEGER(HSIZE_T), DIMENSION(2) :: dims = (/3,3/)
-
- !
- !data dimensions
- !
- INTEGER(HSIZE_T), DIMENSION(2) :: dims1 = (/10,3/)
-
- !
- !Maximum dimensions
- !
- INTEGER(HSIZE_T), DIMENSION(2) :: maxdims
-
- !
- !data arrays for reading and writing
- !
- INTEGER, DIMENSION(10,3) :: data_in, data_out
-
- !
- !Size of data in the file
- !
- INTEGER(HSIZE_T), DIMENSION(2) :: size
-
- !
- !general purpose integer
- !
- INTEGER :: i, j
- INTEGER(HSIZE_T) :: ih, jh
-
- !
- !flag to check operation success
- !
- INTEGER :: error
-
- !
- !Variables used in reading data back
- !
- INTEGER(HSIZE_T), DIMENSION(2) :: dimsr, maxdimsr
- INTEGER :: rankr
- INTEGER(HSIZE_T), DIMENSION(2) :: data_dims
-
- !
- !data initialization
- !
- do i = 1, 10
- do j = 1, 3
- data_in(i,j) = 2
- end do
- end do
-
- !
- !Initialize FORTRAN predifined datatypes
- !
+ SUBROUTINE extenddsettest(cleanup, total_error)
+
+ IMPLICIT NONE
+
+ LOGICAL, INTENT(IN) :: cleanup
+ INTEGER, INTENT(OUT) :: total_error
+
+ !
+ !the dataset is stored in file "extf.h5"
+ !
+ CHARACTER(LEN=4), PARAMETER :: filename = "extf"
+ CHARACTER(LEN=80) :: fix_filename
+
+ !
+ !dataset name is "ExtendibleArray"
+ !
+ CHARACTER(LEN=15), PARAMETER :: dsetname = "ExtendibleArray"
+
+ !
+ !dataset rank is 2
+ !
+ INTEGER :: RANK = 2
+
+ INTEGER(HID_T) :: file_id ! File identifier
+ INTEGER(HID_T) :: dset_id ! Dataset identifier
+ INTEGER(HID_T) :: dataspace ! Dataspace identifier
+ INTEGER(HID_T) :: memspace ! memory Dataspace identifier
+ INTEGER(HID_T) :: crp_list ! dataset creatation property identifier
+
+ !
+ !dataset dimensions at creation time
+ !
+ INTEGER(HSIZE_T), DIMENSION(2) :: dims = (/3,3/)
+
+ !
+ !data dimensions
+ !
+ INTEGER(HSIZE_T), DIMENSION(2) :: dims1 = (/10,3/)
+
+ !
+ !Maximum dimensions
+ !
+ INTEGER(HSIZE_T), DIMENSION(2) :: maxdims
+
+ !
+ !data arrays for reading and writing
+ !
+ INTEGER, DIMENSION(10,3) :: data_in, data_out
+
+ !
+ !Size of data in the file
+ !
+ INTEGER(HSIZE_T), DIMENSION(2) :: size
+
+ !
+ !general purpose integer
+ !
+ INTEGER :: i, j
+ INTEGER(HSIZE_T) :: ih, jh
+
+ !
+ !flag to check operation success
+ !
+ INTEGER :: error
+
+ !
+ !Variables used in reading data back
+ !
+ INTEGER(HSIZE_T), DIMENSION(2) :: dimsr, maxdimsr
+ INTEGER :: rankr
+ INTEGER(HSIZE_T), DIMENSION(2) :: data_dims
+
+ !
+ !data initialization
+ !
+ DO i = 1, 10
+ DO j = 1, 3
+ data_in(i,j) = 2
+ END DO
+ END DO
+
+ !
+ !Initialize FORTRAN predifined datatypes
+ !
! CALL h5init_types_f(error)
! CALL check("h5init_types_f",error,total_error)
- !
- !Create a new file using default properties.
- !
- CALL h5_fixname_f(filename, fix_filename, H5P_DEFAULT_F, error)
- if (error .ne. 0) then
- write(*,*) "Cannot modify filename"
- stop
- endif
- CALL h5fcreate_f(fix_filename, H5F_ACC_TRUNC_F, file_id, error)
- CALL check("h5fcreate_f",error,total_error)
-
-
- !
- !Create the data space with unlimited dimensions.
- !
- maxdims = (/H5S_UNLIMITED_F, H5S_UNLIMITED_F/)
-
- CALL h5screate_simple_f(RANK, dims, dataspace, error, maxdims)
- CALL check("h5screate_simple_f",error,total_error)
-
- !
- !Modify dataset creation properties, i.e. enable chunking
- !
- CALL h5pcreate_f(H5P_DATASET_CREATE_F, crp_list, error)
- CALL check("h5pcreat_f",error,total_error)
-
- CALL h5pset_chunk_f(crp_list, RANK, dims1, error)
- CALL check("h5pset_chunk_f",error,total_error)
-
- !
- !Create a dataset with 3X3 dimensions using cparms creation propertie .
- !
- CALL h5dcreate_f(file_id, dsetname, H5T_NATIVE_INTEGER, dataspace, &
- dset_id, error, crp_list )
- CALL check("h5dcreate_f",error,total_error)
-
- !
- !Extend the dataset. This call assures that dataset is 3 x 3.
- !
- size(1) = 3
- size(2) = 3
- CALL h5dextend_f(dset_id, size, error)
- CALL check("h5dextend_f",error,total_error)
-
-
- !
- !Extend the dataset. Dataset becomes 10 x 3.
- !
- size(1) = 10;
- size(2) = 3;
- CALL h5dextend_f(dset_id, size, error)
- CALL check("h5dextend_f",error,total_error)
-
- !
- !Write the data of size 10X3 to the extended dataset.
- !
- data_dims(1) = 10
- data_dims(2) = 3
- CALL H5dwrite_f(dset_id, H5T_NATIVE_INTEGER, data_in, data_dims, error)
- CALL check("h5dwrite_f",error,total_error)
-
- !
- !Close the dataspace for the dataset.
- !
- CALL h5sclose_f(dataspace, error)
- CALL check("h5sclose_f",error,total_error)
-
- !
- !Close the property list.
- !
- CALL h5pclose_f(crp_list, error)
- CALL check("h5pclose_f",error,total_error)
- !
- !Close the dataset.
- !
- CALL h5dclose_f(dset_id, error)
- CALL check("h5dclose_f",error,total_error)
-
- !
- !Close the file.
- !
- CALL h5fclose_f(file_id, error)
- CALL check("h5fclose_f",error,total_error)
-
- !
- !read the data back
- !
- !Open the file.
- !
- CALL h5fopen_f (fix_filename, H5F_ACC_RDONLY_F, file_id, error)
- CALL check("hfopen_f",error,total_error)
-
- !
- !Open the dataset.
- !
- CALL h5dopen_f(file_id, dsetname, dset_id, error)
- CALL check("h5dopen_f",error,total_error)
-
- !
- !Get dataset's dataspace handle.
- !
- CALL h5dget_space_f(dset_id, dataspace, error)
- CALL check("h5dget_space_f",error,total_error)
-
- !
- !Get dataspace's rank.
- !
- CALL h5sget_simple_extent_ndims_f(dataspace, rankr, error)
- CALL check("h5sget_simple_extent_ndims_f",error,total_error)
- IF (rankr .NE. RANK) then
- write(*,*) "dataset rank error occured"
- stop
+ !
+ !Create a new file using default properties.
+ !
+ CALL h5_fixname_f(filename, fix_filename, H5P_DEFAULT_F, error)
+ IF (error .NE. 0) THEN
+ WRITE(*,*) "Cannot modify filename"
+ STOP
+ ENDIF
+ CALL h5fcreate_f(fix_filename, H5F_ACC_TRUNC_F, file_id, error)
+ CALL check("h5fcreate_f",error,total_error)
+
+ !
+ !Create the data space with unlimited dimensions.
+ !
+ maxdims = (/H5S_UNLIMITED_F, H5S_UNLIMITED_F/)
+
+ CALL h5screate_simple_f(RANK, dims, dataspace, error, maxdims)
+ CALL check("h5screate_simple_f",error,total_error)
+
+ !
+ !Modify dataset creation properties, i.e. enable chunking
+ !
+ CALL h5pcreate_f(H5P_DATASET_CREATE_F, crp_list, error)
+ CALL check("h5pcreate_f",error,total_error)
+
+ CALL h5pset_chunk_f(crp_list, RANK, dims1, error)
+ CALL check("h5pset_chunk_f",error,total_error)
+
+ !
+ !Create a dataset with 3X3 dimensions using cparms creation propertie .
+ !
+ CALL h5dcreate_f(file_id, dsetname, H5T_NATIVE_INTEGER, dataspace, dset_id, error, crp_list )
+ CALL check("h5dcreate_f",error,total_error)
+
+ !
+ !Extend the dataset. This call assures that dataset is 3 x 3.
+ !
+ SIZE(1) = 3
+ SIZE(2) = 3
+ CALL h5dextend_f(dset_id, size, error)
+ CALL check("h5dextend_f",error,total_error)
+
+
+ !
+ !Extend the dataset. Dataset becomes 10 x 3.
+ !
+ SIZE(1) = 10;
+ SIZE(2) = 3;
+ CALL h5dextend_f(dset_id, size, error)
+ CALL check("h5dextend_f",error,total_error)
+
+ !
+ !Write the data of size 10X3 to the extended dataset.
+ !
+ data_dims(1) = 10
+ data_dims(2) = 3
+ CALL H5dwrite_f(dset_id, H5T_NATIVE_INTEGER, data_in, data_dims, error)
+ CALL check("h5dwrite_f",error,total_error)
+
+ !
+ !Close the dataspace for the dataset.
+ !
+ CALL h5sclose_f(dataspace, error)
+ CALL check("h5sclose_f",error,total_error)
+
+ !
+ !Close the property list.
+ !
+ CALL h5pclose_f(crp_list, error)
+ CALL check("h5pclose_f",error,total_error)
+ !
+ !Close the dataset.
+ !
+ CALL h5dclose_f(dset_id, error)
+ CALL check("h5dclose_f",error,total_error)
+
+ !
+ !Close the file.
+ !
+ CALL h5fclose_f(file_id, error)
+ CALL check("h5fclose_f",error,total_error)
+
+ !
+ !read the data back
+ !
+ !Open the file.
+ !
+ CALL h5fopen_f (fix_filename, H5F_ACC_RDONLY_F, file_id, error)
+ CALL check("hfopen_f",error,total_error)
+
+ !
+ !Open the dataset.
+ !
+ CALL h5dopen_f(file_id, dsetname, dset_id, error)
+ CALL check("h5dopen_f",error,total_error)
+
+ !
+ !Get dataset's dataspace handle.
+ !
+ CALL h5dget_space_f(dset_id, dataspace, error)
+ CALL check("h5dget_space_f",error,total_error)
+
+ !
+ !Get dataspace's rank.
+ !
+ CALL h5sget_simple_extent_ndims_f(dataspace, rankr, error)
+ CALL check("h5sget_simple_extent_ndims_f",error,total_error)
+ IF (rankr .NE. RANK) THEN
+ WRITE(*,*) "dataset rank error occured"
+ STOP
+ END IF
+
+ !
+ !Get dataspace's dimensinons.
+ !
+ CALL h5sget_simple_extent_dims_f(dataspace, dimsr, maxdimsr, error)
+ CALL check("h5sget_simple_extent_dims_f",error,total_error)
+ IF ((dimsr(1) .NE. dims1(1)) .OR. (dimsr(2) .NE. dims1(2))) THEN
+ WRITE(*,*) "dataset dimensions error occured"
+ STOP
+ END IF
+
+ !
+ !Get creation property list.
+ !
+ CALL h5dget_create_plist_f(dset_id, crp_list, error)
+ CALL check("h5dget_create_plist_f",error,total_error)
+
+
+ !
+ !create memory dataspace.
+ !
+ CALL h5screate_simple_f(rankr, dimsr, memspace, error)
+ CALL check("h5screate_simple_f",error,total_error)
+
+ !
+ !Read data
+ !
+ CALL H5dread_f(dset_id, H5T_NATIVE_INTEGER, data_out, data_dims, error, memspace, dataspace)
+ CALL check("h5dread_f",error,total_error)
+
+
+ !
+ !Compare the data.
+ !
+ DO ih = 1, dims1(1)
+ DO jh = 1, dims1(2)
+ IF (data_out(ih,jh) .NE. data_in(ih, jh)) THEN
+ WRITE(*, *) "extend dataset test error occured"
+ WRITE(*, *) "read value is not the same as the written values"
END IF
+ END DO
+ END DO
+
+ !
+ !Close the dataspace for the dataset.
+ !
+ CALL h5sclose_f(dataspace, error)
+ CALL check("h5sclose_f",error,total_error)
+
+ !
+ !Close the memspace for the dataset.
+ !
+ CALL h5sclose_f(memspace, error)
+ CALL check("h5sclose_f",error,total_error)
+
+ !
+ !Close the property list.
+ !
+ CALL h5pclose_f(crp_list, error)
+ CALL check("h5pclose_f",error,total_error)
+
+ !
+ !Close the dataset.
+ !
+ CALL h5dclose_f(dset_id, error)
+ CALL check("h5dclose_f",error,total_error)
+
+ !
+ !Close the file.
+ !
+ CALL h5fclose_f(file_id, error)
+ CALL check("h5fclose_f",error,total_error)
+ IF(cleanup) CALL h5_cleanup_f(filename, H5P_DEFAULT_F, error)
+ CALL check("h5_cleanup_f", error, total_error)
+
+ RETURN
+ END SUBROUTINE extenddsettest
- !
- !Get dataspace's dimensinons.
- !
- CALL h5sget_simple_extent_dims_f(dataspace, dimsr, maxdimsr, error)
- CALL check("h5sget_simple_extent_dims_f",error,total_error)
- IF ((dimsr(1) .NE. dims1(1)) .OR. (dimsr(2) .NE. dims1(2))) THEN
- write(*,*) "dataset dimensions error occured"
- stop
- END IF
-
- !
- !Get creation property list.
- !
- CALL h5dget_create_plist_f(dset_id, crp_list, error)
- CALL check("h5dget_create_plist_f",error,total_error)
-
-
- !
- !create memory dataspace.
- !
- CALL h5screate_simple_f(rankr, dimsr, memspace, error)
- CALL check("h5screate_simple_f",error,total_error)
-
- !
- !Read data
- !
- CALL H5dread_f(dset_id, H5T_NATIVE_INTEGER, data_out, data_dims, error, &
- memspace, dataspace)
- CALL check("h5dread_f",error,total_error)
-
-
- !
- !Compare the data.
- !
- do ih = 1, dims1(1)
- do jh = 1, dims1(2)
- IF (data_out(ih,jh) .NE. data_in(ih, jh)) THEN
- write(*, *) "extend dataset test error occured"
- write(*, *) "read value is not the same as the written values"
- END IF
- end do
- end do
-
- !
- !Close the dataspace for the dataset.
- !
- CALL h5sclose_f(dataspace, error)
- CALL check("h5sclose_f",error,total_error)
-
- !
- !Close the memspace for the dataset.
- !
- CALL h5sclose_f(memspace, error)
- CALL check("h5sclose_f",error,total_error)
-
- !
- !Close the property list.
- !
- CALL h5pclose_f(crp_list, error)
- CALL check("h5pclose_f",error,total_error)
-
- !
- !Close the dataset.
- !
- CALL h5dclose_f(dset_id, error)
- CALL check("h5dclose_f",error,total_error)
+!
+! The following subroutine tests h5dget_offset_f functionality
+!
- !
- !Close the file.
- !
- CALL h5fclose_f(file_id, error)
- CALL check("h5fclose_f",error,total_error)
- if(cleanup) CALL h5_cleanup_f(filename, H5P_DEFAULT_F, error)
- CALL check("h5_cleanup_f", error, total_error)
+ SUBROUTINE test_userblock_offset(cleanup, total_error)
+
+ USE ISO_C_BINDING
+
+ IMPLICIT NONE
+ LOGICAL, INTENT(IN) :: cleanup
+ INTEGER, INTENT(OUT) :: total_error
+ !
+ !the dataset is stored in file "offset.h5"
+ !
+ INTEGER, PARAMETER :: dset_dim1=2, dset_dim2=10
+ CHARACTER(LEN=6), PARAMETER :: filename = "offset"
+ CHARACTER(LEN=80) :: fix_filename
+
+ INTEGER(hid_t) :: file, fcpl, dataset, space
+ INTEGER :: i, j, n, ios
+ INTEGER(hsize_t), DIMENSION(1:2) :: dims
+ INTEGER :: f
+ INTEGER(haddr_t) :: offset
+ INTEGER, DIMENSION(1:dset_dim1,1:dset_dim2), TARGET :: rdata, data_in
+ INTEGER :: error
+ TYPE(C_PTR) :: f_ptr
+ !
+ !Create a new file using default properties.
+ !
+ CALL h5_fixname_f(filename, fix_filename, H5P_DEFAULT_F, error)
+ IF (error .NE. 0) THEN
+ WRITE(*,*) "Cannot modify filename"
+ STOP
+ ENDIF
+
+ CALL h5pcreate_f(H5P_FILE_CREATE_F, fcpl, error)
+ CALL check("h5pcreate_f",error,total_error)
+
+ ! Initialize the dataset
+ n = 0
+ DO i = 1, dset_dim1
+ DO j = 1, dset_dim2
+ n = n + 1
+ data_in(i,j) = n
+ END DO
+ END DO
+ CALL h5fcreate_f(fix_filename, H5F_ACC_TRUNC_F, file, error, fcpl)
+ CALL check("h5fcreate_f",error,total_error)
+
+ ! Create the data space
+ dims(1:2) = (/dset_dim1,dset_dim2/)
+
+ CALL h5screate_simple_f(2, dims, space, error)
+ CALL check("h5screate_simple_f",error,total_error)
+
+ ! Create the dataset
+ CALL h5dcreate_f(file, "dset1", H5T_NATIVE_INTEGER, space, dataset, error)
+ CALL check("h5dcreate_f", error, total_error)
+
+ ! Test dataset address. Should be undefined.
+ CALL h5dget_offset_f(dataset, offset, error)
+ CALL VERIFY("h5dget_offset_f",offset, HADDR_UNDEF_F, total_error)
+
+ ! Write the data to the dataset
+ f_ptr = C_LOC(data_in(1,1))
+ CALL h5dwrite_f(dataset, H5T_NATIVE_INTEGER, f_ptr, error)
+ CALL check("h5dwrite_f", error, total_error)
+
+ ! Test dataset address in file. Open the same file as a C file, seek
+ ! the data position as H5Dget_offset points to, read the dataset, and
+ ! compare it with the data written in.
+ CALL h5dget_offset_f(dataset, offset, error)
+ CALL check("h5dget_offset_f", error, total_error)
+ IF(offset.EQ.HADDR_UNDEF_F)THEN
+ total_error = total_error + 1
+ ENDIF
+
+ CALL h5dclose_f(dataset, error)
+ CALL check("h5dclose_f", error, total_error)
+ CALL h5fclose_f(file, error)
+ CALL check("h5fclose_f", error, total_error)
+
+ IF(total_error.NE.0) RETURN
+
+ OPEN(10,FILE=fix_filename, ACCESS="STREAM", IOSTAT=ios)
+ IF(ios.NE.0)THEN
+ WRITE(*,'(A)') "Failed to open file "//TRIM(fix_filename)
+ total_error = total_error + 1
+ RETURN
+ ENDIF
+ ! The pos= specifier illustrates that positions are in bytes,
+ ! starting from byte 1 (as opposed to C, where they start from byte 0)
+ READ(10, POS=offset+1, IOSTAT=ios) rdata
+ IF(ios.NE.0)THEN
+ WRITE(*,'(A)') "Failed to read data from stream I/O "
+ total_error = total_error + 1
+ CLOSE(10)
+ RETURN
+ ENDIF
+
+ ! Check that the values read are the same as the values written
+ DO i = 1, dset_dim1
+ DO j = 1, dset_dim2
+ CALL VERIFY("h5dget_offset_f",rdata(i,j), data_in(i,j), total_error)
+ IF(total_error.NE.0)THEN
+ WRITE(*,'(A)') " Read different values than written."
+ WRITE(*,'(2(A,I0))') " At index ",i,",",j
+ CLOSE(10)
+ RETURN
+ ENDIF
+ END DO
+ END DO
+
+ CLOSE(10)
+
+ END SUBROUTINE test_userblock_offset
- RETURN
- END SUBROUTINE extenddsettest
END MODULE TH5D
diff --git a/fortran/test/tH5E_F03.f90 b/fortran/test/tH5E_F03.f90
index a7d45f2..63e70a3 100644
--- a/fortran/test/tH5E_F03.f90
+++ b/fortran/test/tH5E_F03.f90
@@ -36,6 +36,9 @@
! *****************************************
MODULE test_my_hdf5_error_handler
+ USE HDF5
+ USE TH5_MISC
+ USE TH5_MISC_GEN
CONTAINS
@@ -49,8 +52,6 @@ CONTAINS
! This error function handle works with only version 2 error stack
- USE HDF5
- USE ISO_C_BINDING
IMPLICIT NONE
! estack_id is always passed from C as: H5E_DEFAULT
@@ -74,8 +75,6 @@ CONTAINS
! This error function handle works with only version 2 error stack
- USE HDF5
- USE ISO_C_BINDING
IMPLICIT NONE
! estack_id is always passed from C as: H5E_DEFAULT
@@ -102,8 +101,6 @@ CONTAINS
SUBROUTINE test_error(total_error)
- USE HDF5
- USE TH5_MISC
USE ISO_C_BINDING
USE test_my_hdf5_error_handler
@@ -147,15 +144,15 @@ SUBROUTINE test_error(total_error)
! Create the erring dataset
CALL h5dcreate_f(FAKE_ID,"a_dataset",H5T_NATIVE_INTEGER, space, dataset, error)
- CALL VERIFY("h5dcreate_f", error, -1, total_error)
+ CALL verify("h5dcreate_f", error, -1, total_error)
-!!$ CALL VERIFY("H5Eset_auto_f",my_hdf5_error_handler_data(1),10, total_error)
-!!$ CALL VERIFY("H5Eset_auto_f",my_hdf5_error_handler_data(2),20, total_error)
+!!$ CALL verify("H5Eset_auto_f",my_hdf5_error_handler_data(1),10, total_error)
+!!$ CALL verify("H5Eset_auto_f",my_hdf5_error_handler_data(2),20, total_error)
!!$ ! Test enabling and disabling default printing
!!$
!!$ CALL H5Eget_auto_f(H5E_DEFAULT_F, func1, f_ptr1, error)
-!!$ CALL VERIFY("H5Eget_auto_f", error, 0, total_error)
+!!$ CALL verify("H5Eget_auto_f", error, 0, total_error)
! PRINT*,c_associated(f_ptr1)
@@ -187,7 +184,7 @@ SUBROUTINE test_error(total_error)
CALL H5Eset_auto_f(1, error, H5E_DEFAULT_F, func, f_ptr)
CALL h5dcreate_f(FAKE_ID,"a_dataset",H5T_NATIVE_INTEGER, space, dataset, error)
- CALL VERIFY("h5dcreate_f", error, -1, total_error)
+ CALL verify("h5dcreate_f", error, -1, total_error)
! turn on automatic printing with h5eprint_f which prints an error stack in the default manner.
diff --git a/fortran/test/tH5F_F03.f90 b/fortran/test/tH5F_F03.f90
index c878a59..9e23d19 100644
--- a/fortran/test/tH5F_F03.f90
+++ b/fortran/test/tH5F_F03.f90
@@ -38,16 +38,17 @@
MODULE TH5F_F03
+ USE HDF5
+ USE TH5_MISC
+ USE TH5_MISC_GEN
+ USE ISO_C_BINDING
+
CONTAINS
SUBROUTINE test_get_file_image(total_error)
!
! Tests the wrapper for h5fget_file_image
!
- USE HDF5
- USE TH5_MISC
- USE ISO_C_BINDING
-
IMPLICIT NONE
INTEGER, INTENT(INOUT) :: total_error ! returns error
@@ -128,8 +129,8 @@ SUBROUTINE test_get_file_image(total_error)
itmp_a = 1
CALL h5fget_file_image_f(file_id, f_ptr, itmp_a, error, image_size)
CALL check("h5fget_file_image_f",error, total_error)
- CALL VERIFY("h5fget_file_image_f", INT(itmp_a), 1, total_error) ! Routine should not change the value
- CALL VERIFY("h5fget_file_image_f", file_sz, INT(image_size), total_error)
+ CALL verify("h5fget_file_image_f", INT(itmp_a), 1, total_error) ! Routine should not change the value
+ CALL verify("h5fget_file_image_f", file_sz, INT(image_size), total_error)
! Allocate a buffer of the appropriate size
ALLOCATE(image_ptr(1:image_size))
diff --git a/fortran/test/tH5G_1_8.f90 b/fortran/test/tH5G_1_8.f90
index ab75163..ddc3736 100644
--- a/fortran/test/tH5G_1_8.f90
+++ b/fortran/test/tH5G_1_8.f90
@@ -31,11 +31,13 @@
MODULE TH5G_1_8
+ USE HDF5
+ USE TH5_MISC
+ USE TH5_MISC_GEN
+
CONTAINS
SUBROUTINE group_test(cleanup, total_error)
- USE HDF5 ! This module contains all necessary modules
- USE TH5_MISC
IMPLICIT NONE
LOGICAL, INTENT(IN) :: cleanup
@@ -139,9 +141,6 @@ END SUBROUTINE group_test
SUBROUTINE group_info(cleanup, fapl, total_error)
- USE HDF5 ! This module contains all necessary modules
- USE TH5_MISC
-
IMPLICIT NONE
INTEGER, INTENT(INOUT) :: total_error
INTEGER(HID_T), INTENT(IN) :: fapl
@@ -269,7 +268,7 @@ SUBROUTINE group_info(cleanup, fapl, total_error)
! Check for out of bound query by index on empty group, should fail
CALL H5Gget_info_by_idx_f(group_id, ".", H5_INDEX_NAME_F, order, INT(0,HSIZE_T), &
storage_type, nlinks, max_corder, error)
- CALL VERIFY("H5Gget_info_by_idx_f", error, -1, total_error)
+ CALL verify("H5Gget_info_by_idx_f", error, -1, total_error)
! Create several links, up to limit of compact form
DO u = 0, max_compact-1
@@ -287,29 +286,29 @@ SUBROUTINE group_info(cleanup, fapl, total_error)
CALL check("H5Gget_info_f", error, total_error)
! Check (new/empty) group's information
- CALL VERIFY("H5Gget_info_f", storage_type, H5G_STORAGE_TYPE_COMPACT_F, total_error)
- CALL VERIFY("H5Gget_info_f", max_corder, 0, total_error)
- CALL VERIFY("H5Gget_info_f", nlinks, 0, total_error)
- CALL verifyLogical("H5Gget_info_f.mounted", mounted,.FALSE.,total_error)
+ CALL verify("H5Gget_info_f", storage_type, H5G_STORAGE_TYPE_COMPACT_F, total_error)
+ CALL verify("H5Gget_info_f", max_corder, 0, total_error)
+ CALL verify("H5Gget_info_f", nlinks, 0, total_error)
+ CALL verify("H5Gget_info_f.mounted", mounted,.FALSE.,total_error)
! Retrieve group's information
CALL H5Gget_info_by_name_f(group_id, objname, storage_type, nlinks, max_corder, error, mounted=mounted)
CALL check("H5Gget_info_by_name_f", error, total_error)
! Check (new/empty) group's information
- CALL VERIFY("H5Gget_info_by_name_f", storage_type, H5G_STORAGE_TYPE_COMPACT_F, total_error)
- CALL VERIFY("H5Gget_info_by_name_f", max_corder, 0, total_error)
- CALL VERIFY("H5Gget_info_by_name_f", nlinks, 0, total_error)
- CALL verifyLogical("H5Gget_info_by_name_f.mounted", mounted,.FALSE.,total_error)
+ CALL verify("H5Gget_info_by_name_f", storage_type, H5G_STORAGE_TYPE_COMPACT_F, total_error)
+ CALL verify("H5Gget_info_by_name_f", max_corder, 0, total_error)
+ CALL verify("H5Gget_info_by_name_f", nlinks, 0, total_error)
+ CALL verify("H5Gget_info_by_name_f.mounted", mounted,.FALSE.,total_error)
! Retrieve group's information
CALL H5Gget_info_by_name_f(group_id2, ".", storage_type, nlinks, max_corder, error)
CALL check("H5Gget_info_by_name", error, total_error)
! Check (new/empty) group's information
- CALL VERIFY("H5Gget_info_by_name_f", storage_type, H5G_STORAGE_TYPE_COMPACT_F, total_error)
- CALL VERIFY("H5Gget_info_by_name_f", max_corder, 0, total_error)
- CALL VERIFY("H5Gget_info_by_name_f", nlinks, 0, total_error)
+ CALL verify("H5Gget_info_by_name_f", storage_type, H5G_STORAGE_TYPE_COMPACT_F, total_error)
+ CALL verify("H5Gget_info_by_name_f", max_corder, 0, total_error)
+ CALL verify("H5Gget_info_by_name_f", nlinks, 0, total_error)
! Create objects in new group created
DO v = 0, u
@@ -331,27 +330,27 @@ SUBROUTINE group_info(cleanup, fapl, total_error)
CALL check("H5Gget_info_f", error, total_error)
! Check (new) group's information
- CALL VERIFY("H5Gget_info_f", storage_type, H5G_STORAGE_TYPE_COMPACT_F, total_error)
- CALL VERIFY("H5Gget_info_f", max_corder, u+1, total_error)
- CALL VERIFY("H5Gget_info_f", nlinks, u+1, total_error)
+ CALL verify("H5Gget_info_f", storage_type, H5G_STORAGE_TYPE_COMPACT_F, total_error)
+ CALL verify("H5Gget_info_f", max_corder, u+1, total_error)
+ CALL verify("H5Gget_info_f", nlinks, u+1, total_error)
! Retrieve group's information
CALL H5Gget_info_by_name_f(group_id, objname, storage_type, nlinks, max_corder, error)
CALL check("H5Gget_info_by_name_f", error, total_error)
! Check (new) group's information
- CALL VERIFY("H5Gget_info_by_name_f", storage_type, H5G_STORAGE_TYPE_COMPACT_F, total_error)
- CALL VERIFY("H5Gget_info_by_name_f",max_corder, u+1, total_error)
- CALL VERIFY("H5Gget_info_by_name_f", nlinks, u+1, total_error)
+ CALL verify("H5Gget_info_by_name_f", storage_type, H5G_STORAGE_TYPE_COMPACT_F, total_error)
+ CALL verify("H5Gget_info_by_name_f",max_corder, u+1, total_error)
+ CALL verify("H5Gget_info_by_name_f", nlinks, u+1, total_error)
! Retrieve group's information
CALL H5Gget_info_by_name_f(group_id2, ".", storage_type, nlinks, max_corder, error)
CALL check("H5Gget_info_by_name_f", error, total_error)
! Check (new) group's information
- CALL VERIFY("H5Gget_info_by_name_f", storage_type, H5G_STORAGE_TYPE_COMPACT_F, total_error)
- CALL VERIFY("H5Gget_info_by_name_f", max_corder, u+1, total_error)
- CALL VERIFY("H5Gget_info_by_name_f", nlinks, u+1, total_error)
+ CALL verify("H5Gget_info_by_name_f", storage_type, H5G_STORAGE_TYPE_COMPACT_F, total_error)
+ CALL verify("H5Gget_info_by_name_f", max_corder, u+1, total_error)
+ CALL verify("H5Gget_info_by_name_f", nlinks, u+1, total_error)
! Retrieve group's information
IF(order.NE.H5_ITER_NATIVE_F)THEN
@@ -359,17 +358,17 @@ SUBROUTINE group_info(cleanup, fapl, total_error)
CALL H5Gget_info_by_idx_f(group_id, ".", idx_type, order, INT(u,HSIZE_T), &
storage_type, nlinks, max_corder, error,lapl_id=H5P_DEFAULT_F, mounted=mounted)
CALL check("H5Gget_info_by_idx_f", error, total_error)
- CALL verifyLogical("H5Gget_info_by_idx_f", mounted,.FALSE.,total_error)
+ CALL verify("H5Gget_info_by_idx_f", mounted,.FALSE.,total_error)
ELSE
CALL H5Gget_info_by_idx_f(group_id, ".", idx_type, order, INT(0,HSIZE_T), &
storage_type, nlinks, max_corder, error, mounted=mounted)
- CALL verifyLogical("H5Gget_info_by_idx_f", mounted,.FALSE.,total_error)
+ CALL verify("H5Gget_info_by_idx_f", mounted,.FALSE.,total_error)
CALL check("H5Gget_info_by_idx_f", error, total_error)
ENDIF
! Check (new) group's information
- CALL VERIFY("H5Gget_info_by_idx_f", storage_type, H5G_STORAGE_TYPE_COMPACT_F, total_error)
- CALL VERIFY("H5Gget_info_by_idx_f", max_corder, u+1, total_error)
- CALL VERIFY("H5Gget_info_by_idx_f", nlinks, u+1, total_error)
+ CALL verify("H5Gget_info_by_idx_f", storage_type, H5G_STORAGE_TYPE_COMPACT_F, total_error)
+ CALL verify("H5Gget_info_by_idx_f", max_corder, u+1, total_error)
+ CALL verify("H5Gget_info_by_idx_f", nlinks, u+1, total_error)
ENDIF
! Close group created
CALL H5Gclose_f(group_id2, error)
@@ -380,27 +379,27 @@ SUBROUTINE group_info(cleanup, fapl, total_error)
CALL check("H5Gget_info_f", error, total_error)
! Check main group's information
- CALL VERIFY("H5Gget_info_f", storage_type, H5G_STORAGE_TYPE_COMPACT_F, total_error)
- CALL VERIFY("H5Gget_info_f", max_corder, u+1, total_error)
- CALL VERIFY("H5Gget_info_f", nlinks, u+1, total_error)
+ CALL verify("H5Gget_info_f", storage_type, H5G_STORAGE_TYPE_COMPACT_F, total_error)
+ CALL verify("H5Gget_info_f", max_corder, u+1, total_error)
+ CALL verify("H5Gget_info_f", nlinks, u+1, total_error)
! Retrieve main group's information, by name
CALL H5Gget_info_by_name_f(file_id, CORDER_GROUP_NAME, storage_type, nlinks, max_corder, error)
CALL check("H5Gget_info_by_name_f", error, total_error)
! Check main group's information
- CALL VERIFY("H5Gget_info_by_name_f", storage_type, H5G_STORAGE_TYPE_COMPACT_F, total_error)
- CALL VERIFY("H5Gget_info_by_name_f", max_corder, u+1, total_error)
- CALL VERIFY("H5Gget_info_by_name_f", nlinks, u+1, total_error)
+ CALL verify("H5Gget_info_by_name_f", storage_type, H5G_STORAGE_TYPE_COMPACT_F, total_error)
+ CALL verify("H5Gget_info_by_name_f", max_corder, u+1, total_error)
+ CALL verify("H5Gget_info_by_name_f", nlinks, u+1, total_error)
! Retrieve main group's information, by name
CALL H5Gget_info_by_name_f(group_id, ".", storage_type, nlinks, max_corder, error, H5P_DEFAULT_F)
CALL check("H5Gget_info_by_name_f", error, total_error)
! Check main group's information
- CALL VERIFY("H5Gget_info_by_name_f", storage_type, H5G_STORAGE_TYPE_COMPACT_F, total_error)
- CALL VERIFY("H5Gget_info_by_name_f", max_corder, u+1, total_error)
- CALL VERIFY("H5Gget_info_by_name_f", nlinks, u+1, total_error)
+ CALL verify("H5Gget_info_by_name_f", storage_type, H5G_STORAGE_TYPE_COMPACT_F, total_error)
+ CALL verify("H5Gget_info_by_name_f", max_corder, u+1, total_error)
+ CALL verify("H5Gget_info_by_name_f", nlinks, u+1, total_error)
! Create soft link in another group, to objects in main group
valname = CORDER_GROUP_NAME//objname
@@ -412,9 +411,9 @@ SUBROUTINE group_info(cleanup, fapl, total_error)
CALL check("H5Gget_info_f", error, total_error)
! Check soft link group's information
- CALL VERIFY("H5Gget_info_f", storage_type, H5G_STORAGE_TYPE_COMPACT_F, total_error)
- CALL VERIFY("H5Gget_info_f", max_corder, u+1, total_error)
- CALL VERIFY("H5Gget_info_f", nlinks, u+1, total_error)
+ CALL verify("H5Gget_info_f", storage_type, H5G_STORAGE_TYPE_COMPACT_F, total_error)
+ CALL verify("H5Gget_info_f", max_corder, u+1, total_error)
+ CALL verify("H5Gget_info_f", nlinks, u+1, total_error)
ENDDO
! Close the groups
@@ -456,9 +455,6 @@ SUBROUTINE group_info(cleanup, fapl, total_error)
SUBROUTINE timestamps(cleanup, fapl, total_error)
- USE HDF5 ! This module contains all necessary modules
- USE TH5_MISC
-
IMPLICIT NONE
INTEGER, INTENT(INOUT) :: total_error
INTEGER(HID_T), INTENT(IN) :: fapl
@@ -491,7 +487,7 @@ SUBROUTINE group_info(cleanup, fapl, total_error)
CALL check("H5Pget_obj_track_times_f", error, total_error)
! Check default timestamp information
- CALL VerifyLogical("H5Pget_obj_track_times",track_times,.TRUE.,total_error)
+ CALL verify("H5Pget_obj_track_times",track_times,.TRUE.,total_error)
! Set a non-default object timestamp setting
CALL H5Pset_obj_track_times_f(gcpl_id, .FALSE., error)
@@ -502,7 +498,7 @@ SUBROUTINE group_info(cleanup, fapl, total_error)
CALL check("H5Pget_obj_track_times_f", error, total_error)
! Check default timestamp information
- CALL VerifyLogical("H5Pget_obj_track_times",track_times,.FALSE.,total_error)
+ CALL verify("H5Pget_obj_track_times",track_times,.FALSE.,total_error)
! Create file
!h5_fixname(FILENAME[0], fapl, filename, sizeof filename);
@@ -533,10 +529,10 @@ SUBROUTINE group_info(cleanup, fapl, total_error)
! Query & verify the object timestamp settings
CALL H5Pget_obj_track_times_f(gcpl_id, track_times, error)
CALL check("H5Pget_obj_track_times_f", error, total_error)
- CALL VerifyLogical("H5Pget_obj_track_times1",track_times,.FALSE.,total_error)
+ CALL verify("H5Pget_obj_track_times1",track_times,.FALSE.,total_error)
CALL H5Pget_obj_track_times_f(gcpl_id2, track_times, error)
CALL check("H5Pget_obj_track_times_f", error, total_error)
- CALL VerifyLogical("H5Pget_obj_track_times2",track_times,.TRUE.,total_error)
+ CALL verify("H5Pget_obj_track_times2",track_times,.TRUE.,total_error)
! Query the object information for each group
! if(H5Oget_info(group_id, &oinfo) < 0) TEST_ERROR
@@ -593,10 +589,10 @@ SUBROUTINE group_info(cleanup, fapl, total_error)
CALL H5Pget_obj_track_times_f(gcpl_id, track_times, error)
CALL check("H5Pget_obj_track_times_f", error, total_error)
- CALL VerifyLogical("H5Pget_obj_track_times1",track_times,.FALSE.,total_error)
+ CALL verify("H5Pget_obj_track_times1",track_times,.FALSE.,total_error)
CALL H5Pget_obj_track_times_f(gcpl_id2, track_times, error)
CALL check("H5Pget_obj_track_times_f", error, total_error)
- CALL VerifyLogical("H5Pget_obj_track_times2",track_times,.TRUE.,total_error)
+ CALL verify("H5Pget_obj_track_times2",track_times,.TRUE.,total_error)
!!$
!!$ Query the object information for each group
!!$ if(H5Oget_info(group_id, &oinfo) < 0) TEST_ERROR
@@ -653,9 +649,6 @@ SUBROUTINE group_info(cleanup, fapl, total_error)
SUBROUTINE mklinks(fapl, total_error)
- USE HDF5 ! This module contains all necessary modules
- USE TH5_MISC
-
IMPLICIT NONE
INTEGER, INTENT(INOUT) :: total_error
INTEGER(HID_T), INTENT(IN) :: fapl
@@ -711,12 +704,12 @@ SUBROUTINE group_info(cleanup, fapl, total_error)
error, H5P_DEFAULT_F)
CALL check("H5Lget_info_f",error,total_error)
-! CALL VerifyLogical("H5Lget_info_by_idx_f11", f_corder_valid, .TRUE., total_error)
+! CALL verify("H5Lget_info_by_idx_f11", f_corder_valid, .TRUE., total_error)
- CALL VERIFY("H5Lget_info_by_idx_f", H5L_TYPE_SOFT_F, link_type, total_error)
- CALL VERIFY("H5Lget_info_by_idx_f", cset, H5T_CSET_ASCII_F, total_error)
+ CALL verify("H5Lget_info_by_idx_f", H5L_TYPE_SOFT_F, link_type, total_error)
+ CALL verify("H5Lget_info_by_idx_f", cset, H5T_CSET_ASCII_F, total_error)
! should be '/d1' + NULL character = 4
- CALL VERIFY("H5Lget_info_by_idx_f", INT(val_size), 4, total_error)
+ CALL verify("H5Lget_info_by_idx_f", INT(val_size), 4, total_error)
! Create a symbolic link to something that doesn't exist
@@ -749,9 +742,6 @@ SUBROUTINE group_info(cleanup, fapl, total_error)
SUBROUTINE test_move_preserves(fapl_id, total_error)
- USE HDF5 ! This module contains all necessary modules
- USE TH5_MISC
-
IMPLICIT NONE
INTEGER, INTENT(INOUT) :: total_error
INTEGER(HID_T), INTENT(IN) :: fapl_id
@@ -798,14 +788,14 @@ SUBROUTINE group_info(cleanup, fapl, total_error)
CALL H5Pget_link_creation_order_f(fcpl_id, crt_order_flags, error)
CALL check("H5Pget_link_creation_order_f",error, total_error)
- CALL VERIFY("H5Pget_link_creation_order_f",crt_order_flags,0, total_error)
+ CALL verify("H5Pget_link_creation_order_f",crt_order_flags,0, total_error)
CALL H5Pset_link_creation_order_f(fcpl_id, H5P_CRT_ORDER_TRACKED_F, error)
CALL check("H5Pset_link_creation_order_f", error, total_error)
CALL H5Pget_link_creation_order_f(fcpl_id, crt_order_flags, error)
CALL check("H5Pget_link_creation_order_f",error, total_error)
- CALL VERIFY("H5Pget_link_creation_order_f",crt_order_flags, H5P_CRT_ORDER_TRACKED_F, total_error)
+ CALL verify("H5Pget_link_creation_order_f",crt_order_flags, H5P_CRT_ORDER_TRACKED_F, total_error)
! Create file
! (with creation order tracking for the root group)
@@ -835,10 +825,10 @@ SUBROUTINE group_info(cleanup, fapl, total_error)
! if(H5Oget_info_by_name(file_id, "group", &oinfo, H5P_DEFAULT) < 0) TEST_ERROR
old_cset = cset
- CALL VERIFY("H5Lget_info_f",old_cset,H5T_CSET_UTF8_F,total_error)
- CALL VerifyLogical("H5Lget_info_f",f_corder_valid,.TRUE.,total_error)
+ CALL verify("H5Lget_info_f",old_cset,H5T_CSET_UTF8_F,total_error)
+ CALL verify("H5Lget_info_f",f_corder_valid,.TRUE.,total_error)
old_corder = corder;
- CALL VERIFY("H5Lget_info_f",old_corder,0,total_error)
+ CALL verify("H5Lget_info_f",old_corder,0,total_error)
! old_modification_time = oinfo.mtime;
@@ -956,10 +946,6 @@ SUBROUTINE group_info(cleanup, fapl, total_error)
!
SUBROUTINE lifecycle(cleanup, fapl2, total_error)
-
- USE HDF5 ! This module contains all necessary modules
- USE TH5_MISC
-
IMPLICIT NONE
INTEGER, INTENT(INOUT) :: total_error
INTEGER(HID_T), INTENT(IN) :: fapl2
@@ -1105,10 +1091,6 @@ SUBROUTINE lifecycle(cleanup, fapl2, total_error)
SUBROUTINE cklinks(fapl, total_error)
-! USE ISO_C_BINDING
- USE HDF5 ! This module contains all necessary modules
- USE TH5_MISC
-
IMPLICIT NONE
INTEGER, INTENT(INOUT) :: total_error
INTEGER(HID_T), INTENT(IN) :: fapl
@@ -1146,10 +1128,10 @@ SUBROUTINE lifecycle(cleanup, fapl2, total_error)
CALL H5Lexists_f(file,"d1",Lexists, error)
- CALL verifylogical("H5Lexists", Lexists,.TRUE.,total_error)
+ CALL verify("H5Lexists", Lexists,.TRUE.,total_error)
CALL H5Lexists_f(file,"grp1/hard",Lexists, error)
- CALL verifylogical("H5Lexists", Lexists,.TRUE.,total_error)
+ CALL verify("H5Lexists", Lexists,.TRUE.,total_error)
! Cleanup
CALL H5Fclose_f(file,error)
@@ -1176,9 +1158,6 @@ END SUBROUTINE cklinks
!
SUBROUTINE delete_by_idx(cleanup, fapl, total_error)
- USE HDF5 ! This module contains all necessary modules
- USE TH5_MISC
-
IMPLICIT NONE
INTEGER, INTENT(INOUT) :: total_error
INTEGER(HID_T), INTENT(IN) :: fapl
@@ -1294,7 +1273,7 @@ SUBROUTINE delete_by_idx(cleanup, fapl, total_error)
! Check for deletion on empty group
CALL H5Ldelete_by_idx_f(group_id, ".", idx_type, iorder, INT(0,HSIZE_T), error)
- CALL VERIFY("delete_by_idx.H5Ldelete_by_idx_f", error, -1, total_error) ! test should fail (error = -1)
+ CALL verify("delete_by_idx.H5Ldelete_by_idx_f", error, -1, total_error) ! test should fail (error = -1)
! Create several links, up to limit of compact form
DO u = 0, max_compact-1
! Make name for link
@@ -1319,7 +1298,7 @@ SUBROUTINE delete_by_idx(cleanup, fapl, total_error)
htmp =9
!EP CALL H5Ldelete_by_idx_f(group_id, ".", idx_type, iorder, INT(u,HSIZE_T), error)
CALL H5Ldelete_by_idx_f(group_id, ".", idx_type, iorder, htmp, error)
- CALL VERIFY("H5Ldelete_by_idx_f", error, -1, total_error) ! test should fail (error = -1)
+ CALL verify("H5Ldelete_by_idx_f", error, -1, total_error) ! test should fail (error = -1)
! Delete links from compact group
@@ -1340,21 +1319,21 @@ SUBROUTINE delete_by_idx(cleanup, fapl, total_error)
CALL H5Iget_type_f(grp, id_type, error)
CALL check("H5Iget_type_f", error, total_error)
- CALL VERIFY("H5Iget_type_f", id_type, H5I_GROUP_F, total_error)
+ CALL verify("H5Iget_type_f", id_type, H5I_GROUP_F, total_error)
CALL H5Gclose_f(grp, error)
CALL check("H5Gclose_f", error, total_error)
- CALL VerifyLogical("H5Lget_info_by_idx_f", f_corder_valid, .TRUE., total_error)
+ CALL verify("H5Lget_info_by_idx_f", f_corder_valid, .TRUE., total_error)
- CALL VERIFY("H5Lget_info_by_idx_f", H5L_TYPE_HARD_F, link_type, total_error)
+ CALL verify("H5Lget_info_by_idx_f", H5L_TYPE_HARD_F, link_type, total_error)
IF(iorder.EQ.H5_ITER_INC_F)THEN
- CALL VERIFY("H5Lget_info_by_idx_f", corder, u+1, total_error)
+ CALL verify("H5Lget_info_by_idx_f", corder, u+1, total_error)
ELSE
- CALL VERIFY("H5Lget_info_by_idx_f", corder, (max_compact - (u + 2)), total_error)
+ CALL verify("H5Lget_info_by_idx_f", corder, (max_compact - (u + 2)), total_error)
ENDIF
- CALL VERIFY("H5Lget_info_by_idx_f",cset, H5T_CSET_ASCII_F, total_error)
+ CALL verify("H5Lget_info_by_idx_f",cset, H5T_CSET_ASCII_F, total_error)
@@ -1371,7 +1350,7 @@ SUBROUTINE delete_by_idx(cleanup, fapl, total_error)
!!$ ENDIF
!!$ objname = 'fill '//chr2
!!$ PRINT*,objname, tmpname
-!!$ CALL verifyString("delete_by_idx.H5Lget_name_by_idx_f", objname, tmpname, total_error)
+!!$ CALL verify("delete_by_idx.H5Lget_name_by_idx_f", objname, tmpname, total_error)
ENDDO
! Close the group
@@ -1418,9 +1397,6 @@ END SUBROUTINE delete_by_idx
SUBROUTINE link_info_by_idx_check(group_id, linkname, n, &
hard_link, use_index, total_error)
- USE HDF5 ! This module contains all necessary modules
- USE TH5_MISC
-
IMPLICIT NONE
INTEGER, INTENT(INOUT) :: total_error
INTEGER(HID_T), INTENT(IN) :: group_id
@@ -1455,14 +1431,14 @@ SUBROUTINE link_info_by_idx_check(group_id, linkname, n, &
CALL H5Lget_info_by_idx_f(group_id, ".", H5_INDEX_CRT_ORDER_F, H5_ITER_INC_F, INT(0,HSIZE_T), &
link_type, f_corder_valid, corder, cset, address, val_size, error)
CALL check("H5Lget_info_by_idx_f", error, total_error)
- CALL VERIFY("H5Lget_info_by_idx_f", corder, 0, total_error)
+ CALL verify("H5Lget_info_by_idx_f", corder, 0, total_error)
! Verify the link information for new link, in increasing creation order
! HDmemset(&linfo, 0, sizeof(linfo));
CALL H5Lget_info_by_idx_f(group_id, ".", H5_INDEX_CRT_ORDER_F, H5_ITER_INC_F, INT(n,HSIZE_T), &
link_type, f_corder_valid, corder, cset, address, val_size, error)
CALL check("H5Lget_info_by_idx_f", error, total_error)
- CALL VERIFY("H5Lget_info_by_idx_f", corder, n, total_error)
+ CALL verify("H5Lget_info_by_idx_f", corder, n, total_error)
! Verify value for new soft link, in increasing creation order
!!$ IF(hard_link)THEN
@@ -1481,21 +1457,21 @@ SUBROUTINE link_info_by_idx_check(group_id, linkname, n, &
CALL H5Lget_name_by_idx_f(group_id, ".", H5_INDEX_CRT_ORDER_F, H5_ITER_INC_F, INT(n,HSIZE_T), tmpname_small, error, size_tmp)
CALL check("link_info_by_idx_check.H5Lget_name_by_idx_f", error, total_error)
- CALL verifyString("link_info_by_idx_check.H5Lget_name_by_idx_f", &
+ CALL verify("link_info_by_idx_check.H5Lget_name_by_idx_f", &
linkname(1:LEN(tmpname_small)), tmpname_small(1:LEN(tmpname_small)), total_error)
- CALL VERIFY("link_info_by_idx_check.H5Lget_name_by_idx_f", INT(size_tmp), 7, total_error)
+ CALL verify("link_info_by_idx_check.H5Lget_name_by_idx_f", INT(size_tmp), 7, total_error)
! try it with the correct size
CALL H5Lget_name_by_idx_f(group_id, ".", H5_INDEX_CRT_ORDER_F, H5_ITER_INC_F, INT(n,HSIZE_T), tmpname, error, size=size_tmp)
CALL check("link_info_by_idx_check.H5Lget_name_by_idx_f", error, total_error)
- CALL verifyString("link_info_by_idx_check.H5Lget_name_by_idx_f", &
+ CALL verify("link_info_by_idx_check.H5Lget_name_by_idx_f", &
linkname(1:LEN(tmpname)), tmpname(1:LEN(tmpname)), total_error)
- CALL VERIFY("link_info_by_idx_check.H5Lget_name_by_idx_f", INT(size_tmp), 7, total_error)
+ CALL verify("link_info_by_idx_check.H5Lget_name_by_idx_f", INT(size_tmp), 7, total_error)
CALL H5Lget_name_by_idx_f(group_id, ".", H5_INDEX_CRT_ORDER_F, H5_ITER_INC_F, INT(n,HSIZE_T), tmpname_big, error, size_tmp)
CALL check("link_info_by_idx_check.H5Lget_name_by_idx_f", error, total_error)
- CALL verifyString("link_info_by_idx_check.H5Lget_name_by_idx_f", &
+ CALL verify("link_info_by_idx_check.H5Lget_name_by_idx_f", &
linkname(1:7), tmpname_big(1:7), total_error)
- CALL VERIFY("link_info_by_idx_check.H5Lget_name_by_idx_f", INT(size_tmp), 7, total_error)
+ CALL verify("link_info_by_idx_check.H5Lget_name_by_idx_f", INT(size_tmp), 7, total_error)
! Try with a buffer set to small
@@ -1522,9 +1498,6 @@ SUBROUTINE link_info_by_idx_check(group_id, linkname, n, &
SUBROUTINE test_lcpl(cleanup, fapl, total_error)
- USE HDF5 ! This module contains all necessary modules
- USE TH5_MISC
-
IMPLICIT NONE
INTEGER, INTENT(INOUT) :: total_error
INTEGER(HID_T), INTENT(IN) :: fapl
@@ -1591,7 +1564,7 @@ SUBROUTINE link_info_by_idx_check(group_id, linkname, n, &
! * creation property list and is always ASCII.
!#define H5F_DEFAULT_CSET H5T_CSET_ASCII -- FROM H5Fprivate.h --
- CALL VERIFY("H5Lget_info_f",cset, H5T_CSET_ASCII_F,total_error)
+ CALL verify("H5Lget_info_f",cset, H5T_CSET_ASCII_F,total_error)
! Create and commit a datatype with the default LCPL
CALL h5tcopy_f(H5T_NATIVE_INTEGER, type_id, error)
@@ -1652,10 +1625,10 @@ SUBROUTINE link_info_by_idx_check(group_id, linkname, n, &
DO i = 1, 2
tmp1 = INT(dimsout(i))
tmp2 = INT(extend_dim(i))
- CALL VERIFY("H5Sget_simple_extent_dims", tmp1, tmp2, total_error)
+ CALL verify("H5Sget_simple_extent_dims", tmp1, tmp2, total_error)
tmp1 = INT(maxdimsout(i))
tmp2 = INT(dims(i))
- CALL VERIFY("H5Sget_simple_extent_dims", tmp1, tmp2, total_error)
+ CALL verify("H5Sget_simple_extent_dims", tmp1, tmp2, total_error)
ENDDO
! close data set
@@ -1722,7 +1695,7 @@ SUBROUTINE link_info_by_idx_check(group_id, linkname, n, &
CALL H5Pget_char_encoding_f(lcpl_id, encoding, error)
CALL check("H5Pget_char_encoding_f", error, total_error)
- CALL VERIFY("H5Pget_char_encoding_f", encoding, H5T_CSET_UTF8_F, total_error)
+ CALL verify("H5Pget_char_encoding_f", encoding, H5T_CSET_UTF8_F, total_error)
! Check that its character encoding is UTF-8
CALL H5Lget_info_f(file_id, "dataset2", &
@@ -1744,7 +1717,7 @@ SUBROUTINE link_info_by_idx_check(group_id, linkname, n, &
CALL H5Lexists_f(file_id,"/dataset2_link",Lexists, error)
CALL check("H5Lexists",error, total_error)
- CALL verifylogical("H5Lexists", Lexists,.TRUE.,total_error)
+ CALL verify("H5Lexists", Lexists,.TRUE.,total_error)
! Check that its character encoding is ASCII
CALL H5Lget_info_f(file_id, "/dataset2_link", &
@@ -1834,9 +1807,6 @@ END SUBROUTINE test_lcpl
SUBROUTINE objcopy(fapl, total_error)
- USE HDF5 ! This module contains all necessary modules
- USE TH5_MISC
-
IMPLICIT NONE
INTEGER, INTENT(INOUT) :: total_error
INTEGER(HID_T), INTENT(IN) :: fapl
@@ -1867,7 +1837,7 @@ SUBROUTINE objcopy(fapl, total_error)
! Verify object copy flags
CALL H5Pget_copy_object_f(pid, cpy_flags, error)
CALL check("H5Pget_copy_object_f",error, total_error)
- CALL VERIFY("H5Pget_copy_object_f", cpy_flags, flag, total_error)
+ CALL verify("H5Pget_copy_object_f", cpy_flags, flag, total_error)
!!$
!!$ CALL test_copy_option(fcpl_src, fcpl_dst, my_fapl, H5O_COPY_WITHOUT_ATTR_FLAG,
@@ -1898,9 +1868,6 @@ END SUBROUTINE objcopy
SUBROUTINE lapl_nlinks( fapl, total_error)
- USE HDF5
- USE TH5_MISC
-
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: fapl
INTEGER, INTENT(INOUT) :: total_error
@@ -1972,7 +1939,7 @@ SUBROUTINE lapl_nlinks( fapl, total_error)
nlinks = 0
CALL H5Pget_nlinks_f(plist, nlinks, error)
CALL check("H5Pset_nlinks_f",error,total_error)
- CALL VERIFY("H5Pset_nlinks_f",INT(nlinks), 20, total_error)
+ CALL verify("H5Pset_nlinks_f",INT(nlinks), 20, total_error)
! Open object through what is normally too many soft links using
@@ -1984,7 +1951,7 @@ SUBROUTINE lapl_nlinks( fapl, total_error)
! Check name
CALL h5iget_name_f(gid, objname, buf_size, name_len, error)
CALL check("h5iget_name_f",error,total_error)
- CALL VerifyString("h5iget_name_f", TRIM(objname),"/soft17", total_error)
+ CALL verify("h5iget_name_f", TRIM(objname),"/soft17", total_error)
! Create group using soft link
CALL H5Gcreate_f(gid, "new_soft", gid2, error)
CALL check("H5Gcreate_f", error, total_error)
@@ -2006,12 +1973,12 @@ SUBROUTINE lapl_nlinks( fapl, total_error)
CALL H5Pget_nlinks_f(plist, nlinks, error)
CALL check("H5Pget_nlinks_f",error,total_error)
- CALL VERIFY("H5Pget_nlinks_f", INT(nlinks), 4, total_error)
+ CALL verify("H5Pget_nlinks_f", INT(nlinks), 4, total_error)
! Try opening through what is now too many soft links
CALL H5Oopen_f(fid,"soft5",gid,error,plist)
- CALL VERIFY("H5Oopen_f", error, -1, total_error) ! should fail
+ CALL verify("H5Oopen_f", error, -1, total_error) ! should fail
! Open object through lesser soft link
CALL H5Oopen_f(fid,"soft4",gid,error,plist)
@@ -2020,7 +1987,7 @@ SUBROUTINE lapl_nlinks( fapl, total_error)
! Check name
CALL h5iget_name_f(gid, objname, buf_size, name_len, error)
CALL check("h5iget_name_f",error,total_error)
- CALL VerifyString("h5iget_name_f", TRIM(objname),"/soft4", total_error)
+ CALL verify("h5iget_name_f", TRIM(objname),"/soft4", total_error)
! Test other functions that should use a LAPL
nlinks = 20
diff --git a/fortran/test/tH5I.f90 b/fortran/test/tH5I.f90
index 088b4eb..97c48c6 100644
--- a/fortran/test/tH5I.f90
+++ b/fortran/test/tH5I.f90
@@ -27,6 +27,10 @@
!
!*****
MODULE TH5I
+
+ USE HDF5 ! This module contains all necessary modules
+ USE TH5_MISC
+ USE TH5_MISC_GEN
CONTAINS
@@ -34,8 +38,6 @@ CONTAINS
! This subroutine tests following functionalities: h5iget_type_f
- USE HDF5 ! This module contains all necessary modules
- USE TH5_MISC
IMPLICIT NONE
LOGICAL, INTENT(IN) :: cleanup
@@ -88,7 +90,7 @@ CONTAINS
dtype = -1
CALL H5Iis_valid_f(dtype, tri_ret, error)
CALL check("H5Iis_valid_f", error, total_error)
- CALL VerifyLogical("H5Iis_valid_f", tri_ret, .FALSE., total_error)
+ CALL verify("H5Iis_valid_f", tri_ret, .FALSE., total_error)
! Create a datatype id
CALL H5Tcopy_f(H5T_NATIVE_INTEGER,dtype,error)
@@ -97,7 +99,7 @@ CONTAINS
! Check that the ID is valid
CALL H5Iis_valid_f(dtype, tri_ret, error)
CALL check("H5Iis_valid_f", error, total_error)
- CALL VerifyLogical("H5Tequal_f", tri_ret, .TRUE., total_error)
+ CALL verify("H5Tequal_f", tri_ret, .TRUE., total_error)
CALL H5Tclose_f(dtype, error)
CALL check("H5Tclose_f", error, total_error)
diff --git a/fortran/test/tH5L_F03.f90 b/fortran/test/tH5L_F03.f90
index 795f1e2..40afdbc 100644
--- a/fortran/test/tH5L_F03.f90
+++ b/fortran/test/tH5L_F03.f90
@@ -32,8 +32,10 @@
!*****
MODULE liter_cb_mod
- USE HDF5
- USE ISO_C_BINDING
+ USE HDF5
+ USE TH5_MISC
+ USE TH5_MISC_GEN
+ USE, INTRINSIC :: ISO_C_BINDING
IMPLICIT NONE
TYPE iter_enum
@@ -45,7 +47,7 @@ MODULE liter_cb_mod
! Custom group iteration callback data
TYPE, bind(c) :: iter_info
- CHARACTER(LEN=1), DIMENSION(1:10) :: name ! The name of the object
+ CHARACTER(KIND=C_CHAR), DIMENSION(1:10) :: name ! The name of the object
INTEGER(c_int) :: TYPE ! The TYPE of the object
INTEGER(c_int) :: command ! The TYPE of RETURN value
END TYPE iter_info
@@ -60,8 +62,6 @@ CONTAINS
INTEGER(KIND=C_INT) FUNCTION liter_cb(group, name, link_info, op_data) bind(C)
- USE HDF5
- USE ISO_C_BINDING
IMPLICIT NONE
INTEGER(HID_T), VALUE :: group
@@ -123,9 +123,6 @@ CONTAINS
!***************************************************************
SUBROUTINE test_iter_group(total_error)
- USE HDF5
- USE TH5_MISC
- USE ISO_C_BINDING
USE liter_cb_mod
IMPLICIT NONE
@@ -251,11 +248,11 @@ SUBROUTINE test_iter_group(total_error)
CALL H5Literate_f(file, H5_INDEX_NAME_F, H5_ITER_INC_F, idx, f1, f2, ret_value, error)
IF(error.LT.0) EXIT
! Verify return value from iterator gets propagated correctly
- CALL VERIFY("H5Literate", ret_value, 2, total_error)
+ CALL verify("H5Literate", ret_value, 2, total_error)
! Increment the number of times "2" is returned
i = i + 1
! Verify that the index is the correct value
- CALL VERIFY("H5Literate", INT(idx), INT(i), total_error)
+ CALL verify("H5Literate", INT(idx), INT(i), total_error)
IF(idx .GT.ndatasets+2)THEN
PRINT*,"ERROR: Group iteration function walked too far!"
ENDIF
@@ -264,14 +261,14 @@ SUBROUTINE test_iter_group(total_error)
DO j = 1, 10
ichr10(j:j) = info%name(j)(1:1)
ENDDO
- CALL verifystring("H5Literate_f", ichr10, lnames(INT(idx)), total_error)
+ CALL verify("H5Literate_f", ichr10, lnames(INT(idx)), total_error)
IF(i.EQ.52)EXIT ! prints out error message otherwise (for gcc/gfortran/g95) not intel (why) -FIXME- scot
END DO
! put check if did not walk far enough -scot FIXME
IF(i .NE. (NDATASETS + 2)) THEN
- CALL VERIFY("H5Literate_f", i, INT(NDATASETS + 2), total_error)
+ CALL verify("H5Literate_f", i, INT(NDATASETS + 2), total_error)
PRINT*,"ERROR: Group iteration function didn't perform multiple iterations correctly"
ENDIF
@@ -288,13 +285,13 @@ SUBROUTINE test_iter_group(total_error)
CALL H5Literate_f(file, H5_INDEX_NAME_F, H5_ITER_INC_F, idx, f1, f2, ret_value, error)
IF(error.LT.0) EXIT
- CALL VERIFY("H5Literate_f", ret_value, 1, total_error)
+ CALL verify("H5Literate_f", ret_value, 1, total_error)
! Increment the number of times "1" is returned
i = i + 1
! Verify that the index is the correct value
- CALL VERIFY("H5Literate_f", INT(idx), INT(i+10), total_error)
+ CALL verify("H5Literate_f", INT(idx), INT(i+10), total_error)
IF(idx .GT.ndatasets+2)THEN
PRINT*,"Group iteration function walked too far!"
@@ -304,7 +301,7 @@ SUBROUTINE test_iter_group(total_error)
ichr10(j:j) = info%name(j)(1:1)
ENDDO
! Verify that the correct name is retrieved
- CALL verifystring("H5Literate_f", ichr10, lnames(INT(idx)), total_error)
+ CALL verify("H5Literate_f", ichr10, lnames(INT(idx)), total_error)
IF(i.EQ.42)EXIT ! prints out error message otherwise (for gcc/gfortran/g95) not intel (why) -FIX- scot
ENDDO
diff --git a/fortran/test/tH5MISC_1_8.f90 b/fortran/test/tH5MISC_1_8.f90
index efaf594..ba3f095 100644
--- a/fortran/test/tH5MISC_1_8.f90
+++ b/fortran/test/tH5MISC_1_8.f90
@@ -25,11 +25,13 @@
!*****
MODULE TH5MISC_1_8
+ USE HDF5 ! This module contains all necessary modules
+ USE TH5_MISC
+ USE TH5_MISC_GEN
+
CONTAINS
SUBROUTINE dtransform(cleanup, total_error)
- USE HDF5 ! This module contains all necessary modules
- USE TH5_MISC
IMPLICIT NONE
LOGICAL, INTENT(IN) :: cleanup
@@ -57,22 +59,22 @@ SUBROUTINE dtransform(cleanup, total_error)
CALL H5Pget_data_transform_f(dxpl_id_c_to_f, ptrgetTest, error, size=size)
CALL check("dtransform.H5Pget_data_transform_f", error, total_error)
- CALL VerifyString("dtransform.H5Pget_data_transform_f", c_to_f, ptrgetTest, total_error)
- CALL VERIFY("dtransform.H5Pget_data_transform_f", INT(size),15, total_error)
+ CALL verify("dtransform.H5Pget_data_transform_f", c_to_f, ptrgetTest, total_error)
+ CALL verify("dtransform.H5Pget_data_transform_f", INT(size),15, total_error)
! check case when receiving buffer to small
CALL H5Pget_data_transform_f(dxpl_id_c_to_f, ptrgetTest_small, error, size=size)
CALL check("dtransform.H5Pget_data_transform_f", error, total_error)
- CALL VerifyString("dtransform.H5Pget_data_transform_f", c_to_f(1:7), ptrgetTest_small, total_error)
- CALL VERIFY("dtransform.H5Pget_data_transform_f", INT(size),15, total_error)
+ CALL verify("dtransform.H5Pget_data_transform_f", c_to_f(1:7), ptrgetTest_small, total_error)
+ CALL verify("dtransform.H5Pget_data_transform_f", INT(size),15, total_error)
! check case when receiving buffer to big
CALL H5Pget_data_transform_f(dxpl_id_c_to_f, ptrgetTest_big, error, size=size)
CALL check("dtransform.H5Pget_data_transform_f", error, total_error)
- CALL VerifyString("dtransform.H5Pget_data_transform_f", c_to_f(1:15), ptrgetTest_big(1:15), total_error)
- CALL VERIFY("dtransform.H5Pget_data_transform_f", INT(size), 15, total_error)
+ CALL verify("dtransform.H5Pget_data_transform_f", c_to_f(1:15), ptrgetTest_big(1:15), total_error)
+ CALL verify("dtransform.H5Pget_data_transform_f", INT(size), 15, total_error)
CALL H5Fclose_f(file_id, error)
CALL check("H5Fclose_f", error, total_error)
@@ -92,9 +94,6 @@ END SUBROUTINE dtransform
SUBROUTINE test_genprop_basic_class(total_error)
- USE HDF5 ! This module contains all necessary modules
- USE TH5_MISC
-
IMPLICIT NONE
INTEGER, INTENT(INOUT) :: total_error
@@ -117,7 +116,7 @@ SUBROUTINE test_genprop_basic_class(total_error)
cid1 = 456
CALL H5Pget_class_name_f(cid1, name, size, error)
- CALL VERIFY("H5Pget_class_name", error, -1, error)
+ CALL verify("H5Pget_class_name", error, -1, error)
! Create a new generic class, derived from the root of the class hierarchy
CALL H5Pcreate_class_f(H5P_ROOT_F, CLASS1_NAME, cid1, error)
@@ -126,8 +125,8 @@ SUBROUTINE test_genprop_basic_class(total_error)
! Check class name
CALL H5Pget_class_name_f(cid1, name, size, error)
CALL check("H5Pget_class_name", error, total_error)
- CALL VERIFY("H5Pget_class_name", size,7,error)
- CALL verifystring("H5Pget_class_name", name, CLASS1_NAME, error)
+ CALL verify("H5Pget_class_name", size,7,error)
+ CALL verify("H5Pget_class_name", name, CLASS1_NAME, error)
IF(error.NE.0)THEN
WRITE(*,*) 'Class names do not match! name=',name, 'CLASS1_NAME=',CLASS1_NAME
total_error = total_error + 1
@@ -136,8 +135,8 @@ SUBROUTINE test_genprop_basic_class(total_error)
! Check class name smaller buffer
CALL H5Pget_class_name_f(cid1, name_small, size, error)
CALL check("H5Pget_class_name", error, total_error)
- CALL VERIFY("H5Pget_class_name", size,7,error)
- CALL verifystring("H5Pget_class_name", name_small(1:4), CLASS1_NAME(1:4), error)
+ CALL verify("H5Pget_class_name", size,7,error)
+ CALL verify("H5Pget_class_name", name_small(1:4), CLASS1_NAME(1:4), error)
IF(error.NE.0)THEN
WRITE(*,*) 'Class names do not match! name=',name_small(1:4), 'CLASS1_NAME=',CLASS1_NAME(1:4)
total_error = total_error + 1
@@ -146,8 +145,8 @@ SUBROUTINE test_genprop_basic_class(total_error)
! Check class name bigger buffer
CALL H5Pget_class_name_f(cid1, name_big, size, error)
CALL check("H5Pget_class_name", error, total_error)
- CALL VERIFY("H5Pget_class_name", size,7,error)
- CALL verifystring("H5Pget_class_name", TRIM(name_big), TRIM(CLASS1_NAME), error)
+ CALL verify("H5Pget_class_name", size,7,error)
+ CALL verify("H5Pget_class_name", TRIM(name_big), TRIM(CLASS1_NAME), error)
IF(error.NE.0)THEN
WRITE(*,*) 'Class names do not match! name=',TRIM(name_small), 'CLASS1_NAME=',TRIM(CLASS1_NAME)
total_error = total_error + 1
@@ -160,13 +159,13 @@ SUBROUTINE test_genprop_basic_class(total_error)
! Verify class parent correct
CALL H5Pequal_f(cid2, H5P_ROOT_F, flag, error)
CALL check("H5Pequal_f", error, total_error)
- CALL verifylogical("H5Pequal_f", flag, .TRUE., total_error)
+ CALL verify("H5Pequal_f", flag, .TRUE., total_error)
! Make certain false postives aren't being returned
CALL H5Pequal_f(cid2, H5P_FILE_CREATE_F, flag, error)
CALL check("H5Pequal_f", error, total_error)
- CALL verifylogical("H5Pequal_f", flag, .FALSE., total_error)
+ CALL verify("H5Pequal_f", flag, .FALSE., total_error)
! Close parent class
CALL H5Pclose_class_f(cid2, error)
@@ -187,8 +186,6 @@ SUBROUTINE test_h5s_encode(total_error)
!**
!***************************************************************
- USE HDF5 ! This module contains all necessary modules
- USE TH5_MISC
IMPLICIT NONE
INTEGER, INTENT(INOUT) :: total_error
@@ -241,7 +238,7 @@ SUBROUTINE test_h5s_encode(total_error)
! Try decoding bogus buffer
CALL H5Sdecode_f(sbuf, decoded_sid1, error)
- CALL VERIFY("H5Sdecode", error, -1, total_error)
+ CALL verify("H5Sdecode", error, -1, total_error)
CALL H5Sencode_f(sid1, sbuf, sbuf_size, error)
CALL check("H5Sencode", error, total_error)
@@ -254,7 +251,7 @@ SUBROUTINE test_h5s_encode(total_error)
! Verify the decoded dataspace
CALL h5sget_simple_extent_npoints_f(decoded_sid1, n, error)
CALL check("h5sget_simple_extent_npoints_f", error, total_error)
- CALL VERIFY("h5sget_simple_extent_npoints_f", INT(n), INT(SPACE1_DIM1 * SPACE1_DIM2 * SPACE1_DIM3), &
+ CALL verify("h5sget_simple_extent_npoints_f", INT(n), INT(SPACE1_DIM1 * SPACE1_DIM2 * SPACE1_DIM3), &
total_error)
!
@@ -297,16 +294,16 @@ SUBROUTINE test_h5s_encode(total_error)
CALL H5Sget_simple_extent_type_f(decoded_sid3, space_type, error)
CALL check("H5Sget_simple_extent_type_f", error, total_error)
- CALL VERIFY("H5Sget_simple_extent_type_f", space_type, H5S_SCALAR_F, total_error)
+ CALL verify("H5Sget_simple_extent_type_f", space_type, H5S_SCALAR_F, total_error)
! Verify decoded dataspace
CALL h5sget_simple_extent_npoints_f(decoded_sid3, n, error)
CALL check("h5sget_simple_extent_npoints_f", error, total_error)
- CALL VERIFY("h5sget_simple_extent_npoints_f", INT(n), 1, total_error)
+ CALL verify("h5sget_simple_extent_npoints_f", INT(n), 1, total_error)
CALL H5Sget_simple_extent_ndims_f(decoded_sid3, rank, error)
CALL CHECK("H5Sget_simple_extent_ndims_f", error, total_error)
- CALL VERIFY("H5Sget_simple_extent_ndims_f", rank, 0, total_error )
+ CALL verify("H5Sget_simple_extent_ndims_f", rank, 0, total_error )
CALL h5sclose_f(sid3, error)
CALL check("h5sclose_f", error, total_error)
@@ -335,8 +332,6 @@ END SUBROUTINE test_h5s_encode
SUBROUTINE test_scaleoffset(cleanup, total_error )
- USE HDF5
- USE TH5_MISC
IMPLICIT NONE
LOGICAL, INTENT(IN) :: cleanup
INTEGER, INTENT(INOUT) :: total_error
diff --git a/fortran/test/tH5O.f90 b/fortran/test/tH5O.f90
index 99d4c22..51e1d64 100644
--- a/fortran/test/tH5O.f90
+++ b/fortran/test/tH5O.f90
@@ -28,11 +28,13 @@
!*****
MODULE TH5O
+ USE HDF5 ! This module contains all necessary modules
+ USE TH5_MISC
+ USE TH5_MISC_GEN
+
CONTAINS
SUBROUTINE test_h5o(cleanup, total_error)
- USE HDF5 ! This module contains all necessary modules
- USE TH5_MISC
IMPLICIT NONE
LOGICAL, INTENT(IN) :: cleanup
@@ -57,9 +59,6 @@ END SUBROUTINE test_h5o
SUBROUTINE test_h5o_link(total_error)
- USE HDF5 ! This module contains all necessary modules
- USE TH5_MISC
-
IMPLICIT NONE
INTEGER, INTENT(INOUT) :: total_error
@@ -157,7 +156,7 @@ SUBROUTINE test_h5o_link(total_error)
CALL H5Tcommitted_f(type_id, committed, error)
CALL check("H5Tcommitted_f",error,total_error)
- CALL verifyLogical("H5Tcommitted_f", committed, .TRUE., total_error)
+ CALL verify("H5Tcommitted_f", committed, .TRUE., total_error)
! Create a dataset with no name using the committed datatype
CALL H5Dcreate_anon_f(file_id, type_id, space_id, dset_id, error ) ! using no optional parameters
@@ -181,7 +180,7 @@ SUBROUTINE test_h5o_link(total_error)
! Verify the data
DO i = 1, TEST6_DIM1
DO j = 1, TEST6_DIM2
- CALL VERIFY("H5Dread_f",wdata(i,j),rdata(i,j),total_error)
+ CALL verify("H5Dread_f",wdata(i,j),rdata(i,j),total_error)
wdata(i,j) = i*j
ENDDO
ENDDO
@@ -229,7 +228,7 @@ SUBROUTINE test_h5o_link(total_error)
! Verify the data
DO i = 1, TEST6_DIM1
DO j = 1, TEST6_DIM2
- CALL VERIFY("H5Dread",wdata(i,j),rdata(i,j),total_error)
+ CALL verify("H5Dread",wdata(i,j),rdata(i,j),total_error)
ENDDO
ENDDO
! Close open IDs
@@ -464,7 +463,7 @@ SUBROUTINE test_h5o_link(total_error)
nlinks = 0
CALL h5pget_nlinks_f(plist, nlinks, error)
CALL check("h5pget_nlinks_f",error,total_error)
- CALL VERIFY("h5pget_nlinks_f", INT(nlinks), 2, total_error)
+ CALL verify("h5pget_nlinks_f", INT(nlinks), 2, total_error)
! See if the link exists
CALL h5oexists_by_name_f(file_id,"/G1_LINK", link_exists, error, plist)
@@ -578,9 +577,6 @@ END SUBROUTINE test_h5o_link
SUBROUTINE test_h5o_plist(total_error)
- USE HDF5 ! This module contains all necessary modules
- USE TH5_MISC
-
IMPLICIT NONE
INTEGER, INTENT(INOUT) :: total_error
@@ -631,18 +627,18 @@ SUBROUTINE test_h5o_plist(total_error)
! Retrieve attribute phase change values on each creation property list and verify
CALL H5Pget_attr_phase_change_f(gcpl, max_compact, min_dense, error)
CALL check("H5Pget_attr_phase_change_f", error, total_error)
- CALL VERIFY("H5Pget_attr_phase_change_f", max_compact, (def_max_compact + 1), total_error)
- CALL VERIFY("H5Pget_attr_phase_change_f", min_dense, (def_min_dense - 1), total_error)
+ CALL verify("H5Pget_attr_phase_change_f", max_compact, (def_max_compact + 1), total_error)
+ CALL verify("H5Pget_attr_phase_change_f", min_dense, (def_min_dense - 1), total_error)
CALL H5Pget_attr_phase_change_f(dcpl, max_compact, min_dense, error)
CALL check("H5Pget_attr_phase_change_f", error, total_error)
- CALL VERIFY("H5Pget_attr_phase_change_f", max_compact, (def_max_compact + 1), total_error)
- CALL VERIFY("H5Pget_attr_phase_change_f", min_dense, (def_min_dense - 1), total_error)
+ CALL verify("H5Pget_attr_phase_change_f", max_compact, (def_max_compact + 1), total_error)
+ CALL verify("H5Pget_attr_phase_change_f", min_dense, (def_min_dense - 1), total_error)
CALL H5Pget_attr_phase_change_f(tcpl, max_compact, min_dense, error)
CALL check("H5Pget_attr_phase_change_f", error, total_error)
- CALL VERIFY("H5Pget_attr_phase_change_f", max_compact, (def_max_compact + 1), total_error)
- CALL VERIFY("H5Pget_attr_phase_change_f", min_dense, (def_min_dense - 1), total_error)
+ CALL verify("H5Pget_attr_phase_change_f", max_compact, (def_max_compact + 1), total_error)
+ CALL verify("H5Pget_attr_phase_change_f", min_dense, (def_min_dense - 1), total_error)
! Create a group, dataset, and committed datatype within the file,
! using the respective type of creation property lists.
@@ -700,18 +696,18 @@ SUBROUTINE test_h5o_plist(total_error)
! Retrieve attribute phase change values on each creation property list and verify
CALL H5Pget_attr_phase_change_f(gcpl, max_compact, min_dense, error)
CALL check("H5Pget_attr_phase_change_f", error, total_error)
- CALL VERIFY("H5Pget_attr_phase_change_f", max_compact, (def_max_compact + 1), total_error)
- CALL VERIFY("H5Pget_attr_phase_change_f", min_dense, (def_min_dense - 1), total_error)
+ CALL verify("H5Pget_attr_phase_change_f", max_compact, (def_max_compact + 1), total_error)
+ CALL verify("H5Pget_attr_phase_change_f", min_dense, (def_min_dense - 1), total_error)
CALL H5Pget_attr_phase_change_f(dcpl, max_compact, min_dense, error)
CALL check("H5Pget_attr_phase_change_f", error, total_error)
- CALL VERIFY("H5Pget_attr_phase_change_f", max_compact, (def_max_compact + 1), total_error)
- CALL VERIFY("H5Pget_attr_phase_change_f", min_dense, (def_min_dense - 1), total_error)
+ CALL verify("H5Pget_attr_phase_change_f", max_compact, (def_max_compact + 1), total_error)
+ CALL verify("H5Pget_attr_phase_change_f", min_dense, (def_min_dense - 1), total_error)
CALL H5Pget_attr_phase_change_f(tcpl, max_compact, min_dense, error)
CALL check("H5Pget_attr_phase_change_f", error, total_error)
- CALL VERIFY("H5Pget_attr_phase_change_f", max_compact, (def_max_compact + 1), total_error)
- CALL VERIFY("H5Pget_attr_phase_change_f", min_dense, (def_min_dense - 1), total_error)
+ CALL verify("H5Pget_attr_phase_change_f", max_compact, (def_max_compact + 1), total_error)
+ CALL verify("H5Pget_attr_phase_change_f", min_dense, (def_min_dense - 1), total_error)
! Close current objects
CALL h5pclose_f(gcpl,error)
@@ -757,18 +753,18 @@ SUBROUTINE test_h5o_plist(total_error)
! Retrieve attribute phase change values on each creation property list and verify
CALL H5Pget_attr_phase_change_f(gcpl, max_compact, min_dense, error)
CALL check("H5Pget_attr_phase_change_f", error, total_error)
- CALL VERIFY("H5Pget_attr_phase_change_f", max_compact, (def_max_compact + 1), total_error)
- CALL VERIFY("H5Pget_attr_phase_change_f", min_dense, (def_min_dense - 1), total_error)
+ CALL verify("H5Pget_attr_phase_change_f", max_compact, (def_max_compact + 1), total_error)
+ CALL verify("H5Pget_attr_phase_change_f", min_dense, (def_min_dense - 1), total_error)
CALL H5Pget_attr_phase_change_f(dcpl, max_compact, min_dense, error)
CALL check("H5Pget_attr_phase_change_f", error, total_error)
- CALL VERIFY("H5Pget_attr_phase_change_f", max_compact, (def_max_compact + 1), total_error)
- CALL VERIFY("H5Pget_attr_phase_change_f", min_dense, (def_min_dense - 1), total_error)
+ CALL verify("H5Pget_attr_phase_change_f", max_compact, (def_max_compact + 1), total_error)
+ CALL verify("H5Pget_attr_phase_change_f", min_dense, (def_min_dense - 1), total_error)
CALL H5Pget_attr_phase_change_f(tcpl, max_compact, min_dense, error)
CALL check("H5Pget_attr_phase_change_f", error, total_error)
- CALL VERIFY("H5Pget_attr_phase_change_f", max_compact, (def_max_compact + 1), total_error)
- CALL VERIFY("H5Pget_attr_phase_change_f", min_dense, (def_min_dense - 1), total_error)
+ CALL verify("H5Pget_attr_phase_change_f", max_compact, (def_max_compact + 1), total_error)
+ CALL verify("H5Pget_attr_phase_change_f", min_dense, (def_min_dense - 1), total_error)
! Close current objects
CALL h5pclose_f(gcpl,error)
diff --git a/fortran/test/tH5O_F03.f90 b/fortran/test/tH5O_F03.f90
index 8e014f4..834308b 100644
--- a/fortran/test/tH5O_F03.f90
+++ b/fortran/test/tH5O_F03.f90
@@ -31,7 +31,7 @@
MODULE visit_cb
USE HDF5
- USE ISO_C_BINDING
+ USE, INTRINSIC :: ISO_C_BINDING
IMPLICIT NONE
@@ -53,7 +53,7 @@ MODULE visit_cb
!
! Object visit structs
TYPE, bind(c) :: obj_visit_t
- CHARACTER(LEN=1), DIMENSION(1:180) :: path ! Path to object
+ CHARACTER(KIND=C_CHAR), DIMENSION(1:180) :: path ! Path to object
INTEGER :: type_obj ! type of object
END TYPE obj_visit_t
diff --git a/fortran/test/tH5P.f90 b/fortran/test/tH5P.f90
index 7dcc580..39d8c1e 100644
--- a/fortran/test/tH5P.f90
+++ b/fortran/test/tH5P.f90
@@ -27,6 +27,9 @@
!
!*****
MODULE TH5P
+ USE HDF5 ! This module contains all necessary modules
+ USE TH5_MISC
+ USE TH5_MISC_GEN
CONTAINS
@@ -36,8 +39,6 @@ SUBROUTINE external_test(cleanup, total_error)
! h5pset_external_f, h5pget_external_count_f,
! h5pget_external_f
- USE HDF5 ! This module contains all necessary modules
- USE TH5_MISC
IMPLICIT NONE
LOGICAL, INTENT(IN) :: cleanup
@@ -153,8 +154,6 @@ SUBROUTINE external_test(cleanup, total_error)
END SUBROUTINE external_test
SUBROUTINE multi_file_test(cleanup, total_error)
- USE HDF5 ! This module contains all necessary modules
- USE TH5_MISC
IMPLICIT NONE
LOGICAL, INTENT(IN) :: cleanup
@@ -421,10 +420,7 @@ END SUBROUTINE multi_file_test
! April 16, 2009
!-------------------------------------------------------------------------
!
-SUBROUTINE test_chunk_cache(cleanup, total_error)
-
- USE HDF5 ! This module contains all necessary modules
- USE TH5_MISC
+SUBROUTINE test_chunk_cache(cleanup, total_error)
IMPLICIT NONE
LOGICAL, INTENT(IN) :: cleanup
@@ -470,19 +466,16 @@ SUBROUTINE test_chunk_cache(cleanup, total_error)
CALL check("H5Pget_cache_f", error, total_error)
CALL H5Pget_chunk_cache_f(dapl1, nslots_4, nbytes_4, w0_4, error)
CALL check("H5Pget_chunk_cache_f", error, total_error)
- CALL VERIFY("H5Pget_chunk_cache_f", INT(nslots_1), INT(nslots_4), total_error)
- CALL VERIFY("H5Pget_chunk_cache_f", INT(nbytes_1), INT(nbytes_4), total_error)
-
- IF( .NOT.dreal_eq( REAL(w0_1,dp), REAL( w0_4, dp)) ) THEN
- CALL VERIFYlogical("H5Pget_chunk_cache_f", .TRUE., .FALSE., total_error)
- ENDIF
+ CALL verify("H5Pget_chunk_cache_f", nslots_1, nslots_4, total_error)
+ CALL verify("H5Pget_chunk_cache_f", nbytes_1, nbytes_4, total_error)
+ CALL verify("H5Pget_chunk_cache_f", w0_1, w0_4, total_error)
! Set a lapl property on dapl1 (to verify inheritance)
CALL H5Pset_nlinks_f(dapl1, 134_size_t , error)
CALL check("H5Pset_nlinks_f", error, total_error)
CALL H5Pget_nlinks_f(dapl1, nlinks, error)
CALL check("H5Pget_nlinks_f", error, total_error)
- CALL VERIFY("H5Pget_nlinks_f", INT(nlinks), 134, total_error)
+ CALL verify("H5Pget_nlinks_f", INT(nlinks), 134, total_error)
CALL h5pcreate_f(H5P_FILE_ACCESS_F, fapl_local, error)
@@ -529,11 +522,9 @@ SUBROUTINE test_chunk_cache(cleanup, total_error)
CALL check("H5Dget_access_plist_f", error, total_error)
CALL H5Pget_chunk_cache_f(dapl2, nslots_4, nbytes_4, w0_4, error)
CALL check("H5Pget_chunk_cache_f", error, total_error)
- CALL VERIFY("H5Pget_chunk_cache_f", INT(nslots_2), INT(nslots_4), total_error)
- CALL VERIFY("H5Pget_chunk_cache_f", INT(nbytes_2), INT(nbytes_4), total_error)
- IF( .NOT.dreal_eq( REAL(w0_2,dp), REAL( w0_4, dp)) ) THEN
- CALL VERIFYlogical("H5Pget_chunk_cache_f", .TRUE., .FALSE., total_error)
- ENDIF
+ CALL verify("H5Pget_chunk_cache_f", INT(nslots_2), INT(nslots_4), total_error)
+ CALL verify("H5Pget_chunk_cache_f", INT(nbytes_2), INT(nbytes_4), total_error)
+ CALL verify("H5Pget_chunk_cache_f", w0_2, w0_4, total_error)
CALL H5Pclose_f(dapl2,error)
CALL check("H5Pclose_f", error, total_error)
@@ -561,11 +552,9 @@ SUBROUTINE test_chunk_cache(cleanup, total_error)
CALL check("H5Dget_access_plist_f", error, total_error)
CALL H5Pget_chunk_cache_f(dapl2, nslots_4, nbytes_4, w0_4, error)
CALL check("H5Pget_chunk_cache_f", error, total_error)
- CALL VERIFY("H5Pget_chunk_cache_f", INT(nslots_3), INT(nslots_4), total_error)
- CALL VERIFY("H5Pget_chunk_cache_f", INT(nbytes_2), INT(nbytes_4), total_error)
- IF( .NOT.dreal_eq( REAL(w0_3,dp), REAL( w0_4, dp)) ) THEN
- CALL VERIFYlogical("H5Pget_chunk_cache_f4", .TRUE., .FALSE., total_error)
- ENDIF
+ CALL verify("H5Pget_chunk_cache_f", INT(nslots_3), INT(nslots_4), total_error)
+ CALL verify("H5Pget_chunk_cache_f", INT(nbytes_2), INT(nbytes_4), total_error)
+ CALL verify("H5Pget_chunk_cache_f", w0_3, w0_4, total_error)
CALL H5Pclose_f(dapl2,error)
CALL check("H5Pclose_f", error, total_error)
@@ -581,11 +570,9 @@ SUBROUTINE test_chunk_cache(cleanup, total_error)
CALL check("H5Dget_access_plist_f", error, total_error)
CALL H5Pget_chunk_cache_f(dapl2, nslots_4, nbytes_4, w0_4, error)
CALL check("H5Pget_chunk_cache_f", error, total_error)
- CALL VERIFY("H5Pget_chunk_cache_f", INT(nslots_2), INT(nslots_4), total_error)
- CALL VERIFY("H5Pget_chunk_cache_f", INT(nbytes_2), INT(nbytes_4), total_error)
- IF( .NOT.dreal_eq( REAL(w0_2,dp), REAL( w0_4, dp)) ) THEN
- CALL VERIFYlogical("H5Pget_chunk_cache_f", .TRUE., .FALSE., total_error)
- ENDIF
+ CALL verify("H5Pget_chunk_cache_f", INT(nslots_2), INT(nslots_4), total_error)
+ CALL verify("H5Pget_chunk_cache_f", INT(nbytes_2), INT(nbytes_4), total_error)
+ CALL verify("H5Pget_chunk_cache_f", w0_2, w0_4, total_error)
CALL H5Pclose_f(dapl2,error)
CALL check("H5Pclose_f", error, total_error)
@@ -601,11 +588,9 @@ SUBROUTINE test_chunk_cache(cleanup, total_error)
CALL H5Pget_chunk_cache_f(dapl2, nslots_4, nbytes_4, w0_4, error)
CALL check("H5Pget_chunk_cache_f", error, total_error)
- CALL VERIFY("H5Pget_chunk_cache_f", INT(nslots_2), INT(nslots_4), total_error)
- CALL VERIFY("H5Pget_chunk_cache_f", INT(nbytes_2), INT(nbytes_4), total_error)
- IF( .NOT.dreal_eq( REAL(w0_2,dp), REAL( w0_4, dp)) ) THEN
- CALL VERIFYlogical("H5Pget_chunk_cache_f", .TRUE., .FALSE., total_error)
- ENDIF
+ CALL verify("H5Pget_chunk_cache_f", INT(nslots_2), INT(nslots_4), total_error)
+ CALL verify("H5Pget_chunk_cache_f", INT(nbytes_2), INT(nbytes_4), total_error)
+ CALL verify("H5Pget_chunk_cache_f", w0_2, w0_4, total_error)
! Don't close dapl2, we will use it in the next section
! Modify cache values on fapl_local
@@ -638,11 +623,9 @@ SUBROUTINE test_chunk_cache(cleanup, total_error)
CALL check("H5Dget_access_plist_f", error, total_error)
CALL H5Pget_chunk_cache_f(dapl2, nslots_4, nbytes_4, w0_4, error)
CALL check("H5Pget_chunk_cache_f", error, total_error)
- CALL VERIFY("H5Pget_chunk_cache_f", INT(nslots_2), INT(nslots_4), total_error)
- CALL VERIFY("H5Pget_chunk_cache_f", INT(nbytes_2), INT(nbytes_4), total_error)
- IF( .NOT.dreal_eq( REAL(w0_2,dp), REAL( w0_4, dp)) ) THEN
- CALL VERIFYlogical("H5Pget_chunk_cache_f", .TRUE., .FALSE., total_error)
- ENDIF
+ CALL verify("H5Pget_chunk_cache_f", INT(nslots_2), INT(nslots_4), total_error)
+ CALL verify("H5Pget_chunk_cache_f", INT(nbytes_2), INT(nbytes_4), total_error)
+ CALL verify("H5Pget_chunk_cache_f", w0_2, w0_4, total_error)
! Test H5D_CHUNK_CACHE_NSLOTS_DEFAULT and H5D_CHUNK_CACHE_W0_DEFAULT
nslots_2 = H5D_CHUNK_CACHE_NSLOTS_DFLT_F
@@ -663,11 +646,9 @@ SUBROUTINE test_chunk_cache(cleanup, total_error)
CALL check("H5Dget_access_plist_f", error, total_error)
CALL H5Pget_chunk_cache_f(dapl2, nslots_4, nbytes_4, w0_4, error)
CALL check("H5Pget_chunk_cache_f", error, total_error)
- CALL VERIFY("H5Pget_chunk_cache_f", INT(nslots_3), INT(nslots_4), total_error)
- CALL VERIFY("H5Pget_chunk_cache_f", INT(nbytes_2), INT(nbytes_4), total_error)
- IF( .NOT.dreal_eq( REAL(w0_3,dp), REAL( w0_4, dp)) ) THEN
- CALL VERIFYlogical("H5Pget_chunk_cache_f", .TRUE., .FALSE., total_error)
- ENDIF
+ CALL verify("H5Pget_chunk_cache_f", INT(nslots_3), INT(nslots_4), total_error)
+ CALL verify("H5Pget_chunk_cache_f", INT(nbytes_2), INT(nbytes_4), total_error)
+ CALL verify("H5Pget_chunk_cache_f", w0_3, w0_4, total_error)
! Close
diff --git a/fortran/test/tH5P_F03.f90 b/fortran/test/tH5P_F03.f90
index 56f9679..ec9fef2 100644
--- a/fortran/test/tH5P_F03.f90
+++ b/fortran/test/tH5P_F03.f90
@@ -52,8 +52,6 @@ CONTAINS
INTEGER FUNCTION test_genprop_cls_cb1_f(list_id, create_data ) bind(C)
- USE HDF5
- USE ISO_C_BINDING
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN), VALUE :: list_id
@@ -71,6 +69,11 @@ END MODULE test_genprop_cls_cb1_mod
MODULE TH5P_F03
+ USE HDF5
+ USE TH5_MISC
+ USE TH5_MISC_GEN
+ USE ISO_C_BINDING
+
CONTAINS
!-------------------------------------------------------------------------
@@ -92,9 +95,6 @@ CONTAINS
SUBROUTINE test_create(total_error)
- USE HDF5
- USE TH5_MISC
- USE ISO_C_BINDING
IMPLICIT NONE
INTEGER, INTENT(INOUT) :: total_error
@@ -187,18 +187,12 @@ SUBROUTINE test_create(total_error)
CALL check("H5Pset_fill_value_f",error, total_error)
CALL h5pget_fill_value_f(dcpl, H5T_NATIVE_DOUBLE, dpfill, error)
CALL check("H5Pget_fill_value_f",error, total_error)
- IF(.NOT.dreal_eq( REAL(dpfill,dp), 1.0_dp))THEN
- PRINT*,"***ERROR: Returned wrong fill value (double)"
- total_error = total_error + 1
- ENDIF
+ CALL VERIFY("***ERROR: Returned wrong fill value (double)", dpfill, 1.0_dp, total_error)
CALL H5Pset_fill_value_f(dcpl, H5T_NATIVE_REAL, 2.0, error)
CALL check("H5Pset_fill_value_f",error, total_error)
CALL h5pget_fill_value_f(dcpl, H5T_NATIVE_REAL, rfill, error)
CALL check("H5Pget_fill_value_f",error, total_error)
- IF(.NOT.dreal_eq( REAL(rfill,dp), REAL(2.0,dp)))THEN
- PRINT*,"***ERROR: Returned wrong fill value (real)"
- total_error = total_error + 1
- ENDIF
+ CALL VERIFY("***ERROR: Returned wrong fill value (real)", rfill, 2.0, total_error)
! For the actual compound type
CALL H5Pset_fill_value_f(dcpl, comp_type_id, f_ptr, error)
@@ -234,10 +228,10 @@ SUBROUTINE test_create(total_error)
CALL H5Pget_fill_value_f(dcpl, comp_type_id, f_ptr, error)
CALL check("H5Pget_fill_value_f", error, total_error)
+ CALL verify("***ERROR: Returned wrong fill value", rd_c%a, fill_ctype%a, total_error)
+ CALL verify("***ERROR: Returned wrong fill value", rd_c%y, fill_ctype%y, total_error)
- IF( .NOT.dreal_eq( REAL(rd_c%a,dp), REAL(fill_ctype%a, dp)) .OR. &
- .NOT.dreal_eq( REAL(rd_c%y,dp), REAL(fill_ctype%y, dp)) .OR. &
- rd_c%x .NE. fill_ctype%x .OR. &
+ IF( rd_c%x .NE. fill_ctype%x .OR. &
rd_c%z .NE. fill_ctype%z )THEN
PRINT*,"***ERROR: Returned wrong fill value"
@@ -269,9 +263,6 @@ SUBROUTINE test_genprop_class_callback(total_error)
!
!
- USE HDF5
- USE TH5_MISC
- USE ISO_C_BINDING
USE test_genprop_cls_cb1_mod
IMPLICIT NONE
@@ -330,7 +321,7 @@ SUBROUTINE test_genprop_class_callback(total_error)
! Check the number of properties in class
CALL h5pget_nprops_f(cid1, nprops, error)
CALL check("h5pget_nprops_f", error, total_error)
- CALL VERIFY("h5pget_nprops_f", INT(nprops), 4, total_error)
+ CALL verify("h5pget_nprops_f", INT(nprops), 4, total_error)
! Initialize class callback structs
@@ -350,12 +341,12 @@ SUBROUTINE test_genprop_class_callback(total_error)
! Check that the list's class is correct
CALL H5Pequal_f(cid2, cid1, flag, error)
CALL check("H5Pequal_f", error, total_error)
- CALL verifylogical("H5Pequal_f", flag, .TRUE., total_error)
+ CALL verify("H5Pequal_f", flag, .TRUE., total_error)
! Check the class name
CALL H5Pget_class_name_f(cid2, CLASS1_NAME_BUF, CLASS1_NAME_SIZE, error)
CALL check("H5Pget_class_name_f", error, total_error)
- CALL verifystring("H5Pget_class_name_f", CLASS1_NAME_BUF, CLASS1_NAME, error)
+ CALL verify("H5Pget_class_name_f", CLASS1_NAME_BUF, CLASS1_NAME, error)
IF(error.NE.0)THEN
WRITE(*,*) 'Class names do not match! name=',CLASS1_NAME_BUF, 'CLASS1_NAME=',CLASS1_NAME
total_error = total_error + 1
@@ -365,42 +356,42 @@ SUBROUTINE test_genprop_class_callback(total_error)
CALL check("h5pclose_class_f", error, total_error)
! Verify that the creation callback occurred
- CALL VERIFY("h5pcreate_f", crt_cb_struct%count, 1, total_error)
- CALL VERIFY_INTEGER_HID_T("h5pcreate_f", crt_cb_struct%id, lid1, total_error)
+ CALL verify("h5pcreate_f", crt_cb_struct%count, 1, total_error)
+ CALL verify("h5pcreate_f", crt_cb_struct%id, lid1, total_error)
! Check the number of properties in list
CALL h5pget_nprops_f(lid1,nprops, error)
CALL check("h5pget_nprops_f", error, total_error)
- CALL VERIFY("h5pget_nprops_f", INT(nprops), 4, total_error)
+ CALL verify("h5pget_nprops_f", INT(nprops), 4, total_error)
! Create another property list from the class
CALL h5pcreate_f(cid1, lid2, error)
CALL check("h5pcreate_f", error, total_error)
! Verify that the creation callback occurred
- CALL VERIFY("h5pcreate_f", crt_cb_struct%count, 2, total_error)
- CALL VERIFY_INTEGER_HID_T("h5pcreate_f", crt_cb_struct%id, lid2, total_error)
+ CALL verify("h5pcreate_f", crt_cb_struct%count, 2, total_error)
+ CALL verify("h5pcreate_f", crt_cb_struct%id, lid2, total_error)
! Check the number of properties in list
CALL h5pget_nprops_f(lid2,nprops, error)
CALL check("h5pget_nprops_f", error, total_error)
- CALL VERIFY("h5pget_nprops_f", INT(nprops), 4, total_error)
+ CALL verify("h5pget_nprops_f", INT(nprops), 4, total_error)
! Close first list
CALL h5pclose_f(lid1, error);
CALL check("h5pclose_f", error, total_error)
! Verify that the close callback occurred
- CALL VERIFY("h5pcreate_f", cls_cb_struct%count, 1, total_error)
- CALL VERIFY_INTEGER_HID_T("h5pcreate_f", cls_cb_struct%id, lid1, total_error)
+ CALL verify("h5pcreate_f", cls_cb_struct%count, 1, total_error)
+ CALL verify("h5pcreate_f", cls_cb_struct%id, lid1, total_error)
! Close second list
CALL h5pclose_f(lid2, error);
CALL check("h5pclose_f", error, total_error)
! Verify that the close callback occurred
- CALL VERIFY("h5pcreate_f", cls_cb_struct%count, 2, total_error)
- CALL verify_INTEGER_HID_T("h5pcreate_f", cls_cb_struct%id, lid2, total_error)
+ CALL verify("h5pcreate_f", cls_cb_struct%count, 2, total_error)
+ CALL verify("h5pcreate_f", cls_cb_struct%id, lid2, total_error)
! Close class
CALL h5pclose_class_f(cid1, error)
@@ -423,8 +414,6 @@ END SUBROUTINE test_genprop_class_callback
SUBROUTINE test_h5p_file_image(total_error)
- USE HDF5
- USE TH5_MISC
USE, INTRINSIC :: iso_c_binding
IMPLICIT NONE
INTEGER, INTENT(INOUT) :: total_error
@@ -475,11 +464,11 @@ SUBROUTINE test_h5p_file_image(total_error)
CALL check("h5pget_file_image_f", error, total_error)
! Check that sizes are the same, and that the buffers are identical but separate
- CALL VERIFY("h5pget_file_image_f", INT(temp_size), INT(size), total_error)
+ CALL verify("h5pget_file_image_f", INT(temp_size), INT(size), total_error)
! Verify the image data is correct
DO i = 1, count
- CALL VERIFY("h5pget_file_image_f", temp(i), buffer(i), total_error)
+ CALL verify("h5pget_file_image_f", temp(i), buffer(i), total_error)
ENDDO
END SUBROUTINE test_h5p_file_image
@@ -499,10 +488,6 @@ END SUBROUTINE test_h5p_file_image
!
SUBROUTINE external_test_offset(cleanup,total_error)
- USE ISO_C_BINDING
- USE TH5_MISC
- USE HDF5 ! This module contains all necessary modules
-
IMPLICIT NONE
INTEGER, INTENT(INOUT) :: total_error
LOGICAL, INTENT(IN) :: cleanup
diff --git a/fortran/test/tH5R.f90 b/fortran/test/tH5R.f90
index bd6264f..ef392b4 100644
--- a/fortran/test/tH5R.f90
+++ b/fortran/test/tH5R.f90
@@ -33,11 +33,13 @@
!
MODULE TH5R
+ USE HDF5
+ USE TH5_MISC
+ USE TH5_MISC_GEN
+
CONTAINS
SUBROUTINE refobjtest(cleanup, total_error)
- USE HDF5 ! This module contains all necessary modules
- USE TH5_MISC
IMPLICIT NONE
LOGICAL, INTENT(IN) :: cleanup
INTEGER, INTENT(INOUT) :: total_error
@@ -125,7 +127,6 @@ SUBROUTINE refobjtest(cleanup, total_error)
CALL check("h5tcopy_f",error,total_error)
CALL h5tcommit_f(file_id, "MyType", type_id, error)
CALL check("h5tcommit_f",error,total_error)
-
!
! Close dataspaces, groups and integer dataset
!
@@ -164,22 +165,22 @@ SUBROUTINE refobjtest(cleanup, total_error)
CALL check("H5Rget_name_f", error, total_error)
- CALL VERIFY("H5Rget_name_f", INT(buf_size),7, total_error)
- CALL VerifyString("H5Rget_name_f", buf, "/GROUP1", total_error)
+ CALL verify("H5Rget_name_f", INT(buf_size),7, total_error)
+ CALL verify("H5Rget_name_f", buf, "/GROUP1", total_error)
! with buffer bigger then needed
CALL H5Rget_name_f(dsetr_id, ref(1), buf_big, error, buf_size )
CALL check("H5Rget_name_f", error, total_error)
- CALL VERIFY("H5Rget_name_f", INT(buf_size),7,total_error)
- CALL VerifyString("H5Rget_name_f", TRIM(buf_big), "/GROUP1", total_error)
+ CALL verify("H5Rget_name_f", INT(buf_size),7,total_error)
+ CALL verify("H5Rget_name_f", TRIM(buf_big), "/GROUP1", total_error)
! getting path to dataset in /Group1
CALL H5Rget_name_f(dsetr_id, ref(2), buf_big, error, buf_size )
CALL check("H5Rget_name_f", error, total_error)
- CALL VERIFY("H5Rget_name_f", INT(buf_size),14,total_error)
- CALL VerifyString("H5Rget_name_f", TRIM(buf_big), "/GROUP1/GROUP2", total_error)
+ CALL verify("H5Rget_name_f", INT(buf_size),14,total_error)
+ CALL verify("H5Rget_name_f", TRIM(buf_big), "/GROUP1/GROUP2", total_error)
!
!Close the dataset
@@ -233,7 +234,6 @@ SUBROUTINE refobjtest(cleanup, total_error)
CALL h5fclose_f(file_id, error)
CALL check("h5fclose_f",error,total_error)
-
IF(cleanup) CALL h5_cleanup_f(filename, H5P_DEFAULT_F, error)
CALL check("h5_cleanup_f", error, total_error)
RETURN
@@ -244,9 +244,6 @@ END SUBROUTINE refobjtest
! and h5rdereference_f functionalities
!
SUBROUTINE refregtest(cleanup, total_error)
- USE HDF5 ! This module contains all necessary modules
- USE TH5_MISC
-! use iso_c_binding ! NOTE: if this is uncommented, then need to move subroutine into another file.
IMPLICIT NONE
LOGICAL, INTENT(IN) :: cleanup
@@ -408,23 +405,23 @@ SUBROUTINE refregtest(cleanup, total_error)
! Get name of the dataset the first region reference points to using H5Rget_name_f
CALL H5Rget_name_f(dsetr_id, ref_out(1), buf, error, buf_size )
CALL check("H5Rget_name_f", error, total_error)
- CALL VERIFY("H5Rget_name_f", INT(buf_size),7,total_error)
- CALL VerifyString("H5Rget_name_f", buf, "/MATRIX", total_error)
+ CALL verify("H5Rget_name_f", INT(buf_size),7,total_error)
+ CALL verify("H5Rget_name_f", buf, "/MATRIX", total_error)
! Get name of the dataset the first region reference points to using H5Rget_name_f
! buffer bigger then needed
CALL H5Rget_name_f(dsetr_id, ref_out(1), buf_big, error, buf_size )
CALL check("H5Rget_name_f", error, total_error)
- CALL VERIFY("H5Rget_name_f", INT(buf_size),7,total_error)
- CALL VerifyString("H5Rget_name_f", TRIM(buf_big), "/MATRIX", total_error)
+ CALL verify("H5Rget_name_f", INT(buf_size),7,total_error)
+ CALL verify("H5Rget_name_f", TRIM(buf_big), "/MATRIX", total_error)
! Get name of the dataset the first region reference points to using H5Rget_name_f
! buffer smaller then needed
CALL H5Rget_name_f(dsetr_id, ref_out(1), buf_small, error, buf_size )
CALL check("H5Rget_name_f", error, total_error)
- CALL VERIFY("H5Rget_name_f", INT(buf_size),7,total_error)
- CALL VerifyString("H5Rget_name_f", TRIM(buf_small), "/MAT", total_error)
+ CALL verify("H5Rget_name_f", INT(buf_size),7,total_error)
+ CALL verify("H5Rget_name_f", TRIM(buf_small), "/MAT", total_error)
!
! Dereference the first reference.
!
@@ -436,7 +433,7 @@ SUBROUTINE refregtest(cleanup, total_error)
! Get name of the dataset the second region reference points to using H5Rget_name_f
CALL H5Rget_name_f(dsetr_id, ref_out(2), buf, error) ! no optional size
CALL check("H5Rget_name_f", error, total_error)
- CALL VerifyString("H5Rget_name_f", TRIM(buf), "/MATRIX", total_error)
+ CALL verify("H5Rget_name_f", TRIM(buf), "/MATRIX", total_error)
!
! Read selected data from the dataset.
!
diff --git a/fortran/test/tH5S.f90 b/fortran/test/tH5S.f90
index eaaf29a..7223772 100644
--- a/fortran/test/tH5S.f90
+++ b/fortran/test/tH5S.f90
@@ -35,12 +35,14 @@
!*****
MODULE TH5S
+ USE HDF5 ! This module contains all necessary modules
+ USE TH5_MISC
+ USE TH5_MISC_GEN
+
CONTAINS
SUBROUTINE dataspace_basic_test(cleanup, total_error)
- USE HDF5 ! This module contains all necessary modules
- USE TH5_MISC
IMPLICIT NONE
LOGICAL, INTENT(IN) :: cleanup
diff --git a/fortran/test/tH5Sselect.f90 b/fortran/test/tH5Sselect.f90
index 7d07308..aeb80e9 100644
--- a/fortran/test/tH5Sselect.f90
+++ b/fortran/test/tH5Sselect.f90
@@ -38,13 +38,14 @@
!*****
MODULE TH5SSELECT
+ USE HDF5 ! This module contains all necessary modules
+ USE TH5_MISC
+ USE TH5_MISC_GEN
+
CONTAINS
SUBROUTINE test_select_hyperslab(cleanup, total_error)
- USE HDF5 ! This module contains all necessary modules
- USE TH5_MISC
-
IMPLICIT NONE
LOGICAL, INTENT(IN) :: cleanup
INTEGER, INTENT(INOUT) :: total_error
@@ -699,8 +700,6 @@ CONTAINS
SUBROUTINE test_basic_select(cleanup, total_error)
- USE HDF5 ! This module contains all necessary modules
- USE TH5_MISC
IMPLICIT NONE
LOGICAL, INTENT(IN) :: cleanup
@@ -1036,8 +1035,6 @@ CONTAINS
!***************************************************************
SUBROUTINE test_select_point(cleanup, total_error)
- USE HDF5 ! This module contains all necessary modules
- USE TH5_MISC
IMPLICIT NONE
LOGICAL, INTENT(IN) :: cleanup
@@ -1140,9 +1137,9 @@ SUBROUTINE test_select_point(cleanup, total_error)
CALL check("h5sget_select_elem_pointlist_f", error, total_error)
DO i= 1, POINT1_NPOINTS
- CALL VERIFY("h5sget_select_elem_pointlist_f", INT(temp_coord1(1,i)), INT(coord1(1,i)), total_error)
- CALL VERIFY("h5sget_select_elem_pointlist_f", INT(temp_coord1(2,i)), INT(coord1(2,i)), total_error)
- CALL VERIFY("h5sget_select_elem_pointlist_f", INT(temp_coord1(3,i)), INT(coord1(3,i)), total_error)
+ CALL verify("h5sget_select_elem_pointlist_f", INT(temp_coord1(1,i)), INT(coord1(1,i)), total_error)
+ CALL verify("h5sget_select_elem_pointlist_f", INT(temp_coord1(2,i)), INT(coord1(2,i)), total_error)
+ CALL verify("h5sget_select_elem_pointlist_f", INT(temp_coord1(3,i)), INT(coord1(3,i)), total_error)
ENDDO
CALL H5Sget_select_npoints_f(sid1, npoints, error)
@@ -1171,9 +1168,9 @@ SUBROUTINE test_select_point(cleanup, total_error)
CALL check("h5sget_select_elem_pointlist_f", error, total_error)
DO i= 1, POINT1_NPOINTS
- CALL VERIFY("h5sget_select_elem_pointlist_f", INT(temp_coord1(1,i)), INT(coord1(1,i)), total_error)
- CALL VERIFY("h5sget_select_elem_pointlist_f", INT(temp_coord1(2,i)), INT(coord1(2,i)), total_error)
- CALL VERIFY("h5sget_select_elem_pointlist_f", INT(temp_coord1(3,i)), INT(coord1(3,i)), total_error)
+ CALL verify("h5sget_select_elem_pointlist_f", INT(temp_coord1(1,i)), INT(coord1(1,i)), total_error)
+ CALL verify("h5sget_select_elem_pointlist_f", INT(temp_coord1(2,i)), INT(coord1(2,i)), total_error)
+ CALL verify("h5sget_select_elem_pointlist_f", INT(temp_coord1(3,i)), INT(coord1(3,i)), total_error)
ENDDO
CALL H5Sget_select_npoints_f(sid1, npoints, error)
@@ -1202,8 +1199,8 @@ SUBROUTINE test_select_point(cleanup, total_error)
CALL check("h5sget_select_elem_pointlist_f", error, total_error)
DO i= 1, POINT1_NPOINTS
- CALL VERIFY("h5sget_select_elem_pointlist_f", INT(temp_coord2(1,i)), INT(coord2(1,i)), total_error)
- CALL VERIFY("h5sget_select_elem_pointlist_f", INT(temp_coord2(2,i)), INT(coord2(2,i)), total_error)
+ CALL verify("h5sget_select_elem_pointlist_f", INT(temp_coord2(1,i)), INT(coord2(1,i)), total_error)
+ CALL verify("h5sget_select_elem_pointlist_f", INT(temp_coord2(2,i)), INT(coord2(2,i)), total_error)
ENDDO
!!$
@@ -1238,8 +1235,8 @@ SUBROUTINE test_select_point(cleanup, total_error)
CALL check("h5sget_select_elem_pointlist_f", error, total_error)
DO i= 1, POINT1_NPOINTS
- CALL VERIFY("h5sget_select_elem_pointlist_f", INT(temp_coord2(1,i)), INT(coord2(1,i)), total_error)
- CALL VERIFY("h5sget_select_elem_pointlist_f", INT(temp_coord2(2,i)), INT(coord2(2,i)), total_error)
+ CALL verify("h5sget_select_elem_pointlist_f", INT(temp_coord2(1,i)), INT(coord2(1,i)), total_error)
+ CALL verify("h5sget_select_elem_pointlist_f", INT(temp_coord2(2,i)), INT(coord2(2,i)), total_error)
ENDDO
CALL H5Sget_select_npoints_f(sid2, npoints, error)
@@ -1284,8 +1281,8 @@ SUBROUTINE test_select_point(cleanup, total_error)
CALL h5sget_select_elem_pointlist_f(sid2, INT(0,hsize_t), INT(POINT1_NPOINTS,hsize_t),temp_coord3,error)
CALL check("h5sget_select_elem_pointlist_f", error, total_error)
DO i= 1, POINT1_NPOINTS
- CALL VERIFY("h5sget_select_elem_pointlist_f", INT(temp_coord3(1,i)), INT(coord3(1,i)), total_error)
- CALL VERIFY("h5sget_select_elem_pointlist_f", INT(temp_coord3(2,i)), INT(coord3(2,i)), total_error)
+ CALL verify("h5sget_select_elem_pointlist_f", INT(temp_coord3(1,i)), INT(coord3(1,i)), total_error)
+ CALL verify("h5sget_select_elem_pointlist_f", INT(temp_coord3(2,i)), INT(coord3(2,i)), total_error)
ENDDO
CALL H5Sget_select_npoints_f(sid2, npoints, error)
@@ -1311,8 +1308,8 @@ SUBROUTINE test_select_point(cleanup, total_error)
CALL h5sget_select_elem_pointlist_f(sid2, INT(POINT1_NPOINTS,hsize_t), INT(POINT1_NPOINTS,hsize_t),temp_coord3,error)
CALL check("h5sget_select_elem_pointlist_f", error, total_error)
DO i= 1, POINT1_NPOINTS
- CALL VERIFY("h5sget_select_elem_pointlist_f", INT(temp_coord3(1,i)), INT(coord3(1,i)), total_error)
- CALL VERIFY("h5sget_select_elem_pointlist_f", INT(temp_coord3(2,i)), INT(coord3(2,i)), total_error)
+ CALL verify("h5sget_select_elem_pointlist_f", INT(temp_coord3(1,i)), INT(coord3(1,i)), total_error)
+ CALL verify("h5sget_select_elem_pointlist_f", INT(temp_coord3(2,i)), INT(coord3(2,i)), total_error)
ENDDO
CALL H5Sget_select_npoints_f(sid2, npoints, error)
@@ -1363,8 +1360,6 @@ END SUBROUTINE test_select_point
!***************************************************************
SUBROUTINE test_select_combine(total_error)
- USE HDF5 ! This module contains all necessary modules
- USE TH5_MISC
IMPLICIT NONE
INTEGER, INTENT(INOUT) :: total_error
@@ -1400,7 +1395,7 @@ SUBROUTINE test_select_combine(total_error)
CALL H5Sget_select_type_f(all_id, sel_type, error)
CALL check("H5Sget_select_type_f", error, total_error)
- CALL VERIFY("H5Sget_select_type_f", INT(sel_type), INT(H5S_SEL_ALL_F), total_error)
+ CALL verify("H5Sget_select_type_f", INT(sel_type), INT(H5S_SEL_ALL_F), total_error)
! Copy base dataspace and set selection to "none"
CALL h5scopy_f(base_id, none_id, error)
@@ -1411,7 +1406,7 @@ SUBROUTINE test_select_combine(total_error)
CALL H5Sget_select_type_f(none_id, sel_type, error)
CALL check("H5Sget_select_type_f", error, total_error)
- CALL VERIFY("H5Sget_select_type_f", INT(sel_type), INT(H5S_SEL_NONE_F), total_error)
+ CALL verify("H5Sget_select_type_f", INT(sel_type), INT(H5S_SEL_NONE_F), total_error)
! Copy "all" selection & space
CALL H5Scopy_f(all_id, space1, error)
@@ -1429,7 +1424,7 @@ SUBROUTINE test_select_combine(total_error)
! Verify that it's still "all" selection
CALL H5Sget_select_type_f(space1, sel_type, error)
CALL check("H5Sget_select_type_f", error, total_error)
- CALL VERIFY("H5Sget_select_type_f", INT(sel_type), INT(H5S_SEL_ALL_F), total_error)
+ CALL verify("H5Sget_select_type_f", INT(sel_type), INT(H5S_SEL_ALL_F), total_error)
! Close temporary dataspace
CALL h5sclose_f(space1, error)
@@ -1451,12 +1446,12 @@ SUBROUTINE test_select_combine(total_error)
! Verify that the new selection is the same at the original block
CALL H5Sget_select_type_f(space1, sel_type, error)
CALL check("H5Sget_select_type_f", error, total_error)
- CALL VERIFY("H5Sget_select_type_f", INT(sel_type), INT( H5S_SEL_HYPERSLABS_F), total_error)
+ CALL verify("H5Sget_select_type_f", INT(sel_type), INT( H5S_SEL_HYPERSLABS_F), total_error)
! Verify that there is only one block
CALL h5sget_select_hyper_nblocks_f(space1, nblocks, error)
CALL check("h5sget_select_hyper_nblocks_f", error, total_error)
- CALL VERIFY("h5sget_select_hyper_nblocks_f", INT(nblocks), 1, total_error)
+ CALL verify("h5sget_select_hyper_nblocks_f", INT(nblocks), 1, total_error)
! Retrieve the block defined
CALL h5sget_select_hyper_blocklist_f(space1, INT(0, hsize_t), INT(nblocks,hsize_t), blocks, error)
@@ -1464,10 +1459,10 @@ SUBROUTINE test_select_combine(total_error)
! Verify that the correct block is defined
- CALL VERIFY("h5sget_select_hyper_blocklist_f", INT(blocks(1,1,1)), 1, total_error)
- CALL VERIFY("h5sget_select_hyper_blocklist_f", INT(blocks(2,1,1)), 1, total_error)
- CALL VERIFY("h5sget_select_hyper_blocklist_f", INT(blocks(3,1,1)), 5, total_error)
- CALL VERIFY("h5sget_select_hyper_blocklist_f", INT(blocks(4,1,1)), 4, total_error)
+ CALL verify("h5sget_select_hyper_blocklist_f", INT(blocks(1,1,1)), 1, total_error)
+ CALL verify("h5sget_select_hyper_blocklist_f", INT(blocks(2,1,1)), 1, total_error)
+ CALL verify("h5sget_select_hyper_blocklist_f", INT(blocks(3,1,1)), 5, total_error)
+ CALL verify("h5sget_select_hyper_blocklist_f", INT(blocks(4,1,1)), 4, total_error)
! Close temporary dataspace
CALL h5sclose_f(space1, error)
@@ -1490,12 +1485,12 @@ SUBROUTINE test_select_combine(total_error)
! Verify that the new selection is an inversion of the original block
CALL H5Sget_select_type_f(space1, sel_type, error)
CALL check("H5Sget_select_type_f", error, total_error)
- CALL VERIFY("H5Sget_select_type_f", INT(sel_type), INT( H5S_SEL_HYPERSLABS_F), total_error)
+ CALL verify("H5Sget_select_type_f", INT(sel_type), INT( H5S_SEL_HYPERSLABS_F), total_error)
! Verify that there are two blocks
CALL h5sget_select_hyper_nblocks_f(space1, nblocks, error)
CALL check("h5sget_select_hyper_nblocks_f", error, total_error)
- CALL VERIFY("h5sget_select_hyper_nblocks_f", INT(nblocks), 2, total_error)
+ CALL verify("h5sget_select_hyper_nblocks_f", INT(nblocks), 2, total_error)
! Retrieve the block defined
@@ -1507,19 +1502,19 @@ SUBROUTINE test_select_combine(total_error)
! No guarantee is implied as the order in which blocks are listed.
! So this will ONLY work for square domains iblock(1:2) = (/5,5/)
-!!$ CALL VERIFY("h5sget_select_hyper_blocklist_f", INT(blocks(1,1,1)), 1, total_error)
-!!$ CALL VERIFY("h5sget_select_hyper_blocklist_f", INT(blocks(2,1,1)), 5, total_error)
-!!$ CALL VERIFY("h5sget_select_hyper_blocklist_f", INT(blocks(3,1,1)), 5, total_error)
-!!$ CALL VERIFY("h5sget_select_hyper_blocklist_f", INT(blocks(4,1,1)), 10, total_error)
-!!$ CALL VERIFY("h5sget_select_hyper_blocklist_f", INT(blocks(5,1,1)), 6, total_error)
-!!$ CALL VERIFY("h5sget_select_hyper_blocklist_f", INT(blocks(6,1,1)), 1, total_error)
-!!$ CALL VERIFY("h5sget_select_hyper_blocklist_f", INT(blocks(7,1,1)), 10, total_error)
-!!$ CALL VERIFY("h5sget_select_hyper_blocklist_f", INT(blocks(8,1,1)), 10, total_error)
+!!$ CALL verify("h5sget_select_hyper_blocklist_f", INT(blocks(1,1,1)), 1, total_error)
+!!$ CALL verify("h5sget_select_hyper_blocklist_f", INT(blocks(2,1,1)), 5, total_error)
+!!$ CALL verify("h5sget_select_hyper_blocklist_f", INT(blocks(3,1,1)), 5, total_error)
+!!$ CALL verify("h5sget_select_hyper_blocklist_f", INT(blocks(4,1,1)), 10, total_error)
+!!$ CALL verify("h5sget_select_hyper_blocklist_f", INT(blocks(5,1,1)), 6, total_error)
+!!$ CALL verify("h5sget_select_hyper_blocklist_f", INT(blocks(6,1,1)), 1, total_error)
+!!$ CALL verify("h5sget_select_hyper_blocklist_f", INT(blocks(7,1,1)), 10, total_error)
+!!$ CALL verify("h5sget_select_hyper_blocklist_f", INT(blocks(8,1,1)), 10, total_error)
! Otherwise make sure the "area" of the block is correct
area = (ABS(INT(blocks(1,1,1)-blocks(3,1,1)))+1)*(ABS(INT(blocks(2,1,1)-blocks(4,1,1)))+1)
area = area + (ABS(INT(blocks(5,1,1)-blocks(7,1,1)))+1)*(ABS(INT(blocks(6,1,1)-blocks(8,1,1)))+1)
- CALL VERIFY("h5sget_select_hyper_blocklist_f", area, 80, total_error)
+ CALL verify("h5sget_select_hyper_blocklist_f", area, 80, total_error)
! Close temporary dataspace
CALL h5sclose_f(space1, error)
@@ -1542,12 +1537,12 @@ SUBROUTINE test_select_combine(total_error)
! Verify that the new selection is an inversion of the original block
CALL H5Sget_select_type_f(space1, sel_type, error)
CALL check("H5Sget_select_type_f", error, total_error)
- CALL VERIFY("H5Sget_select_type_f", INT(sel_type), INT( H5S_SEL_HYPERSLABS_F), total_error)
+ CALL verify("H5Sget_select_type_f", INT(sel_type), INT( H5S_SEL_HYPERSLABS_F), total_error)
! Verify that there are two blocks
CALL h5sget_select_hyper_nblocks_f(space1, nblocks, error)
CALL check("h5sget_select_hyper_nblocks_f", error, total_error)
- CALL VERIFY("h5sget_select_hyper_nblocks_f", INT(nblocks), 2, total_error)
+ CALL verify("h5sget_select_hyper_nblocks_f", INT(nblocks), 2, total_error)
! Retrieve the block defined
blocks = -1 ! Reset block list
@@ -1559,19 +1554,19 @@ SUBROUTINE test_select_combine(total_error)
! No guarantee is implied as the order in which blocks are listed.
! So this will ONLY work for square domains iblock(1:2) = (/5,5/)
-!!$ CALL VERIFY("h5sget_select_hyper_blocklist_f", INT(blocks(1,1,1)), 1, total_error)
-!!$ CALL VERIFY("h5sget_select_hyper_blocklist_f", INT(blocks(2,1,1)), 5, total_error)
-!!$ CALL VERIFY("h5sget_select_hyper_blocklist_f", INT(blocks(3,1,1)), 5, total_error)
-!!$ CALL VERIFY("h5sget_select_hyper_blocklist_f", INT(blocks(4,1,1)),10, total_error)
-!!$ CALL VERIFY("h5sget_select_hyper_blocklist_f", INT(blocks(5,1,1)), 6, total_error)
-!!$ CALL VERIFY("h5sget_select_hyper_blocklist_f", INT(blocks(6,1,1)), 1, total_error)
-!!$ CALL VERIFY("h5sget_select_hyper_blocklist_f", INT(blocks(7,1,1)),10, total_error)
-!!$ CALL VERIFY("h5sget_select_hyper_blocklist_f", INT(blocks(8,1,1)),10, total_error)
+!!$ CALL verify("h5sget_select_hyper_blocklist_f", INT(blocks(1,1,1)), 1, total_error)
+!!$ CALL verify("h5sget_select_hyper_blocklist_f", INT(blocks(2,1,1)), 5, total_error)
+!!$ CALL verify("h5sget_select_hyper_blocklist_f", INT(blocks(3,1,1)), 5, total_error)
+!!$ CALL verify("h5sget_select_hyper_blocklist_f", INT(blocks(4,1,1)),10, total_error)
+!!$ CALL verify("h5sget_select_hyper_blocklist_f", INT(blocks(5,1,1)), 6, total_error)
+!!$ CALL verify("h5sget_select_hyper_blocklist_f", INT(blocks(6,1,1)), 1, total_error)
+!!$ CALL verify("h5sget_select_hyper_blocklist_f", INT(blocks(7,1,1)),10, total_error)
+!!$ CALL verify("h5sget_select_hyper_blocklist_f", INT(blocks(8,1,1)),10, total_error)
! Otherwise make sure the "area" of the block is correct
area = (ABS(INT(blocks(1,1,1)-blocks(3,1,1)))+1)*(ABS(INT(blocks(2,1,1)-blocks(4,1,1)))+1)
area = area + (ABS(INT(blocks(5,1,1)-blocks(7,1,1)))+1)*(ABS(INT(blocks(6,1,1)-blocks(8,1,1)))+1)
- CALL VERIFY("h5sget_select_hyper_blocklist_f", area, 80, total_error)
+ CALL verify("h5sget_select_hyper_blocklist_f", area, 80, total_error)
! Close temporary dataspace
@@ -1594,7 +1589,7 @@ SUBROUTINE test_select_combine(total_error)
! Verify that the new selection is the "none" selection
CALL H5Sget_select_type_f(space1, sel_type, error)
CALL check("H5Sget_select_type_f", error, total_error)
- CALL VERIFY("H5Sget_select_type_f", INT(sel_type), INT( H5S_SEL_NONE_F), total_error)
+ CALL verify("H5Sget_select_type_f", INT(sel_type), INT( H5S_SEL_NONE_F), total_error)
! Close temporary dataspace
CALL h5sclose_f(space1, error)
@@ -1617,13 +1612,13 @@ SUBROUTINE test_select_combine(total_error)
! Verify that the new selection is the same as the original hyperslab
CALL H5Sget_select_type_f(space1, sel_type, error)
CALL check("H5Sget_select_type_f", error, total_error)
- CALL VERIFY("H5Sget_select_type_f", INT(sel_type), INT( H5S_SEL_HYPERSLABS_F), total_error)
+ CALL verify("H5Sget_select_type_f", INT(sel_type), INT( H5S_SEL_HYPERSLABS_F), total_error)
! Verify that there is only one block
CALL h5sget_select_hyper_nblocks_f(space1, nblocks, error)
CALL check("h5sget_select_hyper_nblocks_f", error, total_error)
- CALL VERIFY("h5sget_select_hyper_nblocks_f", INT(nblocks), 1, total_error)
+ CALL verify("h5sget_select_hyper_nblocks_f", INT(nblocks), 1, total_error)
! Retrieve the block defined
blocks = -1 ! Reset block list
@@ -1631,10 +1626,10 @@ SUBROUTINE test_select_combine(total_error)
CALL check("h5sget_select_hyper_blocklist_f", error, total_error)
! Verify that the correct block is defined
- CALL VERIFY("h5sget_select_hyper_blocklist_f", INT(blocks(1,1,1)), 1, total_error)
- CALL VERIFY("h5sget_select_hyper_blocklist_f", INT(blocks(2,1,1)), 1, total_error)
- CALL VERIFY("h5sget_select_hyper_blocklist_f", INT(blocks(3,1,1)), 5, total_error)
- CALL VERIFY("h5sget_select_hyper_blocklist_f", INT(blocks(4,1,1)), 4, total_error)
+ CALL verify("h5sget_select_hyper_blocklist_f", INT(blocks(1,1,1)), 1, total_error)
+ CALL verify("h5sget_select_hyper_blocklist_f", INT(blocks(2,1,1)), 1, total_error)
+ CALL verify("h5sget_select_hyper_blocklist_f", INT(blocks(3,1,1)), 5, total_error)
+ CALL verify("h5sget_select_hyper_blocklist_f", INT(blocks(4,1,1)), 4, total_error)
! Close temporary dataspace
CALL h5sclose_f(space1, error)
@@ -1657,7 +1652,7 @@ SUBROUTINE test_select_combine(total_error)
! Verify that the new selection is the "none" selection
CALL H5Sget_select_type_f(space1, sel_type, error)
CALL check("H5Sget_select_type_f", error, total_error)
- CALL VERIFY("H5Sget_select_type_f", INT(sel_type), INT( H5S_SEL_NONE_F), total_error)
+ CALL verify("H5Sget_select_type_f", INT(sel_type), INT( H5S_SEL_NONE_F), total_error)
! Close temporary dataspace
CALL h5sclose_f(space1, error)
@@ -1680,23 +1675,23 @@ SUBROUTINE test_select_combine(total_error)
! Verify that the new selection is the same as the original hyperslab
CALL H5Sget_select_type_f(space1, sel_type, error)
CALL check("H5Sget_select_type_f", error, total_error)
- CALL VERIFY("H5Sget_select_type_f", INT(sel_type), INT( H5S_SEL_HYPERSLABS_F), total_error)
+ CALL verify("H5Sget_select_type_f", INT(sel_type), INT( H5S_SEL_HYPERSLABS_F), total_error)
! Verify that there is only one block
CALL h5sget_select_hyper_nblocks_f(space1, nblocks, error)
CALL check("h5sget_select_hyper_nblocks_f", error, total_error)
- CALL VERIFY("h5sget_select_hyper_nblocks_f", INT(nblocks), 1, total_error)
+ CALL verify("h5sget_select_hyper_nblocks_f", INT(nblocks), 1, total_error)
! Retrieve the block defined
blocks = -1 ! Reset block list
CALL h5sget_select_hyper_blocklist_f(space1, INT(0, hsize_t), INT(nblocks,hsize_t), blocks, error)
CALL check("h5sget_select_hyper_blocklist_f", error, total_error)
! Verify that the correct block is defined
- CALL VERIFY("h5sget_select_hyper_blocklist_f", INT(blocks(1,1,1)), 1, total_error)
- CALL VERIFY("h5sget_select_hyper_blocklist_f", INT(blocks(2,1,1)), 1, total_error)
- CALL VERIFY("h5sget_select_hyper_blocklist_f", INT(blocks(3,1,1)), 5, total_error)
- CALL VERIFY("h5sget_select_hyper_blocklist_f", INT(blocks(4,1,1)), 4, total_error)
+ CALL verify("h5sget_select_hyper_blocklist_f", INT(blocks(1,1,1)), 1, total_error)
+ CALL verify("h5sget_select_hyper_blocklist_f", INT(blocks(2,1,1)), 1, total_error)
+ CALL verify("h5sget_select_hyper_blocklist_f", INT(blocks(3,1,1)), 5, total_error)
+ CALL verify("h5sget_select_hyper_blocklist_f", INT(blocks(4,1,1)), 4, total_error)
! Close temporary dataspace
CALL h5sclose_f(space1, error)
@@ -1719,7 +1714,7 @@ SUBROUTINE test_select_combine(total_error)
! Verify that the new selection is the "none" selection
CALL H5Sget_select_type_f(space1, sel_type, error)
CALL check("H5Sget_select_type_f", error, total_error)
- CALL VERIFY("H5Sget_select_type_f", INT(sel_type), INT( H5S_SEL_NONE_F), total_error)
+ CALL verify("H5Sget_select_type_f", INT(sel_type), INT( H5S_SEL_NONE_F), total_error)
! Close temporary dataspace
CALL h5sclose_f(space1, error)
@@ -1741,12 +1736,12 @@ SUBROUTINE test_select_combine(total_error)
! Verify that the new selection is the same as the original hyperslab
CALL H5Sget_select_type_f(space1, sel_type, error)
CALL check("H5Sget_select_type_f", error, total_error)
- CALL VERIFY("H5Sget_select_type_f", INT(sel_type), INT( H5S_SEL_HYPERSLABS_F), total_error)
+ CALL verify("H5Sget_select_type_f", INT(sel_type), INT( H5S_SEL_HYPERSLABS_F), total_error)
! Verify that there is ONLY one BLOCK
CALL h5sget_select_hyper_nblocks_f(space1, nblocks, error)
CALL check("h5sget_select_hyper_nblocks_f", error, total_error)
- CALL VERIFY("h5sget_select_hyper_nblocks_f", INT(nblocks), 1, total_error)
+ CALL verify("h5sget_select_hyper_nblocks_f", INT(nblocks), 1, total_error)
! Retrieve the block defined
@@ -1757,10 +1752,10 @@ SUBROUTINE test_select_combine(total_error)
! Verify that the correct block is defined
- CALL VERIFY("h5sget_select_hyper_blocklist_f", INT(blocks(1,1,1)), 1, total_error)
- CALL VERIFY("h5sget_select_hyper_blocklist_f", INT(blocks(2,1,1)), 1, total_error)
- CALL VERIFY("h5sget_select_hyper_blocklist_f", INT(blocks(3,1,1)), 5, total_error)
- CALL VERIFY("h5sget_select_hyper_blocklist_f", INT(blocks(4,1,1)), 4, total_error)
+ CALL verify("h5sget_select_hyper_blocklist_f", INT(blocks(1,1,1)), 1, total_error)
+ CALL verify("h5sget_select_hyper_blocklist_f", INT(blocks(2,1,1)), 1, total_error)
+ CALL verify("h5sget_select_hyper_blocklist_f", INT(blocks(3,1,1)), 5, total_error)
+ CALL verify("h5sget_select_hyper_blocklist_f", INT(blocks(4,1,1)), 4, total_error)
! Close temporary dataspace
CALL h5sclose_f(space1, error)
@@ -1785,8 +1780,6 @@ END SUBROUTINE test_select_combine
!***************************************************************
SUBROUTINE test_select_bounds(total_error)
- USE HDF5 ! This module contains all necessary modules
- USE TH5_MISC
IMPLICIT NONE
INTEGER, INTENT(INOUT) :: total_error
@@ -1817,10 +1810,10 @@ SUBROUTINE test_select_bounds(total_error)
CALL h5sget_select_bounds_f(sid, low_bounds, high_bounds, error)
CALL check("h5sget_select_bounds_f", error, total_error)
- CALL VERIFY("h5sget_select_bounds_f", INT(low_bounds(1)), 1, total_error)
- CALL VERIFY("h5sget_select_bounds_f", INT(low_bounds(2)), 1, total_error)
- CALL VERIFY("h5sget_select_bounds_f", INT(high_bounds(1)), SPACE11_DIM1, total_error)
- CALL VERIFY("h5sget_select_bounds_f", INT(high_bounds(2)), SPACE11_DIM2, total_error)
+ CALL verify("h5sget_select_bounds_f", low_bounds(1), 1_hsize_t, total_error)
+ CALL verify("h5sget_select_bounds_f", low_bounds(2), 1_hsize_t, total_error)
+ CALL verify("h5sget_select_bounds_f", high_bounds(1), INT(SPACE11_DIM1, hsize_t), total_error)
+ CALL verify("h5sget_select_bounds_f", high_bounds(2), INT(SPACE11_DIM2, hsize_t), total_error)
! Set offset for selection
offset(1:2) = 1
@@ -1831,10 +1824,10 @@ SUBROUTINE test_select_bounds(total_error)
CALL h5sget_select_bounds_f(sid, low_bounds, high_bounds, error)
CALL check("h5sget_select_bounds_f", error, total_error)
- CALL verify("h5sget_select_bounds_f", INT(low_bounds(1)), 1, total_error)
- CALL verify("h5sget_select_bounds_f", INT(low_bounds(2)), 1, total_error)
- CALL verify("h5sget_select_bounds_f", INT(high_bounds(1)), SPACE11_DIM1, total_error)
- CALL verify("h5sget_select_bounds_f", INT(high_bounds(2)), SPACE11_DIM2, total_error)
+ CALL verify("h5sget_select_bounds_f", low_bounds(1), 1_hsize_t, total_error)
+ CALL verify("h5sget_select_bounds_f", low_bounds(2), 1_hsize_t, total_error)
+ CALL VERIFY("h5sget_select_bounds_f", high_bounds(1), INT(SPACE11_DIM1, hsize_t), total_error)
+ CALL verify("h5sget_select_bounds_f", high_bounds(2), INT(SPACE11_DIM2, hsize_t), total_error)
! Reset offset for selection
offset(1:2) = 0
@@ -1847,7 +1840,7 @@ SUBROUTINE test_select_bounds(total_error)
! Get bounds for 'none' selection, should fail
CALL h5sget_select_bounds_f(sid, low_bounds, high_bounds, error)
- CALL VERIFY("h5sget_select_bounds_f", error, -1, total_error)
+ CALL verify("h5sget_select_bounds_f", error, -1, total_error)
! Set point selection
@@ -1863,10 +1856,10 @@ SUBROUTINE test_select_bounds(total_error)
CALL h5sget_select_bounds_f(sid, low_bounds, high_bounds, error)
CALL check("h5sget_select_bounds_f", error, total_error)
- CALL VERIFY("h5sget_select_bounds_f", INT(low_bounds(1)), 3, total_error)
- CALL VERIFY("h5sget_select_bounds_f", INT(low_bounds(2)), 3, total_error)
- CALL VERIFY("h5sget_select_bounds_f", INT(high_bounds(1)), INT(SPACE11_DIM1-4), total_error)
- CALL VERIFY("h5sget_select_bounds_f", INT(high_bounds(2)), INT(SPACE11_DIM2-4), total_error)
+ CALL verify("h5sget_select_bounds_f", low_bounds(1), 3_hsize_t, total_error)
+ CALL verify("h5sget_select_bounds_f", low_bounds(2), 3_hsize_t, total_error)
+ CALL VERIFY("h5sget_select_bounds_f", high_bounds(1), INT(SPACE11_DIM1-4,hsize_t), total_error)
+ CALL verify("h5sget_select_bounds_f", high_bounds(2), INT(SPACE11_DIM2-4,hsize_t), total_error)
! Set bad offset for selection
@@ -1876,7 +1869,7 @@ SUBROUTINE test_select_bounds(total_error)
! Get bounds for hyperslab selection with negative offset
CALL h5sget_select_bounds_f(sid, low_bounds, high_bounds, error)
- CALL VERIFY("h5sget_select_bounds_f", error, -1, total_error)
+ CALL verify("h5sget_select_bounds_f", error, -1, total_error)
! Set valid offset for selection
offset(1:2) = (/2,-2/)
@@ -1887,10 +1880,10 @@ SUBROUTINE test_select_bounds(total_error)
CALL h5sget_select_bounds_f(sid, low_bounds, high_bounds, error)
CALL check("h5sget_select_bounds_f", error, total_error)
- CALL VERIFY("h5sget_select_bounds_f", INT(low_bounds(1)), 5, total_error)
- CALL VERIFY("h5sget_select_bounds_f", INT(low_bounds(2)), 1, total_error)
- CALL VERIFY("h5sget_select_bounds_f", INT(high_bounds(1)), INT(SPACE11_DIM1-2), total_error)
- CALL VERIFY("h5sget_select_bounds_f", INT(high_bounds(2)), INT(SPACE11_DIM2-6), total_error)
+ CALL verify("h5sget_select_bounds_f", low_bounds(1), 5_hsize_t, total_error)
+ CALL verify("h5sget_select_bounds_f", low_bounds(2), 1_hsize_t, total_error)
+ CALL verify("h5sget_select_bounds_f", high_bounds(1), INT(SPACE11_DIM1-2,hsize_t), total_error)
+ CALL verify("h5sget_select_bounds_f", high_bounds(2), INT(SPACE11_DIM2-6,hsize_t), total_error)
! Reset offset for selection
offset(1:2) = 0
@@ -1911,10 +1904,10 @@ SUBROUTINE test_select_bounds(total_error)
CALL h5sget_select_bounds_f(sid, low_bounds, high_bounds, error)
CALL check("h5sget_select_bounds_f", error, total_error)
- CALL VERIFY("h5sget_select_bounds_f", INT(low_bounds(1)), 3, total_error)
- CALL VERIFY("h5sget_select_bounds_f", INT(low_bounds(2)), 3, total_error)
- CALL VERIFY("h5sget_select_bounds_f", INT(high_bounds(1)), 37, total_error)
- CALL VERIFY("h5sget_select_bounds_f", INT(high_bounds(2)), 37, total_error)
+ CALL verify("h5sget_select_bounds_f", low_bounds(1), 3_hsize_t, total_error)
+ CALL verify("h5sget_select_bounds_f", low_bounds(2), 3_hsize_t, total_error)
+ CALL verify("h5sget_select_bounds_f", high_bounds(1), 37_hsize_t, total_error)
+ CALL verify("h5sget_select_bounds_f", high_bounds(2), 37_hsize_t, total_error)
! Set bad offset for selection
offset(1:2) = (/5,-5/)
@@ -1923,7 +1916,7 @@ SUBROUTINE test_select_bounds(total_error)
! Get bounds for hyperslab selection with negative offset
CALL h5sget_select_bounds_f(sid, low_bounds, high_bounds, error)
- CALL VERIFY("h5sget_select_bounds_f", error, -1, total_error)
+ CALL verify("h5sget_select_bounds_f", error, -1, total_error)
! Set valid offset for selection
offset(1:2) = (/5,-2/)
@@ -1934,10 +1927,10 @@ SUBROUTINE test_select_bounds(total_error)
CALL h5sget_select_bounds_f(sid, low_bounds, high_bounds, error)
CALL check("h5sget_select_bounds_f", error, total_error)
- CALL VERIFY("h5sget_select_bounds_f", INT(low_bounds(1)), 8, total_error)
- CALL VERIFY("h5sget_select_bounds_f", INT(low_bounds(2)), 1, total_error)
- CALL VERIFY("h5sget_select_bounds_f", INT(high_bounds(1)), 42, total_error)
- CALL VERIFY("h5sget_select_bounds_f", INT(high_bounds(2)), 35, total_error)
+ CALL verify("h5sget_select_bounds_f", low_bounds(1), 8_hsize_t, total_error)
+ CALL verify("h5sget_select_bounds_f", low_bounds(2), 1_hsize_t, total_error)
+ CALL verify("h5sget_select_bounds_f", high_bounds(1), 42_hsize_t, total_error)
+ CALL verify("h5sget_select_bounds_f", high_bounds(2), 35_hsize_t, total_error)
! Reset offset for selection
offset(1:2) = 0
@@ -1958,10 +1951,10 @@ SUBROUTINE test_select_bounds(total_error)
CALL h5sget_select_bounds_f(sid, low_bounds, high_bounds, error)
CALL check("h5sget_select_bounds_f", error, total_error)
- CALL VERIFY("h5sget_select_bounds_f", INT(low_bounds(1)), 3, total_error)
- CALL VERIFY("h5sget_select_bounds_f", INT(low_bounds(2)), 3, total_error)
- CALL VERIFY("h5sget_select_bounds_f", INT(high_bounds(1)), 50, total_error)
- CALL VERIFY("h5sget_select_bounds_f", INT(high_bounds(2)), 50, total_error)
+ CALL verify("h5sget_select_bounds_f", low_bounds(1), 3_hsize_t, total_error)
+ CALL verify("h5sget_select_bounds_f", low_bounds(2), 3_hsize_t, total_error)
+ CALL verify("h5sget_select_bounds_f", high_bounds(1), 50_hsize_t, total_error)
+ CALL verify("h5sget_select_bounds_f", high_bounds(2), 50_hsize_t, total_error)
! Set bad offset for selection
offset(1:2) = (/5,-5/)
@@ -1970,7 +1963,7 @@ SUBROUTINE test_select_bounds(total_error)
! Get bounds for hyperslab selection with negative offset
CALL h5sget_select_bounds_f(sid, low_bounds, high_bounds, error)
- CALL VERIFY("h5sget_select_bounds_f", error, -1, total_error)
+ CALL verify("h5sget_select_bounds_f", error, -1, total_error)
! Set valid offset for selection
offset(1:2) = (/5,-2/)
@@ -1981,10 +1974,10 @@ SUBROUTINE test_select_bounds(total_error)
CALL h5sget_select_bounds_f(sid, low_bounds, high_bounds, error)
CALL check("h5sget_select_bounds_f", error, total_error)
- CALL VERIFY("h5sget_select_bounds_f", INT(low_bounds(1)), 8, total_error)
- CALL VERIFY("h5sget_select_bounds_f", INT(low_bounds(2)), 1, total_error)
- CALL VERIFY("h5sget_select_bounds_f", INT(high_bounds(1)), 55, total_error)
- CALL VERIFY("h5sget_select_bounds_f", INT(high_bounds(2)), 48, total_error)
+ CALL verify("h5sget_select_bounds_f", low_bounds(1), 8_hsize_t, total_error)
+ CALL verify("h5sget_select_bounds_f", low_bounds(2), 1_hsize_t, total_error)
+ CALL verify("h5sget_select_bounds_f", high_bounds(1), 55_hsize_t, total_error)
+ CALL verify("h5sget_select_bounds_f", high_bounds(2), 48_hsize_t, total_error)
! Reset offset for selection
offset(1:2) = 0
diff --git a/fortran/test/tH5T.f90 b/fortran/test/tH5T.f90
index 7822c16..efbceea 100644
--- a/fortran/test/tH5T.f90
+++ b/fortran/test/tH5T.f90
@@ -29,6 +29,10 @@
MODULE TH5T
+ USE HDF5
+ USE TH5_MISC
+ USE TH5_MISC_GEN
+
CONTAINS
SUBROUTINE compoundtest(cleanup, total_error)
@@ -47,8 +51,6 @@ CONTAINS
! h5tget_class_f, h5tget_member_name_f, h5tget_member_offset_f, h5tget_member_type_f,
! h5tequal_f, h5tinsert_array_f, h5tcommit_f, h5tencode_f, h5tdecode_f
- USE HDF5 ! This module contains all necessary modules
- USE TH5_MISC
IMPLICIT NONE
LOGICAL, INTENT(IN) :: cleanup
@@ -155,7 +157,6 @@ CONTAINS
CALL h5tclose_f(fixed_str2,error)
CALL check("h5tclose_f", error, total_error)
-
data_dims(1) = dimsize
!
! Initialize data buffer.
@@ -178,47 +179,47 @@ CONTAINS
! during write/read to/from dataset with compound datatype.
!
CALL h5pcreate_f(H5P_DATASET_XFER_F, plist_id, error)
- CALL check("h5pcreate_f", error, total_error)
+ CALL check("h5pcreate_f", error, total_error)
CALL h5pset_preserve_f(plist_id, flag, error)
- CALL check("h5pset_preserve_f", error, total_error)
+ CALL check("h5pset_preserve_f", error, total_error)
!
! Create a new file using default properties.
!
- CALL h5_fixname_f(filename, fix_filename, H5P_DEFAULT_F, error)
+ CALL h5_fixname_f(filename, fix_filename, H5P_DEFAULT_F, error)
if (error .ne. 0) then
write(*,*) "Cannot modify filename"
stop
endif
CALL h5fcreate_f(fix_filename, H5F_ACC_TRUNC_F, file_id, error)
- CALL check("h5fcreate_f", error, total_error)
+ CALL check("h5fcreate_f", error, total_error)
!
! Create the dataspace.
!
CALL h5screate_simple_f(rank, dims, dspace_id, error)
- CALL check("h5screate_simple_f", error, total_error)
+ CALL check("h5screate_simple_f", error, total_error)
!
! Create compound datatype.
!
! First calculate total size by calculating sizes of each member
!
CALL h5tcopy_f(H5T_NATIVE_CHARACTER, dt5_id, error)
- CALL check("h5tcopy_f", error, total_error)
+ CALL check("h5tcopy_f", error, total_error)
sizechar = 2
CALL h5tset_size_f(dt5_id, sizechar, error)
- CALL check("h5tset_size_f", error, total_error)
+ CALL check("h5tset_size_f", error, total_error)
CALL h5tget_size_f(dt5_id, type_sizec, error)
- CALL check("h5tget_size_f", error, total_error)
+ CALL check("h5tget_size_f", error, total_error)
CALL h5tget_size_f(H5T_NATIVE_INTEGER, type_sizei, error)
- CALL check("h5tget_size_f", error, total_error)
+ CALL check("h5tget_size_f", error, total_error)
CALL h5tget_size_f(H5T_NATIVE_DOUBLE, type_sized, error)
- CALL check("h5tget_size_f", error, total_error)
+ CALL check("h5tget_size_f", error, total_error)
CALL h5tget_size_f(H5T_NATIVE_REAL, type_sizer, error)
- CALL check("h5tget_size_f", error, total_error)
+ CALL check("h5tget_size_f", error, total_error)
!write(*,*) "get sizes", type_sizec, type_sizei, type_sizer, type_sized
type_size = type_sizec + type_sizei + type_sized + type_sizer
CALL h5tcreate_f(H5T_COMPOUND_F, type_size, dtype_id, error)
- CALL check("h5tcreate_f", error, total_error)
+ CALL check("h5tcreate_f", error, total_error)
!
! Insert memebers
!
@@ -226,19 +227,19 @@ CONTAINS
!
offset = 0
CALL h5tinsert_f(dtype_id, "char_field", offset, dt5_id, error)
- CALL check("h5tinsert_f", error, total_error)
+ CALL check("h5tinsert_f", error, total_error)
!
! INTEGER member
!
offset = offset + type_sizec ! Offset of the second memeber is 2
CALL h5tinsert_f(dtype_id, "integer_field", offset, H5T_NATIVE_INTEGER, error)
- CALL check("h5tinsert_f", error, total_error)
+ CALL check("h5tinsert_f", error, total_error)
!
! DOUBLE PRECISION member
!
offset = offset + type_sizei ! Offset of the third memeber is 6
CALL h5tinsert_f(dtype_id, "double_field", offset, H5T_NATIVE_DOUBLE, error)
- CALL check("h5tinsert_f", error, total_error)
+ CALL check("h5tinsert_f", error, total_error)
!
! REAL member
!
@@ -250,123 +251,122 @@ CONTAINS
!
CALL h5dcreate_f(file_id, dsetname, dtype_id, dspace_id, &
dset_id, error)
- CALL check("h5dcreate_f", error, total_error)
+ CALL check("h5dcreate_f", error, total_error)
!
! Create memory types. We have to create a compound datatype
! for each member we want to write.
!
CALL h5tcreate_f(H5T_COMPOUND_F, type_sizec, dt1_id, error)
- CALL check("h5tcreate_f", error, total_error)
+ CALL check("h5tcreate_f", error, total_error)
offset = 0
CALL h5tinsert_f(dt1_id, "char_field", offset, dt5_id, error)
- CALL check("h5tinsert_f", error, total_error)
+ CALL check("h5tinsert_f", error, total_error)
!
CALL h5tcreate_f(H5T_COMPOUND_F, type_sizei, dt2_id, error)
- CALL check("h5tcreate_f", error, total_error)
+ CALL check("h5tcreate_f", error, total_error)
offset = 0
CALL h5tinsert_f(dt2_id, "integer_field", offset, H5T_NATIVE_INTEGER, error)
- CALL check("h5tinsert_f", error, total_error)
+ CALL check("h5tinsert_f", error, total_error)
!
CALL h5tcreate_f(H5T_COMPOUND_F, type_sized, dt3_id, error)
- CALL check("h5tcreate_f", error, total_error)
+ CALL check("h5tcreate_f", error, total_error)
offset = 0
CALL h5tinsert_f(dt3_id, "double_field", offset, H5T_NATIVE_DOUBLE, error)
- CALL check("h5tinsert_f", error, total_error)
+ CALL check("h5tinsert_f", error, total_error)
!
CALL h5tcreate_f(H5T_COMPOUND_F, type_sizer, dt4_id, error)
- CALL check("h5tcreate_f", error, total_error)
+ CALL check("h5tcreate_f", error, total_error)
offset = 0
CALL h5tinsert_f(dt4_id, "real_field", offset, H5T_NATIVE_REAL, error)
- CALL check("h5tinsert_f", error, total_error)
+ CALL check("h5tinsert_f", error, total_error)
!
! Write data by fields in the datatype. Fields order is not important.
!
CALL h5dwrite_f(dset_id, dt4_id, real_member, data_dims, error, xfer_prp = plist_id)
- CALL check("h5dwrite_f", error, total_error)
+ CALL check("h5dwrite_f", error, total_error)
CALL h5dwrite_f(dset_id, dt1_id, char_member, data_dims, error, xfer_prp = plist_id)
- CALL check("h5dwrite_f", error, total_error)
+ CALL check("h5dwrite_f", error, total_error)
CALL h5dwrite_f(dset_id, dt3_id, double_member, data_dims, error, xfer_prp = plist_id)
- CALL check("h5dwrite_f", error, total_error)
+ CALL check("h5dwrite_f", error, total_error)
CALL h5dwrite_f(dset_id, dt2_id, int_member, data_dims, error, xfer_prp = plist_id)
- CALL check("h5dwrite_f", error, total_error)
+ CALL check("h5dwrite_f", error, total_error)
!
! End access to the dataset and release resources used by it.
!
CALL h5dclose_f(dset_id, error)
- CALL check("h5dclose_f", error, total_error)
+ CALL check("h5dclose_f", error, total_error)
!
! Terminate access to the data space.
!
CALL h5sclose_f(dspace_id, error)
- CALL check("h5sclose_f", error, total_error)
+ CALL check("h5sclose_f", error, total_error)
!
! Terminate access to the datatype
!
CALL h5tclose_f(dtype_id, error)
- CALL check("h5tclose_f", error, total_error)
+ CALL check("h5tclose_f", error, total_error)
CALL h5tclose_f(dt1_id, error)
- CALL check("h5tclose_f", error, total_error)
+ CALL check("h5tclose_f", error, total_error)
CALL h5tclose_f(dt2_id, error)
- CALL check("h5tclose_f", error, total_error)
+ CALL check("h5tclose_f", error, total_error)
CALL h5tclose_f(dt3_id, error)
- CALL check("h5tclose_f", error, total_error)
+ CALL check("h5tclose_f", error, total_error)
CALL h5tclose_f(dt4_id, error)
- CALL check("h5tclose_f", error, total_error)
-
+ CALL check("h5tclose_f", error, total_error)
!
! Create and store compound datatype with the character and
! array members.
!
type_size = type_sizec + elements*type_sizer ! Size of compound datatype
CALL h5tcreate_f(H5T_COMPOUND_F, type_size, dtarray_id, error)
- CALL check("h5tcreate_f", error, total_error)
+ CALL check("h5tcreate_f", error, total_error)
offset = 0
CALL h5tinsert_f(dtarray_id, "char_field", offset, H5T_NATIVE_CHARACTER, error)
- CALL check("h5tinsert_f", error, total_error)
+ CALL check("h5tinsert_f", error, total_error)
offset = type_sizec
CALL h5tarray_create_f(H5T_NATIVE_REAL, array_dims_range, array_dims, arrayt_id, error)
- CALL check("h5tarray_create_f", error, total_error)
+ CALL check("h5tarray_create_f", error, total_error)
CALL h5tinsert_f(dtarray_id,"array_field", offset, arrayt_id, error)
- CALL check("h5tinsert_f", error, total_error)
+ CALL check("h5tinsert_f", error, total_error)
CALL h5tcommit_f(file_id, "Compound_with_array_member", dtarray_id, error)
- CALL check("h5tcommit_f", error, total_error)
+ CALL check("h5tcommit_f", error, total_error)
CALL h5tclose_f(arrayt_id, error)
- CALL check("h5tclose_f", error, total_error)
+ CALL check("h5tclose_f", error, total_error)
CALL h5tclose_f(dtarray_id, error)
- CALL check("h5tclose_f", error, total_error)
+ CALL check("h5tclose_f", error, total_error)
!
! Close the file.
!
CALL h5fclose_f(file_id, error)
- CALL check("h5fclose_f", error, total_error)
+ CALL check("h5fclose_f", error, total_error)
!
! Open the file.
!
CALL h5fopen_f (fix_filename, H5F_ACC_RDWR_F, file_id, error)
- CALL check("h5fopen_f", error, total_error)
+ CALL check("h5fopen_f", error, total_error)
!
! Open the dataset.
!
CALL h5dopen_f(file_id, dsetname, dset_id, error)
- CALL check("h5dopen_f", error, total_error)
+ CALL check("h5dopen_f", error, total_error)
!
! Get datatype of the open dataset.
! Check it class, number of members, and member's names.
!
CALL h5dget_type_f(dset_id, dtype_id, error)
- CALL check("h5dget_type_f", error, total_error)
+ CALL check("h5dget_type_f", error, total_error)
CALL h5tget_class_f(dtype_id, class, error)
- CALL check("h5dget_class_f", error, total_error)
+ CALL check("h5dget_class_f", error, total_error)
if (class .ne. H5T_COMPOUND_F) then
write(*,*) " Wrong class type returned"
total_error = total_error + 1
endif
CALL h5tget_nmembers_f(dtype_id, num_members, error)
- CALL check("h5dget_nmembers_f", error, total_error)
+ CALL check("h5dget_nmembers_f", error, total_error)
if (num_members .ne. COMP_NUM_MEMBERS ) then
write(*,*) " Wrong number of members returned"
total_error = total_error + 1
@@ -377,11 +377,11 @@ CONTAINS
!
do i = 1, num_members
CALL h5tget_member_name_f(dtype_id, i-1, member_name, len, error)
- CALL check("h5tget_member_name_f", error, total_error)
+ CALL check("h5tget_member_name_f", error, total_error)
CALL h5tget_member_offset_f(dtype_id, i-1, offset_out, error)
- CALL check("h5tget_member_offset_f", error, total_error)
+ CALL check("h5tget_member_offset_f", error, total_error)
CALL h5tget_member_index_f(dtype_id, member_name(1:len), member_index, error)
- CALL check("h5tget_member_index_f", error, total_error)
+ CALL check("h5tget_member_index_f", error, total_error)
if(member_index .ne. i-1) then
write(*,*) "Index returned is incorrect"
write(*,*) member_index, i-1
@@ -394,16 +394,16 @@ CONTAINS
write(*,*) "Offset of the char member is incorrect"
total_error = total_error + 1
endif
- CALL h5tget_member_type_f(dtype_id, i-1, membtype_id, error)
- CALL check("h5tget_member_type_f", error, total_error)
- CALL h5tequal_f(membtype_id, dt5_id, flag, error)
- CALL check("h5tequal_f", error, total_error)
+ CALL h5tget_member_type_f(dtype_id, i-1, membtype_id, error)
+ CALL check("h5tget_member_type_f", error, total_error)
+ CALL h5tequal_f(membtype_id, dt5_id, flag, error)
+ CALL check("h5tequal_f", error, total_error)
if(.not. flag) then
write(*,*) "Wrong member type returned for character member"
total_error = total_error + 1
endif
- CALL h5tget_member_class_f(dtype_id, i-1, class, error)
- CALL check("h5tget_member_class_f",error, total_error)
+ CALL h5tget_member_class_f(dtype_id, i-1, class, error)
+ CALL check("h5tget_member_class_f",error, total_error)
if (class .ne. H5T_STRING_F) then
write(*,*) "Wrong class returned for character member"
total_error = total_error + 1
@@ -413,16 +413,16 @@ CONTAINS
write(*,*) "Offset of the integer member is incorrect"
total_error = total_error + 1
endif
- CALL h5tget_member_type_f(dtype_id, i-1, membtype_id, error)
- CALL check("h5tget_member_type_f", error, total_error)
- CALL h5tequal_f(membtype_id, H5T_NATIVE_INTEGER, flag, error)
- CALL check("h5tequal_f", error, total_error)
+ CALL h5tget_member_type_f(dtype_id, i-1, membtype_id, error)
+ CALL check("h5tget_member_type_f", error, total_error)
+ CALL h5tequal_f(membtype_id, H5T_NATIVE_INTEGER, flag, error)
+ CALL check("h5tequal_f", error, total_error)
if(.not. flag) then
write(*,*) "Wrong member type returned for integer memebr"
total_error = total_error + 1
endif
- CALL h5tget_member_class_f(dtype_id, i-1, class, error)
- CALL check("h5tget_member_class_f",error, total_error)
+ CALL h5tget_member_class_f(dtype_id, i-1, class, error)
+ CALL check("h5tget_member_class_f",error, total_error)
if (class .ne. H5T_INTEGER_F) then
write(*,*) "Wrong class returned for INTEGER member"
total_error = total_error + 1
@@ -432,16 +432,16 @@ CONTAINS
write(*,*) "Offset of the double precision member is incorrect"
total_error = total_error + 1
endif
- CALL h5tget_member_type_f(dtype_id, i-1, membtype_id, error)
- CALL check("h5tget_member_type_f", error, total_error)
- CALL h5tequal_f(membtype_id, H5T_NATIVE_DOUBLE, flag, error)
- CALL check("h5tequal_f", error, total_error)
+ CALL h5tget_member_type_f(dtype_id, i-1, membtype_id, error)
+ CALL check("h5tget_member_type_f", error, total_error)
+ CALL h5tequal_f(membtype_id, H5T_NATIVE_DOUBLE, flag, error)
+ CALL check("h5tequal_f", error, total_error)
if(.not. flag) then
write(*,*) "Wrong member type returned for double precision memebr"
total_error = total_error + 1
endif
- CALL h5tget_member_class_f(dtype_id, i-1, class, error)
- CALL check("h5tget_member_class_f",error, total_error)
+ CALL h5tget_member_class_f(dtype_id, i-1, class, error)
+ CALL check("h5tget_member_class_f",error, total_error)
if (class .ne. H5T_FLOAT_F) then
write(*,*) "Wrong class returned for double precision member"
total_error = total_error + 1
@@ -451,16 +451,16 @@ CONTAINS
write(*,*) "Offset of the real member is incorrect"
total_error = total_error + 1
endif
- CALL h5tget_member_type_f(dtype_id, i-1, membtype_id, error)
- CALL check("h5tget_member_type_f", error, total_error)
- CALL h5tequal_f(membtype_id, H5T_NATIVE_REAL, flag, error)
- CALL check("h5tequal_f", error, total_error)
+ CALL h5tget_member_type_f(dtype_id, i-1, membtype_id, error)
+ CALL check("h5tget_member_type_f", error, total_error)
+ CALL h5tequal_f(membtype_id, H5T_NATIVE_REAL, flag, error)
+ CALL check("h5tequal_f", error, total_error)
if(.not. flag) then
write(*,*) "Wrong member type returned for real memebr"
total_error = total_error + 1
endif
- CALL h5tget_member_class_f(dtype_id, i-1, class, error)
- CALL check("h5tget_member_class_f",error, total_error)
+ CALL h5tget_member_class_f(dtype_id, i-1, class, error)
+ CALL check("h5tget_member_class_f",error, total_error)
if (class .ne. H5T_FLOAT_F) then
write(*,*) "Wrong class returned for real member"
total_error = total_error + 1
@@ -476,22 +476,22 @@ CONTAINS
! Create memory datatype to read character member of the compound datatype.
!
CALL h5tcopy_f(H5T_NATIVE_CHARACTER, dt2_id, error)
- CALL check("h5tcopy_f", error, total_error)
+ CALL check("h5tcopy_f", error, total_error)
sizechar = 2
CALL h5tset_size_f(dt2_id, sizechar, error)
- CALL check("h5tset_size_f", error, total_error)
+ CALL check("h5tset_size_f", error, total_error)
CALL h5tget_size_f(dt2_id, type_size, error)
- CALL check("h5tget_size_f", error, total_error)
+ CALL check("h5tget_size_f", error, total_error)
CALL h5tcreate_f(H5T_COMPOUND_F, type_size, dt1_id, error)
- CALL check("h5tcreate_f", error, total_error)
+ CALL check("h5tcreate_f", error, total_error)
offset = 0
CALL h5tinsert_f(dt1_id, "char_field", offset, dt2_id, error)
- CALL check("h5tinsert_f", error, total_error)
+ CALL check("h5tinsert_f", error, total_error)
!
! Read part of the dataset
!
CALL h5dread_f(dset_id, dt1_id, char_member_out, data_dims, error)
- CALL check("h5dread_f", error, total_error)
+ CALL check("h5dread_f", error, total_error)
do i = 1, dimsize
if (char_member_out(i) .ne. char_member(i)) then
write(*,*) " Wrong character data is read back "
@@ -500,15 +500,15 @@ CONTAINS
enddo
!
CALL h5tcreate_f(H5T_COMPOUND_F, type_sizei, dt5_id, error)
- CALL check("h5tcreate_f", error, total_error)
+ CALL check("h5tcreate_f", error, total_error)
offset = 0
CALL h5tinsert_f(dt5_id, "integer_field", offset, H5T_NATIVE_INTEGER, error)
- CALL check("h5tinsert_f", error, total_error)
+ CALL check("h5tinsert_f", error, total_error)
!
! Read part of the dataset
!
CALL h5dread_f(dset_id, dt5_id, int_member_out, data_dims, error)
- CALL check("h5dread_f", error, total_error)
+ CALL check("h5dread_f", error, total_error)
do i = 1, dimsize
if (int_member_out(i) .ne. int_member(i)) then
write(*,*) " Wrong integer data is read back "
@@ -518,39 +518,33 @@ CONTAINS
!
!
CALL h5tcreate_f(H5T_COMPOUND_F, type_sized, dt3_id, error)
- CALL check("h5tcreate_f", error, total_error)
+ CALL check("h5tcreate_f", error, total_error)
offset = 0
CALL h5tinsert_f(dt3_id, "double_field", offset, H5T_NATIVE_DOUBLE, error)
- CALL check("h5tinsert_f", error, total_error)
+ CALL check("h5tinsert_f", error, total_error)
!
! Read part of the dataset
!
CALL h5dread_f(dset_id, dt3_id, double_member_out, data_dims, error)
- CALL check("h5dread_f", error, total_error)
- do i = 1, dimsize
- IF( .NOT.dreal_eq( REAL(double_member_out(i),dp), REAL( double_member(i), dp)) ) THEN
- write(*,*) " Wrong double precision data is read back "
- total_error = total_error + 1
- endif
- enddo
+ CALL check("h5dread_f", error, total_error)
+ DO i = 1, dimsize
+ CALL VERIFY("h5dread_f:Wrong double precision data is read back", double_member_out(i), double_member(i), total_error)
+ ENDDO
!
!
CALL h5tcreate_f(H5T_COMPOUND_F, type_sizer, dt4_id, error)
- CALL check("h5tcreate_f", error, total_error)
+ CALL check("h5tcreate_f", error, total_error)
offset = 0
CALL h5tinsert_f(dt4_id, "real_field", offset, H5T_NATIVE_REAL, error)
- CALL check("h5tinsert_f", error, total_error)
+ CALL check("h5tinsert_f", error, total_error)
!
! Read part of the dataset
!
CALL h5dread_f(dset_id, dt4_id, real_member_out, data_dims, error)
- CALL check("h5dread_f", error, total_error)
- DO i = 1, dimsize
- IF( .NOT.dreal_eq( REAL(real_member_out(i),dp), REAL( real_member(i), dp)) ) THEN
- WRITE(*,*) " Wrong real precision data is read back "
- total_error = total_error + 1
- ENDIF
- ENDDO
+ CALL check("h5dread_f", error, total_error)
+ DO i = 1, dimsize
+ CALL VERIFY("h5dread_f:Wrong double precision data is read back", real_member_out(i), real_member(i), total_error)
+ ENDDO
!
! *-----------------------------------------------------------------------
! * Test encoding and decoding compound datatypes
@@ -565,7 +559,7 @@ CONTAINS
! Try decoding bogus buffer
CALL H5Tdecode_f(cmpd_buf, decoded_tid1, error)
- CALL VERIFY("H5Tdecode_f", error, -1, total_error)
+ CALL verify("H5Tdecode_f", error, -1, total_error)
CALL H5Tencode_f(dtype_id, cmpd_buf, cmpd_buf_size, error)
CALL check("H5Tencode_f", error, total_error)
@@ -578,27 +572,27 @@ CONTAINS
CALL H5Tequal_f(decoded_tid1, dtype_id, flag, error)
CALL check("H5Tequal_f", error, total_error)
- CALL VerifyLogical("H5Tequal_f", flag, .TRUE., total_error)
+ CALL verify("H5Tequal_f", flag, .TRUE., total_error)
!
! Close all open objects.
!
CALL h5dclose_f(dset_id, error)
- CALL check("h5dclose_f", error, total_error)
+ CALL check("h5dclose_f", error, total_error)
CALL h5tclose_f(dt1_id, error)
- CALL check("h5tclose_f", error, total_error)
+ CALL check("h5tclose_f", error, total_error)
CALL h5tclose_f(dt2_id, error)
- CALL check("h5tclose_f", error, total_error)
+ CALL check("h5tclose_f", error, total_error)
CALL h5tclose_f(dt3_id, error)
- CALL check("h5tclose_f", error, total_error)
+ CALL check("h5tclose_f", error, total_error)
CALL h5tclose_f(dt4_id, error)
- CALL check("h5tclose_f", error, total_error)
+ CALL check("h5tclose_f", error, total_error)
CALL h5tclose_f(dt5_id, error)
- CALL check("h5tclose_f", error, total_error)
+ CALL check("h5tclose_f", error, total_error)
CALL h5fclose_f(file_id, error)
- CALL check("h5fclose_f", error, total_error)
+ CALL check("h5fclose_f", error, total_error)
- if(cleanup) CALL h5_cleanup_f(filename, H5P_DEFAULT_F, error)
- CALL check("h5_cleanup_f", error, total_error)
+ IF(cleanup) CALL h5_cleanup_f(filename, H5P_DEFAULT_F, error)
+ CALL check("h5_cleanup_f", error, total_error)
RETURN
END SUBROUTINE compoundtest
@@ -614,9 +608,6 @@ CONTAINS
! H5tset_norm_f, H5tget_inpad_f, H5tset_inpad_f, H5tget_cset_f,
! H5tset_cset_f, H5tget_strpad_f, H5tset_strpad_f
- USE HDF5 ! This module contains all necessary modules
- USE TH5_MISC
-
IMPLICIT NONE
INTEGER, INTENT(OUT) :: total_error
@@ -902,7 +893,7 @@ CONTAINS
CALL check("H5Tget_order_f",error, total_error)
CALL H5Tget_order_f(H5T_NATIVE_INTEGER, order2, error)
CALL check("H5Tget_order_f",error, total_error)
- CALL VERIFY("H5Tget_native_type_f",order1, order2, total_error)
+ CALL verify("H5Tget_native_type_f",order1, order2, total_error)
! this test depends on whether -i8 was specified
@@ -910,11 +901,11 @@ CONTAINS
!!$ CALL check("H5Tget_size_f",error, total_error)
!!$ CALL H5Tget_size_f(H5T_STD_I32BE, type_size2, error)
!!$ CALL check("H5Tget_size_f",error, total_error)
-!!$ CALL VERIFY("H5Tget_native_type_f", INT(type_size1), INT(type_size2), total_error)
+!!$ CALL verify("H5Tget_native_type_f", INT(type_size1), INT(type_size2), total_error)
CALL H5Tget_class_f(native_type, class, error)
CALL check("H5Tget_class_f",error, total_error)
- CALL VERIFY("H5Tget_native_type_f", INT(class), INT(H5T_ENUM_F), total_error)
+ CALL verify("H5Tget_native_type_f", INT(class), INT(H5T_ENUM_F), total_error)
CALL h5dclose_f(dset_id,error)
CALL check("h5dclose_f", error, total_error)
@@ -972,8 +963,6 @@ CONTAINS
SUBROUTINE test_derived_flt(cleanup, total_error)
- USE HDF5 ! This module contains all necessary modules
- USE TH5_MISC
IMPLICIT NONE
LOGICAL, INTENT(IN) :: cleanup
@@ -1060,24 +1049,24 @@ SUBROUTINE test_derived_flt(cleanup, total_error)
CALL check("H5Tget_fields_f", error, total_error)
IF(spos.NE.44 .OR. epos.NE.34 .OR. esize.NE.10 .OR. mpos.NE.3 .OR. msize.NE.31)THEN
- CALL VERIFY("H5Tget_fields_f", -1, 0, total_error)
+ CALL verify("H5Tget_fields_f", -1, 0, total_error)
ENDIF
CALL H5Tget_precision_f(tid1, precision1, error)
CALL check("H5Tget_precision_f", error, total_error)
- CALL VERIFY("H5Tget_precision_f", INT(precision1), 42, total_error)
+ CALL verify("H5Tget_precision_f", INT(precision1), 42, total_error)
CALL H5Tget_offset_f(tid1, offset1, error)
CALL check("H5Tget_offset_f", error, total_error)
- CALL VERIFY("H5Tget_offset_f", INT(offset1), 3, total_error)
+ CALL verify("H5Tget_offset_f", INT(offset1), 3, total_error)
CALL H5Tget_size_f(tid1, size1, error)
CALL check("H5Tget_size_f", error, total_error)
- CALL VERIFY("H5Tget_size_f", INT(size1), 7, total_error)
+ CALL verify("H5Tget_size_f", INT(size1), 7, total_error)
CALL H5Tget_ebias_f(tid1, ebias1, error)
CALL check("H5Tget_ebias_f", error, total_error)
- CALL VERIFY("H5Tget_ebias_f", INT(ebias1), 511, total_error)
+ CALL verify("H5Tget_ebias_f", INT(ebias1), 511, total_error)
!--------------------------------------------------------------------------
! * 2nd floating-point type
@@ -1121,24 +1110,24 @@ SUBROUTINE test_derived_flt(cleanup, total_error)
CALL check("H5Tget_fields_f", error, total_error)
IF(spos.NE.23 .OR. epos.NE.16 .OR. esize.NE.7 .OR. mpos.NE.0 .OR. msize.NE.16)THEN
- CALL VERIFY("H5Tget_fields_f", -1, 0, total_error)
+ CALL verify("H5Tget_fields_f", -1, 0, total_error)
ENDIF
CALL H5Tget_precision_f(tid2, precision2, error)
CALL check("H5Tget_precision_f", error, total_error)
- CALL VERIFY("H5Tget_precision_f", INT(precision2), 24, total_error)
+ CALL verify("H5Tget_precision_f", INT(precision2), 24, total_error)
CALL H5Tget_offset_f(tid2, offset2, error)
CALL check("H5Tget_offset_f", error, total_error)
- CALL VERIFY("H5Tget_offset_f", INT(offset2), 0, total_error)
+ CALL verify("H5Tget_offset_f", INT(offset2), 0, total_error)
CALL H5Tget_size_f(tid2, size2, error)
CALL check("H5Tget_size_f", error, total_error)
- CALL VERIFY("H5Tget_size_f", INT(size2), 3, total_error)
+ CALL verify("H5Tget_size_f", INT(size2), 3, total_error)
CALL H5Tget_ebias_f(tid2, ebias2, error)
CALL check("H5Tget_ebias_f", error, total_error)
- CALL VERIFY("H5Tget_ebias_f", INT(ebias2), 63, total_error)
+ CALL verify("H5Tget_ebias_f", INT(ebias2), 63, total_error)
CALL h5tclose_f(tid1, error)
CALL check("h5tclose_f", error, total_error)
diff --git a/fortran/test/tH5T_F03.f90 b/fortran/test/tH5T_F03.F90
index 32531b0..d50b76d 100644
--- a/fortran/test/tH5T_F03.f90
+++ b/fortran/test/tH5T_F03.F90
@@ -41,19 +41,19 @@
!**
!***************************************************************
!
+#include <H5config_f.inc>
MODULE TH5T_F03
USE HDF5
+ USE TH5_MISC
+ USE TH5_MISC_GEN
USE ISO_C_BINDING
CONTAINS
SUBROUTINE test_array_compound_atomic(total_error)
- USE HDF5
- USE TH5_MISC
- USE ISO_C_BINDING
IMPLICIT NONE
INTEGER, INTENT(INOUT) :: total_error
@@ -201,7 +201,7 @@ SUBROUTINE test_array_compound_atomic(total_error)
! Check the 1st field's name
CALL H5Tget_member_name_f(tid2, 0, mname, namelen,error)
CALL check("H5Tget_member_name_f", error, total_error)
- CALL verifystring("H5Tget_member_name_f",mname(1:namelen),"i", total_error)
+ CALL verify("H5Tget_member_name_f",mname(1:namelen),"i", total_error)
! Check the 1st field's offset
CALL H5Tget_member_offset_f(tid2, 0, off, error)
@@ -215,7 +215,7 @@ SUBROUTINE test_array_compound_atomic(total_error)
CALL H5Tequal_f(mtid, H5T_NATIVE_INTEGER, flag, error)
CALL check("H5Tequal_f", error, total_error)
- CALL VerifyLogical("H5Tequal_f", flag, .TRUE., total_error)
+ CALL verify("H5Tequal_f", flag, .TRUE., total_error)
CALL h5tclose_f(mtid,error)
CALL check("h5tclose_f", error, total_error)
@@ -223,7 +223,7 @@ SUBROUTINE test_array_compound_atomic(total_error)
! Check the 2nd field's name
CALL H5Tget_member_name_f(tid2, 1, mname, namelen,error)
CALL check("H5Tget_member_name_f", error, total_error)
- CALL verifystring("H5Tget_member_name_f",mname(1:namelen),"f", total_error)
+ CALL verify("H5Tget_member_name_f",mname(1:namelen),"f", total_error)
! Check the 2nd field's offset
CALL H5Tget_member_offset_f(tid2, 1, off, error)
@@ -236,7 +236,7 @@ SUBROUTINE test_array_compound_atomic(total_error)
CALL H5Tequal_f(mtid, H5T_NATIVE_REAL, flag, error)
CALL check("H5Tequal_f", error, total_error)
- CALL VerifyLogical("H5Tequal_f", flag, .TRUE., total_error)
+ CALL verify("H5Tequal_f", flag, .TRUE., total_error)
CALL h5tclose_f(mtid,error)
CALL check("h5tclose_f", error, total_error)
@@ -258,10 +258,7 @@ SUBROUTINE test_array_compound_atomic(total_error)
PRINT*, 'ERROR: Wrong integer data is read back by H5Dread_f '
total_error = total_error + 1
ENDIF
- IF( .NOT.dreal_eq( REAL(wdata(i,j)%f,dp), REAL( rdata(i,j)%f, dp)) ) THEN
- PRINT*, 'ERROR: Wrong real data is read back by H5Dread_f '
- total_error = total_error + 1
- ENDIF
+ CALL VERIFY('ERROR: Wrong real data is read back by H5Dread_f ',wdata(i,j)%f, rdata(i,j)%f, total_error)
ENDDO
ENDDO
@@ -288,9 +285,6 @@ END SUBROUTINE test_array_compound_atomic
!!$
SUBROUTINE test_array_compound_array(total_error)
- USE HDF5
- USE TH5_MISC
- USE ISO_C_BINDING
IMPLICIT NONE
INTEGER, INTENT(INOUT) :: total_error
@@ -487,7 +481,7 @@ END SUBROUTINE test_array_compound_atomic
! Check the 1st field's name
CALL H5Tget_member_name_f(tid2, 0, mname, namelen,error)
CALL check("H5Tget_member_name_f", error, total_error)
- CALL verifystring("H5Tget_member_name_f",mname(1:namelen),"i", total_error)
+ CALL verify("H5Tget_member_name_f",mname(1:namelen),"i", total_error)
! Check the 1st field's offset
@@ -501,7 +495,7 @@ END SUBROUTINE test_array_compound_atomic
CALL H5Tequal_f(mtid, H5T_NATIVE_INTEGER, flag, error)
CALL check("H5Tequal_f", error, total_error)
- CALL VerifyLogical("H5Tequal_f", flag, .TRUE., total_error)
+ CALL verify("H5Tequal_f", flag, .TRUE., total_error)
CALL h5tclose_f(mtid,error)
CALL check("h5tclose_f", error, total_error)
@@ -509,7 +503,7 @@ END SUBROUTINE test_array_compound_atomic
! Check the 2nd field's name
CALL H5Tget_member_name_f(tid2, 1, mname, namelen,error)
CALL check("H5Tget_member_name_f", error, total_error)
- CALL verifystring("H5Tget_member_name_f",mname(1:namelen),"f", total_error)
+ CALL verify("H5Tget_member_name_f",mname(1:namelen),"f", total_error)
! Check the 2nd field's offset
CALL H5Tget_member_offset_f(tid2, 1, off, error)
@@ -542,7 +536,7 @@ END SUBROUTINE test_array_compound_atomic
! Check the 3rd field's name
CALL H5Tget_member_name_f(tid2, 2, mname, namelen,error)
CALL check("H5Tget_member_name_f", error, total_error)
- CALL verifystring("H5Tget_member_name_f",mname(1:namelen),"c", total_error)
+ CALL verify("H5Tget_member_name_f",mname(1:namelen),"c", total_error)
! Check the 3rd field's offset
CALL H5Tget_member_offset_f(tid2, 2, off, error)
@@ -579,7 +573,7 @@ END SUBROUTINE test_array_compound_atomic
CALL H5Tequal_f(tid3, H5T_NATIVE_REAL, flag, error)
CALL check("H5Tequal_f", error, total_error)
- CALL VerifyLogical("H5Tequal_f", flag, .TRUE., total_error)
+ CALL verify("H5Tequal_f", flag, .TRUE., total_error)
! Check the nested array's datatype
CALL H5Tget_super_f(mtid2, tid3, error)
@@ -587,7 +581,7 @@ END SUBROUTINE test_array_compound_atomic
CALL H5Tequal_f(tid3, atype_id, flag, error)
CALL check("H5Tequal_f", error, total_error)
- CALL VerifyLogical("H5Tequal_f", flag, .TRUE., total_error)
+ CALL verify("H5Tequal_f", flag, .TRUE., total_error)
! Close the array's base type datatype
CALL h5tclose_f(tid3, error)
@@ -656,9 +650,6 @@ END SUBROUTINE test_array_compound_atomic
!!$
SUBROUTINE test_array_bkg(total_error)
- USE HDF5
- USE TH5_MISC
- USE ISO_C_BINDING
IMPLICIT NONE
INTEGER, INTENT(INOUT) :: total_error
@@ -739,10 +730,10 @@ END SUBROUTINE test_array_compound_atomic
CALL h5tget_size_f(H5T_NATIVE_INTEGER, type_sizei, error)
CALL check("h5tget_size_f", error, total_error)
IF(h5_sizeof(cf(1)%b(1)).EQ.4_size_t)THEN
- CALL h5tget_size_f(H5T_NATIVE_REAL_4, type_sizer, error)
+ CALL h5tget_size_f(H5T_NATIVE_REAL_C_FLOAT, type_sizer, error)
CALL check("h5tget_size_f", error, total_error)
ELSE IF(h5_sizeof(cf(1)%b(1)).EQ.8_size_t)THEN
- CALL h5tget_size_f(H5T_NATIVE_REAL_8, type_sizer, error)
+ CALL h5tget_size_f(H5T_NATIVE_REAL_C_DOUBLE, type_sizer, error)
CALL check("h5tget_size_f", error, total_error)
ENDIF
@@ -757,8 +748,8 @@ END SUBROUTINE test_array_compound_atomic
! Initialize the data type IDs
! ----------------------------
dtsinfo%datatype(1) = H5T_NATIVE_INTEGER;
- dtsinfo%datatype(2) = H5T_NATIVE_REAL_4;
- dtsinfo%datatype(3) = H5T_NATIVE_REAL_8;
+ dtsinfo%datatype(2) = H5T_NATIVE_REAL_C_FLOAT;
+ dtsinfo%datatype(3) = H5T_NATIVE_REAL_C_DOUBLE;
! Initialize the names of data members
@@ -828,14 +819,8 @@ END SUBROUTINE test_array_compound_atomic
PRINT*, 'ERROR: Wrong integer data is read back by H5Dread_f '
total_error = total_error + 1
ENDIF
- IF( .NOT.dreal_eq( REAL(cf(i)%b(j),dp), REAL( cfr(i)%b(j), dp)) ) THEN
- PRINT*, 'ERROR: Wrong real data is read back by H5Dread_f '
- total_error = total_error + 1
- ENDIF
- IF( .NOT.dreal_eq( REAL(cf(i)%c(j),dp), REAL( cfr(i)%c(j), dp)) ) THEN
- PRINT*, 'ERROR: Wrong double data is read back by H5Dread_f '
- total_error = total_error + 1
- ENDIF
+ CALL VERIFY('ERROR: Wrong real data is read back by H5Dread_f ',cf(i)%b(j), cfr(i)%b(j), total_error)
+ CALL VERIFY('ERROR: Wrong double data is read back by H5Dread_f ',cf(i)%c(j), cfr(i)%c(j), total_error)
ENDDO
ENDDO
@@ -866,7 +851,7 @@ END SUBROUTINE test_array_compound_atomic
CALL h5tcreate_f(H5T_COMPOUND_F, sizeof_compound , type, error)
CALL check("h5tcreate_f", error, total_error)
- CALL h5tarray_create_f(H5T_NATIVE_REAL_4, 1, dima, array_dt, error)
+ CALL h5tarray_create_f(H5T_NATIVE_REAL_C_FLOAT, 1, dima, array_dt, error)
CALL check("h5tarray_create_f", error, total_error)
CALL h5tinsert_f(TYPE, "Two", 0_size_t, array_dt, error)
@@ -895,10 +880,7 @@ END SUBROUTINE test_array_compound_atomic
DO i = 1, LENGTH
DO j = 1, ALEN
- IF( .NOT.dreal_eq( REAL(fld(i)%b(j),dp), REAL( fldr(i)%b(j), dp)) ) THEN
- PRINT*, 'ERROR: Wrong real data is read back by H5Dread_f '
- total_error = total_error + 1
- ENDIF
+ CALL VERIFY('ERROR: Wrong real data is read back by H5Dread_f ',fld(i)%b(j), fldr(i)%b(j), total_error)
ENDDO
ENDDO
CALL h5tclose_f(TYPE,error)
@@ -922,18 +904,9 @@ END SUBROUTINE test_array_compound_atomic
DO i = 1, LENGTH
DO j = 1, ALEN
- IF( cf(i)%a(j) .NE. cfr(i)%a(j) )THEN
- PRINT*, 'ERROR: Wrong integer data is read back by H5Dread_f '
- total_error = total_error + 1
- ENDIF
- IF( .NOT.dreal_eq( REAL(cf(i)%b(j),dp), REAL(cfr(i)%b(j), dp)) ) THEN
- PRINT*, 'ERROR: Wrong real data is read back by H5Dread_f '
- total_error = total_error + 1
- ENDIF
- IF( .NOT.dreal_eq( REAL(cf(i)%c(j),dp), REAL(cfr(i)%c(j), dp)) ) THEN
- PRINT*, 'ERROR: Wrong double data is read back by H5Dread_f '
- total_error = total_error + 1
- ENDIF
+ CALL VERIFY('ERROR: Wrong integer data is read back by H5Dread_f ',cf(i)%a(j), cfr(i)%a(j), total_error)
+ CALL VERIFY('ERROR: Wrong real data is read back by H5Dread_f ',cf(i)%b(j),cfr(i)%b(j), total_error)
+ CALL VERIFY('ERROR: Wrong double data is read back by H5Dread_f ',cf(i)%c(j), cfr(i)%c(j), total_error)
ENDDO
ENDDO
@@ -980,18 +953,9 @@ END SUBROUTINE test_array_compound_atomic
DO i = 1, LENGTH
DO j = 1, ALEN
- IF( cf(i)%a(j) .NE. cfr(i)%a(j) )THEN
- PRINT*, 'ERROR: Wrong integer data is read back by H5Dread_f '
- total_error = total_error + 1
- ENDIF
- IF( .NOT.dreal_eq( REAL(cf(i)%b(j),dp), REAL(cfr(i)%b(j), dp)) ) THEN
- PRINT*, 'ERROR: Wrong real data is read back by H5Dread_f '
- total_error = total_error + 1
- ENDIF
- IF( .NOT.dreal_eq( REAL(cf(i)%c(j),dp), REAL(cfr(i)%c(j), dp)) ) THEN
- PRINT*, 'ERROR: Wrong double data is read back by H5Dread_f '
- total_error = total_error + 1
- ENDIF
+ CALL VERIFY('ERROR: Wrong integer data is read back by H5Dread_f ',cf(i)%a(j), cfr(i)%a(j), total_error)
+ CALL VERIFY('ERROR: Wrong real data is read back by H5Dread_f ',cf(i)%b(j),cfr(i)%b(j), total_error)
+ CALL VERIFY('ERROR: Wrong double data is read back by H5Dread_f ',cf(i)%c(j), cfr(i)%c(j), total_error)
ENDDO
ENDDO
@@ -1006,26 +970,49 @@ END SUBROUTINE test_array_compound_atomic
END SUBROUTINE test_array_bkg
-
-
SUBROUTINE test_h5kind_to_type(total_error)
- USE ISO_C_BINDING
- USE HDF5 ! This module contains all necessary modules
- USE TH5_MISC
-
IMPLICIT NONE
INTEGER, INTENT(INOUT) :: total_error
- INTEGER, PARAMETER :: int_kind_1 = SELECTED_INT_KIND(Fortran_INTEGER_1) !should map to INTEGER*1 on most modern processors
- INTEGER, PARAMETER :: int_kind_4 = SELECTED_INT_KIND(Fortran_INTEGER_2) !should map to INTEGER*2 on most modern processors
- INTEGER, PARAMETER :: int_kind_8 = SELECTED_INT_KIND(Fortran_INTEGER_4) !should map to INTEGER*4 on most modern processors
- INTEGER, PARAMETER :: int_kind_16 = SELECTED_INT_KIND(Fortran_INTEGER_8) !should map to INTEGER*8 on most modern processors
-
- INTEGER, PARAMETER :: real_kind_7 = SELECTED_REAL_KIND(Fortran_REAL_4) !should map to REAL*4 on most modern processors
- INTEGER, PARAMETER :: real_kind_15 = SELECTED_REAL_KIND(Fortran_REAL_8) !should map to REAL*8 on most modern processors
+ INTEGER, PARAMETER :: int_kind_1 = SELECTED_INT_KIND(2) !should map to INTEGER*1 on most modern processors
+ INTEGER, PARAMETER :: int_kind_4 = SELECTED_INT_KIND(4) !should map to INTEGER*2 on most modern processors
+ INTEGER, PARAMETER :: int_kind_8 = SELECTED_INT_KIND(9) !should map to INTEGER*4 on most modern processors
+ INTEGER, PARAMETER :: int_kind_16 = SELECTED_INT_KIND(18) !should map to INTEGER*8 on most modern processors
+#if H5_HAVE_Fortran_INTEGER_SIZEOF_16!=0
+ INTEGER, PARAMETER :: int_kind_32 = SELECTED_INT_KIND(36) !should map to INTEGER*16 on most modern processors
+ INTEGER(int_kind_32), DIMENSION(1:4), TARGET :: dset_data_i32, data_out_i32
+ INTEGER(HID_T) :: dset_id32 ! Dataset identifier
+ CHARACTER(LEN=6), PARAMETER :: dsetname16 = "dset16" ! Dataset name
+#endif
+ INTEGER, PARAMETER :: real_kind_7 = C_FLOAT !should map to REAL*4 on most modern processors
+ INTEGER, PARAMETER :: real_kind_15 = C_DOUBLE !should map to REAL*8 on most modern processors
+! Check if C has quad precision extension
+#if H5_HAVE_FLOAT128!=0
+! Check if Fortran supports quad precision
+# if H5_PAC_FC_MAX_REAL_PRECISION > 26
+ INTEGER, PARAMETER :: real_kind_31 = SELECTED_REAL_KIND(31)
+# else
+ INTEGER, PARAMETER :: real_kind_31 = SELECTED_REAL_KIND(15,307)
+# endif
+#else
+! Check if the default of long double is quad precision
+# if H5_PAC_C_MAX_REAL_PRECISION > 26
+# if H5_PAC_FC_MAX_REAL_PRECISION > 26
+ INTEGER, PARAMETER :: real_kind_31 = SELECTED_REAL_KIND(31)
+# else
+ INTEGER, PARAMETER :: real_kind_31 = SELECTED_REAL_KIND(15,307)
+# endif
+# else
+ INTEGER, PARAMETER :: real_kind_31 = SELECTED_REAL_KIND(15,307)
+# endif
+#endif
+ REAL(real_kind_31), DIMENSION(1:4), TARGET :: dset_data_r31, data_out_r31
+ INTEGER(HID_T) :: dset_idr16 ! Dataset identifier
+ CHARACTER(LEN=7), PARAMETER :: dsetnamer16 = "dsetr16" ! Dataset name
+
CHARACTER(LEN=12), PARAMETER :: filename = "dsetf_F03.h5" ! File name
CHARACTER(LEN=5), PARAMETER :: dsetname1 = "dset1" ! Dataset name
CHARACTER(LEN=5), PARAMETER :: dsetname2 = "dset2" ! Dataset name
@@ -1067,14 +1054,17 @@ END SUBROUTINE test_array_compound_atomic
! Initialize the dset_data array.
!
DO i = 1, 4
- dset_data_i1(i) = i
- dset_data_i4(i) = i
- dset_data_i8(i) = i
- dset_data_i16(i) = i
-
- dset_data_r(i) = (i)*100.
- dset_data_r7(i) = (i)*100.
- dset_data_r15(i) = (i)*1000.
+ dset_data_i1(i) = HUGE(0_int_kind_1)-i
+ dset_data_i4(i) = HUGE(0_int_kind_4)-i
+ dset_data_i8(i) = HUGE(0_int_kind_8)-i
+ dset_data_i16(i) = HUGE(0_int_kind_16)-i
+#if H5_HAVE_Fortran_INTEGER_SIZEOF_16!=0
+ dset_data_i32(i) = HUGE(0_int_kind_32)-i
+#endif
+ dset_data_r(i) = 4.0*ATAN(1.0)-REAL(i-1)
+ dset_data_r7(i) = 4.0_real_kind_7*ATAN(1.0_real_kind_7)-REAL(i-1,real_kind_7)
+ dset_data_r15(i) = 4.0_real_kind_15*ATAN(1.0_real_kind_15)-REAL(i-1,real_kind_15)
+ dset_data_r31(i) = 4.0_real_kind_31*ATAN(1.0_real_kind_31)-REAL(i-1,real_kind_31)
END DO
@@ -1096,14 +1086,20 @@ END SUBROUTINE test_array_compound_atomic
CALL check("H5Dcreate_f",error, total_error)
CALL H5Dcreate_f(file_id, dsetname8, h5kind_to_type(int_kind_16,H5_INTEGER_KIND), dspace_id, dset_id16, error)
CALL check("H5Dcreate_f",error, total_error)
-
+#if H5_HAVE_Fortran_INTEGER_SIZEOF_16!=0
+ CALL H5Dcreate_f(file_id, dsetname16, h5kind_to_type(int_kind_32,H5_INTEGER_KIND), dspace_id, dset_id32, error)
+ CALL check("H5Dcreate_f",error, total_error)
+#endif
CALL H5Dcreate_f(file_id, dsetnamer, H5T_NATIVE_REAL, dspace_id, dset_idr, error)
CALL check("H5Dcreate_f",error, total_error)
CALL H5Dcreate_f(file_id, dsetnamer4, h5kind_to_type(real_kind_7,H5_REAL_KIND), dspace_id, dset_idr4, error)
CALL check("H5Dcreate_f",error, total_error)
CALL H5Dcreate_f(file_id, dsetnamer8, h5kind_to_type(real_kind_15,H5_REAL_KIND), dspace_id, dset_idr8, error)
CALL check("H5Dcreate_f",error, total_error)
-
+!#ifdef H5_HAVE_FLOAT128
+ CALL H5Dcreate_f(file_id, dsetnamer16, h5kind_to_type(real_kind_31,H5_REAL_KIND), dspace_id, dset_idr16, error)
+ CALL check("H5Dcreate_f",error, total_error)
+!#endif
!
! Write the dataset.
!
@@ -1119,6 +1115,11 @@ END SUBROUTINE test_array_compound_atomic
f_ptr = C_LOC(dset_data_i16(1))
CALL h5dwrite_f(dset_id16, h5kind_to_type(int_kind_16,H5_INTEGER_KIND), f_ptr, error)
CALL check("H5Dwrite_f",error, total_error)
+#if H5_HAVE_Fortran_INTEGER_SIZEOF_16!=0
+ f_ptr = C_LOC(dset_data_i32(1))
+ CALL h5dwrite_f(dset_id32, h5kind_to_type(int_kind_32,H5_INTEGER_KIND), f_ptr, error)
+ CALL check("H5Dwrite_f",error, total_error)
+#endif
f_ptr = C_LOC(dset_data_r(1))
CALL h5dwrite_f(dset_idr, H5T_NATIVE_REAL, f_ptr, error)
CALL check("H5Dwrite_f",error, total_error)
@@ -1128,6 +1129,11 @@ END SUBROUTINE test_array_compound_atomic
f_ptr = C_LOC(dset_data_r15(1))
CALL h5dwrite_f(dset_idr8, h5kind_to_type(real_kind_15,H5_REAL_KIND), f_ptr, error)
CALL check("H5Dwrite_f",error, total_error)
+!#ifdef H5_HAVE_FLOAT128
+ f_ptr = C_LOC(dset_data_r31(1))
+ CALL h5dwrite_f(dset_idr16, h5kind_to_type(real_kind_31,H5_REAL_KIND), f_ptr, error)
+ CALL check("H5Dwrite_f",error, total_error)
+!#endif
!
! Close the file
!
@@ -1155,6 +1161,11 @@ END SUBROUTINE test_array_compound_atomic
f_ptr = C_LOC(data_out_i16)
CALL h5dread_f(dset_id16, h5kind_to_type(int_kind_16,H5_INTEGER_KIND), f_ptr, error)
CALL check("h5dread_f",error, total_error)
+#if H5_HAVE_Fortran_INTEGER_SIZEOF_16!=0
+ f_ptr = C_LOC(data_out_i32)
+ CALL h5dread_f(dset_id32, h5kind_to_type(int_kind_32,H5_INTEGER_KIND), f_ptr, error)
+ CALL check("h5dread_f",error, total_error)
+#endif
f_ptr = C_LOC(data_out_r)
CALL h5dread_f(dset_idr, H5T_NATIVE_REAL, f_ptr, error)
CALL check("h5dread_f",error, total_error)
@@ -1164,20 +1175,25 @@ END SUBROUTINE test_array_compound_atomic
f_ptr = C_LOC(data_out_r15)
CALL h5dread_f(dset_idr8, h5kind_to_type(real_kind_15,H5_REAL_KIND), f_ptr, error)
CALL check("h5dread_f",error, total_error)
-
+ f_ptr = C_LOC(data_out_r31)
+ CALL h5dread_f(dset_idr16, h5kind_to_type(real_kind_31,H5_REAL_KIND), f_ptr, error)
+ CALL check("h5dread_f",error, total_error)
DO i = 1, 4
- CALL verify_Fortran_INTEGER_4("h5kind_to_type1",INT(dset_data_i1(i),int_kind_8),INT(data_out_i1(i),int_kind_8),total_error)
- CALL verify_Fortran_INTEGER_4("h5kind_to_type2",INT(dset_data_i4(i),int_kind_8),INT(data_out_i4(i),int_kind_8),total_error)
- CALL verify_Fortran_INTEGER_4("h5kind_to_type3",INT(dset_data_i8(i),int_kind_8),INT(data_out_i8(i),int_kind_8),total_error)
- CALL verify_Fortran_INTEGER_4("h5kind_to_type4",INT(dset_data_i16(i),int_kind_8),INT(data_out_i16(i),int_kind_8),total_error)
+ CALL verify("h5kind_to_type",dset_data_i1(i),data_out_i1(i),total_error)
+ CALL verify("h5kind_to_type",dset_data_i4(i),data_out_i4(i),total_error)
+ CALL verify("h5kind_to_type",dset_data_i8(i),data_out_i8(i),total_error)
+ CALL verify("h5kind_to_type",dset_data_i16(i),data_out_i16(i),total_error)
- CALL verify_real_kind_7("h5kind_to_type5",REAL(dset_data_r(i),real_kind_7),REAL(data_out_r(i),real_kind_7),total_error)
- CALL verify_real_kind_7("h5kind_to_type6",REAL(dset_data_r7(i),real_kind_7),REAL(data_out_r7(i),real_kind_7),total_error)
- CALL verify_real_kind_7("h5kind_to_type7",REAL(dset_data_r15(i),real_kind_7),REAL(data_out_r15(i),real_kind_7),total_error)
-
+#if H5_HAVE_Fortran_INTEGER_SIZEOF_16!=0
+ CALL verify("h5kind_to_type",dset_data_i32(i),data_out_i32(i),total_error)
+#endif
+ CALL verify("h5kind_to_type",dset_data_r(i),data_out_r(i),total_error)
+ CALL verify("h5kind_to_type",dset_data_r7(i),data_out_r7(i),total_error)
+ CALL verify("h5kind_to_type",dset_data_r15(i),data_out_r15(i),total_error)
+ CALL verify("h5kind_to_type",dset_data_r31(i),data_out_r31(i),total_error)
END DO
-
+
!
! Close the dataset.
!
@@ -1212,10 +1228,6 @@ END SUBROUTINE test_h5kind_to_type
!************************************************************
SUBROUTINE t_array(total_error)
- USE ISO_C_BINDING
- USE HDF5
- USE TH5_MISC
-
IMPLICIT NONE
INTEGER, INTENT(INOUT) :: total_error
@@ -1300,8 +1312,8 @@ SUBROUTINE t_array(total_error)
CALL check("h5dget_type_f",error, error)
CALL H5Tget_array_dims_f(filetype, adims, error)
CALL check("h5dget_type_f",error, total_error)
- CALL VERIFY("H5Tget_array_dims_f", INT(adims(1)), adim0, total_error)
- CALL VERIFY("H5Tget_array_dims_f", INT(adims(2)), adim1, total_error)
+ CALL VERIFY("H5Tget_array_dims_f", adims(1), INT(adim0,hsize_t), total_error)
+ CALL VERIFY("H5Tget_array_dims_f", adims(2), INT(adim1,hsize_t), total_error)
!
! Get dataspace and allocate memory for read buffer. This is a
! three dimensional attribute when the array datatype is included.
@@ -1310,7 +1322,7 @@ SUBROUTINE t_array(total_error)
CALL check("H5Dget_space_f",error, error)
CALL H5Sget_simple_extent_dims_f(space, dims, maxdims, error)
CALL check("H5Sget_simple_extent_dims_f",error, total_error)
- CALL VERIFY("H5Sget_simple_extent_dims_f", INT(dims(1)), dim0, total_error)
+ CALL VERIFY("H5Sget_simple_extent_dims_f", dims(1), INT(dim0,hsize_t), total_error)
ALLOCATE(rdata(1:dims(1),1:adims(1),1:adims(2)))
!
@@ -1355,10 +1367,6 @@ END SUBROUTINE t_array
SUBROUTINE t_enum(total_error)
- USE HDF5
- USE TH5_MISC
- USE ISO_C_BINDING
-
IMPLICIT NONE
INTEGER, INTENT(INOUT) :: total_error
@@ -1419,7 +1427,8 @@ SUBROUTINE t_enum(total_error)
! Insert enumerated value for memtype.
!
val(1) = i
- CALL H5Tenum_insert_f(memtype, TRIM(names(i+1)), C_LOC(val(1)), error)
+ f_ptr = C_LOC(val(1))
+ CALL H5Tenum_insert_f(memtype, TRIM(names(i+1)), f_ptr, error)
CALL check("H5Tenum_insert_f", error, total_error)
!
! Insert enumerated value for filetype. We must first convert
@@ -1478,8 +1487,8 @@ SUBROUTINE t_enum(total_error)
CALL check("H5Dget_space_f",error, total_error)
CALL h5sget_simple_extent_dims_f(space, dims, maxdims, error)
CALL check("H5Sget_simple_extent_dims_f",error, total_error)
- CALL VERIFY("H5Sget_simple_extent_dims_f", INT(dims(1)), dim0, total_error)
- CALL VERIFY("H5Sget_simple_extent_dims_f", INT(dims(2)), dim1, total_error)
+ CALL VERIFY("H5Sget_simple_extent_dims_f", dims(1), INT(dim0,hsize_t), total_error)
+ CALL VERIFY("H5Sget_simple_extent_dims_f", dims(2), INT(dim1,hsize_t), total_error)
ALLOCATE(rdata(1:dims(1),1:dims(2)))
@@ -1501,7 +1510,7 @@ SUBROUTINE t_enum(total_error)
CALL h5tenum_nameof_f( memtype, rdata(i,j), NAME_BUF_SIZE, name, error)
CALL check("h5tenum_nameof_f",error, total_error)
idx = MOD( (j-1)*(i-1), PLASMA+1 ) + 1
- CALL verifystring("h5tenum_nameof_f",TRIM(name),TRIM(names(idx)), total_error)
+ CALL verify("h5tenum_nameof_f",TRIM(name),TRIM(names(idx)), total_error)
IF(total_error.NE.0) EXIT i_loop
ENDDO
ENDDO i_loop
@@ -1522,10 +1531,6 @@ END SUBROUTINE t_enum
SUBROUTINE t_bit(total_error)
- USE HDF5
- USE TH5_MISC
- USE ISO_C_BINDING
-
IMPLICIT NONE
INTEGER, INTENT(INOUT) :: total_error
@@ -1602,8 +1607,8 @@ SUBROUTINE t_bit(total_error)
CALL check("H5Dget_space_f",error, total_error)
CALL H5Sget_simple_extent_dims_f(space, dims, maxdims, error)
CALL check("H5Sget_simple_extent_dims_f",error, total_error)
- CALL VERIFY("H5Sget_simple_extent_dims_f", INT(dims(1)), dim0, total_error)
- CALL VERIFY("H5Sget_simple_extent_dims_f", INT(dims(2)), dim1, total_error)
+ CALL VERIFY("H5Sget_simple_extent_dims_f", dims(1), INT(dim0,hsize_t), total_error)
+ CALL VERIFY("H5Sget_simple_extent_dims_f", dims(2), INT(dim1,hsize_t), total_error)
ALLOCATE(rdata(1:dims(1),1:dims(2)))
!
! Read the data.
@@ -1648,10 +1653,6 @@ END SUBROUTINE t_bit
SUBROUTINE t_opaque(total_error)
- USE HDF5
- USE TH5_MISC
- USE ISO_C_BINDING
-
IMPLICIT NONE
INTEGER, INTENT(INOUT) :: total_error
@@ -1746,19 +1747,19 @@ SUBROUTINE t_opaque(total_error)
CALL h5tget_tag_f(dtype, tag_sm, taglen, error)
CALL check("h5tget_tag_f",error, total_error)
CALL VERIFY("h5tget_tag_f", taglen, 15, total_error)
- CALL verifystring("h5tget_tag_f",tag_sm,"Character arra", total_error)
+ CALL verify("h5tget_tag_f",tag_sm,"Character arra", total_error)
! Test reading into a string that is exact
CALL h5tget_tag_f(dtype, tag_exact, taglen, error)
CALL check("h5tget_tag_f",error, total_error)
CALL VERIFY("h5tget_tag_f", taglen, 15, total_error)
- CALL verifystring("h5tget_tag_f",tag_exact,"Character array", total_error)
+ CALL verify("h5tget_tag_f",tag_exact,"Character array", total_error)
! Test reading into a string that is to big
CALL h5tget_tag_f(dtype, tag_big, taglen, error)
CALL check("h5tget_tag_f",error, total_error)
CALL VERIFY("h5tget_tag_f", taglen, 15, total_error)
- CALL verifystring("h5tget_tag_f",tag_big,"Character array ", total_error)
+ CALL verify("h5tget_tag_f",tag_big,"Character array ", total_error)
!
! Get dataspace and allocate memory for read buffer.
@@ -1767,7 +1768,7 @@ SUBROUTINE t_opaque(total_error)
CALL check("H5Dget_space_f",error, total_error)
CALL h5sget_simple_extent_dims_f(space, dims, maxdims, error)
CALL check("H5Sget_simple_extent_dims_f",error, total_error)
- CALL VERIFY("H5Sget_simple_extent_dims_f", INT(dims(1)), dim0, total_error)
+ CALL VERIFY("H5Sget_simple_extent_dims_f", dims(1), INT(dim0,hsize_t), total_error)
ALLOCATE(rdata(1:dims(1)))
!
! Read the data.
@@ -1777,7 +1778,7 @@ SUBROUTINE t_opaque(total_error)
CALL check("H5Dread_f",error, total_error)
!
DO i = 1, dims(1)
- CALL verifystring("t_opaque",TRIM(rdata(i)),TRIM(wdata(i)), total_error)
+ CALL verify("t_opaque",TRIM(rdata(i)),TRIM(wdata(i)), total_error)
ENDDO
!
! Close and release resources.
@@ -1796,10 +1797,6 @@ END SUBROUTINE t_opaque
SUBROUTINE t_objref(total_error)
- USE HDF5
- USE TH5_MISC
- USE ISO_C_BINDING
-
IMPLICIT NONE
INTEGER, INTENT(INOUT) :: total_error
@@ -1892,7 +1889,7 @@ SUBROUTINE t_objref(total_error)
CALL check("H5Dget_space_f",error, total_error)
CALL h5sget_simple_extent_dims_f(space, dims, maxdims, error)
CALL check("H5Sget_simple_extent_dims_f",error, total_error)
- CALL VERIFY("H5Sget_simple_extent_dims_f", INT(dims(1)), dim0, total_error)
+ CALL VERIFY("H5Sget_simple_extent_dims_f", dims(1), INT(dim0,hsize_t), total_error)
ALLOCATE(rdata(1:maxdims(1)))
!
@@ -1923,9 +1920,9 @@ SUBROUTINE t_objref(total_error)
! Print the object type and close the object.
!
IF(objtype.EQ.H5G_GROUP_F)THEN
- CALL verifystring("t_objref", name(1:name_size),"/G1", total_error)
+ CALL verify("t_objref", name(1:name_size),"/G1", total_error)
ELSE IF(objtype.EQ.H5G_DATASET_F)THEN
- CALL verifystring("t_objref", name(1:name_size),"/DS2", total_error)
+ CALL verify("t_objref", name(1:name_size),"/DS2", total_error)
ELSE
total_error = total_error + 1
ENDIF
@@ -1949,10 +1946,6 @@ END SUBROUTINE t_objref
SUBROUTINE t_regref(total_error)
- USE HDF5
- USE TH5_MISC
- USE ISO_C_BINDING
-
IMPLICIT NONE
INTEGER, INTENT(INOUT) :: total_error
@@ -2075,7 +2068,7 @@ SUBROUTINE t_regref(total_error)
CALL check("H5Dget_space_f",error, total_error)
CALL h5sget_simple_extent_dims_f(space, dims, maxdims, error)
CALL check("H5Sget_simple_extent_dims_f",error, total_error)
- CALL VERIFY("H5Sget_simple_extent_dims_f", INT(dims(1)), dim0, total_error)
+ CALL VERIFY("H5Sget_simple_extent_dims_f", dims(1), INT(dim0,hsize_t), total_error)
ALLOCATE(rdata(1:dims(1)))
CALL h5sclose_f(space, error)
CALL check("h5sclose_f",error, total_error)
@@ -2108,7 +2101,7 @@ SUBROUTINE t_regref(total_error)
CALL H5Iget_name_f(dset2, name, 80_size_t, size, error)
CALL check("H5Iget_name_f",error, total_error)
CALL VERIFY("H5Iget_name_f", INT(size), LEN_TRIM(name), total_error)
- CALL verifystring("H5Iget_name_f",name(1:size),TRIM(name), total_error)
+ CALL verify("H5Iget_name_f",name(1:size),TRIM(name), total_error)
!
! Allocate space for the read buffer.
!
@@ -2126,7 +2119,7 @@ SUBROUTINE t_regref(total_error)
f_ptr = C_LOC(rdata2(1)(1:1))
CALL h5dread_f( dset2, H5T_NATIVE_INTEGER_1, f_ptr, error, memspace, space)
CALL check("H5Dread_f",error, total_error)
- CALL verifystring("h5dread_f",rdata2(1)(1:npoints),TRIM(chrref_correct(i)), total_error)
+ CALL verify("h5dread_f",rdata2(1)(1:npoints),TRIM(chrref_correct(i)), total_error)
CALL H5Sclose_f(space, error)
CALL check("h5sclose_f",error, total_error)
@@ -2149,10 +2142,6 @@ END SUBROUTINE t_regref
SUBROUTINE t_vlen(total_error)
- USE HDF5
- USE TH5_MISC
- USE ISO_C_BINDING
-
IMPLICIT NONE
INTEGER, INTENT(INOUT) :: total_error
@@ -2307,10 +2296,6 @@ END SUBROUTINE t_vlen
SUBROUTINE t_vlstring(total_error)
- USE HDF5
- USE TH5_MISC
- USE ISO_C_BINDING
-
IMPLICIT NONE
INTEGER, INTENT(INOUT) :: total_error
@@ -2409,7 +2394,7 @@ SUBROUTINE t_vlstring(total_error)
! Output the data to the screen.
!
DO i = 1, dims(1)
- CALL verifystring("h5dopen_f",TRIM(rdata(i)),TRIM(wdata(i)) , total_error)
+ CALL verify("h5dopen_f",TRIM(rdata(i)),TRIM(wdata(i)) , total_error)
END DO
DEALLOCATE(rdata)
@@ -2428,10 +2413,6 @@ SUBROUTINE t_vlstring_readwrite(total_error)
! test writing and reading vl string using h5dread_f and h5dwrite_f, C_LOC and C_F_POINTER
- USE HDF5
- USE TH5_MISC
- USE ISO_C_BINDING
-
IMPLICIT NONE
INTEGER, INTENT(INOUT) :: total_error
@@ -2611,7 +2592,7 @@ SUBROUTINE t_vlstring_readwrite(total_error)
IF(DATA(len+1:len+1).EQ.C_NULL_CHAR.OR.len.GE.8) EXIT
len = len + 1
ENDDO
- CALL verifystring("h5dread_f",data(1:len), data_w(i)(1:len), total_error)
+ CALL verify("h5dread_f",data(1:len), data_w(i)(1:len), total_error)
END DO
DEALLOCATE(rdata)
@@ -2659,7 +2640,7 @@ SUBROUTINE t_vlstring_readwrite(total_error)
IF(DATA(len+1:len+1).EQ.C_NULL_CHAR.OR.len.GE.8) EXIT
len = len + 1
ENDDO
- CALL verifystring("h5dread_f",DATA(1:len), data2D_w(i,j)(1:len), total_error)
+ CALL verify("h5dread_f",DATA(1:len), data2D_w(i,j)(1:len), total_error)
ENDDO
END DO
@@ -2679,10 +2660,6 @@ END SUBROUTINE t_vlstring_readwrite
SUBROUTINE t_string(total_error)
- USE HDF5
- USE TH5_MISC
- USE ISO_C_BINDING
-
IMPLICIT NONE
INTEGER, INTENT(INOUT) :: total_error
@@ -2766,7 +2743,7 @@ SUBROUTINE t_string(total_error)
CALL check("H5Dget_space_f",error, total_error)
CALL H5Sget_simple_extent_dims_f(space, dims, maxdims, error)
CALL check("H5Sget_simple_extent_dims_f",error, total_error)
- CALL VERIFY("H5Sget_simple_extent_dims_f", INT(dims(1)), dim0, total_error)
+ CALL VERIFY("H5Sget_simple_extent_dims_f", dims(1), INT(dim0,hsize_t), total_error)
ALLOCATE(rdata(1:dims(1)))
!
@@ -2784,7 +2761,7 @@ SUBROUTINE t_string(total_error)
CALL check("H5Dread_f",error, total_error)
DO i = 1, dims(1)
- CALL verifystring("h5dread_f",TRIM(rdata(i)),TRIM(wdata(i)) , total_error)
+ CALL verify("h5dread_f",TRIM(rdata(i)),TRIM(wdata(i)) , total_error)
END DO
DEALLOCATE(rdata)
@@ -2806,8 +2783,6 @@ END SUBROUTINE t_string
SUBROUTINE vl_test_special_char(total_error)
- USE HDF5
- USE TH5_MISC
IMPLICIT NONE
! INTERFACE
@@ -2909,9 +2884,6 @@ END SUBROUTINE vl_test_special_char
SUBROUTINE setup_buffer(data_in, line_lengths, char_type)
- USE HDF5
- USE ISO_C_BINDING
-
IMPLICIT NONE
! Creates a simple "Data_in" consisting of the letters of the alphabet,
@@ -2973,12 +2945,8 @@ END SUBROUTINE setup_buffer
SUBROUTINE test_nbit(total_error )
- USE HDF5
- USE TH5_MISC
- USE ISO_C_BINDING
-
IMPLICIT NONE
- INTEGER, PARAMETER :: wp = SELECTED_REAL_KIND(Fortran_REAL_4) !should map to REAL*4 on most modern processors
+ INTEGER, PARAMETER :: wp = C_FLOAT !should map to REAL*4 on most modern processors
INTEGER, INTENT(INOUT) :: total_error
INTEGER(hid_t) :: file
@@ -3068,8 +3036,10 @@ SUBROUTINE test_nbit(total_error )
!
i_loop: DO i = 1, dims(1)
j_loop: DO j = 1, dims(2)
+
IF(.NOT.(orig_data(i,j).EQ.orig_data(i,j))) CYCLE ! skip IF value is NaN
- IF( .NOT.dreal_eq( REAL(new_data(i,j),dp), REAL( orig_data(i,j), dp)) ) THEN
+
+ IF( .NOT.check_real_eq( new_data(i,j), orig_data(i,j)) ) THEN
total_error = total_error + 1
WRITE(*,'(" Read different values than written.")')
WRITE(*,'(" At index ", 2(1X,I0))') i, j
@@ -3117,18 +3087,15 @@ SUBROUTINE t_enum_conv(total_error)
! No reliance on C tests.
!-------------------------------------------------------------------------
!
- USE HDF5
- USE TH5_MISC
- USE ISO_C_BINDING
IMPLICIT NONE
INTEGER, INTENT(INOUT) :: total_error
- INTEGER, PARAMETER :: int_kind_8 = SELECTED_INT_KIND(Fortran_INTEGER_4) !should map to INTEGER*4 on most modern processors
- INTEGER, PARAMETER :: int_kind_16 = SELECTED_INT_KIND(Fortran_INTEGER_8)!should map to INTEGER*8 on most modern processors
+ INTEGER, PARAMETER :: int_kind_8 = SELECTED_INT_KIND(9) !should map to INTEGER*4 on most modern processors
+ INTEGER, PARAMETER :: int_kind_16 = SELECTED_INT_KIND(18) !should map to INTEGER*8 on most modern processors
- INTEGER, PARAMETER :: real_kind_7 = SELECTED_REAL_KIND(Fortran_REAL_4) !should map to REAL*4 on most modern processors
+ INTEGER, PARAMETER :: real_kind_7 = C_FLOAT !should map to REAL*4 on most modern processors
INTEGER(hid_t) :: cwg=-1, dtype=-1, space=-1, dset=-1 ! Handles
INTEGER(hid_t) :: file ! Handles
@@ -3188,20 +3155,25 @@ SUBROUTINE t_enum_conv(total_error)
!
! Initialize enum data.
!
+
val = E1_RED
CALL H5Tenum_insert_f(dtype, "RED", C_LOC(val), error)
CALL check("h5tenum_insert_f",error, total_error)
val = E1_GREEN
- CALL H5Tenum_insert_f(dtype, "GREEN", C_LOC(val), error)
+ f_ptr = C_LOC(val)
+ CALL H5Tenum_insert_f(dtype, "GREEN", f_ptr, error)
CALL check("h5tenum_insert_f",error, total_error)
val = E1_BLUE
- CALL H5Tenum_insert_f(dtype, "BLUE", C_LOC(val), error)
+ f_ptr = C_LOC(val)
+ CALL H5Tenum_insert_f(dtype, "BLUE", f_ptr, error)
CALL check("h5tenum_insert_f",error, total_error)
val = E1_WHITE
- CALL H5Tenum_insert_f(dtype, "WHITE", C_LOC(val), error)
+ f_ptr = C_LOC(val)
+ CALL H5Tenum_insert_f(dtype, "WHITE", f_ptr, error)
CALL check("h5tenum_insert_f",error, total_error)
val = E1_BLACK
- CALL H5Tenum_insert_f(dtype, "BLACK", C_LOC(val), error)
+ f_ptr = C_LOC(val)
+ CALL H5Tenum_insert_f(dtype, "BLACK", f_ptr, error)
CALL check("h5tenum_insert_f",error, total_error)
!
! Create dataspace. Setting maximum size to be the current size.
@@ -3268,8 +3240,8 @@ SUBROUTINE t_enum_conv(total_error)
ENDIF
ENDDO
- ! Test converting the data to (SELECTED_INT_KIND(Fortran_INTEGER_4)) number.
- ! Read enum data back as (SELECTED_INT_KIND(Fortran_INTEGER_4)) number
+ ! Test converting the data to (SELECTED_INT_KIND(9)) number.
+ ! Read enum data back as (SELECTED_INT_KIND(9)) number
m_baset = h5kind_to_type(int_kind_8, H5_INTEGER_KIND) ! Memory base type
f_ptr = C_LOC(data_i8(1))
@@ -3285,8 +3257,8 @@ SUBROUTINE t_enum_conv(total_error)
ENDIF
ENDDO
- ! Test converting the data to (SELECTED_INT_KIND(Fortran_INTEGER_8)) number.
- ! Read enum data back as (SELECTED_INT_KIND(Fortran_INTEGER_8)) number
+ ! Test converting the data to (SELECTED_INT_KIND(18)) number.
+ ! Read enum data back as (SELECTED_INT_KIND(18)) number
m_baset = h5kind_to_type(int_kind_16, H5_INTEGER_KIND) ! Memory base type
f_ptr = C_LOC(data_i16(1))
@@ -3302,8 +3274,8 @@ SUBROUTINE t_enum_conv(total_error)
ENDIF
ENDDO
- ! Test converting the data to SELECTED_REAL_KIND(Fortran_REAL_4) number.
- ! Read enum data back as SELECTED_REAL_KIND(Fortran_REAL_4) number
+ ! Test converting the data to C_FLOAT number.
+ ! Read enum data back as C_FLOAT number
m_baset = h5kind_to_type(KIND(data_r7(1)), H5_REAL_KIND) ! Memory base type
f_ptr = C_LOC(data_r7(1))
@@ -3380,10 +3352,10 @@ SUBROUTINE t_enum_conv(total_error)
CALL check("h5dclose_f", error, total_error)
!*********************************************************
- !* Dataset of real SELECTED_REAL_KIND(Fortran_REAL_4) type
+ !* Dataset of real C_FLOAT type
!*********************************************************
- ! Create a dataset of SELECTED_REAL_KIND(Fortran_REAL_4) and write enum data to it
+ ! Create a dataset of C_FLOAT and write enum data to it
m_baset = h5kind_to_type(KIND(data_r7(1)), H5_REAL_KIND) ! Memory base type
CALL h5dcreate_f(cwg, "color_table4", m_baset, space, dset, error)
CALL check("h5dcreate_f", error, total_error)
@@ -3408,10 +3380,10 @@ SUBROUTINE t_enum_conv(total_error)
CALL check("h5dclose_f", error, total_error)
! *****************************************************************
- ! * Dataset of integer SELECTED_INT_KIND(Fortran_INTEGER_8) type
+ ! * Dataset of integer SELECTED_INT_KIND(18) type
! *****************************************************************
- ! Create a integer dataset of (SELECTED_INT_KIND(Fortran_INTEGER_8)) and write enum data to it
+ ! Create a integer dataset of (SELECTED_INT_KIND(18)) and write enum data to it
m_baset = h5kind_to_type(KIND(data_i16(1)), H5_INTEGER_KIND) ! Memory base type
CALL h5dcreate_f(cwg, "color_table5", m_baset, space, dset, error)
CALL check("h5dcreate_f", error, total_error)
diff --git a/fortran/test/tH5VL.f90 b/fortran/test/tH5VL.f90
index 651ca75..834fbde 100644
--- a/fortran/test/tH5VL.f90
+++ b/fortran/test/tH5VL.f90
@@ -28,12 +28,13 @@
!*****
MODULE TH5VL
+ USE HDF5 ! This module contains all necessary modules
+ USE TH5_MISC
+ USE TH5_MISC_GEN
CONTAINS
SUBROUTINE vl_test_integer(cleanup, total_error)
- USE HDF5 ! This module contains all necessary modules
- USE TH5_MISC
IMPLICIT NONE
LOGICAL, INTENT(IN) :: cleanup
@@ -194,8 +195,6 @@ CONTAINS
END SUBROUTINE vl_test_integer
SUBROUTINE vl_test_real(cleanup, total_error)
- USE HDF5 ! This module contains all necessary modules
- USE TH5_MISC
IMPLICIT NONE
LOGICAL, INTENT(IN) :: cleanup
@@ -328,18 +327,15 @@ CONTAINS
CALL h5dread_vl_f(dset_id, vltype_id, vl_real_data_out, data_dims, len_out, &
error, mem_space_id = dspace_id, file_space_id = dspace_id)
CALL check("h5dread_real_f", error, total_error)
- do ih = 1, data_dims(2)
- do jh = 1, len_out(ih)
- IF( .NOT.dreal_eq( REAL(vl_real_data(jh,ih),dp), REAL(vl_real_data_out(jh,ih), dp)) ) THEN
- total_error = total_error + 1
- WRITE(*,*) "h5dread_vl_f returned incorrect data"
- ENDIF
- enddo
- if (len(ih) .ne. len_out(ih)) then
- total_error = total_error + 1
- write(*,*) "h5dread_vl_f returned incorrect data"
- endif
- enddo
+ DO ih = 1, data_dims(2)
+ DO jh = 1, len_out(ih)
+ CALL VERIFY("h5dread_vl_f returned incorrect data",vl_real_data(jh,ih),vl_real_data_out(jh,ih), total_error)
+ ENDDO
+ IF (LEN(ih) .NE. len_out(ih)) THEN
+ total_error = total_error + 1
+ WRITE(*,*) "h5dread_vl_f returned incorrect data"
+ ENDIF
+ ENDDO
!
@@ -367,8 +363,6 @@ CONTAINS
END SUBROUTINE vl_test_real
SUBROUTINE vl_test_string(cleanup, total_error)
- USE HDF5 ! This module contains all necessary modules
- USE TH5_MISC
IMPLICIT NONE
LOGICAL, INTENT(IN) :: cleanup
diff --git a/fortran/test/tHDF5.f90 b/fortran/test/tHDF5.f90
index e73fed2..d12bb25 100644
--- a/fortran/test/tHDF5.f90
+++ b/fortran/test/tHDF5.f90
@@ -29,6 +29,7 @@
MODULE THDF5
USE TH5_MISC
+ USE TH5_MISC_GEN
USE TH5A
USE TH5D
USE TH5E
diff --git a/fortran/test/tf.f90 b/fortran/test/tf.F90
index 450daf2..7d67f30 100644
--- a/fortran/test/tf.f90
+++ b/fortran/test/tf.F90
@@ -27,43 +27,35 @@
! h5_cleanup_f, h5_exit_f, h5_env_nocleanup_f,dreal_eqv
!
!*****
-MODULE TH5_MISC
- USE TH5_MISC_PROVISIONAL
+#include "H5config_f.inc"
- IMPLICIT NONE
+MODULE TH5_MISC
-CONTAINS
+ USE, INTRINSIC :: ISO_C_BINDING
-!This definition is needed for Windows DLLs
-!DEC$if defined(BUILD_HDF5_TEST_DLL)
-!DEC$attributes dllexport :: dreal_eq
-!DEC$endif
- LOGICAL FUNCTION dreal_eq(a,b)
-
- ! Check if two double precision reals are equivalent
- REAL(dp), INTENT (in):: a,b
- REAL(dp), PARAMETER :: eps = 1.e-8
- dreal_eq = ABS(a-b) .LT. eps
+ IMPLICIT NONE
- END FUNCTION dreal_eq
+ INTEGER, PARAMETER :: sp = SELECTED_REAL_KIND(5) ! This should map to REAL*4 on most modern processors
+ INTEGER, PARAMETER :: dp = SELECTED_REAL_KIND(10) ! This should map to REAL*8 on most modern processors
+
+ ! generic compound datatype
+ TYPE, BIND(C) :: comp_datatype
+ REAL :: a
+ INTEGER :: x
+ DOUBLE PRECISION :: y
+ CHARACTER(KIND=C_CHAR) :: z
+ END TYPE comp_datatype
+
+ PUBLIC :: H5_SIZEOF
+ INTERFACE H5_SIZEOF
+ MODULE PROCEDURE H5_SIZEOF_CMPD
+ MODULE PROCEDURE H5_SIZEOF_CHR
+ MODULE PROCEDURE H5_SIZEOF_I
+ MODULE PROCEDURE H5_SIZEOF_SP,H5_SIZEOF_DP
+ END INTERFACE
-!This definition is needed for Windows DLLs
-!DEC$if defined(BUILD_HDF5_TEST_DLL)
-!DEC$attributes dllexport :: verify_real_kind_7
-!DEC$endif
- SUBROUTINE verify_real_kind_7(string,value,correct_value,total_error)
- USE HDF5
- INTEGER, PARAMETER :: real_kind_7 = SELECTED_REAL_KIND(Fortran_REAL_4) !should map to REAL*4 on most modern processors
- CHARACTER(LEN=*) :: string
- REAL(real_kind_7) :: value, correct_value
- INTEGER :: total_error
- IF (.NOT.dreal_eq( REAL(value,dp), REAL(correct_value, dp)) ) THEN
- total_error=total_error+1
- WRITE(*,*) "ERROR: INCORRECT REAL VALIDATION ", string
- ENDIF
- RETURN
- END SUBROUTINE verify_real_kind_7
+CONTAINS
!This definition is needed for Windows DLLs
!DEC$if defined(BUILD_HDF5_TEST_DLL)
@@ -118,84 +110,6 @@ CONTAINS
RETURN
END SUBROUTINE check
-!This definition is needed for Windows DLLs
-!DEC$if defined(BUILD_HDF5_TEST_DLL)
-!DEC$attributes dllexport :: verify
-!DEC$endif
- SUBROUTINE VERIFY(string,value,correct_value,total_error)
- CHARACTER(LEN=*) :: string
- INTEGER :: value, correct_value, total_error
- IF (value .NE. correct_value) THEN
- total_error=total_error+1
- WRITE(*,*) "ERROR: INCORRECT VALIDATION ", string
- ENDIF
- RETURN
- END SUBROUTINE verify
-
-!This definition is needed for Windows DLLs
-!DEC$if defined(BUILD_HDF5_TEST_DLL)
-!DEC$attributes dllexport :: verify_INTEGER_HID_T
-!DEC$endif
- SUBROUTINE verify_INTEGER_HID_T(string,value,correct_value,total_error)
- USE HDF5
- CHARACTER(LEN=*) :: string
- INTEGER(HID_T) :: value, correct_value
- INTEGER :: total_error
- IF (value .NE. correct_value) THEN
- total_error=total_error+1
- WRITE(*,*) "ERROR: INCORRECT VALIDATION ", string
- ENDIF
- RETURN
- END SUBROUTINE verify_INTEGER_HID_T
-
-!This definition is needed for Windows DLLs
-!DEC$if defined(BUILD_HDF5_TEST_DLL)
-!DEC$attributes dllexport :: verify_Fortran_INTEGER_4
-!DEC$endif
- SUBROUTINE verify_Fortran_INTEGER_4(string,value,correct_value,total_error)
- USE HDF5
- INTEGER, PARAMETER :: int_kind_8 = SELECTED_INT_KIND(Fortran_INTEGER_4) ! should map to INTEGER*4 on most modern processors
- CHARACTER(LEN=*) :: string
- INTEGER(int_kind_8) :: value, correct_value
- INTEGER :: total_error
- IF (value .NE. correct_value) THEN
- total_error=total_error+1
- WRITE(*,*) "ERROR: INCORRECT VALIDATION ", string
- ENDIF
- RETURN
- END SUBROUTINE verify_Fortran_INTEGER_4
-
-!This definition is needed for Windows DLLs
-!DEC$if defined(BUILD_HDF5_TEST_DLL)
-!DEC$attributes dllexport :: verifyLogical
-!DEC$endif
- SUBROUTINE verifyLogical(string,value,correct_value,total_error)
- CHARACTER(LEN=*) :: string
- LOGICAL :: value, correct_value
- INTEGER :: total_error
- IF (value .NEQV. correct_value) THEN
- total_error = total_error + 1
- WRITE(*,*) "ERROR: INCORRECT VALIDATION ", string
- ENDIF
- RETURN
- END SUBROUTINE verifyLogical
-
-!This definition is needed for Windows DLLs
-!DEC$if defined(BUILD_HDF5_TEST_DLL)
-!DEC$attributes dllexport :: verifyString
-!DEC$endif
- SUBROUTINE verifyString(string, value,correct_value,total_error)
- CHARACTER*(*) :: string
- CHARACTER*(*) :: value, correct_value
- INTEGER :: total_error
- IF (TRIM(value) .NE. TRIM(correct_value)) THEN
- total_error = total_error + 1
- WRITE(*,*) "ERROR: INCORRECT VALIDATION ", string
- ENDIF
- RETURN
- END SUBROUTINE verifyString
-
-
!----------------------------------------------------------------------
! Name: h5_fixname_f
!
@@ -390,4 +304,109 @@ CONTAINS
IF(status.EQ.1) HDF5_NOCLEANUP = .TRUE.
END SUBROUTINE h5_env_nocleanup_f
+
+! ---------------------------------------------------------------------------------------------------
+! H5_SIZEOF routines
+!
+! NOTES
+! (1) The Sun/Oracle compiler has the following restrictions on the SIZEOF intrinsic function:
+!
+! "The SIZEOF intrinsic cannot be applied to arrays of an assumed size, characters of a
+! length that is passed, or subroutine calls or names. SIZEOF returns default INTEGER*4 data.
+! If compiling for a 64-bit environment, the compiler will issue a warning if the result overflows
+! the INTEGER*4 data range. To use SIZEOF in a 64-bit environment with arrays larger
+! than the INTEGER*4 limit (2 Gbytes), the SIZEOF function and
+! the variables receiving the result must be declared INTEGER*8."
+!
+! Thus, we can not overload the H5_SIZEOF function to handle arrays (as used in tH5P_F03.f90), or
+! characters that do not have a set length (as used in tH5P_F03.f90), sigh...
+!
+! (2) F08+TS29113 requires C interoperable variable as argument for C_SIZEOF.
+!
+! (3) Unfortunately we need to wrap the C_SIZEOF/STORAGE_SIZE functions to handle different
+! data types from the various tests.
+!
+! ---------------------------------------------------------------------------------------------------
+
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_TEST_DLL)
+!DEC$attributes dllexport :: h5_sizeof_cmpd
+!DEC$endif
+ INTEGER(C_SIZE_T) FUNCTION H5_SIZEOF_CMPD(a)
+ IMPLICIT NONE
+ TYPE(comp_datatype), INTENT(in) :: a
+
+#ifdef H5_FORTRAN_FORTRAN_HAVE_C_SIZEOF
+ H5_SIZEOF_CMPD = C_SIZEOF(a)
+#else
+ H5_SIZEOF_CMPD = SIZEOF(a)
+#endif
+
+ END FUNCTION H5_SIZEOF_CMPD
+
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_TEST_DLL)
+!DEC$attributes dllexport :: h5_sizeof_chr
+!DEC$endif
+ INTEGER(C_SIZE_T) FUNCTION H5_SIZEOF_CHR(a)
+ IMPLICIT NONE
+ CHARACTER(LEN=1), INTENT(in) :: a
+
+#ifdef H5_FORTRAN_HAVE_STORAGE_SIZE
+ H5_SIZEOF_CHR = storage_size(a, c_size_t)/storage_size(c_char_'a',c_size_t)
+#else
+ H5_SIZEOF_CHR = SIZEOF(a)
+#endif
+
+ END FUNCTION H5_SIZEOF_CHR
+
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_TEST_DLL)
+!DEC$attributes dllexport :: h5_sizeof_i
+!DEC$endif
+ INTEGER(C_SIZE_T) FUNCTION H5_SIZEOF_I(a)
+ IMPLICIT NONE
+ INTEGER, INTENT(in):: a
+
+#ifdef H5_FORTRAN_HAVE_STORAGE_SIZE
+ H5_SIZEOF_I = storage_size(a, c_size_t)/storage_size(c_char_'a',c_size_t)
+#else
+ H5_SIZEOF_I = SIZEOF(a)
+#endif
+
+ END FUNCTION H5_SIZEOF_I
+
+
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_TEST_DLL)
+!DEC$attributes dllexport :: h5_sizeof_sp
+!DEC$endif
+ INTEGER(C_SIZE_T) FUNCTION H5_SIZEOF_SP(a)
+ IMPLICIT NONE
+ REAL(sp), INTENT(in):: a
+
+#ifdef H5_FORTRAN_HAVE_STORAGE_SIZE
+ H5_SIZEOF_SP = storage_size(a, c_size_t)/storage_size(c_char_'a',c_size_t)
+#else
+ H5_SIZEOF_SP = SIZEOF(a)
+#endif
+
+ END FUNCTION H5_SIZEOF_SP
+
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_TEST_DLL)
+!DEC$attributes dllexport :: h5_sizeof_dp
+!DEC$endif
+ INTEGER(C_SIZE_T) FUNCTION H5_SIZEOF_DP(a)
+ IMPLICIT NONE
+ REAL(dp), INTENT(in):: a
+
+#ifdef H5_FORTRAN_HAVE_STORAGE_SIZE
+ H5_SIZEOF_DP = storage_size(a, c_size_t)/storage_size(c_char_'a',c_size_t)
+#else
+ H5_SIZEOF_DP = SIZEOF(a)
+#endif
+
+ END FUNCTION H5_SIZEOF_DP
+
END MODULE TH5_MISC
diff --git a/fortran/test/tf_F03.f90 b/fortran/test/tf_F03.f90
deleted file mode 100644
index b3f1399..0000000
--- a/fortran/test/tf_F03.f90
+++ /dev/null
@@ -1,128 +0,0 @@
-!****h* root/fortran/test/tf_F03.f90
-!
-! NAME
-! tf_F03.f90
-!
-! FUNCTION
-! Contains functions that are part of the F2003 standard, and are not F2008 compliant.
-! Needed by the hdf5 fortran tests.
-!
-! COPYRIGHT
-! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
-! Copyright by The HDF Group. *
-! Copyright by the Board of Trustees of the University of Illinois. *
-! All rights reserved. *
-! *
-! This file is part of HDF5. The full HDF5 copyright notice, including *
-! terms governing use, modification, and redistribution, is contained in *
-! the files COPYING and Copyright.html. COPYING can be found at the root *
-! of the source code distribution tree; Copyright.html can be found at the *
-! root level of an installed copy of the electronic HDF5 document set and *
-! is linked from the top-level documents page. It can also be found at *
-! http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have *
-! access to either file, you may request a copy from help@hdfgroup.org. *
-! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
-!
-! CONTAINS SUBROUTINES
-! H5_SIZEOF
-!
-! NOTES
-! The Sun/Oracle compiler has the following restrictions on the SIZEOF intrinsic function:
-!
-! "The SIZEOF intrinsic cannot be applied to arrays of an assumed size, characters of a
-! length that is passed, or subroutine calls or names. SIZEOF returns default INTEGER*4 data.
-! If compiling for a 64-bit environment, the compiler will issue a warning if the result overflows
-! the INTEGER*4 data range. To use SIZEOF in a 64-bit environment with arrays larger
-! than the INTEGER*4 limit (2 Gbytes), the SIZEOF function and
-! the variables receiving the result must be declared INTEGER*8."
-!
-! Thus, we can not overload the H5_SIZEOF function to handle arrays (as used in tH5P_F03.f90), or
-! characters that do not have a set length (as used in tH5P_F03.f90), sigh...
-!
-!*****
-MODULE TH5_MISC_PROVISIONAL
-
- USE ISO_C_BINDING
- IMPLICIT NONE
-
- INTEGER, PARAMETER :: sp = SELECTED_REAL_KIND(5) ! This should map to REAL*4 on most modern processors
- INTEGER, PARAMETER :: dp = SELECTED_REAL_KIND(10) ! This should map to REAL*8 on most modern processors
-
- ! generic compound datatype
- TYPE, BIND(C) :: comp_datatype
- REAL :: a
- INTEGER :: x
- DOUBLE PRECISION :: y
- CHARACTER(LEN=1) :: z
- END TYPE comp_datatype
-
- PUBLIC :: H5_SIZEOF
- INTERFACE H5_SIZEOF
- MODULE PROCEDURE H5_SIZEOF_CMPD
- MODULE PROCEDURE H5_SIZEOF_I, H5_SIZEOF_CHR
- MODULE PROCEDURE H5_SIZEOF_SP,H5_SIZEOF_DP
- END INTERFACE
-
-CONTAINS
-
-!This definition is needed for Windows DLLs
-!DEC$if defined(BUILD_HDF5_TEST_DLL)
-!DEC$attributes dllexport :: h5_sizeof_cmpd
- !DEC$endif
- INTEGER(C_SIZE_T) FUNCTION H5_SIZEOF_CMPD(a)
- IMPLICIT NONE
- TYPE(comp_datatype), INTENT(in) :: a
-
- H5_SIZEOF_CMPD = SIZEOF(a)
-
- END FUNCTION H5_SIZEOF_CMPD
-
-!This definition is needed for Windows DLLs
-!DEC$if defined(BUILD_HDF5_TEST_DLL)
-!DEC$attributes dllexport :: h5_sizeof_chr
-!DEC$endif
- INTEGER(C_SIZE_T) FUNCTION H5_SIZEOF_CHR(a)
- IMPLICIT NONE
- CHARACTER(LEN=1), INTENT(in):: a
-
- H5_SIZEOF_CHR = SIZEOF(a)
-
- END FUNCTION H5_SIZEOF_CHR
-
-!This definition is needed for Windows DLLs
-!DEC$if defined(BUILD_HDF5_TEST_DLL)
-!DEC$attributes dllexport :: h5_sizeof_i
-!DEC$endif
- INTEGER(C_SIZE_T) FUNCTION H5_SIZEOF_I(a)
- IMPLICIT NONE
- INTEGER, INTENT(in):: a
-
- H5_SIZEOF_I = SIZEOF(a)
-
- END FUNCTION H5_SIZEOF_I
-
-!This definition is needed for Windows DLLs
-!DEC$if defined(BUILD_HDF5_TEST_DLL)
-!DEC$attributes dllexport :: h5_sizeof_sp
-!DEC$endif
- INTEGER(C_SIZE_T) FUNCTION H5_SIZEOF_SP(a)
- IMPLICIT NONE
- REAL(sp), INTENT(in):: a
-
- H5_SIZEOF_SP = SIZEOF(a)
-
- END FUNCTION H5_SIZEOF_SP
-
-!This definition is needed for Windows DLLs
-!DEC$if defined(BUILD_HDF5_TEST_DLL)
-!DEC$attributes dllexport :: h5_sizeof_dp
-!DEC$endif
- INTEGER(C_SIZE_T) FUNCTION H5_SIZEOF_DP(a)
- IMPLICIT NONE
- REAL(dp), INTENT(in):: a
-
- H5_SIZEOF_DP = SIZEOF(a)
-
- END FUNCTION H5_SIZEOF_DP
-
-END MODULE TH5_MISC_PROVISIONAL
diff --git a/fortran/test/tf_F08.f90 b/fortran/test/tf_F08.f90
deleted file mode 100644
index 20c2859..0000000
--- a/fortran/test/tf_F08.f90
+++ /dev/null
@@ -1,128 +0,0 @@
-!****h* root/fortran/test/tf_F08.f90
-!
-! NAME
-! tf_F08.f90
-!
-! FUNCTION
-! Contains functions that are part of the F2008 standard and needed by
-! the hdf5 fortran tests.
-!
-! COPYRIGHT
-! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
-! Copyright by The HDF Group. *
-! Copyright by the Board of Trustees of the University of Illinois. *
-! All rights reserved. *
-! *
-! This file is part of HDF5. The full HDF5 copyright notice, including *
-! terms governing use, modification, and redistribution, is contained in *
-! the files COPYING and Copyright.html. COPYING can be found at the root *
-! of the source code distribution tree; Copyright.html can be found at the *
-! root level of an installed copy of the electronic HDF5 document set and *
-! is linked from the top-level documents page. It can also be found at *
-! http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have *
-! access to either file, you may request a copy from help@hdfgroup.org. *
-! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
-!
-! CONTAINS SUBROUTINES
-! H5_SIZEOF
-!
-! NOTES
-! This file contains "sizeof" functions that are F2008 standard compliant
-! and replace the non-standard 'SIZEOF' functions found in the file tf_F03.
-! Unfortunity we need to wrap the C_SIZEOF/STORAGE_SIZE functions to handle different
-! data types from the various tests.
-!
-! F08+TS29113 requires C interoperable variable as argument for C_SIZEOF.
-!
-! This file will be build instead of tf_F03.f90 if the intrinsic fortran
-! function C_SIZEOF/STORAGE_SIZE is found during configure.
-!
-!*****
-MODULE TH5_MISC_PROVISIONAL
-
- USE ISO_C_BINDING
- IMPLICIT NONE
-
- INTEGER, PARAMETER :: sp = SELECTED_REAL_KIND(5) ! This should map to REAL*4 on most modern processors
- INTEGER, PARAMETER :: dp = SELECTED_REAL_KIND(10) ! This should map to REAL*8 on most modern processors
-
- ! generic compound datatype
- TYPE, BIND(C) :: comp_datatype
- REAL :: a
- INTEGER :: x
- DOUBLE PRECISION :: y
- CHARACTER(LEN=1) :: z
- END TYPE comp_datatype
-
- PUBLIC :: H5_SIZEOF
- INTERFACE H5_SIZEOF
- MODULE PROCEDURE H5_SIZEOF_CMPD
- MODULE PROCEDURE H5_SIZEOF_CHR
- MODULE PROCEDURE H5_SIZEOF_I
- MODULE PROCEDURE H5_SIZEOF_SP,H5_SIZEOF_DP
- END INTERFACE
-
-CONTAINS
-
-!This definition is needed for Windows DLLs
-!DEC$if defined(BUILD_HDF5_TEST_DLL)
-!DEC$attributes dllexport :: h5_sizeof_cmpd
-!DEC$endif
- INTEGER(C_SIZE_T) FUNCTION H5_SIZEOF_CMPD(a)
- IMPLICIT NONE
- TYPE(comp_datatype), INTENT(in) :: a
-
- H5_SIZEOF_CMPD = C_SIZEOF(a)
-
- END FUNCTION H5_SIZEOF_CMPD
-
-!This definition is needed for Windows DLLs
-!DEC$if defined(BUILD_HDF5_TEST_DLL)
-!DEC$attributes dllexport :: h5_sizeof_chr
-!DEC$endif
- INTEGER(C_SIZE_T) FUNCTION H5_SIZEOF_CHR(a)
- IMPLICIT NONE
- CHARACTER(LEN=*), INTENT(in) :: a
-
- H5_SIZEOF_CHR = storage_size(a, c_size_t)/storage_size(c_char_'a',c_size_t)
-
- END FUNCTION H5_SIZEOF_CHR
-
-!This definition is needed for Windows DLLs
-!DEC$if defined(BUILD_HDF5_TEST_DLL)
-!DEC$attributes dllexport :: h5_sizeof_i
-!DEC$endif
- INTEGER(C_SIZE_T) FUNCTION H5_SIZEOF_I(a)
- IMPLICIT NONE
- INTEGER, INTENT(in):: a
-
- H5_SIZEOF_I = storage_size(a, c_size_t)/storage_size(c_char_'a',c_size_t)
-
- END FUNCTION H5_SIZEOF_I
-
-
-!This definition is needed for Windows DLLs
-!DEC$if defined(BUILD_HDF5_TEST_DLL)
-!DEC$attributes dllexport :: h5_sizeof_sp
-!DEC$endif
- INTEGER(C_SIZE_T) FUNCTION H5_SIZEOF_SP(a)
- IMPLICIT NONE
- REAL(sp), INTENT(in):: a
-
- H5_SIZEOF_SP = storage_size(a, c_size_t)/storage_size(c_char_'a',c_size_t)
-
- END FUNCTION H5_SIZEOF_SP
-
-!This definition is needed for Windows DLLs
-!DEC$if defined(BUILD_HDF5_TEST_DLL)
-!DEC$attributes dllexport :: h5_sizeof_dp
-!DEC$endif
- INTEGER(C_SIZE_T) FUNCTION H5_SIZEOF_DP(a)
- IMPLICIT NONE
- REAL(dp), INTENT(in):: a
-
- H5_SIZEOF_DP = storage_size(a, c_size_t)/storage_size(c_char_'a',c_size_t)
-
- END FUNCTION H5_SIZEOF_DP
-
-END MODULE TH5_MISC_PROVISIONAL
diff --git a/fortran/test/tf_F90.f90 b/fortran/test/tf_F90.f90
deleted file mode 100644
index 11a047c..0000000
--- a/fortran/test/tf_F90.f90
+++ /dev/null
@@ -1,33 +0,0 @@
-!****h* root/fortran/test/tf_F90.f90
-!
-! NAME
-! tf_F90.f90
-!
-! FUNCTION
-! Module for when the compiler is not F2003 or F2008 compliant.
-! Needed by tf.f90 for the test programs.
-!
-! COPYRIGHT
-! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
-! Copyright by The HDF Group. *
-! Copyright by the Board of Trustees of the University of Illinois. *
-! All rights reserved. *
-! *
-! This file is part of HDF5. The full HDF5 copyright notice, including *
-! terms governing use, modification, and redistribution, is contained in *
-! the files COPYING and Copyright.html. COPYING can be found at the root *
-! of the source code distribution tree; Copyright.html can be found at the *
-! root level of an installed copy of the electronic HDF5 document set and *
-! is linked from the top-level documents page. It can also be found at *
-! http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have *
-! access to either file, you may request a copy from help@hdfgroup.org. *
-! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
-!
-!*****
-MODULE TH5_MISC_PROVISIONAL
- IMPLICIT NONE
-
- INTEGER, PARAMETER :: sp = KIND(0.0)
- INTEGER, PARAMETER :: dp = KIND(0.D0)
-
-END MODULE TH5_MISC_PROVISIONAL
diff --git a/fortran/testpar/CMakeLists.txt b/fortran/testpar/CMakeLists.txt
index 98ef6c8..4f21419 100644
--- a/fortran/testpar/CMakeLists.txt
+++ b/fortran/testpar/CMakeLists.txt
@@ -16,8 +16,8 @@ add_executable (parallel_test
hyper.f90
mdset.f90
)
-TARGET_NAMING (parallel_test ${LIB_TYPE})
-TARGET_FORTRAN_PROPERTIES (parallel_test ${LIB_TYPE} " " " ")
+TARGET_NAMING (parallel_test STATIC)
+TARGET_FORTRAN_PROPERTIES (parallel_test STATIC " " " ")
target_link_libraries (parallel_test
${HDF5_F90_TEST_LIB_TARGET}
${HDF5_F90_LIB_TARGET}
@@ -27,7 +27,7 @@ target_link_libraries (parallel_test
if (WIN32 AND MSVC)
target_link_libraries (parallel_test "ws2_32.lib")
endif (WIN32 AND MSVC)
-target_include_directories (parallel_test PRIVATE ${CMAKE_Fortran_MODULE_DIRECTORY})
+target_include_directories (parallel_test PRIVATE ${CMAKE_Fortran_MODULE_DIRECTORY}/static)
set_target_properties (parallel_test PROPERTIES LINKER_LANGUAGE Fortran)
set_target_properties (parallel_test PROPERTIES FOLDER test/fortran)
diff --git a/fortran/testpar/Makefile.am b/fortran/testpar/Makefile.am
index 517a3c8..380f475 100644
--- a/fortran/testpar/Makefile.am
+++ b/fortran/testpar/Makefile.am
@@ -50,4 +50,4 @@ LDADD=$(LIBH5FTEST) $(LIBH5TEST) $(LIBH5F) $(LIBHDF5)
# Mark this directory as part of the Fortran API
FORTRAN_API=yes
-include $(top_srcdir)/config/conclude.am
+include $(top_srcdir)/config/conclude_fc.am
diff --git a/fortran/testpar/Makefile.in b/fortran/testpar/Makefile.in
index f16dfff..9ee38d5 100644
--- a/fortran/testpar/Makefile.in
+++ b/fortran/testpar/Makefile.in
@@ -30,6 +30,10 @@
#
# HDF5 Fortran Parallel Library Test Makefile(.in)
#
+
+# Makefile.am include fragment with Fortran helper rules and macros.
+
+# AM_FCCPPFLAGS, FCCPPFLAGS are currently not used.
VPATH = @srcdir@
am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
am__make_running_with_option = \
@@ -95,6 +99,7 @@ POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
DIST_COMMON = $(top_srcdir)/config/commence.am \
+ $(top_srcdir)/config/conclude_fc.am \
$(top_srcdir)/config/conclude.am $(srcdir)/Makefile.in \
$(srcdir)/Makefile.am $(top_srcdir)/bin/mkinstalldirs \
$(top_srcdir)/bin/test-driver
@@ -114,7 +119,8 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/aclocal_cxx.m4 \
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(SHELL) $(top_srcdir)/bin/mkinstalldirs
-CONFIG_HEADER = $(top_builddir)/src/H5config.h
+CONFIG_HEADER = $(top_builddir)/src/H5config.h \
+ $(top_builddir)/fortran/src/H5config_f.inc
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
am__EXEEXT_1 = parallel_test$(EXEEXT)
@@ -140,7 +146,7 @@ AM_V_at = $(am__v_at_@AM_V@)
am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
am__v_at_0 = @
am__v_at_1 =
-DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/src
+DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/src -I$(top_builddir)/fortran/src
FCCOMPILE = $(FC) $(AM_FCFLAGS) $(FCFLAGS)
LTFCCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=FC $(AM_LIBTOOLFLAGS) \
$(LIBTOOLFLAGS) --mode=compile $(FC) $(AM_FCFLAGS) $(FCFLAGS)
@@ -448,14 +454,21 @@ F9XMODEXT = @F9XMODEXT@
F9XMODFLAG = @F9XMODFLAG@
F9XSUFFIXFLAG = @F9XSUFFIXFLAG@
FC = @FC@
-FC2003 = @FC2003@
FCFLAGS = @FCFLAGS@
FCFLAGS_f90 = @FCFLAGS_f90@
FCLIBS = @FCLIBS@
FC_VERSION = @FC_VERSION@
FGREP = @FGREP@
+FORTRAN_C_LONG_DOUBLE_IS_UNIQUE = @FORTRAN_C_LONG_DOUBLE_IS_UNIQUE@
+FORTRAN_HAVE_C_LONG_DOUBLE = @FORTRAN_HAVE_C_LONG_DOUBLE@
+FORTRAN_SIZEOF_LONG_DOUBLE = @FORTRAN_SIZEOF_LONG_DOUBLE@
FSEARCH_DIRS = @FSEARCH_DIRS@
GREP = @GREP@
+H5CONFIG_F_IKIND = @H5CONFIG_F_IKIND@
+H5CONFIG_F_NUM_IKIND = @H5CONFIG_F_NUM_IKIND@
+H5CONFIG_F_NUM_RKIND = @H5CONFIG_F_NUM_RKIND@
+H5CONFIG_F_RKIND = @H5CONFIG_F_RKIND@
+H5CONFIG_F_RKIND_SIZEOF = @H5CONFIG_F_RKIND_SIZEOF@
H5_CFLAGS = @H5_CFLAGS@
H5_CPPFLAGS = @H5_CPPFLAGS@
H5_CXXFLAGS = @H5_CXXFLAGS@
@@ -465,13 +478,12 @@ H5_LDFLAGS = @H5_LDFLAGS@
H5_VERSION = @H5_VERSION@
HADDR_T = @HADDR_T@
HAVE_DMALLOC = @HAVE_DMALLOC@
-HAVE_FORTRAN_2003 = @HAVE_FORTRAN_2003@
+HAVE_Fortran_INTEGER_SIZEOF_16 = @HAVE_Fortran_INTEGER_SIZEOF_16@
HAVE_PTHREAD = @HAVE_PTHREAD@
HDF5_HL = @HDF5_HL@
HDF5_INTERFACES = @HDF5_INTERFACES@
HDF_CXX = @HDF_CXX@
HDF_FORTRAN = @HDF_FORTRAN@
-HDF_FORTRAN2003 = @HDF_FORTRAN2003@
HID_T = @HID_T@
HL = @HL@
HL_FOR = @HL_FOR@
@@ -513,9 +525,20 @@ PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
+PAC_C_MAX_REAL_PRECISION = @PAC_C_MAX_REAL_PRECISION@
+PAC_FC_ALL_INTEGER_KINDS = @PAC_FC_ALL_INTEGER_KINDS@
+PAC_FC_ALL_INTEGER_KINDS_SIZEOF = @PAC_FC_ALL_INTEGER_KINDS_SIZEOF@
+PAC_FC_ALL_REAL_KINDS = @PAC_FC_ALL_REAL_KINDS@
+PAC_FC_ALL_REAL_KINDS_SIZEOF = @PAC_FC_ALL_REAL_KINDS_SIZEOF@
+PAC_FC_MAX_REAL_PRECISION = @PAC_FC_MAX_REAL_PRECISION@
+PAC_FORTRAN_NATIVE_DOUBLE_KIND = @PAC_FORTRAN_NATIVE_DOUBLE_KIND@
+PAC_FORTRAN_NATIVE_DOUBLE_SIZEOF = @PAC_FORTRAN_NATIVE_DOUBLE_SIZEOF@
+PAC_FORTRAN_NATIVE_INTEGER_KIND = @PAC_FORTRAN_NATIVE_INTEGER_KIND@
+PAC_FORTRAN_NATIVE_INTEGER_SIZEOF = @PAC_FORTRAN_NATIVE_INTEGER_SIZEOF@
+PAC_FORTRAN_NATIVE_REAL_KIND = @PAC_FORTRAN_NATIVE_REAL_KIND@
+PAC_FORTRAN_NATIVE_REAL_SIZEOF = @PAC_FORTRAN_NATIVE_REAL_SIZEOF@
PARALLEL = @PARALLEL@
PATH_SEPARATOR = @PATH_SEPARATOR@
-PERL = @PERL@
RANLIB = @RANLIB@
ROOT = @ROOT@
RUNPARALLEL = @RUNPARALLEL@
@@ -667,6 +690,8 @@ LDADD = $(LIBH5FTEST) $(LIBH5TEST) $(LIBH5F) $(LIBHDF5)
# Mark this directory as part of the Fortran API
FORTRAN_API = yes
+PPFCCOMPILE = $(FC) $(FCDEFS) $(DEFAULT_INCLUDES) $(FCINCLUDES) $(AM_FCCPPFLAGS) $(FCCPPFLAGS) $(AM_FCFLAGS) $(FCFLAGS)
+LTPPFCCOMPILE = $(LIBTOOL) --tag=FC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(PPFCCOMPILE)
# Automake needs to be taught how to build lib, progs, and tests targets.
# These will be filled in automatically for the most part (e.g.,
@@ -690,8 +715,8 @@ TEST_SCRIPT_PARA_CHKSH = $(TEST_SCRIPT_PARA:=.chkexe_)
all: all-am
.SUFFIXES:
-.SUFFIXES: .f90 .lo .log .o .obj .sh .sh$(EXEEXT) .trs
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/config/commence.am $(top_srcdir)/config/conclude.am $(am__configure_deps)
+.SUFFIXES: .F90 .f90 .lo .log .o .obj .sh .sh$(EXEEXT) .trs
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/config/commence.am $(top_srcdir)/config/conclude_fc.am $(top_srcdir)/config/conclude.am $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
@@ -712,7 +737,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
-$(top_srcdir)/config/commence.am $(top_srcdir)/config/conclude.am:
+$(top_srcdir)/config/commence.am $(top_srcdir)/config/conclude_fc.am $(top_srcdir)/config/conclude.am:
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
@@ -742,9 +767,6 @@ mostlyclean-compile:
distclean-compile:
-rm -f *.tab.c
-.f90.o:
- $(AM_V_FC)$(FCCOMPILE) -c -o $@ $(FCFLAGS_f90) $<
-
.f90.obj:
$(AM_V_FC)$(FCCOMPILE) -c -o $@ $(FCFLAGS_f90) `$(CYGPATH_W) '$<'`
@@ -1120,6 +1142,12 @@ uninstall-am:
help:
@$(top_srcdir)/bin/makehelp
+# Treat all .f90 and .F90 files as preprocessed Fortran.
+.f90.o:
+ $(PPFCCOMPILE) -c -o $@ $(FCFLAGS) $<
+.F90.o:
+ $(PPFCCOMPILE) -c -o $@ $(FCFLAGS) $<
+
# lib/progs/tests targets recurse into subdirectories. build-* targets
# build files in this directory.
build-lib: $(LIB)
diff --git a/hl/CMakeLists.txt b/hl/CMakeLists.txt
index b5d4308..bed8291 100644
--- a/hl/CMakeLists.txt
+++ b/hl/CMakeLists.txt
@@ -6,14 +6,6 @@ PROJECT (HDF5_HL C CXX)
#-----------------------------------------------------------------------------
add_definitions (${HDF_EXTRA_C_FLAGS})
-#-----------------------------------------------------------------------------
-# Shared Libs
-#-----------------------------------------------------------------------------
-if (BUILD_SHARED_LIBS)
- set (HL_BUILT_AS_DYNAMIC_LIB 1)
-else (BUILD_SHARED_LIBS)
- set (HL_BUILT_AS_STATIC_LIB 1)
-endif (BUILD_SHARED_LIBS)
#-----------------------------------------------------------------------------
# List Source files
diff --git a/hl/Makefile.in b/hl/Makefile.in
index 60c9453..f1e178d 100644
--- a/hl/Makefile.in
+++ b/hl/Makefile.in
@@ -110,7 +110,8 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/aclocal_cxx.m4 \
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(SHELL) $(top_srcdir)/bin/mkinstalldirs
-CONFIG_HEADER = $(top_builddir)/src/H5config.h
+CONFIG_HEADER = $(top_builddir)/src/H5config.h \
+ $(top_builddir)/fortran/src/H5config_f.inc
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
AM_V_P = $(am__v_P_@AM_V@)
@@ -452,14 +453,21 @@ F9XMODEXT = @F9XMODEXT@
F9XMODFLAG = @F9XMODFLAG@
F9XSUFFIXFLAG = @F9XSUFFIXFLAG@
FC = @FC@
-FC2003 = @FC2003@
FCFLAGS = @FCFLAGS@
FCFLAGS_f90 = @FCFLAGS_f90@
FCLIBS = @FCLIBS@
FC_VERSION = @FC_VERSION@
FGREP = @FGREP@
+FORTRAN_C_LONG_DOUBLE_IS_UNIQUE = @FORTRAN_C_LONG_DOUBLE_IS_UNIQUE@
+FORTRAN_HAVE_C_LONG_DOUBLE = @FORTRAN_HAVE_C_LONG_DOUBLE@
+FORTRAN_SIZEOF_LONG_DOUBLE = @FORTRAN_SIZEOF_LONG_DOUBLE@
FSEARCH_DIRS = @FSEARCH_DIRS@
GREP = @GREP@
+H5CONFIG_F_IKIND = @H5CONFIG_F_IKIND@
+H5CONFIG_F_NUM_IKIND = @H5CONFIG_F_NUM_IKIND@
+H5CONFIG_F_NUM_RKIND = @H5CONFIG_F_NUM_RKIND@
+H5CONFIG_F_RKIND = @H5CONFIG_F_RKIND@
+H5CONFIG_F_RKIND_SIZEOF = @H5CONFIG_F_RKIND_SIZEOF@
H5_CFLAGS = @H5_CFLAGS@
H5_CPPFLAGS = @H5_CPPFLAGS@
H5_CXXFLAGS = @H5_CXXFLAGS@
@@ -469,13 +477,12 @@ H5_LDFLAGS = @H5_LDFLAGS@
H5_VERSION = @H5_VERSION@
HADDR_T = @HADDR_T@
HAVE_DMALLOC = @HAVE_DMALLOC@
-HAVE_FORTRAN_2003 = @HAVE_FORTRAN_2003@
+HAVE_Fortran_INTEGER_SIZEOF_16 = @HAVE_Fortran_INTEGER_SIZEOF_16@
HAVE_PTHREAD = @HAVE_PTHREAD@
HDF5_HL = @HDF5_HL@
HDF5_INTERFACES = @HDF5_INTERFACES@
HDF_CXX = @HDF_CXX@
HDF_FORTRAN = @HDF_FORTRAN@
-HDF_FORTRAN2003 = @HDF_FORTRAN2003@
HID_T = @HID_T@
HL = @HL@
HL_FOR = @HL_FOR@
@@ -517,9 +524,20 @@ PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
+PAC_C_MAX_REAL_PRECISION = @PAC_C_MAX_REAL_PRECISION@
+PAC_FC_ALL_INTEGER_KINDS = @PAC_FC_ALL_INTEGER_KINDS@
+PAC_FC_ALL_INTEGER_KINDS_SIZEOF = @PAC_FC_ALL_INTEGER_KINDS_SIZEOF@
+PAC_FC_ALL_REAL_KINDS = @PAC_FC_ALL_REAL_KINDS@
+PAC_FC_ALL_REAL_KINDS_SIZEOF = @PAC_FC_ALL_REAL_KINDS_SIZEOF@
+PAC_FC_MAX_REAL_PRECISION = @PAC_FC_MAX_REAL_PRECISION@
+PAC_FORTRAN_NATIVE_DOUBLE_KIND = @PAC_FORTRAN_NATIVE_DOUBLE_KIND@
+PAC_FORTRAN_NATIVE_DOUBLE_SIZEOF = @PAC_FORTRAN_NATIVE_DOUBLE_SIZEOF@
+PAC_FORTRAN_NATIVE_INTEGER_KIND = @PAC_FORTRAN_NATIVE_INTEGER_KIND@
+PAC_FORTRAN_NATIVE_INTEGER_SIZEOF = @PAC_FORTRAN_NATIVE_INTEGER_SIZEOF@
+PAC_FORTRAN_NATIVE_REAL_KIND = @PAC_FORTRAN_NATIVE_REAL_KIND@
+PAC_FORTRAN_NATIVE_REAL_SIZEOF = @PAC_FORTRAN_NATIVE_REAL_SIZEOF@
PARALLEL = @PARALLEL@
PATH_SEPARATOR = @PATH_SEPARATOR@
-PERL = @PERL@
RANLIB = @RANLIB@
ROOT = @ROOT@
RUNPARALLEL = @RUNPARALLEL@
diff --git a/hl/c++/Makefile.in b/hl/c++/Makefile.in
index 278f97b..7f71fc3 100644
--- a/hl/c++/Makefile.in
+++ b/hl/c++/Makefile.in
@@ -106,7 +106,8 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/aclocal_cxx.m4 \
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(SHELL) $(top_srcdir)/bin/mkinstalldirs
-CONFIG_HEADER = $(top_builddir)/src/H5config.h
+CONFIG_HEADER = $(top_builddir)/src/H5config.h \
+ $(top_builddir)/fortran/src/H5config_f.inc
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
AM_V_P = $(am__v_P_@AM_V@)
@@ -448,14 +449,21 @@ F9XMODEXT = @F9XMODEXT@
F9XMODFLAG = @F9XMODFLAG@
F9XSUFFIXFLAG = @F9XSUFFIXFLAG@
FC = @FC@
-FC2003 = @FC2003@
FCFLAGS = @FCFLAGS@
FCFLAGS_f90 = @FCFLAGS_f90@
FCLIBS = @FCLIBS@
FC_VERSION = @FC_VERSION@
FGREP = @FGREP@
+FORTRAN_C_LONG_DOUBLE_IS_UNIQUE = @FORTRAN_C_LONG_DOUBLE_IS_UNIQUE@
+FORTRAN_HAVE_C_LONG_DOUBLE = @FORTRAN_HAVE_C_LONG_DOUBLE@
+FORTRAN_SIZEOF_LONG_DOUBLE = @FORTRAN_SIZEOF_LONG_DOUBLE@
FSEARCH_DIRS = @FSEARCH_DIRS@
GREP = @GREP@
+H5CONFIG_F_IKIND = @H5CONFIG_F_IKIND@
+H5CONFIG_F_NUM_IKIND = @H5CONFIG_F_NUM_IKIND@
+H5CONFIG_F_NUM_RKIND = @H5CONFIG_F_NUM_RKIND@
+H5CONFIG_F_RKIND = @H5CONFIG_F_RKIND@
+H5CONFIG_F_RKIND_SIZEOF = @H5CONFIG_F_RKIND_SIZEOF@
H5_CFLAGS = @H5_CFLAGS@
H5_CPPFLAGS = @H5_CPPFLAGS@
H5_CXXFLAGS = @H5_CXXFLAGS@
@@ -465,13 +473,12 @@ H5_LDFLAGS = @H5_LDFLAGS@
H5_VERSION = @H5_VERSION@
HADDR_T = @HADDR_T@
HAVE_DMALLOC = @HAVE_DMALLOC@
-HAVE_FORTRAN_2003 = @HAVE_FORTRAN_2003@
+HAVE_Fortran_INTEGER_SIZEOF_16 = @HAVE_Fortran_INTEGER_SIZEOF_16@
HAVE_PTHREAD = @HAVE_PTHREAD@
HDF5_HL = @HDF5_HL@
HDF5_INTERFACES = @HDF5_INTERFACES@
HDF_CXX = @HDF_CXX@
HDF_FORTRAN = @HDF_FORTRAN@
-HDF_FORTRAN2003 = @HDF_FORTRAN2003@
HID_T = @HID_T@
HL = @HL@
HL_FOR = @HL_FOR@
@@ -513,9 +520,20 @@ PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
+PAC_C_MAX_REAL_PRECISION = @PAC_C_MAX_REAL_PRECISION@
+PAC_FC_ALL_INTEGER_KINDS = @PAC_FC_ALL_INTEGER_KINDS@
+PAC_FC_ALL_INTEGER_KINDS_SIZEOF = @PAC_FC_ALL_INTEGER_KINDS_SIZEOF@
+PAC_FC_ALL_REAL_KINDS = @PAC_FC_ALL_REAL_KINDS@
+PAC_FC_ALL_REAL_KINDS_SIZEOF = @PAC_FC_ALL_REAL_KINDS_SIZEOF@
+PAC_FC_MAX_REAL_PRECISION = @PAC_FC_MAX_REAL_PRECISION@
+PAC_FORTRAN_NATIVE_DOUBLE_KIND = @PAC_FORTRAN_NATIVE_DOUBLE_KIND@
+PAC_FORTRAN_NATIVE_DOUBLE_SIZEOF = @PAC_FORTRAN_NATIVE_DOUBLE_SIZEOF@
+PAC_FORTRAN_NATIVE_INTEGER_KIND = @PAC_FORTRAN_NATIVE_INTEGER_KIND@
+PAC_FORTRAN_NATIVE_INTEGER_SIZEOF = @PAC_FORTRAN_NATIVE_INTEGER_SIZEOF@
+PAC_FORTRAN_NATIVE_REAL_KIND = @PAC_FORTRAN_NATIVE_REAL_KIND@
+PAC_FORTRAN_NATIVE_REAL_SIZEOF = @PAC_FORTRAN_NATIVE_REAL_SIZEOF@
PARALLEL = @PARALLEL@
PATH_SEPARATOR = @PATH_SEPARATOR@
-PERL = @PERL@
RANLIB = @RANLIB@
ROOT = @ROOT@
RUNPARALLEL = @RUNPARALLEL@
diff --git a/hl/c++/examples/CMakeLists.txt b/hl/c++/examples/CMakeLists.txt
index e3fc3ae..77a50bf 100644
--- a/hl/c++/examples/CMakeLists.txt
+++ b/hl/c++/examples/CMakeLists.txt
@@ -11,8 +11,8 @@ INCLUDE_DIRECTORIES (${HDF5_HL_CPP_SRC_DIR}/src)
# Add in the examples for the Packet Table codes
# --------------------------------------------------------------------
add_executable (ptExampleFL ${HDF5_HL_CPP_EXAMPLES_SOURCE_DIR}/ptExampleFL.cpp)
-TARGET_NAMING (ptExampleFL ${LIB_TYPE})
-TARGET_C_PROPERTIES (ptExampleFL ${LIB_TYPE} " " " ")
+TARGET_NAMING (ptExampleFL STATIC)
+TARGET_C_PROPERTIES (ptExampleFL STATIC " " " ")
target_link_libraries (
ptExampleFL
${HDF5_HL_CPP_LIB_TARGET}
diff --git a/hl/c++/examples/Makefile.in b/hl/c++/examples/Makefile.in
index 5bad31f..fc3237a 100644
--- a/hl/c++/examples/Makefile.in
+++ b/hl/c++/examples/Makefile.in
@@ -111,7 +111,8 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/aclocal_cxx.m4 \
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(SHELL) $(top_srcdir)/bin/mkinstalldirs
-CONFIG_HEADER = $(top_builddir)/src/H5config.h
+CONFIG_HEADER = $(top_builddir)/src/H5config.h \
+ $(top_builddir)/fortran/src/H5config_f.inc
CONFIG_CLEAN_FILES = run-hlc++-ex.sh
CONFIG_CLEAN_VPATH_FILES =
AM_V_P = $(am__v_P_@AM_V@)
@@ -395,14 +396,21 @@ F9XMODEXT = @F9XMODEXT@
F9XMODFLAG = @F9XMODFLAG@
F9XSUFFIXFLAG = @F9XSUFFIXFLAG@
FC = @FC@
-FC2003 = @FC2003@
FCFLAGS = @FCFLAGS@
FCFLAGS_f90 = @FCFLAGS_f90@
FCLIBS = @FCLIBS@
FC_VERSION = @FC_VERSION@
FGREP = @FGREP@
+FORTRAN_C_LONG_DOUBLE_IS_UNIQUE = @FORTRAN_C_LONG_DOUBLE_IS_UNIQUE@
+FORTRAN_HAVE_C_LONG_DOUBLE = @FORTRAN_HAVE_C_LONG_DOUBLE@
+FORTRAN_SIZEOF_LONG_DOUBLE = @FORTRAN_SIZEOF_LONG_DOUBLE@
FSEARCH_DIRS = @FSEARCH_DIRS@
GREP = @GREP@
+H5CONFIG_F_IKIND = @H5CONFIG_F_IKIND@
+H5CONFIG_F_NUM_IKIND = @H5CONFIG_F_NUM_IKIND@
+H5CONFIG_F_NUM_RKIND = @H5CONFIG_F_NUM_RKIND@
+H5CONFIG_F_RKIND = @H5CONFIG_F_RKIND@
+H5CONFIG_F_RKIND_SIZEOF = @H5CONFIG_F_RKIND_SIZEOF@
H5_CFLAGS = @H5_CFLAGS@
H5_CPPFLAGS = @H5_CPPFLAGS@
H5_CXXFLAGS = @H5_CXXFLAGS@
@@ -412,13 +420,12 @@ H5_LDFLAGS = @H5_LDFLAGS@
H5_VERSION = @H5_VERSION@
HADDR_T = @HADDR_T@
HAVE_DMALLOC = @HAVE_DMALLOC@
-HAVE_FORTRAN_2003 = @HAVE_FORTRAN_2003@
+HAVE_Fortran_INTEGER_SIZEOF_16 = @HAVE_Fortran_INTEGER_SIZEOF_16@
HAVE_PTHREAD = @HAVE_PTHREAD@
HDF5_HL = @HDF5_HL@
HDF5_INTERFACES = @HDF5_INTERFACES@
HDF_CXX = @HDF_CXX@
HDF_FORTRAN = @HDF_FORTRAN@
-HDF_FORTRAN2003 = @HDF_FORTRAN2003@
HID_T = @HID_T@
HL = @HL@
HL_FOR = @HL_FOR@
@@ -460,9 +467,20 @@ PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
+PAC_C_MAX_REAL_PRECISION = @PAC_C_MAX_REAL_PRECISION@
+PAC_FC_ALL_INTEGER_KINDS = @PAC_FC_ALL_INTEGER_KINDS@
+PAC_FC_ALL_INTEGER_KINDS_SIZEOF = @PAC_FC_ALL_INTEGER_KINDS_SIZEOF@
+PAC_FC_ALL_REAL_KINDS = @PAC_FC_ALL_REAL_KINDS@
+PAC_FC_ALL_REAL_KINDS_SIZEOF = @PAC_FC_ALL_REAL_KINDS_SIZEOF@
+PAC_FC_MAX_REAL_PRECISION = @PAC_FC_MAX_REAL_PRECISION@
+PAC_FORTRAN_NATIVE_DOUBLE_KIND = @PAC_FORTRAN_NATIVE_DOUBLE_KIND@
+PAC_FORTRAN_NATIVE_DOUBLE_SIZEOF = @PAC_FORTRAN_NATIVE_DOUBLE_SIZEOF@
+PAC_FORTRAN_NATIVE_INTEGER_KIND = @PAC_FORTRAN_NATIVE_INTEGER_KIND@
+PAC_FORTRAN_NATIVE_INTEGER_SIZEOF = @PAC_FORTRAN_NATIVE_INTEGER_SIZEOF@
+PAC_FORTRAN_NATIVE_REAL_KIND = @PAC_FORTRAN_NATIVE_REAL_KIND@
+PAC_FORTRAN_NATIVE_REAL_SIZEOF = @PAC_FORTRAN_NATIVE_REAL_SIZEOF@
PARALLEL = @PARALLEL@
PATH_SEPARATOR = @PATH_SEPARATOR@
-PERL = @PERL@
RANLIB = @RANLIB@
ROOT = @ROOT@
RUNPARALLEL = @RUNPARALLEL@
diff --git a/hl/c++/src/CMakeLists.txt b/hl/c++/src/CMakeLists.txt
index b511260..e37c5ba 100644
--- a/hl/c++/src/CMakeLists.txt
+++ b/hl/c++/src/CMakeLists.txt
@@ -10,22 +10,42 @@ INCLUDE_DIRECTORIES (${HDF5_HL_CPP_SRC_SOURCE_DIR})
set (HDF5_HL_CPP_SRCS ${HDF5_HL_CPP_SRC_SOURCE_DIR}/H5PacketTable.cpp)
set (HDF5_HL_CPP_HDRS ${HDF5_HL_CPP_SRC_SOURCE_DIR}/H5PacketTable.h)
-add_library (${HDF5_HL_CPP_LIB_TARGET} ${LIB_TYPE} ${HDF5_HL_CPP_SRCS})
-TARGET_C_PROPERTIES (${HDF5_HL_CPP_LIB_TARGET} ${LIB_TYPE} " " " ")
+add_library (${HDF5_HL_CPP_LIB_TARGET} STATIC ${HDF5_HL_CPP_SRCS})
+TARGET_C_PROPERTIES (${HDF5_HL_CPP_LIB_TARGET} STATIC " " " ")
target_link_libraries (
${HDF5_HL_CPP_LIB_TARGET}
${HDF5_HL_LIB_TARGET}
${HDF5_LIB_TARGET}
)
set_global_variable (HDF5_LIBRARIES_TO_EXPORT "${HDF5_LIBRARIES_TO_EXPORT};${HDF5_HL_CPP_LIB_TARGET}")
-H5_SET_LIB_OPTIONS (${HDF5_HL_CPP_LIB_TARGET} ${HDF5_HL_CPP_LIB_NAME} ${LIB_TYPE})
+H5_SET_LIB_OPTIONS (${HDF5_HL_CPP_LIB_TARGET} ${HDF5_HL_CPP_LIB_NAME} STATIC)
set_target_properties (${HDF5_HL_CPP_LIB_TARGET} PROPERTIES
FOLDER libraries/hl
INTERFACE_INCLUDE_DIRECTORIES "$<INSTALL_INTERFACE:$<INSTALL_PREFIX>/include>"
)
+set (install_targets ${HDF5_HL_CPP_LIB_TARGET})
+
+if (BUILD_SHARED_LIBS)
+ add_library (${HDF5_HL_CPP_LIBSH_TARGET} SHARED ${HDF5_HL_CPP_SRCS})
+ TARGET_C_PROPERTIES (${HDF5_HL_CPP_LIBSH_TARGET} SHARED " " " ")
+ target_link_libraries (
+ ${HDF5_HL_CPP_LIBSH_TARGET}
+ ${HDF5_HL_LIBSH_TARGET}
+ ${HDF5_LIBSH_TARGET}
+ )
+ set_global_variable (HDF5_LIBRARIES_TO_EXPORT "${HDF5_LIBRARIES_TO_EXPORT};${HDF5_HL_CPP_LIBSH_TARGET}")
+ H5_SET_LIB_OPTIONS (${HDF5_HL_CPP_LIBSH_TARGET} ${HDF5_HL_CPP_LIB_NAME} SHARED)
+ set_target_properties (${HDF5_HL_CPP_LIBSH_TARGET} PROPERTIES
+ FOLDER libraries/hl
+ COMPILE_DEFINITIONS "H5_BUILT_AS_DYNAMIC_LIB"
+ INTERFACE_INCLUDE_DIRECTORIES "$<INSTALL_INTERFACE:$<INSTALL_PREFIX>/include>"
+ INTERFACE_COMPILE_DEFINITIONS H5_BUILT_AS_DYNAMIC_LIB=1
+ )
+ set (install_targets ${install_targets} ${HDF5_HL_CPP_LIBSH_TARGET})
+endif (BUILD_SHARED_LIBS)
#-----------------------------------------------------------------------------
-# Add file(s) to CMake Install
+# Add file(s) to CMake Install
#-----------------------------------------------------------------------------
install (
FILES
@@ -41,12 +61,12 @@ install (
#-----------------------------------------------------------------------------
if (HDF5_EXPORTED_TARGETS)
if (BUILD_SHARED_LIBS)
- INSTALL_TARGET_PDB (${HDF5_HL_CPP_LIB_TARGET} ${HDF5_INSTALL_BIN_DIR} hlcpplibraries)
+ INSTALL_TARGET_PDB (${HDF5_HL_CPP_LIBSH_TARGET} ${HDF5_INSTALL_BIN_DIR} hlcpplibraries)
endif (BUILD_SHARED_LIBS)
-
+
install (
TARGETS
- ${HDF5_HL_CPP_LIB_TARGET}
+ ${install_targets}
EXPORT
${HDF5_EXPORTED_TARGETS}
LIBRARY DESTINATION ${HDF5_INSTALL_LIB_DIR} COMPONENT hlcpplibraries
diff --git a/hl/c++/src/Makefile.in b/hl/c++/src/Makefile.in
index 742b35c..4dcf546 100644
--- a/hl/c++/src/Makefile.in
+++ b/hl/c++/src/Makefile.in
@@ -110,7 +110,8 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/aclocal_cxx.m4 \
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(SHELL) $(top_srcdir)/bin/mkinstalldirs
-CONFIG_HEADER = $(top_builddir)/src/H5config.h
+CONFIG_HEADER = $(top_builddir)/src/H5config.h \
+ $(top_builddir)/fortran/src/H5config_f.inc
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
@@ -165,7 +166,7 @@ AM_V_at = $(am__v_at_@AM_V@)
am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
am__v_at_0 = @
am__v_at_1 =
-DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/src
+DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/src -I$(top_builddir)/fortran/src
depcomp = $(SHELL) $(top_srcdir)/bin/depcomp
am__depfiles_maybe = depfiles
am__mv = mv -f
@@ -451,14 +452,21 @@ F9XMODEXT = @F9XMODEXT@
F9XMODFLAG = @F9XMODFLAG@
F9XSUFFIXFLAG = @F9XSUFFIXFLAG@
FC = @FC@
-FC2003 = @FC2003@
FCFLAGS = @FCFLAGS@
FCFLAGS_f90 = @FCFLAGS_f90@
FCLIBS = @FCLIBS@
FC_VERSION = @FC_VERSION@
FGREP = @FGREP@
+FORTRAN_C_LONG_DOUBLE_IS_UNIQUE = @FORTRAN_C_LONG_DOUBLE_IS_UNIQUE@
+FORTRAN_HAVE_C_LONG_DOUBLE = @FORTRAN_HAVE_C_LONG_DOUBLE@
+FORTRAN_SIZEOF_LONG_DOUBLE = @FORTRAN_SIZEOF_LONG_DOUBLE@
FSEARCH_DIRS = @FSEARCH_DIRS@
GREP = @GREP@
+H5CONFIG_F_IKIND = @H5CONFIG_F_IKIND@
+H5CONFIG_F_NUM_IKIND = @H5CONFIG_F_NUM_IKIND@
+H5CONFIG_F_NUM_RKIND = @H5CONFIG_F_NUM_RKIND@
+H5CONFIG_F_RKIND = @H5CONFIG_F_RKIND@
+H5CONFIG_F_RKIND_SIZEOF = @H5CONFIG_F_RKIND_SIZEOF@
H5_CFLAGS = @H5_CFLAGS@
H5_CPPFLAGS = @H5_CPPFLAGS@
H5_CXXFLAGS = @H5_CXXFLAGS@
@@ -468,13 +476,12 @@ H5_LDFLAGS = @H5_LDFLAGS@
H5_VERSION = @H5_VERSION@
HADDR_T = @HADDR_T@
HAVE_DMALLOC = @HAVE_DMALLOC@
-HAVE_FORTRAN_2003 = @HAVE_FORTRAN_2003@
+HAVE_Fortran_INTEGER_SIZEOF_16 = @HAVE_Fortran_INTEGER_SIZEOF_16@
HAVE_PTHREAD = @HAVE_PTHREAD@
HDF5_HL = @HDF5_HL@
HDF5_INTERFACES = @HDF5_INTERFACES@
HDF_CXX = @HDF_CXX@
HDF_FORTRAN = @HDF_FORTRAN@
-HDF_FORTRAN2003 = @HDF_FORTRAN2003@
HID_T = @HID_T@
HL = @HL@
HL_FOR = @HL_FOR@
@@ -516,9 +523,20 @@ PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
+PAC_C_MAX_REAL_PRECISION = @PAC_C_MAX_REAL_PRECISION@
+PAC_FC_ALL_INTEGER_KINDS = @PAC_FC_ALL_INTEGER_KINDS@
+PAC_FC_ALL_INTEGER_KINDS_SIZEOF = @PAC_FC_ALL_INTEGER_KINDS_SIZEOF@
+PAC_FC_ALL_REAL_KINDS = @PAC_FC_ALL_REAL_KINDS@
+PAC_FC_ALL_REAL_KINDS_SIZEOF = @PAC_FC_ALL_REAL_KINDS_SIZEOF@
+PAC_FC_MAX_REAL_PRECISION = @PAC_FC_MAX_REAL_PRECISION@
+PAC_FORTRAN_NATIVE_DOUBLE_KIND = @PAC_FORTRAN_NATIVE_DOUBLE_KIND@
+PAC_FORTRAN_NATIVE_DOUBLE_SIZEOF = @PAC_FORTRAN_NATIVE_DOUBLE_SIZEOF@
+PAC_FORTRAN_NATIVE_INTEGER_KIND = @PAC_FORTRAN_NATIVE_INTEGER_KIND@
+PAC_FORTRAN_NATIVE_INTEGER_SIZEOF = @PAC_FORTRAN_NATIVE_INTEGER_SIZEOF@
+PAC_FORTRAN_NATIVE_REAL_KIND = @PAC_FORTRAN_NATIVE_REAL_KIND@
+PAC_FORTRAN_NATIVE_REAL_SIZEOF = @PAC_FORTRAN_NATIVE_REAL_SIZEOF@
PARALLEL = @PARALLEL@
PATH_SEPARATOR = @PATH_SEPARATOR@
-PERL = @PERL@
RANLIB = @RANLIB@
ROOT = @ROOT@
RUNPARALLEL = @RUNPARALLEL@
@@ -662,7 +680,7 @@ CHECK_CLEANFILES = *.chkexe *.chklog *.clog *.clog2
# After making changes, run bin/reconfigure to update other configure related
# files like Makefile.in.
LT_VERS_INTERFACE = 6
-LT_VERS_REVISION = 217
+LT_VERS_REVISION = 219
LT_VERS_AGE = 0
# This is our main target
diff --git a/hl/c++/test/CMakeLists.txt b/hl/c++/test/CMakeLists.txt
index ff06b22..de5b363 100644
--- a/hl/c++/test/CMakeLists.txt
+++ b/hl/c++/test/CMakeLists.txt
@@ -16,8 +16,8 @@ INCLUDE_DIRECTORIES (${HDF5_HL_SRC_DIR}/test)
INCLUDE_DIRECTORIES (${HDF5_CPP_SRC_DIR}/src)
add_executable (hl_ptableTest ${HDF5_HL_CPP_TEST_SOURCE_DIR}/ptableTest.cpp)
-TARGET_C_PROPERTIES (hl_ptableTest ${LIB_TYPE} " " " ")
-TARGET_NAMING (hl_ptableTest ${LIB_TYPE})
+TARGET_C_PROPERTIES (hl_ptableTest STATIC " " " ")
+TARGET_NAMING (hl_ptableTest STATIC)
target_link_libraries (
hl_ptableTest
${HDF5_LIB_TARGET}
diff --git a/hl/c++/test/Makefile.in b/hl/c++/test/Makefile.in
index b7d7d09..c22eff8 100644
--- a/hl/c++/test/Makefile.in
+++ b/hl/c++/test/Makefile.in
@@ -107,7 +107,8 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/aclocal_cxx.m4 \
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(SHELL) $(top_srcdir)/bin/mkinstalldirs
-CONFIG_HEADER = $(top_builddir)/src/H5config.h
+CONFIG_HEADER = $(top_builddir)/src/H5config.h \
+ $(top_builddir)/fortran/src/H5config_f.inc
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
am__EXEEXT_1 = ptableTest$(EXEEXT)
@@ -132,7 +133,7 @@ AM_V_at = $(am__v_at_@AM_V@)
am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
am__v_at_0 = @
am__v_at_1 =
-DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/src
+DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/src -I$(top_builddir)/fortran/src
depcomp = $(SHELL) $(top_srcdir)/bin/depcomp
am__depfiles_maybe = depfiles
am__mv = mv -f
@@ -448,14 +449,21 @@ F9XMODEXT = @F9XMODEXT@
F9XMODFLAG = @F9XMODFLAG@
F9XSUFFIXFLAG = @F9XSUFFIXFLAG@
FC = @FC@
-FC2003 = @FC2003@
FCFLAGS = @FCFLAGS@
FCFLAGS_f90 = @FCFLAGS_f90@
FCLIBS = @FCLIBS@
FC_VERSION = @FC_VERSION@
FGREP = @FGREP@
+FORTRAN_C_LONG_DOUBLE_IS_UNIQUE = @FORTRAN_C_LONG_DOUBLE_IS_UNIQUE@
+FORTRAN_HAVE_C_LONG_DOUBLE = @FORTRAN_HAVE_C_LONG_DOUBLE@
+FORTRAN_SIZEOF_LONG_DOUBLE = @FORTRAN_SIZEOF_LONG_DOUBLE@
FSEARCH_DIRS = @FSEARCH_DIRS@
GREP = @GREP@
+H5CONFIG_F_IKIND = @H5CONFIG_F_IKIND@
+H5CONFIG_F_NUM_IKIND = @H5CONFIG_F_NUM_IKIND@
+H5CONFIG_F_NUM_RKIND = @H5CONFIG_F_NUM_RKIND@
+H5CONFIG_F_RKIND = @H5CONFIG_F_RKIND@
+H5CONFIG_F_RKIND_SIZEOF = @H5CONFIG_F_RKIND_SIZEOF@
H5_CFLAGS = @H5_CFLAGS@
H5_CPPFLAGS = @H5_CPPFLAGS@
H5_CXXFLAGS = @H5_CXXFLAGS@
@@ -465,13 +473,12 @@ H5_LDFLAGS = @H5_LDFLAGS@
H5_VERSION = @H5_VERSION@
HADDR_T = @HADDR_T@
HAVE_DMALLOC = @HAVE_DMALLOC@
-HAVE_FORTRAN_2003 = @HAVE_FORTRAN_2003@
+HAVE_Fortran_INTEGER_SIZEOF_16 = @HAVE_Fortran_INTEGER_SIZEOF_16@
HAVE_PTHREAD = @HAVE_PTHREAD@
HDF5_HL = @HDF5_HL@
HDF5_INTERFACES = @HDF5_INTERFACES@
HDF_CXX = @HDF_CXX@
HDF_FORTRAN = @HDF_FORTRAN@
-HDF_FORTRAN2003 = @HDF_FORTRAN2003@
HID_T = @HID_T@
HL = @HL@
HL_FOR = @HL_FOR@
@@ -513,9 +520,20 @@ PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
+PAC_C_MAX_REAL_PRECISION = @PAC_C_MAX_REAL_PRECISION@
+PAC_FC_ALL_INTEGER_KINDS = @PAC_FC_ALL_INTEGER_KINDS@
+PAC_FC_ALL_INTEGER_KINDS_SIZEOF = @PAC_FC_ALL_INTEGER_KINDS_SIZEOF@
+PAC_FC_ALL_REAL_KINDS = @PAC_FC_ALL_REAL_KINDS@
+PAC_FC_ALL_REAL_KINDS_SIZEOF = @PAC_FC_ALL_REAL_KINDS_SIZEOF@
+PAC_FC_MAX_REAL_PRECISION = @PAC_FC_MAX_REAL_PRECISION@
+PAC_FORTRAN_NATIVE_DOUBLE_KIND = @PAC_FORTRAN_NATIVE_DOUBLE_KIND@
+PAC_FORTRAN_NATIVE_DOUBLE_SIZEOF = @PAC_FORTRAN_NATIVE_DOUBLE_SIZEOF@
+PAC_FORTRAN_NATIVE_INTEGER_KIND = @PAC_FORTRAN_NATIVE_INTEGER_KIND@
+PAC_FORTRAN_NATIVE_INTEGER_SIZEOF = @PAC_FORTRAN_NATIVE_INTEGER_SIZEOF@
+PAC_FORTRAN_NATIVE_REAL_KIND = @PAC_FORTRAN_NATIVE_REAL_KIND@
+PAC_FORTRAN_NATIVE_REAL_SIZEOF = @PAC_FORTRAN_NATIVE_REAL_SIZEOF@
PARALLEL = @PARALLEL@
PATH_SEPARATOR = @PATH_SEPARATOR@
-PERL = @PERL@
RANLIB = @RANLIB@
ROOT = @ROOT@
RUNPARALLEL = @RUNPARALLEL@
diff --git a/hl/examples/CMakeLists.txt b/hl/examples/CMakeLists.txt
index e264f75..f5e6f5e 100644
--- a/hl/examples/CMakeLists.txt
+++ b/hl/examples/CMakeLists.txt
@@ -28,8 +28,8 @@ set (examples
foreach (example ${examples})
add_executable (hl_ex_${example} ${HDF5_HL_EXAMPLES_SOURCE_DIR}/${example}.c)
- TARGET_NAMING (hl_ex_${example} ${LIB_TYPE})
- TARGET_C_PROPERTIES (hl_ex_${example} ${LIB_TYPE} " " " ")
+ TARGET_NAMING (hl_ex_${example} STATIC)
+ TARGET_C_PROPERTIES (hl_ex_${example} STATIC " " " ")
target_link_libraries (hl_ex_${example} ${HDF5_HL_LIB_TARGET} ${HDF5_LIB_TARGET})
set_target_properties (hl_ex_${example} PROPERTIES FOLDER examples/hl)
endforeach (example ${examples})
diff --git a/hl/examples/Makefile.in b/hl/examples/Makefile.in
index f0bf099..1061124 100644
--- a/hl/examples/Makefile.in
+++ b/hl/examples/Makefile.in
@@ -111,7 +111,8 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/aclocal_cxx.m4 \
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(SHELL) $(top_srcdir)/bin/mkinstalldirs
-CONFIG_HEADER = $(top_builddir)/src/H5config.h
+CONFIG_HEADER = $(top_builddir)/src/H5config.h \
+ $(top_builddir)/fortran/src/H5config_f.inc
CONFIG_CLEAN_FILES = run-hlc-ex.sh
CONFIG_CLEAN_VPATH_FILES =
AM_V_P = $(am__v_P_@AM_V@)
@@ -395,14 +396,21 @@ F9XMODEXT = @F9XMODEXT@
F9XMODFLAG = @F9XMODFLAG@
F9XSUFFIXFLAG = @F9XSUFFIXFLAG@
FC = @FC@
-FC2003 = @FC2003@
FCFLAGS = @FCFLAGS@
FCFLAGS_f90 = @FCFLAGS_f90@
FCLIBS = @FCLIBS@
FC_VERSION = @FC_VERSION@
FGREP = @FGREP@
+FORTRAN_C_LONG_DOUBLE_IS_UNIQUE = @FORTRAN_C_LONG_DOUBLE_IS_UNIQUE@
+FORTRAN_HAVE_C_LONG_DOUBLE = @FORTRAN_HAVE_C_LONG_DOUBLE@
+FORTRAN_SIZEOF_LONG_DOUBLE = @FORTRAN_SIZEOF_LONG_DOUBLE@
FSEARCH_DIRS = @FSEARCH_DIRS@
GREP = @GREP@
+H5CONFIG_F_IKIND = @H5CONFIG_F_IKIND@
+H5CONFIG_F_NUM_IKIND = @H5CONFIG_F_NUM_IKIND@
+H5CONFIG_F_NUM_RKIND = @H5CONFIG_F_NUM_RKIND@
+H5CONFIG_F_RKIND = @H5CONFIG_F_RKIND@
+H5CONFIG_F_RKIND_SIZEOF = @H5CONFIG_F_RKIND_SIZEOF@
H5_CFLAGS = @H5_CFLAGS@
H5_CPPFLAGS = @H5_CPPFLAGS@
H5_CXXFLAGS = @H5_CXXFLAGS@
@@ -412,13 +420,12 @@ H5_LDFLAGS = @H5_LDFLAGS@
H5_VERSION = @H5_VERSION@
HADDR_T = @HADDR_T@
HAVE_DMALLOC = @HAVE_DMALLOC@
-HAVE_FORTRAN_2003 = @HAVE_FORTRAN_2003@
+HAVE_Fortran_INTEGER_SIZEOF_16 = @HAVE_Fortran_INTEGER_SIZEOF_16@
HAVE_PTHREAD = @HAVE_PTHREAD@
HDF5_HL = @HDF5_HL@
HDF5_INTERFACES = @HDF5_INTERFACES@
HDF_CXX = @HDF_CXX@
HDF_FORTRAN = @HDF_FORTRAN@
-HDF_FORTRAN2003 = @HDF_FORTRAN2003@
HID_T = @HID_T@
HL = @HL@
HL_FOR = @HL_FOR@
@@ -460,9 +467,20 @@ PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
+PAC_C_MAX_REAL_PRECISION = @PAC_C_MAX_REAL_PRECISION@
+PAC_FC_ALL_INTEGER_KINDS = @PAC_FC_ALL_INTEGER_KINDS@
+PAC_FC_ALL_INTEGER_KINDS_SIZEOF = @PAC_FC_ALL_INTEGER_KINDS_SIZEOF@
+PAC_FC_ALL_REAL_KINDS = @PAC_FC_ALL_REAL_KINDS@
+PAC_FC_ALL_REAL_KINDS_SIZEOF = @PAC_FC_ALL_REAL_KINDS_SIZEOF@
+PAC_FC_MAX_REAL_PRECISION = @PAC_FC_MAX_REAL_PRECISION@
+PAC_FORTRAN_NATIVE_DOUBLE_KIND = @PAC_FORTRAN_NATIVE_DOUBLE_KIND@
+PAC_FORTRAN_NATIVE_DOUBLE_SIZEOF = @PAC_FORTRAN_NATIVE_DOUBLE_SIZEOF@
+PAC_FORTRAN_NATIVE_INTEGER_KIND = @PAC_FORTRAN_NATIVE_INTEGER_KIND@
+PAC_FORTRAN_NATIVE_INTEGER_SIZEOF = @PAC_FORTRAN_NATIVE_INTEGER_SIZEOF@
+PAC_FORTRAN_NATIVE_REAL_KIND = @PAC_FORTRAN_NATIVE_REAL_KIND@
+PAC_FORTRAN_NATIVE_REAL_SIZEOF = @PAC_FORTRAN_NATIVE_REAL_SIZEOF@
PARALLEL = @PARALLEL@
PATH_SEPARATOR = @PATH_SEPARATOR@
-PERL = @PERL@
RANLIB = @RANLIB@
ROOT = @ROOT@
RUNPARALLEL = @RUNPARALLEL@
diff --git a/hl/fortran/Makefile.in b/hl/fortran/Makefile.in
index 4651579..bd2ac82 100644
--- a/hl/fortran/Makefile.in
+++ b/hl/fortran/Makefile.in
@@ -110,7 +110,8 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/aclocal_cxx.m4 \
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(SHELL) $(top_srcdir)/bin/mkinstalldirs
-CONFIG_HEADER = $(top_builddir)/src/H5config.h
+CONFIG_HEADER = $(top_builddir)/src/H5config.h \
+ $(top_builddir)/fortran/src/H5config_f.inc
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
AM_V_P = $(am__v_P_@AM_V@)
@@ -452,14 +453,21 @@ F9XMODEXT = @F9XMODEXT@
F9XMODFLAG = @F9XMODFLAG@
F9XSUFFIXFLAG = @F9XSUFFIXFLAG@
FC = @FC@
-FC2003 = @FC2003@
FCFLAGS = @FCFLAGS@
FCFLAGS_f90 = @FCFLAGS_f90@
FCLIBS = @FCLIBS@
FC_VERSION = @FC_VERSION@
FGREP = @FGREP@
+FORTRAN_C_LONG_DOUBLE_IS_UNIQUE = @FORTRAN_C_LONG_DOUBLE_IS_UNIQUE@
+FORTRAN_HAVE_C_LONG_DOUBLE = @FORTRAN_HAVE_C_LONG_DOUBLE@
+FORTRAN_SIZEOF_LONG_DOUBLE = @FORTRAN_SIZEOF_LONG_DOUBLE@
FSEARCH_DIRS = @FSEARCH_DIRS@
GREP = @GREP@
+H5CONFIG_F_IKIND = @H5CONFIG_F_IKIND@
+H5CONFIG_F_NUM_IKIND = @H5CONFIG_F_NUM_IKIND@
+H5CONFIG_F_NUM_RKIND = @H5CONFIG_F_NUM_RKIND@
+H5CONFIG_F_RKIND = @H5CONFIG_F_RKIND@
+H5CONFIG_F_RKIND_SIZEOF = @H5CONFIG_F_RKIND_SIZEOF@
H5_CFLAGS = @H5_CFLAGS@
H5_CPPFLAGS = @H5_CPPFLAGS@
H5_CXXFLAGS = @H5_CXXFLAGS@
@@ -469,13 +477,12 @@ H5_LDFLAGS = @H5_LDFLAGS@
H5_VERSION = @H5_VERSION@
HADDR_T = @HADDR_T@
HAVE_DMALLOC = @HAVE_DMALLOC@
-HAVE_FORTRAN_2003 = @HAVE_FORTRAN_2003@
+HAVE_Fortran_INTEGER_SIZEOF_16 = @HAVE_Fortran_INTEGER_SIZEOF_16@
HAVE_PTHREAD = @HAVE_PTHREAD@
HDF5_HL = @HDF5_HL@
HDF5_INTERFACES = @HDF5_INTERFACES@
HDF_CXX = @HDF_CXX@
HDF_FORTRAN = @HDF_FORTRAN@
-HDF_FORTRAN2003 = @HDF_FORTRAN2003@
HID_T = @HID_T@
HL = @HL@
HL_FOR = @HL_FOR@
@@ -517,9 +524,20 @@ PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
+PAC_C_MAX_REAL_PRECISION = @PAC_C_MAX_REAL_PRECISION@
+PAC_FC_ALL_INTEGER_KINDS = @PAC_FC_ALL_INTEGER_KINDS@
+PAC_FC_ALL_INTEGER_KINDS_SIZEOF = @PAC_FC_ALL_INTEGER_KINDS_SIZEOF@
+PAC_FC_ALL_REAL_KINDS = @PAC_FC_ALL_REAL_KINDS@
+PAC_FC_ALL_REAL_KINDS_SIZEOF = @PAC_FC_ALL_REAL_KINDS_SIZEOF@
+PAC_FC_MAX_REAL_PRECISION = @PAC_FC_MAX_REAL_PRECISION@
+PAC_FORTRAN_NATIVE_DOUBLE_KIND = @PAC_FORTRAN_NATIVE_DOUBLE_KIND@
+PAC_FORTRAN_NATIVE_DOUBLE_SIZEOF = @PAC_FORTRAN_NATIVE_DOUBLE_SIZEOF@
+PAC_FORTRAN_NATIVE_INTEGER_KIND = @PAC_FORTRAN_NATIVE_INTEGER_KIND@
+PAC_FORTRAN_NATIVE_INTEGER_SIZEOF = @PAC_FORTRAN_NATIVE_INTEGER_SIZEOF@
+PAC_FORTRAN_NATIVE_REAL_KIND = @PAC_FORTRAN_NATIVE_REAL_KIND@
+PAC_FORTRAN_NATIVE_REAL_SIZEOF = @PAC_FORTRAN_NATIVE_REAL_SIZEOF@
PARALLEL = @PARALLEL@
PATH_SEPARATOR = @PATH_SEPARATOR@
-PERL = @PERL@
RANLIB = @RANLIB@
ROOT = @ROOT@
RUNPARALLEL = @RUNPARALLEL@
diff --git a/hl/fortran/examples/CMakeLists.txt b/hl/fortran/examples/CMakeLists.txt
index bded2d9..87838a0 100644
--- a/hl/fortran/examples/CMakeLists.txt
+++ b/hl/fortran/examples/CMakeLists.txt
@@ -16,14 +16,14 @@ set (examples
foreach (example ${examples})
add_executable (hl_f90_ex_${example} ${HDF5_HL_F90_EXAMPLES_SOURCE_DIR}/${example}.f90)
- TARGET_NAMING (hl_f90_ex_${example} ${LIB_TYPE})
- TARGET_FORTRAN_PROPERTIES (hl_f90_ex_${example} ${LIB_TYPE} " " " ")
+ TARGET_NAMING (hl_f90_ex_${example} STATIC)
+ TARGET_FORTRAN_PROPERTIES (hl_f90_ex_${example} STATIC " " " ")
target_link_libraries (hl_f90_ex_${example}
${HDF5_HL_F90_LIB_TARGET}
${HDF5_F90_LIB_TARGET}
${HDF5_LIB_TARGET}
)
- target_include_directories (hl_f90_ex_${example} PRIVATE ${CMAKE_Fortran_MODULE_DIRECTORY})
+ target_include_directories (hl_f90_ex_${example} PRIVATE ${CMAKE_Fortran_MODULE_DIRECTORY}/static)
set_target_properties (hl_f90_ex_${example} PROPERTIES LINKER_LANGUAGE Fortran)
set_target_properties (hl_f90_ex_${example} PROPERTIES FOLDER examples/hl/fortran)
diff --git a/hl/fortran/examples/Makefile.am b/hl/fortran/examples/Makefile.am
index 6a5032b..997da73 100644
--- a/hl/fortran/examples/Makefile.am
+++ b/hl/fortran/examples/Makefile.am
@@ -64,4 +64,4 @@ EXAMPLETOPDIR=${DESTDIR}$(exec_prefix)/share/hdf5_examples/hl
# and fortran libraries above.
include $(top_srcdir)/config/examples.am
-include $(top_srcdir)/config/conclude.am
+include $(top_srcdir)/config/conclude_fc.am
diff --git a/hl/fortran/examples/Makefile.in b/hl/fortran/examples/Makefile.in
index e229f12..c992e8a 100644
--- a/hl/fortran/examples/Makefile.in
+++ b/hl/fortran/examples/Makefile.in
@@ -34,6 +34,10 @@
# We can't tell automake about example programs, because they need to be
# built using h5cc (or h5fc, etc.) instead of the standard compilers.
# This creates some extra work for us.
+
+# Makefile.am include fragment with Fortran helper rules and macros.
+
+# AM_FCCPPFLAGS, FCCPPFLAGS are currently not used.
VPATH = @srcdir@
am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
am__make_running_with_option = \
@@ -100,6 +104,7 @@ build_triplet = @build@
host_triplet = @host@
DIST_COMMON = $(top_srcdir)/config/commence.am \
$(top_srcdir)/config/examples.am \
+ $(top_srcdir)/config/conclude_fc.am \
$(top_srcdir)/config/conclude.am $(srcdir)/Makefile.in \
$(srcdir)/Makefile.am $(top_srcdir)/bin/mkinstalldirs \
$(srcdir)/run-hlfortran-ex.sh.in $(top_srcdir)/bin/test-driver
@@ -111,7 +116,8 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/aclocal_cxx.m4 \
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(SHELL) $(top_srcdir)/bin/mkinstalldirs
-CONFIG_HEADER = $(top_builddir)/src/H5config.h
+CONFIG_HEADER = $(top_builddir)/src/H5config.h \
+ $(top_builddir)/fortran/src/H5config_f.inc
CONFIG_CLEAN_FILES = run-hlfortran-ex.sh
CONFIG_CLEAN_VPATH_FILES =
AM_V_P = $(am__v_P_@AM_V@)
@@ -395,14 +401,21 @@ F9XMODEXT = @F9XMODEXT@
F9XMODFLAG = @F9XMODFLAG@
F9XSUFFIXFLAG = @F9XSUFFIXFLAG@
FC = @FC@
-FC2003 = @FC2003@
FCFLAGS = @FCFLAGS@
FCFLAGS_f90 = @FCFLAGS_f90@
FCLIBS = @FCLIBS@
FC_VERSION = @FC_VERSION@
FGREP = @FGREP@
+FORTRAN_C_LONG_DOUBLE_IS_UNIQUE = @FORTRAN_C_LONG_DOUBLE_IS_UNIQUE@
+FORTRAN_HAVE_C_LONG_DOUBLE = @FORTRAN_HAVE_C_LONG_DOUBLE@
+FORTRAN_SIZEOF_LONG_DOUBLE = @FORTRAN_SIZEOF_LONG_DOUBLE@
FSEARCH_DIRS = @FSEARCH_DIRS@
GREP = @GREP@
+H5CONFIG_F_IKIND = @H5CONFIG_F_IKIND@
+H5CONFIG_F_NUM_IKIND = @H5CONFIG_F_NUM_IKIND@
+H5CONFIG_F_NUM_RKIND = @H5CONFIG_F_NUM_RKIND@
+H5CONFIG_F_RKIND = @H5CONFIG_F_RKIND@
+H5CONFIG_F_RKIND_SIZEOF = @H5CONFIG_F_RKIND_SIZEOF@
H5_CFLAGS = @H5_CFLAGS@
H5_CPPFLAGS = @H5_CPPFLAGS@
H5_CXXFLAGS = @H5_CXXFLAGS@
@@ -412,13 +425,12 @@ H5_LDFLAGS = @H5_LDFLAGS@
H5_VERSION = @H5_VERSION@
HADDR_T = @HADDR_T@
HAVE_DMALLOC = @HAVE_DMALLOC@
-HAVE_FORTRAN_2003 = @HAVE_FORTRAN_2003@
+HAVE_Fortran_INTEGER_SIZEOF_16 = @HAVE_Fortran_INTEGER_SIZEOF_16@
HAVE_PTHREAD = @HAVE_PTHREAD@
HDF5_HL = @HDF5_HL@
HDF5_INTERFACES = @HDF5_INTERFACES@
HDF_CXX = @HDF_CXX@
HDF_FORTRAN = @HDF_FORTRAN@
-HDF_FORTRAN2003 = @HDF_FORTRAN2003@
HID_T = @HID_T@
HL = @HL@
HL_FOR = @HL_FOR@
@@ -460,9 +472,20 @@ PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
+PAC_C_MAX_REAL_PRECISION = @PAC_C_MAX_REAL_PRECISION@
+PAC_FC_ALL_INTEGER_KINDS = @PAC_FC_ALL_INTEGER_KINDS@
+PAC_FC_ALL_INTEGER_KINDS_SIZEOF = @PAC_FC_ALL_INTEGER_KINDS_SIZEOF@
+PAC_FC_ALL_REAL_KINDS = @PAC_FC_ALL_REAL_KINDS@
+PAC_FC_ALL_REAL_KINDS_SIZEOF = @PAC_FC_ALL_REAL_KINDS_SIZEOF@
+PAC_FC_MAX_REAL_PRECISION = @PAC_FC_MAX_REAL_PRECISION@
+PAC_FORTRAN_NATIVE_DOUBLE_KIND = @PAC_FORTRAN_NATIVE_DOUBLE_KIND@
+PAC_FORTRAN_NATIVE_DOUBLE_SIZEOF = @PAC_FORTRAN_NATIVE_DOUBLE_SIZEOF@
+PAC_FORTRAN_NATIVE_INTEGER_KIND = @PAC_FORTRAN_NATIVE_INTEGER_KIND@
+PAC_FORTRAN_NATIVE_INTEGER_SIZEOF = @PAC_FORTRAN_NATIVE_INTEGER_SIZEOF@
+PAC_FORTRAN_NATIVE_REAL_KIND = @PAC_FORTRAN_NATIVE_REAL_KIND@
+PAC_FORTRAN_NATIVE_REAL_SIZEOF = @PAC_FORTRAN_NATIVE_REAL_SIZEOF@
PARALLEL = @PARALLEL@
PATH_SEPARATOR = @PATH_SEPARATOR@
-PERL = @PERL@
RANLIB = @RANLIB@
ROOT = @ROOT@
RUNPARALLEL = @RUNPARALLEL@
@@ -632,6 +655,8 @@ EXTRA_PROG = $(EXAMPLE_PROG) $(EXAMPLE_PROG_PARA)
# We need to tell automake what to clean
MOSTLYCLEANFILES = *.raw *.meta *.o
CLEANFILES = $(EXAMPLE_PROG) $(EXAMPLE_PROG_PARA)
+PPFCCOMPILE = $(FC) $(FCDEFS) $(DEFAULT_INCLUDES) $(FCINCLUDES) $(AM_FCCPPFLAGS) $(FCCPPFLAGS) $(AM_FCFLAGS) $(FCFLAGS)
+LTPPFCCOMPILE = $(LIBTOOL) --tag=FC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(PPFCCOMPILE)
# Automake needs to be taught how to build lib, progs, and tests targets.
# These will be filled in automatically for the most part (e.g.,
@@ -655,8 +680,8 @@ TEST_SCRIPT_PARA_CHKSH = $(TEST_SCRIPT_PARA:=.chkexe_)
all: all-am
.SUFFIXES:
-.SUFFIXES: .log .sh .sh$(EXEEXT) .trs
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/config/commence.am $(top_srcdir)/config/examples.am $(top_srcdir)/config/conclude.am $(am__configure_deps)
+.SUFFIXES: .F90 .f90 .log .o .sh .sh$(EXEEXT) .trs
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/config/commence.am $(top_srcdir)/config/examples.am $(top_srcdir)/config/conclude_fc.am $(top_srcdir)/config/conclude.am $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
@@ -677,7 +702,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
-$(top_srcdir)/config/commence.am $(top_srcdir)/config/examples.am $(top_srcdir)/config/conclude.am:
+$(top_srcdir)/config/commence.am $(top_srcdir)/config/examples.am $(top_srcdir)/config/conclude_fc.am $(top_srcdir)/config/conclude.am:
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
@@ -1087,6 +1112,12 @@ installcheck-local:
/bin/sh ./$(TEST_EXAMPLES_SCRIPT);) \
fi
+# Treat all .f90 and .F90 files as preprocessed Fortran.
+.f90.o:
+ $(PPFCCOMPILE) -c -o $@ $(FCFLAGS) $<
+.F90.o:
+ $(PPFCCOMPILE) -c -o $@ $(FCFLAGS) $<
+
# lib/progs/tests targets recurse into subdirectories. build-* targets
# build files in this directory.
build-lib: $(LIB)
diff --git a/hl/fortran/src/CMakeLists.txt b/hl/fortran/src/CMakeLists.txt
index e5ffb78..5df4e1d 100644
--- a/hl/fortran/src/CMakeLists.txt
+++ b/hl/fortran/src/CMakeLists.txt
@@ -2,12 +2,63 @@ cmake_minimum_required (VERSION 3.1.0)
PROJECT(HDF5_HL_F90_SRC C CXX Fortran)
#-----------------------------------------------------------------------------
+# configure def file for shared libs on windows
+if (WIN32)
+ if (BUILD_SHARED_LIBS)
+ if (MSVC)
+ configure_file (${HDF5_HL_F90_SRC_SOURCE_DIR}/hdf5_hl_fortrandll.def.in ${HDF5_HL_F90_SRC_BINARY_DIR}/hdf5_hl_fortrandll.def @ONLY)
+ endif (MSVC)
+ endif (BUILD_SHARED_LIBS)
+endif (WIN32)
+
+#-----------------------------------------------------------------------------
+# Generate the H5LT and H5TB REAL APIs
+#-----------------------------------------------------------------------------
+
+add_executable (H5HL_buildiface
+ ${HDF5_HL_F90_SRC_SOURCE_DIR}/H5HL_buildiface.F90
+ )
+
+if (WIN32 AND MSVC)
+ if (BUILD_SHARED_LIBS)
+ set_target_properties (H5HL_buildiface
+ PROPERTIES
+ COMPILE_FLAGS "/MT"
+ )
+ endif (BUILD_SHARED_LIBS)
+ set_target_properties (H5HL_buildiface
+ PROPERTIES
+ LINK_FLAGS "/SUBSYSTEM:CONSOLE"
+ )
+endif (WIN32 AND MSVC)
+set_target_properties (H5HL_buildiface PROPERTIES
+ LINKER_LANGUAGE Fortran
+ Fortran_MODULE_DIRECTORY ${CMAKE_Fortran_MODULE_DIRECTORY}
+)
+
+if (BUILD_SHARED_LIBS AND NOT SKIP_HDF5_FORTRAN_SHARED)
+ if (WIN32)
+ set (MOD_BUILD_DIR ${CMAKE_Fortran_MODULE_DIRECTORY}/shared/\${BUILD_TYPE})
+ else (WIN32)
+ set (MOD_BUILD_DIR ${CMAKE_Fortran_MODULE_DIRECTORY}/shared)
+ endif (WIN32)
+else (BUILD_SHARED_LIBS AND NOT SKIP_HDF5_FORTRAN_SHARED)
+ if (WIN32)
+ set (MOD_BUILD_DIR ${CMAKE_Fortran_MODULE_DIRECTORY}/static/\${BUILD_TYPE})
+ else (WIN32)
+ set (MOD_BUILD_DIR ${CMAKE_Fortran_MODULE_DIRECTORY}/static)
+ endif (WIN32)
+endif (BUILD_SHARED_LIBS AND NOT SKIP_HDF5_FORTRAN_SHARED)
+
+#-----------------------------------------------------------------------------
# Setup include Directories
#-----------------------------------------------------------------------------
INCLUDE_DIRECTORIES (
${HDF5_HL_SRC_DIR}/src
${HDF5_F90_SRC_DIR}/src
${HDF5_F90_BINARY_DIR}
+ ${CMAKE_Fortran_MODULE_DIRECTORY}
+ ${MOD_BUILD_DIR}
)
#-----------------------------------------------------------------------------
@@ -24,72 +75,122 @@ set_source_files_properties (${HDF5_HL_F90_C_SRCS} PROPERTIES LANGUAGE C)
set (HDF5_HL_F90_HEADERS ${HDF5_HL_F90_SRC_SOURCE_DIR}/H5LTf90proto.h)
-add_library (${HDF5_HL_F90_C_LIB_TARGET} ${LIB_TYPE} ${HDF5_HL_F90_C_SRCS} ${HDF5_HL_F90_HEADERS})
-TARGET_C_PROPERTIES (${HDF5_HL_F90_C_LIB_TARGET} ${LIB_TYPE} " " " ")
+add_library (${HDF5_HL_F90_C_LIB_TARGET} STATIC ${HDF5_HL_F90_C_SRCS} ${HDF5_HL_F90_HEADERS})
+TARGET_C_PROPERTIES (${HDF5_HL_F90_C_LIB_TARGET} STATIC " " " ")
target_link_libraries (${HDF5_HL_F90_C_LIB_TARGET} ${HDF5_F90_C_LIB_TARGET} ${HDF5_HL_LIB_TARGET})
set_global_variable (HDF5_LIBRARIES_TO_EXPORT "${HDF5_LIBRARIES_TO_EXPORT};${HDF5_HL_F90_C_LIB_TARGET}")
-H5_SET_LIB_OPTIONS (${HDF5_HL_F90_C_LIB_TARGET} ${HDF5_HL_F90_C_LIB_NAME} ${LIB_TYPE})
+H5_SET_LIB_OPTIONS (${HDF5_HL_F90_C_LIB_TARGET} ${HDF5_HL_F90_C_LIB_NAME} STATIC)
set_target_properties (${HDF5_HL_F90_C_LIB_TARGET} PROPERTIES
FOLDER libraries/hl/fortran
LINKER_LANGUAGE C
INTERFACE_INCLUDE_DIRECTORIES "$<INSTALL_INTERFACE:$<INSTALL_PREFIX>/include>"
)
+set (install_targets ${HDF5_HL_F90_C_LIB_TARGET})
+
+if (BUILD_SHARED_LIBS AND NOT SKIP_HDF5_FORTRAN_SHARED)
+ add_library (${HDF5_HL_F90_C_LIBSH_TARGET} SHARED ${HDF5_HL_F90_C_SRCS} ${HDF5_HL_F90_HEADERS})
+ TARGET_C_PROPERTIES (${HDF5_HL_F90_C_LIBSH_TARGET} SHARED " " " ")
+ target_link_libraries (${HDF5_HL_F90_C_LIBSH_TARGET} ${HDF5_F90_C_LIBSH_TARGET} ${HDF5_HL_LIBSH_TARGET})
+ set_global_variable (HDF5_LIBRARIES_TO_EXPORT "${HDF5_LIBRARIES_TO_EXPORT};${HDF5_HL_F90_C_LIBSH_TARGET}")
+ H5_SET_LIB_OPTIONS (${HDF5_HL_F90_C_LIBSH_TARGET} ${HDF5_HL_F90_C_LIB_NAME} SHARED)
+ set_target_properties (${HDF5_HL_F90_C_LIBSH_TARGET} PROPERTIES
+ FOLDER libraries/hl/fortran
+ LINKER_LANGUAGE C
+ COMPILE_DEFINITIONS "H5_BUILT_AS_DYNAMIC_LIB"
+ INTERFACE_INCLUDE_DIRECTORIES "$<INSTALL_INTERFACE:$<INSTALL_PREFIX>/include>"
+ INTERFACE_COMPILE_DEFINITIONS H5_BUILT_AS_DYNAMIC_LIB=1
+ )
+ set (install_targets ${install_targets} ${HDF5_HL_F90_C_LIBSH_TARGET})
+endif (BUILD_SHARED_LIBS AND NOT SKIP_HDF5_FORTRAN_SHARED)
#-----------------------------------------------------------------------------
# Fortran Modules
#-----------------------------------------------------------------------------
+set (HDF5_HL_F90_F_BASE_SRCS
+ ${HDF5_HL_F90_SRC_SOURCE_DIR}/H5DSff.F90
+ ${HDF5_HL_F90_SRC_SOURCE_DIR}/H5TBff.F90
+ ${HDF5_HL_F90_SRC_SOURCE_DIR}/H5LTff.F90
+ ${HDF5_HL_F90_SRC_SOURCE_DIR}/H5IMff.F90
+)
set (HDF5_HL_F90_F_SRCS
- ${HDF5_HL_F90_SRC_SOURCE_DIR}/H5DSff.f90
- ${HDF5_HL_F90_SRC_SOURCE_DIR}/H5TBff.f90
- ${HDF5_HL_F90_SRC_SOURCE_DIR}/H5LTff.f90
- ${HDF5_HL_F90_SRC_SOURCE_DIR}/H5IMff.f90
+ ${HDF5_HL_F90_F_BASE_SRCS}
+
+ # generated files
+ ${HDF5_HL_F90_SRC_BINARY_DIR}/H5LTff_gen.F90
+ ${HDF5_HL_F90_SRC_BINARY_DIR}/H5TBff_gen.F90
)
+
set_source_files_properties (${HDF5_HL_F90_F_SRCS} PROPERTIES LANGUAGE Fortran)
-add_library (${HDF5_HL_F90_LIB_TARGET} ${LIB_TYPE} ${HDF5_HL_F90_F_SRCS})
-set (SHARED_LINK_FLAGS " ")
-if (BUILD_SHARED_LIBS)
- if (WIN32)
- set_property (TARGET ${HDF5_HL_F90_LIB_TARGET}
- APPEND PROPERTY COMPILE_DEFINITIONS
- BUILD_HDF5_HL_DLL
- )
- if (MSVC)
- set (SHARED_LINK_FLAGS "/DLL")
- endif (MSVC)
- endif (WIN32)
-endif (BUILD_SHARED_LIBS)
-if (WIN32)
- set_property (TARGET ${HDF5_HL_F90_LIB_TARGET}
- APPEND PROPERTY COMPILE_DEFINITIONS
- HDF5F90_WINDOWS
- )
-endif (WIN32)
-TARGET_FORTRAN_PROPERTIES (${HDF5_HL_F90_LIB_TARGET} ${LIB_TYPE} " " ${SHARED_LINK_FLAGS})
+set_source_files_properties (
+ ${HDF5_HL_F90_SRC_BINARY_DIR}/H5LTff_gen.F90
+ ${HDF5_HL_F90_SRC_BINARY_DIR}/H5TBff_gen.F90
+ PROPERTIES GENERATED TRUE
+)
+
+set (CMD $<TARGET_FILE:H5HL_buildiface>)
+add_custom_target (H5HLgen ALL
+ COMMAND ${CMD}
+#v3.2 BYPRODUCT ${HDF5_HL_F90_SRC_BINARY_DIR}/H5LTff_gen.F90
+#v3.2 ${HDF5_HL_F90_SRC_BINARY_DIR}/H5TBff_gen.F90
+ WORKING_DIRECTORY ${HDF5_HL_F90_SRC_BINARY_DIR}
+ DEPENDS ${HDF5_HL_F90_F_BASE_SRCS}
+)
+
+add_library (${HDF5_HL_F90_LIB_TARGET} STATIC ${HDF5_HL_F90_F_SRCS})
+TARGET_FORTRAN_PROPERTIES (${HDF5_HL_F90_LIB_TARGET} STATIC " " " ")
target_link_libraries (${HDF5_HL_F90_LIB_TARGET} ${HDF5_HL_F90_C_LIB_TARGET} ${HDF5_F90_LIB_TARGET})
set_global_variable (HDF5_LIBRARIES_TO_EXPORT "${HDF5_LIBRARIES_TO_EXPORT};${HDF5_HL_F90_LIB_TARGET}")
-H5_SET_LIB_OPTIONS (${HDF5_HL_F90_LIB_TARGET} ${HDF5_HL_F90_LIB_NAME} ${LIB_TYPE})
+H5_SET_LIB_OPTIONS (${HDF5_HL_F90_LIB_TARGET} ${HDF5_HL_F90_LIB_NAME} STATIC)
set_target_properties (${HDF5_HL_F90_LIB_TARGET} PROPERTIES
FOLDER libraries/hl/fortran
LINKER_LANGUAGE Fortran
INTERFACE_INCLUDE_DIRECTORIES "$<INSTALL_INTERFACE:$<INSTALL_PREFIX>/include>"
- Fortran_MODULE_DIRECTORY ${CMAKE_Fortran_MODULE_DIRECTORY}
+ Fortran_MODULE_DIRECTORY ${CMAKE_Fortran_MODULE_DIRECTORY}/static
)
+if (WIN32)
+ set_property (TARGET ${HDF5_HL_F90_LIB_TARGET}
+ APPEND PROPERTY COMPILE_DEFINITIONS "HDF5F90_WINDOWS"
+ )
+endif (WIN32)
+set (install_targets ${install_targets} ${HDF5_HL_F90_LIB_TARGET})
+
+if (BUILD_SHARED_LIBS AND NOT SKIP_HDF5_FORTRAN_SHARED)
+ add_library (${HDF5_HL_F90_LIBSH_TARGET} SHARED ${HDF5_HL_F90_F_SRCS})
+ set (SHARED_LINK_FLAGS " ")
+ if (WIN32 AND MSVC)
+ set (SHARED_LINK_FLAGS "/DLL /DEF:${HDF5_HL_F90_SRC_BINARY_DIR}/hdf5_hl_fortrandll.def")
+ endif (WIN32 AND MSVC)
+ TARGET_FORTRAN_PROPERTIES (${HDF5_HL_F90_LIBSH_TARGET} SHARED " " ${SHARED_LINK_FLAGS})
+ target_link_libraries (${HDF5_HL_F90_LIBSH_TARGET} ${HDF5_HL_F90_C_LIBSH_TARGET} ${HDF5_F90_LIBSH_TARGET})
+ set_global_variable (HDF5_LIBRARIES_TO_EXPORT "${HDF5_LIBRARIES_TO_EXPORT};${HDF5_HL_F90_LIBSH_TARGET}")
+ H5_SET_LIB_OPTIONS (${HDF5_HL_F90_LIBSH_TARGET} ${HDF5_HL_F90_LIB_NAME} SHARED)
+ set_target_properties (${HDF5_HL_F90_LIBSH_TARGET} PROPERTIES
+ FOLDER libraries/hl/fortran
+ LINKER_LANGUAGE Fortran
+ INTERFACE_INCLUDE_DIRECTORIES "$<INSTALL_INTERFACE:$<INSTALL_PREFIX>/include>"
+ INTERFACE_COMPILE_DEFINITIONS H5_BUILT_AS_DYNAMIC_LIB=1
+ Fortran_MODULE_DIRECTORY ${CMAKE_Fortran_MODULE_DIRECTORY}/shared
+ )
+ if (WIN32)
+ set_property (TARGET ${HDF5_HL_F90_LIBSH_TARGET}
+ APPEND PROPERTY COMPILE_DEFINITIONS "BUILD_HDF5_HL_DLL;HDF5F90_WINDOWS"
+ )
+ endif (WIN32)
+ set (install_targets ${install_targets} ${HDF5_HL_F90_LIBSH_TARGET})
+endif (BUILD_SHARED_LIBS AND NOT SKIP_HDF5_FORTRAN_SHARED)
#-----------------------------------------------------------------------------
# Add file(s) to CMake Install
#-----------------------------------------------------------------------------
-if (WIN32)
- set (MOD_BUILD_DIR ${CMAKE_Fortran_MODULE_DIRECTORY}/\${BUILD_TYPE})
-else (WIN32)
- set (MOD_BUILD_DIR ${CMAKE_Fortran_MODULE_DIRECTORY})
-endif (WIN32)
set (mod_files
${MOD_BUILD_DIR}/h5ds.mod
${MOD_BUILD_DIR}/h5tb.mod
+ ${MOD_BUILD_DIR}/h5tb_const.mod
${MOD_BUILD_DIR}/h5lt.mod
+ ${MOD_BUILD_DIR}/h5lt_const.mod
${MOD_BUILD_DIR}/h5im.mod
)
@@ -106,15 +207,14 @@ install (
# Add Target(s) to CMake Install for import into other projects
#-----------------------------------------------------------------------------
if (HDF5_EXPORTED_TARGETS)
- if (BUILD_SHARED_LIBS)
- INSTALL_TARGET_PDB (${HDF5_HL_F90_C_LIB_TARGET} ${HDF5_INSTALL_BIN_DIR} hlfortlibraries)
- #INSTALL_TARGET_PDB (${HDF5_HL_F90_LIB_TARGET} ${HDF5_INSTALL_BIN_DIR} hlfortlibraries)
- endif (BUILD_SHARED_LIBS)
+ if (BUILD_SHARED_LIBS AND NOT SKIP_HDF5_FORTRAN_SHARED)
+ INSTALL_TARGET_PDB (${HDF5_HL_F90_C_LIBSH_TARGET} ${HDF5_INSTALL_BIN_DIR} hlfortlibraries)
+ #INSTALL_TARGET_PDB (${HDF5_HL_F90_LIBSH_TARGET} ${HDF5_INSTALL_BIN_DIR} hlfortlibraries)
+ endif (BUILD_SHARED_LIBS AND NOT SKIP_HDF5_FORTRAN_SHARED)
install (
TARGETS
- ${HDF5_HL_F90_C_LIB_TARGET}
- ${HDF5_HL_F90_LIB_TARGET}
+ ${install_targets}
EXPORT
${HDF5_EXPORTED_TARGETS}
LIBRARY DESTINATION ${HDF5_INSTALL_LIB_DIR} COMPONENT hlfortlibraries
diff --git a/hl/fortran/src/H5DSfc.c b/hl/fortran/src/H5DSfc.c
index 1de3fff..af054e0 100644
--- a/hl/fortran/src/H5DSfc.c
+++ b/hl/fortran/src/H5DSfc.c
@@ -35,7 +35,7 @@
*-------------------------------------------------------------------------
*/
int_f
-nh5dsset_scale_c(hid_t_f *dsid, _fcd dimname, size_t_f *dimnamelen)
+h5dsset_scale_c(hid_t_f *dsid, _fcd dimname, size_t_f *dimnamelen)
{
char *c_dimname = NULL;
int_f ret_value = 0;
@@ -61,7 +61,7 @@ nh5dsset_scale_c(hid_t_f *dsid, _fcd dimname, size_t_f *dimnamelen)
return ret_value;
-} /* end nh5dsset_scale_c() */
+} /* end h5dsset_scale_c() */
/*-------------------------------------------------------------------------
@@ -80,7 +80,7 @@ nh5dsset_scale_c(hid_t_f *dsid, _fcd dimname, size_t_f *dimnamelen)
*-------------------------------------------------------------------------
*/
int_f
-nh5dsattach_scale_c( hid_t_f *did, hid_t_f *dsid, int_f *idx)
+h5dsattach_scale_c( hid_t_f *did, hid_t_f *dsid, int_f *idx)
{
int_f ret_value = 0;
@@ -94,7 +94,7 @@ nh5dsattach_scale_c( hid_t_f *did, hid_t_f *dsid, int_f *idx)
done:
return ret_value;
-} /* end nh5dsattach_scale_c() */
+} /* end h5dsattach_scale_c() */
/*-------------------------------------------------------------------------
@@ -113,7 +113,7 @@ nh5dsattach_scale_c( hid_t_f *did, hid_t_f *dsid, int_f *idx)
*-------------------------------------------------------------------------
*/
int_f
-nh5dsdetach_scale_c( hid_t_f *did, hid_t_f *dsid, int_f *idx)
+h5dsdetach_scale_c( hid_t_f *did, hid_t_f *dsid, int_f *idx)
{
int_f ret_value = 0;
@@ -127,7 +127,7 @@ nh5dsdetach_scale_c( hid_t_f *did, hid_t_f *dsid, int_f *idx)
done:
return ret_value;
-} /* end nh5dsdetach_scale_c() */
+} /* end h5dsdetach_scale_c() */
/*-------------------------------------------------------------------------
@@ -146,7 +146,7 @@ nh5dsdetach_scale_c( hid_t_f *did, hid_t_f *dsid, int_f *idx)
*-------------------------------------------------------------------------
*/
int_f
-nh5dsis_attached_c( hid_t_f *did, hid_t_f *dsid, int_f *idx, int_f *is_attached)
+h5dsis_attached_c( hid_t_f *did, hid_t_f *dsid, int_f *idx, int_f *is_attached)
{
int_f ret_value = 0;
htri_t c_is_attached;
@@ -163,7 +163,7 @@ nh5dsis_attached_c( hid_t_f *did, hid_t_f *dsid, int_f *idx, int_f *is_attached)
done:
return ret_value;
-} /* end nh5dsis_attached_c() */
+} /* end h5dsis_attached_c() */
/*-------------------------------------------------------------------------
* Function: H5DSis_scale_c
@@ -181,7 +181,7 @@ nh5dsis_attached_c( hid_t_f *did, hid_t_f *dsid, int_f *idx, int_f *is_attached)
*-------------------------------------------------------------------------
*/
int_f
-nh5dsis_scale_c( hid_t_f *did, int_f *is_scale)
+h5dsis_scale_c( hid_t_f *did, int_f *is_scale)
{
int_f ret_value = 0;
htri_t c_is_scale;
@@ -198,7 +198,7 @@ nh5dsis_scale_c( hid_t_f *did, int_f *is_scale)
done:
return ret_value;
-} /* end nh5dsis_scale_c() */
+} /* end h5dsis_scale_c() */
/*-------------------------------------------------------------------------
@@ -217,7 +217,7 @@ nh5dsis_scale_c( hid_t_f *did, int_f *is_scale)
*-------------------------------------------------------------------------
*/
int_f
-nh5dsset_label_c(hid_t_f *did, int_f *idx, _fcd label, size_t_f *labellen)
+h5dsset_label_c(hid_t_f *did, int_f *idx, _fcd label, size_t_f *labellen)
{
char *c_label = NULL;
int_f ret_value = 0;
@@ -242,7 +242,7 @@ nh5dsset_label_c(hid_t_f *did, int_f *idx, _fcd label, size_t_f *labellen)
return ret_value;
-} /* end nh5dsset_label_c() */
+} /* end h5dsset_label_c() */
/*-------------------------------------------------------------------------
* Function: h5dsget_label_c
@@ -260,7 +260,7 @@ nh5dsset_label_c(hid_t_f *did, int_f *idx, _fcd label, size_t_f *labellen)
*-------------------------------------------------------------------------
*/
int_f
-nh5dsget_label_c(hid_t_f *did, int_f *idx, _fcd label, size_t_f *size)
+h5dsget_label_c(hid_t_f *did, int_f *idx, _fcd label, size_t_f *size)
{
char *c_label = NULL;
ssize_t size_c = -1;
@@ -291,7 +291,7 @@ done:
if(c_label) HDfree(c_label);
return ret_value;
-} /* end nh5dsget_label_c() */
+} /* end h5dsget_label_c() */
/*-------------------------------------------------------------------------
* Function: h5dsget_scale_name_c
@@ -309,7 +309,7 @@ done:
*-------------------------------------------------------------------------
*/
int_f
-nh5dsget_scale_name_c(hid_t_f *did, _fcd name, size_t_f *size)
+h5dsget_scale_name_c(hid_t_f *did, _fcd name, size_t_f *size)
{
char *c_scale_name = NULL;
ssize_t size_c = -1;
@@ -338,7 +338,7 @@ done:
if(c_scale_name) HDfree(c_scale_name);
return ret_value;
-} /* end nh5dsget_scale_name_c() */
+} /* end h5dsget_scale_name_c() */
/*-------------------------------------------------------------------------
* Function: H5DSget_num_scales_c
@@ -356,7 +356,7 @@ done:
*-------------------------------------------------------------------------
*/
int_f
-nh5dsget_num_scales_c( hid_t_f *did, int_f *idx, int_f *num_scales)
+h5dsget_num_scales_c( hid_t_f *did, int_f *idx, int_f *num_scales)
{
int_f ret_value = 0;
@@ -370,4 +370,4 @@ nh5dsget_num_scales_c( hid_t_f *did, int_f *idx, int_f *num_scales)
done:
return ret_value;
-} /* end nh5dsget_num_scales_c() */
+} /* end h5dsget_num_scales_c() */
diff --git a/hl/fortran/src/H5DSff.f90 b/hl/fortran/src/H5DSff.F90
index 04540a6..00cf4d8 100644
--- a/hl/fortran/src/H5DSff.f90
+++ b/hl/fortran/src/H5DSff.F90
@@ -19,12 +19,12 @@
MODULE h5ds
+ USE, INTRINSIC :: ISO_C_BINDING, ONLY : C_PTR, C_CHAR, C_FLOAT, C_DOUBLE, C_LOC, C_CHAR
USE h5fortran_types
USE hdf5
CONTAINS
-
!-------------------------------------------------------------------------
! Function: H5DSset_scale_f
!
@@ -60,16 +60,13 @@ CONTAINS
INTEGER(SIZE_T) :: dimname_len ! length of dimname (if present)
INTERFACE
- INTEGER FUNCTION H5DSset_scale_c(dsid, dimname, dimname_len )
-
- USE h5global
+ INTEGER FUNCTION H5DSset_scale_c(dsid, dimname, dimname_len) &
+ BIND(C,NAME='h5dsset_scale_c')
+ IMPORT :: C_CHAR
+ IMPORT :: HID_T, SIZE_T
IMPLICIT NONE
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5DSSET_SCALE_C'::h5dsset_scale_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: dimname
INTEGER(hid_t), INTENT(in) :: dsid ! The dataset to be made a Dimension Scale
- CHARACTER(LEN=*), INTENT(in) :: dimname ! The dimension name
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dimname ! The dimension name
INTEGER(SIZE_T), INTENT(in) :: dimname_len
END FUNCTION H5DSset_scale_c
END INTERFACE
@@ -117,13 +114,10 @@ CONTAINS
INTEGER :: c_idx
INTERFACE
- INTEGER FUNCTION H5DSattach_scale_c(did, dsid, idx )
-
- USE h5global
+ INTEGER FUNCTION H5DSattach_scale_c(did, dsid, idx) &
+ BIND(C,NAME='h5dsattach_scale_c')
+ IMPORT :: HID_T
IMPLICIT NONE
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5DSATTACH_SCALE_C':: h5dsattach_scale_c
- !DEC$ENDIF
INTEGER(hid_t), INTENT(in) :: did ! the dataset
INTEGER(hid_t), INTENT(in) :: dsid ! the scale to be attached
INTEGER , INTENT(in) :: idx ! the dimension of did that dsid is associated with.
@@ -170,13 +164,10 @@ CONTAINS
INTEGER :: c_idx
INTERFACE
- INTEGER FUNCTION H5DSdetach_scale_c(did, dsid, idx )
-
- USE h5global
+ INTEGER FUNCTION H5DSdetach_scale_c(did, dsid, idx) &
+ BIND(C,NAME='h5dsdetach_scale_c')
+ IMPORT :: HID_T
IMPLICIT NONE
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5DSDETACH_SCALE_C':: h5dsdetach_scale_c
- !DEC$ENDIF
INTEGER(hid_t), INTENT(in) :: did ! the dataset
INTEGER(hid_t), INTENT(in) :: dsid ! the scale to be detached
INTEGER , INTENT(in) :: idx ! the dimension of did to detach
@@ -227,13 +218,10 @@ CONTAINS
INTEGER :: c_idx
INTERFACE
- INTEGER FUNCTION H5DSis_attached_c(did, dsid, idx, c_is_attached )
-
- USE h5global
+ INTEGER FUNCTION H5DSis_attached_c(did, dsid, idx, c_is_attached) &
+ BIND(C,NAME='h5dsis_attached_c')
+ IMPORT :: HID_T
IMPLICIT NONE
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5DSIS_ATTACHED_C':: h5dsis_attached_c
- !DEC$ENDIF
INTEGER(hid_t), INTENT(in) :: did ! the dataset
INTEGER(hid_t), INTENT(in) :: dsid ! the scale to be detached
INTEGER , INTENT(in) :: idx ! the dimension of did to detach
@@ -292,14 +280,11 @@ CONTAINS
INTEGER :: c_is_scale
INTERFACE
- INTEGER FUNCTION H5DSis_scale_c(did,c_is_scale)
-
- USE h5global
+ INTEGER FUNCTION H5DSis_scale_c(did,c_is_scale) &
+ BIND(C,NAME='h5dsis_scale_c')
+ IMPORT :: HID_T
IMPLICIT NONE
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5DSIS_SCALE_C':: h5dsis_scale_c
- !DEC$ENDIF
- INTEGER(hid_t), INTENT(in) :: did ! the data set to query
+ INTEGER(hid_t), INTENT(in) :: did
INTEGER, INTENT(out) :: c_is_scale
END FUNCTION H5DSis_scale_c
END INTERFACE
@@ -352,17 +337,14 @@ CONTAINS
INTEGER :: c_idx
INTERFACE
- INTEGER FUNCTION H5DSset_label_c(did, idx, label, label_len)
-
- USE h5global
+ INTEGER FUNCTION H5DSset_label_c(did, idx, label, label_len) &
+ BIND(C,NAME='h5dsset_label_c')
+ IMPORT :: C_CHAR
+ IMPORT :: HID_T, SIZE_T
IMPLICIT NONE
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5DSSET_LABEL_C'::h5dsset_label_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: label
INTEGER(hid_t), INTENT(in) :: did ! The dataset
INTEGER , INTENT(in) :: idx ! The dimension
- CHARACTER(LEN=*), INTENT(in) :: label ! The label
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: label ! The label
INTEGER(SIZE_T), INTENT(in) :: label_len ! Length of label
END FUNCTION H5DSset_label_c
END INTERFACE
@@ -410,17 +392,14 @@ CONTAINS
INTEGER :: c_idx
INTERFACE
- INTEGER FUNCTION H5DSget_label_c(did, idx, label, size)
-
- USE h5global
+ INTEGER FUNCTION H5DSget_label_c(did, idx, label, size) &
+ BIND(C,NAME='h5dsget_label_c')
+ IMPORT :: C_CHAR
+ IMPORT :: HID_T, SIZE_T
IMPLICIT NONE
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5DSGET_LABEL_C'::h5dsget_label_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: label
INTEGER(hid_t), INTENT(in) :: did ! The dataget
INTEGER , INTENT(in) :: idx ! The dimension
- CHARACTER(LEN=*), INTENT(in) :: label ! The label
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: label ! The label
INTEGER(SIZE_T), INTENT(inout) :: size ! Length of label
END FUNCTION H5DSget_label_c
END INTERFACE
@@ -466,16 +445,13 @@ CONTAINS
INTEGER :: errcode ! Error code
INTERFACE
- INTEGER FUNCTION H5DSget_scale_name_c(did, name, size)
-
- USE h5global
+ INTEGER FUNCTION H5DSget_scale_name_c(did, name, size) &
+ bind(c,name='h5dsget_scale_name_c')
+ IMPORT :: C_CHAR
+ IMPORT :: HID_T, SIZE_T
IMPLICIT NONE
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5DSGET_SCALE_NAME_C'::h5dsget_scale_name_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: name
INTEGER(hid_t), INTENT(in) :: did ! The dataget
- CHARACTER(LEN=*), INTENT(out) :: name ! The name
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(out) :: name ! The name
INTEGER(SIZE_T), INTENT(inout) :: size ! Length of name
END FUNCTION H5DSget_scale_name_c
END INTERFACE
@@ -518,13 +494,10 @@ CONTAINS
INTEGER :: c_idx
INTERFACE
- INTEGER FUNCTION H5DSget_num_scales_c(did, idx, num_scales)
-
- USE h5global
+ INTEGER FUNCTION H5DSget_num_scales_c(did, idx, num_scales) &
+ BIND(C,NAME='h5dsget_num_scales_c')
+ IMPORT :: HID_T
IMPLICIT NONE
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5DSGET_NUM_SCALES_C':: h5dsget_num_scales_c
- !DEC$ENDIF
INTEGER(hid_t), INTENT(in) :: did ! the dataset
INTEGER , INTENT(in) :: idx ! the dimension of did to query
INTEGER , INTENT(out) :: num_scales ! the number of Dimension Scales associated with did
diff --git a/hl/fortran/src/H5HL_buildiface.F90 b/hl/fortran/src/H5HL_buildiface.F90
new file mode 100644
index 0000000..0e85e27
--- /dev/null
+++ b/hl/fortran/src/H5HL_buildiface.F90
@@ -0,0 +1,683 @@
+!****p* Program/H5HL_buildiface
+!
+! NAME
+! Executable: H5HL_buildiface
+!
+! FILE
+! fortran/src/H5HL_buildiface.f90
+!
+! PURPOSE
+! This stand alone program is used at build time to generate the program
+! H5HL_gen.f90. It cycles through all the available KIND parameters for
+! integers and reals. The appropriate program and subroutines are then generated
+! depending on which of the KIND values are found.
+!
+! NOTES
+! This program uses the Fortran 2008 intrinsic function STORAGE_SIZE or SIZEOF
+! depending on availablity.It generates code that makes use of
+! STORAGE_SIZE/SIZEOF in H5fortran_detect.f90. STORAGE_SIZE is standard
+! compliant and should always be chosen over SIZEOF.
+!
+! The availability of STORAGE_SIZE/SIZEOF is checked at configure time and the TRUE/FALSE
+! condition is set in the configure variable "FORTRAN_HAVE_STORAGE_SIZE" or
+! "FORTRAN_HAVE_SIZEOF".
+!
+! The use of C_SIZOF(X) is not used since the argument X must be an interoperable
+! data entity.
+!
+! COPYRIGHT
+! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+! Copyright by The HDF Group. *
+! Copyright by the Board of Trustees of the University of Illinois. *
+! All rights reserved. *
+! *
+! This file is part of HDF5. The full HDF5 copyright notice, including *
+! terms governing use, modification, and redistribution, is contained in *
+! the files COPYING and Copyright.html. COPYING can be found at the root *
+! of the source code distribution tree; Copyright.html can be found at the *
+! root level of an installed copy of the electronic HDF5 document set and *
+! is linked from the top-level documents page. It can also be found at *
+! http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have *
+! access to either file, you may request a copy from help@hdfgroup.org. *
+! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+!
+! AUTHOR
+! M. Scot Breitenfeld
+!
+!*****
+
+#include <H5config_f.inc>
+
+PROGRAM H5HL_buildiface
+ USE, INTRINSIC :: ISO_C_BINDING
+ IMPLICIT NONE
+
+! These values are valid REAL KINDs (with corresponding C float) found during configure
+ H5_H5CONFIG_F_NUM_RKIND
+ H5_H5CONFIG_F_RKIND
+! These values are valid INTEGER KINDs (with corresponding C float) found during configure
+ H5_H5CONFIG_F_NUM_IKIND
+ H5_H5CONFIG_F_IKIND
+
+ INTEGER :: i, j, k
+ INTEGER :: ji, jr, jd
+#ifdef H5_FORTRAN_HAVE_C_LONG_DOUBLE
+ REAL(KIND=C_LONG_DOUBLE) :: c_longdble
+#endif
+ REAL(KIND=C_DOUBLE) :: c_dble
+ REAL(KIND=C_FLOAT) :: c_flt
+ INTEGER :: sizeof_var
+ CHARACTER(LEN=2) :: chr2
+! subroutine rank of array being passed in
+ CHARACTER(LEN=2), DIMENSION(1:8), PARAMETER :: chr_rank=(/"_0","_1","_2","_3","_4","_5","_6","_7"/)
+! rank definitions
+ CHARACTER(LEN=70), DIMENSION(1:8), PARAMETER :: rank_dim_line=(/ &
+ ' ', &
+ ', DIMENSION(dims(1)) ', &
+ ', DIMENSION(dims(1),dims(2)) ', &
+ ', DIMENSION(dims(1),dims(2),dims(3)) ', &
+ ', DIMENSION(dims(1),dims(2),dims(3),dims(4)) ', &
+ ', DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)) ', &
+ ', DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)) ', &
+ ', DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7))' &
+ /)
+! pointer to the buffer
+ CHARACTER(LEN=37), DIMENSION(1:8), PARAMETER :: f_ptr_line=(/ &
+ ' f_ptr = C_LOC(buf) ', &
+ ' f_ptr = C_LOC(buf(1)) ', &
+ ' f_ptr = C_LOC(buf(1,1)) ', &
+ ' f_ptr = C_LOC(buf(1,1,1)) ', &
+ ' f_ptr = C_LOC(buf(1,1,1,1)) ', &
+ ' f_ptr = C_LOC(buf(1,1,1,1,1)) ', &
+ ' f_ptr = C_LOC(buf(1,1,1,1,1,1)) ', &
+ ' f_ptr = C_LOC(buf(1,1,1,1,1,1,1))' &
+ /)
+
+! Generate Fortran H5LT* interfaces having multiple KIND interfaces.
+!
+! Developer's notes:
+!
+! Only interfaces with arrays of rank 7 and less are provided. Even-though the F2008
+! standard extended the maximum rank to 15, it was decided that they should use the
+! new APIs to handle those use cases. Handling rank 7 and less is for backward compatibility
+! with the Fortran 90/95 APIs codes which could never handle rank 8-15 array sizes.
+
+ OPEN(11,FILE='H5LTff_gen.F90')
+ WRITE(11,'(40(A,/))') &
+'!****h* ROBODoc/H5LTff_gen.F90',&
+'!',&
+'! NAME',&
+'! H5LTff_gen',&
+'! ',&
+'! PURPOSE',&
+'! This module is generated at build by H5HL_buildiface.F90 to handle all the',&
+'! detected REAL/INTEGER KINDs for APIs being passed those KINDs. Currently these ',&
+'! are H5LT and H5TB APIs',&
+'!',&
+'! COPYRIGHT',&
+'! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *',&
+'! Copyright by The HDF Group. *',&
+'! All rights reserved. *',&
+'! *',&
+'! This file is part of HDF5. The full HDF5 copyright notice, including *',&
+'! terms governing use, modification, and redistribution, is contained in *',&
+'! the files COPYING and Copyright.html. COPYING can be found at the root *',&
+'! of the source code distribution tree; Copyright.html can be found at the *',&
+'! root level of an installed copy of the electronic HDF5 document set and *',&
+'! is linked from the top-level documents page. It can also be found at *',&
+'! http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have *',&
+'! access to either file, you may request a copy from help@hdfgroup.org. *',&
+'! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *',&
+'!',&
+'! AUTHOR',&
+'! H5HL_buildiface.F90',&
+'!',&
+'!*****'
+
+ WRITE(11,'(a)') "MODULE H5LT"
+
+ WRITE(11,'(A)') ' USE, INTRINSIC :: ISO_C_BINDING'
+ WRITE(11,'(A)') ' USE h5fortran_types'
+ WRITE(11,'(A)') ' USE H5LT_CONST'
+ WRITE(11,'(A)') ' IMPLICIT NONE'
+!***************
+! H5LT INTERFACES
+!***************
+!
+! H5LTmake_dataset_f
+!
+ WRITE(11,'(A)') " INTERFACE h5ltmake_dataset_f"
+ DO i = 1, num_rkinds
+ j = rkind(i)
+ WRITE(chr2,'(I2)') j
+ DO k = 1, 8
+ WRITE(11,'(A)') " MODULE PROCEDURE h5ltmake_dataset_real_kind_"//TRIM(ADJUSTL(chr2))//'_rank'//chr_rank(k)
+ ENDDO
+ END DO
+ WRITE(11,'(A)') " END INTERFACE"
+
+! h5ltread_dataset_f
+ WRITE(11,'(A)') " INTERFACE h5ltread_dataset_f"
+ DO i = 1, num_rkinds
+ j = rkind(i)
+ WRITE(chr2,'(I2)') j
+ DO k = 1, 8
+ WRITE(11,'(A)') " MODULE PROCEDURE h5ltread_dataset_real_kind_"//TRIM(ADJUSTL(chr2))//'_rank'//chr_rank(k)
+ ENDDO
+ END DO
+ WRITE(11,'(A)') " END INTERFACE"
+
+! h5ltmake_dataset_float_f
+ WRITE(11,'(A)') " INTERFACE h5ltmake_dataset_float_f"
+ DO i = 1, num_rkinds
+ j = rkind(i)
+ WRITE(chr2,'(I2)') j
+ DO k = 1, 8
+ WRITE(11,'(A)') " MODULE PROCEDURE h5ltmake_dataset_float_kind_"//TRIM(ADJUSTL(chr2))//'_rank'//chr_rank(k)
+ ENDDO
+ END DO
+ WRITE(11,'(A)') " END INTERFACE"
+
+! h5ltmake_dataset_double_f
+ WRITE(11,'(A)') " INTERFACE h5ltmake_dataset_double_f"
+ DO i = 1, num_rkinds
+ j = rkind(i)
+ WRITE(chr2,'(I2)') j
+ DO k = 1, 8
+ WRITE(11,'(A)') " MODULE PROCEDURE h5ltmake_dataset_double_kind_"//TRIM(ADJUSTL(chr2))//'_rank'//chr_rank(k)
+ ENDDO
+ END DO
+ WRITE(11,'(A)') " END INTERFACE"
+
+! h5ltread_dataset_float_f
+ WRITE(11,'(A)') " INTERFACE h5ltread_dataset_float_f"
+ DO i = 1, num_rkinds
+ j = rkind(i)
+ WRITE(chr2,'(I2)') j
+ DO k = 1, 8
+ WRITE(11,'(A)') " MODULE PROCEDURE h5ltread_dataset_float_kind_"//TRIM(ADJUSTL(chr2))//'_rank'//chr_rank(k)
+ ENDDO
+ END DO
+ WRITE(11,'(A)') " END INTERFACE"
+
+! h5ltread_dataset_double_f
+ WRITE(11,'(A)') " INTERFACE h5ltread_dataset_double_f"
+ DO i = 1, num_rkinds
+ j = rkind(i)
+ WRITE(chr2,'(I2)') j
+ DO k = 1, 8
+ WRITE(11,'(A)') " MODULE PROCEDURE h5ltread_dataset_double_kind_"//TRIM(ADJUSTL(chr2))//'_rank'//chr_rank(k)
+ ENDDO
+ END DO
+ WRITE(11,'(A)') " END INTERFACE"
+
+ WRITE(11,'(A)') 'CONTAINS'
+
+!**********************
+! H5LT APIs
+!**********************
+!
+! h5ltmake_dataset_f
+ DO i = 1, num_rkinds
+ k = rkind(i)
+ WRITE(chr2,'(I2)') k
+ DO j = 1, 8
+
+! DLL definitions for windows
+ WRITE(11,'(A)') '!DEC$if defined(BUILD_HDF5_HL_DLL)'
+ WRITE(11,'(A)') '!DEC$attributes dllexport :: h5ltmake_dataset_real_kind_'//TRIM(ADJUSTL(chr2))//'_rank'//chr_rank(j)
+ WRITE(11,'(A)') '!DEC$endif'
+
+! Subroutine API
+ WRITE(11,'(A)') ' SUBROUTINE h5ltmake_dataset_real_kind_'//TRIM(ADJUSTL(chr2))&
+ &//'_rank'//chr_rank(j)//'(loc_id,dset_name,rank,dims,type_id,buf,errcode)'
+ WRITE(11,'(A)') ' IMPLICIT NONE'
+ WRITE(11,'(A)') ' INTEGER(hid_t) , INTENT(IN) :: loc_id'
+ WRITE(11,'(A)') ' CHARACTER(LEN=*), INTENT(IN) :: dset_name'
+ WRITE(11,'(A)') ' INTEGER, INTENT(IN) :: rank'
+ WRITE(11,'(A)') ' INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims'
+ WRITE(11,'(A)') ' INTEGER(hid_t), INTENT(in) :: type_id'
+ WRITE(11,'(A)') ' REAL(KIND='//TRIM(ADJUSTL(chr2))//'),INTENT(IN)'//TRIM(rank_dim_line(j))//', TARGET :: buf'
+ WRITE(11,'(A)') ' INTEGER :: errcode '
+ WRITE(11,'(A)') ' TYPE(C_PTR) :: f_ptr'
+ WRITE(11,'(A)') ' INTEGER(size_t) :: namelen'
+
+ WRITE(11,'(A)') f_ptr_line(j)
+ WRITE(11,'(A)') ' namelen = LEN(dset_name)'
+ WRITE(11,'(A)') ' errcode = h5ltmake_dataset_c(loc_id,namelen,dset_name,rank,dims,type_id,f_ptr)'
+ WRITE(11,'(A)') ' END SUBROUTINE h5ltmake_dataset_real_kind_'//TRIM(ADJUSTL(chr2))//'_rank'//chr_rank(j)
+ ENDDO
+ ENDDO
+
+! h5ltread_dataset_f
+ DO i = 1, num_rkinds
+ k = rkind(i)
+ WRITE(chr2,'(I2)') k
+ DO j = 1, 8
+
+! DLL definitions for windows
+ WRITE(11,'(A)') '!DEC$if defined(BUILD_HDF5_HL_DLL)'
+ WRITE(11,'(A)') '!DEC$attributes dllexport :: h5ltread_dataset_real_kind_'//TRIM(ADJUSTL(chr2))//'_rank'//chr_rank(j)
+ WRITE(11,'(A)') '!DEC$endif'
+
+! Subroutine API
+ WRITE(11,'(A)') ' SUBROUTINE h5ltread_dataset_real_kind_'//TRIM(ADJUSTL(chr2))&
+ &//'_rank'//chr_rank(j)//'(loc_id,dset_name,type_id,buf,dims,errcode)'
+ WRITE(11,'(A)') ' IMPLICIT NONE'
+ WRITE(11,'(A)') ' INTEGER(hid_t) , INTENT(IN) :: loc_id'
+ WRITE(11,'(A)') ' CHARACTER(LEN=*), INTENT(IN) :: dset_name'
+ WRITE(11,'(A)') ' INTEGER(hid_t), INTENT(in) :: type_id'
+ WRITE(11,'(A)') ' INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims'
+ WRITE(11,'(A)') ' REAL(KIND='//TRIM(ADJUSTL(chr2))//'),INTENT(IN)'//TRIM(rank_dim_line(j))//', TARGET :: buf'
+ WRITE(11,'(A)') ' INTEGER :: errcode '
+ WRITE(11,'(A)') ' TYPE(C_PTR) :: f_ptr'
+ WRITE(11,'(A)') ' INTEGER(size_t) :: namelen'
+
+ WRITE(11,'(A)') f_ptr_line(j)
+ WRITE(11,'(A)') ' namelen = LEN(dset_name)'
+ WRITE(11,'(A)') ' errcode = h5ltread_dataset_c(loc_id,namelen,dset_name,type_id,f_ptr)'
+ WRITE(11,'(A)') ' END SUBROUTINE h5ltread_dataset_real_kind_'//TRIM(ADJUSTL(chr2))//'_rank'//chr_rank(j)
+ ENDDO
+ ENDDO
+
+! h5ltmake_dataset_float_f
+ DO i = 1, num_rkinds
+ k = rkind(i)
+ WRITE(chr2,'(I2)') k
+ DO j = 1, 8
+
+! DLL definitions for windows
+ WRITE(11,'(A)') '!DEC$if defined(BUILD_HDF5_HL_DLL)'
+ WRITE(11,'(A)') '!DEC$attributes dllexport :: h5ltmake_dataset_float_kind_'//TRIM(ADJUSTL(chr2))//'_rank'//chr_rank(j)
+ WRITE(11,'(A)') '!DEC$endif'
+
+! Subroutine API
+ WRITE(11,'(A)') ' SUBROUTINE h5ltmake_dataset_float_kind_'//TRIM(ADJUSTL(chr2))&
+ &//'_rank'//chr_rank(j)//'(loc_id,dset_name,rank,dims,buf,errcode)'
+ WRITE(11,'(A)') ' IMPLICIT NONE'
+ WRITE(11,'(A)') ' INTEGER(hid_t) , INTENT(IN) :: loc_id'
+ WRITE(11,'(A)') ' CHARACTER(LEN=*), INTENT(IN) :: dset_name'
+ WRITE(11,'(A)') ' INTEGER, INTENT(IN) :: rank'
+ WRITE(11,'(A)') ' INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims'
+ WRITE(11,'(A)') ' REAL(KIND='//TRIM(ADJUSTL(chr2))//'),INTENT(IN)'//TRIM(rank_dim_line(j))//', TARGET :: buf'
+ WRITE(11,'(A)') ' INTEGER :: errcode '
+ WRITE(11,'(A)') ' TYPE(C_PTR) :: f_ptr'
+ WRITE(11,'(A)') ' INTEGER(size_t) :: namelen'
+
+ WRITE(11,'(A)') f_ptr_line(j)
+ WRITE(11,'(A)') ' namelen = LEN(dset_name)'
+ WRITE(11,'(A)') ' errcode = h5ltmake_dataset_c(loc_id,namelen,dset_name,rank,dims,H5T_NATIVE_REAL,f_ptr)'
+ WRITE(11,'(A)') ' END SUBROUTINE h5ltmake_dataset_float_kind_'//TRIM(ADJUSTL(chr2))//'_rank'//chr_rank(j)
+ ENDDO
+ ENDDO
+
+! h5ltread_dataset_float_f
+ DO i = 1, num_rkinds
+ k = rkind(i)
+ WRITE(chr2,'(I2)') k
+ DO j = 1, 8
+
+! DLL definitions for windows
+ WRITE(11,'(A)') '!DEC$if defined(BUILD_HDF5_HL_DLL)'
+ WRITE(11,'(A)') '!DEC$attributes dllexport :: h5ltread_dataset_float_kind_'//TRIM(ADJUSTL(chr2))//'_rank'//chr_rank(j)
+ WRITE(11,'(A)') '!DEC$endif'
+
+! Subroutine API
+ WRITE(11,'(A)') ' SUBROUTINE h5ltread_dataset_float_kind_'//TRIM(ADJUSTL(chr2))&
+ &//'_rank'//chr_rank(j)//'(loc_id,dset_name,buf,dims,errcode)'
+ WRITE(11,'(A)') ' IMPLICIT NONE'
+ WRITE(11,'(A)') ' INTEGER(hid_t) , INTENT(IN) :: loc_id'
+ WRITE(11,'(A)') ' CHARACTER(LEN=*), INTENT(IN) :: dset_name'
+ WRITE(11,'(A)') ' INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims'
+ WRITE(11,'(A)') ' REAL(KIND='//TRIM(ADJUSTL(chr2))//'),INTENT(IN)'//TRIM(rank_dim_line(j))//', TARGET :: buf'
+ WRITE(11,'(A)') ' INTEGER :: errcode '
+ WRITE(11,'(A)') ' TYPE(C_PTR) :: f_ptr'
+ WRITE(11,'(A)') ' INTEGER(size_t) :: namelen'
+
+ WRITE(11,'(A)') f_ptr_line(j)
+ WRITE(11,'(A)') ' namelen = LEN(dset_name)'
+ WRITE(11,'(A)') ' errcode = h5ltread_dataset_c(loc_id,namelen,dset_name,H5T_NATIVE_REAL,f_ptr)'
+ WRITE(11,'(A)') ' END SUBROUTINE h5ltread_dataset_float_kind_'//TRIM(ADJUSTL(chr2))//'_rank'//chr_rank(j)
+ ENDDO
+ ENDDO
+
+! h5ltmake_dataset_double_f
+ DO i = 1, num_rkinds
+ k = rkind(i)
+ WRITE(chr2,'(I2)') k
+ DO j = 1, 8
+
+! DLL definitions for windows
+ WRITE(11,'(A)') '!DEC$if defined(BUILD_HDF5_HL_DLL)'
+ WRITE(11,'(A)') '!DEC$attributes dllexport :: h5ltmake_dataset_double_kind_'//TRIM(ADJUSTL(chr2))//'_rank'//chr_rank(j)
+ WRITE(11,'(A)') '!DEC$endif'
+
+! Subroutine API
+ WRITE(11,'(A)') ' SUBROUTINE h5ltmake_dataset_double_kind_'//TRIM(ADJUSTL(chr2))&
+ &//'_rank'//chr_rank(j)//'(loc_id,dset_name,rank,dims,buf,errcode)'
+ WRITE(11,'(A)') ' IMPLICIT NONE'
+ WRITE(11,'(A)') ' INTEGER(hid_t) , INTENT(IN) :: loc_id'
+ WRITE(11,'(A)') ' CHARACTER(LEN=*), INTENT(IN) :: dset_name'
+ WRITE(11,'(A)') ' INTEGER, INTENT(IN) :: rank'
+ WRITE(11,'(A)') ' INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims'
+ WRITE(11,'(A)') ' REAL(KIND='//TRIM(ADJUSTL(chr2))//'),INTENT(IN)'//TRIM(rank_dim_line(j))//', TARGET :: buf'
+ WRITE(11,'(A)') ' INTEGER :: errcode '
+ WRITE(11,'(A)') ' TYPE(C_PTR) :: f_ptr'
+ WRITE(11,'(A)') ' INTEGER(size_t) :: namelen'
+
+ WRITE(11,'(A)') f_ptr_line(j)
+ WRITE(11,'(A)') ' namelen = LEN(dset_name)'
+ WRITE(11,'(A)') ' errcode = h5ltmake_dataset_c(loc_id,namelen,dset_name,rank,dims,H5T_NATIVE_DOUBLE,f_ptr)'
+ WRITE(11,'(A)') ' END SUBROUTINE h5ltmake_dataset_double_kind_'//TRIM(ADJUSTL(chr2))//'_rank'//chr_rank(j)
+ ENDDO
+ ENDDO
+
+! h5ltread_dataset_double_f
+ DO i = 1, num_rkinds
+ k = rkind(i)
+ WRITE(chr2,'(I2)') k
+ DO j = 1, 8
+
+! DLL definitions for windows
+ WRITE(11,'(A)') '!DEC$if defined(BUILD_HDF5_HL_DLL)'
+ WRITE(11,'(A)') '!DEC$attributes dllexport :: h5ltread_dataset_double_kind_'//TRIM(ADJUSTL(chr2))//'_rank'//chr_rank(j)
+ WRITE(11,'(A)') '!DEC$endif'
+
+! Subroutine API
+ WRITE(11,'(A)') ' SUBROUTINE h5ltread_dataset_double_kind_'//TRIM(ADJUSTL(chr2))&
+ &//'_rank'//chr_rank(j)//'(loc_id,dset_name,buf,dims,errcode)'
+ WRITE(11,'(A)') ' IMPLICIT NONE'
+ WRITE(11,'(A)') ' INTEGER(hid_t) , INTENT(IN) :: loc_id'
+ WRITE(11,'(A)') ' CHARACTER(LEN=*), INTENT(IN) :: dset_name'
+ WRITE(11,'(A)') ' INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims'
+ WRITE(11,'(A)') ' REAL(KIND='//TRIM(ADJUSTL(chr2))//'),INTENT(IN)'//TRIM(rank_dim_line(j))//', TARGET :: buf'
+ WRITE(11,'(A)') ' INTEGER :: errcode '
+ WRITE(11,'(A)') ' TYPE(C_PTR) :: f_ptr'
+ WRITE(11,'(A)') ' INTEGER(size_t) :: namelen'
+
+ WRITE(11,'(A)') f_ptr_line(j)
+ WRITE(11,'(A)') ' namelen = LEN(dset_name)'
+ WRITE(11,'(A)') ' errcode = h5ltread_dataset_c(loc_id,namelen,dset_name,H5T_NATIVE_DOUBLE,f_ptr)'
+ WRITE(11,'(A)') ' END SUBROUTINE h5ltread_dataset_double_kind_'//TRIM(ADJUSTL(chr2))//'_rank'//chr_rank(j)
+ ENDDO
+ ENDDO
+
+ WRITE(11,'(A)') 'END MODULE H5LT' ! change this to be generic MSB
+
+ CLOSE(11)
+
+! Generate Fortran H5TB* interfaces having multiple KIND interfaces.
+
+
+ OPEN(11,FILE='H5TBff_gen.F90')
+ WRITE(11,'(40(A,/))') &
+'!****h* ROBODoc/H5TBff_gen.F90',&
+'!',&
+'! NAME',&
+'! H5TBff_gen',&
+'! ',&
+'! PURPOSE',&
+'! This module is generated at build by H5HL_buildiface.F90 to handle all the',&
+'! detected REAL/INTEGER KINDs for APIs being passed those KINDs. Currently these ',&
+'! are H5LT and H5TB APIs',&
+'!',&
+'! COPYRIGHT',&
+'! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *',&
+'! Copyright by The HDF Group. *',&
+'! All rights reserved. *',&
+'! *',&
+'! This file is part of HDF5. The full HDF5 copyright notice, including *',&
+'! terms governing use, modification, and redistribution, is contained in *',&
+'! the files COPYING and Copyright.html. COPYING can be found at the root *',&
+'! of the source code distribution tree; Copyright.html can be found at the *',&
+'! root level of an installed copy of the electronic HDF5 document set and *',&
+'! is linked from the top-level documents page. It can also be found at *',&
+'! http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have *',&
+'! access to either file, you may request a copy from help@hdfgroup.org. *',&
+'! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *',&
+'!',&
+'! AUTHOR',&
+'! H5HL_buildiface.F90',&
+'!',&
+'!*****'
+
+ WRITE(11,'(a)') "MODULE H5TB"
+
+ WRITE(11,'(A)') ' USE, INTRINSIC :: ISO_C_BINDING'
+ WRITE(11,'(A)') ' USE h5fortran_types'
+ WRITE(11,'(A)') ' USE H5TB_CONST'
+ WRITE(11,'(A)') ' IMPLICIT NONE'
+
+!***************
+! H5TB INTERFACES
+!***************
+
+! h5tbwrite_field_name_f
+ WRITE(11,'(A)') " INTERFACE h5tbwrite_field_name_f"
+ DO i = 1, num_rkinds
+ j = rkind(i)
+ WRITE(chr2,'(I2)') j
+ k =2
+ WRITE(11,'(A)') " MODULE PROCEDURE h5tbwrite_field_name_kind_"//TRIM(ADJUSTL(chr2))//'_rank'//chr_rank(k)
+ END DO
+ WRITE(11,'(A)') " END INTERFACE"
+
+! h5tbread_field_name_f
+ WRITE(11,'(A)') " INTERFACE h5tbread_field_name_f"
+ DO i = 1, num_rkinds
+ j = rkind(i)
+ WRITE(chr2,'(I2)') j
+ k = 2
+ WRITE(11,'(A)') " MODULE PROCEDURE h5tbread_field_name_kind_"//TRIM(ADJUSTL(chr2))//'_rank'//chr_rank(k)
+ END DO
+ WRITE(11,'(A)') " END INTERFACE"
+
+! h5tbwrite_field_index_f
+ WRITE(11,'(A)') " INTERFACE h5tbwrite_field_index_f"
+ DO i = 1, num_rkinds
+ j = rkind(i)
+ WRITE(chr2,'(I2)') j
+ k = 2
+ WRITE(11,'(A)') " MODULE PROCEDURE h5tbwrite_field_index_kind_"//TRIM(ADJUSTL(chr2))//'_rank'//chr_rank(k)
+ END DO
+ WRITE(11,'(A)') " END INTERFACE"
+
+! h5tbread_field_index_f
+ WRITE(11,'(A)') " INTERFACE h5tbread_field_index_f"
+ DO i = 1, num_rkinds
+ j = rkind(i)
+ WRITE(chr2,'(I2)') j
+ k = 2
+ WRITE(11,'(A)') " MODULE PROCEDURE h5tbread_field_index_kind_"//TRIM(ADJUSTL(chr2))//'_rank'//chr_rank(k)
+ END DO
+ WRITE(11,'(A)') " END INTERFACE"
+
+! h5tbinsert_field_f
+ WRITE(11,'(A)') " INTERFACE h5tbinsert_field_f"
+ DO i = 1, num_rkinds
+ j = rkind(i)
+ WRITE(chr2,'(I2)') j
+ k = 2
+ WRITE(11,'(A)') " MODULE PROCEDURE h5tbinsert_field_kind_"//TRIM(ADJUSTL(chr2))//'_rank'//chr_rank(k)
+ END DO
+ WRITE(11,'(A)') " END INTERFACE"
+
+ WRITE(11,'(A)') 'CONTAINS'
+
+ !**********************
+ ! H5TB APIs
+ !**********************
+
+ ! h5tbwrite_field_name_f
+ DO i = 1, num_rkinds
+ k = rkind(i)
+ WRITE(chr2,'(I2)') k
+ j = 2
+! DLL definitions for windows
+ WRITE(11,'(A)') '!DEC$if defined(BUILD_HDF5_HL_DLL)'
+ WRITE(11,'(A)') '!DEC$attributes dllexport :: h5tbwrite_field_name_kind_'//TRIM(ADJUSTL(chr2))//'_rank'//chr_rank(j)
+ WRITE(11,'(A)') '!DEC$endif'
+
+! Subroutine API
+ WRITE(11,'(A)') ' SUBROUTINE h5tbwrite_field_name_kind_'//TRIM(ADJUSTL(chr2))&
+ &//'_rank'//chr_rank(j)//'(loc_id,dset_name,field_name,start, nrecords,type_size,buf,errcode)'
+ WRITE(11,'(A)') ' IMPLICIT NONE'
+ WRITE(11,'(A)') ' INTEGER(hid_t) , INTENT(IN) :: loc_id'
+ WRITE(11,'(A)') ' CHARACTER(LEN=*), INTENT(IN) :: dset_name'
+ WRITE(11,'(A)') ' CHARACTER(LEN=*), INTENT(in) :: field_name'
+ WRITE(11,'(A)') ' INTEGER(hsize_t), INTENT(in) :: start'
+ WRITE(11,'(A)') ' INTEGER(hsize_t), INTENT(in) :: nrecords'
+ WRITE(11,'(A)') ' INTEGER(size_t), INTENT(in) :: type_size'
+ WRITE(11,'(A)') ' REAL(KIND='//TRIM(ADJUSTL(chr2))//'),INTENT(IN), DIMENSION(*), TARGET :: buf'
+ WRITE(11,'(A)') ' INTEGER :: errcode '
+ WRITE(11,'(A)') ' INTEGER(size_t) :: namelen'
+ WRITE(11,'(A)') ' INTEGER(size_t) :: namelen1'
+ WRITE(11,'(A)') ' TYPE(C_PTR) :: f_ptr'
+
+ WRITE(11,'(A)') f_ptr_line(j)
+ WRITE(11,'(A)') ' namelen = LEN(dset_name)'
+ WRITE(11,'(A)') ' namelen1 = LEN(field_name)'
+ WRITE(11,'(A)') &
+ ' errcode = h5tbwrite_field_name_c(loc_id,namelen,dset_name,namelen1,field_name,start,nrecords,type_size,f_ptr)'
+ WRITE(11,'(A)') ' END SUBROUTINE h5tbwrite_field_name_kind_'//TRIM(ADJUSTL(chr2))//'_rank'//chr_rank(j)
+ ENDDO
+
+ ! h5tbread_field_name_f
+ DO i = 1, num_rkinds
+ k = rkind(i)
+ WRITE(chr2,'(I2)') k
+ j = 2
+! DLL definitions for windows
+ WRITE(11,'(A)') '!DEC$if defined(BUILD_HDF5_HL_DLL)'
+ WRITE(11,'(A)') '!DEC$attributes dllexport :: h5tbread_field_name_kind_'//TRIM(ADJUSTL(chr2))//'_rank'//chr_rank(j)
+ WRITE(11,'(A)') '!DEC$endif'
+
+! Subroutine API
+ WRITE(11,'(A)') ' SUBROUTINE h5tbread_field_name_kind_'//TRIM(ADJUSTL(chr2))&
+ &//'_rank'//chr_rank(j)//'(loc_id,dset_name,field_name,start, nrecords,type_size,buf,errcode)'
+ WRITE(11,'(A)') ' IMPLICIT NONE'
+ WRITE(11,'(A)') ' INTEGER(hid_t) , INTENT(IN) :: loc_id'
+ WRITE(11,'(A)') ' CHARACTER(LEN=*), INTENT(IN) :: dset_name'
+ WRITE(11,'(A)') ' CHARACTER(LEN=*), INTENT(in) :: field_name'
+ WRITE(11,'(A)') ' INTEGER(hsize_t), INTENT(in) :: start'
+ WRITE(11,'(A)') ' INTEGER(hsize_t), INTENT(in) :: nrecords'
+ WRITE(11,'(A)') ' INTEGER(size_t), INTENT(in) :: type_size'
+ WRITE(11,'(A)') ' REAL(KIND='//TRIM(ADJUSTL(chr2))//'),INTENT(IN), DIMENSION(*), TARGET :: buf'
+ WRITE(11,'(A)') ' INTEGER :: errcode '
+ WRITE(11,'(A)') ' INTEGER(size_t) :: namelen'
+ WRITE(11,'(A)') ' INTEGER(size_t) :: namelen1'
+ WRITE(11,'(A)') ' TYPE(C_PTR) :: f_ptr'
+
+ WRITE(11,'(A)') f_ptr_line(j)
+ WRITE(11,'(A)') ' namelen = LEN(dset_name)'
+ WRITE(11,'(A)') ' namelen1 = LEN(field_name)'
+ WRITE(11,'(A)') &
+ ' errcode = h5tbread_field_name_c(loc_id,namelen,dset_name,namelen1,field_name,start,nrecords,type_size,f_ptr)'
+ WRITE(11,'(A)') ' END SUBROUTINE h5tbread_field_name_kind_'//TRIM(ADJUSTL(chr2))//'_rank'//chr_rank(j)
+ ENDDO
+
+ ! h5tbwrite_field_index_f
+ DO i = 1, num_rkinds
+ k = rkind(i)
+ WRITE(chr2,'(I2)') k
+ j = 2
+! DLL definitions for windows
+ WRITE(11,'(A)') '!DEC$if defined(BUILD_HDF5_HL_DLL)'
+ WRITE(11,'(A)') '!DEC$attributes dllexport :: h5tbwrite_field_index_kind_'//TRIM(ADJUSTL(chr2))//'_rank'//chr_rank(j)
+ WRITE(11,'(A)') '!DEC$endif'
+
+! Subroutine API
+ WRITE(11,'(A)') ' SUBROUTINE h5tbwrite_field_index_kind_'//TRIM(ADJUSTL(chr2))&
+ &//'_rank'//chr_rank(j)//'(loc_id,dset_name,field_index,start, nrecords,type_size,buf,errcode)'
+ WRITE(11,'(A)') ' IMPLICIT NONE'
+ WRITE(11,'(A)') ' INTEGER(hid_t) , INTENT(IN) :: loc_id'
+ WRITE(11,'(A)') ' CHARACTER(LEN=*), INTENT(IN) :: dset_name'
+ WRITE(11,'(A)') ' INTEGER, INTENT(in) :: field_index'
+ WRITE(11,'(A)') ' INTEGER(hsize_t), INTENT(in) :: start'
+ WRITE(11,'(A)') ' INTEGER(hsize_t), INTENT(in) :: nrecords'
+ WRITE(11,'(A)') ' INTEGER(size_t), INTENT(in) :: type_size'
+ WRITE(11,'(A)') ' REAL(KIND='//TRIM(ADJUSTL(chr2))//'),INTENT(IN), DIMENSION(*), TARGET :: buf'
+ WRITE(11,'(A)') ' INTEGER :: errcode '
+ WRITE(11,'(A)') ' INTEGER(size_t) :: namelen'
+ WRITE(11,'(A)') ' TYPE(C_PTR) :: f_ptr'
+
+ WRITE(11,'(A)') f_ptr_line(j)
+ WRITE(11,'(A)') ' namelen = LEN(dset_name)'
+ WRITE(11,'(A)') &
+ ' errcode = h5tbwrite_field_index_c(loc_id,namelen,dset_name,field_index,start,nrecords,type_size,f_ptr)'
+ WRITE(11,'(A)') ' END SUBROUTINE h5tbwrite_field_index_kind_'//TRIM(ADJUSTL(chr2))//'_rank'//chr_rank(j)
+ ENDDO
+
+ ! h5tbread_field_index_f
+ DO i = 1, num_rkinds
+ k = rkind(i)
+ WRITE(chr2,'(I2)') k
+ j = 2
+! DLL definitions for windows
+ WRITE(11,'(A)') '!DEC$if defined(BUILD_HDF5_HL_DLL)'
+ WRITE(11,'(A)') '!DEC$attributes dllexport :: h5tbread_field_index_kind_'//TRIM(ADJUSTL(chr2))//'_rank'//chr_rank(j)
+ WRITE(11,'(A)') '!DEC$endif'
+
+! Subroutine API
+ WRITE(11,'(A)') ' SUBROUTINE h5tbread_field_index_kind_'//TRIM(ADJUSTL(chr2))&
+ &//'_rank'//chr_rank(j)//'(loc_id,dset_name,field_index,start, nrecords,type_size,buf,errcode)'
+ WRITE(11,'(A)') ' IMPLICIT NONE'
+ WRITE(11,'(A)') ' INTEGER(hid_t) , INTENT(IN) :: loc_id'
+ WRITE(11,'(A)') ' CHARACTER(LEN=*), INTENT(IN) :: dset_name'
+ WRITE(11,'(A)') ' INTEGER, INTENT(in) :: field_index'
+ WRITE(11,'(A)') ' INTEGER(hsize_t), INTENT(in) :: start'
+ WRITE(11,'(A)') ' INTEGER(hsize_t), INTENT(in) :: nrecords'
+ WRITE(11,'(A)') ' INTEGER(size_t), INTENT(in) :: type_size'
+ WRITE(11,'(A)') ' REAL(KIND='//TRIM(ADJUSTL(chr2))//'),INTENT(IN), DIMENSION(*), TARGET :: buf'
+ WRITE(11,'(A)') ' INTEGER :: errcode '
+ WRITE(11,'(A)') ' INTEGER(size_t) :: namelen'
+ WRITE(11,'(A)') ' TYPE(C_PTR) :: f_ptr'
+
+ WRITE(11,'(A)') f_ptr_line(j)
+ WRITE(11,'(A)') ' namelen = LEN(dset_name)'
+ WRITE(11,'(A)') &
+ ' errcode = h5tbread_field_index_c(loc_id,namelen,dset_name,field_index,start,nrecords,type_size,f_ptr)'
+ WRITE(11,'(A)') ' END SUBROUTINE h5tbread_field_index_kind_'//TRIM(ADJUSTL(chr2))//'_rank'//chr_rank(j)
+ ENDDO
+
+ ! h5tbinsert_field_f
+ DO i = 1, num_rkinds
+ k = rkind(i)
+ WRITE(chr2,'(I2)') k
+ j = 2
+! DLL definitions for windows
+ WRITE(11,'(A)') '!DEC$if defined(BUILD_HDF5_HL_DLL)'
+ WRITE(11,'(A)') '!DEC$attributes dllexport :: h5tbinsert_field_kind_'//TRIM(ADJUSTL(chr2))//'_rank'//chr_rank(j)
+ WRITE(11,'(A)') '!DEC$endif'
+
+! Subroutine API
+ WRITE(11,'(A)') ' SUBROUTINE h5tbinsert_field_kind_'//TRIM(ADJUSTL(chr2))&
+ &//'_rank'//chr_rank(j)//'(loc_id,dset_name,field_name,field_type,field_index,buf,errcode)'
+ WRITE(11,'(A)') ' IMPLICIT NONE'
+ WRITE(11,'(A)') ' INTEGER(hid_t), INTENT(in) :: loc_id'
+ WRITE(11,'(A)') ' CHARACTER(LEN=*), INTENT(in) :: dset_name'
+ WRITE(11,'(A)') ' CHARACTER(LEN=*), INTENT(in) :: field_name'
+ WRITE(11,'(A)') ' INTEGER(hid_t), INTENT(in) :: field_type'
+ WRITE(11,'(A)') ' INTEGER, INTENT(in) :: field_index'
+ WRITE(11,'(A)') ' REAL(KIND='//TRIM(ADJUSTL(chr2))//'), INTENT(in), DIMENSION(*), TARGET :: buf'
+ WRITE(11,'(A)') ' INTEGER(size_t) :: namelen'
+ WRITE(11,'(A)') ' INTEGER(size_t) :: namelen1'
+ WRITE(11,'(A)') ' INTEGER :: errcode'
+ WRITE(11,'(A)') ' TYPE(C_PTR) :: f_ptr'
+
+ WRITE(11,'(A)') f_ptr_line(j)
+ WRITE(11,'(A)') ' namelen = LEN(dset_name)'
+ WRITE(11,'(A)') ' namelen1 = LEN(field_name)'
+ WRITE(11,'(A)') &
+ ' errcode = h5tbinsert_field_c(loc_id,namelen,dset_name,namelen1,field_name,field_type,field_index,f_ptr)'
+ WRITE(11,'(A)') ' END SUBROUTINE h5tbinsert_field_kind_'//TRIM(ADJUSTL(chr2))//'_rank'//chr_rank(j)
+ ENDDO
+
+ WRITE(11,'(A)') 'END MODULE H5TB'
+
+ CLOSE(11)
+
+END PROGRAM H5HL_buildiface
+
+
+
diff --git a/hl/fortran/src/H5IMfc.c b/hl/fortran/src/H5IMfc.c
index 6acd410..7ad50d6 100644
--- a/hl/fortran/src/H5IMfc.c
+++ b/hl/fortran/src/H5IMfc.c
@@ -39,7 +39,7 @@
*/
int_f
-nh5immake_image_8bit_c (hid_t_f *loc_id,
+h5immake_image_8bit_c (hid_t_f *loc_id,
size_t_f *namelen,
_fcd name,
hsize_t_f *width,
@@ -100,7 +100,7 @@ done:
*/
int_f
-nh5imread_image_c (hid_t_f *loc_id,
+h5imread_image_c (hid_t_f *loc_id,
size_t_f *namelen,
_fcd name,
int_f *buf)
@@ -153,7 +153,7 @@ done:
*/
int_f
-nh5immake_image_24bit_c (hid_t_f *loc_id,
+h5immake_image_24bit_c (hid_t_f *loc_id,
size_t_f *namelen,
_fcd name,
size_t_f *ilen,
@@ -222,7 +222,7 @@ done:
*/
int_f
-nh5imget_image_info_c(hid_t_f *loc_id,
+h5imget_image_info_c(hid_t_f *loc_id,
size_t_f *namelen,
_fcd name,
hsize_t_f *width,
@@ -307,7 +307,7 @@ done:
*/
int_f
-nh5imis_image_c(hid_t_f *loc_id,
+h5imis_image_c(hid_t_f *loc_id,
size_t_f *namelen,
_fcd name)
{
@@ -356,7 +356,7 @@ nh5imis_image_c(hid_t_f *loc_id,
*/
int_f
-nh5immake_palette_c (hid_t_f *loc_id,
+h5immake_palette_c (hid_t_f *loc_id,
size_t_f *namelen,
_fcd name,
hsize_t_f *dims,
@@ -411,7 +411,7 @@ done:
*/
int_f
-nh5imlink_palette_c (hid_t_f *loc_id,
+h5imlink_palette_c (hid_t_f *loc_id,
size_t_f *namelen,
_fcd name,
size_t_f *ilen,
@@ -476,7 +476,7 @@ done:
*/
int_f
-nh5imunlink_palette_c (hid_t_f *loc_id,
+h5imunlink_palette_c (hid_t_f *loc_id,
size_t_f *namelen,
_fcd name,
size_t_f *ilen,
@@ -542,7 +542,7 @@ done:
*/
int_f
-nh5imget_npalettes_c(hid_t_f *loc_id,
+h5imget_npalettes_c(hid_t_f *loc_id,
size_t_f *namelen,
_fcd name,
hsize_t_f *npals)
@@ -604,7 +604,7 @@ done:
int_f
-nh5imget_palette_info_c(hid_t_f *loc_id,
+h5imget_palette_info_c(hid_t_f *loc_id,
size_t_f *namelen,
_fcd name,
int_f *pal_number,
@@ -671,7 +671,7 @@ done:
int_f
-nh5imget_palette_c(hid_t_f *loc_id,
+h5imget_palette_c(hid_t_f *loc_id,
size_t_f *namelen,
_fcd name,
int_f *pal_number,
@@ -729,7 +729,7 @@ done:
*/
int_f
-nh5imis_palette_c(hid_t_f *loc_id,
+h5imis_palette_c(hid_t_f *loc_id,
size_t_f *namelen,
_fcd name)
{
diff --git a/hl/fortran/src/H5IMff.F90 b/hl/fortran/src/H5IMff.F90
new file mode 100644
index 0000000..4408dda
--- /dev/null
+++ b/hl/fortran/src/H5IMff.F90
@@ -0,0 +1,667 @@
+! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+! Copyright by The HDF Group. *
+! Copyright by the Board of Trustees of the University of Illinois. *
+! All rights reserved. *
+! *
+! This file is part of HDF5. The full HDF5 copyright notice, including *
+! terms governing use, modification, and redistribution, is contained in *
+! the files COPYING and Copyright.html. COPYING can be found at the root *
+! of the source code distribution tree; Copyright.html can be found at the *
+! root level of an installed copy of the electronic HDF5 document set and *
+! is linked from the top-level documents page. It can also be found at *
+! http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have *
+! access to either file, you may request a copy from help@hdfgroup.org. *
+! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+!
+!
+! This file contains FORTRAN interfaces for H5IM functions
+!
+! NOTES
+!
+! _____ __ __ _____ ____ _____ _______ _ _ _______
+! |_ _| \/ | __ \ / __ \| __ \__ __|/\ | \ | |__ __|
+! **** | | | \ / | |__) | | | | |__) | | | / \ | \| | | | ****
+! **** | | | |\/| | ___/| | | | _ / | | / /\ \ | . ` | | | ****
+! **** _| |_| | | | | | |__| | | \ \ | |/ ____ \| |\ | | | ****
+! |_____|_| |_|_| \____/|_| \_\ |_/_/ \_\_| \_| |_|
+!
+! If you add a new function here then you MUST add the function name to the
+! Windows dll file 'hdf5_hl_fortrandll.def.in' in the hl/fortran/src directory.
+! This is needed for Windows based operating systems.
+!
+
+MODULE h5im
+ USE, INTRINSIC :: ISO_C_BINDING
+ USE h5fortran_types
+ USE hdf5
+CONTAINS
+
+!-------------------------------------------------------------------------
+! Function: h5immake_image_8bit_f
+!
+! Purpose: Creates and writes an image an 8 bit image
+!
+! Return: Success: 0, Failure: -1
+!
+! Programmer: pvn@ncsa.uiuc.edu
+!
+! Date: October 05, 2004
+!
+! Comments:
+!
+! Modifications:
+!
+!-------------------------------------------------------------------------
+
+ SUBROUTINE h5immake_image_8bit_f(loc_id,&
+ dset_name,&
+ width,&
+ height,&
+ buf,&
+ errcode )
+
+ IMPLICIT NONE
+
+ INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
+ CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
+ INTEGER(hsize_t), INTENT(in) :: width ! width of image
+ INTEGER(hsize_t), INTENT(in) :: height ! height of image
+ INTEGER, INTENT(in), DIMENSION(*) :: buf ! buffer
+ INTEGER :: errcode ! error code
+ INTEGER(size_t) :: namelen ! name length
+
+ INTERFACE
+ INTEGER FUNCTION h5immake_image_8bit_c(loc_id,namelen,dset_name,width,height,buf) &
+ BIND(C,NAME='h5immake_image_8bit_c')
+ IMPORT :: C_CHAR
+ IMPORT :: HID_T, SIZE_T, HSIZE_T
+ IMPLICIT NONE
+ INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
+ INTEGER(size_t) :: namelen ! length of name buffer
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
+ INTEGER(hsize_t), INTENT(in) :: width ! width of image
+ INTEGER(hsize_t), INTENT(in) :: height ! height of image
+ INTEGER , INTENT(in), DIMENSION(*) :: buf ! buffer
+ END FUNCTION h5immake_image_8bit_c
+ END INTERFACE
+
+ namelen = LEN(dset_name)
+ errcode = h5immake_image_8bit_c(loc_id,namelen,dset_name,width,height,buf)
+
+ END SUBROUTINE h5immake_image_8bit_f
+
+!-------------------------------------------------------------------------
+! Function: h5imread_image_f
+!
+! Purpose: Reads image data from disk.
+!
+! Return: Success: 0, Failure: -1
+!
+! Programmer: pvn@ncsa.uiuc.edu
+!
+! Date: October 05, 2004
+!
+! Comments:
+!
+! Modifications:
+!
+!-------------------------------------------------------------------------
+ SUBROUTINE h5imread_image_f(loc_id,&
+ dset_name,&
+ buf,&
+ errcode )
+
+ IMPLICIT NONE
+
+ INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
+ CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
+ INTEGER, INTENT(inout), DIMENSION(*) :: buf ! buffer
+ INTEGER :: errcode ! error code
+ INTEGER(size_t) :: namelen ! name length
+
+ INTERFACE
+ INTEGER FUNCTION h5imread_image_c(loc_id,namelen,dset_name,buf) &
+ BIND(C,NAME='h5imread_image_c')
+ IMPORT :: C_CHAR
+ IMPORT :: HID_T, SIZE_T
+ IMPLICIT NONE
+ INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
+ INTEGER(size_t) :: namelen ! length of name buffer
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
+ INTEGER, INTENT(inout), DIMENSION(*) :: buf ! buffer
+ END FUNCTION h5imread_image_c
+ END INTERFACE
+
+ namelen = LEN(dset_name)
+ errcode = h5imread_image_c(loc_id,namelen,dset_name,buf)
+
+ END SUBROUTINE h5imread_image_f
+
+!-------------------------------------------------------------------------
+! Function: h5immake_image_24bit_f
+!
+! Purpose: Creates and writes an image a 24 bit image
+!
+! Return: Success: 0, Failure: -1
+!
+! Programmer: pvn@ncsa.uiuc.edu
+!
+! Date: October 05, 2004
+!
+! Comments:
+!
+! Modifications:
+!
+!-------------------------------------------------------------------------
+
+ SUBROUTINE h5immake_image_24bit_f(loc_id,&
+ dset_name,&
+ width,&
+ height,&
+ il,&
+ buf,&
+ errcode )
+
+ IMPLICIT NONE
+
+ INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
+ CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
+ INTEGER(hsize_t), INTENT(in) :: width ! width of image
+ INTEGER(hsize_t), INTENT(in) :: height ! height of image
+ CHARACTER(len=*), INTENT(in) :: il ! interlace
+ INTEGER, INTENT(in), DIMENSION(*) :: buf ! buffer
+ INTEGER :: errcode ! error code
+ INTEGER(size_t) :: namelen ! name length
+ INTEGER(size_t) :: ILEN ! name length
+
+ INTERFACE
+ INTEGER FUNCTION h5immake_image_24bit_c(loc_id,namelen,dset_name,ILEN,il,width,height,buf) &
+ BIND(C,NAME='h5immake_image_24bit_c')
+ IMPORT :: C_CHAR
+ IMPORT :: HID_T, SIZE_T, HSIZE_T
+ IMPLICIT NONE
+ INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
+ INTEGER(hsize_t), INTENT(in) :: width ! width of image
+ INTEGER(hsize_t), INTENT(in) :: height ! height of image
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: il ! interlace
+ INTEGER, INTENT(in), DIMENSION(*) :: buf ! buffer
+ INTEGER(size_t) :: namelen ! length of name buffer
+ INTEGER(size_t) :: ILEN ! name length
+
+ END FUNCTION h5immake_image_24bit_c
+ END INTERFACE
+
+ namelen = LEN(dset_name)
+ ILEN = LEN(il)
+ errcode = h5immake_image_24bit_c(loc_id,namelen,dset_name,ILEN,il,width,height,buf)
+
+ END SUBROUTINE h5immake_image_24bit_f
+
+!-------------------------------------------------------------------------
+! Function: h5imget_image_info_f
+!
+! Purpose: Gets information about an image dataset (dimensions, interlace mode
+! and number of associated palettes).
+!
+! Return: Success: 0, Failure: -1
+!
+! Programmer: pvn@ncsa.uiuc.edu
+!
+! Date: October 05, 2004
+!
+! Comments:
+!
+! Modifications:
+!
+!-------------------------------------------------------------------------
+
+ SUBROUTINE h5imget_image_info_f(loc_id,&
+ dset_name,&
+ width,&
+ height,&
+ planes,&
+ interlace,&
+ npals,&
+ errcode )
+
+ IMPLICIT NONE
+
+ INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
+ CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
+ INTEGER(hsize_t), INTENT(inout) :: width ! width of image
+ INTEGER(hsize_t), INTENT(inout) :: height ! height of image
+ INTEGER(hsize_t), INTENT(inout) :: planes ! color planes
+ INTEGER(hsize_t), INTENT(inout) :: npals ! palettes
+ CHARACTER(len=*), INTENT(inout) :: interlace ! interlace
+ INTEGER :: errcode ! error code
+ INTEGER(size_t) :: namelen ! name length
+ INTEGER(size_t) :: ILEN ! name length
+
+ INTERFACE
+ INTEGER FUNCTION h5imget_image_info_c(loc_id,namelen,dset_name,width,height,planes,npals,ILEN,interlace) &
+ BIND(C,NAME='h5imget_image_info_c')
+ IMPORT :: C_CHAR
+ IMPORT :: HID_T, SIZE_T, HSIZE_T
+ IMPLICIT NONE
+ INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
+ INTEGER(hsize_t), INTENT(inout) :: width ! width of image
+ INTEGER(hsize_t), INTENT(inout) :: height ! height of image
+ INTEGER(hsize_t), INTENT(inout) :: planes ! color planes
+ INTEGER(hsize_t), INTENT(inout) :: npals ! palettes
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(inout) :: interlace ! interlace
+ INTEGER(size_t) :: namelen ! name length
+ INTEGER(size_t) :: ILEN ! name length
+ END FUNCTION h5imget_image_info_c
+ END INTERFACE
+
+ namelen = LEN(dset_name)
+ ILEN = LEN(interlace)
+ errcode = h5imget_image_info_c(loc_id,namelen,dset_name,width,height,planes,npals,ILEN,interlace)
+
+ END SUBROUTINE h5imget_image_info_f
+
+!-------------------------------------------------------------------------
+! Function: h5imis_image_f
+!
+! Purpose: Inquires if a dataset is an image
+!
+! Return: Success: 0, Failure: -1
+!
+! Programmer: pvn@ncsa.uiuc.edu
+!
+! Date: October 05, 2004
+!
+! Comments:
+!
+! Modifications:
+!
+!-------------------------------------------------------------------------
+
+ INTEGER FUNCTION h5imis_image_f(loc_id,&
+ dset_name)
+
+ IMPLICIT NONE
+
+ INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
+ CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
+ INTEGER :: errcode ! error code
+ INTEGER(size_t) :: namelen ! name length
+
+ INTERFACE
+ INTEGER FUNCTION h5imis_image_c(loc_id,namelen,dset_name) &
+ BIND(C,NAME='h5imis_image_c')
+ IMPORT :: C_CHAR
+ IMPORT :: HID_T, SIZE_T
+ IMPLICIT NONE
+ INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
+ INTEGER(size_t) :: namelen ! length of name buffer
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
+ END FUNCTION h5imis_image_c
+ END INTERFACE
+
+ namelen = LEN(dset_name)
+ errcode = h5imis_image_c(loc_id,namelen,dset_name)
+ h5imis_image_f = errcode
+
+ END FUNCTION h5imis_image_f
+
+
+!-------------------------------------------------------------------------
+! Function: h5immake_palette_f
+!
+! Purpose: Creates and writes a palette
+!
+! Return: Success: 0, Failure: -1
+!
+! Programmer: pvn@ncsa.uiuc.edu
+!
+! Date: October 06, 2004
+!
+! Comments:
+!
+! Modifications:
+!
+!-------------------------------------------------------------------------
+
+ SUBROUTINE h5immake_palette_f(loc_id,&
+ dset_name,&
+ pal_dims,&
+ buf,&
+ errcode )
+
+ IMPLICIT NONE
+
+ INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
+ CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
+ INTEGER(hsize_t), INTENT(in), DIMENSION(*) :: pal_dims ! dimensions
+ INTEGER, INTENT(in), DIMENSION(*) :: buf ! buffer
+ INTEGER :: errcode ! error code
+ INTEGER(size_t) :: namelen ! name length
+
+ INTERFACE
+ INTEGER FUNCTION h5immake_palette_c(loc_id,namelen,dset_name,pal_dims,buf) &
+ BIND(C,NAME='h5immake_palette_c')
+ IMPORT :: C_CHAR
+ IMPORT :: HID_T, SIZE_T, HSIZE_T
+ IMPLICIT NONE
+ INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
+ INTEGER(size_t) :: namelen ! length of name buffer
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
+ INTEGER(hsize_t), INTENT(in), DIMENSION(*) :: pal_dims ! dimensions
+ INTEGER, INTENT(in), DIMENSION(*) :: buf ! buffer
+ END FUNCTION h5immake_palette_c
+ END INTERFACE
+
+ namelen = LEN(dset_name)
+ errcode = h5immake_palette_c(loc_id,namelen,dset_name,pal_dims,buf)
+
+ END SUBROUTINE h5immake_palette_f
+
+!-------------------------------------------------------------------------
+! Function: h5imlink_palette_f
+!
+! Purpose: This function attaches a palette to an existing image dataset
+!
+! Return: Success: 0, Failure: -1
+!
+! Programmer: pvn@ncsa.uiuc.edu
+!
+! Date: October 06, 2004
+!
+! Comments:
+!
+! Modifications:
+!
+!-------------------------------------------------------------------------
+
+ SUBROUTINE h5imlink_palette_f(loc_id,&
+ dset_name,&
+ pal_name,&
+ errcode )
+
+ IMPLICIT NONE
+
+ INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
+ CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
+ CHARACTER(len=*), INTENT(in) :: pal_name ! palette name
+ INTEGER :: errcode ! error code
+ INTEGER(size_t) :: namelen ! name length
+ INTEGER(size_t) :: ILEN ! name length
+
+ INTERFACE
+ INTEGER FUNCTION h5imlink_palette_c(loc_id,namelen,dset_name,ILEN,pal_name) &
+ BIND(C,NAME='h5imlink_palette_c')
+ IMPORT :: C_CHAR
+ IMPORT :: HID_T, SIZE_T
+ IMPLICIT NONE
+ INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: pal_name ! palette name
+ INTEGER(size_t) :: namelen ! name length
+ INTEGER(size_t) :: ILEN ! name length
+ END FUNCTION h5imlink_palette_c
+ END INTERFACE
+
+ namelen = LEN(dset_name)
+ ILEN = LEN(pal_name)
+ errcode = h5imlink_palette_c(loc_id,namelen,dset_name,ILEN,pal_name)
+
+ END SUBROUTINE h5imlink_palette_f
+
+
+!-------------------------------------------------------------------------
+! Function: h5imunlink_palette_f
+!
+! Purpose: This function dettaches a palette to an existing image dataset
+!
+! Return: Success: 0, Failure: -1
+!
+! Programmer: pvn@ncsa.uiuc.edu
+!
+! Date: October 06, 2004
+!
+! Comments:
+!
+! Modifications:
+!
+!-------------------------------------------------------------------------
+
+ SUBROUTINE h5imunlink_palette_f(loc_id,&
+ dset_name,&
+ pal_name,&
+ errcode )
+
+ IMPLICIT NONE
+
+ INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
+ CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
+ CHARACTER(len=*), INTENT(in) :: pal_name ! palette name
+ INTEGER :: errcode ! error code
+ INTEGER(size_t) :: namelen ! name length
+ INTEGER(size_t) :: ILEN ! name length
+
+ INTERFACE
+ INTEGER FUNCTION h5imunlink_palette_c(loc_id,namelen,dset_name,ILEN,pal_name) &
+ BIND(C,NAME='h5imunlink_palette_c')
+ IMPORT :: C_CHAR
+ IMPORT :: HID_T, SIZE_T
+ IMPLICIT NONE
+ INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: pal_name ! palette name
+ INTEGER(size_t) :: namelen ! name length
+ INTEGER(size_t) :: ILEN ! name length
+ END FUNCTION h5imunlink_palette_c
+ END INTERFACE
+
+ namelen = LEN(dset_name)
+ ILEN = LEN(pal_name)
+ errcode = h5imunlink_palette_c(loc_id,namelen,dset_name,ILEN,pal_name)
+
+ END SUBROUTINE h5imunlink_palette_f
+
+!-------------------------------------------------------------------------
+! Function: h5imget_npalettes_f
+!
+! Purpose: Gets the number of palettes associated to an image
+!
+! Return: Success: 0, Failure: -1
+!
+! Programmer: pvn@ncsa.uiuc.edu
+!
+! Date: October 05, 2004
+!
+! Comments:
+!
+! Modifications:
+!
+!-------------------------------------------------------------------------
+
+ SUBROUTINE h5imget_npalettes_f(loc_id,&
+ dset_name,&
+ npals,&
+ errcode )
+
+ IMPLICIT NONE
+
+ INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
+ CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
+ INTEGER(hsize_t), INTENT(inout) :: npals ! palettes
+ INTEGER :: errcode ! error code
+ INTEGER(size_t) :: namelen ! name length
+
+ INTERFACE
+ INTEGER FUNCTION h5imget_npalettes_c(loc_id,namelen,dset_name,npals) &
+ BIND(C,NAME='h5imget_npalettes_c')
+ IMPORT :: C_CHAR
+ IMPORT :: HID_T, SIZE_T, HSIZE_T
+ IMPLICIT NONE
+ INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
+ INTEGER(hsize_t), INTENT(inout) :: npals ! palettes
+ INTEGER(size_t) :: namelen ! name length
+ END FUNCTION h5imget_npalettes_c
+ END INTERFACE
+
+ namelen = LEN(dset_name)
+ errcode = h5imget_npalettes_c(loc_id,namelen,dset_name,npals)
+
+ END SUBROUTINE h5imget_npalettes_f
+
+
+!-------------------------------------------------------------------------
+! Function: h5imget_palette_info_f
+!
+! Purpose: Get palette information
+!
+! Return: Success: 0, Failure: -1
+!
+! Programmer: pvn@ncsa.uiuc.edu
+!
+! Date: October 06, 2004
+!
+! Comments:
+!
+! Modifications:
+!
+!-------------------------------------------------------------------------
+
+ SUBROUTINE h5imget_palette_info_f(loc_id,&
+ dset_name,&
+ pal_number,&
+ dims,&
+ errcode )
+
+ IMPLICIT NONE
+
+ INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
+ CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
+ INTEGER, INTENT(in) :: pal_number ! palette number
+ INTEGER(hsize_t), DIMENSION(*), INTENT(inout) :: dims ! dimensions
+ INTEGER :: errcode ! error code
+ INTEGER(size_t) :: namelen ! name length
+
+ INTERFACE
+ INTEGER FUNCTION h5imget_palette_info_c(loc_id,namelen,dset_name,pal_number,dims) &
+ BIND(C,NAME='h5imget_palette_info_c')
+ IMPORT :: C_CHAR
+ IMPORT :: HID_T, SIZE_T, HSIZE_T
+ IMPLICIT NONE
+ INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
+ INTEGER, INTENT(in) :: pal_number ! palette number
+ INTEGER(hsize_t), DIMENSION(*), INTENT(inout) :: dims ! dimensions
+ INTEGER(size_t) :: namelen ! name length
+ END FUNCTION h5imget_palette_info_c
+ END INTERFACE
+
+ namelen = LEN(dset_name)
+ errcode = h5imget_palette_info_c(loc_id,namelen,dset_name,pal_number,dims)
+
+ END SUBROUTINE h5imget_palette_info_f
+
+!-------------------------------------------------------------------------
+! Function: h5imget_palette_f
+!
+! Purpose: Reads palette
+!
+! Return: Success: 0, Failure: -1
+!
+! Programmer: pvn@ncsa.uiuc.edu
+!
+! Date: October 06, 2004
+!
+! Comments:
+!
+! Modifications:
+!
+!-------------------------------------------------------------------------
+
+ SUBROUTINE h5imget_palette_f(loc_id,&
+ dset_name,&
+ pal_number,&
+ buf,&
+ errcode )
+
+ IMPLICIT NONE
+
+ INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
+ CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
+ INTEGER, INTENT(in) :: pal_number ! palette number
+ INTEGER, INTENT(inout), DIMENSION(*) :: buf ! buffer
+ INTEGER :: errcode ! error code
+ INTEGER(size_t) :: namelen ! name length
+
+ INTERFACE
+ INTEGER FUNCTION h5imget_palette_c(loc_id,namelen,dset_name,pal_number,buf) &
+ BIND(C,NAME='h5imget_palette_c')
+ IMPORT :: C_CHAR
+ IMPORT :: HID_T, SIZE_T
+ IMPLICIT NONE
+ INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
+ INTEGER(size_t) :: namelen ! length of name buffer
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
+ INTEGER, INTENT(in) :: pal_number ! palette number
+ INTEGER, INTENT(inout), DIMENSION(*) :: buf ! buffer
+ END FUNCTION h5imget_palette_c
+ END INTERFACE
+
+ namelen = LEN(dset_name)
+ errcode = h5imget_palette_c(loc_id,namelen,dset_name,pal_number,buf)
+
+ END SUBROUTINE h5imget_palette_f
+
+
+!-------------------------------------------------------------------------
+! Function: h5imis_palette_f
+!
+! Purpose: Inquires if a dataset is a palette
+!
+! Return: true, false, fail
+!
+! Programmer: pvn@ncsa.uiuc.edu
+!
+! Date: October 06, 2004
+!
+! Comments:
+!
+! Modifications:
+!
+!-------------------------------------------------------------------------
+
+ INTEGER FUNCTION h5imis_palette_f(loc_id,&
+ dset_name)
+
+ IMPLICIT NONE
+
+ INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
+ CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
+ INTEGER :: errcode ! error code
+ INTEGER(size_t) :: namelen ! name length
+
+ INTERFACE
+ INTEGER FUNCTION h5imis_palette_c(loc_id,namelen,dset_name) &
+ BIND(C,NAME='h5imis_palette_c')
+ IMPORT :: C_CHAR
+ IMPORT :: HID_T, SIZE_T
+ IMPLICIT NONE
+ INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
+ INTEGER(size_t) :: namelen ! length of name buffer
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
+ END FUNCTION h5imis_palette_c
+ END INTERFACE
+
+ namelen = LEN(dset_name)
+ errcode = h5imis_palette_c(loc_id,namelen,dset_name)
+ h5imis_palette_f = errcode
+
+ END FUNCTION h5imis_palette_f
+
+END MODULE H5IM
+
+
+
+
+
diff --git a/hl/fortran/src/H5IMff.f90 b/hl/fortran/src/H5IMff.f90
deleted file mode 100644
index 50c6d8b..0000000
--- a/hl/fortran/src/H5IMff.f90
+++ /dev/null
@@ -1,783 +0,0 @@
-! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
-! Copyright by The HDF Group. *
-! Copyright by the Board of Trustees of the University of Illinois. *
-! All rights reserved. *
-! *
-! This file is part of HDF5. The full HDF5 copyright notice, including *
-! terms governing use, modification, and redistribution, is contained in *
-! the files COPYING and Copyright.html. COPYING can be found at the root *
-! of the source code distribution tree; Copyright.html can be found at the *
-! root level of an installed copy of the electronic HDF5 document set and *
-! is linked from the top-level documents page. It can also be found at *
-! http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have *
-! access to either file, you may request a copy from help@hdfgroup.org. *
-! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
-!
-!
-! This file contains FORTRAN90 interfaces for H5IM functions
-!
-
-module h5im
-use h5fortran_types
-use hdf5
-contains
-
-
-!-------------------------------------------------------------------------
-! Function: h5immake_image_8bit_f
-!
-! Purpose: Creates and writes an image an 8 bit image
-!
-! Return: Success: 0, Failure: -1
-!
-! Programmer: pvn@ncsa.uiuc.edu
-!
-! Date: October 05, 2004
-!
-! Comments:
-!
-! Modifications:
-!
-!-------------------------------------------------------------------------
-
-subroutine h5immake_image_8bit_f(loc_id,&
- dset_name,&
- width,&
- height,&
- buf,&
- errcode )
-
- implicit none
-
-!
-!This definition is needed for Windows DLLs
-!DEC$if defined(BUILD_HDF5_HL_DLL)
-!DEC$attributes dllexport :: h5immake_image_8bit_f
-!DEC$endif
-!
-
- integer(hid_t), intent(in) :: loc_id ! file or group identifier
- character(len=*), intent(in) :: dset_name ! name of the dataset
- integer(hsize_t), intent(in) :: width ! width of image
- integer(hsize_t), intent(in) :: height ! height of image
- integer, intent(in), dimension(*) :: buf ! buffer
- integer :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
-
- interface
- integer function h5immake_image_8bit_c(loc_id,namelen,dset_name,width,height,buf)
- use h5global
- IMPLICIT NONE
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5IMMAKE_IMAGE_8BIT_C'::h5immake_image_8bit_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: dset_name
- integer(hid_t), intent(in) :: loc_id ! file or group identifier
- integer(size_t) :: namelen ! length of name buffer
- character(len=*), intent(in) :: dset_name ! name of the dataset
- integer(hsize_t), intent(in) :: width ! width of image
- integer(hsize_t), intent(in) :: height ! height of image
- integer , intent(in), dimension(*) :: buf ! buffer
- end function h5immake_image_8bit_c
- end interface
-
- namelen = len(dset_name)
- errcode = h5immake_image_8bit_c(loc_id,namelen,dset_name,width,height,buf)
-
-end subroutine h5immake_image_8bit_f
-
-
-
-!-------------------------------------------------------------------------
-! Function: h5imread_image_f
-!
-! Purpose: Reads image data from disk.
-!
-! Return: Success: 0, Failure: -1
-!
-! Programmer: pvn@ncsa.uiuc.edu
-!
-! Date: October 05, 2004
-!
-! Comments:
-!
-! Modifications:
-!
-!-------------------------------------------------------------------------
-
-
-subroutine h5imread_image_f(loc_id,&
- dset_name,&
- buf,&
- errcode )
-
- implicit none
-
-!
-!This definition is needed for Windows DLLs
-!DEC$if defined(BUILD_HDF5_HL_DLL)
-!DEC$attributes dllexport :: h5imread_image_f
-!DEC$endif
-!
- integer(hid_t), intent(in) :: loc_id ! file or group identifier
- character(len=*), intent(in) :: dset_name ! name of the dataset
- integer, intent(inout), dimension(*) :: buf ! buffer
- integer :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
-
- interface
- integer function h5imread_image_c(loc_id,namelen,dset_name,buf)
- use h5global
- IMPLICIT NONE
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5IMREAD_IMAGE_C'::h5imread_image_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: dset_name
- integer(hid_t), intent(in) :: loc_id ! file or group identifier
- integer(size_t) :: namelen ! length of name buffer
- character(len=*), intent(in) :: dset_name ! name of the dataset
- integer, intent(inout), dimension(*) :: buf ! buffer
- end function h5imread_image_c
- end interface
-
- namelen = len(dset_name)
- errcode = h5imread_image_c(loc_id,namelen,dset_name,buf)
-
-end subroutine h5imread_image_f
-
-
-!-------------------------------------------------------------------------
-! Function: h5immake_image_24bit_f
-!
-! Purpose: Creates and writes an image a 24 bit image
-!
-! Return: Success: 0, Failure: -1
-!
-! Programmer: pvn@ncsa.uiuc.edu
-!
-! Date: October 05, 2004
-!
-! Comments:
-!
-! Modifications:
-!
-!-------------------------------------------------------------------------
-
-subroutine h5immake_image_24bit_f(loc_id,&
- dset_name,&
- width,&
- height,&
- il,&
- buf,&
- errcode )
-
- implicit none
-
-!
-!This definition is needed for Windows DLLs
-!DEC$if defined(BUILD_HDF5_HL_DLL)
-!DEC$attributes dllexport :: h5immake_image_24bit_f
-!DEC$endif
-!
-
- integer(hid_t), intent(in) :: loc_id ! file or group identifier
- character(len=*), intent(in) :: dset_name ! name of the dataset
- integer(hsize_t), intent(in) :: width ! width of image
- integer(hsize_t), intent(in) :: height ! height of image
- character(len=*), intent(in) :: il ! interlace
- integer, intent(in), dimension(*) :: buf ! buffer
- integer :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- integer(size_t) :: ilen ! name length
-
- interface
- integer function h5immake_image_24bit_c(loc_id,namelen,dset_name,ilen,il,width,height,buf)
- use h5global
- IMPLICIT NONE
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5IMMAKE_IMAGE_24BIT_C'::h5immake_image_24bit_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: dset_name
- !DEC$ATTRIBUTES reference :: il
- integer(hid_t), intent(in) :: loc_id ! file or group identifier
- character(len=*), intent(in) :: dset_name ! name of the dataset
- integer(hsize_t), intent(in) :: width ! width of image
- integer(hsize_t), intent(in) :: height ! height of image
- character(len=*), intent(in) :: il ! interlace
- integer, intent(in), dimension(*) :: buf ! buffer
- integer(size_t) :: namelen ! length of name buffer
- integer(size_t) :: ilen ! name length
-
- end function h5immake_image_24bit_c
- end interface
-
- namelen = len(dset_name)
- ilen = len(il)
- errcode = h5immake_image_24bit_c(loc_id,namelen,dset_name,ilen,il,width,height,buf)
-
-end subroutine h5immake_image_24bit_f
-
-
-!-------------------------------------------------------------------------
-! Function: h5imget_image_info_f
-!
-! Purpose: Gets information about an image dataset (dimensions, interlace mode
-! and number of associated palettes).
-!
-! Return: Success: 0, Failure: -1
-!
-! Programmer: pvn@ncsa.uiuc.edu
-!
-! Date: October 05, 2004
-!
-! Comments:
-!
-! Modifications:
-!
-!-------------------------------------------------------------------------
-
-subroutine h5imget_image_info_f(loc_id,&
- dset_name,&
- width,&
- height,&
- planes,&
- interlace,&
- npals,&
- errcode )
-
- implicit none
-
-!
-!This definition is needed for Windows DLLs
-!DEC$if defined(BUILD_HDF5_HL_DLL)
-!DEC$attributes dllexport :: h5imget_image_info_f
-!DEC$endif
-!
-
- integer(hid_t), intent(in) :: loc_id ! file or group identifier
- character(len=*), intent(in) :: dset_name ! name of the dataset
- integer(hsize_t), intent(inout) :: width ! width of image
- integer(hsize_t), intent(inout) :: height ! height of image
- integer(hsize_t), intent(inout) :: planes ! color planes
- integer(hsize_t), intent(inout) :: npals ! palettes
- character(len=*), intent(inout) :: interlace ! interlace
- integer :: errcode ! error code
- integer(size_t) :: namelen ! name length
- integer(size_t) :: ilen ! name length
-
- interface
- integer function h5imget_image_info_c(loc_id,namelen,dset_name,width,height,planes,npals,ilen,interlace)
- use h5global
- IMPLICIT NONE
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5IMGET_IMAGE_INFO_C'::h5imget_image_info_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: dset_name
- !DEC$ATTRIBUTES reference :: interlace
- integer(hid_t), intent(in) :: loc_id ! file or group identifier
- character(len=*), intent(in) :: dset_name ! name of the dataset
- integer(hsize_t), intent(inout) :: width ! width of image
- integer(hsize_t), intent(inout) :: height ! height of image
- integer(hsize_t), intent(inout) :: planes ! color planes
- integer(hsize_t), intent(inout) :: npals ! palettes
- character(len=*), intent(inout) :: interlace ! interlace
- integer(size_t) :: namelen ! name length
- integer(size_t) :: ilen ! name length
- end function h5imget_image_info_c
- end interface
-
- namelen = len(dset_name)
- ilen = len(interlace)
- errcode = h5imget_image_info_c(loc_id,namelen,dset_name,width,height,planes,npals,ilen,interlace)
-
-end subroutine h5imget_image_info_f
-
-
-!-------------------------------------------------------------------------
-! Function: h5imis_image_f
-!
-! Purpose: Inquires if a dataset is an image
-!
-! Return: Success: 0, Failure: -1
-!
-! Programmer: pvn@ncsa.uiuc.edu
-!
-! Date: October 05, 2004
-!
-! Comments:
-!
-! Modifications:
-!
-!-------------------------------------------------------------------------
-
-integer function h5imis_image_f(loc_id,&
- dset_name)
-
- implicit none
-
-!
-!This definition is needed for Windows DLLs
-!DEC$if defined(BUILD_HDF5_HL_DLL)
-!DEC$attributes dllexport :: h5imis_image_f
-!DEC$endif
-!
-
- integer(hid_t), intent(in) :: loc_id ! file or group identifier
- character(len=*), intent(in) :: dset_name ! name of the dataset
- integer :: errcode ! error code
- integer(size_t) :: namelen ! name length
-
- interface
- integer function h5imis_image_c(loc_id,namelen,dset_name)
- use h5global
- IMPLICIT NONE
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5IMIS_IMAGE_C'::h5imis_image_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: dset_name
- integer(hid_t), intent(in) :: loc_id ! file or group identifier
- integer(size_t) :: namelen ! length of name buffer
- character(len=*), intent(in) :: dset_name ! name of the dataset
- end function h5imis_image_c
- end interface
-
- namelen = len(dset_name)
- errcode = h5imis_image_c(loc_id,namelen,dset_name)
- h5imis_image_f = errcode
-
-end function h5imis_image_f
-
-
-!-------------------------------------------------------------------------
-! Function: h5immake_palette_f
-!
-! Purpose: Creates and writes a palette
-!
-! Return: Success: 0, Failure: -1
-!
-! Programmer: pvn@ncsa.uiuc.edu
-!
-! Date: October 06, 2004
-!
-! Comments:
-!
-! Modifications:
-!
-!-------------------------------------------------------------------------
-
-subroutine h5immake_palette_f(loc_id,&
- dset_name,&
- pal_dims,&
- buf,&
- errcode )
-
- implicit none
-
-!
-!This definition is needed for Windows DLLs
-!DEC$if defined(BUILD_HDF5_HL_DLL)
-!DEC$attributes dllexport :: h5immake_palette_f
-!DEC$endif
-!
-
- integer(hid_t), intent(in) :: loc_id ! file or group identifier
- character(len=*), intent(in) :: dset_name ! name of the dataset
- integer(hsize_t), intent(in), dimension(*) :: pal_dims ! dimensions
- integer, intent(in), dimension(*) :: buf ! buffer
- integer :: errcode ! error code
- integer(size_t) :: namelen ! name length
-
- interface
- integer function h5immake_palette_c(loc_id,namelen,dset_name,pal_dims,buf)
- use h5global
- IMPLICIT NONE
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5IMMAKE_PALETTE_C'::h5immake_palette_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: dset_name
- integer(hid_t), intent(in) :: loc_id ! file or group identifier
- integer(size_t) :: namelen ! length of name buffer
- character(len=*), intent(in) :: dset_name ! name of the dataset
- integer(hsize_t), intent(in), dimension(*) :: pal_dims ! dimensions
- integer, intent(in), dimension(*) :: buf ! buffer
- end function h5immake_palette_c
- end interface
-
- namelen = len(dset_name)
- errcode = h5immake_palette_c(loc_id,namelen,dset_name,pal_dims,buf)
-
-end subroutine h5immake_palette_f
-
-
-
-!-------------------------------------------------------------------------
-! Function: h5imlink_palette_f
-!
-! Purpose: This function attaches a palette to an existing image dataset
-!
-! Return: Success: 0, Failure: -1
-!
-! Programmer: pvn@ncsa.uiuc.edu
-!
-! Date: October 06, 2004
-!
-! Comments:
-!
-! Modifications:
-!
-!-------------------------------------------------------------------------
-
-subroutine h5imlink_palette_f(loc_id,&
- dset_name,&
- pal_name,&
- errcode )
-
- implicit none
-
-!
-!This definition is needed for Windows DLLs
-!DEC$if defined(BUILD_HDF5_HL_DLL)
-!DEC$attributes dllexport :: h5imlink_palette_f
-!DEC$endif
-!
- integer(hid_t), intent(in) :: loc_id ! file or group identifier
- character(len=*), intent(in) :: dset_name ! name of the dataset
- character(len=*), intent(in) :: pal_name ! palette name
- integer :: errcode ! error code
- integer(size_t) :: namelen ! name length
- integer(size_t) :: ilen ! name length
-
- interface
- integer function h5imlink_palette_c(loc_id,namelen,dset_name,ilen,pal_name)
- use h5global
- IMPLICIT NONE
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5IMLINK_PALETTE_C'::h5imlink_palette_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: dset_name
- !DEC$ATTRIBUTES reference :: pal_name
- integer(hid_t), intent(in) :: loc_id ! file or group identifier
- character(len=*), intent(in) :: dset_name ! name of the dataset
- character(len=*), intent(in) :: pal_name ! palette name
- integer(size_t) :: namelen ! name length
- integer(size_t) :: ilen ! name length
- end function h5imlink_palette_c
- end interface
-
- namelen = len(dset_name)
- ilen = len(pal_name)
- errcode = h5imlink_palette_c(loc_id,namelen,dset_name,ilen,pal_name)
-
-end subroutine h5imlink_palette_f
-
-
-!-------------------------------------------------------------------------
-! Function: h5imunlink_palette_f
-!
-! Purpose: This function dettaches a palette to an existing image dataset
-!
-! Return: Success: 0, Failure: -1
-!
-! Programmer: pvn@ncsa.uiuc.edu
-!
-! Date: October 06, 2004
-!
-! Comments:
-!
-! Modifications:
-!
-!-------------------------------------------------------------------------
-
-subroutine h5imunlink_palette_f(loc_id,&
- dset_name,&
- pal_name,&
- errcode )
-
- implicit none
-
-!
-!This definition is needed for Windows DLLs
-!DEC$if defined(BUILD_HDF5_HL_DLL)
-!DEC$attributes dllexport :: h5imunlink_palette_f
-!DEC$endif
-!
-
-
- integer(hid_t), intent(in) :: loc_id ! file or group identifier
- character(len=*), intent(in) :: dset_name ! name of the dataset
- character(len=*), intent(in) :: pal_name ! palette name
- integer :: errcode ! error code
- integer(size_t) :: namelen ! name length
- integer(size_t) :: ilen ! name length
-
- interface
- integer function h5imunlink_palette_c(loc_id,namelen,dset_name,ilen,pal_name)
- use h5global
- IMPLICIT NONE
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5IMUNLINK_PALETTE_C'::h5imunlink_palette_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: dset_name
- !DEC$ATTRIBUTES reference :: pal_name
- integer(hid_t), intent(in) :: loc_id ! file or group identifier
- character(len=*), intent(in) :: dset_name ! name of the dataset
- character(len=*), intent(in) :: pal_name ! palette name
- integer(size_t) :: namelen ! name length
- integer(size_t) :: ilen ! name length
- end function h5imunlink_palette_c
- end interface
-
- namelen = len(dset_name)
- ilen = len(pal_name)
- errcode = h5imunlink_palette_c(loc_id,namelen,dset_name,ilen,pal_name)
-
-end subroutine h5imunlink_palette_f
-
-
-
-!-------------------------------------------------------------------------
-! Function: h5imget_npalettes_f
-!
-! Purpose: Gets the number of palettes associated to an image
-!
-! Return: Success: 0, Failure: -1
-!
-! Programmer: pvn@ncsa.uiuc.edu
-!
-! Date: October 05, 2004
-!
-! Comments:
-!
-! Modifications:
-!
-!-------------------------------------------------------------------------
-
-subroutine h5imget_npalettes_f(loc_id,&
- dset_name,&
- npals,&
- errcode )
-
- implicit none
-
-!
-!This definition is needed for Windows DLLs
-!DEC$if defined(BUILD_HDF5_HL_DLL)
-!DEC$attributes dllexport :: h5imget_npalettes_f
-!DEC$endif
-!
-
- integer(hid_t), intent(in) :: loc_id ! file or group identifier
- character(len=*), intent(in) :: dset_name ! name of the dataset
- integer(hsize_t), intent(inout) :: npals ! palettes
- integer :: errcode ! error code
- integer(size_t) :: namelen ! name length
-
- interface
- integer function h5imget_npalettes_c(loc_id,namelen,dset_name,npals)
- use h5global
- IMPLICIT NONE
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5IMGET_NPALETTES_C'::h5imget_npalettes_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: dset_name
- integer(hid_t), intent(in) :: loc_id ! file or group identifier
- character(len=*), intent(in) :: dset_name ! name of the dataset
- integer(hsize_t), intent(inout) :: npals ! palettes
- integer(size_t) :: namelen ! name length
- end function h5imget_npalettes_c
- end interface
-
- namelen = len(dset_name)
- errcode = h5imget_npalettes_c(loc_id,namelen,dset_name,npals)
-
-end subroutine h5imget_npalettes_f
-
-
-!-------------------------------------------------------------------------
-! Function: h5imget_palette_info_f
-!
-! Purpose: Get palette information
-!
-! Return: Success: 0, Failure: -1
-!
-! Programmer: pvn@ncsa.uiuc.edu
-!
-! Date: October 06, 2004
-!
-! Comments:
-!
-! Modifications:
-!
-!-------------------------------------------------------------------------
-
-subroutine h5imget_palette_info_f(loc_id,&
- dset_name,&
- pal_number,&
- dims,&
- errcode )
-
- implicit none
-
-
-!
-!This definition is needed for Windows DLLs
-!DEC$if defined(BUILD_HDF5_HL_DLL)
-!DEC$attributes dllexport :: h5imget_palette_info_f
-!DEC$endif
-!
-
- integer(hid_t), intent(in) :: loc_id ! file or group identifier
- character(len=*), intent(in) :: dset_name ! name of the dataset
- integer, intent(in) :: pal_number ! palette number
- integer(hsize_t), dimension(*), intent(inout) :: dims ! dimensions
- integer :: errcode ! error code
- integer(size_t) :: namelen ! name length
-
- interface
- integer function h5imget_palette_info_c(loc_id,namelen,dset_name,pal_number,dims)
- use h5global
- IMPLICIT NONE
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5IMGET_PALETTE_INFO_C'::h5imget_palette_info_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: dset_name
- integer(hid_t), intent(in) :: loc_id ! file or group identifier
- character(len=*), intent(in) :: dset_name ! name of the dataset
- integer, intent(in) :: pal_number ! palette number
- integer(hsize_t), dimension(*), intent(inout) :: dims ! dimensions
- integer(size_t) :: namelen ! name length
- end function h5imget_palette_info_c
- end interface
-
- namelen = len(dset_name)
- errcode = h5imget_palette_info_c(loc_id,namelen,dset_name,pal_number,dims)
-
-end subroutine h5imget_palette_info_f
-
-
-
-!-------------------------------------------------------------------------
-! Function: h5imget_palette_f
-!
-! Purpose: Reads palette
-!
-! Return: Success: 0, Failure: -1
-!
-! Programmer: pvn@ncsa.uiuc.edu
-!
-! Date: October 06, 2004
-!
-! Comments:
-!
-! Modifications:
-!
-!-------------------------------------------------------------------------
-
-
-subroutine h5imget_palette_f(loc_id,&
- dset_name,&
- pal_number,&
- buf,&
- errcode )
-
- implicit none
-
-!
-!This definition is needed for Windows DLLs
-!DEC$if defined(BUILD_HDF5_HL_DLL)
-!DEC$attributes dllexport :: h5imget_palette_f
-!DEC$endif
-!
-
- integer(hid_t), intent(in) :: loc_id ! file or group identifier
- character(len=*), intent(in) :: dset_name ! name of the dataset
- integer, intent(in) :: pal_number ! palette number
- integer, intent(inout), dimension(*) :: buf ! buffer
- integer :: errcode ! error code
- integer(size_t) :: namelen ! name length
-
- interface
- integer function h5imget_palette_c(loc_id,namelen,dset_name,pal_number,buf)
- use h5global
- IMPLICIT NONE
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5IMGET_PALETTE_C'::h5imget_palette_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: dset_name
- integer(hid_t), intent(in) :: loc_id ! file or group identifier
- integer(size_t) :: namelen ! length of name buffer
- character(len=*), intent(in) :: dset_name ! name of the dataset
- integer, intent(in) :: pal_number ! palette number
- integer, intent(inout), dimension(*) :: buf ! buffer
- end function h5imget_palette_c
- end interface
-
- namelen = len(dset_name)
- errcode = h5imget_palette_c(loc_id,namelen,dset_name,pal_number,buf)
-
-end subroutine h5imget_palette_f
-
-
-!-------------------------------------------------------------------------
-! Function: h5imis_palette_f
-!
-! Purpose: Inquires if a dataset is a palette
-!
-! Return: true, false, fail
-!
-! Programmer: pvn@ncsa.uiuc.edu
-!
-! Date: October 06, 2004
-!
-! Comments:
-!
-! Modifications:
-!
-!-------------------------------------------------------------------------
-
-integer function h5imis_palette_f(loc_id,&
- dset_name)
-
- implicit none
-
-!
-!This definition is needed for Windows DLLs
-!DEC$if defined(BUILD_HDF5_HL_DLL)
-!DEC$attributes dllexport :: h5imis_palette_f
-!DEC$endif
-!
-
- integer(hid_t), intent(in) :: loc_id ! file or group identifier
- character(len=*), intent(in) :: dset_name ! name of the dataset
- integer :: errcode ! error code
- integer(size_t) :: namelen ! name length
-
- interface
- integer function h5imis_palette_c(loc_id,namelen,dset_name)
- use h5global
- IMPLICIT NONE
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5IMIS_PALETTE_C'::h5imis_palette_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: dset_name
- integer(hid_t), intent(in) :: loc_id ! file or group identifier
- integer(size_t) :: namelen ! length of name buffer
- character(len=*), intent(in) :: dset_name ! name of the dataset
- end function h5imis_palette_c
- end interface
-
- namelen = len(dset_name)
- errcode = h5imis_palette_c(loc_id,namelen,dset_name)
- h5imis_palette_f = errcode
-
-end function h5imis_palette_f
-
-
-! end
-!
-end module H5IM
-
-
-
-
-
diff --git a/hl/fortran/src/H5LTf90proto.h b/hl/fortran/src/H5LTf90proto.h
index 532d9d8..20d043e 100644
--- a/hl/fortran/src/H5LTf90proto.h
+++ b/hl/fortran/src/H5LTf90proto.h
@@ -30,219 +30,49 @@ H5_FCDLL void HD5packFstring (char *src, char *dest, size_t len);
/*
* Functions from H5DSfc.c
*/
-
-#define nh5dsset_scale_c H5_FC_FUNC_(h5dsset_scale_c, H5DSSET_SCALE_C)
-#define nh5dsattach_scale_c H5_FC_FUNC_(h5dsattach_scale_c, H5DSATTACH_SCALE_C)
-#define nh5dsdetach_scale_c H5_FC_FUNC_(h5dsdetach_scale_c, H5DSDETACH_SCALE_C)
-#define nh5dsis_attached_c H5_FC_FUNC_(h5dsis_attached_c, H5DSIS_ATTACHED_C)
-#define nh5dsis_scale_c H5_FC_FUNC_(h5dsis_scale_c, H5DSIS_SCALE_C)
-#define nh5dsset_label_c H5_FC_FUNC_(h5dsset_label_c, H5DSSET_LABEL_C)
-#define nh5dsget_label_c H5_FC_FUNC_(h5dsget_label_c, H5DSGET_LABEL_C)
-#define nh5dsget_scale_name_c H5_FC_FUNC_(h5dsget_scale_name_c,H5DSGET_SCALE_NAME_C)
-#define nh5dsget_num_scales_c H5_FC_FUNC_(h5dsget_num_scales_c,H5DSGET_NUM_SCALES_C)
-
-
-/*
- * Functions from H5LTfc.c
- */
-#define nh5ltmake_dataset_c H5_FC_FUNC_(h5ltmake_dataset_c, H5LTMAKE_DATASET_C)
-#define nh5ltmake_dataset_int1_c H5_FC_FUNC_(h5ltmake_dataset_int1_c, H5LTMAKE_DATASET_INT1_C)
-#define nh5ltmake_dataset_int2_c H5_FC_FUNC_(h5ltmake_dataset_int2_c, H5LTMAKE_DATASET_INT2_C)
-#define nh5ltmake_dataset_int3_c H5_FC_FUNC_(h5ltmake_dataset_int3_c, H5LTMAKE_DATASET_INT3_C)
-#define nh5ltmake_dataset_int4_c H5_FC_FUNC_(h5ltmake_dataset_int4_c, H5LTMAKE_DATASET_INT4_C)
-#define nh5ltmake_dataset_int5_c H5_FC_FUNC_(h5ltmake_dataset_int5_c, H5LTMAKE_DATASET_INT5_C)
-#define nh5ltmake_dataset_int6_c H5_FC_FUNC_(h5ltmake_dataset_int6_c, H5LTMAKE_DATASET_INT6_C)
-#define nh5ltmake_dataset_int7_c H5_FC_FUNC_(h5ltmake_dataset_int7_c, H5LTMAKE_DATASET_INT7_C)
-#define nh5ltmake_dataset_fl1_c H5_FC_FUNC_(h5ltmake_dataset_fl1_c, H5LTMAKE_DATASET_FL1_C)
-#define nh5ltmake_dataset_fl2_c H5_FC_FUNC_(h5ltmake_dataset_fl2_c, H5LTMAKE_DATASET_FL2_C)
-#define nh5ltmake_dataset_fl3_c H5_FC_FUNC_(h5ltmake_dataset_fl3_c, H5LTMAKE_DATASET_FL3_C)
-#define nh5ltmake_dataset_fl4_c H5_FC_FUNC_(h5ltmake_dataset_fl4_c, H5LTMAKE_DATASET_FL4_C)
-#define nh5ltmake_dataset_fl5_c H5_FC_FUNC_(h5ltmake_dataset_fl5_c, H5LTMAKE_DATASET_FL5_C)
-#define nh5ltmake_dataset_fl6_c H5_FC_FUNC_(h5ltmake_dataset_fl6_c, H5LTMAKE_DATASET_FL6_C)
-#define nh5ltmake_dataset_fl7_c H5_FC_FUNC_(h5ltmake_dataset_fl7_c, H5LTMAKE_DATASET_FL7_C)
-#define nh5ltmake_dataset_dl1_c H5_FC_FUNC_(h5ltmake_dataset_dl1_c, H5LTMAKE_DATASET_DL1_C)
-#define nh5ltmake_dataset_dl2_c H5_FC_FUNC_(h5ltmake_dataset_dl2_c, H5LTMAKE_DATASET_DL2_C)
-#define nh5ltmake_dataset_dl3_c H5_FC_FUNC_(h5ltmake_dataset_dl3_c, H5LTMAKE_DATASET_DL3_C)
-#define nh5ltmake_dataset_dl4_c H5_FC_FUNC_(h5ltmake_dataset_dl4_c, H5LTMAKE_DATASET_DL4_C)
-#define nh5ltmake_dataset_dl5_c H5_FC_FUNC_(h5ltmake_dataset_dl5_c, H5LTMAKE_DATASET_DL5_C)
-#define nh5ltmake_dataset_dl6_c H5_FC_FUNC_(h5ltmake_dataset_dl6_c, H5LTMAKE_DATASET_DL6_C)
-#define nh5ltmake_dataset_dl7_c H5_FC_FUNC_(h5ltmake_dataset_dl7_c, H5LTMAKE_DATASET_DL7_C)
-#define nh5ltmake_dataset_nint1_c H5_FC_FUNC_(h5ltmake_dataset_nint1_c, H5LTMAKE_DATASET_NINT1_C)
-#define nh5ltmake_dataset_nint2_c H5_FC_FUNC_(h5ltmake_dataset_nint2_c, H5LTMAKE_DATASET_NINT2_C)
-#define nh5ltmake_dataset_nint3_c H5_FC_FUNC_(h5ltmake_dataset_nint3_c, H5LTMAKE_DATASET_NINT3_C)
-#define nh5ltmake_dataset_nint4_c H5_FC_FUNC_(h5ltmake_dataset_nint4_c, H5LTMAKE_DATASET_NINT4_C)
-#define nh5ltmake_dataset_nint5_c H5_FC_FUNC_(h5ltmake_dataset_nint5_c, H5LTMAKE_DATASET_NINT5_C)
-#define nh5ltmake_dataset_nint6_c H5_FC_FUNC_(h5ltmake_dataset_nint6_c, H5LTMAKE_DATASET_NINT6_C)
-#define nh5ltmake_dataset_nint7_c H5_FC_FUNC_(h5ltmake_dataset_nint7_c, H5LTMAKE_DATASET_NINT7_C)
-#define nh5ltmake_dataset_nfl1_c H5_FC_FUNC_(h5ltmake_dataset_nfl1_c, H5LTMAKE_DATASET_NFL1_C)
-#define nh5ltmake_dataset_nfl2_c H5_FC_FUNC_(h5ltmake_dataset_nfl2_c, H5LTMAKE_DATASET_NFL2_C)
-#define nh5ltmake_dataset_nfl3_c H5_FC_FUNC_(h5ltmake_dataset_nfl3_c, H5LTMAKE_DATASET_NFL3_C)
-#define nh5ltmake_dataset_nfl4_c H5_FC_FUNC_(h5ltmake_dataset_nfl4_c, H5LTMAKE_DATASET_NFL4_C)
-#define nh5ltmake_dataset_nfl5_c H5_FC_FUNC_(h5ltmake_dataset_nfl5_c, H5LTMAKE_DATASET_NFL5_C)
-#define nh5ltmake_dataset_nfl6_c H5_FC_FUNC_(h5ltmake_dataset_nfl6_c, H5LTMAKE_DATASET_NFL6_C)
-#define nh5ltmake_dataset_nfl7_c H5_FC_FUNC_(h5ltmake_dataset_nfl7_c, H5LTMAKE_DATASET_NFL7_C)
-#define nh5ltmake_dataset_ndl1_c H5_FC_FUNC_(h5ltmake_dataset_ndl1_c, H5LTMAKE_DATASET_NDL1_C)
-#define nh5ltmake_dataset_ndl2_c H5_FC_FUNC_(h5ltmake_dataset_ndl2_c, H5LTMAKE_DATASET_NDL2_C)
-#define nh5ltmake_dataset_ndl3_c H5_FC_FUNC_(h5ltmake_dataset_ndl3_c, H5LTMAKE_DATASET_NDL3_C)
-#define nh5ltmake_dataset_ndl4_c H5_FC_FUNC_(h5ltmake_dataset_ndl4_c, H5LTMAKE_DATASET_NDL4_C)
-#define nh5ltmake_dataset_ndl5_c H5_FC_FUNC_(h5ltmake_dataset_ndl5_c, H5LTMAKE_DATASET_NDL5_C)
-#define nh5ltmake_dataset_ndl6_c H5_FC_FUNC_(h5ltmake_dataset_ndl6_c, H5LTMAKE_DATASET_NDL6_C)
-#define nh5ltmake_dataset_ndl7_c H5_FC_FUNC_(h5ltmake_dataset_ndl7_c, H5LTMAKE_DATASET_NDL7_C)
-#define nh5ltread_dataset_c H5_FC_FUNC_(h5ltread_dataset_c, H5LTREAD_DATASET_C)
-#define nh5ltread_dataset_int1_c H5_FC_FUNC_(h5ltread_dataset_int1_c, H5LTREAD_DATASET_INT1_C)
-#define nh5ltread_dataset_int2_c H5_FC_FUNC_(h5ltread_dataset_int2_c, H5LTREAD_DATASET_INT2_C)
-#define nh5ltread_dataset_int3_c H5_FC_FUNC_(h5ltread_dataset_int3_c, H5LTREAD_DATASET_INT3_C)
-#define nh5ltread_dataset_int4_c H5_FC_FUNC_(h5ltread_dataset_int4_c, H5LTREAD_DATASET_INT4_C)
-#define nh5ltread_dataset_int5_c H5_FC_FUNC_(h5ltread_dataset_int5_c, H5LTREAD_DATASET_INT5_C)
-#define nh5ltread_dataset_int6_c H5_FC_FUNC_(h5ltread_dataset_int6_c, H5LTREAD_DATASET_INT6_C)
-#define nh5ltread_dataset_int7_c H5_FC_FUNC_(h5ltread_dataset_int7_c, H5LTREAD_DATASET_INT7_C)
-#define nh5ltread_dataset_fl1_c H5_FC_FUNC_(h5ltread_dataset_fl1_c, H5LTREAD_DATASET_FL1_C)
-#define nh5ltread_dataset_fl2_c H5_FC_FUNC_(h5ltread_dataset_fl2_c, H5LTREAD_DATASET_FL2_C)
-#define nh5ltread_dataset_fl3_c H5_FC_FUNC_(h5ltread_dataset_fl3_c, H5LTREAD_DATASET_FL3_C)
-#define nh5ltread_dataset_fl4_c H5_FC_FUNC_(h5ltread_dataset_fl4_c, H5LTREAD_DATASET_FL4_C)
-#define nh5ltread_dataset_fl5_c H5_FC_FUNC_(h5ltread_dataset_fl5_c, H5LTREAD_DATASET_FL5_C)
-#define nh5ltread_dataset_fl6_c H5_FC_FUNC_(h5ltread_dataset_fl6_c, H5LTREAD_DATASET_FL6_C)
-#define nh5ltread_dataset_fl7_c H5_FC_FUNC_(h5ltread_dataset_fl7_c, H5LTREAD_DATASET_FL7_C)
-#define nh5ltread_dataset_dl1_c H5_FC_FUNC_(h5ltread_dataset_dl1_c, H5LTREAD_DATASET_DL1_C)
-#define nh5ltread_dataset_dl2_c H5_FC_FUNC_(h5ltread_dataset_dl2_c, H5LTREAD_DATASET_DL2_C)
-#define nh5ltread_dataset_dl3_c H5_FC_FUNC_(h5ltread_dataset_dl3_c, H5LTREAD_DATASET_DL3_C)
-#define nh5ltread_dataset_dl4_c H5_FC_FUNC_(h5ltread_dataset_dl4_c, H5LTREAD_DATASET_DL4_C)
-#define nh5ltread_dataset_dl5_c H5_FC_FUNC_(h5ltread_dataset_dl5_c, H5LTREAD_DATASET_DL5_C)
-#define nh5ltread_dataset_dl6_c H5_FC_FUNC_(h5ltread_dataset_dl6_c, H5LTREAD_DATASET_DL6_C)
-#define nh5ltread_dataset_dl7_c H5_FC_FUNC_(h5ltread_dataset_dl7_c, H5LTREAD_DATASET_DL7_C)
-#define nh5ltread_dataset_nint1_c H5_FC_FUNC_(h5ltread_dataset_nint1_c, H5LTREAD_DATASET_NINT1_C)
-#define nh5ltread_dataset_nint2_c H5_FC_FUNC_(h5ltread_dataset_nint2_c, H5LTREAD_DATASET_NINT2_C)
-#define nh5ltread_dataset_nint3_c H5_FC_FUNC_(h5ltread_dataset_nint3_c, H5LTREAD_DATASET_NINT3_C)
-#define nh5ltread_dataset_nint4_c H5_FC_FUNC_(h5ltread_dataset_nint4_c, H5LTREAD_DATASET_NINT4_C)
-#define nh5ltread_dataset_nint5_c H5_FC_FUNC_(h5ltread_dataset_nint5_c, H5LTREAD_DATASET_NINT5_C)
-#define nh5ltread_dataset_nint6_c H5_FC_FUNC_(h5ltread_dataset_nint6_c, H5LTREAD_DATASET_NINT6_C)
-#define nh5ltread_dataset_nint7_c H5_FC_FUNC_(h5ltread_dataset_nint7_c, H5LTREAD_DATASET_NINT7_C)
-#define nh5ltread_dataset_nfl1_c H5_FC_FUNC_(h5ltread_dataset_nfl1_c, H5LTREAD_DATASET_NFL1_C)
-#define nh5ltread_dataset_nfl2_c H5_FC_FUNC_(h5ltread_dataset_nfl2_c, H5LTREAD_DATASET_NFL2_C)
-#define nh5ltread_dataset_nfl3_c H5_FC_FUNC_(h5ltread_dataset_nfl3_c, H5LTREAD_DATASET_NFL3_C)
-#define nh5ltread_dataset_nfl4_c H5_FC_FUNC_(h5ltread_dataset_nfl4_c, H5LTREAD_DATASET_NFL4_C)
-#define nh5ltread_dataset_nfl5_c H5_FC_FUNC_(h5ltread_dataset_nfl5_c, H5LTREAD_DATASET_NFL5_C)
-#define nh5ltread_dataset_nfl6_c H5_FC_FUNC_(h5ltread_dataset_nfl6_c, H5LTREAD_DATASET_NFL6_C)
-#define nh5ltread_dataset_nfl7_c H5_FC_FUNC_(h5ltread_dataset_nfl7_c, H5LTREAD_DATASET_NFL7_C)
-#define nh5ltread_dataset_ndl1_c H5_FC_FUNC_(h5ltread_dataset_ndl1_c, H5LTREAD_DATASET_NDL1_C)
-#define nh5ltread_dataset_ndl2_c H5_FC_FUNC_(h5ltread_dataset_ndl2_c, H5LTREAD_DATASET_NDL2_C)
-#define nh5ltread_dataset_ndl3_c H5_FC_FUNC_(h5ltread_dataset_ndl3_c, H5LTREAD_DATASET_NDL3_C)
-#define nh5ltread_dataset_ndl4_c H5_FC_FUNC_(h5ltread_dataset_ndl4_c, H5LTREAD_DATASET_NDL4_C)
-#define nh5ltread_dataset_ndl5_c H5_FC_FUNC_(h5ltread_dataset_ndl5_c, H5LTREAD_DATASET_NDL5_C)
-#define nh5ltread_dataset_ndl6_c H5_FC_FUNC_(h5ltread_dataset_ndl6_c, H5LTREAD_DATASET_NDL6_C)
-#define nh5ltread_dataset_ndl7_c H5_FC_FUNC_(h5ltread_dataset_ndl7_c, H5LTREAD_DATASET_NDL7_C)
-#define nh5ltmake_dataset_string_c H5_FC_FUNC_(h5ltmake_dataset_string_c, H5LTMAKE_DATASET_STRING_C)
-#define nh5ltread_dataset_string_c H5_FC_FUNC_(h5ltread_dataset_string_c, H5LTREAD_DATASET_STRING_C)
-
-#define nh5ltset_attribute_int_c H5_FC_FUNC_(h5ltset_attribute_int_c, H5LTSET_ATTRIBUTE_INT_C)
-#define nh5ltset_attribute_float_c H5_FC_FUNC_(h5ltset_attribute_float_c, H5LTSET_ATTRIBUTE_FLOAT_C)
-#define nh5ltset_attribute_double_c H5_FC_FUNC_(h5ltset_attribute_double_c, H5LTSET_ATTRIBUTE_DOUBLE_C)
-#define nh5ltset_attribute_string_c H5_FC_FUNC_(h5ltset_attribute_string_c, H5LTSET_ATTRIBUTE_STRING_C)
-
-#define nh5ltget_attribute_int_c H5_FC_FUNC_(h5ltget_attribute_int_c, H5LTGET_ATTRIBUTE_INT_C)
-#define nh5ltget_attribute_float_c H5_FC_FUNC_(h5ltget_attribute_float_c, H5LTGET_ATTRIBUTE_FLOAT_C)
-#define nh5ltget_attribute_double_c H5_FC_FUNC_(h5ltget_attribute_double_c, H5LTGET_ATTRIBUTE_DOUBLE_C)
-#define nh5ltget_attribute_string_c H5_FC_FUNC_(h5ltget_attribute_string_c, H5LTGET_ATTRIBUTE_STRING_C)
-
-#define nh5ltget_dataset_ndims_c H5_FC_FUNC_(h5ltget_dataset_ndims_c, H5LTGET_DATASET_NDIMS_C)
-#define nh5ltfind_dataset_c H5_FC_FUNC_(h5ltfind_dataset_c, H5LTFIND_DATASET_C)
-#define nh5ltget_dataset_info_c H5_FC_FUNC_(h5ltget_dataset_info_c, H5LTGET_DATASET_INFO_C)
-
-#define nh5ltget_attribute_ndims_c H5_FC_FUNC_(h5ltget_attribute_ndims_c, H5LTGET_ATTRIBUTE_NDIMS_C)
-#define nh5ltget_attribute_info_c H5_FC_FUNC_(h5ltget_attribute_info_c, H5LTGET_ATTRIBUTE_INFO_C)
-#define nh5ltpath_valid_c H5_FC_FUNC_(h5ltpath_valid_c, H5LTPATH_VALID_C)
-
-/*-------------------------------------------------------------------------
-* Image
-*-------------------------------------------------------------------------
-*/
-#define nh5immake_image_8bit_c H5_FC_FUNC_(h5immake_image_8bit_c, H5IMMAKE_IMAGE_8BIT_C)
-#define nh5immake_image_24bit_c H5_FC_FUNC_(h5immake_image_24bit_c, H5IMMAKE_IMAGE_24BIT_C)
-#define nh5imread_image_c H5_FC_FUNC_(h5imread_image_c, H5IMREAD_IMAGE_C)
-#define nh5imget_image_info_c H5_FC_FUNC_(h5imget_image_info_c, H5IMGET_IMAGE_INFO_C)
-#define nh5imis_image_c H5_FC_FUNC_(h5imis_image_c, H5IMIS_IMAGE_C)
-#define nh5immake_palette_c H5_FC_FUNC_(h5immake_palette_c, H5IMMAKE_PALETTE_C)
-#define nh5imlink_palette_c H5_FC_FUNC_(h5imlink_palette_c, H5IMLINK_PALETTE_C)
-#define nh5imunlink_palette_c H5_FC_FUNC_(h5imunlink_palette_c, H5IMUNLINK_PALETTE_C)
-#define nh5imget_npalettes_c H5_FC_FUNC_(h5imget_npalettes_c, H5IMGET_NPALETTES_C)
-#define nh5imget_palette_info_c H5_FC_FUNC_(h5imget_palette_info_c, H5IMGET_PALETTE_INFO_C)
-#define nh5imget_palette_c H5_FC_FUNC_(h5imget_palette_c, H5IMGET_PALETTE_C)
-#define nh5imis_palette_c H5_FC_FUNC_(h5imis_palette_c, H5IMIS_PALETTE_C)
-
-/*-------------------------------------------------------------------------
-* Table
-*-------------------------------------------------------------------------
-*/
-#define nh5tbmake_table_c H5_FC_FUNC_(h5tbmake_table_c, H5TBMAKE_TABLE_C)
-#define nh5tbwrite_field_name_c H5_FC_FUNC_(h5tbwrite_field_name_c, H5TBWRITE_FIELD_NAME_C)
-#define nh5tbwrite_field_name_int_c H5_FC_FUNC_(h5tbwrite_field_name_int_c, H5TBWRITE_FIELD_NAME_INT_C)
-#define nh5tbwrite_field_name_fl_c H5_FC_FUNC_(h5tbwrite_field_name_fl_c, H5TBWRITE_FIELD_NAME_FL_C)
-#define nh5tbwrite_field_name_dl_c H5_FC_FUNC_(h5tbwrite_field_name_dl_c, H5TBWRITE_FIELD_NAME_DL_C)
-#define nh5tbwrite_field_name_st_c H5_FC_FUNC_(h5tbwrite_field_name_st_c, H5TBWRITE_FIELD_NAME_ST_C)
-#define nh5tbread_field_name_c H5_FC_FUNC_(h5tbread_field_name_c, H5TBREAD_FIELD_NAME_C)
-#define nh5tbread_field_name_int_c H5_FC_FUNC_(h5tbread_field_name_int_c, H5TBREAD_FIELD_NAME_INT_C)
-#define nh5tbread_field_name_fl_c H5_FC_FUNC_(h5tbread_field_name_fl_c, H5TBREAD_FIELD_NAME_FL_C)
-#define nh5tbread_field_name_dl_c H5_FC_FUNC_(h5tbread_field_name_dl_c, H5TBREAD_FIELD_NAME_DL_C)
-#define nh5tbread_field_name_st_c H5_FC_FUNC_(h5tbread_field_name_st_c, H5TBREAD_FIELD_NAME_ST_C)
-#define nh5tbwrite_field_index_c H5_FC_FUNC_(h5tbwrite_field_index_c, H5TBWRITE_FIELD_INDEX_C)
-#define nh5tbwrite_field_index_int_c H5_FC_FUNC_(h5tbwrite_field_index_int_c, H5TBWRITE_FIELD_INDEX_INT_C)
-#define nh5tbwrite_field_index_fl_c H5_FC_FUNC_(h5tbwrite_field_index_fl_c, H5TBWRITE_FIELD_INDEX_FL_C)
-#define nh5tbwrite_field_index_dl_c H5_FC_FUNC_(h5tbwrite_field_index_dl_c, H5TBWRITE_FIELD_INDEX_DL_C)
-#define nh5tbwrite_field_index_st_c H5_FC_FUNC_(h5tbwrite_field_index_st_c, H5TBWRITE_FIELD_INDEX_ST_C)
-#define nh5tbread_field_index_c H5_FC_FUNC_(h5tbread_field_index_c, H5TBREAD_FIELD_INDEX_C)
-#define nh5tbread_field_index_int_c H5_FC_FUNC_(h5tbread_field_index_int_c, H5TBREAD_FIELD_INDEX_INT_C)
-#define nh5tbread_field_index_fl_c H5_FC_FUNC_(h5tbread_field_index_fl_c, H5TBREAD_FIELD_INDEX_FL_C)
-#define nh5tbread_field_index_dl_c H5_FC_FUNC_(h5tbread_field_index_dl_c, H5TBREAD_FIELD_INDEX_DL_C)
-#define nh5tbread_field_index_st_c H5_FC_FUNC_(h5tbread_field_index_st_c, H5TBREAD_FIELD_INDEX_ST_C)
-#define nh5tbinsert_field_c H5_FC_FUNC_(h5tbinsert_field_c, H5TBINSERT_FIELD_C)
-#define nh5tbinsert_field_int_c H5_FC_FUNC_(h5tbinsert_field_int_c, H5TBINSERT_FIELD_INT_C)
-#define nh5tbinsert_field_fl_c H5_FC_FUNC_(h5tbinsert_field_fl_c, H5TBINSERT_FIELD_FL_C)
-#define nh5tbinsert_field_dl_c H5_FC_FUNC_(h5tbinsert_field_dl_c, H5TBINSERT_FIELD_DL_C)
-#define nh5tbinsert_field_st_c H5_FC_FUNC_(h5tbinsert_field_st_c, H5TBINSERT_FIELD_ST_C)
-#define nh5tbdelete_field_c H5_FC_FUNC_(h5tbdelete_field_c, H5TBDELETE_FIELD_C)
-#define nh5tbget_table_info_c H5_FC_FUNC_(h5tbget_table_info_c, H5TBGET_TABLE_INFO_C)
-#define nh5tbget_field_info_c H5_FC_FUNC_(h5tbget_field_info_c, H5TBGET_FIELD_INFO_C)
-
HDF5_HL_F90CSTUBDLL
int_f
-nh5dsset_scale_c(hid_t_f *dsid, _fcd dimname, size_t_f *dimnamelen);
+h5dsset_scale_c(hid_t_f *dsid, _fcd dimname, size_t_f *dimnamelen);
HDF5_HL_F90CSTUBDLL
int_f
-nh5dsattach_scale_c( hid_t_f *did, hid_t_f *dsid, int_f *idx);
+h5dsattach_scale_c( hid_t_f *did, hid_t_f *dsid, int_f *idx);
HDF5_HL_F90CSTUBDLL
int_f
-nh5dsdetach_scale_c( hid_t_f *did, hid_t_f *dsid, int_f *idx);
+h5dsdetach_scale_c( hid_t_f *did, hid_t_f *dsid, int_f *idx);
HDF5_HL_F90CSTUBDLL
int_f
-nh5dsis_attached_c( hid_t_f *did, hid_t_f *dsid, int_f *idx, int_f *c_is_attached);
+h5dsis_attached_c( hid_t_f *did, hid_t_f *dsid, int_f *idx, int_f *c_is_attached);
HDF5_HL_F90CSTUBDLL
int_f
-nh5dsis_scale_c(hid_t_f *did, int_f *is_scale);
+h5dsis_scale_c(hid_t_f *did, int_f *is_scale);
HDF5_HL_F90CSTUBDLL
int_f
-nh5dsset_label_c(hid_t_f *did, int_f *idx, _fcd label, size_t_f *labellen);
+h5dsset_label_c(hid_t_f *did, int_f *idx, _fcd label, size_t_f *labellen);
HDF5_HL_F90CSTUBDLL
int_f
-nh5dsget_label_c(hid_t_f *did, int_f *idx, _fcd label, size_t_f *size);
+h5dsget_label_c(hid_t_f *did, int_f *idx, _fcd label, size_t_f *size);
HDF5_HL_F90CSTUBDLL
int_f
-nh5dsget_scale_name_c(hid_t_f *did, _fcd label, size_t_f *size);
+h5dsget_scale_name_c(hid_t_f *did, _fcd label, size_t_f *size);
HDF5_HL_F90CSTUBDLL
int_f
-nh5dsget_num_scales_c( hid_t_f *did, int_f *idx, int_f *num_scales);
+h5dsget_num_scales_c( hid_t_f *did, int_f *idx, int_f *num_scales);
+/*
+ * Functions from H5LTfc.c
+ */
HDF5_HL_F90CSTUBDLL
int_f
-nh5ltmake_dataset_c (hid_t_f *loc_id,
+h5ltmake_dataset_c (hid_t_f *loc_id,
size_t_f *namelen,
_fcd name,
int_f *rank,
@@ -252,909 +82,58 @@ nh5ltmake_dataset_c (hid_t_f *loc_id,
HDF5_HL_F90CSTUBDLL
int_f
-nh5ltmake_dataset_int1_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- int_f *rank,
- hsize_t_f *dims,
- hid_t_f *type_id,
- void *buf);
-
-HDF5_HL_F90CSTUBDLL
-int_f
-nh5ltmake_dataset_int2_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- int_f *rank,
- hsize_t_f *dims,
- hid_t_f *type_id,
- void *buf);
-
-HDF5_HL_F90CSTUBDLL
-int_f
-nh5ltmake_dataset_int3_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- int_f *rank,
- hsize_t_f *dims,
- hid_t_f *type_id,
- void *buf);
-
-HDF5_HL_F90CSTUBDLL
-int_f
-nh5ltmake_dataset_int4_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- int_f *rank,
- hsize_t_f *dims,
- hid_t_f *type_id,
- void *buf);
-
-HDF5_HL_F90CSTUBDLL
-int_f
-nh5ltmake_dataset_int5_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- int_f *rank,
- hsize_t_f *dims,
- hid_t_f *type_id,
- void *buf);
-
-HDF5_HL_F90CSTUBDLL
-int_f
-nh5ltmake_dataset_int6_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- int_f *rank,
- hsize_t_f *dims,
- hid_t_f *type_id,
- void *buf);
-
-HDF5_HL_F90CSTUBDLL
-int_f
-nh5ltmake_dataset_int7_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- int_f *rank,
- hsize_t_f *dims,
- hid_t_f *type_id,
- void *buf);
-
-
-HDF5_HL_F90CSTUBDLL
-int_f
-nh5ltmake_dataset_fl1_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- int_f *rank,
- hsize_t_f *dims,
- hid_t_f *type_id,
- void *buf);
-
-HDF5_HL_F90CSTUBDLL
-int_f
-nh5ltmake_dataset_fl2_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- int_f *rank,
- hsize_t_f *dims,
- hid_t_f *type_id,
- void *buf);
-
-HDF5_HL_F90CSTUBDLL
-int_f
-nh5ltmake_dataset_fl3_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- int_f *rank,
- hsize_t_f *dims,
- hid_t_f *type_id,
- void *buf);
-
-HDF5_HL_F90CSTUBDLL
-int_f
-nh5ltmake_dataset_fl4_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- int_f *rank,
- hsize_t_f *dims,
- hid_t_f *type_id,
- void *buf);
-
-HDF5_HL_F90CSTUBDLL
-int_f
-nh5ltmake_dataset_fl5_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- int_f *rank,
- hsize_t_f *dims,
- hid_t_f *type_id,
- void *buf);
-
-HDF5_HL_F90CSTUBDLL
-int_f
-nh5ltmake_dataset_fl6_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- int_f *rank,
- hsize_t_f *dims,
- hid_t_f *type_id,
- void *buf);
-
-HDF5_HL_F90CSTUBDLL
-int_f
-nh5ltmake_dataset_fl7_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- int_f *rank,
- hsize_t_f *dims,
- hid_t_f *type_id,
- void *buf);
-
-
-HDF5_HL_F90CSTUBDLL
-int_f
-nh5ltmake_dataset_dl1_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- int_f *rank,
- hsize_t_f *dims,
- hid_t_f *type_id,
- void *buf);
-
-HDF5_HL_F90CSTUBDLL
-int_f
-nh5ltmake_dataset_dl2_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- int_f *rank,
- hsize_t_f *dims,
- hid_t_f *type_id,
- void *buf);
-
-HDF5_HL_F90CSTUBDLL
-int_f
-nh5ltmake_dataset_dl3_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- int_f *rank,
- hsize_t_f *dims,
- hid_t_f *type_id,
- void *buf);
-
-HDF5_HL_F90CSTUBDLL
-int_f
-nh5ltmake_dataset_dl4_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- int_f *rank,
- hsize_t_f *dims,
- hid_t_f *type_id,
- void *buf);
-
-HDF5_HL_F90CSTUBDLL
-int_f
-nh5ltmake_dataset_dl5_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- int_f *rank,
- hsize_t_f *dims,
- hid_t_f *type_id,
- void *buf);
-
-HDF5_HL_F90CSTUBDLL
-int_f
-nh5ltmake_dataset_dl6_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- int_f *rank,
- hsize_t_f *dims,
- hid_t_f *type_id,
- void *buf);
-
-HDF5_HL_F90CSTUBDLL
-int_f
-nh5ltmake_dataset_dl7_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- int_f *rank,
- hsize_t_f *dims,
- hid_t_f *type_id,
- void *buf);
-
-HDF5_HL_F90CSTUBDLL
-int_f
-nh5ltmake_dataset_nint1_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- int_f *rank,
- hsize_t_f *dims,
- hid_t_f *type_id,
- void *buf);
-
-HDF5_HL_F90CSTUBDLL
-int_f
-nh5ltmake_dataset_nint2_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- int_f *rank,
- hsize_t_f *dims,
- hid_t_f *type_id,
- void *buf);
-
-HDF5_HL_F90CSTUBDLL
-int_f
-nh5ltmake_dataset_nint3_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- int_f *rank,
- hsize_t_f *dims,
- hid_t_f *type_id,
- void *buf);
-
-HDF5_HL_F90CSTUBDLL
-int_f
-nh5ltmake_dataset_nint4_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- int_f *rank,
- hsize_t_f *dims,
- hid_t_f *type_id,
- void *buf);
-
-HDF5_HL_F90CSTUBDLL
-int_f
-nh5ltmake_dataset_nint5_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- int_f *rank,
- hsize_t_f *dims,
- hid_t_f *type_id,
- void *buf);
-
-HDF5_HL_F90CSTUBDLL
-int_f
-nh5ltmake_dataset_nint6_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- int_f *rank,
- hsize_t_f *dims,
- hid_t_f *type_id,
- void *buf);
-
-HDF5_HL_F90CSTUBDLL
-int_f
-nh5ltmake_dataset_nint7_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- int_f *rank,
- hsize_t_f *dims,
- hid_t_f *type_id,
- void *buf);
-
-HDF5_HL_F90CSTUBDLL
-int_f
-nh5ltmake_dataset_nfl1_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- int_f *rank,
- hsize_t_f *dims,
- hid_t_f *type_id,
- void *buf);
-
-HDF5_HL_F90CSTUBDLL
-int_f
-nh5ltmake_dataset_nfl2_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- int_f *rank,
- hsize_t_f *dims,
- hid_t_f *type_id,
- void *buf);
-
-HDF5_HL_F90CSTUBDLL
-int_f
-nh5ltmake_dataset_nfl3_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- int_f *rank,
- hsize_t_f *dims,
- hid_t_f *type_id,
- void *buf);
-
-HDF5_HL_F90CSTUBDLL
-int_f
-nh5ltmake_dataset_nfl4_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- int_f *rank,
- hsize_t_f *dims,
- hid_t_f *type_id,
- void *buf);
-
-HDF5_HL_F90CSTUBDLL
-int_f
-nh5ltmake_dataset_nfl5_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- int_f *rank,
- hsize_t_f *dims,
- hid_t_f *type_id,
- void *buf);
-
-HDF5_HL_F90CSTUBDLL
-int_f
-nh5ltmake_dataset_nfl6_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- int_f *rank,
- hsize_t_f *dims,
- hid_t_f *type_id,
- void *buf);
-
-HDF5_HL_F90CSTUBDLL
-int_f
-nh5ltmake_dataset_nfl7_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- int_f *rank,
- hsize_t_f *dims,
- hid_t_f *type_id,
- void *buf);
-
-HDF5_HL_F90CSTUBDLL
-int_f
-nh5ltmake_dataset_ndl1_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- int_f *rank,
- hsize_t_f *dims,
- hid_t_f *type_id,
- void *buf);
-
-HDF5_HL_F90CSTUBDLL
-int_f
-nh5ltmake_dataset_ndl2_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- int_f *rank,
- hsize_t_f *dims,
- hid_t_f *type_id,
- void *buf);
-
-HDF5_HL_F90CSTUBDLL
-int_f
-nh5ltmake_dataset_ndl3_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- int_f *rank,
- hsize_t_f *dims,
- hid_t_f *type_id,
- void *buf);
-
-HDF5_HL_F90CSTUBDLL
-int_f
-nh5ltmake_dataset_ndl4_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- int_f *rank,
- hsize_t_f *dims,
- hid_t_f *type_id,
- void *buf);
-
-HDF5_HL_F90CSTUBDLL
-int_f
-nh5ltmake_dataset_ndl5_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- int_f *rank,
- hsize_t_f *dims,
- hid_t_f *type_id,
- void *buf);
-
-HDF5_HL_F90CSTUBDLL
-int_f
-nh5ltmake_dataset_ndl6_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- int_f *rank,
- hsize_t_f *dims,
- hid_t_f *type_id,
- void *buf);
-
-HDF5_HL_F90CSTUBDLL
-int_f
-nh5ltmake_dataset_ndl7_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- int_f *rank,
- hsize_t_f *dims,
- hid_t_f *type_id,
- void *buf);
-
-HDF5_HL_F90CSTUBDLL
-int_f
-nh5ltread_dataset_c (hid_t_f *loc_id,
+h5ltread_dataset_c (hid_t_f *loc_id,
size_t_f *namelen,
_fcd name,
hid_t_f *type_id,
- void *buf,
- hsize_t_f *dims);
-
-
-HDF5_HL_F90CSTUBDLL
-int_f
-nh5ltread_dataset_int1_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- hid_t_f *type_id,
- void *buf,
- hsize_t_f *dims);
-
-HDF5_HL_F90CSTUBDLL
-int_f
-nh5ltread_dataset_int2_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- hid_t_f *type_id,
- void *buf,
- hsize_t_f *dims);
-
-HDF5_HL_F90CSTUBDLL
-int_f
-nh5ltread_dataset_int3_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- hid_t_f *type_id,
- void *buf,
- hsize_t_f *dims);
-
-HDF5_HL_F90CSTUBDLL
-int_f
-nh5ltread_dataset_int4_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- hid_t_f *type_id,
- void *buf,
- hsize_t_f *dims);
-
-HDF5_HL_F90CSTUBDLL
-int_f
-nh5ltread_dataset_int5_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- hid_t_f *type_id,
- void *buf,
- hsize_t_f *dims);
-
-HDF5_HL_F90CSTUBDLL
-int_f
-nh5ltread_dataset_int6_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- hid_t_f *type_id,
- void *buf,
- hsize_t_f *dims);
-
-HDF5_HL_F90CSTUBDLL
-int_f
-nh5ltread_dataset_int7_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- hid_t_f *type_id,
- void *buf,
- hsize_t_f *dims);
-
-HDF5_HL_F90CSTUBDLL
-int_f
-nh5ltread_dataset_fl1_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- hid_t_f *type_id,
- void *buf,
- hsize_t_f *dims);
-
-HDF5_HL_F90CSTUBDLL
-int_f
-nh5ltread_dataset_fl2_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- hid_t_f *type_id,
- void *buf,
- hsize_t_f *dims);
-
-HDF5_HL_F90CSTUBDLL
-int_f
-nh5ltread_dataset_fl3_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- hid_t_f *type_id,
- void *buf,
- hsize_t_f *dims);
-
-HDF5_HL_F90CSTUBDLL
-int_f
-nh5ltread_dataset_fl4_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- hid_t_f *type_id,
- void *buf,
- hsize_t_f *dims);
-
-HDF5_HL_F90CSTUBDLL
-int_f
-nh5ltread_dataset_fl5_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- hid_t_f *type_id,
- void *buf,
- hsize_t_f *dims);
-
-HDF5_HL_F90CSTUBDLL
-int_f
-nh5ltread_dataset_fl6_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- hid_t_f *type_id,
- void *buf,
- hsize_t_f *dims);
-
-
-HDF5_HL_F90CSTUBDLL
-int_f
-nh5ltread_dataset_fl7_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- hid_t_f *type_id,
- void *buf,
- hsize_t_f *dims);
-
-HDF5_HL_F90CSTUBDLL
-int_f
-nh5ltread_dataset_dl1_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- hid_t_f *type_id,
- void *buf,
- hsize_t_f *dims);
-
-HDF5_HL_F90CSTUBDLL
-int_f
-nh5ltread_dataset_dl2_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- hid_t_f *type_id,
- void *buf,
- hsize_t_f *dims);
-
-HDF5_HL_F90CSTUBDLL
-int_f
-nh5ltread_dataset_dl3_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- hid_t_f *type_id,
- void *buf,
- hsize_t_f *dims);
-
-HDF5_HL_F90CSTUBDLL
-int_f
-nh5ltread_dataset_dl4_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- hid_t_f *type_id,
- void *buf,
- hsize_t_f *dims);
-
-HDF5_HL_F90CSTUBDLL
-int_f
-nh5ltread_dataset_dl5_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- hid_t_f *type_id,
- void *buf,
- hsize_t_f *dims);
-
-HDF5_HL_F90CSTUBDLL
-int_f
-nh5ltread_dataset_dl6_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- hid_t_f *type_id,
- void *buf,
- hsize_t_f *dims);
-
-HDF5_HL_F90CSTUBDLL
-int_f
-nh5ltread_dataset_dl7_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- hid_t_f *type_id,
- void *buf,
- hsize_t_f *dims);
-
-HDF5_HL_F90CSTUBDLL
-int_f
-nh5ltread_dataset_nint1_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- hid_t_f *type_id,
- void *buf,
- hsize_t_f *dims);
-
-HDF5_HL_F90CSTUBDLL
-int_f
-nh5ltread_dataset_nint2_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- hid_t_f *type_id,
- void *buf,
- hsize_t_f *dims);
-
-HDF5_HL_F90CSTUBDLL
-int_f
-nh5ltread_dataset_nint3_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- hid_t_f *type_id,
- void *buf,
- hsize_t_f *dims);
-
-HDF5_HL_F90CSTUBDLL
-int_f
-nh5ltread_dataset_nint4_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- hid_t_f *type_id,
- void *buf,
- hsize_t_f *dims);
-
-HDF5_HL_F90CSTUBDLL
-int_f
-nh5ltread_dataset_nint5_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- hid_t_f *type_id,
- void *buf,
- hsize_t_f *dims);
-
-HDF5_HL_F90CSTUBDLL
-int_f
-nh5ltread_dataset_nint6_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- hid_t_f *type_id,
- void *buf,
- hsize_t_f *dims);
-
-HDF5_HL_F90CSTUBDLL
-int_f
-nh5ltread_dataset_nint7_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- hid_t_f *type_id,
- void *buf,
- hsize_t_f *dims);
-
-HDF5_HL_F90CSTUBDLL
-int_f
-nh5ltread_dataset_nfl1_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- hid_t_f *type_id,
- void *buf,
- hsize_t_f *dims);
-
-HDF5_HL_F90CSTUBDLL
-int_f
-nh5ltread_dataset_nfl2_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- hid_t_f *type_id,
- void *buf,
- hsize_t_f *dims);
-
-HDF5_HL_F90CSTUBDLL
-int_f
-nh5ltread_dataset_nfl3_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- hid_t_f *type_id,
- void *buf,
- hsize_t_f *dims);
-
-HDF5_HL_F90CSTUBDLL
-int_f
-nh5ltread_dataset_nfl4_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- hid_t_f *type_id,
- void *buf,
- hsize_t_f *dims);
-
-HDF5_HL_F90CSTUBDLL
-int_f
-nh5ltread_dataset_nfl5_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- hid_t_f *type_id,
- void *buf,
- hsize_t_f *dims);
-
-HDF5_HL_F90CSTUBDLL
-int_f
-nh5ltread_dataset_nfl6_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- hid_t_f *type_id,
- void *buf,
- hsize_t_f *dims);
-
-HDF5_HL_F90CSTUBDLL
-int_f
-nh5ltread_dataset_nfl7_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- hid_t_f *type_id,
- void *buf,
- hsize_t_f *dims);
-
-HDF5_HL_F90CSTUBDLL
-int_f
-nh5ltread_dataset_ndl1_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- hid_t_f *type_id,
- void *buf,
- hsize_t_f *dims);
-
-HDF5_HL_F90CSTUBDLL
-int_f
-nh5ltread_dataset_ndl2_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- hid_t_f *type_id,
- void *buf,
- hsize_t_f *dims);
-
-HDF5_HL_F90CSTUBDLL
-int_f
-nh5ltread_dataset_ndl3_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- hid_t_f *type_id,
- void *buf,
- hsize_t_f *dims);
-
-HDF5_HL_F90CSTUBDLL
-int_f
-nh5ltread_dataset_ndl4_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- hid_t_f *type_id,
- void *buf,
- hsize_t_f *dims);
-
-HDF5_HL_F90CSTUBDLL
-int_f
-nh5ltread_dataset_ndl5_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- hid_t_f *type_id,
- void *buf,
- hsize_t_f *dims);
-
-HDF5_HL_F90CSTUBDLL
-int_f
-nh5ltread_dataset_ndl6_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- hid_t_f *type_id,
- void *buf,
- hsize_t_f *dims);
-
-HDF5_HL_F90CSTUBDLL
-int_f
-nh5ltread_dataset_ndl7_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- hid_t_f *type_id,
- void *buf,
- hsize_t_f *dims);
-
-HDF5_HL_F90CSTUBDLL
-int_f
-nh5ltset_attribute_int_c(hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd dsetname,
- size_t_f *attrnamelen,
- _fcd attrname,
- size_t_f *size,
- void *buf);
-
-HDF5_HL_F90CSTUBDLL
-int_f
-nh5ltset_attribute_float_c(hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd dsetname,
- size_t_f *attrnamelen,
- _fcd attrname,
- size_t_f *size,
- void *buf);
-
-HDF5_HL_F90CSTUBDLL
-int_f
-nh5ltset_attribute_double_c(hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd dsetname,
- size_t_f *attrnamelen,
- _fcd attrname,
- size_t_f *size,
- void *buf);
+ void *buf);
HDF5_HL_F90CSTUBDLL
int_f
-nh5ltset_attribute_string_c(hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd dsetname,
- size_t_f *attrnamelen,
- _fcd attrname,
- size_t_f *buflen,
- void *buf);
+h5ltset_attribute_c(hid_t_f *loc_id,
+ size_t_f *namelen,
+ _fcd dsetname,
+ size_t_f *attrnamelen,
+ _fcd attrname,
+ size_t_f *size,
+ void *buf, char *dtype, size_t_f *sizeof_val);
HDF5_HL_F90CSTUBDLL
int_f
-nh5ltget_attribute_int_c(hid_t_f *loc_id,
+h5ltget_attribute_c(hid_t_f *loc_id,
size_t_f *namelen,
_fcd dsetname,
size_t_f *attrnamelen,
_fcd attrname,
- void *buf);
+ void *buf, char* dtype, size_t_f *sizeof_val);
HDF5_HL_F90CSTUBDLL
int_f
-nh5ltget_attribute_float_c(hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd dsetname,
- size_t_f *attrnamelen,
- _fcd attrname,
- void *buf);
+h5ltget_attribute_string_c(hid_t_f *loc_id,
+ size_t_f *namelen,
+ _fcd dsetname,
+ size_t_f *attrnamelen,
+ _fcd attrname,
+ _fcd buf,
+ size_t_f *buf_size);
HDF5_HL_F90CSTUBDLL
int_f
-nh5ltget_attribute_double_c(hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd dsetname,
- size_t_f *attrnamelen,
- _fcd attrname,
- void *buf);
-
-HDF5_HL_F90CSTUBDLL
-int_f
-nh5ltget_attribute_string_c(hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd dsetname,
- size_t_f *attrnamelen,
- _fcd attrname,
- _fcd buf,
- size_t_f *buf_size);
-
-HDF5_HL_F90CSTUBDLL
-int_f
-nh5ltget_dataset_ndims_c(hid_t_f *loc_id,
+h5ltget_dataset_ndims_c(hid_t_f *loc_id,
size_t_f *namelen,
_fcd name,
int_f *rank);
HDF5_HL_F90CSTUBDLL
int_f
-nh5ltfind_dataset_c(hid_t_f *loc_id,
+h5ltfind_dataset_c(hid_t_f *loc_id,
size_t_f *namelen,
_fcd name);
HDF5_HL_F90CSTUBDLL
int_f
-nh5ltget_dataset_info_c(hid_t_f *loc_id,
+h5ltget_dataset_info_c(hid_t_f *loc_id,
size_t_f *namelen,
_fcd name,
hsize_t_f *dims,
@@ -1163,7 +142,7 @@ nh5ltget_dataset_info_c(hid_t_f *loc_id,
HDF5_HL_F90CSTUBDLL
int_f
-nh5ltget_attribute_ndims_c(hid_t_f *loc_id,
+h5ltget_attribute_ndims_c(hid_t_f *loc_id,
size_t_f *namelen,
_fcd dsetname,
size_t_f *attrnamelen,
@@ -1171,7 +150,7 @@ nh5ltget_attribute_ndims_c(hid_t_f *loc_id,
int_f *rank);
HDF5_HL_F90CSTUBDLL
int_f
-nh5ltget_attribute_info_c(hid_t_f *loc_id,
+h5ltget_attribute_info_c(hid_t_f *loc_id,
size_t_f *namelen,
_fcd name,
size_t_f *attrnamelen,
@@ -1182,7 +161,7 @@ nh5ltget_attribute_info_c(hid_t_f *loc_id,
HDF5_HL_F90CSTUBDLL
int_f
-nh5ltmake_dataset_string_c (hid_t_f *loc_id,
+h5ltmake_dataset_string_c (hid_t_f *loc_id,
size_t_f *namelen,
_fcd name,
size_t_f *buflen,
@@ -1190,14 +169,14 @@ nh5ltmake_dataset_string_c (hid_t_f *loc_id,
HDF5_HL_F90CSTUBDLL
int_f
-nh5ltread_dataset_string_c (hid_t_f *loc_id,
+h5ltread_dataset_string_c (hid_t_f *loc_id,
size_t_f *namelen,
_fcd name,
char *buf);
HDF5_HL_F90CSTUBDLL
int_f
-nh5ltpath_valid_c(hid_t_f *loc_id,
+h5ltpath_valid_c(hid_t_f *loc_id,
_fcd path,
size_t_f *pathlen,
int_f *check_object_valid_c);
@@ -1206,10 +185,9 @@ nh5ltpath_valid_c(hid_t_f *loc_id,
* Image
*-------------------------------------------------------------------------
*/
-
HDF5_HL_F90CSTUBDLL
int_f
-nh5immake_image_8bit_c (hid_t_f *loc_id,
+h5immake_image_8bit_c (hid_t_f *loc_id,
size_t_f *namelen,
_fcd name,
hsize_t_f *width,
@@ -1217,14 +195,14 @@ nh5immake_image_8bit_c (hid_t_f *loc_id,
int_f *buf);
HDF5_HL_F90CSTUBDLL
int_f
-nh5imread_image_c (hid_t_f *loc_id,
+h5imread_image_c (hid_t_f *loc_id,
size_t_f *namelen,
_fcd name,
int_f *buf);
HDF5_HL_F90CSTUBDLL
int_f
-nh5immake_image_24bit_c (hid_t_f *loc_id,
+h5immake_image_24bit_c (hid_t_f *loc_id,
size_t_f *namelen,
_fcd name,
size_t_f *ilen,
@@ -1234,7 +212,7 @@ nh5immake_image_24bit_c (hid_t_f *loc_id,
void *buf);
HDF5_HL_F90CSTUBDLL
int_f
-nh5imget_image_info_c(hid_t_f *loc_id,
+h5imget_image_info_c(hid_t_f *loc_id,
size_t_f *namelen,
_fcd name,
hsize_t_f *width,
@@ -1247,14 +225,14 @@ nh5imget_image_info_c(hid_t_f *loc_id,
HDF5_HL_F90CSTUBDLL
int_f
-nh5imis_image_c(hid_t_f *loc_id,
+h5imis_image_c(hid_t_f *loc_id,
size_t_f *namelen,
_fcd name);
HDF5_HL_F90CSTUBDLL
int_f
-nh5immake_palette_c (hid_t_f *loc_id,
+h5immake_palette_c (hid_t_f *loc_id,
size_t_f *namelen,
_fcd name,
hsize_t_f *dims,
@@ -1262,7 +240,7 @@ nh5immake_palette_c (hid_t_f *loc_id,
HDF5_HL_F90CSTUBDLL
int_f
-nh5imlink_palette_c (hid_t_f *loc_id,
+h5imlink_palette_c (hid_t_f *loc_id,
size_t_f *namelen,
_fcd name,
size_t_f *ilen,
@@ -1270,7 +248,7 @@ nh5imlink_palette_c (hid_t_f *loc_id,
HDF5_HL_F90CSTUBDLL
int_f
-nh5imunlink_palette_c (hid_t_f *loc_id,
+h5imunlink_palette_c (hid_t_f *loc_id,
size_t_f *namelen,
_fcd name,
size_t_f *ilen,
@@ -1278,7 +256,7 @@ nh5imunlink_palette_c (hid_t_f *loc_id,
HDF5_HL_F90CSTUBDLL
int_f
-nh5imget_npalettes_c(hid_t_f *loc_id,
+h5imget_npalettes_c(hid_t_f *loc_id,
size_t_f *namelen,
_fcd name,
hsize_t_f *npals);
@@ -1286,7 +264,7 @@ nh5imget_npalettes_c(hid_t_f *loc_id,
HDF5_HL_F90CSTUBDLL
int_f
-nh5imget_palette_info_c(hid_t_f *loc_id,
+h5imget_palette_info_c(hid_t_f *loc_id,
size_t_f *namelen,
_fcd name,
int_f *pal_number,
@@ -1294,7 +272,7 @@ nh5imget_palette_info_c(hid_t_f *loc_id,
HDF5_HL_F90CSTUBDLL
int_f
-nh5imget_palette_c(hid_t_f *loc_id,
+h5imget_palette_c(hid_t_f *loc_id,
size_t_f *namelen,
_fcd name,
int_f *pal_number,
@@ -1302,7 +280,7 @@ nh5imget_palette_c(hid_t_f *loc_id,
HDF5_HL_F90CSTUBDLL
int_f
-nh5imis_palette_c(hid_t_f *loc_id,
+h5imis_palette_c(hid_t_f *loc_id,
size_t_f *namelen,
_fcd name);
@@ -1315,7 +293,7 @@ nh5imis_palette_c(hid_t_f *loc_id,
HDF5_HL_F90CSTUBDLL
int_f
-nh5tbmake_table_c(size_t_f *namelen1,
+h5tbmake_table_c(size_t_f *namelen1,
_fcd name1,
hid_t_f *loc_id,
size_t_f *namelen,
@@ -1333,7 +311,7 @@ nh5tbmake_table_c(size_t_f *namelen1,
HDF5_HL_F90CSTUBDLL
int_f
-nh5tbwrite_field_name_c(hid_t_f *loc_id,
+h5tbwrite_field_name_c(hid_t_f *loc_id,
size_t_f *namelen,
_fcd name,
size_t_f *namelen1,
@@ -1343,57 +321,11 @@ nh5tbwrite_field_name_c(hid_t_f *loc_id,
size_t_f *type_size,
void *buf);
-HDF5_HL_F90CSTUBDLL
-int_f
-nh5tbwrite_field_name_int_c(hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- size_t_f *namelen1,
- _fcd field_name,
- hsize_t_f *start,
- hsize_t_f *nrecords,
- size_t_f *type_size,
- void *buf);
-
-HDF5_HL_F90CSTUBDLL
-int_f
-nh5tbwrite_field_name_fl_c(hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- size_t_f *namelen1,
- _fcd field_name,
- hsize_t_f *start,
- hsize_t_f *nrecords,
- size_t_f *type_size,
- void *buf);
-
-HDF5_HL_F90CSTUBDLL
-int_f
-nh5tbwrite_field_name_dl_c(hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- size_t_f *namelen1,
- _fcd field_name,
- hsize_t_f *start,
- hsize_t_f *nrecords,
- size_t_f *type_size,
- void *buf);
-HDF5_HL_F90CSTUBDLL
-int_f
-nh5tbwrite_field_name_st_c(hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- size_t_f *namelen1,
- _fcd field_name,
- hsize_t_f *start,
- hsize_t_f *nrecords,
- size_t_f *type_size,
- void *buf);
HDF5_HL_F90CSTUBDLL
int_f
-nh5tbread_field_name_c(hid_t_f *loc_id,
+h5tbread_field_name_c(hid_t_f *loc_id,
size_t_f *namelen,
_fcd name,
size_t_f *namelen1,
@@ -1403,57 +335,11 @@ nh5tbread_field_name_c(hid_t_f *loc_id,
size_t_f *type_size,
void *buf);
-HDF5_HL_F90CSTUBDLL
-int_f
-nh5tbread_field_name_int_c(hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- size_t_f *namelen1,
- _fcd field_name,
- hsize_t_f *start,
- hsize_t_f *nrecords,
- size_t_f *type_size,
- void *buf);
-
-HDF5_HL_F90CSTUBDLL
-int_f
-nh5tbread_field_name_fl_c(hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- size_t_f *namelen1,
- _fcd field_name,
- hsize_t_f *start,
- hsize_t_f *nrecords,
- size_t_f *type_size,
- void *buf);
-
-HDF5_HL_F90CSTUBDLL
-int_f
-nh5tbread_field_name_dl_c(hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- size_t_f *namelen1,
- _fcd field_name,
- hsize_t_f *start,
- hsize_t_f *nrecords,
- size_t_f *type_size,
- void *buf);
-HDF5_HL_F90CSTUBDLL
-int_f
-nh5tbread_field_name_st_c(hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- size_t_f *namelen1,
- _fcd field_name,
- hsize_t_f *start,
- hsize_t_f *nrecords,
- size_t_f *type_size,
- void *buf);
HDF5_HL_F90CSTUBDLL
int_f
-nh5tbwrite_field_index_c(hid_t_f *loc_id,
+h5tbwrite_field_index_c(hid_t_f *loc_id,
size_t_f *namelen,
_fcd name,
int_f *field_index,
@@ -1464,51 +350,7 @@ nh5tbwrite_field_index_c(hid_t_f *loc_id,
HDF5_HL_F90CSTUBDLL
int_f
-nh5tbwrite_field_index_int_c(hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- int_f *field_index,
- hsize_t_f *start,
- hsize_t_f *nrecords,
- size_t_f *type_size,
- void *buf);
-
-HDF5_HL_F90CSTUBDLL
-int_f
-nh5tbwrite_field_index_fl_c(hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- int_f *field_index,
- hsize_t_f *start,
- hsize_t_f *nrecords,
- size_t_f *type_size,
- void *buf);
-
-HDF5_HL_F90CSTUBDLL
-int_f
-nh5tbwrite_field_index_dl_c(hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- int_f *field_index,
- hsize_t_f *start,
- hsize_t_f *nrecords,
- size_t_f *type_size,
- void *buf);
-
-HDF5_HL_F90CSTUBDLL
-int_f
-nh5tbwrite_field_index_st_c(hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- int_f *field_index,
- hsize_t_f *start,
- hsize_t_f *nrecords,
- size_t_f *type_size,
- void *buf);
-
-HDF5_HL_F90CSTUBDLL
-int_f
-nh5tbread_field_index_c(hid_t_f *loc_id,
+h5tbread_field_index_c(hid_t_f *loc_id,
size_t_f *namelen,
_fcd name,
int_f *field_index,
@@ -1519,51 +361,7 @@ nh5tbread_field_index_c(hid_t_f *loc_id,
HDF5_HL_F90CSTUBDLL
int_f
-nh5tbread_field_index_int_c(hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- int_f *field_index,
- hsize_t_f *start,
- hsize_t_f *nrecords,
- size_t_f *type_size,
- void *buf);
-
-HDF5_HL_F90CSTUBDLL
-int_f
-nh5tbread_field_index_fl_c(hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- int_f *field_index,
- hsize_t_f *start,
- hsize_t_f *nrecords,
- size_t_f *type_size,
- void *buf);
-
-HDF5_HL_F90CSTUBDLL
-int_f
-nh5tbread_field_index_dl_c(hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- int_f *field_index,
- hsize_t_f *start,
- hsize_t_f *nrecords,
- size_t_f *type_size,
- void *buf);
-
-HDF5_HL_F90CSTUBDLL
-int_f
-nh5tbread_field_index_st_c(hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- int_f *field_index,
- hsize_t_f *start,
- hsize_t_f *nrecords,
- size_t_f *type_size,
- void *buf);
-
-HDF5_HL_F90CSTUBDLL
-int_f
-nh5tbinsert_field_c(hid_t_f *loc_id,
+h5tbinsert_field_c(hid_t_f *loc_id,
size_t_f *namelen,
_fcd name,
size_t_f *namelen1,
@@ -1574,47 +372,7 @@ nh5tbinsert_field_c(hid_t_f *loc_id,
HDF5_HL_F90CSTUBDLL
int_f
-nh5tbinsert_field_int_c(hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- size_t_f *namelen1,
- _fcd field_name,
- hid_t_f *field_type,
- int_f *position,
- void *buf);
-HDF5_HL_F90CSTUBDLL
-int_f
-nh5tbinsert_field_fl_c(hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- size_t_f *namelen1,
- _fcd field_name,
- hid_t_f *field_type,
- int_f *position,
- void *buf);
-HDF5_HL_F90CSTUBDLL
-int_f
-nh5tbinsert_field_dl_c(hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- size_t_f *namelen1,
- _fcd field_name,
- hid_t_f *field_type,
- int_f *position,
- void *buf);
-HDF5_HL_F90CSTUBDLL
-int_f
-nh5tbinsert_field_st_c(hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- size_t_f *namelen1,
- _fcd field_name,
- hid_t_f *field_type,
- int_f *position,
- void *buf);
-HDF5_HL_F90CSTUBDLL
-int_f
-nh5tbdelete_field_c(hid_t_f *loc_id,
+h5tbdelete_field_c(hid_t_f *loc_id,
size_t_f *namelen,
_fcd name,
size_t_f *namelen1,
@@ -1623,7 +381,7 @@ nh5tbdelete_field_c(hid_t_f *loc_id,
HDF5_HL_F90CSTUBDLL
int_f
-nh5tbget_table_info_c(hid_t_f *loc_id,
+h5tbget_table_info_c(hid_t_f *loc_id,
size_t_f *namelen,
_fcd name,
hsize_t_f *nfields,
@@ -1631,7 +389,7 @@ nh5tbget_table_info_c(hid_t_f *loc_id,
HDF5_HL_F90CSTUBDLL
int_f
-nh5tbget_field_info_c(hid_t_f *loc_id,
+h5tbget_field_info_c(hid_t_f *loc_id,
size_t_f *namelen,
_fcd name,
hsize_t_f *nfields,
diff --git a/hl/fortran/src/H5LTfc.c b/hl/fortran/src/H5LTfc.c
index 1e0a236..c955590 100644
--- a/hl/fortran/src/H5LTfc.c
+++ b/hl/fortran/src/H5LTfc.c
@@ -39,7 +39,7 @@
*/
int_f
-nh5ltmake_dataset_c (hid_t_f *loc_id,
+h5ltmake_dataset_c (hid_t_f *loc_id,
size_t_f *namelen,
_fcd name,
int_f *rank,
@@ -89,468 +89,6 @@ done:
return ret_value;
}
-int_f
-nh5ltmake_dataset_int1_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- int_f *rank,
- hsize_t_f *dims,
- hid_t_f *type_id,
- void *buf)
-{
- return nh5ltmake_dataset_c (loc_id, namelen, name, rank, dims, type_id, buf);
-}
-int_f
-nh5ltmake_dataset_int2_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- int_f *rank,
- hsize_t_f *dims,
- hid_t_f *type_id,
- void *buf)
-{
- return nh5ltmake_dataset_c (loc_id, namelen, name, rank, dims, type_id, buf);
-}
-int_f
-nh5ltmake_dataset_int3_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- int_f *rank,
- hsize_t_f *dims,
- hid_t_f *type_id,
- void *buf)
-{
- return nh5ltmake_dataset_c (loc_id, namelen, name, rank, dims, type_id, buf);
-}
-int_f
-nh5ltmake_dataset_int4_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- int_f *rank,
- hsize_t_f *dims,
- hid_t_f *type_id,
- void *buf)
-{
- return nh5ltmake_dataset_c (loc_id, namelen, name, rank, dims, type_id, buf);
-}
-int_f
-nh5ltmake_dataset_int5_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- int_f *rank,
- hsize_t_f *dims,
- hid_t_f *type_id,
- void *buf)
-{
- return nh5ltmake_dataset_c (loc_id, namelen, name, rank, dims, type_id, buf);
-}
-int_f
-nh5ltmake_dataset_int6_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- int_f *rank,
- hsize_t_f *dims,
- hid_t_f *type_id,
- void *buf)
-{
- return nh5ltmake_dataset_c (loc_id, namelen, name, rank, dims, type_id, buf);
-}
-int_f
-nh5ltmake_dataset_int7_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- int_f *rank,
- hsize_t_f *dims,
- hid_t_f *type_id,
- void *buf)
-{
- return nh5ltmake_dataset_c (loc_id, namelen, name, rank, dims, type_id, buf);
-}
-int_f
-nh5ltmake_dataset_fl1_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- int_f *rank,
- hsize_t_f *dims,
- hid_t_f *type_id,
- void *buf)
-{
- return nh5ltmake_dataset_c (loc_id, namelen, name, rank, dims, type_id, buf);
-}
-int_f
-nh5ltmake_dataset_fl2_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- int_f *rank,
- hsize_t_f *dims,
- hid_t_f *type_id,
- void *buf)
-{
- return nh5ltmake_dataset_c (loc_id, namelen, name, rank, dims, type_id, buf);
-}
-int_f
-nh5ltmake_dataset_fl3_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- int_f *rank,
- hsize_t_f *dims,
- hid_t_f *type_id,
- void *buf)
-{
- return nh5ltmake_dataset_c (loc_id, namelen, name, rank, dims, type_id, buf);
-}
-int_f
-nh5ltmake_dataset_fl4_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- int_f *rank,
- hsize_t_f *dims,
- hid_t_f *type_id,
- void *buf)
-{
- return nh5ltmake_dataset_c (loc_id, namelen, name, rank, dims, type_id, buf);
-}
-int_f
-nh5ltmake_dataset_fl5_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- int_f *rank,
- hsize_t_f *dims,
- hid_t_f *type_id,
- void *buf)
-{
- return nh5ltmake_dataset_c (loc_id, namelen, name, rank, dims, type_id, buf);
-}
-int_f
-nh5ltmake_dataset_fl6_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- int_f *rank,
- hsize_t_f *dims,
- hid_t_f *type_id,
- void *buf)
-{
- return nh5ltmake_dataset_c (loc_id, namelen, name, rank, dims, type_id, buf);
-}
-int_f
-nh5ltmake_dataset_fl7_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- int_f *rank,
- hsize_t_f *dims,
- hid_t_f *type_id,
- void *buf)
-{
- return nh5ltmake_dataset_c (loc_id, namelen, name, rank, dims, type_id, buf);
-}
-int_f
-nh5ltmake_dataset_dl1_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- int_f *rank,
- hsize_t_f *dims,
- hid_t_f *type_id,
- void *buf)
-{
- return nh5ltmake_dataset_c (loc_id, namelen, name, rank, dims, type_id, buf);
-}
-int_f
-nh5ltmake_dataset_dl2_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- int_f *rank,
- hsize_t_f *dims,
- hid_t_f *type_id,
- void *buf)
-{
- return nh5ltmake_dataset_c (loc_id, namelen, name, rank, dims, type_id, buf);
-}
-int_f
-nh5ltmake_dataset_dl3_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- int_f *rank,
- hsize_t_f *dims,
- hid_t_f *type_id,
- void *buf)
-{
- return nh5ltmake_dataset_c (loc_id, namelen, name, rank, dims, type_id, buf);
-}
-int_f
-nh5ltmake_dataset_dl4_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- int_f *rank,
- hsize_t_f *dims,
- hid_t_f *type_id,
- void *buf)
-{
- return nh5ltmake_dataset_c (loc_id, namelen, name, rank, dims, type_id, buf);
-}
-int_f
-nh5ltmake_dataset_dl5_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- int_f *rank,
- hsize_t_f *dims,
- hid_t_f *type_id,
- void *buf)
-{
- return nh5ltmake_dataset_c (loc_id, namelen, name, rank, dims, type_id, buf);
-}
-int_f
-nh5ltmake_dataset_dl6_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- int_f *rank,
- hsize_t_f *dims,
- hid_t_f *type_id,
- void *buf)
-{
- return nh5ltmake_dataset_c (loc_id, namelen, name, rank, dims, type_id, buf);
-}
-int_f
-nh5ltmake_dataset_dl7_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- int_f *rank,
- hsize_t_f *dims,
- hid_t_f *type_id,
- void *buf)
-{
- return nh5ltmake_dataset_c (loc_id, namelen, name, rank, dims, type_id, buf);
-}
-int_f
-nh5ltmake_dataset_nint1_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- int_f *rank,
- hsize_t_f *dims,
- hid_t_f *type_id,
- void *buf)
-{
- return nh5ltmake_dataset_c (loc_id, namelen, name, rank, dims, type_id, buf);
-}
-int_f
-nh5ltmake_dataset_nint2_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- int_f *rank,
- hsize_t_f *dims,
- hid_t_f *type_id,
- void *buf)
-{
- return nh5ltmake_dataset_c (loc_id, namelen, name, rank, dims, type_id, buf);
-}
-int_f
-nh5ltmake_dataset_nint3_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- int_f *rank,
- hsize_t_f *dims,
- hid_t_f *type_id,
- void *buf)
-{
- return nh5ltmake_dataset_c (loc_id, namelen, name, rank, dims, type_id, buf);
-}
-int_f
-nh5ltmake_dataset_nint4_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- int_f *rank,
- hsize_t_f *dims,
- hid_t_f *type_id,
- void *buf)
-{
- return nh5ltmake_dataset_c (loc_id, namelen, name, rank, dims, type_id, buf);
-}
-int_f
-nh5ltmake_dataset_nint5_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- int_f *rank,
- hsize_t_f *dims,
- hid_t_f *type_id,
- void *buf)
-{
- return nh5ltmake_dataset_c (loc_id, namelen, name, rank, dims, type_id, buf);
-}
-int_f
-nh5ltmake_dataset_nint6_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- int_f *rank,
- hsize_t_f *dims,
- hid_t_f *type_id,
- void *buf)
-{
- return nh5ltmake_dataset_c (loc_id, namelen, name, rank, dims, type_id, buf);
-}
-int_f
-nh5ltmake_dataset_nint7_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- int_f *rank,
- hsize_t_f *dims,
- hid_t_f *type_id,
- void *buf)
-{
- return nh5ltmake_dataset_c (loc_id, namelen, name, rank, dims, type_id, buf);
-}
-int_f
-nh5ltmake_dataset_nfl1_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- int_f *rank,
- hsize_t_f *dims,
- hid_t_f *type_id,
- void *buf)
-{
- return nh5ltmake_dataset_c (loc_id, namelen, name, rank, dims, type_id, buf);
-}
-int_f
-nh5ltmake_dataset_nfl2_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- int_f *rank,
- hsize_t_f *dims,
- hid_t_f *type_id,
- void *buf)
-{
- return nh5ltmake_dataset_c (loc_id, namelen, name, rank, dims, type_id, buf);
-}
-int_f
-nh5ltmake_dataset_nfl3_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- int_f *rank,
- hsize_t_f *dims,
- hid_t_f *type_id,
- void *buf)
-{
- return nh5ltmake_dataset_c (loc_id, namelen, name, rank, dims, type_id, buf);
-}
-int_f
-nh5ltmake_dataset_nfl4_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- int_f *rank,
- hsize_t_f *dims,
- hid_t_f *type_id,
- void *buf)
-{
- return nh5ltmake_dataset_c (loc_id, namelen, name, rank, dims, type_id, buf);
-}
-int_f
-nh5ltmake_dataset_nfl5_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- int_f *rank,
- hsize_t_f *dims,
- hid_t_f *type_id,
- void *buf)
-{
- return nh5ltmake_dataset_c (loc_id, namelen, name, rank, dims, type_id, buf);
-}
-int_f
-nh5ltmake_dataset_nfl6_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- int_f *rank,
- hsize_t_f *dims,
- hid_t_f *type_id,
- void *buf)
-{
- return nh5ltmake_dataset_c (loc_id, namelen, name, rank, dims, type_id, buf);
-}
-int_f
-nh5ltmake_dataset_nfl7_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- int_f *rank,
- hsize_t_f *dims,
- hid_t_f *type_id,
- void *buf)
-{
- return nh5ltmake_dataset_c (loc_id, namelen, name, rank, dims, type_id, buf);
-}
-int_f
-nh5ltmake_dataset_ndl1_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- int_f *rank,
- hsize_t_f *dims,
- hid_t_f *type_id,
- void *buf)
-{
- return nh5ltmake_dataset_c (loc_id, namelen, name, rank, dims, type_id, buf);
-}
-int_f
-nh5ltmake_dataset_ndl2_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- int_f *rank,
- hsize_t_f *dims,
- hid_t_f *type_id,
- void *buf)
-{
- return nh5ltmake_dataset_c (loc_id, namelen, name, rank, dims, type_id, buf);
-}
-int_f
-nh5ltmake_dataset_ndl3_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- int_f *rank,
- hsize_t_f *dims,
- hid_t_f *type_id,
- void *buf)
-{
- return nh5ltmake_dataset_c (loc_id, namelen, name, rank, dims, type_id, buf);
-}
-int_f
-nh5ltmake_dataset_ndl4_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- int_f *rank,
- hsize_t_f *dims,
- hid_t_f *type_id,
- void *buf)
-{
- return nh5ltmake_dataset_c (loc_id, namelen, name, rank, dims, type_id, buf);
-}
-int_f
-nh5ltmake_dataset_ndl5_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- int_f *rank,
- hsize_t_f *dims,
- hid_t_f *type_id,
- void *buf)
-{
- return nh5ltmake_dataset_c (loc_id, namelen, name, rank, dims, type_id, buf);
-}
-int_f
-nh5ltmake_dataset_ndl6_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- int_f *rank,
- hsize_t_f *dims,
- hid_t_f *type_id,
- void *buf)
-{
- return nh5ltmake_dataset_c (loc_id, namelen, name, rank, dims, type_id, buf);
-}
-int_f
-nh5ltmake_dataset_ndl7_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- int_f *rank,
- hsize_t_f *dims,
- hid_t_f *type_id,
- void *buf)
-{
- return nh5ltmake_dataset_c (loc_id, namelen, name, rank, dims, type_id, buf);
-}
/*-------------------------------------------------------------------------
* Function: H5LTread_dataset_c
*
@@ -571,12 +109,11 @@ nh5ltmake_dataset_ndl7_c (hid_t_f *loc_id,
*/
int_f
-nh5ltread_dataset_c (hid_t_f *loc_id,
+h5ltread_dataset_c (hid_t_f *loc_id,
size_t_f *namelen,
_fcd name,
hid_t_f *type_id,
- void *buf,
- hsize_t_f *dims)
+ void *buf)
{
int ret_value = -1;
herr_t ret;
@@ -611,426 +148,6 @@ done:
return ret_value;
}
-int_f
-nh5ltread_dataset_int1_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- hid_t_f *type_id,
- void *buf,
- hsize_t_f *dims)
-{
- return nh5ltread_dataset_c(loc_id, namelen, name, type_id, buf, dims);
-}
-int_f
-nh5ltread_dataset_int2_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- hid_t_f *type_id,
- void *buf,
- hsize_t_f *dims)
-{
- return nh5ltread_dataset_c(loc_id, namelen, name, type_id, buf, dims);
-}
-int_f
-nh5ltread_dataset_int3_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- hid_t_f *type_id,
- void *buf,
- hsize_t_f *dims)
-{
- return nh5ltread_dataset_c(loc_id, namelen, name, type_id, buf, dims);
-}
-int_f
-nh5ltread_dataset_int4_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- hid_t_f *type_id,
- void *buf,
- hsize_t_f *dims)
-{
- return nh5ltread_dataset_c(loc_id, namelen, name, type_id, buf, dims);
-}
-int_f
-nh5ltread_dataset_int5_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- hid_t_f *type_id,
- void *buf,
- hsize_t_f *dims)
-{
- return nh5ltread_dataset_c(loc_id, namelen, name, type_id, buf, dims);
-}
-int_f
-nh5ltread_dataset_int6_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- hid_t_f *type_id,
- void *buf,
- hsize_t_f *dims)
-{
- return nh5ltread_dataset_c(loc_id, namelen, name, type_id, buf, dims);
-}
-int_f
-nh5ltread_dataset_int7_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- hid_t_f *type_id,
- void *buf,
- hsize_t_f *dims)
-{
- return nh5ltread_dataset_c(loc_id, namelen, name, type_id, buf, dims);
-}
-int_f
-nh5ltread_dataset_fl1_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- hid_t_f *type_id,
- void *buf,
- hsize_t_f *dims)
-{
- return nh5ltread_dataset_c(loc_id, namelen, name, type_id, buf, dims);
-}
-int_f
-nh5ltread_dataset_fl2_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- hid_t_f *type_id,
- void *buf,
- hsize_t_f *dims)
-{
- return nh5ltread_dataset_c(loc_id, namelen, name, type_id, buf, dims);
-}
-int_f
-nh5ltread_dataset_fl3_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- hid_t_f *type_id,
- void *buf,
- hsize_t_f *dims)
-{
- return nh5ltread_dataset_c(loc_id, namelen, name, type_id, buf, dims);
-}
-int_f
-nh5ltread_dataset_fl4_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- hid_t_f *type_id,
- void *buf,
- hsize_t_f *dims)
-{
- return nh5ltread_dataset_c(loc_id, namelen, name, type_id, buf, dims);
-}
-int_f
-nh5ltread_dataset_fl5_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- hid_t_f *type_id,
- void *buf,
- hsize_t_f *dims)
-{
- return nh5ltread_dataset_c(loc_id, namelen, name, type_id, buf, dims);
-}
-int_f
-nh5ltread_dataset_fl6_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- hid_t_f *type_id,
- void *buf,
- hsize_t_f *dims)
-{
- return nh5ltread_dataset_c(loc_id, namelen, name, type_id, buf, dims);
-}
-int_f
-nh5ltread_dataset_fl7_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- hid_t_f *type_id,
- void *buf,
- hsize_t_f *dims)
-{
- return nh5ltread_dataset_c(loc_id, namelen, name, type_id, buf, dims);
-}
-int_f
-nh5ltread_dataset_dl1_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- hid_t_f *type_id,
- void *buf,
- hsize_t_f *dims)
-{
- return nh5ltread_dataset_c(loc_id, namelen, name, type_id, buf, dims);
-}
-int_f
-nh5ltread_dataset_dl2_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- hid_t_f *type_id,
- void *buf,
- hsize_t_f *dims)
-{
- return nh5ltread_dataset_c(loc_id, namelen, name, type_id, buf, dims);
-}
-int_f
-nh5ltread_dataset_dl3_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- hid_t_f *type_id,
- void *buf,
- hsize_t_f *dims)
-{
- return nh5ltread_dataset_c(loc_id, namelen, name, type_id, buf, dims);
-}
-int_f
-nh5ltread_dataset_dl4_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- hid_t_f *type_id,
- void *buf,
- hsize_t_f *dims)
-{
- return nh5ltread_dataset_c(loc_id, namelen, name, type_id, buf, dims);
-}
-int_f
-nh5ltread_dataset_dl5_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- hid_t_f *type_id,
- void *buf,
- hsize_t_f *dims)
-{
- return nh5ltread_dataset_c(loc_id, namelen, name, type_id, buf, dims);
-}
-int_f
-nh5ltread_dataset_dl6_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- hid_t_f *type_id,
- void *buf,
- hsize_t_f *dims)
-{
- return nh5ltread_dataset_c(loc_id, namelen, name, type_id, buf, dims);
-}
-int_f
-nh5ltread_dataset_dl7_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- hid_t_f *type_id,
- void *buf,
- hsize_t_f *dims)
-{
- return nh5ltread_dataset_c(loc_id, namelen, name, type_id, buf, dims);
-}
-int_f
-nh5ltread_dataset_nint1_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- hid_t_f *type_id,
- void *buf,
- hsize_t_f *dims)
-{
- return nh5ltread_dataset_c(loc_id, namelen, name, type_id, buf, dims);
-}
-int_f
-nh5ltread_dataset_nint2_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- hid_t_f *type_id,
- void *buf,
- hsize_t_f *dims)
-{
- return nh5ltread_dataset_c(loc_id, namelen, name, type_id, buf, dims);
-}
-int_f
-nh5ltread_dataset_nint3_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- hid_t_f *type_id,
- void *buf,
- hsize_t_f *dims)
-{
- return nh5ltread_dataset_c(loc_id, namelen, name, type_id, buf, dims);
-}
-int_f
-nh5ltread_dataset_nint4_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- hid_t_f *type_id,
- void *buf,
- hsize_t_f *dims)
-{
- return nh5ltread_dataset_c(loc_id, namelen, name, type_id, buf, dims);
-}
-int_f
-nh5ltread_dataset_nint5_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- hid_t_f *type_id,
- void *buf,
- hsize_t_f *dims)
-{
- return nh5ltread_dataset_c(loc_id, namelen, name, type_id, buf, dims);
-}
-int_f
-nh5ltread_dataset_nint6_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- hid_t_f *type_id,
- void *buf,
- hsize_t_f *dims)
-{
- return nh5ltread_dataset_c(loc_id, namelen, name, type_id, buf, dims);
-}
-int_f
-nh5ltread_dataset_nint7_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- hid_t_f *type_id,
- void *buf,
- hsize_t_f *dims)
-{
- return nh5ltread_dataset_c(loc_id, namelen, name, type_id, buf, dims);
-}
-int_f
-nh5ltread_dataset_nfl1_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- hid_t_f *type_id,
- void *buf,
- hsize_t_f *dims)
-{
- return nh5ltread_dataset_c(loc_id, namelen, name, type_id, buf, dims);
-}
-int_f
-nh5ltread_dataset_nfl2_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- hid_t_f *type_id,
- void *buf,
- hsize_t_f *dims)
-{
- return nh5ltread_dataset_c(loc_id, namelen, name, type_id, buf, dims);
-}
-int_f
-nh5ltread_dataset_nfl3_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- hid_t_f *type_id,
- void *buf,
- hsize_t_f *dims)
-{
- return nh5ltread_dataset_c(loc_id, namelen, name, type_id, buf, dims);
-}
-int_f
-nh5ltread_dataset_nfl4_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- hid_t_f *type_id,
- void *buf,
- hsize_t_f *dims)
-{
- return nh5ltread_dataset_c(loc_id, namelen, name, type_id, buf, dims);
-}
-int_f
-nh5ltread_dataset_nfl5_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- hid_t_f *type_id,
- void *buf,
- hsize_t_f *dims)
-{
- return nh5ltread_dataset_c(loc_id, namelen, name, type_id, buf, dims);
-}
-int_f
-nh5ltread_dataset_nfl6_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- hid_t_f *type_id,
- void *buf,
- hsize_t_f *dims)
-{
- return nh5ltread_dataset_c(loc_id, namelen, name, type_id, buf, dims);
-}
-int_f
-nh5ltread_dataset_nfl7_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- hid_t_f *type_id,
- void *buf,
- hsize_t_f *dims)
-{
- return nh5ltread_dataset_c(loc_id, namelen, name, type_id, buf, dims);
-}
-int_f
-nh5ltread_dataset_ndl1_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- hid_t_f *type_id,
- void *buf,
- hsize_t_f *dims)
-{
- return nh5ltread_dataset_c(loc_id, namelen, name, type_id, buf, dims);
-}
-int_f
-nh5ltread_dataset_ndl2_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- hid_t_f *type_id,
- void *buf,
- hsize_t_f *dims)
-{
- return nh5ltread_dataset_c(loc_id, namelen, name, type_id, buf, dims);
-}
-int_f
-nh5ltread_dataset_ndl3_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- hid_t_f *type_id,
- void *buf,
- hsize_t_f *dims)
-{
- return nh5ltread_dataset_c(loc_id, namelen, name, type_id, buf, dims);
-}
-int_f
-nh5ltread_dataset_ndl4_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- hid_t_f *type_id,
- void *buf,
- hsize_t_f *dims)
-{
- return nh5ltread_dataset_c(loc_id, namelen, name, type_id, buf, dims);
-}
-int_f
-nh5ltread_dataset_ndl5_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- hid_t_f *type_id,
- void *buf,
- hsize_t_f *dims)
-{
- return nh5ltread_dataset_c(loc_id, namelen, name, type_id, buf, dims);
-}
-int_f
-nh5ltread_dataset_ndl6_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- hid_t_f *type_id,
- void *buf,
- hsize_t_f *dims)
-{
- return nh5ltread_dataset_c(loc_id, namelen, name, type_id, buf, dims);
-}
-int_f
-nh5ltread_dataset_ndl7_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- hid_t_f *type_id,
- void *buf,
- hsize_t_f *dims)
-{
- return nh5ltread_dataset_c(loc_id, namelen, name, type_id, buf, dims);
-}
/*-------------------------------------------------------------------------
* Function: H5LTmake_dataset_string_c
*
@@ -1051,7 +168,7 @@ nh5ltread_dataset_ndl7_c (hid_t_f *loc_id,
*/
int_f
-nh5ltmake_dataset_string_c (hid_t_f *loc_id,
+h5ltmake_dataset_string_c (hid_t_f *loc_id,
size_t_f *namelen,
_fcd name,
size_t_f *buflen,
@@ -1116,7 +233,7 @@ done:
*/
int_f
-nh5ltread_dataset_string_c (hid_t_f *loc_id,
+h5ltread_dataset_string_c (hid_t_f *loc_id,
size_t_f *namelen,
_fcd name,
char *buf)
@@ -1152,8 +269,6 @@ done:
return ret_value;
}
-
-
/*-------------------------------------------------------------------------
* Function: H5LTset_attribute_int_c
*
@@ -1174,19 +289,20 @@ done:
*/
int_f
-nh5ltset_attribute_int_c(hid_t_f *loc_id,
+h5ltset_attribute_c(hid_t_f *loc_id,
size_t_f *namelen,
_fcd dsetname,
size_t_f *attrnamelen,
_fcd attrname,
size_t_f *size,
- void *buf)
+ void *buf, char *dtype, size_t_f *sizeof_val)
{
int ret_value = -1;
herr_t ret;
hid_t c_loc_id;
char *c_name = NULL;
char *c_attrname = NULL;
+ char *c_buf = NULL;
size_t c_size;
/*
@@ -1206,17 +322,36 @@ nh5ltset_attribute_int_c(hid_t_f *loc_id,
c_loc_id = (hid_t)*loc_id;
c_size = (size_t)*size;
- if (sizeof(int_f) == sizeof(int))
- ret = H5LTset_attribute_int(c_loc_id,c_name,c_attrname,(const int *)buf,c_size);
- else if (sizeof(int_f) == sizeof(long))
- ret = H5LTset_attribute_long(c_loc_id,c_name,c_attrname,(const long *)buf,c_size);
- else if (sizeof(int_f) == sizeof(long long))
- ret = H5LTset_attribute_long_long(c_loc_id,c_name,c_attrname,(const long long *)buf,c_size);
- else
- goto done;
-
+ if( HDstrncmp(dtype,"I",1) == 0 ) {
+ if ((size_t)*sizeof_val == sizeof(int))
+ ret = H5LT_set_attribute_numerical(c_loc_id,c_name,c_attrname, c_size, H5T_NATIVE_INT, (const int *)buf);
+ else if ((size_t)*sizeof_val == sizeof(long))
+ ret = H5LT_set_attribute_numerical(c_loc_id,c_name,c_attrname, c_size, H5T_NATIVE_LONG, (const long *)buf);
+ else if ((size_t)*sizeof_val == sizeof(long long))
+ ret = H5LT_set_attribute_numerical(c_loc_id,c_name,c_attrname, c_size, H5T_NATIVE_LLONG, (const long long *)buf);
+ else
+ goto done;
+ } else if ( HDstrncmp(dtype,"R",1) == 0 ) {
+ if((size_t)*sizeof_val == sizeof(float))
+ ret = H5LT_set_attribute_numerical(c_loc_id,c_name,c_attrname, c_size, H5T_NATIVE_FLOAT, (const float *)buf);
+ else if((size_t)*sizeof_val == sizeof(double))
+ ret = H5LT_set_attribute_numerical(c_loc_id,c_name,c_attrname, c_size, H5T_NATIVE_DOUBLE, (const double *)buf);
+#if H5_SIZEOF_LONG_DOUBLE !=0
+ else if((size_t)*sizeof_val == sizeof(long double))
+ ret = H5LT_set_attribute_numerical(c_loc_id,c_name,c_attrname, c_size, H5T_NATIVE_LDOUBLE, (const long double *)buf);
+#endif
+ else
+ goto done;
+ } else if ( HDstrncmp(dtype,"C",1) == 0 ) {
+
+ c_buf = (char *)HD5f2cstring((_fcd)buf, c_size);
+ if (c_buf == NULL)
+ goto done;
+
+ ret = H5LTset_attribute_string(c_loc_id,c_name,c_attrname,c_buf);
+ }
if (ret < 0)
- goto done;
+ goto done;
ret_value = 0;
@@ -1225,217 +360,6 @@ done:
HDfree(c_name);
if(c_attrname!=NULL)
HDfree(c_attrname);
-
- return ret_value;
-}
-
-/*-------------------------------------------------------------------------
-* Function: H5LTset_attribute_float_c
-*
-* Purpose: Call H5LTset_attribute_float
-*
-* Return: Success: 0, Failure: -1
-*
-* Programmer: pvn@ncsa.uiuc.edu
-*
-* Date: October 05, 2004
-*
-* Comments:
-*
-* Modifications:
-*
-*
-*-------------------------------------------------------------------------
-*/
-
-int_f
-nh5ltset_attribute_float_c(hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd dsetname,
- size_t_f *attrnamelen,
- _fcd attrname,
- size_t_f *size,
- void *buf)
-{
- int ret_value = -1;
- herr_t ret;
- hid_t c_loc_id;
- char *c_name = NULL;
- char *c_attrname = NULL;
- size_t c_size;
-
- /*
- * convert FORTRAN name to C name
- */
- c_name = (char *)HD5f2cstring(dsetname, (size_t)*namelen);
- if (c_name == NULL)
- goto done;
-
- c_attrname = (char *)HD5f2cstring(attrname, (size_t)*attrnamelen);
- if (c_attrname == NULL)
- goto done;
-
- /*
- * Call H5LTset_attribute_float function.
- */
- c_loc_id = (hid_t)*loc_id;
- c_size = (size_t)*size;
-
- ret = H5LTset_attribute_float(c_loc_id,c_name,c_attrname,(float *)buf,c_size);
-
- if (ret < 0)
- goto done;
-
- ret_value = 0;
-
-done:
- if(c_name!=NULL)
- HDfree(c_name);
- if(c_attrname!=NULL)
- HDfree(c_attrname);
-
- return ret_value;
-}
-
-
-/*-------------------------------------------------------------------------
-* Function: H5LTset_attribute_double_c
-*
-* Purpose: Call H5LTset_attribute_double
-*
-* Return: Success: 0, Failure: -1
-*
-* Programmer: pvn@ncsa.uiuc.edu
-*
-* Date: October 05, 2004
-*
-* Comments:
-*
-* Modifications:
-*
-*
-*-------------------------------------------------------------------------
-*/
-
-int_f
-nh5ltset_attribute_double_c(hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd dsetname,
- size_t_f *attrnamelen,
- _fcd attrname,
- size_t_f *size,
- void *buf)
-{
- int ret_value = -1;
- herr_t ret;
- hid_t c_loc_id;
- char *c_name = NULL;
- char *c_attrname = NULL;
- size_t c_size;
-
- /*
- * Convert FORTRAN name to C name
- */
- c_name = (char *)HD5f2cstring(dsetname, (size_t)*namelen);
- if (c_name == NULL)
- goto done;
-
- c_attrname = (char *)HD5f2cstring(attrname, (size_t)*attrnamelen);
- if (c_attrname == NULL)
- goto done;
-
- /*
- * Call H5LTset_attribute_double function.
- */
- c_loc_id = (hid_t)*loc_id;
- c_size = (size_t)*size;
-
- ret = H5LTset_attribute_double(c_loc_id,c_name,c_attrname,(double *)buf,c_size);
-
- if (ret < 0)
- goto done;
-
- ret_value = 0;
-
-
-done:
- if(c_name!=NULL)
- HDfree(c_name);
- if(c_attrname!=NULL)
- HDfree(c_attrname);
-
- return ret_value;
-}
-
-/*-------------------------------------------------------------------------
-* Function: H5LTset_attribute_string_c
-*
-* Purpose: Call H5LTset_attribute_string
-*
-* Return: Success: 0, Failure: -1
-*
-* Programmer: pvn@ncsa.uiuc.edu
-*
-* Date: October 05, 2004
-*
-* Comments:
-*
-* Modifications:
-*
-*
-*-------------------------------------------------------------------------
-*/
-
-int_f
-nh5ltset_attribute_string_c(hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd dsetname,
- size_t_f *attrnamelen,
- _fcd attrname,
- size_t_f *buflen,
- void *buf)
-{
- int ret_value = -1;
- herr_t ret;
- hid_t c_loc_id;
- char *c_name = NULL;
- char *c_attrname = NULL;
- char *c_buf = NULL;
-
- /*
- * convert FORTRAN name to C name
- */
- c_name = (char *)HD5f2cstring(dsetname, (size_t)*namelen);
- if (c_name == NULL)
- goto done;
-
- c_attrname = (char *)HD5f2cstring(attrname, (size_t)*attrnamelen);
- if (c_attrname == NULL)
- goto done;
-
- c_buf = (char *)HD5f2cstring((_fcd)buf, (size_t)*buflen);
- if (c_buf == NULL)
- goto done;
-
-
- /*
- * call H5LTset_attribute_string function.
- */
- c_loc_id = (hid_t)*loc_id;
-
- ret = H5LTset_attribute_string(c_loc_id,c_name,c_attrname,c_buf);
-
- if (ret < 0)
- goto done;
-
- ret_value = 0;
-
-
-done:
- if(c_name!=NULL)
- HDfree(c_name);
- if(c_attrname!=NULL)
- HDfree(c_attrname);
if(c_buf!=NULL)
HDfree(c_buf);
@@ -1443,7 +367,7 @@ done:
}
/*-------------------------------------------------------------------------
-* Function: H5LTget_attribute_int_c
+* Function: H5LTget_attribute_c
*
* Purpose: Call H5LTget_attribute_int
*
@@ -1462,12 +386,12 @@ done:
*/
int_f
-nh5ltget_attribute_int_c(hid_t_f *loc_id,
+h5ltget_attribute_c(hid_t_f *loc_id,
size_t_f *namelen,
_fcd dsetname,
size_t_f *attrnamelen,
_fcd attrname,
- void *buf)
+ void *buf, char *dtype, size_t_f *sizeof_val)
{
int ret_value = -1;
herr_t ret;
@@ -1491,153 +415,33 @@ nh5ltget_attribute_int_c(hid_t_f *loc_id,
*/
c_loc_id = (hid_t)*loc_id;
- if(sizeof(int_f) == sizeof(int))
- ret = H5LTget_attribute_int(c_loc_id,c_name,c_attrname,(int *)buf);
- else if (sizeof(int_f) == sizeof(long))
- ret = H5LTget_attribute_long(c_loc_id,c_name,c_attrname,(long *)buf);
- else if (sizeof(int_f) == sizeof(long long))
- ret = H5LTget_attribute_long_long(c_loc_id,c_name,c_attrname,(long long *)buf);
- else
- goto done;
-
- if (ret < 0)
+ if( HDstrncmp(dtype,"I",1) == 0) {
+ if((size_t)*sizeof_val == sizeof(int))
+ ret = H5LTget_attribute(c_loc_id,c_name,c_attrname,H5T_NATIVE_INT,buf);
+ else if ((size_t)*sizeof_val == sizeof(long))
+ ret = H5LTget_attribute(c_loc_id,c_name,c_attrname,H5T_NATIVE_LONG,buf);
+ else if ((size_t)*sizeof_val == sizeof(long long))
+ ret = H5LTget_attribute(c_loc_id,c_name,c_attrname,H5T_NATIVE_LLONG,buf);
+ else
+ goto done;
+ } else if ( HDstrncmp(dtype,"R",1) == 0 ) {
+ if((size_t)*sizeof_val == sizeof(float))
+ ret = H5LTget_attribute(c_loc_id,c_name,c_attrname,H5T_NATIVE_FLOAT,buf);
+ else if((size_t)*sizeof_val == sizeof(double))
+ ret = H5LTget_attribute(c_loc_id,c_name,c_attrname,H5T_NATIVE_DOUBLE,buf);
+#if H5_SIZEOF_LONG_DOUBLE !=0
+ else if((size_t)*sizeof_val == sizeof(long double))
+ ret = H5LTget_attribute(c_loc_id,c_name,c_attrname,H5T_NATIVE_LDOUBLE,buf);
+#endif
+ else
goto done;
-
- ret_value = 0;
-
-done:
- if(c_name!=NULL)
- HDfree(c_name);
- if(c_attrname!=NULL)
- HDfree(c_attrname);
-
-
- return ret_value;
-}
-
-
-/*-------------------------------------------------------------------------
-* Function: H5LTget_attribute_float_c
-*
-* Purpose: Call H5LTget_attribute_float
-*
-* Return: Success: 0, Failure: -1
-*
-* Programmer: pvn@ncsa.uiuc.edu
-*
-* Date: October 05, 2004
-*
-* Comments:
-*
-* Modifications:
-*
-*
-*-------------------------------------------------------------------------
-*/
-
-int_f
-nh5ltget_attribute_float_c(hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd dsetname,
- size_t_f *attrnamelen,
- _fcd attrname,
- void *buf)
-{
- int ret_value = -1;
- herr_t ret;
- hid_t c_loc_id;
- char *c_name = NULL;
- char *c_attrname = NULL;
-
- /*
- * convert FORTRAN name to C name
- */
- c_name = (char *)HD5f2cstring(dsetname, (size_t)*namelen);
- if (c_name == NULL)
- goto done;
-
- c_attrname = (char *)HD5f2cstring(attrname, (size_t)*attrnamelen);
- if (c_attrname == NULL)
- goto done;
-
- /*
- * call H5LTget_attribute_int function.
- */
- c_loc_id = (hid_t)*loc_id;
-
- ret = H5LTget_attribute_float(c_loc_id,c_name,c_attrname,(float*)buf);
-
- if (ret < 0)
- goto done;
-
- ret_value = 0;
-
-done:
- if(c_name!=NULL)
- HDfree(c_name);
- if(c_attrname!=NULL)
- HDfree(c_attrname);
-
- return ret_value;
-}
-
-/*-------------------------------------------------------------------------
-* Function: H5LTget_attribute_double_c
-*
-* Purpose: Call H5LTget_attribute_double
-*
-* Return: Success: 0, Failure: -1
-*
-* Programmer: pvn@ncsa.uiuc.edu
-*
-* Date: October 05, 2004
-*
-* Comments:
-*
-* Modifications:
-*
-*
-*-------------------------------------------------------------------------
-*/
-
-int_f
-nh5ltget_attribute_double_c(hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd dsetname,
- size_t_f *attrnamelen,
- _fcd attrname,
- void *buf)
-{
- int ret_value = -1;
- herr_t ret;
- hid_t c_loc_id;
- char *c_name = NULL;
- char *c_attrname = NULL;
-
- /*
- * convert FORTRAN name to C name
- */
- c_name = (char *)HD5f2cstring(dsetname, (size_t)*namelen);
- if (c_name == NULL)
- goto done;
-
- c_attrname = (char *)HD5f2cstring(attrname, (size_t)*attrnamelen);
- if (c_attrname == NULL)
- goto done;
-
- /*
- * call H5LTget_attribute_int function.
- */
- c_loc_id = (hid_t)*loc_id;
-
- ret = H5LTget_attribute_double(c_loc_id,c_name,c_attrname,(double *)buf);
-
+ }
+
if (ret < 0)
goto done;
ret_value = 0;
-
done:
if(c_name!=NULL)
HDfree(c_name);
@@ -1667,7 +471,7 @@ done:
*/
int_f
-nh5ltget_attribute_string_c(hid_t_f *loc_id,
+h5ltget_attribute_string_c(hid_t_f *loc_id,
size_t_f *namelen,
_fcd dsetname,
size_t_f *attrnamelen,
@@ -1742,7 +546,7 @@ done:
*/
int_f
-nh5ltget_dataset_ndims_c(hid_t_f *loc_id,
+h5ltget_dataset_ndims_c(hid_t_f *loc_id,
size_t_f *namelen,
_fcd name,
int_f *rank)
@@ -1802,7 +606,7 @@ done:
*/
int_f
-nh5ltfind_dataset_c(hid_t_f *loc_id,
+h5ltfind_dataset_c(hid_t_f *loc_id,
size_t_f *namelen,
_fcd name)
{
@@ -1850,7 +654,7 @@ nh5ltfind_dataset_c(hid_t_f *loc_id,
*/
int_f
-nh5ltget_dataset_info_c(hid_t_f *loc_id,
+h5ltget_dataset_info_c(hid_t_f *loc_id,
size_t_f *namelen,
_fcd name,
hsize_t_f *dims,
@@ -1929,7 +733,7 @@ done:
*/
int_f
-nh5ltget_attribute_ndims_c(hid_t_f *loc_id,
+h5ltget_attribute_ndims_c(hid_t_f *loc_id,
size_t_f *namelen,
_fcd dsetname,
size_t_f *attrnamelen,
@@ -1998,7 +802,7 @@ done:
*/
int_f
-nh5ltget_attribute_info_c(hid_t_f *loc_id,
+h5ltget_attribute_info_c(hid_t_f *loc_id,
size_t_f *namelen,
_fcd name,
size_t_f *attrnamelen,
@@ -2087,7 +891,7 @@ done:
*/
int_f
-nh5ltpath_valid_c(hid_t_f *loc_id,
+h5ltpath_valid_c(hid_t_f *loc_id,
_fcd path,
size_t_f *pathlen,
int_f *check_object_valid_c)
diff --git a/hl/fortran/src/H5LTff.F90 b/hl/fortran/src/H5LTff.F90
new file mode 100644
index 0000000..ffc7ab5
--- /dev/null
+++ b/hl/fortran/src/H5LTff.F90
@@ -0,0 +1,1912 @@
+! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+! Copyright by The HDF Group. *
+! Copyright by the Board of Trustees of the University of Illinois. *
+! All rights reserved. *
+! *
+! This file is part of HDF5. The full HDF5 copyright notice, including *
+! terms governing use, modification, and redistribution, is contained in *
+! the files COPYING and Copyright.html. COPYING can be found at the root *
+! of the source code distribution tree; Copyright.html can be found at the *
+! root level of an installed copy of the electronic HDF5 document set and *
+! is linked from the top-level documents page. It can also be found at *
+! http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have *
+! access to either file, you may request a copy from help@hdfgroup.org. *
+! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+!
+!
+! This file contains FORTRAN interfaces for H5LT functions
+!
+! NOTES
+!
+! _____ __ __ _____ ____ _____ _______ _ _ _______
+! |_ _| \/ | __ \ / __ \| __ \__ __|/\ | \ | |__ __|
+! **** | | | \ / | |__) | | | | |__) | | | / \ | \| | | | ****
+! **** | | | |\/| | ___/| | | | _ / | | / /\ \ | . ` | | | ****
+! **** _| |_| | | | | | |__| | | \ \ | |/ ____ \| |\ | | | ****
+! |_____|_| |_|_| \____/|_| \_\ |_/_/ \_\_| \_| |_|
+!
+! If you add a new function here then you MUST add the function name to the
+! Windows dll file 'hdf5_hl_fortrandll.def.in' in the hl/fortran/src directory.
+! This is needed for Windows based operating systems.
+!
+
+#include <H5config_f.inc>
+
+MODULE H5LT_CONST
+ USE, INTRINSIC :: ISO_C_BINDING
+ USE h5fortran_types
+ USE hdf5
+
+ INTERFACE h5ltmake_dataset_f
+ MODULE PROCEDURE h5ltmake_dataset_f_int1
+ MODULE PROCEDURE h5ltmake_dataset_f_int2
+ MODULE PROCEDURE h5ltmake_dataset_f_int3
+ MODULE PROCEDURE h5ltmake_dataset_f_int4
+ MODULE PROCEDURE h5ltmake_dataset_f_int5
+ MODULE PROCEDURE h5ltmake_dataset_f_int6
+ MODULE PROCEDURE h5ltmake_dataset_f_int7
+ MODULE PROCEDURE h5ltmake_dataset_f_ptr
+ END INTERFACE
+
+ INTERFACE h5ltread_dataset_f
+ MODULE PROCEDURE h5ltread_dataset_f_int1
+ MODULE PROCEDURE h5ltread_dataset_f_int2
+ MODULE PROCEDURE h5ltread_dataset_f_int3
+ MODULE PROCEDURE h5ltread_dataset_f_int4
+ MODULE PROCEDURE h5ltread_dataset_f_int5
+ MODULE PROCEDURE h5ltread_dataset_f_int6
+ MODULE PROCEDURE h5ltread_dataset_f_int7
+ MODULE PROCEDURE h5ltread_dataset_f_ptr
+ END INTERFACE
+
+ INTERFACE h5ltmake_dataset_int_f
+ MODULE PROCEDURE h5ltmake_dataset_int_f_1
+ MODULE PROCEDURE h5ltmake_dataset_int_f_2
+ MODULE PROCEDURE h5ltmake_dataset_int_f_3
+ MODULE PROCEDURE h5ltmake_dataset_int_f_4
+ MODULE PROCEDURE h5ltmake_dataset_int_f_5
+ MODULE PROCEDURE h5ltmake_dataset_int_f_6
+ MODULE PROCEDURE h5ltmake_dataset_int_f_7
+ END INTERFACE
+
+ INTERFACE h5ltread_dataset_int_f
+ MODULE PROCEDURE h5ltread_dataset_int_f_1
+ MODULE PROCEDURE h5ltread_dataset_int_f_2
+ MODULE PROCEDURE h5ltread_dataset_int_f_3
+ MODULE PROCEDURE h5ltread_dataset_int_f_4
+ MODULE PROCEDURE h5ltread_dataset_int_f_5
+ MODULE PROCEDURE h5ltread_dataset_int_f_6
+ MODULE PROCEDURE h5ltread_dataset_int_f_7
+ END INTERFACE
+
+ INTERFACE
+ INTEGER FUNCTION h5ltmake_dataset_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) &
+ BIND(C,NAME='h5ltmake_dataset_c')
+ IMPORT :: C_CHAR, C_PTR
+ IMPORT :: HID_T, SIZE_T, HSIZE_T
+ IMPLICIT NONE
+ INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
+ INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
+ INTEGER(size_t) :: namelen ! length of name buffer
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
+ INTEGER, INTENT(in) :: rank ! rank
+ INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
+ TYPE(C_PTR), VALUE :: buf ! data buffer
+ END FUNCTION h5ltmake_dataset_c
+ END INTERFACE
+
+ INTERFACE
+ INTEGER FUNCTION h5ltread_dataset_c(loc_id,namelen,dset_name,type_id,buf) &
+ BIND(C,NAME='h5ltread_dataset_c')
+ IMPORT :: C_CHAR, C_PTR
+ IMPORT :: HID_T, SIZE_T, HSIZE_T
+ IMPLICIT NONE
+ INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
+ INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
+ INTEGER(size_t) :: namelen ! length of name buffer
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
+ TYPE(C_PTR), VALUE :: buf ! data buffer
+ END FUNCTION h5ltread_dataset_c
+ END INTERFACE
+
+ INTERFACE
+ INTEGER FUNCTION h5ltset_attribute_c(loc_id,namelen,dset_name,attrlen,attr_name,size,buf,dtype, SizeOf_buf) &
+ BIND(C,NAME='h5ltset_attribute_c')
+ IMPORT :: C_CHAR, C_PTR
+ IMPORT :: HID_T, SIZE_T, HSIZE_T
+ IMPLICIT NONE
+ INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
+ INTEGER(size_t) :: namelen ! length of name buffer
+ INTEGER(size_t) :: attrlen ! length of attr name buffer
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: attr_name ! name of the attribute
+ INTEGER(size_t), INTENT(in) :: size ! size of attribute array
+ TYPE(C_PTR), VALUE :: buf ! data buffer
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dtype ! flag indicating the datatype of the
+ ! the buffer:
+ ! R=Real, D=DOUBLE, I=Interger, C=Character
+ INTEGER(size_t) :: SizeOf_buf ! Sizeof the buf datatype
+ END FUNCTION h5ltset_attribute_c
+ END INTERFACE
+
+ INTERFACE
+ INTEGER FUNCTION h5ltget_attribute_c(loc_id,namelen,dset_name,attrlen,attr_name,buf,dtype, SizeOf_buf) &
+ BIND(C,NAME='h5ltget_attribute_c')
+ IMPORT :: C_CHAR, C_PTR
+ IMPORT :: HID_T, SIZE_T, HSIZE_T
+ IMPLICIT NONE
+ INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
+ INTEGER(size_t) :: namelen ! length of name buffer
+ INTEGER(size_t) :: attrlen ! length of attr name buffer
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: attr_name ! name of the attribute
+ TYPE(C_PTR), VALUE :: buf ! data buffer
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dtype ! flag indicating the datatype of the
+ ! the buffer:
+ ! R=Real, D=DOUBLE, I=Interger
+ INTEGER(size_t) :: SizeOf_buf ! Sizeof the buf datatype
+ END FUNCTION h5ltget_attribute_c
+ END INTERFACE
+
+CONTAINS
+ !-------------------------------------------------------------------------
+ ! Make/Read dataset functions
+ !-------------------------------------------------------------------------
+
+ !-------------------------------------------------------------------------
+ ! Function(s): h5ltmake_dataset_f_ptr
+ !
+ ! Purpose: Creates and writes a dataset of a type TYPE_ID
+ !
+ ! Return: Success: 0, Failure: -1
+ !
+ ! Programmer: M. Scot Breitenfeld
+ !
+ ! Date: APR 29, 2015
+ !
+ ! Comments:
+ !
+ ! Modifications:
+ !
+ !-------------------------------------------------------------------------
+
+ SUBROUTINE h5ltmake_dataset_f_ptr(loc_id,&
+ dset_name,&
+ rank,&
+ dims,&
+ type_id,&
+ buf,&
+ errcode )
+
+ IMPLICIT NONE
+ INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
+ CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
+ INTEGER, INTENT(in) :: rank ! rank
+ INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
+ INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
+ TYPE(C_PTR) :: buf ! data buffer
+ INTEGER :: errcode ! error code
+ INTEGER(size_t) :: namelen ! name length
+
+ namelen = LEN(dset_name)
+ errcode = h5ltmake_dataset_c(loc_id,namelen,dset_name,rank,dims,type_id,buf)
+
+ END SUBROUTINE h5ltmake_dataset_f_ptr
+
+ !-------------------------------------------------------------------------
+ ! Function(s): h5ltmake_dataset_f_int(1-7)
+ !
+ ! Purpose: Creates and writes a dataset of a type TYPE_ID
+ !
+ ! Return: Success: 0, Failure: -1
+ !
+ ! Programmer: pvn@ncsa.uiuc.edu
+ !
+ ! Date: September 1, 2004
+ !
+ ! Comments:
+ !
+ ! Modifications: Changed to passing C_PTR.
+ !
+ !-------------------------------------------------------------------------
+
+ SUBROUTINE h5ltmake_dataset_f_int1(loc_id,&
+ dset_name,&
+ rank,&
+ dims,&
+ type_id,&
+ buf,&
+ errcode )
+
+ IMPLICIT NONE
+ INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
+ CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
+ INTEGER, INTENT(in) :: rank ! rank
+ INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
+ INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
+ INTEGER, INTENT(in), DIMENSION(*), TARGET :: buf ! data buffer
+ INTEGER :: errcode ! error code
+ INTEGER(size_t) :: namelen ! name length
+ TYPE(C_PTR) :: f_ptr
+
+ f_ptr = C_LOC(buf(1))
+ namelen = LEN(dset_name)
+ errcode = h5ltmake_dataset_c(loc_id,namelen,dset_name,rank,dims,type_id,f_ptr)
+
+ END SUBROUTINE h5ltmake_dataset_f_int1
+
+ SUBROUTINE h5ltmake_dataset_f_int2(loc_id,&
+ dset_name,&
+ rank,&
+ dims,&
+ type_id,&
+ buf,&
+ errcode )
+
+ IMPLICIT NONE
+ INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
+ CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
+ INTEGER, INTENT(in) :: rank ! rank
+ INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
+ INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
+ INTEGER :: errcode ! error code
+ INTEGER(size_t) :: namelen ! name length
+ INTEGER, INTENT(in), &
+ DIMENSION(dims(1),dims(2)), TARGET :: buf ! data buffer
+ TYPE(C_PTR) :: f_ptr
+
+ f_ptr = C_LOC(buf(1,1))
+
+ namelen = LEN(dset_name)
+ errcode = h5ltmake_dataset_c(loc_id,namelen,dset_name,rank,dims,type_id,f_ptr)
+
+ END SUBROUTINE h5ltmake_dataset_f_int2
+
+ SUBROUTINE h5ltmake_dataset_f_int3(loc_id,&
+ dset_name,&
+ rank,&
+ dims,&
+ type_id,&
+ buf,&
+ errcode )
+
+ IMPLICIT NONE
+ INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
+ CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
+ INTEGER, INTENT(in) :: rank ! rank
+ INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
+ INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
+ INTEGER :: errcode ! error code
+ INTEGER(size_t) :: namelen ! name length
+ INTEGER, INTENT(in), &
+ DIMENSION(dims(1),dims(2),dims(3)), TARGET :: buf ! data buffer
+ TYPE(C_PTR) :: f_ptr
+
+ f_ptr = C_LOC(buf(1,1,1))
+
+ namelen = LEN(dset_name)
+ errcode = h5ltmake_dataset_c(loc_id,namelen,dset_name,rank,dims,type_id,f_ptr)
+
+ END SUBROUTINE h5ltmake_dataset_f_int3
+
+ SUBROUTINE h5ltmake_dataset_f_int4(loc_id, dset_name, rank, dims, &
+ type_id, buf, errcode )
+
+ IMPLICIT NONE
+ INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
+ CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
+ INTEGER, INTENT(in) :: rank ! rank
+ INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
+ INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
+ INTEGER :: errcode ! error code
+ INTEGER(size_t) :: namelen ! name length
+ INTEGER, INTENT(in), &
+ DIMENSION(dims(1),dims(2),dims(3),dims(4)), TARGET :: buf ! data buffer
+ TYPE(C_PTR) :: f_ptr
+
+ f_ptr = C_LOC(buf(1,1,1,1))
+
+ namelen = LEN(dset_name)
+ errcode = h5ltmake_dataset_c(loc_id,namelen,dset_name,rank,dims,type_id,f_ptr)
+
+ END SUBROUTINE h5ltmake_dataset_f_int4
+
+ SUBROUTINE h5ltmake_dataset_f_int5(loc_id, dset_name, rank, dims, &
+ type_id, buf, errcode )
+
+ IMPLICIT NONE
+ INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
+ CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
+ INTEGER, INTENT(in) :: rank ! rank
+ INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
+ INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
+ INTEGER :: errcode ! error code
+ INTEGER(size_t) :: namelen ! name length
+ INTEGER, INTENT(in), &
+ DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)), TARGET :: buf ! data buffer
+ TYPE(C_PTR) :: f_ptr
+
+ f_ptr = C_LOC(buf(1,1,1,1,1))
+
+ namelen = LEN(dset_name)
+ errcode = h5ltmake_dataset_c(loc_id,namelen,dset_name,rank,dims,type_id,f_ptr)
+
+ END SUBROUTINE h5ltmake_dataset_f_int5
+
+ SUBROUTINE h5ltmake_dataset_f_int6(loc_id, dset_name, rank, dims, &
+ type_id, buf, errcode )
+
+ IMPLICIT NONE
+ INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
+ CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
+ INTEGER, INTENT(in) :: rank ! rank
+ INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
+ INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
+ INTEGER :: errcode ! error code
+ INTEGER(size_t) :: namelen ! name length
+ INTEGER, INTENT(in), &
+ DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)), TARGET :: buf ! data buffer
+ TYPE(C_PTR) :: f_ptr
+
+ f_ptr = C_LOC(buf(1,1,1,1,1,1))
+
+ namelen = LEN(dset_name)
+ errcode = h5ltmake_dataset_c(loc_id,namelen,dset_name,rank,dims,type_id,f_ptr)
+
+ END SUBROUTINE h5ltmake_dataset_f_int6
+
+ SUBROUTINE h5ltmake_dataset_f_int7(loc_id, dset_name, rank, dims, &
+ type_id, buf, errcode )
+
+ IMPLICIT NONE
+ INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
+ CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
+ INTEGER, INTENT(in) :: rank ! rank
+ INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
+ INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
+ INTEGER :: errcode ! error code
+ INTEGER(size_t) :: namelen ! name length
+ INTEGER, INTENT(in), &
+ DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)), TARGET :: buf ! data buffer
+ TYPE(C_PTR) :: f_ptr
+
+ f_ptr = C_LOC(buf(1,1,1,1,1,1,1))
+
+ namelen = LEN(dset_name)
+ errcode = h5ltmake_dataset_c(loc_id,namelen,dset_name,rank,dims,type_id,f_ptr)
+
+ END SUBROUTINE h5ltmake_dataset_f_int7
+
+
+ !-------------------------------------------------------------------------
+ ! Function(s): h5ltread_dataset_f_ptr
+ !
+ ! Purpose: Read a dataset of a type TYPE_ID
+ !
+ ! Return: Success: 0, Failure: -1
+ !
+ ! Programmer: M. Scot Breitenfeld
+ !
+ ! Date: Apr 29, 2015
+ !
+ ! Comments:
+ !
+ ! Modifications:
+ !
+ !-------------------------------------------------------------------------
+
+ SUBROUTINE h5ltread_dataset_f_ptr(loc_id,&
+ dset_name,&
+ type_id,&
+ buf,&
+ errcode )
+
+ IMPLICIT NONE
+ INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
+ CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
+ INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
+ TYPE(C_PTR) :: buf ! data buffer
+ INTEGER :: errcode ! error code
+ INTEGER(size_t) :: namelen
+
+ namelen = LEN(dset_name)
+ errcode = h5ltread_dataset_c(loc_id,namelen,dset_name,type_id, buf)
+
+ END SUBROUTINE h5ltread_dataset_f_ptr
+
+ !-------------------------------------------------------------------------
+ ! Function(s): h5ltread_dataset_f_int(1-7)
+ !
+ ! Purpose: Read a dataset of a type TYPE_ID
+ !
+ ! Return: Success: 0, Failure: -1
+ !
+ ! Programmer: pvn@ncsa.uiuc.edu
+ !
+ ! Date: September 22, 2004
+ !
+ ! Comments:
+ !
+ ! Modifications:
+ !
+ !-------------------------------------------------------------------------
+
+ SUBROUTINE h5ltread_dataset_f_int1(loc_id,&
+ dset_name,&
+ type_id,&
+ buf,&
+ dims,&
+ errcode )
+
+ IMPLICIT NONE
+ INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
+ CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
+ INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
+ INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
+ INTEGER, INTENT(inout), DIMENSION(*), TARGET :: buf ! data buffer
+ INTEGER :: errcode ! error code
+ INTEGER(size_t) :: namelen
+ TYPE(C_PTR) :: f_ptr
+
+ f_ptr = C_LOC(buf(1))
+
+ namelen = LEN(dset_name)
+ errcode = h5ltread_dataset_c(loc_id,namelen,dset_name,type_id,f_ptr)
+
+ END SUBROUTINE h5ltread_dataset_f_int1
+
+ !-------------------------------------------------------------------------
+ ! Function: h5ltread_dataset_f_int2
+ !
+ ! Purpose: Read a dataset of a type TYPE_ID
+ !
+ ! Return: Success: 0, Failure: -1
+ !
+ ! Programmer: pvn@ncsa.uiuc.edu
+ !
+ ! Date: September 22, 2004
+ !
+ ! Comments:
+ !
+ ! Modifications:
+ !
+ !-------------------------------------------------------------------------
+
+ SUBROUTINE h5ltread_dataset_f_int2(loc_id,&
+ dset_name,&
+ type_id,&
+ buf,&
+ dims,&
+ errcode )
+
+ IMPLICIT NONE
+ INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
+ CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
+ INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
+ INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
+ INTEGER :: errcode ! error code
+ INTEGER(size_t) :: namelen ! name length
+ INTEGER, INTENT(inout), &
+ DIMENSION(dims(1),dims(2)), TARGET :: buf
+ TYPE(C_PTR) :: f_ptr
+
+ f_ptr = C_LOC(buf(1,1))
+
+ namelen = LEN(dset_name)
+ errcode = h5ltread_dataset_c(loc_id,namelen,dset_name,type_id,f_ptr)
+
+ END SUBROUTINE h5ltread_dataset_f_int2
+
+ SUBROUTINE h5ltread_dataset_f_int3(loc_id,&
+ dset_name,&
+ type_id,&
+ buf,&
+ dims,&
+ errcode )
+
+ IMPLICIT NONE
+ INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
+ CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
+ INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
+ INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
+ INTEGER :: errcode ! error code
+ INTEGER(size_t) :: namelen ! name length
+ INTEGER, INTENT(inout), &
+ DIMENSION(dims(1),dims(2),dims(3)), TARGET :: buf
+ TYPE(C_PTR) :: f_ptr
+
+ f_ptr = C_LOC(buf(1,1,1))
+
+ namelen = LEN(dset_name)
+ errcode = h5ltread_dataset_c(loc_id,namelen,dset_name,type_id,f_ptr)
+
+ END SUBROUTINE h5ltread_dataset_f_int3
+
+ SUBROUTINE h5ltread_dataset_f_int4(loc_id, dset_name, type_id, buf, &
+ dims, errcode )
+
+ IMPLICIT NONE
+ INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
+ CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
+ INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
+ INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
+ INTEGER :: errcode ! error code
+ INTEGER(size_t) :: namelen ! name length
+ INTEGER, INTENT(inout), &
+ DIMENSION(dims(1),dims(2),dims(3),dims(4)), TARGET :: buf
+ TYPE(C_PTR) :: f_ptr
+
+ f_ptr = C_LOC(buf(1,1,1,1))
+
+ namelen = LEN(dset_name)
+ errcode = h5ltread_dataset_c(loc_id,namelen,dset_name,type_id,f_ptr)
+
+ END SUBROUTINE h5ltread_dataset_f_int4
+
+ SUBROUTINE h5ltread_dataset_f_int5(loc_id, dset_name, type_id, buf, &
+ dims, errcode )
+
+ IMPLICIT NONE
+ INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
+ CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
+ INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
+ INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
+ INTEGER :: errcode ! error code
+ INTEGER(size_t) :: namelen ! name length
+ INTEGER, INTENT(inout), &
+ DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)), TARGET :: buf
+ TYPE(C_PTR) :: f_ptr
+
+ f_ptr = C_LOC(buf(1,1,1,1,1))
+
+ namelen = LEN(dset_name)
+ errcode = h5ltread_dataset_c(loc_id,namelen,dset_name,type_id,f_ptr)
+
+ END SUBROUTINE h5ltread_dataset_f_int5
+
+ !-------------------------------------------------------------------------
+ ! Function: h5ltread_dataset_f_int6
+ !
+ ! Purpose: Read a dataset of a type TYPE_ID
+ !
+ ! Return: Success: 0, Failure: -1
+ !
+ ! Programmer: M. Scot Breitenfeld
+ !
+ ! Date: March 12, 2011
+ !
+ ! Comments:
+ !
+ ! Modifications:
+ !
+ !-------------------------------------------------------------------------
+
+ SUBROUTINE h5ltread_dataset_f_int6(loc_id, dset_name, type_id, buf, &
+ dims, errcode )
+
+ IMPLICIT NONE
+ INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
+ CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
+ INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
+ INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
+ INTEGER :: errcode ! error code
+ INTEGER(size_t) :: namelen ! name length
+ INTEGER, INTENT(inout), &
+ DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)), TARGET :: buf
+ TYPE(C_PTR) :: f_ptr
+
+ f_ptr = C_LOC(buf(1,1,1,1,1,1))
+
+ namelen = LEN(dset_name)
+ errcode = h5ltread_dataset_c(loc_id,namelen,dset_name,type_id,f_ptr)
+
+ END SUBROUTINE h5ltread_dataset_f_int6
+
+ SUBROUTINE h5ltread_dataset_f_int7(loc_id, dset_name, type_id, buf, &
+ dims, errcode )
+
+ IMPLICIT NONE
+ INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
+ CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
+ INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
+ INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
+ INTEGER :: errcode ! error code
+ INTEGER(size_t) :: namelen ! name length
+ INTEGER, INTENT(inout), &
+ DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)), TARGET :: buf
+ TYPE(C_PTR) :: f_ptr
+
+ f_ptr = C_LOC(buf(1,1,1,1,1,1,1))
+
+ namelen = LEN(dset_name)
+ errcode = h5ltread_dataset_c(loc_id,namelen,dset_name,type_id,f_ptr)
+
+ END SUBROUTINE h5ltread_dataset_f_int7
+
+
+ !-------------------------------------------------------------------------
+ ! Function: h5ltmake_dataset_int_f_1
+ !
+ ! Purpose: Creates and writes a dataset of H5T_NATIVE_INT type
+ !
+ ! Return: Success: 0, Failure: -1
+ !
+ ! Programmer: pvn@ncsa.uiuc.edu
+ !
+ ! Date: September 22, 2004
+ !
+ ! Comments:
+ !
+ ! Modifications:
+ !
+ !-------------------------------------------------------------------------
+
+ SUBROUTINE h5ltmake_dataset_int_f_1 (loc_id,&
+ dset_name,&
+ rank,&
+ dims,&
+ buf,&
+ errcode )
+
+ IMPLICIT NONE
+ INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
+ CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
+ INTEGER, INTENT(in) :: rank ! rank
+ INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
+ INTEGER, INTENT(in), DIMENSION(*), TARGET :: buf ! data buffer
+ INTEGER :: errcode ! error code
+ INTEGER(size_t) :: namelen ! name length
+ TYPE(C_PTR) :: f_ptr
+
+ f_ptr = C_LOC(buf(1))
+
+ namelen = LEN(dset_name)
+ errcode = h5ltmake_dataset_c(loc_id,namelen,dset_name,rank,dims,h5t_native_integer,f_ptr)
+
+ END SUBROUTINE h5ltmake_dataset_int_f_1
+
+ SUBROUTINE h5ltmake_dataset_int_f_2 (loc_id,&
+ dset_name,&
+ rank,&
+ dims,&
+ buf,&
+ errcode )
+
+ IMPLICIT NONE
+ INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
+ CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
+ INTEGER, INTENT(in) :: rank ! rank
+ INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
+ INTEGER :: errcode ! error code
+ INTEGER(size_t) :: namelen ! name length
+ INTEGER, INTENT(in), &
+ DIMENSION(dims(1),dims(2)), TARGET :: buf
+ TYPE(C_PTR) :: f_ptr
+
+ f_ptr = C_LOC(buf(1,1))
+
+ namelen = LEN(dset_name)
+ errcode = h5ltmake_dataset_c(loc_id,namelen,dset_name,rank,dims,H5T_NATIVE_INTEGER,f_ptr)
+
+ END SUBROUTINE h5ltmake_dataset_int_f_2
+
+ SUBROUTINE h5ltmake_dataset_int_f_3 (loc_id,&
+ dset_name,&
+ rank,&
+ dims,&
+ buf,&
+ errcode )
+
+ IMPLICIT NONE
+ INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
+ CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
+ INTEGER, INTENT(in) :: rank ! rank
+ INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
+ INTEGER :: errcode ! error code
+ INTEGER(size_t) :: namelen ! name length
+ INTEGER, INTENT(in), &
+ DIMENSION(dims(1),dims(2),dims(3)), TARGET :: buf
+ TYPE(C_PTR) :: f_ptr
+
+ f_ptr = C_LOC(buf(1,1,1))
+
+ namelen = LEN(dset_name)
+ errcode = h5ltmake_dataset_c(loc_id,namelen,dset_name,rank,dims,H5T_NATIVE_INTEGER,f_ptr)
+
+ END SUBROUTINE h5ltmake_dataset_int_f_3
+
+ SUBROUTINE h5ltmake_dataset_int_f_4(loc_id, dset_name, rank, dims, &
+ buf, errcode )
+
+ IMPLICIT NONE
+ INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
+ CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
+ INTEGER, INTENT(in) :: rank ! rank
+ INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
+ INTEGER :: errcode ! error code
+ INTEGER(size_t) :: namelen ! name length
+ INTEGER, INTENT(in), &
+ DIMENSION(dims(1),dims(2),dims(3),dims(4)), TARGET :: buf
+ TYPE(C_PTR) :: f_ptr
+
+ f_ptr = C_LOC(buf(1,1,1,1))
+
+ namelen = LEN(dset_name)
+ errcode = h5ltmake_dataset_c(loc_id,namelen,dset_name,rank,dims,H5T_NATIVE_INTEGER,f_ptr)
+
+ END SUBROUTINE h5ltmake_dataset_int_f_4
+
+ SUBROUTINE h5ltmake_dataset_int_f_5(loc_id, dset_name, rank, dims, &
+ buf, errcode )
+
+ IMPLICIT NONE
+ INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
+ CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
+ INTEGER, INTENT(in) :: rank ! rank
+ INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
+ INTEGER :: errcode ! error code
+ INTEGER(size_t) :: namelen ! name length
+ INTEGER, INTENT(in), &
+ DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)), TARGET :: buf
+ TYPE(C_PTR) :: f_ptr
+
+ f_ptr = C_LOC(buf(1,1,1,1,1))
+
+ namelen = LEN(dset_name)
+ errcode = h5ltmake_dataset_c(loc_id,namelen,dset_name,rank,dims,H5T_NATIVE_INTEGER,f_ptr)
+
+ END SUBROUTINE h5ltmake_dataset_int_f_5
+
+ SUBROUTINE h5ltmake_dataset_int_f_6(loc_id, dset_name, rank, dims, &
+ buf, errcode )
+
+ IMPLICIT NONE
+ INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
+ CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
+ INTEGER, INTENT(in) :: rank ! rank
+ INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
+ INTEGER :: errcode ! error code
+ INTEGER(size_t) :: namelen ! name length
+ INTEGER, INTENT(in), &
+ DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)), TARGET :: buf
+ TYPE(C_PTR) :: f_ptr
+
+ f_ptr = C_LOC(buf(1,1,1,1,1,1))
+
+ namelen = LEN(dset_name)
+ errcode = h5ltmake_dataset_c(loc_id,namelen,dset_name,rank,dims,H5T_NATIVE_INTEGER,f_ptr)
+
+ END SUBROUTINE h5ltmake_dataset_int_f_6
+
+ SUBROUTINE h5ltmake_dataset_int_f_7(loc_id, dset_name, rank, dims, &
+ buf, errcode )
+
+ IMPLICIT NONE
+ INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
+ CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
+ INTEGER, INTENT(in) :: rank ! rank
+ INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
+ INTEGER :: errcode ! error code
+ INTEGER(size_t) :: namelen ! name length
+ INTEGER, INTENT(in), &
+ DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)), TARGET :: buf
+ TYPE(C_PTR) :: f_ptr
+
+ f_ptr = C_LOC(buf(1,1,1,1,1,1,1))
+
+ namelen = LEN(dset_name)
+ errcode = h5ltmake_dataset_c(loc_id,namelen,dset_name,rank,dims,H5T_NATIVE_INTEGER,f_ptr)
+
+ END SUBROUTINE h5ltmake_dataset_int_f_7
+
+ !-------------------------------------------------------------------------
+ ! Function(s): h5ltread_dataset_int_f_(1-7)
+ !
+ ! Purpose: Read a dataset
+ !
+ ! Return: Success: 0, Failure: -1
+ !
+ ! Programmer: pvn@ncsa.uiuc.edu
+ !
+ ! Date: September 22, 2004
+ !
+ ! Comments:
+ !
+ ! Modifications:
+ !
+ !-------------------------------------------------------------------------
+
+ SUBROUTINE h5ltread_dataset_int_f_1(loc_id,&
+ dset_name,&
+ buf,&
+ dims,&
+ errcode )
+
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: loc_id ! file or group identifier
+ CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
+ INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
+ INTEGER :: errcode ! error code
+ INTEGER(size_t) :: namelen ! name length
+ INTEGER, INTENT(inout), &
+ DIMENSION(dims(1)), TARGET :: buf
+ TYPE(C_PTR) :: f_ptr
+
+ f_ptr = C_LOC(buf(1))
+
+ namelen = LEN(dset_name)
+ errcode = h5ltread_dataset_c(loc_id,namelen,dset_name,H5T_NATIVE_INTEGER,f_ptr)
+
+ END SUBROUTINE h5ltread_dataset_int_f_1
+
+ SUBROUTINE h5ltread_dataset_int_f_2(loc_id,&
+ dset_name,&
+ buf,&
+ dims,&
+ errcode )
+
+ IMPLICIT NONE
+ INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
+ CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
+ INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
+ INTEGER :: errcode ! error code
+ INTEGER(size_t) :: namelen ! name length
+ INTEGER, INTENT(inout), &
+ DIMENSION(dims(1),dims(2)), TARGET :: buf
+ TYPE(C_PTR) :: f_ptr
+
+ f_ptr = C_LOC(buf(1,1))
+
+ namelen = LEN(dset_name)
+ errcode = h5ltread_dataset_c(loc_id,namelen,dset_name,H5T_NATIVE_INTEGER,f_ptr)
+
+ END SUBROUTINE h5ltread_dataset_int_f_2
+
+ SUBROUTINE h5ltread_dataset_int_f_3(loc_id,&
+ dset_name,&
+ buf,&
+ dims,&
+ errcode )
+
+ IMPLICIT NONE
+ INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
+ CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
+ INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
+ INTEGER :: errcode ! error code
+ INTEGER(size_t) :: namelen ! name length
+ INTEGER, INTENT(inout), &
+ DIMENSION(dims(1),dims(2),dims(3)), TARGET :: buf
+ TYPE(C_PTR) :: f_ptr
+
+ f_ptr = C_LOC(buf(1,1,1))
+
+ namelen = LEN(dset_name)
+ errcode = h5ltread_dataset_c(loc_id,namelen,dset_name,H5T_NATIVE_INTEGER,f_ptr)
+
+ END SUBROUTINE h5ltread_dataset_int_f_3
+
+ SUBROUTINE h5ltread_dataset_int_f_4(loc_id, dset_name, buf, dims, errcode )
+
+ IMPLICIT NONE
+ INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
+ CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
+ INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
+ INTEGER :: errcode ! error code
+ INTEGER(size_t) :: namelen ! name length
+ INTEGER, INTENT(inout), &
+ DIMENSION(dims(1),dims(2),dims(3),dims(4)), TARGET :: buf
+ TYPE(C_PTR) :: f_ptr
+
+ f_ptr = C_LOC(buf(1,1,1,1))
+
+ namelen = LEN(dset_name)
+ errcode = h5ltread_dataset_c(loc_id,namelen,dset_name,H5T_NATIVE_INTEGER,f_ptr)
+
+ END SUBROUTINE h5ltread_dataset_int_f_4
+
+ SUBROUTINE h5ltread_dataset_int_f_5(loc_id, dset_name, buf, dims, errcode )
+
+ IMPLICIT NONE
+ INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
+ CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
+ INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
+ INTEGER :: errcode ! error code
+ INTEGER(size_t) :: namelen ! name length
+ INTEGER, INTENT(inout), &
+ DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)), TARGET :: buf
+ TYPE(C_PTR) :: f_ptr
+
+ f_ptr = C_LOC(buf(1,1,1,1,1))
+
+ namelen = LEN(dset_name)
+ errcode = h5ltread_dataset_c(loc_id,namelen,dset_name,H5T_NATIVE_INTEGER,f_ptr)
+
+ END SUBROUTINE h5ltread_dataset_int_f_5
+
+ SUBROUTINE h5ltread_dataset_int_f_6(loc_id, dset_name, buf, dims, errcode )
+
+ IMPLICIT NONE
+ INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
+ CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
+ INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
+ INTEGER :: errcode ! error code
+ INTEGER(size_t) :: namelen ! name length
+ INTEGER, INTENT(inout), &
+ DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)), TARGET :: buf
+ TYPE(C_PTR) :: f_ptr
+
+ f_ptr = C_LOC(buf(1,1,1,1,1,1))
+
+ namelen = LEN(dset_name)
+ errcode = h5ltread_dataset_c(loc_id,namelen,dset_name,H5T_NATIVE_INTEGER,f_ptr)
+
+ END SUBROUTINE h5ltread_dataset_int_f_6
+
+ SUBROUTINE h5ltread_dataset_int_f_7(loc_id, dset_name, buf, dims, errcode )
+
+ IMPLICIT NONE
+ INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
+ CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
+ INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
+ INTEGER :: errcode ! error code
+ INTEGER(size_t) :: namelen ! name length
+ INTEGER, INTENT(inout), &
+ DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)), TARGET :: buf
+ TYPE(C_PTR) :: f_ptr
+
+ f_ptr = C_LOC(buf(1,1,1,1,1,1,1))
+
+ namelen = LEN(dset_name)
+ errcode = h5ltread_dataset_c(loc_id,namelen,dset_name,H5T_NATIVE_INTEGER,f_ptr)
+
+ END SUBROUTINE h5ltread_dataset_int_f_7
+
+
+ !-------------------------------------------------------------------------
+ ! Function: h5ltmake_dataset_string_f
+ !
+ ! Purpose: Creates and writes a dataset
+ !
+ ! Return: Success: 0, Failure: -1
+ !
+ ! Programmer: pvn@ncsa.uiuc.edu
+ !
+ ! Date: September 22, 2004
+ !
+ ! Comments:
+ !
+ ! Modifications:
+ !
+ !-------------------------------------------------------------------------
+
+ SUBROUTINE h5ltmake_dataset_string_f(loc_id,&
+ dset_name,&
+ buf,&
+ errcode )
+
+ IMPLICIT NONE
+ INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
+ CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
+ CHARACTER(LEN=*), INTENT(in) :: buf ! data buffer
+ INTEGER :: errcode ! error code
+ INTEGER(size_t) :: namelen ! name length
+ INTEGER(size_t) :: buflen ! buffer length
+
+ INTERFACE
+ INTEGER FUNCTION h5ltmake_dataset_string_c(loc_id,namelen,dset_name,buflen,buf) &
+ BIND(C,NAME='h5ltmake_dataset_string_c')
+ IMPORT :: C_CHAR
+ IMPORT :: HID_T, SIZE_T, HSIZE_T
+ IMPLICIT NONE
+ INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
+ INTEGER(size_t) :: namelen ! length of name buffer
+ INTEGER(size_t) :: buflen ! length of data buffer
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: buf ! data buffer
+ END FUNCTION h5ltmake_dataset_string_c
+ END INTERFACE
+
+ namelen = LEN(dset_name)
+ buflen = LEN(buf)
+ errcode = h5ltmake_dataset_string_c(loc_id,namelen,dset_name,buflen,buf)
+
+ END SUBROUTINE h5ltmake_dataset_string_f
+
+ !-------------------------------------------------------------------------
+ ! Function: h5ltread_dataset_string_f
+ !
+ ! Purpose: Read a dataset
+ !
+ ! Return: Success: 0, Failure: -1
+ !
+ ! Programmer: pvn@ncsa.uiuc.edu
+ !
+ ! Date: September 22, 2004
+ !
+ ! Comments:
+ !
+ ! Modifications:
+ !
+ !-------------------------------------------------------------------------
+
+ SUBROUTINE h5ltread_dataset_string_f(loc_id,&
+ dset_name,&
+ buf,&
+ errcode )
+
+ IMPLICIT NONE
+ INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
+ CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
+ CHARACTER(LEN=*), INTENT(inout) :: buf ! data buffer
+ INTEGER :: errcode ! error code
+ INTEGER(size_t) :: namelen ! name length
+
+ INTERFACE
+ INTEGER FUNCTION h5ltread_dataset_string_c(loc_id,namelen,dset_name,buf) &
+ BIND(C,NAME='h5ltread_dataset_string_c')
+ IMPORT :: C_CHAR
+ IMPORT :: HID_T, SIZE_T, HSIZE_T
+ IMPLICIT NONE
+ INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
+ INTEGER(size_t) :: namelen ! length of name buffer
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(inout) :: buf ! data buffer
+ END FUNCTION h5ltread_dataset_string_c
+ END INTERFACE
+
+ namelen = LEN(dset_name)
+ errcode = h5ltread_dataset_string_c(loc_id,namelen,dset_name,buf)
+
+ END SUBROUTINE h5ltread_dataset_string_f
+
+ !-------------------------------------------------------------------------
+ ! Make/Read attribute functions
+ !-------------------------------------------------------------------------
+
+ !-------------------------------------------------------------------------
+ ! Function: h5ltset_attribute_f
+ !
+ ! Purpose: Create and write an attribute
+ !
+ ! Return: Success: 0, Failure: -1
+ !
+ ! Programmer: M. Scot Breitenfeld
+ !
+ ! Date: May 4, 2015
+ !
+ ! Comments:
+ !
+ ! Modifications:
+ !
+ !-------------------------------------------------------------------------
+
+ SUBROUTINE h5ltset_attribute_f(loc_id,&
+ dset_name,&
+ attr_name,&
+ buf,&
+ buf_type, SizeOf_buf_type, &
+ size,&
+ errcode )
+
+ IMPLICIT NONE
+ INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
+ CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
+ CHARACTER(LEN=*), INTENT(in) :: attr_name ! name of the attribute
+ TYPE(C_PTR) :: buf ! data buffer
+ CHARACTER(LEN=*), INTENT(in) :: buf_type !
+ INTEGER(size_t), INTENT(in) :: size ! size of attribute array
+ INTEGER :: errcode ! error code
+ INTEGER(size_t) :: namelen ! name length
+ INTEGER(size_t) :: attrlen ! name length
+
+ CHARACTER(KIND=C_CHAR) :: buf_type_uppercase
+ INTEGER(size_t) :: SizeOf_buf_type
+
+ namelen = LEN(dset_name)
+ attrlen = LEN(attr_name)
+
+ buf_type_uppercase(1:1) = buf_type(1:1)
+ IF(buf_type_uppercase(1:1).EQ.'i')THEN
+ buf_type_uppercase(1:1) = 'I'
+ ELSE IF(buf_type_uppercase(1:1).EQ.'r')THEN
+ buf_type_uppercase(1:1) = 'R'
+ ELSE IF(buf_type_uppercase(1:1).EQ.'c')THEN
+ buf_type_uppercase(1:1) = 'C'
+ ENDIF
+
+ errcode = h5ltset_attribute_c(loc_id,namelen,dset_name,attrlen,attr_name,size,&
+ buf,buf_type_uppercase(1:1)//C_NULL_CHAR, SizeOf_buf_type)
+
+ END SUBROUTINE h5ltset_attribute_f
+
+ !-------------------------------------------------------------------------
+ ! Function: h5ltset_attribute_int_f
+ !
+ ! Purpose: Create and write an attribute
+ !
+ ! Return: Success: 0, Failure: -1
+ !
+ ! Programmer: pvn@ncsa.uiuc.edu
+ !
+ ! Date: October 05, 2004
+ !
+ ! Comments:
+ !
+ ! Modifications:
+ !
+ !-------------------------------------------------------------------------
+
+ SUBROUTINE h5ltset_attribute_int_f(loc_id,&
+ dset_name,&
+ attr_name,&
+ buf,&
+ size,&
+ errcode )
+
+ IMPLICIT NONE
+ INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
+ CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
+ CHARACTER(LEN=*), INTENT(in) :: attr_name ! name of the attribute
+ INTEGER(size_t), INTENT(in) :: size ! size of attribute array
+ INTEGER :: errcode ! error code
+ INTEGER, DIMENSION(*), TARGET :: buf ! data buffer
+ INTEGER(size_t) :: namelen ! name length
+ INTEGER(size_t) :: attrlen ! name length
+ TYPE(C_PTR) :: f_ptr
+ INTEGER(size_t) :: SizeOf_buf_type
+
+ f_ptr = C_LOC(buf(1:1))
+
+#if H5_FORTRAN_HAVE_STORAGE_SIZE!=0
+ SizeOf_buf_type = STORAGE_SIZE(buf(1), c_size_t)/STORAGE_SIZE(c_char_'a',c_size_t)
+#else
+ SizeOf_buf_type = SIZEOF(buf(1))
+#endif
+
+ namelen = LEN(dset_name)
+ attrlen = LEN(attr_name)
+ errcode = h5ltset_attribute_c(loc_id,namelen,dset_name,attrlen,attr_name,size,&
+ f_ptr,'I'//C_NULL_CHAR,SizeOf_buf_type)
+
+ END SUBROUTINE h5ltset_attribute_int_f
+
+ !-------------------------------------------------------------------------
+ ! Function: h5ltset_attribute_float_f
+ !
+ ! Purpose: Create and write an attribute
+ !
+ ! Return: Success: 0, Failure: -1
+ !
+ ! Programmer: pvn@ncsa.uiuc.edu
+ !
+ ! Date: October 05, 2004
+ !
+ ! Comments:
+ !
+ ! Modifications:
+ !
+ !-------------------------------------------------------------------------
+
+ SUBROUTINE h5ltset_attribute_float_f(loc_id,&
+ dset_name,&
+ attr_name,&
+ buf,&
+ size,&
+ errcode )
+
+ IMPLICIT NONE
+ INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
+ CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
+ CHARACTER(LEN=*), INTENT(in) :: attr_name ! name of the attribute
+ INTEGER(size_t), INTENT(in) :: size ! size of attribute array
+ INTEGER :: errcode ! error code
+ REAL(KIND=C_FLOAT), INTENT(in), DIMENSION(*), TARGET :: buf ! data buffer
+ INTEGER(size_t) :: namelen ! name length
+ INTEGER(size_t) :: attrlen ! name length
+ TYPE(C_PTR) :: f_ptr
+ INTEGER(size_t) :: SizeOf_buf_type
+
+ f_ptr = C_LOC(buf(1))
+#if H5_FORTRAN_HAVE_STORAGE_SIZE!=0
+ SizeOf_buf_type = STORAGE_SIZE(buf(1), c_size_t)/STORAGE_SIZE(c_char_'a',c_size_t)
+#else
+ SizeOf_buf_type = SIZEOF(buf(1))
+#endif
+
+ namelen = LEN(dset_name)
+ attrlen = LEN(attr_name)
+ errcode = h5ltset_attribute_c(loc_id,namelen,dset_name,attrlen,attr_name,size,&
+ f_ptr,'R'//C_NULL_CHAR, SizeOf_buf_type)
+
+ END SUBROUTINE h5ltset_attribute_float_f
+
+ !-------------------------------------------------------------------------
+ ! Function: h5ltset_attribute_double_f
+ !
+ ! Purpose: Create and write an attribute
+ !
+ ! Return: Success: 0, Failure: -1
+ !
+ ! Programmer: pvn@ncsa.uiuc.edu
+ !
+ ! Date: October 05, 2004
+ !
+ ! Comments:
+ !
+ ! Modifications:
+ !
+ !-------------------------------------------------------------------------
+
+ SUBROUTINE h5ltset_attribute_double_f(loc_id,&
+ dset_name,&
+ attr_name,&
+ buf,&
+ size,&
+ errcode )
+
+ IMPLICIT NONE
+ INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
+ CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
+ CHARACTER(LEN=*), INTENT(in) :: attr_name ! name of the attribute
+ INTEGER(size_t), INTENT(in) :: size ! size of attribute array
+ INTEGER :: errcode ! error code
+ REAL(KIND=C_DOUBLE), INTENT(in), DIMENSION(*), TARGET :: buf ! data buffer
+ INTEGER(size_t) :: namelen ! name length
+ INTEGER(size_t) :: attrlen ! name length
+ TYPE(C_PTR) :: f_ptr
+ INTEGER(size_t) :: SizeOf_buf_type
+
+ f_ptr = C_LOC(buf(1))
+
+#if H5_FORTRAN_HAVE_STORAGE_SIZE!=0
+ SizeOf_buf_type = STORAGE_SIZE(buf(1), c_size_t)/STORAGE_SIZE(c_char_'a',c_size_t)
+#else
+ SizeOf_buf_type = SIZEOF(buf(1))
+#endif
+
+ namelen = LEN(dset_name)
+ attrlen = LEN(attr_name)
+ errcode = h5ltset_attribute_c(loc_id,namelen,dset_name,attrlen,attr_name,size,&
+ f_ptr,'R'//C_NULL_CHAR,SizeOf_buf_type)
+
+ END SUBROUTINE h5ltset_attribute_double_f
+
+
+ !-------------------------------------------------------------------------
+ ! Function: h5ltset_attribute_string_f
+ !
+ ! Purpose: Create and write an attribute
+ !
+ ! Return: Success: 0, Failure: -1
+ !
+ ! Programmer: pvn@ncsa.uiuc.edu
+ !
+ ! Date: October 05, 2004
+ !
+ ! Comments:
+ !
+ ! Modifications:
+ !
+ !-------------------------------------------------------------------------
+
+ SUBROUTINE h5ltset_attribute_string_f(loc_id,&
+ dset_name,&
+ attr_name,&
+ buf,&
+ errcode )
+
+ IMPLICIT NONE
+ INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
+ CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
+ CHARACTER(LEN=*), INTENT(in) :: attr_name ! name of the attribute
+ INTEGER :: errcode ! error code
+ CHARACTER(LEN=*), DIMENSION(*), INTENT(in), TARGET :: buf ! data buffer
+ INTEGER(size_t) :: namelen ! name length
+ INTEGER(size_t) :: attrlen ! name length
+ INTEGER(size_t) :: buflen ! data buffer length
+ TYPE(C_PTR) :: f_ptr
+ INTEGER(size_t) :: SizeOf_buf_type
+
+ f_ptr = C_LOC(buf(1)(1:1))
+
+#if H5_FORTRAN_HAVE_STORAGE_SIZE!=0
+ SizeOf_buf_type = STORAGE_SIZE(buf(1)(1:1), c_size_t)/STORAGE_SIZE(c_char_'a',c_size_t)
+#else
+ SizeOf_buf_type = SIZEOF(buf(1:1)(1:1))
+#endif
+
+ namelen = LEN(dset_name)
+ attrlen = LEN(attr_name)
+ buflen = LEN(buf)
+ errcode = h5ltset_attribute_c(loc_id,namelen,dset_name,attrlen,attr_name,buflen,&
+ f_ptr,'C'//C_NULL_CHAR, SizeOf_buf_type)
+
+ END SUBROUTINE h5ltset_attribute_string_f
+
+ !-------------------------------------------------------------------------
+ ! Function: h5ltget_attribute_f
+ !
+ ! Purpose: Reads an attribute named ATTR_NAME
+ !
+ ! Return: Success: 0, Failure: -1
+ !
+ ! Programmer: M. Scot Breitenfeld
+ !
+ ! Date: Apr 29, 2015
+ !
+ ! Comments:
+ !
+ ! Modifications:
+ !
+ !-------------------------------------------------------------------------
+
+ SUBROUTINE h5ltget_attribute_f(loc_id,&
+ dset_name,&
+ attr_name,&
+ buf, buf_type, SizeOf_buf_type, &
+ errcode )
+
+ IMPLICIT NONE
+ INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
+ CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
+ CHARACTER(LEN=*), INTENT(in) :: attr_name ! name of the attribute
+ INTEGER, INTENT(out) :: errcode ! error code
+ CHARACTER(LEN=*), INTENT(in) :: buf_type
+ TYPE(C_PTR) :: buf! data buffer
+ INTEGER(size_t) :: namelen ! name length
+ INTEGER(size_t) :: attrlen ! name length
+ CHARACTER(KIND=C_CHAR) :: buf_type_uppercase
+ INTEGER(size_t) :: SizeOf_buf_type
+
+ namelen = LEN(dset_name)
+ attrlen = LEN(attr_name)
+
+ buf_type_uppercase(1:1) = buf_type(1:1)
+ IF(buf_type_uppercase(1:1).EQ.'i')THEN
+ buf_type_uppercase(1:1) = 'I'
+ ELSE IF(buf_type_uppercase(1:1).EQ.'r')THEN
+ buf_type_uppercase(1:1) = 'R'
+ ELSE IF(buf_type_uppercase(1:1).EQ.'c')THEN
+ buf_type_uppercase(1:1) = 'C'
+ ENDIF
+ errcode = h5ltget_attribute_c(loc_id,namelen,dset_name,attrlen,attr_name, &
+ buf, buf_type_uppercase//C_NULL_CHAR, SizeOf_buf_type)
+
+
+ END SUBROUTINE h5ltget_attribute_f
+
+ !-------------------------------------------------------------------------
+ ! Function: h5ltget_attribute_int_f
+ !
+ ! Purpose: Reads an attribute named ATTR_NAME
+ !
+ ! Return: Success: 0, Failure: -1
+ !
+ ! Programmer: pvn@ncsa.uiuc.edu
+ !
+ ! Date: October 05, 2004
+ !
+ ! Comments:
+ !
+ ! Modifications:
+ !
+ !-------------------------------------------------------------------------
+
+ SUBROUTINE h5ltget_attribute_int_f(loc_id,&
+ dset_name,&
+ attr_name,&
+ buf,&
+ errcode )
+
+ IMPLICIT NONE
+ INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
+ CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
+ CHARACTER(LEN=*), INTENT(in) :: attr_name ! name of the attribute
+ INTEGER :: errcode ! error code
+ INTEGER, INTENT(inout), DIMENSION(*), TARGET :: buf! data buffer
+ INTEGER(size_t) :: namelen ! name length
+ INTEGER(size_t) :: attrlen ! name length
+ TYPE(C_PTR) :: f_ptr
+ INTEGER(size_t) :: SizeOf_buf
+
+ f_ptr = C_LOC(buf(1))
+
+#if H5_FORTRAN_HAVE_STORAGE_SIZE!=0
+ SizeOf_buf = STORAGE_SIZE(buf(1), c_size_t)/STORAGE_SIZE(c_char_'a',c_size_t)
+#else
+ SizeOf_buf = SIZEOF(buf(1))
+#endif
+ namelen = LEN(dset_name)
+ attrlen = LEN(attr_name)
+ errcode = h5ltget_attribute_c(loc_id,namelen,dset_name,attrlen,attr_name,f_ptr,'I'//C_NULL_CHAR, SizeOf_buf)
+
+ END SUBROUTINE h5ltget_attribute_int_f
+
+ !-------------------------------------------------------------------------
+ ! Function: h5ltget_attribute_float_f
+ !
+ ! Purpose: Reads an attribute named ATTR_NAME
+ !
+ ! Return: Success: 0, Failure: -1
+ !
+ ! Programmer: pvn@ncsa.uiuc.edu
+ !
+ ! Date: October 05, 2004
+ !
+ ! Comments:
+ !
+ ! Modifications:
+ !
+ !-------------------------------------------------------------------------
+
+ SUBROUTINE h5ltget_attribute_float_f(loc_id,&
+ dset_name,&
+ attr_name,&
+ buf,&
+ errcode )
+
+ IMPLICIT NONE
+ INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
+ CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
+ CHARACTER(LEN=*), INTENT(in) :: attr_name ! name of the attribute
+ INTEGER :: errcode ! error code
+ REAL(KIND=C_FLOAT), INTENT(inout), DIMENSION(*), TARGET :: buf
+ INTEGER(size_t) :: namelen ! name length
+ INTEGER(size_t) :: attrlen ! name length
+ TYPE(C_PTR) :: f_ptr
+ INTEGER(size_t) :: SizeOf_buf
+
+ f_ptr = C_LOC(buf(1))
+#if H5_FORTRAN_HAVE_STORAGE_SIZE!=0
+ SizeOf_buf = STORAGE_SIZE(buf(1), c_size_t)/STORAGE_SIZE(c_char_'a',c_size_t)
+#else
+ SizeOf_buf = SIZEOF(buf(1))
+#endif
+ namelen = LEN(dset_name)
+ attrlen = LEN(attr_name)
+ errcode = h5ltget_attribute_c(loc_id,namelen,dset_name,attrlen,attr_name,f_ptr,'R'//C_NULL_CHAR, SizeOf_buf)
+
+ END SUBROUTINE h5ltget_attribute_float_f
+
+ !-------------------------------------------------------------------------
+ ! Function: h5ltget_attribute_c_double_f
+ !
+ ! Purpose: Reads an attribute named ATTR_NAME
+ !
+ ! Return: Success: 0, Failure: -1
+ !
+ ! Programmer: pvn@ncsa.uiuc.edu
+ !
+ ! Date: October 05, 2004
+ !
+ ! Comments:
+ !
+ ! Modifications:
+ !
+ !-------------------------------------------------------------------------
+
+ SUBROUTINE h5ltget_attribute_double_f(loc_id,&
+ dset_name,&
+ attr_name,&
+ buf,&
+ errcode )
+
+ IMPLICIT NONE
+ INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
+ CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
+ CHARACTER(LEN=*), INTENT(in) :: attr_name ! name of the attribute
+ INTEGER :: errcode ! error code
+ REAL(KIND=C_DOUBLE),INTENT(inout),DIMENSION(*), TARGET :: buf
+ INTEGER(size_t) :: namelen ! name length
+ INTEGER(size_t) :: attrlen ! name length
+ TYPE(C_PTR) :: f_ptr
+ INTEGER(size_t) :: SizeOf_buf
+
+ f_ptr = C_LOC(buf(1))
+#if H5_FORTRAN_HAVE_STORAGE_SIZE!=0
+ SizeOf_buf = STORAGE_SIZE(buf(1), c_size_t)/STORAGE_SIZE(c_char_'a',c_size_t)
+#else
+ SizeOf_buf = SIZEOF(buf(1))
+#endif
+
+ namelen = LEN(dset_name)
+ attrlen = LEN(attr_name)
+ errcode = h5ltget_attribute_c(loc_id,namelen,dset_name,attrlen,attr_name,f_ptr,'R'//C_NULL_CHAR, SizeOf_buf)
+
+ END SUBROUTINE h5ltget_attribute_double_f
+
+ !-------------------------------------------------------------------------
+ ! Function: h5ltget_attribute_string_f
+ !
+ ! Purpose: Reads an attribute named ATTR_NAME
+ !
+ ! Return: Success: 0, Failure: -1
+ !
+ ! Programmer: pvn@ncsa.uiuc.edu
+ !
+ ! Date: October 05, 2004
+ !
+ ! Comments:
+ !
+ ! Modifications:
+ !
+ !-------------------------------------------------------------------------
+
+ SUBROUTINE h5ltget_attribute_string_f(loc_id,&
+ dset_name,&
+ attr_name,&
+ buf,&
+ errcode )
+
+ IMPLICIT NONE
+ INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
+ CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
+ CHARACTER(LEN=*), INTENT(in) :: attr_name ! name of the attribute
+ INTEGER :: errcode ! error code
+ CHARACTER(LEN=*), INTENT(inout) :: buf
+ INTEGER(size_t) :: namelen ! name length
+ INTEGER(size_t) :: attrlen ! name length
+ INTEGER(size_t) :: buf_size ! buf size
+
+ INTERFACE
+ INTEGER FUNCTION h5ltget_attribute_string_c(loc_id,namelen,dset_name,attrlen,attr_name,buf,buf_size) &
+ BIND(C,NAME='h5ltget_attribute_string_c')
+ IMPORT :: C_CHAR
+ IMPORT :: HID_T, SIZE_T, HSIZE_T
+ IMPLICIT NONE
+ INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
+ INTEGER(size_t) :: namelen ! length of name buffer
+ INTEGER(size_t) :: attrlen ! length of attr name buffer
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: attr_name ! name of the attribute
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(inout) :: buf ! data buffer
+ INTEGER(size_t) :: buf_size ! data buffer size
+ END FUNCTION h5ltget_attribute_string_c
+ END INTERFACE
+
+ namelen = LEN(dset_name)
+ attrlen = LEN(attr_name)
+ buf_size = LEN(buf)
+
+ errcode = h5ltget_attribute_string_c(loc_id,namelen,dset_name,attrlen,attr_name,buf,buf_size)
+
+ END SUBROUTINE h5ltget_attribute_string_f
+
+ !-------------------------------------------------------------------------
+ ! Query dataset functions
+ !-------------------------------------------------------------------------
+
+ !-------------------------------------------------------------------------
+ ! Function: h5ltget_dataset_ndims_f
+ !
+ ! Purpose: Gets the dimensionality of a dataset
+ !
+ ! Return: Success: 0, Failure: -1
+ !
+ ! Programmer: pvn@ncsa.uiuc.edu
+ !
+ ! Date: September 30, 2004
+ !
+ ! Comments:
+ !
+ ! Modifications:
+ !
+ !-------------------------------------------------------------------------
+
+ SUBROUTINE h5ltget_dataset_ndims_f(loc_id,&
+ dset_name,&
+ rank,&
+ errcode )
+
+ IMPLICIT NONE
+ INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
+ CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
+ INTEGER, INTENT(inout) :: rank ! rank
+ INTEGER :: errcode ! error code
+ INTEGER(size_t) :: namelen ! name length
+
+ INTERFACE
+ INTEGER FUNCTION h5ltget_dataset_ndims_c(loc_id,namelen,dset_name,rank) &
+ BIND(C,NAME='h5ltget_dataset_ndims_c')
+ IMPORT :: C_CHAR
+ IMPORT :: HID_T, SIZE_T, HSIZE_T
+ IMPLICIT NONE
+ INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
+ INTEGER(size_t) :: namelen ! length of name buffer
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
+ INTEGER, INTENT(inout) :: rank ! rank
+ END FUNCTION h5ltget_dataset_ndims_c
+ END INTERFACE
+
+ namelen = LEN(dset_name)
+ errcode = h5ltget_dataset_ndims_c(loc_id,namelen,dset_name,rank)
+
+ END SUBROUTINE h5ltget_dataset_ndims_f
+
+
+ !-------------------------------------------------------------------------
+ ! Function: h5ltfind_dataset_f
+ !
+ ! Purpose: Inquires if a dataset named dset_name exists attached
+ ! to the object loc_id.
+ !
+ ! Return: Success: 0, Failure: -1
+ !
+ ! Programmer: pvn@ncsa.uiuc.edu
+ !
+ ! Date: October 05, 2004
+ !
+ ! Comments:
+ !
+ ! Modifications:
+ !
+ !-------------------------------------------------------------------------
+
+ INTEGER FUNCTION h5ltfind_dataset_f(loc_id,&
+ dset_name)
+
+ IMPLICIT NONE
+ INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
+ CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
+ INTEGER :: errcode ! error code
+ INTEGER(size_t) :: namelen ! name length
+
+ INTERFACE
+ INTEGER FUNCTION h5ltfind_dataset_c(loc_id,namelen,dset_name) &
+ BIND(C,NAME='h5ltfind_dataset_c')
+ IMPORT :: C_CHAR
+ IMPORT :: HID_T, SIZE_T, HSIZE_T
+ IMPLICIT NONE
+ INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
+ INTEGER(size_t) :: namelen ! length of name buffer
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
+ END FUNCTION h5ltfind_dataset_c
+ END INTERFACE
+
+ namelen = LEN(dset_name)
+ errcode = h5ltfind_dataset_c(loc_id,namelen,dset_name)
+ h5ltfind_dataset_f = errcode
+
+ END FUNCTION h5ltfind_dataset_f
+
+ !-------------------------------------------------------------------------
+ ! Function: h5ltget_dataset_info_f
+ !
+ ! Purpose: Gets information about a dataset
+ !
+ ! Return: Success: 0, Failure: -1
+ !
+ ! Programmer: pvn@ncsa.uiuc.edu
+ !
+ ! Date: September 30, 2004
+ !
+ ! Comments:
+ !
+ ! Modifications:
+ !
+ !-------------------------------------------------------------------------
+
+ SUBROUTINE h5ltget_dataset_info_f(loc_id,&
+ dset_name,&
+ dims,&
+ type_class,&
+ type_size,&
+ errcode )
+
+ IMPLICIT NONE
+ INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
+ CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
+ INTEGER(hsize_t),DIMENSION(*),INTENT(inout):: dims ! dimensions
+ INTEGER, INTENT(inout) :: type_class ! type class
+ INTEGER(size_t), INTENT(inout) :: type_size ! type size
+ INTEGER :: errcode ! error code
+ INTEGER(size_t) :: namelen ! name length
+
+ INTERFACE
+ INTEGER FUNCTION h5ltget_dataset_info_c(loc_id,namelen,dset_name,dims,type_class,type_size) &
+ BIND(C,NAME='h5ltget_dataset_info_c')
+ IMPORT :: C_CHAR
+ IMPORT :: HID_T, SIZE_T, HSIZE_T
+ IMPLICIT NONE
+ INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
+ INTEGER(size_t) :: namelen ! length of name buffer
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
+ INTEGER(hsize_t),DIMENSION(*),INTENT(inout):: dims ! dimensions
+ INTEGER, INTENT(inout) :: type_class ! type class
+ INTEGER(size_t), INTENT(inout) :: type_size ! type size
+ END FUNCTION h5ltget_dataset_info_c
+ END INTERFACE
+
+ namelen = LEN(dset_name)
+ errcode = h5ltget_dataset_info_c(loc_id,namelen,dset_name,dims,type_class,type_size)
+
+ END SUBROUTINE h5ltget_dataset_info_f
+
+
+ !-------------------------------------------------------------------------
+ ! Query attribute functions
+ !-------------------------------------------------------------------------
+
+
+ !-------------------------------------------------------------------------
+ ! Function: h5ltget_attribute_ndims_f
+ !
+ ! Purpose: Create and write an attribute
+ !
+ ! Return: Success: 0, Failure: -1
+ !
+ ! Programmer: pvn@ncsa.uiuc.edu
+ !
+ ! Date: October 05, 2004
+ !
+ ! Comments:
+ !
+ ! Modifications:
+ !
+ !-------------------------------------------------------------------------
+
+ SUBROUTINE h5ltget_attribute_ndims_f(loc_id,&
+ dset_name,&
+ attr_name,&
+ rank,&
+ errcode )
+
+ IMPLICIT NONE
+ INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
+ CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
+ CHARACTER(LEN=*), INTENT(in) :: attr_name ! name of the attribute
+ INTEGER, INTENT(inout) :: rank ! rank
+ INTEGER :: errcode ! error code
+ INTEGER(size_t) :: namelen ! name length
+ INTEGER(size_t) :: attrlen ! name length
+
+ INTERFACE
+ INTEGER FUNCTION h5ltget_attribute_ndims_c(loc_id,namelen,dset_name,attrlen,attr_name,rank) &
+ BIND(C,NAME='h5ltget_attribute_ndims_c')
+ IMPORT :: C_CHAR
+ IMPORT :: HID_T, SIZE_T, HSIZE_T
+ IMPLICIT NONE
+ INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
+ INTEGER(size_t) :: namelen ! length of name buffer
+ INTEGER(size_t) :: attrlen ! length of attr name buffer
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: attr_name ! name of the attribute
+ INTEGER, INTENT(inout) :: rank ! rank
+ END FUNCTION h5ltget_attribute_ndims_c
+ END INTERFACE
+
+ namelen = LEN(dset_name)
+ attrlen = LEN(attr_name)
+ errcode = h5ltget_attribute_ndims_c(loc_id,namelen,dset_name,attrlen,attr_name,rank)
+
+ END SUBROUTINE h5ltget_attribute_ndims_f
+
+
+ !-------------------------------------------------------------------------
+ ! Function: h5ltget_attribute_info_f
+ !
+ ! Purpose: Gets information about an attribute
+ !
+ ! Return: Success: 0, Failure: -1
+ !
+ ! Programmer: pvn@ncsa.uiuc.edu
+ !
+ ! Date: September 30, 2004
+ !
+ ! Comments:
+ !
+ ! Modifications:
+ !
+ !-------------------------------------------------------------------------
+
+ SUBROUTINE h5ltget_attribute_info_f(loc_id,&
+ dset_name,&
+ attr_name,&
+ dims,&
+ type_class,&
+ type_size,&
+ errcode )
+
+ IMPLICIT NONE
+ INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
+ CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
+ CHARACTER(LEN=*), INTENT(in) :: attr_name ! name of the attribute
+ INTEGER(hsize_t),DIMENSION(*),INTENT(inout):: dims ! dimensions
+ INTEGER, INTENT(inout) :: type_class ! type class
+ INTEGER(size_t), INTENT(inout) :: type_size ! type size
+ INTEGER :: errcode ! error code
+ INTEGER(size_t) :: namelen ! name length
+ INTEGER(size_t) :: attrlen ! name length
+
+ INTERFACE
+ INTEGER FUNCTION h5ltget_attribute_info_c(loc_id,namelen,dset_name,attrlen,attr_name,dims,type_class,type_size) &
+ BIND(C,NAME='h5ltget_attribute_info_c')
+ IMPORT :: C_CHAR
+ IMPORT :: HID_T, SIZE_T, HSIZE_T
+ IMPLICIT NONE
+ INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
+ INTEGER(size_t) :: namelen ! length of name buffer
+ INTEGER(size_t) :: attrlen ! length of attr name buffer
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: attr_name ! name of the attribute
+ INTEGER(hsize_t),DIMENSION(*),INTENT(inout):: dims ! dimensions
+ INTEGER, INTENT(inout) :: type_class ! type class
+ INTEGER(size_t), INTENT(inout) :: type_size ! type size
+ END FUNCTION h5ltget_attribute_info_c
+ END INTERFACE
+
+ namelen = LEN(dset_name)
+ attrlen = LEN(attr_name)
+ errcode = h5ltget_attribute_info_c(loc_id,namelen,dset_name,attrlen,attr_name,dims,type_class,type_size)
+
+ END SUBROUTINE h5ltget_attribute_info_f
+
+ !-------------------------------------------------------------------------
+ ! Function: h5ltpath_valid_f
+ !
+ ! Purpose: Validates a path
+ !
+ ! Return: Success: 0, Failure: -1
+ !
+ ! Programmer: M. Scot Breitenfeld
+ !
+ ! Date: February 18, 2012
+ !
+ ! Comments:
+ !
+ ! Modifications:
+ !
+ !-------------------------------------------------------------------------
+
+ SUBROUTINE h5ltpath_valid_f(loc_id, path, check_object_valid, path_valid, errcode)
+
+ IMPLICIT NONE
+ INTEGER(hid_t) , INTENT(IN) :: loc_id ! An identifier of an object in the file.
+ CHARACTER(LEN=*), INTENT(IN) :: path ! Path to the object to check, relative to loc_id.
+ LOGICAL , INTENT(IN) :: check_object_valid ! Indicates whether to check if the final component
+ ! of the path resolves to a valid object
+ LOGICAL , INTENT(OUT) :: path_valid ! Object status
+ INTEGER , INTENT(OUT) :: errcode ! Error code: 0 on success and -1 on failure
+
+ INTEGER(size_t) :: pathlen
+ INTEGER :: check_object_valid_c
+ INTEGER :: status
+
+ INTERFACE
+ INTEGER FUNCTION h5ltpath_valid_c(loc_id, path, pathlen, check_object_valid_c) &
+ BIND(C,NAME='h5ltpath_valid_c')
+ IMPORT :: C_CHAR
+ IMPORT :: HID_T, SIZE_T, HSIZE_T
+ IMPLICIT NONE
+ INTEGER(hid_t), INTENT(in) :: loc_id
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: path
+ INTEGER(size_t) :: pathlen
+ INTEGER :: check_object_valid_c
+ END FUNCTION h5ltpath_valid_c
+ END INTERFACE
+
+ ! Initialize
+ path_valid = .FALSE.
+ errcode = 0
+
+ check_object_valid_c = 0
+ IF(check_object_valid) check_object_valid_c = 1
+
+ pathlen = LEN(path)
+ status = h5ltpath_valid_c(loc_id, path, pathlen, check_object_valid_c)
+
+ IF(status.EQ.1)THEN
+ path_valid = .TRUE.
+ ELSE IF(status.LT.0)THEN
+ errcode = -1
+ ENDIF
+
+ END SUBROUTINE h5ltpath_valid_f
+
+END MODULE H5LT_CONST
+
+
+
+
+
+
diff --git a/hl/fortran/src/H5LTff.f90 b/hl/fortran/src/H5LTff.f90
deleted file mode 100644
index 9393f7f..0000000
--- a/hl/fortran/src/H5LTff.f90
+++ /dev/null
@@ -1,6490 +0,0 @@
-! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
-! Copyright by The HDF Group. *
-! Copyright by the Board of Trustees of the University of Illinois. *
-! All rights reserved. *
-! *
-! This file is part of HDF5. The full HDF5 copyright notice, including *
-! terms governing use, modification, and redistribution, is contained in *
-! the files COPYING and Copyright.html. COPYING can be found at the root *
-! of the source code distribution tree; Copyright.html can be found at the *
-! root level of an installed copy of the electronic HDF5 document set and *
-! is linked from the top-level documents page. It can also be found at *
-! http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have *
-! access to either file, you may request a copy from help@hdfgroup.org. *
-! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
-!
-!
-! This file contains FORTRAN90 interfaces for H5LT functions
-!
-
-MODULE h5lt
- USE h5fortran_types
- USE hdf5
-
- INTERFACE h5ltmake_dataset_f
- MODULE PROCEDURE h5ltmake_dataset_f_int1
- MODULE PROCEDURE h5ltmake_dataset_f_int2
- MODULE PROCEDURE h5ltmake_dataset_f_int3
- MODULE PROCEDURE h5ltmake_dataset_f_int4
- MODULE PROCEDURE h5ltmake_dataset_f_int5
- MODULE PROCEDURE h5ltmake_dataset_f_int6
- MODULE PROCEDURE h5ltmake_dataset_f_int7
- MODULE PROCEDURE h5ltmake_dataset_f_float1
- MODULE PROCEDURE h5ltmake_dataset_f_float2
- MODULE PROCEDURE h5ltmake_dataset_f_float3
- MODULE PROCEDURE h5ltmake_dataset_f_float4
- MODULE PROCEDURE h5ltmake_dataset_f_float5
- MODULE PROCEDURE h5ltmake_dataset_f_float6
- MODULE PROCEDURE h5ltmake_dataset_f_float7
- MODULE PROCEDURE h5ltmake_dataset_f_double1
- MODULE PROCEDURE h5ltmake_dataset_f_double2
- MODULE PROCEDURE h5ltmake_dataset_f_double3
- MODULE PROCEDURE h5ltmake_dataset_f_double4
- MODULE PROCEDURE h5ltmake_dataset_f_double5
- MODULE PROCEDURE h5ltmake_dataset_f_double6
- MODULE PROCEDURE h5ltmake_dataset_f_double7
- END INTERFACE
-
- INTERFACE h5ltread_dataset_f
- MODULE PROCEDURE h5ltread_dataset_f_int1
- MODULE PROCEDURE h5ltread_dataset_f_int2
- MODULE PROCEDURE h5ltread_dataset_f_int3
- MODULE PROCEDURE h5ltread_dataset_f_int4
- MODULE PROCEDURE h5ltread_dataset_f_int5
- MODULE PROCEDURE h5ltread_dataset_f_int6
- MODULE PROCEDURE h5ltread_dataset_f_int7
- MODULE PROCEDURE h5ltread_dataset_f_float1
- MODULE PROCEDURE h5ltread_dataset_f_float2
- MODULE PROCEDURE h5ltread_dataset_f_float3
- MODULE PROCEDURE h5ltread_dataset_f_float4
- MODULE PROCEDURE h5ltread_dataset_f_float5
- MODULE PROCEDURE h5ltread_dataset_f_float6
- MODULE PROCEDURE h5ltread_dataset_f_float7
- MODULE PROCEDURE h5ltread_dataset_f_double1
- MODULE PROCEDURE h5ltread_dataset_f_double2
- MODULE PROCEDURE h5ltread_dataset_f_double3
- MODULE PROCEDURE h5ltread_dataset_f_double4
- MODULE PROCEDURE h5ltread_dataset_f_double5
- MODULE PROCEDURE h5ltread_dataset_f_double6
- MODULE PROCEDURE h5ltread_dataset_f_double7
- END INTERFACE
-
- INTERFACE h5ltmake_dataset_int_f
- MODULE PROCEDURE h5ltmake_dataset_int_f_1
- MODULE PROCEDURE h5ltmake_dataset_int_f_2
- MODULE PROCEDURE h5ltmake_dataset_int_f_3
- MODULE PROCEDURE h5ltmake_dataset_int_f_4
- MODULE PROCEDURE h5ltmake_dataset_int_f_5
- MODULE PROCEDURE h5ltmake_dataset_int_f_6
- MODULE PROCEDURE h5ltmake_dataset_int_f_7
- END INTERFACE
-
- INTERFACE h5ltmake_dataset_float_f
- MODULE PROCEDURE h5ltmake_dataset_float_f_1
- MODULE PROCEDURE h5ltmake_dataset_float_f_2
- MODULE PROCEDURE h5ltmake_dataset_float_f_3
- MODULE PROCEDURE h5ltmake_dataset_float_f_4
- MODULE PROCEDURE h5ltmake_dataset_float_f_5
- MODULE PROCEDURE h5ltmake_dataset_float_f_6
- MODULE PROCEDURE h5ltmake_dataset_float_f_7
- END INTERFACE
-
- INTERFACE h5ltmake_dataset_double_f
- MODULE PROCEDURE h5ltmake_dataset_double_f_1
- MODULE PROCEDURE h5ltmake_dataset_double_f_2
- MODULE PROCEDURE h5ltmake_dataset_double_f_3
- MODULE PROCEDURE h5ltmake_dataset_double_f_4
- MODULE PROCEDURE h5ltmake_dataset_double_f_5
- MODULE PROCEDURE h5ltmake_dataset_double_f_6
- MODULE PROCEDURE h5ltmake_dataset_double_f_7
- END INTERFACE
-
- INTERFACE h5ltread_dataset_int_f
- MODULE PROCEDURE h5ltread_dataset_int_f_1
- MODULE PROCEDURE h5ltread_dataset_int_f_2
- MODULE PROCEDURE h5ltread_dataset_int_f_3
- MODULE PROCEDURE h5ltread_dataset_int_f_4
- MODULE PROCEDURE h5ltread_dataset_int_f_5
- MODULE PROCEDURE h5ltread_dataset_int_f_6
- MODULE PROCEDURE h5ltread_dataset_int_f_7
- END INTERFACE
-
- INTERFACE h5ltread_dataset_float_f
- MODULE PROCEDURE h5ltread_dataset_float_f_1
- MODULE PROCEDURE h5ltread_dataset_float_f_2
- MODULE PROCEDURE h5ltread_dataset_float_f_3
- MODULE PROCEDURE h5ltread_dataset_float_f_4
- MODULE PROCEDURE h5ltread_dataset_float_f_5
- MODULE PROCEDURE h5ltread_dataset_float_f_6
- MODULE PROCEDURE h5ltread_dataset_float_f_7
- END INTERFACE
-
- INTERFACE h5ltread_dataset_double_f
- MODULE PROCEDURE h5ltread_dataset_double_f_1
- MODULE PROCEDURE h5ltread_dataset_double_f_2
- MODULE PROCEDURE h5ltread_dataset_double_f_3
- MODULE PROCEDURE h5ltread_dataset_double_f_4
- MODULE PROCEDURE h5ltread_dataset_double_f_5
- MODULE PROCEDURE h5ltread_dataset_double_f_6
- MODULE PROCEDURE h5ltread_dataset_double_f_7
- END INTERFACE
-
-CONTAINS
- !-------------------------------------------------------------------------
- ! Make/Read dataset functions
- !-------------------------------------------------------------------------
-
- !-------------------------------------------------------------------------
- ! Function: h5ltmake_dataset_f_int1
- !
- ! Purpose: Creates and writes a dataset of a type TYPE_ID
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: pvn@ncsa.uiuc.edu
- !
- ! Date: September 1, 2004
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
- SUBROUTINE h5ltmake_dataset_f_int1(loc_id,&
- dset_name,&
- rank,&
- dims,&
- type_id,&
- buf,&
- errcode )
-
- IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltmake_dataset_f_int1
- !DEC$endif
- !
-
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: rank ! rank
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER, INTENT(in), DIMENSION(*) :: buf ! data buffer
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
-
- INTERFACE
- INTEGER FUNCTION h5ltmake_dataset_int1_c(loc_id,namelen,dset_name,rank,dims,type_id,buf)
- USE h5global
- IMPLICIT NONE
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTMAKE_DATASET_INT1_C'::h5ltmake_dataset_int1_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: dset_name
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: rank ! rank
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER, INTENT(in), DIMENSION(*) :: buf ! data buffer
- END FUNCTION h5ltmake_dataset_int1_c
- END INTERFACE
-
- namelen = LEN(dset_name)
- errcode = h5ltmake_dataset_int1_c(loc_id,namelen,dset_name,rank,dims,type_id,buf)
-
- END SUBROUTINE h5ltmake_dataset_f_int1
-
- !-------------------------------------------------------------------------
- ! Function: h5ltmake_dataset_f_int2
- !
- ! Purpose: Creates and writes a dataset of a type TYPE_ID
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: pvn@ncsa.uiuc.edu
- !
- ! Date: September 1, 2004
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
- SUBROUTINE h5ltmake_dataset_f_int2(loc_id,&
- dset_name,&
- rank,&
- dims,&
- type_id,&
- buf,&
- errcode )
-
- IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltmake_dataset_f_int2
- !DEC$endif
- !
-
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: rank ! rank
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- INTEGER, INTENT(in), &
- DIMENSION(dims(1),dims(2)) :: buf ! data buffer
-
- INTERFACE
- INTEGER FUNCTION h5ltmake_dataset_int2_c(loc_id,namelen,dset_name,rank,dims,type_id,buf)
- USE h5global
- IMPLICIT NONE
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTMAKE_DATASET_INT2_C'::h5ltmake_dataset_int2_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: dset_name
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: rank ! rank
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER, INTENT(in), &
- DIMENSION(dims(1),dims(2)) :: buf ! data buffer
- END FUNCTION h5ltmake_dataset_int2_c
- END INTERFACE
-
- namelen = LEN(dset_name)
- errcode = h5ltmake_dataset_int2_c(loc_id,namelen,dset_name,rank,dims,type_id,buf)
-
- END SUBROUTINE h5ltmake_dataset_f_int2
-
- !-------------------------------------------------------------------------
- ! Function: h5ltmake_dataset_f_int3
- !
- ! Purpose: Creates and writes a dataset of a type TYPE_ID
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: pvn@ncsa.uiuc.edu
- !
- ! Date: September 1, 2004
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
- SUBROUTINE h5ltmake_dataset_f_int3(loc_id,&
- dset_name,&
- rank,&
- dims,&
- type_id,&
- buf,&
- errcode )
-
- IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltmake_dataset_f_int3
- !DEC$endif
- !
-
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: rank ! rank
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- INTEGER, INTENT(in), &
- DIMENSION(dims(1),dims(2),dims(3)) :: buf ! data buffer
-
- INTERFACE
- INTEGER FUNCTION h5ltmake_dataset_int3_c(loc_id,namelen,dset_name,rank,dims,type_id,buf)
- USE h5global
- IMPLICIT NONE
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTMAKE_DATASET_INT3_C'::h5ltmake_dataset_int3_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: dset_name
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: rank ! rank
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER, INTENT(in), &
- DIMENSION(dims(1),dims(2),dims(3)) :: buf ! data buffer
- END FUNCTION h5ltmake_dataset_int3_c
- END INTERFACE
-
- namelen = LEN(dset_name)
- errcode = h5ltmake_dataset_int3_c(loc_id,namelen,dset_name,rank,dims,type_id,buf)
-
- END SUBROUTINE h5ltmake_dataset_f_int3
-
- !-------------------------------------------------------------------------
- ! Function: h5ltmake_dataset_f_int4
- !
- ! Purpose: Creates and writes a dataset of a type TYPE_ID
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: M. Scot Breitenfeld
- !
- ! Date: March 7, 2011
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
- SUBROUTINE h5ltmake_dataset_f_int4(loc_id, dset_name, rank, dims, &
- type_id, buf, errcode )
-
- IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltmake_dataset_f_int4
- !DEC$endif
- !
-
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: rank ! rank
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- INTEGER, INTENT(in), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4)) :: buf ! data buffer
-
- INTERFACE
- INTEGER FUNCTION h5ltmake_dataset_int4_c(loc_id,namelen,dset_name,rank,dims,type_id,buf)
- USE h5global
- IMPLICIT NONE
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTMAKE_DATASET_INT4_C'::h5ltmake_dataset_int4_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: dset_name
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: rank ! rank
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER, INTENT(in), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4)) :: buf ! data buffer
- END FUNCTION h5ltmake_dataset_int4_c
- END INTERFACE
-
- namelen = LEN(dset_name)
- errcode = h5ltmake_dataset_int4_c(loc_id,namelen,dset_name,rank,dims,type_id,buf)
-
- END SUBROUTINE h5ltmake_dataset_f_int4
-
- !-------------------------------------------------------------------------
- ! Function: h5ltmake_dataset_f_int5
- !
- ! Purpose: Creates and writes a dataset of a type TYPE_ID
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: M. Scot Breitenfeld
- !
- ! Date: March 7, 2011
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
- SUBROUTINE h5ltmake_dataset_f_int5(loc_id, dset_name, rank, dims, &
- type_id, buf, errcode )
-
- IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltmake_dataset_f_int5
- !DEC$endif
- !
-
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: rank ! rank
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- INTEGER, INTENT(in), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)) :: buf ! data buffer
-
- INTERFACE
- INTEGER FUNCTION h5ltmake_dataset_int5_c(loc_id,namelen,dset_name,rank,dims,type_id,buf)
- USE h5global
- IMPLICIT NONE
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTMAKE_DATASET_INT5_C'::h5ltmake_dataset_int5_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: dset_name
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: rank ! rank
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER, INTENT(in), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)) :: buf ! data buffer
- END FUNCTION h5ltmake_dataset_int5_c
- END INTERFACE
-
- namelen = LEN(dset_name)
- errcode = h5ltmake_dataset_int5_c(loc_id,namelen,dset_name,rank,dims,type_id,buf)
-
- END SUBROUTINE h5ltmake_dataset_f_int5
-
- !-------------------------------------------------------------------------
- ! Function: h5ltmake_dataset_f_int6
- !
- ! Purpose: Creates and writes a dataset of a type TYPE_ID
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: M. Scot Breitenfeld
- !
- ! Date: March 7, 2011
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
- SUBROUTINE h5ltmake_dataset_f_int6(loc_id, dset_name, rank, dims, &
- type_id, buf, errcode )
-
- IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltmake_dataset_f_int6
- !DEC$endif
- !
-
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: rank ! rank
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- INTEGER, INTENT(in), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)) :: buf ! data buffer
-
- INTERFACE
- INTEGER FUNCTION h5ltmake_dataset_int6_c(loc_id,namelen,dset_name,rank,dims,type_id,buf)
- USE h5global
- IMPLICIT NONE
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTMAKE_DATASET_INT6_C'::h5ltmake_dataset_int6_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: dset_name
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: rank ! rank
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER, INTENT(in), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)) :: buf ! data buffer
- END FUNCTION h5ltmake_dataset_int6_c
- END INTERFACE
-
- namelen = LEN(dset_name)
- errcode = h5ltmake_dataset_int6_c(loc_id,namelen,dset_name,rank,dims,type_id,buf)
-
- END SUBROUTINE h5ltmake_dataset_f_int6
-
- !-------------------------------------------------------------------------
- ! Function: h5ltmake_dataset_f_int7
- !
- ! Purpose: Creates and writes a dataset of a type TYPE_ID
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: M. Scot Breitenfeld
- !
- ! Date: March 7, 2011
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
- SUBROUTINE h5ltmake_dataset_f_int7(loc_id, dset_name, rank, dims, &
- type_id, buf, errcode )
-
- IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltmake_dataset_f_int7
- !DEC$endif
- !
-
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: rank ! rank
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- INTEGER, INTENT(in), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)) :: buf ! data buffer
-
- INTERFACE
- INTEGER FUNCTION h5ltmake_dataset_int7_c(loc_id,namelen,dset_name,rank,dims,type_id,buf)
- USE h5global
- IMPLICIT NONE
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTMAKE_DATASET_INT7_C'::h5ltmake_dataset_int7_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: dset_name
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: rank ! rank
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER, INTENT(in), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)) :: buf ! data buffer
- END FUNCTION h5ltmake_dataset_int7_c
- END INTERFACE
-
- namelen = LEN(dset_name)
- errcode = h5ltmake_dataset_int7_c(loc_id,namelen,dset_name,rank,dims,type_id,buf)
-
- END SUBROUTINE h5ltmake_dataset_f_int7
-
-
- !-------------------------------------------------------------------------
- ! Function: h5ltmake_dataset_f_float1
- !
- ! Purpose: Creates and writes a dataset of a type TYPE_ID
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: pvn@ncsa.uiuc.edu
- !
- ! Date: September 1, 2004
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
- SUBROUTINE h5ltmake_dataset_f_float1(loc_id,&
- dset_name,&
- rank,&
- dims,&
- type_id,&
- buf,&
- errcode )
-
- IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltmake_dataset_f_float1
- !DEC$endif
- !
-
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: rank ! rank
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- REAL, INTENT(in), DIMENSION(*) :: buf ! data buffer
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
-
- INTERFACE
- INTEGER FUNCTION h5ltmake_dataset_fl1_c(loc_id,namelen,dset_name,rank,dims,type_id,buf)
- USE h5global
- IMPLICIT NONE
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTMAKE_DATASET_FL1_C'::h5ltmake_dataset_fl1_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: dset_name
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: rank ! rank
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- REAL, INTENT(in), DIMENSION(*) :: buf ! data buffer
- END FUNCTION h5ltmake_dataset_fl1_c
- END INTERFACE
-
- namelen = LEN(dset_name)
- errcode = h5ltmake_dataset_fl1_c(loc_id,namelen,dset_name,rank,dims,type_id,buf)
-
- END SUBROUTINE h5ltmake_dataset_f_float1
-
- !-------------------------------------------------------------------------
- ! Function: h5ltmake_dataset_f_float2
- !
- ! Purpose: Creates and writes a dataset of a type TYPE_ID
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: pvn@ncsa.uiuc.edu
- !
- ! Date: September 1, 2004
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
- SUBROUTINE h5ltmake_dataset_f_float2(loc_id,&
- dset_name,&
- rank,&
- dims,&
- type_id,&
- buf,&
- errcode )
-
- IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltmake_dataset_f_float2
- !DEC$endif
- !
-
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: rank ! rank
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- REAL, INTENT(in), &
- DIMENSION(dims(1),dims(2)) :: buf ! data buffer
-
- INTERFACE
- INTEGER FUNCTION h5ltmake_dataset_fl2_c(loc_id,namelen,dset_name,rank,dims,type_id,buf)
- USE h5global
- IMPLICIT NONE
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTMAKE_DATASET_FL2_C'::h5ltmake_dataset_fl2_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: dset_name
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: rank ! rank
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- REAL, INTENT(in), &
- DIMENSION(dims(1),dims(2)) :: buf ! data buffer
- END FUNCTION h5ltmake_dataset_fl2_c
- END INTERFACE
-
- namelen = LEN(dset_name)
- errcode = h5ltmake_dataset_fl2_c(loc_id,namelen,dset_name,rank,dims,type_id,buf)
-
- END SUBROUTINE h5ltmake_dataset_f_float2
-
- !-------------------------------------------------------------------------
- ! Function: h5ltmake_dataset_f_float3
- !
- ! Purpose: Creates and writes a dataset of a type TYPE_ID
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: pvn@ncsa.uiuc.edu
- !
- ! Date: September 1, 2004
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
- SUBROUTINE h5ltmake_dataset_f_float3(loc_id,&
- dset_name,&
- rank,&
- dims,&
- type_id,&
- buf,&
- errcode )
-
- IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltmake_dataset_f_float3
- !DEC$endif
- !
-
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: rank ! rank
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- REAL, INTENT(in), &
- DIMENSION(dims(1),dims(2),dims(3)) :: buf ! data buffer
-
- INTERFACE
- INTEGER FUNCTION h5ltmake_dataset_fl3_c(loc_id,namelen,dset_name,rank,dims,type_id,buf)
- USE h5global
- IMPLICIT NONE
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTMAKE_DATASET_FL3_C'::h5ltmake_dataset_fl3_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: dset_name
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: rank ! rank
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- REAL, INTENT(in), &
- DIMENSION(dims(1),dims(2),dims(3)) :: buf ! data buffer
- END FUNCTION h5ltmake_dataset_fl3_c
- END INTERFACE
-
- namelen = LEN(dset_name)
- errcode = h5ltmake_dataset_fl3_c(loc_id,namelen,dset_name,rank,dims,type_id,buf)
-
- END SUBROUTINE h5ltmake_dataset_f_float3
-
- !-------------------------------------------------------------------------
- ! Function: h5ltmake_dataset_f_float4
- !
- ! Purpose: Creates and writes a dataset of a type TYPE_ID
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: M. Scot Breitenfeld
- !
- ! Date: March 7, 2011
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
- SUBROUTINE h5ltmake_dataset_f_float4(loc_id, dset_name, rank, dims,&
- type_id, buf, errcode )
-
- IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltmake_dataset_f_float4
- !DEC$endif
- !
-
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: rank ! rank
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- REAL, INTENT(in), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4)) :: buf ! data buffer
-
- INTERFACE
- INTEGER FUNCTION h5ltmake_dataset_fl4_c(loc_id,namelen,dset_name,rank,dims,type_id,buf)
- USE h5global
- IMPLICIT NONE
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTMAKE_DATASET_FL4_C'::h5ltmake_dataset_fl4_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: dset_name
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: rank ! rank
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- REAL, INTENT(in), &
- DIMENSION(dims(1),dims(2),dims(3), dims(4)) :: buf ! data buffer
- END FUNCTION h5ltmake_dataset_fl4_c
- END INTERFACE
-
- namelen = LEN(dset_name)
- errcode = h5ltmake_dataset_fl4_c(loc_id,namelen,dset_name,rank,dims,type_id,buf)
-
- END SUBROUTINE h5ltmake_dataset_f_float4
-
- !-------------------------------------------------------------------------
- ! Function: h5ltmake_dataset_f_float5
- !
- ! Purpose: Creates and writes a dataset of a type TYPE_ID
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: M. Scot Breitenfeld
- !
- ! Date: March 7, 2011
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
- SUBROUTINE h5ltmake_dataset_f_float5(loc_id, dset_name, rank, dims,&
- type_id, buf, errcode )
-
- IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltmake_dataset_f_float5
- !DEC$endif
- !
-
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: rank ! rank
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- REAL, INTENT(in), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)) :: buf ! data buffer
-
- INTERFACE
- INTEGER FUNCTION h5ltmake_dataset_fl5_c(loc_id,namelen,dset_name,rank,dims,type_id,buf)
- USE h5global
- IMPLICIT NONE
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTMAKE_DATASET_FL5_C'::h5ltmake_dataset_fl5_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: dset_name
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: rank ! rank
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- REAL, INTENT(in), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)) :: buf ! data buffer
- END FUNCTION h5ltmake_dataset_fl5_c
- END INTERFACE
-
- namelen = LEN(dset_name)
- errcode = h5ltmake_dataset_fl5_c(loc_id,namelen,dset_name,rank,dims,type_id,buf)
-
- END SUBROUTINE h5ltmake_dataset_f_float5
-
- !-------------------------------------------------------------------------
- ! Function: h5ltmake_dataset_f_float6
- !
- ! Purpose: Creates and writes a dataset of a type TYPE_ID
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: M. Scot Breitenfeld
- !
- ! Date: March 7, 2011
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
- SUBROUTINE h5ltmake_dataset_f_float6(loc_id, dset_name, rank, dims,&
- type_id, buf, errcode )
-
- IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltmake_dataset_f_float6
- !DEC$endif
- !
-
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: rank ! rank
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- REAL, INTENT(in), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)) :: buf ! data buffer
-
- INTERFACE
- INTEGER FUNCTION h5ltmake_dataset_fl6_c(loc_id,namelen,dset_name,rank,dims,type_id,buf)
- USE h5global
- IMPLICIT NONE
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTMAKE_DATASET_FL6_C'::h5ltmake_dataset_fl6_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: dset_name
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: rank ! rank
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- REAL, INTENT(in), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)) :: buf ! data buffer
- END FUNCTION h5ltmake_dataset_fl6_c
- END INTERFACE
-
- namelen = LEN(dset_name)
- errcode = h5ltmake_dataset_fl6_c(loc_id,namelen,dset_name,rank,dims,type_id,buf)
-
- END SUBROUTINE h5ltmake_dataset_f_float6
-
- !-------------------------------------------------------------------------
- ! Function: h5ltmake_dataset_f_float7
- !
- ! Purpose: Creates and writes a dataset of a type TYPE_ID
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: M. Scot Breitenfeld
- !
- ! Date: March 7, 2011
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
- SUBROUTINE h5ltmake_dataset_f_float7(loc_id, dset_name, rank, dims,&
- type_id, buf, errcode )
-
- IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltmake_dataset_f_float7
- !DEC$endif
- !
-
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: rank ! rank
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- REAL, INTENT(in), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)) :: buf ! data buffer
-
- INTERFACE
- INTEGER FUNCTION h5ltmake_dataset_fl7_c(loc_id,namelen,dset_name,rank,dims,type_id,buf)
- USE h5global
- IMPLICIT NONE
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTMAKE_DATASET_FL7_C'::h5ltmake_dataset_fl7_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: dset_name
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: rank ! rank
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- REAL, INTENT(in), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)) :: buf ! data buffer
- END FUNCTION h5ltmake_dataset_fl7_c
- END INTERFACE
-
- namelen = LEN(dset_name)
- errcode = h5ltmake_dataset_fl7_c(loc_id,namelen,dset_name,rank,dims,type_id,buf)
-
- END SUBROUTINE h5ltmake_dataset_f_float7
-
- !-------------------------------------------------------------------------
- ! Function: h5ltmake_dataset_f_double1
- !
- ! Purpose: Creates and writes a dataset of a type TYPE_ID
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: pvn@ncsa.uiuc.edu
- !
- ! Date: September 1, 2004
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
- SUBROUTINE h5ltmake_dataset_f_double1(loc_id,&
- dset_name,&
- rank,&
- dims,&
- type_id,&
- buf,&
- errcode )
-
- IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltmake_dataset_f_double1
- !DEC$endif
- !
-
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: rank ! rank
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- DOUBLE PRECISION, INTENT(in), DIMENSION(*) :: buf ! data buffer
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
-
- INTERFACE
- INTEGER FUNCTION h5ltmake_dataset_dl1_c(loc_id,namelen,dset_name,rank,dims,type_id,buf)
- USE h5global
- IMPLICIT NONE
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTMAKE_DATASET_DL1_C'::h5ltmake_dataset_dl1_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: dset_name
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: rank ! rank
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- DOUBLE PRECISION, INTENT(in), DIMENSION(*) :: buf ! data buffer
- END FUNCTION h5ltmake_dataset_dl1_c
- END INTERFACE
-
- namelen = LEN(dset_name)
- errcode = h5ltmake_dataset_dl1_c(loc_id,namelen,dset_name,rank,dims,type_id,buf)
-
- END SUBROUTINE h5ltmake_dataset_f_double1
-
- !-------------------------------------------------------------------------
- ! Function: h5ltmake_dataset_f_double2
- !
- ! Purpose: Creates and writes a dataset of a type TYPE_ID
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: pvn@ncsa.uiuc.edu
- !
- ! Date: September 1, 2004
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
- SUBROUTINE h5ltmake_dataset_f_double2(loc_id,&
- dset_name,&
- rank,&
- dims,&
- type_id,&
- buf,&
- errcode )
-
- IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltmake_dataset_f_double2
- !DEC$endif
- !
-
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: rank ! rank
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- DOUBLE PRECISION, INTENT(in), &
- DIMENSION(dims(1),dims(2)) :: buf ! data buffer
-
- INTERFACE
- INTEGER FUNCTION h5ltmake_dataset_dl2_c(loc_id,namelen,dset_name,rank,dims,type_id,buf)
- USE h5global
- IMPLICIT NONE
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTMAKE_DATASET_DL2_C'::h5ltmake_dataset_dl2_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: dset_name
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: rank ! rank
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- DOUBLE PRECISION, INTENT(in), &
- DIMENSION(dims(1),dims(2)) :: buf ! data buffer
- END FUNCTION h5ltmake_dataset_dl2_c
- END INTERFACE
-
- namelen = LEN(dset_name)
- errcode = h5ltmake_dataset_dl2_c(loc_id,namelen,dset_name,rank,dims,type_id,buf)
-
- END SUBROUTINE h5ltmake_dataset_f_double2
-
- !-------------------------------------------------------------------------
- ! Function: h5ltmake_dataset_f_double3
- !
- ! Purpose: Creates and writes a dataset of a type TYPE_ID
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: pvn@ncsa.uiuc.edu
- !
- ! Date: September 1, 2004
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
- SUBROUTINE h5ltmake_dataset_f_double3(loc_id,&
- dset_name,&
- rank,&
- dims,&
- type_id,&
- buf,&
- errcode )
-
- IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltmake_dataset_f_double3
- !DEC$endif
- !
-
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: rank ! rank
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- DOUBLE PRECISION, INTENT(in), &
- DIMENSION(dims(1),dims(2),dims(3)) :: buf ! data buffer
-
- INTERFACE
- INTEGER FUNCTION h5ltmake_dataset_dl3_c(loc_id,namelen,dset_name,rank,dims,type_id,buf)
- USE h5global
- IMPLICIT NONE
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTMAKE_DATASET_DL3_C'::h5ltmake_dataset_dl3_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: dset_name
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: rank ! rank
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- DOUBLE PRECISION, INTENT(in), &
- DIMENSION(dims(1),dims(2),dims(3)) :: buf ! data buffer
- END FUNCTION h5ltmake_dataset_dl3_c
- END INTERFACE
-
- namelen = LEN(dset_name)
- errcode = h5ltmake_dataset_dl3_c(loc_id,namelen,dset_name,rank,dims,type_id,buf)
-
- END SUBROUTINE h5ltmake_dataset_f_double3
-
- !-------------------------------------------------------------------------
- ! Function: h5ltmake_dataset_f_double4
- !
- ! Purpose: Creates and writes a dataset of a type TYPE_ID
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: M. Scot Breitenfeld
- !
- ! Date: March 7, 2011
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
- SUBROUTINE h5ltmake_dataset_f_double4(loc_id, dset_name, rank, dims, &
- type_id, buf, errcode )
-
- IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltmake_dataset_f_double4
- !DEC$endif
- !
-
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: rank ! rank
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- DOUBLE PRECISION, INTENT(in), &
- DIMENSION(dims(1),dims(2),dims(3), dims(4)) :: buf ! data buffer
-
- INTERFACE
- INTEGER FUNCTION h5ltmake_dataset_dl4_c(loc_id,namelen,dset_name,rank,dims,type_id,buf)
- USE h5global
- IMPLICIT NONE
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTMAKE_DATASET_DL4_C'::h5ltmake_dataset_dl4_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: dset_name
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: rank ! rank
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- DOUBLE PRECISION, INTENT(in), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4)) :: buf ! data buffer
- END FUNCTION h5ltmake_dataset_dl4_c
- END INTERFACE
-
- namelen = LEN(dset_name)
- errcode = h5ltmake_dataset_dl4_c(loc_id,namelen,dset_name,rank,dims,type_id,buf)
-
- END SUBROUTINE h5ltmake_dataset_f_double4
-
- !-------------------------------------------------------------------------
- ! Function: h5ltmake_dataset_f_double5
- !
- ! Purpose: Creates and writes a dataset of a type TYPE_ID
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: M. Scot Breitenfeld
- !
- ! Date: March 7, 2011
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
- SUBROUTINE h5ltmake_dataset_f_double5(loc_id, dset_name, rank, dims, &
- type_id, buf, errcode )
-
- IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltmake_dataset_f_double5
- !DEC$endif
- !
-
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: rank ! rank
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- DOUBLE PRECISION, INTENT(in), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)) :: buf ! data buffer
-
- INTERFACE
- INTEGER FUNCTION h5ltmake_dataset_dl5_c(loc_id,namelen,dset_name,rank,dims,type_id,buf)
- USE h5global
- IMPLICIT NONE
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTMAKE_DATASET_DL5_C'::h5ltmake_dataset_dl5_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: dset_name
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: rank ! rank
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- DOUBLE PRECISION, INTENT(in), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)) :: buf ! data buffer
- END FUNCTION h5ltmake_dataset_dl5_c
- END INTERFACE
-
- namelen = LEN(dset_name)
- errcode = h5ltmake_dataset_dl5_c(loc_id,namelen,dset_name,rank,dims,type_id,buf)
-
- END SUBROUTINE h5ltmake_dataset_f_double5
-
- !-------------------------------------------------------------------------
- ! Function: h5ltmake_dataset_f_double6
- !
- ! Purpose: Creates and writes a dataset of a type TYPE_ID
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: M. Scot Breitenfeld
- !
- ! Date: March 7, 2011
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
- SUBROUTINE h5ltmake_dataset_f_double6(loc_id, dset_name, rank, dims, &
- type_id, buf, errcode )
-
- IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltmake_dataset_f_double6
- !DEC$endif
- !
-
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: rank ! rank
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- DOUBLE PRECISION, INTENT(in), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)) :: buf ! data buffer
-
- INTERFACE
- INTEGER FUNCTION h5ltmake_dataset_dl6_c(loc_id,namelen,dset_name,rank,dims,type_id,buf)
- USE h5global
- IMPLICIT NONE
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTMAKE_DATASET_DL6_C'::h5ltmake_dataset_dl6_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: dset_name
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: rank ! rank
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- DOUBLE PRECISION, INTENT(in), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)) :: buf ! data buffer
- END FUNCTION h5ltmake_dataset_dl6_c
- END INTERFACE
-
- namelen = LEN(dset_name)
- errcode = h5ltmake_dataset_dl6_c(loc_id,namelen,dset_name,rank,dims,type_id,buf)
-
- END SUBROUTINE h5ltmake_dataset_f_double6
-
- !-------------------------------------------------------------------------
- ! Function: h5ltmake_dataset_f_double7
- !
- ! Purpose: Creates and writes a dataset of a type TYPE_ID
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: M. Scot Breitenfeld
- !
- ! Date: March 7, 2011
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
- SUBROUTINE h5ltmake_dataset_f_double7(loc_id, dset_name, rank, dims, &
- type_id, buf, errcode )
-
- IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltmake_dataset_f_double7
- !DEC$endif
- !
-
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: rank ! rank
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- DOUBLE PRECISION, INTENT(in), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)) :: buf ! data buffer
-
- INTERFACE
- INTEGER FUNCTION h5ltmake_dataset_dl7_c(loc_id,namelen,dset_name,rank,dims,type_id,buf)
- USE h5global
- IMPLICIT NONE
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTMAKE_DATASET_DL7_C'::h5ltmake_dataset_dl7_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: dset_name
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: rank ! rank
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- DOUBLE PRECISION, INTENT(in), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)) :: buf ! data buffer
- END FUNCTION h5ltmake_dataset_dl7_c
- END INTERFACE
-
- namelen = LEN(dset_name)
- errcode = h5ltmake_dataset_dl7_c(loc_id,namelen,dset_name,rank,dims,type_id,buf)
-
- END SUBROUTINE h5ltmake_dataset_f_double7
-
- !-------------------------------------------------------------------------
- ! Function: h5ltread_dataset_f_int1
- !
- ! Purpose: Read a dataset of a type TYPE_ID
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: pvn@ncsa.uiuc.edu
- !
- ! Date: September 22, 2004
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
- SUBROUTINE h5ltread_dataset_f_int1(loc_id,&
- dset_name,&
- type_id,&
- buf,&
- dims,&
- errcode )
-
- IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltread_dataset_f_int1
- !DEC$endif
- !
-
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER, INTENT(inout), DIMENSION(*) :: buf ! data buffer
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
-
- INTERFACE
- INTEGER FUNCTION h5ltread_dataset_int1_c(loc_id,namelen,dset_name,type_id,buf,dims)
- USE h5global
- IMPLICIT NONE
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTREAD_DATASET_INT1_C'::h5ltread_dataset_int1_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: dset_name
- INTEGER(HID_T), INTENT(IN) :: loc_id ! file or group identifier
- INTEGER(HID_T), INTENT(IN) :: type_id ! datatype identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(LEN=*), INTENT(IN) :: dset_name ! name of the dataset
- INTEGER(HSIZE_T), DIMENSION(*), INTENT(IN) :: dims ! size of the buffer buf
- INTEGER, INTENT(IN), DIMENSION(*) :: buf ! data buffer
- END FUNCTION h5ltread_dataset_int1_c
- END INTERFACE
-
- namelen = LEN(dset_name)
- errcode = h5ltread_dataset_int1_c(loc_id,namelen,dset_name,type_id,buf,dims)
-
- END SUBROUTINE h5ltread_dataset_f_int1
-
- !-------------------------------------------------------------------------
- ! Function: h5ltread_dataset_f_int2
- !
- ! Purpose: Read a dataset of a type TYPE_ID
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: pvn@ncsa.uiuc.edu
- !
- ! Date: September 22, 2004
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
- SUBROUTINE h5ltread_dataset_f_int2(loc_id,&
- dset_name,&
- type_id,&
- buf,&
- dims,&
- errcode )
-
- IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltread_dataset_f_int2
- !DEC$endif
- !
-
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- INTEGER, INTENT(inout), &
- DIMENSION(dims(1),dims(2)) :: buf ! data buffer
-
- INTERFACE
- INTEGER FUNCTION h5ltread_dataset_int2_c(loc_id,namelen,dset_name,type_id,buf,dims)
- USE h5global
- IMPLICIT NONE
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTREAD_DATASET_INT2_C'::h5ltread_dataset_int2_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: dset_name
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER, INTENT(in), &
- DIMENSION(dims(1),dims(2)) :: buf ! data buffer
- END FUNCTION h5ltread_dataset_int2_c
- END INTERFACE
-
- namelen = LEN(dset_name)
- errcode = h5ltread_dataset_int2_c(loc_id,namelen,dset_name,type_id,buf,dims)
-
- END SUBROUTINE h5ltread_dataset_f_int2
-
- !-------------------------------------------------------------------------
- ! Function: h5ltread_dataset_f_int3
- !
- ! Purpose: Read a dataset of a type TYPE_ID
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: pvn@ncsa.uiuc.edu
- !
- ! Date: September 22, 2004
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
- SUBROUTINE h5ltread_dataset_f_int3(loc_id,&
- dset_name,&
- type_id,&
- buf,&
- dims,&
- errcode )
-
- IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltread_dataset_f_int3
- !DEC$endif
- !
-
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- INTEGER, INTENT(inout), &
- DIMENSION(dims(1),dims(2),dims(3)) :: buf ! data buffer
-
- INTERFACE
- INTEGER FUNCTION h5ltread_dataset_int3_c(loc_id,namelen,dset_name,type_id,buf,dims)
- USE h5global
- IMPLICIT NONE
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTREAD_DATASET_INT3_C'::h5ltread_dataset_int3_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: dset_name
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER, INTENT(in), &
- DIMENSION(dims(1),dims(2),dims(3)) :: buf ! data buffer
- END FUNCTION h5ltread_dataset_int3_c
- END INTERFACE
-
- namelen = LEN(dset_name)
- errcode = h5ltread_dataset_int3_c(loc_id,namelen,dset_name,type_id,buf,dims)
-
- END SUBROUTINE h5ltread_dataset_f_int3
-
- !-------------------------------------------------------------------------
- ! Function: h5ltread_dataset_f_int4
- !
- ! Purpose: Read a dataset of a type TYPE_ID
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: M. Scot Breitenfeld
- !
- ! Date: March 12, 2011
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
- SUBROUTINE h5ltread_dataset_f_int4(loc_id, dset_name, type_id, buf, &
- dims, errcode )
-
- IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltread_dataset_f_int4
- !DEC$endif
- !
-
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- INTEGER, INTENT(inout), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4)) :: buf ! data buffer
-
- INTERFACE
- INTEGER FUNCTION h5ltread_dataset_int4_c(loc_id,namelen,dset_name,type_id,buf,dims)
- USE h5global
- IMPLICIT NONE
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTREAD_DATASET_INT4_C'::h5ltread_dataset_int4_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: dset_name
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER, INTENT(in), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4)) :: buf ! data buffer
- END FUNCTION h5ltread_dataset_int4_c
- END INTERFACE
-
- namelen = LEN(dset_name)
- errcode = h5ltread_dataset_int4_c(loc_id,namelen,dset_name,type_id,buf,dims)
-
- END SUBROUTINE h5ltread_dataset_f_int4
-
- !-------------------------------------------------------------------------
- ! Function: h5ltread_dataset_f_int5
- !
- ! Purpose: Read a dataset of a type TYPE_ID
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: M. Scot Breitenfeld
- !
- ! Date: March 12, 2011
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
- SUBROUTINE h5ltread_dataset_f_int5(loc_id, dset_name, type_id, buf, &
- dims, errcode )
-
- IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltread_dataset_f_int5
- !DEC$endif
- !
-
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- INTEGER, INTENT(inout), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)) :: buf ! data buffer
-
- INTERFACE
- INTEGER FUNCTION h5ltread_dataset_int5_c(loc_id,namelen,dset_name,type_id,buf,dims)
- USE h5global
- IMPLICIT NONE
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTREAD_DATASET_INT5_C'::h5ltread_dataset_int5_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: dset_name
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER, INTENT(in), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)) :: buf ! data buffer
- END FUNCTION h5ltread_dataset_int5_c
- END INTERFACE
-
- namelen = LEN(dset_name)
- errcode = h5ltread_dataset_int5_c(loc_id,namelen,dset_name,type_id,buf,dims)
-
- END SUBROUTINE h5ltread_dataset_f_int5
-
- !-------------------------------------------------------------------------
- ! Function: h5ltread_dataset_f_int6
- !
- ! Purpose: Read a dataset of a type TYPE_ID
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: M. Scot Breitenfeld
- !
- ! Date: March 12, 2011
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
- SUBROUTINE h5ltread_dataset_f_int6(loc_id, dset_name, type_id, buf, &
- dims, errcode )
-
- IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltread_dataset_f_int6
- !DEC$endif
- !
-
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- INTEGER, INTENT(inout), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)) :: buf ! data buffer
-
- INTERFACE
- INTEGER FUNCTION h5ltread_dataset_int6_c(loc_id,namelen,dset_name,type_id,buf,dims)
- USE h5global
- IMPLICIT NONE
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTREAD_DATASET_INT6_C'::h5ltread_dataset_int6_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: dset_name
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER, INTENT(in), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)) :: buf ! data buffer
- END FUNCTION h5ltread_dataset_int6_c
- END INTERFACE
-
- namelen = LEN(dset_name)
- errcode = h5ltread_dataset_int6_c(loc_id,namelen,dset_name,type_id,buf,dims)
-
- END SUBROUTINE h5ltread_dataset_f_int6
-
- !-------------------------------------------------------------------------
- ! Function: h5ltread_dataset_f_int7
- !
- ! Purpose: Read a dataset of a type TYPE_ID
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: M. Scot Breitenfeld
- !
- ! Date: March 12, 2011
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
- SUBROUTINE h5ltread_dataset_f_int7(loc_id, dset_name, type_id, buf, &
- dims, errcode )
-
- IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltread_dataset_f_int7
- !DEC$endif
- !
-
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- INTEGER, INTENT(inout), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)) :: buf ! data buffer
-
- INTERFACE
- INTEGER FUNCTION h5ltread_dataset_int7_c(loc_id,namelen,dset_name,type_id,buf,dims)
- USE h5global
- IMPLICIT NONE
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTREAD_DATASET_INT7_C'::h5ltread_dataset_int7_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: dset_name
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER, INTENT(in), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)) :: buf ! data buffer
- END FUNCTION h5ltread_dataset_int7_c
- END INTERFACE
-
- namelen = LEN(dset_name)
- errcode = h5ltread_dataset_int7_c(loc_id,namelen,dset_name,type_id,buf,dims)
-
- END SUBROUTINE h5ltread_dataset_f_int7
-
-
- !-------------------------------------------------------------------------
- ! Function: h5ltread_dataset_f_float1
- !
- ! Purpose: Read a dataset of a type TYPE_ID
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: pvn@ncsa.uiuc.edu
- !
- ! Date: September 22, 2004
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
- SUBROUTINE h5ltread_dataset_f_float1(loc_id,&
- dset_name,&
- type_id,&
- buf,&
- dims,&
- errcode )
-
- IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltread_dataset_f_float1
- !DEC$endif
- !
-
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- REAL, INTENT(inout), DIMENSION(*) :: buf ! data buffer
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
-
- INTERFACE
- INTEGER FUNCTION h5ltread_dataset_fl1_c(loc_id,namelen,dset_name,type_id,buf,dims)
- USE h5global
- IMPLICIT NONE
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTREAD_DATASET_FL1_C'::h5ltread_dataset_fl1_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: dset_name
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- REAL, INTENT(in), DIMENSION(*) :: buf ! data buffer
- END FUNCTION h5ltread_dataset_fl1_c
- END INTERFACE
-
- namelen = LEN(dset_name)
- errcode = h5ltread_dataset_fl1_c(loc_id,namelen,dset_name,type_id,buf,dims)
-
- END SUBROUTINE h5ltread_dataset_f_float1
-
- !-------------------------------------------------------------------------
- ! Function: h5ltread_dataset_f_float2
- !
- ! Purpose: Read a dataset of a type TYPE_ID
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: pvn@ncsa.uiuc.edu
- !
- ! Date: September 22, 2004
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
- SUBROUTINE h5ltread_dataset_f_float2(loc_id,&
- dset_name,&
- type_id,&
- buf,&
- dims,&
- errcode )
-
- IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltread_dataset_f_float2
- !DEC$endif
- !
-
-
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- REAL, INTENT(inout), &
- DIMENSION(dims(1),dims(2)) :: buf ! data buffer
-
- INTERFACE
- INTEGER FUNCTION h5ltread_dataset_fl2_c(loc_id,namelen,dset_name,type_id,buf,dims)
- USE h5global
- IMPLICIT NONE
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTREAD_DATASET_FL2_C'::h5ltread_dataset_fl2_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: dset_name
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- REAL, INTENT(in), &
- DIMENSION(dims(1),dims(2)) :: buf ! data buffer
- END FUNCTION h5ltread_dataset_fl2_c
- END INTERFACE
-
- namelen = LEN(dset_name)
- errcode = h5ltread_dataset_fl2_c(loc_id,namelen,dset_name,type_id,buf,dims)
-
- END SUBROUTINE h5ltread_dataset_f_float2
-
- !-------------------------------------------------------------------------
- ! Function: h5ltread_dataset_f_float3
- !
- ! Purpose: Read a dataset of a type TYPE_ID
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: pvn@ncsa.uiuc.edu
- !
- ! Date: September 22, 2004
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
- SUBROUTINE h5ltread_dataset_f_float3(loc_id,&
- dset_name,&
- type_id,&
- buf,&
- dims,&
- errcode )
-
- IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltread_dataset_f_float3
- !DEC$endif
- !
-
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- REAL, INTENT(inout), &
- DIMENSION(dims(1),dims(2),dims(3)) :: buf ! data buffer
-
- INTERFACE
- INTEGER FUNCTION h5ltread_dataset_fl3_c(loc_id,namelen,dset_name,type_id,buf,dims)
- USE h5global
- IMPLICIT NONE
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTREAD_DATASET_FL3_C'::h5ltread_dataset_fl3_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: dset_name
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- REAL, INTENT(in), &
- DIMENSION(dims(1),dims(2),dims(3)) :: buf ! data buffer
- END FUNCTION h5ltread_dataset_fl3_c
- END INTERFACE
-
- namelen = LEN(dset_name)
- errcode = h5ltread_dataset_fl3_c(loc_id,namelen,dset_name,type_id,buf,dims)
-
- END SUBROUTINE h5ltread_dataset_f_float3
-
- !-------------------------------------------------------------------------
- ! Function: h5ltread_dataset_f_float4
- !
- ! Purpose: Read a dataset of a type TYPE_ID
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: M. Scot Breitenfeld
- !
- ! Date: March 8, 2011
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
- SUBROUTINE h5ltread_dataset_f_float4(loc_id, dset_name, type_id, buf, &
- dims, errcode )
-
- IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltread_dataset_f_float4
- !DEC$endif
- !
-
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- REAL, INTENT(inout), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4)) :: buf ! data buffer
-
- INTERFACE
- INTEGER FUNCTION h5ltread_dataset_fl4_c(loc_id,namelen,dset_name,type_id,buf,dims)
- USE h5global
- IMPLICIT NONE
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTREAD_DATASET_FL4_C'::h5ltread_dataset_fl4_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: dset_name
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- REAL, INTENT(in), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4)) :: buf ! data buffer
- END FUNCTION h5ltread_dataset_fl4_c
- END INTERFACE
-
- namelen = LEN(dset_name)
- errcode = h5ltread_dataset_fl4_c(loc_id,namelen,dset_name,type_id,buf,dims)
-
- END SUBROUTINE h5ltread_dataset_f_float4
-
- !-------------------------------------------------------------------------
- ! Function: h5ltread_dataset_f_float5
- !
- ! Purpose: Read a dataset of a type TYPE_ID
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: M. Scot Breitenfeld
- !
- ! Date: March 8, 2011
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
- SUBROUTINE h5ltread_dataset_f_float5(loc_id, dset_name, type_id, buf, &
- dims, errcode )
-
- IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltread_dataset_f_float5
- !DEC$endif
- !
-
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- REAL, INTENT(inout), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)) :: buf ! data buffer
-
- INTERFACE
- INTEGER FUNCTION h5ltread_dataset_fl5_c(loc_id,namelen,dset_name,type_id,buf,dims)
- USE h5global
- IMPLICIT NONE
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTREAD_DATASET_FL5_C'::h5ltread_dataset_fl5_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: dset_name
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- REAL, INTENT(in), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)) :: buf ! data buffer
- END FUNCTION h5ltread_dataset_fl5_c
- END INTERFACE
-
- namelen = LEN(dset_name)
- errcode = h5ltread_dataset_fl5_c(loc_id,namelen,dset_name,type_id,buf,dims)
-
- END SUBROUTINE h5ltread_dataset_f_float5
-
- !-------------------------------------------------------------------------
- ! Function: h5ltread_dataset_f_float6
- !
- ! Purpose: Read a dataset of a type TYPE_ID
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: M. Scot Breitenfeld
- !
- ! Date: March 8, 2011
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
- SUBROUTINE h5ltread_dataset_f_float6(loc_id, dset_name, type_id, buf, &
- dims, errcode )
-
- IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltread_dataset_f_float6
- !DEC$endif
- !
-
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- REAL, INTENT(inout), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)) :: buf ! data buffer
-
- INTERFACE
- INTEGER FUNCTION h5ltread_dataset_fl6_c(loc_id,namelen,dset_name,type_id,buf,dims)
- USE h5global
- IMPLICIT NONE
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTREAD_DATASET_FL6_C'::h5ltread_dataset_fl6_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: dset_name
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- REAL, INTENT(in), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)) :: buf ! data buffer
- END FUNCTION h5ltread_dataset_fl6_c
- END INTERFACE
-
- namelen = LEN(dset_name)
- errcode = h5ltread_dataset_fl6_c(loc_id,namelen,dset_name,type_id,buf,dims)
-
- END SUBROUTINE h5ltread_dataset_f_float6
-
- !-------------------------------------------------------------------------
- ! Function: h5ltread_dataset_f_float7
- !
- ! Purpose: Read a dataset of a type TYPE_ID
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: M. Scot Breitenfeld
- !
- ! Date: March 8, 2011
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
- SUBROUTINE h5ltread_dataset_f_float7(loc_id, dset_name, type_id, buf, &
- dims, errcode )
-
- IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltread_dataset_f_float7
- !DEC$endif
- !
-
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- REAL, INTENT(inout), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)) :: buf ! data buffer
-
- INTERFACE
- INTEGER FUNCTION h5ltread_dataset_fl7_c(loc_id,namelen,dset_name,type_id,buf,dims)
- USE h5global
- IMPLICIT NONE
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTREAD_DATASET_FL7_C'::h5ltread_dataset_fl7_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: dset_name
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- REAL, INTENT(in), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)) :: buf ! data buffer
- END FUNCTION h5ltread_dataset_fl7_c
- END INTERFACE
-
- namelen = LEN(dset_name)
- errcode = h5ltread_dataset_fl7_c(loc_id,namelen,dset_name,type_id,buf,dims)
-
- END SUBROUTINE h5ltread_dataset_f_float7
-
-
- !-------------------------------------------------------------------------
- ! Function: h5ltread_dataset_f_double1
- !
- ! Purpose: Read a dataset of a type TYPE_ID
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: pvn@ncsa.uiuc.edu
- !
- ! Date: September 22, 2004
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
- SUBROUTINE h5ltread_dataset_f_double1(loc_id,&
- dset_name,&
- type_id,&
- buf,&
- dims,&
- errcode )
-
- IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport ::h5ltread_dataset_f_double1
- !DEC$endif
- !
-
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- DOUBLE PRECISION, INTENT(inout), DIMENSION(*) :: buf ! data buffer
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
-
- INTERFACE
- INTEGER FUNCTION h5ltread_dataset_dl1_c(loc_id,namelen,dset_name,type_id,buf,dims)
- USE h5global
- IMPLICIT NONE
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTREAD_DATASET_DL1_C'::h5ltread_dataset_dl1_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: dset_name
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- DOUBLE PRECISION, INTENT(in), DIMENSION(*) :: buf ! data buffer
- END FUNCTION h5ltread_dataset_dl1_c
- END INTERFACE
-
- namelen = LEN(dset_name)
- errcode = h5ltread_dataset_dl1_c(loc_id,namelen,dset_name,type_id,buf,dims)
-
- END SUBROUTINE h5ltread_dataset_f_double1
-
- !-------------------------------------------------------------------------
- ! Function: h5ltread_dataset_f_double2
- !
- ! Purpose: Read a dataset of a type TYPE_ID
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: pvn@ncsa.uiuc.edu
- !
- ! Date: September 22, 2004
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
- SUBROUTINE h5ltread_dataset_f_double2(loc_id,&
- dset_name,&
- type_id,&
- buf,&
- dims,&
- errcode )
-
- IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltread_dataset_f_double2
- !DEC$endif
- !
-
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- DOUBLE PRECISION, INTENT(inout), &
- DIMENSION(dims(1),dims(2)) :: buf ! data buffer
-
- INTERFACE
- INTEGER FUNCTION h5ltread_dataset_dl2_c(loc_id,namelen,dset_name,type_id,buf,dims)
- USE h5global
- IMPLICIT NONE
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTREAD_DATASET_DL2_C'::h5ltread_dataset_dl2_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: dset_name
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- DOUBLE PRECISION, INTENT(in), &
- DIMENSION(dims(1),dims(2)) :: buf ! data buffer
- END FUNCTION h5ltread_dataset_dl2_c
- END INTERFACE
-
- namelen = LEN(dset_name)
- errcode = h5ltread_dataset_dl2_c(loc_id,namelen,dset_name,type_id,buf,dims)
-
- END SUBROUTINE h5ltread_dataset_f_double2
-
- !-------------------------------------------------------------------------
- ! Function: h5ltread_dataset_f_double3
- !
- ! Purpose: Read a dataset of a type TYPE_ID
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: pvn@ncsa.uiuc.edu
- !
- ! Date: September 22, 2004
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
- SUBROUTINE h5ltread_dataset_f_double3(loc_id,&
- dset_name,&
- type_id,&
- buf,&
- dims,&
- errcode )
-
- IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltread_dataset_f_double3
- !DEC$endif
- !
-
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- DOUBLE PRECISION, INTENT(inout), &
- DIMENSION(dims(1),dims(2),dims(3)) :: buf ! data buffer
-
- INTERFACE
- INTEGER FUNCTION h5ltread_dataset_dl3_c(loc_id,namelen,dset_name,type_id,buf,dims)
- USE h5global
- IMPLICIT NONE
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTREAD_DATASET_DL3_C'::h5ltread_dataset_dl3_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: dset_name
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- DOUBLE PRECISION, INTENT(in), &
- DIMENSION(dims(1),dims(2),dims(3)) :: buf ! data buffer
- END FUNCTION h5ltread_dataset_dl3_c
- END INTERFACE
-
- namelen = LEN(dset_name)
- errcode = h5ltread_dataset_dl3_c(loc_id,namelen,dset_name,type_id,buf,dims)
-
- END SUBROUTINE h5ltread_dataset_f_double3
-
- !-------------------------------------------------------------------------
- ! Function: h5ltread_dataset_f_double4
- !
- ! Purpose: Read a dataset of a type TYPE_ID
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: M. Scot Breitenfeld
- !
- ! Date: March 8, 2011
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
- SUBROUTINE h5ltread_dataset_f_double4(loc_id, dset_name, type_id, buf, &
- dims, errcode )
-
- IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltread_dataset_f_double4
- !DEC$endif
- !
-
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- DOUBLE PRECISION, INTENT(inout), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4)) :: buf ! data buffer
-
- INTERFACE
- INTEGER FUNCTION h5ltread_dataset_dl4_c(loc_id,namelen,dset_name,type_id,buf,dims)
- USE h5global
- IMPLICIT NONE
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTREAD_DATASET_DL4_C'::h5ltread_dataset_dl4_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: dset_name
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- DOUBLE PRECISION, INTENT(in), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4)) :: buf ! data buffer
- END FUNCTION h5ltread_dataset_dl4_c
- END INTERFACE
-
- namelen = LEN(dset_name)
- errcode = h5ltread_dataset_dl4_c(loc_id,namelen,dset_name,type_id,buf,dims)
-
- END SUBROUTINE h5ltread_dataset_f_double4
-
- !-------------------------------------------------------------------------
- ! Function: h5ltread_dataset_f_double5
- !
- ! Purpose: Read a dataset of a type TYPE_ID
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: M. Scot Breitenfeld
- !
- ! Date: March 8, 2011
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
- SUBROUTINE h5ltread_dataset_f_double5(loc_id, dset_name, type_id, buf, &
- dims, errcode )
-
- IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltread_dataset_f_double5
- !DEC$endif
- !
-
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- DOUBLE PRECISION, INTENT(inout), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)) :: buf ! data buffer
-
- INTERFACE
- INTEGER FUNCTION h5ltread_dataset_dl5_c(loc_id,namelen,dset_name,type_id,buf,dims)
- USE h5global
- IMPLICIT NONE
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTREAD_DATASET_DL5_C'::h5ltread_dataset_dl5_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: dset_name
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- DOUBLE PRECISION, INTENT(in), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)) :: buf ! data buffer
- END FUNCTION h5ltread_dataset_dl5_c
- END INTERFACE
-
- namelen = LEN(dset_name)
- errcode = h5ltread_dataset_dl5_c(loc_id,namelen,dset_name,type_id,buf,dims)
-
- END SUBROUTINE h5ltread_dataset_f_double5
-
- !-------------------------------------------------------------------------
- ! Function: h5ltread_dataset_f_double6
- !
- ! Purpose: Read a dataset of a type TYPE_ID
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: M. Scot Breitenfeld
- !
- ! Date: March 8, 2011
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
- SUBROUTINE h5ltread_dataset_f_double6(loc_id, dset_name, type_id, buf, &
- dims, errcode )
-
- IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltread_dataset_f_double6
- !DEC$endif
- !
-
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- DOUBLE PRECISION, INTENT(inout), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)) :: buf ! data buffer
-
- INTERFACE
- INTEGER FUNCTION h5ltread_dataset_dl6_c(loc_id,namelen,dset_name,type_id,buf,dims)
- USE h5global
- IMPLICIT NONE
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTREAD_DATASET_DL6_C'::h5ltread_dataset_dl6_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: dset_name
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- DOUBLE PRECISION, INTENT(in), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)) :: buf ! data buffer
- END FUNCTION h5ltread_dataset_dl6_c
- END INTERFACE
-
- namelen = LEN(dset_name)
- errcode = h5ltread_dataset_dl6_c(loc_id,namelen,dset_name,type_id,buf,dims)
-
- END SUBROUTINE h5ltread_dataset_f_double6
-
- !-------------------------------------------------------------------------
- ! Function: h5ltread_dataset_f_double7
- !
- ! Purpose: Read a dataset of a type TYPE_ID
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: M. Scot Breitenfeld
- !
- ! Date: March 8, 2011
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
- SUBROUTINE h5ltread_dataset_f_double7(loc_id, dset_name, type_id, buf, &
- dims, errcode )
-
- IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltread_dataset_f_double7
- !DEC$endif
- !
-
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- DOUBLE PRECISION, INTENT(inout), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)) :: buf ! data buffer
-
- INTERFACE
- INTEGER FUNCTION h5ltread_dataset_dl7_c(loc_id,namelen,dset_name,type_id,buf,dims)
- USE h5global
- IMPLICIT NONE
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTREAD_DATASET_DL7_C'::h5ltread_dataset_dl7_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: dset_name
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- DOUBLE PRECISION, INTENT(in), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)) :: buf ! data buffer
- END FUNCTION h5ltread_dataset_dl7_c
- END INTERFACE
-
- namelen = LEN(dset_name)
- errcode = h5ltread_dataset_dl7_c(loc_id,namelen,dset_name,type_id,buf,dims)
-
- END SUBROUTINE h5ltread_dataset_f_double7
-
- !-------------------------------------------------------------------------
- ! Function: h5ltmake_dataset_int_f_1
- !
- ! Purpose: Creates and writes a dataset of H5T_NATIVE_INT type
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: pvn@ncsa.uiuc.edu
- !
- ! Date: September 22, 2004
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
- SUBROUTINE h5ltmake_dataset_int_f_1 (loc_id,&
- dset_name,&
- rank,&
- dims,&
- buf,&
- errcode )
-
- IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltmake_dataset_int_f_1
- !DEC$endif
- !
-
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: rank ! rank
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER, INTENT(in), DIMENSION(*) :: buf ! data buffer
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
-
- INTERFACE
- INTEGER FUNCTION h5ltmake_dataset_nint1_c(loc_id,namelen,dset_name,rank,dims,type_id,buf)
- USE h5global
- IMPLICIT NONE
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTMAKE_DATASET_NINT1_C'::h5ltmake_dataset_nint1_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: dset_name
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: rank ! rank
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER, INTENT(in), DIMENSION(*) :: buf ! data buffer
- END FUNCTION h5ltmake_dataset_nint1_c
- END INTERFACE
-
- namelen = LEN(dset_name)
- errcode = h5ltmake_dataset_nint1_c(loc_id,namelen,dset_name,rank,dims,h5t_native_integer,buf)
-
- END SUBROUTINE h5ltmake_dataset_int_f_1
-
- !-------------------------------------------------------------------------
- ! Function: h5ltmake_dataset_int_f_2
- !
- ! Purpose: Creates and writes a dataset of H5T_NATIVE_INT type
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: pvn@ncsa.uiuc.edu
- !
- ! Date: September 22, 2004
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
- SUBROUTINE h5ltmake_dataset_int_f_2 (loc_id,&
- dset_name,&
- rank,&
- dims,&
- buf,&
- errcode )
-
- IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltmake_dataset_int_f_2
- !DEC$endif
- !
-
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: rank ! rank
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- INTEGER, INTENT(in), &
- DIMENSION(dims(1),dims(2)) :: buf ! data buffer
-
-
- INTERFACE
- INTEGER FUNCTION h5ltmake_dataset_nint2_c(loc_id,namelen,dset_name,rank,dims,type_id,buf)
- USE h5global
- IMPLICIT NONE
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTMAKE_DATASET_NINT2_C'::h5ltmake_dataset_nint2_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: dset_name
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: rank ! rank
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER, INTENT(in), &
- DIMENSION(dims(1),dims(2)) :: buf ! data buffer
- END FUNCTION h5ltmake_dataset_nint2_c
- END INTERFACE
-
- namelen = LEN(dset_name)
- errcode = h5ltmake_dataset_nint2_c(loc_id,namelen,dset_name,rank,dims,H5T_NATIVE_INTEGER,buf)
-
- END SUBROUTINE h5ltmake_dataset_int_f_2
-
-
- !-------------------------------------------------------------------------
- ! Function: h5ltmake_dataset_int_f_3
- !
- ! Purpose: Creates and writes a dataset of H5T_NATIVE_INT type
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: pvn@ncsa.uiuc.edu
- !
- ! Date: September 22, 2004
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
- SUBROUTINE h5ltmake_dataset_int_f_3 (loc_id,&
- dset_name,&
- rank,&
- dims,&
- buf,&
- errcode )
-
- IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltmake_dataset_int_f_3
- !DEC$endif
- !
-
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: rank ! rank
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- INTEGER, INTENT(in), &
- DIMENSION(dims(1),dims(2),dims(3)) :: buf ! data buffer
-
-
- INTERFACE
- INTEGER FUNCTION h5ltmake_dataset_nint3_c(loc_id,namelen,dset_name,rank,dims,type_id,buf)
- USE h5global
- IMPLICIT NONE
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTMAKE_DATASET_NINT3_C'::h5ltmake_dataset_nint3_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: dset_name
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: rank ! rank
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER, INTENT(in), &
- DIMENSION(dims(1),dims(2),dims(3)) :: buf ! data buffer
- END FUNCTION h5ltmake_dataset_nint3_c
- END INTERFACE
-
- namelen = LEN(dset_name)
- errcode = h5ltmake_dataset_nint3_c(loc_id,namelen,dset_name,rank,dims,H5T_NATIVE_INTEGER,buf)
-
- END SUBROUTINE h5ltmake_dataset_int_f_3
-
- !-------------------------------------------------------------------------
- ! Function: h5ltmake_dataset_int_f_4
- !
- ! Purpose: Creates and writes a dataset of H5T_NATIVE_INT type
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: M. Scot Breitenfeld
- !
- ! Date: March 8, 2011
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
- SUBROUTINE h5ltmake_dataset_int_f_4(loc_id, dset_name, rank, dims, &
- buf, errcode )
-
- IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltmake_dataset_int_f_4
- !DEC$endif
- !
-
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: rank ! rank
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- INTEGER, INTENT(in), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4)) :: buf ! data buffer
-
-
- INTERFACE
- INTEGER FUNCTION h5ltmake_dataset_nint4_c(loc_id,namelen,dset_name,rank,dims,type_id,buf)
- USE h5global
- IMPLICIT NONE
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTMAKE_DATASET_NINT4_C'::h5ltmake_dataset_nint4_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: dset_name
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: rank ! rank
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER, INTENT(in), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4)) :: buf ! data buffer
- END FUNCTION h5ltmake_dataset_nint4_c
- END INTERFACE
-
- namelen = LEN(dset_name)
- errcode = h5ltmake_dataset_nint4_c(loc_id,namelen,dset_name,rank,dims,H5T_NATIVE_INTEGER,buf)
-
- END SUBROUTINE h5ltmake_dataset_int_f_4
-
- !-------------------------------------------------------------------------
- ! Function: h5ltmake_dataset_int_f_5
- !
- ! Purpose: Creates and writes a dataset of H5T_NATIVE_INT type
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: M. Scot Breitenfeld
- !
- ! Date: March 8, 2011
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
- SUBROUTINE h5ltmake_dataset_int_f_5(loc_id, dset_name, rank, dims, &
- buf, errcode )
-
- IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltmake_dataset_int_f_5
- !DEC$endif
- !
-
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: rank ! rank
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- INTEGER, INTENT(in), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)) :: buf ! data buffer
-
-
- INTERFACE
- INTEGER FUNCTION h5ltmake_dataset_nint5_c(loc_id,namelen,dset_name,rank,dims,type_id,buf)
- USE h5global
- IMPLICIT NONE
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTMAKE_DATASET_NINT5_C'::h5ltmake_dataset_nint5_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: dset_name
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: rank ! rank
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER, INTENT(in), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)) :: buf ! data buffer
- END FUNCTION h5ltmake_dataset_nint5_c
- END INTERFACE
-
- namelen = LEN(dset_name)
- errcode = h5ltmake_dataset_nint5_c(loc_id,namelen,dset_name,rank,dims,H5T_NATIVE_INTEGER,buf)
-
- END SUBROUTINE h5ltmake_dataset_int_f_5
-
- !-------------------------------------------------------------------------
- ! Function: h5ltmake_dataset_int_f_6
- !
- ! Purpose: Creates and writes a dataset of H5T_NATIVE_INT type
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: M. Scot Breitenfeld
- !
- ! Date: March 8, 2011
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
- SUBROUTINE h5ltmake_dataset_int_f_6(loc_id, dset_name, rank, dims, &
- buf, errcode )
-
- IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltmake_dataset_int_f_6
- !DEC$endif
- !
-
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: rank ! rank
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- INTEGER, INTENT(in), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)) :: buf ! data buffer
-
-
- INTERFACE
- INTEGER FUNCTION h5ltmake_dataset_nint6_c(loc_id,namelen,dset_name,rank,dims,type_id,buf)
- USE h5global
- IMPLICIT NONE
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTMAKE_DATASET_NINT6_C'::h5ltmake_dataset_nint6_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: dset_name
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: rank ! rank
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER, INTENT(in), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)) :: buf ! data buffer
- END FUNCTION h5ltmake_dataset_nint6_c
- END INTERFACE
-
- namelen = LEN(dset_name)
- errcode = h5ltmake_dataset_nint6_c(loc_id,namelen,dset_name,rank,dims,H5T_NATIVE_INTEGER,buf)
-
- END SUBROUTINE h5ltmake_dataset_int_f_6
-
- !-------------------------------------------------------------------------
- ! Function: h5ltmake_dataset_int_f_7
- !
- ! Purpose: Creates and writes a dataset of H5T_NATIVE_INT type
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: M. Scot Breitenfeld
- !
- ! Date: March 8, 2011
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
- SUBROUTINE h5ltmake_dataset_int_f_7(loc_id, dset_name, rank, dims, &
- buf, errcode )
-
- IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltmake_dataset_int_f_7
- !DEC$endif
- !
-
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: rank ! rank
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- INTEGER, INTENT(in), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)) :: buf ! data buffer
-
-
- INTERFACE
- INTEGER FUNCTION h5ltmake_dataset_nint7_c(loc_id,namelen,dset_name,rank,dims,type_id,buf)
- USE h5global
- IMPLICIT NONE
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTMAKE_DATASET_NINT7_C'::h5ltmake_dataset_nint7_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: dset_name
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: rank ! rank
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER, INTENT(in), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)) :: buf ! data buffer
- END FUNCTION h5ltmake_dataset_nint7_c
- END INTERFACE
-
- namelen = LEN(dset_name)
- errcode = h5ltmake_dataset_nint7_c(loc_id,namelen,dset_name,rank,dims,H5T_NATIVE_INTEGER,buf)
-
- END SUBROUTINE h5ltmake_dataset_int_f_7
-
- !-------------------------------------------------------------------------
- ! Function: h5ltmake_dataset_float_f_1
- !
- ! Purpose: Creates and writes a dataset of H5T_NATIVE_FLOAT type
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: pvn@ncsa.uiuc.edu
- !
- ! Date: September 22, 2004
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
- SUBROUTINE h5ltmake_dataset_float_f_1 (loc_id,&
- dset_name,&
- rank,&
- dims,&
- buf,&
- errcode )
-
- IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltmake_dataset_float_f_1
- !DEC$endif
- !
-
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: rank ! rank
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- REAL, INTENT(in), DIMENSION(*) :: buf ! data buffer
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
-
- INTERFACE
- INTEGER FUNCTION h5ltmake_dataset_nfl1_c(loc_id,namelen,dset_name,rank,dims,type_id,buf)
- USE h5global
- IMPLICIT NONE
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTMAKE_DATASET_NFL1_C'::h5ltmake_dataset_nfl1_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: dset_name
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: rank ! rank
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- REAL, INTENT(in), DIMENSION(*) :: buf ! data buffer
- END FUNCTION h5ltmake_dataset_nfl1_c
- END INTERFACE
-
- namelen = LEN(dset_name)
- errcode = h5ltmake_dataset_nfl1_c(loc_id,namelen,dset_name,rank,dims,H5T_NATIVE_REAL,buf)
-
- END SUBROUTINE h5ltmake_dataset_float_f_1
-
- !-------------------------------------------------------------------------
- ! Function: h5ltmake_dataset_float_f_2
- !
- ! Purpose: Creates and writes a dataset of H5T_NATIVE_FLOAT type
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: pvn@ncsa.uiuc.edu
- !
- ! Date: September 22, 2004
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
- SUBROUTINE h5ltmake_dataset_float_f_2 (loc_id,&
- dset_name,&
- rank,&
- dims,&
- buf,&
- errcode )
-
- IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltmake_dataset_float_f_2
- !DEC$endif
- !
-
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: rank ! rank
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- REAL, INTENT(in), &
- DIMENSION(dims(1),dims(2)) :: buf ! data buffer
-
- INTERFACE
- INTEGER FUNCTION h5ltmake_dataset_nfl2_c(loc_id,namelen,dset_name,rank,dims,type_id,buf)
- USE h5global
- IMPLICIT NONE
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTMAKE_DATASET_NFL2_C'::h5ltmake_dataset_nfl2_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: dset_name
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: rank ! rank
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- REAL, INTENT(in), &
- DIMENSION(dims(1),dims(2)) :: buf ! data buffer
- END FUNCTION h5ltmake_dataset_nfl2_c
- END INTERFACE
-
- namelen = LEN(dset_name)
- errcode = h5ltmake_dataset_nfl2_c(loc_id,namelen,dset_name,rank,dims,H5T_NATIVE_REAL,buf)
-
- END SUBROUTINE h5ltmake_dataset_float_f_2
-
- !-------------------------------------------------------------------------
- ! Function: h5ltmake_dataset_float_f_3
- !
- ! Purpose: Creates and writes a dataset of H5T_NATIVE_FLOAT type
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: pvn@ncsa.uiuc.edu
- !
- ! Date: September 22, 2004
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
- SUBROUTINE h5ltmake_dataset_float_f_3 (loc_id,&
- dset_name,&
- rank,&
- dims,&
- buf,&
- errcode )
-
- IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltmake_dataset_float_f_3
- !DEC$endif
- !
-
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: rank ! rank
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- REAL, INTENT(in), &
- DIMENSION(dims(1),dims(2),dims(3)) :: buf ! data buffer
-
- INTERFACE
- INTEGER FUNCTION h5ltmake_dataset_nfl3_c(loc_id,namelen,dset_name,rank,dims,type_id,buf)
- USE h5global
- IMPLICIT NONE
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTMAKE_DATASET_NFL3_C'::h5ltmake_dataset_nfl3_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: dset_name
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: rank ! rank
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- REAL, INTENT(in), &
- DIMENSION(dims(1),dims(2),dims(3)) :: buf ! data buffer
- END FUNCTION h5ltmake_dataset_nfl3_c
- END INTERFACE
-
- namelen = LEN(dset_name)
- errcode = h5ltmake_dataset_nfl3_c(loc_id,namelen,dset_name,rank,dims,H5T_NATIVE_REAL,buf)
-
- END SUBROUTINE h5ltmake_dataset_float_f_3
-
- !-------------------------------------------------------------------------
- ! Function: h5ltmake_dataset_float_f_4
- !
- ! Purpose: Creates and writes a dataset of H5T_NATIVE_FLOAT type
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: M. Scot Breitenfeld
- !
- ! Date: March 8, 2011
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
- SUBROUTINE h5ltmake_dataset_float_f_4 (loc_id, dset_name, rank, dims, &
- buf, errcode )
-
- IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltmake_dataset_float_f_4
- !DEC$endif
- !
-
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: rank ! rank
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- REAL, INTENT(in), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4)) :: buf ! data buffer
-
- INTERFACE
- INTEGER FUNCTION h5ltmake_dataset_nfl4_c(loc_id,namelen,dset_name,rank,dims,type_id,buf)
- USE h5global
- IMPLICIT NONE
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTMAKE_DATASET_NFL4_C'::h5ltmake_dataset_nfl4_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: dset_name
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: rank ! rank
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- REAL, INTENT(in), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4)) :: buf ! data buffer
- END FUNCTION h5ltmake_dataset_nfl4_c
- END INTERFACE
-
- namelen = LEN(dset_name)
- errcode = h5ltmake_dataset_nfl4_c(loc_id,namelen,dset_name,rank,dims,H5T_NATIVE_REAL,buf)
-
- END SUBROUTINE h5ltmake_dataset_float_f_4
-
- !-------------------------------------------------------------------------
- ! Function: h5ltmake_dataset_float_f_5
- !
- ! Purpose: Creates and writes a dataset of H5T_NATIVE_FLOAT type
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: M. Scot Breitenfeld
- !
- ! Date: March 8, 2011
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
- SUBROUTINE h5ltmake_dataset_float_f_5 (loc_id, dset_name, rank, dims, &
- buf, errcode )
-
- IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltmake_dataset_float_f_5
- !DEC$endif
- !
-
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: rank ! rank
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- REAL, INTENT(in), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)) :: buf ! data buffer
-
- INTERFACE
- INTEGER FUNCTION h5ltmake_dataset_nfl5_c(loc_id,namelen,dset_name,rank,dims,type_id,buf)
- USE h5global
- IMPLICIT NONE
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTMAKE_DATASET_NFL5_C'::h5ltmake_dataset_nfl5_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: dset_name
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: rank ! rank
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- REAL, INTENT(in), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)) :: buf ! data buffer
- END FUNCTION h5ltmake_dataset_nfl5_c
- END INTERFACE
-
- namelen = LEN(dset_name)
- errcode = h5ltmake_dataset_nfl5_c(loc_id,namelen,dset_name,rank,dims,H5T_NATIVE_REAL,buf)
-
- END SUBROUTINE h5ltmake_dataset_float_f_5
-
- !-------------------------------------------------------------------------
- ! Function: h5ltmake_dataset_float_f_6
- !
- ! Purpose: Creates and writes a dataset of H5T_NATIVE_FLOAT type
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: M. Scot Breitenfeld
- !
- ! Date: March 8, 2011
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
- SUBROUTINE h5ltmake_dataset_float_f_6 (loc_id, dset_name, rank, dims, &
- buf, errcode )
-
- IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltmake_dataset_float_f_6
- !DEC$endif
- !
-
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: rank ! rank
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- REAL, INTENT(in), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)) :: buf ! data buffer
-
- INTERFACE
- INTEGER FUNCTION h5ltmake_dataset_nfl6_c(loc_id,namelen,dset_name,rank,dims,type_id,buf)
- USE h5global
- IMPLICIT NONE
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTMAKE_DATASET_NFL6_C'::h5ltmake_dataset_nfl6_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: dset_name
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: rank ! rank
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- REAL, INTENT(in), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)) :: buf ! data buffer
- END FUNCTION h5ltmake_dataset_nfl6_c
- END INTERFACE
-
- namelen = LEN(dset_name)
- errcode = h5ltmake_dataset_nfl6_c(loc_id,namelen,dset_name,rank,dims,H5T_NATIVE_REAL,buf)
-
- END SUBROUTINE h5ltmake_dataset_float_f_6
-
- !-------------------------------------------------------------------------
- ! Function: h5ltmake_dataset_float_f_7
- !
- ! Purpose: Creates and writes a dataset of H5T_NATIVE_FLOAT type
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: M. Scot Breitenfeld
- !
- ! Date: March 8, 2011
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
- SUBROUTINE h5ltmake_dataset_float_f_7 (loc_id, dset_name, rank, dims, &
- buf, errcode )
-
- IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltmake_dataset_float_f_7
- !DEC$endif
- !
-
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: rank ! rank
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- REAL, INTENT(in), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)) :: buf ! data buffer
-
- INTERFACE
- INTEGER FUNCTION h5ltmake_dataset_nfl7_c(loc_id,namelen,dset_name,rank,dims,type_id,buf)
- USE h5global
- IMPLICIT NONE
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTMAKE_DATASET_NFL7_C'::h5ltmake_dataset_nfl7_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: dset_name
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: rank ! rank
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- REAL, INTENT(in), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)) :: buf ! data buffer
- END FUNCTION h5ltmake_dataset_nfl7_c
- END INTERFACE
-
- namelen = LEN(dset_name)
- errcode = h5ltmake_dataset_nfl7_c(loc_id,namelen,dset_name,rank,dims,H5T_NATIVE_REAL,buf)
-
- END SUBROUTINE h5ltmake_dataset_float_f_7
-
-
- !-------------------------------------------------------------------------
- ! Function: h5ltmake_dataset_double_f_1
- !
- ! Purpose: Creates and writes a dataset of H5T_NATIVE_DOUBLE type
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: pvn@ncsa.uiuc.edu
- !
- ! Date: September 22, 2004
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
- SUBROUTINE h5ltmake_dataset_double_f_1 (loc_id,&
- dset_name,&
- rank,&
- dims,&
- buf,&
- errcode )
-
- IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltmake_dataset_double_f_1
- !DEC$endif
- !
-
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: rank ! rank
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- DOUBLE PRECISION, INTENT(in), &
- DIMENSION(dims(1)) :: buf ! data buffer
-
- INTERFACE
- INTEGER FUNCTION h5ltmake_dataset_ndl1_c(loc_id,namelen,dset_name,rank,dims,type_id,buf)
- USE h5global
- IMPLICIT NONE
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTMAKE_DATASET_NDL1_C'::h5ltmake_dataset_ndl1_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: dset_name
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: rank ! rank
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- DOUBLE PRECISION, INTENT(in), &
- DIMENSION(dims(1)) :: buf ! data buffer
- END FUNCTION h5ltmake_dataset_ndl1_c
- END INTERFACE
-
- namelen = LEN(dset_name)
- errcode = h5ltmake_dataset_ndl1_c(loc_id,namelen,dset_name,rank,dims,H5T_NATIVE_DOUBLE,buf)
-
- END SUBROUTINE h5ltmake_dataset_double_f_1
-
-
- !-------------------------------------------------------------------------
- ! Function: h5ltmake_dataset_double_f_2
- !
- ! Purpose: Creates and writes a dataset of H5T_NATIVE_DOUBLE type
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: pvn@ncsa.uiuc.edu
- !
- ! Date: September 22, 2004
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
- SUBROUTINE h5ltmake_dataset_double_f_2 (loc_id,&
- dset_name,&
- rank,&
- dims,&
- buf,&
- errcode )
-
- IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltmake_dataset_double_f_2
- !DEC$endif
- !
-
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: rank ! rank
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- DOUBLE PRECISION, INTENT(in), &
- DIMENSION(dims(1),dims(2)) :: buf ! data buffer
-
- INTERFACE
- INTEGER FUNCTION h5ltmake_dataset_ndl2_c(loc_id,namelen,dset_name,rank,dims,type_id,buf)
- USE h5global
- IMPLICIT NONE
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTMAKE_DATASET_NDL2_C'::h5ltmake_dataset_ndl2_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: dset_name
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: rank ! rank
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- DOUBLE PRECISION, INTENT(in), &
- DIMENSION(dims(1),dims(2)) :: buf ! data buffer
- END FUNCTION h5ltmake_dataset_ndl2_c
- END INTERFACE
-
- namelen = LEN(dset_name)
- errcode = h5ltmake_dataset_ndl2_c(loc_id,namelen,dset_name,rank,dims,H5T_NATIVE_DOUBLE,buf)
-
- END SUBROUTINE h5ltmake_dataset_double_f_2
-
- !-------------------------------------------------------------------------
- ! Function: h5ltmake_dataset_double_f_3
- !
- ! Purpose: Creates and writes a dataset of H5T_NATIVE_DOUBLE type
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: pvn@ncsa.uiuc.edu
- !
- ! Date: September 22, 2004
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
- SUBROUTINE h5ltmake_dataset_double_f_3 (loc_id,&
- dset_name,&
- rank,&
- dims,&
- buf,&
- errcode )
-
- IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltmake_dataset_double_f_3
- !DEC$endif
- !
-
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: rank ! rank
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- DOUBLE PRECISION, INTENT(in), &
- DIMENSION(dims(1),dims(2),dims(3)) :: buf ! data buffer
-
- INTERFACE
- INTEGER FUNCTION h5ltmake_dataset_ndl3_c(loc_id,namelen,dset_name,rank,dims,type_id,buf)
- USE h5global
- IMPLICIT NONE
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTMAKE_DATASET_NDL3_C'::h5ltmake_dataset_ndl3_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: dset_name
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: rank ! rank
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- DOUBLE PRECISION, INTENT(in), &
- DIMENSION(dims(1),dims(2),dims(3)) :: buf ! data buffer
- END FUNCTION h5ltmake_dataset_ndl3_c
- END INTERFACE
-
- namelen = LEN(dset_name)
- errcode = h5ltmake_dataset_ndl3_c(loc_id,namelen,dset_name,rank,dims,H5T_NATIVE_DOUBLE,buf)
-
- END SUBROUTINE h5ltmake_dataset_double_f_3
-
- !-------------------------------------------------------------------------
- ! Function: h5ltmake_dataset_double_f_4
- !
- ! Purpose: Creates and writes a dataset of H5T_NATIVE_DOUBLE type
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: M. Scot Breitenfeld
- !
- ! Date: March 8, 2011
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
- SUBROUTINE h5ltmake_dataset_double_f_4 (loc_id, dset_name, rank, dims,&
- buf, errcode )
-
- IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltmake_dataset_double_f_4
- !DEC$endif
- !
-
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: rank ! rank
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- DOUBLE PRECISION, INTENT(in), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4)) :: buf ! data buffer
-
- INTERFACE
- INTEGER FUNCTION h5ltmake_dataset_ndl4_c(loc_id,namelen,dset_name,rank,dims,type_id,buf)
- USE h5global
- IMPLICIT NONE
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTMAKE_DATASET_NDL4_C'::h5ltmake_dataset_ndl4_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: dset_name
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: rank ! rank
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- DOUBLE PRECISION, INTENT(in), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4)) :: buf ! data buffer
- END FUNCTION h5ltmake_dataset_ndl4_c
- END INTERFACE
-
- namelen = LEN(dset_name)
- errcode = h5ltmake_dataset_ndl4_c(loc_id,namelen,dset_name,rank,dims,H5T_NATIVE_DOUBLE,buf)
-
- END SUBROUTINE h5ltmake_dataset_double_f_4
-
- !-------------------------------------------------------------------------
- ! Function: h5ltmake_dataset_double_f_5
- !
- ! Purpose: Creates and writes a dataset of H5T_NATIVE_DOUBLE type
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: M. Scot Breitenfeld
- !
- ! Date: March 8, 2011
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
- SUBROUTINE h5ltmake_dataset_double_f_5 (loc_id, dset_name, rank, dims,&
- buf, errcode )
-
- IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltmake_dataset_double_f_5
- !DEC$endif
- !
-
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: rank ! rank
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- DOUBLE PRECISION, INTENT(in), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)) :: buf ! data buffer
-
- INTERFACE
- INTEGER FUNCTION h5ltmake_dataset_ndl5_c(loc_id,namelen,dset_name,rank,dims,type_id,buf)
- USE h5global
- IMPLICIT NONE
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTMAKE_DATASET_NDL5_C'::h5ltmake_dataset_ndl5_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: dset_name
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: rank ! rank
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- DOUBLE PRECISION, INTENT(in), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)) :: buf ! data buffer
- END FUNCTION h5ltmake_dataset_ndl5_c
- END INTERFACE
-
- namelen = LEN(dset_name)
- errcode = h5ltmake_dataset_ndl5_c(loc_id,namelen,dset_name,rank,dims,H5T_NATIVE_DOUBLE,buf)
-
- END SUBROUTINE h5ltmake_dataset_double_f_5
-
- !-------------------------------------------------------------------------
- ! Function: h5ltmake_dataset_double_f_6
- !
- ! Purpose: Creates and writes a dataset of H5T_NATIVE_DOUBLE type
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: M. Scot Breitenfeld
- !
- ! Date: March 8, 2011
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
- SUBROUTINE h5ltmake_dataset_double_f_6 (loc_id, dset_name, rank, dims,&
- buf, errcode )
-
- IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltmake_dataset_double_f_5
- !DEC$endif
- !
-
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: rank ! rank
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- DOUBLE PRECISION, INTENT(in), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)) :: buf ! data buffer
-
- INTERFACE
- INTEGER FUNCTION h5ltmake_dataset_ndl6_c(loc_id,namelen,dset_name,rank,dims,type_id,buf)
- USE h5global
- IMPLICIT NONE
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTMAKE_DATASET_NDL6_C'::h5ltmake_dataset_ndl6_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: dset_name
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: rank ! rank
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- DOUBLE PRECISION, INTENT(in), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)) :: buf ! data buffer
- END FUNCTION h5ltmake_dataset_ndl6_c
- END INTERFACE
-
- namelen = LEN(dset_name)
- errcode = h5ltmake_dataset_ndl6_c(loc_id,namelen,dset_name,rank,dims,H5T_NATIVE_DOUBLE,buf)
-
- END SUBROUTINE h5ltmake_dataset_double_f_6
-
- !-------------------------------------------------------------------------
- ! Function: h5ltmake_dataset_double_f_7
- !
- ! Purpose: Creates and writes a dataset of H5T_NATIVE_DOUBLE type
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: M. Scot Breitenfeld
- !
- ! Date: March 8, 2011
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
- SUBROUTINE h5ltmake_dataset_double_f_7 (loc_id, dset_name, rank, dims,&
- buf, errcode )
-
- IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltmake_dataset_double_f_5
- !DEC$endif
- !
-
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: rank ! rank
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- DOUBLE PRECISION, INTENT(in), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)) :: buf ! data buffer
-
- INTERFACE
- INTEGER FUNCTION h5ltmake_dataset_ndl7_c(loc_id,namelen,dset_name,rank,dims,type_id,buf)
- USE h5global
- IMPLICIT NONE
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTMAKE_DATASET_NDL7_C'::h5ltmake_dataset_ndl7_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: dset_name
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: rank ! rank
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- DOUBLE PRECISION, INTENT(in), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)) :: buf ! data buffer
- END FUNCTION h5ltmake_dataset_ndl7_c
- END INTERFACE
-
- namelen = LEN(dset_name)
- errcode = h5ltmake_dataset_ndl7_c(loc_id,namelen,dset_name,rank,dims,H5T_NATIVE_DOUBLE,buf)
-
- END SUBROUTINE h5ltmake_dataset_double_f_7
-
- !-------------------------------------------------------------------------
- ! Function: h5ltread_dataset_int_f_1
- !
- ! Purpose: Read a dataset
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: pvn@ncsa.uiuc.edu
- !
- ! Date: September 22, 2004
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
- SUBROUTINE h5ltread_dataset_int_f_1(loc_id,&
- dset_name,&
- buf,&
- dims,&
- errcode )
-
- IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltread_dataset_int_f_1
- !DEC$endif
- !
-
- INTEGER(HID_T), INTENT(IN) :: loc_id ! file or group identifier
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- INTEGER, INTENT(inout), &
- DIMENSION(dims(1)) :: buf ! data buffer
-
- INTERFACE
- INTEGER FUNCTION h5ltread_dataset_nint1_c(loc_id,namelen,dset_name,type_id,buf,dims)
- USE h5global
- IMPLICIT NONE
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTREAD_DATASET_NINT1_C'::h5ltread_dataset_nint1_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: dset_name
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER, INTENT(inout), &
- DIMENSION(dims(1)) :: buf ! data buffer
- END FUNCTION h5ltread_dataset_nint1_c
- END INTERFACE
-
- namelen = LEN(dset_name)
- errcode = h5ltread_dataset_nint1_c(loc_id,namelen,dset_name,H5T_NATIVE_INTEGER,buf,dims)
-
- END SUBROUTINE h5ltread_dataset_int_f_1
-
-
- !-------------------------------------------------------------------------
- ! Function: h5ltread_dataset_int_f_2
- !
- ! Purpose: Read a dataset
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: pvn@ncsa.uiuc.edu
- !
- ! Date: September 22, 2004
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
- SUBROUTINE h5ltread_dataset_int_f_2(loc_id,&
- dset_name,&
- buf,&
- dims,&
- errcode )
-
- IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltread_dataset_int_f_2
- !DEC$endif
- !
-
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- INTEGER, INTENT(inout), &
- DIMENSION(dims(1),dims(2)) :: buf ! data buffer
-
- INTERFACE
- INTEGER FUNCTION h5ltread_dataset_nint2_c(loc_id,namelen,dset_name,type_id,buf,dims)
- USE h5global
- IMPLICIT NONE
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTREAD_DATASET_NINT2_C'::h5ltread_dataset_nint2_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: dset_name
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER, INTENT(inout), &
- DIMENSION(dims(1),dims(2)) :: buf ! data buffer
- END FUNCTION h5ltread_dataset_nint2_c
- END INTERFACE
-
- namelen = LEN(dset_name)
- errcode = h5ltread_dataset_nint2_c(loc_id,namelen,dset_name,H5T_NATIVE_INTEGER,buf,dims)
-
- END SUBROUTINE h5ltread_dataset_int_f_2
-
- !-------------------------------------------------------------------------
- ! Function: h5ltread_dataset_int_f_3
- !
- ! Purpose: Read a dataset
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: pvn@ncsa.uiuc.edu
- !
- ! Date: September 22, 2004
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
- SUBROUTINE h5ltread_dataset_int_f_3(loc_id,&
- dset_name,&
- buf,&
- dims,&
- errcode )
-
- IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltread_dataset_int_f_3
- !DEC$endif
- !
-
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- INTEGER, INTENT(inout), &
- DIMENSION(dims(1),dims(2),dims(3)) :: buf ! data buffer
-
- INTERFACE
- INTEGER FUNCTION h5ltread_dataset_nint3_c(loc_id,namelen,dset_name,type_id,buf,dims)
- USE h5global
- IMPLICIT NONE
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTREAD_DATASET_NINT3_C'::h5ltread_dataset_nint3_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: dset_name
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER, INTENT(inout), &
- DIMENSION(dims(1),dims(2),dims(3)) :: buf ! data buffer
- END FUNCTION h5ltread_dataset_nint3_c
- END INTERFACE
-
- namelen = LEN(dset_name)
- errcode = h5ltread_dataset_nint3_c(loc_id,namelen,dset_name,H5T_NATIVE_INTEGER,buf,dims)
-
- END SUBROUTINE h5ltread_dataset_int_f_3
-
- !-------------------------------------------------------------------------
- ! Function: h5ltread_dataset_int_f_4
- !
- ! Purpose: Read a dataset
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: M. Scot Breitenfeld
- !
- ! Date: March 8, 2011
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
- SUBROUTINE h5ltread_dataset_int_f_4(loc_id, dset_name, buf, dims, errcode )
-
- IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltread_dataset_int_f_4
- !DEC$endif
- !
-
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- INTEGER, INTENT(inout), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4)) :: buf ! data buffer
-
- INTERFACE
- INTEGER FUNCTION h5ltread_dataset_nint4_c(loc_id,namelen,dset_name,type_id,buf,dims)
- USE h5global
- IMPLICIT NONE
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTREAD_DATASET_NINT4_C'::h5ltread_dataset_nint4_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: dset_name
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER, INTENT(inout), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4)) :: buf ! data buffer
- END FUNCTION h5ltread_dataset_nint4_c
- END INTERFACE
-
- namelen = LEN(dset_name)
- errcode = h5ltread_dataset_nint4_c(loc_id,namelen,dset_name,H5T_NATIVE_INTEGER,buf,dims)
-
- END SUBROUTINE h5ltread_dataset_int_f_4
-
- !-------------------------------------------------------------------------
- ! Function: h5ltread_dataset_int_f_5
- !
- ! Purpose: Read a dataset
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: M. Scot Breitenfeld
- !
- ! Date: March 8, 2011
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
- SUBROUTINE h5ltread_dataset_int_f_5(loc_id, dset_name, buf, dims, errcode )
-
- IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltread_dataset_int_f_5
- !DEC$endif
- !
-
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- INTEGER, INTENT(inout), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)) :: buf ! data buffer
-
- INTERFACE
- INTEGER FUNCTION h5ltread_dataset_nint5_c(loc_id,namelen,dset_name,type_id,buf,dims)
- USE h5global
- IMPLICIT NONE
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTREAD_DATASET_NINT5_C'::h5ltread_dataset_nint5_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: dset_name
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER, INTENT(inout), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)) :: buf ! data buffer
- END FUNCTION h5ltread_dataset_nint5_c
- END INTERFACE
-
- namelen = LEN(dset_name)
- errcode = h5ltread_dataset_nint5_c(loc_id,namelen,dset_name,H5T_NATIVE_INTEGER,buf,dims)
-
- END SUBROUTINE h5ltread_dataset_int_f_5
-
- !-------------------------------------------------------------------------
- ! Function: h5ltread_dataset_int_f_6
- !
- ! Purpose: Read a dataset
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: M. Scot Breitenfeld
- !
- ! Date: March 8, 2011
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
- SUBROUTINE h5ltread_dataset_int_f_6(loc_id, dset_name, buf, dims, errcode )
-
- IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltread_dataset_int_f_6
- !DEC$endif
- !
-
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- INTEGER, INTENT(inout), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)) :: buf ! data buffer
-
- INTERFACE
- INTEGER FUNCTION h5ltread_dataset_nint6_c(loc_id,namelen,dset_name,type_id,buf,dims)
- USE h5global
- IMPLICIT NONE
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTREAD_DATASET_NINT6_C'::h5ltread_dataset_nint6_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: dset_name
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER, INTENT(inout), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)) :: buf ! data buffer
- END FUNCTION h5ltread_dataset_nint6_c
- END INTERFACE
-
- namelen = LEN(dset_name)
- errcode = h5ltread_dataset_nint6_c(loc_id,namelen,dset_name,H5T_NATIVE_INTEGER,buf,dims)
-
- END SUBROUTINE h5ltread_dataset_int_f_6
-
- !-------------------------------------------------------------------------
- ! Function: h5ltread_dataset_int_f_7
- !
- ! Purpose: Read a dataset
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: M. Scot Breitenfeld
- !
- ! Date: March 8, 2011
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
- SUBROUTINE h5ltread_dataset_int_f_7(loc_id, dset_name, buf, dims, errcode )
-
- IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltread_dataset_int_f_7
- !DEC$endif
- !
-
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- INTEGER, INTENT(inout), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)) :: buf ! data buffer
-
- INTERFACE
- INTEGER FUNCTION h5ltread_dataset_nint7_c(loc_id,namelen,dset_name,type_id,buf,dims)
- USE h5global
- IMPLICIT NONE
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTREAD_DATASET_NINT7_C'::h5ltread_dataset_nint7_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: dset_name
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER, INTENT(inout), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)) :: buf ! data buffer
- END FUNCTION h5ltread_dataset_nint7_c
- END INTERFACE
-
- namelen = LEN(dset_name)
- errcode = h5ltread_dataset_nint7_c(loc_id,namelen,dset_name,H5T_NATIVE_INTEGER,buf,dims)
-
- END SUBROUTINE h5ltread_dataset_int_f_7
-
-
- !-------------------------------------------------------------------------
- ! Function: h5ltread_dataset_float_f_1
- !
- ! Purpose: Read a dataset
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: pvn@ncsa.uiuc.edu
- !
- ! Date: September 22, 2004
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
- SUBROUTINE h5ltread_dataset_float_f_1(loc_id,&
- dset_name,&
- buf,&
- dims,&
- errcode )
-
- IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltread_dataset_float_f_1
- !DEC$endif
- !
-
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- REAL, INTENT(inout), &
- DIMENSION(dims(1)) :: buf ! data buffer
-
- INTERFACE
- INTEGER FUNCTION h5ltread_dataset_nfl1_c(loc_id,namelen,dset_name,type_id,buf,dims)
- USE h5global
- IMPLICIT NONE
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTREAD_DATASET_NFL1_C'::h5ltread_dataset_nfl1_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: dset_name
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- REAL, INTENT(inout), &
- DIMENSION(dims(1)) :: buf ! data buffer
- END FUNCTION h5ltread_dataset_nfl1_c
- END INTERFACE
-
- namelen = LEN(dset_name)
- errcode = h5ltread_dataset_nfl1_c(loc_id,namelen,dset_name,H5T_NATIVE_REAL,buf,dims)
-
- END SUBROUTINE h5ltread_dataset_float_f_1
-
-
- !-------------------------------------------------------------------------
- ! Function: h5ltread_dataset_float_f_2
- !
- ! Purpose: Read a dataset
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: pvn@ncsa.uiuc.edu
- !
- ! Date: September 22, 2004
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
- SUBROUTINE h5ltread_dataset_float_f_2(loc_id,&
- dset_name,&
- buf,&
- dims,&
- errcode )
-
- IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltread_dataset_float_f_2
- !DEC$endif
- !
-
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- REAL, INTENT(inout), &
- DIMENSION(dims(1),dims(2)) :: buf ! data buffer
-
- INTERFACE
- INTEGER FUNCTION h5ltread_dataset_nfl2_c(loc_id,namelen,dset_name,type_id,buf,dims)
- USE h5global
- IMPLICIT NONE
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTREAD_DATASET_NFL2_C'::h5ltread_dataset_nfl2_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: dset_name
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- REAL, INTENT(inout), &
- DIMENSION(dims(1),dims(2)) :: buf ! data buffer
- END FUNCTION h5ltread_dataset_nfl2_c
- END INTERFACE
-
- namelen = LEN(dset_name)
- errcode = h5ltread_dataset_nfl2_c(loc_id,namelen,dset_name,H5T_NATIVE_REAL,buf,dims)
-
- END SUBROUTINE h5ltread_dataset_float_f_2
-
- !-------------------------------------------------------------------------
- ! Function: h5ltread_dataset_float_f_3
- !
- ! Purpose: Read a dataset
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: pvn@ncsa.uiuc.edu
- !
- ! Date: September 22, 2004
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
- SUBROUTINE h5ltread_dataset_float_f_3(loc_id,&
- dset_name,&
- buf,&
- dims,&
- errcode )
-
- IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltread_dataset_float_f_3
- !DEC$endif
- !
-
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- REAL, INTENT(inout), &
- DIMENSION(dims(1),dims(2),dims(3)) :: buf ! data buffer
-
- INTERFACE
- INTEGER FUNCTION h5ltread_dataset_nfl3_c(loc_id,namelen,dset_name,type_id,buf,dims)
- USE h5global
- IMPLICIT NONE
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTREAD_DATASET_NFL3_C'::h5ltread_dataset_nfl3_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: dset_name
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- REAL, INTENT(inout), &
- DIMENSION(dims(1),dims(2),dims(3)) :: buf ! data buffer
- END FUNCTION h5ltread_dataset_nfl3_c
- END INTERFACE
-
- namelen = LEN(dset_name)
- errcode = h5ltread_dataset_nfl3_c(loc_id,namelen,dset_name,H5T_NATIVE_REAL,buf,dims)
-
- END SUBROUTINE h5ltread_dataset_float_f_3
-
- !-------------------------------------------------------------------------
- ! Function: h5ltread_dataset_float_f_4
- !
- ! Purpose: Read a dataset
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: M. Scot Breitenfeld
- !
- ! Date: March 8, 2011
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
- SUBROUTINE h5ltread_dataset_float_f_4(loc_id, dset_name, buf, dims, errcode )
-
- IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltread_dataset_float_f_4
- !DEC$endif
- !
-
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- REAL, INTENT(inout), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4)) :: buf ! data buffer
-
- INTERFACE
- INTEGER FUNCTION h5ltread_dataset_nfl4_c(loc_id,namelen,dset_name,type_id,buf,dims)
- USE h5global
- IMPLICIT NONE
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTREAD_DATASET_NFL4_C'::h5ltread_dataset_nfl4_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: dset_name
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- REAL, INTENT(inout), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4)) :: buf ! data buffer
- END FUNCTION h5ltread_dataset_nfl4_c
- END INTERFACE
-
- namelen = LEN(dset_name)
- errcode = h5ltread_dataset_nfl4_c(loc_id,namelen,dset_name,H5T_NATIVE_REAL,buf,dims)
-
- END SUBROUTINE h5ltread_dataset_float_f_4
-
- !-------------------------------------------------------------------------
- ! Function: h5ltread_dataset_float_f_5
- !
- ! Purpose: Read a dataset
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: M. Scot Breitenfeld
- !
- ! Date: March 8, 2011
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
- SUBROUTINE h5ltread_dataset_float_f_5(loc_id, dset_name, buf, dims, errcode )
-
- IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltread_dataset_float_f_5
- !DEC$endif
- !
-
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- REAL, INTENT(inout), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)) :: buf ! data buffer
-
- INTERFACE
- INTEGER FUNCTION h5ltread_dataset_nfl5_c(loc_id,namelen,dset_name,type_id,buf,dims)
- USE h5global
- IMPLICIT NONE
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTREAD_DATASET_NFL5_C'::h5ltread_dataset_nfl5_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: dset_name
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- REAL, INTENT(inout), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)) :: buf ! data buffer
- END FUNCTION h5ltread_dataset_nfl5_c
- END INTERFACE
-
- namelen = LEN(dset_name)
- errcode = h5ltread_dataset_nfl5_c(loc_id,namelen,dset_name,H5T_NATIVE_REAL,buf,dims)
-
- END SUBROUTINE h5ltread_dataset_float_f_5
-
- !-------------------------------------------------------------------------
- ! Function: h5ltread_dataset_float_f_6
- !
- ! Purpose: Read a dataset
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: M. Scot Breitenfeld
- !
- ! Date: March 8, 2011
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
- SUBROUTINE h5ltread_dataset_float_f_6(loc_id, dset_name, buf, dims, errcode )
-
- IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltread_dataset_float_f_6
- !DEC$endif
- !
-
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- REAL, INTENT(inout), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)) :: buf ! data buffer
-
- INTERFACE
- INTEGER FUNCTION h5ltread_dataset_nfl6_c(loc_id,namelen,dset_name,type_id,buf,dims)
- USE h5global
- IMPLICIT NONE
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTREAD_DATASET_NFL6_C'::h5ltread_dataset_nfl6_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: dset_name
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- REAL, INTENT(inout), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)) :: buf ! data buffer
- END FUNCTION h5ltread_dataset_nfl6_c
- END INTERFACE
-
- namelen = LEN(dset_name)
- errcode = h5ltread_dataset_nfl6_c(loc_id,namelen,dset_name,H5T_NATIVE_REAL,buf,dims)
-
- END SUBROUTINE h5ltread_dataset_float_f_6
-
- !-------------------------------------------------------------------------
- ! Function: h5ltread_dataset_float_f_7
- !
- ! Purpose: Read a dataset
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: M. Scot Breitenfeld
- !
- ! Date: March 8, 2011
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
- SUBROUTINE h5ltread_dataset_float_f_7(loc_id, dset_name, buf, dims, errcode )
-
- IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltread_dataset_float_f_7
- !DEC$endif
- !
-
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- REAL, INTENT(inout), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)) :: buf ! data buffer
-
- INTERFACE
- INTEGER FUNCTION h5ltread_dataset_nfl7_c(loc_id,namelen,dset_name,type_id,buf,dims)
- USE h5global
- IMPLICIT NONE
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTREAD_DATASET_NFL7_C'::h5ltread_dataset_nfl7_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: dset_name
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- REAL, INTENT(inout), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)) :: buf ! data buffer
- END FUNCTION h5ltread_dataset_nfl7_c
- END INTERFACE
-
- namelen = LEN(dset_name)
- errcode = h5ltread_dataset_nfl7_c(loc_id,namelen,dset_name,H5T_NATIVE_REAL,buf,dims)
-
- END SUBROUTINE h5ltread_dataset_float_f_7
-
- !-------------------------------------------------------------------------
- ! Function: h5ltread_dataset_double_f_1
- !
- ! Purpose: Read a dataset
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: pvn@ncsa.uiuc.edu
- !
- ! Date: September 22, 2004
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
- SUBROUTINE h5ltread_dataset_double_f_1(loc_id,&
- dset_name,&
- buf,&
- dims,&
- errcode )
-
- IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltread_dataset_double_f_1
- !DEC$endif
- !
-
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- DOUBLE PRECISION, INTENT(inout), &
- DIMENSION(dims(1)) :: buf ! data buffer
-
- INTERFACE
- INTEGER FUNCTION h5ltread_dataset_ndl1_c(loc_id,namelen,dset_name,type_id,buf,dims)
- USE h5global
- IMPLICIT NONE
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTREAD_DATASET_NDL1_C'::h5ltread_dataset_ndl1_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: dset_name
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- DOUBLE PRECISION, INTENT(inout), &
- DIMENSION(dims(1)) :: buf ! data buffer
- END FUNCTION h5ltread_dataset_ndl1_c
- END INTERFACE
-
- namelen = LEN(dset_name)
- errcode = h5ltread_dataset_ndl1_c(loc_id,namelen,dset_name,H5T_NATIVE_DOUBLE,buf,dims)
-
- END SUBROUTINE h5ltread_dataset_double_f_1
-
-
- !-------------------------------------------------------------------------
- ! Function: h5ltread_dataset_double_f_2
- !
- ! Purpose: Read a dataset
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: pvn@ncsa.uiuc.edu
- !
- ! Date: September 22, 2004
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
- SUBROUTINE h5ltread_dataset_double_f_2(loc_id,&
- dset_name,&
- buf,&
- dims,&
- errcode )
-
- IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltread_dataset_double_f_2
- !DEC$endif
- !
-
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- DOUBLE PRECISION, INTENT(inout), &
- DIMENSION(dims(1),dims(2)) :: buf ! data buffer
-
- INTERFACE
- INTEGER FUNCTION h5ltread_dataset_ndl2_c(loc_id,namelen,dset_name,type_id,buf,dims)
- USE h5global
- IMPLICIT NONE
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTREAD_DATASET_NDL2_C'::h5ltread_dataset_ndl2_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: dset_name
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- DOUBLE PRECISION, INTENT(inout), &
- DIMENSION(dims(1),dims(2)) :: buf ! data buffer
- END FUNCTION h5ltread_dataset_ndl2_c
- END INTERFACE
-
- namelen = LEN(dset_name)
- errcode = h5ltread_dataset_ndl2_c(loc_id,namelen,dset_name,H5T_NATIVE_DOUBLE,buf,dims)
-
- END SUBROUTINE h5ltread_dataset_double_f_2
-
- !-------------------------------------------------------------------------
- ! Function: h5ltread_dataset_double_f_3
- !
- ! Purpose: Read a dataset
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: pvn@ncsa.uiuc.edu
- !
- ! Date: September 22, 2004
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
- SUBROUTINE h5ltread_dataset_double_f_3(loc_id,&
- dset_name,&
- buf,&
- dims,&
- errcode )
-
- IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltread_dataset_double_f_3
- !DEC$endif
- !
-
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- DOUBLE PRECISION, INTENT(inout), &
- DIMENSION(dims(1),dims(2),dims(3)) :: buf ! data buffer
-
- INTERFACE
- INTEGER FUNCTION h5ltread_dataset_ndl3_c(loc_id,namelen,dset_name,type_id,buf,dims)
- USE h5global
- IMPLICIT NONE
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTREAD_DATASET_NDL3_C'::h5ltread_dataset_ndl3_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: dset_name
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- DOUBLE PRECISION, INTENT(inout), &
- DIMENSION(dims(1),dims(2),dims(3)) :: buf ! data buffer
- END FUNCTION h5ltread_dataset_ndl3_c
- END INTERFACE
-
- namelen = LEN(dset_name)
- errcode = h5ltread_dataset_ndl3_c(loc_id,namelen,dset_name,H5T_NATIVE_DOUBLE,buf,dims)
-
- END SUBROUTINE h5ltread_dataset_double_f_3
-
- !-------------------------------------------------------------------------
- ! Function: h5ltread_dataset_double_f_4
- !
- ! Purpose: Read a dataset
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: M. Scot Breitenfeld
- !
- ! Date: March 8, 2011
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
- SUBROUTINE h5ltread_dataset_double_f_4(loc_id, dset_name, buf, dims, errcode )
-
- IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltread_dataset_double_f_4
- !DEC$endif
- !
-
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- DOUBLE PRECISION, INTENT(inout), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4)) :: buf ! data buffer
-
- INTERFACE
- INTEGER FUNCTION h5ltread_dataset_ndl4_c(loc_id,namelen,dset_name,type_id,buf,dims)
- USE h5global
- IMPLICIT NONE
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTREAD_DATASET_NDL4_C'::h5ltread_dataset_ndl4_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: dset_name
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- DOUBLE PRECISION, INTENT(inout), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4)) :: buf ! data buffer
- END FUNCTION h5ltread_dataset_ndl4_c
- END INTERFACE
-
- namelen = LEN(dset_name)
- errcode = h5ltread_dataset_ndl4_c(loc_id,namelen,dset_name,H5T_NATIVE_DOUBLE,buf,dims)
-
- END SUBROUTINE h5ltread_dataset_double_f_4
-
- !-------------------------------------------------------------------------
- ! Function: h5ltread_dataset_double_f_5
- !
- ! Purpose: Read a dataset
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: M. Scot Breitenfeld
- !
- ! Date: March 8, 2011
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
- SUBROUTINE h5ltread_dataset_double_f_5(loc_id, dset_name, buf, dims, errcode )
-
- IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltread_dataset_double_f_5
- !DEC$endif
- !
-
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- DOUBLE PRECISION, INTENT(inout), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)) :: buf ! data buffer
-
- INTERFACE
- INTEGER FUNCTION h5ltread_dataset_ndl5_c(loc_id,namelen,dset_name,type_id,buf,dims)
- USE h5global
- IMPLICIT NONE
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTREAD_DATASET_NDL5_C'::h5ltread_dataset_ndl5_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: dset_name
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- DOUBLE PRECISION, INTENT(inout), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)) :: buf ! data buffer
- END FUNCTION h5ltread_dataset_ndl5_c
- END INTERFACE
-
- namelen = LEN(dset_name)
- errcode = h5ltread_dataset_ndl5_c(loc_id,namelen,dset_name,H5T_NATIVE_DOUBLE,buf,dims)
-
- END SUBROUTINE h5ltread_dataset_double_f_5
-
- !-------------------------------------------------------------------------
- ! Function: h5ltread_dataset_double_f_6
- !
- ! Purpose: Read a dataset
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: M. Scot Breitenfeld
- !
- ! Date: March 8, 2011
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
- SUBROUTINE h5ltread_dataset_double_f_6(loc_id, dset_name, buf, dims, errcode )
-
- IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltread_dataset_double_f_6
- !DEC$endif
- !
-
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- DOUBLE PRECISION, INTENT(inout), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)) :: buf ! data buffer
-
- INTERFACE
- INTEGER FUNCTION h5ltread_dataset_ndl6_c(loc_id,namelen,dset_name,type_id,buf,dims)
- USE h5global
- IMPLICIT NONE
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTREAD_DATASET_NDL6_C'::h5ltread_dataset_ndl6_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: dset_name
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- DOUBLE PRECISION, INTENT(inout), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)) :: buf ! data buffer
- END FUNCTION h5ltread_dataset_ndl6_c
- END INTERFACE
-
- namelen = LEN(dset_name)
- errcode = h5ltread_dataset_ndl6_c(loc_id,namelen,dset_name,H5T_NATIVE_DOUBLE,buf,dims)
-
- END SUBROUTINE h5ltread_dataset_double_f_6
-
- !-------------------------------------------------------------------------
- ! Function: h5ltread_dataset_double_f_7
- !
- ! Purpose: Read a dataset
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: M. Scot Breitenfeld
- !
- ! Date: March 8, 2011
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
- SUBROUTINE h5ltread_dataset_double_f_7(loc_id, dset_name, buf, dims, errcode )
-
- IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltread_dataset_double_f_7
- !DEC$endif
- !
-
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- DOUBLE PRECISION, INTENT(inout), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)) :: buf ! data buffer
-
- INTERFACE
- INTEGER FUNCTION h5ltread_dataset_ndl7_c(loc_id,namelen,dset_name,type_id,buf,dims)
- USE h5global
- IMPLICIT NONE
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTREAD_DATASET_NDL7_C'::h5ltread_dataset_ndl7_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: dset_name
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- DOUBLE PRECISION, INTENT(inout), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)) :: buf ! data buffer
- END FUNCTION h5ltread_dataset_ndl7_c
- END INTERFACE
-
- namelen = LEN(dset_name)
- errcode = h5ltread_dataset_ndl7_c(loc_id,namelen,dset_name,H5T_NATIVE_DOUBLE,buf,dims)
-
- END SUBROUTINE h5ltread_dataset_double_f_7
-
-
- !-------------------------------------------------------------------------
- ! Function: h5ltmake_dataset_string_f
- !
- ! Purpose: Creates and writes a dataset
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: pvn@ncsa.uiuc.edu
- !
- ! Date: September 22, 2004
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
- SUBROUTINE h5ltmake_dataset_string_f(loc_id,&
- dset_name,&
- buf,&
- errcode )
-
- IMPLICIT NONE
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltmake_dataset_string_f
- !DEC$endif
- !
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- CHARACTER(len=*), INTENT(in) :: buf ! data buffer
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- INTEGER(size_t) :: buflen ! buffer length
-
- INTERFACE
- INTEGER FUNCTION h5ltmake_dataset_string_c(loc_id,namelen,dset_name,buflen,buf)
- USE h5global
- IMPLICIT NONE
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTMAKE_DATASET_STRING_C'::h5ltmake_dataset_string_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: dset_name
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- INTEGER(size_t) :: buflen ! length of data buffer
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- CHARACTER(len=*), INTENT(in) :: buf ! data buffer
- END FUNCTION h5ltmake_dataset_string_c
- END INTERFACE
-
- namelen = LEN(dset_name)
- buflen = LEN(buf)
- errcode = h5ltmake_dataset_string_c(loc_id,namelen,dset_name,buflen,buf)
-
- END SUBROUTINE h5ltmake_dataset_string_f
-
- !-------------------------------------------------------------------------
- ! Function: h5ltread_dataset_string_f
- !
- ! Purpose: Read a dataset
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: pvn@ncsa.uiuc.edu
- !
- ! Date: September 22, 2004
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
- SUBROUTINE h5ltread_dataset_string_f(loc_id,&
- dset_name,&
- buf,&
- errcode )
-
- IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltread_dataset_string_f
- !DEC$endif
- !
-
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- CHARACTER(len=*), INTENT(inout) :: buf ! data buffer
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
-
- INTERFACE
- INTEGER FUNCTION h5ltread_dataset_string_c(loc_id,namelen,dset_name,buf)
- USE h5global
- IMPLICIT NONE
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTREAD_DATASET_STRING_C'::h5ltread_dataset_string_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: dset_name
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- CHARACTER(len=*), INTENT(inout) :: buf ! data buffer
- END FUNCTION h5ltread_dataset_string_c
- END INTERFACE
-
- namelen = LEN(dset_name)
- errcode = h5ltread_dataset_string_c(loc_id,namelen,dset_name,buf)
-
- END SUBROUTINE h5ltread_dataset_string_f
-
-
-
-
- !-------------------------------------------------------------------------
- ! Make/Read attribute functions
- !-------------------------------------------------------------------------
-
-
- !-------------------------------------------------------------------------
- ! Function: h5ltset_attribute_int_f
- !
- ! Purpose: Create and write an attribute
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: pvn@ncsa.uiuc.edu
- !
- ! Date: October 05, 2004
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
- SUBROUTINE h5ltset_attribute_int_f(loc_id,&
- dset_name,&
- attr_name,&
- buf,&
- size,&
- errcode )
-
- IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltset_attribute_int_f
- !DEC$endif
- !
-
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- CHARACTER(len=*), INTENT(in) :: attr_name ! name of the attribute
- INTEGER(size_t), INTENT(in) :: size ! size of attribute array
- INTEGER :: errcode ! error code
- INTEGER, INTENT(in), DIMENSION(*) :: buf ! data buffer
- INTEGER(size_t) :: namelen ! name length
- INTEGER(size_t) :: attrlen ! name length
-
- INTERFACE
- INTEGER FUNCTION h5ltset_attribute_int_c(loc_id,namelen,dset_name,attrlen,attr_name,size,buf)
- USE h5global
- IMPLICIT NONE
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTSET_ATTRIBUTE_INT_C'::h5ltset_attribute_int_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: dset_name
- !DEC$ATTRIBUTES reference :: attr_name
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- INTEGER(size_t) :: attrlen ! length of attr name buffer
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- CHARACTER(len=*), INTENT(in) :: attr_name ! name of the attribute
- INTEGER(size_t), INTENT(in) :: size ! size of attribute array
- INTEGER, INTENT(in), DIMENSION(*) :: buf ! data buffer
- END FUNCTION h5ltset_attribute_int_c
- END INTERFACE
-
- namelen = LEN(dset_name)
- attrlen = LEN(attr_name)
- errcode = h5ltset_attribute_int_c(loc_id,namelen,dset_name,attrlen,attr_name,size,buf)
-
- END SUBROUTINE h5ltset_attribute_int_f
-
- !-------------------------------------------------------------------------
- ! Function: h5ltset_attribute_float_f
- !
- ! Purpose: Create and write an attribute
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: pvn@ncsa.uiuc.edu
- !
- ! Date: October 05, 2004
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
- SUBROUTINE h5ltset_attribute_float_f(loc_id,&
- dset_name,&
- attr_name,&
- buf,&
- size,&
- errcode )
-
- IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltset_attribute_float_f
- !DEC$endif
- !
-
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- CHARACTER(len=*), INTENT(in) :: attr_name ! name of the attribute
- INTEGER(size_t), INTENT(in) :: size ! size of attribute array
- INTEGER :: errcode ! error code
- REAL, INTENT(in), DIMENSION(*) :: buf ! data buffer
- INTEGER(size_t) :: namelen ! name length
- INTEGER(size_t) :: attrlen ! name length
-
- INTERFACE
- INTEGER FUNCTION h5ltset_attribute_float_c(loc_id,namelen,dset_name,attrlen,attr_name,size,buf)
- USE h5global
- IMPLICIT NONE
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTSET_ATTRIBUTE_FLOAT_C'::h5ltset_attribute_float_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: dset_name
- !DEC$ATTRIBUTES reference :: attr_name
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- INTEGER(size_t) :: attrlen ! length of attr name buffer
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- CHARACTER(len=*), INTENT(in) :: attr_name ! name of the attribute
- INTEGER(size_t), INTENT(in) :: size ! size of attribute array
- REAL, INTENT(in), DIMENSION(*) :: buf ! data buffer
- END FUNCTION h5ltset_attribute_float_c
- END INTERFACE
-
- namelen = LEN(dset_name)
- attrlen = LEN(attr_name)
- errcode = h5ltset_attribute_float_c(loc_id,namelen,dset_name,attrlen,attr_name,size,buf)
-
- END SUBROUTINE h5ltset_attribute_float_f
-
- !-------------------------------------------------------------------------
- ! Function: h5ltset_attribute_double_f
- !
- ! Purpose: Create and write an attribute
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: pvn@ncsa.uiuc.edu
- !
- ! Date: October 05, 2004
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
- SUBROUTINE h5ltset_attribute_double_f(loc_id,&
- dset_name,&
- attr_name,&
- buf,&
- size,&
- errcode )
-
- IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltset_attribute_double_f
- !DEC$endif
- !
-
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- CHARACTER(len=*), INTENT(in) :: attr_name ! name of the attribute
- INTEGER(size_t), INTENT(in) :: size ! size of attribute array
- INTEGER :: errcode ! error code
- DOUBLE PRECISION, INTENT(in), DIMENSION(*) :: buf ! data buffer
- INTEGER(size_t) :: namelen ! name length
- INTEGER(size_t) :: attrlen ! name length
-
- INTERFACE
- INTEGER FUNCTION h5ltset_attribute_double_c(loc_id,namelen,dset_name,attrlen,attr_name,size,buf)
- USE h5global
- IMPLICIT NONE
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTSET_ATTRIBUTE_DOUBLE_C'::h5ltset_attribute_double_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: dset_name
- !DEC$ATTRIBUTES reference :: attr_name
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- INTEGER(size_t) :: attrlen ! length of attr name buffer
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- CHARACTER(len=*), INTENT(in) :: attr_name ! name of the attribute
- INTEGER(size_t), INTENT(in) :: size ! size of attribute array
- DOUBLE PRECISION, INTENT(in), DIMENSION(*) :: buf ! data buffer
- END FUNCTION h5ltset_attribute_double_c
- END INTERFACE
-
- namelen = LEN(dset_name)
- attrlen = LEN(attr_name)
- errcode = h5ltset_attribute_double_c(loc_id,namelen,dset_name,attrlen,attr_name,size,buf)
-
- END SUBROUTINE h5ltset_attribute_double_f
-
-
- !-------------------------------------------------------------------------
- ! Function: h5ltset_attribute_string_f
- !
- ! Purpose: Create and write an attribute
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: pvn@ncsa.uiuc.edu
- !
- ! Date: October 05, 2004
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
- SUBROUTINE h5ltset_attribute_string_f(loc_id,&
- dset_name,&
- attr_name,&
- buf,&
- errcode )
-
- IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltset_attribute_string_f
- !DEC$endif
- !
-
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- CHARACTER(len=*), INTENT(in) :: attr_name ! name of the attribute
- INTEGER :: errcode ! error code
- CHARACTER(len=*), INTENT(in) :: buf ! data buffer
- INTEGER(size_t) :: namelen ! name length
- INTEGER(size_t) :: attrlen ! name length
- INTEGER(size_t) :: buflen ! data buffer length
-
- INTERFACE
- INTEGER FUNCTION h5ltset_attribute_string_c(loc_id,namelen,dset_name,attrlen,attr_name,buflen,buf)
- USE h5global
- IMPLICIT NONE
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTSET_ATTRIBUTE_STRING_C'::h5ltset_attribute_string_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: dset_name
- !DEC$ATTRIBUTES reference :: attr_name
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- INTEGER(size_t) :: attrlen ! length of attr name buffer
- INTEGER(size_t) :: buflen ! data buffer length
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- CHARACTER(len=*), INTENT(in) :: attr_name ! name of the attribute
- CHARACTER(len=*), INTENT(in) :: buf ! data buffer
- END FUNCTION h5ltset_attribute_string_c
- END INTERFACE
-
- namelen = LEN(dset_name)
- attrlen = LEN(attr_name)
- buflen = LEN(buf)
- errcode = h5ltset_attribute_string_c(loc_id,namelen,dset_name,attrlen,attr_name,buflen,buf)
-
- END SUBROUTINE h5ltset_attribute_string_f
-
-
-
- !-------------------------------------------------------------------------
- ! Function: h5ltget_attribute_int_f
- !
- ! Purpose: Reads an attribute named ATTR_NAME
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: pvn@ncsa.uiuc.edu
- !
- ! Date: October 05, 2004
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
- SUBROUTINE h5ltget_attribute_int_f(loc_id,&
- dset_name,&
- attr_name,&
- buf,&
- errcode )
-
- IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltget_attribute_int_f
- !DEC$endif
- !
-
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- CHARACTER(len=*), INTENT(in) :: attr_name ! name of the attribute
- INTEGER :: errcode ! error code
- INTEGER, INTENT(inout), DIMENSION(*) :: buf ! data buffer
- INTEGER(size_t) :: namelen ! name length
- INTEGER(size_t) :: attrlen ! name length
-
- INTERFACE
- INTEGER FUNCTION h5ltget_attribute_int_c(loc_id,namelen,dset_name,attrlen,attr_name,buf)
- USE h5global
- IMPLICIT NONE
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTGET_ATTRIBUTE_INT_C'::h5ltget_attribute_int_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: dset_name
- !DEC$ATTRIBUTES reference :: attr_name
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- INTEGER(size_t) :: attrlen ! length of attr name buffer
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- CHARACTER(len=*), INTENT(in) :: attr_name ! name of the attribute
- INTEGER, INTENT(inout), DIMENSION(*) :: buf ! data buffer
- END FUNCTION h5ltget_attribute_int_c
- END INTERFACE
-
- namelen = LEN(dset_name)
- attrlen = LEN(attr_name)
- errcode = h5ltget_attribute_int_c(loc_id,namelen,dset_name,attrlen,attr_name,buf)
-
- END SUBROUTINE h5ltget_attribute_int_f
-
-
- !-------------------------------------------------------------------------
- ! Function: h5ltget_attribute_float_f
- !
- ! Purpose: Reads an attribute named ATTR_NAME
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: pvn@ncsa.uiuc.edu
- !
- ! Date: October 05, 2004
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
- SUBROUTINE h5ltget_attribute_float_f(loc_id,&
- dset_name,&
- attr_name,&
- buf,&
- errcode )
-
- IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltget_attribute_float_f
- !DEC$endif
- !
-
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- CHARACTER(len=*), INTENT(in) :: attr_name ! name of the attribute
- INTEGER :: errcode ! error code
- REAL, INTENT(inout), DIMENSION(*) :: buf ! data buffer
- INTEGER(size_t) :: namelen ! name length
- INTEGER(size_t) :: attrlen ! name length
-
- INTERFACE
- INTEGER FUNCTION h5ltget_attribute_float_c(loc_id,namelen,dset_name,attrlen,attr_name,buf)
- USE h5global
- IMPLICIT NONE
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTGET_ATTRIBUTE_FLOAT_C'::h5ltget_attribute_float_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: dset_name
- !DEC$ATTRIBUTES reference :: attr_name
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- INTEGER(size_t) :: attrlen ! length of attr name buffer
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- CHARACTER(len=*), INTENT(in) :: attr_name ! name of the attribute
- REAL, INTENT(inout), DIMENSION(*) :: buf ! data buffer
- END FUNCTION h5ltget_attribute_float_c
- END INTERFACE
-
- namelen = LEN(dset_name)
- attrlen = LEN(attr_name)
- errcode = h5ltget_attribute_float_c(loc_id,namelen,dset_name,attrlen,attr_name,buf)
-
- END SUBROUTINE h5ltget_attribute_float_f
-
- !-------------------------------------------------------------------------
- ! Function: h5ltget_attribute_double_f
- !
- ! Purpose: Reads an attribute named ATTR_NAME
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: pvn@ncsa.uiuc.edu
- !
- ! Date: October 05, 2004
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
- SUBROUTINE h5ltget_attribute_double_f(loc_id,&
- dset_name,&
- attr_name,&
- buf,&
- errcode )
-
- IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltget_attribute_double_f
- !DEC$endif
- !
-
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- CHARACTER(len=*), INTENT(in) :: attr_name ! name of the attribute
- INTEGER :: errcode ! error code
- DOUBLE PRECISION,INTENT(inout),DIMENSION(*) :: buf ! data buffer
- INTEGER(size_t) :: namelen ! name length
- INTEGER(size_t) :: attrlen ! name length
-
- INTERFACE
- INTEGER FUNCTION h5ltget_attribute_double_c(loc_id,namelen,dset_name,attrlen,attr_name,buf)
- USE h5global
- IMPLICIT NONE
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTGET_ATTRIBUTE_DOUBLE_C'::h5ltget_attribute_double_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: dset_name
- !DEC$ATTRIBUTES reference :: attr_name
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- INTEGER(size_t) :: attrlen ! length of attr name buffer
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- CHARACTER(len=*), INTENT(in) :: attr_name ! name of the attribute
- DOUBLE PRECISION, INTENT(inout), DIMENSION(*) :: buf ! data buffer
- END FUNCTION h5ltget_attribute_double_c
- END INTERFACE
-
- namelen = LEN(dset_name)
- attrlen = LEN(attr_name)
- errcode = h5ltget_attribute_double_c(loc_id,namelen,dset_name,attrlen,attr_name,buf)
-
- END SUBROUTINE h5ltget_attribute_double_f
-
- !-------------------------------------------------------------------------
- ! Function: h5ltget_attribute_string_f
- !
- ! Purpose: Reads an attribute named ATTR_NAME
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: pvn@ncsa.uiuc.edu
- !
- ! Date: October 05, 2004
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
- SUBROUTINE h5ltget_attribute_string_f(loc_id,&
- dset_name,&
- attr_name,&
- buf,&
- errcode )
-
- IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltget_attribute_string_f
- !DEC$endif
- !
-
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- CHARACTER(len=*), INTENT(in) :: attr_name ! name of the attribute
- INTEGER :: errcode ! error code
- CHARACTER(len=*), INTENT(inout) :: buf ! data buffer
- INTEGER(size_t) :: namelen ! name length
- INTEGER(size_t) :: attrlen ! name length
- INTEGER(size_t) :: buf_size ! buf size
-
- INTERFACE
- INTEGER FUNCTION h5ltget_attribute_string_c(loc_id,namelen,dset_name,attrlen,attr_name,buf,buf_size)
- USE h5global
- IMPLICIT NONE
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTGET_ATTRIBUTE_STRING_C'::h5ltget_attribute_string_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: dset_name
- !DEC$ATTRIBUTES reference :: attr_name
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- INTEGER(size_t) :: attrlen ! length of attr name buffer
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- CHARACTER(len=*), INTENT(in) :: attr_name ! name of the attribute
- CHARACTER(len=*), INTENT(inout) :: buf ! data buffer
- INTEGER(size_t) :: buf_size ! data buffer size
- END FUNCTION h5ltget_attribute_string_c
- END INTERFACE
-
- namelen = LEN(dset_name)
- attrlen = LEN(attr_name)
- buf_size = LEN(buf)
-
- errcode = h5ltget_attribute_string_c(loc_id,namelen,dset_name,attrlen,attr_name,buf,buf_size)
-
- END SUBROUTINE h5ltget_attribute_string_f
-
- !-------------------------------------------------------------------------
- ! Query dataset functions
- !-------------------------------------------------------------------------
-
- !-------------------------------------------------------------------------
- ! Function: h5ltget_dataset_ndims_f
- !
- ! Purpose: Gets the dimensionality of a dataset
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: pvn@ncsa.uiuc.edu
- !
- ! Date: September 30, 2004
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
- SUBROUTINE h5ltget_dataset_ndims_f(loc_id,&
- dset_name,&
- rank,&
- errcode )
-
- IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltget_dataset_ndims_f
- !DEC$endif
- !
-
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(inout) :: rank ! rank
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
-
- INTERFACE
- INTEGER FUNCTION h5ltget_dataset_ndims_c(loc_id,namelen,dset_name,rank)
- USE h5global
- IMPLICIT NONE
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTGET_DATASET_NDIMS_C'::h5ltget_dataset_ndims_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: dset_name
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(inout) :: rank ! rank
- END FUNCTION h5ltget_dataset_ndims_c
- END INTERFACE
-
- namelen = LEN(dset_name)
- errcode = h5ltget_dataset_ndims_c(loc_id,namelen,dset_name,rank)
-
- END SUBROUTINE h5ltget_dataset_ndims_f
-
-
- !-------------------------------------------------------------------------
- ! Function: h5ltfind_dataset_f
- !
- ! Purpose: Inquires if a dataset named dset_name exists attached
- ! to the object loc_id.
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: pvn@ncsa.uiuc.edu
- !
- ! Date: October 05, 2004
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
- INTEGER FUNCTION h5ltfind_dataset_f(loc_id,&
- dset_name)
-
- IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltfind_dataset_f
- !DEC$endif
- !
-
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
-
- INTERFACE
- INTEGER FUNCTION h5ltfind_dataset_c(loc_id,namelen,dset_name)
- USE h5global
- IMPLICIT NONE
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTFIND_DATASET_C'::h5ltfind_dataset_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: dset_name
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- END FUNCTION h5ltfind_dataset_c
- END INTERFACE
-
- namelen = LEN(dset_name)
- errcode = h5ltfind_dataset_c(loc_id,namelen,dset_name)
- h5ltfind_dataset_f = errcode
-
- END FUNCTION h5ltfind_dataset_f
-
- !-------------------------------------------------------------------------
- ! Function: h5ltget_dataset_info_f
- !
- ! Purpose: Gets information about a dataset
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: pvn@ncsa.uiuc.edu
- !
- ! Date: September 30, 2004
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
- SUBROUTINE h5ltget_dataset_info_f(loc_id,&
- dset_name,&
- dims,&
- type_class,&
- type_size,&
- errcode )
-
- IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltget_dataset_info_f
- !DEC$endif
- !
-
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hsize_t),DIMENSION(*),INTENT(inout):: dims ! dimensions
- INTEGER, INTENT(inout) :: type_class ! type class
- INTEGER(size_t), INTENT(inout) :: type_size ! type size
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
-
- INTERFACE
- INTEGER FUNCTION h5ltget_dataset_info_c(loc_id,namelen,dset_name,dims,type_class,type_size)
- USE h5global
- IMPLICIT NONE
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTGET_DATASET_INFO_C'::h5ltget_dataset_info_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: dset_name
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hsize_t),DIMENSION(*),INTENT(inout):: dims ! dimensions
- INTEGER, INTENT(inout) :: type_class ! type class
- INTEGER(size_t), INTENT(inout) :: type_size ! type size
- END FUNCTION h5ltget_dataset_info_c
- END INTERFACE
-
- namelen = LEN(dset_name)
- errcode = h5ltget_dataset_info_c(loc_id,namelen,dset_name,dims,type_class,type_size)
-
- END SUBROUTINE h5ltget_dataset_info_f
-
-
- !-------------------------------------------------------------------------
- ! Query attribute functions
- !-------------------------------------------------------------------------
-
-
- !-------------------------------------------------------------------------
- ! Function: h5ltget_attribute_ndims_f
- !
- ! Purpose: Create and write an attribute
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: pvn@ncsa.uiuc.edu
- !
- ! Date: October 05, 2004
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
- SUBROUTINE h5ltget_attribute_ndims_f(loc_id,&
- dset_name,&
- attr_name,&
- rank,&
- errcode )
-
- IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltget_attribute_ndims_f
- !DEC$endif
- !
-
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- CHARACTER(len=*), INTENT(in) :: attr_name ! name of the attribute
- INTEGER, INTENT(inout) :: rank ! rank
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- INTEGER(size_t) :: attrlen ! name length
-
- INTERFACE
- INTEGER FUNCTION h5ltget_attribute_ndims_c(loc_id,namelen,dset_name,attrlen,attr_name,rank)
- USE h5global
- IMPLICIT NONE
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTGET_ATTRIBUTE_NDIMS_C'::h5ltget_attribute_ndims_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: dset_name
- !DEC$ATTRIBUTES reference :: attr_name
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- INTEGER(size_t) :: attrlen ! length of attr name buffer
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- CHARACTER(len=*), INTENT(in) :: attr_name ! name of the attribute
- INTEGER, INTENT(inout) :: rank ! rank
- END FUNCTION h5ltget_attribute_ndims_c
- END INTERFACE
-
- namelen = LEN(dset_name)
- attrlen = LEN(attr_name)
- errcode = h5ltget_attribute_ndims_c(loc_id,namelen,dset_name,attrlen,attr_name,rank)
-
- END SUBROUTINE h5ltget_attribute_ndims_f
-
-
- !-------------------------------------------------------------------------
- ! Function: h5ltget_attribute_info_f
- !
- ! Purpose: Gets information about an attribute
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: pvn@ncsa.uiuc.edu
- !
- ! Date: September 30, 2004
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
- SUBROUTINE h5ltget_attribute_info_f(loc_id,&
- dset_name,&
- attr_name,&
- dims,&
- type_class,&
- type_size,&
- errcode )
-
- IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltget_attribute_info_f
- !DEC$endif
- !
-
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- CHARACTER(len=*), INTENT(in) :: attr_name ! name of the attribute
- INTEGER(hsize_t),DIMENSION(*),INTENT(inout):: dims ! dimensions
- INTEGER, INTENT(inout) :: type_class ! type class
- INTEGER(size_t), INTENT(inout) :: type_size ! type size
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- INTEGER(size_t) :: attrlen ! name length
-
- INTERFACE
- INTEGER FUNCTION h5ltget_attribute_info_c(loc_id,namelen,dset_name,attrlen,attr_name,dims,type_class,type_size)
- USE h5global
- IMPLICIT NONE
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTGET_ATTRIBUTE_INFO_C'::h5ltget_attribute_info_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: dset_name
- !DEC$ATTRIBUTES reference :: attr_name
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- INTEGER(size_t) :: attrlen ! length of attr name buffer
- CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
- CHARACTER(len=*), INTENT(in) :: attr_name ! name of the attribute
- INTEGER(hsize_t),DIMENSION(*),INTENT(inout):: dims ! dimensions
- INTEGER, INTENT(inout) :: type_class ! type class
- INTEGER(size_t), INTENT(inout) :: type_size ! type size
- END FUNCTION h5ltget_attribute_info_c
- END INTERFACE
-
- namelen = LEN(dset_name)
- attrlen = LEN(attr_name)
- errcode = h5ltget_attribute_info_c(loc_id,namelen,dset_name,attrlen,attr_name,dims,type_class,type_size)
-
- END SUBROUTINE h5ltget_attribute_info_f
-
- !-------------------------------------------------------------------------
- ! Function: h5ltpath_valid_f
- !
- ! Purpose: Validates a path
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: M. Scot Breitenfeld
- !
- ! Date: February 18, 2012
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
- SUBROUTINE h5ltpath_valid_f(loc_id, path, check_object_valid, path_valid, errcode)
-
- IMPLICIT NONE
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltpath_valid_f
- !DEC$endif
- !
- INTEGER(hid_t) , INTENT(IN) :: loc_id ! An identifier of an object in the file.
- CHARACTER(LEN=*), INTENT(IN) :: path ! Path to the object to check, relative to loc_id.
- LOGICAL , INTENT(IN) :: check_object_valid ! Indicates whether to check if the final component
- ! of the path resolves to a valid object
- LOGICAL , INTENT(OUT) :: path_valid ! Object status
- INTEGER , INTENT(OUT) :: errcode ! Error code: 0 on success and -1 on failure
-
- INTEGER(size_t) :: pathlen
- INTEGER :: check_object_valid_c
- INTEGER :: status
-
- INTERFACE
- INTEGER FUNCTION h5ltpath_valid_c(loc_id, path, pathlen, check_object_valid_c)
- USE h5global
- IMPLICIT NONE
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTPATH_VALID_C'::h5ltpath_valid_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: path
- INTEGER(hid_t), INTENT(in) :: loc_id
- CHARACTER(len=*), INTENT(in) :: path
- INTEGER(size_t) :: pathlen
- INTEGER :: check_object_valid_c
- END FUNCTION h5ltpath_valid_c
- END INTERFACE
-
- ! Initialize
- path_valid = .FALSE.
- errcode = 0
-
- check_object_valid_c = 0
- IF(check_object_valid) check_object_valid_c = 1
-
- pathlen = LEN(path)
- status = h5ltpath_valid_c(loc_id, path, pathlen, check_object_valid_c)
-
- IF(status.EQ.1)THEN
- path_valid = .TRUE.
- ELSE IF(status.LT.0)THEN
- errcode = -1
- ENDIF
-
- END SUBROUTINE h5ltpath_valid_f
- ! end
- !
-END MODULE H5LT
-
-
-
-
-
-
diff --git a/hl/fortran/src/H5TBfc.c b/hl/fortran/src/H5TBfc.c
index bf058fd..99a7800 100644
--- a/hl/fortran/src/H5TBfc.c
+++ b/hl/fortran/src/H5TBfc.c
@@ -37,7 +37,7 @@
*-------------------------------------------------------------------------
*/
int_f
-nh5tbmake_table_c(size_t_f *namelen1,
+h5tbmake_table_c(size_t_f *namelen1,
_fcd name1,
hid_t_f *loc_id,
size_t_f *namelen,
@@ -133,7 +133,7 @@ done:
HDfree(c_field_types);
return ret_value;
-} /* end nh5tbmake_table_c() */
+} /* end h5tbmake_table_c() */
/*-------------------------------------------------------------------------
* Function: h5tbwrite_field_name_c
@@ -151,7 +151,7 @@ done:
*-------------------------------------------------------------------------
*/
int_f
-nh5tbwrite_field_name_c(hid_t_f *loc_id,
+h5tbwrite_field_name_c(hid_t_f *loc_id,
size_t_f *namelen,
_fcd name,
size_t_f *namelen1,
@@ -190,65 +190,6 @@ done:
return ret_value;
}
-int_f
-nh5tbwrite_field_name_int_c(hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- size_t_f *namelen1,
- _fcd field_name,
- hsize_t_f *start,
- hsize_t_f *nrecords,
- size_t_f *type_size,
- void *buf)
-{
- return nh5tbwrite_field_name_c(loc_id, namelen, name, namelen1, field_name,
- start, nrecords, type_size, buf);
-}
-
-int_f
-nh5tbwrite_field_name_fl_c(hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- size_t_f *namelen1,
- _fcd field_name,
- hsize_t_f *start,
- hsize_t_f *nrecords,
- size_t_f *type_size,
- void *buf)
-{
- return nh5tbwrite_field_name_c(loc_id, namelen, name, namelen1, field_name,
- start, nrecords, type_size, buf);
-}
-
-int_f
-nh5tbwrite_field_name_dl_c(hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- size_t_f *namelen1,
- _fcd field_name,
- hsize_t_f *start,
- hsize_t_f *nrecords,
- size_t_f *type_size,
- void *buf)
-{
- return nh5tbwrite_field_name_c(loc_id, namelen, name, namelen1, field_name,
- start, nrecords, type_size, buf);
-}
-
-int_f
-nh5tbwrite_field_name_st_c(hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- size_t_f *namelen1,
- _fcd field_name,
- hsize_t_f *start,
- hsize_t_f *nrecords,
- size_t_f *type_size,
- void *buf)
-{
- return nh5tbwrite_field_name_c(loc_id, namelen, name, namelen1, field_name,
- start, nrecords, type_size, buf);
-}
/*-------------------------------------------------------------------------
* Function: h5tbread_field_name_c
@@ -266,7 +207,7 @@ nh5tbwrite_field_name_st_c(hid_t_f *loc_id,
*-------------------------------------------------------------------------
*/
int_f
-nh5tbread_field_name_c(hid_t_f *loc_id,
+h5tbread_field_name_c(hid_t_f *loc_id,
size_t_f *namelen,
_fcd name,
size_t_f *namelen1,
@@ -305,66 +246,6 @@ done:
return ret_value;
}
-int_f
-nh5tbread_field_name_int_c(hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- size_t_f *namelen1,
- _fcd field_name,
- hsize_t_f *start,
- hsize_t_f *nrecords,
- size_t_f *type_size,
- void *buf)
-{
- return nh5tbread_field_name_c(loc_id, namelen, name, namelen1, field_name,
- start, nrecords, type_size, buf);
-}
-
-int_f
-nh5tbread_field_name_fl_c(hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- size_t_f *namelen1,
- _fcd field_name,
- hsize_t_f *start,
- hsize_t_f *nrecords,
- size_t_f *type_size,
- void *buf)
-{
- return nh5tbread_field_name_c(loc_id, namelen, name, namelen1, field_name,
- start, nrecords, type_size, buf);
-}
-
-int_f
-nh5tbread_field_name_dl_c(hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- size_t_f *namelen1,
- _fcd field_name,
- hsize_t_f *start,
- hsize_t_f *nrecords,
- size_t_f *type_size,
- void *buf)
-{
- return nh5tbread_field_name_c(loc_id, namelen, name, namelen1, field_name,
- start, nrecords, type_size, buf);
-}
-
-int_f
-nh5tbread_field_name_st_c(hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- size_t_f *namelen1,
- _fcd field_name,
- hsize_t_f *start,
- hsize_t_f *nrecords,
- size_t_f *type_size,
- void *buf)
-{
- return nh5tbread_field_name_c(loc_id, namelen, name, namelen1, field_name,
- start, nrecords, type_size, buf);
-}
-
/*-------------------------------------------------------------------------
* Function: h5tbwrite_field_index_c
*
@@ -381,7 +262,7 @@ nh5tbread_field_name_st_c(hid_t_f *loc_id,
*-------------------------------------------------------------------------
*/
int_f
-nh5tbwrite_field_index_c(hid_t_f *loc_id,
+h5tbwrite_field_index_c(hid_t_f *loc_id,
size_t_f *namelen,
_fcd name,
int_f *field_index,
@@ -416,62 +297,6 @@ done:
return ret_value;
}
-int_f
-nh5tbwrite_field_index_int_c(hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- int_f *field_index,
- hsize_t_f *start,
- hsize_t_f *nrecords,
- size_t_f *type_size,
- void *buf)
-{
- return nh5tbwrite_field_index_c(loc_id, namelen, name, field_index, start,
- nrecords, type_size, buf);
-}
-
-int_f
-nh5tbwrite_field_index_fl_c(hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- int_f *field_index,
- hsize_t_f *start,
- hsize_t_f *nrecords,
- size_t_f *type_size,
- void *buf)
-{
- return nh5tbwrite_field_index_c(loc_id, namelen, name, field_index, start,
- nrecords, type_size, buf);
-}
-
-int_f
-nh5tbwrite_field_index_dl_c(hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- int_f *field_index,
- hsize_t_f *start,
- hsize_t_f *nrecords,
- size_t_f *type_size,
- void *buf)
-{
- return nh5tbwrite_field_index_c(loc_id, namelen, name, field_index, start,
- nrecords, type_size, buf);
-}
-
-int_f
-nh5tbwrite_field_index_st_c(hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- int_f *field_index,
- hsize_t_f *start,
- hsize_t_f *nrecords,
- size_t_f *type_size,
- void *buf)
-{
- return nh5tbwrite_field_index_c(loc_id, namelen, name, field_index, start,
- nrecords, type_size, buf);
-}
-
/*-------------------------------------------------------------------------
* Function: h5tbread_field_index_c
*
@@ -488,7 +313,7 @@ nh5tbwrite_field_index_st_c(hid_t_f *loc_id,
*-------------------------------------------------------------------------
*/
int_f
-nh5tbread_field_index_c(hid_t_f *loc_id,
+h5tbread_field_index_c(hid_t_f *loc_id,
size_t_f *namelen,
_fcd name,
int_f *field_index,
@@ -522,62 +347,6 @@ done:
return ret_value;
}
-int_f
-nh5tbread_field_index_int_c(hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- int_f *field_index,
- hsize_t_f *start,
- hsize_t_f *nrecords,
- size_t_f *type_size,
- void *buf)
-{
- return nh5tbread_field_index_c(loc_id, namelen, name, field_index, start,
- nrecords, type_size, buf);
-}
-
-int_f
-nh5tbread_field_index_fl_c(hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- int_f *field_index,
- hsize_t_f *start,
- hsize_t_f *nrecords,
- size_t_f *type_size,
- void *buf)
-{
- return nh5tbread_field_index_c(loc_id, namelen, name, field_index, start,
- nrecords, type_size, buf);
-}
-
-int_f
-nh5tbread_field_index_dl_c(hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- int_f *field_index,
- hsize_t_f *start,
- hsize_t_f *nrecords,
- size_t_f *type_size,
- void *buf)
-{
- return nh5tbread_field_index_c(loc_id, namelen, name, field_index, start,
- nrecords, type_size, buf);
-}
-
-int_f
-nh5tbread_field_index_st_c(hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- int_f *field_index,
- hsize_t_f *start,
- hsize_t_f *nrecords,
- size_t_f *type_size,
- void *buf)
-{
- return nh5tbread_field_index_c(loc_id, namelen, name, field_index, start,
- nrecords, type_size, buf);
-}
-
/*-------------------------------------------------------------------------
* Function: h5tbinsert_field_c
*
@@ -594,7 +363,7 @@ nh5tbread_field_index_st_c(hid_t_f *loc_id,
*-------------------------------------------------------------------------
*/
int_f
-nh5tbinsert_field_c(hid_t_f *loc_id,
+h5tbinsert_field_c(hid_t_f *loc_id,
size_t_f *namelen,
_fcd name,
size_t_f *namelen1,
@@ -631,62 +400,6 @@ done:
return ret_value;
}
-int_f
-nh5tbinsert_field_int_c(hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- size_t_f *namelen1,
- _fcd field_name,
- hid_t_f *field_type,
- int_f *position,
- void *buf)
-{
- return nh5tbinsert_field_c(loc_id, namelen, name, namelen1, field_name,
- field_type, position, buf);
-}
-
-int_f
-nh5tbinsert_field_fl_c(hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- size_t_f *namelen1,
- _fcd field_name,
- hid_t_f *field_type,
- int_f *position,
- void *buf)
-{
- return nh5tbinsert_field_c(loc_id, namelen, name, namelen1, field_name,
- field_type, position, buf);
-}
-
-int_f
-nh5tbinsert_field_dl_c(hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- size_t_f *namelen1,
- _fcd field_name,
- hid_t_f *field_type,
- int_f *position,
- void *buf)
-{
- return nh5tbinsert_field_c(loc_id, namelen, name, namelen1, field_name,
- field_type, position, buf);
-}
-
-int_f
-nh5tbinsert_field_st_c(hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- size_t_f *namelen1,
- _fcd field_name,
- hid_t_f *field_type,
- int_f *position,
- void *buf)
-{
- return nh5tbinsert_field_c(loc_id, namelen, name, namelen1, field_name,
- field_type, position, buf);
-}
-
/*-------------------------------------------------------------------------
* Function: h5tbdelete_field_c
*
@@ -703,7 +416,7 @@ nh5tbinsert_field_st_c(hid_t_f *loc_id,
*-------------------------------------------------------------------------
*/
int_f
-nh5tbdelete_field_c(hid_t_f *loc_id,
+h5tbdelete_field_c(hid_t_f *loc_id,
size_t_f *namelen,
_fcd name,
size_t_f *namelen1,
@@ -752,7 +465,7 @@ done:
*-------------------------------------------------------------------------
*/
int_f
-nh5tbget_table_info_c(hid_t_f *loc_id,
+h5tbget_table_info_c(hid_t_f *loc_id,
size_t_f *namelen,
_fcd name,
hsize_t_f *nfields,
@@ -802,7 +515,7 @@ done:
*-------------------------------------------------------------------------
*/
int_f
-nh5tbget_field_info_c(hid_t_f *loc_id,
+h5tbget_field_info_c(hid_t_f *loc_id,
size_t_f *namelen,
_fcd name,
hsize_t_f *nfields,
diff --git a/hl/fortran/src/H5TBff.F90 b/hl/fortran/src/H5TBff.F90
new file mode 100644
index 0000000..448d607
--- /dev/null
+++ b/hl/fortran/src/H5TBff.F90
@@ -0,0 +1,848 @@
+! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+! Copyright by The HDF Group. *
+! Copyright by the Board of Trustees of the University of Illinois. *
+! All rights reserved. *
+! *
+! This file is part of HDF5. The full HDF5 copyright notice, including *
+! terms governing use, modification, and redistribution, is contained in *
+! the files COPYING and Copyright.html. COPYING can be found at the root *
+! of the source code distribution tree; Copyright.html can be found at the *
+! root level of an installed copy of the electronic HDF5 document set and *
+! is linked from the top-level documents page. It can also be found at *
+! http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have *
+! access to either file, you may request a copy from help@hdfgroup.org. *
+! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+!
+!
+! This file contains FORTRAN interfaces for H5TB functions
+!
+!
+! NOTES
+!
+! _____ __ __ _____ ____ _____ _______ _ _ _______
+! |_ _| \/ | __ \ / __ \| __ \__ __|/\ | \ | |__ __|
+! **** | | | \ / | |__) | | | | |__) | | | / \ | \| | | | ****
+! **** | | | |\/| | ___/| | | | _ / | | / /\ \ | . ` | | | ****
+! **** _| |_| | | | | | |__| | | \ \ | |/ ____ \| |\ | | | ****
+! |_____|_| |_|_| \____/|_| \_\ |_/_/ \_\_| \_| |_|
+!
+! If you add a new function here then you MUST add the function name to the
+! Windows dll file 'hdf5_hl_fortrandll.def.in' in the hl/fortran/src directory.
+! This is needed for Windows based operating systems.
+!
+#include "H5config_f.inc"
+
+MODULE h5tb_CONST
+
+ USE, INTRINSIC :: ISO_C_BINDING
+ USE h5fortran_types
+ USE hdf5
+
+ INTERFACE h5tbwrite_field_name_f
+ MODULE PROCEDURE h5tbwrite_field_name_f_int
+ MODULE PROCEDURE h5tbwrite_field_name_f_string
+ END INTERFACE
+
+ INTERFACE h5tbread_field_name_f
+ MODULE PROCEDURE h5tbread_field_name_f_int
+ MODULE PROCEDURE h5tbread_field_name_f_string
+ END INTERFACE
+
+ INTERFACE h5tbwrite_field_index_f
+ MODULE PROCEDURE h5tbwrite_field_index_f_int
+ MODULE PROCEDURE h5tbwrite_field_index_f_string
+ END INTERFACE
+
+ INTERFACE h5tbread_field_index_f
+ MODULE PROCEDURE h5tbread_field_index_f_int
+ MODULE PROCEDURE h5tbread_field_index_f_string
+ END INTERFACE
+
+ INTERFACE h5tbinsert_field_f
+ MODULE PROCEDURE h5tbinsert_field_f_int
+ MODULE PROCEDURE h5tbinsert_field_f_string
+ END INTERFACE
+
+ INTERFACE
+ INTEGER FUNCTION h5tbwrite_field_name_c(loc_id,namelen,dset_name,namelen1,field_name,&
+ start,nrecords,type_size,buf) &
+ BIND(C,NAME='h5tbwrite_field_name_c')
+ IMPORT :: C_CHAR, C_PTR
+ IMPORT :: HID_T, SIZE_T, HSIZE_T
+ IMPLICIT NONE
+ INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: field_name ! name of the field
+ INTEGER(hsize_t), INTENT(in) :: start ! start record
+ INTEGER(hsize_t), INTENT(in) :: nrecords ! records
+ INTEGER(size_t), INTENT(in) :: type_size ! type size
+ TYPE(C_PTR), VALUE :: buf ! data buffer
+ INTEGER :: errcode ! error code
+ INTEGER(size_t) :: namelen ! name length
+ INTEGER(size_t) :: namelen1 ! name length
+ END FUNCTION h5tbwrite_field_name_c
+ END INTERFACE
+
+ INTERFACE
+ INTEGER FUNCTION h5tbread_field_name_c(loc_id,namelen,dset_name,namelen1,field_name, &
+ start,nrecords,type_size,buf) &
+ BIND(C,NAME='h5tbread_field_name_c')
+ IMPORT :: C_CHAR, C_PTR
+ IMPORT :: HID_T, SIZE_T, HSIZE_T
+ IMPLICIT NONE
+ INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: field_name ! name of the field
+ INTEGER(hsize_t), INTENT(in) :: start ! start record
+ INTEGER(hsize_t), INTENT(in) :: nrecords ! records
+ INTEGER(size_t), INTENT(in) :: type_size ! type size
+ TYPE(C_PTR), VALUE :: buf ! data buffer
+ INTEGER :: errcode ! error code
+ INTEGER(size_t) :: namelen ! name length
+ INTEGER(size_t) :: namelen1 ! name length
+ END FUNCTION h5tbread_field_name_c
+ END INTERFACE
+
+ INTERFACE
+ INTEGER FUNCTION h5tbwrite_field_index_c(loc_id,namelen,dset_name,field_index,&
+ start,nrecords,type_size,buf) &
+ BIND(C,NAME='h5tbwrite_field_index_c')
+ IMPORT :: C_CHAR, C_PTR
+ IMPORT :: HID_T, SIZE_T, HSIZE_T
+ IMPLICIT NONE
+ INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
+ INTEGER, INTENT(in) :: field_index ! index
+ INTEGER(hsize_t), INTENT(in) :: start ! start record
+ INTEGER(hsize_t), INTENT(in) :: nrecords ! records
+ INTEGER(size_t), INTENT(in) :: type_size ! type size
+ TYPE(C_PTR), VALUE :: buf ! data buffer
+ INTEGER :: errcode ! error code
+ INTEGER(size_t) :: namelen ! name length
+ END FUNCTION h5tbwrite_field_index_c
+ END INTERFACE
+
+ INTERFACE
+ INTEGER FUNCTION h5tbread_field_index_c(loc_id,namelen,dset_name,field_index,&
+ start,nrecords,type_size,buf) &
+ BIND(C,NAME='h5tbread_field_index_c')
+ IMPORT :: C_CHAR, C_PTR
+ IMPORT :: HID_T, SIZE_T, HSIZE_T
+ IMPLICIT NONE
+ INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
+ INTEGER, INTENT(in) :: field_index ! index
+ INTEGER(hsize_t), INTENT(in) :: start ! start record
+ INTEGER(hsize_t), INTENT(in) :: nrecords ! records
+ INTEGER(size_t), INTENT(in) :: type_size ! type size
+ TYPE(C_PTR), VALUE :: buf ! data buffer
+ INTEGER :: errcode ! error code
+ INTEGER(size_t) :: namelen ! name length
+ END FUNCTION h5tbread_field_index_c
+ END INTERFACE
+
+
+ INTERFACE
+ INTEGER FUNCTION h5tbinsert_field_c(loc_id,namelen,dset_name,namelen1,field_name,&
+ field_type,field_index,buf) &
+ BIND(C,NAME='h5tbinsert_field_c')
+ IMPORT :: C_CHAR, C_PTR
+ IMPORT :: HID_T, SIZE_T, HSIZE_T
+ IMPLICIT NONE
+ INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: field_name ! name of the field
+ INTEGER(hid_t), INTENT(in) :: field_type ! field type
+ INTEGER, INTENT(in) :: field_index ! field_index
+ TYPE(C_PTR), VALUE :: buf ! data buffer
+ INTEGER(size_t) :: namelen ! name length
+ INTEGER(size_t) :: namelen1 ! name length length
+ END FUNCTION h5tbinsert_field_c
+ END INTERFACE
+
+CONTAINS
+
+!-------------------------------------------------------------------------
+! Function: h5tbmake_table_f
+!
+! Purpose: Make a table
+!
+! Return: Success: 0, Failure: -1
+!
+! Programmer: pvn@ncsa.uiuc.edu
+!
+! Date: October 06, 2004
+!
+! Comments:
+!
+! Modifications:
+!
+!-------------------------------------------------------------------------
+
+ SUBROUTINE h5tbmake_table_f(table_title,&
+ loc_id,&
+ dset_name,&
+ nfields,&
+ nrecords,&
+ type_size,&
+ field_names,&
+ field_offset,&
+ field_types,&
+ chunk_size,&
+ compress,&
+ errcode )
+
+ IMPLICIT NONE
+ CHARACTER(LEN=*), INTENT(in) :: table_title ! name of the dataset
+ INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
+ CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
+ INTEGER(hsize_t), INTENT(in) :: nfields ! fields
+ INTEGER(hsize_t), INTENT(in) :: nrecords ! records
+ INTEGER(size_t), INTENT(in) :: type_size ! type size
+ CHARACTER(LEN=*), DIMENSION(1:nfields), INTENT(in) :: field_names ! field names
+ INTEGER(size_t), DIMENSION(1:nfields), INTENT(in) :: field_offset ! field offset
+ INTEGER(hid_t), DIMENSION(1:nfields), INTENT(in) :: field_types ! field types
+ INTEGER(hsize_t), INTENT(in) :: chunk_size ! chunk size
+ INTEGER, INTENT(in) :: compress ! compress
+ INTEGER(size_t) :: namelen ! name length
+ INTEGER(size_t) :: namelen1 ! name length
+ INTEGER :: errcode ! error code
+ INTEGER(size_t), DIMENSION(1:nfields) :: char_len_field_names ! field name lengths
+ INTEGER(size_t) :: max_char_size_field_names ! character len of field names
+ INTEGER(hsize_t) :: i ! general purpose integer
+
+ INTERFACE
+ INTEGER FUNCTION h5tbmake_table_c(namelen1,&
+ table_title,&
+ loc_id,&
+ namelen,&
+ dset_name,&
+ nfields,&
+ nrecords,&
+ type_size,&
+ field_offset,&
+ field_types,&
+ chunk_size,&
+ compress,&
+ char_len_field_names,&
+ max_char_size_field_names,&
+ field_names) &
+ BIND(C,NAME='h5tbmake_table_c')
+ IMPORT :: C_CHAR
+ IMPORT :: HID_T, SIZE_T, HSIZE_T
+ IMPLICIT NONE
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: table_title ! name of the dataset
+ INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
+ INTEGER(hsize_t), INTENT(in) :: nfields ! fields
+ INTEGER(hsize_t), INTENT(in) :: nrecords ! records
+ INTEGER(size_t), INTENT(in) :: type_size ! type size
+ CHARACTER(KIND=C_CHAR), DIMENSION(nfields), INTENT(in) :: field_names ! field names
+ INTEGER(size_t), DIMENSION(nfields), INTENT(in) :: field_offset ! field offset
+ INTEGER(hid_t), DIMENSION(nfields), INTENT(in) :: field_types ! field types
+ INTEGER(hsize_t), INTENT(in) :: chunk_size ! chunk size
+ INTEGER, INTENT(in) :: compress ! compress
+ INTEGER(size_t) :: namelen ! name length
+ INTEGER(size_t) :: namelen1 ! name length
+ INTEGER(size_t), DIMENSION(nfields) :: char_len_field_names ! field name's lengths
+ INTEGER(size_t) :: max_char_size_field_names ! character len of field names
+ END FUNCTION h5tbmake_table_c
+ END INTERFACE
+
+ namelen = LEN(dset_name)
+ namelen1 = LEN(table_title)
+
+ ! Find the size of each character string in the array
+ DO i = 1, nfields
+ char_len_field_names(i) = LEN_TRIM(field_names(i))
+ END DO
+
+ max_char_size_field_names = LEN(field_names(1))
+
+ errcode = h5tbmake_table_c(namelen1,&
+ table_title,&
+ loc_id,&
+ namelen,&
+ dset_name,&
+ nfields,&
+ nrecords,&
+ type_size,&
+ field_offset,&
+ field_types,&
+ chunk_size,&
+ compress,&
+ char_len_field_names, &
+ max_char_size_field_names, &
+ field_names)
+
+ END SUBROUTINE h5tbmake_table_f
+
+!-------------------------------------------------------------------------
+! Function: h5tbwrite_field_name_f_int
+!
+! Purpose: Writes one field
+!
+! Programmer: pvn@ncsa.uiuc.edu
+!
+! Date: October 12, 2004
+!
+! Comments:
+!
+! Modifications:
+!
+!-------------------------------------------------------------------------
+
+ SUBROUTINE h5tbwrite_field_name_f_int(loc_id,&
+ dset_name,&
+ field_name,&
+ start,&
+ nrecords,&
+ type_size,&
+ buf,&
+ errcode )
+
+ IMPLICIT NONE
+ INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
+ CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
+ CHARACTER(LEN=*), INTENT(in) :: field_name ! name of the field
+ INTEGER(hsize_t), INTENT(in) :: start ! start record
+ INTEGER(hsize_t), INTENT(in) :: nrecords ! records
+ INTEGER(size_t), INTENT(in) :: type_size ! type size
+ INTEGER, INTENT(in), DIMENSION(*), TARGET :: buf ! data buffer
+ INTEGER :: errcode ! error code
+ INTEGER(size_t) :: namelen ! name length
+ INTEGER(size_t) :: namelen1 ! name length
+ TYPE(C_PTR) :: f_ptr
+
+ f_ptr = C_LOC(buf(1))
+ namelen = LEN(dset_name)
+ namelen1 = LEN(field_name)
+
+ errcode = h5tbwrite_field_name_c(loc_id,namelen,dset_name,namelen1,field_name,&
+ start,nrecords,type_size,f_ptr)
+
+ END SUBROUTINE h5tbwrite_field_name_f_int
+
+
+ SUBROUTINE h5tbwrite_field_name_f_string(loc_id,&
+ dset_name,&
+ field_name,&
+ start,&
+ nrecords,&
+ type_size,&
+ buf,&
+ errcode )
+
+ IMPLICIT NONE
+
+ INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
+ CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
+ CHARACTER(LEN=*), INTENT(in) :: field_name ! name of the field
+ INTEGER(hsize_t), INTENT(in) :: start ! start record
+ INTEGER(hsize_t), INTENT(in) :: nrecords ! records
+ INTEGER(size_t), INTENT(in) :: type_size ! type size
+ CHARACTER(LEN=*), INTENT(in), DIMENSION(*), TARGET :: buf ! data buffer
+ INTEGER :: errcode ! error code
+ INTEGER(size_t) :: namelen ! name length
+ INTEGER(size_t) :: namelen1
+ TYPE(C_PTR) :: f_ptr
+
+ f_ptr = C_LOC(buf(1)(1:1))
+
+ namelen = LEN(dset_name)
+ namelen1 = LEN(field_name)
+
+ errcode = h5tbwrite_field_name_c(loc_id,namelen,dset_name,namelen1,field_name,&
+ start,nrecords,type_size,f_ptr)
+
+ END SUBROUTINE h5tbwrite_field_name_f_string
+
+
+!-------------------------------------------------------------------------
+! Function: h5tbread_field_name_f_int
+!
+! Purpose: Reads one field
+!
+! Programmer: pvn@ncsa.uiuc.edu
+!
+! Date: October 12, 2004
+!
+! Comments:
+!
+! Modifications:
+!
+!-------------------------------------------------------------------------
+
+ SUBROUTINE h5tbread_field_name_f_int(loc_id,&
+ dset_name,&
+ field_name,&
+ start,&
+ nrecords,&
+ type_size,&
+ buf,&
+ errcode )
+
+ IMPLICIT NONE
+
+ INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
+ CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
+ CHARACTER(LEN=*), INTENT(in) :: field_name ! name of the field
+ INTEGER(hsize_t), INTENT(in) :: start ! start record
+ INTEGER(hsize_t), INTENT(in) :: nrecords ! records
+ INTEGER(size_t), INTENT(in) :: type_size ! type size
+ INTEGER, INTENT(in), DIMENSION(*), TARGET :: buf ! data buffer
+ INTEGER :: errcode ! error code
+ INTEGER(size_t) :: namelen ! name length
+ INTEGER(size_t) :: namelen1
+ TYPE(C_PTR) :: f_ptr
+
+ f_ptr = C_LOC(buf(1)) ! name length
+
+ namelen = LEN(dset_name)
+ namelen1 = LEN(field_name)
+
+ errcode = h5tbread_field_name_c(loc_id,namelen,dset_name,namelen1,field_name,&
+ start,nrecords,type_size,f_ptr)
+
+ END SUBROUTINE h5tbread_field_name_f_int
+
+ SUBROUTINE h5tbread_field_name_f_string(loc_id,&
+ dset_name,&
+ field_name,&
+ start,&
+ nrecords,&
+ type_size,&
+ buf,&
+ errcode )
+
+ IMPLICIT NONE
+ INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
+ CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
+ CHARACTER(LEN=*), INTENT(in) :: field_name ! name of the field
+ INTEGER(hsize_t), INTENT(in) :: start ! start record
+ INTEGER(hsize_t), INTENT(in) :: nrecords ! records
+ INTEGER(size_t), INTENT(in) :: type_size ! type size
+ CHARACTER(LEN=*), INTENT(in), DIMENSION(*), TARGET :: buf ! data buffer
+ INTEGER :: errcode ! error code
+ INTEGER(size_t) :: namelen ! name length
+ INTEGER(size_t) :: namelen1 ! name length
+ TYPE(C_PTR) :: f_ptr
+
+ f_ptr = C_LOC(buf(1)(1:1))
+
+ namelen = LEN(dset_name)
+ namelen1 = LEN(field_name)
+
+ errcode = h5tbread_field_name_c(loc_id,namelen,dset_name,namelen1,field_name,&
+ start,nrecords,type_size,f_ptr)
+
+ END SUBROUTINE h5tbread_field_name_f_string
+
+
+!-------------------------------------------------------------------------
+! Function: h5tbwrite_field_index_f_int
+!
+! Purpose: Writes one field
+!
+! Programmer: pvn@ncsa.uiuc.edu
+!
+! Date: October 12, 2004
+!
+! Comments:
+!
+! Modifications:
+!
+!-------------------------------------------------------------------------
+
+ SUBROUTINE h5tbwrite_field_index_f_int(loc_id,&
+ dset_name,&
+ field_index,&
+ start,&
+ nrecords,&
+ type_size,&
+ buf,&
+ errcode )
+
+ IMPLICIT NONE
+ INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
+ CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
+ INTEGER, INTENT(in) :: field_index ! index
+ INTEGER(hsize_t), INTENT(in) :: start ! start record
+ INTEGER(hsize_t), INTENT(in) :: nrecords ! records
+ INTEGER(size_t), INTENT(in) :: type_size ! type size
+ INTEGER, INTENT(in), DIMENSION(*), TARGET :: buf ! data buffer
+ INTEGER :: errcode ! error code
+ INTEGER(size_t) :: namelen ! name length
+ TYPE(C_PTR) :: f_ptr
+
+ f_ptr = C_LOC(buf(1))
+
+ namelen = LEN(dset_name)
+
+ errcode = h5tbwrite_field_index_c(loc_id,namelen,dset_name,field_index,&
+ start,nrecords,type_size,f_ptr)
+
+ END SUBROUTINE h5tbwrite_field_index_f_int
+
+ SUBROUTINE h5tbwrite_field_index_f_string(loc_id,&
+ dset_name,&
+ field_index,&
+ start,&
+ nrecords,&
+ type_size,&
+ buf,&
+ errcode )
+
+ IMPLICIT NONE
+ INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
+ CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
+ INTEGER, INTENT(in) :: field_index ! index
+ INTEGER(hsize_t), INTENT(in) :: start ! start record
+ INTEGER(hsize_t), INTENT(in) :: nrecords ! records
+ INTEGER(size_t), INTENT(in) :: type_size ! type size
+ CHARACTER(LEN=*), INTENT(in), DIMENSION(*), TARGET :: buf ! data buffer
+ INTEGER :: errcode ! error code
+ INTEGER(size_t) :: namelen ! name length
+ TYPE(C_PTR) :: f_ptr
+
+ f_ptr = C_LOC(buf(1)(1:1))
+ namelen = LEN(dset_name)
+
+ errcode = h5tbwrite_field_index_c(loc_id,namelen,dset_name,field_index,&
+ start,nrecords,type_size,f_ptr)
+
+ END SUBROUTINE h5tbwrite_field_index_f_string
+
+
+!-------------------------------------------------------------------------
+! Function: h5tbread_field_index_f_int
+!
+! Purpose: Reads one field
+!
+! Programmer: pvn@ncsa.uiuc.edu
+!
+! Date: October 12, 2004
+!
+! Comments:
+!
+! Modifications:
+!
+!-------------------------------------------------------------------------
+
+ SUBROUTINE h5tbread_field_index_f_int(loc_id,&
+ dset_name,&
+ field_index,&
+ start,&
+ nrecords,&
+ type_size,&
+ buf,&
+ errcode )
+
+ IMPLICIT NONE
+ INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
+ CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
+ INTEGER, INTENT(in) :: field_index ! index
+ INTEGER(hsize_t), INTENT(in) :: start ! start record
+ INTEGER(hsize_t), INTENT(in) :: nrecords ! records
+ INTEGER(size_t), INTENT(in) :: type_size ! type size
+ INTEGER, INTENT(in), DIMENSION(*), TARGET :: buf ! data buffer
+ INTEGER :: errcode ! error code
+ INTEGER(size_t) :: namelen ! name length
+ TYPE(C_PTR) :: f_ptr
+
+ f_ptr = C_LOC(buf(1))
+ namelen = LEN(dset_name)
+
+ errcode = h5tbread_field_index_c(loc_id,namelen,dset_name,field_index,&
+ start,nrecords,type_size,f_ptr)
+
+ END SUBROUTINE h5tbread_field_index_f_int
+
+ SUBROUTINE h5tbread_field_index_f_string(loc_id,&
+ dset_name,&
+ field_index,&
+ start,&
+ nrecords,&
+ type_size,&
+ buf,&
+ errcode )
+
+ IMPLICIT NONE
+ INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
+ CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
+ INTEGER, INTENT(in) :: field_index ! index
+ INTEGER(hsize_t), INTENT(in) :: start ! start record
+ INTEGER(hsize_t), INTENT(in) :: nrecords ! records
+ INTEGER(size_t), INTENT(in) :: type_size ! type size
+ CHARACTER(LEN=*), INTENT(in), DIMENSION(*), TARGET :: buf ! data buffer
+ INTEGER :: errcode ! error code
+ INTEGER(size_t) :: namelen ! name length
+ TYPE(C_PTR) :: f_ptr
+
+ f_ptr = C_LOC(buf(1)(1:1))
+ namelen = LEN(dset_name)
+
+ errcode = h5tbread_field_index_c(loc_id,namelen,dset_name,field_index,&
+ start,nrecords,type_size,f_ptr)
+
+ END SUBROUTINE h5tbread_field_index_f_string
+
+!-------------------------------------------------------------------------
+! Function: h5tbinsert_field_f
+!
+! Purpose: Inserts one field
+!
+! Programmer: pvn@ncsa.uiuc.edu
+!
+! Date: October 13, 2004
+!
+! Comments:
+!
+! Modifications:
+!
+!-------------------------------------------------------------------------
+
+ SUBROUTINE h5tbinsert_field_f_int(loc_id,&
+ dset_name,&
+ field_name,&
+ field_type,&
+ field_index,&
+ buf,&
+ errcode )
+ IMPLICIT NONE
+ INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
+ CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
+ CHARACTER(LEN=*), INTENT(in) :: field_name ! name of the field
+ INTEGER(hid_t), INTENT(in) :: field_type ! field type
+ INTEGER, INTENT(in) :: field_index ! field_index
+ INTEGER, INTENT(in), DIMENSION(*), TARGET :: buf ! data buffer
+ INTEGER(size_t) :: namelen ! name length
+ INTEGER(size_t) :: namelen1 ! name length
+ INTEGER :: errcode ! error code
+ TYPE(C_PTR) :: f_ptr
+
+ f_ptr = C_LOC(buf(1))
+
+ namelen = LEN(dset_name)
+ namelen1 = LEN(field_name)
+
+ errcode = h5tbinsert_field_c(loc_id,namelen,dset_name,namelen1,field_name,&
+ field_type,field_index,f_ptr)
+
+ END SUBROUTINE h5tbinsert_field_f_int
+
+ SUBROUTINE h5tbinsert_field_f_string(loc_id,&
+ dset_name,&
+ field_name,&
+ field_type,&
+ field_index,&
+ buf,&
+ errcode )
+ IMPLICIT NONE
+ INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
+ CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
+ CHARACTER(LEN=*), INTENT(in) :: field_name ! name of the field
+ INTEGER(hid_t), INTENT(in) :: field_type ! field type
+ INTEGER, INTENT(in) :: field_index ! field_index
+ CHARACTER(LEN=*), INTENT(in), DIMENSION(*), TARGET :: buf ! data buffer
+ INTEGER(size_t) :: namelen ! name length
+ INTEGER(size_t) :: namelen1 ! name length
+ INTEGER :: errcode ! error code
+ TYPE(C_PTR) :: f_ptr
+
+ f_ptr = C_LOC(buf(1)(1:1))
+
+ namelen = LEN(dset_name)
+ namelen1 = LEN(field_name)
+
+ errcode = h5tbinsert_field_c(loc_id,namelen,dset_name,namelen1,field_name,&
+ field_type,field_index,f_ptr)
+
+ END SUBROUTINE h5tbinsert_field_f_string
+
+!-------------------------------------------------------------------------
+! Function: h5tbdelete_field_f
+!
+! Purpose: Inserts one field
+!
+! Programmer: pvn@ncsa.uiuc.edu
+!
+! Date: October 13, 2004
+!
+! Comments:
+!
+! Modifications:
+!
+!-------------------------------------------------------------------------
+
+ SUBROUTINE h5tbdelete_field_f(loc_id,&
+ dset_name,&
+ field_name,&
+ errcode )
+ IMPLICIT NONE
+ INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
+ CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
+ CHARACTER(LEN=*), INTENT(in) :: field_name ! name of the field
+ INTEGER(size_t) :: namelen ! name length
+ INTEGER(size_t) :: namelen1 ! name length
+ INTEGER :: errcode ! error code
+
+
+ INTERFACE
+ INTEGER FUNCTION h5tbdelete_field_c(loc_id,namelen,dset_name,namelen1,field_name) &
+ BIND(C,NAME='h5tbdelete_field_c')
+ IMPORT :: C_CHAR
+ IMPORT :: HID_T, SIZE_T, HSIZE_T
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: loc_id ! file or group identifier
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(IN) :: dset_name ! name of the dataset
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(IN) :: field_name ! name of the field
+ INTEGER(size_t) :: namelen ! name length
+ INTEGER(size_t) :: namelen1 ! name length length
+ END FUNCTION h5tbdelete_field_c
+ END INTERFACE
+
+ namelen = LEN(dset_name)
+ namelen1 = LEN(field_name)
+
+ errcode = h5tbdelete_field_c(loc_id,namelen,dset_name,namelen1,field_name)
+
+ END SUBROUTINE h5tbdelete_field_f
+
+!-------------------------------------------------------------------------
+! Function: h5tbget_table_info_f
+!
+! Purpose: Gets the number of records and fields of a table
+!
+! Return: Success: 0, Failure: -1
+!
+! Programmer: pvn@ncsa.uiuc.edu
+!
+! Date: October 13, 2004
+!
+! Comments:
+!
+! Modifications:
+!
+!-------------------------------------------------------------------------
+
+ SUBROUTINE h5tbget_table_info_f(loc_id,&
+ dset_name,&
+ nfields,&
+ nrecords,&
+ errcode )
+
+ IMPLICIT NONE
+ INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
+ CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
+ INTEGER(hsize_t), INTENT(inout):: nfields ! nfields
+ INTEGER(hsize_t), INTENT(inout):: nrecords ! nrecords
+ INTEGER :: errcode ! error code
+ INTEGER(size_t) :: namelen ! name length
+
+ INTERFACE
+ INTEGER FUNCTION h5tbget_table_info_c(loc_id,namelen,dset_name,nfields,nrecords) &
+ BIND(C,NAME='h5tbget_table_info_c')
+ IMPORT :: C_CHAR
+ IMPORT :: HID_T, SIZE_T, HSIZE_T
+ IMPLICIT NONE
+ INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
+ INTEGER(hsize_t), INTENT(inout):: nfields ! nfields
+ INTEGER(hsize_t), INTENT(inout):: nrecords ! nrecords
+ INTEGER(size_t) :: namelen ! name length
+ END FUNCTION h5tbget_table_info_c
+ END INTERFACE
+
+ namelen = LEN(dset_name)
+ errcode = h5tbget_table_info_c(loc_id,namelen,dset_name,nfields,nrecords)
+
+ END SUBROUTINE h5tbget_table_info_f
+
+
+!-------------------------------------------------------------------------
+! Function: h5tbget_field_info_f
+!
+! Purpose: Get information about fields
+!
+! Return: Success: 0, Failure: -1
+!
+! Programmer: pvn@ncsa.uiuc.edu
+!
+! Date: October 13, 2004
+!
+! Comments:
+!
+! Modifications:
+! Added optional parameter for returning the maximum character length
+! in the field name array. March 3, 2011
+!
+!-------------------------------------------------------------------------
+
+ SUBROUTINE h5tbget_field_info_f(loc_id,&
+ dset_name,&
+ nfields,&
+ field_names,&
+ field_sizes,&
+ field_offsets,&
+ type_size,&
+ errcode, maxlen_out )
+
+ IMPLICIT NONE
+ INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
+ CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
+ INTEGER(hsize_t), INTENT(in) :: nfields ! nfields
+ CHARACTER(LEN=*), DIMENSION(nfields), INTENT(inout) :: field_names ! field names
+ INTEGER(size_t), DIMENSION(nfields), INTENT(inout) :: field_sizes ! field sizes
+ INTEGER(size_t), DIMENSION(nfields), INTENT(inout) :: field_offsets ! field offsets
+ INTEGER(size_t), INTENT(inout):: type_size ! type size
+ INTEGER :: errcode ! error code
+ INTEGER, OPTIONAL :: maxlen_out ! maximum character len of the field names
+ INTEGER(size_t) :: namelen ! name length
+ INTEGER(size_t), DIMENSION(nfields) :: namelen2 ! name lengths
+ INTEGER(hsize_t) :: i ! general purpose integer
+ INTEGER(size_t) :: maxlen
+ INTEGER(size_t) :: c_maxlen_out
+
+ INTERFACE
+ INTEGER FUNCTION h5tbget_field_info_c(loc_id,namelen,dset_name,nfields,&
+ field_sizes,field_offsets,type_size,namelen2, maxlen, field_names, c_maxlen_out) &
+ BIND(C,NAME='h5tbget_field_info_c')
+ IMPORT :: C_CHAR
+ IMPORT :: HID_T, SIZE_T, HSIZE_T
+ IMPLICIT NONE
+ INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
+ INTEGER(hsize_t), INTENT(in):: nfields ! nfields
+ CHARACTER(KIND=C_CHAR), DIMENSION(1:nfields), INTENT(inout) :: field_names ! field names
+ INTEGER(size_t), DIMENSION(1:nfields), INTENT(inout) :: field_sizes ! field sizes
+ INTEGER(size_t), DIMENSION(1:nfields), INTENT(inout) :: field_offsets ! field offsets
+ INTEGER(size_t), INTENT(inout):: type_size ! type size
+ INTEGER(size_t) :: namelen ! name length
+ INTEGER(size_t) :: maxlen ! maxiumum length of input field names
+ INTEGER(size_t), DIMENSION(1:nfields) :: namelen2 ! name lengths
+ INTEGER(size_t) :: c_maxlen_out ! maximum character length of a field array element
+ END FUNCTION h5tbget_field_info_c
+ END INTERFACE
+
+ namelen = LEN(dset_name)
+ DO i = 1, nfields
+ namelen2(i) = LEN_TRIM(field_names(i))
+ END DO
+ maxlen = LEN(field_names(1))
+ c_maxlen_out = 0
+
+ errcode = h5tbget_field_info_c(loc_id, namelen,dset_name, nfields, &
+ field_sizes, field_offsets, type_size, namelen2, maxlen, field_names, c_maxlen_out)
+
+ IF(PRESENT(maxlen_out)) maxlen_out = c_maxlen_out
+
+ END SUBROUTINE h5tbget_field_info_f
+
+END MODULE H5TB_CONST
+
+
+
+
+
+
diff --git a/hl/fortran/src/H5TBff.f90 b/hl/fortran/src/H5TBff.f90
deleted file mode 100644
index 5846f49..0000000
--- a/hl/fortran/src/H5TBff.f90
+++ /dev/null
@@ -1,1900 +0,0 @@
-! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
-! Copyright by The HDF Group. *
-! Copyright by the Board of Trustees of the University of Illinois. *
-! All rights reserved. *
-! *
-! This file is part of HDF5. The full HDF5 copyright notice, including *
-! terms governing use, modification, and redistribution, is contained in *
-! the files COPYING and Copyright.html. COPYING can be found at the root *
-! of the source code distribution tree; Copyright.html can be found at the *
-! root level of an installed copy of the electronic HDF5 document set and *
-! is linked from the top-level documents page. It can also be found at *
-! http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have *
-! access to either file, you may request a copy from help@hdfgroup.org. *
-! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
-!
-!
-! This file contains FORTRAN90 interfaces for H5TB functions
-!
-
-MODULE h5tb
-USE h5fortran_types
-USE hdf5
-
-
-INTERFACE h5tbwrite_field_name_f
- MODULE PROCEDURE h5tbwrite_field_name_f_int
- MODULE PROCEDURE h5tbwrite_field_name_f_float
- MODULE PROCEDURE h5tbwrite_field_name_f_double
- MODULE PROCEDURE h5tbwrite_field_name_f_string
-END INTERFACE
-
-INTERFACE h5tbread_field_name_f
- MODULE PROCEDURE h5tbread_field_name_f_int
- MODULE PROCEDURE h5tbread_field_name_f_float
- MODULE PROCEDURE h5tbread_field_name_f_double
- MODULE PROCEDURE h5tbread_field_name_f_string
-END INTERFACE
-
-INTERFACE h5tbwrite_field_index_f
- MODULE PROCEDURE h5tbwrite_field_index_f_int
- MODULE PROCEDURE h5tbwrite_field_index_f_float
- MODULE PROCEDURE h5tbwrite_field_index_f_double
- MODULE PROCEDURE h5tbwrite_field_index_f_string
-END INTERFACE
-
-INTERFACE h5tbread_field_index_f
- MODULE PROCEDURE h5tbread_field_index_f_int
- MODULE PROCEDURE h5tbread_field_index_f_float
- MODULE PROCEDURE h5tbread_field_index_f_double
- MODULE PROCEDURE h5tbread_field_index_f_string
-END INTERFACE
-
-
-INTERFACE h5tbinsert_field_f
- MODULE PROCEDURE h5tbinsert_field_f_int
- MODULE PROCEDURE h5tbinsert_field_f_float
- MODULE PROCEDURE h5tbinsert_field_f_double
- MODULE PROCEDURE h5tbinsert_field_f_string
-END INTERFACE
-
-
-CONTAINS
-
-
-!-------------------------------------------------------------------------
-! Function: h5tbmake_table_f
-!
-! Purpose: Make a table
-!
-! Return: Success: 0, Failure: -1
-!
-! Programmer: pvn@ncsa.uiuc.edu
-!
-! Date: October 06, 2004
-!
-! Comments:
-!
-! Modifications:
-!
-!-------------------------------------------------------------------------
-
-SUBROUTINE h5tbmake_table_f(table_title,&
- loc_id,&
- dset_name,&
- nfields,&
- nrecords,&
- type_size,&
- field_names,&
- field_offset,&
- field_types,&
- chunk_size,&
- compress,&
- errcode )
-
- IMPLICIT NONE
-!
-!This definition is needed for Windows DLLs
-!DEC$if defined(BUILD_HDF5_HL_DLL)
-!DEC$attributes dllexport :: h5tbmake_table_f
-!DEC$endif
-!
- CHARACTER(LEN=*), INTENT(in) :: table_title ! name of the dataset
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hsize_t), INTENT(in) :: nfields ! fields
- INTEGER(hsize_t), INTENT(in) :: nrecords ! records
- INTEGER(size_t), INTENT(in) :: type_size ! type size
- CHARACTER(LEN=*), DIMENSION(1:nfields), INTENT(in) :: field_names ! field names
- INTEGER(size_t), DIMENSION(1:nfields), INTENT(in) :: field_offset ! field offset
- INTEGER(hid_t), DIMENSION(1:nfields), INTENT(in) :: field_types ! field types
- INTEGER(hsize_t), INTENT(in) :: chunk_size ! chunk size
- INTEGER, INTENT(in) :: compress ! compress
- INTEGER(size_t) :: namelen ! name length
- INTEGER(size_t) :: namelen1 ! name length
- INTEGER :: errcode ! error code
- INTEGER(size_t), DIMENSION(1:nfields) :: char_len_field_names ! field name lengths
- INTEGER(size_t) :: max_char_size_field_names ! character len of field names
- INTEGER(hsize_t) :: i ! general purpose integer
-
-
- INTERFACE
- INTEGER FUNCTION h5tbmake_table_c(namelen1,&
- table_title,&
- loc_id,&
- namelen,&
- dset_name,&
- nfields,&
- nrecords,&
- type_size,&
- field_offset,&
- field_types,&
- chunk_size,&
- compress,&
- char_len_field_names,&
- max_char_size_field_names,&
- field_names)
-
- USE h5global
- IMPLICIT NONE
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5TBMAKE_TABLE_C'::h5tbmake_table_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: dset_name
- !DEC$ATTRIBUTES reference :: table_title
- CHARACTER(LEN=*), INTENT(in) :: table_title ! name of the dataset
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hsize_t), INTENT(in) :: nfields ! fields
- INTEGER(hsize_t), INTENT(in) :: nrecords ! records
- INTEGER(size_t), INTENT(in) :: type_size ! type size
- CHARACTER(LEN=*), DIMENSION(nfields), INTENT(in) :: field_names ! field names
- INTEGER(size_t), DIMENSION(nfields), INTENT(in) :: field_offset ! field offset
- INTEGER(hid_t), DIMENSION(nfields), INTENT(in) :: field_types ! field types
- INTEGER(hsize_t), INTENT(in) :: chunk_size ! chunk size
- INTEGER, INTENT(in) :: compress ! compress
- INTEGER(size_t) :: namelen ! name length
- INTEGER(size_t) :: namelen1 ! name length
- INTEGER(size_t), DIMENSION(nfields) :: char_len_field_names ! field name's lengths
- INTEGER(size_t) :: max_char_size_field_names ! character len of field names
- END FUNCTION h5tbmake_table_c
- END INTERFACE
-
- namelen = LEN(dset_name)
- namelen1 = LEN(table_title)
-
- ! Find the size of each character string in the array
- DO i = 1, nfields
- char_len_field_names(i) = LEN_TRIM(field_names(i))
- END DO
-
- max_char_size_field_names = LEN(field_names(1))
-
- errcode = h5tbmake_table_c(namelen1,&
- table_title,&
- loc_id,&
- namelen,&
- dset_name,&
- nfields,&
- nrecords,&
- type_size,&
- field_offset,&
- field_types,&
- chunk_size,&
- compress,&
- char_len_field_names, &
- max_char_size_field_names, &
- field_names)
-
-END SUBROUTINE h5tbmake_table_f
-
-
-!-------------------------------------------------------------------------
-! Function: h5tbwrite_field_name_f_int
-!
-! Purpose: Writes one field
-!
-! Programmer: pvn@ncsa.uiuc.edu
-!
-! Date: October 12, 2004
-!
-! Comments:
-!
-! Modifications:
-!
-!-------------------------------------------------------------------------
-
-SUBROUTINE h5tbwrite_field_name_f_int(loc_id,&
- dset_name,&
- field_name,&
- start,&
- nrecords,&
- type_size,&
- buf,&
- errcode )
-
- IMPLICIT NONE
-
-!
-!This definition is needed for Windows DLLs
-!DEC$if defined(BUILD_HDF5_HL_DLL)
-!DEC$attributes dllexport :: h5tbwrite_field_name_f_int
-!DEC$endif
-!
-
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- CHARACTER(LEN=*), INTENT(in) :: field_name ! name of the field
- INTEGER(hsize_t), INTENT(in) :: start ! start record
- INTEGER(hsize_t), INTENT(in) :: nrecords ! records
- INTEGER(size_t), INTENT(in) :: type_size ! type size
- INTEGER, INTENT(in), DIMENSION(*) :: buf ! data buffer
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- INTEGER(size_t) :: namelen1 ! name length
-
- INTERFACE
- INTEGER FUNCTION h5tbwrite_field_name_int_c(loc_id,namelen,dset_name,namelen1,field_name,&
- start,nrecords,type_size,buf)
-
- USE h5global
- IMPLICIT NONE
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5TBWRITE_FIELD_NAME_INT_C'::h5tbwrite_field_name_int_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: dset_name
- !DEC$ATTRIBUTES reference :: field_name
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- CHARACTER(LEN=*), INTENT(in) :: field_name ! name of the field
- INTEGER(hsize_t), INTENT(in) :: start ! start record
- INTEGER(hsize_t), INTENT(in) :: nrecords ! records
- INTEGER(size_t), INTENT(in) :: type_size ! type size
- INTEGER, INTENT(in), DIMENSION(*) :: buf ! data buffer
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- INTEGER(size_t) :: namelen1 ! name length
- END FUNCTION h5tbwrite_field_name_int_c
- END INTERFACE
-
- namelen = LEN(dset_name)
- namelen1 = LEN(field_name)
-
- errcode = h5tbwrite_field_name_int_c(loc_id,namelen,dset_name,namelen1,field_name,&
- start,nrecords,type_size,buf)
-
-END SUBROUTINE h5tbwrite_field_name_f_int
-
-!-------------------------------------------------------------------------
-! Function: h5tbwrite_field_name_f_float
-!
-! Purpose: Writes one field
-!
-! Programmer: pvn@ncsa.uiuc.edu
-!
-! Date: October 12, 2004
-!
-! Comments:
-!
-! Modifications:
-!
-!-------------------------------------------------------------------------
-
-SUBROUTINE h5tbwrite_field_name_f_float(loc_id,&
- dset_name,&
- field_name,&
- start,&
- nrecords,&
- type_size,&
- buf,&
- errcode )
-
- IMPLICIT NONE
-
-!
-!This definition is needed for Windows DLLs
-!DEC$if defined(BUILD_HDF5_HL_DLL)
-!DEC$attributes dllexport :: h5tbwrite_field_name_f_float
-!DEC$endif
-!
-
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- CHARACTER(LEN=*), INTENT(in) :: field_name ! name of the field
- INTEGER(hsize_t), INTENT(in) :: start ! start record
- INTEGER(hsize_t), INTENT(in) :: nrecords ! records
- INTEGER(size_t), INTENT(in) :: type_size ! type size
- REAL, INTENT(in), DIMENSION(*) :: buf ! data buffer
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- INTEGER(size_t) :: namelen1 ! name length
-
- INTERFACE
- INTEGER FUNCTION h5tbwrite_field_name_fl_c(loc_id,namelen,dset_name,namelen1,field_name,&
- start,nrecords,type_size,buf)
-
- USE h5global
- IMPLICIT NONE
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5TBWRITE_FIELD_NAME_FL_C'::h5tbwrite_field_name_fl_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: dset_name
- !DEC$ATTRIBUTES reference :: field_name
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- CHARACTER(LEN=*), INTENT(in) :: field_name ! name of the field
- INTEGER(hsize_t), INTENT(in) :: start ! start record
- INTEGER(hsize_t), INTENT(in) :: nrecords ! records
- INTEGER(size_t), INTENT(in) :: type_size ! type size
- REAL, INTENT(in), DIMENSION(*) :: buf ! data buffer
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- INTEGER(size_t) :: namelen1 ! name length
- END FUNCTION h5tbwrite_field_name_fl_c
- END INTERFACE
-
- namelen = LEN(dset_name)
- namelen1 = LEN(field_name)
-
- errcode = h5tbwrite_field_name_fl_c(loc_id,namelen,dset_name,namelen1,field_name,&
- start,nrecords,type_size,buf)
-
-END SUBROUTINE h5tbwrite_field_name_f_float
-
-
-
-!-------------------------------------------------------------------------
-! Function: h5tbwrite_field_name_f_double
-!
-! Purpose: Writes one field
-!
-! Programmer: pvn@ncsa.uiuc.edu
-!
-! Date: October 12, 2004
-!
-! Comments:
-!
-! Modifications:
-!
-!-------------------------------------------------------------------------
-
-SUBROUTINE h5tbwrite_field_name_f_double(loc_id,&
- dset_name,&
- field_name,&
- start,&
- nrecords,&
- type_size,&
- buf,&
- errcode )
-
- IMPLICIT NONE
-
-!
-!This definition is needed for Windows DLLs
-!DEC$if defined(BUILD_HDF5_HL_DLL)
-!DEC$attributes dllexport :: h5tbwrite_field_name_f_double
-!DEC$endif
-!
-
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- CHARACTER(LEN=*), INTENT(in) :: field_name ! name of the field
- INTEGER(hsize_t), INTENT(in) :: start ! start record
- INTEGER(hsize_t), INTENT(in) :: nrecords ! records
- INTEGER(size_t), INTENT(in) :: type_size ! type size
- DOUBLE PRECISION, INTENT(in), DIMENSION(*) :: buf ! data buffer
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- INTEGER(size_t) :: namelen1 ! name length
-
- INTERFACE
- INTEGER FUNCTION h5tbwrite_field_name_dl_c(loc_id,namelen,dset_name,namelen1,field_name,&
- start,nrecords,type_size,buf)
-
- USE h5global
- IMPLICIT NONE
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5TBWRITE_FIELD_NAME_DL_C'::h5tbwrite_field_name_dl_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: dset_name
- !DEC$ATTRIBUTES reference :: field_name
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- CHARACTER(LEN=*), INTENT(in) :: field_name ! name of the field
- INTEGER(hsize_t), INTENT(in) :: start ! start record
- INTEGER(hsize_t), INTENT(in) :: nrecords ! records
- INTEGER(size_t), INTENT(in) :: type_size ! type size
- DOUBLE PRECISION, INTENT(in), DIMENSION(*) :: buf ! data buffer
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- INTEGER(size_t) :: namelen1 ! name length
- END FUNCTION h5tbwrite_field_name_dl_c
- END INTERFACE
-
- namelen = LEN(dset_name)
- namelen1 = LEN(field_name)
-
- errcode = h5tbwrite_field_name_dl_c(loc_id,namelen,dset_name,namelen1,field_name,&
- start,nrecords,type_size,buf)
-
-END SUBROUTINE h5tbwrite_field_name_f_double
-
-!-------------------------------------------------------------------------
-! Function: h5tbwrite_field_name_f_string
-!
-! Purpose: Writes one field
-!
-! Programmer: pvn@ncsa.uiuc.edu
-!
-! Date: October 12, 2004
-!
-! Comments:
-!
-! Modifications:
-!
-!-------------------------------------------------------------------------
-
-SUBROUTINE h5tbwrite_field_name_f_string(loc_id,&
- dset_name,&
- field_name,&
- start,&
- nrecords,&
- type_size,&
- buf,&
- errcode )
-
- IMPLICIT NONE
-
-!
-!This definition is needed for Windows DLLs
-!DEC$if defined(BUILD_HDF5_HL_DLL)
-!DEC$attributes dllexport :: h5tbwrite_field_name_f_string
-!DEC$endif
-!
-
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- CHARACTER(LEN=*), INTENT(in) :: field_name ! name of the field
- INTEGER(hsize_t), INTENT(in) :: start ! start record
- INTEGER(hsize_t), INTENT(in) :: nrecords ! records
- INTEGER(size_t), INTENT(in) :: type_size ! type size
- CHARACTER(LEN=*), INTENT(in), DIMENSION(*) :: buf ! data buffer
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- INTEGER(size_t) :: namelen1 ! name length
-
- INTERFACE
- INTEGER FUNCTION h5tbwrite_field_name_st_c(loc_id,namelen,dset_name,namelen1,field_name,&
- start,nrecords,type_size,buf)
-
- USE h5global
- IMPLICIT NONE
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5TBWRITE_FIELD_NAME_ST_C'::h5tbwrite_field_name_st_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: dset_name
- !DEC$ATTRIBUTES reference :: field_name
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- CHARACTER(LEN=*), INTENT(in) :: field_name ! name of the field
- INTEGER(hsize_t), INTENT(in) :: start ! start record
- INTEGER(hsize_t), INTENT(in) :: nrecords ! records
- INTEGER(size_t), INTENT(in) :: type_size ! type size
- CHARACTER(LEN=*), INTENT(in), DIMENSION(*) :: buf ! data buffer
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- INTEGER(size_t) :: namelen1 ! name length
- END FUNCTION h5tbwrite_field_name_st_c
- END INTERFACE
-
- namelen = LEN(dset_name)
- namelen1 = LEN(field_name)
-
- errcode = h5tbwrite_field_name_st_c(loc_id,namelen,dset_name,namelen1,field_name,&
- start,nrecords,type_size,buf)
-
-END SUBROUTINE h5tbwrite_field_name_f_string
-
-
-!-------------------------------------------------------------------------
-! Function: h5tbread_field_name_f_int
-!
-! Purpose: Reads one field
-!
-! Programmer: pvn@ncsa.uiuc.edu
-!
-! Date: October 12, 2004
-!
-! Comments:
-!
-! Modifications:
-!
-!-------------------------------------------------------------------------
-
-SUBROUTINE h5tbread_field_name_f_int(loc_id,&
- dset_name,&
- field_name,&
- start,&
- nrecords,&
- type_size,&
- buf,&
- errcode )
-
- IMPLICIT NONE
-
-!
-!This definition is needed for Windows DLLs
-!DEC$if defined(BUILD_HDF5_HL_DLL)
-!DEC$attributes dllexport :: h5tbread_field_name_f_int
-!DEC$endif
-!
-
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- CHARACTER(LEN=*), INTENT(in) :: field_name ! name of the field
- INTEGER(hsize_t), INTENT(in) :: start ! start record
- INTEGER(hsize_t), INTENT(in) :: nrecords ! records
- INTEGER(size_t), INTENT(in) :: type_size ! type size
- INTEGER, INTENT(in), DIMENSION(*) :: buf ! data buffer
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- INTEGER(size_t) :: namelen1 ! name length
-
- INTERFACE
- INTEGER FUNCTION h5tbread_field_name_int_c(loc_id,namelen,dset_name,namelen1,field_name,&
- start,nrecords,type_size,buf)
-
- USE h5global
- IMPLICIT NONE
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5TBREAD_FIELD_NAME_INT_C'::h5tbread_field_name_int_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: dset_name
- !DEC$ATTRIBUTES reference :: field_name
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- CHARACTER(LEN=*), INTENT(in) :: field_name ! name of the field
- INTEGER(hsize_t), INTENT(in) :: start ! start record
- INTEGER(hsize_t), INTENT(in) :: nrecords ! records
- INTEGER(size_t), INTENT(in) :: type_size ! type size
- INTEGER, INTENT(in), DIMENSION(*) :: buf ! data buffer
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- INTEGER(size_t) :: namelen1 ! name length
- END FUNCTION h5tbread_field_name_int_c
- END INTERFACE
-
- namelen = LEN(dset_name)
- namelen1 = LEN(field_name)
-
- errcode = h5tbread_field_name_int_c(loc_id,namelen,dset_name,namelen1,field_name,&
- start,nrecords,type_size,buf)
-
-END SUBROUTINE h5tbread_field_name_f_int
-
-!-------------------------------------------------------------------------
-! Function: h5tbread_field_name_f_float
-!
-! Purpose: Reads one field
-!
-! Programmer: pvn@ncsa.uiuc.edu
-!
-! Date: October 12, 2004
-!
-! Comments:
-!
-! Modifications:
-!
-!-------------------------------------------------------------------------
-
-SUBROUTINE h5tbread_field_name_f_float(loc_id,&
- dset_name,&
- field_name,&
- start,&
- nrecords,&
- type_size,&
- buf,&
- errcode )
-
- IMPLICIT NONE
-
-!
-!This definition is needed for Windows DLLs
-!DEC$if defined(BUILD_HDF5_HL_DLL)
-!DEC$attributes dllexport :: h5tbread_field_name_f_float
-!DEC$endif
-!
-
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- CHARACTER(LEN=*), INTENT(in) :: field_name ! name of the field
- INTEGER(hsize_t), INTENT(in) :: start ! start record
- INTEGER(hsize_t), INTENT(in) :: nrecords ! records
- INTEGER(size_t), INTENT(in) :: type_size ! type size
- REAL, INTENT(in), DIMENSION(*) :: buf ! data buffer
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- INTEGER(size_t) :: namelen1 ! name length
-
- INTERFACE
- INTEGER FUNCTION h5tbread_field_name_fl_c(loc_id,namelen,dset_name,namelen1,field_name,&
- start,nrecords,type_size,buf)
-
- USE h5global
- IMPLICIT NONE
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5TBREAD_FIELD_NAME_FL_C'::h5tbread_field_name_fl_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: dset_name
- !DEC$ATTRIBUTES reference :: field_name
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- CHARACTER(LEN=*), INTENT(in) :: field_name ! name of the field
- INTEGER(hsize_t), INTENT(in) :: start ! start record
- INTEGER(hsize_t), INTENT(in) :: nrecords ! records
- INTEGER(size_t), INTENT(in) :: type_size ! type size
- REAL, INTENT(in), DIMENSION(*) :: buf ! data buffer
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- INTEGER(size_t) :: namelen1 ! name length
- END FUNCTION h5tbread_field_name_fl_c
- END INTERFACE
-
- namelen = LEN(dset_name)
- namelen1 = LEN(field_name)
-
- errcode = h5tbread_field_name_fl_c(loc_id,namelen,dset_name,namelen1,field_name,&
- start,nrecords,type_size,buf)
-
-END SUBROUTINE h5tbread_field_name_f_float
-
-!-------------------------------------------------------------------------
-! Function: h5tbread_field_name_f_double
-!
-! Purpose: Reads one field
-!
-! Programmer: pvn@ncsa.uiuc.edu
-!
-! Date: October 12, 2004
-!
-! Comments:
-!
-! Modifications:
-!
-!-------------------------------------------------------------------------
-
-SUBROUTINE h5tbread_field_name_f_double(loc_id,&
- dset_name,&
- field_name,&
- start,&
- nrecords,&
- type_size,&
- buf,&
- errcode )
-
- IMPLICIT NONE
-
-!
-!This definition is needed for Windows DLLs
-!DEC$if defined(BUILD_HDF5_HL_DLL)
-!DEC$attributes dllexport :: h5tbread_field_name_f_double
-!DEC$endif
-!
-
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- CHARACTER(LEN=*), INTENT(in) :: field_name ! name of the field
- INTEGER(hsize_t), INTENT(in) :: start ! start record
- INTEGER(hsize_t), INTENT(in) :: nrecords ! records
- INTEGER(size_t), INTENT(in) :: type_size ! type size
- DOUBLE PRECISION, INTENT(in), DIMENSION(*) :: buf ! data buffer
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- INTEGER(size_t) :: namelen1 ! name length
-
- INTERFACE
- INTEGER FUNCTION h5tbread_field_name_dl_c(loc_id,namelen,dset_name,namelen1,field_name,&
- start,nrecords,type_size,buf)
-
- USE h5global
- IMPLICIT NONE
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5TBREAD_FIELD_NAME_DL_C'::h5tbread_field_name_dl_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: dset_name
- !DEC$ATTRIBUTES reference :: field_name
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- CHARACTER(LEN=*), INTENT(in) :: field_name ! name of the field
- INTEGER(hsize_t), INTENT(in) :: start ! start record
- INTEGER(hsize_t), INTENT(in) :: nrecords ! records
- INTEGER(size_t), INTENT(in) :: type_size ! type size
- DOUBLE PRECISION, INTENT(in), DIMENSION(*) :: buf ! data buffer
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- INTEGER(size_t) :: namelen1 ! name length
- END FUNCTION h5tbread_field_name_dl_c
- END INTERFACE
-
- namelen = LEN(dset_name)
- namelen1 = LEN(field_name)
-
- errcode = h5tbread_field_name_dl_c(loc_id,namelen,dset_name,namelen1,field_name,&
- start,nrecords,type_size,buf)
-
-END SUBROUTINE h5tbread_field_name_f_double
-
-!-------------------------------------------------------------------------
-! Function: h5tbread_field_name_f_string
-!
-! Purpose: Reads one field
-!
-! Programmer: pvn@ncsa.uiuc.edu
-!
-! Date: October 12, 2004
-!
-! Comments:
-!
-! Modifications:
-!
-!-------------------------------------------------------------------------
-
-SUBROUTINE h5tbread_field_name_f_string(loc_id,&
- dset_name,&
- field_name,&
- start,&
- nrecords,&
- type_size,&
- buf,&
- errcode )
-
- IMPLICIT NONE
-
-!
-!This definition is needed for Windows DLLs
-!DEC$if defined(BUILD_HDF5_HL_DLL)
-!DEC$attributes dllexport :: h5tbread_field_name_f_string
-!DEC$endif
-!
-
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- CHARACTER(LEN=*), INTENT(in) :: field_name ! name of the field
- INTEGER(hsize_t), INTENT(in) :: start ! start record
- INTEGER(hsize_t), INTENT(in) :: nrecords ! records
- INTEGER(size_t), INTENT(in) :: type_size ! type size
- CHARACTER(LEN=*), INTENT(in), DIMENSION(*) :: buf ! data buffer
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- INTEGER(size_t) :: namelen1 ! name length
-
- INTERFACE
- INTEGER FUNCTION h5tbread_field_name_st_c(loc_id,namelen,dset_name,namelen1,field_name,&
- start,nrecords,type_size,buf)
-
- USE h5global
- IMPLICIT NONE
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5TBREAD_FIELD_NAME_ST_C'::h5tbread_field_name_st_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: dset_name
- !DEC$ATTRIBUTES reference :: field_name
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- CHARACTER(LEN=*), INTENT(in) :: field_name ! name of the field
- INTEGER(hsize_t), INTENT(in) :: start ! start record
- INTEGER(hsize_t), INTENT(in) :: nrecords ! records
- INTEGER(size_t), INTENT(in) :: type_size ! type size
- CHARACTER(LEN=*), INTENT(in), DIMENSION(*) :: buf ! data buffer
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- INTEGER(size_t) :: namelen1 ! name length
- END FUNCTION h5tbread_field_name_st_c
- END INTERFACE
-
- namelen = LEN(dset_name)
- namelen1 = LEN(field_name)
-
- errcode = h5tbread_field_name_st_c(loc_id,namelen,dset_name,namelen1,field_name,&
- start,nrecords,type_size,buf)
-
-END SUBROUTINE h5tbread_field_name_f_string
-
-
-!-------------------------------------------------------------------------
-! Function: h5tbwrite_field_index_f_int
-!
-! Purpose: Writes one field
-!
-! Programmer: pvn@ncsa.uiuc.edu
-!
-! Date: October 12, 2004
-!
-! Comments:
-!
-! Modifications:
-!
-!-------------------------------------------------------------------------
-
-SUBROUTINE h5tbwrite_field_index_f_int(loc_id,&
- dset_name,&
- field_index,&
- start,&
- nrecords,&
- type_size,&
- buf,&
- errcode )
-
- IMPLICIT NONE
-
-!
-!This definition is needed for Windows DLLs
-!DEC$if defined(BUILD_HDF5_HL_DLL)
-!DEC$attributes dllexport :: h5tbwrite_field_index_f_int
-!DEC$endif
-!
-
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: field_index ! index
- INTEGER(hsize_t), INTENT(in) :: start ! start record
- INTEGER(hsize_t), INTENT(in) :: nrecords ! records
- INTEGER(size_t), INTENT(in) :: type_size ! type size
- INTEGER, INTENT(in), DIMENSION(*) :: buf ! data buffer
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
-
- INTERFACE
- INTEGER FUNCTION h5tbwrite_field_index_int_c(loc_id,namelen,dset_name,field_index,&
- start,nrecords,type_size,buf)
-
- USE h5global
- IMPLICIT NONE
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5TBWRITE_FIELD_INDEX_INT_C'::h5tbwrite_field_index_int_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: dset_name
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: field_index ! index
- INTEGER(hsize_t), INTENT(in) :: start ! start record
- INTEGER(hsize_t), INTENT(in) :: nrecords ! records
- INTEGER(size_t), INTENT(in) :: type_size ! type size
- INTEGER, INTENT(in), DIMENSION(*) :: buf ! data buffer
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- END FUNCTION h5tbwrite_field_index_int_c
- END INTERFACE
-
- namelen = LEN(dset_name)
-
- errcode = h5tbwrite_field_index_int_c(loc_id,namelen,dset_name,field_index,&
- start,nrecords,type_size,buf)
-
-END SUBROUTINE h5tbwrite_field_index_f_int
-
-!-------------------------------------------------------------------------
-! Function: h5tbwrite_field_index_f_float
-!
-! Purpose: Writes one field
-!
-! Programmer: pvn@ncsa.uiuc.edu
-!
-! Date: October 12, 2004
-!
-! Comments:
-!
-! Modifications:
-!
-!-------------------------------------------------------------------------
-
-SUBROUTINE h5tbwrite_field_index_f_float(loc_id,&
- dset_name,&
- field_index,&
- start,&
- nrecords,&
- type_size,&
- buf,&
- errcode )
-
- IMPLICIT NONE
-
-!
-!This definition is needed for Windows DLLs
-!DEC$if defined(BUILD_HDF5_HL_DLL)
-!DEC$attributes dllexport :: h5tbwrite_field_index_f_float
-!DEC$endif
-!
-
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: field_index ! index
- INTEGER(hsize_t), INTENT(in) :: start ! start record
- INTEGER(hsize_t), INTENT(in) :: nrecords ! records
- INTEGER(size_t), INTENT(in) :: type_size ! type size
- REAL, INTENT(in), DIMENSION(*) :: buf ! data buffer
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
-
- INTERFACE
- INTEGER FUNCTION h5tbwrite_field_index_fl_c(loc_id,namelen,dset_name,field_index,&
- start,nrecords,type_size,buf)
-
- USE h5global
- IMPLICIT NONE
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5TBWRITE_FIELD_INDEX_FL_C'::h5tbwrite_field_index_fl_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: dset_name
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: field_index ! index
- INTEGER(hsize_t), INTENT(in) :: start ! start record
- INTEGER(hsize_t), INTENT(in) :: nrecords ! records
- INTEGER(size_t), INTENT(in) :: type_size ! type size
- REAL, INTENT(in), DIMENSION(*) :: buf ! data buffer
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- END FUNCTION h5tbwrite_field_index_fl_c
- END INTERFACE
-
- namelen = LEN(dset_name)
-
- errcode = h5tbwrite_field_index_fl_c(loc_id,namelen,dset_name,field_index,&
- start,nrecords,type_size,buf)
-
-END SUBROUTINE h5tbwrite_field_index_f_float
-
-
-
-!-------------------------------------------------------------------------
-! Function: h5tbwrite_field_index_f_double
-!
-! Purpose: Writes one field
-!
-! Programmer: pvn@ncsa.uiuc.edu
-!
-! Date: October 12, 2004
-!
-! Comments:
-!
-! Modifications:
-!
-!-------------------------------------------------------------------------
-
-SUBROUTINE h5tbwrite_field_index_f_double(loc_id,&
- dset_name,&
- field_index,&
- start,&
- nrecords,&
- type_size,&
- buf,&
- errcode )
-
- IMPLICIT NONE
-
-!
-!This definition is needed for Windows DLLs
-!DEC$if defined(BUILD_HDF5_HL_DLL)
-!DEC$attributes dllexport :: h5tbwrite_field_index_f_double
-!DEC$endif
-!
-
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: field_index ! index
- INTEGER(hsize_t), INTENT(in) :: start ! start record
- INTEGER(hsize_t), INTENT(in) :: nrecords ! records
- INTEGER(size_t), INTENT(in) :: type_size ! type size
- DOUBLE PRECISION, INTENT(in), DIMENSION(*) :: buf ! data buffer
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
-
- INTERFACE
- INTEGER FUNCTION h5tbwrite_field_index_dl_c(loc_id,namelen,dset_name,field_index,&
- start,nrecords,type_size,buf)
-
- USE h5global
- IMPLICIT NONE
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5TBWRITE_FIELD_INDEX_DL_C'::h5tbwrite_field_index_dl_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: dset_name
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: field_index ! index
- INTEGER(hsize_t), INTENT(in) :: start ! start record
- INTEGER(hsize_t), INTENT(in) :: nrecords ! records
- INTEGER(size_t), INTENT(in) :: type_size ! type size
- DOUBLE PRECISION, INTENT(in), DIMENSION(*) :: buf ! data buffer
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- END FUNCTION h5tbwrite_field_index_dl_c
- END INTERFACE
-
- namelen = LEN(dset_name)
-
- errcode = h5tbwrite_field_index_dl_c(loc_id,namelen,dset_name,field_index,&
- start,nrecords,type_size,buf)
-
-END SUBROUTINE h5tbwrite_field_index_f_double
-
-!-------------------------------------------------------------------------
-! Function: h5tbwrite_field_index_f_string
-!
-! Purpose: Writes one field
-!
-! Programmer: pvn@ncsa.uiuc.edu
-!
-! Date: October 12, 2004
-!
-! Comments:
-!
-! Modifications:
-!
-!-------------------------------------------------------------------------
-
-SUBROUTINE h5tbwrite_field_index_f_string(loc_id,&
- dset_name,&
- field_index,&
- start,&
- nrecords,&
- type_size,&
- buf,&
- errcode )
-
- IMPLICIT NONE
-
-!
-!This definition is needed for Windows DLLs
-!DEC$if defined(BUILD_HDF5_HL_DLL)
-!DEC$attributes dllexport :: h5tbwrite_field_index_f_string
-!DEC$endif
-!
-
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: field_index ! index
- INTEGER(hsize_t), INTENT(in) :: start ! start record
- INTEGER(hsize_t), INTENT(in) :: nrecords ! records
- INTEGER(size_t), INTENT(in) :: type_size ! type size
- CHARACTER(LEN=*), INTENT(in), DIMENSION(*) :: buf ! data buffer
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
-
- INTERFACE
- INTEGER FUNCTION h5tbwrite_field_index_st_c(loc_id,namelen,dset_name,field_index,&
- start,nrecords,type_size,buf)
-
- USE h5global
- IMPLICIT NONE
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5TBWRITE_FIELD_INDEX_ST_C'::h5tbwrite_field_index_st_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: dset_name
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: field_index ! index
- INTEGER(hsize_t), INTENT(in) :: start ! start record
- INTEGER(hsize_t), INTENT(in) :: nrecords ! records
- INTEGER(size_t), INTENT(in) :: type_size ! type size
- CHARACTER(LEN=*), INTENT(in), DIMENSION(*) :: buf ! data buffer
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- END FUNCTION h5tbwrite_field_index_st_c
- END INTERFACE
-
- namelen = LEN(dset_name)
-
- errcode = h5tbwrite_field_index_st_c(loc_id,namelen,dset_name,field_index,&
- start,nrecords,type_size,buf)
-
-END SUBROUTINE h5tbwrite_field_index_f_string
-
-
-!-------------------------------------------------------------------------
-! Function: h5tbread_field_index_f_int
-!
-! Purpose: Reads one field
-!
-! Programmer: pvn@ncsa.uiuc.edu
-!
-! Date: October 12, 2004
-!
-! Comments:
-!
-! Modifications:
-!
-!-------------------------------------------------------------------------
-
-SUBROUTINE h5tbread_field_index_f_int(loc_id,&
- dset_name,&
- field_index,&
- start,&
- nrecords,&
- type_size,&
- buf,&
- errcode )
-
- IMPLICIT NONE
-
-!
-!This definition is needed for Windows DLLs
-!DEC$if defined(BUILD_HDF5_HL_DLL)
-!DEC$attributes dllexport ::h5tbread_field_index_f_int
-!DEC$endif
-!
-
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: field_index ! index
- INTEGER(hsize_t), INTENT(in) :: start ! start record
- INTEGER(hsize_t), INTENT(in) :: nrecords ! records
- INTEGER(size_t), INTENT(in) :: type_size ! type size
- INTEGER, INTENT(in), DIMENSION(*) :: buf ! data buffer
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
-
- INTERFACE
- INTEGER FUNCTION h5tbread_field_index_int_c(loc_id,namelen,dset_name,field_index,&
- start,nrecords,type_size,buf)
-
- USE h5global
- IMPLICIT NONE
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5TBREAD_FIELD_INDEX_INT_C'::h5tbread_field_index_int_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: dset_name
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: field_index ! index
- INTEGER(hsize_t), INTENT(in) :: start ! start record
- INTEGER(hsize_t), INTENT(in) :: nrecords ! records
- INTEGER(size_t), INTENT(in) :: type_size ! type size
- INTEGER, INTENT(in), DIMENSION(*) :: buf ! data buffer
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- END FUNCTION h5tbread_field_index_int_c
- END INTERFACE
-
- namelen = LEN(dset_name)
-
- errcode = h5tbread_field_index_int_c(loc_id,namelen,dset_name,field_index,&
- start,nrecords,type_size,buf)
-
-END SUBROUTINE h5tbread_field_index_f_int
-
-!-------------------------------------------------------------------------
-! Function: h5tbread_field_index_f_float
-!
-! Purpose: Reads one field
-!
-! Programmer: pvn@ncsa.uiuc.edu
-!
-! Date: October 12, 2004
-!
-! Comments:
-!
-! Modifications:
-!
-!-------------------------------------------------------------------------
-
-SUBROUTINE h5tbread_field_index_f_float(loc_id,&
- dset_name,&
- field_index,&
- start,&
- nrecords,&
- type_size,&
- buf,&
- errcode )
-
- IMPLICIT NONE
-
-!
-!This definition is needed for Windows DLLs
-!DEC$if defined(BUILD_HDF5_HL_DLL)
-!DEC$attributes dllexport :: h5tbread_field_index_f_float
-!DEC$endif
-!
-
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: field_index ! index
- INTEGER(hsize_t), INTENT(in) :: start ! start record
- INTEGER(hsize_t), INTENT(in) :: nrecords ! records
- INTEGER(size_t), INTENT(in) :: type_size ! type size
- REAL, INTENT(in), DIMENSION(*) :: buf ! data buffer
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
-
- INTERFACE
- INTEGER FUNCTION h5tbread_field_index_fl_c(loc_id,namelen,dset_name,field_index,&
- start,nrecords,type_size,buf)
-
- USE h5global
- IMPLICIT NONE
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5TBREAD_FIELD_INDEX_FL_C'::h5tbread_field_index_fl_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: dset_name
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: field_index ! index
- INTEGER(hsize_t), INTENT(in) :: start ! start record
- INTEGER(hsize_t), INTENT(in) :: nrecords ! records
- INTEGER(size_t), INTENT(in) :: type_size ! type size
- REAL, INTENT(in), DIMENSION(*) :: buf ! data buffer
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- END FUNCTION h5tbread_field_index_fl_c
- END INTERFACE
-
- namelen = LEN(dset_name)
-
- errcode = h5tbread_field_index_fl_c(loc_id,namelen,dset_name,field_index,&
- start,nrecords,type_size,buf)
-
-END SUBROUTINE h5tbread_field_index_f_float
-
-!-------------------------------------------------------------------------
-! Function: h5tbread_field_index_f_double
-!
-! Purpose: Reads one field
-!
-! Programmer: pvn@ncsa.uiuc.edu
-!
-! Date: October 12, 2004
-!
-! Comments:
-!
-! Modifications:
-!
-!-------------------------------------------------------------------------
-
-SUBROUTINE h5tbread_field_index_f_double(loc_id,&
- dset_name,&
- field_index,&
- start,&
- nrecords,&
- type_size,&
- buf,&
- errcode )
-
- IMPLICIT NONE
-
-!
-!This definition is needed for Windows DLLs
-!DEC$if defined(BUILD_HDF5_HL_DLL)
-!DEC$attributes dllexport :: h5tbread_field_index_f_double
-!DEC$endif
-!
-
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: field_index ! index
- INTEGER(hsize_t), INTENT(in) :: start ! start record
- INTEGER(hsize_t), INTENT(in) :: nrecords ! records
- INTEGER(size_t), INTENT(in) :: type_size ! type size
- DOUBLE PRECISION, INTENT(in), DIMENSION(*) :: buf ! data buffer
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
-
- INTERFACE
- INTEGER FUNCTION h5tbread_field_index_dl_c(loc_id,namelen,dset_name,field_index,&
- start,nrecords,type_size,buf)
-
- USE h5global
- IMPLICIT NONE
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5TBREAD_FIELD_INDEX_DL_C'::h5tbread_field_index_dl_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: dset_name
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: field_index ! index
- INTEGER(hsize_t), INTENT(in) :: start ! start record
- INTEGER(hsize_t), INTENT(in) :: nrecords ! records
- INTEGER(size_t), INTENT(in) :: type_size ! type size
- DOUBLE PRECISION, INTENT(in), DIMENSION(*) :: buf ! data buffer
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- END FUNCTION h5tbread_field_index_dl_c
- END INTERFACE
-
- namelen = LEN(dset_name)
-
- errcode = h5tbread_field_index_dl_c(loc_id,namelen,dset_name,field_index,&
- start,nrecords,type_size,buf)
-
-END SUBROUTINE h5tbread_field_index_f_double
-
-!-------------------------------------------------------------------------
-! Function: h5tbread_field_index_f_string
-!
-! Purpose: Reads one field
-!
-! Programmer: pvn@ncsa.uiuc.edu
-!
-! Date: October 12, 2004
-!
-! Comments:
-!
-! Modifications:
-!
-!-------------------------------------------------------------------------
-
-SUBROUTINE h5tbread_field_index_f_string(loc_id,&
- dset_name,&
- field_index,&
- start,&
- nrecords,&
- type_size,&
- buf,&
- errcode )
-
- IMPLICIT NONE
-
-!
-!This definition is needed for Windows DLLs
-!DEC$if defined(BUILD_HDF5_HL_DLL)
-!DEC$attributes dllexport :: h5tbread_field_index_f_string
-!DEC$endif
-!
-
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: field_index ! index
- INTEGER(hsize_t), INTENT(in) :: start ! start record
- INTEGER(hsize_t), INTENT(in) :: nrecords ! records
- INTEGER(size_t), INTENT(in) :: type_size ! type size
- CHARACTER(LEN=*), INTENT(in), DIMENSION(*) :: buf ! data buffer
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
-
- INTERFACE
- INTEGER FUNCTION h5tbread_field_index_st_c(loc_id,namelen,dset_name,field_index,&
- start,nrecords,type_size,buf)
-
- USE h5global
- IMPLICIT NONE
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5TBREAD_FIELD_INDEX_ST_C'::h5tbread_field_index_st_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: dset_name
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: field_index ! index
- INTEGER(hsize_t), INTENT(in) :: start ! start record
- INTEGER(hsize_t), INTENT(in) :: nrecords ! records
- INTEGER(size_t), INTENT(in) :: type_size ! type size
- CHARACTER(LEN=*), INTENT(in), DIMENSION(*) :: buf ! data buffer
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- END FUNCTION h5tbread_field_index_st_c
- END INTERFACE
-
- namelen = LEN(dset_name)
-
- errcode = h5tbread_field_index_st_c(loc_id,namelen,dset_name,field_index,&
- start,nrecords,type_size,buf)
-
-END SUBROUTINE h5tbread_field_index_f_string
-
-
-!-------------------------------------------------------------------------
-! Function: h5tbinsert_field_f_int
-!
-! Purpose: Inserts one field
-!
-! Programmer: pvn@ncsa.uiuc.edu
-!
-! Date: October 13, 2004
-!
-! Comments:
-!
-! Modifications:
-!
-!-------------------------------------------------------------------------
-
-SUBROUTINE h5tbinsert_field_f_int(loc_id,&
- dset_name,&
- field_name,&
- field_type,&
- field_index,&
- buf,&
- errcode )
- IMPLICIT NONE
-
-!
-!This definition is needed for Windows DLLs
-!DEC$if defined(BUILD_HDF5_HL_DLL)
-!DEC$attributes dllexport :: h5tbinsert_field_f_int
-!DEC$endif
-!
-
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- CHARACTER(LEN=*), INTENT(in) :: field_name ! name of the field
- INTEGER(hid_t), INTENT(in) :: field_type ! field type
- INTEGER, INTENT(in) :: field_index ! field_index
- INTEGER, INTENT(in), DIMENSION(*) :: buf ! data buffer
- INTEGER(size_t) :: namelen ! name length
- INTEGER(size_t) :: namelen1 ! name length
- INTEGER :: errcode ! error code
-
-
- INTERFACE
- INTEGER FUNCTION h5tbinsert_field_int_c(loc_id,namelen,dset_name,namelen1,field_name,&
- field_type,field_index,buf)
-
- USE h5global
- IMPLICIT NONE
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5TBINSERT_FIELD_INT_C'::h5tbinsert_field_int_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: dset_name
- !DEC$ATTRIBUTES reference :: field_name
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- CHARACTER(LEN=*), INTENT(in) :: field_name ! name of the field
- INTEGER(hid_t), INTENT(in) :: field_type ! field type
- INTEGER, INTENT(in) :: field_index ! field_index
- INTEGER, INTENT(in), DIMENSION(*) :: buf ! data buffer
- INTEGER(size_t) :: namelen ! name length
- INTEGER(size_t) :: namelen1 ! name length length
- END FUNCTION h5tbinsert_field_int_c
- END INTERFACE
-
- namelen = LEN(dset_name)
- namelen1 = LEN(field_name)
-
- errcode = h5tbinsert_field_int_c(loc_id,namelen,dset_name,namelen1,field_name,&
- field_type,field_index,buf)
-
-END SUBROUTINE h5tbinsert_field_f_int
-
-
-
-!-------------------------------------------------------------------------
-! Function: h5tbinsert_field_f_float
-!
-! Purpose: Inserts one field
-!
-! Programmer: pvn@ncsa.uiuc.edu
-!
-! Date: October 13, 2004
-!
-! Comments:
-!
-! Modifications:
-!
-!-------------------------------------------------------------------------
-
-SUBROUTINE h5tbinsert_field_f_float(loc_id,&
- dset_name,&
- field_name,&
- field_type,&
- field_index,&
- buf,&
- errcode )
- IMPLICIT NONE
-
-!
-!This definition is needed for Windows DLLs
-!DEC$if defined(BUILD_HDF5_HL_DLL)
-!DEC$attributes dllexport :: h5tbinsert_field_f_float
-!DEC$endif
-!
-
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- CHARACTER(LEN=*), INTENT(in) :: field_name ! name of the field
- INTEGER(hid_t), INTENT(in) :: field_type ! field type
- INTEGER, INTENT(in) :: field_index ! field_index
- REAL, INTENT(in), DIMENSION(*) :: buf ! data buffer
- INTEGER(size_t) :: namelen ! name length
- INTEGER(size_t) :: namelen1 ! name length
- INTEGER :: errcode ! error code
-
-
- INTERFACE
- INTEGER FUNCTION h5tbinsert_field_fl_c(loc_id,namelen,dset_name,namelen1,field_name,&
- field_type,field_index,buf)
-
- USE h5global
- IMPLICIT NONE
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5TBINSERT_FIELD_FL_C'::h5tbinsert_field_fl_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: dset_name
- !DEC$ATTRIBUTES reference :: field_name
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- CHARACTER(LEN=*), INTENT(in) :: field_name ! name of the field
- INTEGER(hid_t), INTENT(in) :: field_type ! field type
- INTEGER, INTENT(in) :: field_index ! field_index
- REAL, INTENT(in), DIMENSION(*) :: buf ! data buffer
- INTEGER(size_t) :: namelen ! name length
- INTEGER(size_t) :: namelen1 ! name length length
- END FUNCTION h5tbinsert_field_fl_c
- END INTERFACE
-
- namelen = LEN(dset_name)
- namelen1 = LEN(field_name)
-
- errcode = h5tbinsert_field_fl_c(loc_id,namelen,dset_name,namelen1,field_name,&
- field_type,field_index,buf)
-
-END SUBROUTINE h5tbinsert_field_f_float
-
-
-
-!-------------------------------------------------------------------------
-! Function: h5tbinsert_field_f_double
-!
-! Purpose: Inserts one field
-!
-! Programmer: pvn@ncsa.uiuc.edu
-!
-! Date: October 13, 2004
-!
-! Comments:
-!
-! Modifications:
-!
-!-------------------------------------------------------------------------
-
-SUBROUTINE h5tbinsert_field_f_double(loc_id,&
- dset_name,&
- field_name,&
- field_type,&
- field_index,&
- buf,&
- errcode )
- IMPLICIT NONE
-
-!
-!This definition is needed for Windows DLLs
-!DEC$if defined(BUILD_HDF5_HL_DLL)
-!DEC$attributes dllexport :: h5tbinsert_field_f_double
-!DEC$endif
-!
-
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- CHARACTER(LEN=*), INTENT(in) :: field_name ! name of the field
- INTEGER(hid_t), INTENT(in) :: field_type ! field type
- INTEGER, INTENT(in) :: field_index ! field_index
- DOUBLE PRECISION, INTENT(in), DIMENSION(*) :: buf ! data buffer
- INTEGER(size_t) :: namelen ! name length
- INTEGER(size_t) :: namelen1 ! name length
- INTEGER :: errcode ! error code
-
-
- INTERFACE
- INTEGER FUNCTION h5tbinsert_field_dl_c(loc_id,namelen,dset_name,namelen1,field_name,&
- field_type,field_index,buf)
-
- USE h5global
- IMPLICIT NONE
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5TBINSERT_FIELD_DL_C'::h5tbinsert_field_dl_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: dset_name
- !DEC$ATTRIBUTES reference :: field_name
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- CHARACTER(LEN=*), INTENT(in) :: field_name ! name of the field
- INTEGER(hid_t), INTENT(in) :: field_type ! field type
- INTEGER, INTENT(in) :: field_index ! field_index
- DOUBLE PRECISION, INTENT(in), DIMENSION(*) :: buf ! data buffer
- INTEGER(size_t) :: namelen ! name length
- INTEGER(size_t) :: namelen1 ! name length length
- END FUNCTION h5tbinsert_field_dl_c
- END INTERFACE
-
- namelen = LEN(dset_name)
- namelen1 = LEN(field_name)
-
- errcode = h5tbinsert_field_dl_c(loc_id,namelen,dset_name,namelen1,field_name,&
- field_type,field_index,buf)
-
-END SUBROUTINE h5tbinsert_field_f_double
-
-
-
-
-!-------------------------------------------------------------------------
-! Function: h5tbinsert_field_f_string
-!
-! Purpose: Inserts one field
-!
-! Programmer: pvn@ncsa.uiuc.edu
-!
-! Date: October 13, 2004
-!
-! Comments:
-!
-! Modifications:
-!
-!-------------------------------------------------------------------------
-
-SUBROUTINE h5tbinsert_field_f_string(loc_id,&
- dset_name,&
- field_name,&
- field_type,&
- field_index,&
- buf,&
- errcode )
- IMPLICIT NONE
-
-!
-!This definition is needed for Windows DLLs
-!DEC$if defined(BUILD_HDF5_HL_DLL)
-!DEC$attributes dllexport :: h5tbinsert_field_f_string
-!DEC$endif
-!
-
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- CHARACTER(LEN=*), INTENT(in) :: field_name ! name of the field
- INTEGER(hid_t), INTENT(in) :: field_type ! field type
- INTEGER, INTENT(in) :: field_index ! field_index
- CHARACTER(LEN=*), INTENT(in), DIMENSION(*) :: buf ! data buffer
- INTEGER(size_t) :: namelen ! name length
- INTEGER(size_t) :: namelen1 ! name length
- INTEGER :: errcode ! error code
-
-
- INTERFACE
- INTEGER FUNCTION h5tbinsert_field_st_c(loc_id,namelen,dset_name,namelen1,field_name,&
- field_type,field_index,buf)
-
- USE h5global
- IMPLICIT NONE
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5TBINSERT_FIELD_ST_C'::h5tbinsert_field_st_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: dset_name
- !DEC$ATTRIBUTES reference :: field_name
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- CHARACTER(LEN=*), INTENT(in) :: field_name ! name of the field
- INTEGER(hid_t), INTENT(in) :: field_type ! field type
- INTEGER, INTENT(in) :: field_index ! field_index
- CHARACTER(LEN=*), INTENT(in), DIMENSION(*) :: buf ! data buffer
- INTEGER(size_t) :: namelen ! name length
- INTEGER(size_t) :: namelen1 ! name length length
- END FUNCTION h5tbinsert_field_st_c
- END INTERFACE
-
- namelen = LEN(dset_name)
- namelen1 = LEN(field_name)
-
- errcode = h5tbinsert_field_st_c(loc_id,namelen,dset_name,namelen1,field_name,&
- field_type,field_index,buf)
-
-END SUBROUTINE h5tbinsert_field_f_string
-
-
-
-
-!-------------------------------------------------------------------------
-! Function: h5tbdelete_field_f
-!
-! Purpose: Inserts one field
-!
-! Programmer: pvn@ncsa.uiuc.edu
-!
-! Date: October 13, 2004
-!
-! Comments:
-!
-! Modifications:
-!
-!-------------------------------------------------------------------------
-
-SUBROUTINE h5tbdelete_field_f(loc_id,&
- dset_name,&
- field_name,&
- errcode )
- IMPLICIT NONE
-
-!
-!This definition is needed for Windows DLLs
-!DEC$if defined(BUILD_HDF5_HL_DLL)
-!DEC$attributes dllexport :: h5tbdelete_field_f
-!DEC$endif
-!
-
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- CHARACTER(LEN=*), INTENT(in) :: field_name ! name of the field
- INTEGER(size_t) :: namelen ! name length
- INTEGER(size_t) :: namelen1 ! name length
- INTEGER :: errcode ! error code
-
-
- INTERFACE
- INTEGER FUNCTION h5tbdelete_field_c(loc_id,namelen,dset_name,namelen1,field_name)
-
- USE h5global
- IMPLICIT NONE
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5TBDELETE_FIELD_C'::h5tbdelete_field_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: dset_name
- !DEC$ATTRIBUTES reference :: field_name
- INTEGER(HID_T), INTENT(IN) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(IN) :: dset_name ! name of the dataset
- CHARACTER(LEN=*), INTENT(IN) :: field_name ! name of the field
- INTEGER(size_t) :: namelen ! name length
- INTEGER(size_t) :: namelen1 ! name length length
- END FUNCTION h5tbdelete_field_c
- END INTERFACE
-
- namelen = LEN(dset_name)
- namelen1 = LEN(field_name)
-
- errcode = h5tbdelete_field_c(loc_id,namelen,dset_name,namelen1,field_name)
-
-END SUBROUTINE h5tbdelete_field_f
-
-
-
-!-------------------------------------------------------------------------
-! Function: h5tbget_table_info_f
-!
-! Purpose: Gets the number of records and fields of a table
-!
-! Return: Success: 0, Failure: -1
-!
-! Programmer: pvn@ncsa.uiuc.edu
-!
-! Date: October 13, 2004
-!
-! Comments:
-!
-! Modifications:
-!
-!-------------------------------------------------------------------------
-
-SUBROUTINE h5tbget_table_info_f(loc_id,&
- dset_name,&
- nfields,&
- nrecords,&
- errcode )
-
- IMPLICIT NONE
-
-!
-!This definition is needed for Windows DLLs
-!DEC$if defined(BUILD_HDF5_HL_DLL)
-!DEC$attributes dllexport :: h5tbget_table_info_f
-!DEC$endif
-!
-
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hsize_t), INTENT(inout):: nfields ! nfields
- INTEGER(hsize_t), INTENT(inout):: nrecords ! nrecords
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
-
- INTERFACE
- INTEGER FUNCTION h5tbget_table_info_c(loc_id,namelen,dset_name,nfields,nrecords)
- USE h5global
- IMPLICIT NONE
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5TBGET_TABLE_INFO_C'::h5tbget_table_info_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: dset_name
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hsize_t), INTENT(inout):: nfields ! nfields
- INTEGER(hsize_t), INTENT(inout):: nrecords ! nrecords
- INTEGER(size_t) :: namelen ! name length
- END FUNCTION h5tbget_table_info_c
- END INTERFACE
-
- namelen = LEN(dset_name)
- errcode = h5tbget_table_info_c(loc_id,namelen,dset_name,nfields,nrecords)
-
-END SUBROUTINE h5tbget_table_info_f
-
-
-!-------------------------------------------------------------------------
-! Function: h5tbget_field_info_f
-!
-! Purpose: Get information about fields
-!
-! Return: Success: 0, Failure: -1
-!
-! Programmer: pvn@ncsa.uiuc.edu
-!
-! Date: October 13, 2004
-!
-! Comments:
-!
-! Modifications:
-! Added optional parameter for returning the maximum character length
-! in the field name array. March 3, 2011
-!
-!-------------------------------------------------------------------------
-
-SUBROUTINE h5tbget_field_info_f(loc_id,&
- dset_name,&
- nfields,&
- field_names,&
- field_sizes,&
- field_offsets,&
- type_size,&
- errcode, maxlen_out )
-
- IMPLICIT NONE
-!
-!This definition is needed for Windows DLLs
-!DEC$if defined(BUILD_HDF5_HL_DLL)
-!DEC$attributes dllexport :: h5tbget_field_info_f
-!DEC$endif
-!
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hsize_t), INTENT(in) :: nfields ! nfields
- CHARACTER(LEN=*), DIMENSION(nfields), INTENT(inout) :: field_names ! field names
- INTEGER(size_t), DIMENSION(nfields), INTENT(inout) :: field_sizes ! field sizes
- INTEGER(size_t), DIMENSION(nfields), INTENT(inout) :: field_offsets ! field offsets
- INTEGER(size_t), INTENT(inout):: type_size ! type size
- INTEGER :: errcode ! error code
- INTEGER, OPTIONAL :: maxlen_out ! maximum character len of the field names
- INTEGER(size_t) :: namelen ! name length
- INTEGER(size_t), DIMENSION(nfields) :: namelen2 ! name lengths
- INTEGER(hsize_t) :: i ! general purpose integer
- INTEGER(size_t) :: maxlen
- INTEGER(size_t) :: c_maxlen_out
-
- INTERFACE
- INTEGER FUNCTION h5tbget_field_info_c(loc_id,namelen,dset_name,nfields,&
- field_sizes,field_offsets,type_size,namelen2, maxlen, field_names, c_maxlen_out)
-
- USE h5global
- IMPLICIT NONE
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5TBGET_FIELD_INFO_C'::h5tbget_field_info_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: dset_name
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hsize_t), INTENT(in):: nfields ! nfields
- CHARACTER(LEN=*), DIMENSION(1:nfields), INTENT(inout) :: field_names ! field names
- INTEGER(size_t), DIMENSION(1:nfields), INTENT(inout) :: field_sizes ! field sizes
- INTEGER(size_t), DIMENSION(1:nfields), INTENT(inout) :: field_offsets ! field offsets
- INTEGER(size_t), INTENT(inout):: type_size ! type size
- INTEGER(size_t) :: namelen ! name length
- INTEGER(size_t) :: maxlen ! maxiumum length of input field names
- INTEGER(size_t), DIMENSION(1:nfields) :: namelen2 ! name lengths
- INTEGER(size_t) :: c_maxlen_out ! maximum character length of a field array element
- END FUNCTION h5tbget_field_info_c
- END INTERFACE
-
- namelen = LEN(dset_name)
- DO i = 1, nfields
- namelen2(i) = LEN_TRIM(field_names(i))
- END DO
- maxlen = LEN(field_names(1))
- c_maxlen_out = 0
-
- errcode = h5tbget_field_info_c(loc_id, namelen,dset_name, nfields, &
- field_sizes, field_offsets, type_size, namelen2, maxlen, field_names, c_maxlen_out)
-
- IF(PRESENT(maxlen_out)) maxlen_out = c_maxlen_out
-
-END SUBROUTINE h5tbget_field_info_f
-
-END MODULE H5TB
-
-
-
-
-
-
diff --git a/hl/fortran/src/Makefile.am b/hl/fortran/src/Makefile.am
index c8c4541..d190ed1 100644
--- a/hl/fortran/src/Makefile.am
+++ b/hl/fortran/src/Makefile.am
@@ -42,12 +42,12 @@ endif
# Source files for the library
#if BUILD_PARALLEL_CONDITIONAL
-# PARALLEL_COND_SRC=HDFDmpiof.c HDF5mpio.f90
+# PARALLEL_COND_SRC=HDFDmpiof.c HDF5mpio.F90
#endif
# List sources to include in the HDF5 HL Fortran library.
-libhdf5hl_fortran_la_SOURCES=H5DSfc.c H5LTfc.c H5IMfc.c H5IMcc.c H5TBfc.c \
- H5DSff.f90 H5LTff.f90 H5IMff.f90 H5TBff.f90
+libhdf5hl_fortran_la_SOURCES=H5DSfc.c H5LTfc.c H5IMfc.c H5IMcc.c H5TBfc.c \
+ H5DSff.F90 H5LTff.F90 H5TBff.F90 H5IMff.F90 H5LTff_gen.F90 H5TBff_gen.F90
# HDF5 HL Fortran library depends on HDF5 Library.
libhdf5hl_fortran_la_LIBADD=$(LIBH5_HL) $(LIBH5F)
@@ -60,7 +60,7 @@ maintainer-clean-local: clean-local
distclean-local: clean-local
clean-local:
@if test -n "$(F9XMODEXT)" && test "X$(F9XMODEXT)" != "Xo"; then \
- $(RM) *.$(F9XMODEXT); \
+ $(RM) *.$(F9XMODEXT) H5LTff_gen.F90 H5TBff_gen.F90; \
fi
install-data-local:
@@ -75,13 +75,31 @@ uninstall-local:
fi; \
fi
+# These are the helper programs we need to build.
+noinst_PROGRAMS = H5HL_buildiface
+
+# H5HL_buildiface.F90 generates all the APIs that have a KIND type associated
+# with them.
+
+H5LTff_gen.F90: H5HL_buildiface$(EXEEXT)
+ $(RUNSERIAL) ./H5HL_buildiface$(EXEEXT)
+
+H5TBff_gen.F90: H5HL_buildiface$(EXEEXT)
+
+#H5TBff_gen.F90: H5HL_buildiface$(EXEEXT)
+
+# H5HL_buildiface.F90 is included in the distribution, and Automake knows
+# how to compile a fortran program given its sources.
+
+H5HL_buildiface_SOURCES = H5HL_buildiface.F90
# Hardcode the dependencies of these files. There isn't a known way of
# determining this automagically (like we do with the C files). So, when
# doing a parallel make, some modules could be made way before the
# modules they depend upon are actually made. *sigh*
-H5DSff.lo: $(srcdir)/H5DSff.f90
-H5LTff.lo: $(srcdir)/H5LTff.f90
-H5IMff.lo: $(srcdir)/H5IMff.f90
-H5TBff.lo: $(srcdir)/H5TBff.f90
-
-include $(top_srcdir)/config/conclude.am
+H5DSff.lo: $(srcdir)/H5DSff.F90
+H5LTff.lo: $(srcdir)/H5LTff.F90
+H5IMff.lo: $(srcdir)/H5IMff.F90
+H5TBff.lo: $(srcdir)/H5TBff.F90
+H5LTff_gen.lo: H5LTff.lo H5LTff_gen.F90
+H5TBff_gen.lo: H5TBff.lo H5LTff_gen.F90 H5TBff_gen.F90
+include $(top_srcdir)/config/conclude_fc.am
diff --git a/hl/fortran/src/Makefile.in b/hl/fortran/src/Makefile.in
index 029e5a1..6ceb7c7 100644
--- a/hl/fortran/src/Makefile.in
+++ b/hl/fortran/src/Makefile.in
@@ -31,6 +31,11 @@
#
# HDF5 High-Level Fortran Makefile(.in)
+# Makefile.am include fragment with Fortran helper rules and macros.
+
+# AM_FCCPPFLAGS, FCCPPFLAGS are currently not used.
+
+
VPATH = @srcdir@
am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
am__make_running_with_option = \
@@ -97,6 +102,7 @@ build_triplet = @build@
host_triplet = @host@
DIST_COMMON = $(top_srcdir)/config/commence.am \
$(top_srcdir)/config/lt_vers.am \
+ $(top_srcdir)/config/conclude_fc.am \
$(top_srcdir)/config/conclude.am $(srcdir)/Makefile.in \
$(srcdir)/Makefile.am $(top_srcdir)/bin/mkinstalldirs \
$(top_srcdir)/bin/depcomp $(top_srcdir)/bin/test-driver
@@ -105,6 +111,7 @@ DIST_COMMON = $(top_srcdir)/config/commence.am \
# want to build a shared C library and a static Fortran library. If so,
# pass the -static flag to the library linker.
@FORTRAN_SHARED_CONDITIONAL_FALSE@am__append_1 = -static
+noinst_PROGRAMS = H5HL_buildiface$(EXEEXT)
TESTS =
subdir = hl/fortran/src
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
@@ -113,7 +120,8 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/aclocal_cxx.m4 \
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(SHELL) $(top_srcdir)/bin/mkinstalldirs
-CONFIG_HEADER = $(top_builddir)/src/H5config.h
+CONFIG_HEADER = $(top_builddir)/src/H5config.h \
+ $(top_builddir)/fortran/src/H5config_f.inc
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
@@ -147,7 +155,8 @@ am__installdirs = "$(DESTDIR)$(libdir)"
LTLIBRARIES = $(lib_LTLIBRARIES)
libhdf5hl_fortran_la_DEPENDENCIES = $(LIBH5_HL) $(LIBH5F)
am_libhdf5hl_fortran_la_OBJECTS = H5DSfc.lo H5LTfc.lo H5IMfc.lo \
- H5IMcc.lo H5TBfc.lo H5DSff.lo H5LTff.lo H5IMff.lo H5TBff.lo
+ H5IMcc.lo H5TBfc.lo H5DSff.lo H5LTff.lo H5TBff.lo H5IMff.lo \
+ H5LTff_gen.lo H5TBff_gen.lo
libhdf5hl_fortran_la_OBJECTS = $(am_libhdf5hl_fortran_la_OBJECTS)
AM_V_lt = $(am__v_lt_@AM_V@)
am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
@@ -157,6 +166,10 @@ libhdf5hl_fortran_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=FC \
$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(FCLD) \
$(AM_FCFLAGS) $(FCFLAGS) $(libhdf5hl_fortran_la_LDFLAGS) \
$(LDFLAGS) -o $@
+PROGRAMS = $(noinst_PROGRAMS)
+am_H5HL_buildiface_OBJECTS = H5HL_buildiface.$(OBJEXT)
+H5HL_buildiface_OBJECTS = $(am_H5HL_buildiface_OBJECTS)
+H5HL_buildiface_LDADD = $(LDADD)
AM_V_P = $(am__v_P_@AM_V@)
am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
am__v_P_0 = false
@@ -169,10 +182,22 @@ AM_V_at = $(am__v_at_@AM_V@)
am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
am__v_at_0 = @
am__v_at_1 =
-DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/src
+DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/src -I$(top_builddir)/fortran/src
depcomp = $(SHELL) $(top_srcdir)/bin/depcomp
am__depfiles_maybe = depfiles
am__mv = mv -f
+AM_V_PPFC = $(am__v_PPFC_@AM_V@)
+am__v_PPFC_ = $(am__v_PPFC_@AM_DEFAULT_V@)
+am__v_PPFC_0 = @echo " PPFC " $@;
+am__v_PPFC_1 =
+FCLD = $(FC)
+FCLINK = $(LIBTOOL) $(AM_V_lt) --tag=FC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(FCLD) $(AM_FCFLAGS) $(FCFLAGS) \
+ $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_FCLD = $(am__v_FCLD_@AM_V@)
+am__v_FCLD_ = $(am__v_FCLD_@AM_DEFAULT_V@)
+am__v_FCLD_0 = @echo " FCLD " $@;
+am__v_FCLD_1 =
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
@@ -191,23 +216,9 @@ AM_V_CCLD = $(am__v_CCLD_@AM_V@)
am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
am__v_CCLD_0 = @echo " CCLD " $@;
am__v_CCLD_1 =
-FCCOMPILE = $(FC) $(AM_FCFLAGS) $(FCFLAGS)
-LTFCCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=FC $(AM_LIBTOOLFLAGS) \
- $(LIBTOOLFLAGS) --mode=compile $(FC) $(AM_FCFLAGS) $(FCFLAGS)
-AM_V_FC = $(am__v_FC_@AM_V@)
-am__v_FC_ = $(am__v_FC_@AM_DEFAULT_V@)
-am__v_FC_0 = @echo " FC " $@;
-am__v_FC_1 =
-FCLD = $(FC)
-FCLINK = $(LIBTOOL) $(AM_V_lt) --tag=FC $(AM_LIBTOOLFLAGS) \
- $(LIBTOOLFLAGS) --mode=link $(FCLD) $(AM_FCFLAGS) $(FCFLAGS) \
- $(AM_LDFLAGS) $(LDFLAGS) -o $@
-AM_V_FCLD = $(am__v_FCLD_@AM_V@)
-am__v_FCLD_ = $(am__v_FCLD_@AM_DEFAULT_V@)
-am__v_FCLD_0 = @echo " FCLD " $@;
-am__v_FCLD_1 =
-SOURCES = $(libhdf5hl_fortran_la_SOURCES)
-DIST_SOURCES = $(libhdf5hl_fortran_la_SOURCES)
+SOURCES = $(libhdf5hl_fortran_la_SOURCES) $(H5HL_buildiface_SOURCES)
+DIST_SOURCES = $(libhdf5hl_fortran_la_SOURCES) \
+ $(H5HL_buildiface_SOURCES)
am__can_run_installinfo = \
case $$AM_UPDATE_INFO_DIR in \
n|no|NO) false;; \
@@ -469,14 +480,21 @@ F9XMODEXT = @F9XMODEXT@
F9XMODFLAG = @F9XMODFLAG@
F9XSUFFIXFLAG = @F9XSUFFIXFLAG@
FC = @FC@
-FC2003 = @FC2003@
FCFLAGS = @FCFLAGS@
FCFLAGS_f90 = @FCFLAGS_f90@
FCLIBS = @FCLIBS@
FC_VERSION = @FC_VERSION@
FGREP = @FGREP@
+FORTRAN_C_LONG_DOUBLE_IS_UNIQUE = @FORTRAN_C_LONG_DOUBLE_IS_UNIQUE@
+FORTRAN_HAVE_C_LONG_DOUBLE = @FORTRAN_HAVE_C_LONG_DOUBLE@
+FORTRAN_SIZEOF_LONG_DOUBLE = @FORTRAN_SIZEOF_LONG_DOUBLE@
FSEARCH_DIRS = @FSEARCH_DIRS@
GREP = @GREP@
+H5CONFIG_F_IKIND = @H5CONFIG_F_IKIND@
+H5CONFIG_F_NUM_IKIND = @H5CONFIG_F_NUM_IKIND@
+H5CONFIG_F_NUM_RKIND = @H5CONFIG_F_NUM_RKIND@
+H5CONFIG_F_RKIND = @H5CONFIG_F_RKIND@
+H5CONFIG_F_RKIND_SIZEOF = @H5CONFIG_F_RKIND_SIZEOF@
H5_CFLAGS = @H5_CFLAGS@
H5_CPPFLAGS = @H5_CPPFLAGS@
H5_CXXFLAGS = @H5_CXXFLAGS@
@@ -486,13 +504,12 @@ H5_LDFLAGS = @H5_LDFLAGS@
H5_VERSION = @H5_VERSION@
HADDR_T = @HADDR_T@
HAVE_DMALLOC = @HAVE_DMALLOC@
-HAVE_FORTRAN_2003 = @HAVE_FORTRAN_2003@
+HAVE_Fortran_INTEGER_SIZEOF_16 = @HAVE_Fortran_INTEGER_SIZEOF_16@
HAVE_PTHREAD = @HAVE_PTHREAD@
HDF5_HL = @HDF5_HL@
HDF5_INTERFACES = @HDF5_INTERFACES@
HDF_CXX = @HDF_CXX@
HDF_FORTRAN = @HDF_FORTRAN@
-HDF_FORTRAN2003 = @HDF_FORTRAN2003@
HID_T = @HID_T@
HL = @HL@
HL_FOR = @HL_FOR@
@@ -534,9 +551,20 @@ PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
+PAC_C_MAX_REAL_PRECISION = @PAC_C_MAX_REAL_PRECISION@
+PAC_FC_ALL_INTEGER_KINDS = @PAC_FC_ALL_INTEGER_KINDS@
+PAC_FC_ALL_INTEGER_KINDS_SIZEOF = @PAC_FC_ALL_INTEGER_KINDS_SIZEOF@
+PAC_FC_ALL_REAL_KINDS = @PAC_FC_ALL_REAL_KINDS@
+PAC_FC_ALL_REAL_KINDS_SIZEOF = @PAC_FC_ALL_REAL_KINDS_SIZEOF@
+PAC_FC_MAX_REAL_PRECISION = @PAC_FC_MAX_REAL_PRECISION@
+PAC_FORTRAN_NATIVE_DOUBLE_KIND = @PAC_FORTRAN_NATIVE_DOUBLE_KIND@
+PAC_FORTRAN_NATIVE_DOUBLE_SIZEOF = @PAC_FORTRAN_NATIVE_DOUBLE_SIZEOF@
+PAC_FORTRAN_NATIVE_INTEGER_KIND = @PAC_FORTRAN_NATIVE_INTEGER_KIND@
+PAC_FORTRAN_NATIVE_INTEGER_SIZEOF = @PAC_FORTRAN_NATIVE_INTEGER_SIZEOF@
+PAC_FORTRAN_NATIVE_REAL_KIND = @PAC_FORTRAN_NATIVE_REAL_KIND@
+PAC_FORTRAN_NATIVE_REAL_SIZEOF = @PAC_FORTRAN_NATIVE_REAL_SIZEOF@
PARALLEL = @PARALLEL@
PATH_SEPARATOR = @PATH_SEPARATOR@
-PERL = @PERL@
RANLIB = @RANLIB@
ROOT = @ROOT@
RUNPARALLEL = @RUNPARALLEL@
@@ -680,7 +708,7 @@ CHECK_CLEANFILES = *.chkexe *.chklog *.clog *.clog2
# After making changes, run bin/reconfigure to update other configure related
# files like Makefile.in.
LT_VERS_INTERFACE = 6
-LT_VERS_REVISION = 217
+LT_VERS_REVISION = 219
LT_VERS_AGE = 0
# Our main target, the high-level fortran library
@@ -691,17 +719,25 @@ libhdf5hl_fortran_la_LDFLAGS = -version-info $(LT_VERS_INTERFACE):$(LT_VERS_REVI
# Source files for the library
#if BUILD_PARALLEL_CONDITIONAL
-# PARALLEL_COND_SRC=HDFDmpiof.c HDF5mpio.f90
+# PARALLEL_COND_SRC=HDFDmpiof.c HDF5mpio.F90
#endif
# List sources to include in the HDF5 HL Fortran library.
-libhdf5hl_fortran_la_SOURCES = H5DSfc.c H5LTfc.c H5IMfc.c H5IMcc.c H5TBfc.c \
- H5DSff.f90 H5LTff.f90 H5IMff.f90 H5TBff.f90
+libhdf5hl_fortran_la_SOURCES = H5DSfc.c H5LTfc.c H5IMfc.c H5IMcc.c H5TBfc.c \
+ H5DSff.F90 H5LTff.F90 H5TBff.F90 H5IMff.F90 H5LTff_gen.F90 H5TBff_gen.F90
# HDF5 HL Fortran library depends on HDF5 Library.
libhdf5hl_fortran_la_LIBADD = $(LIBH5_HL) $(LIBH5F)
+#H5TBff_gen.F90: H5HL_buildiface$(EXEEXT)
+
+# H5HL_buildiface.F90 is included in the distribution, and Automake knows
+# how to compile a fortran program given its sources.
+H5HL_buildiface_SOURCES = H5HL_buildiface.F90
+PPFCCOMPILE = $(FC) $(FCDEFS) $(DEFAULT_INCLUDES) $(FCINCLUDES) $(AM_FCCPPFLAGS) $(FCCPPFLAGS) $(AM_FCFLAGS) $(FCFLAGS)
+LTPPFCCOMPILE = $(LIBTOOL) --tag=FC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(PPFCCOMPILE)
+
# Automake needs to be taught how to build lib, progs, and tests targets.
# These will be filled in automatically for the most part (e.g.,
# lib_LIBRARIES are built for lib target), but EXTRA_LIB, EXTRA_PROG, and
@@ -724,8 +760,8 @@ TEST_SCRIPT_PARA_CHKSH = $(TEST_SCRIPT_PARA:=.chkexe_)
all: all-am
.SUFFIXES:
-.SUFFIXES: .c .f90 .lo .log .o .obj .sh .sh$(EXEEXT) .trs
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/config/commence.am $(top_srcdir)/config/lt_vers.am $(top_srcdir)/config/conclude.am $(am__configure_deps)
+.SUFFIXES: .F90 .c .f90 .lo .log .o .obj .sh .sh$(EXEEXT) .trs
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/config/commence.am $(top_srcdir)/config/lt_vers.am $(top_srcdir)/config/conclude_fc.am $(top_srcdir)/config/conclude.am $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
@@ -746,7 +782,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
-$(top_srcdir)/config/commence.am $(top_srcdir)/config/lt_vers.am $(top_srcdir)/config/conclude.am:
+$(top_srcdir)/config/commence.am $(top_srcdir)/config/lt_vers.am $(top_srcdir)/config/conclude_fc.am $(top_srcdir)/config/conclude.am:
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
@@ -795,6 +831,19 @@ clean-libLTLIBRARIES:
libhdf5hl_fortran.la: $(libhdf5hl_fortran_la_OBJECTS) $(libhdf5hl_fortran_la_DEPENDENCIES) $(EXTRA_libhdf5hl_fortran_la_DEPENDENCIES)
$(AM_V_FCLD)$(libhdf5hl_fortran_la_LINK) -rpath $(libdir) $(libhdf5hl_fortran_la_OBJECTS) $(libhdf5hl_fortran_la_LIBADD) $(LIBS)
+clean-noinstPROGRAMS:
+ @list='$(noinst_PROGRAMS)'; test -n "$$list" || exit 0; \
+ echo " rm -f" $$list; \
+ rm -f $$list || exit $$?; \
+ test -n "$(EXEEXT)" || exit 0; \
+ list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
+ echo " rm -f" $$list; \
+ rm -f $$list
+
+H5HL_buildiface$(EXEEXT): $(H5HL_buildiface_OBJECTS) $(H5HL_buildiface_DEPENDENCIES) $(EXTRA_H5HL_buildiface_DEPENDENCIES)
+ @rm -f H5HL_buildiface$(EXEEXT)
+ $(AM_V_FCLD)$(FCLINK) $(H5HL_buildiface_OBJECTS) $(H5HL_buildiface_LDADD) $(LIBS)
+
mostlyclean-compile:
-rm -f *.$(OBJEXT)
@@ -807,6 +856,12 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5LTfc.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5TBfc.Plo@am__quote@
+.F90.obj:
+ $(AM_V_PPFC)$(PPFCCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+
+.F90.lo:
+ $(AM_V_PPFC)$(LTPPFCCOMPILE) -c -o $@ $<
+
.c.o:
@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
@@ -828,15 +883,6 @@ distclean-compile:
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $<
-.f90.o:
- $(AM_V_FC)$(FCCOMPILE) -c -o $@ $(FCFLAGS_f90) $<
-
-.f90.obj:
- $(AM_V_FC)$(FCCOMPILE) -c -o $@ $(FCFLAGS_f90) `$(CYGPATH_W) '$<'`
-
-.f90.lo:
- $(AM_V_FC)$(LTFCCOMPILE) -c -o $@ $(FCFLAGS_f90) $<
-
mostlyclean-libtool:
-rm -f *.lo
@@ -1073,7 +1119,7 @@ distdir: $(DISTFILES)
check-am: all-am
$(MAKE) $(AM_MAKEFLAGS) check-TESTS
check: check-am
-all-am: Makefile $(LTLIBRARIES) all-local
+all-am: Makefile $(LTLIBRARIES) $(PROGRAMS) all-local
installdirs:
for dir in "$(DESTDIR)$(libdir)"; do \
test -z "$$dir" || $(MKDIR_P) "$$dir"; \
@@ -1114,7 +1160,7 @@ maintainer-clean-generic:
clean: clean-am
clean-am: clean-generic clean-libLTLIBRARIES clean-libtool clean-local \
- mostlyclean-am
+ clean-noinstPROGRAMS mostlyclean-am
distclean: distclean-am
-rm -rf ./$(DEPDIR)
@@ -1187,8 +1233,8 @@ uninstall-am: uninstall-libLTLIBRARIES uninstall-local
.PHONY: CTAGS GTAGS TAGS all all-am all-local check check-TESTS \
check-am clean clean-generic clean-libLTLIBRARIES \
- clean-libtool clean-local cscopelist-am ctags ctags-am \
- distclean distclean-compile distclean-generic \
+ clean-libtool clean-local clean-noinstPROGRAMS cscopelist-am \
+ ctags ctags-am distclean distclean-compile distclean-generic \
distclean-libtool distclean-local distclean-tags distdir dvi \
dvi-am html html-am info info-am install install-am \
install-data install-data-am install-data-local install-dvi \
@@ -1236,7 +1282,7 @@ maintainer-clean-local: clean-local
distclean-local: clean-local
clean-local:
@if test -n "$(F9XMODEXT)" && test "X$(F9XMODEXT)" != "Xo"; then \
- $(RM) *.$(F9XMODEXT); \
+ $(RM) *.$(F9XMODEXT) H5LTff_gen.F90 H5TBff_gen.F90; \
fi
install-data-local:
@@ -1251,14 +1297,29 @@ uninstall-local:
fi; \
fi
+# H5HL_buildiface.F90 generates all the APIs that have a KIND type associated
+# with them.
+
+H5LTff_gen.F90: H5HL_buildiface$(EXEEXT)
+ $(RUNSERIAL) ./H5HL_buildiface$(EXEEXT)
+
+H5TBff_gen.F90: H5HL_buildiface$(EXEEXT)
# Hardcode the dependencies of these files. There isn't a known way of
# determining this automagically (like we do with the C files). So, when
# doing a parallel make, some modules could be made way before the
# modules they depend upon are actually made. *sigh*
-H5DSff.lo: $(srcdir)/H5DSff.f90
-H5LTff.lo: $(srcdir)/H5LTff.f90
-H5IMff.lo: $(srcdir)/H5IMff.f90
-H5TBff.lo: $(srcdir)/H5TBff.f90
+H5DSff.lo: $(srcdir)/H5DSff.F90
+H5LTff.lo: $(srcdir)/H5LTff.F90
+H5IMff.lo: $(srcdir)/H5IMff.F90
+H5TBff.lo: $(srcdir)/H5TBff.F90
+H5LTff_gen.lo: H5LTff.lo H5LTff_gen.F90
+H5TBff_gen.lo: H5TBff.lo H5LTff_gen.F90 H5TBff_gen.F90
+
+# Treat all .f90 and .F90 files as preprocessed Fortran.
+.f90.o:
+ $(PPFCCOMPILE) -c -o $@ $(FCFLAGS) $<
+.F90.o:
+ $(PPFCCOMPILE) -c -o $@ $(FCFLAGS) $<
# lib/progs/tests targets recurse into subdirectories. build-* targets
# build files in this directory.
diff --git a/hl/fortran/src/hdf5_hl_fortrandll.def.in b/hl/fortran/src/hdf5_hl_fortrandll.def.in
new file mode 100644
index 0000000..9a1231a
--- /dev/null
+++ b/hl/fortran/src/hdf5_hl_fortrandll.def.in
@@ -0,0 +1,88 @@
+EXPORTS
+; H5DS
+H5DS_mp_H5DSSET_SCALE_F
+H5DS_mp_H5DSATTACH_SCALE_F
+H5DS_mp_H5DSDETACH_SCALE_F
+H5DS_mp_H5DSIS_ATTACHED_F
+H5DS_mp_H5DSIS_SCALE_F
+H5DS_mp_H5DSSET_LABEL_F
+H5DS_mp_H5DSGET_LABEL_F
+H5DS_mp_H5DSGET_SCALE_NAME_F
+H5DS_mp_H5DSGET_NUM_SCALES_F
+; H5IM
+H5IM_mp_H5IMMAKE_IMAGE_8BIT_F
+H5IM_mp_H5IMREAD_IMAGE_F
+H5IM_mp_H5IMMAKE_IMAGE_24BIT_F
+H5IM_mp_H5IMGET_IMAGE_INFO_F
+H5IM_mp_H5IMIS_IMAGE_F
+H5IM_mp_H5IMMAKE_PALETTE_F
+H5IM_mp_H5IMLINK_PALETTE_F
+H5IM_mp_H5IMUNLINK_PALETTE_F
+H5IM_mp_H5IMGET_NPALETTES_F
+H5IM_mp_H5IMGET_PALETTE_INFO_F
+H5IM_mp_H5IMGET_PALETTE_F
+H5IM_mp_H5IMIS_PALETTE_F
+; H5LT
+H5LT_CONST_mp_H5LTMAKE_DATASET_F_PTR
+H5LT_CONST_mp_H5LTMAKE_DATASET_F_INT1
+H5LT_CONST_mp_H5LTMAKE_DATASET_F_INT2
+H5LT_CONST_mp_H5LTMAKE_DATASET_F_INT3
+H5LT_CONST_mp_H5LTMAKE_DATASET_F_INT4
+H5LT_CONST_mp_H5LTMAKE_DATASET_F_INT5
+H5LT_CONST_mp_H5LTMAKE_DATASET_F_INT6
+H5LT_CONST_mp_H5LTMAKE_DATASET_F_INT7
+H5LT_CONST_mp_H5LTREAD_DATASET_F_PTR
+H5LT_CONST_mp_H5LTREAD_DATASET_F_INT1
+H5LT_CONST_mp_H5LTREAD_DATASET_F_INT2
+H5LT_CONST_mp_H5LTREAD_DATASET_F_INT3
+H5LT_CONST_mp_H5LTREAD_DATASET_F_INT4
+H5LT_CONST_mp_H5LTREAD_DATASET_F_INT5
+H5LT_CONST_mp_H5LTREAD_DATASET_F_INT6
+H5LT_CONST_mp_H5LTREAD_DATASET_F_INT7
+H5LT_CONST_mp_H5LTMAKE_DATASET_INT_F_1
+H5LT_CONST_mp_H5LTMAKE_DATASET_INT_F_2
+H5LT_CONST_mp_H5LTMAKE_DATASET_INT_F_3
+H5LT_CONST_mp_H5LTMAKE_DATASET_INT_F_4
+H5LT_CONST_mp_H5LTMAKE_DATASET_INT_F_5
+H5LT_CONST_mp_H5LTMAKE_DATASET_INT_F_6
+H5LT_CONST_mp_H5LTMAKE_DATASET_INT_F_7
+H5LT_CONST_mp_H5LTREAD_DATASET_INT_F_1
+H5LT_CONST_mp_H5LTREAD_DATASET_INT_F_2
+H5LT_CONST_mp_H5LTREAD_DATASET_INT_F_3
+H5LT_CONST_mp_H5LTREAD_DATASET_INT_F_4
+H5LT_CONST_mp_H5LTREAD_DATASET_INT_F_5
+H5LT_CONST_mp_H5LTREAD_DATASET_INT_F_6
+H5LT_CONST_mp_H5LTREAD_DATASET_INT_F_7
+H5LT_CONST_mp_H5LTMAKE_DATASET_STRING_F
+H5LT_CONST_mp_H5LTREAD_DATASET_STRING_F
+H5LT_CONST_mp_H5LTSET_ATTRIBUTE_F
+H5LT_CONST_mp_H5LTSET_ATTRIBUTE_INT_F
+H5LT_CONST_mp_H5LTSET_ATTRIBUTE_FLOAT_F
+H5LT_CONST_mp_H5LTSET_ATTRIBUTE_DOUBLE_F
+H5LT_CONST_mp_H5LTSET_ATTRIBUTE_STRING_F
+H5LT_CONST_mp_H5LTGET_ATTRIBUTE_F
+H5LT_CONST_mp_H5LTGET_ATTRIBUTE_INT_F
+H5LT_CONST_mp_H5LTGET_ATTRIBUTE_FLOAT_F
+H5LT_CONST_mp_H5LTGET_ATTRIBUTE_DOUBLE_F
+H5LT_CONST_mp_H5LTGET_ATTRIBUTE_STRING_F
+H5LT_CONST_mp_H5LTGET_DATASET_NDIMS_F
+H5LT_CONST_mp_H5LTFIND_DATASET_F
+H5LT_CONST_mp_H5LTGET_DATASET_INFO_F
+H5LT_CONST_mp_H5LTGET_ATTRIBUTE_NDIMS_F
+H5LT_CONST_mp_H5LTGET_ATTRIBUTE_INFO_F
+H5LT_CONST_mp_H5LTPATH_VALID_F
+; H5TB
+H5TB_CONST_mp_H5TBMAKE_TABLE_F
+H5TB_CONST_mp_H5TBWRITE_FIELD_NAME_F_INT
+H5TB_CONST_mp_H5TBWRITE_FIELD_NAME_F_STRING
+H5TB_CONST_mp_H5TBREAD_FIELD_NAME_F_INT
+H5TB_CONST_mp_H5TBREAD_FIELD_NAME_F_STRING
+H5TB_CONST_mp_H5TBWRITE_FIELD_INDEX_F_INT
+H5TB_CONST_mp_H5TBWRITE_FIELD_INDEX_F_STRING
+H5TB_CONST_mp_H5TBREAD_FIELD_INDEX_F_INT
+H5TB_CONST_mp_H5TBREAD_FIELD_INDEX_F_STRING
+H5TB_CONST_mp_H5TBINSERT_FIELD_F_INT
+H5TB_CONST_mp_H5TBINSERT_FIELD_F_STRING
+H5TB_CONST_mp_H5TBDELETE_FIELD_F
+H5TB_CONST_mp_H5TBGET_TABLE_INFO_F
+H5TB_CONST_mp_H5TBGET_FIELD_INFO_F
diff --git a/hl/fortran/test/CMakeLists.txt b/hl/fortran/test/CMakeLists.txt
index 55fb987..fc703dc 100644
--- a/hl/fortran/test/CMakeLists.txt
+++ b/hl/fortran/test/CMakeLists.txt
@@ -7,39 +7,87 @@ PROJECT (HDF5_HL_FORTRAN_TESTS C CXX Fortran)
INCLUDE_DIRECTORIES (${CMAKE_Fortran_MODULE_DIRECTORY} ${HDF5_F90_BINARY_DIR} ${HDF5_F90_SRC_DIR}/src)
#-- Adding test for hl_f90_tstds
-add_executable (hl_f90_tstds tstds.f90)
-TARGET_NAMING (hl_f90_tstds ${LIB_TYPE})
-TARGET_FORTRAN_PROPERTIES (hl_f90_tstds ${LIB_TYPE} " " " ")
+add_executable (hl_f90_tstds tstds.F90)
+TARGET_NAMING (hl_f90_tstds STATIC)
+TARGET_FORTRAN_PROPERTIES (hl_f90_tstds STATIC " " " ")
target_link_libraries (hl_f90_tstds ${HDF5_HL_F90_LIB_TARGET} ${HDF5_F90_LIB_TARGET})
-target_include_directories (hl_f90_tstds PRIVATE ${CMAKE_Fortran_MODULE_DIRECTORY})
+target_include_directories (hl_f90_tstds PRIVATE ${CMAKE_Fortran_MODULE_DIRECTORY}/static)
set_target_properties (hl_f90_tstds PROPERTIES LINKER_LANGUAGE Fortran)
set_target_properties (hl_f90_tstds PROPERTIES FOLDER test/hl/fortran)
+if (BUILD_SHARED_LIBS AND NOT SKIP_HDF5_FORTRAN_SHARED)
+ add_executable (hl_f90_tstds-shared tstds.F90)
+ TARGET_NAMING (hl_f90_tstds-shared SHARED)
+ TARGET_FORTRAN_PROPERTIES (hl_f90_tstds-shared SHARED " " " ")
+ target_link_libraries (hl_f90_tstds-shared ${HDF5_HL_F90_LIBSH_TARGET} ${HDF5_F90_LIBSH_TARGET})
+ target_include_directories (hl_f90_tstds-shared PRIVATE ${CMAKE_Fortran_MODULE_DIRECTORY}/shared)
+ set_target_properties (hl_f90_tstds-shared PROPERTIES
+ LINKER_LANGUAGE Fortran
+ FOLDER test/hl/fortran
+ Fortran_MODULE_DIRECTORY ${CMAKE_Fortran_MODULE_DIRECTORY}/shared
+ )
+endif (BUILD_SHARED_LIBS AND NOT SKIP_HDF5_FORTRAN_SHARED)
#-- Adding test for hl_f90_tstlite
-add_executable (hl_f90_tstlite tstlite.f90)
-TARGET_NAMING (hl_f90_tstlite ${LIB_TYPE})
-TARGET_FORTRAN_PROPERTIES (hl_f90_tstlite ${LIB_TYPE} " " " ")
+add_executable (hl_f90_tstlite tstlite.F90)
+TARGET_NAMING (hl_f90_tstlite STATIC)
+TARGET_FORTRAN_PROPERTIES (hl_f90_tstlite STATIC " " " ")
target_link_libraries (hl_f90_tstlite ${HDF5_HL_F90_LIB_TARGET} ${HDF5_F90_LIB_TARGET})
-target_include_directories (hl_f90_tstlite PRIVATE ${CMAKE_Fortran_MODULE_DIRECTORY})
+target_include_directories (hl_f90_tstlite PRIVATE ${CMAKE_Fortran_MODULE_DIRECTORY}/static)
set_target_properties (hl_f90_tstlite PROPERTIES LINKER_LANGUAGE Fortran)
set_target_properties (hl_f90_tstlite PROPERTIES FOLDER test/hl/fortran)
+if (BUILD_SHARED_LIBS AND NOT SKIP_HDF5_FORTRAN_SHARED)
+ add_executable (hl_f90_tstlite-shared tstlite.F90)
+ TARGET_NAMING (hl_f90_tstlite-shared SHARED)
+ TARGET_FORTRAN_PROPERTIES (hl_f90_tstlite-shared SHARED " " " ")
+ target_link_libraries (hl_f90_tstlite-shared ${HDF5_HL_F90_LIBSH_TARGET} ${HDF5_F90_LIBSH_TARGET})
+ target_include_directories (hl_f90_tstlite-shared PRIVATE ${CMAKE_Fortran_MODULE_DIRECTORY}/shared)
+ set_target_properties (hl_f90_tstlite-shared PROPERTIES
+ LINKER_LANGUAGE Fortran
+ FOLDER test/hl/fortran
+ Fortran_MODULE_DIRECTORY ${CMAKE_Fortran_MODULE_DIRECTORY}/shared
+ )
+endif (BUILD_SHARED_LIBS AND NOT SKIP_HDF5_FORTRAN_SHARED)
#-- Adding test for hl_f90_tstimage
-add_executable (hl_f90_tstimage tstimage.f90)
-TARGET_NAMING (hl_f90_tstimage ${LIB_TYPE})
-TARGET_FORTRAN_PROPERTIES (hl_f90_tstimage ${LIB_TYPE} " " " ")
+add_executable (hl_f90_tstimage tstimage.F90)
+TARGET_NAMING (hl_f90_tstimage STATIC)
+TARGET_FORTRAN_PROPERTIES (hl_f90_tstimage STATIC " " " ")
target_link_libraries (hl_f90_tstimage ${HDF5_HL_F90_LIB_TARGET} ${HDF5_F90_LIB_TARGET})
-target_include_directories (hl_f90_tstimage PRIVATE ${CMAKE_Fortran_MODULE_DIRECTORY})
+target_include_directories (hl_f90_tstimage PRIVATE ${CMAKE_Fortran_MODULE_DIRECTORY}/static)
set_target_properties (hl_f90_tstimage PROPERTIES LINKER_LANGUAGE Fortran)
set_target_properties (hl_f90_tstimage PROPERTIES FOLDER test/hl/fortran)
+if (BUILD_SHARED_LIBS AND NOT SKIP_HDF5_FORTRAN_SHARED)
+ add_executable (hl_f90_tstimage-shared tstimage.F90)
+ TARGET_NAMING (hl_f90_tstimage-shared SHARED)
+ TARGET_FORTRAN_PROPERTIES (hl_f90_tstimage-shared SHARED " " " ")
+ target_link_libraries (hl_f90_tstimage-shared ${HDF5_HL_F90_LIBSH_TARGET} ${HDF5_F90_LIBSH_TARGET})
+ target_include_directories (hl_f90_tstimage-shared PRIVATE ${CMAKE_Fortran_MODULE_DIRECTORY}/shared)
+ set_target_properties (hl_f90_tstimage-shared PROPERTIES
+ LINKER_LANGUAGE Fortran
+ FOLDER test/hl/fortran
+ Fortran_MODULE_DIRECTORY ${CMAKE_Fortran_MODULE_DIRECTORY}/shared
+ )
+endif (BUILD_SHARED_LIBS AND NOT SKIP_HDF5_FORTRAN_SHARED)
#-- Adding test for hl_f90_tsttable
-add_executable (hl_f90_tsttable tsttable.f90)
-TARGET_NAMING (hl_f90_tsttable ${LIB_TYPE})
-TARGET_FORTRAN_PROPERTIES (hl_f90_tsttable ${LIB_TYPE} " " " ")
+add_executable (hl_f90_tsttable tsttable.F90)
+TARGET_NAMING (hl_f90_tsttable STATIC)
+TARGET_FORTRAN_PROPERTIES (hl_f90_tsttable STATIC " " " ")
target_link_libraries (hl_f90_tsttable ${HDF5_HL_F90_LIB_TARGET} ${HDF5_F90_LIB_TARGET})
-target_include_directories (hl_f90_tsttable PRIVATE ${CMAKE_Fortran_MODULE_DIRECTORY})
+target_include_directories (hl_f90_tsttable PRIVATE ${CMAKE_Fortran_MODULE_DIRECTORY}/static)
set_target_properties (hl_f90_tsttable PROPERTIES LINKER_LANGUAGE Fortran)
set_target_properties (hl_f90_tsttable PROPERTIES FOLDER test/hl/fortran)
+if (BUILD_SHARED_LIBS AND NOT SKIP_HDF5_FORTRAN_SHARED)
+ add_executable (hl_f90_tsttable-shared tsttable.F90)
+ TARGET_NAMING (hl_f90_tsttable-shared SHARED)
+ TARGET_FORTRAN_PROPERTIES (hl_f90_tsttable-shared SHARED " " " ")
+ target_link_libraries (hl_f90_tsttable-shared ${HDF5_HL_F90_LIBSH_TARGET} ${HDF5_F90_LIBSH_TARGET})
+ target_include_directories (hl_f90_tsttable-shared PRIVATE ${CMAKE_Fortran_MODULE_DIRECTORY}/shared)
+ set_target_properties (hl_f90_tsttable-shared PROPERTIES
+ LINKER_LANGUAGE Fortran
+ FOLDER test/hl/fortran
+ Fortran_MODULE_DIRECTORY ${CMAKE_Fortran_MODULE_DIRECTORY}/shared
+ )
+endif (BUILD_SHARED_LIBS AND NOT SKIP_HDF5_FORTRAN_SHARED)
include (CMakeTests.cmake)
diff --git a/hl/fortran/test/CMakeTests.cmake b/hl/fortran/test/CMakeTests.cmake
index 3676d24..499e255 100644
--- a/hl/fortran/test/CMakeTests.cmake
+++ b/hl/fortran/test/CMakeTests.cmake
@@ -9,7 +9,7 @@
add_test (
NAME HL_FORTRAN_test-clear-objects
COMMAND ${CMAKE_COMMAND}
- -E remove
+ -E remove
dsetf1.h5
dsetf2.h5
dsetf3.h5
@@ -31,3 +31,34 @@ set_tests_properties (HL_FORTRAN_f90_tstimage PROPERTIES DEPENDS HL_FORTRAN_test
add_test (NAME HL_FORTRAN_f90_tsttable COMMAND $<TARGET_FILE:hl_f90_tsttable>)
set_tests_properties (HL_FORTRAN_f90_tsttable PROPERTIES DEPENDS HL_FORTRAN_test-clear-objects)
+
+if (BUILD_SHARED_LIBS AND NOT SKIP_HDF5_FORTRAN_SHARED)
+ add_test (
+ NAME HL_FORTRAN_test-shared-clear-objects
+ COMMAND ${CMAKE_COMMAND}
+ -E remove
+ dsetf1.h5
+ dsetf2.h5
+ dsetf3.h5
+ dsetf4.h5
+ dsetf5.h5
+ f1img.h5
+ f1tab.h5
+ tstds.h5
+ )
+ set_tests_properties (HL_FORTRAN_test-shared-clear-objects
+ PROPERTIES DEPENDS "HL_FORTRAN_f90_tsttable;HL_FORTRAN_f90_tstimage;HL_FORTRAN_f90_tstlite;HL_FORTRAN_f90_tstds"
+ )
+
+ add_test (NAME HL_FORTRAN_f90_tstds-shared COMMAND $<TARGET_FILE:hl_f90_tstds-shared>)
+ set_tests_properties (HL_FORTRAN_f90_tstds-shared PROPERTIES DEPENDS HL_FORTRAN_test-shared-clear-objects)
+
+ add_test (NAME HL_FORTRAN_f90_tstlite-shared COMMAND $<TARGET_FILE:hl_f90_tstlite-shared>)
+ set_tests_properties (HL_FORTRAN_f90_tstlite-shared PROPERTIES DEPENDS HL_FORTRAN_test-shared-clear-objects)
+
+ add_test (NAME HL_FORTRAN_f90_tstimage-shared COMMAND $<TARGET_FILE:hl_f90_tstimage-shared>)
+ set_tests_properties (HL_FORTRAN_f90_tstimage-shared PROPERTIES DEPENDS HL_FORTRAN_test-shared-clear-objects)
+
+ add_test (NAME HL_FORTRAN_f90_tsttable-shared COMMAND $<TARGET_FILE:hl_f90_tsttable-shared>)
+ set_tests_properties (HL_FORTRAN_f90_tsttable-shared PROPERTIES DEPENDS HL_FORTRAN_test-shared-clear-objects)
+endif (BUILD_SHARED_LIBS AND NOT SKIP_HDF5_FORTRAN_SHARED)
diff --git a/hl/fortran/test/Makefile.am b/hl/fortran/test/Makefile.am
index fa3a803..ca49817 100644
--- a/hl/fortran/test/Makefile.am
+++ b/hl/fortran/test/Makefile.am
@@ -39,10 +39,10 @@ check_PROGRAMS=$(TEST_PROG)
LDADD= $(LIBH5F_HL) $(LIBH5F) $(LIBH5_HL) $(LIBHDF5)
# Source files for the programs
-tstds_SOURCES=tstds.f90
-tstlite_SOURCES=tstlite.f90
-tstimage_SOURCES=tstimage.f90
-tsttable_SOURCES=tsttable.f90
+tstds_SOURCES=tstds.F90
+tstlite_SOURCES=tstlite.F90
+tstimage_SOURCES=tstimage.F90
+tsttable_SOURCES=tsttable.F90
# Temporary files.
CHECK_CLEANFILES+=dsetf[1-5].h5 f1img.h5 f1tab.h5 tstds.h5
@@ -51,4 +51,4 @@ CHECK_CLEANFILES+=dsetf[1-5].h5 f1img.h5 f1tab.h5 tstds.h5
# from tests in conclude.am)
FORTRAN_API=yes
-include $(top_srcdir)/config/conclude.am
+include $(top_srcdir)/config/conclude_fc.am
diff --git a/hl/fortran/test/Makefile.in b/hl/fortran/test/Makefile.in
index 6725d26..da46790 100644
--- a/hl/fortran/test/Makefile.in
+++ b/hl/fortran/test/Makefile.in
@@ -30,6 +30,10 @@
#
#
# HDF5 High-Level Fortran Makefile(.in)
+
+# Makefile.am include fragment with Fortran helper rules and macros.
+
+# AM_FCCPPFLAGS, FCCPPFLAGS are currently not used.
VPATH = @srcdir@
am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
am__make_running_with_option = \
@@ -95,6 +99,7 @@ POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
DIST_COMMON = $(top_srcdir)/config/commence.am \
+ $(top_srcdir)/config/conclude_fc.am \
$(top_srcdir)/config/conclude.am $(srcdir)/Makefile.in \
$(srcdir)/Makefile.am $(top_srcdir)/bin/mkinstalldirs \
$(top_srcdir)/bin/test-driver
@@ -112,7 +117,8 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/aclocal_cxx.m4 \
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(SHELL) $(top_srcdir)/bin/mkinstalldirs
-CONFIG_HEADER = $(top_builddir)/src/H5config.h
+CONFIG_HEADER = $(top_builddir)/src/H5config.h \
+ $(top_builddir)/fortran/src/H5config_f.inc
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
am__EXEEXT_1 = tstds$(EXEEXT) tstlite$(EXEEXT) tstimage$(EXEEXT) \
@@ -149,14 +155,11 @@ AM_V_at = $(am__v_at_@AM_V@)
am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
am__v_at_0 = @
am__v_at_1 =
-DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/src
-FCCOMPILE = $(FC) $(AM_FCFLAGS) $(FCFLAGS)
-LTFCCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=FC $(AM_LIBTOOLFLAGS) \
- $(LIBTOOLFLAGS) --mode=compile $(FC) $(AM_FCFLAGS) $(FCFLAGS)
-AM_V_FC = $(am__v_FC_@AM_V@)
-am__v_FC_ = $(am__v_FC_@AM_DEFAULT_V@)
-am__v_FC_0 = @echo " FC " $@;
-am__v_FC_1 =
+DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/src -I$(top_builddir)/fortran/src
+AM_V_PPFC = $(am__v_PPFC_@AM_V@)
+am__v_PPFC_ = $(am__v_PPFC_@AM_DEFAULT_V@)
+am__v_PPFC_0 = @echo " PPFC " $@;
+am__v_PPFC_1 =
FCLD = $(FC)
FCLINK = $(LIBTOOL) $(AM_V_lt) --tag=FC $(AM_LIBTOOLFLAGS) \
$(LIBTOOLFLAGS) --mode=link $(FCLD) $(AM_FCFLAGS) $(FCFLAGS) \
@@ -460,14 +463,21 @@ F9XMODEXT = @F9XMODEXT@
F9XMODFLAG = @F9XMODFLAG@
F9XSUFFIXFLAG = @F9XSUFFIXFLAG@
FC = @FC@
-FC2003 = @FC2003@
FCFLAGS = @FCFLAGS@
FCFLAGS_f90 = @FCFLAGS_f90@
FCLIBS = @FCLIBS@
FC_VERSION = @FC_VERSION@
FGREP = @FGREP@
+FORTRAN_C_LONG_DOUBLE_IS_UNIQUE = @FORTRAN_C_LONG_DOUBLE_IS_UNIQUE@
+FORTRAN_HAVE_C_LONG_DOUBLE = @FORTRAN_HAVE_C_LONG_DOUBLE@
+FORTRAN_SIZEOF_LONG_DOUBLE = @FORTRAN_SIZEOF_LONG_DOUBLE@
FSEARCH_DIRS = @FSEARCH_DIRS@
GREP = @GREP@
+H5CONFIG_F_IKIND = @H5CONFIG_F_IKIND@
+H5CONFIG_F_NUM_IKIND = @H5CONFIG_F_NUM_IKIND@
+H5CONFIG_F_NUM_RKIND = @H5CONFIG_F_NUM_RKIND@
+H5CONFIG_F_RKIND = @H5CONFIG_F_RKIND@
+H5CONFIG_F_RKIND_SIZEOF = @H5CONFIG_F_RKIND_SIZEOF@
H5_CFLAGS = @H5_CFLAGS@
H5_CPPFLAGS = @H5_CPPFLAGS@
H5_CXXFLAGS = @H5_CXXFLAGS@
@@ -477,13 +487,12 @@ H5_LDFLAGS = @H5_LDFLAGS@
H5_VERSION = @H5_VERSION@
HADDR_T = @HADDR_T@
HAVE_DMALLOC = @HAVE_DMALLOC@
-HAVE_FORTRAN_2003 = @HAVE_FORTRAN_2003@
+HAVE_Fortran_INTEGER_SIZEOF_16 = @HAVE_Fortran_INTEGER_SIZEOF_16@
HAVE_PTHREAD = @HAVE_PTHREAD@
HDF5_HL = @HDF5_HL@
HDF5_INTERFACES = @HDF5_INTERFACES@
HDF_CXX = @HDF_CXX@
HDF_FORTRAN = @HDF_FORTRAN@
-HDF_FORTRAN2003 = @HDF_FORTRAN2003@
HID_T = @HID_T@
HL = @HL@
HL_FOR = @HL_FOR@
@@ -525,9 +534,20 @@ PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
+PAC_C_MAX_REAL_PRECISION = @PAC_C_MAX_REAL_PRECISION@
+PAC_FC_ALL_INTEGER_KINDS = @PAC_FC_ALL_INTEGER_KINDS@
+PAC_FC_ALL_INTEGER_KINDS_SIZEOF = @PAC_FC_ALL_INTEGER_KINDS_SIZEOF@
+PAC_FC_ALL_REAL_KINDS = @PAC_FC_ALL_REAL_KINDS@
+PAC_FC_ALL_REAL_KINDS_SIZEOF = @PAC_FC_ALL_REAL_KINDS_SIZEOF@
+PAC_FC_MAX_REAL_PRECISION = @PAC_FC_MAX_REAL_PRECISION@
+PAC_FORTRAN_NATIVE_DOUBLE_KIND = @PAC_FORTRAN_NATIVE_DOUBLE_KIND@
+PAC_FORTRAN_NATIVE_DOUBLE_SIZEOF = @PAC_FORTRAN_NATIVE_DOUBLE_SIZEOF@
+PAC_FORTRAN_NATIVE_INTEGER_KIND = @PAC_FORTRAN_NATIVE_INTEGER_KIND@
+PAC_FORTRAN_NATIVE_INTEGER_SIZEOF = @PAC_FORTRAN_NATIVE_INTEGER_SIZEOF@
+PAC_FORTRAN_NATIVE_REAL_KIND = @PAC_FORTRAN_NATIVE_REAL_KIND@
+PAC_FORTRAN_NATIVE_REAL_SIZEOF = @PAC_FORTRAN_NATIVE_REAL_SIZEOF@
PARALLEL = @PARALLEL@
PATH_SEPARATOR = @PATH_SEPARATOR@
-PERL = @PERL@
RANLIB = @RANLIB@
ROOT = @ROOT@
RUNPARALLEL = @RUNPARALLEL@
@@ -674,14 +694,16 @@ TEST_PROG = tstds tstlite tstimage tsttable
LDADD = $(LIBH5F_HL) $(LIBH5F) $(LIBH5_HL) $(LIBHDF5)
# Source files for the programs
-tstds_SOURCES = tstds.f90
-tstlite_SOURCES = tstlite.f90
-tstimage_SOURCES = tstimage.f90
-tsttable_SOURCES = tsttable.f90
+tstds_SOURCES = tstds.F90
+tstlite_SOURCES = tstlite.F90
+tstimage_SOURCES = tstimage.F90
+tsttable_SOURCES = tsttable.F90
# Mark this directory as part of the Fortran API (this affects output
# from tests in conclude.am)
FORTRAN_API = yes
+PPFCCOMPILE = $(FC) $(FCDEFS) $(DEFAULT_INCLUDES) $(FCINCLUDES) $(AM_FCCPPFLAGS) $(FCCPPFLAGS) $(AM_FCFLAGS) $(FCFLAGS)
+LTPPFCCOMPILE = $(LIBTOOL) --tag=FC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(PPFCCOMPILE)
# Automake needs to be taught how to build lib, progs, and tests targets.
# These will be filled in automatically for the most part (e.g.,
@@ -705,8 +727,8 @@ TEST_SCRIPT_PARA_CHKSH = $(TEST_SCRIPT_PARA:=.chkexe_)
all: all-am
.SUFFIXES:
-.SUFFIXES: .f90 .lo .log .o .obj .sh .sh$(EXEEXT) .trs
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/config/commence.am $(top_srcdir)/config/conclude.am $(am__configure_deps)
+.SUFFIXES: .F90 .f90 .lo .log .o .obj .sh .sh$(EXEEXT) .trs
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/config/commence.am $(top_srcdir)/config/conclude_fc.am $(top_srcdir)/config/conclude.am $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
@@ -727,7 +749,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
-$(top_srcdir)/config/commence.am $(top_srcdir)/config/conclude.am:
+$(top_srcdir)/config/commence.am $(top_srcdir)/config/conclude_fc.am $(top_srcdir)/config/conclude.am:
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
@@ -769,14 +791,11 @@ mostlyclean-compile:
distclean-compile:
-rm -f *.tab.c
-.f90.o:
- $(AM_V_FC)$(FCCOMPILE) -c -o $@ $(FCFLAGS_f90) $<
-
-.f90.obj:
- $(AM_V_FC)$(FCCOMPILE) -c -o $@ $(FCFLAGS_f90) `$(CYGPATH_W) '$<'`
+.F90.obj:
+ $(AM_V_PPFC)$(PPFCCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
-.f90.lo:
- $(AM_V_FC)$(LTFCCOMPILE) -c -o $@ $(FCFLAGS_f90) $<
+.F90.lo:
+ $(AM_V_PPFC)$(LTPPFCCOMPILE) -c -o $@ $<
mostlyclean-libtool:
-rm -f *.lo
@@ -1175,6 +1194,12 @@ uninstall-am:
help:
@$(top_srcdir)/bin/makehelp
+# Treat all .f90 and .F90 files as preprocessed Fortran.
+.f90.o:
+ $(PPFCCOMPILE) -c -o $@ $(FCFLAGS) $<
+.F90.o:
+ $(PPFCCOMPILE) -c -o $@ $(FCFLAGS) $<
+
# lib/progs/tests targets recurse into subdirectories. build-* targets
# build files in this directory.
build-lib: $(LIB)
diff --git a/hl/fortran/test/tstds.f90 b/hl/fortran/test/tstds.F90
index cbf6c38..cbf6c38 100644
--- a/hl/fortran/test/tstds.f90
+++ b/hl/fortran/test/tstds.F90
diff --git a/hl/fortran/test/tstimage.f90 b/hl/fortran/test/tstimage.F90
index 0bff6b2..0bff6b2 100644
--- a/hl/fortran/test/tstimage.f90
+++ b/hl/fortran/test/tstimage.F90
diff --git a/hl/fortran/test/tstlite.f90 b/hl/fortran/test/tstlite.F90
index d035b89..0eb005b 100644
--- a/hl/fortran/test/tstlite.f90
+++ b/hl/fortran/test/tstlite.F90
@@ -16,6 +16,7 @@
!
! This file contains the FORTRAN90 tests for H5LT
!
+#include <H5config_f.inc>
PROGRAM lite_test
@@ -38,6 +39,7 @@ END PROGRAM lite_test
SUBROUTINE test_dataset1D()
+USE, INTRINSIC :: ISO_C_BINDING
USE H5LT ! module of H5LT
USE HDF5 ! module of HDF5 library
@@ -55,11 +57,12 @@ INTEGER, DIMENSION(DIM1) :: buf1 ! Data buffer
INTEGER, DIMENSION(DIM1) :: bufr1 ! Data buffer
REAL, DIMENSION(DIM1) :: buf2 ! Data buffer
REAL, DIMENSION(DIM1) :: bufr2 ! Data buffer
-DOUBLE PRECISION, DIMENSION(DIM1) :: buf3 ! Data buffer
-DOUBLE PRECISION, DIMENSION(DIM1) :: bufr3 ! Data buffer
+DOUBLE PRECISION, DIMENSION(DIM1), TARGET :: buf3 ! Data buffer
+DOUBLE PRECISION, DIMENSION(DIM1), TARGET :: bufr3 ! Data buffer
INTEGER :: errcode ! Error flag
INTEGER :: i ! general purpose integer
-
+TYPE(C_PTR) :: f_ptr
+integer(HID_T) :: mytype
CALL test_begin(' Make/Read datasets (1D) ')
@@ -101,7 +104,7 @@ CALL h5ltread_dataset_f(file_id, dsetname1, H5T_NATIVE_INTEGER, bufr1, dims, err
!
DO i = 1, DIM1
IF ( buf1(i) .NE. bufr1(i) ) THEN
- PRINT *, 'read buffer differs from write buffer'
+ PRINT *, 'read buffer differs from write buffer (I)'
PRINT *, bufr1(i), ' and ', buf1(i)
STOP
ENDIF
@@ -126,7 +129,7 @@ CALL h5ltread_dataset_f(file_id, dsetname2, H5T_NATIVE_REAL, bufr2, dims, errcod
!
DO i = 1, DIM1
IF ( buf2(i) .NE. bufr2(i) ) THEN
- PRINT *, 'read buffer differs from write buffer'
+ PRINT *, 'read buffer differs from write buffer (R)'
PRINT *, bufr2(i), ' and ', buf2(i)
STOP
ENDIF
@@ -139,19 +142,26 @@ END DO
!
! write dataset.
!
-CALL h5ltmake_dataset_f(file_id, dsetname3, rank, dims, H5T_NATIVE_DOUBLE, buf3, errcode)
-
+f_ptr = C_LOC(buf3(1))
+mytype = h5kind_to_type(KIND(buf3(1)), H5_REAL_KIND)
+CALL h5ltmake_dataset_f(file_id, dsetname3, rank, dims, &
+ mytype, f_ptr, errcode)
+!CALL h5ltmake_dataset_f(file_id, dsetname3, rank, dims, H5T_NATIVE_DOUBLE, buf3, errcode)
+! h5kind_to_type(KIND(buf3(1)), H5_REAL_KIND)
!
! read dataset.
!
-CALL h5ltread_dataset_f(file_id, dsetname3, H5T_NATIVE_DOUBLE, bufr3, dims, errcode)
+f_ptr = C_LOC(bufr3(1))
+CALL h5ltread_dataset_f(file_id, dsetname3, &
+ h5kind_to_type(KIND(bufr3(1)), H5_REAL_KIND), f_ptr, errcode)
+!CALL h5ltread_dataset_f(file_id, dsetname3, H5T_NATIVE_DOUBLE, bufr3, dims, errcode)
!
! compare read and write buffers.
!
DO i = 1, DIM1
IF ( buf3(i) .NE. bufr3(i) ) THEN
- PRINT *, 'read buffer differs from write buffer'
+ PRINT *, 'read buffer differs from write buffer (D)'
PRINT *, bufr3(i), ' and ', buf3(i)
STOP
ENDIF
@@ -179,6 +189,7 @@ END SUBROUTINE test_dataset1D
SUBROUTINE test_dataset2D()
+USE, INTRINSIC :: ISO_C_BINDING
USE H5LT ! module of H5LT
USE HDF5 ! module of HDF5 library
@@ -199,12 +210,13 @@ INTEGER, DIMENSION(DIM1*DIM2) :: buf ! Data buffer
INTEGER, DIMENSION(DIM1*DIM2) :: bufr ! Data buffer
INTEGER, DIMENSION(DIM1,DIM2) :: buf2 ! Data buffer
INTEGER, DIMENSION(DIM1,DIM2) :: buf2r ! Data buffer
-REAL, DIMENSION(DIM1,DIM2) :: buf3 ! Data buffer
-REAL, DIMENSION(DIM1,DIM2) :: buf3r ! Data buffer
-DOUBLE PRECISION, DIMENSION(DIM1,DIM2) :: buf4 ! Data buffer
-DOUBLE PRECISION, DIMENSION(DIM1,DIM2) :: buf4r ! Data buffer
+REAL, DIMENSION(DIM1,DIM2), TARGET :: buf3 ! Data buffer
+REAL, DIMENSION(DIM1,DIM2), TARGET :: buf3r ! Data buffer
+DOUBLE PRECISION, DIMENSION(DIM1,DIM2), TARGET :: buf4 ! Data buffer
+DOUBLE PRECISION, DIMENSION(DIM1,DIM2), TARGET :: buf4r ! Data buffer
INTEGER :: errcode ! Error flag
INTEGER(HSIZE_T) :: i, j, n ! general purpose integers
+TYPE(C_PTR) :: f_ptr
CALL test_begin(' Make/Read datasets (2D) ')
@@ -296,12 +308,16 @@ END DO
!
! write dataset.
!
-CALL h5ltmake_dataset_f(file_id, dsetname3, rank, dims, H5T_NATIVE_REAL, buf3, errcode)
+f_ptr = C_LOC(buf3(1,1))
+CALL h5ltmake_dataset_f(file_id, dsetname3, rank, dims, H5T_NATIVE_REAL, f_ptr, errcode)
+!CALL h5ltmake_dataset_f(file_id, dsetname3, rank, dims, H5T_NATIVE_REAL, buf3, errcode)
!
! read dataset.
!
-CALL h5ltread_dataset_f(file_id, dsetname3, H5T_NATIVE_REAL, buf3r, dims, errcode)
+f_ptr = C_LOC(buf3r(1,1))
+CALL h5ltread_dataset_f(file_id, dsetname3, H5T_NATIVE_REAL, f_ptr, errcode)
+!CALL h5ltread_dataset_f(file_id, dsetname3, H5T_NATIVE_REAL, buf3r, dims, errcode)
!
! compare read and write buffers.
@@ -323,12 +339,16 @@ END DO
!
! write dataset.
!
-CALL h5ltmake_dataset_f(file_id, dsetname4, rank, dims, H5T_NATIVE_DOUBLE, buf4, errcode)
+f_ptr = C_LOC(buf4(1,1))
+CALL h5ltmake_dataset_f(file_id, dsetname4, rank, dims, H5T_NATIVE_DOUBLE, f_ptr, errcode)
+!CALL h5ltmake_dataset_f(file_id, dsetname4, rank, dims, H5T_NATIVE_DOUBLE, buf4, errcode)
!
! read dataset.
-!
-CALL h5ltread_dataset_f(file_id, dsetname4, H5T_NATIVE_DOUBLE, buf4r, dims, errcode)
+f_ptr = C_LOC(buf4r(1,1))
+CALL h5ltread_dataset_f(file_id, dsetname4, H5T_NATIVE_DOUBLE, f_ptr, errcode)
+
+!CALL h5ltread_dataset_f(file_id, dsetname4, H5T_NATIVE_DOUBLE, buf4r, dims, errcode)
!
! compare read and write buffers.
@@ -366,7 +386,7 @@ END SUBROUTINE test_dataset2D
SUBROUTINE test_dataset3D()
-
+USE, INTRINSIC :: ISO_C_BINDING
USE H5LT ! module of H5LT
USE HDF5 ! module of HDF5 library
@@ -387,16 +407,16 @@ INTEGER, DIMENSION(DIM1*DIM2*DIM3) :: buf ! Data buffer
INTEGER, DIMENSION(DIM1*DIM2*DIM3) :: bufr ! Data buffer
INTEGER, DIMENSION(DIM1,DIM2,DIM3) :: buf2 ! Data buffer
INTEGER, DIMENSION(DIM1,DIM2,DIM3) :: buf2r ! Data buffer
-REAL, DIMENSION(DIM1,DIM2,DIM3) :: buf3 ! Data buffer
-REAL, DIMENSION(DIM1,DIM2,DIM3) :: buf3r ! Data buffer
-DOUBLE PRECISION, DIMENSION(DIM1,DIM2,DIM3) :: buf4 ! Data buffer
-DOUBLE PRECISION, DIMENSION(DIM1,DIM2,DIM3) :: buf4r ! Data buffer
+REAL, DIMENSION(DIM1,DIM2,DIM3), TARGET :: buf3 ! Data buffer
+REAL, DIMENSION(DIM1,DIM2,DIM3), TARGET :: buf3r ! Data buffer
+DOUBLE PRECISION, DIMENSION(DIM1,DIM2,DIM3), TARGET :: buf4 ! Data buffer
+DOUBLE PRECISION, DIMENSION(DIM1,DIM2,DIM3), TARGET :: buf4r ! Data buffer
INTEGER :: rank = 3 ! Dataset rank
INTEGER :: errcode ! Error flag
INTEGER(HSIZE_T) :: i, j, k, n ! general purpose integers
INTEGER :: type_class
INTEGER(SIZE_T) :: type_size
-
+TYPE(C_PTR) :: f_ptr
CALL test_begin(' Make/Read datasets (3D) ')
@@ -492,12 +512,16 @@ END DO
!
! write dataset.
!
-CALL h5ltmake_dataset_f(file_id, dsetname3, rank, dims, H5T_NATIVE_REAL, buf3, errcode)
+f_ptr = C_LOC(buf3(1,1,1))
+CALL h5ltmake_dataset_f(file_id, dsetname3, rank, dims, H5T_NATIVE_REAL, f_ptr, errcode)
+!CALL h5ltmake_dataset_f(file_id, dsetname3, rank, dims, H5T_NATIVE_REAL, buf3, errcode)
!
! read dataset.
!
-CALL h5ltread_dataset_f(file_id, dsetname3, H5T_NATIVE_REAL, buf3r, dims, errcode)
+f_ptr = C_LOC(buf3r(1,1,1))
+CALL h5ltread_dataset_f(file_id, dsetname3, H5T_NATIVE_REAL, f_ptr, errcode)
+!CALL h5ltread_dataset_f(file_id, dsetname3, H5T_NATIVE_REAL, buf3r, dims, errcode)
!
! compare read and write buffers.
@@ -521,12 +545,14 @@ END DO
!
! write dataset.
!
-CALL h5ltmake_dataset_f(file_id, dsetname4, rank, dims, H5T_NATIVE_DOUBLE, buf4, errcode)
+f_ptr = C_LOC(buf4(1,1,1))
+CALL h5ltmake_dataset_f(file_id, dsetname4, rank, dims, H5T_NATIVE_DOUBLE, f_ptr, errcode)
!
! read dataset.
!
-CALL h5ltread_dataset_f(file_id, dsetname4, H5T_NATIVE_DOUBLE, buf4r, dims, errcode)
+f_ptr = C_LOC(buf4r(1,1,1))
+CALL h5ltread_dataset_f(file_id, dsetname4, H5T_NATIVE_DOUBLE, f_ptr, errcode)
!
! compare read and write buffers.
@@ -578,6 +604,7 @@ END SUBROUTINE test_dataset3D
SUBROUTINE test_datasetND(rank)
+ USE, INTRINSIC :: ISO_C_BINDING
USE H5LT ! module of H5LT
USE HDF5 ! module of HDF5 library
@@ -598,36 +625,37 @@ SUBROUTINE test_datasetND(rank)
CHARACTER(LEN=5), PARAMETER :: dsetname4 = "dset4" ! Dataset name
INTEGER(HID_T) :: file_id ! File identifier
INTEGER(HSIZE_T), DIMENSION(7) :: dims
- INTEGER(HSIZE_T), DIMENSION(7) :: dimsr ! Dataset dimensions
- INTEGER, ALLOCATABLE, DIMENSION(:,:,:,:) :: ibuf_4 ! Data buffer
- INTEGER, ALLOCATABLE, DIMENSION(:,:,:,:) :: ibufr_4 ! Data buffer
- INTEGER, ALLOCATABLE, DIMENSION(:,:,:,:,:) :: ibuf_5 ! Data buffer
- INTEGER, ALLOCATABLE, DIMENSION(:,:,:,:,:) :: ibufr_5 ! Data buffer
- INTEGER, ALLOCATABLE, DIMENSION(:,:,:,:,:,:) :: ibuf_6 ! Data buffer
- INTEGER, ALLOCATABLE, DIMENSION(:,:,:,:,:,:) :: ibufr_6 ! Data buffer
- INTEGER, ALLOCATABLE, DIMENSION(:,:,:,:,:,:,:) :: ibuf_7 ! Data buffer
- INTEGER, ALLOCATABLE, DIMENSION(:,:,:,:,:,:,:) :: ibufr_7 ! Data buffer
- REAL, ALLOCATABLE, DIMENSION(:,:,:,:) :: rbuf_4 ! Data buffer
- REAL, ALLOCATABLE, DIMENSION(:,:,:,:) :: rbufr_4 ! Data buffer
- REAL, ALLOCATABLE, DIMENSION(:,:,:,:,:) :: rbuf_5 ! Data buffer
- REAL, ALLOCATABLE, DIMENSION(:,:,:,:,:) :: rbufr_5 ! Data buffer
- REAL, ALLOCATABLE, DIMENSION(:,:,:,:,:,:) :: rbuf_6 ! Data buffer
- REAL, ALLOCATABLE, DIMENSION(:,:,:,:,:,:) :: rbufr_6 ! Data buffer
- REAL, ALLOCATABLE, DIMENSION(:,:,:,:,:,:,:) :: rbuf_7 ! Data buffer
- REAL, ALLOCATABLE, DIMENSION(:,:,:,:,:,:,:) :: rbufr_7 ! Data buffer
- DOUBLE PRECISION, ALLOCATABLE, DIMENSION(:,:,:,:) :: dbuf_4 ! Data buffer
- DOUBLE PRECISION, ALLOCATABLE, DIMENSION(:,:,:,:) :: dbufr_4 ! Data buffer
- DOUBLE PRECISION, ALLOCATABLE, DIMENSION(:,:,:,:,:) :: dbuf_5 ! Data buffer
- DOUBLE PRECISION, ALLOCATABLE, DIMENSION(:,:,:,:,:) :: dbufr_5 ! Data buffer
- DOUBLE PRECISION, ALLOCATABLE, DIMENSION(:,:,:,:,:,:) :: dbuf_6 ! Data buffer
- DOUBLE PRECISION, ALLOCATABLE, DIMENSION(:,:,:,:,:,:) :: dbufr_6 ! Data buffer
- DOUBLE PRECISION, ALLOCATABLE, DIMENSION(:,:,:,:,:,:,:) :: dbuf_7 ! Data buffer
- DOUBLE PRECISION, ALLOCATABLE, DIMENSION(:,:,:,:,:,:,:) :: dbufr_7 ! Data buffer
+ INTEGER(HSIZE_T), DIMENSION(7) :: dimsr ! Dataset dimensions
+ INTEGER, ALLOCATABLE, DIMENSION(:,:,:,:) :: ibuf_4 ! Data buffer
+ INTEGER, ALLOCATABLE, DIMENSION(:,:,:,:) :: ibufr_4 ! Data buffer
+ INTEGER, ALLOCATABLE, DIMENSION(:,:,:,:,:), TARGET :: ibuf_5 ! Data buffer
+ INTEGER, ALLOCATABLE, DIMENSION(:,:,:,:,:), TARGET :: ibufr_5 ! Data buffer
+ INTEGER, ALLOCATABLE, DIMENSION(:,:,:,:,:,:) :: ibuf_6 ! Data buffer
+ INTEGER, ALLOCATABLE, DIMENSION(:,:,:,:,:,:) :: ibufr_6 ! Data buffer
+ INTEGER, ALLOCATABLE, DIMENSION(:,:,:,:,:,:,:) :: ibuf_7 ! Data buffer
+ INTEGER, ALLOCATABLE, DIMENSION(:,:,:,:,:,:,:) :: ibufr_7 ! Data buffer
+ REAL, ALLOCATABLE, DIMENSION(:,:,:,:), TARGET :: rbuf_4 ! Data buffer
+ REAL, ALLOCATABLE, DIMENSION(:,:,:,:), TARGET :: rbufr_4 ! Data buffer
+ REAL, ALLOCATABLE, DIMENSION(:,:,:,:,:), TARGET :: rbuf_5 ! Data buffer
+ REAL, ALLOCATABLE, DIMENSION(:,:,:,:,:), TARGET :: rbufr_5 ! Data buffer
+ REAL, ALLOCATABLE, DIMENSION(:,:,:,:,:,:), TARGET :: rbuf_6 ! Data buffer
+ REAL, ALLOCATABLE, DIMENSION(:,:,:,:,:,:), TARGET :: rbufr_6 ! Data buffer
+ REAL, ALLOCATABLE, DIMENSION(:,:,:,:,:,:,:), TARGET :: rbuf_7 ! Data buffer
+ REAL, ALLOCATABLE, DIMENSION(:,:,:,:,:,:,:), TARGET :: rbufr_7 ! Data buffer
+ DOUBLE PRECISION, ALLOCATABLE, DIMENSION(:,:,:,:), TARGET :: dbuf_4 ! Data buffer
+ DOUBLE PRECISION, ALLOCATABLE, DIMENSION(:,:,:,:), TARGET :: dbufr_4 ! Data buffer
+ DOUBLE PRECISION, ALLOCATABLE, DIMENSION(:,:,:,:,:), TARGET :: dbuf_5 ! Data buffer
+ DOUBLE PRECISION, ALLOCATABLE, DIMENSION(:,:,:,:,:), TARGET :: dbufr_5 ! Data buffer
+ DOUBLE PRECISION, ALLOCATABLE, DIMENSION(:,:,:,:,:,:), TARGET :: dbuf_6 ! Data buffer
+ DOUBLE PRECISION, ALLOCATABLE, DIMENSION(:,:,:,:,:,:), TARGET :: dbufr_6 ! Data buffer
+ DOUBLE PRECISION, ALLOCATABLE, DIMENSION(:,:,:,:,:,:,:), TARGET :: dbuf_7 ! Data buffer
+ DOUBLE PRECISION, ALLOCATABLE, DIMENSION(:,:,:,:,:,:,:), TARGET :: dbufr_7 ! Data buffer
INTEGER :: errcode ! Error flag
INTEGER(HSIZE_T) :: i, j, k, l, m, n, o, nn ! general purpose integers
INTEGER :: type_class
INTEGER(SIZE_T) :: type_size
CHARACTER(LEN=1) :: ichr1
+ TYPE(C_PTR) :: f_ptr
WRITE(ichr1,'(I1.1)') rank
CALL test_begin(' Make/Read datasets ('//ichr1//'D) ')
@@ -768,7 +796,8 @@ SUBROUTINE test_datasetND(rank)
IF(rank.EQ.4)THEN
CALL h5ltmake_dataset_f(file_id, dsetname2, rank, dims(1:rank), H5T_NATIVE_INTEGER, ibuf_4, errcode)
ELSE IF(rank.EQ.5)THEN
- CALL h5ltmake_dataset_f(file_id, dsetname2, rank, dims(1:rank), H5T_NATIVE_INTEGER, ibuf_5, errcode)
+ f_ptr = C_LOC(ibuf_5(1,1,1,1,1))
+ CALL h5ltmake_dataset_f(file_id, dsetname2, rank, dims(1:rank), H5T_NATIVE_INTEGER, f_ptr, errcode)
ELSE IF(rank.EQ.6)THEN
CALL h5ltmake_dataset_f(file_id, dsetname2, rank, dims(1:rank), H5T_NATIVE_INTEGER, ibuf_6, errcode)
ELSE IF(rank.EQ.7)THEN
@@ -782,7 +811,8 @@ SUBROUTINE test_datasetND(rank)
IF(rank.EQ.4)THEN
CALL h5ltread_dataset_f(file_id, dsetname2, H5T_NATIVE_INTEGER, ibufr_4, dims(1:rank), errcode)
ELSE IF(rank.EQ.5)THEN
- CALL h5ltread_dataset_f(file_id, dsetname2, H5T_NATIVE_INTEGER, ibufr_5, dims(1:rank), errcode)
+ f_ptr = C_LOC(ibufr_5(1,1,1,1,1))
+ CALL h5ltread_dataset_f(file_id, dsetname2, H5T_NATIVE_INTEGER, f_ptr, errcode)
ELSE IF(rank.EQ.6)THEN
CALL h5ltread_dataset_f(file_id, dsetname2, H5T_NATIVE_INTEGER, ibufr_6, dims(1:rank), errcode)
ELSE IF(rank.EQ.7)THEN
@@ -842,13 +872,20 @@ SUBROUTINE test_datasetND(rank)
! write dataset.
!
IF(rank.EQ.4)THEN
- CALL h5ltmake_dataset_f(file_id, dsetname3, rank, dims(1:rank), H5T_NATIVE_REAL, rbuf_4, errcode)
+ f_ptr = C_LOC(rbuf_4(1,1,1,1))
+ CALL h5ltmake_dataset_f(file_id, dsetname3, rank, dims(1:rank), H5T_NATIVE_REAL, f_ptr, errcode)
+ ! CALL h5ltmake_dataset_f(file_id, dsetname3, rank, dims(1:rank), H5T_NATIVE_REAL, rbuf_4, errcode)
ELSE IF(rank.EQ.5)THEN
- CALL h5ltmake_dataset_f(file_id, dsetname3, rank, dims(1:rank), H5T_NATIVE_REAL, rbuf_5, errcode)
+ f_ptr = C_LOC(rbuf_5(1,1,1,1,1))
+ CALL h5ltmake_dataset_f(file_id, dsetname3, rank, dims(1:rank), H5T_NATIVE_REAL, f_ptr, errcode)
ELSE IF(rank.EQ.6)THEN
- CALL h5ltmake_dataset_f(file_id, dsetname3, rank, dims(1:rank), H5T_NATIVE_REAL, rbuf_6, errcode)
+ f_ptr = C_LOC(rbuf_6(1,1,1,1,1,1))
+ CALL h5ltmake_dataset_f(file_id, dsetname3, rank, dims(1:rank), H5T_NATIVE_REAL, f_ptr, errcode)
+ !CALL h5ltmake_dataset_f(file_id, dsetname3, rank, dims(1:rank), H5T_NATIVE_REAL, rbuf_6, errcode)
ELSE IF(rank.EQ.7)THEN
- CALL h5ltmake_dataset_f(file_id, dsetname3, rank, dims(1:rank), H5T_NATIVE_REAL, rbuf_7, errcode)
+ f_ptr = C_LOC(rbuf_7(1,1,1,1,1,1,1))
+ CALL h5ltmake_dataset_f(file_id, dsetname3, rank, dims(1:rank), H5T_NATIVE_REAL, f_ptr, errcode)
+ !CALL h5ltmake_dataset_f(file_id, dsetname3, rank, dims(1:rank), H5T_NATIVE_REAL, rbuf_7, errcode)
ENDIF
@@ -856,13 +893,17 @@ SUBROUTINE test_datasetND(rank)
! read dataset.
!
IF(rank.EQ.4)THEN
- CALL h5ltread_dataset_f(file_id, dsetname3, H5T_NATIVE_REAL, rbufr_4, dims(1:rank), errcode)
+ f_ptr = C_LOC(rbufr_4(1,1,1,1))
+ CALL h5ltread_dataset_f(file_id, dsetname3, H5T_NATIVE_REAL, f_ptr, errcode)
ELSE IF(rank.EQ.5)THEN
- CALL h5ltread_dataset_f(file_id, dsetname3, H5T_NATIVE_REAL, rbufr_5, dims(1:rank), errcode)
+ f_ptr = C_LOC(rbufr_5(1,1,1,1,1))
+ CALL h5ltread_dataset_f(file_id, dsetname3, H5T_NATIVE_REAL, f_ptr, errcode)
ELSE IF(rank.EQ.6)THEN
- CALL h5ltread_dataset_f(file_id, dsetname3, H5T_NATIVE_REAL, rbufr_6, dims(1:rank), errcode)
+ f_ptr = C_LOC(rbufr_6(1,1,1,1,1,1))
+ CALL h5ltread_dataset_f(file_id, dsetname3, H5T_NATIVE_REAL, f_ptr, errcode)
ELSE IF(rank.EQ.7)THEN
- CALL h5ltread_dataset_f(file_id, dsetname3, H5T_NATIVE_REAL, rbufr_7, dims(1:rank), errcode)
+ f_ptr = C_LOC(rbufr_7(1,1,1,1,1,1,1))
+ CALL h5ltread_dataset_f(file_id, dsetname3, H5T_NATIVE_REAL, f_ptr, errcode)
ENDIF
!
@@ -919,13 +960,17 @@ SUBROUTINE test_datasetND(rank)
! write dataset.
!
IF(rank.EQ.4)THEN
- CALL h5ltmake_dataset_f(file_id, dsetname4, rank, dims(1:rank), H5T_NATIVE_DOUBLE, dbuf_4, errcode)
+ f_ptr = C_LOC(dbuf_4(1,1,1,1))
+ CALL h5ltmake_dataset_f(file_id, dsetname4, rank, dims(1:rank), H5T_NATIVE_DOUBLE, f_ptr, errcode)
ELSE IF(rank.EQ.5)THEN
- CALL h5ltmake_dataset_f(file_id, dsetname4, rank, dims(1:rank), H5T_NATIVE_DOUBLE, dbuf_5, errcode)
+ f_ptr = C_LOC(dbuf_5(1,1,1,1,1))
+ CALL h5ltmake_dataset_f(file_id, dsetname4, rank, dims(1:rank), H5T_NATIVE_DOUBLE, f_ptr, errcode)
ELSE IF(rank.EQ.6)THEN
- CALL h5ltmake_dataset_f(file_id, dsetname4, rank, dims(1:rank), H5T_NATIVE_DOUBLE, dbuf_6, errcode)
+ f_ptr = C_LOC(dbuf_6(1,1,1,1,1,1))
+ CALL h5ltmake_dataset_f(file_id, dsetname4, rank, dims(1:rank), H5T_NATIVE_DOUBLE, f_ptr, errcode)
ELSE IF(rank.EQ.7)THEN
- CALL h5ltmake_dataset_f(file_id, dsetname4, rank, dims(1:rank), H5T_NATIVE_DOUBLE, dbuf_7, errcode)
+ f_ptr = C_LOC(dbuf_7(1,1,1,1,1,1,1))
+ CALL h5ltmake_dataset_f(file_id, dsetname4, rank, dims(1:rank), H5T_NATIVE_DOUBLE, f_ptr, errcode)
ENDIF
@@ -933,13 +978,17 @@ SUBROUTINE test_datasetND(rank)
! read dataset.
!
IF(rank.EQ.4)THEN
- CALL h5ltread_dataset_f(file_id, dsetname4, H5T_NATIVE_DOUBLE, dbufr_4, dims(1:rank), errcode)
+ f_ptr = C_LOC(dbufr_4(1,1,1,1))
+ CALL h5ltread_dataset_f(file_id, dsetname4, H5T_NATIVE_DOUBLE, f_ptr, errcode)
ELSE IF(rank.EQ.5)THEN
- CALL h5ltread_dataset_f(file_id, dsetname4, H5T_NATIVE_DOUBLE, dbufr_5, dims(1:rank), errcode)
+ f_ptr = C_LOC(dbufr_5(1,1,1,1,1))
+ CALL h5ltread_dataset_f(file_id, dsetname4, H5T_NATIVE_DOUBLE, f_ptr, errcode)
ELSE IF(rank.EQ.6)THEN
- CALL h5ltread_dataset_f(file_id, dsetname4, H5T_NATIVE_DOUBLE, dbufr_6, dims(1:rank), errcode)
+ f_ptr = C_LOC(dbufr_6(1,1,1,1,1,1))
+ CALL h5ltread_dataset_f(file_id, dsetname4, H5T_NATIVE_DOUBLE, f_ptr, errcode)
ELSE IF(rank.EQ.7)THEN
- CALL h5ltread_dataset_f(file_id, dsetname4, H5T_NATIVE_DOUBLE, dbufr_7, dims(1:rank), errcode)
+ f_ptr = C_LOC(dbufr_7(1,1,1,1,1,1,1))
+ CALL h5ltread_dataset_f(file_id, dsetname4, H5T_NATIVE_DOUBLE, f_ptr, errcode)
ENDIF
!
@@ -1036,6 +1085,7 @@ END SUBROUTINE test_datasetND
SUBROUTINE test_datasets()
+ USE, INTRINSIC :: ISO_C_BINDING
USE H5LT ! module of H5LT
USE HDF5 ! module of HDF5 library
@@ -1058,10 +1108,10 @@ SUBROUTINE test_datasets()
CHARACTER(LEN=8) :: buf1r ! Data buffer
INTEGER, DIMENSION(DIM1) :: buf2 ! Data buffer
INTEGER, DIMENSION(DIM1) :: bufr2 ! Data buffer
- REAL, DIMENSION(DIM1) :: buf3 ! Data buffer
- REAL, DIMENSION(DIM1) :: bufr3 ! Data buffer
- DOUBLE PRECISION, DIMENSION(DIM1) :: buf4 ! Data buffer
- DOUBLE PRECISION, DIMENSION(DIM1) :: bufr4 ! Data buffer
+ REAL, DIMENSION(DIM1), TARGET :: buf3 ! Data buffer
+ REAL, DIMENSION(DIM1) , TARGET :: bufr3 ! Data buffer
+ DOUBLE PRECISION, DIMENSION(DIM1), TARGET :: buf4 ! Data buffer
+ DOUBLE PRECISION, DIMENSION(DIM1), TARGET :: bufr4 ! Data buffer
INTEGER :: i, n ! general purpose integer
INTEGER :: has ! general purpose integer
INTEGER :: type_class
@@ -1069,6 +1119,7 @@ SUBROUTINE test_datasets()
LOGICAL :: path_valid ! status of the path
CHARACTER(LEN=6) :: chr_exact
CHARACTER(LEN=8) :: chr_lg
+ TYPE(C_PTR) :: f_ptr
!
! Initialize FORTRAN predefined datatypes.
@@ -1131,12 +1182,14 @@ SUBROUTINE test_datasets()
!
! write dataset.
!
- CALL h5ltmake_dataset_float_f(file_id, dsetname3, rank, dims, buf3, errcode)
+ f_ptr = C_LOC(buf3(1))
+ CALL h5ltmake_dataset_f(file_id, dsetname3, rank, dims, H5T_NATIVE_REAL, f_ptr, errcode)
!
! read dataset.
!
- CALL h5ltread_dataset_float_f(file_id, dsetname3, bufr3, dims, errcode)
+ f_ptr = C_LOC(bufr3(1))
+ CALL h5ltread_dataset_f(file_id, dsetname3, H5T_NATIVE_REAL, f_ptr, errcode)
!
! compare read and write buffers.
@@ -1161,13 +1214,18 @@ SUBROUTINE test_datasets()
!
! write dataset.
!
+ !f_ptr = C_LOC(buf4(1))
+ !CALL h5ltmake_dataset_f(file_id, dsetname4, rank, dims, H5T_NATIVE_DOUBLE, f_ptr, errcode)
CALL h5ltmake_dataset_double_f(file_id, dsetname4, rank, dims, buf4, errcode)
!
! read dataset.
!
+ !f_ptr = C_LOC(buf4(1))
+ !CALL h5ltread_dataset_f(file_id, dsetname4, H5T_NATIVE_DOUBLE, f_ptr, errcode)
CALL h5ltread_dataset_double_f(file_id, dsetname4, bufr4, dims, errcode)
+
!
! compare read and write buffers.
!
@@ -1335,6 +1393,7 @@ END SUBROUTINE test_datasets
SUBROUTINE test_attributes()
+ USE, INTRINSIC :: ISO_C_BINDING
USE H5LT ! module of H5LT
USE HDF5 ! module of HDF5 library
@@ -1358,10 +1417,10 @@ SUBROUTINE test_attributes()
! CHARACTER(LEN=18) :: bufr_c_lg ! Data buffer
INTEGER, DIMENSION(DIM1) :: buf2 ! Data buffer
INTEGER, DIMENSION(DIM1) :: bufr2 ! Data buffer
- REAL, DIMENSION(DIM1) :: buf3 ! Data buffer
- REAL, DIMENSION(DIM1) :: bufr3 ! Data buffer
- DOUBLE PRECISION, DIMENSION(DIM1) :: buf4 ! Data buffer
- DOUBLE PRECISION, DIMENSION(DIM1) :: bufr4 ! Data buffer
+ REAL, DIMENSION(DIM1), target :: buf3 ! Data buffer
+ REAL, DIMENSION(DIM1), target :: bufr3 ! Data buffer
+ DOUBLE PRECISION, DIMENSION(DIM1), TARGET :: buf4 ! Data buffer
+ DOUBLE PRECISION, DIMENSION(DIM1), TARGET :: bufr4 ! Data buffer
INTEGER :: errcode ! Error flag
INTEGER :: i, n ! general purpose integer
INTEGER(SIZE_T) size ! size of attribute array
@@ -1373,7 +1432,8 @@ SUBROUTINE test_attributes()
INTEGER :: rank = 1 ! Dataset rank
CHARACTER(LEN=5), PARAMETER :: dsetname1 = "dset1" ! Dataset name
INTEGER, DIMENSION(DIM1) :: buf ! Data buffer
-
+ INTEGER(SIZE_T) :: SizeOf_buf_type
+ TYPE(C_PTR) :: f_ptr
!
! Initialize FORTRAN predefined datatypes.
@@ -1441,11 +1501,26 @@ SUBROUTINE test_attributes()
!
! write attribute.
!
- CALL h5ltset_attribute_float_f(file_id,dsetname1,attrname3,buf3,size,errcode)
+#ifdef H5_FORTRAN_HAVE_STORAGE_SIZE
+ SizeOf_buf_type = STORAGE_SIZE(buf3(1), c_size_t)/STORAGE_SIZE(c_char_'a',c_size_t)
+#else
+ SizeOf_buf_type = SIZEOF(buf3(1))
+#endif
+ f_ptr = C_LOC(buf3(1))
+ CALL h5ltset_attribute_f(file_id,dsetname1,attrname3,f_ptr,"REAL", SizeOf_buf_type, size,errcode)
+ !CALL h5ltset_attribute_float_f(file_id,dsetname1,attrname3,buf3,size,errcode)
!
! read attribute.
!
- CALL h5ltget_attribute_float_f(file_id,dsetname1,attrname3,bufr3,errcode)
+#ifdef H5_FORTRAN_HAVE_STORAGE_SIZE
+ SizeOf_buf_type = STORAGE_SIZE(bufr3(1), c_size_t)/STORAGE_SIZE(c_char_'a',c_size_t)
+#else
+ SizeOf_buf_type = SIZEOF(bufr3(1))
+#endif
+
+ f_ptr = C_LOC(bufr3(1))
+ CALL h5ltget_attribute_f(file_id,dsetname1,attrname3,f_ptr,"REAL",SizeOf_buf_type,errcode)
+ !CALL h5ltget_attribute_float_f(file_id,dsetname1,attrname3,bufr3,errcode)
!
! compare read and write buffers.
@@ -1464,17 +1539,36 @@ SUBROUTINE test_attributes()
! double
!-------------------------------------------------------------------------
+#ifdef H5_FORTRAN_HAVE_STORAGE_SIZE
+ SizeOf_buf_type = STORAGE_SIZE(buf4(1), c_size_t)/STORAGE_SIZE(c_char_'a',c_size_t)
+#else
+ SizeOf_buf_type = SIZEOF(buf4(1))
+#endif
+
+ IF(SizeOf_buf_type.LT.16)THEN ! MSB can't handle 16 byte reals
+
CALL test_begin(' Set/Get attributes double ')
-
+
!
! write attribute.
!
- CALL h5ltset_attribute_double_f(file_id,dsetname1,attrname4,buf4,size,errcode)
+ f_ptr = C_LOC(buf4(1))
+ CALL h5ltset_attribute_f(file_id,dsetname1,attrname4,f_ptr,"real", SizeOf_buf_type, size, errcode)
+
+! CALL h5ltset_attribute_double_f(file_id,dsetname1,attrname4,buf4, size, errcode)
!
! read attribute.
!
- CALL h5ltget_attribute_double_f(file_id,dsetname1,attrname4,bufr4,errcode)
+
+#ifdef H5_FORTRAN_HAVE_STORAGE_SIZE
+ SizeOf_buf_type = STORAGE_SIZE(bufr4(1), c_size_t)/STORAGE_SIZE(c_char_'a',c_size_t)
+#else
+ SizeOf_buf_type = SIZEOF(bufr4(1))
+#endif
+
+ f_ptr = C_LOC(bufr4(1))
+ CALL h5ltget_attribute_f(file_id,dsetname1,attrname4,f_ptr,"REAL",SizeOf_buf_type,errcode)
!
! compare read and write buffers.
@@ -1489,6 +1583,8 @@ SUBROUTINE test_attributes()
CALL passed()
+ ENDIF
+
!-------------------------------------------------------------------------
! string
!-------------------------------------------------------------------------
@@ -1604,11 +1700,6 @@ SUBROUTINE test_attributes()
!
END SUBROUTINE test_attributes
-
-
-
-
-
!-------------------------------------------------------------------------
! test_begin
!-------------------------------------------------------------------------
diff --git a/hl/fortran/test/tsttable.f90 b/hl/fortran/test/tsttable.F90
index bb88abf..74029a5 100644
--- a/hl/fortran/test/tsttable.f90
+++ b/hl/fortran/test/tsttable.F90
@@ -16,12 +16,12 @@
!
! This file contains the FORTRAN90 tests for H5LT
!
+#include <H5config_f.inc>
PROGRAM table_test
CALL test_table1()
-
END PROGRAM table_test
@@ -71,7 +71,24 @@ SUBROUTINE test_table1()
INTEGER(SIZE_T), DIMENSION(1:nfields) :: field_sizesr ! field sizes
INTEGER(SIZE_T) :: type_sizeout = 0 ! size of the datatype
INTEGER :: maxlen = 0 ! max chararter length of a field name
-
+ INTEGER :: Cs_sizeof_double = H5_SIZEOF_DOUBLE ! C's sizeof double
+ INTEGER :: SIZEOF_X
+ LOGICAL :: Exclude_double
+
+ ! Find size of DOUBLE PRECISION
+#ifdef H5_FORTRAN_HAVE_STORAGE_SIZE
+ SIZEOF_X = storage_size(bufd(1))/storage_size(c_char_'a')
+#else
+ SIZEOF_X = SIZEOF(bufd(1))
+#endif
+
+ ! If Fortran DOUBLE PRECISION and C DOUBLE sizeofs don't match then disable
+ ! creating a DOUBLE RECISION field, and instead create a REAL field. This
+ ! is needed to handle when DOUBLE PRECISION is promoted via a compiler flag.
+ Exclude_double = .FALSE.
+ IF(Cs_sizeof_double.NE.SIZEOF_X)THEN
+ Exclude_double = .TRUE.
+ ENDIF
!
! Initialize the data arrays.
@@ -111,7 +128,11 @@ SUBROUTINE test_table1()
CALL h5tset_size_f(type_id_c, type_size, errcode)
CALL h5tget_size_f(type_id_c, type_sizec, errcode)
CALL h5tget_size_f(H5T_NATIVE_INTEGER, type_sizei, errcode)
- CALL h5tget_size_f(H5T_NATIVE_DOUBLE, type_sized, errcode)
+ IF(exclude_double)THEN
+ CALL h5tget_size_f(H5T_NATIVE_REAL, type_sized, errcode)
+ ELSE
+ CALL h5tget_size_f(H5T_NATIVE_DOUBLE, type_sized, errcode)
+ ENDIF
CALL h5tget_size_f(H5T_NATIVE_REAL, type_sizer, errcode)
type_size = type_sizec + type_sizei + type_sized + type_sizer
@@ -120,7 +141,11 @@ SUBROUTINE test_table1()
!
field_types(1) = type_id_c
field_types(2) = H5T_NATIVE_INTEGER
- field_types(3) = H5T_NATIVE_DOUBLE
+ IF(exclude_double)THEN
+ field_types(3) = H5T_NATIVE_REAL
+ ELSE
+ field_types(3) = H5T_NATIVE_DOUBLE
+ ENDIF
field_types(4) = H5T_NATIVE_REAL
!
@@ -168,9 +193,13 @@ SUBROUTINE test_table1()
CALL h5tbwrite_field_name_f(file_id,dsetname1,field_names(2),start,nrecords,type_sizei,&
bufi,errcode)
-
- CALL h5tbwrite_field_name_f(file_id,dsetname1,field_names(3),start,nrecords,type_sized,&
- bufd,errcode)
+ IF(exclude_double)THEN
+ CALL h5tbwrite_field_name_f(file_id,dsetname1,field_names(3),start,nrecords,type_sized,&
+ bufr,errcode)
+ ELSE
+ CALL h5tbwrite_field_name_f(file_id,dsetname1,field_names(3),start,nrecords,type_sized,&
+ bufd,errcode)
+ ENDIF
CALL h5tbwrite_field_name_f(file_id,dsetname1,field_names(4),start,nrecords,type_sizer,&
bufr,errcode)
@@ -214,7 +243,6 @@ SUBROUTINE test_table1()
CALL h5tbread_field_name_f(file_id,dsetname1,field_names(2),start,nrecords,type_sizei,&
bufir,errcode)
-
!
! compare read and write buffers.
!
@@ -226,19 +254,39 @@ SUBROUTINE test_table1()
ENDIF
END DO
- CALL h5tbread_field_name_f(file_id,dsetname1,field_names(3),start,nrecords,type_sized,&
- bufdr,errcode)
+ IF(exclude_double)THEN
+
+ CALL h5tbread_field_name_f(file_id,dsetname1,field_names(3),start,nrecords,type_sized,&
+ bufrr,errcode)
!
! compare read and write buffers.
!
- DO i = 1, nrecords
- IF ( bufdr(i) .NE. bufd(i) ) THEN
- PRINT *, 'read buffer differs from write buffer'
- PRINT *, bufdr(i), ' and ', bufd(i)
- STOP
- ENDIF
- END DO
+ DO i = 1, nrecords
+ IF ( bufrr(i) .NE. bufr(i) ) THEN
+ PRINT *, 'read buffer differs from write buffer'
+ PRINT *, bufrr(i), ' and ', bufr(i)
+ STOP
+ ENDIF
+ END DO
+
+ ELSE
+ CALL h5tbread_field_name_f(file_id,dsetname1,field_names(3),start,nrecords,type_sized,&
+ bufdr,errcode)
+
+ !
+ ! compare read and write buffers.
+ !
+ DO i = 1, nrecords
+ IF ( bufdr(i) .NE. bufd(i) ) THEN
+ PRINT *, 'read buffer differs from write buffer'
+ PRINT *, bufdr(i), ' and ', bufd(i)
+ STOP
+ ENDIF
+ END DO
+ ENDIF
+
+
CALL h5tbread_field_name_f(file_id,dsetname1,field_names(4),start,nrecords,type_sizer,&
bufrr,errcode)
@@ -254,9 +302,9 @@ SUBROUTINE test_table1()
ENDIF
END DO
-
CALL passed()
+
!-------------------------------------------------------------------------
! write field
!-------------------------------------------------------------------------
@@ -269,8 +317,13 @@ SUBROUTINE test_table1()
CALL h5tbwrite_field_index_f(file_id,dsetname1,2,start,nrecords,type_sizei,&
bufi,errcode)
- CALL h5tbwrite_field_index_f(file_id,dsetname1,3,start,nrecords,type_sized,&
- bufd,errcode)
+ IF(exclude_double)THEN
+ CALL h5tbwrite_field_index_f(file_id,dsetname1,3,start,nrecords,type_sized,&
+ bufr,errcode)
+ ELSE
+ CALL h5tbwrite_field_index_f(file_id,dsetname1,3,start,nrecords,type_sized,&
+ bufd,errcode)
+ ENDIF
CALL h5tbwrite_field_index_f(file_id,dsetname1,4,start,nrecords,type_sizer,&
bufr,errcode)
@@ -308,20 +361,35 @@ SUBROUTINE test_table1()
STOP
ENDIF
END DO
-
- CALL h5tbread_field_index_f(file_id,dsetname1,3,start,nrecords,type_sized,&
- bufdr,errcode)
-
- !
- ! compare read and write buffers.
- !
- DO i = 1, nrecords
- IF ( bufdr(i) .NE. bufd(i) ) THEN
- PRINT *, 'read buffer differs from write buffer'
- PRINT *, bufdr(i), ' and ', bufd(i)
- STOP
- ENDIF
- END DO
+ IF(exclude_double)THEN
+ CALL h5tbread_field_index_f(file_id,dsetname1,3,start,nrecords,type_sized,&
+ bufrr,errcode)
+
+ !
+ ! compare read and write buffers.
+ !
+ DO i = 1, nrecords
+ IF ( bufrr(i) .NE. bufr(i) ) THEN
+ PRINT *, 'read buffer differs from write buffer'
+ PRINT *, bufrr(i), ' and ', bufr(i)
+ STOP
+ ENDIF
+ END DO
+ ELSE
+ CALL h5tbread_field_index_f(file_id,dsetname1,3,start,nrecords,type_sized,&
+ bufdr,errcode)
+
+ !
+ ! compare read and write buffers.
+ !
+ DO i = 1, nrecords
+ IF ( bufdr(i) .NE. bufd(i) ) THEN
+ PRINT *, 'read buffer differs from write buffer'
+ PRINT *, bufdr(i), ' and ', bufd(i)
+ STOP
+ ENDIF
+ END DO
+ ENDIF
CALL h5tbread_field_index_f(file_id,dsetname1,4,start,nrecords,type_sizer,&
bufrr,errcode)
diff --git a/hl/src/CMakeLists.txt b/hl/src/CMakeLists.txt
index 47029d7..23943f9 100644
--- a/hl/src/CMakeLists.txt
+++ b/hl/src/CMakeLists.txt
@@ -1,12 +1,6 @@
cmake_minimum_required (VERSION 3.1.0)
PROJECT (HDF5_HL_SRC)
-#-----------------------------------------------------------------------------
-# Shared Libs
-#-----------------------------------------------------------------------------
-if (BUILD_SHARED_LIBS)
- set (HL_BUILT_AS_DYNAMIC_LIB 1)
-endif (BUILD_SHARED_LIBS)
#-----------------------------------------------------------------------------
# List Source files
@@ -33,18 +27,34 @@ set (HL_HEADERS
${HDF5_HL_SRC_SOURCE_DIR}/hdf5_hl.h
)
-add_library (${HDF5_HL_LIB_TARGET} ${LIB_TYPE} ${HL_SRCS} ${HL_HEADERS})
-TARGET_C_PROPERTIES (${HDF5_HL_LIB_TARGET} ${LIB_TYPE} " " " ")
+add_library (${HDF5_HL_LIB_TARGET} STATIC ${HL_SRCS} ${HL_HEADERS})
+TARGET_C_PROPERTIES (${HDF5_HL_LIB_TARGET} STATIC " " " ")
target_link_libraries (${HDF5_HL_LIB_TARGET} ${HDF5_LIB_TARGET})
-H5_SET_LIB_OPTIONS (${HDF5_HL_LIB_TARGET} ${HDF5_HL_LIB_NAME} ${LIB_TYPE})
+H5_SET_LIB_OPTIONS (${HDF5_HL_LIB_TARGET} ${HDF5_HL_LIB_NAME} STATIC)
set_target_properties (${HDF5_HL_LIB_TARGET} PROPERTIES
FOLDER libraries/hl
INTERFACE_INCLUDE_DIRECTORIES "$<INSTALL_INTERFACE:$<INSTALL_PREFIX>/include>"
)
set_global_variable (HDF5_LIBRARIES_TO_EXPORT "${HDF5_LIBRARIES_TO_EXPORT};${HDF5_HL_LIB_TARGET}")
+set (install_targets ${HDF5_HL_LIB_TARGET})
+
+if (BUILD_SHARED_LIBS)
+ add_library (${HDF5_HL_LIBSH_TARGET} SHARED ${HL_SRCS} ${HL_HEADERS})
+ TARGET_C_PROPERTIES (${HDF5_HL_LIBSH_TARGET} SHARED " " " ")
+ target_link_libraries (${HDF5_HL_LIBSH_TARGET} ${HDF5_LIBSH_TARGET})
+ H5_SET_LIB_OPTIONS (${HDF5_HL_LIBSH_TARGET} ${HDF5_HL_LIB_NAME} SHARED)
+ set_target_properties (${HDF5_HL_LIBSH_TARGET} PROPERTIES
+ FOLDER libraries/hl
+ COMPILE_DEFINITIONS "H5_BUILT_AS_DYNAMIC_LIB"
+ INTERFACE_INCLUDE_DIRECTORIES "$<INSTALL_INTERFACE:$<INSTALL_PREFIX>/include>"
+ INTERFACE_COMPILE_DEFINITIONS H5_BUILT_AS_DYNAMIC_LIB=1
+ )
+ set_global_variable (HDF5_LIBRARIES_TO_EXPORT "${HDF5_LIBRARIES_TO_EXPORT};${HDF5_HL_LIBSH_TARGET}")
+ set (install_targets ${install_targets} ${HDF5_HL_LIBSH_TARGET})
+endif (BUILD_SHARED_LIBS)
#-----------------------------------------------------------------------------
-# Add file(s) to CMake Install
+# Add file(s) to CMake Install
#-----------------------------------------------------------------------------
install (
FILES
@@ -60,12 +70,12 @@ install (
#-----------------------------------------------------------------------------
if (HDF5_EXPORTED_TARGETS)
if (BUILD_SHARED_LIBS)
- INSTALL_TARGET_PDB (${HDF5_HL_LIB_TARGET} ${HDF5_INSTALL_BIN_DIR} hllibraries)
+ INSTALL_TARGET_PDB (${HDF5_HL_LIBSH_TARGET} ${HDF5_INSTALL_BIN_DIR} hllibraries)
endif (BUILD_SHARED_LIBS)
-
+
install (
TARGETS
- ${HDF5_HL_LIB_TARGET}
+ ${install_targets}
EXPORT
${HDF5_EXPORTED_TARGETS}
LIBRARY DESTINATION ${HDF5_INSTALL_LIB_DIR} COMPONENT hllibraries
diff --git a/hl/src/H5LT.c b/hl/src/H5LT.c
index 8541cfe..8444e27 100644
--- a/hl/src/H5LT.c
+++ b/hl/src/H5LT.c
@@ -3357,7 +3357,7 @@ herr_t H5LTget_attribute_long( hid_t loc_id,
*
* Date: June 17, 2005
*
-* Comments: This funstion was added to suuport INTEGER*8 Fortran types
+* Comments: This function was added to support INTEGER*8 Fortran types
*
* Modifications:
*
diff --git a/hl/src/Makefile.in b/hl/src/Makefile.in
index d5b0b1e..dff64ee 100644
--- a/hl/src/Makefile.in
+++ b/hl/src/Makefile.in
@@ -110,7 +110,8 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/aclocal_cxx.m4 \
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(SHELL) $(top_srcdir)/bin/mkinstalldirs
-CONFIG_HEADER = $(top_builddir)/src/H5config.h
+CONFIG_HEADER = $(top_builddir)/src/H5config.h \
+ $(top_builddir)/fortran/src/H5config_f.inc
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
@@ -165,7 +166,7 @@ AM_V_at = $(am__v_at_@AM_V@)
am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
am__v_at_0 = @
am__v_at_1 =
-DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/src
+DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/src -I$(top_builddir)/fortran/src
depcomp = $(SHELL) $(top_srcdir)/bin/depcomp
am__depfiles_maybe = depfiles
am__mv = mv -f
@@ -450,14 +451,21 @@ F9XMODEXT = @F9XMODEXT@
F9XMODFLAG = @F9XMODFLAG@
F9XSUFFIXFLAG = @F9XSUFFIXFLAG@
FC = @FC@
-FC2003 = @FC2003@
FCFLAGS = @FCFLAGS@
FCFLAGS_f90 = @FCFLAGS_f90@
FCLIBS = @FCLIBS@
FC_VERSION = @FC_VERSION@
FGREP = @FGREP@
+FORTRAN_C_LONG_DOUBLE_IS_UNIQUE = @FORTRAN_C_LONG_DOUBLE_IS_UNIQUE@
+FORTRAN_HAVE_C_LONG_DOUBLE = @FORTRAN_HAVE_C_LONG_DOUBLE@
+FORTRAN_SIZEOF_LONG_DOUBLE = @FORTRAN_SIZEOF_LONG_DOUBLE@
FSEARCH_DIRS = @FSEARCH_DIRS@
GREP = @GREP@
+H5CONFIG_F_IKIND = @H5CONFIG_F_IKIND@
+H5CONFIG_F_NUM_IKIND = @H5CONFIG_F_NUM_IKIND@
+H5CONFIG_F_NUM_RKIND = @H5CONFIG_F_NUM_RKIND@
+H5CONFIG_F_RKIND = @H5CONFIG_F_RKIND@
+H5CONFIG_F_RKIND_SIZEOF = @H5CONFIG_F_RKIND_SIZEOF@
H5_CFLAGS = @H5_CFLAGS@
H5_CPPFLAGS = @H5_CPPFLAGS@
H5_CXXFLAGS = @H5_CXXFLAGS@
@@ -467,13 +475,12 @@ H5_LDFLAGS = @H5_LDFLAGS@
H5_VERSION = @H5_VERSION@
HADDR_T = @HADDR_T@
HAVE_DMALLOC = @HAVE_DMALLOC@
-HAVE_FORTRAN_2003 = @HAVE_FORTRAN_2003@
+HAVE_Fortran_INTEGER_SIZEOF_16 = @HAVE_Fortran_INTEGER_SIZEOF_16@
HAVE_PTHREAD = @HAVE_PTHREAD@
HDF5_HL = @HDF5_HL@
HDF5_INTERFACES = @HDF5_INTERFACES@
HDF_CXX = @HDF_CXX@
HDF_FORTRAN = @HDF_FORTRAN@
-HDF_FORTRAN2003 = @HDF_FORTRAN2003@
HID_T = @HID_T@
HL = @HL@
HL_FOR = @HL_FOR@
@@ -515,9 +522,20 @@ PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
+PAC_C_MAX_REAL_PRECISION = @PAC_C_MAX_REAL_PRECISION@
+PAC_FC_ALL_INTEGER_KINDS = @PAC_FC_ALL_INTEGER_KINDS@
+PAC_FC_ALL_INTEGER_KINDS_SIZEOF = @PAC_FC_ALL_INTEGER_KINDS_SIZEOF@
+PAC_FC_ALL_REAL_KINDS = @PAC_FC_ALL_REAL_KINDS@
+PAC_FC_ALL_REAL_KINDS_SIZEOF = @PAC_FC_ALL_REAL_KINDS_SIZEOF@
+PAC_FC_MAX_REAL_PRECISION = @PAC_FC_MAX_REAL_PRECISION@
+PAC_FORTRAN_NATIVE_DOUBLE_KIND = @PAC_FORTRAN_NATIVE_DOUBLE_KIND@
+PAC_FORTRAN_NATIVE_DOUBLE_SIZEOF = @PAC_FORTRAN_NATIVE_DOUBLE_SIZEOF@
+PAC_FORTRAN_NATIVE_INTEGER_KIND = @PAC_FORTRAN_NATIVE_INTEGER_KIND@
+PAC_FORTRAN_NATIVE_INTEGER_SIZEOF = @PAC_FORTRAN_NATIVE_INTEGER_SIZEOF@
+PAC_FORTRAN_NATIVE_REAL_KIND = @PAC_FORTRAN_NATIVE_REAL_KIND@
+PAC_FORTRAN_NATIVE_REAL_SIZEOF = @PAC_FORTRAN_NATIVE_REAL_SIZEOF@
PARALLEL = @PARALLEL@
PATH_SEPARATOR = @PATH_SEPARATOR@
-PERL = @PERL@
RANLIB = @RANLIB@
ROOT = @ROOT@
RUNPARALLEL = @RUNPARALLEL@
@@ -661,7 +679,7 @@ CHECK_CLEANFILES = *.chkexe *.chklog *.clog *.clog2
# After making changes, run bin/reconfigure to update other configure related
# files like Makefile.in.
LT_VERS_INTERFACE = 6
-LT_VERS_REVISION = 217
+LT_VERS_REVISION = 219
LT_VERS_AGE = 0
# This library is our main target.
diff --git a/hl/test/CMakeLists.txt b/hl/test/CMakeLists.txt
index 47383ce..916dcf3 100644
--- a/hl/test/CMakeLists.txt
+++ b/hl/test/CMakeLists.txt
@@ -22,8 +22,8 @@ INCLUDE_DIRECTORIES (${HDF5_TEST_SRC_DIR})
# --------------------------------------------------------------------
MACRO (HL_ADD_EXE hl_name)
add_executable (hl_${hl_name} ${hl_name}.c)
- TARGET_NAMING (hl_${hl_name} ${LIB_TYPE})
- TARGET_C_PROPERTIES (hl_${hl_name} ${LIB_TYPE} " " " ")
+ TARGET_NAMING (hl_${hl_name} STATIC)
+ TARGET_C_PROPERTIES (hl_${hl_name} STATIC " " " ")
target_link_libraries (hl_${hl_name}
${HDF5_HL_LIB_TARGET}
${HDF5_LIB_TARGET}
@@ -32,6 +32,18 @@ MACRO (HL_ADD_EXE hl_name)
set_target_properties (hl_${hl_name} PROPERTIES FOLDER test/hl)
ENDMACRO (HL_ADD_EXE)
+MACRO (HL_ADD_SHEXE hl_name)
+ add_executable (hl_${hl_name} ${hl_name}.c)
+ TARGET_NAMING (hl_${hl_name} SHARED)
+ TARGET_C_PROPERTIES (hl_${hl_name} SHARED " " " ")
+ target_link_libraries (hl_${hl_name}
+ ${HDF5_HL_LIBSH_TARGET}
+ ${HDF5_LIBSH_TARGET}
+ ${HDF5_TEST_LIBSH_TARGET}
+ )
+ set_target_properties (hl_${hl_name} PROPERTIES FOLDER test/hl)
+ENDMACRO (HL_ADD_SHEXE)
+
HL_ADD_EXE (test_ds)
HL_ADD_EXE (test_dset_opt)
HL_ADD_EXE (test_image)
@@ -43,7 +55,7 @@ HL_ADD_EXE (test_table)
# This executable is used to generate test files for the test_ds test.
# It should only be run during development when new test files are needed
# --------------------------------------------------------------------
-if (HDF5_BUILD_GENERATORS AND NOT BUILD_SHARED_LIBS)
+if (HDF5_BUILD_GENERATORS)
add_executable (hl_gen_test_ds gen_test_ds.c)
TARGET_NAMING (hl_gen_test_ds STATIC)
TARGET_C_PROPERTIES (hl_gen_test_ds STATIC " " " ")
@@ -53,6 +65,6 @@ if (HDF5_BUILD_GENERATORS AND NOT BUILD_SHARED_LIBS)
${HDF5_TEST_LIB_TARGET}
)
set_target_properties (hl_gen_test_ds PROPERTIES FOLDER test/hl/gen)
-endif (HDF5_BUILD_GENERATORS AND NOT BUILD_SHARED_LIBS)
+endif (HDF5_BUILD_GENERATORS)
include (CMakeTests.cmake)
diff --git a/hl/test/Makefile.in b/hl/test/Makefile.in
index 6fc324b..f55bc3a 100644
--- a/hl/test/Makefile.in
+++ b/hl/test/Makefile.in
@@ -112,7 +112,8 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/aclocal_cxx.m4 \
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(SHELL) $(top_srcdir)/bin/mkinstalldirs
-CONFIG_HEADER = $(top_builddir)/src/H5config.h
+CONFIG_HEADER = $(top_builddir)/src/H5config.h \
+ $(top_builddir)/fortran/src/H5config_f.inc
CONFIG_CLEAN_FILES = H5srcdir_str.h
CONFIG_CLEAN_VPATH_FILES =
am__EXEEXT_1 = test_lite$(EXEEXT) test_image$(EXEEXT) \
@@ -168,7 +169,7 @@ AM_V_at = $(am__v_at_@AM_V@)
am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
am__v_at_0 = @
am__v_at_1 =
-DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/src
+DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/src -I$(top_builddir)/fortran/src
depcomp = $(SHELL) $(top_srcdir)/bin/depcomp
am__depfiles_maybe = depfiles
am__mv = mv -f
@@ -487,14 +488,21 @@ F9XMODEXT = @F9XMODEXT@
F9XMODFLAG = @F9XMODFLAG@
F9XSUFFIXFLAG = @F9XSUFFIXFLAG@
FC = @FC@
-FC2003 = @FC2003@
FCFLAGS = @FCFLAGS@
FCFLAGS_f90 = @FCFLAGS_f90@
FCLIBS = @FCLIBS@
FC_VERSION = @FC_VERSION@
FGREP = @FGREP@
+FORTRAN_C_LONG_DOUBLE_IS_UNIQUE = @FORTRAN_C_LONG_DOUBLE_IS_UNIQUE@
+FORTRAN_HAVE_C_LONG_DOUBLE = @FORTRAN_HAVE_C_LONG_DOUBLE@
+FORTRAN_SIZEOF_LONG_DOUBLE = @FORTRAN_SIZEOF_LONG_DOUBLE@
FSEARCH_DIRS = @FSEARCH_DIRS@
GREP = @GREP@
+H5CONFIG_F_IKIND = @H5CONFIG_F_IKIND@
+H5CONFIG_F_NUM_IKIND = @H5CONFIG_F_NUM_IKIND@
+H5CONFIG_F_NUM_RKIND = @H5CONFIG_F_NUM_RKIND@
+H5CONFIG_F_RKIND = @H5CONFIG_F_RKIND@
+H5CONFIG_F_RKIND_SIZEOF = @H5CONFIG_F_RKIND_SIZEOF@
H5_CFLAGS = @H5_CFLAGS@
H5_CPPFLAGS = @H5_CPPFLAGS@
H5_CXXFLAGS = @H5_CXXFLAGS@
@@ -504,13 +512,12 @@ H5_LDFLAGS = @H5_LDFLAGS@
H5_VERSION = @H5_VERSION@
HADDR_T = @HADDR_T@
HAVE_DMALLOC = @HAVE_DMALLOC@
-HAVE_FORTRAN_2003 = @HAVE_FORTRAN_2003@
+HAVE_Fortran_INTEGER_SIZEOF_16 = @HAVE_Fortran_INTEGER_SIZEOF_16@
HAVE_PTHREAD = @HAVE_PTHREAD@
HDF5_HL = @HDF5_HL@
HDF5_INTERFACES = @HDF5_INTERFACES@
HDF_CXX = @HDF_CXX@
HDF_FORTRAN = @HDF_FORTRAN@
-HDF_FORTRAN2003 = @HDF_FORTRAN2003@
HID_T = @HID_T@
HL = @HL@
HL_FOR = @HL_FOR@
@@ -552,9 +559,20 @@ PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
+PAC_C_MAX_REAL_PRECISION = @PAC_C_MAX_REAL_PRECISION@
+PAC_FC_ALL_INTEGER_KINDS = @PAC_FC_ALL_INTEGER_KINDS@
+PAC_FC_ALL_INTEGER_KINDS_SIZEOF = @PAC_FC_ALL_INTEGER_KINDS_SIZEOF@
+PAC_FC_ALL_REAL_KINDS = @PAC_FC_ALL_REAL_KINDS@
+PAC_FC_ALL_REAL_KINDS_SIZEOF = @PAC_FC_ALL_REAL_KINDS_SIZEOF@
+PAC_FC_MAX_REAL_PRECISION = @PAC_FC_MAX_REAL_PRECISION@
+PAC_FORTRAN_NATIVE_DOUBLE_KIND = @PAC_FORTRAN_NATIVE_DOUBLE_KIND@
+PAC_FORTRAN_NATIVE_DOUBLE_SIZEOF = @PAC_FORTRAN_NATIVE_DOUBLE_SIZEOF@
+PAC_FORTRAN_NATIVE_INTEGER_KIND = @PAC_FORTRAN_NATIVE_INTEGER_KIND@
+PAC_FORTRAN_NATIVE_INTEGER_SIZEOF = @PAC_FORTRAN_NATIVE_INTEGER_SIZEOF@
+PAC_FORTRAN_NATIVE_REAL_KIND = @PAC_FORTRAN_NATIVE_REAL_KIND@
+PAC_FORTRAN_NATIVE_REAL_SIZEOF = @PAC_FORTRAN_NATIVE_REAL_SIZEOF@
PARALLEL = @PARALLEL@
PATH_SEPARATOR = @PATH_SEPARATOR@
-PERL = @PERL@
RANLIB = @RANLIB@
ROOT = @ROOT@
RUNPARALLEL = @RUNPARALLEL@
diff --git a/hl/tools/CMakeLists.txt b/hl/tools/CMakeLists.txt
index c9017f3..73d1f22 100644
--- a/hl/tools/CMakeLists.txt
+++ b/hl/tools/CMakeLists.txt
@@ -18,8 +18,8 @@ INCLUDE_DIRECTORIES (${HDF5_TOOLS_SRC_DIR}/lib)
INCLUDE_DIRECTORIES (${HDF5_HL_TOOLS_SOURCE_DIR}/gif2h5)
add_executable (gif2h5 ${GIF2H5_SRCS})
-TARGET_NAMING (gif2h5 ${LIB_TYPE})
-TARGET_C_PROPERTIES (gif2h5 ${LIB_TYPE} " " " ")
+TARGET_NAMING (gif2h5 STATIC)
+TARGET_C_PROPERTIES (gif2h5 STATIC " " " ")
target_link_libraries (gif2h5 ${HDF5_HL_LIB_TARGET} ${HDF5_LIB_TARGET} ${HDF5_TOOLS_LIB_TARGET})
set_target_properties (gif2h5 PROPERTIES FOLDER tools/hl)
@@ -29,8 +29,8 @@ set (hdf2gif_SRCS
${HDF5_HL_TOOLS_SOURCE_DIR}/gif2h5/hdfgifwr.c
)
add_executable (h52gif ${hdf2gif_SRCS})
-TARGET_NAMING (h52gif ${LIB_TYPE})
-TARGET_C_PROPERTIES (h52gif ${LIB_TYPE} " " " ")
+TARGET_NAMING (h52gif STATIC)
+TARGET_C_PROPERTIES (h52gif STATIC " " " ")
target_link_libraries (h52gif ${HDF5_HL_LIB_TARGET} ${HDF5_LIB_TARGET} ${HDF5_TOOLS_LIB_TARGET})
set_target_properties (h52gif PROPERTIES FOLDER tools/hl)
@@ -40,15 +40,15 @@ if (BUILD_TESTING)
# used in the CMake Build system as we rely on the test files that are
# shipped with HDF5 source archives
# --------------------------------------------------------------------
- if (HDF5_BUILD_GENERATORS AND NOT BUILD_SHARED_LIBS)
+ if (HDF5_BUILD_GENERATORS)
add_executable (hl_h52gifgentest ${HDF5_HL_TOOLS_SOURCE_DIR}/gif2h5/h52gifgentst.c)
TARGET_NAMING (hl_h52gifgentest STATIC)
TARGET_C_PROPERTIES (hl_h52gifgentest STATIC " " " ")
target_link_libraries (hl_h52gifgentest ${HDF5_HL_LIB_TARGET} ${HDF5_LIB_TARGET})
set_target_properties (hl_h52gifgentest PROPERTIES FOLDER generator/tools/hl)
-
+
# add_test (NAME hl_h52gifgentest COMMAND $<TARGET_FILE:hl_h52gifgentest>)
- endif (HDF5_BUILD_GENERATORS AND NOT BUILD_SHARED_LIBS)
+ endif (HDF5_BUILD_GENERATORS)
include (CMakeTests.cmake)
endif (BUILD_TESTING)
diff --git a/hl/tools/Makefile.in b/hl/tools/Makefile.in
index 77049d3..d42f55c 100644
--- a/hl/tools/Makefile.in
+++ b/hl/tools/Makefile.in
@@ -106,7 +106,8 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/aclocal_cxx.m4 \
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(SHELL) $(top_srcdir)/bin/mkinstalldirs
-CONFIG_HEADER = $(top_builddir)/src/H5config.h
+CONFIG_HEADER = $(top_builddir)/src/H5config.h \
+ $(top_builddir)/fortran/src/H5config_f.inc
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
AM_V_P = $(am__v_P_@AM_V@)
@@ -449,14 +450,21 @@ F9XMODEXT = @F9XMODEXT@
F9XMODFLAG = @F9XMODFLAG@
F9XSUFFIXFLAG = @F9XSUFFIXFLAG@
FC = @FC@
-FC2003 = @FC2003@
FCFLAGS = @FCFLAGS@
FCFLAGS_f90 = @FCFLAGS_f90@
FCLIBS = @FCLIBS@
FC_VERSION = @FC_VERSION@
FGREP = @FGREP@
+FORTRAN_C_LONG_DOUBLE_IS_UNIQUE = @FORTRAN_C_LONG_DOUBLE_IS_UNIQUE@
+FORTRAN_HAVE_C_LONG_DOUBLE = @FORTRAN_HAVE_C_LONG_DOUBLE@
+FORTRAN_SIZEOF_LONG_DOUBLE = @FORTRAN_SIZEOF_LONG_DOUBLE@
FSEARCH_DIRS = @FSEARCH_DIRS@
GREP = @GREP@
+H5CONFIG_F_IKIND = @H5CONFIG_F_IKIND@
+H5CONFIG_F_NUM_IKIND = @H5CONFIG_F_NUM_IKIND@
+H5CONFIG_F_NUM_RKIND = @H5CONFIG_F_NUM_RKIND@
+H5CONFIG_F_RKIND = @H5CONFIG_F_RKIND@
+H5CONFIG_F_RKIND_SIZEOF = @H5CONFIG_F_RKIND_SIZEOF@
H5_CFLAGS = @H5_CFLAGS@
H5_CPPFLAGS = @H5_CPPFLAGS@
H5_CXXFLAGS = @H5_CXXFLAGS@
@@ -466,13 +474,12 @@ H5_LDFLAGS = @H5_LDFLAGS@
H5_VERSION = @H5_VERSION@
HADDR_T = @HADDR_T@
HAVE_DMALLOC = @HAVE_DMALLOC@
-HAVE_FORTRAN_2003 = @HAVE_FORTRAN_2003@
+HAVE_Fortran_INTEGER_SIZEOF_16 = @HAVE_Fortran_INTEGER_SIZEOF_16@
HAVE_PTHREAD = @HAVE_PTHREAD@
HDF5_HL = @HDF5_HL@
HDF5_INTERFACES = @HDF5_INTERFACES@
HDF_CXX = @HDF_CXX@
HDF_FORTRAN = @HDF_FORTRAN@
-HDF_FORTRAN2003 = @HDF_FORTRAN2003@
HID_T = @HID_T@
HL = @HL@
HL_FOR = @HL_FOR@
@@ -514,9 +521,20 @@ PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
+PAC_C_MAX_REAL_PRECISION = @PAC_C_MAX_REAL_PRECISION@
+PAC_FC_ALL_INTEGER_KINDS = @PAC_FC_ALL_INTEGER_KINDS@
+PAC_FC_ALL_INTEGER_KINDS_SIZEOF = @PAC_FC_ALL_INTEGER_KINDS_SIZEOF@
+PAC_FC_ALL_REAL_KINDS = @PAC_FC_ALL_REAL_KINDS@
+PAC_FC_ALL_REAL_KINDS_SIZEOF = @PAC_FC_ALL_REAL_KINDS_SIZEOF@
+PAC_FC_MAX_REAL_PRECISION = @PAC_FC_MAX_REAL_PRECISION@
+PAC_FORTRAN_NATIVE_DOUBLE_KIND = @PAC_FORTRAN_NATIVE_DOUBLE_KIND@
+PAC_FORTRAN_NATIVE_DOUBLE_SIZEOF = @PAC_FORTRAN_NATIVE_DOUBLE_SIZEOF@
+PAC_FORTRAN_NATIVE_INTEGER_KIND = @PAC_FORTRAN_NATIVE_INTEGER_KIND@
+PAC_FORTRAN_NATIVE_INTEGER_SIZEOF = @PAC_FORTRAN_NATIVE_INTEGER_SIZEOF@
+PAC_FORTRAN_NATIVE_REAL_KIND = @PAC_FORTRAN_NATIVE_REAL_KIND@
+PAC_FORTRAN_NATIVE_REAL_SIZEOF = @PAC_FORTRAN_NATIVE_REAL_SIZEOF@
PARALLEL = @PARALLEL@
PATH_SEPARATOR = @PATH_SEPARATOR@
-PERL = @PERL@
RANLIB = @RANLIB@
ROOT = @ROOT@
RUNPARALLEL = @RUNPARALLEL@
diff --git a/hl/tools/gif2h5/Makefile.in b/hl/tools/gif2h5/Makefile.in
index 3da84e1..5dda20f 100644
--- a/hl/tools/gif2h5/Makefile.in
+++ b/hl/tools/gif2h5/Makefile.in
@@ -110,7 +110,8 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/aclocal_cxx.m4 \
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(SHELL) $(top_srcdir)/bin/mkinstalldirs
-CONFIG_HEADER = $(top_builddir)/src/H5config.h
+CONFIG_HEADER = $(top_builddir)/src/H5config.h \
+ $(top_builddir)/fortran/src/H5config_f.inc
CONFIG_CLEAN_FILES = h52giftest.sh
CONFIG_CLEAN_VPATH_FILES =
am__installdirs = "$(DESTDIR)$(bindir)"
@@ -150,7 +151,7 @@ AM_V_at = $(am__v_at_@AM_V@)
am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
am__v_at_0 = @
am__v_at_1 =
-DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/src
+DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/src -I$(top_builddir)/fortran/src
depcomp = $(SHELL) $(top_srcdir)/bin/depcomp
am__depfiles_maybe = depfiles
am__mv = mv -f
@@ -463,14 +464,21 @@ F9XMODEXT = @F9XMODEXT@
F9XMODFLAG = @F9XMODFLAG@
F9XSUFFIXFLAG = @F9XSUFFIXFLAG@
FC = @FC@
-FC2003 = @FC2003@
FCFLAGS = @FCFLAGS@
FCFLAGS_f90 = @FCFLAGS_f90@
FCLIBS = @FCLIBS@
FC_VERSION = @FC_VERSION@
FGREP = @FGREP@
+FORTRAN_C_LONG_DOUBLE_IS_UNIQUE = @FORTRAN_C_LONG_DOUBLE_IS_UNIQUE@
+FORTRAN_HAVE_C_LONG_DOUBLE = @FORTRAN_HAVE_C_LONG_DOUBLE@
+FORTRAN_SIZEOF_LONG_DOUBLE = @FORTRAN_SIZEOF_LONG_DOUBLE@
FSEARCH_DIRS = @FSEARCH_DIRS@
GREP = @GREP@
+H5CONFIG_F_IKIND = @H5CONFIG_F_IKIND@
+H5CONFIG_F_NUM_IKIND = @H5CONFIG_F_NUM_IKIND@
+H5CONFIG_F_NUM_RKIND = @H5CONFIG_F_NUM_RKIND@
+H5CONFIG_F_RKIND = @H5CONFIG_F_RKIND@
+H5CONFIG_F_RKIND_SIZEOF = @H5CONFIG_F_RKIND_SIZEOF@
H5_CFLAGS = @H5_CFLAGS@
H5_CPPFLAGS = @H5_CPPFLAGS@
H5_CXXFLAGS = @H5_CXXFLAGS@
@@ -480,13 +488,12 @@ H5_LDFLAGS = @H5_LDFLAGS@
H5_VERSION = @H5_VERSION@
HADDR_T = @HADDR_T@
HAVE_DMALLOC = @HAVE_DMALLOC@
-HAVE_FORTRAN_2003 = @HAVE_FORTRAN_2003@
+HAVE_Fortran_INTEGER_SIZEOF_16 = @HAVE_Fortran_INTEGER_SIZEOF_16@
HAVE_PTHREAD = @HAVE_PTHREAD@
HDF5_HL = @HDF5_HL@
HDF5_INTERFACES = @HDF5_INTERFACES@
HDF_CXX = @HDF_CXX@
HDF_FORTRAN = @HDF_FORTRAN@
-HDF_FORTRAN2003 = @HDF_FORTRAN2003@
HID_T = @HID_T@
HL = @HL@
HL_FOR = @HL_FOR@
@@ -528,9 +535,20 @@ PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
+PAC_C_MAX_REAL_PRECISION = @PAC_C_MAX_REAL_PRECISION@
+PAC_FC_ALL_INTEGER_KINDS = @PAC_FC_ALL_INTEGER_KINDS@
+PAC_FC_ALL_INTEGER_KINDS_SIZEOF = @PAC_FC_ALL_INTEGER_KINDS_SIZEOF@
+PAC_FC_ALL_REAL_KINDS = @PAC_FC_ALL_REAL_KINDS@
+PAC_FC_ALL_REAL_KINDS_SIZEOF = @PAC_FC_ALL_REAL_KINDS_SIZEOF@
+PAC_FC_MAX_REAL_PRECISION = @PAC_FC_MAX_REAL_PRECISION@
+PAC_FORTRAN_NATIVE_DOUBLE_KIND = @PAC_FORTRAN_NATIVE_DOUBLE_KIND@
+PAC_FORTRAN_NATIVE_DOUBLE_SIZEOF = @PAC_FORTRAN_NATIVE_DOUBLE_SIZEOF@
+PAC_FORTRAN_NATIVE_INTEGER_KIND = @PAC_FORTRAN_NATIVE_INTEGER_KIND@
+PAC_FORTRAN_NATIVE_INTEGER_SIZEOF = @PAC_FORTRAN_NATIVE_INTEGER_SIZEOF@
+PAC_FORTRAN_NATIVE_REAL_KIND = @PAC_FORTRAN_NATIVE_REAL_KIND@
+PAC_FORTRAN_NATIVE_REAL_SIZEOF = @PAC_FORTRAN_NATIVE_REAL_SIZEOF@
PARALLEL = @PARALLEL@
PATH_SEPARATOR = @PATH_SEPARATOR@
-PERL = @PERL@
RANLIB = @RANLIB@
ROOT = @ROOT@
RUNPARALLEL = @RUNPARALLEL@
diff --git a/m4/aclocal_fc.m4 b/m4/aclocal_fc.m4
index cda2fee..6d32f10 100644
--- a/m4/aclocal_fc.m4
+++ b/m4/aclocal_fc.m4
@@ -63,6 +63,20 @@ dnl was required" problem when libtool is also used
dnl [1] MPICH.org
dnl
+dnl See if the fortran compiler supports the intrinsic module "ISO_FORTRAN_ENV"
+
+AC_DEFUN([PAC_PROG_FC_ISO_FORTRAN_ENV],[
+ HAVE_ISO_FORTRAN_ENV="no"
+ AC_MSG_CHECKING([if Fortran compiler supports intrinsic module ISO_FORTRAN_ENV])
+ AC_LINK_IFELSE([AC_LANG_SOURCE([
+ PROGRAM main
+ USE, INTRINSIC :: ISO_FORTRAN_ENV
+ END PROGRAM
+ ])],[AC_MSG_RESULT([yes])
+ HAVE_ISO_FORTRAN_ENV="yes"],
+ [AC_MSG_RESULT([no])])
+])
+
dnl See if the fortran compiler supports the intrinsic function "SIZEOF"
AC_DEFUN([PAC_PROG_FC_SIZEOF],[
@@ -111,38 +125,56 @@ AC_DEFUN([PAC_PROG_FC_STORAGE_SIZE],[
])
-dnl Check to see if -r8 was specified to determine if we need to
-dnl compile the DOUBLE PRECISION interfaces.
+dnl Check to see C_LONG_DOUBLE is available
+
+AC_DEFUN([PAC_PROG_FC_HAVE_C_LONG_DOUBLE],[
+ HAVE_C_LONG_DOUBLE_FORTRAN="no"
+ AC_MSG_CHECKING([if Fortran compiler supports intrinsic C_LONG_DOUBLE])
+ AC_LINK_IFELSE([AC_LANG_SOURCE([
+ PROGRAM main
+ USE ISO_C_BINDING
+ REAL(KIND=C_LONG_DOUBLE) :: d
+ END PROGRAM
+ ])], [AC_MSG_RESULT([yes])
+ HAVE_C_LONG_DOUBLE_FORTRAN="yes"],
+ [AC_MSG_RESULT([no])])
+])
+
+dnl Check if C_LONG_DOUBLE is different from C_DOUBLE
-AC_DEFUN([PAC_PROG_FC_DEFAULT_REALisDBLE],[
- FORTRAN_DEFAULT_REALisDBLE="no"
- AC_MSG_CHECKING([if Fortran default REAL is DOUBLE PRECISION])
+if test "X$FORTRAN_HAVE_C_LONG_DOUBLE" = "Xyes"; then
+AC_DEFUN([PAC_PROG_FC_C_LONG_DOUBLE_EQ_C_DOUBLE],[
+ C_LONG_DOUBLE_IS_UNIQUE_FORTRAN="no"
+ AC_MSG_CHECKING([if Fortran C_LONG_DOUBLE is different from C_DOUBLE])
AC_COMPILE_IFELSE([AC_LANG_SOURCE([
MODULE type_mod
+ USE ISO_C_BINDING
INTERFACE h5t
- MODULE PROCEDURE h5t_real
- MODULE PROCEDURE h5t_dble
+ MODULE PROCEDURE h5t_c_double
+ MODULE PROCEDURE h5t_c_long_double
END INTERFACE
CONTAINS
- SUBROUTINE h5t_real(r)
- REAL :: r
- END SUBROUTINE h5t_real
- SUBROUTINE h5t_dble(d)
- DOUBLE PRECISION :: d
- END SUBROUTINE h5t_dble
+ SUBROUTINE h5t_c_double(r)
+ REAL(KIND=C_DOUBLE) :: r
+ END SUBROUTINE h5t_c_double
+ SUBROUTINE h5t_c_long_double(d)
+ REAL(KIND=C_LONG_DOUBLE) :: d
+ END SUBROUTINE h5t_c_long_double
END MODULE type_mod
PROGRAM main
+ USE ISO_C_BINDING
USE type_mod
- REAL :: r
- DOUBLE PRECISION :: d
+ REAL(KIND=C_DOUBLE) :: r
+ REAL(KIND=C_LONG_DOUBLE) :: d
CALL h5t(r)
CALL h5t(d)
END PROGRAM main
- ])], [AC_MSG_RESULT([no])],
- [AC_MSG_RESULT([yes])
- FORTRAN_DEFAULT_REALisDBLE="yes"])
+ ])], [AC_MSG_RESULT([yes])
+ C_LONG_DOUBLE_IS_UNIQUE_FORTRAN="yes"],
+ [AC_MSG_RESULT([no])])
])
+fi
dnl Checking if the compiler supports the required Fortran 2003 features and
dnl disable Fortran 2003 if it does not.
@@ -152,7 +184,6 @@ AC_DEFUN([PAC_PROG_FC_HAVE_F2003_REQUIREMENTS],[
dnl --------------------------------------------------------------------
dnl Default for FORTRAN 2003 compliant compilers
dnl
- HAVE_FORTRAN_2003="no"
HAVE_F2003_REQUIREMENTS="no"
AC_LINK_IFELSE([AC_LANG_PROGRAM([],[
@@ -280,4 +311,280 @@ dnl Try link a simple MPI program.
dnl Change to the C language
AC_LANG_POP(Fortran)
])
+
+dnl ------------------------------------------------------
+dnl Determine the available KINDs for REALs and INTEGERs
+dnl ------------------------------------------------------
+dnl
+dnl This is a runtime test.
+dnl
+AC_DEFUN([PAC_FC_AVAIL_KINDS],[
+AC_LANG_PUSH([Fortran])
+rm -f pac_fconftest.out
+
+AC_RUN_IFELSE([
+ AC_LANG_SOURCE([
+ PROGRAM main
+ IMPLICIT NONE
+ INTEGER :: ik, k, lastkind, max_decimal_prec
+ INTEGER :: num_rkinds, num_ikinds
+ num_ikinds = 0
+ lastkind=SELECTED_INT_KIND(1)
+ OPEN(8, FILE='pac_fconftest.out', form='formatted')
+ ! Find integer KINDs
+ DO ik=2,36
+ k = SELECTED_INT_KIND(ik)
+ IF (k .NE. lastkind) THEN
+ num_ikinds = num_ikinds + 1
+ WRITE(8,'(I0)',ADVANCE='NO') lastkind
+ lastkind = k
+ IF(k.GT.0) WRITE(8,'(A)',ADVANCE='NO') ','
+ ENDIF
+ IF (k .LE. 0) EXIT
+ ENDDO
+ IF (lastkind.NE.-1) THEN
+ num_ikinds = num_ikinds + 1
+ WRITE(8,'(I0)') lastkind
+ ELSE
+ WRITE(8,'()')
+ ENDIF
+ ! Find real KINDs
+ num_rkinds = 0
+ lastkind=SELECTED_REAL_KIND(1)
+ max_decimal_prec = 1
+ DO ik=2,36
+ k = SELECTED_REAL_KIND(ik)
+ IF (k .NE. lastkind) THEN
+ num_rkinds = num_rkinds + 1
+ WRITE(8,'(I0)',ADVANCE='NO') lastkind
+ lastkind = k
+ IF(k.GT.0) WRITE(8,'(A)',ADVANCE='NO') ','
+ max_decimal_prec = ik
+ ENDIF
+ IF (k .LE. 0) EXIT
+ ENDDO
+ IF (lastkind.NE.-1)THEN
+ num_rkinds = num_rkinds + 1
+ WRITE(8,'(I0)') lastkind
+ ELSE
+ WRITE(8,'()')
+ ENDIF
+ WRITE(8,'(I0)') max_decimal_prec
+ WRITE(8,'(I0)') num_ikinds
+ WRITE(8,'(I0)') num_rkinds
+ END
+ ])
+],[
+ if test -s pac_fconftest.out ; then
+ dnl The output from the above program will be:
+ dnl -- LINE 1 -- valid integer kinds (comma seperated list)
+ dnl -- LINE 2 -- valid real kinds (comma seperated list)
+ dnl -- LINE 3 -- max decimal precision for reals
+ dnl -- LINE 4 -- number of valid integer kinds
+ dnl -- LINE 5 -- number of valid real kinds
+
+ pac_validIntKinds="`sed -n '1p' pac_fconftest.out`"
+ pac_validRealKinds="`sed -n '2p' pac_fconftest.out`"
+ PAC_FC_MAX_REAL_PRECISION="`sed -n '3p' pac_fconftest.out`"
+ AC_DEFINE_UNQUOTED([PAC_FC_MAX_REAL_PRECISION], $PAC_FC_MAX_REAL_PRECISION, [Define Fortran Maximum Real Decimal Precision])
+
+ PAC_FC_ALL_INTEGER_KINDS="{`echo $pac_validIntKinds`}"
+ PAC_FC_ALL_REAL_KINDS="{`echo $pac_validRealKinds`}"
+
+ H5CONFIG_F_NUM_IKIND="INTEGER, PARAMETER :: num_ikinds = `sed -n '4p' pac_fconftest.out`"
+ H5CONFIG_F_IKIND="INTEGER, DIMENSION(1:num_ikinds) :: ikind = (/`echo $pac_validIntKinds`/)"
+ H5CONFIG_F_NUM_RKIND="INTEGER, PARAMETER :: num_rkinds = `sed -n '5p' pac_fconftest.out`"
+ H5CONFIG_F_RKIND="INTEGER, DIMENSION(1:num_rkinds) :: rkind = (/`echo $pac_validRealKinds`/)"
+
+ AC_DEFINE_UNQUOTED([H5CONFIG_F_NUM_RKIND], $H5CONFIG_F_NUM_RKIND, [Define number of valid Fortran REAL KINDs])
+ AC_DEFINE_UNQUOTED([H5CONFIG_F_NUM_IKIND], $H5CONFIG_F_NUM_IKIND, [Define number of valid Fortran INTEGER KINDs])
+ AC_DEFINE_UNQUOTED([H5CONFIG_F_RKIND], $H5CONFIG_F_RKIND, [Define valid Fortran REAL KINDs])
+ AC_DEFINE_UNQUOTED([H5CONFIG_F_IKIND], $H5CONFIG_F_IKIND, [Define valid Fortran INTEGER KINDs])
+
+ AC_MSG_CHECKING([for Fortran INTEGER KINDs])
+ AC_MSG_RESULT([$PAC_FC_ALL_INTEGER_KINDS])
+ AC_MSG_CHECKING([for Fortran REAL KINDs])
+ AC_MSG_RESULT([$PAC_FC_ALL_REAL_KINDS])
+ AC_MSG_CHECKING([for Fortran REALs maximum decimal precision])
+ AC_MSG_RESULT([$PAC_FC_MAX_REAL_PRECISION])
+ else
+ AC_MSG_RESULT([Error])
+ AC_MSG_WARN([No output from test program!])
+ fi
+ rm -f pac_fconftest.out
+],[
+ AC_MSG_RESULT([Error])
+ AC_MSG_WARN([Failed to run program to determine available KINDs])
+],[])
+
+AC_LANG_POP([Fortran])
+])
+AC_DEFUN([PAC_FC_SIZEOF_INT_KINDS],[
+AC_REQUIRE([PAC_FC_AVAIL_KINDS])
+AC_MSG_CHECKING([sizeof of available INTEGER KINDs])
+AC_LANG_PUSH([Fortran])
+pack_int_sizeof=""
+rm -f pac_fconftest.out
+
+for kind in `echo $pac_validIntKinds | sed -e 's/,/ /g'`; do
+ AC_LANG_CONFTEST([
+ AC_LANG_SOURCE([
+ PROGRAM main
+ USE ISO_C_BINDING
+ IMPLICIT NONE
+ INTEGER (KIND=$kind) a
+ OPEN(8, FILE='pac_fconftest.out', FORM='formatted')
+ WRITE(8,'(I0)') $FC_SIZEOF_A
+ CLOSE(8)
+ END
+ ])
+ ])
+ AC_RUN_IFELSE([],[
+ if test -s pac_fconftest.out ; then
+ sizes="`cat pac_fconftest.out`"
+ pack_int_sizeof="$pack_int_sizeof $sizes,"
+ else
+ AC_MSG_WARN([No output from test program!])
+ fi
+ rm -f pac_fconftest.out
+ ],[
+ AC_MSG_WARN([Fortran program fails to build or run!])
+ ],[
+ pack_int_sizeof="$2"
+ ])
+done
+PAC_FC_ALL_INTEGER_KINDS_SIZEOF="{`echo $pack_int_sizeof | sed -e 's/,$//' | sed -e 's/ //g'`}"
+AC_MSG_RESULT([$PAC_FC_ALL_INTEGER_KINDS_SIZEOF])
+AC_LANG_POP([Fortran])
+])
+
+AC_DEFUN([PAC_FC_SIZEOF_REAL_KINDS],[
+AC_REQUIRE([PAC_FC_AVAIL_KINDS])
+AC_MSG_CHECKING([sizeof of available REAL KINDs])
+AC_LANG_PUSH([Fortran])
+pack_real_sizeof=""
+rm -f pac_fconftest.out
+for kind in `echo $pac_validRealKinds | sed -e 's/,/ /g'`; do
+ AC_LANG_CONFTEST([
+ AC_LANG_SOURCE([
+ PROGRAM main
+ USE ISO_C_BINDING
+ IMPLICIT NONE
+ REAL (KIND=$kind) :: a
+ OPEN(8, FILE='pac_fconftest.out', FORM='formatted')
+ WRITE(8,'(I0)') $FC_SIZEOF_A
+ CLOSE(8)
+ END
+ ])
+ ])
+ AC_RUN_IFELSE([],[
+ if test -s pac_fconftest.out ; then
+ sizes="`cat pac_fconftest.out`"
+ pack_real_sizeof="$pack_real_sizeof $sizes,"
+ else
+ AC_MSG_WARN([No output from test program!])
+ fi
+ rm -f pac_fconftest.out
+ ],[
+ AC_MSG_WARN([Fortran program fails to build or run!])
+ ],[
+ pack_real_sizeof="$2"
+ ])
+done
+PAC_FC_ALL_REAL_KINDS_SIZEOF="{`echo $pack_real_sizeof | sed -e 's/,$//' | sed -e 's/ //g'`}"
+AC_MSG_RESULT([$PAC_FC_ALL_REAL_KINDS_SIZEOF])
+AC_LANG_POP([Fortran])
+])
+
+AC_DEFUN([PAC_FC_NATIVE_INTEGER],[
+AC_REQUIRE([PAC_FC_AVAIL_KINDS])
+AC_MSG_CHECKING([sizeof of native KINDS])
+AC_LANG_PUSH([Fortran])
+pack_int_sizeof=""
+rm -f pac_fconftest.out
+ AC_LANG_CONFTEST([
+ AC_LANG_SOURCE([
+ PROGRAM main
+ USE ISO_C_BINDING
+ IMPLICIT NONE
+ INTEGER a
+ REAL b
+ DOUBLE PRECISION c
+ OPEN(8, FILE='pac_fconftest.out', FORM='formatted')
+ WRITE(8,*) $FC_SIZEOF_A
+ WRITE(8,*) kind(a)
+ WRITE(8,*) $FC_SIZEOF_B
+ WRITE(8,*) kind(b)
+ WRITE(8,*) $FC_SIZEOF_C
+ WRITE(8,*) kind(c)
+ CLOSE(8)
+ END
+ ])
+ ])
+ AC_RUN_IFELSE([],[
+ if test -s pac_fconftest.out ; then
+ PAC_FORTRAN_NATIVE_INTEGER_KIND="`sed -n '1p' pac_fconftest.out`"
+ PAC_FORTRAN_NATIVE_INTEGER_SIZEOF="`sed -n '2p' pac_fconftest.out`"
+ PAC_FORTRAN_NATIVE_REAL_KIND="`sed -n '3p' pac_fconftest.out`"
+ PAC_FORTRAN_NATIVE_REAL_SIZEOF="`sed -n '4p' pac_fconftest.out`"
+ PAC_FORTRAN_NATIVE_DOUBLE_KIND="`sed -n '5p' pac_fconftest.out`"
+ PAC_FORTRAN_NATIVE_DOUBLE_SIZEOF="`sed -n '6p' pac_fconftest.out`"
+ else
+ AC_MSG_WARN([No output from test program!])
+ fi
+ rm -f pac_fconftest.out
+ ],[
+ AC_MSG_WARN([Fortran program fails to build or run!])
+ ],[
+ pack_int_sizeof="$2"
+ ])
+AC_MSG_RESULT([$pack_int_sizeof])
+AC_LANG_POP([Fortran])
+])
+
+AC_DEFUN([PAC_FC_LDBL_DIG],[
+AC_MSG_CHECKING([maximum decimal precision for C])
+rm -f pac_Cconftest.out
+ AC_LANG_CONFTEST([
+ AC_LANG_PROGRAM([
+ #include <float.h>
+ #include <stdio.h>
+ #define CHECK_FLOAT128 $ac_cv_sizeof___float128
+ #if CHECK_FLOAT128!=0
+ # if $HAVE_QUADMATH!=0
+ #include <quadmath.h>
+ # endif
+ # ifdef FLT128_DIG
+ #define C_FLT128_DIG FLT128_DIG
+ # else
+ #define C_FLT128_DIG 0
+ # endif
+ #else
+ #define C_FLT128_DIG 0
+ #endif
+ #if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
+ #define C_LDBL_DIG DECIMAL_DIG
+ #else
+ #define C_LDBL_DIG LDBL_DIG
+ #endif
+ ],[[
+ FILE * pFile;
+ pFile = fopen("pac_Cconftest.out","w");
+ fprintf(pFile, "%d\n%d\n", C_LDBL_DIG, C_FLT128_DIG);
+ ]])
+ ])
+ AC_RUN_IFELSE([],[
+ if test -s pac_Cconftest.out ; then
+ LDBL_DIG="`sed -n '1p' pac_Cconftest.out`"
+ FLT128_DIG="`sed -n '2p' pac_Cconftest.out`"
+ else
+ AC_MSG_WARN([No output from test program!])
+ fi
+ rm -f pac_Cconftest.out
+ ],[
+ AC_MSG_ERROR([C program fails to build or run!])
+ ],[])
+])
+
+
diff --git a/release_docs/INSTALL_VMS.txt b/release_docs/INSTALL_VMS.txt
deleted file mode 100644
index c2a1463..0000000
--- a/release_docs/INSTALL_VMS.txt
+++ /dev/null
@@ -1,77 +0,0 @@
- Building and installation instructions for Alpha Open VMS
- HDF5 1.8.6 release
- 18 February 2011
-
-
-
- CONTENTS
- --------
-
- 1. Obtaining HDF5
- 2. Building and testing HDF5 C, Fortran and C++ libraries,
- and utilities
- 3. Installing HDF5 libraries
- 4. Known problems
-
-
- 1.Obtaining HDF5
-
- Please see INSTALL file in this directory for downloading instructions.
-
- 2. Building and testing HDF5 C, Fortran and C++ libraries and utilities.
-
- IMPORTANT: This version REQUIRES GNU ZLIB library to be installed
- on a system. You may download the source code from
- http://www.zlib.net/
-
- - Use tar command to untar HDF5 source ball
-
- tar -xvf <source>.tar
-
- - Change default directory to [.<source>.vms]
- - Specify top HDF5 source directory in the build.com file
- - Edit make.com:
- specify path to ZLIB library
- if necessary, modify compilation flags
- Do NOT REMOVE /define=H5_VMS and /standard=strict_ansi qualifiers.
- - Run build.com command file
- @build
- We recommend using batch queue to build and test this distribution.
- The command file runs make.com and builds
- C library, tests, and utilities
- Fortran library and tests
- C++ library and tests
- It also runs test scripts to test C, Fortran and C++ libraries, and
- h5dump, h5diff, h5ls, h5repack and h5import utilities.
-
- 3. Installing HDF5 libraries
-
- Modify install.com file to specify installation directory and run
- @install
- to install HDF5 C, Fortran, and C++ libraries, and utilities.
- The script will create the directories shown below in the
- installation directory:
-
- [.HDF5]...
- [.HDF5.INCLUDE]
- [.HDF5.LIB]
- [.HDF5.BIN]
- [.HDF5.EXAMPLES]
- [.HDF5.EXAMPLES.C]
- [.HDF5.EXAMPLES.F90]
- [.HDF5.EXAMPLES.CXX]
-
- [.HDF5.EXAMPLES.*] directories contain make.com and check.com files
- to build examples against the installed libraries and to verify
- the installation.
-
- 3. Known problems
-
- - dsets test fails for test_scleoffset_double and
- test_scleoffset_double_2 tests when G_FLOAT double is used
- - There is no support for szip compression filter.
- - Fortran multifile driver test fails; similar C test passes.
-
-
- For help contact help@hdfgroup.org
-
diff --git a/release_docs/RELEASE.txt b/release_docs/RELEASE.txt
index d034cd3..849a340 100644
--- a/release_docs/RELEASE.txt
+++ b/release_docs/RELEASE.txt
@@ -1,4 +1,4 @@
-HDF5 version 1.9.227 currently under development
+HDF5 version 1.9.229 currently under development
================================================================================
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 15626d0..0e555c2 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -803,7 +803,7 @@ add_custom_command (
)
if (GENERATE_ERROR_HEADERS)
- find_pacakge (Perl)
+ find_package (Perl)
if (PERL_FOUND)
add_custom_command (
OUTPUT ${HDF5_BINARY_DIR}/H5Edefin.h
@@ -854,8 +854,8 @@ set_source_files_properties (${HDF5_BINARY_DIR}/H5version.h GENERATED)
set (common_SRCS ${common_SRCS} ${HDF5_BINARY_DIR}/H5overflow.h)
set_source_files_properties (${HDF5_BINARY_DIR}/H5overflow.h GENERATED)
-add_library (${HDF5_LIB_TARGET} ${LIB_TYPE} ${common_SRCS} ${H5_PUBLIC_HEADERS} ${H5_PRIVATE_HEADERS})
-TARGET_C_PROPERTIES (${HDF5_LIB_TARGET} ${LIB_TYPE} " " " ")
+add_library (${HDF5_LIB_TARGET} STATIC ${common_SRCS} ${H5_PUBLIC_HEADERS} ${H5_PRIVATE_HEADERS})
+TARGET_C_PROPERTIES (${HDF5_LIB_TARGET} STATIC " " " ")
target_link_libraries (${HDF5_LIB_TARGET} ${LINK_LIBS})
if (NOT WIN32)
target_link_libraries (${HDF5_LIB_TARGET} dl)
@@ -864,7 +864,7 @@ if (H5_HAVE_PARALLEL AND MPI_C_FOUND)
target_link_libraries (${HDF5_LIB_TARGET} ${MPI_C_LIBRARIES})
endif (H5_HAVE_PARALLEL AND MPI_C_FOUND)
set_global_variable (HDF5_LIBRARIES_TO_EXPORT ${HDF5_LIB_TARGET})
-H5_SET_LIB_OPTIONS (${HDF5_LIB_TARGET} ${HDF5_LIB_NAME} ${LIB_TYPE})
+H5_SET_LIB_OPTIONS (${HDF5_LIB_TARGET} ${HDF5_LIB_NAME} STATIC)
set_target_properties (${HDF5_LIB_TARGET} PROPERTIES
FOLDER libraries
INTERFACE_INCLUDE_DIRECTORIES "$<INSTALL_INTERFACE:$<INSTALL_PREFIX>/include>"
@@ -877,6 +877,41 @@ if (HDF5_ENABLE_DEBUG_APIS)
"H5Z_DEBUG;H5VM_DEBUG;H5T_DEBUG;H5S_DEBUG;H5P_DEBUG;H5O_DEBUG;H5MM_DEBUG;H5MF_DEBUG;H5I_DEBUG;H5HL_DEBUG;H5HG_DEBUG;H5G_DEBUG;H5F_DEBUG;H5E_DEBUG;H5D_DEBUG;H5B_DEBUG;H5AC_DEBUG"
)
endif (HDF5_ENABLE_DEBUG_APIS)
+set (install_targets ${HDF5_LIB_TARGET})
+
+if (BUILD_SHARED_LIBS)
+ add_library (${HDF5_LIBSH_TARGET} SHARED ${common_SRCS} ${H5_PUBLIC_HEADERS} ${H5_PRIVATE_HEADERS})
+ TARGET_C_PROPERTIES (${HDF5_LIBSH_TARGET} SHARED " " " ")
+ target_link_libraries (${HDF5_LIBSH_TARGET} ${LINK_SHARED_LIBS})
+ if (NOT WIN32)
+ target_link_libraries (${HDF5_LIBSH_TARGET} dl)
+ endif (NOT WIN32)
+ if (H5_HAVE_PARALLEL AND MPI_C_FOUND)
+ target_link_libraries (${HDF5_LIBSH_TARGET} ${MPI_C_LIBRARIES})
+ endif (H5_HAVE_PARALLEL AND MPI_C_FOUND)
+ set_global_variable (HDF5_LIBRARIES_TO_EXPORT "${HDF5_LIBRARIES_TO_EXPORT};${HDF5_LIBSH_TARGET}")
+ H5_SET_LIB_OPTIONS (${HDF5_LIBSH_TARGET} ${HDF5_LIB_NAME} SHARED)
+ set_target_properties (${HDF5_LIBSH_TARGET} PROPERTIES
+ FOLDER libraries
+ COMPILE_DEFINITIONS "H5_BUILT_AS_DYNAMIC_LIB"
+ INTERFACE_INCLUDE_DIRECTORIES "$<INSTALL_INTERFACE:$<INSTALL_PREFIX>/include>"
+ INTERFACE_COMPILE_DEFINITIONS H5_BUILT_AS_DYNAMIC_LIB=1
+ )
+ if (HDF5_ENABLE_THREADSAFE)
+ set_property (TARGET ${HDF5_LIBSH_TARGET}
+ APPEND PROPERTY COMPILE_DEFINITIONS
+ "H5_HAVE_THREADSAFE"
+ )
+ endif (HDF5_ENABLE_THREADSAFE)
+
+ if (HDF5_ENABLE_DEBUG_APIS)
+ set_property (TARGET ${HDF5_LIBSH_TARGET}
+ APPEND PROPERTY COMPILE_DEFINITIONS
+ "H5Z_DEBUG;H5VM_DEBUG;H5T_DEBUG;H5S_DEBUG;H5P_DEBUG;H5O_DEBUG;H5MM_DEBUG;H5MF_DEBUG;H5I_DEBUG;H5HL_DEBUG;H5HG_DEBUG;H5G_DEBUG;H5F_DEBUG;H5E_DEBUG;H5D_DEBUG;H5B_DEBUG;H5AC_DEBUG"
+ )
+ endif (HDF5_ENABLE_DEBUG_APIS)
+ set (install_targets ${install_targets} ${HDF5_LIBSH_TARGET})
+endif (BUILD_SHARED_LIBS)
#-----------------------------------------------------------------------------
# Add file(s) to CMake Install
@@ -897,12 +932,12 @@ endif (NOT HDF5_INSTALL_NO_DEVELOPMENT)
#-----------------------------------------------------------------------------
if (HDF5_EXPORTED_TARGETS)
if (BUILD_SHARED_LIBS)
- INSTALL_TARGET_PDB (${HDF5_LIB_TARGET} ${HDF5_INSTALL_BIN_DIR} libraries)
+ INSTALL_TARGET_PDB (${HDF5_LIBSH_TARGET} ${HDF5_INSTALL_BIN_DIR} libraries)
endif (BUILD_SHARED_LIBS)
install (
TARGETS
- ${HDF5_LIB_TARGET}
+ ${install_targets}
EXPORT
${HDF5_EXPORTED_TARGETS}
LIBRARY DESTINATION ${HDF5_INSTALL_LIB_DIR} COMPONENT libraries
diff --git a/src/H5.c b/src/H5.c
index 3d4512f..8563545 100644
--- a/src/H5.c
+++ b/src/H5.c
@@ -21,17 +21,17 @@
/***********/
/* Headers */
/***********/
-#include "H5private.h" /* Generic Functions */
-#include "H5ACprivate.h" /* Metadata cache */
-#include "H5Dprivate.h" /* Datasets */
-#include "H5Eprivate.h" /* Error handling */
-#include "H5FLprivate.h" /* Free lists */
-#include "H5Lprivate.h" /* Links */
+#include "H5private.h" /* Generic Functions */
+#include "H5ACprivate.h" /* Metadata cache */
+#include "H5Dprivate.h" /* Datasets */
+#include "H5Eprivate.h" /* Error handling */
+#include "H5FLprivate.h" /* Free lists */
+#include "H5Lprivate.h" /* Links */
#include "H5MMprivate.h" /* Memory management */
-#include "H5Pprivate.h" /* Property lists */
-#include "H5Tprivate.h" /* Datatypes */
+#include "H5Pprivate.h" /* Property lists */
#include "H5SLprivate.h" /* Skip lists */
-
+#include "H5Tprivate.h" /* Datatypes */
+#include "H5TSprivate.h" /* Thread safety */
/****************/
/* Local Macros */
@@ -973,6 +973,36 @@ H5free_memory(void *mem)
} /* end H5free_memory() */
+/*-------------------------------------------------------------------------
+ * Function: H5is_library_threadsafe
+ *
+ * Purpose: Checks to see if the library was built with thread-safety
+ * enabled.
+ *
+ * Return: SUCCEED/FAIL
+ *
+ *-------------------------------------------------------------------------
+ */
+herr_t
+H5is_library_threadsafe(hbool_t *is_ts)
+{
+ herr_t ret_value = SUCCEED;
+
+ FUNC_ENTER_API_NOINIT
+ H5TRACE1("e", "*b", is_ts);
+
+ HDassert(is_ts);
+
+#ifdef H5_HAVE_THREADSAFE
+ *is_ts = TRUE;
+#else /* H5_HAVE_THREADSAFE */
+ *is_ts = FALSE;
+#endif /* H5_HAVE_THREADSAFE */
+
+ FUNC_LEAVE_API(ret_value)
+} /* end H5is_library_threadsafe() */
+
+
#if defined(H5_HAVE_THREADSAFE) && defined(H5_BUILT_AS_DYNAMIC_LIB) \
&& defined(H5_HAVE_WIN32_API) && defined(H5_HAVE_WIN_THREADS)
/*-------------------------------------------------------------------------
diff --git a/src/H5Abtree2.c b/src/H5Abtree2.c
index b85bee3..5e29d3f 100644
--- a/src/H5Abtree2.c
+++ b/src/H5Abtree2.c
@@ -85,8 +85,7 @@ static herr_t H5A__dense_btree2_corder_encode(uint8_t *raw, const void *native,
void *ctx);
static herr_t H5A__dense_btree2_corder_decode(const uint8_t *raw, void *native,
void *ctx);
-static herr_t H5A__dense_btree2_corder_debug(FILE *stream, const H5F_t *f, hid_t dxpl_id,
- int indent, int fwidth, const void *record, const void *_udata);
+static herr_t H5A__dense_btree2_corder_debug(FILE *stream, int indent, int fwidth, const void *record);
/* v2 B-tree driver callbacks for 'name' index */
static herr_t H5A__dense_btree2_name_store(void *native, const void *udata);
@@ -95,8 +94,7 @@ static herr_t H5A__dense_btree2_name_encode(uint8_t *raw, const void *native,
void *ctx);
static herr_t H5A__dense_btree2_name_decode(const uint8_t *raw, void *native,
void *ctx);
-static herr_t H5A__dense_btree2_name_debug(FILE *stream, const H5F_t *f, hid_t dxpl_id,
- int indent, int fwidth, const void *record, const void *_udata);
+static herr_t H5A__dense_btree2_name_debug(FILE *stream, int indent, int fwidth, const void *record);
/* Fractal heap function callbacks */
static herr_t H5A__dense_fh_name_cmp(const void *obj, size_t obj_len, void *op_data);
@@ -116,9 +114,7 @@ const H5B2_class_t H5A_BT2_NAME[1]={{ /* B-tree class information */
H5A__dense_btree2_name_compare, /* Record comparison callback */
H5A__dense_btree2_name_encode, /* Record encoding callback */
H5A__dense_btree2_name_decode, /* Record decoding callback */
- H5A__dense_btree2_name_debug, /* Record debugging callback */
- NULL, /* Create debugging context */
- NULL /* Destroy debugging context */
+ H5A__dense_btree2_name_debug /* Record debugging callback */
}};
/* v2 B-tree class for indexing 'creation order' field of attributes */
@@ -132,9 +128,7 @@ const H5B2_class_t H5A_BT2_CORDER[1]={{ /* B-tree class information */
H5A__dense_btree2_corder_compare, /* Record comparison callback */
H5A__dense_btree2_corder_encode, /* Record encoding callback */
H5A__dense_btree2_corder_decode, /* Record decoding callback */
- H5A__dense_btree2_corder_debug, /* Record debugging callback */
- NULL, /* Create debugging context */
- NULL /* Destroy debugging context */
+ H5A__dense_btree2_corder_debug /* Record debugging callback */
}};
@@ -381,8 +375,7 @@ H5A__dense_btree2_name_decode(const uint8_t *raw, void *_nrecord, void H5_ATTR_U
*-------------------------------------------------------------------------
*/
static herr_t
-H5A__dense_btree2_name_debug(FILE *stream, const H5F_t H5_ATTR_UNUSED *f, hid_t H5_ATTR_UNUSED dxpl_id,
- int indent, int fwidth, const void *_nrecord, const void H5_ATTR_UNUSED *_udata)
+H5A__dense_btree2_name_debug(FILE *stream, int indent, int fwidth, const void *_nrecord)
{
const H5A_dense_bt2_name_rec_t *nrecord = (const H5A_dense_bt2_name_rec_t *)_nrecord;
@@ -539,8 +532,7 @@ H5A__dense_btree2_corder_decode(const uint8_t *raw, void *_nrecord, void H5_ATTR
*-------------------------------------------------------------------------
*/
static herr_t
-H5A__dense_btree2_corder_debug(FILE *stream, const H5F_t H5_ATTR_UNUSED *f, hid_t H5_ATTR_UNUSED dxpl_id,
- int indent, int fwidth, const void *_nrecord, const void H5_ATTR_UNUSED *_udata)
+H5A__dense_btree2_corder_debug(FILE *stream, int indent, int fwidth, const void *_nrecord)
{
const H5A_dense_bt2_corder_rec_t *nrecord = (const H5A_dense_bt2_corder_rec_t *)_nrecord;
diff --git a/src/H5B2dbg.c b/src/H5B2dbg.c
index 6e1250b..d3b5014 100644
--- a/src/H5B2dbg.c
+++ b/src/H5B2dbg.c
@@ -91,7 +91,6 @@ H5B2__hdr_debug(H5F_t *f, hid_t dxpl_id, haddr_t addr, FILE *stream, int indent,
const H5B2_class_t *type, haddr_t obj_addr)
{
H5B2_hdr_t *hdr = NULL; /* B-tree header info */
- void *dbg_ctx = NULL; /* v2 B-tree debugging context */
unsigned u; /* Local index variable */
char temp_str[128]; /* Temporary string, for formatting */
H5B2_hdr_cache_ud_t cache_udata; /* User-data for callback */
@@ -109,22 +108,13 @@ H5B2__hdr_debug(H5F_t *f, hid_t dxpl_id, haddr_t addr, FILE *stream, int indent,
HDassert(indent >= 0);
HDassert(fwidth >= 0);
HDassert(type);
- HDassert((type->crt_dbg_ctx && type->dst_dbg_ctx) ||
- (NULL == type->crt_dbg_ctx && NULL == type->dst_dbg_ctx));
-
- /* Check for debugging context callback available */
- if(type->crt_dbg_ctx) {
- /* Create debugging context */
- if(NULL == (dbg_ctx = (type->crt_dbg_ctx)(f, dxpl_id, obj_addr)))
- HGOTO_ERROR(H5E_BTREE, H5E_CANTGET, FAIL, "unable to create v2 B-tree debugging context")
- } /* end if */
/*
* Load the B-tree header.
*/
cache_udata.f = f;
cache_udata.addr = addr;
- cache_udata.ctx_udata = dbg_ctx;
+ cache_udata.ctx_udata = f;
if(NULL == (hdr = (H5B2_hdr_t *)H5AC_protect(f, dxpl_id, H5AC_BT2_HDR, addr, &cache_udata, H5AC__READ_ONLY_FLAG)))
HGOTO_ERROR(H5E_BTREE, H5E_CANTLOAD, FAIL, "unable to load B-tree header")
@@ -139,12 +129,12 @@ H5B2__hdr_debug(H5F_t *f, hid_t dxpl_id, haddr_t addr, FILE *stream, int indent,
*/
HDfprintf(stream, "%*s%-*s %s (%u)\n", indent, "", fwidth,
"Tree type ID:", hdr->cls->name, (unsigned)hdr->cls->id);
- HDfprintf(stream, "%*s%-*s %Zu\n", indent, "", fwidth,
+ HDfprintf(stream, "%*s%-*s %u\n", indent, "", fwidth,
"Size of node:",
- hdr->node_size);
- HDfprintf(stream, "%*s%-*s %Zu\n", indent, "", fwidth,
+ (unsigned)hdr->node_size);
+ HDfprintf(stream, "%*s%-*s %u\n", indent, "", fwidth,
"Size of raw (disk) record:",
- hdr->rrec_size);
+ (unsigned)hdr->rrec_size);
HDfprintf(stream, "%*s%-*s %s\n", indent, "", fwidth,
"Dirty flag:",
hdr->cache_info.is_dirty ? "True" : "False");
@@ -177,8 +167,6 @@ H5B2__hdr_debug(H5F_t *f, hid_t dxpl_id, haddr_t addr, FILE *stream, int indent,
} /* end for */
done:
- if(dbg_ctx && (type->dst_dbg_ctx)(dbg_ctx) < 0)
- HDONE_ERROR(H5E_BTREE, H5E_CANTRELEASE, FAIL, "unable to release v2 B-tree debugging context")
if(hdr) {
hdr->f = NULL;
if(H5AC_unprotect(f, dxpl_id, H5AC_BT2_HDR, addr, hdr, H5AC__NO_FLAGS_SET) < 0)
@@ -208,7 +196,6 @@ H5B2__int_debug(H5F_t *f, hid_t dxpl_id, haddr_t addr, FILE *stream, int indent,
{
H5B2_hdr_t *hdr = NULL; /* B-tree header */
H5B2_internal_t *internal = NULL; /* B-tree internal node */
- void *dbg_ctx = NULL; /* v2 B-tree debugging context */
unsigned u; /* Local index variable */
char temp_str[128]; /* Temporary string, for formatting */
H5B2_hdr_cache_ud_t cache_udata; /* User-data for callback */
@@ -225,25 +212,16 @@ H5B2__int_debug(H5F_t *f, hid_t dxpl_id, haddr_t addr, FILE *stream, int indent,
HDassert(indent >= 0);
HDassert(fwidth >= 0);
HDassert(type);
- HDassert((type->crt_dbg_ctx && type->dst_dbg_ctx) ||
- (NULL == type->crt_dbg_ctx && NULL == type->dst_dbg_ctx));
HDassert(H5F_addr_defined(hdr_addr));
HDassert(H5F_addr_defined(obj_addr));
HDassert(nrec > 0);
- /* Check for debugging context callback available */
- if(type->crt_dbg_ctx) {
- /* Create debugging context */
- if(NULL == (dbg_ctx = (type->crt_dbg_ctx)(f, dxpl_id, obj_addr)))
- HGOTO_ERROR(H5E_BTREE, H5E_CANTGET, FAIL, "unable to create v2 B-tree debugging context")
- } /* end if */
-
/*
* Load the B-tree header.
*/
cache_udata.f = f;
cache_udata.addr = hdr_addr;
- cache_udata.ctx_udata = dbg_ctx;
+ cache_udata.ctx_udata = f;
if(NULL == (hdr = (H5B2_hdr_t *)H5AC_protect(f, dxpl_id, H5AC_BT2_HDR, hdr_addr, &cache_udata, H5AC__READ_ONLY_FLAG)))
HGOTO_ERROR(H5E_BTREE, H5E_CANTLOAD, FAIL, "unable to load B-tree header")
@@ -259,22 +237,19 @@ H5B2__int_debug(H5F_t *f, hid_t dxpl_id, haddr_t addr, FILE *stream, int indent,
HGOTO_ERROR(H5E_BTREE, H5E_CANTLOAD, FAIL, "unable to load B-tree internal node")
/* Print opening message */
- if(internal->depth == 1)
- HDfprintf(stream, "%*sv2 B-tree Internal 'Leaf' Node...\n", indent, "");
- else
- HDfprintf(stream, "%*sv2 B-tree Internal 'Branch' Node...\n", indent, "");
+ HDfprintf(stream, "%*sv2 B-tree Internal Node...\n", indent, "");
/*
* Print the values.
*/
HDfprintf(stream, "%*s%-*s %s (%u)\n", indent, "", fwidth,
"Tree type ID:", hdr->cls->name, (unsigned)hdr->cls->id);
- HDfprintf(stream, "%*s%-*s %Zu\n", indent, "", fwidth,
+ HDfprintf(stream, "%*s%-*s %u\n", indent, "", fwidth,
"Size of node:",
- hdr->node_size);
- HDfprintf(stream, "%*s%-*s %Zu\n", indent, "", fwidth,
+ (unsigned)hdr->node_size);
+ HDfprintf(stream, "%*s%-*s %u\n", indent, "", fwidth,
"Size of raw (disk) record:",
- hdr->rrec_size);
+ (unsigned)hdr->rrec_size);
HDfprintf(stream, "%*s%-*s %s\n", indent, "", fwidth,
"Dirty flag:",
internal->cache_info.is_dirty ? "True" : "False");
@@ -297,8 +272,8 @@ H5B2__int_debug(H5F_t *f, hid_t dxpl_id, haddr_t addr, FILE *stream, int indent,
HDfprintf(stream, "%*s%-*s\n", indent + 3, "", MAX(0, fwidth - 3),
temp_str);
HDassert(H5B2_INT_NREC(internal, hdr, u));
- (void)(type->debug)(stream, f, dxpl_id, indent + 6, MAX (0, fwidth-6),
- H5B2_INT_NREC(internal, hdr, u), dbg_ctx);
+ (void)(type->debug)(stream, indent + 6, MAX (0, fwidth-6),
+ H5B2_INT_NREC(internal, hdr, u));
} /* end for */
/* Print final node pointer */
@@ -310,8 +285,6 @@ H5B2__int_debug(H5F_t *f, hid_t dxpl_id, haddr_t addr, FILE *stream, int indent,
internal->node_ptrs[u].addr);
done:
- if(dbg_ctx && (type->dst_dbg_ctx)(dbg_ctx) < 0)
- HDONE_ERROR(H5E_BTREE, H5E_CANTRELEASE, FAIL, "unable to release v2 B-tree debugging context")
if(hdr) {
hdr->f = NULL;
if(H5AC_unprotect(f, dxpl_id, H5AC_BT2_HDR, hdr_addr, hdr, H5AC__NO_FLAGS_SET) < 0)
@@ -344,7 +317,6 @@ H5B2__leaf_debug(H5F_t *f, hid_t dxpl_id, haddr_t addr, FILE *stream, int indent
H5B2_hdr_t *hdr = NULL; /* B-tree header */
H5B2_leaf_t *leaf = NULL; /* B-tree leaf node */
H5B2_hdr_cache_ud_t cache_udata; /* User-data for callback */
- void *dbg_ctx = NULL; /* v2 B-tree debugging context */
unsigned u; /* Local index variable */
char temp_str[128]; /* Temporary string, for formatting */
herr_t ret_value = SUCCEED; /* Return value */
@@ -360,25 +332,16 @@ H5B2__leaf_debug(H5F_t *f, hid_t dxpl_id, haddr_t addr, FILE *stream, int indent
HDassert(indent >= 0);
HDassert(fwidth >= 0);
HDassert(type);
- HDassert((type->crt_dbg_ctx && type->dst_dbg_ctx) ||
- (NULL == type->crt_dbg_ctx && NULL == type->dst_dbg_ctx));
HDassert(H5F_addr_defined(hdr_addr));
HDassert(H5F_addr_defined(obj_addr));
HDassert(nrec > 0);
- /* Check for debugging context callback available */
- if(type->crt_dbg_ctx) {
- /* Create debugging context */
- if(NULL == (dbg_ctx = (type->crt_dbg_ctx)(f, dxpl_id, obj_addr)))
- HGOTO_ERROR(H5E_BTREE, H5E_CANTGET, FAIL, "unable to create v2 B-tree debugging context")
- } /* end if */
-
/*
* Load the B-tree header.
*/
cache_udata.f = f;
cache_udata.addr = hdr_addr;
- cache_udata.ctx_udata = dbg_ctx;
+ cache_udata.ctx_udata = f;
if(NULL == (hdr = (H5B2_hdr_t *)H5AC_protect(f, dxpl_id, H5AC_BT2_HDR, hdr_addr, &cache_udata, H5AC__READ_ONLY_FLAG)))
HGOTO_ERROR(H5E_BTREE, H5E_CANTPROTECT, FAIL, "unable to protect B-tree header")
@@ -400,12 +363,12 @@ H5B2__leaf_debug(H5F_t *f, hid_t dxpl_id, haddr_t addr, FILE *stream, int indent
*/
HDfprintf(stream, "%*s%-*s %s (%u)\n", indent, "", fwidth,
"Tree type ID:", hdr->cls->name, (unsigned)hdr->cls->id);
- HDfprintf(stream, "%*s%-*s %Zu\n", indent, "", fwidth,
+ HDfprintf(stream, "%*s%-*s %u\n", indent, "", fwidth,
"Size of node:",
- hdr->node_size);
- HDfprintf(stream, "%*s%-*s %Zu\n", indent, "", fwidth,
+ (unsigned)hdr->node_size);
+ HDfprintf(stream, "%*s%-*s %u\n", indent, "", fwidth,
"Size of raw (disk) record:",
- hdr->rrec_size);
+ (unsigned)hdr->rrec_size);
HDfprintf(stream, "%*s%-*s %s\n", indent, "", fwidth,
"Dirty flag:",
leaf->cache_info.is_dirty ? "True" : "False");
@@ -420,13 +383,11 @@ H5B2__leaf_debug(H5F_t *f, hid_t dxpl_id, haddr_t addr, FILE *stream, int indent
HDfprintf(stream, "%*s%-*s\n", indent + 3, "", MAX(0, fwidth - 3),
temp_str);
HDassert(H5B2_LEAF_NREC(leaf, hdr, u));
- (void)(type->debug)(stream, f, dxpl_id, indent + 6, MAX (0, fwidth-6),
- H5B2_LEAF_NREC(leaf, hdr, u), dbg_ctx);
+ (void)(type->debug)(stream, indent + 6, MAX (0, fwidth-6),
+ H5B2_LEAF_NREC(leaf, hdr, u));
} /* end for */
done:
- if(dbg_ctx && (type->dst_dbg_ctx)(dbg_ctx) < 0)
- HDONE_ERROR(H5E_BTREE, H5E_CANTRELEASE, FAIL, "unable to release v2 B-tree debugging context")
if(hdr) {
hdr->f = NULL;
if(H5AC_unprotect(f, dxpl_id, H5AC_BT2_HDR, hdr_addr, hdr, H5AC__NO_FLAGS_SET) < 0)
diff --git a/src/H5B2private.h b/src/H5B2private.h
index 08d3ce1..45b6737 100644
--- a/src/H5B2private.h
+++ b/src/H5B2private.h
@@ -92,10 +92,8 @@ struct H5B2_class_t {
herr_t (*compare)(const void *rec1, const void *rec2); /* Compare two native records */
herr_t (*encode)(uint8_t *raw, const void *record, void *ctx); /* Encode record from native form to disk storage form */
herr_t (*decode)(const uint8_t *raw, void *record, void *ctx); /* Decode record from disk storage form to native form */
- herr_t (*debug)(FILE *stream, const H5F_t *f, hid_t dxpl_id, /* Print a record for debugging */
- int indent, int fwidth, const void *record, const void *ctx);
- void *(*crt_dbg_ctx)(H5F_t *f, hid_t dxpl_id, haddr_t obj_addr); /* Create debugging context */
- herr_t (*dst_dbg_ctx)(void *dbg_ctx); /* Destroy debugging context */
+ herr_t (*debug)(FILE *stream, int indent, int fwidth, /* Print a record for debugging */
+ const void *record);
};
/* v2 B-tree creation parameters */
diff --git a/src/H5B2test.c b/src/H5B2test.c
index 35771f2..31cf8e1 100644
--- a/src/H5B2test.c
+++ b/src/H5B2test.c
@@ -67,9 +67,7 @@ static herr_t H5B2__test_store(void *nrecord, const void *udata);
static herr_t H5B2__test_compare(const void *rec1, const void *rec2);
static herr_t H5B2__test_encode(uint8_t *raw, const void *nrecord, void *ctx);
static herr_t H5B2__test_decode(const uint8_t *raw, void *nrecord, void *ctx);
-static herr_t H5B2__test_debug(FILE *stream, const H5F_t *f, hid_t dxpl_id,
- int indent, int fwidth, const void *record, const void *_udata);
-static void *H5B2__test_crt_dbg_context(H5F_t *f, hid_t dxpl_id, haddr_t addr);
+static herr_t H5B2__test_debug(FILE *stream, int indent, int fwidth, const void *record);
/*********************/
@@ -86,9 +84,7 @@ const H5B2_class_t H5B2_TEST[1]={{ /* B-tree class information */
H5B2__test_compare, /* Record comparison callback */
H5B2__test_encode, /* Record encoding callback */
H5B2__test_decode, /* Record decoding callback */
- H5B2__test_debug, /* Record debugging callback */
- H5B2__test_crt_dbg_context, /* Create debugging context */
- H5B2__test_dst_context /* Destroy debugging context */
+ H5B2__test_debug /* Record debugging callback */
}};
@@ -295,13 +291,11 @@ H5B2__test_decode(const uint8_t *raw, void *nrecord, void *_ctx)
*-------------------------------------------------------------------------
*/
static herr_t
-H5B2__test_debug(FILE *stream, const H5F_t H5_ATTR_UNUSED *f, hid_t H5_ATTR_UNUSED dxpl_id,
- int indent, int fwidth, const void *record,
- const void H5_ATTR_UNUSED *_udata)
+H5B2__test_debug(FILE *stream, int indent, int fwidth, const void *record)
{
FUNC_ENTER_STATIC_NOERR
- HDassert (record);
+ HDassert(record);
HDfprintf(stream, "%*s%-*s %Hu\n", indent, "", fwidth, "Record:",
*(const hsize_t *)record);
@@ -311,45 +305,6 @@ H5B2__test_debug(FILE *stream, const H5F_t H5_ATTR_UNUSED *f, hid_t H5_ATTR_UNUS
/*-------------------------------------------------------------------------
- * Function: H5B2__test_crt_dbg_context
- *
- * Purpose: Create context for debugging callback
- *
- * Return: Success: non-NULL
- * Failure: NULL
- *
- * Programmer: Quincey Koziol
- * Tuesday, December 1, 2009
- *
- *-------------------------------------------------------------------------
- */
-static void *
-H5B2__test_crt_dbg_context(H5F_t *f, hid_t H5_ATTR_UNUSED dxpl_id, haddr_t H5_ATTR_UNUSED addr)
-{
- H5B2_test_ctx_t *ctx; /* Callback context structure */
- void *ret_value; /* Return value */
-
- FUNC_ENTER_STATIC
-
- /* Sanity check */
- HDassert(f);
-
- /* Allocate callback context */
- if(NULL == (ctx = H5FL_MALLOC(H5B2_test_ctx_t)))
- HGOTO_ERROR(H5E_BTREE, H5E_CANTALLOC, NULL, "can't allocate callback context")
-
- /* Determine the size of addresses & lengths in the file */
- ctx->sizeof_size = H5F_SIZEOF_SIZE(f);
-
- /* Set return value */
- ret_value = ctx;
-
-done:
- FUNC_LEAVE_NOAPI(ret_value)
-} /* H5B2__test_crt_dbg_context() */
-
-
-/*-------------------------------------------------------------------------
* Function: H5B2_get_root_addr_test
*
* Purpose: Retrieve the root node's address
diff --git a/src/H5FDcore.c b/src/H5FDcore.c
index 32f23fb..e553f6b 100644
--- a/src/H5FDcore.c
+++ b/src/H5FDcore.c
@@ -65,11 +65,7 @@ typedef struct H5FD_core_t {
* identify a file.
*/
dev_t device; /*file device number */
-#ifdef H5_VMS
- ino_t inode[3]; /*file i-node number */
-#else
ino_t inode; /*file i-node number */
-#endif /*H5_VMS*/
#else
/* Files in windows are uniquely identified by the volume serial
* number and the file index (both low and high parts).
@@ -741,14 +737,7 @@ H5FD_core_open(const char *name, unsigned flags, hid_t fapl_id, haddr_t maxaddr)
file->dwVolumeSerialNumber = fileinfo.dwVolumeSerialNumber;
#else /* H5_HAVE_WIN32_API */
file->device = sb.st_dev;
-#ifdef H5_VMS
- file->inode[0] = sb.st_ino[0];
- file->inode[1] = sb.st_ino[1];
- file->inode[2] = sb.st_ino[2];
-#else
file->inode = sb.st_ino;
-#endif /* H5_VMS */
-
#endif /* H5_HAVE_WIN32_API */
} /* end if */
@@ -981,13 +970,8 @@ H5FD_core_cmp(const H5FD_t *_f1, const H5FD_t *_f2)
if(HDmemcmp(&(f1->device),&(f2->device),sizeof(dev_t))>0) HGOTO_DONE(1)
#endif /* H5_DEV_T_IS_SCALAR */
-#ifndef H5_VMS
if (f1->inode < f2->inode) HGOTO_DONE(-1)
if (f1->inode > f2->inode) HGOTO_DONE(1)
-#else
- if(HDmemcmp(&(f1->inode),&(f2->inode),3*sizeof(ino_t))<0) HGOTO_DONE(-1)
- if(HDmemcmp(&(f1->inode),&(f2->inode),3*sizeof(ino_t))>0) HGOTO_DONE(1)
-#endif /* H5_VMS */
#endif /*H5_HAVE_WIN32_API*/
} /* end if */
@@ -1523,12 +1507,6 @@ H5FD_core_truncate(H5FD_t *_file, hid_t H5_ATTR_UNUSED dxpl_id, hbool_t closing)
if(0 == bError)
HGOTO_ERROR(H5E_IO, H5E_SEEKERROR, FAIL, "unable to extend file properly")
#else /* H5_HAVE_WIN32_API */
-#ifdef H5_VMS
- /* Reset seek offset to the beginning of the file, so that the file isn't
- * re-extended later. This may happen on Open VMS. */
- if(-1 == HDlseek(file->fd, (HDoff_t)0, SEEK_SET))
- HSYS_GOTO_ERROR(H5E_IO, H5E_SEEKERROR, FAIL, "unable to seek to proper position")
-#endif /* H5_VMS */
if(-1 == HDftruncate(file->fd, (HDoff_t)new_eof))
HSYS_GOTO_ERROR(H5E_IO, H5E_SEEKERROR, FAIL, "unable to extend file properly")
#endif /* H5_HAVE_WIN32_API */
diff --git a/src/H5FDdirect.c b/src/H5FDdirect.c
index e9fd1ea..f4ee910 100644
--- a/src/H5FDdirect.c
+++ b/src/H5FDdirect.c
@@ -83,11 +83,7 @@ typedef struct H5FD_direct_t {
* identify a file.
*/
dev_t device; /*file device number */
-#ifdef H5_VMS
- ino_t inode[3]; /*file i-node number */
-#else
ino_t inode; /*file i-node number */
-#endif /*H5_VMS*/
#else
/*
* On H5_HAVE_WIN32_API the low-order word of a unique identifier associated with the
@@ -525,13 +521,7 @@ H5FD_direct_open(const char *name, unsigned flags, hid_t fapl_id, haddr_t maxadd
file->fileindexlo = fileinfo.nFileIndexLow;
#else
file->device = sb.st_dev;
-#ifdef H5_VMS
- file->inode[0] = sb.st_ino[0];
- file->inode[1] = sb.st_ino[1];
- file->inode[2] = sb.st_ino[2];
-#else
file->inode = sb.st_ino;
-#endif /*H5_VMS*/
#endif /*H5_HAVE_WIN32_API*/
file->fa.mboundary = fa->mboundary;
file->fa.fbsize = fa->fbsize;
@@ -673,13 +663,8 @@ H5FD_direct_cmp(const H5FD_t *_f1, const H5FD_t *_f2)
if(HDmemcmp(&(f1->device),&(f2->device),sizeof(dev_t))>0) HGOTO_DONE(1)
#endif /* H5_DEV_T_IS_SCALAR */
-#ifndef H5_VMS
if (f1->inode < f2->inode) HGOTO_DONE(-1)
if (f1->inode > f2->inode) HGOTO_DONE(1)
-#else
- if(HDmemcmp(&(f1->inode),&(f2->inode),3*sizeof(ino_t))<0) HGOTO_DONE(-1)
- if(HDmemcmp(&(f1->inode),&(f2->inode),3*sizeof(ino_t))>0) HGOTO_DONE(1)
-#endif /*H5_VMS*/
#endif
diff --git a/src/H5FDlog.c b/src/H5FDlog.c
index d2289fd..e8695c5 100644
--- a/src/H5FDlog.c
+++ b/src/H5FDlog.c
@@ -92,11 +92,7 @@ typedef struct H5FD_log_t {
* Windows code further below.
*/
dev_t device; /* file device number */
-#ifdef H5_VMS
- ino_t inode[3]; /* file i-node number */
-#else
ino_t inode; /* file i-node number */
-#endif /*H5_VMS*/
#else
/* Files in windows are uniquely identified by the volume serial
* number and the file index (both low and high parts).
@@ -587,14 +583,7 @@ H5FD_log_open(const char *name, unsigned flags, hid_t fapl_id, haddr_t maxaddr)
file->dwVolumeSerialNumber = fileinfo.dwVolumeSerialNumber;
#else /* H5_HAVE_WIN32_API */
file->device = sb.st_dev;
-#ifdef H5_VMS
- file->inode[0] = sb.st_ino[0];
- file->inode[1] = sb.st_ino[1];
- file->inode[2] = sb.st_ino[2];
-#else
file->inode = sb.st_ino;
-#endif /*H5_VMS*/
-
#endif /* H5_HAVE_WIN32_API */
/* Retain a copy of the name used to open the file, for possible error reporting */
@@ -867,13 +856,8 @@ H5FD_log_cmp(const H5FD_t *_f1, const H5FD_t *_f2)
if(HDmemcmp(&(f1->device),&(f2->device),sizeof(dev_t)) > 0) HGOTO_DONE(1)
#endif /* H5_DEV_T_IS_SCALAR */
-#ifndef H5_VMS
if(f1->inode < f2->inode) HGOTO_DONE(-1)
if(f1->inode > f2->inode) HGOTO_DONE(1)
-#else
- if(HDmemcmp(&(f1->inode), &(f2->inode), 3 * sizeof(ino_t)) < 0) HGOTO_DONE(-1)
- if(HDmemcmp(&(f1->inode), &(f2->inode), 3 * sizeof(ino_t)) > 0) HGOTO_DONE(1)
-#endif /*H5_VMS*/
#endif
@@ -1553,13 +1537,6 @@ H5FD_log_truncate(H5FD_t *_file, hid_t H5_ATTR_UNUSED dxpl_id, hbool_t H5_ATTR_U
if(0 == bError)
HGOTO_ERROR(H5E_IO, H5E_SEEKERROR, FAIL, "unable to extend file properly")
#else /* H5_HAVE_WIN32_API */
-#ifdef H5_VMS
- /* Reset seek offset to the beginning of the file, so that the file isn't
- * re-extended later. This may happen on Open VMS. */
- if(-1 == HDlseek(file->fd, (HDoff_t)0, SEEK_SET))
- HSYS_GOTO_ERROR(H5E_IO, H5E_SEEKERROR, FAIL, "unable to seek to proper position")
-#endif
-
if(-1 == HDftruncate(file->fd, (HDoff_t)file->eoa))
HSYS_GOTO_ERROR(H5E_IO, H5E_SEEKERROR, FAIL, "unable to extend file properly")
#endif /* H5_HAVE_WIN32_API */
@@ -1579,3 +1556,4 @@ H5FD_log_truncate(H5FD_t *_file, hid_t H5_ATTR_UNUSED dxpl_id, hbool_t H5_ATTR_U
done:
FUNC_LEAVE_NOAPI(ret_value)
} /* end H5FD_log_truncate() */
+
diff --git a/src/H5FDsec2.c b/src/H5FDsec2.c
index 73dd7a0..10e2a66 100644
--- a/src/H5FDsec2.c
+++ b/src/H5FDsec2.c
@@ -69,11 +69,7 @@ typedef struct H5FD_sec2_t {
* Windows code further below.
*/
dev_t device; /* file device number */
-#ifdef H5_VMS
- ino_t inode[3]; /* file i-node number */
-#else
ino_t inode; /* file i-node number */
-#endif /* H5_VMS */
#else
/* Files in windows are uniquely identified by the volume serial
* number and the file index (both low and high parts).
@@ -374,13 +370,7 @@ H5FD_sec2_open(const char *name, unsigned flags, hid_t fapl_id, haddr_t maxaddr)
file->dwVolumeSerialNumber = fileinfo.dwVolumeSerialNumber;
#else /* H5_HAVE_WIN32_API */
file->device = sb.st_dev;
-#ifdef H5_VMS
- file->inode[0] = sb.st_ino[0];
- file->inode[1] = sb.st_ino[1];
- file->inode[2] = sb.st_ino[2];
-#else /* H5_VMS */
file->inode = sb.st_ino;
-#endif /* H5_VMS */
#endif /* H5_HAVE_WIN32_API */
/* Retain a copy of the name used to open the file, for possible error reporting */
@@ -501,13 +491,8 @@ H5FD_sec2_cmp(const H5FD_t *_f1, const H5FD_t *_f2)
if(HDmemcmp(&(f1->device),&(f2->device),sizeof(dev_t)) < 0) HGOTO_DONE(-1)
if(HDmemcmp(&(f1->device),&(f2->device),sizeof(dev_t)) > 0) HGOTO_DONE(1)
#endif /* H5_DEV_T_IS_SCALAR */
-#ifdef H5_VMS
- if(HDmemcmp(&(f1->inode), &(f2->inode), 3 * sizeof(ino_t)) < 0) HGOTO_DONE(-1)
- if(HDmemcmp(&(f1->inode), &(f2->inode), 3 * sizeof(ino_t)) > 0) HGOTO_DONE(1)
-#else /* H5_VMS */
if(f1->inode < f2->inode) HGOTO_DONE(-1)
if(f1->inode > f2->inode) HGOTO_DONE(1)
-#endif /* H5_VMS */
#endif /* H5_HAVE_WIN32_API */
done:
@@ -901,12 +886,6 @@ H5FD_sec2_truncate(H5FD_t *_file, hid_t H5_ATTR_UNUSED dxpl_id, hbool_t H5_ATTR_
if(0 == bError)
HGOTO_ERROR(H5E_IO, H5E_SEEKERROR, FAIL, "unable to extend file properly")
#else /* H5_HAVE_WIN32_API */
-#ifdef H5_VMS
- /* Reset seek offset to the beginning of the file, so that the file isn't
- * re-extended later. This may happen on Open VMS. */
- if(-1 == HDlseek(file->fd, (HDoff_t)0, SEEK_SET))
- HSYS_GOTO_ERROR(H5E_IO, H5E_SEEKERROR, FAIL, "unable to seek to proper position")
-#endif
if(-1 == HDftruncate(file->fd, (HDoff_t)file->eoa))
HSYS_GOTO_ERROR(H5E_IO, H5E_SEEKERROR, FAIL, "unable to extend file properly")
#endif /* H5_HAVE_WIN32_API */
@@ -922,3 +901,4 @@ H5FD_sec2_truncate(H5FD_t *_file, hid_t H5_ATTR_UNUSED dxpl_id, hbool_t H5_ATTR_
done:
FUNC_LEAVE_NOAPI(ret_value)
} /* end H5FD_sec2_truncate() */
+
diff --git a/src/H5FDstdio.c b/src/H5FDstdio.c
index 8e7eaf4..65b75a3 100644
--- a/src/H5FDstdio.c
+++ b/src/H5FDstdio.c
@@ -97,11 +97,7 @@ typedef struct H5FD_stdio_t {
* Windows code further below.
*/
dev_t device; /* file device number */
-#ifdef H5_VMS
- ino_t inode[3]; /* file i-node number */
-#else
ino_t inode; /* file i-node number */
-#endif /* H5_VMS */
#else
/* Files in windows are uniquely identified by the volume serial
* number and the file index (both low and high parts).
@@ -450,13 +446,7 @@ H5FD_stdio_open( const char *name, unsigned flags, hid_t fapl_id,
H5Epush_ret(func, H5E_ERR_CLS, H5E_FILE, H5E_BADFILE, "unable to fstat file", NULL)
} /* end if */
file->device = sb.st_dev;
-#ifdef H5_VMS
- file->inode[0] = sb.st_ino[0];
- file->inode[1] = sb.st_ino[1];
- file->inode[2] = sb.st_ino[2];
-#else /* H5_VMS */
file->inode = sb.st_ino;
-#endif /* H5_VMS */
#endif /* H5_HAVE_WIN32_API */
return (H5FD_t*)file;
@@ -542,13 +532,8 @@ H5FD_stdio_cmp(const H5FD_t *_f1, const H5FD_t *_f2)
if(memcmp(&(f1->device),&(f2->device),sizeof(dev_t)) < 0) return -1;
if(memcmp(&(f1->device),&(f2->device),sizeof(dev_t)) > 0) return 1;
#endif /* H5_DEV_T_IS_SCALAR */
-#ifdef H5_VMS
- if(memcmp(&(f1->inode), &(f2->inode), 3 * sizeof(ino_t)) < 0) return -1;
- if(memcmp(&(f1->inode), &(f2->inode), 3 * sizeof(ino_t)) > 0) return 1;
-#else /* H5_VMS */
if(f1->inode < f2->inode) return -1;
if(f1->inode > f2->inode) return 1;
-#endif /* H5_VMS */
#endif /* H5_HAVE_WIN32_API */
return 0;
diff --git a/src/H5Fcwfs.c b/src/H5Fcwfs.c
index d0688f7..36f0a93 100644
--- a/src/H5Fcwfs.c
+++ b/src/H5Fcwfs.c
@@ -210,12 +210,12 @@ H5F_cwfs_find_free_heap(H5F_t *f, hid_t dxpl_id, size_t need, haddr_t *addr)
new_need = MAX(H5HG_SIZE(f->shared->cwfs[cwfsno]), new_need);
if((H5HG_SIZE(f->shared->cwfs[cwfsno]) + new_need) <= H5HG_MAXSIZE) {
- htri_t extended; /* Whether the heap was extended */
+ htri_t was_extended; /* Whether the heap was extended */
- extended = H5MF_try_extend(f, dxpl_id, H5FD_MEM_GHEAP, H5HG_ADDR(f->shared->cwfs[cwfsno]), (hsize_t)H5HG_SIZE(f->shared->cwfs[cwfsno]), (hsize_t)new_need);
- if(extended < 0)
+ was_extended = H5MF_try_extend(f, dxpl_id, H5FD_MEM_GHEAP, H5HG_ADDR(f->shared->cwfs[cwfsno]), (hsize_t)H5HG_SIZE(f->shared->cwfs[cwfsno]), (hsize_t)new_need);
+ if(was_extended < 0)
HGOTO_ERROR(H5E_HEAP, H5E_CANTEXTEND, FAIL, "error trying to extend heap")
- else if(extended == TRUE) {
+ else if(was_extended == TRUE) {
if(H5HG_extend(f, dxpl_id, H5HG_ADDR(f->shared->cwfs[cwfsno]), new_need) < 0)
HGOTO_ERROR(H5E_HEAP, H5E_CANTRESIZE, FAIL, "unable to extend global heap collection")
*addr = H5HG_ADDR(f->shared->cwfs[cwfsno]);
diff --git a/src/H5Fdbg.c b/src/H5Fdbg.c
index 40d24e5..93da900 100644
--- a/src/H5Fdbg.c
+++ b/src/H5Fdbg.c
@@ -104,6 +104,8 @@ H5F_debug(H5F_t *f, FILE *stream, int indent, int fwidth)
"Symbol table leaf node 1/2 rank:", f->shared->sblock->sym_leaf_k);
HDfprintf(stream, "%*s%-*s %u\n", indent, "", fwidth,
"Symbol table internal node 1/2 rank:", f->shared->sblock->btree_k[H5B_SNODE_ID]);
+ HDfprintf(stream, "%*s%-*s %u\n", indent, "", fwidth,
+ "Indexed storage internal node 1/2 rank:", f->shared->sblock->btree_k[H5B_CHUNK_ID]);
HDfprintf(stream, "%*s%-*s 0x%02x\n", indent, "", fwidth,
"File status flags:", (unsigned)(f->shared->sblock->status_flags));
HDfprintf(stream, "%*s%-*s %a (rel)\n", indent, "", fwidth,
diff --git a/src/H5Gbtree2.c b/src/H5Gbtree2.c
index 06af245..31db886 100644
--- a/src/H5Gbtree2.c
+++ b/src/H5Gbtree2.c
@@ -83,8 +83,7 @@ static herr_t H5G_dense_btree2_corder_encode(uint8_t *raw, const void *native,
void *ctx);
static herr_t H5G_dense_btree2_corder_decode(const uint8_t *raw, void *native,
void *ctx);
-static herr_t H5G_dense_btree2_corder_debug(FILE *stream, const H5F_t *f, hid_t dxpl_id,
- int indent, int fwidth, const void *record, const void *_udata);
+static herr_t H5G_dense_btree2_corder_debug(FILE *stream, int indent, int fwidth, const void *record);
/* v2 B-tree driver callbacks for 'name' index */
static herr_t H5G_dense_btree2_name_store(void *native, const void *udata);
@@ -93,8 +92,7 @@ static herr_t H5G_dense_btree2_name_encode(uint8_t *raw, const void *native,
void *ctx);
static herr_t H5G_dense_btree2_name_decode(const uint8_t *raw, void *native,
void *ctx);
-static herr_t H5G_dense_btree2_name_debug(FILE *stream, const H5F_t *f, hid_t dxpl_id,
- int indent, int fwidth, const void *record, const void *_udata);
+static herr_t H5G_dense_btree2_name_debug(FILE *stream, int indent, int fwidth, const void *record);
/* Fractal heap function callbacks */
static herr_t H5G_dense_fh_name_cmp(const void *obj, size_t obj_len, void *op_data);
@@ -114,9 +112,7 @@ const H5B2_class_t H5G_BT2_NAME[1]={{ /* B-tree class information */
H5G_dense_btree2_name_compare, /* Record comparison callback */
H5G_dense_btree2_name_encode, /* Record encoding callback */
H5G_dense_btree2_name_decode, /* Record decoding callback */
- H5G_dense_btree2_name_debug, /* Record debugging callback */
- NULL, /* Create debugging context */
- NULL /* Destroy debugging context */
+ H5G_dense_btree2_name_debug /* Record debugging callback */
}};
/* v2 B-tree class for indexing 'creation order' field of links */
@@ -130,9 +126,7 @@ const H5B2_class_t H5G_BT2_CORDER[1]={{ /* B-tree class information */
H5G_dense_btree2_corder_compare, /* Record comparison callback */
H5G_dense_btree2_corder_encode, /* Record encoding callback */
H5G_dense_btree2_corder_decode, /* Record decoding callback */
- H5G_dense_btree2_corder_debug, /* Record debugging callback */
- NULL, /* Create debugging context */
- NULL /* Destroy debugging context */
+ H5G_dense_btree2_corder_debug /* Record debugging callback */
}};
/*****************************/
@@ -362,9 +356,7 @@ H5G_dense_btree2_name_decode(const uint8_t *raw, void *_nrecord, void H5_ATTR_UN
*-------------------------------------------------------------------------
*/
static herr_t
-H5G_dense_btree2_name_debug(FILE *stream, const H5F_t H5_ATTR_UNUSED *f, hid_t H5_ATTR_UNUSED dxpl_id,
- int indent, int fwidth, const void *_nrecord,
- const void H5_ATTR_UNUSED *_udata)
+H5G_dense_btree2_name_debug(FILE *stream, int indent, int fwidth, const void *_nrecord)
{
const H5G_dense_bt2_name_rec_t *nrecord = (const H5G_dense_bt2_name_rec_t *)_nrecord;
unsigned u; /* Local index variable */
@@ -528,9 +520,7 @@ H5G_dense_btree2_corder_decode(const uint8_t *raw, void *_nrecord, void H5_ATTR_
*-------------------------------------------------------------------------
*/
static herr_t
-H5G_dense_btree2_corder_debug(FILE *stream, const H5F_t H5_ATTR_UNUSED *f, hid_t H5_ATTR_UNUSED dxpl_id,
- int indent, int fwidth, const void *_nrecord,
- const void H5_ATTR_UNUSED *_udata)
+H5G_dense_btree2_corder_debug(FILE *stream, int indent, int fwidth, const void *_nrecord)
{
const H5G_dense_bt2_corder_rec_t *nrecord = (const H5G_dense_bt2_corder_rec_t *)_nrecord;
unsigned u; /* Local index variable */
diff --git a/src/H5HF.c b/src/H5HF.c
index 0464da4..4a0ad07 100644
--- a/src/H5HF.c
+++ b/src/H5HF.c
@@ -451,8 +451,8 @@ H5HF_get_obj_len(H5HF_t *fh, hid_t dxpl_id, const void *_id, size_t *obj_len_p)
HGOTO_ERROR(H5E_HEAP, H5E_CANTGET, FAIL, "can't get 'tiny' object's length")
} /* end if */
else {
- HDfprintf(stderr, "%s: Heap ID type not supported yet!\n", FUNC);
- HGOTO_ERROR(H5E_HEAP, H5E_UNSUPPORTED, FAIL, "heap ID type not supported yet")
+HDfprintf(stderr, "%s: Heap ID type not supported yet!\n", FUNC);
+HGOTO_ERROR(H5E_HEAP, H5E_UNSUPPORTED, FAIL, "heap ID type not supported yet")
} /* end else */
done:
@@ -461,6 +461,68 @@ done:
/*-------------------------------------------------------------------------
+ * Function: H5HF_get_obj_off
+ *
+ * Purpose: Get the offset of an entry in a fractal heap
+ *
+ * Return: SUCCEED/FAIL
+ *
+ * Programmer: Quincey Koziol
+ * koziol@hdfgroup.org
+ * Aug 20 2015
+ *
+ *-------------------------------------------------------------------------
+ */
+herr_t
+H5HF_get_obj_off(H5HF_t *fh, hid_t dxpl_id, const void *_id, hsize_t *obj_off_p)
+{
+ const uint8_t *id = (const uint8_t *)_id; /* Object ID */
+ uint8_t id_flags; /* Heap ID flag bits */
+ herr_t ret_value = SUCCEED; /* Return value */
+
+ FUNC_ENTER_NOAPI(FAIL)
+
+ /*
+ * Check arguments.
+ */
+ HDassert(fh);
+ HDassert(id);
+ HDassert(obj_off_p);
+
+ /* Get the ID flags */
+ id_flags = *id;
+
+ /* Check for correct heap ID version */
+ if((id_flags & H5HF_ID_VERS_MASK) != H5HF_ID_VERS_CURR)
+ HGOTO_ERROR(H5E_HEAP, H5E_VERSION, FAIL, "incorrect heap ID version")
+
+ /* Set the shared heap header's file context for this operation */
+ fh->hdr->f = fh->f;
+
+ /* Check type of object in heap */
+ if((id_flags & H5HF_ID_TYPE_MASK) == H5HF_ID_TYPE_MAN) {
+ H5HF__man_get_obj_off(fh->hdr, id, obj_off_p);
+ } /* end if */
+ else if((id_flags & H5HF_ID_TYPE_MASK) == H5HF_ID_TYPE_HUGE) {
+ /* Huge objects are located directly in the file */
+ if(H5HF__huge_get_obj_off(fh->hdr, dxpl_id, id, obj_off_p) < 0)
+ HGOTO_ERROR(H5E_HEAP, H5E_CANTGET, FAIL, "can't get 'huge' object's offset")
+ } /* end if */
+ else if((id_flags & H5HF_ID_TYPE_MASK) == H5HF_ID_TYPE_TINY) {
+ /* Tiny objects are not stored in the heap */
+ *obj_off_p = (hsize_t)0;
+ } /* end if */
+ else {
+HDfprintf(stderr, "%s: Heap ID type not supported yet!\n", FUNC);
+HGOTO_ERROR(H5E_HEAP, H5E_UNSUPPORTED, FAIL, "heap ID type not supported yet")
+ } /* end else */
+
+done:
+ FUNC_LEAVE_NOAPI(ret_value)
+} /* end H5HF_get_obj_off() */
+
+
+/*-------------------------------------------------------------------------
* Function: H5HF_read
*
* Purpose: Read an object from a fractal heap into a buffer
diff --git a/src/H5HFbtree2.c b/src/H5HFbtree2.c
index 0229ebe..cb1ec77 100644
--- a/src/H5HFbtree2.c
+++ b/src/H5HFbtree2.c
@@ -70,7 +70,6 @@ typedef struct H5HF_huge_bt2_ctx_t {
static void *H5HF_huge_bt2_crt_context(void *udata);
static herr_t H5HF_huge_bt2_dst_context(void *ctx);
-static void *H5HF_huge_bt2_crt_dbg_context(H5F_t *f, hid_t dxpl_id, haddr_t addr);
static herr_t H5HF_huge_bt2_indir_store(void *native, const void *udata);
static herr_t H5HF_huge_bt2_indir_compare(const void *rec1, const void *rec2);
@@ -78,8 +77,7 @@ static herr_t H5HF_huge_bt2_indir_encode(uint8_t *raw, const void *native,
void *ctx);
static herr_t H5HF_huge_bt2_indir_decode(const uint8_t *raw, void *native,
void *ctx);
-static herr_t H5HF_huge_bt2_indir_debug(FILE *stream, const H5F_t *f, hid_t dxpl_id,
- int indent, int fwidth, const void *record, const void *_udata);
+static herr_t H5HF_huge_bt2_indir_debug(FILE *stream, int indent, int fwidth, const void *record);
static herr_t H5HF_huge_bt2_filt_indir_store(void *native, const void *udata);
static herr_t H5HF_huge_bt2_filt_indir_compare(const void *rec1, const void *rec2);
@@ -87,8 +85,7 @@ static herr_t H5HF_huge_bt2_filt_indir_encode(uint8_t *raw, const void *native,
void *ctx);
static herr_t H5HF_huge_bt2_filt_indir_decode(const uint8_t *raw, void *native,
void *ctx);
-static herr_t H5HF_huge_bt2_filt_indir_debug(FILE *stream, const H5F_t *f, hid_t dxpl_id,
- int indent, int fwidth, const void *record, const void *_udata);
+static herr_t H5HF_huge_bt2_filt_indir_debug(FILE *stream, int indent, int fwidth, const void *record);
static herr_t H5HF_huge_bt2_dir_store(void *native, const void *udata);
static herr_t H5HF_huge_bt2_dir_compare(const void *rec1, const void *rec2);
@@ -96,8 +93,7 @@ static herr_t H5HF_huge_bt2_dir_encode(uint8_t *raw, const void *native,
void *ctx);
static herr_t H5HF_huge_bt2_dir_decode(const uint8_t *raw, void *native,
void *ctx);
-static herr_t H5HF_huge_bt2_dir_debug(FILE *stream, const H5F_t *f, hid_t dxpl_id,
- int indent, int fwidth, const void *record, const void *_udata);
+static herr_t H5HF_huge_bt2_dir_debug(FILE *stream, int indent, int fwidth, const void *record);
static herr_t H5HF_huge_bt2_filt_dir_store(void *native, const void *udata);
static herr_t H5HF_huge_bt2_filt_dir_compare(const void *rec1, const void *rec2);
@@ -105,8 +101,7 @@ static herr_t H5HF_huge_bt2_filt_dir_encode(uint8_t *raw, const void *native,
void *ctx);
static herr_t H5HF_huge_bt2_filt_dir_decode(const uint8_t *raw, void *native,
void *ctx);
-static herr_t H5HF_huge_bt2_filt_dir_debug(FILE *stream, const H5F_t *f, hid_t dxpl_id,
- int indent, int fwidth, const void *record, const void *_udata);
+static herr_t H5HF_huge_bt2_filt_dir_debug(FILE *stream, int indent, int fwidth, const void *record);
/*********************/
/* Package Variables */
@@ -122,9 +117,7 @@ const H5B2_class_t H5HF_HUGE_BT2_INDIR[1]={{ /* B-tree class information */
H5HF_huge_bt2_indir_compare, /* Record comparison callback */
H5HF_huge_bt2_indir_encode, /* Record encoding callback */
H5HF_huge_bt2_indir_decode, /* Record decoding callback */
- H5HF_huge_bt2_indir_debug, /* Record debugging callback */
- H5HF_huge_bt2_crt_dbg_context, /* Create debugging context */
- H5HF_huge_bt2_dst_context /* Destroy debugging context */
+ H5HF_huge_bt2_indir_debug /* Record debugging callback */
}};
/* v2 B-tree class for indirectly accessed, filtered 'huge' objects */
@@ -138,9 +131,7 @@ const H5B2_class_t H5HF_HUGE_BT2_FILT_INDIR[1]={{ /* B-tree class information */
H5HF_huge_bt2_filt_indir_compare, /* Record comparison callback */
H5HF_huge_bt2_filt_indir_encode, /* Record encoding callback */
H5HF_huge_bt2_filt_indir_decode, /* Record decoding callback */
- H5HF_huge_bt2_filt_indir_debug, /* Record debugging callback */
- H5HF_huge_bt2_crt_dbg_context, /* Create debugging context */
- H5HF_huge_bt2_dst_context /* Destroy debugging context */
+ H5HF_huge_bt2_filt_indir_debug /* Record debugging callback */
}};
/* v2 B-tree class for directly accessed 'huge' objects */
@@ -154,9 +145,7 @@ const H5B2_class_t H5HF_HUGE_BT2_DIR[1]={{ /* B-tree class information */
H5HF_huge_bt2_dir_compare, /* Record comparison callback */
H5HF_huge_bt2_dir_encode, /* Record encoding callback */
H5HF_huge_bt2_dir_decode, /* Record decoding callback */
- H5HF_huge_bt2_dir_debug, /* Record debugging callback */
- H5HF_huge_bt2_crt_dbg_context, /* Create debugging context */
- H5HF_huge_bt2_dst_context /* Destroy debugging context */
+ H5HF_huge_bt2_dir_debug /* Record debugging callback */
}};
/* v2 B-tree class for directly accessed, filtered 'huge' objects */
@@ -170,9 +159,7 @@ const H5B2_class_t H5HF_HUGE_BT2_FILT_DIR[1]={{ /* B-tree class information */
H5HF_huge_bt2_filt_dir_compare, /* Record comparison callback */
H5HF_huge_bt2_filt_dir_encode, /* Record encoding callback */
H5HF_huge_bt2_filt_dir_decode, /* Record decoding callback */
- H5HF_huge_bt2_filt_dir_debug, /* Record debugging callback */
- H5HF_huge_bt2_crt_dbg_context, /* Create debugging context */
- H5HF_huge_bt2_dst_context /* Destroy debugging context */
+ H5HF_huge_bt2_filt_dir_debug /* Record debugging callback */
}};
/*****************************/
@@ -265,46 +252,6 @@ H5HF_huge_bt2_dst_context(void *_ctx)
/*-------------------------------------------------------------------------
- * Function: H5HF_huge_bt2_crt_dbg_context
- *
- * Purpose: Create context for debugging callback
- *
- * Return: Success: non-NULL
- * Failure: NULL
- *
- * Programmer: Quincey Koziol
- * Tuesday, December 1, 2009
- *
- *-------------------------------------------------------------------------
- */
-static void *
-H5HF_huge_bt2_crt_dbg_context(H5F_t *f, hid_t H5_ATTR_UNUSED dxpl_id, haddr_t H5_ATTR_UNUSED addr)
-{
- H5HF_huge_bt2_ctx_t *ctx; /* Callback context structure */
- void *ret_value; /* Return value */
-
- FUNC_ENTER_NOAPI_NOINIT
-
- /* Sanity check */
- HDassert(f);
-
- /* Allocate callback context */
- if(NULL == (ctx = H5FL_MALLOC(H5HF_huge_bt2_ctx_t)))
- HGOTO_ERROR(H5E_HEAP, H5E_CANTALLOC, NULL, "can't allocate callback context")
-
- /* Determine the size of addresses & lengths in the file */
- ctx->sizeof_addr = H5F_SIZEOF_ADDR(f);
- ctx->sizeof_size = H5F_SIZEOF_SIZE(f);
-
- /* Set return value */
- ret_value = ctx;
-
-done:
- FUNC_LEAVE_NOAPI(ret_value)
-} /* H5HF_huge_bt2_crt_dbg_context() */
-
-
-/*-------------------------------------------------------------------------
* Function: H5HF_huge_bt2_indir_found
*
* Purpose: Retrieve record for indirectly accessed 'huge' object, when
@@ -505,9 +452,7 @@ H5HF_huge_bt2_indir_decode(const uint8_t *raw, void *_nrecord, void *_ctx)
*-------------------------------------------------------------------------
*/
static herr_t
-H5HF_huge_bt2_indir_debug(FILE *stream, const H5F_t H5_ATTR_UNUSED *f, hid_t H5_ATTR_UNUSED dxpl_id,
- int indent, int fwidth, const void *_nrecord,
- const void H5_ATTR_UNUSED *_udata)
+H5HF_huge_bt2_indir_debug(FILE *stream, int indent, int fwidth, const void *_nrecord)
{
const H5HF_huge_bt2_indir_rec_t *nrecord = (const H5HF_huge_bt2_indir_rec_t *)_nrecord;
@@ -727,9 +672,7 @@ H5HF_huge_bt2_filt_indir_decode(const uint8_t *raw, void *_nrecord, void *_ctx)
*-------------------------------------------------------------------------
*/
static herr_t
-H5HF_huge_bt2_filt_indir_debug(FILE *stream, const H5F_t H5_ATTR_UNUSED *f, hid_t H5_ATTR_UNUSED dxpl_id,
- int indent, int fwidth, const void *_nrecord,
- const void H5_ATTR_UNUSED *_udata)
+H5HF_huge_bt2_filt_indir_debug(FILE *stream, int indent, int fwidth, const void *_nrecord)
{
const H5HF_huge_bt2_filt_indir_rec_t *nrecord = (const H5HF_huge_bt2_filt_indir_rec_t *)_nrecord;
@@ -920,9 +863,7 @@ H5HF_huge_bt2_dir_decode(const uint8_t *raw, void *_nrecord, void *_ctx)
*-------------------------------------------------------------------------
*/
static herr_t
-H5HF_huge_bt2_dir_debug(FILE *stream, const H5F_t H5_ATTR_UNUSED *f, hid_t H5_ATTR_UNUSED dxpl_id,
- int indent, int fwidth, const void *_nrecord,
- const void H5_ATTR_UNUSED *_udata)
+H5HF_huge_bt2_dir_debug(FILE *stream, int indent, int fwidth, const void *_nrecord)
{
const H5HF_huge_bt2_dir_rec_t *nrecord = (const H5HF_huge_bt2_dir_rec_t *)_nrecord;
@@ -1149,8 +1090,7 @@ H5HF_huge_bt2_filt_dir_decode(const uint8_t *raw, void *_nrecord, void *_ctx)
*-------------------------------------------------------------------------
*/
static herr_t
-H5HF_huge_bt2_filt_dir_debug(FILE *stream, const H5F_t H5_ATTR_UNUSED *f, hid_t H5_ATTR_UNUSED dxpl_id,
- int indent, int fwidth, const void *_nrecord, const void H5_ATTR_UNUSED *_udata)
+H5HF_huge_bt2_filt_dir_debug(FILE *stream, int indent, int fwidth, const void *_nrecord)
{
const H5HF_huge_bt2_filt_dir_rec_t *nrecord = (const H5HF_huge_bt2_filt_dir_rec_t *)_nrecord;
diff --git a/src/H5HFdbg.c b/src/H5HFdbg.c
index 5183b67..736b98d 100644
--- a/src/H5HFdbg.c
+++ b/src/H5HFdbg.c
@@ -100,6 +100,80 @@ static herr_t H5HF_dtable_debug(const H5HF_dtable_t *dtable, FILE *stream,
/*-------------------------------------------------------------------------
+ * Function: H5HF_id_print
+ *
+ * Purpose: Prints a fractal heap ID.
+ *
+ * Return: Non-negative on success/Negative on failure
+ *
+ * Programmer: Quincey Koziol
+ * koziol@hdfgroup.org
+ * Aug 20 2015
+ *
+ *-------------------------------------------------------------------------
+ */
+herr_t
+H5HF_id_print(H5HF_t *fh, hid_t dxpl_id, const void *_id, FILE *stream, int indent, int fwidth)
+{
+ const uint8_t *id = (const uint8_t *)_id; /* Object ID */
+ uint8_t id_flags; /* Heap ID flag bits */
+ hsize_t obj_off; /* Offset of object */
+ size_t obj_len; /* Length of object */
+ char id_type; /* Character for the type of heap ID */
+ herr_t ret_value = SUCCEED; /* Return value */
+
+ FUNC_ENTER_NOAPI_NOINIT
+
+ /*
+ * Check arguments.
+ */
+ HDassert(fh);
+ HDassert(id);
+ HDassert(stream);
+ HDassert(indent >= 0);
+ HDassert(fwidth >= 0);
+
+ /* Get the ID flags */
+ id_flags = *id;
+
+ /* Check for correct heap ID version */
+ if((id_flags & H5HF_ID_VERS_MASK) != H5HF_ID_VERS_CURR)
+ HGOTO_ERROR(H5E_HEAP, H5E_VERSION, FAIL, "incorrect heap ID version")
+
+ /* Check type of object in heap */
+ if((id_flags & H5HF_ID_TYPE_MASK) == H5HF_ID_TYPE_MAN) {
+ id_type = 'M';
+ } /* end if */
+ else if((id_flags & H5HF_ID_TYPE_MASK) == H5HF_ID_TYPE_HUGE) {
+ id_type = 'H';
+ } /* end if */
+ else if((id_flags & H5HF_ID_TYPE_MASK) == H5HF_ID_TYPE_TINY) {
+ id_type = 'T';
+ } /* end if */
+ else {
+HDfprintf(stderr, "%s: Heap ID type not supported yet!\n", FUNC);
+HGOTO_ERROR(H5E_HEAP, H5E_UNSUPPORTED, FAIL, "heap ID type not supported yet")
+ } /* end else */
+
+ /* Get the length of the heap object */
+ if(H5HF_get_obj_len(fh, dxpl_id, id, &obj_len) < 0)
+ HGOTO_ERROR(H5E_HEAP, H5E_CANTGET, FAIL, "can't retrieve heap ID length")
+
+ /* Get the offset of the heap object */
+ if(H5HF_get_obj_off(fh, dxpl_id, id, &obj_off) < 0)
+ HGOTO_ERROR(H5E_HEAP, H5E_CANTGET, FAIL, "can't retrieve heap ID length")
+
+ /* Display the heap ID */
+ HDfprintf(stream, "%*s%-*s (%c, %Hu, %Zu)\n", indent, "", fwidth,
+ "Heap ID info: (type, offset, length)",
+ id_type, obj_off, obj_len);
+
+done:
+ FUNC_LEAVE_NOAPI(ret_value)
+} /* end H5HF_id_print() */
+
+
+/*-------------------------------------------------------------------------
* Function: H5HF_dtable_debug
*
* Purpose: Prints debugging info about a doubling table
diff --git a/src/H5HFhuge.c b/src/H5HFhuge.c
index 7f0da02..04cd425 100644
--- a/src/H5HFhuge.c
+++ b/src/H5HFhuge.c
@@ -585,6 +585,93 @@ done:
/*-------------------------------------------------------------------------
+ * Function: H5HF__huge_get_obj_off
+ *
+ * Purpose: Get the offset of a 'huge' object in a fractal heap
+ *
+ * Return: SUCCEED/FAIL
+ *
+ * Programmer: Quincey Koziol
+ * koziol@hdfgroup.org
+ * Aug 8 2006
+ *
+ *-------------------------------------------------------------------------
+ */
+herr_t
+H5HF__huge_get_obj_off(H5HF_hdr_t *hdr, hid_t dxpl_id, const uint8_t *id,
+ hsize_t *obj_off_p)
+{
+ haddr_t obj_addr; /* Object's address in the file */
+ herr_t ret_value = SUCCEED; /* Return value */
+
+ FUNC_ENTER_NOAPI_NOINIT
+
+ /*
+ * Check arguments.
+ */
+ HDassert(hdr);
+ HDassert(H5F_addr_defined(hdr->huge_bt2_addr));
+ HDassert(id);
+ HDassert(obj_off_p);
+
+ /* Skip over the flag byte */
+ id++;
+
+ /* Check if 'huge' object ID encodes address & length directly */
+ if(hdr->huge_ids_direct) {
+ /* Retrieve the object's address (common) */
+ H5F_addr_decode(hdr->f, &id, &obj_addr);
+ } /* end if */
+ else {
+ /* Sanity check */
+ HDassert(H5F_addr_defined(hdr->huge_bt2_addr));
+
+ /* Check if v2 B-tree is open yet */
+ if(NULL == hdr->huge_bt2) {
+ /* Open existing v2 B-tree */
+ if(NULL == (hdr->huge_bt2 = H5B2_open(hdr->f, dxpl_id, hdr->huge_bt2_addr, hdr->f)))
+ HGOTO_ERROR(H5E_HEAP, H5E_CANTOPENOBJ, FAIL, "unable to open v2 B-tree for tracking 'huge' heap objects")
+ } /* end if */
+
+ if(hdr->filter_len > 0) {
+ H5HF_huge_bt2_filt_indir_rec_t found_rec; /* Record found from tracking object */
+ H5HF_huge_bt2_filt_indir_rec_t search_rec; /* Record for searching for object */
+
+ /* Get ID for looking up 'huge' object in v2 B-tree */
+ UINT64DECODE_VAR(id, search_rec.id, hdr->huge_id_size)
+
+ /* Look up object in v2 B-tree */
+ if(H5B2_find(hdr->huge_bt2, dxpl_id, &search_rec, H5HF_huge_bt2_filt_indir_found, &found_rec) != TRUE)
+ HGOTO_ERROR(H5E_HEAP, H5E_NOTFOUND, FAIL, "can't find object in B-tree")
+
+ /* Retrieve the object's address & length */
+ obj_addr = found_rec.addr;
+ } /* end if */
+ else {
+ H5HF_huge_bt2_indir_rec_t found_rec; /* Record found from tracking object */
+ H5HF_huge_bt2_indir_rec_t search_rec; /* Record for searching for object */
+
+ /* Get ID for looking up 'huge' object in v2 B-tree */
+ UINT64DECODE_VAR(id, search_rec.id, hdr->huge_id_size)
+
+ /* Look up object in v2 B-tree */
+ if(H5B2_find(hdr->huge_bt2, dxpl_id, &search_rec, H5HF_huge_bt2_indir_found, &found_rec) != TRUE)
+ HGOTO_ERROR(H5E_HEAP, H5E_NOTFOUND, FAIL, "can't find object in B-tree")
+
+ /* Retrieve the object's address & length */
+ obj_addr = found_rec.addr;
+ } /* end else */
+ } /* end else */
+
+ /* Set the value to return */
+ *obj_off_p = (hsize_t)obj_addr;
+
+done:
+ FUNC_LEAVE_NOAPI(ret_value)
+} /* end H5HF__huge_get_obj_off() */
+
+
+/*-------------------------------------------------------------------------
* Function: H5HF_huge_op_real
*
* Purpose: Internal routine to perform an operation on a 'huge' object
diff --git a/src/H5HFman.c b/src/H5HFman.c
index 5f95a91..cfbcd87 100644
--- a/src/H5HFman.c
+++ b/src/H5HFman.c
@@ -256,6 +256,41 @@ H5HF_man_get_obj_len(H5HF_hdr_t *hdr, const uint8_t *id, size_t *obj_len_p)
/*-------------------------------------------------------------------------
+ * Function: H5HF__man_get_obj_off
+ *
+ * Purpose: Get the offset of a managed heap object
+ *
+ * Return: SUCCEED (Can't fail)
+ *
+ * Programmer: Quincey Koziol
+ * koziol@hdfgroup.org
+ * Aug 20 2015
+ *
+ *-------------------------------------------------------------------------
+ */
+void
+H5HF__man_get_obj_off(const H5HF_hdr_t *hdr, const uint8_t *id, hsize_t *obj_off_p)
+{
+ FUNC_ENTER_PACKAGE_NOERR
+
+ /*
+ * Check arguments.
+ */
+ HDassert(hdr);
+ HDassert(id);
+ HDassert(obj_off_p);
+
+ /* Skip over the flag byte */
+ id++;
+
+ /* Skip over object offset */
+ UINT64DECODE_VAR(id, *obj_off_p, hdr->heap_off_size);
+
+ FUNC_LEAVE_NOAPI_VOID
+} /* end H5HF__man_get_obj_off() */
+
+
+/*-------------------------------------------------------------------------
* Function: H5HF_man_op_real
*
* Purpose: Internal routine to perform an operation on a managed heap
diff --git a/src/H5HFpkg.h b/src/H5HFpkg.h
index 4655d83..685c83a 100644
--- a/src/H5HFpkg.h
+++ b/src/H5HFpkg.h
@@ -702,6 +702,8 @@ H5_DLL herr_t H5HF_man_insert(H5HF_hdr_t *fh, hid_t dxpl_id, size_t obj_size,
const void *obj, void *id);
H5_DLL herr_t H5HF_man_get_obj_len(H5HF_hdr_t *hdr, const uint8_t *id,
size_t *obj_len_p);
+H5_DLL void H5HF__man_get_obj_off(const H5HF_hdr_t *hdr, const uint8_t *id,
+ hsize_t *obj_off_p);
H5_DLL herr_t H5HF_man_read(H5HF_hdr_t *fh, hid_t dxpl_id, const uint8_t *id,
void *obj);
H5_DLL herr_t H5HF_man_write(H5HF_hdr_t *hdr, hid_t dxpl_id, const uint8_t *id,
@@ -716,6 +718,8 @@ H5_DLL herr_t H5HF_huge_insert(H5HF_hdr_t *hdr, hid_t dxpl_id, size_t obj_size,
void *obj, void *id);
H5_DLL herr_t H5HF_huge_get_obj_len(H5HF_hdr_t *hdr, hid_t dxpl_id,
const uint8_t *id, size_t *obj_len_p);
+H5_DLL herr_t H5HF__huge_get_obj_off(H5HF_hdr_t *hdr, hid_t dxpl_id,
+ const uint8_t *id, hsize_t *obj_off_p);
H5_DLL herr_t H5HF_huge_read(H5HF_hdr_t *fh, hid_t dxpl_id, const uint8_t *id,
void *obj);
H5_DLL herr_t H5HF_huge_write(H5HF_hdr_t *hdr, hid_t dxpl_id, const uint8_t *id,
@@ -748,7 +752,7 @@ H5_DLL herr_t H5HF_tiny_remove(H5HF_hdr_t *fh, const uint8_t *id);
/* Debugging routines for dumping file structures */
H5_DLL void H5HF_hdr_print(const H5HF_hdr_t *hdr, hid_t dxpl_id,
- hbool_t dump_internal, FILE *stream, int indent, int fwidth);
+ hbool_t dump_internal, FILE *stream, int indent, int fwidth);
H5_DLL herr_t H5HF_hdr_debug(H5F_t *f, hid_t dxpl_id, haddr_t addr,
FILE *stream, int indent, int fwidth);
H5_DLL herr_t H5HF_dblock_debug(H5F_t *f, hid_t dxpl_id, haddr_t addr,
diff --git a/src/H5HFprivate.h b/src/H5HFprivate.h
index 55daa30..441ad3e 100644
--- a/src/H5HFprivate.h
+++ b/src/H5HFprivate.h
@@ -116,6 +116,8 @@ H5_DLL herr_t H5HF_insert(H5HF_t *fh, hid_t dxpl_id, size_t size,
const void *obj, void *id/*out*/);
H5_DLL herr_t H5HF_get_obj_len(H5HF_t *fh, hid_t dxpl_id, const void *id,
size_t *obj_len_p/*out*/);
+H5_DLL herr_t H5HF_get_obj_off(H5HF_t *fh, hid_t dxpl_id, const void *_id,
+ hsize_t *obj_off_p/*out*/);
H5_DLL herr_t H5HF_read(H5HF_t *fh, hid_t dxpl_id, const void *id,
void *obj/*out*/);
H5_DLL herr_t H5HF_write(H5HF_t *fh, hid_t dxpl_id, void *id, hbool_t *id_changed,
@@ -131,6 +133,8 @@ H5_DLL herr_t H5HF_stat_info(const H5HF_t *fh, H5HF_stat_t *stats);
H5_DLL herr_t H5HF_size(const H5HF_t *fh, hid_t dxpl_id, hsize_t *heap_size/*out*/);
/* Debugging routines */
+H5_DLL herr_t H5HF_id_print(H5HF_t *fh, hid_t dxpl_id,
+ const void *id, FILE *stream, int indent, int fwidth);
#ifdef H5HF_DEBUGGING
H5_DLL herr_t H5HF_sects_debug(H5F_t *f, hid_t dxpl_id, haddr_t addr,
FILE *stream, int indent, int fwidth);
diff --git a/src/H5HL.c b/src/H5HL.c
index eae0482..49af528 100644
--- a/src/H5HL.c
+++ b/src/H5HL.c
@@ -763,7 +763,7 @@ H5HL_insert(H5F_t *f, hid_t dxpl_id, H5HL_t *heap, size_t buf_size, const void *
size_t need_more; /* How much more space we need */
size_t new_dblk_size; /* Final size of space allocated for heap data block */
size_t old_dblk_size; /* Previous size of space allocated for heap data block */
- htri_t extended; /* Whether the local heap's data segment on disk was extended */
+ htri_t was_extended; /* Whether the local heap's data segment on disk was extended */
/* At least double the heap's size, making certain there's enough room
* for the new object */
@@ -786,12 +786,12 @@ H5HL_insert(H5F_t *f, hid_t dxpl_id, H5HL_t *heap, size_t buf_size, const void *
H5_CHECK_OVERFLOW(new_dblk_size, size_t, hsize_t);
/* Extend current heap if possible */
- extended = H5MF_try_extend(f, dxpl_id, H5FD_MEM_LHEAP, heap->dblk_addr, (hsize_t)(heap->dblk_size), (hsize_t)need_more);
- if(extended < 0)
+ was_extended = H5MF_try_extend(f, dxpl_id, H5FD_MEM_LHEAP, heap->dblk_addr, (hsize_t)(heap->dblk_size), (hsize_t)need_more);
+ if(was_extended < 0)
HGOTO_ERROR(H5E_HEAP, H5E_CANTEXTEND, UFAIL, "error trying to extend heap")
- /* Check if we extended the heap data block in file */
- if(extended == TRUE) {
+ /* Check if we extended the heap data block in file */
+ if(was_extended == TRUE) {
/* Check for prefix & data block contiguous */
if(heap->single_cache_obj) {
/* Resize prefix+data block */
diff --git a/src/H5Lexternal.c b/src/H5Lexternal.c
index ae13e6b..08d401e 100644
--- a/src/H5Lexternal.c
+++ b/src/H5Lexternal.c
@@ -125,8 +125,6 @@ H5L_getenv_prefix_name(char **env_prefix/*in,out*/)
*
* Programmer: Vailin Choi, April 2, 2008
*
- * Modification: Raymond Lu, 14 Jan. 2009
- * Added support for OpenVMS pathname
--------------------------------------------------------------------------*/
static herr_t
H5L_build_name(char *prefix, char *file_name, char **full_name/*out*/)
diff --git a/src/H5MFaggr.c b/src/H5MFaggr.c
index 3701441..c5a7b49 100644
--- a/src/H5MFaggr.c
+++ b/src/H5MFaggr.c
@@ -211,7 +211,7 @@ HDfprintf(stderr, "%s: aggr = {%a, %Hu, %Hu}\n", FUNC, aggr->addr, aggr->tot_siz
/* Check if the space requested is larger than the space left in the block */
if((size + aggr_frag_size) > aggr->size) {
- htri_t extended = FALSE; /* Whether the file was extended */
+ htri_t was_extended = FALSE; /* Whether the file was extended */
/* Check if the block asked for is too large for 'normal' aggregator block */
if(size >= aggr->alloc_size) {
@@ -221,9 +221,9 @@ HDfprintf(stderr, "%s: aggr = {%a, %Hu, %Hu}\n", FUNC, aggr->addr, aggr->tot_siz
if(H5F_addr_gt((aggr->addr + aggr->size + ext_size), f->shared->tmp_addr))
HGOTO_ERROR(H5E_RESOURCE, H5E_BADRANGE, HADDR_UNDEF, "'normal' file space allocation request will overlap into 'temporary' file space")
- if ((aggr->addr > 0) && (extended = H5FD_try_extend(f->shared->lf, alloc_type, f, aggr->addr + aggr->size, ext_size)) < 0)
+ if ((aggr->addr > 0) && (was_extended = H5FD_try_extend(f->shared->lf, alloc_type, f, aggr->addr + aggr->size, ext_size)) < 0)
HGOTO_ERROR(H5E_RESOURCE, H5E_CANTALLOC, HADDR_UNDEF, "can't extending space")
- else if (extended) {
+ else if (was_extended) {
/* aggr->size is unchanged */
ret_value = aggr->addr + aggr_frag_size;
aggr->addr += ext_size;
@@ -263,9 +263,9 @@ HDfprintf(stderr, "%s: Allocating block\n", FUNC);
if(H5F_addr_gt((aggr->addr + aggr->size + ext_size), f->shared->tmp_addr))
HGOTO_ERROR(H5E_RESOURCE, H5E_BADRANGE, HADDR_UNDEF, "'normal' file space allocation request will overlap into 'temporary' file space")
- if((aggr->addr > 0) && (extended = H5FD_try_extend(f->shared->lf, alloc_type, f, aggr->addr + aggr->size, ext_size)) < 0)
+ if((aggr->addr > 0) && (was_extended = H5FD_try_extend(f->shared->lf, alloc_type, f, aggr->addr + aggr->size, ext_size)) < 0)
HGOTO_ERROR(H5E_RESOURCE, H5E_CANTALLOC, HADDR_UNDEF, "can't extending space")
- else if (extended) {
+ else if (was_extended) {
aggr->addr += aggr_frag_size;
aggr->size += (ext_size - aggr_frag_size);
aggr->tot_size += ext_size;
@@ -313,7 +313,7 @@ HDfprintf(stderr, "%s: Allocating block\n", FUNC);
HGOTO_ERROR(H5E_RESOURCE, H5E_CANTFREE, HADDR_UNDEF, "can't free eoa fragment")
/* Freeing any possible fragment due to alignment in the block after extension */
- if(extended && aggr_frag_size)
+ if(was_extended && aggr_frag_size)
if(H5MF_xfree(f, alloc_type, dxpl_id, aggr_frag_addr, aggr_frag_size) < 0)
HGOTO_ERROR(H5E_RESOURCE, H5E_CANTFREE, HADDR_UNDEF, "can't free aggregation fragment")
} /* end if */
diff --git a/src/H5Oalloc.c b/src/H5Oalloc.c
index 76f392d..e9d4f85 100644
--- a/src/H5Oalloc.c
+++ b/src/H5Oalloc.c
@@ -514,7 +514,7 @@ H5O_alloc_extend_chunk(H5F_t *f, hid_t dxpl_id, H5O_t *oh, unsigned chunkno,
size_t aligned_size = H5O_ALIGN_OH(oh, size);
uint8_t *old_image; /* Old address of chunk's image in memory */
size_t old_size; /* Old size of chunk */
- htri_t extended; /* If chunk can be extended */
+ htri_t was_extended; /* If chunk can be extended */
size_t extend_msg; /* Index of null message to extend */
hbool_t extended_msg = FALSE; /* Whether an existing message was extended */
uint8_t new_size_flags = 0; /* New chunk #0 size flags */
@@ -592,11 +592,11 @@ H5O_alloc_extend_chunk(H5F_t *f, hid_t dxpl_id, H5O_t *oh, unsigned chunkno,
HGOTO_ERROR(H5E_OHDR, H5E_CANTPROTECT, FAIL, "unable to load object header chunk")
/* Determine whether the chunk can be extended */
- extended = H5MF_try_extend(f, dxpl_id, H5FD_MEM_OHDR, oh->chunk[chunkno].addr,
+ was_extended = H5MF_try_extend(f, dxpl_id, H5FD_MEM_OHDR, oh->chunk[chunkno].addr,
(hsize_t)(oh->chunk[chunkno].size), (hsize_t)(delta + extra_prfx_size));
- if(extended < 0) /* error */
+ if(was_extended < 0) /* error */
HGOTO_ERROR(H5E_OHDR, H5E_CANTEXTEND, FAIL, "can't tell if we can extend chunk")
- else if(extended == FALSE) /* can't extend -- we are done */
+ else if(was_extended == FALSE) /* can't extend -- we are done */
HGOTO_DONE(FALSE)
/* Adjust object header prefix flags */
diff --git a/src/H5Odbg.c b/src/H5Odbg.c
index 0388cd5..bd789c5 100644
--- a/src/H5Odbg.c
+++ b/src/H5Odbg.c
@@ -454,20 +454,23 @@ H5O_debug_real(H5F_t *f, hid_t dxpl_id, H5O_t *oh, haddr_t addr, FILE *stream, i
if(oh->mesg[i].flags) {
hbool_t flag_printed = FALSE;
- if(oh->mesg[i].flags & H5O_MSG_FLAG_SHARED) {
- HDfprintf(stream, "<S");
- flag_printed = TRUE;
- } /* end if */
+ /* Sanity check that all flags in format are covered below */
+ HDcompile_assert(H5O_MSG_FLAG_BITS == (H5O_MSG_FLAG_CONSTANT|H5O_MSG_FLAG_SHARED|H5O_MSG_FLAG_DONTSHARE|H5O_MSG_FLAG_FAIL_IF_UNKNOWN_AND_OPEN_FOR_WRITE|H5O_MSG_FLAG_MARK_IF_UNKNOWN|H5O_MSG_FLAG_WAS_UNKNOWN|H5O_MSG_FLAG_SHAREABLE|H5O_MSG_FLAG_FAIL_IF_UNKNOWN_ALWAYS));
+
if(oh->mesg[i].flags & H5O_MSG_FLAG_CONSTANT) {
HDfprintf(stream, "%sC", (flag_printed ? ", " : "<"));
flag_printed = TRUE;
} /* end if */
+ if(oh->mesg[i].flags & H5O_MSG_FLAG_SHARED) {
+ HDfprintf(stream, "%sS", (flag_printed ? ", " : "<"));
+ flag_printed = TRUE;
+ } /* end if */
if(oh->mesg[i].flags & H5O_MSG_FLAG_DONTSHARE) {
HDfprintf(stream, "%sDS", (flag_printed ? ", " : "<"));
flag_printed = TRUE;
} /* end if */
if(oh->mesg[i].flags & H5O_MSG_FLAG_FAIL_IF_UNKNOWN_AND_OPEN_FOR_WRITE) {
- HDfprintf(stream, "%sFIU", (flag_printed ? ", " : "<"));
+ HDfprintf(stream, "%sFIUW", (flag_printed ? ", " : "<"));
flag_printed = TRUE;
} /* end if */
if(oh->mesg[i].flags & H5O_MSG_FLAG_MARK_IF_UNKNOWN) {
@@ -479,6 +482,14 @@ H5O_debug_real(H5F_t *f, hid_t dxpl_id, H5O_t *oh, haddr_t addr, FILE *stream, i
HDfprintf(stream, "%sWU", (flag_printed ? ", " : "<"));
flag_printed = TRUE;
} /* end if */
+ if(oh->mesg[i].flags & H5O_MSG_FLAG_SHAREABLE) {
+ HDfprintf(stream, "%sSA", (flag_printed ? ", " : "<"));
+ flag_printed = TRUE;
+ } /* end if */
+ if(oh->mesg[i].flags & H5O_MSG_FLAG_FAIL_IF_UNKNOWN_ALWAYS) {
+ HDfprintf(stream, "%sFIUA", (flag_printed ? ", " : "<"));
+ flag_printed = TRUE;
+ } /* end if */
if(!flag_printed)
HDfprintf(stream, "-");
HDfprintf(stream, ">\n");
diff --git a/src/H5Olink.c b/src/H5Olink.c
index 53191ca..7e70196 100644
--- a/src/H5Olink.c
+++ b/src/H5Olink.c
@@ -834,7 +834,7 @@ H5O_link_debug(H5F_t H5_ATTR_UNUSED *f, hid_t H5_ATTR_UNUSED dxpl_id, const void
HDfprintf(stream, "%*s%-*s %s\n", indent, "", fwidth,
"Link Name Character Set:", (lnk->cset == H5T_CSET_ASCII ?
"ASCII" : (lnk->cset == H5T_CSET_UTF8 ? "UTF-8" : "Unknown")));
- HDfprintf(stream, "%*s%-*s %s\n", indent, "", fwidth,
+ HDfprintf(stream, "%*s%-*s '%s'\n", indent, "", fwidth,
"Link Name:", lnk->name);
/* Display link-specific information */
@@ -845,7 +845,7 @@ H5O_link_debug(H5F_t H5_ATTR_UNUSED *f, hid_t H5_ATTR_UNUSED dxpl_id, const void
break;
case H5L_TYPE_SOFT:
- HDfprintf(stream, "%*s%-*s %s\n", indent, "", fwidth,
+ HDfprintf(stream, "%*s%-*s '%s'\n", indent, "", fwidth,
"Link Value:", lnk->u.soft.name);
break;
diff --git a/src/H5SM.c b/src/H5SM.c
index 1d391f1..1fc3b85 100644
--- a/src/H5SM.c
+++ b/src/H5SM.c
@@ -2580,14 +2580,15 @@ done:
*-------------------------------------------------------------------------
*/
herr_t
-H5SM_list_debug(H5F_t *f, hid_t dxpl_id, haddr_t list_addr,
- FILE *stream, int indent, int fwidth,
- unsigned table_vers, size_t num_messages)
+H5SM_list_debug(H5F_t *f, hid_t dxpl_id, haddr_t list_addr, FILE *stream,
+ int indent, int fwidth, haddr_t table_addr)
{
-
+ H5SM_master_table_t *table = NULL; /* SOHM master table */
H5SM_list_t *list = NULL; /* SOHM index list for message type (if in list form) */
- H5SM_index_header_t header; /* A "false" header used to read the list */
- H5SM_list_cache_ud_t cache_udata; /* User-data for metadata cache callback */
+ H5SM_list_cache_ud_t lst_cache_udata; /* List user-data for metadata cache callback */
+ H5SM_table_cache_ud_t tbl_cache_udata; /* Table user-data for metadata cache callback */
+ H5HF_t *fh = NULL; /* Fractal heap for SOHM messages */
+ unsigned index_num; /* Index of list, within master table */
unsigned x; /* Counter variable */
herr_t ret_value = SUCCEED; /* Return value */
@@ -2599,36 +2600,51 @@ H5SM_list_debug(H5F_t *f, hid_t dxpl_id, haddr_t list_addr,
HDassert(indent >= 0);
HDassert(fwidth >= 0);
- /* Check arguments. Version must be 0, the only version implemented so far */
- if(table_vers > H5SM_LIST_VERSION)
- HGOTO_ERROR(H5E_SOHM, H5E_BADVALUE, FAIL, "unknown shared message list version")
- if(num_messages == 0 || num_messages > H5O_SHMESG_MAX_LIST_SIZE)
- HGOTO_ERROR(H5E_SOHM, H5E_BADVALUE, FAIL, "number of indexes must be between 1 and H5O_SHMESG_MAX_NINDEXES")
+ /* Set up user data for callback */
+ tbl_cache_udata.f = f;
+
+ /* Look up the master SOHM table */
+ if(NULL == (table = (H5SM_master_table_t *)H5AC_protect(f, dxpl_id, H5AC_SOHM_TABLE, table_addr, &tbl_cache_udata, H5AC__READ_ONLY_FLAG)))
+ HGOTO_ERROR(H5E_SOHM, H5E_CANTPROTECT, FAIL, "unable to load SOHM master table")
- /* Create a temporary header using the arguments. The cache needs this to load the list. */
- HDmemset(&header, 0, sizeof(H5SM_index_header_t));
- header.list_max = header.num_messages = num_messages;
- header.index_type = H5SM_LIST;
- header.index_addr = list_addr;
+ /* Determine which index the list is part of */
+ index_num = table->num_indexes;
+ for(x = 0; x < table->num_indexes; x++) {
+ if(H5F_addr_eq(table->indexes[x].index_addr, list_addr)) {
+ index_num = x;
+ break;
+ } /* end if */
+ } /* end for */
+ if(x == table->num_indexes)
+ HGOTO_ERROR(H5E_SOHM, H5E_BADVALUE, FAIL, "list address doesn't match address for any indices in table")
/* Set up user data for metadata cache callback */
- cache_udata.f = f;
- cache_udata.header = &header;
+ lst_cache_udata.f = f;
+ lst_cache_udata.header = &(table->indexes[index_num]);
/* Get the list from the cache */
- if(NULL == (list = (H5SM_list_t *)H5AC_protect(f, dxpl_id, H5AC_SOHM_LIST, list_addr, &cache_udata, H5AC__READ_ONLY_FLAG)))
+ if(NULL == (list = (H5SM_list_t *)H5AC_protect(f, dxpl_id, H5AC_SOHM_LIST, list_addr, &lst_cache_udata, H5AC__READ_ONLY_FLAG)))
HGOTO_ERROR(H5E_SOHM, H5E_CANTPROTECT, FAIL, "unable to load SOHM index")
+ /* Open the heap, if one exists */
+ if(H5F_addr_defined(table->indexes[index_num].heap_addr))
+ if(NULL == (fh = H5HF_open(f, dxpl_id, table->indexes[index_num].heap_addr)))
+ HGOTO_ERROR(H5E_SOHM, H5E_CANTOPENOBJ, FAIL, "unable to open SOHM heap")
+
HDfprintf(stream, "%*sShared Message List Index...\n", indent, "");
- for(x = 0; x < num_messages; ++x) {
+ for(x = 0; x < table->indexes[index_num].num_messages; ++x) {
HDfprintf(stream, "%*sShared Object Header Message %d...\n", indent, "", x);
HDfprintf(stream, "%*s%-*s %08lu\n", indent + 3, "", fwidth,
"Hash value:", (unsigned long)list->messages[x].hash);
if(list->messages[x].location == H5SM_IN_HEAP) {
+ HDassert(fh);
+
HDfprintf(stream, "%*s%-*s %s\n", indent + 3, "", fwidth,
"Location:", "in heap");
- HDfprintf(stream, "%*s%-*s %Zu\n", indent + 3, "", fwidth,
+ HDfprintf(stream, "%*s%-*s 0x%Zx\n", indent + 3, "", fwidth,
"Heap ID:", list->messages[x].u.heap_loc.fheap_id);
+H5HF_id_print(fh, dxpl_id,
+ &(list->messages[x].u.heap_loc.fheap_id), stream, indent + 6, (fwidth - 3));
HDfprintf(stream, "%*s%-*s %u\n", indent + 3, "", fwidth,
"Reference count:", list->messages[x].u.heap_loc.ref_count);
} /* end if */
@@ -2648,8 +2664,12 @@ H5SM_list_debug(H5F_t *f, hid_t dxpl_id, haddr_t list_addr,
} /* end for */
done:
+ if(fh && H5HF_close(fh, dxpl_id) < 0)
+ HDONE_ERROR(H5E_SOHM, H5E_CANTCLOSEOBJ, FAIL, "unable to close SOHM heap")
if(list && H5AC_unprotect(f, dxpl_id, H5AC_SOHM_LIST, list_addr, list, H5AC__NO_FLAGS_SET) < 0)
HDONE_ERROR(H5E_SOHM, H5E_CANTUNPROTECT, FAIL, "unable to close SOHM index")
+ if(table && H5AC_unprotect(f, dxpl_id, H5AC_SOHM_TABLE, table_addr, table, H5AC__NO_FLAGS_SET) < 0)
+ HDONE_ERROR(H5E_SOHM, H5E_CANTUNPROTECT, FAIL, "unable to close SOHM master table")
FUNC_LEAVE_NOAPI_TAG(ret_value, FAIL)
} /* end H5SM_list_debug() */
diff --git a/src/H5SMbtree2.c b/src/H5SMbtree2.c
index e18e9fb..7706cbd 100644
--- a/src/H5SMbtree2.c
+++ b/src/H5SMbtree2.c
@@ -48,9 +48,8 @@
static void *H5SM_bt2_crt_context(void *udata);
static herr_t H5SM_bt2_dst_context(void *ctx);
static herr_t H5SM_bt2_store(void *native, const void *udata);
-static herr_t H5SM_bt2_debug(FILE *stream, const H5F_t *f, hid_t dxpl_id,
- int indent, int fwidth, const void *record, const void *_udata);
-static void *H5SM_bt2_crt_dbg_context(H5F_t *f, hid_t dxpl_id, haddr_t addr);
+static herr_t H5SM_bt2_debug(FILE *stream, int indent, int fwidth,
+ const void *record);
/*****************************/
@@ -67,9 +66,7 @@ const H5B2_class_t H5SM_INDEX[1]={{ /* B-tree class information */
H5SM_message_compare, /* Record comparison callback */
H5SM_message_encode, /* Record encoding callback */
H5SM_message_decode, /* Record decoding callback */
- H5SM_bt2_debug, /* Record debugging callback */
- H5SM_bt2_crt_dbg_context, /* Create debugging context */
- H5SM_bt2_dst_context /* Destroy debugging context */
+ H5SM_bt2_debug /* Record debugging callback */
}};
@@ -195,8 +192,7 @@ H5SM_bt2_store(void *native, const void *udata)
*-------------------------------------------------------------------------
*/
static herr_t
-H5SM_bt2_debug(FILE *stream, const H5F_t H5_ATTR_UNUSED *f, hid_t H5_ATTR_UNUSED dxpl_id,
- int indent, int fwidth, const void *record, const void H5_ATTR_UNUSED *_udata)
+H5SM_bt2_debug(FILE *stream, int indent, int fwidth, const void *record)
{
const H5SM_sohm_t *sohm = (const H5SM_sohm_t *)record;
@@ -218,45 +214,6 @@ H5SM_bt2_debug(FILE *stream, const H5F_t H5_ATTR_UNUSED *f, hid_t H5_ATTR_UNUSED
/*-------------------------------------------------------------------------
- * Function: H5SM_bt2_crt_dbg_context
- *
- * Purpose: Create context for debugging callback
- *
- * Return: Success: non-NULL
- * Failure: NULL
- *
- * Programmer: Quincey Koziol
- * Tuesday, December 1, 2009
- *
- *-------------------------------------------------------------------------
- */
-static void *
-H5SM_bt2_crt_dbg_context(H5F_t *f, hid_t H5_ATTR_UNUSED dxpl_id, haddr_t H5_ATTR_UNUSED addr)
-{
- H5SM_bt2_ctx_t *ctx; /* Callback context structure */
- void *ret_value; /* Return value */
-
- FUNC_ENTER_NOAPI_NOINIT
-
- /* Sanity check */
- HDassert(f);
-
- /* Allocate callback context */
- if(NULL == (ctx = H5FL_MALLOC(H5SM_bt2_ctx_t)))
- HGOTO_ERROR(H5E_HEAP, H5E_CANTALLOC, NULL, "can't allocate callback context")
-
- /* Determine the size of addresses & lengths in the file */
- ctx->sizeof_addr = H5F_SIZEOF_ADDR(f);
-
- /* Set return value */
- ret_value = ctx;
-
-done:
- FUNC_LEAVE_NOAPI(ret_value)
-} /* H5SM_bt2_crt_dbg_context() */
-
-
-/*-------------------------------------------------------------------------
* Function: H5SM_bt2_convert_to_list_op
*
* Purpose: An H5B2_remove_t callback function to convert a SOHM
diff --git a/src/H5SMprivate.h b/src/H5SMprivate.h
index d072434..57afacf 100644
--- a/src/H5SMprivate.h
+++ b/src/H5SMprivate.h
@@ -74,7 +74,7 @@ H5_DLL herr_t H5SM_table_debug(H5F_t *f, hid_t dxpl_id, haddr_t table_addr,
FILE *stream, int indent, int fwidth, unsigned table_vers,
unsigned num_indexes);
H5_DLL herr_t H5SM_list_debug(H5F_t *f, hid_t dxpl_id, haddr_t list_addr,
- FILE *stream, int indent, int fwidth, unsigned list_vers, size_t num_messages);
+ FILE *stream, int indent, int fwidth, haddr_t table_addr);
#endif /*_H5SMprivate_H*/
diff --git a/src/H5Tconv.c b/src/H5Tconv.c
index b14f6e5..6847e68 100644
--- a/src/H5Tconv.c
+++ b/src/H5Tconv.c
@@ -4255,7 +4255,11 @@ H5T__conv_f_f(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts,
HGOTO_ERROR(H5E_DATATYPE, H5E_CANTCONVERT, FAIL, "can't handle conversion exception")
goto padding;
-#ifndef H5_VMS /*Temporary solution to handle VAX special values*/
+ /* Temporary solution to handle VAX special values.
+ * Note that even though we don't support VAX anymore, we
+ * still need to handle legacy VAX files so this code must
+ * remain in place.
+ */
} else if (H5T__bit_find (s, src.u.f.epos, src.u.f.esize,
H5T_BIT_LSB, FALSE)<0) {
/* NaN */
@@ -4280,7 +4284,6 @@ H5T__conv_f_f(hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, size_t nelmts,
HGOTO_ERROR(H5E_DATATYPE, H5E_CANTCONVERT, FAIL, "can't handle conversion exception")
goto padding;
-#endif /*H5_VMS*/
}
/*
diff --git a/src/H5api_adpt.h b/src/H5api_adpt.h
index 74066f7..ab7287c 100644
--- a/src/H5api_adpt.h
+++ b/src/H5api_adpt.h
@@ -47,7 +47,7 @@
/* This will only be defined if HDF5 was built with CMake */
#ifdef H5_BUILT_AS_DYNAMIC_LIB
-#if defined(hdf5_EXPORTS)
+#if defined(hdf5_shared_EXPORTS)
#if defined (_MSC_VER) /* MSVC Compiler Case */
#define H5_DLL __declspec(dllexport)
#define H5_DLLVAR extern __declspec(dllexport)
@@ -70,7 +70,7 @@
#define H5_DLLVAR extern
#endif /* _HDF5DLL_ */
-#if defined(hdf5_test_EXPORTS)
+#if defined(hdf5_test_shared_EXPORTS)
#if defined (_MSC_VER) /* MSVC Compiler Case */
#define H5TEST_DLL __declspec(dllexport)
#define H5TEST_DLLVAR extern __declspec(dllexport)
@@ -93,7 +93,7 @@
#define H5TEST_DLLVAR extern
#endif /* H5TEST_DLL */
-#if defined(hdf5_tools_EXPORTS)
+#if defined(hdf5_tools_shared_EXPORTS)
#if defined (_MSC_VER) /* MSVC Compiler Case */
#define H5TOOLS_DLL __declspec(dllexport)
#define H5TOOLS_DLLVAR extern __declspec(dllexport)
@@ -116,7 +116,7 @@
#define H5TOOLS_DLLVAR extern
#endif /* H5TOOLS_DLL */
-#if defined(hdf5_cpp_EXPORTS)
+#if defined(hdf5_cpp_shared_EXPORTS)
#if defined (_MSC_VER) /* MSVC Compiler Case */
#define H5_DLLCPP __declspec(dllexport)
#define H5_DLLCPPVAR extern __declspec(dllexport)
@@ -139,7 +139,7 @@
#define H5_DLLCPPVAR extern
#endif /* H5_DLLCPP */
-#if defined(hdf5_hl_EXPORTS)
+#if defined(hdf5_hl_shared_EXPORTS)
#if defined (_MSC_VER) /* MSVC Compiler Case */
#define H5_HLDLL __declspec(dllexport)
#define H5_HLDLLVAR extern __declspec(dllexport)
@@ -162,7 +162,7 @@
#define H5_HLDLLVAR extern
#endif /* H5_HLDLL */
-#if defined(hdf5_hl_cpp_EXPORTS)
+#if defined(hdf5_hl_cpp_shared_EXPORTS)
#if defined (_MSC_VER) /* MSVC Compiler Case */
#define H5_HLCPPDLL __declspec(dllexport)
#define H5_HLCPPDLLVAR extern __declspec(dllexport)
@@ -185,7 +185,7 @@
#define H5_HLCPPDLLVAR extern
#endif /* H5_HLCPPDLL */
-#if defined(hdf5_f90cstub_EXPORTS)
+#if defined(hdf5_f90cstub_shared_EXPORTS)
#if defined (_MSC_VER) /* MSVC Compiler Case */
#define H5_FCDLL __declspec(dllexport)
#define H5_FCDLLVAR extern __declspec(dllexport)
@@ -208,7 +208,7 @@
#define H5_FCDLLVAR extern
#endif /* H5_FCDLL */
-#if defined(hdf5_test_f90cstub_EXPORTS)
+#if defined(hdf5_test_f90cstub_shared_EXPORTS)
#if defined (_MSC_VER) /* MSVC Compiler Case */
#define H5_FCTESTDLL __declspec(dllexport)
#define H5_FCTESTDLLVAR extern __declspec(dllexport)
@@ -231,7 +231,7 @@
#define H5_FCTESTDLLVAR extern
#endif /* H5_FCTESTDLL */
-#if defined(hdf5_hl_f90cstub_EXPORTS)
+#if defined(hdf5_hl_f90cstub_shared_EXPORTS)
#if defined (_MSC_VER) /* MSVC Compiler Case */
#define HDF5_HL_F90CSTUBDLL __declspec(dllexport)
#define HDF5_HL_F90CSTUBDLLVAR extern __declspec(dllexport)
diff --git a/src/H5config.h.in b/src/H5config.h.in
index c0f4466..ad8dcf9 100644
--- a/src/H5config.h.in
+++ b/src/H5config.h.in
@@ -30,6 +30,39 @@
/* As FC_FUNC, but for C identifiers containing underscores. */
#undef FC_FUNC_
+/* Define if Fortran C_LONG_DOUBLE is different from C_DOUBLE */
+#undef FORTRAN_C_LONG_DOUBLE_IS_UNIQUE
+
+/* Define if we have Fortran C_LONG_DOUBLE */
+#undef FORTRAN_HAVE_C_LONG_DOUBLE
+
+/* Define if we have Fortran intrinsic C_SIZEOF */
+#undef FORTRAN_HAVE_C_SIZEOF
+
+/* Define if we have Fortran intrinsic SIZEOF */
+#undef FORTRAN_HAVE_SIZEOF
+
+/* Define if we have Fortran intrinsic STORAGE_SIZE */
+#undef FORTRAN_HAVE_STORAGE_SIZE
+
+/* Determine the size of C long double */
+#undef FORTRAN_SIZEOF_LONG_DOUBLE
+
+/* Define valid Fortran INTEGER KINDs */
+#undef H5CONFIG_F_IKIND
+
+/* Define number of valid Fortran INTEGER KINDs */
+#undef H5CONFIG_F_NUM_IKIND
+
+/* Define number of valid Fortran REAL KINDs */
+#undef H5CONFIG_F_NUM_RKIND
+
+/* Define valid Fortran REAL KINDs */
+#undef H5CONFIG_F_RKIND
+
+/* Define valid Fortran REAL KINDs Sizeof */
+#undef H5CONFIG_F_RKIND_SIZEOF
+
/* Define to 1 if you have the `alarm' function. */
#undef HAVE_ALARM
@@ -82,6 +115,9 @@
/* Define if support for szip filter is enabled */
#undef HAVE_FILTER_SZIP
+/* Determine if __float128 is available */
+#undef HAVE_FLOAT128
+
/* Define to 1 if you have the `fork' function. */
#undef HAVE_FORK
@@ -112,6 +148,9 @@
/* Define if the compiler understands the __FUNCTION__ keyword */
#undef HAVE_FUNCTION
+/* Determine if INTEGER*16 is available */
+#undef HAVE_Fortran_INTEGER_SIZEOF_16
+
/* Define to 1 if you have the `GetConsoleScreenBufferInfo' function. */
#undef HAVE_GETCONSOLESCREENBUFFERINFO
@@ -212,6 +251,9 @@
/* Define to 1 if you have the <pthread.h> header file. */
#undef HAVE_PTHREAD_H
+/* Define to 1 if you have the <quadmath.h> header file. */
+#undef HAVE_QUADMATH_H
+
/* Define to 1 if you have the `random' function. */
#undef HAVE_RANDOM
@@ -418,6 +460,12 @@
/* Define to the version of this package. */
#undef PACKAGE_VERSION
+/* Determine the maximum decimal precision in C */
+#undef PAC_C_MAX_REAL_PRECISION
+
+/* Define Fortran Maximum Real Decimal Precision */
+#undef PAC_FC_MAX_REAL_PRECISION
+
/* Width for printf() for type `long long' or `__int64', use `ll' */
#undef PRINTF_LL_WIDTH
@@ -535,6 +583,12 @@
/* The size of `unsigned', as computed by sizeof. */
#undef SIZEOF_UNSIGNED
+/* The size of `_Quad', as computed by sizeof. */
+#undef SIZEOF__QUAD
+
+/* The size of `__float128', as computed by sizeof. */
+#undef SIZEOF___FLOAT128
+
/* The size of `__int64', as computed by sizeof. */
#undef SIZEOF___INT64
diff --git a/src/H5private.h b/src/H5private.h
index 9efd145..5e968a0 100644
--- a/src/H5private.h
+++ b/src/H5private.h
@@ -1130,22 +1130,9 @@ H5_DLL int HDfprintf (FILE *stream, const char *fmt, ...);
#ifndef HDrealpath
#define HDrealpath(F1,F2) realpath(F1,F2)
#endif /* HDrealloc */
-#ifdef H5_VMS
- #ifdef __cplusplus
- extern "C" {
- #endif /* __cplusplus */
- int HDremove_all(const char * fname);
- #ifdef __cplusplus
- }
- #endif /* __cplusplus */
- #ifndef HDremove
- #define HDremove(S) HDremove_all(S)
- #endif /* HDremove */
-#else /* H5_VMS */
- #ifndef HDremove
- #define HDremove(S) remove(S)
- #endif /* HDremove */
-#endif /*H5_VMS*/
+#ifndef HDremove
+ #define HDremove(S) remove(S)
+#endif /* HDremove */
#ifndef HDrename
#define HDrename(OLD,NEW) rename(OLD,NEW)
#endif /* HDrename */
@@ -1562,19 +1549,7 @@ extern char *strdup(const char *s);
(ptr = slash); \
}
-#elif defined(H5_HAVE_VMS_PATH)
-
-/* OpenVMS pathname: <disk name>$<partition>:[path]<file name>
- * i.g. SYS$SYSUSERS:[LU.HDF5.SRC]H5system.c */
-#define H5_DIR_SEPC ']'
-#define H5_DIR_SEPS "]"
-#define H5_CHECK_DELIMITER(SS) (SS == H5_DIR_SEPC)
-#define H5_CHECK_ABSOLUTE(NAME) (HDstrrchr(NAME, ':') && HDstrrchr(NAME, '['))
-#define H5_CHECK_ABS_DRIVE(NAME) (0)
-#define H5_CHECK_ABS_PATH(NAME) (0)
-#define H5_GET_LAST_DELIMITER(NAME, ptr) ptr = HDstrrchr(NAME, H5_DIR_SEPC);
-
-#else
+#else /* H5_HAVE_WINDOW_PATH */
#define H5_DIR_SEPC '/'
#define H5_DIR_SEPS "/"
@@ -1584,7 +1559,7 @@ extern char *strdup(const char *s);
#define H5_CHECK_ABS_PATH(NAME) (0)
#define H5_GET_LAST_DELIMITER(NAME, ptr) ptr = HDstrrchr(NAME, H5_DIR_SEPC);
-#endif
+#endif /* H5_HAVE_WINDOW_PATH */
#define H5_COLON_SEPC ':'
@@ -1746,9 +1721,24 @@ H5_DLL double H5_trace(const double *calltime, const char *func, const char *typ
*-------------------------------------------------------------------------
*/
-/* `S' is the name of a function which is being tested to check if its */
-/* an API function */
-#define H5_IS_API(S) ('_'!=((const char *)S)[2] && '_'!=((const char *)S)[3] && (!((const char *)S)[4] || '_'!=((const char *)S)[4]))
+/* `S' is the name of a function which is being tested to check if it's
+ * an API function.
+ *
+ * BADNESS:
+ * - Underscore at positions 2 or 3 (0-indexed string). Handles
+ * H5_ and H5X_.
+ * - Underscore at position 4 if position 3 is uppercase or a digit.
+ * Handles H5XY_.
+ */
+#define H5_IS_API(S) (\
+ '_'!=((const char *)S)[2] /* underscore at position 2 */ \
+ && '_'!=((const char *)S)[3] /* underscore at position 3 */ \
+ && !( /* NOT */ \
+ ((const char *)S)[4] /* pos 4 exists */ \
+ && (HDisupper(S[3]) || HDisdigit(S[3])) /* pos 3 dig | uc */ \
+ && '_'==((const char *)S)[4] /* pos 4 underscore */ \
+ )\
+)
/* `S' is the name of a function which is being tested to check if it's */
/* a public API function */
diff --git a/src/H5public.h b/src/H5public.h
index cd30178..603c187 100644
--- a/src/H5public.h
+++ b/src/H5public.h
@@ -94,10 +94,10 @@ extern "C" {
/* Version numbers */
#define H5_VERS_MAJOR 1 /* For major interface/format changes */
#define H5_VERS_MINOR 9 /* For minor interface/format changes */
-#define H5_VERS_RELEASE 227 /* For tweaks, bug-fixes, or development */
+#define H5_VERS_RELEASE 229 /* For tweaks, bug-fixes, or development */
#define H5_VERS_SUBRELEASE "" /* For pre-releases like snap0 */
/* Empty string for real releases. */
-#define H5_VERS_INFO "HDF5 library version: 1.9.227" /* Full version string */
+#define H5_VERS_INFO "HDF5 library version: 1.9.229" /* Full version string */
#define H5check() H5check_version(H5_VERS_MAJOR,H5_VERS_MINOR, \
H5_VERS_RELEASE)
@@ -332,6 +332,7 @@ H5_DLL herr_t H5get_libversion(unsigned *majnum, unsigned *minnum,
unsigned *relnum);
H5_DLL herr_t H5check_version(unsigned majnum, unsigned minnum,
unsigned relnum);
+H5_DLL herr_t H5is_library_threadsafe(hbool_t *is_ts);
H5_DLL herr_t H5free_memory(void *mem);
H5_DLL void *H5allocate_memory(size_t size, hbool_t clear);
H5_DLL void *H5resize_memory(void *mem, size_t size);
@@ -339,5 +340,6 @@ H5_DLL void *H5resize_memory(void *mem, size_t size);
#ifdef __cplusplus
}
#endif
-#endif
+#endif /* _H5public_H */
+
diff --git a/src/H5system.c b/src/H5system.c
index 56db380..e00e5a5 100644
--- a/src/H5system.c
+++ b/src/H5system.c
@@ -582,45 +582,8 @@ void HDsrand(unsigned int seed)
{
g_seed = seed;
}
-#endif
+#endif /* H5_HAVE_RAND_R */
-
-/*-------------------------------------------------------------------------
- * Function: HDremove_all
- *
- * Purpose: Wrapper function for remove on VMS systems
- *
- * This function deletes all versions of a file
- *
- * Return: Success: 0;
- *
- * Failure: -1
- *
- * Programmer: Elena Pourmal
- * March 22, 2006
- *
- *-------------------------------------------------------------------------
- */
-#ifdef H5_VMS
-int
-HDremove_all(const char *fname)
-{
- int ret_value = -1;
- size_t fname_len;
- char *_fname;
-
- fname_len = HDstrlen(fname) + 3; /* to accomodate ";*" and null terminator */
- _fname = (char *)H5MM_malloc(fname_len);
- if(_fname) {
- HDsnprintf(_fname, fname_len, "%s;*", fname);
- /* Do not use HDremove; function becomes recursive (see H5private.h file)*/
- remove(_fname);
- H5MM_xfree(_fname);
- ret_value = 0;
- }
- return ret_value;
-}
-#endif
/*-------------------------------------------------------------------------
* Function: Wgettimeofday
@@ -764,8 +727,6 @@ H5_build_extpath(const char *name, char **extpath/*out*/)
/*
* Unix: name[0] is a "/"
* Windows: name[0-2] is "<drive letter>:\" or "<drive-letter>:/"
- * OpenVMS: <disk name>$<partition>:[path]<file name>
- * i.g. SYS$SYSUSERS:[LU.HDF5.SRC]H5system.c
*/
if(H5_CHECK_ABSOLUTE(name)) {
if(NULL == (full_path = (char *)H5MM_strdup(name)))
@@ -786,7 +747,6 @@ H5_build_extpath(const char *name, char **extpath/*out*/)
* Windows: name[0-1] is "<drive-letter>:"
* Get current working directory on the drive specified in NAME
* Unix: does not apply
- * OpenVMS: does not apply
*/
if(H5_CHECK_ABS_DRIVE(name)) {
drive = name[0] - 'A' + 1;
@@ -797,14 +757,13 @@ H5_build_extpath(const char *name, char **extpath/*out*/)
* Windows: name[0] is a '/' or '\'
* Get current drive
* Unix: does not apply
- * OpenVMS: does not apply
*/
else if(H5_CHECK_ABS_PATH(name) && (0 != (drive = HDgetdrive()))) {
HDsnprintf(cwdpath, MAX_PATH_LEN, "%c:%c", (drive + 'A' - 1), name[0]);
retcwd = cwdpath;
HDstrncpy(new_name, &name[1], name_len);
}
- /* totally relative for Unix, Windows, and OpenVMS: get current working directory */
+ /* totally relative for Unix and Windows: get current working directory */
else {
retcwd = HDgetcwd(cwdpath, MAX_PATH_LEN);
HDstrncpy(new_name, name, name_len);
@@ -823,26 +782,9 @@ H5_build_extpath(const char *name, char **extpath/*out*/)
HGOTO_ERROR(H5E_INTERNAL, H5E_NOSPACE, FAIL, "memory allocation failed")
HDstrncpy(full_path, cwdpath, cwdlen + 1);
-#ifdef H5_VMS
- /* If the file name contains relative path, cut off the beginning bracket. Also cut off the
- * ending bracket of CWDPATH to combine the full path name. i.g.
- * cwdpath = SYS$SYSUSERS:[LU.HDF5.TEST]
- * new_name = [.tmp]extlinks.h5
- * full_path = SYS$SYSUSERS:[LU.HDF5.TEST.tmp]extlinks.h5
- */
- if(new_name[0] == '[') {
- char *tmp = new_name;
-
- full_path[cwdlen - 1] = '\0';
- HDstrncat(full_path, ++tmp, HDstrlen(tmp));
- } /* end if */
- else
- HDstrncat(full_path, new_name, HDstrlen(new_name));
-#else
if(!H5_CHECK_DELIMITER(cwdpath[cwdlen - 1]))
HDstrncat(full_path, H5_DIR_SEPS, HDstrlen(H5_DIR_SEPS));
HDstrncat(full_path, new_name, HDstrlen(new_name));
-#endif
} /* end if */
} /* end else */
diff --git a/src/Makefile.in b/src/Makefile.in
index a166205..08662f7 100644
--- a/src/Makefile.in
+++ b/src/Makefile.in
@@ -114,7 +114,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/aclocal_cxx.m4 \
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(SHELL) $(top_srcdir)/bin/mkinstalldirs
-CONFIG_HEADER = H5config.h
+CONFIG_HEADER = H5config.h $(top_builddir)/fortran/src/H5config_f.inc
CONFIG_CLEAN_FILES = libhdf5.settings
CONFIG_CLEAN_VPATH_FILES =
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
@@ -228,7 +228,7 @@ AM_V_at = $(am__v_at_@AM_V@)
am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
am__v_at_0 = @
am__v_at_1 =
-DEFAULT_INCLUDES = -I.@am__isrc@
+DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/fortran/src
depcomp = $(SHELL) $(top_srcdir)/bin/depcomp
am__depfiles_maybe = depfiles
am__mv = mv -f
@@ -513,14 +513,21 @@ F9XMODEXT = @F9XMODEXT@
F9XMODFLAG = @F9XMODFLAG@
F9XSUFFIXFLAG = @F9XSUFFIXFLAG@
FC = @FC@
-FC2003 = @FC2003@
FCFLAGS = @FCFLAGS@
FCFLAGS_f90 = @FCFLAGS_f90@
FCLIBS = @FCLIBS@
FC_VERSION = @FC_VERSION@
FGREP = @FGREP@
+FORTRAN_C_LONG_DOUBLE_IS_UNIQUE = @FORTRAN_C_LONG_DOUBLE_IS_UNIQUE@
+FORTRAN_HAVE_C_LONG_DOUBLE = @FORTRAN_HAVE_C_LONG_DOUBLE@
+FORTRAN_SIZEOF_LONG_DOUBLE = @FORTRAN_SIZEOF_LONG_DOUBLE@
FSEARCH_DIRS = @FSEARCH_DIRS@
GREP = @GREP@
+H5CONFIG_F_IKIND = @H5CONFIG_F_IKIND@
+H5CONFIG_F_NUM_IKIND = @H5CONFIG_F_NUM_IKIND@
+H5CONFIG_F_NUM_RKIND = @H5CONFIG_F_NUM_RKIND@
+H5CONFIG_F_RKIND = @H5CONFIG_F_RKIND@
+H5CONFIG_F_RKIND_SIZEOF = @H5CONFIG_F_RKIND_SIZEOF@
H5_CFLAGS = @H5_CFLAGS@
H5_CPPFLAGS = @H5_CPPFLAGS@
H5_CXXFLAGS = @H5_CXXFLAGS@
@@ -530,13 +537,12 @@ H5_LDFLAGS = @H5_LDFLAGS@
H5_VERSION = @H5_VERSION@
HADDR_T = @HADDR_T@
HAVE_DMALLOC = @HAVE_DMALLOC@
-HAVE_FORTRAN_2003 = @HAVE_FORTRAN_2003@
+HAVE_Fortran_INTEGER_SIZEOF_16 = @HAVE_Fortran_INTEGER_SIZEOF_16@
HAVE_PTHREAD = @HAVE_PTHREAD@
HDF5_HL = @HDF5_HL@
HDF5_INTERFACES = @HDF5_INTERFACES@
HDF_CXX = @HDF_CXX@
HDF_FORTRAN = @HDF_FORTRAN@
-HDF_FORTRAN2003 = @HDF_FORTRAN2003@
HID_T = @HID_T@
HL = @HL@
HL_FOR = @HL_FOR@
@@ -578,9 +584,20 @@ PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
+PAC_C_MAX_REAL_PRECISION = @PAC_C_MAX_REAL_PRECISION@
+PAC_FC_ALL_INTEGER_KINDS = @PAC_FC_ALL_INTEGER_KINDS@
+PAC_FC_ALL_INTEGER_KINDS_SIZEOF = @PAC_FC_ALL_INTEGER_KINDS_SIZEOF@
+PAC_FC_ALL_REAL_KINDS = @PAC_FC_ALL_REAL_KINDS@
+PAC_FC_ALL_REAL_KINDS_SIZEOF = @PAC_FC_ALL_REAL_KINDS_SIZEOF@
+PAC_FC_MAX_REAL_PRECISION = @PAC_FC_MAX_REAL_PRECISION@
+PAC_FORTRAN_NATIVE_DOUBLE_KIND = @PAC_FORTRAN_NATIVE_DOUBLE_KIND@
+PAC_FORTRAN_NATIVE_DOUBLE_SIZEOF = @PAC_FORTRAN_NATIVE_DOUBLE_SIZEOF@
+PAC_FORTRAN_NATIVE_INTEGER_KIND = @PAC_FORTRAN_NATIVE_INTEGER_KIND@
+PAC_FORTRAN_NATIVE_INTEGER_SIZEOF = @PAC_FORTRAN_NATIVE_INTEGER_SIZEOF@
+PAC_FORTRAN_NATIVE_REAL_KIND = @PAC_FORTRAN_NATIVE_REAL_KIND@
+PAC_FORTRAN_NATIVE_REAL_SIZEOF = @PAC_FORTRAN_NATIVE_REAL_SIZEOF@
PARALLEL = @PARALLEL@
PATH_SEPARATOR = @PATH_SEPARATOR@
-PERL = @PERL@
RANLIB = @RANLIB@
ROOT = @ROOT@
RUNPARALLEL = @RUNPARALLEL@
@@ -724,7 +741,7 @@ CHECK_CLEANFILES = *.chkexe *.chklog *.clog *.clog2
# After making changes, run bin/reconfigure to update other configure related
# files like Makefile.in.
LT_VERS_INTERFACE = 6
-LT_VERS_REVISION = 217
+LT_VERS_REVISION = 219
LT_VERS_AGE = 0
# Our main target, the HDF5 library
diff --git a/src/libhdf5.settings.in b/src/libhdf5.settings.in
index 1eed645..2355543 100644
--- a/src/libhdf5.settings.in
+++ b/src/libhdf5.settings.in
@@ -39,7 +39,6 @@ Languages:
----------
Fortran: @HDF_FORTRAN@
@BUILD_FORTRAN_CONDITIONAL_TRUE@ Fortran Compiler: @FC_VERSION@
-@BUILD_FORTRAN_CONDITIONAL_TRUE@ Fortran 2003 Compiler: @HAVE_FORTRAN_2003@
@BUILD_FORTRAN_CONDITIONAL_TRUE@ Fortran Flags: @FCFLAGS@
@BUILD_FORTRAN_CONDITIONAL_TRUE@ H5 Fortran Flags: @H5_FCFLAGS@
@BUILD_FORTRAN_CONDITIONAL_TRUE@ AM Fortran Flags: @AM_FCFLAGS@
diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt
index cb3361f..dc79cdb 100644
--- a/test/CMakeLists.txt
+++ b/test/CMakeLists.txt
@@ -26,8 +26,8 @@ set (TEST_LIB_HEADERS
${HDF5_TEST_SOURCE_DIR}/h5test.h
)
-add_library (${HDF5_TEST_LIB_TARGET} ${LIB_TYPE} ${TEST_LIB_SRCS} ${TEST_LIB_HEADERS})
-TARGET_C_PROPERTIES (${HDF5_TEST_LIB_TARGET} ${LIB_TYPE} " " " ")
+add_library (${HDF5_TEST_LIB_TARGET} STATIC ${TEST_LIB_SRCS} ${TEST_LIB_HEADERS})
+TARGET_C_PROPERTIES (${HDF5_TEST_LIB_TARGET} STATIC " " " ")
if (MSVC)
target_link_libraries (${HDF5_TEST_LIB_TARGET} "ws2_32.lib")
endif (MSVC)
@@ -35,16 +35,40 @@ if (MINGW)
target_link_libraries (${HDF5_TEST_LIB_TARGET} "wsock32.lib")
endif (MINGW)
target_link_libraries (${HDF5_TEST_LIB_TARGET} ${HDF5_LIB_TARGET})
-H5_SET_LIB_OPTIONS (${HDF5_TEST_LIB_TARGET} ${HDF5_TEST_LIB_NAME} ${LIB_TYPE})
+H5_SET_LIB_OPTIONS (${HDF5_TEST_LIB_TARGET} ${HDF5_TEST_LIB_NAME} STATIC)
set_target_properties (${HDF5_TEST_LIB_TARGET} PROPERTIES
FOLDER libraries/test
INTERFACE_INCLUDE_DIRECTORIES "$<INSTALL_INTERFACE:$<INSTALL_PREFIX>/include>"
)
+if (BUILD_SHARED_LIBS)
+ add_library (${HDF5_TEST_LIBSH_TARGET} SHARED ${TEST_LIB_SRCS} ${TEST_LIB_HEADERS})
+ TARGET_C_PROPERTIES (${HDF5_TEST_LIBSH_TARGET} SHARED " " " ")
+ if (MSVC)
+ target_link_libraries (${HDF5_TEST_LIBSH_TARGET} "ws2_32.lib")
+ endif (MSVC)
+ if (MINGW)
+ target_link_libraries (${HDF5_TEST_LIBSH_TARGET} "wsock32.lib")
+ endif (MINGW)
+ target_link_libraries (${HDF5_TEST_LIBSH_TARGET} ${HDF5_LIBSH_TARGET})
+ H5_SET_LIB_OPTIONS (${HDF5_TEST_LIBSH_TARGET} ${HDF5_TEST_LIB_NAME} SHARED)
+ set_target_properties (${HDF5_TEST_LIBSH_TARGET} PROPERTIES
+ FOLDER libraries/test
+ COMPILE_DEFINITIONS "H5_BUILT_AS_DYNAMIC_LIB"
+ INTERFACE_INCLUDE_DIRECTORIES "$<INSTALL_INTERFACE:$<INSTALL_PREFIX>/include>"
+ INTERFACE_COMPILE_DEFINITIONS H5_BUILT_AS_DYNAMIC_LIB=1
+ )
+ if (HDF5_ENABLE_THREADSAFE)
+ set_property (TARGET ${HDF5_TEST_LIBSH_TARGET}
+ APPEND PROPERTY COMPILE_DEFINITIONS
+ "H5_HAVE_THREADSAFE"
+ )
+ endif (HDF5_ENABLE_THREADSAFE)
+endif (BUILD_SHARED_LIBS)
+
#-----------------------------------------------------------------------------
# If plugin library tests can be tested
#-----------------------------------------------------------------------------
-if (BUILD_SHARED_LIBS)
# make plugins dir
file (MAKE_DIRECTORY "${CMAKE_BINARY_DIR}/testdir1")
file (MAKE_DIRECTORY "${CMAKE_BINARY_DIR}/testdir2")
@@ -67,12 +91,12 @@ if (BUILD_SHARED_LIBS)
add_definitions (${HDF_EXTRA_C_FLAGS})
INCLUDE_DIRECTORIES (${HDF5_SRC_DIR})
- add_library (${HDF5_TEST_PLUGIN_LIB_TARGET} ${LIB_TYPE} ${HDF5_TEST_SOURCE_DIR}/${test_lib}.c)
- TARGET_C_PROPERTIES (${HDF5_TEST_PLUGIN_LIB_TARGET} ${LIB_TYPE} " " " ")
+ add_library (${HDF5_TEST_PLUGIN_LIB_TARGET} SHARED ${HDF5_TEST_SOURCE_DIR}/${test_lib}.c)
+ TARGET_C_PROPERTIES (${HDF5_TEST_PLUGIN_LIB_TARGET} SHARED " " " ")
target_link_libraries (${HDF5_TEST_PLUGIN_LIB_TARGET} ${HDF5_TEST_LIB_TARGET})
H5_SET_LIB_OPTIONS (
${HDF5_TEST_PLUGIN_LIB_TARGET} ${HDF5_TEST_PLUGIN_LIB_NAME}
- ${LIB_TYPE}
+ SHARED
HDF5_TEST_PLUGIN_LIB_NAME_RELEASE
HDF5_TEST_PLUGIN_LIB_NAME_DEBUG
)
@@ -98,12 +122,12 @@ if (BUILD_SHARED_LIBS)
add_definitions (${HDF_EXTRA_C_FLAGS})
INCLUDE_DIRECTORIES (${HDF5_SRC_DIR})
- add_library (${HDF5_TEST_PLUGIN_LIB_TARGET} ${LIB_TYPE} ${HDF5_TEST_SOURCE_DIR}/${test_lib}.c)
- TARGET_C_PROPERTIES (${HDF5_TEST_PLUGIN_LIB_TARGET} ${LIB_TYPE} " " " ")
+ add_library (${HDF5_TEST_PLUGIN_LIB_TARGET} SHARED ${HDF5_TEST_SOURCE_DIR}/${test_lib}.c)
+ TARGET_C_PROPERTIES (${HDF5_TEST_PLUGIN_LIB_TARGET} SHARED " " " ")
target_link_libraries (${HDF5_TEST_PLUGIN_LIB_TARGET} ${HDF5_TEST_LIB_TARGET})
H5_SET_LIB_OPTIONS (
${HDF5_TEST_PLUGIN_LIB_TARGET} ${HDF5_TEST_PLUGIN_LIB_NAME}
- ${LIB_TYPE}
+ SHARED
HDF5_TEST_PLUGIN_LIB_NAME_RELEASE
HDF5_TEST_PLUGIN_LIB_NAME_DEBUG
)
@@ -121,7 +145,6 @@ if (BUILD_SHARED_LIBS)
"${CMAKE_BINARY_DIR}/testdir2/$<TARGET_FILE_NAME:${HDF5_TEST_PLUGIN_LIB_TARGET}>"
)
endforeach (test_lib ${TEST2_PLUGIN_LIBS})
-endif (BUILD_SHARED_LIBS)
set (testhdf5_SRCS
${HDF5_TEST_SOURCE_DIR}/testhdf5.c
@@ -153,17 +176,31 @@ set (testhdf5_SRCS
#-- Adding test for testhdf5
add_executable (testhdf5 ${testhdf5_SRCS})
-TARGET_NAMING (testhdf5 ${LIB_TYPE})
-TARGET_C_PROPERTIES (testhdf5 ${LIB_TYPE} " " " ")
+TARGET_NAMING (testhdf5 STATIC)
+TARGET_C_PROPERTIES (testhdf5 STATIC " " " ")
target_link_libraries (testhdf5 ${HDF5_TEST_LIB_TARGET} ${HDF5_LIB_TARGET})
set_target_properties (testhdf5 PROPERTIES FOLDER test)
+if (BUILD_SHARED_LIBS)
+ add_executable (testhdf5-shared ${testhdf5_SRCS})
+ TARGET_NAMING (testhdf5-shared SHARED)
+ TARGET_C_PROPERTIES (testhdf5-shared SHARED " " " ")
+ target_link_libraries (testhdf5-shared ${HDF5_TEST_LIBSH_TARGET} ${HDF5_LIBSH_TARGET})
+ set_target_properties (testhdf5-shared PROPERTIES FOLDER test)
+endif (BUILD_SHARED_LIBS)
MACRO (ADD_H5_EXE file)
add_executable (${file} ${HDF5_TEST_SOURCE_DIR}/${file}.c)
- TARGET_NAMING (${file} ${LIB_TYPE})
- TARGET_C_PROPERTIES (${file} ${LIB_TYPE} " " " ")
+ TARGET_NAMING (${file} STATIC)
+ TARGET_C_PROPERTIES (${file} STATIC " " " ")
target_link_libraries (${file} ${HDF5_TEST_LIB_TARGET} ${HDF5_LIB_TARGET})
set_target_properties (${file} PROPERTIES FOLDER test)
+ if (BUILD_SHARED_LIBS)
+ add_executable (${file}-shared ${HDF5_TEST_SOURCE_DIR}/${file}.c)
+ TARGET_NAMING (${file}-shared SHARED)
+ TARGET_C_PROPERTIES (${file}-shared SHARED " " " ")
+ target_link_libraries (${file}-shared ${HDF5_TEST_LIBSH_TARGET} ${HDF5_LIBSH_TARGET})
+ set_target_properties (${file}-shared PROPERTIES FOLDER test)
+ endif (BUILD_SHARED_LIBS)
ENDMACRO (ADD_H5_EXE file)
set (H5_TESTS
@@ -176,7 +213,7 @@ set (H5_TESTS
#cache_api
#cache_tagging
pool
- hyperslab
+ #hyperslab
istore
bittests
dt_arith
@@ -237,24 +274,65 @@ endforeach (test ${H5_TESTS})
#-- Adding test for cache
add_executable (cache ${HDF5_TEST_SOURCE_DIR}/cache.c ${HDF5_TEST_SOURCE_DIR}/cache_common.c)
-TARGET_NAMING (cache ${LIB_TYPE})
-TARGET_C_PROPERTIES (cache ${LIB_TYPE} " " " ")
+TARGET_NAMING (cache STATIC)
+TARGET_C_PROPERTIES (cache STATIC " " " ")
target_link_libraries (cache ${HDF5_LIB_TARGET} ${HDF5_TEST_LIB_TARGET})
set_target_properties (cache PROPERTIES FOLDER test)
+if (BUILD_SHARED_LIBS)
+ add_executable (cache-shared ${HDF5_TEST_SOURCE_DIR}/cache.c ${HDF5_TEST_SOURCE_DIR}/cache_common.c)
+ TARGET_NAMING (cache-shared SHARED)
+ TARGET_C_PROPERTIES (cache-shared SHARED " " " ")
+ target_link_libraries (cache-shared ${HDF5_TEST_LIBSH_TARGET} ${HDF5_LIBSH_TARGET})
+ set_target_properties (cache-shared PROPERTIES FOLDER test)
+endif (BUILD_SHARED_LIBS)
#-- Adding test for cache_api
add_executable (cache_api ${HDF5_TEST_SOURCE_DIR}/cache_api.c ${HDF5_TEST_SOURCE_DIR}/cache_common.c)
-TARGET_NAMING (cache_api ${LIB_TYPE})
-TARGET_C_PROPERTIES (cache_api ${LIB_TYPE} " " " ")
+TARGET_NAMING (cache_api STATIC)
+TARGET_C_PROPERTIES (cache_api STATIC " " " ")
target_link_libraries (cache_api ${HDF5_LIB_TARGET} ${HDF5_TEST_LIB_TARGET})
set_target_properties (cache_api PROPERTIES FOLDER test)
+if (BUILD_SHARED_LIBS)
+ add_executable (cache_api-shared ${HDF5_TEST_SOURCE_DIR}/cache_api.c ${HDF5_TEST_SOURCE_DIR}/cache_common.c)
+ TARGET_NAMING (cache_api-shared SHARED)
+ TARGET_C_PROPERTIES (cache_api-shared SHARED " " " ")
+ target_link_libraries (cache_api-shared ${HDF5_TEST_LIBSH_TARGET} ${HDF5_LIBSH_TARGET})
+ set_target_properties (cache_api-shared PROPERTIES FOLDER test)
+endif (BUILD_SHARED_LIBS)
#-- Adding test for cache_tagging
add_executable (cache_tagging ${HDF5_TEST_SOURCE_DIR}/cache_tagging.c ${HDF5_TEST_SOURCE_DIR}/cache_common.c)
-TARGET_NAMING (cache_tagging ${LIB_TYPE})
-TARGET_C_PROPERTIES (cache_tagging ${LIB_TYPE} " " " ")
+TARGET_NAMING (cache_tagging STATIC)
+TARGET_C_PROPERTIES (cache_tagging STATIC " " " ")
target_link_libraries (cache_tagging ${HDF5_LIB_TARGET} ${HDF5_TEST_LIB_TARGET})
set_target_properties (cache_tagging PROPERTIES FOLDER test)
+if (BUILD_SHARED_LIBS)
+ add_executable (cache_tagging-shared ${HDF5_TEST_SOURCE_DIR}/cache_tagging.c ${HDF5_TEST_SOURCE_DIR}/cache_common.c)
+ TARGET_NAMING (cache_tagging-shared SHARED)
+ TARGET_C_PROPERTIES (cache_tagging-shared SHARED " " " ")
+ target_link_libraries (cache_tagging-shared ${HDF5_TEST_LIBSH_TARGET} ${HDF5_LIBSH_TARGET})
+ set_target_properties (cache_tagging-shared PROPERTIES FOLDER test)
+endif (BUILD_SHARED_LIBS)
+
+#-- Adding test for hyperslab
+add_executable (hyperslab ${HDF5_TEST_SOURCE_DIR}/hyperslab.c)
+TARGET_NAMING (hyperslab STATIC)
+TARGET_C_PROPERTIES (hyperslab STATIC " " " ")
+target_link_libraries (hyperslab ${HDF5_LIB_TARGET} ${HDF5_TEST_LIB_TARGET})
+set_target_properties (hyperslab PROPERTIES FOLDER test)
+if (BUILD_SHARED_LIBS)
+ add_executable (hyperslab-shared ${HDF5_TEST_SOURCE_DIR}/hyperslab.c)
+ TARGET_NAMING (hyperslab-shared SHARED)
+ TARGET_C_PROPERTIES (hyperslab-shared SHARED " " " ")
+ target_link_libraries (hyperslab-shared ${HDF5_TEST_LIBSH_TARGET} ${HDF5_LIBSH_TARGET})
+ set_target_properties (hyperslab-shared PROPERTIES FOLDER test)
+ if (HDF5_ENABLE_THREADSAFE)
+ set_property (TARGET hyperslab-shared
+ APPEND PROPERTY COMPILE_DEFINITIONS
+ "H5_HAVE_THREADSAFE"
+ )
+ endif (HDF5_ENABLE_THREADSAFE)
+endif (BUILD_SHARED_LIBS)
#-- Adding test for ttsafe
add_executable (ttsafe
@@ -264,33 +342,73 @@ add_executable (ttsafe
${HDF5_TEST_SOURCE_DIR}/ttsafe_cancel.c
${HDF5_TEST_SOURCE_DIR}/ttsafe_acreate.c
)
-TARGET_NAMING (ttsafe ${LIB_TYPE})
-TARGET_C_PROPERTIES (ttsafe ${LIB_TYPE} " " " ")
+TARGET_NAMING (ttsafe STATIC)
+TARGET_C_PROPERTIES (ttsafe STATIC " " " ")
target_link_libraries (ttsafe ${HDF5_LIB_TARGET} ${HDF5_TEST_LIB_TARGET})
set_target_properties (ttsafe PROPERTIES FOLDER test)
+if (BUILD_SHARED_LIBS)
+ add_executable (ttsafe-shared
+ ${HDF5_TEST_SOURCE_DIR}/ttsafe.c
+ ${HDF5_TEST_SOURCE_DIR}/ttsafe_dcreate.c
+ ${HDF5_TEST_SOURCE_DIR}/ttsafe_error.c
+ ${HDF5_TEST_SOURCE_DIR}/ttsafe_cancel.c
+ ${HDF5_TEST_SOURCE_DIR}/ttsafe_acreate.c
+ )
+ TARGET_NAMING (ttsafe-shared SHARED)
+ TARGET_C_PROPERTIES (ttsafe-shared SHARED " " " ")
+ target_link_libraries (ttsafe-shared ${HDF5_TEST_LIBSH_TARGET} ${HDF5_LIBSH_TARGET})
+ set_target_properties (ttsafe-shared PROPERTIES FOLDER test)
+ if (HDF5_ENABLE_THREADSAFE)
+ set_property (TARGET ttsafe-shared
+ APPEND PROPERTY COMPILE_DEFINITIONS
+ "H5_HAVE_THREADSAFE"
+ )
+ endif (HDF5_ENABLE_THREADSAFE)
+endif (BUILD_SHARED_LIBS)
#-- Adding test for err_compat
if (HDF5_ENABLE_DEPRECATED_SYMBOLS)
add_executable (err_compat ${HDF5_TEST_SOURCE_DIR}/err_compat.c)
- TARGET_NAMING (err_compat ${LIB_TYPE})
- TARGET_C_PROPERTIES (err_compat ${LIB_TYPE} " " " ")
+ TARGET_NAMING (err_compat STATIC)
+ TARGET_C_PROPERTIES (err_compat STATIC " " " ")
target_link_libraries (err_compat ${HDF5_LIB_TARGET} ${HDF5_TEST_LIB_TARGET})
set_target_properties (err_compat PROPERTIES FOLDER test)
+ if (BUILD_SHARED_LIBS)
+ add_executable (err_compat-shared ${HDF5_TEST_SOURCE_DIR}/err_compat.c)
+ TARGET_NAMING (err_compat-shared SHARED)
+ TARGET_C_PROPERTIES (err_compat-shared SHARED " " " ")
+ target_link_libraries (err_compat-shared ${HDF5_TEST_LIBSH_TARGET} ${HDF5_LIBSH_TARGET})
+ set_target_properties (err_compat-shared PROPERTIES FOLDER test)
+ endif (BUILD_SHARED_LIBS)
endif (HDF5_ENABLE_DEPRECATED_SYMBOLS)
#-- Adding test for error_test
add_executable (error_test ${HDF5_TEST_SOURCE_DIR}/error_test.c)
-TARGET_NAMING (error_test ${LIB_TYPE})
-TARGET_C_PROPERTIES (error_test ${LIB_TYPE} " " " ")
+TARGET_NAMING (error_test STATIC)
+TARGET_C_PROPERTIES (error_test STATIC " " " ")
target_link_libraries (error_test ${HDF5_LIB_TARGET} ${HDF5_TEST_LIB_TARGET})
set_target_properties (error_test PROPERTIES FOLDER test)
+if (BUILD_SHARED_LIBS)
+ add_executable (error_test-shared ${HDF5_TEST_SOURCE_DIR}/error_test.c)
+ TARGET_NAMING (error_test-shared SHARED)
+ TARGET_C_PROPERTIES (error_test-shared SHARED " " " ")
+ target_link_libraries (error_test-shared ${HDF5_TEST_LIBSH_TARGET} ${HDF5_LIBSH_TARGET})
+ set_target_properties (error_test-shared PROPERTIES FOLDER test)
+endif (BUILD_SHARED_LIBS)
#-- Adding test for links_env
add_executable (links_env ${HDF5_TEST_SOURCE_DIR}/links_env.c)
-TARGET_NAMING (links_env ${LIB_TYPE})
-TARGET_C_PROPERTIES (links_env ${LIB_TYPE} " " " ")
+TARGET_NAMING (links_env STATIC)
+TARGET_C_PROPERTIES (links_env STATIC " " " ")
target_link_libraries (links_env ${HDF5_LIB_TARGET} ${HDF5_TEST_LIB_TARGET})
set_target_properties (links_env PROPERTIES FOLDER test)
+if (BUILD_SHARED_LIBS)
+ add_executable (links_env-shared ${HDF5_TEST_SOURCE_DIR}/links_env.c)
+ TARGET_NAMING (links_env-shared SHARED)
+ TARGET_C_PROPERTIES (links_env-shared SHARED " " " ")
+ target_link_libraries (links_env-shared ${HDF5_TEST_LIBSH_TARGET} ${HDF5_LIBSH_TARGET})
+ set_target_properties (links_env-shared PROPERTIES FOLDER test)
+endif (BUILD_SHARED_LIBS)
#-- Adding test for libinfo
set (GREP_RUNNER ${PROJECT_BINARY_DIR}/GrepRunner.cmake)
@@ -313,6 +431,12 @@ if (BUILD_SHARED_LIBS)
TARGET_C_PROPERTIES (plugin SHARED " " " ")
target_link_libraries (plugin ${HDF5_TEST_PLUGIN_LIB_TARGET})
set_target_properties (plugin PROPERTIES FOLDER test)
+else (BUILD_SHARED_LIBS)
+ add_executable (plugin ${HDF5_TEST_SOURCE_DIR}/plugin.c)
+ TARGET_NAMING (plugin STATIC)
+ TARGET_C_PROPERTIES (plugin STATIC " " " ")
+ target_link_libraries (plugin ${HDF5_TEST_PLUGIN_LIB_TARGET})
+ set_target_properties (plugin PROPERTIES FOLDER test)
endif (BUILD_SHARED_LIBS)
include (CMakeTests.cmake)
diff --git a/test/CMakeTests.cmake b/test/CMakeTests.cmake
index 30e7318..40c0f44 100644
--- a/test/CMakeTests.cmake
+++ b/test/CMakeTests.cmake
@@ -9,6 +9,12 @@
file (MAKE_DIRECTORY "${PROJECT_BINARY_DIR}/H5TEST")
file (MAKE_DIRECTORY "${PROJECT_BINARY_DIR}/H5TEST/testfiles")
file (MAKE_DIRECTORY "${PROJECT_BINARY_DIR}/H5TEST/testfiles/plist_files")
+if (BUILD_SHARED_LIBS)
+ file (MAKE_DIRECTORY "${PROJECT_BINARY_DIR}/H5TEST-shared")
+ file (MAKE_DIRECTORY "${PROJECT_BINARY_DIR}/H5TEST-shared/testfiles")
+ file (MAKE_DIRECTORY "${PROJECT_BINARY_DIR}/H5TEST-shared/testfiles/plist_files")
+endif (BUILD_SHARED_LIBS)
+
if (HDF5_TEST_VFD)
set (VFD_LIST
sec2
@@ -23,6 +29,9 @@ if (HDF5_TEST_VFD)
endif (DIRECT_VFD)
foreach (vfdtest ${VFD_LIST})
file (MAKE_DIRECTORY "${PROJECT_BINARY_DIR}/${vfdtest}")
+ #if (BUILD_SHARED_LIBS)
+ # file (MAKE_DIRECTORY "${PROJECT_BINARY_DIR}/${vfdtest}-shared")
+ #endif (BUILD_SHARED_LIBS)
endforeach (vfdtest ${VFD_LIST})
endif (HDF5_TEST_VFD)
@@ -35,25 +44,41 @@ set (HDF5_TEST_FILES
foreach (h5_tfile ${HDF5_TEST_FILES})
set (dest "${PROJECT_BINARY_DIR}/H5TEST/${h5_tfile}")
- #message (STATUS " Copying ${h5_tfile}")
add_custom_command (
TARGET ${HDF5_TEST_LIB_TARGET}
POST_BUILD
COMMAND ${CMAKE_COMMAND}
ARGS -E copy_if_different ${HDF5_TOOLS_SRC_DIR}/testfiles/${h5_tfile} ${dest}
)
+ if (BUILD_SHARED_LIBS)
+ set (dest "${PROJECT_BINARY_DIR}/H5TEST-shared/${h5_tfile}")
+ add_custom_command (
+ TARGET ${HDF5_TEST_LIBSH_TARGET}
+ POST_BUILD
+ COMMAND ${CMAKE_COMMAND}
+ ARGS -E copy_if_different ${HDF5_TOOLS_SRC_DIR}/testfiles/${h5_tfile} ${dest}
+ )
+ endif (BUILD_SHARED_LIBS)
endforeach (h5_tfile ${HDF5_TEST_FILES})
if (HDF5_TEST_VFD)
foreach (vfdtest ${VFD_LIST})
foreach (h5_tfile ${HDF5_TEST_FILES})
set (dest "${PROJECT_BINARY_DIR}/${vfdtest}/${h5_tfile}")
- #message (STATUS " Copying ${h5_tfile}")
add_custom_command (
TARGET ${HDF5_TEST_LIB_TARGET}
POST_BUILD
COMMAND ${CMAKE_COMMAND}
ARGS -E copy_if_different ${HDF5_TOOLS_SRC_DIR}/testfiles/${h5_tfile} ${dest}
)
+ if (BUILD_SHARED_LIBS)
+ set (dest "${PROJECT_BINARY_DIR}/${vfdtest}-shared/${h5_tfile}")
+ add_custom_command (
+ TARGET ${HDF5_TEST_LIBSH_TARGET}
+ POST_BUILD
+ COMMAND ${CMAKE_COMMAND}
+ ARGS -E copy_if_different ${HDF5_TOOLS_SRC_DIR}/testfiles/${h5_tfile} ${dest}
+ )
+ endif (BUILD_SHARED_LIBS)
endforeach (h5_tfile ${HDF5_TEST_FILES})
endforeach (vfdtest ${VFD_LIST})
endif (HDF5_TEST_VFD)
@@ -71,25 +96,41 @@ set (HDF5_REFERENCE_FILES
foreach (ref_file ${HDF5_REFERENCE_FILES})
set (dest "${PROJECT_BINARY_DIR}/H5TEST/${ref_file}")
- #message (STATUS " Copying ${h5_file}")
add_custom_command (
TARGET ${HDF5_TEST_LIB_TARGET}
POST_BUILD
COMMAND ${CMAKE_COMMAND}
ARGS -E copy_if_different ${HDF5_TEST_SOURCE_DIR}/testfiles/${ref_file} ${dest}
)
+ if (BUILD_SHARED_LIBS)
+ set (dest "${PROJECT_BINARY_DIR}/H5TEST-shared/${ref_file}")
+ add_custom_command (
+ TARGET ${HDF5_TEST_LIBSH_TARGET}
+ POST_BUILD
+ COMMAND ${CMAKE_COMMAND}
+ ARGS -E copy_if_different ${HDF5_TEST_SOURCE_DIR}/testfiles/${ref_file} ${dest}
+ )
+ endif (BUILD_SHARED_LIBS)
endforeach (ref_file ${HDF5_REFERENCE_FILES})
if (HDF5_TEST_VFD)
foreach (vfdtest ${VFD_LIST})
foreach (ref_file ${HDF5_REFERENCE_FILES})
set (dest "${PROJECT_BINARY_DIR}/${vfdtest}/${ref_file}")
- #message (STATUS " Copying ${h5_file}")
add_custom_command (
TARGET ${HDF5_TEST_LIB_TARGET}
POST_BUILD
COMMAND ${CMAKE_COMMAND}
ARGS -E copy_if_different ${HDF5_TEST_SOURCE_DIR}/testfiles/${ref_file} ${dest}
)
+ if (BUILD_SHARED_LIBS)
+ set (dest "${PROJECT_BINARY_DIR}/${vfdtest}-shared/${ref_file}")
+ add_custom_command (
+ TARGET ${HDF5_TEST_LIB_TARGET}
+ POST_BUILD
+ COMMAND ${CMAKE_COMMAND}
+ ARGS -E copy_if_different ${HDF5_TEST_SOURCE_DIR}/testfiles/${ref_file} ${dest}
+ )
+ endif (BUILD_SHARED_LIBS)
endforeach (ref_file ${HDF5_REFERENCE_FILES})
endforeach (vfdtest ${VFD_LIST})
endif (HDF5_TEST_VFD)
@@ -126,13 +167,21 @@ set (HDF5_REFERENCE_PLIST_FILES
foreach (plistfile ${HDF5_REFERENCE_PLIST_FILES})
set (dest "${PROJECT_BINARY_DIR}/H5TEST/testfiles/plist_files/${plistfile}")
- #message (STATUS " Copying ${plistfile} to ${dset}")
add_custom_command (
TARGET ${HDF5_TEST_LIB_TARGET}
POST_BUILD
COMMAND ${CMAKE_COMMAND}
ARGS -E copy_if_different ${HDF5_TEST_SOURCE_DIR}/testfiles/plist_files/${plistfile} ${dest}
)
+ if (BUILD_SHARED_LIBS)
+ set (dest "${PROJECT_BINARY_DIR}/H5TEST-shared/testfiles/plist_files/${plistfile}")
+ add_custom_command (
+ TARGET ${HDF5_TEST_LIBSH_TARGET}
+ POST_BUILD
+ COMMAND ${CMAKE_COMMAND}
+ ARGS -E copy_if_different ${HDF5_TEST_SOURCE_DIR}/testfiles/plist_files/${plistfile} ${dest}
+ )
+ endif (BUILD_SHARED_LIBS)
endforeach (plistfile ${HDF5_REFERENCE_PLIST_FILES})
# --------------------------------------------------------------------
@@ -177,25 +226,41 @@ set (HDF5_REFERENCE_TEST_FILES
foreach (h5_file ${HDF5_REFERENCE_TEST_FILES})
set (dest "${HDF5_TEST_BINARY_DIR}/H5TEST/${h5_file}")
- #message (STATUS " Copying ${h5_file} to ${dest}")
add_custom_command (
TARGET ${HDF5_TEST_LIB_TARGET}
POST_BUILD
COMMAND ${CMAKE_COMMAND}
ARGS -E copy_if_different ${HDF5_TEST_SOURCE_DIR}/${h5_file} ${dest}
)
+ if (BUILD_SHARED_LIBS)
+ set (dest "${HDF5_TEST_BINARY_DIR}/H5TEST-shared/${h5_file}")
+ add_custom_command (
+ TARGET ${HDF5_TEST_LIBSH_TARGET}
+ POST_BUILD
+ COMMAND ${CMAKE_COMMAND}
+ ARGS -E copy_if_different ${HDF5_TEST_SOURCE_DIR}/${h5_file} ${dest}
+ )
+ endif (BUILD_SHARED_LIBS)
endforeach (h5_file ${HDF5_REFERENCE_TEST_FILES})
if (HDF5_TEST_VFD)
foreach (vfdtest ${VFD_LIST})
foreach (h5_file ${HDF5_REFERENCE_TEST_FILES})
set (dest "${HDF5_TEST_BINARY_DIR}/${vfdtest}/${h5_file}")
- #message (STATUS " Copying ${h5_file} to ${dest}")
add_custom_command (
TARGET ${HDF5_TEST_LIB_TARGET}
POST_BUILD
COMMAND ${CMAKE_COMMAND}
ARGS -E copy_if_different ${HDF5_TEST_SOURCE_DIR}/${h5_file} ${dest}
)
+ if (BUILD_SHARED_LIBS)
+ set (dest "${HDF5_TEST_BINARY_DIR}/${vfdtest}-shared/${h5_file}")
+ add_custom_command (
+ TARGET ${HDF5_TEST_LIB_TARGET}
+ POST_BUILD
+ COMMAND ${CMAKE_COMMAND}
+ ARGS -E copy_if_different ${HDF5_TEST_SOURCE_DIR}/${h5_file} ${dest}
+ )
+ endif (BUILD_SHARED_LIBS)
endforeach (h5_file ${HDF5_REFERENCE_TEST_FILES})
endforeach (vfdtest ${VFD_LIST})
endif (HDF5_TEST_VFD)
@@ -258,6 +323,38 @@ else (HDF5_ENABLE_USING_MEMCHECKER)
ENVIRONMENT "srcdir=${HDF5_TEST_BINARY_DIR}/H5TEST"
WORKING_DIRECTORY ${HDF5_TEST_BINARY_DIR}/H5TEST
)
+ if (BUILD_SHARED_LIBS)
+ add_test (
+ NAME H5TEST-shared-clear-testhdf5-objects
+ COMMAND ${CMAKE_COMMAND}
+ -E remove
+ coord.h5
+ dtypes10.h5
+ sys_file1
+ tattr.h5
+ tfile1.h5
+ tfile2.h5
+ tfile3.h5
+ tfile4.h5
+ tfile5.h5
+ tfile6.h5
+ tfile7.h5
+ th5o_file
+ th5s1.h5
+ tselect.h5
+ tsohm.h5
+ tsohm_dst.h5
+ tsohm_src.h5
+ WORKING_DIRECTORY
+ ${HDF5_TEST_BINARY_DIR}/H5TEST-shared
+ )
+ add_test (NAME H5TEST-shared-testhdf5 COMMAND $<TARGET_FILE:testhdf5-shared>)
+ set_tests_properties (H5TEST-shared-testhdf5 PROPERTIES
+ DEPENDS H5TEST-shared-clear-testhdf5-objects
+ ENVIRONMENT "srcdir=${HDF5_TEST_BINARY_DIR}/H5TEST-shared"
+ WORKING_DIRECTORY ${HDF5_TEST_BINARY_DIR}/H5TEST-shared
+ )
+ endif (BUILD_SHARED_LIBS)
endif (HDF5_ENABLE_USING_MEMCHECKER)
##############################################################################
@@ -356,6 +453,97 @@ set_tests_properties (H5TEST-fheap PROPERTIES TIMEOUT 1800)
set_tests_properties (H5TEST-testmeta PROPERTIES TIMEOUT 1800)
set_tests_properties (H5TEST-big PROPERTIES TIMEOUT 1800)
+if (BUILD_SHARED_LIBS)
+ # Remove any output file left over from previous test run
+ add_test (
+ NAME H5TEST-shared-clear-objects
+ COMMAND ${CMAKE_COMMAND}
+ -E remove
+ dt_arith1.h5
+ dt_arith2.h5
+ dtransform.h5
+ dtypes3.h5
+ dtypes4.h5
+ dtypes5.h5
+ efc0.h5
+ efc1.h5
+ efc2.h5
+ efc3.h5
+ efc4.h5
+ efc5.h5
+ extlinks16A00000.h5
+ extlinks16A00001.h5
+ extlinks16A00002.h5
+ extlinks16B-b.h5
+ extlinks16B-g.h5
+ extlinks16B-l.h5
+ extlinks16B-r.h5
+ extlinks16B-s.h5
+ extlinks19B00000.h5
+ extlinks19B00001.h5
+ extlinks19B00002.h5
+ extlinks19B00003.h5
+ extlinks19B00004.h5
+ extlinks19B00005.h5
+ extlinks19B00006.h5
+ extlinks19B00007.h5
+ extlinks19B00008.h5
+ extlinks19B00009.h5
+ extlinks19B00010.h5
+ extlinks19B00011.h5
+ extlinks19B00012.h5
+ extlinks19B00013.h5
+ extlinks19B00014.h5
+ extlinks19B00015.h5
+ extlinks19B00016.h5
+ extlinks19B00017.h5
+ extlinks19B00018.h5
+ extlinks19B00019.h5
+ extlinks19B00020.h5
+ extlinks19B00021.h5
+ extlinks19B00022.h5
+ extlinks19B00023.h5
+ extlinks19B00024.h5
+ extlinks19B00025.h5
+ extlinks19B00026.h5
+ extlinks19B00027.h5
+ extlinks19B00028.h5
+ fheap.h5
+ log_vfd_out.log
+ new_multi_file_v16-r.h5
+ new_multi_file_v16-s.h5
+ objcopy_ext.dat
+ testmeta.h5
+ tstint1.h5
+ tstint2.h5
+ unregister_filter_1.h5
+ unregister_filter_2.h5
+ WORKING_DIRECTORY
+ ${HDF5_TEST_BINARY_DIR}/H5TEST-shared
+ )
+
+ foreach (test ${H5_TESTS})
+ if (${test} STREQUAL "big" AND CYGWIN)
+ add_test (
+ NAME H5TEST-shared-${test}
+ COMMAND ${CMAKE_COMMAND} -E echo "SKIP ${test}-shared"
+ )
+ else (${test} STREQUAL "big" AND CYGWIN)
+ add_test (NAME H5TEST-shared-${test} COMMAND $<TARGET_FILE:${test}-shared>)
+ endif (${test} STREQUAL "big" AND CYGWIN)
+ set_tests_properties (H5TEST-shared-${test} PROPERTIES
+ DEPENDS H5TEST-shared-clear-objects
+ ENVIRONMENT "srcdir=${HDF5_TEST_BINARY_DIR}/H5TEST-shared"
+ WORKING_DIRECTORY ${HDF5_TEST_BINARY_DIR}/H5TEST-shared
+ )
+ endforeach (test ${H5_TESTS})
+
+ set_tests_properties (H5TEST-shared-flush2 PROPERTIES DEPENDS H5TEST-shared-flush1)
+ set_tests_properties (H5TEST-shared-fheap PROPERTIES TIMEOUT 1800)
+ set_tests_properties (H5TEST-shared-testmeta PROPERTIES TIMEOUT 1800)
+ set_tests_properties (H5TEST-shared-big PROPERTIES TIMEOUT 1800)
+endif (BUILD_SHARED_LIBS)
+
##############################################################################
##############################################################################
### A D D I T I O N A L T E S T S ###
@@ -363,20 +551,22 @@ set_tests_properties (H5TEST-big PROPERTIES TIMEOUT 1800)
##############################################################################
#-- Adding test for cache
-add_test (
- NAME H5TEST-clear-cache-objects
- COMMAND ${CMAKE_COMMAND}
- -E remove
- cache_test.h5
- WORKING_DIRECTORY
- ${HDF5_TEST_BINARY_DIR}/H5TEST
-)
-add_test (NAME H5TEST-cache COMMAND $<TARGET_FILE:cache>)
-set_tests_properties (H5TEST-cache PROPERTIES
- DEPENDS H5TEST-clear-cache-objects
- ENVIRONMENT "srcdir=${HDF5_TEST_BINARY_DIR}/H5TEST"
- WORKING_DIRECTORY ${HDF5_TEST_BINARY_DIR}/H5TEST
-)
+if (NOT CYGWIN)
+ add_test (
+ NAME H5TEST-clear-cache-objects
+ COMMAND ${CMAKE_COMMAND}
+ -E remove
+ cache_test.h5
+ WORKING_DIRECTORY
+ ${HDF5_TEST_BINARY_DIR}/H5TEST
+ )
+ add_test (NAME H5TEST-cache COMMAND $<TARGET_FILE:cache>)
+ set_tests_properties (H5TEST-cache PROPERTIES
+ DEPENDS H5TEST-clear-cache-objects
+ ENVIRONMENT "srcdir=${HDF5_TEST_BINARY_DIR}/H5TEST;HDF5TestExpress=2"
+ WORKING_DIRECTORY ${HDF5_TEST_BINARY_DIR}/H5TEST
+ )
+endif (NOT CYGWIN)
#-- Adding test for cache_api
add_test (
@@ -522,31 +712,186 @@ add_test (
${HDF5_TEST_BINARY_DIR}/H5TEST
)
-##############################################################################
-### P L U G I N T E S T S
-##############################################################################
if (BUILD_SHARED_LIBS)
+ #-- Adding test for cache
+ if (NOT CYGWIN)
+ add_test (
+ NAME H5TEST-shared-clear-cache-objects
+ COMMAND ${CMAKE_COMMAND}
+ -E remove
+ cache_test.h5
+ WORKING_DIRECTORY
+ ${HDF5_TEST_BINARY_DIR}/H5TEST-shared
+ )
+ add_test (NAME H5TEST-shared-cache COMMAND $<TARGET_FILE:cache-shared>)
+ set_tests_properties (H5TEST-shared-cache PROPERTIES
+ DEPENDS H5TEST-shared-clear-cache-objects
+ ENVIRONMENT "srcdir=${HDF5_TEST_BINARY_DIR}/H5TEST-shared;HDF5TestExpress=2"
+ WORKING_DIRECTORY ${HDF5_TEST_BINARY_DIR}/H5TEST-shared
+ )
+ endif (NOT CYGWIN)
+
+ #-- Adding test for cache_api
+ add_test (
+ NAME H5TEST-shared-clear-cache_api-objects
+ COMMAND ${CMAKE_COMMAND}
+ -E remove
+ cache_api_test.h5
+ WORKING_DIRECTORY
+ ${HDF5_TEST_BINARY_DIR}/H5TEST-shared
+ )
+ add_test (NAME H5TEST-shared-cache_api COMMAND $<TARGET_FILE:cache_api-shared>)
+ set_tests_properties (H5TEST-shared-cache_api PROPERTIES
+ DEPENDS H5TEST-shared-clear-cache_api-objects
+ ENVIRONMENT "srcdir=${HDF5_TEST_BINARY_DIR}/H5TEST-shared"
+ WORKING_DIRECTORY ${HDF5_TEST_BINARY_DIR}/H5TEST-shared
+ )
- if (WIN32)
- set (CMAKE_SEP "\;")
- else (WIN32)
- set (CMAKE_SEP ":")
- endif (WIN32)
+ #-- Adding test for cache_tagging
+ add_test (
+ NAME H5TEST-shared-clear-cache_tagging-objects
+ COMMAND ${CMAKE_COMMAND}
+ -E remove
+ tagging_test.h5
+ tagging_ext_test.h5
+ WORKING_DIRECTORY
+ ${HDF5_TEST_BINARY_DIR}/H5TEST-shared
+ )
+ add_test (NAME H5TEST-shared-cache_tagging COMMAND $<TARGET_FILE:cache_tagging-shared>)
+ set_tests_properties (H5TEST-shared-cache_tagging PROPERTIES
+ DEPENDS H5TEST-shared-clear-cache_tagging-objects
+ ENVIRONMENT "srcdir=${HDF5_TEST_BINARY_DIR}/H5TEST-shared"
+ WORKING_DIRECTORY ${HDF5_TEST_BINARY_DIR}/H5TEST-shared
+ )
+
+ #-- Adding test for ttsafe
+ add_test (
+ NAME H5TEST-shared-clear-ttsafe-objects
+ COMMAND ${CMAKE_COMMAND}
+ -E remove
+ ttsafe_error.h5
+ ttsafe_dcreate.h5
+ ttsafe_cancel.h5
+ ttsafe_acreate.h5
+ WORKING_DIRECTORY
+ ${HDF5_TEST_BINARY_DIR}/H5TEST-shared
+ )
+ add_test (NAME H5TEST-shared-ttsafe COMMAND $<TARGET_FILE:ttsafe-shared>)
+ set_tests_properties (H5TEST-shared-ttsafe PROPERTIES
+ DEPENDS H5TEST-shared-clear-ttsafe-objects
+ ENVIRONMENT "srcdir=${HDF5_TEST_BINARY_DIR}/H5TEST-shared"
+ WORKING_DIRECTORY ${HDF5_TEST_BINARY_DIR}/H5TEST-shared
+ )
+
+ #-- Adding test for err_compat
+ if (HDF5_ENABLE_DEPRECATED_SYMBOLS)
+ add_test (
+ NAME H5TEST-shared-clear-err_compat-objects
+ COMMAND ${CMAKE_COMMAND}
+ -E remove
+ err_compat.txt
+ err_compat.txt.err
+ WORKING_DIRECTORY
+ ${HDF5_TEST_BINARY_DIR}/H5TEST-shared
+ )
+ add_test (NAME H5TEST-shared-err_compat COMMAND "${CMAKE_COMMAND}"
+ -D "TEST_PROGRAM=$<TARGET_FILE:err_compat-shared>"
+ -D "TEST_ARGS:STRING="
+ -D "TEST_EXPECT=0"
+ -D "TEST_MASK_ERROR=true"
+ -D "TEST_OUTPUT=err_compat.txt"
+ -D "TEST_REFERENCE=err_compat_1"
+ -D "TEST_FOLDER=${PROJECT_BINARY_DIR}/H5TEST-shared"
+ -P "${HDF_RESOURCES_EXT_DIR}/runTest.cmake"
+ )
+ set_tests_properties (H5TEST-shared-err_compat PROPERTIES
+ DEPENDS H5TEST-shared-clear-err_compat-objects
+ ENVIRONMENT "srcdir=${HDF5_TEST_BINARY_DIR}/H5TEST-shared"
+ WORKING_DIRECTORY ${HDF5_TEST_BINARY_DIR}/H5TEST-shared
+ )
+ endif (HDF5_ENABLE_DEPRECATED_SYMBOLS)
+
+ #-- Adding test for error_test
+ add_test (
+ NAME H5TEST-shared-clear-error_test-objects
+ COMMAND ${CMAKE_COMMAND}
+ -E remove
+ error_test.txt
+ error_test.txt.err
+ WORKING_DIRECTORY
+ ${HDF5_TEST_BINARY_DIR}/H5TEST-shared
+ )
+ add_test (NAME H5TEST-shared-error_test COMMAND "${CMAKE_COMMAND}"
+ -D "TEST_PROGRAM=$<TARGET_FILE:error_test-shared>"
+ -D "TEST_ARGS:STRING="
+ -D "TEST_EXPECT=0"
+ -D "TEST_MASK_ERROR=true"
+ -D "TEST_OUTPUT=error_test.txt"
+ -D "TEST_REFERENCE=error_test_1"
+ -D "TEST_FOLDER=${PROJECT_BINARY_DIR}/H5TEST-shared"
+ -P "${HDF_RESOURCES_EXT_DIR}/runTest.cmake"
+ )
+ set_tests_properties (H5TEST-shared-error_test PROPERTIES
+ DEPENDS H5TEST-shared-clear-error_test-objects
+ ENVIRONMENT "srcdir=${HDF5_TEST_BINARY_DIR}/H5TEST-shared;HDF5_PLUGIN_PRELOAD=::"
+ WORKING_DIRECTORY ${HDF5_TEST_BINARY_DIR}/H5TEST-shared
+ )
- add_test (NAME H5PLUGIN-plugin COMMAND $<TARGET_FILE:plugin>)
- set_tests_properties (H5PLUGIN-plugin PROPERTIES
- ENVIRONMENT "HDF5_PLUGIN_PATH=${CMAKE_BINARY_DIR}/testdir1${CMAKE_SEP}${CMAKE_BINARY_DIR}/testdir2;srcdir=${HDF5_TEST_BINARY_DIR}"
- WORKING_DIRECTORY ${HDF5_TEST_BINARY_DIR}
+ #-- Adding test for links_env
+ add_test (
+ NAME H5TEST-shared-clear-links_env-objects
+ COMMAND ${CMAKE_COMMAND}
+ -E remove
+ links_env.txt
+ links_env.txt.err
+ extlinks_env0.h5
+ extlinks_env1.h5
+ tmp/extlinks_env1.h5
+ WORKING_DIRECTORY
+ ${HDF5_TEST_BINARY_DIR}/H5TEST-shared
+ )
+ add_test (NAME H5TEST-shared-links_env COMMAND "${CMAKE_COMMAND}"
+ -D "TEST_PROGRAM=$<TARGET_FILE:links_env-shared>"
+ -D "TEST_ARGS:STRING="
+ -D "TEST_ENV_VAR:STRING=HDF5_EXT_PREFIX"
+ -D "TEST_ENV_VALUE:STRING=.:tmp"
+ -D "TEST_EXPECT=0"
+ -D "TEST_OUTPUT=links_env.txt"
+ -D "TEST_REFERENCE=links_env.out"
+ -D "TEST_FOLDER=${PROJECT_BINARY_DIR}/H5TEST-shared"
+ -P "${HDF_RESOURCES_EXT_DIR}/runTest.cmake"
)
-else (BUILD_SHARED_LIBS)
- message (STATUS " **** Plugins libraries must be built as shared libraries **** ")
+ set_tests_properties (H5TEST-shared-links_env PROPERTIES
+ DEPENDS H5TEST-shared-clear-links_env-objects
+ ENVIRONMENT "srcdir=${HDF5_TEST_BINARY_DIR}/H5TEST-shared"
+ WORKING_DIRECTORY ${HDF5_TEST_BINARY_DIR}/H5TEST-shared
+ )
+
+ #-- Adding test for libinfo
add_test (
- NAME H5PLUGIN-SKIPPED
- COMMAND ${CMAKE_COMMAND} -E echo "SKIP H5PLUGIN TESTING"
+ NAME H5TEST-shared-testlibinfo
+ COMMAND ${CMAKE_COMMAND} -D "TEST_PROGRAM=$<TARGET_FILE:${HDF5_LIBSH_TARGET}>" -P "${GREP_RUNNER}"
+ WORKING_DIRECTORY
+ ${HDF5_TEST_BINARY_DIR}/H5TEST-shared
)
endif (BUILD_SHARED_LIBS)
##############################################################################
+### P L U G I N T E S T S
+##############################################################################
+if (WIN32)
+ set (CMAKE_SEP "\;")
+else (WIN32)
+ set (CMAKE_SEP ":")
+endif (WIN32)
+
+add_test (NAME H5PLUGIN-plugin COMMAND $<TARGET_FILE:plugin>)
+set_tests_properties (H5PLUGIN-plugin PROPERTIES
+ ENVIRONMENT "HDF5_PLUGIN_PATH=${CMAKE_BINARY_DIR}/testdir1${CMAKE_SEP}${CMAKE_BINARY_DIR}/testdir2;srcdir=${HDF5_TEST_BINARY_DIR}"
+ WORKING_DIRECTORY ${HDF5_TEST_BINARY_DIR}
+)
+
+##############################################################################
##############################################################################
### V F D T E S T S ###
##############################################################################
@@ -561,7 +906,7 @@ if (HDF5_TEST_VFD)
ohdr
stab
gheap
- cache
+# cache
cache_api
cache_tagging
pool
@@ -610,7 +955,7 @@ if (HDF5_TEST_VFD)
unregister
)
if (NOT CYGWIN)
- set (H5_VFD_TESTS ${H5_VFD_TESTS} big)
+ set (H5_VFD_TESTS ${H5_VFD_TESTS} big cache)
endif (NOT CYGWIN)
MACRO (CHECK_VFD_TEST vfdtest vfdname resultcode)
@@ -624,7 +969,7 @@ if (HDF5_TEST_VFD)
-D "TEST_ARGS:STRING="
-D "TEST_VFD:STRING=${vfdname}"
-D "TEST_EXPECT=${resultcode}"
- -D "TEST_OUTPUT=${vfdtest}"
+ -D "TEST_OUTPUT=${vfdname}-${vfdtest}"
-D "TEST_FOLDER=${PROJECT_BINARY_DIR}/${vfdname}"
-P "${HDF_RESOURCES_DIR}/vfdTest.cmake"
)
@@ -632,11 +977,34 @@ if (HDF5_TEST_VFD)
ENVIRONMENT "srcdir=${HDF5_TEST_BINARY_DIR}/${vfdname}"
WORKING_DIRECTORY ${HDF5_TEST_BINARY_DIR}/${vfdname}
)
+ if (BUILD_SHARED_LIBS)
+ add_test (
+ NAME VFD-${vfdname}-${test}-shared
+ COMMAND "${CMAKE_COMMAND}"
+ -D "TEST_PROGRAM=$<TARGET_FILE:${vfdtest}-shared>"
+ -D "TEST_ARGS:STRING="
+ -D "TEST_VFD:STRING=${vfdname}"
+ -D "TEST_EXPECT=${resultcode}"
+ -D "TEST_OUTPUT=${vfdname}-${vfdtest}-shared"
+ -D "TEST_FOLDER=${PROJECT_BINARY_DIR}/${vfdname}-shared"
+ -P "${HDF_RESOURCES_DIR}/vfdTest.cmake"
+ )
+ set_tests_properties (VFD-${vfdname}-${vfdtest}-shared PROPERTIES
+ ENVIRONMENT "srcdir=${HDF5_TEST_BINARY_DIR}/${vfdname}-shared"
+ WORKING_DIRECTORY ${HDF5_TEST_BINARY_DIR}/${vfdname}-shared
+ )
+ endif (BUILD_SHARED_LIBS)
else (NOT BUILD_SHARED_LIBS AND NOT CMAKE_BUILD_TYPE MATCHES Debug)
add_test (
NAME VFD-${vfdname}-${vfdtest}
COMMAND ${CMAKE_COMMAND} -E echo "SKIP VFD-${vfdname}-${vfdtest}"
)
+ if (BUILD_SHARED_LIBS)
+ add_test (
+ NAME VFD-${vfdname}-${test}-shared
+ COMMAND ${CMAKE_COMMAND} -E echo "SKIP VFD-${vfdname}-${vfdtest}-shared"
+ )
+ endif (BUILD_SHARED_LIBS)
endif(NOT BUILD_SHARED_LIBS AND NOT CMAKE_BUILD_TYPE MATCHES Debug)
else (${vfdname} STREQUAL "multi" OR ${vfdname} STREQUAL "split")
add_test (
@@ -646,7 +1014,7 @@ if (HDF5_TEST_VFD)
-D "TEST_ARGS:STRING="
-D "TEST_VFD:STRING=${vfdname}"
-D "TEST_EXPECT=${resultcode}"
- -D "TEST_OUTPUT=${vfdtest}"
+ -D "TEST_OUTPUT=${vfdname}-${vfdtest}"
-D "TEST_FOLDER=${PROJECT_BINARY_DIR}/${vfdname}"
-P "${HDF_RESOURCES_DIR}/vfdTest.cmake"
)
@@ -654,6 +1022,23 @@ if (HDF5_TEST_VFD)
ENVIRONMENT "srcdir=${HDF5_TEST_BINARY_DIR}/${vfdname}"
WORKING_DIRECTORY ${HDF5_TEST_BINARY_DIR}/${vfdname}
)
+ if (BUILD_SHARED_LIBS)
+ add_test (
+ NAME VFD-${vfdname}-${test}-shared
+ COMMAND "${CMAKE_COMMAND}"
+ -D "TEST_PROGRAM=$<TARGET_FILE:${vfdtest}-shared>"
+ -D "TEST_ARGS:STRING="
+ -D "TEST_VFD:STRING=${vfdname}"
+ -D "TEST_EXPECT=${resultcode}"
+ -D "TEST_OUTPUT=${vfdname}-${vfdtest}-shared"
+ -D "TEST_FOLDER=${PROJECT_BINARY_DIR}/${vfdname}-shared"
+ -P "${HDF_RESOURCES_DIR}/vfdTest.cmake"
+ )
+ set_tests_properties (VFD-${vfdname}-${vfdtest}-shared PROPERTIES
+ ENVIRONMENT "srcdir=${HDF5_TEST_BINARY_DIR}/${vfdname}-shared"
+ WORKING_DIRECTORY ${HDF5_TEST_BINARY_DIR}/${vfdname}-shared
+ )
+ endif (BUILD_SHARED_LIBS)
endif (${vfdname} STREQUAL "multi" OR ${vfdname} STREQUAL "split")
else (${vfdtest} STREQUAL "flush1" OR ${vfdtest} STREQUAL "flush2")
add_test (
@@ -663,14 +1048,31 @@ if (HDF5_TEST_VFD)
-D "TEST_ARGS:STRING="
-D "TEST_VFD:STRING=${vfdname}"
-D "TEST_EXPECT=${resultcode}"
- -D "TEST_OUTPUT=${vfdtest}"
+ -D "TEST_OUTPUT=${vfdname}-${vfdtest}"
-D "TEST_FOLDER=${PROJECT_BINARY_DIR}/${vfdname}"
-P "${HDF_RESOURCES_DIR}/vfdTest.cmake"
)
set_tests_properties (VFD-${vfdname}-${vfdtest} PROPERTIES
- ENVIRONMENT "srcdir=${HDF5_TEST_BINARY_DIR}/${vfdname}"
+ ENVIRONMENT "srcdir=${HDF5_TEST_BINARY_DIR}/${vfdname};HDF5TestExpress=2"
WORKING_DIRECTORY ${HDF5_TEST_BINARY_DIR}/${vfdname}
)
+ if (BUILD_SHARED_LIBS)
+ add_test (
+ NAME VFD-${vfdname}-${vfdtest}-shared
+ COMMAND "${CMAKE_COMMAND}"
+ -D "TEST_PROGRAM=$<TARGET_FILE:${vfdtest}-shared>"
+ -D "TEST_ARGS:STRING="
+ -D "TEST_VFD:STRING=${vfdname}"
+ -D "TEST_EXPECT=${resultcode}"
+ -D "TEST_OUTPUT=${vfdname}-${vfdtest}-shared"
+ -D "TEST_FOLDER=${PROJECT_BINARY_DIR}/${vfdname}-shared"
+ -P "${HDF_RESOURCES_DIR}/vfdTest.cmake"
+ )
+ set_tests_properties (VFD-${vfdname}-${vfdtest}-shared PROPERTIES
+ ENVIRONMENT "srcdir=${HDF5_TEST_BINARY_DIR}/${vfdname}-shared;HDF5TestExpress=2"
+ WORKING_DIRECTORY ${HDF5_TEST_BINARY_DIR}/${vfdname}-shared
+ )
+ endif (BUILD_SHARED_LIBS)
endif (${vfdtest} STREQUAL "flush1" OR ${vfdtest} STREQUAL "flush2")
ENDMACRO (CHECK_VFD_TEST vfdtest vfdname resultcode)
@@ -680,42 +1082,82 @@ if (HDF5_TEST_VFD)
CHECK_VFD_TEST (${test} ${vfdname} ${resultcode})
else (WIN32)
add_test (
- NAME VFD-${vfdname}-${test}
- COMMAND "${CMAKE_COMMAND}"
- -D "TEST_PROGRAM=$<TARGET_FILE:${test}>"
- -D "TEST_ARGS:STRING="
- -D "TEST_VFD:STRING=${vfdname}"
- -D "TEST_EXPECT=${resultcode}"
- -D "TEST_OUTPUT=${vfdname}-${test}"
- -D "TEST_FOLDER=${PROJECT_BINARY_DIR}/${vfdname}"
- -P "${HDF_RESOURCES_DIR}/vfdTest.cmake"
+ NAME VFD-${vfdname}-${test}
+ COMMAND "${CMAKE_COMMAND}"
+ -D "TEST_PROGRAM=$<TARGET_FILE:${test}>"
+ -D "TEST_ARGS:STRING="
+ -D "TEST_VFD:STRING=${vfdname}"
+ -D "TEST_EXPECT=${resultcode}"
+ -D "TEST_OUTPUT=${vfdname}-${test}"
+ -D "TEST_FOLDER=${PROJECT_BINARY_DIR}/${vfdname}"
+ -P "${HDF_RESOURCES_DIR}/vfdTest.cmake"
)
set_tests_properties (VFD-${vfdname}-${test} PROPERTIES
ENVIRONMENT "srcdir=${HDF5_TEST_BINARY_DIR}/${vfdname}"
WORKING_DIRECTORY ${HDF5_TEST_BINARY_DIR}/${vfdname}
)
+ if (BUILD_SHARED_LIBS)
+ add_test (
+ NAME VFD-${vfdname}-${test}-shared
+ COMMAND "${CMAKE_COMMAND}"
+ -D "TEST_PROGRAM=$<TARGET_FILE:${test}-shared>"
+ -D "TEST_ARGS:STRING="
+ -D "TEST_VFD:STRING=${vfdname}"
+ -D "TEST_EXPECT=${resultcode}"
+ -D "TEST_OUTPUT=${vfdname}-${test}-shared"
+ -D "TEST_FOLDER=${PROJECT_BINARY_DIR}/${vfdname}-shared"
+ -P "${HDF_RESOURCES_DIR}/vfdTest.cmake"
+ )
+ set_tests_properties (VFD-${vfdname}-${test}-shared PROPERTIES
+ ENVIRONMENT "srcdir=${HDF5_TEST_BINARY_DIR}/${vfdname}-shared"
+ WORKING_DIRECTORY ${HDF5_TEST_BINARY_DIR}/${vfdname}-shared
+ )
+ endif (BUILD_SHARED_LIBS)
endif (WIN32)
endforeach (test ${H5_VFD_TESTS})
set_tests_properties (VFD-${vfdname}-flush2 PROPERTIES DEPENDS VFD-${vfdname}-flush1)
set_tests_properties (VFD-${vfdname}-flush1 PROPERTIES TIMEOUT 10)
set_tests_properties (VFD-${vfdname}-flush2 PROPERTIES TIMEOUT 10)
+ if (BUILD_SHARED_LIBS)
+ set_tests_properties (VFD-${vfdname}-flush2-shared PROPERTIES DEPENDS VFD-${vfdname}-flush1-shared)
+ set_tests_properties (VFD-${vfdname}-flush1-shared PROPERTIES TIMEOUT 10)
+ set_tests_properties (VFD-${vfdname}-flush2-shared PROPERTIES TIMEOUT 10)
+ endif (BUILD_SHARED_LIBS)
if (HDF5_TEST_FHEAP_VFD)
add_test (
- NAME VFD-${vfdname}-fheap
- COMMAND "${CMAKE_COMMAND}"
- -D "TEST_PROGRAM=$<TARGET_FILE:fheap>"
- -D "TEST_ARGS:STRING="
- -D "TEST_VFD:STRING=${vfdname}"
- -D "TEST_EXPECT=${resultcode}"
- -D "TEST_OUTPUT=${vfdname}-fheap"
- -D "TEST_FOLDER=${PROJECT_BINARY_DIR}/${vfdname}"
- -P "${HDF_RESOURCES_DIR}/vfdTest.cmake"
+ NAME VFD-${vfdname}-fheap
+ COMMAND "${CMAKE_COMMAND}"
+ -D "TEST_PROGRAM=$<TARGET_FILE:fheap>"
+ -D "TEST_ARGS:STRING="
+ -D "TEST_VFD:STRING=${vfdname}"
+ -D "TEST_EXPECT=${resultcode}"
+ -D "TEST_OUTPUT=${vfdname}-fheap"
+ -D "TEST_FOLDER=${PROJECT_BINARY_DIR}/${vfdname}"
+ -P "${HDF_RESOURCES_DIR}/vfdTest.cmake"
)
set_tests_properties (VFD-${vfdname}-fheap PROPERTIES
TIMEOUT 1800
- ENVIRONMENT "srcdir=${HDF5_TEST_BINARY_DIR}/${vfdname}"
+ ENVIRONMENT "srcdir=${HDF5_TEST_BINARY_DIR}/${vfdname};HDF5TestExpress=2"
WORKING_DIRECTORY ${HDF5_TEST_BINARY_DIR}/${vfdname}
)
+ if (BUILD_SHARED_LIBS)
+ add_test (
+ NAME VFD-${vfdname}-fheap-shared
+ COMMAND "${CMAKE_COMMAND}"
+ -D "TEST_PROGRAM=$<TARGET_FILE:fheap-shared>"
+ -D "TEST_ARGS:STRING="
+ -D "TEST_VFD:STRING=${vfdname}"
+ -D "TEST_EXPECT=${resultcode}"
+ -D "TEST_OUTPUT=${vfdname}-fheap-shared"
+ -D "TEST_FOLDER=${PROJECT_BINARY_DIR}/${vfdname}-shared"
+ -P "${HDF_RESOURCES_DIR}/vfdTest.cmake"
+ )
+ set_tests_properties (VFD-${vfdname}-fheap-shared PROPERTIES
+ TIMEOUT 1800
+ ENVIRONMENT "srcdir=${HDF5_TEST_BINARY_DIR}/${vfdname}-shared;HDF5TestExpress=2"
+ WORKING_DIRECTORY ${HDF5_TEST_BINARY_DIR}/${vfdname}-shared
+ )
+ endif (BUILD_SHARED_LIBS)
endif (HDF5_TEST_FHEAP_VFD)
ENDMACRO (ADD_VFD_TEST)
@@ -732,7 +1174,7 @@ endif (HDF5_TEST_VFD)
##############################################################################
##############################################################################
-if (HDF5_BUILD_GENERATORS AND NOT BUILD_SHARED_LIBS)
+if (HDF5_BUILD_GENERATORS)
MACRO (ADD_H5_GENERATOR genfile)
add_executable (${genfile} ${HDF5_TEST_SOURCE_DIR}/${genfile}.c)
TARGET_NAMING (${genfile} STATIC)
@@ -768,4 +1210,4 @@ if (HDF5_BUILD_GENERATORS AND NOT BUILD_SHARED_LIBS)
ADD_H5_GENERATOR (${gen})
endforeach (gen ${H5_GENERATORS})
-endif (HDF5_BUILD_GENERATORS AND NOT BUILD_SHARED_LIBS)
+endif (HDF5_BUILD_GENERATORS)
diff --git a/test/H5srcdir.h b/test/H5srcdir.h
index 4f0f439..81624d8 100644
--- a/test/H5srcdir.h
+++ b/test/H5srcdir.h
@@ -32,11 +32,7 @@ static char srcdir_path[1024] = "";
static char srcdir_testpath[1024] = "";
/* Append the test file name to the srcdir path and return the whole string */
-#ifdef H5_VMS
-static const char *H5_get_srcdir_filename(char *filename)
-#else
static const char *H5_get_srcdir_filename(const char *filename)
-#endif
{
const char *srcdir = HDgetenv("srcdir");
@@ -46,19 +42,7 @@ static const char *H5_get_srcdir_filename(const char *filename)
/* Build path to test file */
if((HDstrlen(srcdir) + HDstrlen(filename) + 2) < sizeof(srcdir_testpath)) {
-#ifdef H5_VMS
- HDstrcpy(srcdir_testpath, srcdir);
- if(filename[0] == '[') {
- char *tmp = filename;
-
- srcdir_testpath[HDstrlen(srcdir) - 1] = '\0';
- HDstrcat(srcdir_testpath, ++tmp);
- } /* end if */
- else
- HDstrcat(srcdir_testpath, filename);
-#else
HDsnprintf(srcdir_testpath, sizeof(srcdir_testpath), "%s/%s", srcdir, filename);
-#endif
return(srcdir_testpath);
} /* end if */
else
diff --git a/test/Makefile.in b/test/Makefile.in
index cd79959..22237fa 100644
--- a/test/Makefile.in
+++ b/test/Makefile.in
@@ -120,7 +120,8 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/aclocal_cxx.m4 \
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(SHELL) $(top_srcdir)/bin/mkinstalldirs
-CONFIG_HEADER = $(top_builddir)/src/H5config.h
+CONFIG_HEADER = $(top_builddir)/src/H5config.h \
+ $(top_builddir)/fortran/src/H5config_f.inc
CONFIG_CLEAN_FILES = testcheck_version.sh testerror.sh H5srcdir_str.h \
testlibinfo.sh testlinks_env.sh test_plugin.sh
CONFIG_CLEAN_VPATH_FILES =
@@ -539,7 +540,7 @@ AM_V_at = $(am__v_at_@AM_V@)
am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
am__v_at_0 = @
am__v_at_1 =
-DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/src
+DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/src -I$(top_builddir)/fortran/src
depcomp = $(SHELL) $(top_srcdir)/bin/depcomp
am__depfiles_maybe = depfiles
am__mv = mv -f
@@ -859,14 +860,21 @@ F9XMODEXT = @F9XMODEXT@
F9XMODFLAG = @F9XMODFLAG@
F9XSUFFIXFLAG = @F9XSUFFIXFLAG@
FC = @FC@
-FC2003 = @FC2003@
FCFLAGS = @FCFLAGS@
FCFLAGS_f90 = @FCFLAGS_f90@
FCLIBS = @FCLIBS@
FC_VERSION = @FC_VERSION@
FGREP = @FGREP@
+FORTRAN_C_LONG_DOUBLE_IS_UNIQUE = @FORTRAN_C_LONG_DOUBLE_IS_UNIQUE@
+FORTRAN_HAVE_C_LONG_DOUBLE = @FORTRAN_HAVE_C_LONG_DOUBLE@
+FORTRAN_SIZEOF_LONG_DOUBLE = @FORTRAN_SIZEOF_LONG_DOUBLE@
FSEARCH_DIRS = @FSEARCH_DIRS@
GREP = @GREP@
+H5CONFIG_F_IKIND = @H5CONFIG_F_IKIND@
+H5CONFIG_F_NUM_IKIND = @H5CONFIG_F_NUM_IKIND@
+H5CONFIG_F_NUM_RKIND = @H5CONFIG_F_NUM_RKIND@
+H5CONFIG_F_RKIND = @H5CONFIG_F_RKIND@
+H5CONFIG_F_RKIND_SIZEOF = @H5CONFIG_F_RKIND_SIZEOF@
H5_CFLAGS = @H5_CFLAGS@
H5_CPPFLAGS = @H5_CPPFLAGS@
H5_CXXFLAGS = @H5_CXXFLAGS@
@@ -876,13 +884,12 @@ H5_LDFLAGS = @H5_LDFLAGS@
H5_VERSION = @H5_VERSION@
HADDR_T = @HADDR_T@
HAVE_DMALLOC = @HAVE_DMALLOC@
-HAVE_FORTRAN_2003 = @HAVE_FORTRAN_2003@
+HAVE_Fortran_INTEGER_SIZEOF_16 = @HAVE_Fortran_INTEGER_SIZEOF_16@
HAVE_PTHREAD = @HAVE_PTHREAD@
HDF5_HL = @HDF5_HL@
HDF5_INTERFACES = @HDF5_INTERFACES@
HDF_CXX = @HDF_CXX@
HDF_FORTRAN = @HDF_FORTRAN@
-HDF_FORTRAN2003 = @HDF_FORTRAN2003@
HID_T = @HID_T@
HL = @HL@
HL_FOR = @HL_FOR@
@@ -924,9 +931,20 @@ PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
+PAC_C_MAX_REAL_PRECISION = @PAC_C_MAX_REAL_PRECISION@
+PAC_FC_ALL_INTEGER_KINDS = @PAC_FC_ALL_INTEGER_KINDS@
+PAC_FC_ALL_INTEGER_KINDS_SIZEOF = @PAC_FC_ALL_INTEGER_KINDS_SIZEOF@
+PAC_FC_ALL_REAL_KINDS = @PAC_FC_ALL_REAL_KINDS@
+PAC_FC_ALL_REAL_KINDS_SIZEOF = @PAC_FC_ALL_REAL_KINDS_SIZEOF@
+PAC_FC_MAX_REAL_PRECISION = @PAC_FC_MAX_REAL_PRECISION@
+PAC_FORTRAN_NATIVE_DOUBLE_KIND = @PAC_FORTRAN_NATIVE_DOUBLE_KIND@
+PAC_FORTRAN_NATIVE_DOUBLE_SIZEOF = @PAC_FORTRAN_NATIVE_DOUBLE_SIZEOF@
+PAC_FORTRAN_NATIVE_INTEGER_KIND = @PAC_FORTRAN_NATIVE_INTEGER_KIND@
+PAC_FORTRAN_NATIVE_INTEGER_SIZEOF = @PAC_FORTRAN_NATIVE_INTEGER_SIZEOF@
+PAC_FORTRAN_NATIVE_REAL_KIND = @PAC_FORTRAN_NATIVE_REAL_KIND@
+PAC_FORTRAN_NATIVE_REAL_SIZEOF = @PAC_FORTRAN_NATIVE_REAL_SIZEOF@
PARALLEL = @PARALLEL@
PATH_SEPARATOR = @PATH_SEPARATOR@
-PERL = @PERL@
RANLIB = @RANLIB@
ROOT = @ROOT@
RUNPARALLEL = @RUNPARALLEL@
diff --git a/test/dt_arith.c b/test/dt_arith.c
index b3f5cad..eb201d0 100644
--- a/test/dt_arith.c
+++ b/test/dt_arith.c
@@ -58,10 +58,9 @@ const char *FILENAME[] = {
};
/*
- * Count up or down depending on whether the machine is big endian, little
- * endian, or VAX (OpenVMS). If local variable `endian' is H5T_ORDER_BE then
- * the result will be I, otherwise the result will be Z-(I+1). VAX is printed
- * as little endian.
+ * Count up or down depending on whether the machine is big endian or little
+ * endian. If local variable `endian' is H5T_ORDER_BE then the result will
+ * be I, otherwise the result will be Z-(I+1).
*/
#define ENDIAN(Z,I,E) (H5T_ORDER_BE==E?(I):(Z)-((I)+1))
@@ -88,11 +87,6 @@ static int skip_overflow_tests_g = 0;
#define HANDLE_SIGFPE
#endif
-/* OpenVMS doesn't have this feature. Make sure to disable it*/
-#ifdef H5_VMS
-#undef HANDLE_SIGFPE
-#endif
-
/*
* Decide what values of floating-point number we want to test. They are
* 1 - normalized; 2 - denormalized; 3 - special.
@@ -2740,24 +2734,6 @@ my_isnan(dtype_t type, void *val)
retval = 1;
}
-#ifdef H5_VMS
- /* For "float" and "double" on OpenVMS/Alpha, NaN is
- * actually a valid value of maximal value.*/
- if(!retval) {
- if (FLT_FLOAT==type) {
- float x;
- HDmemcpy(&x, val, sizeof(float));
- retval = (x==FLT_MAX || x==-FLT_MAX);
- } else if (FLT_DOUBLE==type) {
- double x;
- HDmemcpy(&x, val, sizeof(double));
- retval = (x==DBL_MAX || x==-DBL_MAX);
- } else {
- return 0;
- }
- }
-#endif /*H5_VMS*/
-
return retval;
}
@@ -2786,23 +2762,8 @@ my_isinf(int endian, unsigned char *val, size_t size,
bits = (unsigned char*)HDcalloc((size_t)1, size);
-#ifdef H5_VMS
- if(H5T_ORDER_VAX==endian) {
- for (i = 0; i < size; i += 4) {
- bits[i] = val[(size-2)-i];
- bits[i+1] = val[(size-1)-i];
-
- bits[(size-2)-i] = val[i];
- bits[(size-1)-i] = val[i+1];
- }
- } else {
- for (i=0; i<size; i++)
- bits[size-(i+1)] = *(val + ENDIAN(size,i,endian));
- }
-#else /*H5_VMS*/
for (i=0; i<size; i++)
bits[size-(i+1)] = *(val + ENDIAN(size, i, endian));
-#endif /*H5_VMS*/
if(H5T__bit_find(bits, mpos, msize, H5T_BIT_LSB, 1) < 0 &&
H5T__bit_find(bits, epos, esize, H5T_BIT_LSB, 0) < 0)
@@ -2860,9 +2821,6 @@ test_conv_flt_1 (const char *name, int run_test, hid_t src, hid_t dst)
unsigned char *hw=NULL; /*ptr to hardware-conv'd*/
int underflow; /*underflow occurred */
int overflow; /*overflow occurred */
-#ifdef H5_VMS
- int maximal; /*maximal value occurred, for VMS only. */
-#endif /* H5_VMS */
int uflow=0; /*underflow debug counters*/
size_t j, k; /*counters */
int sendian; /* source type endianess */
@@ -2913,9 +2871,7 @@ test_conv_flt_1 (const char *name, int run_test, hid_t src, hid_t dst)
* The remainder of this function is executed only by the child if
* HANDLE_SIGFPE is defined.
*/
-#ifndef H5_VMS
HDsignal(SIGFPE,fpe_handler);
-#endif
/* What are the names of the source and destination types */
if (H5Tequal(src, H5T_NATIVE_FLOAT)) {
@@ -3013,47 +2969,19 @@ test_conv_flt_1 (const char *name, int run_test, hid_t src, hid_t dst)
switch (run_test) {
case TEST_NOOP:
case TEST_NORMAL:
-#ifdef H5_VMS
if(src_type == FLT_FLOAT) {
INIT_FP_NORM(float, FLT_MAX, FLT_MIN, FLT_MAX_10_EXP, FLT_MIN_10_EXP,
src_size, dst_size, buf, saved, nelmts);
- } else if(src_type == FLT_DOUBLE && dst_type == FLT_FLOAT) {
- /*Temporary solution for VMS. Cap double values between maximal and minimal
- *destination values because VMS return exception when overflows or underflows.
- *Same below.*/
- INIT_FP_NORM(double, FLT_MAX, FLT_MIN, FLT_MAX_10_EXP, FLT_MIN_10_EXP,
- src_size, dst_size, buf, saved, nelmts);
} else if(src_type == FLT_DOUBLE) {
INIT_FP_NORM(double, DBL_MAX, DBL_MIN, DBL_MAX_10_EXP, DBL_MIN_10_EXP,
src_size, dst_size, buf, saved, nelmts);
#if H5_SIZEOF_LONG_DOUBLE!=H5_SIZEOF_DOUBLE && H5_SIZEOF_LONG_DOUBLE!=0
- } else if(src_type == FLT_LDOUBLE && dst_type == FLT_FLOAT) {
- INIT_FP_NORM(long double, FLT_MAX, FLT_MIN, FLT_MAX_10_EXP, FLT_MIN_10_EXP,
- src_size, dst_size, buf, saved, nelmts);
- } else if(src_type == FLT_LDOUBLE && dst_type == FLT_DOUBLE) {
- INIT_FP_NORM(long double, DBL_MAX, DBL_MIN, DBL_MAX_10_EXP, DBL_MIN_10_EXP,
- src_size, dst_size, buf, saved, nelmts);
} else if(src_type == FLT_LDOUBLE) {
INIT_FP_NORM(long double, LDBL_MAX, LDBL_MIN, LDBL_MAX_10_EXP, LDBL_MIN_10_EXP,
src_size, dst_size, buf, saved, nelmts);
#endif
} else
goto error;
-#else /*H5_VMS*/
- if(src_type == FLT_FLOAT) {
- INIT_FP_NORM(float, FLT_MAX, FLT_MIN, FLT_MAX_10_EXP, FLT_MIN_10_EXP,
- src_size, dst_size, buf, saved, nelmts);
- } else if(src_type == FLT_DOUBLE) {
- INIT_FP_NORM(double, DBL_MAX, DBL_MIN, DBL_MAX_10_EXP, DBL_MIN_10_EXP,
- src_size, dst_size, buf, saved, nelmts);
-#if H5_SIZEOF_LONG_DOUBLE!=H5_SIZEOF_DOUBLE && H5_SIZEOF_LONG_DOUBLE!=0
- } else if(src_type == FLT_LDOUBLE) {
- INIT_FP_NORM(long double, LDBL_MAX, LDBL_MIN, LDBL_MAX_10_EXP, LDBL_MIN_10_EXP,
- src_size, dst_size, buf, saved, nelmts);
-#endif
- } else
- goto error;
-#endif /*H5_VMS*/
break;
case TEST_DENORM:
@@ -3129,9 +3057,6 @@ test_conv_flt_1 (const char *name, int run_test, hid_t src, hid_t dst)
hw = (unsigned char*)&hw_f;
underflow = HDfabs(*((double*)aligned)) < FLT_MIN;
overflow = HDfabs(*((double*)aligned)) > FLT_MAX;
-#ifdef H5_VMS
- maximal = HDfabs(*((double*)aligned)) == FLT_MAX;
-#endif
} else if (FLT_DOUBLE==dst_type) {
hw_d = *((double*)aligned);
hw = (unsigned char*)&hw_d;
@@ -3149,17 +3074,11 @@ test_conv_flt_1 (const char *name, int run_test, hid_t src, hid_t dst)
hw = (unsigned char*)&hw_f;
underflow = HDfabsl(*((long double*)aligned)) < FLT_MIN;
overflow = HDfabsl(*((long double*)aligned)) > FLT_MAX;
-#ifdef H5_VMS
- maximal = HDfabs(*((long double*)aligned)) == FLT_MAX;
-#endif
} else if (FLT_DOUBLE==dst_type) {
hw_d = *((long double*)aligned);
hw = (unsigned char*)&hw_d;
underflow = HDfabsl(*((long double*)aligned)) < DBL_MIN;
overflow = HDfabsl(*((long double*)aligned)) > DBL_MAX;
-#ifdef H5_VMS
- maximal = HDfabs(*((long double*)aligned)) == DBL_MAX;
-#endif
} else {
hw_ld = *((long double*)aligned);
hw = (unsigned char*)&hw_ld;
@@ -3194,17 +3113,6 @@ test_conv_flt_1 (const char *name, int run_test, hid_t src, hid_t dst)
if (k==dst_size)
continue; /*no error*/
-#ifdef H5_VMS
- /* For "float" and "double" on OpenVMS/Alpha, NaN is
- * a valid value of maximal value.*/
- if (FLT_FLOAT==src_type &&
- my_isnan(src_type, saved+j*sizeof(float))) {
- continue;
- } else if (FLT_DOUBLE==src_type &&
- my_isnan(src_type, saved+j*sizeof(double))) {
- continue;
- }
-#endif /*H5_VMS*/
/*
* Assume same if both results are NaN. There are many NaN bit
@@ -3262,11 +3170,6 @@ test_conv_flt_1 (const char *name, int run_test, hid_t src, hid_t dst)
if (overflow && my_isinf(dendian, buf+j*sizeof(float),
dst_size, dst_mpos, dst_msize, dst_epos, dst_esize))
continue; /* all overflowed, no error */
-#ifdef H5_VMS
- if (maximal && my_isinf(dendian, buf+j*sizeof(float),
- dst_size, dst_mpos, dst_msize, dst_epos, dst_esize))
- continue; /* maximal value, no error */
-#endif /*H5_VMS*/
check_mant[0] = HDfrexpf(x, check_expo+0);
check_mant[1] = HDfrexpf(hw_f, check_expo+1);
} else if (FLT_DOUBLE==dst_type) {
@@ -3278,11 +3181,6 @@ test_conv_flt_1 (const char *name, int run_test, hid_t src, hid_t dst)
if (overflow && my_isinf(dendian, buf+j*sizeof(double),
dst_size, dst_mpos, dst_msize, dst_epos, dst_esize))
continue; /* all overflowed, no error */
-#ifdef H5_VMS
- if (maximal && my_isinf(dendian, buf+j*sizeof(double),
- dst_size, dst_mpos, dst_msize, dst_epos, dst_esize))
- continue; /* maximal value, no error */
-#endif /*H5_VMS*/
check_mant[0] = HDfrexp(x, check_expo+0);
check_mant[1] = HDfrexp(hw_d, check_expo+1);
#if H5_SIZEOF_LONG_DOUBLE !=0 && (H5_SIZEOF_LONG_DOUBLE!=H5_SIZEOF_DOUBLE)
@@ -4924,7 +4822,6 @@ run_fp_tests(const char *name)
nerrors += test_conv_flt_1(name, TEST_NORMAL, H5T_NATIVE_LDOUBLE, H5T_NATIVE_DOUBLE);
#endif
-#ifndef H5_VMS
/*Test denormalized values. TEST_DENORM indicates denormalized values.*/
nerrors += test_conv_flt_1(name, TEST_DENORM, H5T_NATIVE_FLOAT, H5T_NATIVE_DOUBLE);
nerrors += test_conv_flt_1(name, TEST_DENORM, H5T_NATIVE_DOUBLE, H5T_NATIVE_FLOAT);
@@ -4944,7 +4841,6 @@ run_fp_tests(const char *name)
nerrors += test_conv_flt_1(name, TEST_SPECIAL, H5T_NATIVE_LDOUBLE, H5T_NATIVE_FLOAT);
nerrors += test_conv_flt_1(name, TEST_SPECIAL, H5T_NATIVE_LDOUBLE, H5T_NATIVE_DOUBLE);
#endif
-#endif /*H5_VMS*/
done:
return nerrors;
@@ -5085,11 +4981,7 @@ run_fp_int_conv(const char *name)
int nerrors = 0;
int test_values;
-#ifdef H5_VMS
- test_values = TEST_NORMAL;
-#else
for(test_values = TEST_NORMAL; test_values <= TEST_SPECIAL; test_values++) {
-#endif /*H5_VMS*/
nerrors += test_conv_int_fp(name, test_values, H5T_NATIVE_FLOAT, H5T_NATIVE_SCHAR);
nerrors += test_conv_int_fp(name, test_values, H5T_NATIVE_DOUBLE, H5T_NATIVE_SCHAR);
@@ -5194,9 +5086,7 @@ run_fp_int_conv(const char *name)
#endif /*H5_LDOUBLE_TO_LLONG_ACCURATE*/
#endif
#endif
-#ifndef H5_VMS
} /* end for */
-#endif /* H5_VMS */
return nerrors;
}
@@ -5248,10 +5138,8 @@ main(void)
* for user-defined integer types */
nerrors += test_derived_integer();
-#ifndef H5_VMS
/* Does floating point overflow generate a SIGFPE? */
generates_sigfpe();
-#endif
/* Test degenerate cases */
nerrors += run_fp_tests("noop");
diff --git a/test/dtypes.c b/test/dtypes.c
index 59cf000..88bbce0 100644
--- a/test/dtypes.c
+++ b/test/dtypes.c
@@ -3233,11 +3233,7 @@ test_compound_18(void)
/* Open Generated File */
/* (generated with gen_bad_compound.c) */
-#ifdef H5_VMS
- if((file = H5Fopen(TESTFILE, H5F_ACC_RDONLY, H5P_DEFAULT)) < 0) FAIL_STACK_ERROR
-#else
if((file = H5Fopen(testfile, H5F_ACC_RDONLY, H5P_DEFAULT)) < 0) FAIL_STACK_ERROR
-#endif
/* Try to open the datatype */
H5E_BEGIN_TRY {
diff --git a/test/fheap.c b/test/fheap.c
index fee6fdf..c300028 100644
--- a/test/fheap.c
+++ b/test/fheap.c
@@ -16418,9 +16418,7 @@ curr_test = FHEAP_TEST_NORMAL;
nerrors += test_id_limits(fapl, &small_cparam);
nerrors += test_filtered_create(fapl, &small_cparam);
nerrors += test_size(fapl, &small_cparam);
-#ifndef H5_CANNOT_OPEN_TWICE
nerrors += test_reopen_hdr(fapl, &small_cparam);
-#endif /*H5_CANNOT_OPEN_TWICE*/
#else /* QAK */
HDfprintf(stderr, "Uncomment tests!\n");
#endif /* QAK */
diff --git a/test/flush2.c b/test/flush2.c
index 28ce41e..0ee299e 100644
--- a/test/flush2.c
+++ b/test/flush2.c
@@ -189,8 +189,6 @@ main(void)
#if defined H5_HAVE_WIN32_API && !defined (hdf5_EXPORTS)
SKIPPED();
puts(" DLL will flush the file even when calling _exit, skip this test temporarily");
-#elif defined H5_VMS
- SKIPPED();
#else
H5_FAILED()
goto error;
@@ -212,8 +210,6 @@ main(void)
#if defined H5_HAVE_WIN32_API && !defined (hdf5_EXPORTS)
SKIPPED();
puts(" DLL will flush the file even when calling _exit, skip this test temporarily");
-#elif defined H5_VMS
- SKIPPED();
#else
H5_FAILED()
goto error;
diff --git a/test/gen_cross.c b/test/gen_cross.c
index 1c73016..2d4b788 100644
--- a/test/gen_cross.c
+++ b/test/gen_cross.c
@@ -22,6 +22,10 @@
* Run it on an OpenVMS, a little-endian, and a big-endian machine. Change the
* output file names to vms_data.h5, le_data.h5, and be_data.h5, and put them
* under hdf5/test/ directory.
+ *
+ * Note that we no longer support OpenVMS. The OpenVMS file will eventually
+ * have to go away since we won't be able to re-create it but it's probably
+ * worth keeping around for now.
*/
#include <stdio.h>
diff --git a/test/getname.c b/test/getname.c
index dc1ddbe..e1bbc6b 100644
--- a/test/getname.c
+++ b/test/getname.c
@@ -2995,9 +2995,7 @@ main(void)
nerrors += test_main(file_id, fapl);
nerrors += test_obj_ref(fapl);
nerrors += test_reg_ref(fapl);
-#ifndef H5_CANNOT_OPEN_TWICE
nerrors += test_elinks(fapl);
-#endif /*H5_CANNOT_OPEN_TWICE*/
/* Close file */
H5Fclose(file_id);
diff --git a/test/lheap.c b/test/lheap.c
index bdb6360..492316e 100644
--- a/test/lheap.c
+++ b/test/lheap.c
@@ -179,11 +179,7 @@ main(void)
{
const char *testfile = H5_get_srcdir_filename(TESTFILE); /* Corrected test file name */
hid_t dset = -1;
-#ifdef H5_VMS
- file = H5Fopen(TESTFILE, H5F_ACC_RDONLY, H5P_DEFAULT);
-#else
file = H5Fopen(testfile, H5F_ACC_RDONLY, H5P_DEFAULT);
-#endif
if(file >= 0){
if((dset = H5Dopen2(file, "/Dataset1", H5P_DEFAULT)) < 0)
TEST_ERROR
diff --git a/test/links.c b/test/links.c
index cfbc4a1..ef71be7 100644
--- a/test/links.c
+++ b/test/links.c
@@ -36,13 +36,8 @@
/* File for external link test. Created with gen_udlinks.c */
#define LINKED_FILE "be_extlink2.h5"
-#ifdef H5_VMS
-#define TMPDIR "[.tmp]"
-#define TMPDIR2 "[.tmp2]"
-#else /* H5_VMS */
#define TMPDIR "tmp/"
#define TMPDIR2 "tmp2/"
-#endif /* H5_VMS */
/* Symlinks for external link symlink test */
#define SYMLINK1 TMPDIR "sym1.h5"
@@ -320,7 +315,7 @@ typedef struct {
* Function: fix_ext_filename
*
* Purpose: Internal function to append path to file name. It handles
- * path name of Unix, Windows, and OpenVMS.
+ * path name of Unix and Windows.
*
* Return: void
*
@@ -333,17 +328,8 @@ fix_ext_filename(char *path_name, char *cwd, const char *file_name)
{
HDstrcpy(path_name, cwd);
-#ifdef H5_VMS
- if(file_name[0] == '[') {
- char *tmp = file_name;
- path_name[strlen(cwd)-1] = '\0';
- HDstrcat(path_name, ++tmp);
- } else
- HDstrcat(path_name, file_name);
-#else
HDstrcat(path_name, "/");
HDstrcat(path_name, file_name);
-#endif
}
@@ -2877,7 +2863,6 @@ external_link_abs_mainpath(hid_t fapl, hbool_t new_format)
* set up name for main file:
* Linux: "/CWD/tmp/extlinks0"
* Window: "<cur drive>:/CWD/tmp/extlinks0"
- * OpenVMS: "<cur disk>$<partition>:[CWD.tmp]extlinks0"
*/
fix_ext_filename(tmpname, cwdpath, FILENAME[13]);
h5_fixname(tmpname, fapl, filename1, sizeof filename1);
@@ -6943,7 +6928,6 @@ external_file_cache(hid_t fapl, hbool_t new_format)
/* Verify that all files are now closed */
H5F_sfile_assert_num(0);
-#ifndef H5_CANNOT_OPEN_TWICE
/*
* Test 5: 3 file cycle
*/
@@ -7045,7 +7029,6 @@ external_file_cache(hid_t fapl, hbool_t new_format)
/* Verify that all files are now closed */
H5F_sfile_assert_num(0);
-#endif /* H5_CANNOT_OPEN_TWICE */
/* Close fapl */
H5Pclose(my_fapl);
@@ -14580,15 +14563,11 @@ main(void)
printf("\n---Testing without external file cache---\n");
} /* end else */
-#ifndef H5_CANNOT_OPEN_TWICE
nerrors += external_link_root(my_fapl, new_format) < 0 ? 1 : 0;
-#endif /* H5_CANNOT_OPEN_TWICE */
nerrors += external_link_path(my_fapl, new_format) < 0 ? 1 : 0;
-#ifndef H5_CANNOT_OPEN_TWICE
nerrors += external_link_self(my_fapl, new_format) < 0 ? 1 : 0;
nerrors += external_link_pingpong(my_fapl, new_format) < 0 ? 1 : 0;
nerrors += external_link_toomany(my_fapl, new_format) < 0 ? 1 : 0;
-#endif /* H5_CANNOT_OPEN_TWICE */
nerrors += external_link_dangling(my_fapl, new_format) < 0 ? 1 : 0;
nerrors += external_link_recursive(my_fapl, new_format) < 0 ? 1 : 0;
nerrors += external_link_query(my_fapl, new_format) < 0 ? 1 : 0;
@@ -14596,9 +14575,7 @@ main(void)
nerrors += external_link_unlink_dense(my_fapl, new_format) < 0 ? 1 : 0;
nerrors += external_link_move(my_fapl, new_format) < 0 ? 1 : 0;
nerrors += external_link_ride(my_fapl, new_format) < 0 ? 1 : 0;
-#ifndef H5_CANNOT_OPEN_TWICE
nerrors += external_link_closing(my_fapl, new_format) < 0 ? 1 : 0;
-#endif /* H5_CANNOT_OPEN_TWICE */
nerrors += external_link_endian(new_format) < 0 ? 1 : 0;
nerrors += external_link_strong(my_fapl, new_format) < 0 ? 1 : 0;
@@ -14628,9 +14605,7 @@ main(void)
nerrors += external_symlink(env_h5_drvr, my_fapl, new_format) < 0 ? 1 : 0;
nerrors += external_copy_invalid_object(my_fapl, new_format) < 0 ? 1 : 0;
nerrors += external_dont_fail_to_source(my_fapl, new_format) < 0 ? 1 : 0;
-#ifndef H5_CANNOT_OPEN_TWICE
nerrors += external_open_twice(my_fapl, new_format) < 0 ? 1 : 0;
-#endif /* H5_CANNOT_OPEN_TWICE */
} /* end for */
/* These tests assume that external links are a form of UD links,
@@ -14654,9 +14629,7 @@ main(void)
nerrors += obj_visit_by_name(my_fapl, new_format) < 0 ? 1 : 0;
nerrors += obj_visit_stop(my_fapl, new_format) < 0 ? 1 : 0;
nerrors += link_filters(my_fapl, new_format) < 0 ? 1 : 0;
-#ifndef H5_CANNOT_OPEN_TWICE
nerrors += obj_exists(my_fapl, new_format) < 0 ? 1 : 0;
-#endif /* H5_CANNOT_OPEN_TWICE */
/* Keep this test last, it's testing files that are used above */
/* do not do this for files used by external link tests */
diff --git a/test/links_env.c b/test/links_env.c
index 308d562..6e47667 100644
--- a/test/links_env.c
+++ b/test/links_env.c
@@ -25,11 +25,7 @@
#include "H5Iprivate.h" /* IDs */
#include "H5Lprivate.h" /* Links */
-#ifdef H5_VMS
-#define TMPDIR "[.tmp]"
-#else /* H5_VMS */
#define TMPDIR "tmp/"
-#endif /* H5_VMS */
#define NAME_BUF_SIZE 1024
const char *FILENAME[] = {
diff --git a/test/mf.c b/test/mf.c
index 93667de..67ebc4e 100644
--- a/test/mf.c
+++ b/test/mf.c
@@ -608,12 +608,12 @@ test_mf_eoa_extend(const char *env_h5_drvr, hid_t fapl)
char filename[FILENAME_LEN]; /* Filename to use */
H5F_t *f = NULL; /* Internal file object pointer */
h5_stat_size_t file_size, new_file_size; /* File size */
- H5FD_mem_t type;
+ H5FD_mem_t type;
haddr_t addr;
- htri_t extended;
- haddr_t ma_addr=HADDR_UNDEF, new_ma_addr=HADDR_UNDEF;
- hsize_t ma_size=0, new_ma_size=0;
- hbool_t contig_addr_vfd; /* Whether VFD used has a contigous address space */
+ htri_t was_extended;
+ haddr_t ma_addr=HADDR_UNDEF, new_ma_addr=HADDR_UNDEF;
+ hsize_t ma_size=0, new_ma_size=0;
+ hbool_t contig_addr_vfd; /* Whether VFD used has a contigous address space */
TESTING("H5MF_try_extend() of file allocation: test 1");
@@ -685,9 +685,9 @@ test_mf_eoa_extend(const char *env_h5_drvr, hid_t fapl)
FAIL_STACK_ERROR
/* should succeed */
- extended = H5MF_try_extend(f, H5P_DATASET_XFER_DEFAULT, type, (haddr_t)addr, (hsize_t)TEST_BLOCK_SIZE30, (hsize_t)TEST_BLOCK_SIZE50);
+ was_extended = H5MF_try_extend(f, H5P_DATASET_XFER_DEFAULT, type, (haddr_t)addr, (hsize_t)TEST_BLOCK_SIZE30, (hsize_t)TEST_BLOCK_SIZE50);
- if(extended <= 0)
+ if(was_extended <= 0)
TEST_ERROR
/* nothing should be changed in meta_aggr */
@@ -744,10 +744,10 @@ test_mf_eoa_extend(const char *env_h5_drvr, hid_t fapl)
if(new_ma_addr != ma_addr)
TEST_ERROR
- extended = H5MF_try_extend(f, H5P_DATASET_XFER_DEFAULT, type, (haddr_t)addr, (hsize_t)(TEST_BLOCK_SIZE30-10), (hsize_t)(TEST_BLOCK_SIZE50));
+ was_extended = H5MF_try_extend(f, H5P_DATASET_XFER_DEFAULT, type, (haddr_t)addr, (hsize_t)(TEST_BLOCK_SIZE30-10), (hsize_t)(TEST_BLOCK_SIZE50));
/* should not succeed */
- if(extended > 0)
+ if(was_extended > 0)
TEST_ERROR
/* nothing should be changed in meta_aggr */
@@ -1454,7 +1454,7 @@ test_mf_fs_extend(hid_t fapl)
frspace_state_t state; /* State of free space*/
H5MF_sect_ud_t udata;
H5FS_section_info_t *node;
- htri_t extended;
+ htri_t was_extended;
TESTING("H5MF_try_extend() of free-space manager:test 1");
@@ -1548,10 +1548,10 @@ test_mf_fs_extend(hid_t fapl)
TEST_ERROR
/* Try to extend the allocated block */
- extended = H5MF_try_extend(f, H5P_DATASET_XFER_DEFAULT, type, (haddr_t)TEST_BLOCK_ADDR70, (hsize_t)TEST_BLOCK_SIZE30, (hsize_t)TEST_BLOCK_SIZE50);
+ was_extended = H5MF_try_extend(f, H5P_DATASET_XFER_DEFAULT, type, (haddr_t)TEST_BLOCK_ADDR70, (hsize_t)TEST_BLOCK_SIZE30, (hsize_t)TEST_BLOCK_SIZE50);
/* should succeed */
- if(extended <= 0)
+ if(was_extended <= 0)
TEST_ERROR
/* Section B is removed from free-space manager */
@@ -1666,10 +1666,10 @@ test_mf_fs_extend(hid_t fapl)
TEST_ERROR
/* Try to extend the allocated block */
- extended = H5MF_try_extend(f, H5P_DATASET_XFER_DEFAULT, type, (haddr_t)TEST_BLOCK_ADDR70, (hsize_t)TEST_BLOCK_SIZE30, (hsize_t)(TEST_BLOCK_SIZE50+10));
+ was_extended = H5MF_try_extend(f, H5P_DATASET_XFER_DEFAULT, type, (haddr_t)TEST_BLOCK_ADDR70, (hsize_t)TEST_BLOCK_SIZE30, (hsize_t)(TEST_BLOCK_SIZE50+10));
/* Should not be able to extend the allocated block */
- if(extended)
+ if(was_extended)
TEST_ERROR
/* free-space info should remain the same */
@@ -1779,10 +1779,10 @@ test_mf_fs_extend(hid_t fapl)
TEST_ERROR
/* Try to extend the allocated block */
- extended = H5MF_try_extend(f, H5P_DATASET_XFER_DEFAULT, type, (haddr_t)TEST_BLOCK_ADDR70, (hsize_t)TEST_BLOCK_SIZE30, (hsize_t)(TEST_BLOCK_SIZE40));
+ was_extended = H5MF_try_extend(f, H5P_DATASET_XFER_DEFAULT, type, (haddr_t)TEST_BLOCK_ADDR70, (hsize_t)TEST_BLOCK_SIZE30, (hsize_t)(TEST_BLOCK_SIZE40));
/* Should succeed in extending the allocated block */
- if(extended <=0)
+ if(was_extended <=0)
TEST_ERROR
/* Should have 1 section of size=10 left in free-space manager */
@@ -1892,10 +1892,10 @@ test_mf_fs_extend(hid_t fapl)
TEST_ERROR
/* Try to extend the allocated block */
- extended = H5MF_try_extend(f, H5P_DATASET_XFER_DEFAULT, type, (haddr_t)TEST_BLOCK_ADDR70, (hsize_t)(TEST_BLOCK_SIZE30-10), (hsize_t)TEST_BLOCK_SIZE50);
+ was_extended = H5MF_try_extend(f, H5P_DATASET_XFER_DEFAULT, type, (haddr_t)TEST_BLOCK_ADDR70, (hsize_t)(TEST_BLOCK_SIZE30-10), (hsize_t)TEST_BLOCK_SIZE50);
/* Should not succeed in extending the allocated block */
- if(extended)
+ if(was_extended)
TEST_ERROR
/* Free-space info should be the same */
@@ -3241,7 +3241,7 @@ test_mf_aggr_extend(const char *env_h5_drvr, hid_t fapl)
haddr_t new_addr, addr, saddr;
haddr_t ma_addr=HADDR_UNDEF, new_ma_addr=HADDR_UNDEF, sdata_addr=HADDR_UNDEF;
hsize_t ma_size=0, new_ma_size=0, sdata_size=0;
- htri_t extended;
+ htri_t was_extended;
hbool_t contig_addr_vfd; /* Whether VFD used has a contigous address space */
TESTING("H5MF_try_extend() of meta/sdata aggregator: test 1");
@@ -3286,10 +3286,10 @@ test_mf_aggr_extend(const char *env_h5_drvr, hid_t fapl)
new_addr = addr - 10;
/* Try to extend the block by an amount < (% * aggr->alloc_size) */
- extended = H5MF_try_extend(f, H5P_DATASET_XFER_DEFAULT, type, (haddr_t)new_addr, (hsize_t)10, (hsize_t)(TEST_BLOCK_SIZE50));
+ was_extended = H5MF_try_extend(f, H5P_DATASET_XFER_DEFAULT, type, (haddr_t)new_addr, (hsize_t)10, (hsize_t)(TEST_BLOCK_SIZE50));
/* should succeed */
- if(!extended)
+ if(!was_extended)
TEST_ERROR
H5MF_aggr_query(f, &(f->shared->meta_aggr), &new_ma_addr, &new_ma_size);
@@ -3302,10 +3302,10 @@ test_mf_aggr_extend(const char *env_h5_drvr, hid_t fapl)
H5MF_xfree(f, type, H5P_DATASET_XFER_DEFAULT, addr, (hsize_t)TEST_BLOCK_SIZE50);
/* Try to extend the block by an amount > (% * aggr->alloc_size) but amount < aggr->alloc_size */
- extended = H5MF_try_extend(f, H5P_DATASET_XFER_DEFAULT, type, (haddr_t)new_addr, (hsize_t)10, (hsize_t)(TEST_BLOCK_SIZE700));
+ was_extended = H5MF_try_extend(f, H5P_DATASET_XFER_DEFAULT, type, (haddr_t)new_addr, (hsize_t)10, (hsize_t)(TEST_BLOCK_SIZE700));
/* should succeed */
- if(!extended)
+ if(!was_extended)
TEST_ERROR
H5MF_aggr_query(f, &(f->shared->meta_aggr), &new_ma_addr, &new_ma_size);
@@ -3318,10 +3318,10 @@ test_mf_aggr_extend(const char *env_h5_drvr, hid_t fapl)
H5MF_xfree(f, type, H5P_DATASET_XFER_DEFAULT, addr, (hsize_t)TEST_BLOCK_SIZE700);
/* Try to extend the block by an amount > (% * aggr->alloc_size) but amount > aggr->alloc_size */
- extended = H5MF_try_extend(f, H5P_DATASET_XFER_DEFAULT, type, (haddr_t)new_addr, (hsize_t)10, (hsize_t)(TEST_BLOCK_SIZE2058));
+ was_extended = H5MF_try_extend(f, H5P_DATASET_XFER_DEFAULT, type, (haddr_t)new_addr, (hsize_t)10, (hsize_t)(TEST_BLOCK_SIZE2058));
/* should succeed */
- if(!extended)
+ if(!was_extended)
TEST_ERROR
H5MF_aggr_query(f, &(f->shared->meta_aggr), &new_ma_addr, &new_ma_size);
@@ -3384,9 +3384,9 @@ test_mf_aggr_extend(const char *env_h5_drvr, hid_t fapl)
new_addr = addr - 10;
/* should be able to fulfill request from the aggreqator itself */
- extended = H5MF_try_extend(f, H5P_DATASET_XFER_DEFAULT, type, (haddr_t)new_addr, (hsize_t)10, (hsize_t)(TEST_BLOCK_SIZE50));
+ was_extended = H5MF_try_extend(f, H5P_DATASET_XFER_DEFAULT, type, (haddr_t)new_addr, (hsize_t)10, (hsize_t)(TEST_BLOCK_SIZE50));
- if(!extended)
+ if(!was_extended)
TEST_ERROR
H5MF_aggr_query(f, &(f->shared->meta_aggr), &new_ma_addr, &new_ma_size);
@@ -3454,9 +3454,9 @@ test_mf_aggr_extend(const char *env_h5_drvr, hid_t fapl)
new_addr = addr - 10;
/* unable to fulfill request from the aggreqator itself */
- extended = H5MF_try_extend(f, H5P_DATASET_XFER_DEFAULT, type, (haddr_t)new_addr, (hsize_t)10, (hsize_t)(TEST_BLOCK_SIZE50));
+ was_extended = H5MF_try_extend(f, H5P_DATASET_XFER_DEFAULT, type, (haddr_t)new_addr, (hsize_t)10, (hsize_t)(TEST_BLOCK_SIZE50));
- if(extended)
+ if(was_extended)
TEST_ERROR
H5MF_aggr_query(f, &(f->shared->meta_aggr), &new_ma_addr, &new_ma_size);
@@ -3772,7 +3772,7 @@ test_mf_align_eoa(const char *env_h5_drvr, hid_t fapl, hid_t new_fapl)
haddr_t addr1, addr2;
haddr_t ma_addr=HADDR_UNDEF;
hsize_t ma_size=0;
- htri_t extended;
+ htri_t was_extended;
frspace_state_t state;
hsize_t alignment=0, mis_align=0, tmp=0, accum=0;
hbool_t have_alloc_vfd; /* Whether VFD used has an 'alloc' callback */
@@ -3978,9 +3978,9 @@ test_mf_align_eoa(const char *env_h5_drvr, hid_t fapl, hid_t new_fapl)
FAIL_STACK_ERROR
/* try to extend the block */
- extended = H5MF_try_extend(f, H5P_DATASET_XFER_DEFAULT, type, (haddr_t)addr1, (hsize_t)TEST_BLOCK_SIZE50, (hsize_t)TEST_BLOCK_SIZE30);
+ was_extended = H5MF_try_extend(f, H5P_DATASET_XFER_DEFAULT, type, (haddr_t)addr1, (hsize_t)TEST_BLOCK_SIZE50, (hsize_t)TEST_BLOCK_SIZE30);
- if (extended <=0) TEST_ERROR
+ if (was_extended <=0) TEST_ERROR
if(H5Fclose(file) < 0)
FAIL_STACK_ERROR
@@ -4052,7 +4052,7 @@ test_mf_align_fs(const char *env_h5_drvr, hid_t fapl, hid_t new_fapl)
haddr_t addr;
frspace_state_t state;
H5MF_sect_ud_t udata;
- htri_t extended;
+ htri_t was_extended;
hsize_t alignment=0, tmp=0, mis_align=0;
hbool_t have_alloc_vfd; /* Whether VFD used has an 'alloc' callback */
@@ -4197,9 +4197,9 @@ test_mf_align_fs(const char *env_h5_drvr, hid_t fapl, hid_t new_fapl)
TEST_ERROR
/* try to extend the block */
- extended = H5MF_try_extend(f, H5P_DATASET_XFER_DEFAULT, type, (haddr_t)addr, (hsize_t)TEST_BLOCK_SIZE600, (hsize_t)TEST_BLOCK_SIZE200);
+ was_extended = H5MF_try_extend(f, H5P_DATASET_XFER_DEFAULT, type, (haddr_t)addr, (hsize_t)TEST_BLOCK_SIZE600, (hsize_t)TEST_BLOCK_SIZE200);
- if (extended <=0) TEST_ERROR
+ if (was_extended <=0) TEST_ERROR
/* space should be decreased by 200, # of sections remain the same */
state.tot_space -= TEST_BLOCK_SIZE200;
diff --git a/test/objcopy.c b/test/objcopy.c
index e84e70c..a73beb3 100644
--- a/test/objcopy.c
+++ b/test/objcopy.c
@@ -12276,9 +12276,7 @@ main(void)
nerrors += test_copy_group_wide_loop(fcpl_src, fcpl_dst, src_fapl, dst_fapl);
nerrors += test_copy_group_links(fcpl_src, fcpl_dst, src_fapl, dst_fapl);
nerrors += test_copy_soft_link(fcpl_src, fcpl_dst, src_fapl, dst_fapl);
-#ifndef H5_CANNOT_OPEN_TWICE
nerrors += test_copy_ext_link(fcpl_src, fcpl_dst, src_fapl, dst_fapl);
-#endif /* H5_CANNOT_OPEN_TWICE */
nerrors += test_copy_exist(fcpl_src, fcpl_dst, src_fapl, dst_fapl);
nerrors += test_copy_path(fcpl_src, fcpl_dst, src_fapl, dst_fapl);
diff --git a/test/stab.c b/test/stab.c
index 48b58b1..95e9722 100644
--- a/test/stab.c
+++ b/test/stab.c
@@ -57,8 +57,6 @@ const char *FILENAME[] = {
/* The group_old.h5 is generated from gen_old_fill.c in HDF5 'test' directory
* for version 1.6. To get this data file, simply compile gen_old_group.c with
* the HDF5 library in that branch and run it. */
-/* I changed the name "group_old.h5.copy" to "group_old_copy.h5" because OpenVMS
- * doesn't like any file name with more than one ".". SLU 2010/12/13 */
#define FILE_OLD_GROUPS "group_old.h5"
#define FILE_OLD_GROUPS_COPY "group_old_copy.h5"
diff --git a/test/tconfig.c b/test/tconfig.c
index f3ac242..14c863e 100644
--- a/test/tconfig.c
+++ b/test/tconfig.c
@@ -60,13 +60,6 @@ void test_exit_definitions(void);
* Programmer: Albert Cheng
* September 25, 2001
*
- * Modifications:
- * Raymond Lu
- * 16 Dec 2009
- * On Boeing's OpenVMS, the value of EXIT_FAILURE is 268435458.
- * (The test is in test_exit_definitions.) Their document says
- * it's supposed to be 2. I commented it out for OpenVMS for
- * further consideration.
*-------------------------------------------------------------------------
*/
void
@@ -75,9 +68,7 @@ test_configure(void)
/* Output message about test being performed */
MESSAGE(5, ("Testing configure definitions\n"));
test_config_ctypes();
-#ifndef H5_VMS
test_exit_definitions();
-#endif
}
diff --git a/test/tfile.c b/test/tfile.c
index 52c8fd9..4913a15 100644
--- a/test/tfile.c
+++ b/test/tfile.c
@@ -181,19 +181,15 @@ test_file_create(void)
* try to create the same file with H5F_ACC_TRUNC. This should fail
* because fid1 is the same file and is currently open.
*/
-#ifndef H5_HAVE_FILE_VERSIONS
fid2 = H5Fcreate(FILE1, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT);
VERIFY(fid2, FAIL, "H5Fcreate");
-#endif /*H5_DONT_HAVE_FILE_VERSIONS*/
/* Close all files */
ret = H5Fclose(fid1);
CHECK(ret, FAIL, "H5Fclose");
-#ifndef H5_HAVE_FILE_VERSIONS
ret = H5Fclose(fid2);
VERIFY(ret, FAIL, "H5Fclose"); /*file should not have been open */
-#endif /*H5_HAVE_FILE_VERSIONS*/
/*
* Try again with H5F_ACC_EXCL. This should fail because the file already
@@ -206,7 +202,6 @@ test_file_create(void)
fid1 = H5Fcreate(FILE1, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT);
CHECK(fid1, FAIL, "H5Fcreate");
-#ifndef H5_HAVE_FILE_VERSIONS
/*
* Try to truncate first file again. This should fail because fid1 is the
* same file and is currently open.
@@ -220,7 +215,6 @@ test_file_create(void)
*/
fid2 = H5Fcreate(FILE1, H5F_ACC_EXCL, H5P_DEFAULT, H5P_DEFAULT);
VERIFY(fid2, FAIL, "H5Fcreate");
-#endif /*H5_HAVE_FILE_VERSIONS*/
/* Get the file-creation template */
tmpl1 = H5Fget_create_plist(fid1);
@@ -1370,7 +1364,6 @@ test_file_perm(void)
ret = H5Dclose(dset);
CHECK(ret, FAIL, "H5Dclose");
-#ifndef H5_CANNOT_OPEN_TWICE
/* Open the file (with read-only permission) */
filero = H5Fopen(FILE2, H5F_ACC_RDONLY, H5P_DEFAULT);
CHECK(filero, FAIL, "H5Fopen");
@@ -1387,7 +1380,6 @@ test_file_perm(void)
ret = H5Fclose(filero);
CHECK(ret, FAIL, "H5Fclose");
-#endif /*H5_CANNOT_OPEN_TWICE*/
ret = H5Fclose(file);
CHECK(ret, FAIL, "H5Fclose");
@@ -2364,7 +2356,7 @@ test_rw_noupdate(void)
/* Check That Timestamps Are Equal */
if(diff > 0.0F) {
/* Output message about test being performed */
- MESSAGE(1, ("Testing to verify that nothing is written if nothing is changed: This test is skipped on this system because the modification time from stat is the same as the last access time (We know OpenVMS behaves in this way).\n"));
+ MESSAGE(1, ("Testing to verify that nothing is written if nothing is changed: This test is skipped on this system because the modification time from stat is the same as the last access time.\n"));
} /* end if */
else {
hid_t file_id; /* HDF5 File ID */
@@ -3660,16 +3652,12 @@ test_file(void)
test_file_freespace(); /* Test file free space information */
test_file_ishdf5(); /* Test detecting HDF5 files correctly */
test_file_open_dot(); /* Test opening objects with "." for a name */
-#ifndef H5_CANNOT_OPEN_TWICE
test_file_open_overlap(); /* Test opening files in an overlapping manner */
-#endif /*H5_CANNOT_OPEN_TWICE*/
test_file_getname(); /* Test basic H5Fget_name() functionality */
-#ifndef H5_CANNOT_OPEN_TWICE
test_file_double_root_open(); /* Test opening root group from two files works properly */
test_file_double_group_open(); /* Test opening same group from two files works properly */
test_file_double_dataset_open(); /* Test opening same dataset from two files works properly */
test_file_double_datatype_open(); /* Test opening same named datatype from two files works properly */
-#endif /*H5_CANNOT_OPEN_TWICE*/
test_userblock_file_size(); /* Tests that files created with a userblock have the correct size */
test_cached_stab_info(); /* Tests that files are created with cached stab info in the superblock */
test_rw_noupdate(); /* Test to ensure that RW permissions don't write the file unless dirtied */
diff --git a/test/th5o.c b/test/th5o.c
index be3b4ab..40844fa 100644
--- a/test/th5o.c
+++ b/test/th5o.c
@@ -1355,9 +1355,7 @@ test_h5o(void)
test_h5o_link(); /* Test object link routine */
test_h5o_comment(); /* Test routines for comment */
test_h5o_comment_by_name(); /* Test routines for comment by name */
-#ifndef H5_CANNOT_OPEN_TWICE /* OpenVMS can't open a file twice */
test_h5o_getinfo_same_file(); /* Test info for objects in the same file */
-#endif /* H5_CANNOT_OPEN_TWICE */
} /* test_h5o() */
diff --git a/test/trefer.c b/test/trefer.c
index 4b1f36b..cb0f44e 100644
--- a/test/trefer.c
+++ b/test/trefer.c
@@ -515,7 +515,7 @@ test_reference_region(void)
hsize_t high[SPACE2_RANK]; /* Selection bounds */
hdset_reg_ref_t *wbuf, /* buffer to write to disk */
*rbuf; /* buffer read from disk */
- hdset_reg_ref_t nvrbuf[3]={{0},{101},{1000000000}}; /* buffer with non-valid refs */
+ hdset_reg_ref_t nvrbuf[3]={{0},{101},{255}}; /* buffer with non-valid refs */
uint8_t *dwbuf, /* Buffer for writing numeric data to disk */
*drbuf; /* Buffer for reading numeric data from disk */
uint8_t *tu8; /* Temporary pointer to uint8 data */
@@ -762,7 +762,7 @@ test_reference_region(void)
VERIFY(ret, 36, "H5Sget_select_npoints");
ret = (int)H5Sget_select_hyper_nblocks(sid2);
VERIFY(ret, 1, "H5Sget_select_hyper_nblocks");
- coords = HDmalloc(ret * SPACE2_RANK * sizeof(hsize_t) * 2); /* allocate space for the hyperslab blocks */
+ coords = (hsize_t *)HDmalloc(ret * SPACE2_RANK * sizeof(hsize_t) * 2); /* allocate space for the hyperslab blocks */
ret = H5Sget_select_hyper_blocklist(sid2, (hsize_t)0, (hsize_t)ret, coords);
CHECK(ret, FAIL, "H5Sget_select_hyper_blocklist");
VERIFY(coords[0], 2, "Hyperslab Coordinates");
@@ -790,7 +790,7 @@ test_reference_region(void)
VERIFY(ret, 10, "H5Sget_select_npoints");
ret = (int)H5Sget_select_elem_npoints(sid2);
VERIFY(ret, 10, "H5Sget_select_elem_npoints");
- coords = HDmalloc(ret * SPACE2_RANK * sizeof(hsize_t)); /* allocate space for the element points */
+ coords = (hsize_t *)HDmalloc(ret * SPACE2_RANK * sizeof(hsize_t)); /* allocate space for the element points */
ret = H5Sget_select_elem_pointlist(sid2, (hsize_t)0, (hsize_t)ret, coords);
CHECK(ret, FAIL, "H5Sget_select_elem_pointlist");
VERIFY(coords[0], coord1[0][0], "Element Coordinates");
diff --git a/test/tsohm.c b/test/tsohm.c
index 9da655e..e22940f 100644
--- a/test/tsohm.c
+++ b/test/tsohm.c
@@ -3988,10 +3988,7 @@ test_sohm(void)
test_sohm_delete(); /* Test deleting shared messages */
test_sohm_delete_revert(); /* Test that a file with SOHMs becomes an
* empty file again when they are deleted. */
-#ifndef H5_CANNOT_OPEN_TWICE /* On VMS this test fails since it tries to
- open target file the second time */
test_sohm_extlink(); /* Test SOHMs when external links are used */
-#endif /* H5_CANNOT_OPEN_TWICE */
test_sohm_extend_dset(); /* Test extending shared datasets */
test_sohm_external_dtype(); /* Test using datatype in another file */
diff --git a/test/ttsafe.c b/test/ttsafe.c
index d0ab81a..d3c5cfb 100644
--- a/test/ttsafe.c
+++ b/test/ttsafe.c
@@ -40,13 +40,6 @@
/* ANY new test needs to have a prototype in ttsafe.h */
#include "ttsafe.h"
-#ifndef H5_HAVE_THREADSAFE
-int main(void)
-{
- printf("Test skipped because THREADSAFE not enabled\n");
- return 0;
-}
-#else
#define MAX_NUM_NAME 1000
#define NAME_OFFSET 6 /* offset for "name<num>" */
@@ -66,6 +59,30 @@ num_digits(int num)
return u;
}
+/* Test the H5is_library_threadsafe() function */
+void
+tts_is_threadsafe(void)
+{
+ hbool_t is_ts;
+ hbool_t should_be;
+
+#ifdef H5_HAVE_THREADSAFE
+ is_ts = FALSE;
+ should_be = TRUE;
+#else /* H5_HAVE_THREADSAFE */
+ is_ts = TRUE;
+ should_be = FALSE;
+#endif /* H5_HAVE_THREADSAFE */
+
+ if(H5is_library_threadsafe(&is_ts) != SUCCEED)
+ TestErrPrintf("H5_is_library_threadsafe() call failed - test failed\n");
+
+ if(is_ts != should_be)
+ TestErrPrintf("Thread-safety value incorrect - test failed\n");
+
+ return;
+}
+
/* Routine to generate attribute names for numeric values */
char *gen_name(int value)
{
@@ -88,10 +105,13 @@ char *gen_name(int value)
int main(int argc, char *argv[])
{
+
/* Initialize testing framework */
TestInit(argv[0], NULL, NULL);
/* Tests are generally arranged from least to most complexity... */
+ AddTest("is_threadsafe", tts_is_threadsafe, NULL, "library threadsafe status", NULL);
+#ifdef H5_HAVE_THREADSAFE
AddTest("dcreate", tts_dcreate, cleanup_dcreate, "multi-dataset creation", NULL);
AddTest("error", tts_error, cleanup_error, "per-thread error stacks", NULL);
#ifdef H5_HAVE_PTHREAD_H
@@ -100,6 +120,12 @@ int main(int argc, char *argv[])
#endif /* H5_HAVE_PTHREAD_H */
AddTest("acreate", tts_acreate, cleanup_acreate, "multi-attribute creation", NULL);
+#else /* H5_HAVE_THREADSAFE */
+
+ printf("Most thread-safety tests skipped because THREADSAFE not enabled\n");
+
+#endif /* H5_HAVE_THREADSAFE */
+
/* Display testing information */
TestInfo(argv[0]);
@@ -118,5 +144,6 @@ int main(int argc, char *argv[])
TestCleanup();
return GetTestNumErrs();
+
} /* end main() */
-#endif /*H5_HAVE_THREADSAFE*/
+
diff --git a/test/ttsafe.h b/test/ttsafe.h
index b4826fc..f2e9e86 100644
--- a/test/ttsafe.h
+++ b/test/ttsafe.h
@@ -20,8 +20,6 @@
#ifndef TTSAFE_H
#define TTSAFE_H
-#include <string.h>
-
/*
* Include required headers. This file tests internal library functions,
* so we include the private headers here.
@@ -31,16 +29,13 @@
#include "H5Eprivate.h"
#include "testhdf5.h"
-#ifdef H5_HAVE_THREADSAFE
-/* Include pthread library for threadsafe tests */
-#ifdef H5_HAVE_PTHREAD_H
-#include <pthread.h>
-#endif /* H5_HAVE_PTHREAD_H */
/* Prototypes for the support routines */
extern char* gen_name(int);
/* Prototypes for the test routines */
+void tts_is_threadsafe(void);
+#ifdef H5_HAVE_THREADSAFE
void tts_dcreate(void);
void tts_error(void);
void tts_cancel(void);
@@ -54,3 +49,4 @@ void cleanup_acreate(void);
#endif /* H5_HAVE_THREADSAFE */
#endif /* TTSAFE_H */
+
diff --git a/test/ttsafe_error.c b/test/ttsafe_error.c
index e143263..a2f25db 100644
--- a/test/ttsafe_error.c
+++ b/test/ttsafe_error.c
@@ -231,3 +231,4 @@ void cleanup_error(void)
}
#endif /*H5_HAVE_THREADSAFE*/
+
diff --git a/testpar/CMakeLists.txt b/testpar/CMakeLists.txt
index b02c8e2..634afe3 100644
--- a/testpar/CMakeLists.txt
+++ b/testpar/CMakeLists.txt
@@ -28,15 +28,15 @@ set (testphdf5_SRCS
#-- Adding test for testhdf5
add_executable (testphdf5 ${testphdf5_SRCS})
-TARGET_NAMING (testphdf5 ${LIB_TYPE})
-TARGET_C_PROPERTIES (testphdf5 ${LIB_TYPE} " " " ")
+TARGET_NAMING (testphdf5 STATIC)
+TARGET_C_PROPERTIES (testphdf5 STATIC " " " ")
target_link_libraries (testphdf5 ${HDF5_TEST_LIB_TARGET} ${HDF5_LIB_TARGET} ${LINK_LIBS})
set_target_properties (testphdf5 PROPERTIES FOLDER test/par)
MACRO (ADD_H5P_EXE file)
add_executable (${file} ${HDF5_TEST_PAR_SOURCE_DIR}/${file}.c)
- TARGET_NAMING (${file} ${LIB_TYPE})
- TARGET_C_PROPERTIES (${file} ${LIB_TYPE} " " " ")
+ TARGET_NAMING (${file} STATIC)
+ TARGET_C_PROPERTIES (${file} STATIC " " " ")
target_link_libraries (${file} ${HDF5_TEST_LIB_TARGET} ${HDF5_LIB_TARGET} ${LINK_LIBS})
set_target_properties (${file} PROPERTIES FOLDER test/par)
ENDMACRO (ADD_H5P_EXE file)
diff --git a/testpar/Makefile.in b/testpar/Makefile.in
index dc339cd..e70d05e 100644
--- a/testpar/Makefile.in
+++ b/testpar/Makefile.in
@@ -108,7 +108,8 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/aclocal_cxx.m4 \
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(SHELL) $(top_srcdir)/bin/mkinstalldirs
-CONFIG_HEADER = $(top_builddir)/src/H5config.h
+CONFIG_HEADER = $(top_builddir)/src/H5config.h \
+ $(top_builddir)/fortran/src/H5config_f.inc
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
am__EXEEXT_1 = t_mpi$(EXEEXT) testphdf5$(EXEEXT) t_cache$(EXEEXT) \
@@ -170,7 +171,7 @@ AM_V_at = $(am__v_at_@AM_V@)
am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
am__v_at_0 = @
am__v_at_1 =
-DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/src
+DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/src -I$(top_builddir)/fortran/src
depcomp = $(SHELL) $(top_srcdir)/bin/depcomp
am__depfiles_maybe = depfiles
am__mv = mv -f
@@ -482,14 +483,21 @@ F9XMODEXT = @F9XMODEXT@
F9XMODFLAG = @F9XMODFLAG@
F9XSUFFIXFLAG = @F9XSUFFIXFLAG@
FC = @FC@
-FC2003 = @FC2003@
FCFLAGS = @FCFLAGS@
FCFLAGS_f90 = @FCFLAGS_f90@
FCLIBS = @FCLIBS@
FC_VERSION = @FC_VERSION@
FGREP = @FGREP@
+FORTRAN_C_LONG_DOUBLE_IS_UNIQUE = @FORTRAN_C_LONG_DOUBLE_IS_UNIQUE@
+FORTRAN_HAVE_C_LONG_DOUBLE = @FORTRAN_HAVE_C_LONG_DOUBLE@
+FORTRAN_SIZEOF_LONG_DOUBLE = @FORTRAN_SIZEOF_LONG_DOUBLE@
FSEARCH_DIRS = @FSEARCH_DIRS@
GREP = @GREP@
+H5CONFIG_F_IKIND = @H5CONFIG_F_IKIND@
+H5CONFIG_F_NUM_IKIND = @H5CONFIG_F_NUM_IKIND@
+H5CONFIG_F_NUM_RKIND = @H5CONFIG_F_NUM_RKIND@
+H5CONFIG_F_RKIND = @H5CONFIG_F_RKIND@
+H5CONFIG_F_RKIND_SIZEOF = @H5CONFIG_F_RKIND_SIZEOF@
H5_CFLAGS = @H5_CFLAGS@
H5_CPPFLAGS = @H5_CPPFLAGS@
H5_CXXFLAGS = @H5_CXXFLAGS@
@@ -499,13 +507,12 @@ H5_LDFLAGS = @H5_LDFLAGS@
H5_VERSION = @H5_VERSION@
HADDR_T = @HADDR_T@
HAVE_DMALLOC = @HAVE_DMALLOC@
-HAVE_FORTRAN_2003 = @HAVE_FORTRAN_2003@
+HAVE_Fortran_INTEGER_SIZEOF_16 = @HAVE_Fortran_INTEGER_SIZEOF_16@
HAVE_PTHREAD = @HAVE_PTHREAD@
HDF5_HL = @HDF5_HL@
HDF5_INTERFACES = @HDF5_INTERFACES@
HDF_CXX = @HDF_CXX@
HDF_FORTRAN = @HDF_FORTRAN@
-HDF_FORTRAN2003 = @HDF_FORTRAN2003@
HID_T = @HID_T@
HL = @HL@
HL_FOR = @HL_FOR@
@@ -547,9 +554,20 @@ PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
+PAC_C_MAX_REAL_PRECISION = @PAC_C_MAX_REAL_PRECISION@
+PAC_FC_ALL_INTEGER_KINDS = @PAC_FC_ALL_INTEGER_KINDS@
+PAC_FC_ALL_INTEGER_KINDS_SIZEOF = @PAC_FC_ALL_INTEGER_KINDS_SIZEOF@
+PAC_FC_ALL_REAL_KINDS = @PAC_FC_ALL_REAL_KINDS@
+PAC_FC_ALL_REAL_KINDS_SIZEOF = @PAC_FC_ALL_REAL_KINDS_SIZEOF@
+PAC_FC_MAX_REAL_PRECISION = @PAC_FC_MAX_REAL_PRECISION@
+PAC_FORTRAN_NATIVE_DOUBLE_KIND = @PAC_FORTRAN_NATIVE_DOUBLE_KIND@
+PAC_FORTRAN_NATIVE_DOUBLE_SIZEOF = @PAC_FORTRAN_NATIVE_DOUBLE_SIZEOF@
+PAC_FORTRAN_NATIVE_INTEGER_KIND = @PAC_FORTRAN_NATIVE_INTEGER_KIND@
+PAC_FORTRAN_NATIVE_INTEGER_SIZEOF = @PAC_FORTRAN_NATIVE_INTEGER_SIZEOF@
+PAC_FORTRAN_NATIVE_REAL_KIND = @PAC_FORTRAN_NATIVE_REAL_KIND@
+PAC_FORTRAN_NATIVE_REAL_SIZEOF = @PAC_FORTRAN_NATIVE_REAL_SIZEOF@
PARALLEL = @PARALLEL@
PATH_SEPARATOR = @PATH_SEPARATOR@
-PERL = @PERL@
RANLIB = @RANLIB@
ROOT = @ROOT@
RUNPARALLEL = @RUNPARALLEL@
diff --git a/tools/Makefile.in b/tools/Makefile.in
index 974e6b4..f7121e6 100644
--- a/tools/Makefile.in
+++ b/tools/Makefile.in
@@ -106,7 +106,8 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/aclocal_cxx.m4 \
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(SHELL) $(top_srcdir)/bin/mkinstalldirs
-CONFIG_HEADER = $(top_builddir)/src/H5config.h
+CONFIG_HEADER = $(top_builddir)/src/H5config.h \
+ $(top_builddir)/fortran/src/H5config_f.inc
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
AM_V_P = $(am__v_P_@AM_V@)
@@ -449,14 +450,21 @@ F9XMODEXT = @F9XMODEXT@
F9XMODFLAG = @F9XMODFLAG@
F9XSUFFIXFLAG = @F9XSUFFIXFLAG@
FC = @FC@
-FC2003 = @FC2003@
FCFLAGS = @FCFLAGS@
FCFLAGS_f90 = @FCFLAGS_f90@
FCLIBS = @FCLIBS@
FC_VERSION = @FC_VERSION@
FGREP = @FGREP@
+FORTRAN_C_LONG_DOUBLE_IS_UNIQUE = @FORTRAN_C_LONG_DOUBLE_IS_UNIQUE@
+FORTRAN_HAVE_C_LONG_DOUBLE = @FORTRAN_HAVE_C_LONG_DOUBLE@
+FORTRAN_SIZEOF_LONG_DOUBLE = @FORTRAN_SIZEOF_LONG_DOUBLE@
FSEARCH_DIRS = @FSEARCH_DIRS@
GREP = @GREP@
+H5CONFIG_F_IKIND = @H5CONFIG_F_IKIND@
+H5CONFIG_F_NUM_IKIND = @H5CONFIG_F_NUM_IKIND@
+H5CONFIG_F_NUM_RKIND = @H5CONFIG_F_NUM_RKIND@
+H5CONFIG_F_RKIND = @H5CONFIG_F_RKIND@
+H5CONFIG_F_RKIND_SIZEOF = @H5CONFIG_F_RKIND_SIZEOF@
H5_CFLAGS = @H5_CFLAGS@
H5_CPPFLAGS = @H5_CPPFLAGS@
H5_CXXFLAGS = @H5_CXXFLAGS@
@@ -466,13 +474,12 @@ H5_LDFLAGS = @H5_LDFLAGS@
H5_VERSION = @H5_VERSION@
HADDR_T = @HADDR_T@
HAVE_DMALLOC = @HAVE_DMALLOC@
-HAVE_FORTRAN_2003 = @HAVE_FORTRAN_2003@
+HAVE_Fortran_INTEGER_SIZEOF_16 = @HAVE_Fortran_INTEGER_SIZEOF_16@
HAVE_PTHREAD = @HAVE_PTHREAD@
HDF5_HL = @HDF5_HL@
HDF5_INTERFACES = @HDF5_INTERFACES@
HDF_CXX = @HDF_CXX@
HDF_FORTRAN = @HDF_FORTRAN@
-HDF_FORTRAN2003 = @HDF_FORTRAN2003@
HID_T = @HID_T@
HL = @HL@
HL_FOR = @HL_FOR@
@@ -514,9 +521,20 @@ PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
+PAC_C_MAX_REAL_PRECISION = @PAC_C_MAX_REAL_PRECISION@
+PAC_FC_ALL_INTEGER_KINDS = @PAC_FC_ALL_INTEGER_KINDS@
+PAC_FC_ALL_INTEGER_KINDS_SIZEOF = @PAC_FC_ALL_INTEGER_KINDS_SIZEOF@
+PAC_FC_ALL_REAL_KINDS = @PAC_FC_ALL_REAL_KINDS@
+PAC_FC_ALL_REAL_KINDS_SIZEOF = @PAC_FC_ALL_REAL_KINDS_SIZEOF@
+PAC_FC_MAX_REAL_PRECISION = @PAC_FC_MAX_REAL_PRECISION@
+PAC_FORTRAN_NATIVE_DOUBLE_KIND = @PAC_FORTRAN_NATIVE_DOUBLE_KIND@
+PAC_FORTRAN_NATIVE_DOUBLE_SIZEOF = @PAC_FORTRAN_NATIVE_DOUBLE_SIZEOF@
+PAC_FORTRAN_NATIVE_INTEGER_KIND = @PAC_FORTRAN_NATIVE_INTEGER_KIND@
+PAC_FORTRAN_NATIVE_INTEGER_SIZEOF = @PAC_FORTRAN_NATIVE_INTEGER_SIZEOF@
+PAC_FORTRAN_NATIVE_REAL_KIND = @PAC_FORTRAN_NATIVE_REAL_KIND@
+PAC_FORTRAN_NATIVE_REAL_SIZEOF = @PAC_FORTRAN_NATIVE_REAL_SIZEOF@
PARALLEL = @PARALLEL@
PATH_SEPARATOR = @PATH_SEPARATOR@
-PERL = @PERL@
RANLIB = @RANLIB@
ROOT = @ROOT@
RUNPARALLEL = @RUNPARALLEL@
diff --git a/tools/h5copy/CMakeLists.txt b/tools/h5copy/CMakeLists.txt
index c18b1f9..63b9b5d 100644
--- a/tools/h5copy/CMakeLists.txt
+++ b/tools/h5copy/CMakeLists.txt
@@ -10,15 +10,15 @@ INCLUDE_DIRECTORIES (${HDF5_TOOLS_SRC_DIR}/lib)
# Add the h5copy and test executables
# --------------------------------------------------------------------
add_executable (h5copy ${HDF5_TOOLS_H5COPY_SOURCE_DIR}/h5copy.c)
-TARGET_NAMING (h5copy ${LIB_TYPE})
-TARGET_C_PROPERTIES (h5copy ${LIB_TYPE} " " " ")
+TARGET_NAMING (h5copy STATIC)
+TARGET_C_PROPERTIES (h5copy STATIC " " " ")
target_link_libraries (h5copy ${HDF5_TOOLS_LIB_TARGET} ${HDF5_LIB_TARGET})
set_target_properties (h5copy PROPERTIES FOLDER tools)
set (H5_DEP_EXECUTABLES h5copy)
if (BUILD_TESTING)
- if (HDF5_BUILD_GENERATORS AND NOT BUILD_SHARED_LIBS)
+ if (HDF5_BUILD_GENERATORS)
add_executable (h5copygentest ${HDF5_TOOLS_H5COPY_SOURCE_DIR}/h5copygentest.c)
TARGET_NAMING (h5copygentest STATIC)
TARGET_C_PROPERTIES (h5copygentest STATIC " " " ")
@@ -26,7 +26,7 @@ if (BUILD_TESTING)
set_target_properties (h5copygentest PROPERTIES FOLDER generator/tools)
#add_test (NAME h5copygentest COMMAND $<TARGET_FILE:h5copygentest>)
- endif (HDF5_BUILD_GENERATORS AND NOT BUILD_SHARED_LIBS)
+ endif (HDF5_BUILD_GENERATORS)
include (CMakeTests.cmake)
endif (BUILD_TESTING)
@@ -42,7 +42,7 @@ endif (BUILD_TESTING)
#-----------------------------------------------------------------------------
#INSTALL_PROGRAM_PDB (h5copy ${HDF5_INSTALL_BIN_DIR} toolsapplications)
-
+
install (
TARGETS
h5copy
diff --git a/tools/h5copy/Makefile.in b/tools/h5copy/Makefile.in
index e128cfe..57c0a38 100644
--- a/tools/h5copy/Makefile.in
+++ b/tools/h5copy/Makefile.in
@@ -110,7 +110,8 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/aclocal_cxx.m4 \
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(SHELL) $(top_srcdir)/bin/mkinstalldirs
-CONFIG_HEADER = $(top_builddir)/src/H5config.h
+CONFIG_HEADER = $(top_builddir)/src/H5config.h \
+ $(top_builddir)/fortran/src/H5config_f.inc
CONFIG_CLEAN_FILES = testh5copy.sh
CONFIG_CLEAN_VPATH_FILES =
am__installdirs = "$(DESTDIR)$(bindir)"
@@ -143,7 +144,7 @@ AM_V_at = $(am__v_at_@AM_V@)
am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
am__v_at_0 = @
am__v_at_1 =
-DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/src
+DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/src -I$(top_builddir)/fortran/src
depcomp = $(SHELL) $(top_srcdir)/bin/depcomp
am__depfiles_maybe = depfiles
am__mv = mv -f
@@ -457,14 +458,21 @@ F9XMODEXT = @F9XMODEXT@
F9XMODFLAG = @F9XMODFLAG@
F9XSUFFIXFLAG = @F9XSUFFIXFLAG@
FC = @FC@
-FC2003 = @FC2003@
FCFLAGS = @FCFLAGS@
FCFLAGS_f90 = @FCFLAGS_f90@
FCLIBS = @FCLIBS@
FC_VERSION = @FC_VERSION@
FGREP = @FGREP@
+FORTRAN_C_LONG_DOUBLE_IS_UNIQUE = @FORTRAN_C_LONG_DOUBLE_IS_UNIQUE@
+FORTRAN_HAVE_C_LONG_DOUBLE = @FORTRAN_HAVE_C_LONG_DOUBLE@
+FORTRAN_SIZEOF_LONG_DOUBLE = @FORTRAN_SIZEOF_LONG_DOUBLE@
FSEARCH_DIRS = @FSEARCH_DIRS@
GREP = @GREP@
+H5CONFIG_F_IKIND = @H5CONFIG_F_IKIND@
+H5CONFIG_F_NUM_IKIND = @H5CONFIG_F_NUM_IKIND@
+H5CONFIG_F_NUM_RKIND = @H5CONFIG_F_NUM_RKIND@
+H5CONFIG_F_RKIND = @H5CONFIG_F_RKIND@
+H5CONFIG_F_RKIND_SIZEOF = @H5CONFIG_F_RKIND_SIZEOF@
H5_CFLAGS = @H5_CFLAGS@
H5_CPPFLAGS = @H5_CPPFLAGS@
H5_CXXFLAGS = @H5_CXXFLAGS@
@@ -474,13 +482,12 @@ H5_LDFLAGS = @H5_LDFLAGS@
H5_VERSION = @H5_VERSION@
HADDR_T = @HADDR_T@
HAVE_DMALLOC = @HAVE_DMALLOC@
-HAVE_FORTRAN_2003 = @HAVE_FORTRAN_2003@
+HAVE_Fortran_INTEGER_SIZEOF_16 = @HAVE_Fortran_INTEGER_SIZEOF_16@
HAVE_PTHREAD = @HAVE_PTHREAD@
HDF5_HL = @HDF5_HL@
HDF5_INTERFACES = @HDF5_INTERFACES@
HDF_CXX = @HDF_CXX@
HDF_FORTRAN = @HDF_FORTRAN@
-HDF_FORTRAN2003 = @HDF_FORTRAN2003@
HID_T = @HID_T@
HL = @HL@
HL_FOR = @HL_FOR@
@@ -522,9 +529,20 @@ PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
+PAC_C_MAX_REAL_PRECISION = @PAC_C_MAX_REAL_PRECISION@
+PAC_FC_ALL_INTEGER_KINDS = @PAC_FC_ALL_INTEGER_KINDS@
+PAC_FC_ALL_INTEGER_KINDS_SIZEOF = @PAC_FC_ALL_INTEGER_KINDS_SIZEOF@
+PAC_FC_ALL_REAL_KINDS = @PAC_FC_ALL_REAL_KINDS@
+PAC_FC_ALL_REAL_KINDS_SIZEOF = @PAC_FC_ALL_REAL_KINDS_SIZEOF@
+PAC_FC_MAX_REAL_PRECISION = @PAC_FC_MAX_REAL_PRECISION@
+PAC_FORTRAN_NATIVE_DOUBLE_KIND = @PAC_FORTRAN_NATIVE_DOUBLE_KIND@
+PAC_FORTRAN_NATIVE_DOUBLE_SIZEOF = @PAC_FORTRAN_NATIVE_DOUBLE_SIZEOF@
+PAC_FORTRAN_NATIVE_INTEGER_KIND = @PAC_FORTRAN_NATIVE_INTEGER_KIND@
+PAC_FORTRAN_NATIVE_INTEGER_SIZEOF = @PAC_FORTRAN_NATIVE_INTEGER_SIZEOF@
+PAC_FORTRAN_NATIVE_REAL_KIND = @PAC_FORTRAN_NATIVE_REAL_KIND@
+PAC_FORTRAN_NATIVE_REAL_SIZEOF = @PAC_FORTRAN_NATIVE_REAL_SIZEOF@
PARALLEL = @PARALLEL@
PATH_SEPARATOR = @PATH_SEPARATOR@
-PERL = @PERL@
RANLIB = @RANLIB@
ROOT = @ROOT@
RUNPARALLEL = @RUNPARALLEL@
diff --git a/tools/h5diff/CMakeLists.txt b/tools/h5diff/CMakeLists.txt
index 0a5c813..59a3241 100644
--- a/tools/h5diff/CMakeLists.txt
+++ b/tools/h5diff/CMakeLists.txt
@@ -13,8 +13,8 @@ add_executable (h5diff
${HDF5_TOOLS_H5DIFF_SOURCE_DIR}/h5diff_common.c
${HDF5_TOOLS_H5DIFF_SOURCE_DIR}/h5diff_main.c
)
-TARGET_NAMING (h5diff ${LIB_TYPE})
-TARGET_C_PROPERTIES (h5diff ${LIB_TYPE} " " " ")
+TARGET_NAMING (h5diff STATIC)
+TARGET_C_PROPERTIES (h5diff STATIC " " " ")
target_link_libraries (h5diff ${HDF5_TOOLS_LIB_TARGET} ${HDF5_LIB_TARGET})
set_target_properties (h5diff PROPERTIES FOLDER tools)
@@ -25,8 +25,8 @@ if (H5_HAVE_PARALLEL)
${HDF5_TOOLS_H5DIFF_SOURCE_DIR}/h5diff_common.c
${HDF5_TOOLS_H5DIFF_SOURCE_DIR}/ph5diff_main.c
)
- TARGET_NAMING (ph5diff ${LIB_TYPE})
- TARGET_C_PROPERTIES (ph5diff ${LIB_TYPE} " " " ")
+ TARGET_NAMING (ph5diff STATIC)
+ TARGET_C_PROPERTIES (ph5diff STATIC " " " ")
target_link_libraries (ph5diff ${HDF5_TOOLS_LIB_TARGET} ${HDF5_LIB_TARGET})
set_target_properties (ph5diff PROPERTIES FOLDER tools)
endif (H5_HAVE_PARALLEL)
@@ -35,18 +35,18 @@ if (BUILD_TESTING)
# --------------------------------------------------------------------
# Add the h5diff and test executables
# --------------------------------------------------------------------
- if (HDF5_BUILD_GENERATORS AND NOT BUILD_SHARED_LIBS)
+ if (HDF5_BUILD_GENERATORS)
add_executable (h5diffgentest ${HDF5_TOOLS_H5DIFF_SOURCE_DIR}/h5diffgentest.c)
TARGET_NAMING (h5diffgentest STATIC)
TARGET_C_PROPERTIES (h5diffgentest STATIC " " " ")
target_link_libraries (h5diffgentest ${HDF5_LIB_TARGET})
set_target_properties (h5diffgentest PROPERTIES FOLDER generator/tools)
-
+
#add_test (NAME h5diffgentest COMMAND $<TARGET_FILE:h5diffgentest>)
- endif (HDF5_BUILD_GENERATORS AND NOT BUILD_SHARED_LIBS)
+ endif (HDF5_BUILD_GENERATORS)
include (CMakeTests.cmake)
-
+
endif (BUILD_TESTING)
##############################################################################
diff --git a/tools/h5diff/Makefile.in b/tools/h5diff/Makefile.in
index c95967d..638afd6 100644
--- a/tools/h5diff/Makefile.in
+++ b/tools/h5diff/Makefile.in
@@ -110,7 +110,8 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/aclocal_cxx.m4 \
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(SHELL) $(top_srcdir)/bin/mkinstalldirs
-CONFIG_HEADER = $(top_builddir)/src/H5config.h
+CONFIG_HEADER = $(top_builddir)/src/H5config.h \
+ $(top_builddir)/fortran/src/H5config_f.inc
CONFIG_CLEAN_FILES = testh5diff.sh testph5diff.sh
CONFIG_CLEAN_VPATH_FILES =
@BUILD_PARALLEL_CONDITIONAL_TRUE@am__EXEEXT_1 = ph5diff$(EXEEXT)
@@ -148,7 +149,7 @@ AM_V_at = $(am__v_at_@AM_V@)
am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
am__v_at_0 = @
am__v_at_1 =
-DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/src
+DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/src -I$(top_builddir)/fortran/src
depcomp = $(SHELL) $(top_srcdir)/bin/depcomp
am__depfiles_maybe = depfiles
am__mv = mv -f
@@ -464,14 +465,21 @@ F9XMODEXT = @F9XMODEXT@
F9XMODFLAG = @F9XMODFLAG@
F9XSUFFIXFLAG = @F9XSUFFIXFLAG@
FC = @FC@
-FC2003 = @FC2003@
FCFLAGS = @FCFLAGS@
FCFLAGS_f90 = @FCFLAGS_f90@
FCLIBS = @FCLIBS@
FC_VERSION = @FC_VERSION@
FGREP = @FGREP@
+FORTRAN_C_LONG_DOUBLE_IS_UNIQUE = @FORTRAN_C_LONG_DOUBLE_IS_UNIQUE@
+FORTRAN_HAVE_C_LONG_DOUBLE = @FORTRAN_HAVE_C_LONG_DOUBLE@
+FORTRAN_SIZEOF_LONG_DOUBLE = @FORTRAN_SIZEOF_LONG_DOUBLE@
FSEARCH_DIRS = @FSEARCH_DIRS@
GREP = @GREP@
+H5CONFIG_F_IKIND = @H5CONFIG_F_IKIND@
+H5CONFIG_F_NUM_IKIND = @H5CONFIG_F_NUM_IKIND@
+H5CONFIG_F_NUM_RKIND = @H5CONFIG_F_NUM_RKIND@
+H5CONFIG_F_RKIND = @H5CONFIG_F_RKIND@
+H5CONFIG_F_RKIND_SIZEOF = @H5CONFIG_F_RKIND_SIZEOF@
H5_CFLAGS = @H5_CFLAGS@
H5_CPPFLAGS = @H5_CPPFLAGS@
H5_CXXFLAGS = @H5_CXXFLAGS@
@@ -481,13 +489,12 @@ H5_LDFLAGS = @H5_LDFLAGS@
H5_VERSION = @H5_VERSION@
HADDR_T = @HADDR_T@
HAVE_DMALLOC = @HAVE_DMALLOC@
-HAVE_FORTRAN_2003 = @HAVE_FORTRAN_2003@
+HAVE_Fortran_INTEGER_SIZEOF_16 = @HAVE_Fortran_INTEGER_SIZEOF_16@
HAVE_PTHREAD = @HAVE_PTHREAD@
HDF5_HL = @HDF5_HL@
HDF5_INTERFACES = @HDF5_INTERFACES@
HDF_CXX = @HDF_CXX@
HDF_FORTRAN = @HDF_FORTRAN@
-HDF_FORTRAN2003 = @HDF_FORTRAN2003@
HID_T = @HID_T@
HL = @HL@
HL_FOR = @HL_FOR@
@@ -529,9 +536,20 @@ PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
+PAC_C_MAX_REAL_PRECISION = @PAC_C_MAX_REAL_PRECISION@
+PAC_FC_ALL_INTEGER_KINDS = @PAC_FC_ALL_INTEGER_KINDS@
+PAC_FC_ALL_INTEGER_KINDS_SIZEOF = @PAC_FC_ALL_INTEGER_KINDS_SIZEOF@
+PAC_FC_ALL_REAL_KINDS = @PAC_FC_ALL_REAL_KINDS@
+PAC_FC_ALL_REAL_KINDS_SIZEOF = @PAC_FC_ALL_REAL_KINDS_SIZEOF@
+PAC_FC_MAX_REAL_PRECISION = @PAC_FC_MAX_REAL_PRECISION@
+PAC_FORTRAN_NATIVE_DOUBLE_KIND = @PAC_FORTRAN_NATIVE_DOUBLE_KIND@
+PAC_FORTRAN_NATIVE_DOUBLE_SIZEOF = @PAC_FORTRAN_NATIVE_DOUBLE_SIZEOF@
+PAC_FORTRAN_NATIVE_INTEGER_KIND = @PAC_FORTRAN_NATIVE_INTEGER_KIND@
+PAC_FORTRAN_NATIVE_INTEGER_SIZEOF = @PAC_FORTRAN_NATIVE_INTEGER_SIZEOF@
+PAC_FORTRAN_NATIVE_REAL_KIND = @PAC_FORTRAN_NATIVE_REAL_KIND@
+PAC_FORTRAN_NATIVE_REAL_SIZEOF = @PAC_FORTRAN_NATIVE_REAL_SIZEOF@
PARALLEL = @PARALLEL@
PATH_SEPARATOR = @PATH_SEPARATOR@
-PERL = @PERL@
RANLIB = @RANLIB@
ROOT = @ROOT@
RUNPARALLEL = @RUNPARALLEL@
diff --git a/tools/h5dump/CMakeLists.txt b/tools/h5dump/CMakeLists.txt
index e628f1e..be08e2a 100644
--- a/tools/h5dump/CMakeLists.txt
+++ b/tools/h5dump/CMakeLists.txt
@@ -14,8 +14,8 @@ add_executable (h5dump
${HDF5_TOOLS_H5DUMP_SOURCE_DIR}/h5dump_ddl.c
${HDF5_TOOLS_H5DUMP_SOURCE_DIR}/h5dump_xml.c
)
-TARGET_NAMING (h5dump ${LIB_TYPE})
-TARGET_C_PROPERTIES (h5dump ${LIB_TYPE} " " " ")
+TARGET_NAMING (h5dump STATIC)
+TARGET_C_PROPERTIES (h5dump STATIC " " " ")
target_link_libraries (h5dump ${HDF5_TOOLS_LIB_TARGET} ${HDF5_LIB_TARGET})
set_target_properties (h5dump PROPERTIES FOLDER tools)
@@ -25,15 +25,15 @@ if (BUILD_TESTING)
# --------------------------------------------------------------------
# Add the h5dump test executable
# --------------------------------------------------------------------
- if (HDF5_BUILD_GENERATORS AND NOT BUILD_SHARED_LIBS)
+ if (HDF5_BUILD_GENERATORS)
add_executable (h5dumpgentest ${HDF5_TOOLS_H5DUMP_SOURCE_DIR}/h5dumpgentest.c)
TARGET_NAMING (h5dumpgentest STATIC)
TARGET_C_PROPERTIES (h5dumpgentest STATIC " " " ")
target_link_libraries (h5dumpgentest ${HDF5_LIB_TARGET} ${HDF5_TOOLS_LIB_TARGET})
set_target_properties (h5dumpgentest PROPERTIES FOLDER generator/tools)
-
+
#add_test (NAME h5dumpgentest COMMAND $<TARGET_FILE:h5dumpgentest>)
- endif (HDF5_BUILD_GENERATORS AND NOT BUILD_SHARED_LIBS)
+ endif (HDF5_BUILD_GENERATORS)
include (CMakeTests.cmake)
diff --git a/tools/h5dump/Makefile.in b/tools/h5dump/Makefile.in
index 1624a5b..9ac80d7 100644
--- a/tools/h5dump/Makefile.in
+++ b/tools/h5dump/Makefile.in
@@ -111,7 +111,8 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/aclocal_cxx.m4 \
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(SHELL) $(top_srcdir)/bin/mkinstalldirs
-CONFIG_HEADER = $(top_builddir)/src/H5config.h
+CONFIG_HEADER = $(top_builddir)/src/H5config.h \
+ $(top_builddir)/fortran/src/H5config_f.inc
CONFIG_CLEAN_FILES = testh5dump.sh testh5dumppbits.sh testh5dumpvds.sh \
testh5dumpxml.sh
CONFIG_CLEAN_VPATH_FILES =
@@ -150,7 +151,7 @@ AM_V_at = $(am__v_at_@AM_V@)
am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
am__v_at_0 = @
am__v_at_1 =
-DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/src
+DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/src -I$(top_builddir)/fortran/src
depcomp = $(SHELL) $(top_srcdir)/bin/depcomp
am__depfiles_maybe = depfiles
am__mv = mv -f
@@ -464,14 +465,21 @@ F9XMODEXT = @F9XMODEXT@
F9XMODFLAG = @F9XMODFLAG@
F9XSUFFIXFLAG = @F9XSUFFIXFLAG@
FC = @FC@
-FC2003 = @FC2003@
FCFLAGS = @FCFLAGS@
FCFLAGS_f90 = @FCFLAGS_f90@
FCLIBS = @FCLIBS@
FC_VERSION = @FC_VERSION@
FGREP = @FGREP@
+FORTRAN_C_LONG_DOUBLE_IS_UNIQUE = @FORTRAN_C_LONG_DOUBLE_IS_UNIQUE@
+FORTRAN_HAVE_C_LONG_DOUBLE = @FORTRAN_HAVE_C_LONG_DOUBLE@
+FORTRAN_SIZEOF_LONG_DOUBLE = @FORTRAN_SIZEOF_LONG_DOUBLE@
FSEARCH_DIRS = @FSEARCH_DIRS@
GREP = @GREP@
+H5CONFIG_F_IKIND = @H5CONFIG_F_IKIND@
+H5CONFIG_F_NUM_IKIND = @H5CONFIG_F_NUM_IKIND@
+H5CONFIG_F_NUM_RKIND = @H5CONFIG_F_NUM_RKIND@
+H5CONFIG_F_RKIND = @H5CONFIG_F_RKIND@
+H5CONFIG_F_RKIND_SIZEOF = @H5CONFIG_F_RKIND_SIZEOF@
H5_CFLAGS = @H5_CFLAGS@
H5_CPPFLAGS = @H5_CPPFLAGS@
H5_CXXFLAGS = @H5_CXXFLAGS@
@@ -481,13 +489,12 @@ H5_LDFLAGS = @H5_LDFLAGS@
H5_VERSION = @H5_VERSION@
HADDR_T = @HADDR_T@
HAVE_DMALLOC = @HAVE_DMALLOC@
-HAVE_FORTRAN_2003 = @HAVE_FORTRAN_2003@
+HAVE_Fortran_INTEGER_SIZEOF_16 = @HAVE_Fortran_INTEGER_SIZEOF_16@
HAVE_PTHREAD = @HAVE_PTHREAD@
HDF5_HL = @HDF5_HL@
HDF5_INTERFACES = @HDF5_INTERFACES@
HDF_CXX = @HDF_CXX@
HDF_FORTRAN = @HDF_FORTRAN@
-HDF_FORTRAN2003 = @HDF_FORTRAN2003@
HID_T = @HID_T@
HL = @HL@
HL_FOR = @HL_FOR@
@@ -529,9 +536,20 @@ PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
+PAC_C_MAX_REAL_PRECISION = @PAC_C_MAX_REAL_PRECISION@
+PAC_FC_ALL_INTEGER_KINDS = @PAC_FC_ALL_INTEGER_KINDS@
+PAC_FC_ALL_INTEGER_KINDS_SIZEOF = @PAC_FC_ALL_INTEGER_KINDS_SIZEOF@
+PAC_FC_ALL_REAL_KINDS = @PAC_FC_ALL_REAL_KINDS@
+PAC_FC_ALL_REAL_KINDS_SIZEOF = @PAC_FC_ALL_REAL_KINDS_SIZEOF@
+PAC_FC_MAX_REAL_PRECISION = @PAC_FC_MAX_REAL_PRECISION@
+PAC_FORTRAN_NATIVE_DOUBLE_KIND = @PAC_FORTRAN_NATIVE_DOUBLE_KIND@
+PAC_FORTRAN_NATIVE_DOUBLE_SIZEOF = @PAC_FORTRAN_NATIVE_DOUBLE_SIZEOF@
+PAC_FORTRAN_NATIVE_INTEGER_KIND = @PAC_FORTRAN_NATIVE_INTEGER_KIND@
+PAC_FORTRAN_NATIVE_INTEGER_SIZEOF = @PAC_FORTRAN_NATIVE_INTEGER_SIZEOF@
+PAC_FORTRAN_NATIVE_REAL_KIND = @PAC_FORTRAN_NATIVE_REAL_KIND@
+PAC_FORTRAN_NATIVE_REAL_SIZEOF = @PAC_FORTRAN_NATIVE_REAL_SIZEOF@
PARALLEL = @PARALLEL@
PATH_SEPARATOR = @PATH_SEPARATOR@
-PERL = @PERL@
RANLIB = @RANLIB@
ROOT = @ROOT@
RUNPARALLEL = @RUNPARALLEL@
diff --git a/tools/h5import/CMakeLists.txt b/tools/h5import/CMakeLists.txt
index ada3b07..b885a76 100644
--- a/tools/h5import/CMakeLists.txt
+++ b/tools/h5import/CMakeLists.txt
@@ -10,8 +10,8 @@ INCLUDE_DIRECTORIES (${HDF5_TOOLS_SRC_DIR}/lib)
# Add the h5import executables
# --------------------------------------------------------------------
add_executable (h5import ${HDF5_TOOLS_H5IMPORT_SOURCE_DIR}/h5import.c)
-TARGET_NAMING (h5import ${LIB_TYPE})
-TARGET_C_PROPERTIES (h5import ${LIB_TYPE} " " " ")
+TARGET_NAMING (h5import STATIC)
+TARGET_C_PROPERTIES (h5import STATIC " " " ")
target_link_libraries (h5import ${HDF5_TOOLS_LIB_TARGET} ${HDF5_LIB_TARGET})
#set_target_properties (h5import PROPERTIES COMPILE_DEFINITIONS H5DEBUGIMPORT)
set_target_properties (h5import PROPERTIES FOLDER tools)
@@ -23,8 +23,8 @@ if (BUILD_TESTING)
# Add the h5import executables
# --------------------------------------------------------------------
add_executable (h5importtest ${HDF5_TOOLS_H5IMPORT_SOURCE_DIR}/h5importtest.c)
- TARGET_NAMING (h5importtest ${LIB_TYPE})
- TARGET_C_PROPERTIES (h5importtest ${LIB_TYPE} " " " ")
+ TARGET_NAMING (h5importtest STATIC)
+ TARGET_C_PROPERTIES (h5importtest STATIC " " " ")
target_link_libraries (h5importtest ${HDF5_LIB_TARGET} ${HDF5_TOOLS_LIB_TARGET})
set_target_properties (h5importtest PROPERTIES FOLDER tools)
diff --git a/tools/h5import/Makefile.in b/tools/h5import/Makefile.in
index 0778fc2..3185d72 100644
--- a/tools/h5import/Makefile.in
+++ b/tools/h5import/Makefile.in
@@ -110,7 +110,8 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/aclocal_cxx.m4 \
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(SHELL) $(top_srcdir)/bin/mkinstalldirs
-CONFIG_HEADER = $(top_builddir)/src/H5config.h
+CONFIG_HEADER = $(top_builddir)/src/H5config.h \
+ $(top_builddir)/fortran/src/H5config_f.inc
CONFIG_CLEAN_FILES = h5importtestutil.sh
CONFIG_CLEAN_VPATH_FILES =
am__installdirs = "$(DESTDIR)$(bindir)"
@@ -143,7 +144,7 @@ AM_V_at = $(am__v_at_@AM_V@)
am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
am__v_at_0 = @
am__v_at_1 =
-DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/src
+DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/src -I$(top_builddir)/fortran/src
depcomp = $(SHELL) $(top_srcdir)/bin/depcomp
am__depfiles_maybe = depfiles
am__mv = mv -f
@@ -457,14 +458,21 @@ F9XMODEXT = @F9XMODEXT@
F9XMODFLAG = @F9XMODFLAG@
F9XSUFFIXFLAG = @F9XSUFFIXFLAG@
FC = @FC@
-FC2003 = @FC2003@
FCFLAGS = @FCFLAGS@
FCFLAGS_f90 = @FCFLAGS_f90@
FCLIBS = @FCLIBS@
FC_VERSION = @FC_VERSION@
FGREP = @FGREP@
+FORTRAN_C_LONG_DOUBLE_IS_UNIQUE = @FORTRAN_C_LONG_DOUBLE_IS_UNIQUE@
+FORTRAN_HAVE_C_LONG_DOUBLE = @FORTRAN_HAVE_C_LONG_DOUBLE@
+FORTRAN_SIZEOF_LONG_DOUBLE = @FORTRAN_SIZEOF_LONG_DOUBLE@
FSEARCH_DIRS = @FSEARCH_DIRS@
GREP = @GREP@
+H5CONFIG_F_IKIND = @H5CONFIG_F_IKIND@
+H5CONFIG_F_NUM_IKIND = @H5CONFIG_F_NUM_IKIND@
+H5CONFIG_F_NUM_RKIND = @H5CONFIG_F_NUM_RKIND@
+H5CONFIG_F_RKIND = @H5CONFIG_F_RKIND@
+H5CONFIG_F_RKIND_SIZEOF = @H5CONFIG_F_RKIND_SIZEOF@
H5_CFLAGS = @H5_CFLAGS@
H5_CPPFLAGS = @H5_CPPFLAGS@
H5_CXXFLAGS = @H5_CXXFLAGS@
@@ -474,13 +482,12 @@ H5_LDFLAGS = @H5_LDFLAGS@
H5_VERSION = @H5_VERSION@
HADDR_T = @HADDR_T@
HAVE_DMALLOC = @HAVE_DMALLOC@
-HAVE_FORTRAN_2003 = @HAVE_FORTRAN_2003@
+HAVE_Fortran_INTEGER_SIZEOF_16 = @HAVE_Fortran_INTEGER_SIZEOF_16@
HAVE_PTHREAD = @HAVE_PTHREAD@
HDF5_HL = @HDF5_HL@
HDF5_INTERFACES = @HDF5_INTERFACES@
HDF_CXX = @HDF_CXX@
HDF_FORTRAN = @HDF_FORTRAN@
-HDF_FORTRAN2003 = @HDF_FORTRAN2003@
HID_T = @HID_T@
HL = @HL@
HL_FOR = @HL_FOR@
@@ -522,9 +529,20 @@ PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
+PAC_C_MAX_REAL_PRECISION = @PAC_C_MAX_REAL_PRECISION@
+PAC_FC_ALL_INTEGER_KINDS = @PAC_FC_ALL_INTEGER_KINDS@
+PAC_FC_ALL_INTEGER_KINDS_SIZEOF = @PAC_FC_ALL_INTEGER_KINDS_SIZEOF@
+PAC_FC_ALL_REAL_KINDS = @PAC_FC_ALL_REAL_KINDS@
+PAC_FC_ALL_REAL_KINDS_SIZEOF = @PAC_FC_ALL_REAL_KINDS_SIZEOF@
+PAC_FC_MAX_REAL_PRECISION = @PAC_FC_MAX_REAL_PRECISION@
+PAC_FORTRAN_NATIVE_DOUBLE_KIND = @PAC_FORTRAN_NATIVE_DOUBLE_KIND@
+PAC_FORTRAN_NATIVE_DOUBLE_SIZEOF = @PAC_FORTRAN_NATIVE_DOUBLE_SIZEOF@
+PAC_FORTRAN_NATIVE_INTEGER_KIND = @PAC_FORTRAN_NATIVE_INTEGER_KIND@
+PAC_FORTRAN_NATIVE_INTEGER_SIZEOF = @PAC_FORTRAN_NATIVE_INTEGER_SIZEOF@
+PAC_FORTRAN_NATIVE_REAL_KIND = @PAC_FORTRAN_NATIVE_REAL_KIND@
+PAC_FORTRAN_NATIVE_REAL_SIZEOF = @PAC_FORTRAN_NATIVE_REAL_SIZEOF@
PARALLEL = @PARALLEL@
PATH_SEPARATOR = @PATH_SEPARATOR@
-PERL = @PERL@
RANLIB = @RANLIB@
ROOT = @ROOT@
RUNPARALLEL = @RUNPARALLEL@
diff --git a/tools/h5jam/CMakeLists.txt b/tools/h5jam/CMakeLists.txt
index ceb2eb9..c01f8f7 100644
--- a/tools/h5jam/CMakeLists.txt
+++ b/tools/h5jam/CMakeLists.txt
@@ -10,26 +10,26 @@ INCLUDE_DIRECTORIES (${HDF5_TOOLS_SRC_DIR}/lib)
# Add the h5jam executables
# --------------------------------------------------------------------
add_executable (h5jam ${HDF5_TOOLS_H5JAM_SOURCE_DIR}/h5jam.c)
-TARGET_NAMING (h5jam ${LIB_TYPE})
-TARGET_C_PROPERTIES (h5jam ${LIB_TYPE} " " " ")
+TARGET_NAMING (h5jam STATIC)
+TARGET_C_PROPERTIES (h5jam STATIC " " " ")
target_link_libraries (h5jam ${HDF5_TOOLS_LIB_TARGET} ${HDF5_LIB_TARGET})
set_target_properties (h5jam PROPERTIES FOLDER tools)
add_executable (getub ${HDF5_TOOLS_H5JAM_SOURCE_DIR}/getub.c)
-TARGET_NAMING (getub ${LIB_TYPE})
-TARGET_C_PROPERTIES (getub ${LIB_TYPE} " " " ")
+TARGET_NAMING (getub STATIC)
+TARGET_C_PROPERTIES (getub STATIC " " " ")
target_link_libraries (getub ${HDF5_TOOLS_LIB_TARGET} ${HDF5_LIB_TARGET})
set_target_properties (getub PROPERTIES FOLDER tools)
add_executable (tellub ${HDF5_TOOLS_H5JAM_SOURCE_DIR}/tellub.c)
-TARGET_NAMING (tellub ${LIB_TYPE})
-TARGET_C_PROPERTIES (tellub ${LIB_TYPE} " " " ")
+TARGET_NAMING (tellub STATIC)
+TARGET_C_PROPERTIES (tellub STATIC " " " ")
target_link_libraries (tellub ${HDF5_TOOLS_LIB_TARGET} ${HDF5_LIB_TARGET})
set_target_properties (tellub PROPERTIES FOLDER tools)
add_executable (h5unjam ${HDF5_TOOLS_H5JAM_SOURCE_DIR}/h5unjam.c)
-TARGET_NAMING (h5unjam ${LIB_TYPE})
-TARGET_C_PROPERTIES (h5unjam ${LIB_TYPE} " " " ")
+TARGET_NAMING (h5unjam STATIC)
+TARGET_C_PROPERTIES (h5unjam STATIC " " " ")
target_link_libraries (h5unjam ${HDF5_TOOLS_LIB_TARGET} ${HDF5_LIB_TARGET})
set_target_properties (h5unjam PROPERTIES FOLDER tools)
@@ -44,15 +44,15 @@ if (BUILD_TESTING)
# --------------------------------------------------------------------
# Add the h5jam test executables
# --------------------------------------------------------------------
- if (HDF5_BUILD_GENERATORS AND NOT BUILD_SHARED_LIBS)
+ if (HDF5_BUILD_GENERATORS)
add_executable (h5jamgentest ${HDF5_TOOLS_H5JAM_SOURCE_DIR}/h5jamgentest.c)
- TARGET_NAMING (h5jamgentest ${LIB_TYPE})
- TARGET_C_PROPERTIES (testhdf5 ${LIB_TYPE} " " " ")
+ TARGET_NAMING (h5jamgentest STATIC)
+ TARGET_C_PROPERTIES (testhdf5 STATIC " " " ")
target_link_libraries (h5jamgentest ${HDF5_LIB_TARGET})
set_target_properties (h5jamgentest PROPERTIES FOLDER generator/tools)
-
+
#add_test (NAME h5jamgentest COMMAND $<TARGET_FILE:h5jamgentest>)
- endif (HDF5_BUILD_GENERATORS AND NOT BUILD_SHARED_LIBS)
+ endif (HDF5_BUILD_GENERATORS)
include (CMakeTests.cmake)
diff --git a/tools/h5jam/Makefile.in b/tools/h5jam/Makefile.in
index ed8151f..8e5f994 100644
--- a/tools/h5jam/Makefile.in
+++ b/tools/h5jam/Makefile.in
@@ -110,7 +110,8 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/aclocal_cxx.m4 \
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(SHELL) $(top_srcdir)/bin/mkinstalldirs
-CONFIG_HEADER = $(top_builddir)/src/H5config.h
+CONFIG_HEADER = $(top_builddir)/src/H5config.h \
+ $(top_builddir)/fortran/src/H5config_f.inc
CONFIG_CLEAN_FILES = testh5jam.sh
CONFIG_CLEAN_VPATH_FILES =
am__installdirs = "$(DESTDIR)$(bindir)"
@@ -157,7 +158,7 @@ AM_V_at = $(am__v_at_@AM_V@)
am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
am__v_at_0 = @
am__v_at_1 =
-DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/src
+DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/src -I$(top_builddir)/fortran/src
depcomp = $(SHELL) $(top_srcdir)/bin/depcomp
am__depfiles_maybe = depfiles
am__mv = mv -f
@@ -469,14 +470,21 @@ F9XMODEXT = @F9XMODEXT@
F9XMODFLAG = @F9XMODFLAG@
F9XSUFFIXFLAG = @F9XSUFFIXFLAG@
FC = @FC@
-FC2003 = @FC2003@
FCFLAGS = @FCFLAGS@
FCFLAGS_f90 = @FCFLAGS_f90@
FCLIBS = @FCLIBS@
FC_VERSION = @FC_VERSION@
FGREP = @FGREP@
+FORTRAN_C_LONG_DOUBLE_IS_UNIQUE = @FORTRAN_C_LONG_DOUBLE_IS_UNIQUE@
+FORTRAN_HAVE_C_LONG_DOUBLE = @FORTRAN_HAVE_C_LONG_DOUBLE@
+FORTRAN_SIZEOF_LONG_DOUBLE = @FORTRAN_SIZEOF_LONG_DOUBLE@
FSEARCH_DIRS = @FSEARCH_DIRS@
GREP = @GREP@
+H5CONFIG_F_IKIND = @H5CONFIG_F_IKIND@
+H5CONFIG_F_NUM_IKIND = @H5CONFIG_F_NUM_IKIND@
+H5CONFIG_F_NUM_RKIND = @H5CONFIG_F_NUM_RKIND@
+H5CONFIG_F_RKIND = @H5CONFIG_F_RKIND@
+H5CONFIG_F_RKIND_SIZEOF = @H5CONFIG_F_RKIND_SIZEOF@
H5_CFLAGS = @H5_CFLAGS@
H5_CPPFLAGS = @H5_CPPFLAGS@
H5_CXXFLAGS = @H5_CXXFLAGS@
@@ -486,13 +494,12 @@ H5_LDFLAGS = @H5_LDFLAGS@
H5_VERSION = @H5_VERSION@
HADDR_T = @HADDR_T@
HAVE_DMALLOC = @HAVE_DMALLOC@
-HAVE_FORTRAN_2003 = @HAVE_FORTRAN_2003@
+HAVE_Fortran_INTEGER_SIZEOF_16 = @HAVE_Fortran_INTEGER_SIZEOF_16@
HAVE_PTHREAD = @HAVE_PTHREAD@
HDF5_HL = @HDF5_HL@
HDF5_INTERFACES = @HDF5_INTERFACES@
HDF_CXX = @HDF_CXX@
HDF_FORTRAN = @HDF_FORTRAN@
-HDF_FORTRAN2003 = @HDF_FORTRAN2003@
HID_T = @HID_T@
HL = @HL@
HL_FOR = @HL_FOR@
@@ -534,9 +541,20 @@ PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
+PAC_C_MAX_REAL_PRECISION = @PAC_C_MAX_REAL_PRECISION@
+PAC_FC_ALL_INTEGER_KINDS = @PAC_FC_ALL_INTEGER_KINDS@
+PAC_FC_ALL_INTEGER_KINDS_SIZEOF = @PAC_FC_ALL_INTEGER_KINDS_SIZEOF@
+PAC_FC_ALL_REAL_KINDS = @PAC_FC_ALL_REAL_KINDS@
+PAC_FC_ALL_REAL_KINDS_SIZEOF = @PAC_FC_ALL_REAL_KINDS_SIZEOF@
+PAC_FC_MAX_REAL_PRECISION = @PAC_FC_MAX_REAL_PRECISION@
+PAC_FORTRAN_NATIVE_DOUBLE_KIND = @PAC_FORTRAN_NATIVE_DOUBLE_KIND@
+PAC_FORTRAN_NATIVE_DOUBLE_SIZEOF = @PAC_FORTRAN_NATIVE_DOUBLE_SIZEOF@
+PAC_FORTRAN_NATIVE_INTEGER_KIND = @PAC_FORTRAN_NATIVE_INTEGER_KIND@
+PAC_FORTRAN_NATIVE_INTEGER_SIZEOF = @PAC_FORTRAN_NATIVE_INTEGER_SIZEOF@
+PAC_FORTRAN_NATIVE_REAL_KIND = @PAC_FORTRAN_NATIVE_REAL_KIND@
+PAC_FORTRAN_NATIVE_REAL_SIZEOF = @PAC_FORTRAN_NATIVE_REAL_SIZEOF@
PARALLEL = @PARALLEL@
PATH_SEPARATOR = @PATH_SEPARATOR@
-PERL = @PERL@
RANLIB = @RANLIB@
ROOT = @ROOT@
RUNPARALLEL = @RUNPARALLEL@
diff --git a/tools/h5ls/CMakeLists.txt b/tools/h5ls/CMakeLists.txt
index 4becc5e..6e7f00c 100644
--- a/tools/h5ls/CMakeLists.txt
+++ b/tools/h5ls/CMakeLists.txt
@@ -10,8 +10,8 @@ INCLUDE_DIRECTORIES (${HDF5_TOOLS_SRC_DIR}/lib)
# Add the h5ls executable
#-----------------------------------------------------------------------------
add_executable (h5ls ${HDF5_TOOLS_H5LS_SOURCE_DIR}/h5ls.c)
-TARGET_NAMING (h5ls ${LIB_TYPE})
-TARGET_C_PROPERTIES (h5ls ${LIB_TYPE} " " " ")
+TARGET_NAMING (h5ls STATIC)
+TARGET_C_PROPERTIES (h5ls STATIC " " " ")
target_link_libraries (h5ls ${HDF5_TOOLS_LIB_TARGET} ${HDF5_LIB_TARGET})
set_target_properties (h5ls PROPERTIES FOLDER tools)
diff --git a/tools/h5ls/Makefile.in b/tools/h5ls/Makefile.in
index 8c938b0..1229bae 100644
--- a/tools/h5ls/Makefile.in
+++ b/tools/h5ls/Makefile.in
@@ -109,7 +109,8 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/aclocal_cxx.m4 \
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(SHELL) $(top_srcdir)/bin/mkinstalldirs
-CONFIG_HEADER = $(top_builddir)/src/H5config.h
+CONFIG_HEADER = $(top_builddir)/src/H5config.h \
+ $(top_builddir)/fortran/src/H5config_f.inc
CONFIG_CLEAN_FILES = testh5ls.sh testh5lsvds.sh
CONFIG_CLEAN_VPATH_FILES =
am__installdirs = "$(DESTDIR)$(bindir)"
@@ -137,7 +138,7 @@ AM_V_at = $(am__v_at_@AM_V@)
am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
am__v_at_0 = @
am__v_at_1 =
-DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/src
+DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/src -I$(top_builddir)/fortran/src
depcomp = $(SHELL) $(top_srcdir)/bin/depcomp
am__depfiles_maybe = depfiles
am__mv = mv -f
@@ -449,14 +450,21 @@ F9XMODEXT = @F9XMODEXT@
F9XMODFLAG = @F9XMODFLAG@
F9XSUFFIXFLAG = @F9XSUFFIXFLAG@
FC = @FC@
-FC2003 = @FC2003@
FCFLAGS = @FCFLAGS@
FCFLAGS_f90 = @FCFLAGS_f90@
FCLIBS = @FCLIBS@
FC_VERSION = @FC_VERSION@
FGREP = @FGREP@
+FORTRAN_C_LONG_DOUBLE_IS_UNIQUE = @FORTRAN_C_LONG_DOUBLE_IS_UNIQUE@
+FORTRAN_HAVE_C_LONG_DOUBLE = @FORTRAN_HAVE_C_LONG_DOUBLE@
+FORTRAN_SIZEOF_LONG_DOUBLE = @FORTRAN_SIZEOF_LONG_DOUBLE@
FSEARCH_DIRS = @FSEARCH_DIRS@
GREP = @GREP@
+H5CONFIG_F_IKIND = @H5CONFIG_F_IKIND@
+H5CONFIG_F_NUM_IKIND = @H5CONFIG_F_NUM_IKIND@
+H5CONFIG_F_NUM_RKIND = @H5CONFIG_F_NUM_RKIND@
+H5CONFIG_F_RKIND = @H5CONFIG_F_RKIND@
+H5CONFIG_F_RKIND_SIZEOF = @H5CONFIG_F_RKIND_SIZEOF@
H5_CFLAGS = @H5_CFLAGS@
H5_CPPFLAGS = @H5_CPPFLAGS@
H5_CXXFLAGS = @H5_CXXFLAGS@
@@ -466,13 +474,12 @@ H5_LDFLAGS = @H5_LDFLAGS@
H5_VERSION = @H5_VERSION@
HADDR_T = @HADDR_T@
HAVE_DMALLOC = @HAVE_DMALLOC@
-HAVE_FORTRAN_2003 = @HAVE_FORTRAN_2003@
+HAVE_Fortran_INTEGER_SIZEOF_16 = @HAVE_Fortran_INTEGER_SIZEOF_16@
HAVE_PTHREAD = @HAVE_PTHREAD@
HDF5_HL = @HDF5_HL@
HDF5_INTERFACES = @HDF5_INTERFACES@
HDF_CXX = @HDF_CXX@
HDF_FORTRAN = @HDF_FORTRAN@
-HDF_FORTRAN2003 = @HDF_FORTRAN2003@
HID_T = @HID_T@
HL = @HL@
HL_FOR = @HL_FOR@
@@ -514,9 +521,20 @@ PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
+PAC_C_MAX_REAL_PRECISION = @PAC_C_MAX_REAL_PRECISION@
+PAC_FC_ALL_INTEGER_KINDS = @PAC_FC_ALL_INTEGER_KINDS@
+PAC_FC_ALL_INTEGER_KINDS_SIZEOF = @PAC_FC_ALL_INTEGER_KINDS_SIZEOF@
+PAC_FC_ALL_REAL_KINDS = @PAC_FC_ALL_REAL_KINDS@
+PAC_FC_ALL_REAL_KINDS_SIZEOF = @PAC_FC_ALL_REAL_KINDS_SIZEOF@
+PAC_FC_MAX_REAL_PRECISION = @PAC_FC_MAX_REAL_PRECISION@
+PAC_FORTRAN_NATIVE_DOUBLE_KIND = @PAC_FORTRAN_NATIVE_DOUBLE_KIND@
+PAC_FORTRAN_NATIVE_DOUBLE_SIZEOF = @PAC_FORTRAN_NATIVE_DOUBLE_SIZEOF@
+PAC_FORTRAN_NATIVE_INTEGER_KIND = @PAC_FORTRAN_NATIVE_INTEGER_KIND@
+PAC_FORTRAN_NATIVE_INTEGER_SIZEOF = @PAC_FORTRAN_NATIVE_INTEGER_SIZEOF@
+PAC_FORTRAN_NATIVE_REAL_KIND = @PAC_FORTRAN_NATIVE_REAL_KIND@
+PAC_FORTRAN_NATIVE_REAL_SIZEOF = @PAC_FORTRAN_NATIVE_REAL_SIZEOF@
PARALLEL = @PARALLEL@
PATH_SEPARATOR = @PATH_SEPARATOR@
-PERL = @PERL@
RANLIB = @RANLIB@
ROOT = @ROOT@
RUNPARALLEL = @RUNPARALLEL@
diff --git a/tools/h5repack/CMakeLists.txt b/tools/h5repack/CMakeLists.txt
index 3b31078..7631ae8 100644
--- a/tools/h5repack/CMakeLists.txt
+++ b/tools/h5repack/CMakeLists.txt
@@ -21,8 +21,8 @@ set (REPACK_COMMON_SRCS
)
add_executable (h5repack ${REPACK_COMMON_SRCS} ${HDF5_TOOLS_H5REPACK_SOURCE_DIR}/h5repack_main.c)
-TARGET_NAMING (h5repack ${LIB_TYPE})
-TARGET_C_PROPERTIES (h5repack ${LIB_TYPE} " " " ")
+TARGET_NAMING (h5repack STATIC)
+TARGET_C_PROPERTIES (h5repack STATIC " " " ")
target_link_libraries (h5repack ${HDF5_TOOLS_LIB_TARGET} ${HDF5_LIB_TARGET})
set_target_properties (h5repack PROPERTIES FOLDER tools)
@@ -33,54 +33,52 @@ if (BUILD_TESTING)
# Add h5Repack test executables
# --------------------------------------------------------------------
add_executable (testh5repack_detect_szip ${HDF5_TOOLS_H5REPACK_SOURCE_DIR}/testh5repack_detect_szip.c)
- TARGET_NAMING (testh5repack_detect_szip ${LIB_TYPE})
- TARGET_C_PROPERTIES (testh5repack_detect_szip ${LIB_TYPE} " " " ")
+ TARGET_NAMING (testh5repack_detect_szip STATIC)
+ TARGET_C_PROPERTIES (testh5repack_detect_szip STATIC " " " ")
target_link_libraries (testh5repack_detect_szip ${HDF5_LIB_TARGET} ${HDF5_TOOLS_LIB_TARGET} ${HDF5_TEST_LIB_TARGET})
set_target_properties (testh5repack_detect_szip PROPERTIES FOLDER tools)
add_executable (h5repacktest ${REPACK_COMMON_SRCS} ${HDF5_TOOLS_H5REPACK_SOURCE_DIR}/h5repacktst.c)
- TARGET_NAMING (h5repacktest ${LIB_TYPE})
- TARGET_C_PROPERTIES (h5repacktest ${LIB_TYPE} " " " ")
+ TARGET_NAMING (h5repacktest STATIC)
+ TARGET_C_PROPERTIES (h5repacktest STATIC " " " ")
target_link_libraries (h5repacktest ${HDF5_TOOLS_LIB_TARGET} ${HDF5_TEST_LIB_TARGET})
set_target_properties (h5repacktest PROPERTIES FOLDER tools)
#-----------------------------------------------------------------------------
# If plugin library tests can be tested
#-----------------------------------------------------------------------------
- if (BUILD_SHARED_LIBS)
- set (HDF5_TOOL_PLUGIN_LIB_CORENAME "dynlibadd")
- set (HDF5_TOOL_PLUGIN_LIB_NAME "${HDF5_EXTERNAL_LIB_PREFIX}${HDF5_TOOL_PLUGIN_LIB_CORENAME}")
- set (HDF5_TOOL_PLUGIN_LIB_TARGET ${HDF5_TOOL_PLUGIN_LIB_CORENAME})
- add_definitions (${HDF_EXTRA_C_FLAGS})
- INCLUDE_DIRECTORIES (${HDF5_SRC_DIR})
+ set (HDF5_TOOL_PLUGIN_LIB_CORENAME "dynlibadd")
+ set (HDF5_TOOL_PLUGIN_LIB_NAME "${HDF5_EXTERNAL_LIB_PREFIX}${HDF5_TOOL_PLUGIN_LIB_CORENAME}")
+ set (HDF5_TOOL_PLUGIN_LIB_TARGET ${HDF5_TOOL_PLUGIN_LIB_CORENAME})
+ add_definitions (${HDF_EXTRA_C_FLAGS})
+ INCLUDE_DIRECTORIES (${HDF5_SRC_DIR})
- add_library (${HDF5_TOOL_PLUGIN_LIB_TARGET} SHARED dynlib_rpk.c)
- TARGET_C_PROPERTIES (${HDF5_TOOL_PLUGIN_LIB_TARGET} SHARED " " " ")
- target_link_libraries (${HDF5_TOOL_PLUGIN_LIB_TARGET} ${HDF5_TEST_LIB_TARGET})
- H5_SET_LIB_OPTIONS (
- ${HDF5_TOOL_PLUGIN_LIB_TARGET} ${HDF5_TOOL_PLUGIN_LIB_NAME}
- SHARED
- HDF5_TOOL_PLUGIN_LIB_NAME_RELEASE
- HDF5_TOOL_PLUGIN_LIB_NAME_DEBUG
- )
+ add_library (${HDF5_TOOL_PLUGIN_LIB_TARGET} SHARED dynlib_rpk.c)
+ TARGET_C_PROPERTIES (${HDF5_TOOL_PLUGIN_LIB_TARGET} SHARED " " " ")
+ target_link_libraries (${HDF5_TOOL_PLUGIN_LIB_TARGET} ${HDF5_TEST_LIB_TARGET})
+ H5_SET_LIB_OPTIONS (
+ ${HDF5_TOOL_PLUGIN_LIB_TARGET} ${HDF5_TOOL_PLUGIN_LIB_NAME}
+ SHARED
+ HDF5_TOOL_PLUGIN_LIB_NAME_RELEASE
+ HDF5_TOOL_PLUGIN_LIB_NAME_DEBUG
+ )
- # make plugins dir
- file (MAKE_DIRECTORY "${CMAKE_BINARY_DIR}/plugins")
- #-----------------------------------------------------------------------------
- # Copy plugin library to a plugins folder
- #-----------------------------------------------------------------------------
- add_custom_command (
- TARGET ${HDF5_TOOL_PLUGIN_LIB_TARGET}
- POST_BUILD
- COMMAND ${CMAKE_COMMAND}
- ARGS -E copy_if_different
+ # make plugins dir
+ file (MAKE_DIRECTORY "${CMAKE_BINARY_DIR}/plugins")
+ #-----------------------------------------------------------------------------
+ # Copy plugin library to a plugins folder
+ #-----------------------------------------------------------------------------
+ add_custom_command (
+ TARGET ${HDF5_TOOL_PLUGIN_LIB_TARGET}
+ POST_BUILD
+ COMMAND ${CMAKE_COMMAND}
+ ARGS -E copy_if_different
"$<TARGET_FILE:${HDF5_TOOL_PLUGIN_LIB_TARGET}>"
"${CMAKE_BINARY_DIR}/plugins/$<TARGET_FILE_NAME:${HDF5_TOOL_PLUGIN_LIB_TARGET}>"
- )
- endif (BUILD_SHARED_LIBS)
+ )
include (CMakeTests.cmake)
-
+
endif (BUILD_TESTING)
##############################################################################
diff --git a/tools/h5repack/CMakeTests.cmake b/tools/h5repack/CMakeTests.cmake
index 6b7199e..caad5c1 100644
--- a/tools/h5repack/CMakeTests.cmake
+++ b/tools/h5repack/CMakeTests.cmake
@@ -1071,16 +1071,8 @@
##############################################################################
### P L U G I N T E S T S
##############################################################################
-if (BUILD_SHARED_LIBS)
ADD_H5_UD_TEST (plugin_test 0 h5repack_layout.h5 -v -f UD=257,1,9)
ADD_H5_UD_TEST (plugin_none 0 h5repack_layout.UD.h5 -v -f NONE)
-else (BUILD_SHARED_LIBS)
- message (STATUS " **** Plugins libraries must be built as shared libraries **** ")
- add_test (
- NAME H5REPACK-plugin
- COMMAND ${CMAKE_COMMAND} -E echo "SKIP H5PLUGIN TESTING"
- )
-endif (BUILD_SHARED_LIBS)
if (HDF5_TEST_VFD)
# Run test with different Virtual File Driver
diff --git a/tools/h5repack/Makefile.in b/tools/h5repack/Makefile.in
index 6d1bfd6..6868523 100644
--- a/tools/h5repack/Makefile.in
+++ b/tools/h5repack/Makefile.in
@@ -113,7 +113,8 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/aclocal_cxx.m4 \
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(SHELL) $(top_srcdir)/bin/mkinstalldirs
-CONFIG_HEADER = $(top_builddir)/src/H5config.h
+CONFIG_HEADER = $(top_builddir)/src/H5config.h \
+ $(top_builddir)/fortran/src/H5config_f.inc
CONFIG_CLEAN_FILES = h5repack.sh h5repack_plugin.sh
CONFIG_CLEAN_VPATH_FILES =
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
@@ -192,7 +193,7 @@ AM_V_at = $(am__v_at_@AM_V@)
am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
am__v_at_0 = @
am__v_at_1 =
-DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/src
+DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/src -I$(top_builddir)/fortran/src
depcomp = $(SHELL) $(top_srcdir)/bin/depcomp
am__depfiles_maybe = depfiles
am__mv = mv -f
@@ -481,14 +482,21 @@ F9XMODEXT = @F9XMODEXT@
F9XMODFLAG = @F9XMODFLAG@
F9XSUFFIXFLAG = @F9XSUFFIXFLAG@
FC = @FC@
-FC2003 = @FC2003@
FCFLAGS = @FCFLAGS@
FCFLAGS_f90 = @FCFLAGS_f90@
FCLIBS = @FCLIBS@
FC_VERSION = @FC_VERSION@
FGREP = @FGREP@
+FORTRAN_C_LONG_DOUBLE_IS_UNIQUE = @FORTRAN_C_LONG_DOUBLE_IS_UNIQUE@
+FORTRAN_HAVE_C_LONG_DOUBLE = @FORTRAN_HAVE_C_LONG_DOUBLE@
+FORTRAN_SIZEOF_LONG_DOUBLE = @FORTRAN_SIZEOF_LONG_DOUBLE@
FSEARCH_DIRS = @FSEARCH_DIRS@
GREP = @GREP@
+H5CONFIG_F_IKIND = @H5CONFIG_F_IKIND@
+H5CONFIG_F_NUM_IKIND = @H5CONFIG_F_NUM_IKIND@
+H5CONFIG_F_NUM_RKIND = @H5CONFIG_F_NUM_RKIND@
+H5CONFIG_F_RKIND = @H5CONFIG_F_RKIND@
+H5CONFIG_F_RKIND_SIZEOF = @H5CONFIG_F_RKIND_SIZEOF@
H5_CFLAGS = @H5_CFLAGS@
H5_CPPFLAGS = @H5_CPPFLAGS@
H5_CXXFLAGS = @H5_CXXFLAGS@
@@ -498,13 +506,12 @@ H5_LDFLAGS = @H5_LDFLAGS@
H5_VERSION = @H5_VERSION@
HADDR_T = @HADDR_T@
HAVE_DMALLOC = @HAVE_DMALLOC@
-HAVE_FORTRAN_2003 = @HAVE_FORTRAN_2003@
+HAVE_Fortran_INTEGER_SIZEOF_16 = @HAVE_Fortran_INTEGER_SIZEOF_16@
HAVE_PTHREAD = @HAVE_PTHREAD@
HDF5_HL = @HDF5_HL@
HDF5_INTERFACES = @HDF5_INTERFACES@
HDF_CXX = @HDF_CXX@
HDF_FORTRAN = @HDF_FORTRAN@
-HDF_FORTRAN2003 = @HDF_FORTRAN2003@
HID_T = @HID_T@
HL = @HL@
HL_FOR = @HL_FOR@
@@ -546,9 +553,20 @@ PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
+PAC_C_MAX_REAL_PRECISION = @PAC_C_MAX_REAL_PRECISION@
+PAC_FC_ALL_INTEGER_KINDS = @PAC_FC_ALL_INTEGER_KINDS@
+PAC_FC_ALL_INTEGER_KINDS_SIZEOF = @PAC_FC_ALL_INTEGER_KINDS_SIZEOF@
+PAC_FC_ALL_REAL_KINDS = @PAC_FC_ALL_REAL_KINDS@
+PAC_FC_ALL_REAL_KINDS_SIZEOF = @PAC_FC_ALL_REAL_KINDS_SIZEOF@
+PAC_FC_MAX_REAL_PRECISION = @PAC_FC_MAX_REAL_PRECISION@
+PAC_FORTRAN_NATIVE_DOUBLE_KIND = @PAC_FORTRAN_NATIVE_DOUBLE_KIND@
+PAC_FORTRAN_NATIVE_DOUBLE_SIZEOF = @PAC_FORTRAN_NATIVE_DOUBLE_SIZEOF@
+PAC_FORTRAN_NATIVE_INTEGER_KIND = @PAC_FORTRAN_NATIVE_INTEGER_KIND@
+PAC_FORTRAN_NATIVE_INTEGER_SIZEOF = @PAC_FORTRAN_NATIVE_INTEGER_SIZEOF@
+PAC_FORTRAN_NATIVE_REAL_KIND = @PAC_FORTRAN_NATIVE_REAL_KIND@
+PAC_FORTRAN_NATIVE_REAL_SIZEOF = @PAC_FORTRAN_NATIVE_REAL_SIZEOF@
PARALLEL = @PARALLEL@
PATH_SEPARATOR = @PATH_SEPARATOR@
-PERL = @PERL@
RANLIB = @RANLIB@
ROOT = @ROOT@
RUNPARALLEL = @RUNPARALLEL@
diff --git a/tools/h5stat/CMakeLists.txt b/tools/h5stat/CMakeLists.txt
index 66c8c7e..71c4741 100644
--- a/tools/h5stat/CMakeLists.txt
+++ b/tools/h5stat/CMakeLists.txt
@@ -10,8 +10,8 @@ INCLUDE_DIRECTORIES (${HDF5_TOOLS_SRC_DIR}/lib)
# Add the h5stat executables
# --------------------------------------------------------------------
add_executable (h5stat ${HDF5_TOOLS_H5STAT_SOURCE_DIR}/h5stat.c)
-TARGET_NAMING (h5stat ${LIB_TYPE})
-TARGET_C_PROPERTIES (h5stat ${LIB_TYPE} " " " ")
+TARGET_NAMING (h5stat STATIC)
+TARGET_C_PROPERTIES (h5stat STATIC " " " ")
target_link_libraries (h5stat ${HDF5_TOOLS_LIB_TARGET} ${HDF5_LIB_TARGET})
set_target_properties (h5stat PROPERTIES FOLDER tools)
@@ -21,15 +21,15 @@ if (BUILD_TESTING)
# --------------------------------------------------------------------
# Add the h5stat test executables
# --------------------------------------------------------------------
- if (HDF5_BUILD_GENERATORS AND NOT BUILD_SHARED_LIBS)
+ if (HDF5_BUILD_GENERATORS)
add_executable (h5stat_gentest ${HDF5_TOOLS_H5STAT_SOURCE_DIR}/h5stat_gentest.c)
TARGET_NAMING (h5stat_gentest STATIC)
TARGET_C_PROPERTIES (h5stat_gentest STATIC " " " ")
target_link_libraries (h5stat_gentest ${HDF5_LIB_TARGET})
set_target_properties (h5stat_gentest PROPERTIES FOLDER generator/tools)
-
+
#add_test (NAME h5stat_gentest COMMAND $<TARGET_FILE:h5stat_gentest>)
- endif (HDF5_BUILD_GENERATORS AND NOT BUILD_SHARED_LIBS)
+ endif (HDF5_BUILD_GENERATORS)
include (CMakeTests.cmake)
endif (BUILD_TESTING)
diff --git a/tools/h5stat/Makefile.in b/tools/h5stat/Makefile.in
index 1bbefe9..a03b765 100644
--- a/tools/h5stat/Makefile.in
+++ b/tools/h5stat/Makefile.in
@@ -111,7 +111,8 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/aclocal_cxx.m4 \
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(SHELL) $(top_srcdir)/bin/mkinstalldirs
-CONFIG_HEADER = $(top_builddir)/src/H5config.h
+CONFIG_HEADER = $(top_builddir)/src/H5config.h \
+ $(top_builddir)/fortran/src/H5config_f.inc
CONFIG_CLEAN_FILES = testh5stat.sh
CONFIG_CLEAN_VPATH_FILES =
am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(bindir)"
@@ -172,7 +173,7 @@ AM_V_at = $(am__v_at_@AM_V@)
am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
am__v_at_0 = @
am__v_at_1 =
-DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/src
+DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/src -I$(top_builddir)/fortran/src
depcomp = $(SHELL) $(top_srcdir)/bin/depcomp
am__depfiles_maybe = depfiles
am__mv = mv -f
@@ -459,14 +460,21 @@ F9XMODEXT = @F9XMODEXT@
F9XMODFLAG = @F9XMODFLAG@
F9XSUFFIXFLAG = @F9XSUFFIXFLAG@
FC = @FC@
-FC2003 = @FC2003@
FCFLAGS = @FCFLAGS@
FCFLAGS_f90 = @FCFLAGS_f90@
FCLIBS = @FCLIBS@
FC_VERSION = @FC_VERSION@
FGREP = @FGREP@
+FORTRAN_C_LONG_DOUBLE_IS_UNIQUE = @FORTRAN_C_LONG_DOUBLE_IS_UNIQUE@
+FORTRAN_HAVE_C_LONG_DOUBLE = @FORTRAN_HAVE_C_LONG_DOUBLE@
+FORTRAN_SIZEOF_LONG_DOUBLE = @FORTRAN_SIZEOF_LONG_DOUBLE@
FSEARCH_DIRS = @FSEARCH_DIRS@
GREP = @GREP@
+H5CONFIG_F_IKIND = @H5CONFIG_F_IKIND@
+H5CONFIG_F_NUM_IKIND = @H5CONFIG_F_NUM_IKIND@
+H5CONFIG_F_NUM_RKIND = @H5CONFIG_F_NUM_RKIND@
+H5CONFIG_F_RKIND = @H5CONFIG_F_RKIND@
+H5CONFIG_F_RKIND_SIZEOF = @H5CONFIG_F_RKIND_SIZEOF@
H5_CFLAGS = @H5_CFLAGS@
H5_CPPFLAGS = @H5_CPPFLAGS@
H5_CXXFLAGS = @H5_CXXFLAGS@
@@ -476,13 +484,12 @@ H5_LDFLAGS = @H5_LDFLAGS@
H5_VERSION = @H5_VERSION@
HADDR_T = @HADDR_T@
HAVE_DMALLOC = @HAVE_DMALLOC@
-HAVE_FORTRAN_2003 = @HAVE_FORTRAN_2003@
+HAVE_Fortran_INTEGER_SIZEOF_16 = @HAVE_Fortran_INTEGER_SIZEOF_16@
HAVE_PTHREAD = @HAVE_PTHREAD@
HDF5_HL = @HDF5_HL@
HDF5_INTERFACES = @HDF5_INTERFACES@
HDF_CXX = @HDF_CXX@
HDF_FORTRAN = @HDF_FORTRAN@
-HDF_FORTRAN2003 = @HDF_FORTRAN2003@
HID_T = @HID_T@
HL = @HL@
HL_FOR = @HL_FOR@
@@ -524,9 +531,20 @@ PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
+PAC_C_MAX_REAL_PRECISION = @PAC_C_MAX_REAL_PRECISION@
+PAC_FC_ALL_INTEGER_KINDS = @PAC_FC_ALL_INTEGER_KINDS@
+PAC_FC_ALL_INTEGER_KINDS_SIZEOF = @PAC_FC_ALL_INTEGER_KINDS_SIZEOF@
+PAC_FC_ALL_REAL_KINDS = @PAC_FC_ALL_REAL_KINDS@
+PAC_FC_ALL_REAL_KINDS_SIZEOF = @PAC_FC_ALL_REAL_KINDS_SIZEOF@
+PAC_FC_MAX_REAL_PRECISION = @PAC_FC_MAX_REAL_PRECISION@
+PAC_FORTRAN_NATIVE_DOUBLE_KIND = @PAC_FORTRAN_NATIVE_DOUBLE_KIND@
+PAC_FORTRAN_NATIVE_DOUBLE_SIZEOF = @PAC_FORTRAN_NATIVE_DOUBLE_SIZEOF@
+PAC_FORTRAN_NATIVE_INTEGER_KIND = @PAC_FORTRAN_NATIVE_INTEGER_KIND@
+PAC_FORTRAN_NATIVE_INTEGER_SIZEOF = @PAC_FORTRAN_NATIVE_INTEGER_SIZEOF@
+PAC_FORTRAN_NATIVE_REAL_KIND = @PAC_FORTRAN_NATIVE_REAL_KIND@
+PAC_FORTRAN_NATIVE_REAL_SIZEOF = @PAC_FORTRAN_NATIVE_REAL_SIZEOF@
PARALLEL = @PARALLEL@
PATH_SEPARATOR = @PATH_SEPARATOR@
-PERL = @PERL@
RANLIB = @RANLIB@
ROOT = @ROOT@
RUNPARALLEL = @RUNPARALLEL@
diff --git a/tools/lib/CMakeLists.txt b/tools/lib/CMakeLists.txt
index a103f3d..38c84a2 100644
--- a/tools/lib/CMakeLists.txt
+++ b/tools/lib/CMakeLists.txt
@@ -37,21 +37,43 @@ set (H5_TOOLS_LIB_HDRS
${HDF5_TOOLS_LIB_SOURCE_DIR}/h5diff.h
)
-add_library (${HDF5_TOOLS_LIB_TARGET} ${LIB_TYPE} ${H5_TOOLS_LIB_SRCS} ${H5_TOOLS_LIB_HDRS})
-TARGET_C_PROPERTIES (${HDF5_TOOLS_LIB_TARGET} ${LIB_TYPE} " " " ")
+add_library (${HDF5_TOOLS_LIB_TARGET} STATIC ${H5_TOOLS_LIB_SRCS} ${H5_TOOLS_LIB_HDRS})
+TARGET_C_PROPERTIES (${HDF5_TOOLS_LIB_TARGET} STATIC " " " ")
target_link_libraries (${HDF5_TOOLS_LIB_TARGET} ${HDF5_LIB_TARGET})
set_global_variable (HDF5_LIBRARIES_TO_EXPORT "${HDF5_LIBRARIES_TO_EXPORT};${HDF5_TOOLS_LIB_TARGET}")
H5_SET_LIB_OPTIONS (
${HDF5_TOOLS_LIB_TARGET} ${HDF5_TOOLS_LIB_NAME}
- ${LIB_TYPE}
+ STATIC
HDF5_TOOLS_LIB_NAME_RELEASE
HDF5_TOOLS_LIB_NAME_DEBUG
)
-#set_target_properties (${HDF5_TOOLS_LIB_TARGET} PROPERTIES COMPILE_DEFINITIONS H5DIFF_DEBUG)
-set_target_properties (${HDF5_TOOLS_LIB_TARGET} PROPERTIES
+set_target_properties (${HDF5_TOOLS_LIB_TARGET} PROPERTIES
FOLDER libraries/tools
INTERFACE_INCLUDE_DIRECTORIES "$<INSTALL_INTERFACE:$<INSTALL_PREFIX>/include>"
)
+#set_property (TARGET ${HDF5_TOOLS_LIB_TARGET} APPEND PROPERTY COMPILE_DEFINITIONS H5DIFF_DEBUG)
+set (install_targets ${HDF5_TOOLS_LIB_TARGET})
+
+if (BUILD_SHARED_LIBS)
+ add_library (${HDF5_TOOLS_LIBSH_TARGET} SHARED ${H5_TOOLS_LIB_SRCS} ${H5_TOOLS_LIB_HDRS})
+ TARGET_C_PROPERTIES (${HDF5_TOOLS_LIBSH_TARGET} SHARED " " " ")
+ target_link_libraries (${HDF5_TOOLS_LIBSH_TARGET} ${HDF5_LIBSH_TARGET})
+ set_global_variable (HDF5_LIBRARIES_TO_EXPORT "${HDF5_LIBRARIES_TO_EXPORT};${HDF5_TOOLS_LIBSH_TARGET}")
+ H5_SET_LIB_OPTIONS (
+ ${HDF5_TOOLS_LIBSH_TARGET} ${HDF5_TOOLS_LIB_NAME}
+ SHARED
+ HDF5_TOOLS_LIB_NAME_RELEASE
+ HDF5_TOOLS_LIB_NAME_DEBUG
+ )
+ set_target_properties (${HDF5_TOOLS_LIBSH_TARGET} PROPERTIES
+ FOLDER libraries/tools
+ COMPILE_DEFINITIONS "H5_BUILT_AS_DYNAMIC_LIB"
+ INTERFACE_INCLUDE_DIRECTORIES "$<INSTALL_INTERFACE:$<INSTALL_PREFIX>/include>"
+ INTERFACE_COMPILE_DEFINITIONS H5_BUILT_AS_DYNAMIC_LIB=1
+ )
+ #set_property (TARGET ${HDF5_TOOLS_LIBSH_TARGET} APPEND PROPERTY COMPILE_DEFINITIONS H5DIFF_DEBUG)
+ set (install_targets ${install_targets} ${HDF5_TOOLS_LIBSH_TARGET})
+endif (BUILD_SHARED_LIBS)
##############################################################################
##############################################################################
@@ -76,12 +98,12 @@ install (
#-----------------------------------------------------------------------------
if (HDF5_EXPORTED_TARGETS)
if (BUILD_SHARED_LIBS)
- INSTALL_TARGET_PDB (${HDF5_TOOLS_LIB_TARGET} ${HDF5_INSTALL_BIN_DIR} toolslibraries)
+ INSTALL_TARGET_PDB (${HDF5_TOOLS_LIBSH_TARGET} ${HDF5_INSTALL_BIN_DIR} toolslibraries)
endif (BUILD_SHARED_LIBS)
install (
TARGETS
- ${HDF5_TOOLS_LIB_TARGET}
+ ${install_targets}
EXPORT
${HDF5_EXPORTED_TARGETS}
LIBRARY DESTINATION ${HDF5_INSTALL_LIB_DIR} COMPONENT toolslibraries
diff --git a/tools/lib/Makefile.in b/tools/lib/Makefile.in
index 0b531b3..ab7940e 100644
--- a/tools/lib/Makefile.in
+++ b/tools/lib/Makefile.in
@@ -108,7 +108,8 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/aclocal_cxx.m4 \
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(SHELL) $(top_srcdir)/bin/mkinstalldirs
-CONFIG_HEADER = $(top_builddir)/src/H5config.h
+CONFIG_HEADER = $(top_builddir)/src/H5config.h \
+ $(top_builddir)/fortran/src/H5config_f.inc
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
LTLIBRARIES = $(noinst_LTLIBRARIES)
@@ -135,7 +136,7 @@ AM_V_at = $(am__v_at_@AM_V@)
am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
am__v_at_0 = @
am__v_at_1 =
-DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/src
+DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/src -I$(top_builddir)/fortran/src
depcomp = $(SHELL) $(top_srcdir)/bin/depcomp
am__depfiles_maybe = depfiles
am__mv = mv -f
@@ -446,14 +447,21 @@ F9XMODEXT = @F9XMODEXT@
F9XMODFLAG = @F9XMODFLAG@
F9XSUFFIXFLAG = @F9XSUFFIXFLAG@
FC = @FC@
-FC2003 = @FC2003@
FCFLAGS = @FCFLAGS@
FCFLAGS_f90 = @FCFLAGS_f90@
FCLIBS = @FCLIBS@
FC_VERSION = @FC_VERSION@
FGREP = @FGREP@
+FORTRAN_C_LONG_DOUBLE_IS_UNIQUE = @FORTRAN_C_LONG_DOUBLE_IS_UNIQUE@
+FORTRAN_HAVE_C_LONG_DOUBLE = @FORTRAN_HAVE_C_LONG_DOUBLE@
+FORTRAN_SIZEOF_LONG_DOUBLE = @FORTRAN_SIZEOF_LONG_DOUBLE@
FSEARCH_DIRS = @FSEARCH_DIRS@
GREP = @GREP@
+H5CONFIG_F_IKIND = @H5CONFIG_F_IKIND@
+H5CONFIG_F_NUM_IKIND = @H5CONFIG_F_NUM_IKIND@
+H5CONFIG_F_NUM_RKIND = @H5CONFIG_F_NUM_RKIND@
+H5CONFIG_F_RKIND = @H5CONFIG_F_RKIND@
+H5CONFIG_F_RKIND_SIZEOF = @H5CONFIG_F_RKIND_SIZEOF@
H5_CFLAGS = @H5_CFLAGS@
H5_CPPFLAGS = @H5_CPPFLAGS@
H5_CXXFLAGS = @H5_CXXFLAGS@
@@ -463,13 +471,12 @@ H5_LDFLAGS = @H5_LDFLAGS@
H5_VERSION = @H5_VERSION@
HADDR_T = @HADDR_T@
HAVE_DMALLOC = @HAVE_DMALLOC@
-HAVE_FORTRAN_2003 = @HAVE_FORTRAN_2003@
+HAVE_Fortran_INTEGER_SIZEOF_16 = @HAVE_Fortran_INTEGER_SIZEOF_16@
HAVE_PTHREAD = @HAVE_PTHREAD@
HDF5_HL = @HDF5_HL@
HDF5_INTERFACES = @HDF5_INTERFACES@
HDF_CXX = @HDF_CXX@
HDF_FORTRAN = @HDF_FORTRAN@
-HDF_FORTRAN2003 = @HDF_FORTRAN2003@
HID_T = @HID_T@
HL = @HL@
HL_FOR = @HL_FOR@
@@ -511,9 +518,20 @@ PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
+PAC_C_MAX_REAL_PRECISION = @PAC_C_MAX_REAL_PRECISION@
+PAC_FC_ALL_INTEGER_KINDS = @PAC_FC_ALL_INTEGER_KINDS@
+PAC_FC_ALL_INTEGER_KINDS_SIZEOF = @PAC_FC_ALL_INTEGER_KINDS_SIZEOF@
+PAC_FC_ALL_REAL_KINDS = @PAC_FC_ALL_REAL_KINDS@
+PAC_FC_ALL_REAL_KINDS_SIZEOF = @PAC_FC_ALL_REAL_KINDS_SIZEOF@
+PAC_FC_MAX_REAL_PRECISION = @PAC_FC_MAX_REAL_PRECISION@
+PAC_FORTRAN_NATIVE_DOUBLE_KIND = @PAC_FORTRAN_NATIVE_DOUBLE_KIND@
+PAC_FORTRAN_NATIVE_DOUBLE_SIZEOF = @PAC_FORTRAN_NATIVE_DOUBLE_SIZEOF@
+PAC_FORTRAN_NATIVE_INTEGER_KIND = @PAC_FORTRAN_NATIVE_INTEGER_KIND@
+PAC_FORTRAN_NATIVE_INTEGER_SIZEOF = @PAC_FORTRAN_NATIVE_INTEGER_SIZEOF@
+PAC_FORTRAN_NATIVE_REAL_KIND = @PAC_FORTRAN_NATIVE_REAL_KIND@
+PAC_FORTRAN_NATIVE_REAL_SIZEOF = @PAC_FORTRAN_NATIVE_REAL_SIZEOF@
PARALLEL = @PARALLEL@
PATH_SEPARATOR = @PATH_SEPARATOR@
-PERL = @PERL@
RANLIB = @RANLIB@
ROOT = @ROOT@
RUNPARALLEL = @RUNPARALLEL@
diff --git a/tools/lib/h5diff_array.c b/tools/lib/h5diff_array.c
index cfd171a..71ada53 100644
--- a/tools/lib/h5diff_array.c
+++ b/tools/lib/h5diff_array.c
@@ -6090,28 +6090,6 @@ my_isnan(dtype_t type, void *val)
}
}
-#ifdef H5_VMS
- /* For "float" and "double" on OpenVMS/Alpha, NaN is
- * actually a valid value of maximal value.*/
- if(!retval)
- {
- if (FLT_FLOAT==type)
- {
- float x;
-
- HDmemcpy(&x, val, sizeof(float));
- retval = (x==FLT_MAX || x==-FLT_MAX);
- } else if (FLT_DOUBLE==type) {
- double x;
-
- HDmemcpy(&x, val, sizeof(double));
- retval = (x==DBL_MAX || x==-DBL_MAX);
- } else
- {
- return FALSE;
- }
- }
-#endif /*H5_VMS*/
h5difftrace("my_isnan finish\n");
return retval;
diff --git a/tools/lib/h5tools_str.c b/tools/lib/h5tools_str.c
index 05a7dfb..249708e 100644
--- a/tools/lib/h5tools_str.c
+++ b/tools/lib/h5tools_str.c
@@ -924,11 +924,7 @@ h5tools_str_sprint(h5tools_str_t *str, const h5tool_format_t *info, hid_t contai
else
tempchar = (tempchar >> packed_data_offset) & packed_data_mask;
}
- #ifdef H5_VMS
- h5tools_str_append(str, OPT(info->fmt_schar, "%hd"), tempchar);
- #else
h5tools_str_append(str, OPT(info->fmt_schar, "%hhd"), tempchar);
- #endif
}
} /* end if (sizeof(char) == nsize) */
else if (sizeof(int) == nsize) {
diff --git a/tools/misc/CMakeLists.txt b/tools/misc/CMakeLists.txt
index 58c0389..088dbdf 100644
--- a/tools/misc/CMakeLists.txt
+++ b/tools/misc/CMakeLists.txt
@@ -11,20 +11,20 @@ INCLUDE_DIRECTORIES (${HDF5_TOOLS_SRC_DIR}/lib)
# --------------------------------------------------------------------
#-- Misc Executables
add_executable (h5debug ${HDF5_TOOLS_MISC_SOURCE_DIR}/h5debug.c)
-TARGET_NAMING (h5debug ${LIB_TYPE})
-TARGET_C_PROPERTIES (h5debug ${LIB_TYPE} " " " ")
+TARGET_NAMING (h5debug STATIC)
+TARGET_C_PROPERTIES (h5debug STATIC " " " ")
target_link_libraries (h5debug ${HDF5_LIB_TARGET} ${HDF5_TOOLS_LIB_TARGET})
set_target_properties (h5debug PROPERTIES FOLDER tools)
add_executable (h5repart ${HDF5_TOOLS_MISC_SOURCE_DIR}/h5repart.c)
-TARGET_NAMING (h5repart ${LIB_TYPE})
-TARGET_C_PROPERTIES (h5repart ${LIB_TYPE} " " " ")
+TARGET_NAMING (h5repart STATIC)
+TARGET_C_PROPERTIES (h5repart STATIC " " " ")
target_link_libraries (h5repart ${HDF5_LIB_TARGET} ${HDF5_TOOLS_LIB_TARGET})
set_target_properties (h5repart PROPERTIES FOLDER tools)
add_executable (h5mkgrp ${HDF5_TOOLS_MISC_SOURCE_DIR}/h5mkgrp.c)
-TARGET_NAMING (h5mkgrp ${LIB_TYPE})
-TARGET_C_PROPERTIES (h5mkgrp ${LIB_TYPE} " " " ")
+TARGET_NAMING (h5mkgrp STATIC)
+TARGET_C_PROPERTIES (h5mkgrp STATIC " " " ")
target_link_libraries (h5mkgrp ${HDF5_TOOLS_LIB_TARGET} ${HDF5_LIB_TARGET})
set_target_properties (h5mkgrp PROPERTIES FOLDER tools)
@@ -45,7 +45,7 @@ if (BUILD_TESTING)
# --------------------------------------------------------------------
# Add the misc test executables
# --------------------------------------------------------------------
- if (HDF5_BUILD_GENERATORS AND NOT BUILD_SHARED_LIBS)
+ if (HDF5_BUILD_GENERATORS)
add_executable (h5repart_gentest ${HDF5_TOOLS_MISC_SOURCE_DIR}/h5repart_gentest.c)
TARGET_NAMING (h5repart_gentest STATIC)
TARGET_C_PROPERTIES (h5repart_gentest STATIC " " " ")
@@ -55,11 +55,11 @@ if (BUILD_TESTING)
add_subdirectory (${HDF5_TOOLS_MISC_SOURCE_DIR}/vds)
- endif (HDF5_BUILD_GENERATORS AND NOT BUILD_SHARED_LIBS)
+ endif (HDF5_BUILD_GENERATORS)
add_executable (h5repart_test ${HDF5_TOOLS_MISC_SOURCE_DIR}/repart_test.c)
- TARGET_NAMING (h5repart_test ${LIB_TYPE})
- TARGET_C_PROPERTIES (h5repart_test ${LIB_TYPE} " " " ")
+ TARGET_NAMING (h5repart_test STATIC)
+ TARGET_C_PROPERTIES (h5repart_test STATIC " " " ")
target_link_libraries (h5repart_test ${HDF5_LIB_TARGET} ${HDF5_TOOLS_LIB_TARGET})
set_target_properties (h5repart_test PROPERTIES FOLDER tools)
diff --git a/tools/misc/Makefile.in b/tools/misc/Makefile.in
index 8617a7d..e114aee 100644
--- a/tools/misc/Makefile.in
+++ b/tools/misc/Makefile.in
@@ -112,7 +112,8 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/aclocal_cxx.m4 \
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(SHELL) $(top_srcdir)/bin/mkinstalldirs
-CONFIG_HEADER = $(top_builddir)/src/H5config.h
+CONFIG_HEADER = $(top_builddir)/src/H5config.h \
+ $(top_builddir)/fortran/src/H5config_f.inc
CONFIG_CLEAN_FILES = h5cc testh5mkgrp.sh testh5repart.sh
CONFIG_CLEAN_VPATH_FILES =
am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(bindir)"
@@ -195,7 +196,7 @@ AM_V_at = $(am__v_at_@AM_V@)
am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
am__v_at_0 = @
am__v_at_1 =
-DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/src
+DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/src -I$(top_builddir)/fortran/src
depcomp = $(SHELL) $(top_srcdir)/bin/depcomp
am__depfiles_maybe = depfiles
am__mv = mv -f
@@ -525,14 +526,21 @@ F9XMODEXT = @F9XMODEXT@
F9XMODFLAG = @F9XMODFLAG@
F9XSUFFIXFLAG = @F9XSUFFIXFLAG@
FC = @FC@
-FC2003 = @FC2003@
FCFLAGS = @FCFLAGS@
FCFLAGS_f90 = @FCFLAGS_f90@
FCLIBS = @FCLIBS@
FC_VERSION = @FC_VERSION@
FGREP = @FGREP@
+FORTRAN_C_LONG_DOUBLE_IS_UNIQUE = @FORTRAN_C_LONG_DOUBLE_IS_UNIQUE@
+FORTRAN_HAVE_C_LONG_DOUBLE = @FORTRAN_HAVE_C_LONG_DOUBLE@
+FORTRAN_SIZEOF_LONG_DOUBLE = @FORTRAN_SIZEOF_LONG_DOUBLE@
FSEARCH_DIRS = @FSEARCH_DIRS@
GREP = @GREP@
+H5CONFIG_F_IKIND = @H5CONFIG_F_IKIND@
+H5CONFIG_F_NUM_IKIND = @H5CONFIG_F_NUM_IKIND@
+H5CONFIG_F_NUM_RKIND = @H5CONFIG_F_NUM_RKIND@
+H5CONFIG_F_RKIND = @H5CONFIG_F_RKIND@
+H5CONFIG_F_RKIND_SIZEOF = @H5CONFIG_F_RKIND_SIZEOF@
H5_CFLAGS = @H5_CFLAGS@
H5_CPPFLAGS = @H5_CPPFLAGS@
H5_CXXFLAGS = @H5_CXXFLAGS@
@@ -542,13 +550,12 @@ H5_LDFLAGS = @H5_LDFLAGS@
H5_VERSION = @H5_VERSION@
HADDR_T = @HADDR_T@
HAVE_DMALLOC = @HAVE_DMALLOC@
-HAVE_FORTRAN_2003 = @HAVE_FORTRAN_2003@
+HAVE_Fortran_INTEGER_SIZEOF_16 = @HAVE_Fortran_INTEGER_SIZEOF_16@
HAVE_PTHREAD = @HAVE_PTHREAD@
HDF5_HL = @HDF5_HL@
HDF5_INTERFACES = @HDF5_INTERFACES@
HDF_CXX = @HDF_CXX@
HDF_FORTRAN = @HDF_FORTRAN@
-HDF_FORTRAN2003 = @HDF_FORTRAN2003@
HID_T = @HID_T@
HL = @HL@
HL_FOR = @HL_FOR@
@@ -590,9 +597,20 @@ PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
+PAC_C_MAX_REAL_PRECISION = @PAC_C_MAX_REAL_PRECISION@
+PAC_FC_ALL_INTEGER_KINDS = @PAC_FC_ALL_INTEGER_KINDS@
+PAC_FC_ALL_INTEGER_KINDS_SIZEOF = @PAC_FC_ALL_INTEGER_KINDS_SIZEOF@
+PAC_FC_ALL_REAL_KINDS = @PAC_FC_ALL_REAL_KINDS@
+PAC_FC_ALL_REAL_KINDS_SIZEOF = @PAC_FC_ALL_REAL_KINDS_SIZEOF@
+PAC_FC_MAX_REAL_PRECISION = @PAC_FC_MAX_REAL_PRECISION@
+PAC_FORTRAN_NATIVE_DOUBLE_KIND = @PAC_FORTRAN_NATIVE_DOUBLE_KIND@
+PAC_FORTRAN_NATIVE_DOUBLE_SIZEOF = @PAC_FORTRAN_NATIVE_DOUBLE_SIZEOF@
+PAC_FORTRAN_NATIVE_INTEGER_KIND = @PAC_FORTRAN_NATIVE_INTEGER_KIND@
+PAC_FORTRAN_NATIVE_INTEGER_SIZEOF = @PAC_FORTRAN_NATIVE_INTEGER_SIZEOF@
+PAC_FORTRAN_NATIVE_REAL_KIND = @PAC_FORTRAN_NATIVE_REAL_KIND@
+PAC_FORTRAN_NATIVE_REAL_SIZEOF = @PAC_FORTRAN_NATIVE_REAL_SIZEOF@
PARALLEL = @PARALLEL@
PATH_SEPARATOR = @PATH_SEPARATOR@
-PERL = @PERL@
RANLIB = @RANLIB@
ROOT = @ROOT@
RUNPARALLEL = @RUNPARALLEL@
diff --git a/tools/misc/h5debug.c b/tools/misc/h5debug.c
index 87c112a..be6d089 100644
--- a/tools/misc/h5debug.c
+++ b/tools/misc/h5debug.c
@@ -355,11 +355,11 @@ main(int argc, char *argv[])
/* Build array of chunk dimensions */
ndims = (unsigned)extra;
- dim[0] = extra2;
+ dim[0] = (uint32_t)extra2;
if(ndims > 1)
- dim[1] = extra3;
+ dim[1] = (uint32_t)extra3;
if(ndims > 2)
- dim[2] = extra4;
+ dim[2] = (uint32_t)extra4;
/* Check for dimension error */
if(ndims > 3) {
@@ -502,14 +502,14 @@ main(int argc, char *argv[])
*/
/* Check for enough valid parameters */
- if(extra2 == 0) {
- HDfprintf(stderr, "ERROR: Need list format version and number of messages in order to shared message list\n");
+ if(extra == 0) {
+ HDfprintf(stderr, "ERROR: Need shared message header address in order to shared message list\n");
HDfprintf(stderr, "Shared message list usage:\n");
- HDfprintf(stderr, "\th5debug <filename> <shared message list address> <list format version> <number of mesages in list>\n");
+ HDfprintf(stderr, "\th5debug <filename> <shared message list address> <shared message header address>\n");
HDexit(4);
} /* end if */
- status = H5SM_list_debug(f, H5P_DATASET_XFER_DEFAULT, addr, stdout, 0, VCOL, (unsigned) extra, (size_t) extra2);
+ status = H5SM_list_debug(f, H5P_DATASET_XFER_DEFAULT, addr, stdout, 0, VCOL, (haddr_t)extra);
} else if(!HDmemcmp(sig, H5EA_HDR_MAGIC, (size_t)H5_SIZEOF_MAGIC)) {
/*
diff --git a/tools/perform/CMakeLists.txt b/tools/perform/CMakeLists.txt
index 17b40fa..3a60a84 100644
--- a/tools/perform/CMakeLists.txt
+++ b/tools/perform/CMakeLists.txt
@@ -21,8 +21,8 @@ set (h5perf_serial_SRCS
${HDF5_PERFORM_SOURCE_DIR}/sio_engine.c
)
add_executable (h5perf_serial ${h5perf_serial_SRCS})
-TARGET_NAMING (h5perf_serial ${LIB_TYPE})
-TARGET_C_PROPERTIES (h5perf_serial ${LIB_TYPE} " " " ")
+TARGET_NAMING (h5perf_serial STATIC)
+TARGET_C_PROPERTIES (h5perf_serial STATIC " " " ")
target_link_libraries (h5perf_serial ${HDF5_LIB_TARGET} ${HDF5_TOOLS_LIB_TARGET})
set_target_properties (h5perf_serial PROPERTIES FOLDER perform)
@@ -33,8 +33,8 @@ if (HDF5_BUILD_PERFORM_STANDALONE)
${HDF5_PERFORM_SOURCE_DIR}/sio_engine.c
)
add_executable (h5perf_serial_alone ${h5perf_serial_alone_SRCS})
- TARGET_NAMING (h5perf_serial_alone ${LIB_TYPE})
- TARGET_C_PROPERTIES (h5perf_serial_alone ${LIB_TYPE} " " " ")
+ TARGET_NAMING (h5perf_serial_alone STATIC)
+ TARGET_C_PROPERTIES (h5perf_serial_alone STATIC " " " ")
target_link_libraries (h5perf_serial_alone ${HDF5_LIB_TARGET} ${HDF5_TOOLS_LIB_TARGET})
set_target_properties (h5perf_serial_alone PROPERTIES FOLDER perform)
set_property (TARGET h5perf_serial_alone
@@ -47,8 +47,8 @@ set (chunk_SRCS
${HDF5_PERFORM_SOURCE_DIR}/chunk.c
)
ADD_EXECUTABLE(chunk ${chunk_SRCS})
-TARGET_NAMING (chunk ${LIB_TYPE})
-TARGET_C_PROPERTIES (chunk ${LIB_TYPE} " " " ")
+TARGET_NAMING (chunk STATIC)
+TARGET_C_PROPERTIES (chunk STATIC " " " ")
TARGET_LINK_LIBRARIES(chunk ${HDF5_LIB_TARGET} ${HDF5_TOOLS_LIB_TARGET})
set_target_properties (chunk PROPERTIES FOLDER perform)
@@ -57,8 +57,8 @@ set (iopipe_SRCS
${HDF5_PERFORM_SOURCE_DIR}/iopipe.c
)
add_executable (iopipe ${iopipe_SRCS})
-TARGET_NAMING (iopipe ${LIB_TYPE})
-TARGET_C_PROPERTIES (iopipe ${LIB_TYPE} " " " ")
+TARGET_NAMING (iopipe STATIC)
+TARGET_C_PROPERTIES (iopipe STATIC " " " ")
target_link_libraries (iopipe ${HDF5_LIB_TARGET} ${HDF5_TOOLS_LIB_TARGET})
set_target_properties (iopipe PROPERTIES FOLDER perform)
@@ -67,8 +67,8 @@ set (overhead_SRCS
${HDF5_PERFORM_SOURCE_DIR}/overhead.c
)
add_executable (overhead ${overhead_SRCS})
-TARGET_NAMING (overhead ${LIB_TYPE})
-TARGET_C_PROPERTIES (overhead ${LIB_TYPE} " " " ")
+TARGET_NAMING (overhead STATIC)
+TARGET_C_PROPERTIES (overhead STATIC " " " ")
target_link_libraries (overhead ${HDF5_LIB_TARGET} ${HDF5_TOOLS_LIB_TARGET})
set_target_properties (overhead PROPERTIES FOLDER perform)
@@ -78,8 +78,8 @@ if (BUILD_TESTING)
${HDF5_PERFORM_SOURCE_DIR}/perf_meta.c
)
add_executable (perf_meta ${perf_meta_SRCS})
- TARGET_NAMING (perf_meta ${LIB_TYPE})
- TARGET_C_PROPERTIES (perf_meta ${LIB_TYPE} " " " ")
+ TARGET_NAMING (perf_meta STATIC)
+ TARGET_C_PROPERTIES (perf_meta STATIC " " " ")
target_link_libraries (perf_meta ${HDF5_LIB_TARGET} ${HDF5_TOOLS_LIB_TARGET} ${HDF5_TEST_LIB_TARGET})
set_target_properties (perf_meta PROPERTIES FOLDER perform)
endif (BUILD_TESTING)
@@ -89,8 +89,8 @@ set (zip_perf_SRCS
${HDF5_PERFORM_SOURCE_DIR}/zip_perf.c
)
add_executable (zip_perf ${zip_perf_SRCS})
-TARGET_NAMING (zip_perf ${LIB_TYPE})
-TARGET_C_PROPERTIES (zip_perf ${LIB_TYPE} " " " ")
+TARGET_NAMING (zip_perf STATIC)
+TARGET_C_PROPERTIES (zip_perf STATIC " " " ")
target_link_libraries (zip_perf ${HDF5_TOOLS_LIB_TARGET} ${HDF5_LIB_TARGET})
set_target_properties (zip_perf PROPERTIES FOLDER perform)
@@ -101,8 +101,8 @@ if (H5_HAVE_PARALLEL AND BUILD_TESTING)
${HDF5_PERFORM_SOURCE_DIR}/pio_engine.c
)
add_executable (h5perf ${h5perf_SRCS})
- TARGET_NAMING (h5perf ${LIB_TYPE})
- TARGET_C_PROPERTIES (h5perf ${LIB_TYPE} " " " ")
+ TARGET_NAMING (h5perf STATIC)
+ TARGET_C_PROPERTIES (h5perf STATIC " " " ")
target_link_libraries (h5perf ${HDF5_LIB_TARGET} ${HDF5_TOOLS_LIB_TARGET} ${HDF5_TEST_LIB_TARGET})
set_target_properties (h5perf PROPERTIES FOLDER perform)
@@ -113,8 +113,8 @@ if (H5_HAVE_PARALLEL AND BUILD_TESTING)
${HDF5_PERFORM_SOURCE_DIR}/pio_engine.c
)
add_executable (h5perf_alone ${h5perf_alone_SRCS})
- TARGET_NAMING (h5perf_alone ${LIB_TYPE})
- TARGET_C_PROPERTIES (h5perf_alone ${LIB_TYPE} " " " ")
+ TARGET_NAMING (h5perf_alone STATIC)
+ TARGET_C_PROPERTIES (h5perf_alone STATIC " " " ")
target_link_libraries (h5perf_alone ${HDF5_LIB_TARGET} ${HDF5_TOOLS_LIB_TARGET} ${HDF5_TEST_LIB_TARGET})
set_target_properties (h5perf_alone PROPERTIES FOLDER perform)
set_property (TARGET h5perf_alone
diff --git a/tools/perform/Makefile.in b/tools/perform/Makefile.in
index 325bc4d..292a65b 100644
--- a/tools/perform/Makefile.in
+++ b/tools/perform/Makefile.in
@@ -116,7 +116,8 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/aclocal_cxx.m4 \
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(SHELL) $(top_srcdir)/bin/mkinstalldirs
-CONFIG_HEADER = $(top_builddir)/src/H5config.h
+CONFIG_HEADER = $(top_builddir)/src/H5config.h \
+ $(top_builddir)/fortran/src/H5config_f.inc
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
am__installdirs = "$(DESTDIR)$(bindir)"
@@ -171,7 +172,7 @@ AM_V_at = $(am__v_at_@AM_V@)
am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
am__v_at_0 = @
am__v_at_1 =
-DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/src
+DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/src -I$(top_builddir)/fortran/src
depcomp = $(SHELL) $(top_srcdir)/bin/depcomp
am__depfiles_maybe = depfiles
am__mv = mv -f
@@ -488,14 +489,21 @@ F9XMODEXT = @F9XMODEXT@
F9XMODFLAG = @F9XMODFLAG@
F9XSUFFIXFLAG = @F9XSUFFIXFLAG@
FC = @FC@
-FC2003 = @FC2003@
FCFLAGS = @FCFLAGS@
FCFLAGS_f90 = @FCFLAGS_f90@
FCLIBS = @FCLIBS@
FC_VERSION = @FC_VERSION@
FGREP = @FGREP@
+FORTRAN_C_LONG_DOUBLE_IS_UNIQUE = @FORTRAN_C_LONG_DOUBLE_IS_UNIQUE@
+FORTRAN_HAVE_C_LONG_DOUBLE = @FORTRAN_HAVE_C_LONG_DOUBLE@
+FORTRAN_SIZEOF_LONG_DOUBLE = @FORTRAN_SIZEOF_LONG_DOUBLE@
FSEARCH_DIRS = @FSEARCH_DIRS@
GREP = @GREP@
+H5CONFIG_F_IKIND = @H5CONFIG_F_IKIND@
+H5CONFIG_F_NUM_IKIND = @H5CONFIG_F_NUM_IKIND@
+H5CONFIG_F_NUM_RKIND = @H5CONFIG_F_NUM_RKIND@
+H5CONFIG_F_RKIND = @H5CONFIG_F_RKIND@
+H5CONFIG_F_RKIND_SIZEOF = @H5CONFIG_F_RKIND_SIZEOF@
H5_CFLAGS = @H5_CFLAGS@
H5_CPPFLAGS = @H5_CPPFLAGS@
H5_CXXFLAGS = @H5_CXXFLAGS@
@@ -505,13 +513,12 @@ H5_LDFLAGS = @H5_LDFLAGS@
H5_VERSION = @H5_VERSION@
HADDR_T = @HADDR_T@
HAVE_DMALLOC = @HAVE_DMALLOC@
-HAVE_FORTRAN_2003 = @HAVE_FORTRAN_2003@
+HAVE_Fortran_INTEGER_SIZEOF_16 = @HAVE_Fortran_INTEGER_SIZEOF_16@
HAVE_PTHREAD = @HAVE_PTHREAD@
HDF5_HL = @HDF5_HL@
HDF5_INTERFACES = @HDF5_INTERFACES@
HDF_CXX = @HDF_CXX@
HDF_FORTRAN = @HDF_FORTRAN@
-HDF_FORTRAN2003 = @HDF_FORTRAN2003@
HID_T = @HID_T@
HL = @HL@
HL_FOR = @HL_FOR@
@@ -553,9 +560,20 @@ PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
+PAC_C_MAX_REAL_PRECISION = @PAC_C_MAX_REAL_PRECISION@
+PAC_FC_ALL_INTEGER_KINDS = @PAC_FC_ALL_INTEGER_KINDS@
+PAC_FC_ALL_INTEGER_KINDS_SIZEOF = @PAC_FC_ALL_INTEGER_KINDS_SIZEOF@
+PAC_FC_ALL_REAL_KINDS = @PAC_FC_ALL_REAL_KINDS@
+PAC_FC_ALL_REAL_KINDS_SIZEOF = @PAC_FC_ALL_REAL_KINDS_SIZEOF@
+PAC_FC_MAX_REAL_PRECISION = @PAC_FC_MAX_REAL_PRECISION@
+PAC_FORTRAN_NATIVE_DOUBLE_KIND = @PAC_FORTRAN_NATIVE_DOUBLE_KIND@
+PAC_FORTRAN_NATIVE_DOUBLE_SIZEOF = @PAC_FORTRAN_NATIVE_DOUBLE_SIZEOF@
+PAC_FORTRAN_NATIVE_INTEGER_KIND = @PAC_FORTRAN_NATIVE_INTEGER_KIND@
+PAC_FORTRAN_NATIVE_INTEGER_SIZEOF = @PAC_FORTRAN_NATIVE_INTEGER_SIZEOF@
+PAC_FORTRAN_NATIVE_REAL_KIND = @PAC_FORTRAN_NATIVE_REAL_KIND@
+PAC_FORTRAN_NATIVE_REAL_SIZEOF = @PAC_FORTRAN_NATIVE_REAL_SIZEOF@
PARALLEL = @PARALLEL@
PATH_SEPARATOR = @PATH_SEPARATOR@
-PERL = @PERL@
RANLIB = @RANLIB@
ROOT = @ROOT@
RUNPARALLEL = @RUNPARALLEL@
diff --git a/tools/perform/sio_standalone.h b/tools/perform/sio_standalone.h
index 4eb1ded..8f52eba 100644
--- a/tools/perform/sio_standalone.h
+++ b/tools/perform/sio_standalone.h
@@ -322,18 +322,7 @@ H5_DLL int HDrand(void);
#define HDread(F,M,Z) read(F,M,Z)
#define HDreaddir(D) readdir(D)
#define HDrealloc(M,Z) realloc(M,Z)
-#ifdef H5_VMS
-#ifdef __cplusplus
-extern "C" {
-#endif
-int HDremove_all(const char * fname);
-#ifdef __cplusplus
-}
-#endif
-#define HDremove(S) HDremove_all(S)
-#else
#define HDremove(S) remove(S)
-#endif /*H5_VMS*/
#define HDrename(OLD,NEW) rename(OLD,NEW)
#define HDrewind(F) rewind(F)
#define HDrewinddir(D) rewinddir(D)
diff --git a/tools/perform/zip_perf.c b/tools/perform/zip_perf.c
index f73ba40..d025602 100644
--- a/tools/perform/zip_perf.c
+++ b/tools/perform/zip_perf.c
@@ -30,15 +30,6 @@
#include <zlib.h>
-#ifdef VMS
-# define unlink delete
-#endif /* VMS */
-
-#ifdef RISCOS
-# define unlink remove
-# define fileno(file) file->__file
-#endif /* RISCOS */
-
#define ONE_KB 1024
#define ONE_MB (ONE_KB * ONE_KB)
#define ONE_GB (ONE_MB * ONE_KB)